Lines Matching defs:InitX
233 bool isProfitableToInsertFFS(Intrinsic::ID IntrinID, Value *InitX,
235 bool insertFFSIfProfitable(Intrinsic::ID IntrinID, Value *InitX,
1578 /// 3) \p InitX is set to the value whose CTLZ could be used.
1600 Value *&InitX, Instruction *&CntInst,
1640 InitX = VarPhi->getIncomingValueForBlock(CurLoop->getLoopPreheader());
1830 Intrinsic::ID &IntrinID, Value *&InitX,
1863 InitX = PhiX->getIncomingValueForBlock(CurLoop->getLoopPreheader());
1867 if (DefX->getOpcode() == Instruction::AShr && !isKnownNonNegative(InitX, DL))
1903 Value *InitX, bool ZeroCheck,
1905 const Value *Args[] = {InitX,
1906 ConstantInt::getBool(InitX->getContext(), ZeroCheck)};
1913 IntrinsicCostAttributes Attrs(IntrinID, InitX->getType(), Args);
1926 Value *InitX, Instruction *DefX,
1965 if (matchCondition(PreCondBI, PH) != InitX)
1978 if (!isProfitableToInsertFFS(IntrinID, InitX, ZeroCheck, IdiomCanonicalSize))
1981 transformLoopToCountable(IntrinID, PH, CntInst, CntPhi, InitX, DefX,
1996 Value *InitX;
2001 if (!detectShiftUntilZeroIdiom(CurLoop, *DL, IntrinID, InitX, CntInst, CntPhi,
2005 return insertFFSIfProfitable(IntrinID, InitX, DefX, CntPhi, CntInst);
2014 Value *InitX;
2020 if (!detectShiftUntilLessThanIdiom(CurLoop, *DL, IntrinID, InitX, CntInst,
2026 return insertFFSIfProfitable(IntrinID, InitX, DefX, CntPhi, CntInst);
2049 if (matchShiftULTCondition(PreCondBI, PH, PreLoopThreshold) != InitX ||
2063 if (!isProfitableToInsertFFS(IntrinID, InitX, ZeroCheck, IdiomCanonicalSize))
2067 transformLoopToCountable(IntrinID, PH, CntInst, CntPhi, InitX, DefX,
2150 /// PhiX = PHI [InitX, DefX]
2159 /// CountPrev = BitWidth(InitX) - CTLZ(InitX >> 1)
2162 /// Count = BitWidth(InitX) - CTLZ(InitX)
2165 /// PhiX = PHI [InitX, DefX]
2180 PHINode *CntPhi, Value *InitX, Instruction *DefX, const DebugLoc &DL,
2189 // Count = BitWidth - CTLZ(InitX);
2192 // NewCount = BitWidth - CTLZ(InitX >> 1);
2197 InitXNext = Builder.CreateAShr(InitX, 1);
2199 InitXNext = Builder.CreateLShr(InitX, 1);
2201 InitXNext = Builder.CreateShl(InitX, 1);
2205 InitXNext = InitX;