Home
last modified time | relevance | path

Searched refs:ICmpInst (Results 1 – 25 of 344) sorted by relevance

12345678910>>...14

/external/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/
DCmpInstAnalysis.cpp21 unsigned llvm::getICmpCode(const ICmpInst *ICI, bool InvertPred) { in getICmpCode()
22 ICmpInst::Predicate Pred = InvertPred ? ICI->getInversePredicate() in getICmpCode()
26 case ICmpInst::ICMP_UGT: return 1; // 001 in getICmpCode()
27 case ICmpInst::ICMP_SGT: return 1; // 001 in getICmpCode()
28 case ICmpInst::ICMP_EQ: return 2; // 010 in getICmpCode()
29 case ICmpInst::ICMP_UGE: return 3; // 011 in getICmpCode()
30 case ICmpInst::ICMP_SGE: return 3; // 011 in getICmpCode()
31 case ICmpInst::ICMP_ULT: return 4; // 100 in getICmpCode()
32 case ICmpInst::ICMP_SLT: return 4; // 100 in getICmpCode()
33 case ICmpInst::ICMP_NE: return 5; // 101 in getICmpCode()
[all …]
DInstructionSimplify.cpp82 ExpectedPred = ICmpInst::ICMP_NE; in foldSelectWithBinaryOp()
84 ExpectedPred = ICmpInst::ICMP_EQ; in foldSelectWithBinaryOp()
989 static bool isICmpTrue(ICmpInst::Predicate Pred, Value *LHS, Value *RHS, in isICmpTrue()
1045 return isICmpTrue(ICmpInst::ICMP_ULT, X, Y, Q, MaxRecurse); in isDivZero()
1414 static Value *simplifyUnsignedRangeCheck(ICmpInst *ZeroICmp, in simplifyUnsignedRangeCheck()
1415 ICmpInst *UnsignedICmp, bool IsAnd, in simplifyUnsignedRangeCheck()
1419 ICmpInst::Predicate EqPred; in simplifyUnsignedRangeCheck()
1421 !ICmpInst::isEquality(EqPred)) in simplifyUnsignedRangeCheck()
1424 ICmpInst::Predicate UnsignedPred; in simplifyUnsignedRangeCheck()
1431 ICmpInst::isUnsigned(UnsignedPred)) { in simplifyUnsignedRangeCheck()
[all …]
/external/llvm-project/llvm/lib/Analysis/
DCmpInstAnalysis.cpp21 unsigned llvm::getICmpCode(const ICmpInst *ICI, bool InvertPred) { in getICmpCode()
22 ICmpInst::Predicate Pred = InvertPred ? ICI->getInversePredicate() in getICmpCode()
26 case ICmpInst::ICMP_UGT: return 1; // 001 in getICmpCode()
27 case ICmpInst::ICMP_SGT: return 1; // 001 in getICmpCode()
28 case ICmpInst::ICMP_EQ: return 2; // 010 in getICmpCode()
29 case ICmpInst::ICMP_UGE: return 3; // 011 in getICmpCode()
30 case ICmpInst::ICMP_SGE: return 3; // 011 in getICmpCode()
31 case ICmpInst::ICMP_ULT: return 4; // 100 in getICmpCode()
32 case ICmpInst::ICMP_SLT: return 4; // 100 in getICmpCode()
33 case ICmpInst::ICMP_NE: return 5; // 101 in getICmpCode()
[all …]
DInstructionSimplify.cpp82 ExpectedPred = ICmpInst::ICMP_NE; in foldSelectWithBinaryOp()
84 ExpectedPred = ICmpInst::ICMP_EQ; in foldSelectWithBinaryOp()
982 static bool isICmpTrue(ICmpInst::Predicate Pred, Value *LHS, Value *RHS, in isICmpTrue()
1038 return isICmpTrue(ICmpInst::ICMP_ULT, X, Y, Q, MaxRecurse); in isDivZero()
1409 static Value *simplifyUnsignedRangeCheck(ICmpInst *ZeroICmp, in simplifyUnsignedRangeCheck()
1410 ICmpInst *UnsignedICmp, bool IsAnd, in simplifyUnsignedRangeCheck()
1414 ICmpInst::Predicate EqPred; in simplifyUnsignedRangeCheck()
1416 !ICmpInst::isEquality(EqPred)) in simplifyUnsignedRangeCheck()
1419 ICmpInst::Predicate UnsignedPred; in simplifyUnsignedRangeCheck()
1426 ICmpInst::isUnsigned(UnsignedPred)) { in simplifyUnsignedRangeCheck()
[all …]
/external/llvm/lib/Transforms/Utils/
DCmpInstAnalysis.cpp44 unsigned llvm::getICmpCode(const ICmpInst *ICI, bool InvertPred) { in getICmpCode()
45 ICmpInst::Predicate Pred = InvertPred ? ICI->getInversePredicate() in getICmpCode()
49 case ICmpInst::ICMP_UGT: return 1; // 001 in getICmpCode()
50 case ICmpInst::ICMP_SGT: return 1; // 001 in getICmpCode()
51 case ICmpInst::ICMP_EQ: return 2; // 010 in getICmpCode()
52 case ICmpInst::ICMP_UGE: return 3; // 011 in getICmpCode()
53 case ICmpInst::ICMP_SGE: return 3; // 011 in getICmpCode()
54 case ICmpInst::ICMP_ULT: return 4; // 100 in getICmpCode()
55 case ICmpInst::ICMP_SLT: return 4; // 100 in getICmpCode()
56 case ICmpInst::ICMP_NE: return 5; // 101 in getICmpCode()
[all …]
/external/llvm-project/llvm/lib/Transforms/InstCombine/
DInstCombineCompares.cpp66 static bool hasBranchUse(ICmpInst &I) { in hasBranchUse()
77 static bool isSignTest(ICmpInst::Predicate &Pred, const APInt &C) { in isSignTest()
78 if (!ICmpInst::isSigned(Pred)) in isSignTest()
82 return ICmpInst::isRelational(Pred); in isSignTest()
85 if (Pred == ICmpInst::ICMP_SLT) { in isSignTest()
86 Pred = ICmpInst::ICMP_SLE; in isSignTest()
90 if (Pred == ICmpInst::ICMP_SGT) { in isSignTest()
91 Pred = ICmpInst::ICMP_SGE; in isSignTest()
332 return new ICmpInst(ICmpInst::ICMP_EQ, Idx, FirstTrueIdx); in foldCmpLoadFromIndexedGlobal()
352 return new ICmpInst(ICmpInst::ICMP_NE, Idx, FirstFalseIdx); in foldCmpLoadFromIndexedGlobal()
[all …]
DInstCombineInternal.h105 Value *simplifyRangeCheck(ICmpInst *Cmp0, ICmpInst *Cmp1, bool Inverted);
122 Instruction *visitICmpInst(ICmpInst &I);
182 bool replacedSelectWithOperand(SelectInst *SI, const ICmpInst *Icmp,
246 Instruction *transformZExtICmp(ICmpInst *ICI, ZExtInst &CI,
249 Instruction *transformSExtICmp(ICmpInst *ICI, Instruction &CI);
339 Value *foldAndOfICmps(ICmpInst *LHS, ICmpInst *RHS, BinaryOperator &And);
340 Value *foldOrOfICmps(ICmpInst *LHS, ICmpInst *RHS, BinaryOperator &Or);
341 Value *foldXorOfICmps(ICmpInst *LHS, ICmpInst *RHS, BinaryOperator &Xor);
348 Value *foldAndOrOfICmpsOfAndWithPow2(ICmpInst *LHS, ICmpInst *RHS,
631 ICmpInst::Predicate Cond, Instruction &I);
[all …]
DInstCombineAndOrXor.cpp59 ICmpInst::Predicate NewPred; in getNewICmpValue()
130 ICmpInst::Predicate Pred = Inside ? ICmpInst::ICMP_ULT : ICmpInst::ICMP_UGE; in insertRangeTest()
132 Pred = isSigned ? ICmpInst::getSignedPredicate(Pred) : Pred; in insertRangeTest()
187 ICmpInst::Predicate Pred) { in getMaskedICmpType()
191 bool IsEq = (Pred == ICmpInst::ICMP_EQ); in getMaskedICmpType()
268 Value *&D, Value *&E, ICmpInst *LHS, in getMaskedTypeForICmpPair()
269 ICmpInst *RHS, in getMaskedTypeForICmpPair()
270 ICmpInst::Predicate &PredL, in getMaskedTypeForICmpPair()
271 ICmpInst::Predicate &PredR) { in getMaskedTypeForICmpPair()
305 if (!ICmpInst::isEquality(PredL)) in getMaskedTypeForICmpPair()
[all …]
DInstCombineSelect.cpp70 if (ICmpInst::isEquality(Pred)) in foldSelectBinOpIdentity()
71 IsEq = Pred == ICmpInst::ICMP_EQ; in foldSelectBinOpIdentity()
124 static Value *foldSelectICmpAnd(SelectInst &Sel, ICmpInst *Cmp, in foldSelectICmpAnd()
139 ICmpInst::Predicate Pred = Cmp->getPredicate(); in foldSelectICmpAnd()
140 if (ICmpInst::isEquality(Pred)) { in foldSelectICmpAnd()
152 assert(ICmpInst::isEquality(Pred) && "Not equality test?"); in foldSelectICmpAnd()
181 if (Pred == ICmpInst::ICMP_EQ) { in foldSelectICmpAnd()
188 if (Pred == ICmpInst::ICMP_NE) { in foldSelectICmpAnd()
227 ShouldNotVal ^= Pred == ICmpInst::ICMP_NE; in foldSelectICmpAnd()
481 static Instruction *foldSelectICmpAndAnd(Type *SelType, const ICmpInst *Cmp, in foldSelectICmpAndAnd()
[all …]
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/InstCombine/
DInstCombineCompares.cpp65 static bool hasBranchUse(ICmpInst &I) { in hasBranchUse()
76 static bool isSignTest(ICmpInst::Predicate &Pred, const APInt &C) { in isSignTest()
77 if (!ICmpInst::isSigned(Pred)) in isSignTest()
81 return ICmpInst::isRelational(Pred); in isSignTest()
84 if (Pred == ICmpInst::ICMP_SLT) { in isSignTest()
85 Pred = ICmpInst::ICMP_SLE; in isSignTest()
89 if (Pred == ICmpInst::ICMP_SGT) { in isSignTest()
90 Pred = ICmpInst::ICMP_SGE; in isSignTest()
331 return new ICmpInst(ICmpInst::ICMP_EQ, Idx, FirstTrueIdx); in foldCmpLoadFromIndexedGlobal()
351 return new ICmpInst(ICmpInst::ICMP_NE, Idx, FirstFalseIdx); in foldCmpLoadFromIndexedGlobal()
[all …]
DInstCombineInternal.h119 inline bool isSignBitCheck(ICmpInst::Predicate Pred, const APInt &RHS, in isSignBitCheck()
122 case ICmpInst::ICMP_SLT: // True if LHS s< 0 in isSignBitCheck()
125 case ICmpInst::ICMP_SLE: // True if LHS s<= -1 in isSignBitCheck()
128 case ICmpInst::ICMP_SGT: // True if LHS s> -1 in isSignBitCheck()
131 case ICmpInst::ICMP_SGE: // True if LHS s>= 0 in isSignBitCheck()
134 case ICmpInst::ICMP_UGT: in isSignBitCheck()
138 case ICmpInst::ICMP_UGE: in isSignBitCheck()
142 case ICmpInst::ICMP_ULT: in isSignBitCheck()
146 case ICmpInst::ICMP_ULE: in isSignBitCheck()
389 Value *simplifyRangeCheck(ICmpInst *Cmp0, ICmpInst *Cmp1, bool Inverted);
[all …]
DInstCombineAndOrXor.cpp57 ICmpInst::Predicate NewPred; in getNewICmpValue()
174 ICmpInst::Predicate Pred = Inside ? ICmpInst::ICMP_ULT : ICmpInst::ICMP_UGE; in insertRangeTest()
176 Pred = isSigned ? ICmpInst::getSignedPredicate(Pred) : Pred; in insertRangeTest()
231 ICmpInst::Predicate Pred) { in getMaskedICmpType()
235 bool IsEq = (Pred == ICmpInst::ICMP_EQ); in getMaskedICmpType()
312 Value *&D, Value *&E, ICmpInst *LHS, in getMaskedTypeForICmpPair()
313 ICmpInst *RHS, in getMaskedTypeForICmpPair()
314 ICmpInst::Predicate &PredL, in getMaskedTypeForICmpPair()
315 ICmpInst::Predicate &PredR) { in getMaskedTypeForICmpPair()
349 if (!ICmpInst::isEquality(PredL)) in getMaskedTypeForICmpPair()
[all …]
DInstCombineSelect.cpp68 if (ICmpInst::isEquality(Pred)) in foldSelectBinOpIdentity()
69 IsEq = Pred == ICmpInst::ICMP_EQ; in foldSelectBinOpIdentity()
123 static Value *foldSelectICmpAnd(SelectInst &Sel, ICmpInst *Cmp, in foldSelectICmpAnd()
138 ICmpInst::Predicate Pred = Cmp->getPredicate(); in foldSelectICmpAnd()
139 if (ICmpInst::isEquality(Pred)) { in foldSelectICmpAnd()
151 assert(ICmpInst::isEquality(Pred) && "Not equality test?"); in foldSelectICmpAnd()
180 if (Pred == ICmpInst::ICMP_EQ) { in foldSelectICmpAnd()
187 if (Pred == ICmpInst::ICMP_NE) { in foldSelectICmpAnd()
226 ShouldNotVal ^= Pred == ICmpInst::ICMP_NE; in foldSelectICmpAnd()
501 static Instruction *foldSelectICmpAndAnd(Type *SelType, const ICmpInst *Cmp, in foldSelectICmpAndAnd()
[all …]
/external/llvm/lib/Transforms/InstCombine/
DInstCombineCompares.cpp119 static bool isBranchOnSignBitCheck(ICmpInst &I, bool isSignBit) { in isBranchOnSignBitCheck()
129 static bool isSignBitCheck(ICmpInst::Predicate Pred, ConstantInt *RHS, in isSignBitCheck()
132 case ICmpInst::ICMP_SLT: // True if LHS s< 0 in isSignBitCheck()
135 case ICmpInst::ICMP_SLE: // True if LHS s<= RHS and RHS == -1 in isSignBitCheck()
138 case ICmpInst::ICMP_SGT: // True if LHS s> -1 in isSignBitCheck()
141 case ICmpInst::ICMP_UGT: in isSignBitCheck()
145 case ICmpInst::ICMP_UGE: in isSignBitCheck()
157 static bool isSignTest(ICmpInst::Predicate &Pred, const ConstantInt *RHS) { in isSignTest()
158 if (!ICmpInst::isSigned(Pred)) in isSignTest()
162 return ICmpInst::isRelational(Pred); in isSignTest()
[all …]
DInstCombineAndOrXor.cpp73 ICmpInst::Predicate NewPred; in getNewICmpValue()
293 ICmpInst::ICMP_SLE:ICmpInst::ICMP_ULE), Lo, Hi))->getZExtValue() && in InsertRangeTest()
302 ICmpInst::Predicate pred = (isSigned ? in InsertRangeTest()
303 ICmpInst::ICMP_SLT : ICmpInst::ICMP_ULT); in InsertRangeTest()
320 ICmpInst::Predicate pred = (isSigned ? in InsertRangeTest()
321 ICmpInst::ICMP_SGT : ICmpInst::ICMP_UGT); in InsertRangeTest()
443 ICmpInst::Predicate SCC) in getTypeOfMaskedICmp()
448 bool icmp_eq = (SCC == ICmpInst::ICMP_EQ); in getTypeOfMaskedICmp()
530 static bool decomposeBitTestICmp(const ICmpInst *I, ICmpInst::Predicate &Pred, in decomposeBitTestICmp()
539 case ICmpInst::ICMP_SLT: in decomposeBitTestICmp()
[all …]
/external/swiftshader/third_party/llvm-10.0/llvm/lib/IR/
DConstantFold.cpp1524 static ICmpInst::Predicate areGlobalsPotentiallyEqual(const GlobalValue *GV1, in areGlobalsPotentiallyEqual()
1544 return ICmpInst::ICMP_NE; in areGlobalsPotentiallyEqual()
1545 return ICmpInst::BAD_ICMP_PREDICATE; in areGlobalsPotentiallyEqual()
1560 static ICmpInst::Predicate evaluateICmpRelation(Constant *V1, Constant *V2, in evaluateICmpRelation()
1564 if (V1 == V2) return ICmpInst::ICMP_EQ; in evaluateICmpRelation()
1573 ICmpInst::Predicate pred = ICmpInst::ICMP_EQ; in evaluateICmpRelation()
1577 pred = isSigned ? ICmpInst::ICMP_SLT : ICmpInst::ICMP_ULT; in evaluateICmpRelation()
1581 pred = isSigned ? ICmpInst::ICMP_SGT : ICmpInst::ICMP_UGT; in evaluateICmpRelation()
1587 return ICmpInst::BAD_ICMP_PREDICATE; in evaluateICmpRelation()
1591 ICmpInst::Predicate SwappedRelation = in evaluateICmpRelation()
[all …]
/external/llvm/lib/IR/
DConstantFold.cpp1395 static ICmpInst::Predicate areGlobalsPotentiallyEqual(const GlobalValue *GV1, in areGlobalsPotentiallyEqual()
1415 return ICmpInst::ICMP_NE; in areGlobalsPotentiallyEqual()
1416 return ICmpInst::BAD_ICMP_PREDICATE; in areGlobalsPotentiallyEqual()
1431 static ICmpInst::Predicate evaluateICmpRelation(Constant *V1, Constant *V2, in evaluateICmpRelation()
1435 if (V1 == V2) return ICmpInst::ICMP_EQ; in evaluateICmpRelation()
1444 ICmpInst::Predicate pred = ICmpInst::ICMP_EQ; in evaluateICmpRelation()
1448 pred = isSigned ? ICmpInst::ICMP_SLT : ICmpInst::ICMP_ULT; in evaluateICmpRelation()
1452 pred = isSigned ? ICmpInst::ICMP_SGT : ICmpInst::ICMP_UGT; in evaluateICmpRelation()
1458 return ICmpInst::BAD_ICMP_PREDICATE; in evaluateICmpRelation()
1462 ICmpInst::Predicate SwappedRelation = in evaluateICmpRelation()
[all …]
/external/llvm-project/llvm/lib/IR/
DConstantFold.cpp1645 static ICmpInst::Predicate areGlobalsPotentiallyEqual(const GlobalValue *GV1, in areGlobalsPotentiallyEqual()
1665 return ICmpInst::ICMP_NE; in areGlobalsPotentiallyEqual()
1666 return ICmpInst::BAD_ICMP_PREDICATE; in areGlobalsPotentiallyEqual()
1681 static ICmpInst::Predicate evaluateICmpRelation(Constant *V1, Constant *V2, in evaluateICmpRelation()
1685 if (V1 == V2) return ICmpInst::ICMP_EQ; in evaluateICmpRelation()
1694 ICmpInst::Predicate pred = ICmpInst::ICMP_EQ; in evaluateICmpRelation()
1698 pred = isSigned ? ICmpInst::ICMP_SLT : ICmpInst::ICMP_ULT; in evaluateICmpRelation()
1702 pred = isSigned ? ICmpInst::ICMP_SGT : ICmpInst::ICMP_UGT; in evaluateICmpRelation()
1708 return ICmpInst::BAD_ICMP_PREDICATE; in evaluateICmpRelation()
1712 ICmpInst::Predicate SwappedRelation = in evaluateICmpRelation()
[all …]
/external/llvm-project/llvm/lib/Target/BPF/
DBPFAdjustOpt.cpp120 auto *Icmp1 = dyn_cast<ICmpInst>(I.getOperand(0)); in serializeICMPInBB()
123 auto *Icmp2 = dyn_cast<ICmpInst>(I.getOperand(1)); in serializeICMPInBB()
178 auto *Cond = dyn_cast<ICmpInst>(BI->getCondition()); in serializeICMPCrossBB()
188 Cond = dyn_cast<ICmpInst>(BI->getCondition()); in serializeICMPCrossBB()
197 if (Cond1Op == ICmpInst::ICMP_SGT || Cond1Op == ICmpInst::ICMP_SGE) { in serializeICMPCrossBB()
198 if (Cond2Op != ICmpInst::ICMP_SLT && Cond1Op != ICmpInst::ICMP_SLE) in serializeICMPCrossBB()
200 } else if (Cond1Op == ICmpInst::ICMP_SLT || Cond1Op == ICmpInst::ICMP_SLE) { in serializeICMPCrossBB()
201 if (Cond2Op != ICmpInst::ICMP_SGT && Cond1Op != ICmpInst::ICMP_SGE) in serializeICMPCrossBB()
255 if (auto *Icmp1 = dyn_cast<ICmpInst>(Inst)) { in avoidSpeculation()
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/
DInductiveRangeCheckElimination.cpp148 static bool parseRangeCheckICmp(Loop *L, ICmpInst *ICI, ScalarEvolution &SE,
202 return SE.isKnownPredicate(ICmpInst::ICMP_SGE, Begin, End); in isEmpty()
204 return SE.isKnownPredicate(ICmpInst::ICMP_UGE, Begin, End); in isEmpty()
277 InductiveRangeCheck::parseRangeCheckICmp(Loop *L, ICmpInst *ICI, in INITIALIZE_PASS_DEPENDENCY()
284 ICmpInst::Predicate Pred = ICI->getPredicate(); in INITIALIZE_PASS_DEPENDENCY()
292 case ICmpInst::ICMP_SLE: in INITIALIZE_PASS_DEPENDENCY()
295 case ICmpInst::ICMP_SGE: in INITIALIZE_PASS_DEPENDENCY()
303 case ICmpInst::ICMP_SLT: in INITIALIZE_PASS_DEPENDENCY()
306 case ICmpInst::ICMP_SGT: in INITIALIZE_PASS_DEPENDENCY()
320 case ICmpInst::ICMP_ULT: in INITIALIZE_PASS_DEPENDENCY()
[all …]
DLoopPredication.cpp239 ICmpInst::Predicate Pred;
242 LoopICmp(ICmpInst::Predicate Pred, const SCEVAddRecExpr *IV, in LoopICmp()
265 Optional<LoopICmp> parseLoopICmp(ICmpInst *ICI);
285 ICmpInst::Predicate Pred, const SCEV *LHS,
288 Optional<Value *> widenICmpRangeCheck(ICmpInst *ICI, SCEVExpander &Expander,
373 LoopPredication::parseLoopICmp(ICmpInst *ICI) { in parseLoopICmp()
389 Pred = ICmpInst::getSwappedPredicate(Pred); in parseLoopICmp()
401 ICmpInst::Predicate Pred, const SCEV *LHS, in expandCheck()
410 if (SE->isLoopEntryGuardedByCond(L, ICmpInst::getInversePredicate(Pred), in expandCheck()
596 ICmpInst::getFlippedStrictnessPredicate(LatchCheck.Pred); in widenICmpRangeCheckIncrementingLoop()
[all …]
/external/llvm-project/llvm/unittests/IR/
DPatternMatch.cpp77 m_SpecificInt_ICMP(ICmpInst::Predicate::ICMP_EQ, APInt(BitWidth, 0)) in TEST_F()
80 m_SpecificInt_ICMP(ICmpInst::Predicate::ICMP_EQ, APInt(BitWidth, 0)) in TEST_F()
83 m_SpecificInt_ICMP(ICmpInst::Predicate::ICMP_EQ, APInt(BitWidth, 0)) in TEST_F()
87 m_SpecificInt_ICMP(ICmpInst::Predicate::ICMP_EQ, APInt(BitWidth, 1)) in TEST_F()
90 m_SpecificInt_ICMP(ICmpInst::Predicate::ICMP_EQ, APInt(BitWidth, 1)) in TEST_F()
93 m_SpecificInt_ICMP(ICmpInst::Predicate::ICMP_EQ, APInt(BitWidth, 1)) in TEST_F()
97 m_SpecificInt_ICMP(ICmpInst::Predicate::ICMP_EQ, APInt(BitWidth, -1)) in TEST_F()
100 m_SpecificInt_ICMP(ICmpInst::Predicate::ICMP_EQ, APInt(BitWidth, -1)) in TEST_F()
103 m_SpecificInt_ICMP(ICmpInst::Predicate::ICMP_EQ, APInt(BitWidth, -1)) in TEST_F()
116 m_SpecificInt_ICMP(ICmpInst::Predicate::ICMP_NE, APInt(BitWidth, 0)) in TEST_F()
[all …]
/external/llvm-project/llvm/lib/Transforms/Scalar/
DInductiveRangeCheckElimination.cpp150 static bool parseRangeCheckICmp(Loop *L, ICmpInst *ICI, ScalarEvolution &SE,
203 return SE.isKnownPredicate(ICmpInst::ICMP_SGE, Begin, End); in isEmpty()
205 return SE.isKnownPredicate(ICmpInst::ICMP_UGE, Begin, End); in isEmpty()
295 InductiveRangeCheck::parseRangeCheckICmp(Loop *L, ICmpInst *ICI, in INITIALIZE_PASS_DEPENDENCY()
302 ICmpInst::Predicate Pred = ICI->getPredicate(); in INITIALIZE_PASS_DEPENDENCY()
310 case ICmpInst::ICMP_SLE: in INITIALIZE_PASS_DEPENDENCY()
313 case ICmpInst::ICMP_SGE: in INITIALIZE_PASS_DEPENDENCY()
321 case ICmpInst::ICMP_SLT: in INITIALIZE_PASS_DEPENDENCY()
324 case ICmpInst::ICMP_SGT: in INITIALIZE_PASS_DEPENDENCY()
338 case ICmpInst::ICMP_ULT: in INITIALIZE_PASS_DEPENDENCY()
[all …]
DLoopPredication.cpp239 ICmpInst::Predicate Pred;
242 LoopICmp(ICmpInst::Predicate Pred, const SCEVAddRecExpr *IV, in LoopICmp()
265 Optional<LoopICmp> parseLoopICmp(ICmpInst *ICI);
285 ICmpInst::Predicate Pred, const SCEV *LHS,
288 Optional<Value *> widenICmpRangeCheck(ICmpInst *ICI, SCEVExpander &Expander,
374 LoopPredication::parseLoopICmp(ICmpInst *ICI) { in parseLoopICmp()
390 Pred = ICmpInst::getSwappedPredicate(Pred); in parseLoopICmp()
402 ICmpInst::Predicate Pred, const SCEV *LHS, in expandCheck()
411 if (SE->isLoopEntryGuardedByCond(L, ICmpInst::getInversePredicate(Pred), in expandCheck()
598 ICmpInst::getFlippedStrictnessPredicate(LatchCheck.Pred); in widenICmpRangeCheckIncrementingLoop()
[all …]
/external/llvm/lib/Analysis/
DInstructionSimplify.cpp1459 static Value *simplifyUnsignedRangeCheck(ICmpInst *ZeroICmp, in simplifyUnsignedRangeCheck()
1460 ICmpInst *UnsignedICmp, bool IsAnd) { in simplifyUnsignedRangeCheck()
1463 ICmpInst::Predicate EqPred; in simplifyUnsignedRangeCheck()
1465 !ICmpInst::isEquality(EqPred)) in simplifyUnsignedRangeCheck()
1468 ICmpInst::Predicate UnsignedPred; in simplifyUnsignedRangeCheck()
1470 ICmpInst::isUnsigned(UnsignedPred)) in simplifyUnsignedRangeCheck()
1474 ICmpInst::isUnsigned(UnsignedPred)) in simplifyUnsignedRangeCheck()
1475 UnsignedPred = ICmpInst::getSwappedPredicate(UnsignedPred); in simplifyUnsignedRangeCheck()
1481 if (UnsignedPred == ICmpInst::ICMP_ULT && EqPred == ICmpInst::ICMP_NE) in simplifyUnsignedRangeCheck()
1486 if (UnsignedPred == ICmpInst::ICMP_UGE && !IsAnd) { in simplifyUnsignedRangeCheck()
[all …]

12345678910>>...14