diff options
Diffstat (limited to 'contrib/llvm/lib/Transforms/Utils/FlattenCFG.cpp')
| -rw-r--r-- | contrib/llvm/lib/Transforms/Utils/FlattenCFG.cpp | 16 | 
1 files changed, 9 insertions, 7 deletions
diff --git a/contrib/llvm/lib/Transforms/Utils/FlattenCFG.cpp b/contrib/llvm/lib/Transforms/Utils/FlattenCFG.cpp index 1da226bfcbe1..51ead40c916e 100644 --- a/contrib/llvm/lib/Transforms/Utils/FlattenCFG.cpp +++ b/contrib/llvm/lib/Transforms/Utils/FlattenCFG.cpp @@ -11,7 +11,6 @@  //  //===----------------------------------------------------------------------===// -#define DEBUG_TYPE "flattencfg"  #include "llvm/Transforms/Utils/Local.h"  #include "llvm/ADT/SmallPtrSet.h"  #include "llvm/Analysis/AliasAnalysis.h" @@ -22,16 +21,19 @@  #include "llvm/Transforms/Utils/BasicBlockUtils.h"  using namespace llvm; +#define DEBUG_TYPE "flattencfg" +  namespace {  class FlattenCFGOpt {    AliasAnalysis *AA;    /// \brief Use parallel-and or parallel-or to generate conditions for    /// conditional branches. -  bool FlattenParallelAndOr(BasicBlock *BB, IRBuilder<> &Builder, Pass *P = 0); +  bool FlattenParallelAndOr(BasicBlock *BB, IRBuilder<> &Builder, +                            Pass *P = nullptr);    /// \brief If \param BB is the merge block of an if-region, attempt to merge    /// the if-region with an adjacent if-region upstream if two if-regions    /// contain identical instructions. -  bool MergeIfRegion(BasicBlock *BB, IRBuilder<> &Builder, Pass *P = 0); +  bool MergeIfRegion(BasicBlock *BB, IRBuilder<> &Builder, Pass *P = nullptr);    /// \brief Compare a pair of blocks: \p Block1 and \p Block2, which    /// are from two if-regions whose entry blocks are \p Head1 and \p    /// Head2.  \returns true if \p Block1 and \p Block2 contain identical @@ -126,9 +128,9 @@ bool FlattenCFGOpt::FlattenParallelAndOr(BasicBlock *BB, IRBuilder<> &Builder,    if (PHI)      return false; // For simplicity, avoid cases containing PHI nodes. -  BasicBlock *LastCondBlock = NULL; -  BasicBlock *FirstCondBlock = NULL; -  BasicBlock *UnCondBlock = NULL; +  BasicBlock *LastCondBlock = nullptr; +  BasicBlock *FirstCondBlock = nullptr; +  BasicBlock *UnCondBlock = nullptr;    int Idx = -1;    // Check predecessors of \param BB. @@ -240,7 +242,7 @@ bool FlattenCFGOpt::FlattenParallelAndOr(BasicBlock *BB, IRBuilder<> &Builder,        BranchInst *BI = dyn_cast<BranchInst>(CurrBlock->getTerminator());        CmpInst *CI = dyn_cast<CmpInst>(BI->getCondition());        CmpInst::Predicate Predicate = CI->getPredicate(); -      // Cannonicalize icmp_ne -> icmp_eq, fcmp_one -> fcmp_oeq +      // Canonicalize icmp_ne -> icmp_eq, fcmp_one -> fcmp_oeq        if ((Predicate == CmpInst::ICMP_NE) || (Predicate == CmpInst::FCMP_ONE)) {          CI->setPredicate(ICmpInst::getInversePredicate(Predicate));          BI->swapSuccessors();  | 
