[X86] Reapply r240257 : "Allow more call sequences to use push instructions for argum...
authorMichael Kuperstein <michael.m.kuperstein@intel.com>
Thu, 16 Jul 2015 13:54:14 +0000 (13:54 +0000)
committerMichael Kuperstein <michael.m.kuperstein@intel.com>
Thu, 16 Jul 2015 13:54:14 +0000 (13:54 +0000)
commitdadb847412b7ee16c0b57d1d5d1c69f37d58f406
treee3f8dff8b0b619f7d344178ea821c75285e05673
parent07695bd3ae4c1ebdac21caee6293426159e75fd0
[X86] Reapply r240257 : "Allow more call sequences to use push instructions for argument passing"

This allows more call sequences to use pushes instead of movs when optimizing for size.
In particular, calling conventions that pass some parameters in registers (e.g. thiscall) are now supported.

This should no longer cause miscompiles, now that a bug in emitPrologue was fixed in r242395.

llvm-svn: 242398
llvm/lib/Target/X86/X86CallFrameOptimization.cpp
llvm/test/CodeGen/X86/movtopush.ll