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

via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 8 01:34:50 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-powerpc

Author: Matt Arsenault (arsenm)

<details>
<summary>Changes</summary>

This already exists in the base class.

---
Full diff: https://github.com/llvm/llvm-project/pull/157404.diff


2 Files Affected:

- (modified) llvm/lib/Target/PowerPC/PPCSubtarget.cpp (+6-6) 
- (modified) llvm/lib/Target/PowerPC/PPCSubtarget.h (+4-9) 


``````````diff
diff --git a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
index 996b6efb320df..9afa568213cfa 100644
--- a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
+++ b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
@@ -55,7 +55,7 @@ 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),
+    : PPCGenSubtargetInfo(TT, CPU, TuneCPU, FS),
       IsPPC64(TargetTriple.getArch() == Triple::ppc64 ||
               TargetTriple.getArch() == Triple::ppc64le),
       TM(TM), FrameLowering(initializeSubtargetDependencies(CPU, TuneCPU, FS)),
@@ -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;
 

``````````

</details>


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


More information about the llvm-commits mailing list