使用SPEC修改编译过程以使用LLVM

问题描述 投票:5回答:2

我目前正在运行一些llvm传递,并希望使用SPEC 2006 CPU基准套件对它们的有用性进行基准测试。但是,除了使用llvm-gcc输出llvm位代码外,我还没有弄清楚如何修改SPEC设置以执行任何其他操作。这是我想要修改SPEC的工作流程以执行的操作:

将带有llvm的.o文件编译为llvm字节码

llvm-gcc -emit-llvm *.c

对于每个.o文件,运行opt(llvm的优化过程):

opt -adce -mem2reg cfline.o

与llvm-link链接:

llvm-link *.o -o out.o.linked

将llvm字节码转换为程序集

llc out.o.linked

最后将其转换为可执行代码:

gcc out.o.linked -o out.executable

我有办法吗?我知道我可以编辑.cfg文件以发出llvm,但是然后我不知道如何选择其他链接/预链接过程。

谢谢!

benchmarking llvm specifications
2个回答
3
投票

LLVM有一个test-suite子项目,该子项目已经知道如何构建和运行SPEC。有关更多信息,请参见docs


0
投票

在CPUSPEC2017中,可以使用配置文件修改链接器。需要设置CLD / CXXLD。例如,CLD = $(LLVM_BIN_PATH)/ llvm-link,CXXLD = $(LLVM_BIN_PATH)/ llvm-link。

opt命令也可以通过修改Makefile.defaults文件来运行。可以将其添加到指定用于构建可执行文件的命令的部分。

© www.soinside.com 2019 - 2024. All rights reserved.