[llvm] AMDGPU: Add SubArchSpelling override to the TargetParser TableGen (PR #218500)
Stanislav Mekhanoshin via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 24 12:56:41 PDT 2026
================
@@ -612,19 +643,29 @@ static void emitAMDGPUSubArchNames(raw_ostream &OS, const RecordKeeper &RK,
continue;
SubArchEntry Entry;
Entry.GPUName = E.Rec->getValueAsString("Name");
- {
- raw_svector_ostream SubArchOS(Entry.Suffix);
- emitSubArchSuffix(SubArchOS, Entry.GPUName);
- }
- // A "gfxN-generic" target maps to the major-family subarch, so it takes the
- // family triple name; a concrete GPU derives it from the ISA version.
SmallString<16> TripleName;
raw_svector_ostream TripleOS(TripleName);
- if (isGenericTarget(E.Rec))
- emitFamilySubArchTripleName(TripleOS, Entry.Suffix);
- else
- emitConcreteSubArchTripleName(TripleOS, E.Rec);
+
+ // An explicit subarch spelling supplies the enumerator suffix and triple
+ // name, rather than the name/ISA version.
+ if (std::optional<StringRef> Spelling = getSubArchSpelling(E.Rec)) {
+ raw_svector_ostream SubArchOS(Entry.Suffix);
+ emitSpellingSuffix(SubArchOS, *Spelling);
+ TripleOS << "amdgpu" << *Spelling;
+ } else {
+ {
----------------
rampitec wrote:
Formatting looks strange.
https://github.com/llvm/llvm-project/pull/218500
More information about the llvm-commits
mailing list