diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp index f53e8dcb7de..d51c8071f76 100644 --- a/lib/CodeGen/MachineInstr.cpp +++ b/lib/CodeGen/MachineInstr.cpp @@ -126,10 +126,11 @@ MachineInstr::SetMachineOperandReg(unsigned i, operands[i].value = NULL; operands[i].regNum = regNum; - if (isdef || TargetInstrDescriptors[opCode].resultPos == (int) i) + if (isdef || TargetInstrDescriptors[opCode].resultPos == (int)i) { + assert(operands[i].flags == MachineOperand::DEFONLYFLAG && + "Shouldn't be changing a register type once set!"); operands[i].flags = MachineOperand::DEFONLYFLAG; - else - operands[i].flags = 0; + } insertUsedReg(regNum); }