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