[llvm] 24ba6d7 - MCAsmBackend: Use assert for unreachable relaxInstruction dump code
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Sun Jul 6 16:35:02 PDT 2025
Author: Fangrui Song
Date: 2025-07-06T16:34:57-07:00
New Revision: 24ba6d753de653912d5e5613b169d6b97e9e9e1c
URL: https://github.com/llvm/llvm-project/commit/24ba6d753de653912d5e5613b169d6b97e9e9e1c
DIFF: https://github.com/llvm/llvm-project/commit/24ba6d753de653912d5e5613b169d6b97e9e9e1c.diff
LOG: MCAsmBackend: Use assert for unreachable relaxInstruction dump code
The check duplicates what fixupNeedsRelaxationAdvanced has checked.
The dump code is not very useful as it does not show the instruction
name.
Added:
Modified:
llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp b/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
index ec3ea2d16e9e9..fc9a32072a627 100644
--- a/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
+++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
@@ -329,15 +329,7 @@ bool ARMAsmBackend::fixupNeedsRelaxationAdvanced(const MCFixup &Fixup,
void ARMAsmBackend::relaxInstruction(MCInst &Inst,
const MCSubtargetInfo &STI) const {
unsigned RelaxedOp = getRelaxedOpcode(Inst.getOpcode(), STI);
-
- // Return a diagnostic if we get here w/ a bogus instruction.
- if (RelaxedOp == Inst.getOpcode()) {
- SmallString<256> Tmp;
- raw_svector_ostream OS(Tmp);
- Inst.dump_pretty(OS);
- OS << "\n";
- report_fatal_error("unexpected instruction to relax: " + OS.str());
- }
+ assert(RelaxedOp != Inst.getOpcode());
// If we are changing Thumb CBZ or CBNZ instruction to a NOP, aka tHINT, we
// have to change the operands too.
diff --git a/llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp b/llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
index ca71d9df3f45b..f0c3728ec0eea 100644
--- a/llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
+++ b/llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
@@ -222,15 +222,7 @@ bool M68kAsmBackend::fixupNeedsRelaxation(const MCFixup &Fixup,
void M68kAsmBackend::relaxInstruction(MCInst &Inst,
const MCSubtargetInfo &STI) const {
unsigned RelaxedOp = getRelaxedOpcode(Inst.getOpcode());
-
- if (RelaxedOp == Inst.getOpcode()) {
- SmallString<256> Tmp;
- raw_svector_ostream OS(Tmp);
- Inst.dump_pretty(OS);
- OS << "\n";
- report_fatal_error("unexpected instruction to relax: " + OS.str());
- }
-
+ assert(RelaxedOp != Inst.getOpcode());
Inst.setOpcode(RelaxedOp);
}
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
index 41e7869c07489..8f667ad232a12 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
@@ -754,15 +754,7 @@ void X86AsmBackend::relaxInstruction(MCInst &Inst,
// The only relaxations X86 does is from a 1byte pcrel to a 4byte pcrel.
bool Is16BitMode = STI.hasFeature(X86::Is16Bit);
unsigned RelaxedOp = getRelaxedOpcode(Inst, Is16BitMode);
-
- if (RelaxedOp == Inst.getOpcode()) {
- SmallString<256> Tmp;
- raw_svector_ostream OS(Tmp);
- Inst.dump_pretty(OS);
- OS << "\n";
- report_fatal_error("unexpected instruction to relax: " + OS.str());
- }
-
+ assert(RelaxedOp != Inst.getOpcode());
Inst.setOpcode(RelaxedOp);
}
More information about the llvm-commits
mailing list