如何使用Clang在C程序中嵌入LLVM程序集或内在函数?

Eon*_*nil 12 assembly embedding llvm clang

C编译器允许在C程序中嵌入汇编代码.

我很确定Clang应该允许在C程序中嵌入LLVM程序集或内部代码.如何在C代码中嵌入LLVM程序集?

Oak*_*Oak 7

现在你不能.

但是,您可以在自己的文件中单独编写LLVM汇编函数,将其标记为alwaysinline,然后使用其余文件对其进行编译 - 这应该会得到相同的结果.请参阅此相关问题,了解如何首先将C文件编译为IR,然后将它们链接在一起.

您甚至可以单独编译文件,并确保执行链接时优化(LTO),应该做同样的事情.

  • @Jay 该通行证仍然存在并默认启用:https://llvm.org/doxygen/AlwaysInliner_8cpp_source.html - 并且仍然不支持 LLVM IR asm { ... } (2认同)