diff options
| author | David Majnemer <david.majnemer@gmail.com> | 2015-12-27 06:07:26 +0000 |
|---|---|---|
| committer | David Majnemer <david.majnemer@gmail.com> | 2015-12-27 06:07:26 +0000 |
| commit | 334676355ad8149360c7963564233b476f5b760c (patch) | |
| tree | 02aae4f804fbc56ba7871b4d350a64b2d119c7e8 /clang/lib/Driver/Tools.cpp | |
| parent | 081e8fe4c09f97dc9b8ca59f8bd788f74fa28816 (diff) | |
| download | bcm5719-llvm-334676355ad8149360c7963564233b476f5b760c.tar.gz bcm5719-llvm-334676355ad8149360c7963564233b476f5b760c.zip | |
[X86, Win64] Use a frame pointer if pushf is emitted
A frame pointer must be used if stack pointer is modified after the
prologue. LLVM will emit pushf/popf if we need to save/restore the
FLAGS register, requiring us to have a frame pointer for the function.
There is a small twist: this sequence might exist in user code via
inline-assembly. For now, conservatively assume that such functions
require a frame pointer. For real world justification, please see
clang's implementation of __readeflags.
This fixes PR25945.
llvm-svn: 256456
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
0 files changed, 0 insertions, 0 deletions

