diff options
author | Hans Wennborg <hans@hanshq.net> | 2016-03-31 19:26:24 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2016-03-31 19:26:24 +0000 |
commit | e97fb414e8ec2dd69c0f96d748035569c40b625f (patch) | |
tree | 558e3d30062b95f4965308510a4d6f5dfc42f52d /llvm/test/CodeGen/X86/2006-05-02-InstrSched1.ll | |
parent | 8c824a07ae9196846fbc34cbb4be2f6cfa48516a (diff) | |
download | bcm5719-llvm-e97fb414e8ec2dd69c0f96d748035569c40b625f.tar.gz bcm5719-llvm-e97fb414e8ec2dd69c0f96d748035569c40b625f.zip |
[X86] Merge adjacent stack adjustments in eliminateCallFramePseudoInstr (PR27140)
For code such as:
void f(int, int);
void g() {
f(1, 2);
}
compiled for 32-bit X86 Linux, Clang would previously generate:
subl $12, %esp
subl $8, %esp
pushl $2
pushl $1
calll f
addl $16, %esp
addl $12, %esp
retl
This patch fixes that by merging adjacent stack adjustments in
eliminateCallFramePseudoInstr().
Differential Revision: http://reviews.llvm.org/D18627
llvm-svn: 265039
Diffstat (limited to 'llvm/test/CodeGen/X86/2006-05-02-InstrSched1.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/2006-05-02-InstrSched1.ll | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/X86/2006-05-02-InstrSched1.ll b/llvm/test/CodeGen/X86/2006-05-02-InstrSched1.ll index eae0ec21c09..acd32e49e60 100644 --- a/llvm/test/CodeGen/X86/2006-05-02-InstrSched1.ll +++ b/llvm/test/CodeGen/X86/2006-05-02-InstrSched1.ll @@ -1,6 +1,6 @@ ; REQUIRES: asserts ; RUN: llc < %s -mtriple=i686-unknown-linux -relocation-model=static -stats 2>&1 | \ -; RUN: grep asm-printer | grep 15 +; RUN: grep asm-printer | grep 14 ; ; It's possible to schedule this in 14 instructions by avoiding ; callee-save registers, but the scheduler isn't currently that |