• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/llvmCore-3425.0.34/lib/CodeGen/

Lines Matching defs:?I

42     cl::desc("Enable use of AA during MI GAD construction"));
108 static const Value *getUnderlyingObjectForInstr(const MachineInstr *MI,
112 if (!MI->hasOneMemOperand() ||
113 !(*MI->memoperands_begin())->getValue() ||
114 (*MI->memoperands_begin())->isVolatile())
117 const Value *V = (*MI->memoperands_begin())->getValue();
218 for (MachineBasicBlock::succ_iterator SI = BB->succ_begin(),
219 SE = BB->succ_end(); SI != SE; ++SI)
220 for (MachineBasicBlock::livein_iterator I = (*SI)->livein_begin(),
221 E = (*SI)->livein_end(); I != E; ++I) {
271 const MachineInstr *MI = SU->getInstr();
272 const MachineOperand &MO = MI->getOperand(OperIdx);
297 SchedModel.computeOutputLatency(MI, OperIdx, DefSU->getInstr());
345 const MachineInstr *MI = SU->getInstr();
346 unsigned Reg = MI->getOperand(OperIdx).getReg();
368 SchedModel.computeOutputLatency(MI, OperIdx, DefSU->getInstr());
382 MachineInstr *MI = SU->getInstr();
383 unsigned Reg = MI->getOperand(OperIdx).getReg();
387 LiveRangeQuery LRQ(LIS->getInterval(Reg), LIS->getInstructionIndex(MI));
404 SchedModel.computeOperandLatency(Def, DefOp, MI, OperIdx, false));
406 SchedModel.computeOperandLatency(Def, DefOp, MI, OperIdx, true));
420 /// Return true if MI is an instruction we are unable to reason about
422 static inline bool isGlobalMemoryObject(AliasAnalysis *AA, MachineInstr *MI) {
423 if (MI->isCall() || MI->hasUnmodeledSideEffects() ||
424 (MI->hasOrderedMemoryRef() &&
425 (!MI->mayLoad() || !MI->isInvariantLoad(AA))))
430 // This MI might have either incomplete info, or known to be unsafe
432 static inline bool isUnsafeMemoryObject(MachineInstr *MI,
434 if (!MI || MI->memoperands_empty())
439 if ((*MI->memoperands_begin())->isVolatile() ||
440 MI->hasUnmodeledSideEffects())
443 const Value *V = (*MI->memoperands_begin())->getValue();
643 MachineInstr *MI = I;
644 if (MI->isDebugValue())
647 SUnit *SU = newSUnit(MI);
648 MISUnitMap[MI] = SU;
650 SU->isCall = MI->isCall();
651 SU->isCommutable = MI->isCommutable();
704 MachineInstr *MI = prior(MII);
705 if (MI && PrevMI) {
706 DbgValues.push_back(std::make_pair(PrevMI, MI));
710 if (MI->isDebugValue()) {
711 PrevMI = MI;
716 assert(RPTracker->getPos() == prior(MII) && "RPTracker can't find MI");
719 assert((!MI->isTerminator() || CanHandleTerminators) && !MI->isLabel() &&
722 SUnit *SU = MISUnitMap[MI];
723 assert(SU && "No SUnit mapped to this MI");
726 for (unsigned j = 0, n = MI->getNumOperands(); j != n; ++j) {
727 const MachineOperand &MO = MI->getOperand(j);
752 unsigned TrueMemOrderLatency = MI->mayStore() ? 1 : 0;
753 if (isGlobalMemoryObject(AA, MI)) {
805 } else if (MI->mayStore()) {
807 if (const Value *V = getUnderlyingObjectForInstr(MI, MFI, MayAlias)) {
868 } else if (MI->mayLoad()) {
870 if (MI->isInvariantLoad(AA)) {
874 getUnderlyingObjectForInstr(MI, MFI, MayAlias)) {