我目前正致力于运行一些llvm通行证,并希望使用SPEC 2006 CPU基准套件对其有用性进行基准测试.但是,我还没想出如何修改SPEC设置来做除了使用llvm-gcc输出llvm bitcode之外的任何事情.以下是我要修改SPEC的工作流程:
使用llvm将.o文件编译为llvm-bytecode
llvm-gcc -emit-llvm *.c
Run Code Online (Sandbox Code Playgroud)
对于每个.o文件,运行opt(llvm的优化传递):
opt -adce -mem2reg cfline.o
Run Code Online (Sandbox Code Playgroud)
链接llvm-link:
llvm-link *.o -o out.o.linked
Run Code Online (Sandbox Code Playgroud)
将llvm字节码转换为程序集
llc out.o.linked
Run Code Online (Sandbox Code Playgroud)
最后将其转换为可执行代码:
gcc out.o.linked -o out.executable
Run Code Online (Sandbox Code Playgroud)
有没有办法可以做到这一点?我知道我可以编辑.cfg文件来发出llvm,但后来我不知道如何选择不同的链接/预链接程序.
谢谢!