[X86] Disable X86CallFrameOptimization on Darwin in presence of EH
authorFrederic Riss <friss@apple.com>
Thu, 8 Oct 2015 15:45:08 +0000 (15:45 +0000)
committerFrederic Riss <friss@apple.com>
Thu, 8 Oct 2015 15:45:08 +0000 (15:45 +0000)
commit4ecddf803a77c7027dde71d1d904c9e9d0f9e949
treec6c5033f1c38faa074be1e4baf6023aa1f5173a5
parent9fc5fac691a77f9bb329c40893a637a954d379ec
[X86] Disable X86CallFrameOptimization on Darwin in presence of EH

We emit 1 compact unwind encoding per function, and this can’t represent
the varying stack pointer that will be generated by X86CallFrameOptimization.
Disable the optimization on Darwin.

(It might be possible to split the function into multiple ranges
and emit 1 compact unwind info per range. The compact unwind emission
code isn’t ready for that and this kind of info certainly isn’t
tested/used anywhere. It might be worth exploring this path if we want
to get the space savings at some point though)

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