Skip to content

Commit

Permalink
Revert "[SystemZ][z/OS] Correct value of length/4 of params field in …
Browse files Browse the repository at this point in the history
…PPA1."

This reverts commit e0f7b0e.
  • Loading branch information
Everybody0523 committed Jun 14, 2023
1 parent 2cbc265 commit 049324a
Show file tree
Hide file tree
Showing 4 changed files with 3 additions and 22 deletions.
2 changes: 1 addition & 1 deletion llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
Expand Up @@ -1058,7 +1058,7 @@ void SystemZAsmPrinter::emitPPA1(MCSymbol *FnEndSym) {

OutStreamer->AddComment("Length/4 of Parms");
OutStreamer->emitInt16(
static_cast<uint16_t>(ZFI->getSizeOfFnParams() / 4)); // Parms/4.
static_cast<uint16_t>(MFFrame.getMaxCallFrameSize() / 4)); // Parms/4.
OutStreamer->AddComment("Length of Code");
OutStreamer->emitAbsoluteSymbolDiff(FnEndSym, CurrentFnEPMarkerSym, 4);

Expand Down
1 change: 0 additions & 1 deletion llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Expand Up @@ -1505,7 +1505,6 @@ SDValue SystemZTargetLowering::LowerFormalArguments(
SmallVector<CCValAssign, 16> ArgLocs;
SystemZCCState CCInfo(CallConv, IsVarArg, MF, ArgLocs, *DAG.getContext());
CCInfo.AnalyzeFormalArguments(Ins, CC_SystemZ);
FuncInfo->setSizeOfFnParams(CCInfo.getStackSize());

unsigned NumFixedGPRs = 0;
unsigned NumFixedFPRs = 0;
Expand Down
13 changes: 2 additions & 11 deletions llvm/lib/Target/SystemZ/SystemZMachineFunctionInfo.h
Expand Up @@ -27,9 +27,6 @@ struct GPRRegs {
class SystemZMachineFunctionInfo : public MachineFunctionInfo {
virtual void anchor();

/// Size of expected parameter area for current function. (Fixed args only).
unsigned SizeOfFnParams;

SystemZ::GPRRegs SpillGPRRegs;
SystemZ::GPRRegs RestoreGPRRegs;
Register VarArgsFirstGPR;
Expand All @@ -41,20 +38,14 @@ class SystemZMachineFunctionInfo : public MachineFunctionInfo {

public:
SystemZMachineFunctionInfo(const Function &F, const TargetSubtargetInfo *STI)
: SizeOfFnParams(0), VarArgsFirstGPR(0), VarArgsFirstFPR(0),
VarArgsFrameIndex(0), RegSaveFrameIndex(0), FramePointerSaveIndex(0),
NumLocalDynamics(0) {}
: VarArgsFirstGPR(0), VarArgsFirstFPR(0), VarArgsFrameIndex(0),
RegSaveFrameIndex(0), FramePointerSaveIndex(0), NumLocalDynamics(0) {}

MachineFunctionInfo *
clone(BumpPtrAllocator &Allocator, MachineFunction &DestMF,
const DenseMap<MachineBasicBlock *, MachineBasicBlock *> &Src2DstMBB)
const override;

// z/OS: Get and set the size of the expected parameter area for the
// current function. (ie. Size of param area in caller).
unsigned getSizeOfFnParams() const { return SizeOfFnParams; }
void setSizeOfFnParams(unsigned Size) { SizeOfFnParams = Size; }

// Get and set the first and last call-saved GPR that should be saved by
// this function and the SP offset for the STMG. These are 0 if no GPRs
// need to be saved or restored.
Expand Down
9 changes: 0 additions & 9 deletions llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
Expand Up @@ -14,9 +14,6 @@
; CHECK64: lg 7, 2072(4)
; CHECK64: aghi 4, 192
; CHECK64: b 2(7)

; CHECK64: @@PPA1_func0_0:
; CHECK64: .short 0 * Length/4 of Parms
define void @func0() {
call i64 (i64) @fun(i64 10)
ret void
Expand All @@ -30,9 +27,6 @@ define void @func0() {
; CHECK64: lmg 7, 15, 2072(4)
; CHECK64: aghi 4, 160
; CHECK64: b 2(7)

; CHECK64: @@PPA1_func1_0:
; CHECK64: .short 2 * Length/4 of Parms
define void @func1(ptr %ptr) {
%l01 = load volatile i64, ptr %ptr
%l02 = load volatile i64, ptr %ptr
Expand Down Expand Up @@ -344,9 +338,6 @@ define void @large_stack0() {
; CHECK64: @BB7_2:
; CHECK64: stmg 6, 7, 2064(4)
; CHECK64: lgr 3, 0

; CHECK64: @@PPA1_large_stack1_0:
; CHECK64: .short 6 * Length/4 of Parms
define void @large_stack1(i64 %n1, i64 %n2, i64 %n3) {
%arr = alloca [131072 x i64], align 8
call i64 (ptr, i64, i64, i64) @fun3(ptr %arr,
Expand Down

0 comments on commit 049324a

Please sign in to comment.