[llvm] CodeGen: Remove shadowing TargetMachine members from COFF and M68k TLOFs (PR #226769)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 27 01:07:00 PDT 2026


https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/226769

TargetLoweringObjectFile::Initialize already records the TargetMachine in a
base class field.

Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>

>From 42240ff26e3e3e6aef04766a23f686189af26715 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Sun, 27 Sep 2026 09:35:27 +0200
Subject: [PATCH] CodeGen: Remove shadowing TargetMachine members from COFF and
 M68k TLOFs

TargetLoweringObjectFile::Initialize already records the TargetMachine in a
base class field.

Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>
---
 llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h | 1 -
 llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp        | 1 -
 llvm/lib/Target/M68k/M68kTargetObjectFile.cpp            | 3 ---
 llvm/lib/Target/M68k/M68kTargetObjectFile.h              | 2 --
 4 files changed, 7 deletions(-)

diff --git a/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h b/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
index e631d820eb637..e76a1ac172057 100644
--- a/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
+++ b/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
@@ -188,7 +188,6 @@ class LLVM_ABI TargetLoweringObjectFileMachO : public TargetLoweringObjectFile {
 
 class LLVM_ABI TargetLoweringObjectFileCOFF : public TargetLoweringObjectFile {
   mutable unsigned NextUniqueID = 0;
-  const TargetMachine *TM = nullptr;
 
 public:
   ~TargetLoweringObjectFileCOFF() override = default;
diff --git a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
index 8b81aaf9d12d4..68ff80ae1d376 100644
--- a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+++ b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
@@ -2042,7 +2042,6 @@ void TargetLoweringObjectFileCOFF::emitLinkerDirectives(
 void TargetLoweringObjectFileCOFF::Initialize(MCContext &Ctx,
                                               const TargetMachine &TM) {
   TargetLoweringObjectFile::Initialize(Ctx, TM);
-  this->TM = &TM;
   const Triple &T = TM.getTargetTriple();
   if (T.isWindowsMSVCEnvironment() || T.isWindowsItaniumEnvironment()) {
     StaticCtorSection =
diff --git a/llvm/lib/Target/M68k/M68kTargetObjectFile.cpp b/llvm/lib/Target/M68k/M68kTargetObjectFile.cpp
index 4986d5dbebb91..5aed6b8fe38e1 100644
--- a/llvm/lib/Target/M68k/M68kTargetObjectFile.cpp
+++ b/llvm/lib/Target/M68k/M68kTargetObjectFile.cpp
@@ -14,7 +14,6 @@
 #include "M68kTargetObjectFile.h"
 
 #include "M68kSubtarget.h"
-#include "M68kTargetMachine.h"
 
 #include "llvm/BinaryFormat/ELF.h"
 #include "llvm/IR/DataLayout.h"
@@ -37,8 +36,6 @@ void M68kELFTargetObjectFile::Initialize(MCContext &Ctx,
   TargetLoweringObjectFileELF::Initialize(Ctx, TM);
   InitializeELF(TM.Options.UseInitArray);
 
-  this->TM = &static_cast<const M68kTargetMachine &>(TM);
-
   // FIXME do we need `.sdata` and `.sbss` explicitly?
   SmallDataSection = getContext().getELFSection(
       ".sdata", ELF::SHT_PROGBITS, ELF::SHF_WRITE | ELF::SHF_ALLOC);
diff --git a/llvm/lib/Target/M68k/M68kTargetObjectFile.h b/llvm/lib/Target/M68k/M68kTargetObjectFile.h
index 80a7d0d6e1206..3d145aa434750 100644
--- a/llvm/lib/Target/M68k/M68kTargetObjectFile.h
+++ b/llvm/lib/Target/M68k/M68kTargetObjectFile.h
@@ -17,9 +17,7 @@
 #include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
 
 namespace llvm {
-class M68kTargetMachine;
 class M68kELFTargetObjectFile : public TargetLoweringObjectFileELF {
-  const M68kTargetMachine *TM;
   MCSection *SmallDataSection;
   MCSection *SmallBSSSection;
 



More information about the llvm-commits mailing list