Skip to content

Commit 1de6011

Browse files
committed
[ValueTypes] Remove hardcoded 224 from VTEmitter.cpp. NFC
Add a new bit to ValueTypes.td to indicate whether a type should be part of the [FIRST_VALUETYPE,LAST_VALUETYPE] range or not. This was reviewed as part of #93654.
1 parent fe82a3d commit 1de6011

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

llvm/include/llvm/CodeGen/ValueTypes.td

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ class ValueType<int size, int value> {
2323
bit isFP = false;
2424
bit isVector = false;
2525
bit isScalable = false;
26+
// Indicates this VT should be included in the
27+
// [FIRST_VALUETYPE,LAST_VALUETYPE] range.
28+
bit isNormalValueType = true;
2629
}
2730

2831
class VTAny<int value> : ValueType<0, value> {
@@ -287,6 +290,7 @@ def aarch64svcount
287290
: ValueType<16, 199>; // AArch64 predicate-as-counter
288291
def spirvbuiltin : ValueType<0, 200>; // SPIR-V's builtin type
289292

293+
let isNormalValueType = false in {
290294
def token : ValueType<0, 248>; // TokenTy
291295
def MetadataVT : ValueType<0, 249> { // Metadata
292296
let LLVMName = "Metadata";
@@ -316,6 +320,8 @@ def iPTR : ValueType<0, 254>;
316320
// Should only be used in TableGen.
317321
def Any : VTAny<255>;
318322

323+
} // isNormalValueType = false
324+
319325
} // end defset ValueTypes
320326

321327
/// This class is for targets that want to use pointer types in patterns

llvm/utils/TableGen/VTEmitter.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ void VTEmitter::run(raw_ostream &OS) {
7272
bool IsFP = VT->getValueAsBit("isFP");
7373
bool IsVector = VT->getValueAsBit("isVector");
7474
bool IsScalable = VT->getValueAsBit("isScalable");
75+
bool IsNormalValueType = VT->getValueAsBit("isNormalValueType");
7576

7677
UpdateVTRange("INTEGER_FIXEDLEN_VECTOR_VALUETYPE", Name,
7778
IsInteger && IsVector && !IsScalable);
@@ -85,7 +86,7 @@ void VTEmitter::run(raw_ostream &OS) {
8586
UpdateVTRange("VECTOR_VALUETYPE", Name, IsVector);
8687
UpdateVTRange("INTEGER_VALUETYPE", Name, IsInteger && !IsVector);
8788
UpdateVTRange("FP_VALUETYPE", Name, IsFP && !IsVector);
88-
UpdateVTRange("VALUETYPE", Name, Value < 224);
89+
UpdateVTRange("VALUETYPE", Name, IsNormalValueType);
8990

9091
// clang-format off
9192
OS << " GET_VT_ATTR("

0 commit comments

Comments
 (0)