Skip to content

Commit 2ee7ba4

Browse files
authored
[RISCV] Move Size and CopyCost overrides for vector register to the VReg class. NFC (#131222)
Instead using the IsVRegClass to calculate in the base class, just override directly. This will scale better if we need to do different types of overrides for other register types in the future.
1 parent cbbcc3d commit 2ee7ba4

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

llvm/lib/Target/RISCV/RISCVRegisterInfo.td

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -225,9 +225,6 @@ class RISCVRegisterClass<list<ValueType> regTypes, int align, dag regList>
225225
int VLMul = 1;
226226
int NF = 1;
227227

228-
let Size = !if(IsVRegClass, !mul(VLMul, NF, 64), 0);
229-
let CopyCost = !if(IsVRegClass, !mul(VLMul, NF), 1);
230-
231228
let TSFlags{0} = IsVRegClass;
232229
let TSFlags{2-1} = !logtwo(VLMul);
233230
let TSFlags{5-3} = !sub(NF, 1);
@@ -719,6 +716,9 @@ class VReg<list<ValueType> regTypes, dag regList, int Vlmul>
719716
regList> {
720717
let IsVRegClass = 1;
721718
let VLMul = Vlmul;
719+
720+
let Size = !mul(VLMul, NF, 64);
721+
let CopyCost = !mul(VLMul, NF);
722722
}
723723

724724
defvar VMaskVTs = [vbool1_t, vbool2_t, vbool4_t, vbool8_t, vbool16_t,

0 commit comments

Comments
 (0)