Skip to content

Commit 8b445ab

Browse files
authored
[CodeGen] Fix performance regression introduced in b05101b
The isNormalValueType = false flag was not set for this pseudo value type, which caused significant size increases for some classes: the size of the TargetLoweringBase class to 1.5 MB, because the size of that class is quadratic in MVT::VALUETYPE_SIZE, and this commit increased that from 256 to 504. Reported by: abadams Fixes: b05101b ("[TableGen, CodeGen, CHERI] Add support for the cPTR wildcard value type.") Reviewed By: nikic Pull Request: #161313
1 parent ebcf025 commit 8b445ab

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

llvm/include/llvm/CodeGen/ValueTypes.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,11 +367,11 @@ def aarch64mfp8 : ValueType<8, 253>; // 8-bit value in FPR (AArch64)
367367
def c64 : VTCheriCapability<64, 254>; // 64-bit CHERI capability value
368368
def c128 : VTCheriCapability<128, 255>; // 128-bit CHERI capability value
369369

370+
let isNormalValueType = false in {
370371
// Pseudo valuetype mapped to the current CHERI capability pointer size.
371372
// Should only be used in TableGen.
372373
def cPTR : VTAny<503>;
373374

374-
let isNormalValueType = false in {
375375
def token : ValueType<0, 504>; // TokenTy
376376
def MetadataVT : ValueType<0, 505> { // Metadata
377377
let LLVMName = "Metadata";

0 commit comments

Comments
 (0)