reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/CodeGen/MachinePipeliner.h
  248     return Source->getInstr()->isPHI() || Dep.getSUnit()->getInstr()->isPHI();
  248     return Source->getInstr()->isPHI() || Dep.getSUnit()->getInstr()->isPHI();
  258     if (V->getInstr()->isPHI() && Dep.getKind() == SDep::Anti)
include/llvm/CodeGen/ScheduleDAG.h
  387         ((SU->getInstr()->mayStore() && this->getInstr()->mayLoad()) ? 1 : 0);
  387         ((SU->getInstr()->mayStore() && this->getInstr()->mayLoad()) ? 1 : 0);
  582       if (SU->isInstr()) return &SU->getInstr()->getDesc();
include/llvm/CodeGen/ScheduleDAGInstrs.h
  267         SU->SchedClass = SchedModel.resolveSchedClass(SU->getInstr());
lib/CodeGen/AggressiveAntiDepBreaker.cpp
  775     MISUnitMap.insert(std::pair<MachineInstr *, const SUnit *>(SU->getInstr(),
  794     CriticalPathMI = CriticalPathSU->getInstr();
  841       CriticalPathMI = (CriticalPathSU) ? CriticalPathSU->getInstr() : nullptr;
lib/CodeGen/CriticalAntiDepBreaker.cpp
  456     MISUnitMap[SU->getInstr()] = SU;
  478   MachineInstr *CriticalPathMI = CriticalPathSU->getInstr();
  589         CriticalPathMI = CriticalPathSU->getInstr();
lib/CodeGen/DFAPacketizer.cpp
  247     MIToSUnit[SU.getInstr()] = &SU;
lib/CodeGen/MachinePipeliner.cpp
  536       OrderedInsts.push_back(SU->getInstr());
  537       Cycles[SU->getInstr()] = Cycle;
  538       Stages[SU->getInstr()] = Schedule.stageScheduled(SU);
  665     MachineInstr &MI = *SU.getInstr();
  690           MachineInstr &LdMI = *Load->getInstr();
  765     MachineInstr *MI = I.getInstr();
  821       MachineInstr *PMI = PI.getSUnit()->getInstr();
  823         if (I.getInstr()->isPHI()) {
  846     if (!canUseLastOffsetValue(I.getInstr(), BasePos, OffsetPos, NewBase,
  851     Register OrigBase = I.getInstr()->getOperand(BasePos).getReg();
 1164           (SI.getKind() == SDep::Anti && !SI.getSUnit()->getInstr()->isPHI()))
 1175       if (!SUnits[i].getInstr()->mayStore() ||
 1178       if (PI.getKind() == SDep::Order && PI.getSUnit()->getInstr()->mayLoad()) {
 1290     if (!SU.getInstr()->isCopy() && !SU.getInstr()->isRegSequence())
 1290     if (!SU.getInstr()->isCopy() && !SU.getInstr()->isRegSequence())
 1300       MachineInstr *TmpMI = TmpSU->getInstr();
 1323         MachineInstr *TmpMI = TmpSU->getInstr();
 1551     const MachineInstr *MI = SU->getInstr();
 1565     for (const MachineOperand &MO : SU->getInstr()->operands())
 1605       MachineBasicBlock::const_iterator CurInstI = SU->getInstr();
 1610       RecRPTracker.getMaxUpwardPressureDelta(SU->getInstr(), nullptr, RPDelta,
 1993         SU->getInstr()->dump();
 2016         if (SU->getInstr()->isPHI())
 2216   MachineInstr *SI = Source->getInstr();
 2217   MachineInstr *DI = Dep.getSUnit()->getInstr();
 2308         if (ST.getInstrInfo()->isZeroCost((*I)->getInstr()->getOpcode()))
 2310         assert(ProcItinResources.canReserveResources(*(*I)->getInstr()) &&
 2312         ProcItinResources.reserveResources(*(*I)->getInstr());
 2315     if (ST.getInstrInfo()->isZeroCost(SU->getInstr()->getOpcode()) ||
 2316         ProcItinResources.canReserveResources(*SU->getInstr())) {
 2319         SU->getInstr()->dump();
 2332       SU->getInstr()->dump();
 2389     if (DAG->isBackedge(SU, P) && P.getSUnit()->getInstr()->isPHI())
 2391         if (S.getKind() == SDep::Data && S.getSUnit()->getInstr()->isPHI())
 2430         if (BE && Dep.getSUnit() == BE && !SU->getInstr()->isPHI() &&
 2461   MachineInstr *MI = SU->getInstr();
 2485           (*I)->getInstr()->readsWritesVirtualRegister(Reg);
 2517                  isLoopCarriedDefOfUse(SSD, (*I)->getInstr(), MO)) {
 2602   if (UseSU->getInstr()->isPHI())
 2707       if (!PredSU->getInstr()->isPHI() && PredIndex < Index) {
 2723       if (!SuccSU->getInstr()->isPHI() && SuccIndex < Index) {
 2730     if (PredBefore && SuccBefore && !SU->getInstr()->isPHI()) {
 2764     MachineInstr *MI = SU->getInstr();
 2832     SSD->applyInstrChange(SU->getInstr(), *this);
 2842       if (SU->getInstr()->isPHI())
 2848       if (!SU->getInstr()->isPHI())
 2864     os << "   SU(" << I->NodeNum << ") " << *(I->getInstr());
 2878       CI->getInstr()->print(os);
lib/CodeGen/MachineScheduler.cpp
  779     MachineInstr *MI = SU->getInstr();
  929   const MachineInstr &MI = *SU.getInstr();
 1120                           << PrintLaneMask(P.LaneMask) << ' ' << *SU.getInstr();
 1149               LI.Query(LIS->getInstructionIndex(*SU->getInstr()));
 1154                               << *SU->getInstr();
 1165   if (EntrySU.getInstr() != nullptr)
 1174     if (SchedModel.mustBeginGroup(SU.getInstr()) &&
 1175         SchedModel.mustEndGroup(SU.getInstr()))
 1181   if (ExitSU.getInstr() != nullptr)
 1346       LiveQueryResult LRQ = LI.Query(LIS->getInstructionIndex(*SU->getInstr()));
 1388   MachineInstr *MI = SU->getInstr();
 1562     if (TII->getMemOperandWithOffset(*SU->getInstr(), BaseOp, Offset, TRI))
 1603     if ((IsLoad && !SU.getInstr()->mayLoad()) ||
 1604         (!IsLoad && !SU.getInstr()->mayStore()))
 1688   MachineInstr *Copy = CopySU->getInstr();
 1824     if (!SU.getInstr()->isCopy())
 1894     RemIssueCount += SchedModel->getNumMicroOps(SU.getInstr(), SC)
 2000   unsigned uops = SchedModel->getNumMicroOps(SU->getInstr());
 2003                       << SchedModel->getNumMicroOps(SU->getInstr()) << '\n');
 2008       ((isTop() && SchedModel->mustBeginGroup(SU->getInstr())) ||
 2009        (!isTop() && SchedModel->mustEndGroup(SU->getInstr())))) {
 2089   assert(SU->getInstr() && "Scheduled SUnit must have instr");
 2213   unsigned IncMOps = SchedModel->getNumMicroOps(SU->getInstr());
 2325   if ((isTop() &&  SchedModel->mustEndGroup(SU->getInstr())) ||
 2326       (!isTop() && SchedModel->mustBeginGroup(SU->getInstr()))) {
 2912   const MachineInstr *MI = SU->getInstr();
 2957         Cand.SU->getInstr(),
 2964           Cand.SU->getInstr(),
 2971           Cand.SU->getInstr(),
 3249                     << *SU->getInstr());
 3254   MachineBasicBlock::iterator InsertPos = SU->getInstr();
 3268     MachineInstr *Copy = DepSU->getInstr();
 3442                     << *SU->getInstr());
 3539                       << "Scheduling " << *SU->getInstr());
lib/CodeGen/MacroFusion.cpp
   71       dbgs() << DAG.TII->getName(FirstSU.getInstr()->getOpcode()) << " - "
   72              << DAG.TII->getName(SecondSU.getInstr()->getOpcode()) << '\n';);
  138   if (DAG->ExitSU.getInstr())
  146   const MachineInstr &AnchorMI = *AnchorSU.getInstr();
  164     const MachineInstr *DepMI = DepSU.getInstr();
lib/CodeGen/PostRASchedulerList.cpp
  681       BB->splice(RegionEnd, BB, SU->getInstr());
lib/CodeGen/ScheduleDAGInstrs.cpp
  230   const MachineOperand &MO = SU->getInstr()->getOperand(OperIdx);
  238   const MCInstrDesc *DefMIDesc = &SU->getInstr()->getDesc();
  262         RegUse = UseSU->getInstr();
  265           (RegUse ? &UseSU->getInstr()->getDesc() : nullptr);
  270         Dep.setLatency(SchedModel.computeOperandLatency(SU->getInstr(), OperIdx,
  285   MachineInstr *MI = SU->getInstr();
  308            !DefSU->getInstr()->registerDefIsDead(*Alias))) {
  314             SchedModel.computeOutputLatency(MI, OperIdx, DefSU->getInstr()));
  389   MachineInstr *MI = SU->getInstr();
  438         MachineInstr *Use = UseSU->getInstr();
  484       SchedModel.computeOutputLatency(MI, OperIdx, DefSU->getInstr()));
  509   const MachineInstr *MI = SU->getInstr();
  541   if (SUa->getInstr()->mayAlias(AAForDep, *SUb->getInstr(), UseTBAA)) {
  541   if (SUa->getInstr()->mayAlias(AAForDep, *SUb->getInstr(), UseTBAA)) {
  576     SU->Latency = SchedModel.computeInstrLatency(SU->getInstr());
 1158   SU.getInstr()->dump();
 1164   if (EntrySU.getInstr() != nullptr)
 1168   if (ExitSU.getInstr() != nullptr)
 1181     SU->getInstr()->print(oss, /*SkipOpers=*/true);
 1255       SU->getInstr()->isTransient() ? 0 : 1;
 1266     RData.SubInstrCount = SU->getInstr()->isTransient() ? 0 : 1;
lib/Target/AMDGPU/AMDGPUSubtarget.cpp
  729       MachineInstr &MI2 = *SU.getInstr();
  739       MachineInstr &MI1 = *SUa->getInstr();
  772     const MachineInstr *MI = SU->getInstr();
  777     const MachineInstr *MI = SU->getInstr();
  860       MachineInstr &MAI = *SU.getInstr();
lib/Target/AMDGPU/GCNHazardRecognizer.cpp
   54   EmitInstruction(SU->getInstr());
  133   MachineInstr *MI = SU->getInstr();
  233   return PreEmitNoopsCommon(SU->getInstr());
lib/Target/AMDGPU/GCNIterativeScheduler.cpp
   52   return SU->getInstr();
   55   return SU.getInstr();
  346     Res.push_back(SU->getInstr());
  348       return P.second == SU->getInstr();
lib/Target/AMDGPU/GCNSchedStrategy.cpp
   78     TempTracker.getDownwardPressure(SU->getInstr(), Pressure, MaxPressure);
   82     TempTracker.getUpwardPressure(SU->getInstr(), Pressure, MaxPressure);
  308                     << *SU->getInstr());
lib/Target/AMDGPU/R600MachineScheduler.cpp
  161       for (MachineInstr::mop_iterator It = SU->getInstr()->operands_begin(),
  162           E = SU->getInstr()->operands_end(); It != E; ++It) {
  195   if (isPhysicalRegCopy(SU->getInstr())) {
  220   MachineInstr *MI = SU->getInstr();
  294   int Opcode = SU->getInstr()->getOpcode();
  323     InstructionsGroupCandidate.push_back(SU->getInstr());
  325         (!AnyALU || !TII->isVectorOnly(*SU->getInstr()))) {
  394     AssignSlot(UnslotedSU->getInstr(), Slot);
  443           InstructionsGroupCandidate.push_back(SU->getInstr());
lib/Target/AMDGPU/R600Packetizer.cpp
  183     MachineInstr *MII = SUI->getInstr(), *MIJ = SUJ->getInstr();
  183     MachineInstr *MII = SUI->getInstr(), *MIJ = SUJ->getInstr();
lib/Target/AMDGPU/SIMachineScheduler.cpp
  271     TopRPTracker.getDownwardPressure(SU->getInstr(), pressure, MaxPressure);
  338     RPTracker.setPos(SU->getInstr());
  419     TopRPTracker.setPos(SU->getInstr());
 1153     if (SIInstrInfo::isEXP(*SU.getInstr())) {
 1177           if (!SIInstrInfo::isEXP(*DAG->SUnits[k].getInstr()))
 1362       MachineInstr *MI = SU->getInstr();
 1391     Block->schedule((*SUs.begin())->getInstr(), (*SUs.rbegin())->getInstr());
 1391     Block->schedule((*SUs.begin())->getInstr(), (*SUs.rbegin())->getInstr());
 1842       if (SITII->isLowLatencyInstruction(*Pred->getInstr())) {
 1852     if (SITII->isLowLatencyInstruction(*SU->getInstr())) {
 1873     } else if (SU->getInstr()->getOpcode() == AMDGPU::COPY) {
 1879         if (SITII->isLowLatencyInstruction(*Succ->getInstr())) {
 1961     if (SITII->isLowLatencyInstruction(*SU->getInstr())) {
 1963       if (SITII->getMemOperandWithOffset(*SU->getInstr(), BaseLatOp, OffLatReg,
 1966     } else if (SITII->isHighLatencyInstruction(*SU->getInstr()))
 2038                       << *SU->getInstr());
lib/Target/ARM/ARMHazardRecognizer.cpp
   37   MachineInstr *MI = SU->getInstr();
   82   MachineInstr *MI = SU->getInstr();
lib/Target/Hexagon/HexagonHazardRecognizer.cpp
   40   MachineInstr *MI = SU->getInstr();
  103   if (UsesLoad && SU->isInstr() && SU->getInstr()->mayLoad())
  109   MachineInstr *MI = SU->getInstr();
  160           TII->mayBeNewStore(*S.getSUnit()->getInstr()) &&
  161           Resources->canReserveResources(*S.getSUnit()->getInstr())) {
lib/Target/Hexagon/HexagonMachineScheduler.cpp
   74   if (QII.mayBeCurLoad(*SUd->getInstr()))
   77   if (QII.canExecuteInBundle(*SUd->getInstr(), *SUu->getInstr()))
   77   if (QII.canExecuteInBundle(*SUd->getInstr(), *SUu->getInstr()))
   98   if (!SU || !SU->getInstr())
  103   switch (SU->getInstr()->getOpcode()) {
  105     if (!ResourcesModel->canReserveResources(*SU->getInstr()))
  119   MachineBasicBlock *MBB = SU->getInstr()->getParent();
  157   switch (SU->getInstr()->getOpcode()) {
  159     ResourcesModel->reserveResources(*SU->getInstr());
  181     LLVM_DEBUG(Packet[i]->getInstr()->dump());
  308   assert(SU->getInstr() && "Scheduled SUnit must have instr");
  340   unsigned uops = SchedModel->getNumMicroOps(SU->getInstr());
  407   IssueCount += SchedModel->getNumMicroOps(SU->getInstr());
  505     TempTracker.getMaxPressureDelta((*I)->getInstr(), RPDelta,
  513     (*I)->getInstr()->dump();
  691   if (SU->isInstr() && QII.mayBeCurLoad(*SU->getInstr())) {
  707       if (!PI.getSUnit()->getInstr()->isPseudo() && PI.isAssignedRegDep() &&
  716       if (!SI.getSUnit()->getInstr()->isPseudo() && SI.isAssignedRegDep() &&
  779     TempTracker.getMaxPressureDelta((*I)->getInstr(), RPDelta,
lib/Target/Hexagon/HexagonSubtarget.cpp
  146     MachineInstr &MI1 = *SU.getInstr();
  155       MachineInstr &MI2 = *SI.getSUnit()->getInstr();
  183   if (Inst1.getInstr()->getOpcode() != Hexagon::A2_tfrpi)
  187   unsigned Type = HII.getType(*Inst2.getInstr());
  207     if (DAG->SUnits[su].getInstr()->isCall())
  210     else if (DAG->SUnits[su].getInstr()->isCompare() && LastSequentialCall)
  231       const MachineInstr *MI = DAG->SUnits[su].getInstr();
  273     MachineInstr &L0 = *S0.getInstr();
  286       MachineInstr &L1 = *S1.getInstr();
  321   MachineInstr *SrcInst = Src->getInstr();
  322   MachineInstr *DstInst = Dst->getInstr();
  348     MachineInstr *DDst = Dst->Succs[0].getSUnit()->getInstr();
  419   MachineInstr *SrcI = Src->getInstr();
  431     MachineInstr *DstI = Dst->getInstr();
  477         !I.getSUnit()->getInstr()->isPseudo())
  489   MachineInstr &SrcInst = *Src->getInstr();
  490   MachineInstr &DstInst = *Dst->getInstr();
lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
  415   if (PacketSU->getInstr()->isInlineAsm())
  509   assert(SUI->getInstr() && SUJ->getInstr());
  509   assert(SUI->getInstr() && SUJ->getInstr());
  510   MachineInstr &MI = *SUI->getInstr();
  511   MachineInstr &MJ = *SUJ->getInstr();
  666     if (PacketSU->getInstr()->mayStore())
  752     MachineInstr &TempMI = *TempSU->getInstr();
  765       if (MO.isReg() && TempSU->getInstr()->modifiesRegister(MO.getReg(), HRI))
  819   MachineInstr &PacketMI = *PacketSU->getInstr();
  852   const MachineInstr &PI = *PacketSU->getInstr();
 1311   assert(SUI->getInstr() && SUJ->getInstr());
 1311   assert(SUI->getInstr() && SUJ->getInstr());
 1312   MachineInstr &I = *SUI->getInstr();
 1313   MachineInstr &J = *SUJ->getInstr();
 1622   assert(SUI->getInstr() && SUJ->getInstr());
 1622   assert(SUI->getInstr() && SUJ->getInstr());
 1623   MachineInstr &I = *SUI->getInstr();
 1624   MachineInstr &J = *SUJ->getInstr();
lib/Target/PowerPC/PPCHazardRecognizers.cpp
  328   MachineInstr *MI = SU->getInstr();
  386   MachineInstr *MI = SU->getInstr();
lib/Target/PowerPC/PPCMachineScheduler.cpp
   31   if (isADDIInstr(*FirstCand.SU->getInstr()) &&
   32       SecondCand.SU->getInstr()->mayLoad()) {
   36   if (FirstCand.SU->getInstr()->mayLoad() &&
   37       isADDIInstr(*SecondCand.SU->getInstr())) {
lib/Target/SystemZ/SystemZHazardRecognizer.cpp
  105   if (CurrGroupSize == 2 && has4RegOps(SU->getInstr()))
  169   OS << TII->getName(SU->getInstr()->getOpcode());
  204   if (has4RegOps(SU->getInstr()))
  285   LastEmittedMI = SU->getInstr();
  291     LastEmittedMI = SU->getInstr();
  329   CurrGroupHas4RegOps |= has4RegOps(SU->getInstr());
  364   if (CurrGroupSize == 2 && has4RegOps(SU->getInstr()))
lib/Target/SystemZ/SystemZHazardRecognizer.h
  123       SU->SchedClass = SchedModel->resolveSchedClass(SU->getInstr());