[llvm] 1de6011 - [ValueTypes] Remove hardcoded 224 from VTEmitter.cpp. NFC
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Wed May 29 08:37:12 PDT 2024
Author: Craig Topper
Date: 2024-05-29T08:36:41-07:00
New Revision: 1de6011c34b185235cd65c2e3fb030015d182968
URL: https://github.com/llvm/llvm-project/commit/1de6011c34b185235cd65c2e3fb030015d182968
DIFF: https://github.com/llvm/llvm-project/commit/1de6011c34b185235cd65c2e3fb030015d182968.diff
LOG: [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.
Added:
Modified:
llvm/include/llvm/CodeGen/ValueTypes.td
llvm/utils/TableGen/VTEmitter.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/CodeGen/ValueTypes.td b/llvm/include/llvm/CodeGen/ValueTypes.td
index 0d8eaf1b2b1dd..a6981b0ffa13c 100644
--- a/llvm/include/llvm/CodeGen/ValueTypes.td
+++ b/llvm/include/llvm/CodeGen/ValueTypes.td
@@ -23,6 +23,9 @@ class ValueType<int size, int value> {
bit isFP = false;
bit isVector = false;
bit isScalable = false;
+ // Indicates this VT should be included in the
+ // [FIRST_VALUETYPE,LAST_VALUETYPE] range.
+ bit isNormalValueType = true;
}
class VTAny<int value> : ValueType<0, value> {
@@ -287,6 +290,7 @@ def aarch64svcount
: ValueType<16, 199>; // AArch64 predicate-as-counter
def spirvbuiltin : ValueType<0, 200>; // SPIR-V's builtin type
+let isNormalValueType = false in {
def token : ValueType<0, 248>; // TokenTy
def MetadataVT : ValueType<0, 249> { // Metadata
let LLVMName = "Metadata";
@@ -316,6 +320,8 @@ def iPTR : ValueType<0, 254>;
// Should only be used in TableGen.
def Any : VTAny<255>;
+} // isNormalValueType = false
+
} // end defset ValueTypes
/// This class is for targets that want to use pointer types in patterns
diff --git a/llvm/utils/TableGen/VTEmitter.cpp b/llvm/utils/TableGen/VTEmitter.cpp
index 9174fe48b62a9..64b54ed134232 100644
--- a/llvm/utils/TableGen/VTEmitter.cpp
+++ b/llvm/utils/TableGen/VTEmitter.cpp
@@ -72,6 +72,7 @@ void VTEmitter::run(raw_ostream &OS) {
bool IsFP = VT->getValueAsBit("isFP");
bool IsVector = VT->getValueAsBit("isVector");
bool IsScalable = VT->getValueAsBit("isScalable");
+ bool IsNormalValueType = VT->getValueAsBit("isNormalValueType");
UpdateVTRange("INTEGER_FIXEDLEN_VECTOR_VALUETYPE", Name,
IsInteger && IsVector && !IsScalable);
@@ -85,7 +86,7 @@ void VTEmitter::run(raw_ostream &OS) {
UpdateVTRange("VECTOR_VALUETYPE", Name, IsVector);
UpdateVTRange("INTEGER_VALUETYPE", Name, IsInteger && !IsVector);
UpdateVTRange("FP_VALUETYPE", Name, IsFP && !IsVector);
- UpdateVTRange("VALUETYPE", Name, Value < 224);
+ UpdateVTRange("VALUETYPE", Name, IsNormalValueType);
// clang-format off
OS << " GET_VT_ATTR("
More information about the llvm-commits
mailing list