Lines Matching defs:HWLoopInfo
161 bool TryConvertLoop(HardwareLoopInfo &HWLoopInfo);
315 HardwareLoopInfo HWLoopInfo(L);
316 if (!HWLoopInfo.canAnalyze(LI)) {
323 !TTI.isHardwareLoopProfitable(L, SE, AC, TLI, HWLoopInfo)) {
331 HWLoopInfo.CountType = IntegerType::get(Ctx, Opts.Bitwidth.value());
335 HWLoopInfo.LoopDecrement =
336 ConstantInt::get(HWLoopInfo.CountType, Opts.Decrement.value());
338 MadeChange |= TryConvertLoop(HWLoopInfo);
339 return MadeChange && (!HWLoopInfo.IsNestingLegal && !Opts.ForceNested);
342 bool HardwareLoopsImpl::TryConvertLoop(HardwareLoopInfo &HWLoopInfo) {
344 Loop *L = HWLoopInfo.L;
347 if (!HWLoopInfo.isHardwareLoopCandidate(SE, LI, DT, Opts.getForceNested(),
357 (HWLoopInfo.ExitBlock && HWLoopInfo.ExitBranch && HWLoopInfo.ExitCount) &&
368 HardwareLoop HWLoop(HWLoopInfo, SE, DL, ORE, Opts);