HomePhabricator

[X86] Generate .cfi_adjust_cfa_offset correctly when pushing arguments

Description

[X86] Generate .cfi_adjust_cfa_offset correctly when pushing arguments

When push instructions are being used to pass function arguments on
the stack, and either EH or debugging are enabled, we need to generate
.cfi_adjust_cfa_offset directives appropriately. For (synch) EH, it is
enough for the CFA offset to be correct at every call site, while
for debugging we want to be correct after every push.

Darwin does not support this well, so don't use pushes whenever it
would be required.

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

Details

Committed
mkuperNov 3 2015, 12:17 AM
Differential Revision
D13767: [X86] Fix more -Os + EH issues
Parents
rL251903: AVX512: add encoding tests for vmovq/d instructions.
Branches
Unknown
Tags
Unknown