diff options
author | Max Kazantsev <max.kazantsev@azul.com> | 2018-08-03 10:16:40 +0000 |
---|---|---|
committer | Max Kazantsev <max.kazantsev@azul.com> | 2018-08-03 10:16:40 +0000 |
commit | 65cd4836d2f9ef20ffd099cc3d4566f2e90e14ce (patch) | |
tree | bc070c479f7ab3439d3bdf42662c0b78e10768b2 | |
parent | 019406554b285f3f084bf2a82b4fe22108114fa4 (diff) | |
download | bcm5719-llvm-65cd4836d2f9ef20ffd099cc3d4566f2e90e14ce.tar.gz bcm5719-llvm-65cd4836d2f9ef20ffd099cc3d4566f2e90e14ce.zip |
[NFC] Move some methods into static functions
llvm-svn: 338843
-rw-r--r-- | llvm/lib/Transforms/Scalar/GuardWidening.cpp | 64 |
1 files changed, 27 insertions, 37 deletions
diff --git a/llvm/lib/Transforms/Scalar/GuardWidening.cpp b/llvm/lib/Transforms/Scalar/GuardWidening.cpp index 055fcbc8436..534a1317c4c 100644 --- a/llvm/lib/Transforms/Scalar/GuardWidening.cpp +++ b/llvm/lib/Transforms/Scalar/GuardWidening.cpp @@ -66,6 +66,33 @@ STATISTIC(GuardsEliminated, "Number of eliminated guards"); namespace { +static Value *getGuardCondition(Instruction *GuardInst) { + IntrinsicInst *GI = cast<IntrinsicInst>(GuardInst); + assert(GI->getIntrinsicID() == Intrinsic::experimental_guard && + "Bad guard intrinsic?"); + return GI->getArgOperand(0); +} + +// Set the condition for \p GuardInst to \p NewCond. +static void setGuardCondition(Instruction *GuardInst, Value *NewCond) { + IntrinsicInst *GI = cast<IntrinsicInst>(GuardInst); + assert(GI->getIntrinsicID() == Intrinsic::experimental_guard && + "Bad guard intrinsic?"); + GI->setArgOperand(0, NewCond); +} + +// Whether or not the particular instruction \p I is a guard. +static bool isGuard(const Instruction *I) { + using namespace llvm::PatternMatch; + return match(I, m_Intrinsic<Intrinsic::experimental_guard>()); +} + +// Eliminates the guard instruction properly. +static void eliminateGuard(Instruction *GuardInst) { + GuardInst->eraseFromParent(); + ++GuardsEliminated; +} + class GuardWideningImpl { DominatorTree &DT; PostDominatorTree *PDT; @@ -93,18 +120,6 @@ class GuardWideningImpl { const DenseMap<BasicBlock *, SmallVector<Instruction *, 8>> & GuardsPerBlock); - // Get the condition from \p GuardInst. - Value *getGuardCondition(Instruction *GuardInst); - - // Set the condition for \p GuardInst. - void setGuardCondition(Instruction *GuardInst, Value *NewCond); - - // Whether or not the particular instruction is a guard. - bool isGuard(const Instruction *I); - - // Eliminates the guard instruction properly. - void eliminateGuard(Instruction *GuardInst); - /// Used to keep track of which widening potential is more effective. enum WideningScore { /// Don't widen. @@ -343,31 +358,6 @@ bool GuardWideningImpl::eliminateGuardViaWidening( return true; } -Value *GuardWideningImpl::getGuardCondition(Instruction *GuardInst) { - IntrinsicInst *GI = cast<IntrinsicInst>(GuardInst); - assert(GI->getIntrinsicID() == Intrinsic::experimental_guard && - "Bad guard intrinsic?"); - return GI->getArgOperand(0); -} - -void GuardWideningImpl::setGuardCondition(Instruction *GuardInst, - Value *NewCond) { - IntrinsicInst *GI = cast<IntrinsicInst>(GuardInst); - assert(GI->getIntrinsicID() == Intrinsic::experimental_guard && - "Bad guard intrinsic?"); - GI->setArgOperand(0, NewCond); -} - -bool GuardWideningImpl::isGuard(const Instruction* I) { - using namespace llvm::PatternMatch; - return match(I, m_Intrinsic<Intrinsic::experimental_guard>()); -} - -void GuardWideningImpl::eliminateGuard(Instruction *GuardInst) { - GuardInst->eraseFromParent(); - ++GuardsEliminated; -} - GuardWideningImpl::WideningScore GuardWideningImpl::computeWideningScore( Instruction *DominatedGuard, Loop *DominatedGuardLoop, Instruction *DominatingGuard, Loop *DominatingGuardLoop) { |