[llvm] [MC][AsmPrinter] Introduce llvm_reg_offset pseudo cfi instruction. (PR #125104)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 30 11:29:07 PST 2025


================
@@ -2547,6 +2547,16 @@ bool MIParser::parseCFIOperand(MachineOperand &Dest) {
     CFIIndex = MF.addFrameInst(MCCFIInstruction::createLLVMDefAspaceCfa(
         nullptr, Reg, Offset, AddressSpace, SMLoc()));
     break;
+  case MIToken::kw_cfi_llvm_reg_offset: {
+    Register FrameReg;
+    if (parseCFIRegister(Reg) || expectAndConsume(MIToken::comma) ||
+        parseCFIRegister(FrameReg) || expectAndConsume(MIToken::comma) ||
+        parseCFIOffset(Offset))
+      return true;
+    CFIIndex = MF.addFrameInst(
+        MCCFIInstruction::createLLVMRegOffset(nullptr, Reg, FrameReg, Offset));
----------------
topperc wrote:

FrameReg here is a Register but createLLVMRegOffset takes it as an unsigned. I'm slowly trying to remove implicit conversions from Register to unsigned. Please propagate Register or used Register::id()

https://github.com/llvm/llvm-project/pull/125104


More information about the llvm-commits mailing list