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

Mikhail Gudim via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 31 06:41:07 PST 2025


================
@@ -41,6 +41,26 @@
 
 using namespace llvm;
 
+void MCCFIInstruction::createRegOffsetExpression(unsigned Reg,
+                                                 unsigned FrameReg,
+                                                 int64_t Offset,
+                                                 SmallString<64> &CFAExpr) {
+  SmallString<64> Expr;
+  uint8_t Buffer[16];
+  Expr.push_back(dwarf::DW_OP_consts);
+  Expr.append(Buffer, Buffer + encodeSLEB128(Offset, Buffer));
+  Expr.push_back((uint8_t)dwarf::DW_OP_bregx);
+  Expr.append(Buffer, Buffer + encodeULEB128(FrameReg, Buffer));
----------------
mgudim wrote:

No, it's using DwarfEH register numbers like all other CFIs

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


More information about the llvm-commits mailing list