Skip to content

Commit c6bc5a8

Browse files
[AIE2P] Force to create individual sub-copy when splitting live ranges
1 parent 02e9180 commit c6bc5a8

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

llvm/lib/Target/AIE/aie2p/AIE2PRegisterInfo.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,16 @@ AIE2PRegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const {
5252
return CSR_AIE2P_SaveList;
5353
}
5454

55+
const TargetRegisterClass *
56+
AIE2PRegisterInfo::getSubClassWithSubReg(const TargetRegisterClass *RC,
57+
unsigned Idx) const {
58+
if (Idx == AIE2P::sub_lo_dim) {
59+
return nullptr;
60+
}
61+
// Forward to TableGen's default version.
62+
return AIE2PGenRegisterInfo::getSubClassWithSubReg(RC, Idx);
63+
}
64+
5565
BitVector AIE2PRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
5666
const TargetFrameLowering *TFI = getFrameLowering(MF);
5767
BitVector Reserved(getNumRegs());

llvm/lib/Target/AIE/aie2p/AIE2PRegisterInfo.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ struct AIE2PRegisterInfo : public AIE2PGenRegisterInfo {
4848
const TargetRegisterClass *getPointerRegClass(const MachineFunction &MF,
4949
unsigned Kind) const override;
5050

51+
const TargetRegisterClass *
52+
getSubClassWithSubReg(const TargetRegisterClass *RC,
53+
unsigned Idx) const override;
54+
5155
bool requiresRegisterScavenging(const MachineFunction &MF) const override {
5256
return true;
5357
}

0 commit comments

Comments
 (0)