summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-12-27 06:07:26 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-12-27 06:07:26 +0000
commit334676355ad8149360c7963564233b476f5b760c (patch)
tree02aae4f804fbc56ba7871b4d350a64b2d119c7e8 /clang/lib/Driver/Tools.cpp
parent081e8fe4c09f97dc9b8ca59f8bd788f74fa28816 (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud