[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.

llvm-svn: 214517

llvm/lib/Target/PowerPC/PPCISelLowering.cpp

index 9673533..9ba2f91 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);