[llvm] 07e7168 - [AArch64] Stringref'ize AArch64Subtarget constructor. NFCI
Benjamin Kramer via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 30 09:04:54 PST 2022
Author: Benjamin Kramer
Date: 2022-12-30T18:02:53+01:00
New Revision: 07e7168048b18cf3b82d39c9f38a06d8c19e893a
URL: https://github.com/llvm/llvm-project/commit/07e7168048b18cf3b82d39c9f38a06d8c19e893a
DIFF: https://github.com/llvm/llvm-project/commit/07e7168048b18cf3b82d39c9f38a06d8c19e893a.diff
LOG: [AArch64] Stringref'ize AArch64Subtarget constructor. NFCI
Added:
Modified:
llvm/lib/Target/AArch64/AArch64Subtarget.cpp
llvm/lib/Target/AArch64/AArch64Subtarget.h
llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/AArch64/AArch64Subtarget.cpp b/llvm/lib/Target/AArch64/AArch64Subtarget.cpp
index 5dfe74fd1f1a1..e1d9a562d1b7b 100644
--- a/llvm/lib/Target/AArch64/AArch64Subtarget.cpp
+++ b/llvm/lib/Target/AArch64/AArch64Subtarget.cpp
@@ -275,9 +275,8 @@ void AArch64Subtarget::initializeProperties() {
}
}
-AArch64Subtarget::AArch64Subtarget(const Triple &TT, const std::string &CPU,
- const std::string &TuneCPU,
- const std::string &FS,
+AArch64Subtarget::AArch64Subtarget(const Triple &TT, StringRef CPU,
+ StringRef TuneCPU, StringRef FS,
const TargetMachine &TM, bool LittleEndian,
unsigned MinSVEVectorSizeInBitsOverride,
unsigned MaxSVEVectorSizeInBitsOverride,
diff --git a/llvm/lib/Target/AArch64/AArch64Subtarget.h b/llvm/lib/Target/AArch64/AArch64Subtarget.h
index 511100047ee67..f8b1b34ea61de 100644
--- a/llvm/lib/Target/AArch64/AArch64Subtarget.h
+++ b/llvm/lib/Target/AArch64/AArch64Subtarget.h
@@ -157,9 +157,8 @@ class AArch64Subtarget final : public AArch64GenSubtargetInfo {
public:
/// This constructor initializes the data members to match that
/// of the specified triple.
- AArch64Subtarget(const Triple &TT, const std::string &CPU,
- const std::string &TuneCPU, const std::string &FS,
- const TargetMachine &TM, bool LittleEndian,
+ AArch64Subtarget(const Triple &TT, StringRef CPU, StringRef TuneCPU,
+ StringRef FS, const TargetMachine &TM, bool LittleEndian,
unsigned MinSVEVectorSizeInBitsOverride = 0,
unsigned MaxSVEVectorSizeInBitsOverride = 0,
bool StreamingSVEModeDisabled = true);
diff --git a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
index 896b9f9bcdc8d..1dabd558c9df6 100644
--- a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+++ b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
@@ -386,14 +386,9 @@ AArch64TargetMachine::getSubtargetImpl(const Function &F) const {
Attribute TuneAttr = F.getFnAttribute("tune-cpu");
Attribute FSAttr = F.getFnAttribute("target-features");
- std::string CPU =
- CPUAttr.isValid() ? CPUAttr.getValueAsString().str() : TargetCPU;
- std::string TuneCPU =
- TuneAttr.isValid() ? TuneAttr.getValueAsString().str() : CPU;
- std::string FS =
- FSAttr.isValid() ? FSAttr.getValueAsString().str() : TargetFS;
-
- SmallString<512> Key;
+ StringRef CPU = CPUAttr.isValid() ? CPUAttr.getValueAsString() : TargetCPU;
+ StringRef TuneCPU = TuneAttr.isValid() ? TuneAttr.getValueAsString() : CPU;
+ StringRef FS = FSAttr.isValid() ? FSAttr.getValueAsString() : TargetFS;
bool StreamingSVEModeDisabled =
!F.hasFnAttribute("aarch64_pstate_sm_enabled") &&
@@ -429,14 +424,10 @@ AArch64TargetMachine::getSubtargetImpl(const Function &F) const {
(std::max(MinSVEVectorSize, MaxSVEVectorSize) / 128) * 128;
}
- Key += "SVEMin";
- Key += std::to_string(MinSVEVectorSize);
- Key += "SVEMax";
- Key += std::to_string(MaxSVEVectorSize);
- Key += "StreamingSVEModeDisabled=" + std::to_string(StreamingSVEModeDisabled);
- Key += CPU;
- Key += TuneCPU;
- Key += FS;
+ SmallString<512> Key;
+ raw_svector_ostream(Key) << "SVEMin" << MinSVEVectorSize << "SVEMax"
+ << MaxSVEVectorSize << "StreamingSVEModeDisabled="
+ << StreamingSVEModeDisabled << CPU << TuneCPU << FS;
auto &I = SubtargetMap[Key];
if (!I) {
More information about the llvm-commits
mailing list