[llvm] [IR] Don't store switch case values as operands (PR #170984)
Alexis Engelke via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 11 08:02:28 PST 2025
================
@@ -1904,13 +1904,10 @@ bool SimplifyCFGOpt::hoistCommonCodeFromSuccessors(Instruction *TI,
// so does not add any new instructions.
// Check if sizes and terminators of all successors match.
+ Instruction *Term0 = UniqueSuccessors[0]->getTerminator();
bool AllSame =
- none_of(UniqueSuccessors, [&UniqueSuccessors](BasicBlock *Succ) {
- Instruction *Term0 = UniqueSuccessors[0]->getTerminator();
- Instruction *Term = Succ->getTerminator();
- return !Term->isSameOperationAs(Term0) ||
- !equal(Term->operands(), Term0->operands()) ||
- UniqueSuccessors[0]->size() != Succ->size();
+ all_of(drop_begin(UniqueSuccessors), [Term0](BasicBlock *Succ) {
+ return Succ->getTerminator()->isIdenticalTo(Term0);
----------------
aengelke wrote:
No...
https://github.com/llvm/llvm-project/pull/170984
More information about the llvm-commits
mailing list