diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp b/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp index 3614333037c..8630ef842b4 100644 --- a/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp +++ b/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp @@ -137,8 +137,13 @@ MachineInstrBuilder MachineIRBuilder::buildConstDbgValue(const Constant &C, MIB.addCImm(CI); else MIB.addImm(CI->getZExtValue()); - } else + } else if (auto *CFP = dyn_cast<ConstantFP>(&C)) { + assert(isa<ConstantFP>(C) && "Unexpected constant dbg value"); MIB.addFPImm(&cast<ConstantFP>(C)); + } else { + // Insert %noreg if we didn't find a usable constant and had to drop it. + MIB.addReg(0U); + } return MIB.addImm(Offset).addMetadata(Variable).addMetadata(Expr); } |