[llvm] r281972 - move variables closer to their uses; add FIXMEs; NFC

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 20 07:36:14 PDT 2016


Author: spatel
Date: Tue Sep 20 09:36:14 2016
New Revision: 281972

URL: http://llvm.org/viewvc/llvm-project?rev=281972&view=rev
Log:
move variables closer to their uses; add FIXMEs; NFC

Modified:
    llvm/trunk/lib/Analysis/InstructionSimplify.cpp

Modified: llvm/trunk/lib/Analysis/InstructionSimplify.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/InstructionSimplify.cpp?rev=281972&r1=281971&r2=281972&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/InstructionSimplify.cpp (original)
+++ llvm/trunk/lib/Analysis/InstructionSimplify.cpp Tue Sep 20 09:36:14 2016
@@ -1500,16 +1500,14 @@ static Value *simplifyUnsignedRangeCheck
 }
 
 static Value *SimplifyAndOfICmps(ICmpInst *Op0, ICmpInst *Op1) {
-  Type *ITy = Op0->getType();
-  ICmpInst::Predicate Pred0, Pred1;
-  ConstantInt *CI1, *CI2;
-  Value *V;
-
   if (Value *X = simplifyUnsignedRangeCheck(Op0, Op1, /*IsAnd=*/true))
     return X;
 
   // Look for this pattern: (icmp V, C0) & (icmp V, C1)).
+  Type *ITy = Op0->getType();
+  ICmpInst::Predicate Pred0, Pred1;
   const APInt *C0, *C1;
+  Value *V;
   if (match(Op0, m_ICmp(Pred0, m_Value(V), m_APInt(C0))) &&
       match(Op1, m_ICmp(Pred1, m_Specific(V), m_APInt(C1)))) {
     // Make a constant range that's the intersection of the two icmp ranges.
@@ -1520,6 +1518,8 @@ static Value *SimplifyAndOfICmps(ICmpIns
       return getFalse(ITy);
   }
 
+  // FIXME: Use m_APInt to allow vector splat matches.
+  ConstantInt *CI1, *CI2;
   if (!match(Op0, m_ICmp(Pred0, m_Add(m_Value(V), m_ConstantInt(CI1)),
                          m_ConstantInt(CI2))))
     return nullptr;
@@ -1685,16 +1685,16 @@ Value *llvm::SimplifyAndInst(Value *Op0,
 /// Simplify (or (icmp ...) (icmp ...)) to true when we can tell that the union
 /// contains all possible values.
 static Value *SimplifyOrOfICmps(ICmpInst *Op0, ICmpInst *Op1) {
-  ICmpInst::Predicate Pred0, Pred1;
-  ConstantInt *CI1, *CI2;
-  Value *V;
-
   if (Value *X = simplifyUnsignedRangeCheck(Op0, Op1, /*IsAnd=*/false))
     return X;
 
+  // FIXME: Use m_APInt to allow vector splat matches.
+  ICmpInst::Predicate Pred0, Pred1;
+  ConstantInt *CI1, *CI2;
+  Value *V;
   if (!match(Op0, m_ICmp(Pred0, m_Add(m_Value(V), m_ConstantInt(CI1)),
                          m_ConstantInt(CI2))))
-   return nullptr;
+    return nullptr;
 
   if (!match(Op1, m_ICmp(Pred1, m_Specific(V), m_Specific(CI1))))
     return nullptr;




More information about the llvm-commits mailing list