我为llvm写了一些自己的通行证,以便在叮当中使用它们。LLVM - 铿锵自动通行证
我将它们集成在llvm中(不是动态加载的)。他们甚至在现有的优化上市:节当我输入:
opt --help-hidden
我想现在会自动运行我的通行证自己的一个作为最后一个当我打电话铛:
clang ./hello.bc -o ./hello
甚至与C代码:
clang ./hello.c -o ./hello
当我手动运行我的通行证与选择,修改后的字节代码生成并写入到一个新的.BC文件:
opt -my-pass <./hello.bc> ./hello_optimized.bc
当我编译修改.BC与铛,铛正常优化再次运行,这毁了我的手动执行合格的优化:
clang -O0 -m32 ./hello_optimized.bc -o ./hello_optimized
我的问题是:
- 我如何铿锵所有的最后一关自动运行我自己写的通?
- 另一种可能的解决方案是完全禁用所有通行证,或至少删除叮/ opt的死代码/函数。我怎么能这样做?
使用铛-flto,并通过您的通行证金LTO插件的序列。 –