diff options
Diffstat (limited to 'llvm/lib/CodeGen/LiveIntervals.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/LiveIntervals.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/LiveIntervals.cpp b/llvm/lib/CodeGen/LiveIntervals.cpp index 024ff12ea54..fc46de2be92 100644 --- a/llvm/lib/CodeGen/LiveIntervals.cpp +++ b/llvm/lib/CodeGen/LiveIntervals.cpp @@ -134,7 +134,7 @@ bool LiveIntervals::runOnMachineFunction(MachineFunction &fn) { mii != mie; ) { for (unsigned i = 0; i < mii->getNumOperands(); ++i) { const MachineOperand& mop = mii->getOperand(i); - if (mop.isRegister()) { + if (mop.isRegister() && mop.getReg()) { // replace register with representative register unsigned reg = rep(mop.getReg()); mii->SetMachineOperandReg(i, reg); @@ -421,7 +421,7 @@ void LiveIntervals::computeIntervals() for (int i = mi->getNumOperands() - 1; i >= 0; --i) { MachineOperand& mop = mi->getOperand(i); // handle register defs - build intervals - if (mop.isRegister() && mop.isDef()) + if (mop.isRegister() && mop.getReg() && mop.isDef()) handleRegisterDef(mbb, mi, mop.getReg()); } } |

