summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/interpreter/TestCommandInterpreterAPI.py
diff options
context:
space:
mode:
authorEli Friedman <efriedma@codeaurora.org>2018-11-09 22:35:26 +0000
committerEli Friedman <efriedma@codeaurora.org>2018-11-09 22:35:26 +0000
commit15930bf35241354d4c2b92a9c09f1461f96901bc (patch)
tree9a40392683d3a82dc1c74f22b3d377deccce8a3b /lldb/packages/Python/lldbsuite/test/python_api/interpreter/TestCommandInterpreterAPI.py
parentc0e793d6543fc97c328dd3cf1b6f0708f3ec11be (diff)
downloadbcm5719-llvm-15930bf35241354d4c2b92a9c09f1461f96901bc.tar.gz
bcm5719-llvm-15930bf35241354d4c2b92a9c09f1461f96901bc.zip
[JumpThreading] Fix exponential time algorithm computing known values.
ComputeValueKnownInPredecessors has a "visited" set to prevent infinite loops, since a value can be visited more than once. However, the implementation didn't prevent the algorithm from taking exponential time. Instead of removing elements from the RecursionSet one at a time, we should keep around the whole set until ComputeValueKnownInPredecessors finishes, then discard it. The testcase is synthetic because I was having trouble effectively reducing the original. But it's basically the same idea. Instead of failing, we could theoretically cache the result instead. But I don't think it would help substantially in practice. Differential Revision: https://reviews.llvm.org/D54239 llvm-svn: 346562
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/interpreter/TestCommandInterpreterAPI.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud