diff --git a/llvm/lib/CodeGen/ModuloScheduling/ModuloScheduling.cpp b/llvm/lib/CodeGen/ModuloScheduling/ModuloScheduling.cpp
index 8e11dd1..dadc385 100644
--- a/llvm/lib/CodeGen/ModuloScheduling/ModuloScheduling.cpp
+++ b/llvm/lib/CodeGen/ModuloScheduling/ModuloScheduling.cpp
@@ -1444,8 +1444,7 @@
   //Start with the kernel and for each phi insert a copy for the phi def and for each arg
   for(MachineBasicBlock::iterator I = kernelBB->begin(), E = kernelBB->end(); I != E; ++I) {
     //Get op code and check if its a phi
-     MachineOpCode OC = I->getOpcode();
-     if(TMI->isDummyPhiInstr(OC)) {
+     if(I->getOpcode() == V9::PHI) {
        Instruction *tmp = 0;
        for(unsigned i = 0; i < I->getNumOperands(); ++i) {
 	 //Get Operand
@@ -1491,8 +1490,7 @@
   for(std::vector<MachineBasicBlock*>::iterator MB = epilogues.begin(), ME = epilogues.end(); MB != ME; ++MB) {
     for(MachineBasicBlock::iterator I = (*MB)->begin(), E = (*MB)->end(); I != E; ++I) {
       //Get op code and check if its a phi
-      MachineOpCode OC = I->getOpcode();
-      if(TMI->isDummyPhiInstr(OC)) {
+      if(I->getOpcode() == V9::PHI) {
 	Instruction *tmp = 0;
 	for(unsigned i = 0; i < I->getNumOperands(); ++i) {
 	  //Get Operand
