Lines Matching defs:PolynomialMultiplyRecognize
568 // Implementation of PolynomialMultiplyRecognize
574 class PolynomialMultiplyRecognize {
576 explicit PolynomialMultiplyRecognize(Loop *loop, const DataLayout &dl,
641 Value *PolynomialMultiplyRecognize::getCountIV(BasicBlock *BB) {
683 bool PolynomialMultiplyRecognize::matchLeftShift(SelectInst *SelI,
797 bool PolynomialMultiplyRecognize::matchRightShift(SelectInst *SelI,
867 bool PolynomialMultiplyRecognize::scanSelect(SelectInst *SelI,
974 bool PolynomialMultiplyRecognize::isPromotableTo(Value *Val,
1012 void PolynomialMultiplyRecognize::promoteTo(Instruction *In,
1064 bool PolynomialMultiplyRecognize::promoteTypes(BasicBlock *LoopB,
1125 bool PolynomialMultiplyRecognize::findCycle(Value *Out, Value *In,
1156 void PolynomialMultiplyRecognize::classifyCycle(Instruction *DivI,
1192 bool PolynomialMultiplyRecognize::classifyInst(Instruction *UseI,
1244 bool PolynomialMultiplyRecognize::commutesWithShift(Instruction *I) {
1261 bool PolynomialMultiplyRecognize::highBitsAreZero(Value *V,
1272 bool PolynomialMultiplyRecognize::keepsHighBitsZero(Value *V,
1296 bool PolynomialMultiplyRecognize::isOperandShifted(Instruction *I, Value *Op) {
1303 bool PolynomialMultiplyRecognize::convertShiftsToLeft(BasicBlock *LoopB,
1479 void PolynomialMultiplyRecognize::cleanupLoopBody(BasicBlock *LoopB) {
1488 unsigned PolynomialMultiplyRecognize::getInverseMxN(unsigned QP) {
1531 Value *PolynomialMultiplyRecognize::generate(BasicBlock::iterator At,
1594 void PolynomialMultiplyRecognize::setupPreSimplifier(Simplifier &S) {
1742 void PolynomialMultiplyRecognize::setupPostSimplifier(Simplifier &S) {
1770 bool PolynomialMultiplyRecognize::recognize() {
1771 LLVM_DEBUG(dbgs() << "Starting PolynomialMultiplyRecognize on loop\n"
2379 PolynomialMultiplyRecognize PMR(L, *DL, *DT, *TLI, *SE);