diff options
Diffstat (limited to 'llvm/lib/Transforms')
| -rw-r--r-- | llvm/lib/Transforms/IPO/Attributor.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/IPO/Attributor.cpp b/llvm/lib/Transforms/IPO/Attributor.cpp index 9fdfed8dbed..3d6a2c6f94f 100644 --- a/llvm/lib/Transforms/IPO/Attributor.cpp +++ b/llvm/lib/Transforms/IPO/Attributor.cpp @@ -2576,23 +2576,23 @@ static bool identifyAliveSuccessors(Attributor &A, const SwitchInst &SI, AbstractAttribute &AA, SmallVectorImpl<const Instruction *> &AliveSuccessors) { - bool UsedAssumedInformation = false; - Optional<ConstantInt *> CI = getAssumedConstant(A, *SI.getCondition(), AA); + Optional<ConstantInt *> CI = getAssumedConstant(A, *SI.getCondition(), AA); if (!CI.hasValue()) { // No value yet, assume all edges are dead. } else if (CI.getValue()) { for (auto &CaseIt : SI.cases()) { if (CaseIt.getCaseValue() == CI.getValue()) { AliveSuccessors.push_back(&CaseIt.getCaseSuccessor()->front()); - UsedAssumedInformation = true; - break; + return true; } } + AliveSuccessors.push_back(&SI.getDefaultDest()->front()); + return true; } else { for (const BasicBlock *SuccBB : successors(SI.getParent())) AliveSuccessors.push_back(&SuccBB->front()); } - return UsedAssumedInformation; + return false; } ChangeStatus AAIsDeadFunction::updateImpl(Attributor &A) { |

