summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite
diff options
context:
space:
mode:
authorSerguei Katkov <serguei.katkov@azul.com>2018-03-13 06:10:27 +0000
committerSerguei Katkov <serguei.katkov@azul.com>2018-03-13 06:10:27 +0000
commitb05574c0d39fd5871a1a762c343b832f42e54fdd (patch)
treec0a258c1e075c908cb80cba661ce1753a202b6ca /lldb/packages/Python/lldbsuite
parentdaec0aa71f243b8ef5a5d3137ae0197ec3e9f419 (diff)
downloadbcm5719-llvm-b05574c0d39fd5871a1a762c343b832f42e54fdd.tar.gz
bcm5719-llvm-b05574c0d39fd5871a1a762c343b832f42e54fdd.zip
[SCEV] Fix isKnownPredicate
IsKnownPredicate is updated to implement the following algorithm proposed by @sanjoy and @mkazantsev : isKnownPredicate(Pred, LHS, RHS) { Collect set S all loops on which either LHS or RHS depend. If S is non-empty a. Let PD be the element of S which is dominated by all other elements of S b. Let E(LHS) be value of LHS on entry of PD. To get E(LHS), we should just take LHS and replace all AddRecs that are attached to PD on with their entry values. Define E(RHS) in the same way. c. Let B(LHS) be value of L on backedge of PD. To get B(LHS), we should just take LHS and replace all AddRecs that are attached to PD on with their backedge values. Define B(RHS) in the same way. d. Note that E(LHS) and E(RHS) are automatically available on entry of PD, so we can assert on that. e. Return true if isLoopEntryGuardedByCond(Pred, E(LHS), E(RHS)) && isLoopBackedgeGuardedByCond(Pred, B(LHS), B(RHS)) Return true if Pred, L, R is known from ranges, splitting etc. } This is follow-up for https://reviews.llvm.org/D42417. Reviewers: sanjoy, mkazantsev, reames Reviewed By: sanjoy, mkazantsev Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D43507 llvm-svn: 327362
Diffstat (limited to 'lldb/packages/Python/lldbsuite')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud