Lines Matching refs:C2
391 Value *C2 = Builder->CreateICmpEQ(Idx, SecondTrueIdx);
392 return BinaryOperator::CreateOr(C1, C2);
411 Value *C2 = Builder->CreateICmpNE(Idx, SecondFalseIdx);
412 return BinaryOperator::CreateAnd(C1, C2);
781 // vice versa). This is because (x /s C1) <s C2 produces different
782 // results than (x /s C1) <u C2 or (x /u C1) <s C2 or even
783 // (x /u C1) <u C2. Simply casting the operands and result won't
800 // of form X/C1=C2. We solve for X by multiplying C1 (DivRHS) and
801 // C2 (CI). By solving for X we can turn this into a range check
1142 // If this is: (X >> C1) & C2 != C3 (where any shift and any compare
1143 // could exist), turn it into (X & (C2 << C1)) != (C3 << C1). This
1346 // Fold: icmp pred ([us]div X, C1), C2 -> range test
1359 // Fold: icmp pred (add X, C1), C2
2535 ConstantInt *C1, *C2;
2537 match(D, m_ConstantInt(C2)) && Op1->hasOneUse()) {
2539 C1->getValue() ^ C2->getValue());