[PATCH] D42691: [SimplifyCFG] Relax restriction for folding unconditional branches
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 2 11:26:58 PST 2018
efriedma added a subscriber: bmakam.
efriedma added inline comments.
================
Comment at: lib/Transforms/Utils/SimplifyCFG.cpp:5740
Options.NeedCanonicalLoop &&
- (LoopHeaders && (LoopHeaders->count(BB) || LoopHeaders->count(Succ)));
+ (LoopHeaders && std::distance(pred_begin(BB), pred_end(BB)) > 1 &&
+ (LoopHeaders->count(BB) || LoopHeaders->count(Succ)));
----------------
getSinglePredecessor()?
================
Comment at: test/Transforms/SimplifyCFG/UncondBranchToHeader.ll:16
+ br label %header
+exit:
+ ret i32 %i
----------------
Do we really need SimplifyCFG to rotate loops? We have a dedicated LoopRotate pass for this sort of transform.
But I guess it's okay.
https://reviews.llvm.org/D42691
More information about the llvm-commits
mailing list