diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp index 485ef36efa2..244d7a3c407 100644 --- a/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp +++ b/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp @@ -121,6 +121,9 @@ unsigned SimpleSched::Emit(SDOperand Op) { } else if (BasicBlockSDNode *BB = dyn_cast(Op.getOperand(i))) { MI->addMachineBasicBlockOperand(BB->getBasicBlock()); + } else if (FrameIndexSDNode *FI = + dyn_cast(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));