2013-03-12 17 views
11

Cコンパイラでは、アセンブリコードをCプログラムに組み込むことができます。LLVMアセンブリまたは組み込み関数をClangでCプログラムに埋め込む方法は?

私は、ClangがLLVMアセンブリまたは組み込みコードをCプログラムに組み込むことができるはずです。どのようにしてLLVMアセンブリをCコードに埋め込むことができますか?

+4

はい、*許可する必要があります。いいえ、まだやっていません、申し訳ありません。 –

+0

どの組み込み関数ですか?たとえば、ARM NEONコンパイラ組み込み関数を使用したい場合は、[インラインアセンブリに頼らなくても実行できます](http://blog.llvm.org/2010/04/arm-advanced-simd-neon-intrinsics-and) .html)。 –

+0

@robmayoffこれは私が言ったことです:http://llvm.org/docs/LangRef.html#intrinsic-functions – Eonil

答えて

6

今はできません。

ただし、LLVMアセンブリ関数を独自のファイルに書き込んで、alwaysinlineというマークを付けてから残りのファイルとコンパイルすることができます。同じ結果が得られるはずです。 this related question on how to first compile your C files to IR and then link them togetherを参照してください。

ファイルを別々にコンパイルして、link-time optimization (LTO)を実行しても同じことをすることができます。

関連する問題