[llvm] 0e9571d - M68kMCCodeEmitter: Standardize how fixups are appended
    Fangrui Song via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri Jul  4 20:30:27 PDT 2025
    
    
  
Author: Fangrui Song
Date: 2025-07-04T20:30:22-07:00
New Revision: 0e9571df982fb0527cac2c6a6d21ff502f5d4668
URL: https://github.com/llvm/llvm-project/commit/0e9571df982fb0527cac2c6a6d21ff502f5d4668
DIFF: https://github.com/llvm/llvm-project/commit/0e9571df982fb0527cac2c6a6d21ff502f5d4668.diff
LOG: M68kMCCodeEmitter: Standardize how fixups are appended
This helper will facilitate future fixup data structure optimizations.
Added: 
    
Modified: 
    llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp
Removed: 
    
################################################################################
diff  --git a/llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp b/llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp
index abc7a9af6c555..1a4ed8dcd63b4 100644
--- a/llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp
+++ b/llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp
@@ -103,6 +103,11 @@ template <unsigned Size> static unsigned getBytePosition(unsigned BitPos) {
   }
 }
 
+static void addFixup(SmallVectorImpl<MCFixup> &Fixups, uint32_t Offset,
+                     const MCExpr *Value, uint16_t Kind, bool PCRel = false) {
+  Fixups.push_back(MCFixup::create(Offset, Value, Kind, PCRel));
+}
+
 // We need special handlings for relocatable & pc-relative operands that are
 // larger than a word.
 // A M68k instruction is aligned by word (16 bits). That means, 32-bit
@@ -139,8 +144,8 @@ void M68kMCCodeEmitter::encodeRelocImm(const MCInst &MI, unsigned OpIdx,
 
     // Relocatable address
     unsigned InsertByte = getBytePosition<Size>(InsertPos);
-    Fixups.push_back(MCFixup::create(InsertByte, Expr,
-                                     getFixupForSize(Size, /*IsPCRel=*/false)));
+    addFixup(Fixups, InsertByte, Expr,
+             getFixupForSize(Size, /*IsPCRel=*/false));
   }
 }
 
@@ -174,8 +179,7 @@ void M68kMCCodeEmitter::encodePCRelImm(const MCInst &MI, unsigned OpIdx,
             Expr, MCConstantExpr::create(LabelOffset, Ctx), Ctx);
     }
 
-    Fixups.push_back(MCFixup::create(InsertByte, Expr,
-                                     getFixupForSize(Size, /*IsPCRel=*/true)));
+    addFixup(Fixups, InsertByte, Expr, getFixupForSize(Size, true), true);
   }
 }
 
        
    
    
More information about the llvm-commits
mailing list