Skip to content

Commit 45610ce

Browse files
committed
[RISCV] Move Size and CopyCost overrides for vector register to the VReg class. NFC
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 37d99e9 commit 45610ce

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{3-1} = !logtwo(VLMul);
233230
let TSFlags{6-4} = !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)