Lines Matching refs:BinaryOperator
100 void simplifyIVRemainder(BinaryOperator *Rem, Instruction *IVOperand,
102 void replaceRemWithNumerator(BinaryOperator *Rem);
103 void replaceRemWithNumeratorOrZero(BinaryOperator *Rem);
104 void replaceSRemWithURem(BinaryOperator *Rem);
105 bool eliminateSDiv(BinaryOperator *SDiv);
106 bool strengthenBinaryOp(BinaryOperator *BO, Instruction *IVOperand);
107 bool strengthenOverflowingOperation(BinaryOperator *OBO,
109 bool strengthenRightShift(BinaryOperator *BO, Instruction *IVOperand);
152 if (!isa<BinaryOperator>(IVOperand) in foldIVUser()
298 bool SimplifyIndvar::eliminateSDiv(BinaryOperator *SDiv) { in eliminateSDiv()
310 auto *UDiv = BinaryOperator::Create( in eliminateSDiv()
311 BinaryOperator::UDiv, SDiv->getOperand(0), SDiv->getOperand(1), in eliminateSDiv()
327 void SimplifyIndvar::replaceSRemWithURem(BinaryOperator *Rem) { in replaceSRemWithURem()
329 auto *URem = BinaryOperator::Create(BinaryOperator::URem, N, D, in replaceSRemWithURem()
340 void SimplifyIndvar::replaceRemWithNumerator(BinaryOperator *Rem) { in replaceRemWithNumerator()
349 void SimplifyIndvar::replaceRemWithNumeratorOrZero(BinaryOperator *Rem) { in replaceRemWithNumeratorOrZero()
365 void SimplifyIndvar::simplifyIVRemainder(BinaryOperator *Rem, in simplifyIVRemainder()
424 BinaryOperator *NewResult = BinaryOperator::Create( in eliminateOverflowIntrinsic()
463 BinaryOperator *BO = BinaryOperator::Create( in eliminateSaturatingIntrinsic()
600 if (BinaryOperator *Bin = dyn_cast<BinaryOperator>(UseInst)) { in eliminateIVUser()
794 bool SimplifyIndvar::strengthenBinaryOp(BinaryOperator *BO, in strengthenBinaryOp()
803 bool SimplifyIndvar::strengthenOverflowingOperation(BinaryOperator *BO, in strengthenOverflowingOperation()
827 bool SimplifyIndvar::strengthenRightShift(BinaryOperator *BO, in strengthenRightShift()
838 BinaryOperator *Shr = cast<BinaryOperator>(U); in strengthenRightShift()
975 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(UseInst)) { in simplifyUsers()
1298 auto *NarrowBO = cast<BinaryOperator>(NarrowUse); in cloneBitwiseIVUser()
1299 auto *WideBO = BinaryOperator::Create(NarrowBO->getOpcode(), LHS, RHS, in cloneBitwiseIVUser()
1369 auto *NarrowBO = cast<BinaryOperator>(NarrowUse); in cloneArithmeticIVUser()
1370 auto *WideBO = BinaryOperator::Create(NarrowBO->getOpcode(), LHS, RHS, in cloneArithmeticIVUser()
1778 auto *NarrowBO = cast<BinaryOperator>(NarrowUse); in widenWithVariantUse()
1779 auto *WideBO = BinaryOperator::Create(NarrowBO->getOpcode(), LHS, RHS, in widenWithVariantUse()