Skip to content

Commit 469549e

Browse files
committed
[EVM] Rearrange opt passes.
1 parent 4f9cb5a commit 469549e

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

llvm/lib/Target/EVM/EVMTargetMachine.cpp

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -158,17 +158,16 @@ void EVMTargetMachine::registerPassBuilderCallbacks(PassBuilder &PB) {
158158
PB.registerOptimizerLastEPCallback(
159159
[](ModulePassManager &PM, OptimizationLevel Level) {
160160
if (Level != OptimizationLevel::O0) {
161-
PM.addPass(GlobalDCEPass());
162161
FunctionPassManager FPM;
163-
FPM.addPass(EarlyCSEPass(true /* Enable mem-ssa. */));
164-
FPM.addPass(NewGVNPass());
162+
// FPM.addPass(EarlyCSEPass(true /* Enable mem-ssa. */));
163+
// FPM.addPass(NewGVNPass());
165164
FPM.addPass(DSEPass());
166-
FPM.addPass(MergeIdenticalBBPass());
167-
FPM.addPass(SimplifyCFGPass(SimplifyCFGOptions()
168-
.convertSwitchRangeToICmp(true)
169-
.hoistCommonInsts(true)
170-
.sinkCommonInsts(true)));
171-
FPM.addPass(InstCombinePass());
165+
/*
166+
FPM.addPass(SimplifyCFGPass(SimplifyCFGOptions()
167+
.convertSwitchRangeToICmp(true)
168+
.hoistCommonInsts(true)
169+
.sinkCommonInsts(true)));
170+
*/
172171
PM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM), true));
173172
}
174173
});
@@ -243,6 +242,14 @@ class EVMPassConfig final : public TargetPassConfig {
243242
void EVMPassConfig::addIRPasses() {
244243
addPass(createEVMLowerIntrinsicsPass());
245244
if (TM->getOptLevel() != CodeGenOptLevel::None) {
245+
addPass(createNewGVNPass());
246+
addPass(createNaryReassociatePass());
247+
addPass(createEarlyCSEPass(true));
248+
addPass(createCFGSimplificationPass(SimplifyCFGOptions()
249+
.convertSwitchRangeToICmp(true)
250+
.hoistCommonInsts(true)
251+
.sinkCommonInsts(true)));
252+
246253
addPass(createEVMAAWrapperPass());
247254
addPass(createEVMExternalAAWrapperPass());
248255
}

0 commit comments

Comments
 (0)