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/lib/Transforms/Utils/CloneModule.cpp | |
parent | 8c824a07ae9196846fbc34cbb4be2f6cfa48516a (diff) | |
download | llvm-e97fb414e8ec2dd69c0f96d748035569c40b625f.zip llvm-e97fb414e8ec2dd69c0f96d748035569c40b625f.tar.gz llvm-e97fb414e8ec2dd69c0f96d748035569c40b625f.tar.bz2 |
[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/lib/Transforms/Utils/CloneModule.cpp')
0 files changed, 0 insertions, 0 deletions