[llvm] 2c95b8d - AMDGPU: Clean up print handling of AMDGPUTargetID (#184643)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 4 09:52:29 PST 2026
Author: Matt Arsenault
Date: 2026-03-04T18:52:22+01:00
New Revision: 2c95b8d5185b064780515bf3d7c89486ee086056
URL: https://github.com/llvm/llvm-project/commit/2c95b8d5185b064780515bf3d7c89486ee086056
DIFF: https://github.com/llvm/llvm-project/commit/2c95b8d5185b064780515bf3d7c89486ee086056.diff
LOG: AMDGPU: Clean up print handling of AMDGPUTargetID (#184643)
Provide print to raw_ostream method and use it where applicable.
Added:
Modified:
llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Removed:
################################################################################
diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
index 445f306bab40a..fae61302ebd90 100644
--- a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
+++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
@@ -247,7 +247,7 @@ void AMDGPUTargetAsmStreamer::finish() {
}
void AMDGPUTargetAsmStreamer::EmitDirectiveAMDGCNTarget() {
- OS << "\t.amdgcn_target \"" << getTargetID()->toString() << "\"\n";
+ OS << "\t.amdgcn_target \"" << *getTargetID() << "\"\n";
}
void AMDGPUTargetAsmStreamer::EmitDirectiveAMDHSACodeObjectVersion(
@@ -327,7 +327,7 @@ void AMDGPUTargetAsmStreamer::EmitMCResourceMaximums(
}
bool AMDGPUTargetAsmStreamer::EmitISAVersion() {
- OS << "\t.amd_amdgpu_isa \"" << getTargetID()->toString() << "\"\n";
+ OS << "\t.amd_amdgpu_isa \"" << getTargetID() << "\"\n";
return true;
}
@@ -930,7 +930,12 @@ bool AMDGPUTargetELFStreamer::EmitISAVersion() {
EmitNote(ElfNote::NoteNameV2, DescSZ, ELF::NT_AMD_HSA_ISA_NAME,
[&](MCELFStreamer &OS) {
OS.emitLabel(DescBegin);
- OS.emitBytes(getTargetID()->toString());
+
+ SmallString<32> Str;
+ raw_svector_ostream StrOS(Str);
+ StrOS << *getTargetID();
+
+ OS.emitBytes(StrOS.str());
OS.emitLabel(DescEnd);
});
return true;
diff --git a/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp b/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
index d862805a60027..32cfcb283def8 100644
--- a/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+++ b/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
@@ -1131,10 +1131,7 @@ void AMDGPUTargetID::setTargetIDFromTargetIDStream(StringRef TargetID) {
}
}
-std::string AMDGPUTargetID::toString() const {
- std::string StringRep;
- raw_string_ostream StreamRep(StringRep);
-
+void AMDGPUTargetID::print(raw_ostream &StreamRep) const {
const Triple &TargetTriple = STI.getTargetTriple();
auto Version = getIsaVersion(STI.getCPU());
@@ -1168,8 +1165,13 @@ std::string AMDGPUTargetID::toString() const {
}
StreamRep << Processor << Features;
+}
- return StringRep;
+std::string AMDGPUTargetID::toString() const {
+ std::string Str;
+ raw_string_ostream OS(Str);
+ OS << *this;
+ return Str;
}
unsigned getWavefrontSize(const MCSubtargetInfo *STI) {
diff --git a/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h b/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
index 1a382de54d20e..b3d20777ccfcf 100644
--- a/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
+++ b/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
@@ -217,10 +217,19 @@ class AMDGPUTargetID {
void setTargetIDFromFeaturesString(StringRef FS);
void setTargetIDFromTargetIDStream(StringRef TargetID);
+ /// Write string representation to \p OS
+ void print(raw_ostream &OS) const;
+
/// \returns String representation of an object.
std::string toString() const;
};
+inline raw_ostream &operator<<(raw_ostream &OS,
+ const AMDGPUTargetID &TargetID) {
+ TargetID.print(OS);
+ return OS;
+}
+
/// \returns Wavefront size for given subtarget \p STI.
unsigned getWavefrontSize(const MCSubtargetInfo *STI);
More information about the llvm-commits
mailing list