Loading include/core/passDriver.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #include "llvm/Transforms/Utils/BasicBlockUtils.h" #include "llvm/Transforms/Utils/Mem2Reg.h" #include "llvm/Transforms/Utils/FixIrreducible.h" #include "llvm/Transforms/Scalar/Reg2Mem.h" namespace llvm { Loading Loading @@ -54,6 +55,7 @@ public: // PASSES void mem2Reg(); void reg2Mem(); void globalDCE(); void fixIrreducible(); void preprocessForCustomOpt(); Loading src/core/passDriver.cpp +12 −2 Original line number Diff line number Diff line Loading @@ -25,6 +25,15 @@ void PassDriver::mem2Reg() MPM.run(module, MAM); } void PassDriver::reg2Mem() { FunctionPassManager FPM; ModulePassManager MPM; FPM.addPass(RegToMemPass()); MPM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM))); MPM.run(module, MAM); } void PassDriver::globalDCE() { auto preserveMain = [](const GlobalValue& GV) -> bool { return GV.getName() == "main"; }; Loading Loading @@ -57,11 +66,12 @@ void PassDriver::finalPostprocessing() FPM.addPass(DCEPass()); // MPM.addPass(AttributorPass()); MPM.addPass(GlobalDCEPass()); FPM.addPass(PromotePass()); FPM.addPass(DSEPass()); FPM.addPass(SimplifyCFGPass()); FPM.addPass(InstCombinePass()); // FPM.addPass(GVNPass()); MPM.addPass(InternalizePass(preserveMain)); FPM.addPass(PromotePass()); FPM.addPass(DSEPass()); MPM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM))); MPM.run(module, MAM); Loading src/moduleReverser.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -28,8 +28,8 @@ void ModuleReverser::runPreprocessingPasses() { // PassDriver driver(*origModule); // driver.simplifyCFG(); PassDriver driver(*origModule); driver.reg2Mem(); } void ModuleReverser::runPostprocessLLVMPasses(Module& revModule) Loading Loading
include/core/passDriver.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #include "llvm/Transforms/Utils/BasicBlockUtils.h" #include "llvm/Transforms/Utils/Mem2Reg.h" #include "llvm/Transforms/Utils/FixIrreducible.h" #include "llvm/Transforms/Scalar/Reg2Mem.h" namespace llvm { Loading Loading @@ -54,6 +55,7 @@ public: // PASSES void mem2Reg(); void reg2Mem(); void globalDCE(); void fixIrreducible(); void preprocessForCustomOpt(); Loading
src/core/passDriver.cpp +12 −2 Original line number Diff line number Diff line Loading @@ -25,6 +25,15 @@ void PassDriver::mem2Reg() MPM.run(module, MAM); } void PassDriver::reg2Mem() { FunctionPassManager FPM; ModulePassManager MPM; FPM.addPass(RegToMemPass()); MPM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM))); MPM.run(module, MAM); } void PassDriver::globalDCE() { auto preserveMain = [](const GlobalValue& GV) -> bool { return GV.getName() == "main"; }; Loading Loading @@ -57,11 +66,12 @@ void PassDriver::finalPostprocessing() FPM.addPass(DCEPass()); // MPM.addPass(AttributorPass()); MPM.addPass(GlobalDCEPass()); FPM.addPass(PromotePass()); FPM.addPass(DSEPass()); FPM.addPass(SimplifyCFGPass()); FPM.addPass(InstCombinePass()); // FPM.addPass(GVNPass()); MPM.addPass(InternalizePass(preserveMain)); FPM.addPass(PromotePass()); FPM.addPass(DSEPass()); MPM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM))); MPM.run(module, MAM); Loading
src/moduleReverser.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -28,8 +28,8 @@ void ModuleReverser::runPreprocessingPasses() { // PassDriver driver(*origModule); // driver.simplifyCFG(); PassDriver driver(*origModule); driver.reg2Mem(); } void ModuleReverser::runPostprocessLLVMPasses(Module& revModule) Loading