[PowerPC] PR20280 - Slots for byval parameters are not immutable
authorUlrich Weigand <ulrich.weigand@de.ibm.com>
Fri, 1 Aug 2014 14:35:58 +0000 (14:35 +0000)
committerUlrich Weigand <ulrich.weigand@de.ibm.com>
Fri, 1 Aug 2014 14:35:58 +0000 (14:35 +0000)
Found by inspection while looking at PR20280: code would mark slots
in the parameter save area where a byval parameter is passed as
"immutable".  This is not correct since code is allowed to modify
byval parameters in place in the parameter save area.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214517 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCISelLowering.cpp

index 96735338275d728a3265f286a5932568e6654317..9ba2f9194a4c36a9307679aec69e4b4f653b2a4b 100644 (file)
@@ -2688,7 +2688,7 @@ PPCTargetLowering::LowerFormalArguments_64SVR4(
       int FI;
       if (HasParameterArea ||
           ArgSize + ArgOffset > LinkageSize + Num_GPR_Regs * PtrByteSize)
-        FI = MFI->CreateFixedObject(ArgSize, ArgOffset, true);
+        FI = MFI->CreateFixedObject(ArgSize, ArgOffset, false);
       else
         FI = MFI->CreateStackObject(ArgSize, Align, false);
       SDValue FIN = DAG.getFrameIndex(FI, PtrVT);