From a243db8c41bd8ace6e002c9e1fdcdc7256ebf677 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 11 Jan 2006 19:55:07 +0000 Subject: [PATCH] Fix calls that need to store values in stack slots, to not copy the stack pointer. This allows us to emit stuff like this: li r10, 0 stw r10, 56(r1) or r3, r10, r10 or r4, r10, r10 or r5, r10, r10 or r6, r10, r10 or r7, r10, r10 or r8, r10, r10 or r9, r10, r10 bl L_bar$stub instead of this: or r2, r1, r1 ;; Extraneous copy. li r10, 0 stw r10, 56(r2) or r3, r10, r10 or r4, r10, r10 or r5, r10, r10 or r6, r10, r10 or r7, r10, r10 or r8, r10, r10 or r9, r10, r10 bl L_bar$stub wowness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25221 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/PPCISelLowering.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/Target/PowerPC/PPCISelLowering.cpp b/lib/Target/PowerPC/PPCISelLowering.cpp index 976f80fafa9..9674432deef 100644 --- a/lib/Target/PowerPC/PPCISelLowering.cpp +++ b/lib/Target/PowerPC/PPCISelLowering.cpp @@ -657,8 +657,7 @@ PPCTargetLowering::LowerCallTo(SDOperand Chain, // Set up a copy of the stack pointer for use loading and storing any // arguments that may not fit in the registers available for argument // passing. - SDOperand StackPtr = DAG.getCopyFromReg(DAG.getEntryNode(), - PPC::R1, MVT::i32); + SDOperand StackPtr = DAG.getRegister(PPC::R1, MVT::i32); // Figure out which arguments are going to go in registers, and which in // memory. Also, if this is a vararg function, floating point operations