Skip to content

Commit 66b04d6

Browse files
committed
fixup! [RISCV] Add CFI information for vector callee-saved registers
1 parent e5ac2db commit 66b04d6

File tree

1 file changed

+12
-14
lines changed

1 file changed

+12
-14
lines changed

llvm/lib/Target/RISCV/RISCVFrameLowering.cpp

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -478,9 +478,9 @@ static MCCFIInstruction createDefCFAExpression(const TargetRegisterInfo &TRI,
478478
else
479479
Comment << printReg(Reg, &TRI);
480480

481-
appendScalableVectorExpression(
482-
Expr, FixedOffset, ScalableOffset,
483-
TRI.getDwarfRegNum(RISCV::VLENB, true), Comment);
481+
appendScalableVectorExpression(Expr, FixedOffset, ScalableOffset,
482+
TRI.getDwarfRegNum(RISCV::VLENB, true),
483+
Comment);
484484

485485
SmallString<64> DefCfaExpr;
486486
uint8_t buffer[16];
@@ -493,8 +493,7 @@ static MCCFIInstruction createDefCFAExpression(const TargetRegisterInfo &TRI,
493493
}
494494

495495
static MCCFIInstruction createDefCFAOffset(const TargetRegisterInfo &TRI,
496-
Register Reg,
497-
uint64_t FixedOffset,
496+
Register Reg, uint64_t FixedOffset,
498497
uint64_t ScalableOffset) {
499498
assert(ScalableOffset != 0 && "Did not need to adjust CFA for RVV");
500499
SmallString<64> Expr;
@@ -503,9 +502,9 @@ static MCCFIInstruction createDefCFAOffset(const TargetRegisterInfo &TRI,
503502
Comment << printReg(Reg, &TRI) << " @ cfa";
504503

505504
// Build up the expression (FixedOffset + ScalableOffset * VLENB).
506-
appendScalableVectorExpression(
507-
Expr, FixedOffset, ScalableOffset,
508-
TRI.getDwarfRegNum(RISCV::VLENB, true), Comment);
505+
appendScalableVectorExpression(Expr, FixedOffset, ScalableOffset,
506+
TRI.getDwarfRegNum(RISCV::VLENB, true),
507+
Comment);
509508

510509
SmallString<64> DefCfaExpr;
511510
uint8_t buffer[16];
@@ -1593,8 +1592,7 @@ void RISCVFrameLowering::emitCalleeSavedRVVPrologCFI(
15931592
return;
15941593

15951594
uint64_t FixedSize = getStackSizeWithRVVPadding(*MF) +
1596-
RVFI->getLibCallStackSize() +
1597-
RVFI->getRVPushStackSize();
1595+
RVFI->getLibCallStackSize() + RVFI->getRVPushStackSize();
15981596
if (!HasFP) {
15991597
uint64_t ScalarLocalVarSize =
16001598
MFI.getStackSize() - RVFI->getCalleeSavedStackSize() -
@@ -1603,13 +1601,13 @@ void RISCVFrameLowering::emitCalleeSavedRVVPrologCFI(
16031601
FixedSize -= ScalarLocalVarSize;
16041602
}
16051603

1606-
for (auto &CS: RVVCSI) {
1604+
for (auto &CS : RVVCSI) {
16071605
// Insert the spill to the stack frame.
16081606
int FI = CS.getFrameIdx();
16091607
if (FI >= 0 && MFI.getStackID(FI) == TargetStackID::ScalableVector) {
1610-
unsigned CFIIndex = MF->addFrameInst(createDefCFAOffset(
1611-
*STI.getRegisterInfo(), CS.getReg(),
1612-
-FixedSize, MFI.getObjectOffset(FI) / 8));
1608+
unsigned CFIIndex = MF->addFrameInst(
1609+
createDefCFAOffset(*STI.getRegisterInfo(), CS.getReg(), -FixedSize,
1610+
MFI.getObjectOffset(FI) / 8));
16131611
BuildMI(MBB, MI, DL, TII.get(TargetOpcode::CFI_INSTRUCTION))
16141612
.addCFIIndex(CFIIndex)
16151613
.setMIFlag(MachineInstr::FrameSetup);

0 commit comments

Comments
 (0)