如何在LLVM中添加X86后端传递而无需重建各种共享库,包括clang?
研究过LLVM"中端"有一段时间(IR
/ opt
),我决定进入后端。
在这里,我在MachineFunctionPass
中创建了一个非常简单的.../lib/Target/X86/
,它编译得很好。
现在,根据我的理解,我不能只使用llc
加载LLVM后端传递,就像opt
w.r.t一样。 IR-通行证。相反,我必须在LLVM基础结构中构建新的传递,因此我从cmake . --build
目录发出命令llvm/build
。
这样可以再次构建所有类型的共享库,包括各种clang
特定的.so文件。
问题是这需要超过30分钟,因此这不是构建简单后端传递的正确方法。如何快速配置和构建LLVM传递,以便我可以将其与llc
一起使用?
答案 0 :(得分:1)
我不是LLVM的专家,但这似乎对我有用:
cd ~/llvm/build/
。llc
构建目录:cd tools/llc/
。llc
:cmake --build
。现在,不是使用最顶层的cmake
构建脚本,而是构建整个项目(更改文件和依赖项),而只构建llc
工具。
我没有彻底测试过。
答案 1 :(得分:0)
与上述帖子略有不同:
cmake -G Ninja ...
配置llvm。
然后
ninja llc
应该可以正常工作。