Skip to content

Commit dfb7ee4

Browse files
committed
[Xtensa] Minor fixes.
Fix variable names in XtensaMachineFunctionInfo class. Fix LowerFormalArguments function.
1 parent 467e1d0 commit dfb7ee4

File tree

2 files changed

+22
-15
lines changed

2 files changed

+22
-15
lines changed

llvm/lib/Target/Xtensa/XtensaISelLowering.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -335,8 +335,8 @@ SDValue XtensaTargetLowering::LowerFormalArguments(
335335

336336
// Transform the arguments stored on
337337
// physical registers into virtual ones
338-
unsigned Register = MF.addLiveIn(VA.getLocReg(), &Xtensa::ARRegClass);
339-
SDValue ArgValue = DAG.getCopyFromReg(Chain, DL, Register, RegVT);
338+
Register Reg = MF.addLiveIn(VA.getLocReg(), &Xtensa::ARRegClass);
339+
SDValue ArgValue = DAG.getCopyFromReg(Chain, DL, Reg, RegVT);
340340

341341
// If this is an 8 or 16-bit value, it has been passed promoted
342342
// to 32 bits. Insert an assert[sz]ext to capture this, then
@@ -382,8 +382,8 @@ SDValue XtensaTargetLowering::LowerFormalArguments(
382382
}
383383

384384
if (IsVarArg) {
385-
ArrayRef<MCPhysReg> ArgRegs = ArrayRef(IntRegs);
386-
unsigned Idx = CCInfo.getFirstUnallocated(ArgRegs);
385+
unsigned Idx = CCInfo.getFirstUnallocated(IntRegs);
386+
unsigned ArgRegsNum = std::size(IntRegs);
387387
const TargetRegisterClass *RC = &Xtensa::ARRegClass;
388388
MachineFrameInfo &MFI = MF.getFrameInfo();
389389
MachineRegisterInfo &RegInfo = MF.getRegInfo();
@@ -402,11 +402,11 @@ SDValue XtensaTargetLowering::LowerFormalArguments(
402402

403403
// If all registers are allocated, then all varargs must be passed on the
404404
// stack and we don't need to save any argregs.
405-
if (ArgRegs.size() == Idx) {
405+
if (ArgRegsNum == Idx) {
406406
VaArgOffset = CCInfo.getStackSize();
407407
VarArgsSaveSize = 0;
408408
} else {
409-
VarArgsSaveSize = RegSize * (ArgRegs.size() - Idx);
409+
VarArgsSaveSize = RegSize * (ArgRegsNum - Idx);
410410
VaArgOffset = -VarArgsSaveSize;
411411

412412
// Record the frame index of the first variable argument
@@ -416,9 +416,9 @@ SDValue XtensaTargetLowering::LowerFormalArguments(
416416

417417
// Copy the integer registers that may have been used for passing varargs
418418
// to the vararg save area.
419-
for (unsigned I = Idx; I < ArgRegs.size(); ++I, VaArgOffset += RegSize) {
419+
for (unsigned I = Idx; I < ArgRegsNum; ++I, VaArgOffset += RegSize) {
420420
const Register Reg = RegInfo.createVirtualRegister(RC);
421-
RegInfo.addLiveIn(ArgRegs[I], Reg);
421+
RegInfo.addLiveIn(IntRegs[I], Reg);
422422

423423
SDValue ArgValue = DAG.getCopyFromReg(Chain, DL, Reg, RegTy);
424424
FI = MFI.CreateFixedObject(RegSize, VaArgOffset, true);

llvm/lib/Target/Xtensa/XtensaMachineFunctionInfo.h

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,14 @@ class XtensaMachineFunctionInfo : public MachineFunctionInfo {
2525
/// FrameIndex of the spill slot for the scratch register in BranchRelaxation.
2626
int BranchRelaxationScratchFrameIndex = -1;
2727
unsigned VarArgsFirstGPR;
28-
int VarArgsStackOffset;
29-
unsigned VarArgsFrameIndex;
28+
unsigned VarArgsOnStackFrameIndex;
29+
unsigned VarArgsInRegsFrameIndex;
3030

3131
public:
3232
explicit XtensaMachineFunctionInfo(const Function &F,
3333
const TargetSubtargetInfo *STI)
34-
: VarArgsFirstGPR(0), VarArgsStackOffset(0), VarArgsFrameIndex(0) {}
34+
: VarArgsFirstGPR(0), VarArgsOnStackFrameIndex(0),
35+
VarArgsInRegsFrameIndex(0) {}
3536

3637
int getBranchRelaxationScratchFrameIndex() const {
3738
return BranchRelaxationScratchFrameIndex;
@@ -43,12 +44,18 @@ class XtensaMachineFunctionInfo : public MachineFunctionInfo {
4344
unsigned getVarArgsFirstGPR() const { return VarArgsFirstGPR; }
4445
void setVarArgsFirstGPR(unsigned GPR) { VarArgsFirstGPR = GPR; }
4546

46-
int getVarArgsOnStackFrameIndex() const { return VarArgsStackOffset; }
47-
void setVarArgsOnStackFrameIndex(int Offset) { VarArgsStackOffset = Offset; }
47+
unsigned getVarArgsOnStackFrameIndex() const {
48+
return VarArgsOnStackFrameIndex;
49+
}
50+
void setVarArgsOnStackFrameIndex(unsigned FI) {
51+
VarArgsOnStackFrameIndex = FI;
52+
}
4853

4954
// Get and set the frame index of the first stack vararg.
50-
unsigned getVarArgsInRegsFrameIndex() const { return VarArgsFrameIndex; }
51-
void setVarArgsInRegsFrameIndex(unsigned FI) { VarArgsFrameIndex = FI; }
55+
unsigned getVarArgsInRegsFrameIndex() const {
56+
return VarArgsInRegsFrameIndex;
57+
}
58+
void setVarArgsInRegsFrameIndex(unsigned FI) { VarArgsInRegsFrameIndex = FI; }
5259
};
5360

5461
} // namespace llvm

0 commit comments

Comments
 (0)