[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