]> granicus.if.org Git - llvm/commitdiff
CodeGen: Use MachineInstr& in PostRASchedulerList, NFC
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Fri, 1 Jul 2016 01:18:53 +0000 (01:18 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Fri, 1 Jul 2016 01:18:53 +0000 (01:18 +0000)
Remove another unnecessary iterator to pointer conversion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274315 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/PostRASchedulerList.cpp

index c4d20e46ed3ce02c50b277c41f777af5a49aadec..3fce307f3dd4b22a2efd2f520539dfa2f2a70bd2 100644 (file)
@@ -335,24 +335,24 @@ bool PostRAScheduler::runOnMachineFunction(MachineFunction &Fn) {
     MachineBasicBlock::iterator Current = MBB.end();
     unsigned Count = MBB.size(), CurrentCount = Count;
     for (MachineBasicBlock::iterator I = Current; I != MBB.begin();) {
-      MachineInstr *MI = std::prev(I);
+      MachineInstr &MI = *std::prev(I);
       --Count;
       // Calls are not scheduling boundaries before register allocation, but
       // post-ra we don't gain anything by scheduling across calls since we
       // don't need to worry about register pressure.
-      if (MI->isCall() || TII->isSchedulingBoundary(*MI, &MBB, Fn)) {
+      if (MI.isCall() || TII->isSchedulingBoundary(MI, &MBB, Fn)) {
         Scheduler.enterRegion(&MBB, I, Current, CurrentCount - Count);
         Scheduler.setEndIndex(CurrentCount);
         Scheduler.schedule();
         Scheduler.exitRegion();
         Scheduler.EmitSchedule();
-        Current = MI;
+        Current = &MI;
         CurrentCount = Count;
-        Scheduler.Observe(*MI, CurrentCount);
+        Scheduler.Observe(MI, CurrentCount);
       }
       I = MI;
-      if (MI->isBundle())
-        Count -= MI->getBundleSize();
+      if (MI.isBundle())
+        Count -= MI.getBundleSize();
     }
     assert(Count == 0 && "Instruction count mismatch!");
     assert((MBB.begin() == Current || CurrentCount != 0) &&