Add support for frame index nodes
authorChris Lattner <sabre@nondot.org>
Sun, 21 Aug 2005 19:56:04 +0000 (19:56 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 21 Aug 2005 19:56:04 +0000 (19:56 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22956 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/ScheduleDAG.cpp

index 485ef36efa22b95254968198e9b1acb6d1206e2d..244d7a3c407d2c32646de63c29ed4983907c98a9 100644 (file)
@@ -121,6 +121,9 @@ unsigned SimpleSched::Emit(SDOperand Op) {
       } else if (BasicBlockSDNode *BB =
                        dyn_cast<BasicBlockSDNode>(Op.getOperand(i))) {
         MI->addMachineBasicBlockOperand(BB->getBasicBlock());
+      } else if (FrameIndexSDNode *FI =
+                       dyn_cast<FrameIndexSDNode>(Op.getOperand(i))) {
+        MI->addFrameIndexOperand(FI->getIndex());
       } else {
         unsigned R = Emit(Op.getOperand(i));
         // Add an operand, unless this corresponds to a chain node.
@@ -136,9 +139,7 @@ unsigned SimpleSched::Emit(SDOperand Op) {
     default:
       Op.Val->dump(); 
       assert(0 && "This target-independent node should have been selected!");
-    case ISD::EntryToken:
-    case ISD::BasicBlock:
-      break;
+    case ISD::EntryToken: break;
     case ISD::TokenFactor:
       for (unsigned i = 0, e = Op.getNumOperands(); i != e; ++i)
         Emit(Op.getOperand(i));