summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/process/TestProcessAPI.py
diff options
context:
space:
mode:
authorSilviu Baranga <silviu.baranga@arm.com>2015-11-02 14:41:02 +0000
committerSilviu Baranga <silviu.baranga@arm.com>2015-11-02 14:41:02 +0000
commite3c0534b112ecb67bcc6ba7d1a00c30492ed3673 (patch)
treeccca5fe7755aa35b4bcba2345441d8d3910104bb /lldb/packages/Python/lldbsuite/test/python_api/process/TestProcessAPI.py
parent31f8888cd9a5f635196a83447a5c59b4b4d5f9de (diff)
downloadbcm5719-llvm-e3c0534b112ecb67bcc6ba7d1a00c30492ed3673.tar.gz
bcm5719-llvm-e3c0534b112ecb67bcc6ba7d1a00c30492ed3673.zip
[SCEV][LV] Add SCEV Predicates and use them to re-implement stride versioning
Summary: SCEV Predicates represent conditions that typically cannot be derived from static analysis, but can be used to reduce SCEV expressions to forms which are usable for different optimizers. ScalarEvolution now has the rewriteUsingPredicate method which can simplify a SCEV expression using a SCEVPredicateSet. The normal workflow of a pass using SCEVPredicates would be to hold a SCEVPredicateSet and every time assumptions need to be made a new SCEV Predicate would be created and added to the set. Each time after calling getSCEV, the user will call the rewriteUsingPredicate method. We add two types of predicates SCEVPredicateSet - implements a set of predicates SCEVEqualPredicate - tests for equality between two SCEV expressions We use the SCEVEqualPredicate to re-implement stride versioning. Every time we version a stride, we will add a SCEVEqualPredicate to the context. Instead of adding specific stride checks, LoopVectorize now adds a more generic SCEV check. We only need to add support for this in the LoopVectorizer since this is the only pass that will do stride versioning. Reviewers: mzolotukhin, anemet, hfinkel, sanjoy Subscribers: sanjoy, hfinkel, rengolin, jmolloy, llvm-commits Differential Revision: http://reviews.llvm.org/D13595 llvm-svn: 251800
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/process/TestProcessAPI.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud