Lines Matching defs:HWLoopInfo
162 bool TryConvertLoop(HardwareLoopInfo &HWLoopInfo);
316 HardwareLoopInfo HWLoopInfo(L);
317 if (!HWLoopInfo.canAnalyze(LI)) {
324 !TTI.isHardwareLoopProfitable(L, SE, AC, TLI, HWLoopInfo)) {
332 HWLoopInfo.CountType = IntegerType::get(Ctx, Opts.Bitwidth.value());
336 HWLoopInfo.LoopDecrement =
337 ConstantInt::get(HWLoopInfo.CountType, Opts.Decrement.value());
339 MadeChange |= TryConvertLoop(HWLoopInfo);
340 return MadeChange && (!HWLoopInfo.IsNestingLegal && !Opts.ForceNested);
343 bool HardwareLoopsImpl::TryConvertLoop(HardwareLoopInfo &HWLoopInfo) {
345 Loop *L = HWLoopInfo.L;
348 if (!HWLoopInfo.isHardwareLoopCandidate(SE, LI, DT, Opts.getForceNested(),
358 (HWLoopInfo.ExitBlock && HWLoopInfo.ExitBranch && HWLoopInfo.ExitCount) &&
369 HardwareLoop HWLoop(HWLoopInfo, SE, DL, ORE, Opts);