summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/thread/main2.cpp
diff options
context:
space:
mode:
authorBjorn Pettersson <bjorn.a.pettersson@ericsson.com>2019-11-11 18:20:40 +0100
committerBjorn Pettersson <bjorn.a.pettersson@ericsson.com>2019-11-21 18:13:32 +0100
commit898de302919b3caf09b820757c58190cd8621255 (patch)
treed25836c73c05bb23771f7c4adce247e30d84d2de /lldb/packages/Python/lldbsuite/test/python_api/thread/main2.cpp
parentc4afc6566a64e6be3f77271781a147bb5ff98b0c (diff)
downloadbcm5719-llvm-898de302919b3caf09b820757c58190cd8621255.tar.gz
bcm5719-llvm-898de302919b3caf09b820757c58190cd8621255.zip
[BranchFolding] Fix PR43964 about branch folder not being debug invariant
Summary: The fix in BranchFolder related to non debug invariant problems done in commit ec32dff0b075055 actually introduced some new problems with debug invariance. Before that patch ComputeCommonTailLength would move iterators back, past debug instructions, in order to make ProfitableToMerge make consistent answers "when one block differs from the other only by whether debugging pseudos are present at the beginning". But the changes in ec32dff0b075055 undid that by moving the iterators forward again. This patch refactors ComputeCommonTailLength. The function was really complex, considering that the SkipTopCFIAndReturn part always moved the iterators forward to the first "real" instruction in the found tail after ec32dff0b075055. The patch also restores the logic to "back past possible debugging pseudos at beginning of block" to make sure ProfitableToMerge gives consistent answers independent of DBG_VALUE instructions before the tail. That is now done by ProfitableToMerge instead of being hidden as a side-effect in ComputeCommonTailLength. Reviewers: probinson, yechunliang, jmorse Reviewed By: jmorse Subscribers: Orlando, mehdi_amini, dexonsmith, aprantl, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70091
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/thread/main2.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud