diff options
Diffstat (limited to 'llvm/lib/Transforms/Utils/PredicateInfo.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/PredicateInfo.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/Utils/PredicateInfo.cpp b/llvm/lib/Transforms/Utils/PredicateInfo.cpp index 3312a6f..af5a72a 100644 --- a/llvm/lib/Transforms/Utils/PredicateInfo.cpp +++ b/llvm/lib/Transforms/Utils/PredicateInfo.cpp @@ -532,10 +532,11 @@ void PredicateInfoBuilder::buildPredicateInfo() { processSwitch(SI, BranchBB, OpsToRename); } } - for (auto &Assume : AC.assumptions()) { - if (auto *II = dyn_cast_or_null<IntrinsicInst>(Assume)) - if (DT.isReachableFromEntry(II->getParent())) - processAssume(II, II->getParent(), OpsToRename); + for (auto &AssumeVH : AC.assumptions()) { + CallInst *AssumeCI = AssumeVH.getAssumeCI(); + if (DT.isReachableFromEntry(AssumeCI->getParent())) + processAssume(cast<IntrinsicInst>(AssumeCI), AssumeCI->getParent(), + OpsToRename); } // Now rename all our operations. renameUses(OpsToRename); |