Extract two methods. No functional change.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Mon, 7 Nov 2011 21:40:27 +0000 (21:40 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Mon, 7 Nov 2011 21:40:27 +0000 (21:40 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144020 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/ExecutionDepsFix.cpp

index 7f04224720d8dd60f03696f44a5a879853b5a7f7..8b002e76672251041abf315b478b868968e6b651 100644 (file)
@@ -149,6 +149,8 @@ private:
   bool Merge(DomainValue *A, DomainValue *B);
 
   void enterBasicBlock(MachineBasicBlock*);
+  void leaveBasicBlock(MachineBasicBlock*);
+  void visitInstr(MachineInstr*);
   void visitGenericInstr(MachineInstr*);
   void visitSoftInstr(MachineInstr*, unsigned mask);
   void visitHardInstr(MachineInstr*, unsigned domain);
@@ -305,6 +307,27 @@ void ExeDepsFix::enterBasicBlock(MachineBasicBlock *MBB) {
   }
 }
 
+void ExeDepsFix::leaveBasicBlock(MachineBasicBlock *MBB) {
+  // Save live registers at end of MBB - used by enterBasicBlock().
+  if (LiveRegs)
+    LiveOuts.insert(std::make_pair(MBB, LiveRegs));
+  LiveRegs = 0;
+}
+
+void ExeDepsFix::visitInstr(MachineInstr *MI) {
+  if (MI->isDebugValue())
+    return;
+  ++Distance;
+  std::pair<uint16_t, uint16_t> domp = TII->getExecutionDomain(MI);
+  if (domp.first)
+    if (domp.second)
+      visitSoftInstr(MI, domp.second);
+    else
+      visitHardInstr(MI, domp.first);
+  else if (LiveRegs)
+    visitGenericInstr(MI);
+}
+
 // A hard instruction only works in one domain. All input registers will be
 // forced into that domain.
 void ExeDepsFix::visitHardInstr(MachineInstr *mi, unsigned domain) {
@@ -483,24 +506,9 @@ bool ExeDepsFix::runOnMachineFunction(MachineFunction &mf) {
     MachineBasicBlock *MBB = *DFI;
     enterBasicBlock(MBB);
     for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end(); I != E;
-        ++I) {
-      MachineInstr *mi = I;
-      if (mi->isDebugValue()) continue;
-      ++Distance;
-      std::pair<uint16_t, uint16_t> domp = TII->getExecutionDomain(mi);
-      if (domp.first)
-        if (domp.second)
-          visitSoftInstr(mi, domp.second);
-        else
-          visitHardInstr(mi, domp.first);
-      else if (LiveRegs)
-        visitGenericInstr(mi);
-    }
-
-    // Save live registers at end of MBB - used by enterBasicBlock().
-    if (LiveRegs)
-      LiveOuts.insert(std::make_pair(MBB, LiveRegs));
-    LiveRegs = 0;
+        ++I)
+      visitInstr(I);
+    leaveBasicBlock(MBB);
   }
 
   // Clear the LiveOuts vectors. Should we also collapse any remaining