[llvm] PPC: Remove TargetTriple from PPCSubtarget (PR #157404)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 8 02:40:54 PDT 2025


https://github.com/arsenm updated https://github.com/llvm/llvm-project/pull/157404

>From 9e19dc5b2776b772c995f798914e9e32561cdc16 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Mon, 8 Sep 2025 17:31:44 +0900
Subject: [PATCH] PPC: Remove TargetTriple from PPCSubtarget

This already exists in the base class.
---
 llvm/lib/Target/PowerPC/PPCSubtarget.cpp | 16 ++++++++--------
 llvm/lib/Target/PowerPC/PPCSubtarget.h   | 13 ++++---------
 2 files changed, 12 insertions(+), 17 deletions(-)

diff --git a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
index 996b6efb320df..5f80929e86f99 100644
--- a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
+++ b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
@@ -55,9 +55,9 @@ PPCSubtarget &PPCSubtarget::initializeSubtargetDependencies(StringRef CPU,
 PPCSubtarget::PPCSubtarget(const Triple &TT, const std::string &CPU,
                            const std::string &TuneCPU, const std::string &FS,
                            const PPCTargetMachine &TM)
-    : PPCGenSubtargetInfo(TT, CPU, TuneCPU, FS), TargetTriple(TT),
-      IsPPC64(TargetTriple.getArch() == Triple::ppc64 ||
-              TargetTriple.getArch() == Triple::ppc64le),
+    : PPCGenSubtargetInfo(TT, CPU, TuneCPU, FS),
+      IsPPC64(getTargetTriple().getArch() == Triple::ppc64 ||
+              getTargetTriple().getArch() == Triple::ppc64le),
       TM(TM), FrameLowering(initializeSubtargetDependencies(CPU, TuneCPU, FS)),
       InstrInfo(*this), TLInfo(TM, *this) {
   TSInfo = std::make_unique<PPCSelectionDAGInfo>();
@@ -87,10 +87,10 @@ void PPCSubtarget::initSubtargetFeatures(StringRef CPU, StringRef TuneCPU,
   // Determine default and user specified characteristics
   std::string CPUName = std::string(CPU);
   if (CPUName.empty() || CPU == "generic") {
-    if (TargetTriple.getSubArch() == Triple::PPCSubArch_spe)
+    if (getTargetTriple().getSubArch() == Triple::PPCSubArch_spe)
       CPUName = "e500";
     else
-      CPUName = std::string(PPC::getNormalizedPPCTargetCPU(TargetTriple));
+      CPUName = std::string(PPC::getNormalizedPPCTargetCPU(getTargetTriple()));
   }
 
   // Determine the CPU to schedule for.
@@ -107,7 +107,7 @@ void PPCSubtarget::initSubtargetFeatures(StringRef CPU, StringRef TuneCPU,
   if (IsPPC64 && has64BitSupport())
     Use64BitRegs = true;
 
-  if (TargetTriple.isPPC32SecurePlt())
+  if (getTargetTriple().isPPC32SecurePlt())
     IsSecurePlt = true;
 
   if (HasSPE && IsPPC64)
@@ -126,7 +126,7 @@ void PPCSubtarget::initSubtargetFeatures(StringRef CPU, StringRef TuneCPU,
   IsLittleEndian = TM.isLittleEndian();
 
   if (HasAIXSmallLocalExecTLS || HasAIXSmallLocalDynamicTLS) {
-    if (!TargetTriple.isOSAIX() || !IsPPC64)
+    if (!getTargetTriple().isOSAIX() || !IsPPC64)
       report_fatal_error("The aix-small-local-[exec|dynamic]-tls attribute is "
                          "only supported on AIX in "
                          "64-bit mode.\n",
@@ -143,7 +143,7 @@ void PPCSubtarget::initSubtargetFeatures(StringRef CPU, StringRef TuneCPU,
                          false);
   }
 
-  if (HasAIXShLibTLSModelOpt && (!TargetTriple.isOSAIX() || !IsPPC64))
+  if (HasAIXShLibTLSModelOpt && (!getTargetTriple().isOSAIX() || !IsPPC64))
     report_fatal_error("The aix-shared-lib-tls-model-opt attribute "
                        "is only supported on AIX in 64-bit mode.\n",
                        false);
diff --git a/llvm/lib/Target/PowerPC/PPCSubtarget.h b/llvm/lib/Target/PowerPC/PPCSubtarget.h
index 3c59a475c7eb6..17d9d2ab402be 100644
--- a/llvm/lib/Target/PowerPC/PPCSubtarget.h
+++ b/llvm/lib/Target/PowerPC/PPCSubtarget.h
@@ -78,9 +78,6 @@ class PPCSubtarget : public PPCGenSubtargetInfo {
   };
 
 protected:
-  /// TargetTriple - What processor and OS we're targeting.
-  Triple TargetTriple;
-
   /// stackAlignment - The minimum alignment known to hold of the stack frame on
   /// entry to the function and which must be maintained by every function.
   Align StackAlignment;
@@ -210,13 +207,11 @@ class PPCSubtarget : public PPCGenSubtargetInfo {
 
   POPCNTDKind hasPOPCNTD() const { return HasPOPCNTD; }
 
-  const Triple &getTargetTriple() const { return TargetTriple; }
-
-  bool isTargetELF() const { return TargetTriple.isOSBinFormatELF(); }
-  bool isTargetMachO() const { return TargetTriple.isOSBinFormatMachO(); }
-  bool isTargetLinux() const { return TargetTriple.isOSLinux(); }
+  bool isTargetELF() const { return getTargetTriple().isOSBinFormatELF(); }
+  bool isTargetMachO() const { return getTargetTriple().isOSBinFormatMachO(); }
+  bool isTargetLinux() const { return getTargetTriple().isOSLinux(); }
 
-  bool isAIXABI() const { return TargetTriple.isOSAIX(); }
+  bool isAIXABI() const { return getTargetTriple().isOSAIX(); }
   bool isSVR4ABI() const { return !isAIXABI(); }
   bool isELFv2ABI() const;
 



More information about the llvm-commits mailing list