aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2017-12-30 15:27:33 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2017-12-30 15:27:33 +0000
commitc7fc81e6595865296738fe0f8ffe692ea41b1ffc (patch)
tree9c14093b59b87a53d42ecbeb9c263c85f46f97e3 /llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
parent06f6d262f99d4bc13739eb224084d239f5445682 (diff)
downloadllvm-c7fc81e6595865296738fe0f8ffe692ea41b1ffc.zip
llvm-c7fc81e6595865296738fe0f8ffe692ea41b1ffc.tar.gz
llvm-c7fc81e6595865296738fe0f8ffe692ea41b1ffc.tar.bz2
Use phi ranges to simplify code. No functionality change intended.
llvm-svn: 321585
Diffstat (limited to 'llvm/lib/Transforms/Utils/CallPromotionUtils.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/CallPromotionUtils.cpp22
1 files changed, 8 insertions, 14 deletions
diff --git a/llvm/lib/Transforms/Utils/CallPromotionUtils.cpp b/llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
index 8825f77..5dc6068 100644
--- a/llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
+++ b/llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
@@ -47,14 +47,11 @@ using namespace llvm;
///
static void fixupPHINodeForNormalDest(InvokeInst *Invoke, BasicBlock *OrigBlock,
BasicBlock *MergeBlock) {
- for (auto &I : *Invoke->getNormalDest()) {
- auto *Phi = dyn_cast<PHINode>(&I);
- if (!Phi)
- break;
- int Idx = Phi->getBasicBlockIndex(OrigBlock);
+ for (PHINode &Phi : Invoke->getNormalDest()->phis()) {
+ int Idx = Phi.getBasicBlockIndex(OrigBlock);
if (Idx == -1)
continue;
- Phi->setIncomingBlock(Idx, MergeBlock);
+ Phi.setIncomingBlock(Idx, MergeBlock);
}
}
@@ -82,16 +79,13 @@ static void fixupPHINodeForNormalDest(InvokeInst *Invoke, BasicBlock *OrigBlock,
static void fixupPHINodeForUnwindDest(InvokeInst *Invoke, BasicBlock *OrigBlock,
BasicBlock *ThenBlock,
BasicBlock *ElseBlock) {
- for (auto &I : *Invoke->getUnwindDest()) {
- auto *Phi = dyn_cast<PHINode>(&I);
- if (!Phi)
- break;
- int Idx = Phi->getBasicBlockIndex(OrigBlock);
+ for (PHINode &Phi : Invoke->getUnwindDest()->phis()) {
+ int Idx = Phi.getBasicBlockIndex(OrigBlock);
if (Idx == -1)
continue;
- auto *V = Phi->getIncomingValue(Idx);
- Phi->setIncomingBlock(Idx, ThenBlock);
- Phi->addIncoming(V, ElseBlock);
+ auto *V = Phi.getIncomingValue(Idx);
+ Phi.setIncomingBlock(Idx, ThenBlock);
+ Phi.addIncoming(V, ElseBlock);
}
}