[llvm] [X86AsmBackend] Define reset() hook (PR #213409)
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 31 22:00:14 PDT 2026
https://github.com/MaskRay created https://github.com/llvm/llvm-project/pull/213409
Noticed when reviewing #175830: MCObjectStreamer::reset frees the
fragments PendingBA and PrevInstPosition point into, but X86AsmBackend
keeps them. Define the hook.
>From f418a7747070a8b18bbe0b172ac3dc409e3315e2 Mon Sep 17 00:00:00 2001
From: Fangrui Song <i at maskray.me>
Date: Fri, 31 Jul 2026 21:57:32 -0700
Subject: [PATCH] [X86AsmBackend] Define reset() hook
Noticed when reviewing #175830: MCObjectStreamer::reset frees the
fragments PendingBA and PrevInstPosition point into, but X86AsmBackend
keeps them. Define the hook.
---
llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
index 0b3da6582d907..98a541b3d7351 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
@@ -163,6 +163,13 @@ class X86AsmBackend : public MCAsmBackend {
AllowAutoPadding && TargetPrefixMax != 0 && X86PadForBranchAlign;
}
+ void reset() override {
+ PrevInst = MCInst();
+ PrevInstOpcode = 0;
+ PendingBA = nullptr;
+ PrevInstPosition = {};
+ }
+
void emitInstructionBegin(MCObjectStreamer &OS, const MCInst &Inst,
const MCSubtargetInfo &STI);
void emitInstructionEnd(MCObjectStreamer &OS, const MCInst &Inst);
More information about the llvm-commits
mailing list