summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py
diff options
context:
space:
mode:
authorMax Kazantsev <max.kazantsev@azul.com>2017-03-22 04:48:46 +0000
committerMax Kazantsev <max.kazantsev@azul.com>2017-03-22 04:48:46 +0000
commit15e76aa0f8b9790071e5c9709bb20e5e4a1e4f2e (patch)
treea8a1a98d2008da843871e567746b4588ffa124cf /lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py
parent6ba6673dfde0976f31918913507f4f86722fd1ca (diff)
downloadbcm5719-llvm-15e76aa0f8b9790071e5c9709bb20e5e4a1e4f2e.tar.gz
bcm5719-llvm-15e76aa0f8b9790071e5c9709bb20e5e4a1e4f2e.zip
[ScalarEvolution] Predicate implication from operations
This patch allows SCEV predicate analysis to prove implication of some expression predicates from context predicates related to arguments of those expressions. It introduces three new rules: For addition: (A >X && B >= 0) || (B >= 0 && A > X) ===> (A + B) > X. For division: (A > X) && (0 < B <= X + 1) ===> (A / B > 0). (A > X) && (-B <= X < 0) ===> (A / B >= 0). Using these rules, SCEV is able to prove facts like "if X > 1 then X / 2 > 0". They can also be combined with the same context, to prove more complex expressions like "if X > 1 then X/2 + 1 > 1". Diffirential Revision: https://reviews.llvm.org/D30887 Reviewed by: sanjoy llvm-svn: 298481
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud