summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/support/gmodules.py
diff options
context:
space:
mode:
authorZvi Rackover <zvi.rackover@intel.com>2017-10-24 07:38:29 +0000
committerZvi Rackover <zvi.rackover@intel.com>2017-10-24 07:38:29 +0000
commit3c0d385598c4bf2b77448e4cc2d5965f7a5885e0 (patch)
treeeda8a784af19fa3035f343559e963d7f55cad974 /lldb/packages/Python/lldbsuite/support/gmodules.py
parentd3abd15d8cd9455bc7b1eeb2e6f4b4d0047a0dd6 (diff)
downloadbcm5719-llvm-3c0d385598c4bf2b77448e4cc2d5965f7a5885e0.tar.gz
bcm5719-llvm-3c0d385598c4bf2b77448e4cc2d5965f7a5885e0.zip
X86: Fix X86CallFrameOptimization to search for the COPY StackPointer
SelectionDAG inserts a copy of ESP into a virtual register. X86CallFrameOptimization assumed that the COPY, if present, is always right after the call-frame setup instruction (ADJCALLSTACKDOWN). This was a wrong assumption as the COPY can be located anywhere between the call-frame setup instruction and its first use. If the COPY happened to be located in a different location than what X86CallFrameOptimization assumed, visiting it while processing the call chain would lead to a conservative bail-out. The fix is quite straightfoward, scan ahead for the stack-pointer copy and make note of it so it can be ignored while processing the call chain. Fixes pr34903 Differential Revision: https://reviews.llvm.org/D38730 llvm-svn: 316416
Diffstat (limited to 'lldb/packages/Python/lldbsuite/support/gmodules.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud