Revert "[SystemZ][z/OS] Correct value of length/4 of params field in PPA1."
authorNeumann Hon <neumann.hon@ibm.com>
Wed, 14 Jun 2023 17:34:16 +0000 (13:34 -0400)
committerNeumann Hon <neumann.hon@ibm.com>
Wed, 14 Jun 2023 17:34:16 +0000 (13:34 -0400)
This reverts commit e0f7b0e0f704dc3759925602e474b9e669270fcb.

llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
llvm/lib/Target/SystemZ/SystemZMachineFunctionInfo.h
llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll

index b24eade..2bfde51 100644 (file)
@@ -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);
 
index c50e939..643b529 100644 (file)
@@ -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;
index 7a0802a..3331959 100644 (file)
@@ -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;
@@ -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.
index 6b8c3bf..13224c0 100644 (file)
@@ -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
@@ -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
@@ -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,