[X86] Allow more call sequences to use push instructions for argument passing
authorMichael Kuperstein <michael.m.kuperstein@intel.com>
Mon, 22 Jun 2015 08:31:22 +0000 (08:31 +0000)
committerMichael Kuperstein <michael.m.kuperstein@intel.com>
Mon, 22 Jun 2015 08:31:22 +0000 (08:31 +0000)
commit12219f8c85e242b040ce572fe562620d1e49d570
tree5eebb012d81e05bb3324b4173d0394468b815692
parentc76851042231469bcf2dd97e2ef44d8bd93b45bf
[X86] 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.

Differential Revision: http://reviews.llvm.org/D10500

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240257 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86CallFrameOptimization.cpp
test/CodeGen/X86/movtopush.ll