タグ

ブックマーク / embedded.hatenadiary.org (5)

  • AndroidのRenderScriptのソースでLLVMをつかっているところ - 組み込みの人。

    きつねさんのLLVMを読んで、LLVMのIR(中間表現。bitcodeと等価)に最適化をかけたりネイティブコードに変換するのは"Pass"として実装されていて、それらの"Pass"をたばねるのが"Passmanager"だと知りました。 (ちなみにこのはコンパイラのことをよく知っているきつねさん用であって初心者向けではありません。) AndroidのRenderScriptはまさにLLVMのbitcodeからネイティブコードへのコンパイルをAndroid端末の中で行うのですが、それがソースコード上のどこなのかを調べました。 OpenGrokで軽く検索するとどうやら、/frameworks/compile/libbcc/lib/Core/Compiler.cppが肝で、RSCompilerはこれを継承しています。 bitcodeレベルで最適化をかけるのはここでやっています。 enum C

    AndroidのRenderScriptのソースでLLVMをつかっているところ - 組み込みの人。
    mk18
    mk18 2014/05/27
  • ARM 64bit でLLVMは見逃せない - 組み込みの人。

    iPhone5S, iPad Airで64bit ARMプロセッサをいち早く製品化したAppleですが、驚きのニュースがありました。 AppleはOS X, iOSのコンパイラツールチェインをgccからclang/LLVMに移行しています。その64bit ARM向けのバックエンドをLLVMのコミュニティに公開し、それを家のツリーのメインラインに統合するという話です。 ニュースの概要は以下の記事で読むことができます。 Apple Open-Sources Their 64-bit ARM LLVM Back-End - Phoronix その続報。 Apple, LLVM Developers Figure Out Their 64-Bit ARM Approach - Phoronix 一次ソースを自分でも確認しました。ことの始まりはLLVMdevのメーリングリストのこの投稿。 http

    ARM 64bit でLLVMは見逃せない - 組み込みの人。
    mk18
    mk18 2014/04/17
  • 組み込みの人。

    技術ネタはこちらに書いていこうとおもいます。 https://qiita.com/tetsu_koba FreescaleのCortex-M0のMCUの評価ボードであるFRDM-KL02Z を動かしてみました。 Linux(Ubuntu 14.04 x86_64)の上に開発環境を構築しました。 準備 SDKのインストール 以下のサイトからFreescale kinetisのSDKをダウンロードして展開します。 http://www.freescale.com/tools/software-and-tools/run-time-software/kinetis-software-and-tools/development-platforms-with-mbed/software-development-kit-for-kinetis-mcus:KINETIS-SDK $ WORK=$PWD

    組み込みの人。
    mk18
    mk18 2014/03/27
  • clang+llvmでさりげなくすごいコードが生成されていた話。 - 組み込みの人。

    先日llvm 3.3がリリースされました。aarch64(arm 64bit)のコードが生成できるようになったということなので、ソースからビルドして遊んでいたのですが、さりげなく凄く最適化されたコードが生成されているのに気がつきました。aarch64だと今は実行して確認できる環境が手元に無いので、普通のarmv7-aで同じことを試しました。 ここで使ったコードとその結果はgistに貼りました。 https://gist.github.com/tetsu-koba/5835724 ソースコード int sum(int x) { int sum = 0; int i; for (i = 1; i <= x; i++) { sum += i; } return sum; } 1からnまでの総和を求める関数です。1から100までの総和が5050なのはガウス少年の逸話で有名ですね。 gcc 4.8.

    clang+llvmでさりげなくすごいコードが生成されていた話。 - 組み込みの人。
    mk18
    mk18 2014/03/27
  • Android 4.4に入ったARTのソースを見た感想 - 組み込みの人。

    Android 4.4 (Kitkat) のソースコードが公開されました。話によるとDalvikを置き換えるARTというものが開発者向けに使えるようになっているそうです。面白そうなので調べてみました。以下は全て推測と個人の感想です。 ART とは 公式な情報はこれ https://source.android.com/devices/tech/dalvik/art.html Dalvikと置きかえて使えるランタイム まだ開発中。開発者のフィードバックを得るために公開した Dalvikがデフォルトであると強調。 Dalvikのランタイムはlibdvm.soで、ARTではそれがlibart.soに置き換わるらしい。開発者メニューでどちらを使うのか切り替えることができるようだ。 http://gigaom.com/2013/10/22/google-buys-frances-flexycore-

    Android 4.4に入ったARTのソースを見た感想 - 組み込みの人。
    mk18
    mk18 2014/02/06
  • 1