简体   繁体   English

为 clang/clang++ 项目获取 LLVM IR

[英]Getting LLVM IR for a clang/clang++ project

Was able to get LLVM IR for smaller projects by appending -emit-llvm -S flags to compiler.通过将 -emit-llvm -S 标志附加到编译器,能够为较小的项目获取 LLVM IR。 However this breaks linking.但是,这会破坏链接。 So build is showing errors and with big project like Android AOSP or LineageOS and submodules it creates many errors, breaks.所以构建显示错误,并且像 Android AOSP 或 LineageOS 和子模块这样的大项目会产生许多错误,中断。

How to get LLVM IR for bigger clang/clang++ 9 projects?如何为更大的 clang/clang++ 9 项目获取 LLVM IR?

I found somewhere on SO that you have to call -emit-llvm -S on each C/C++ file manually?我在某处发现您必须手动在每个 C/C++ 文件上调用 -emit-llvm -S 吗?

I would like to get so called ll LLVM IR files (LLVM assembly language format (.ll))我想获得所谓的 ll LLVM IR 文件(LLVM 汇编语言格式 (.ll))

Maybe use -flto option for clang, and after that llvm-dis with desired bitcode file?也许对 clang 使用-flto选项,然后在llvm-dis中使用所需的位码文件?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM