[PATCH] D153392: [PhaseOrdering] Don't speculate blocks in simplifycfg before jump-threading
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 21 01:38:08 PDT 2023
nikic added a comment.
Can you please explain what the JumpThreading interaction is in more detail? This looks plausible to me, but I want to make sure no change is needed in JumpThreading (which is supposed to be able to thread over selects as well, not just branches).
================
Comment at: llvm/lib/Passes/PassBuilderPipelines.cpp:1017
EarlyFPM.addPass(LowerExpectIntrinsicPass());
- EarlyFPM.addPass(SimplifyCFGPass());
+ EarlyFPM.addPass(SimplifyCFGPass(SimplifyCFGOptions().speculateBlocks(false)));
EarlyFPM.addPass(SROAPass(SROAOptions::ModifyCFG));
----------------
This bit definitely makes sense to keep branches for IPSCCP -- maybe after this, we can even swap the SimplifyCFG and SROA order, as the current one only exists so that SimplifyCFG doesn't do too much.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D153392/new/
https://reviews.llvm.org/D153392
More information about the llvm-commits
mailing list