Lines Matching refs:Rem

88     void simplifyIVRemainder(BinaryOperator *Rem, Value *IVOperand,
90 void replaceRemWithNumerator(BinaryOperator *Rem);
91 void replaceRemWithNumeratorOrZero(BinaryOperator *Rem);
92 void replaceSRemWithURem(BinaryOperator *Rem);
319 void SimplifyIndvar::replaceSRemWithURem(BinaryOperator *Rem) { in replaceSRemWithURem() argument
320 auto *N = Rem->getOperand(0), *D = Rem->getOperand(1); in replaceSRemWithURem()
322 Rem->getName() + ".urem", Rem); in replaceSRemWithURem()
323 Rem->replaceAllUsesWith(URem); in replaceSRemWithURem()
324 LLVM_DEBUG(dbgs() << "INDVARS: Simplified srem: " << *Rem << '\n'); in replaceSRemWithURem()
327 DeadInsts.emplace_back(Rem); in replaceSRemWithURem()
331 void SimplifyIndvar::replaceRemWithNumerator(BinaryOperator *Rem) { in replaceRemWithNumerator() argument
332 Rem->replaceAllUsesWith(Rem->getOperand(0)); in replaceRemWithNumerator()
333 LLVM_DEBUG(dbgs() << "INDVARS: Simplified rem: " << *Rem << '\n'); in replaceRemWithNumerator()
336 DeadInsts.emplace_back(Rem); in replaceRemWithNumerator()
340 void SimplifyIndvar::replaceRemWithNumeratorOrZero(BinaryOperator *Rem) { in replaceRemWithNumeratorOrZero() argument
341 auto *T = Rem->getType(); in replaceRemWithNumeratorOrZero()
342 auto *N = Rem->getOperand(0), *D = Rem->getOperand(1); in replaceRemWithNumeratorOrZero()
343 ICmpInst *ICmp = new ICmpInst(Rem, ICmpInst::ICMP_EQ, N, D); in replaceRemWithNumeratorOrZero()
345 SelectInst::Create(ICmp, ConstantInt::get(T, 0), N, "iv.rem", Rem); in replaceRemWithNumeratorOrZero()
346 Rem->replaceAllUsesWith(Sel); in replaceRemWithNumeratorOrZero()
347 LLVM_DEBUG(dbgs() << "INDVARS: Simplified rem: " << *Rem << '\n'); in replaceRemWithNumeratorOrZero()
350 DeadInsts.emplace_back(Rem); in replaceRemWithNumeratorOrZero()
355 void SimplifyIndvar::simplifyIVRemainder(BinaryOperator *Rem, Value *IVOperand, in simplifyIVRemainder() argument
357 auto *NValue = Rem->getOperand(0); in simplifyIVRemainder()
358 auto *DValue = Rem->getOperand(1); in simplifyIVRemainder()
369 const Loop *ICmpLoop = LI->getLoopFor(Rem->getParent()); in simplifyIVRemainder()
384 replaceRemWithNumerator(Rem); in simplifyIVRemainder()
388 auto *T = Rem->getType(); in simplifyIVRemainder()
391 replaceRemWithNumeratorOrZero(Rem); in simplifyIVRemainder()
401 replaceSRemWithURem(Rem); in simplifyIVRemainder()