[llvm] CodeGen: Remove TargetOptions::PPCGenScalarMASSEntries (PR #221424)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 8 06:22:12 PDT 2026
https://github.com/arsenm updated https://github.com/llvm/llvm-project/pull/221424
>From ff55cb36681d1cd4b4ead6e86851c5ebb0c36eeb Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Sat, 5 Sep 2026 10:26:13 +0200
Subject: [PATCH] CodeGen: Remove TargetOptions::PPCGenScalarMASSEntries
This was PPC specific and wasn't directly written by a generic cl::opt.
It also was inappropriately written based based on a check of the flag
in the TargetPassConfig, which is only likely to be the first use.
Co-authored-by: Claude (Claude-Opus-4.8)
---
llvm/include/llvm/Target/TargetOptions.h | 8 ++------
llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 5 ++++-
llvm/lib/Target/PowerPC/PPCTargetMachine.cpp | 6 ++----
3 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/llvm/include/llvm/Target/TargetOptions.h b/llvm/include/llvm/Target/TargetOptions.h
index 71e7b17ba3bd8..6d8df63e9d220 100644
--- a/llvm/include/llvm/Target/TargetOptions.h
+++ b/llvm/include/llvm/Target/TargetOptions.h
@@ -136,9 +136,8 @@ class TargetOptions {
SupportsDebugEntryValues(false), EnableDebugEntryValues(false),
ValueTrackingVariableLocations(false), ForceDwarfFrameSection(false),
XRayFunctionIndex(true), DebugStrictDwarf(false), Hotpatch(false),
- PPCGenScalarMASSEntries(false), JMCInstrument(false),
- EnableCFIFixup(false), MisExpect(false), XCOFFReadOnlyPointers(false),
- VerifyArgABICompliance(true) {}
+ JMCInstrument(false), EnableCFIFixup(false), MisExpect(false),
+ XCOFFReadOnlyPointers(false), VerifyArgABICompliance(true) {}
/// EnableAIXExtendedAltivecABI - This flag returns true when -vec-extabi is
/// specified. The code generator is then able to use both volatile and
@@ -305,9 +304,6 @@ class TargetOptions {
/// Emit the hotpatch flag in CodeView debug.
unsigned Hotpatch : 1;
- /// Enables scalar MASS conversions
- unsigned PPCGenScalarMASSEntries : 1;
-
/// Enable JustMyCode instrumentation.
unsigned JMCInstrument : 1;
diff --git a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
index 8152d0350b018..3272c8abdbcbb 100644
--- a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
+++ b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
@@ -102,6 +102,8 @@ using namespace llvm;
#define DEBUG_TYPE "ppc-lowering"
+extern cl::opt<bool> EnablePPCGenScalarMASSEntries;
+
static cl::opt<bool> DisableP10StoreForward(
"disable-p10-store-forward",
cl::desc("disable P10 store forward-friendly conversion"), cl::Hidden,
@@ -20770,7 +20772,8 @@ bool PPCTargetLowering::isLowringToMASSSafe(SDValue Op) const {
}
bool PPCTargetLowering::isScalarMASSConversionEnabled() const {
- return getTargetMachine().Options.PPCGenScalarMASSEntries;
+ return getTargetMachine().getOptLevel() == CodeGenOptLevel::Aggressive &&
+ EnablePPCGenScalarMASSEntries;
}
SDValue PPCTargetLowering::lowerLibCallBase(const char *LibCallDoubleName,
diff --git a/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp b/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
index 0778da6cdab41..07638bcf507e3 100644
--- a/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
+++ b/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
@@ -98,7 +98,7 @@ static cl::opt<bool>
cl::desc("Expand eligible cr-logical binary ops to branches"),
cl::init(true), cl::Hidden);
-static cl::opt<bool> EnablePPCGenScalarMASSEntries(
+cl::opt<bool> EnablePPCGenScalarMASSEntries(
"enable-ppc-gen-scalar-mass", cl::init(false),
cl::desc("Enable lowering math functions to their corresponding MASS "
"(scalar) entries"),
@@ -416,10 +416,8 @@ void PPCPassConfig::addIRPasses() {
// Generate PowerPC target-specific entries for scalar math functions
// that are available in IBM MASS (scalar) library.
if (TM->getOptLevel() == CodeGenOptLevel::Aggressive &&
- EnablePPCGenScalarMASSEntries) {
- TM->Options.PPCGenScalarMASSEntries = EnablePPCGenScalarMASSEntries;
+ EnablePPCGenScalarMASSEntries)
addPass(createPPCGenScalarMASSEntriesPass());
- }
// If explicitly requested, add explicit data prefetch intrinsics.
if (EnablePrefetch.getNumOccurrences() > 0)
More information about the llvm-commits
mailing list