From: Chris Lattner Date: Mon, 16 Dec 2002 22:29:06 +0000 (+0000) Subject: Make sure stack manipulation refers to ESP the right number of times X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4863fe14dedc7346ef916e43c5644b655aee540f;p=oota-llvm.git Make sure stack manipulation refers to ESP the right number of times git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5086 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/InstSelectSimple.cpp b/lib/Target/X86/InstSelectSimple.cpp index dd93142f64f..e35867df009 100644 --- a/lib/Target/X86/InstSelectSimple.cpp +++ b/lib/Target/X86/InstSelectSimple.cpp @@ -1092,7 +1092,8 @@ ISel::visitAllocaInst (AllocaInst &I) unsigned int allocatedTypeWords = allocatedTypeSize / 4; if (allocatedTypeSize % 4 != 0) { allocatedTypeWords++; } // Subtract size from stack pointer, thereby allocating some space. - BuildMI (BB, X86::SUBri32, 1, X86::ESP).addZImm (allocatedTypeWords * 4); + BuildMI(BB, X86::SUBri32, 2, + X86::ESP).addReg(X86::ESP).addZImm(allocatedTypeWords * 4); // Put a pointer to the space into the result register, by copying // the stack pointer. BuildMI (BB, X86::MOVrr32, 1, getReg (I)).addReg (X86::ESP); diff --git a/lib/Target/X86/X86ISelSimple.cpp b/lib/Target/X86/X86ISelSimple.cpp index dd93142f64f..e35867df009 100644 --- a/lib/Target/X86/X86ISelSimple.cpp +++ b/lib/Target/X86/X86ISelSimple.cpp @@ -1092,7 +1092,8 @@ ISel::visitAllocaInst (AllocaInst &I) unsigned int allocatedTypeWords = allocatedTypeSize / 4; if (allocatedTypeSize % 4 != 0) { allocatedTypeWords++; } // Subtract size from stack pointer, thereby allocating some space. - BuildMI (BB, X86::SUBri32, 1, X86::ESP).addZImm (allocatedTypeWords * 4); + BuildMI(BB, X86::SUBri32, 2, + X86::ESP).addReg(X86::ESP).addZImm(allocatedTypeWords * 4); // Put a pointer to the space into the result register, by copying // the stack pointer. BuildMI (BB, X86::MOVrr32, 1, getReg (I)).addReg (X86::ESP);