reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1189 if (MI.isImplicitDef()) 1204 if (HoistConstStores && isCopyFeedingInvariantStore(MI, MRI, TRI)) 1207 bool CheapInstr = IsCheapInstruction(MI); 1208 bool CreatesCopy = HasLoopPHIUse(&MI); 1212 LLVM_DEBUG(dbgs() << "Won't hoist cheap instr with loop PHI use: " << MI); 1218 if (TII->isTriviallyReMaterializable(MI, AA)) 1223 for (unsigned i = 0, e = MI.getDesc().getNumOperands(); i != e; ++i) { 1224 const MachineOperand &MO = MI.getOperand(i); 1230 if (MO.isDef() && HasHighOperandLatency(MI, i, Reg)) { 1231 LLVM_DEBUG(dbgs() << "Hoist High Latency: " << MI); 1243 auto Cost = calcRegisterCost(&MI, /*ConsiderSeen=*/false, 1249 LLVM_DEBUG(dbgs() << "Hoist non-reg-pressure: " << MI); 1256 LLVM_DEBUG(dbgs() << "Won't hoist instr with loop PHI use: " << MI); 1264 (!IsGuaranteedToExecute(MI.getParent()) && !MayCSE(&MI))) { 1264 (!IsGuaranteedToExecute(MI.getParent()) && !MayCSE(&MI))) { 1265 LLVM_DEBUG(dbgs() << "Won't speculate: " << MI); 1271 if (!TII->isTriviallyReMaterializable(MI, AA) && 1272 !MI.isDereferenceableInvariantLoad(AA)) { 1273 LLVM_DEBUG(dbgs() << "Can't remat / high reg-pressure: " << MI);