[PATCH] D148194: [TableGen] Reduce the amount of storage space used for AddrSpaces in TypeSetByHwMode. NFC
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 18 15:34:41 PDT 2023
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG83507644ed1c: [TableGen] Reduce the amount of storage space used for AddrSpaces in… (authored by craig.topper).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D148194/new/
https://reviews.llvm.org/D148194
Files:
llvm/utils/TableGen/CodeGenDAGPatterns.cpp
llvm/utils/TableGen/CodeGenDAGPatterns.h
Index: llvm/utils/TableGen/CodeGenDAGPatterns.h
===================================================================
--- llvm/utils/TableGen/CodeGenDAGPatterns.h
+++ llvm/utils/TableGen/CodeGenDAGPatterns.h
@@ -193,7 +193,7 @@
struct TypeSetByHwMode : public InfoByHwMode<MachineValueTypeSet> {
using SetType = MachineValueTypeSet;
- SmallVector<unsigned, 16> AddrSpaces;
+ unsigned AddrSpace = std::numeric_limits<unsigned>::max();
TypeSetByHwMode() = default;
TypeSetByHwMode(const TypeSetByHwMode &VTS) = default;
Index: llvm/utils/TableGen/CodeGenDAGPatterns.cpp
===================================================================
--- llvm/utils/TableGen/CodeGenDAGPatterns.cpp
+++ llvm/utils/TableGen/CodeGenDAGPatterns.cpp
@@ -83,10 +83,12 @@
// inference will apply to each mode separately.
TypeSetByHwMode::TypeSetByHwMode(ArrayRef<ValueTypeByHwMode> VTList) {
- for (const ValueTypeByHwMode &VVT : VTList) {
+ // Take the address space from the first type in the list.
+ if (!VTList.empty())
+ AddrSpace = VTList[0].PtrAddrSpace;
+
+ for (const ValueTypeByHwMode &VVT : VTList)
insert(VVT);
- AddrSpaces.push_back(VVT.PtrAddrSpace);
- }
}
bool TypeSetByHwMode::isValueTypeByHwMode(bool AllowEmpty) const {
@@ -103,13 +105,11 @@
assert(isValueTypeByHwMode(true) &&
"The type set has multiple types for at least one HW mode");
ValueTypeByHwMode VVT;
- auto ASI = AddrSpaces.begin();
+ VVT.PtrAddrSpace = AddrSpace;
for (const auto &I : *this) {
MVT T = I.second.empty() ? MVT::Other : *I.second.begin();
VVT.getOrCreateTypeForMode(I.first, T);
- if (ASI != AddrSpaces.end())
- VVT.PtrAddrSpace = *ASI++;
}
return VVT;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D148194.514765.patch
Type: text/x-patch
Size: 1714 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230418/0edcbbdf/attachment.bin>
More information about the llvm-commits
mailing list