Nic*_*ola 1 optimization bytecode llvm
为什么我必须在字节码优化中执行此mem2reg传递以获得另一个优化传递结果?mem2reg有什么用?
opt -dce myfile.bc
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我没有改变输出代码
opt -mem2reg -dce myfile.bc
Run Code Online (Sandbox Code Playgroud)
在第二种情况下,我对输出代码进行了更改
编辑:LLVR IR仍然是SSa形式,不是吗?使用mem2reg我应该有一个"修剪"的SSA表格,是吗?
mem2reg传递将非SSA形式的LLVM IR转换为SSA形式,将堆栈分配值的加载和存储提升到"寄存器"(SSA值).许多LLVM优化通道以SSA形式运行代码,因此很可能是非SSA形式的无操作IR.
更多信息在这里:http://llvm.org/docs/Passes.html#mem2reg-promote-memory-to-register