diff options
author | Jingyue Wu <jingyue@google.com> | 2015-07-01 03:38:49 +0000 |
---|---|---|
committer | Jingyue Wu <jingyue@google.com> | 2015-07-01 03:38:49 +0000 |
commit | cf02ef315fe650f026c3e2cd85c956fad6acd08f (patch) | |
tree | f48be3010c1dfffcbfd407ee170b9cc7b8849018 /llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp | |
parent | fa31f9f89f32dd24402212277ce3a2537f7de371 (diff) | |
download | llvm-cf02ef315fe650f026c3e2cd85c956fad6acd08f.zip llvm-cf02ef315fe650f026c3e2cd85c956fad6acd08f.tar.gz llvm-cf02ef315fe650f026c3e2cd85c956fad6acd08f.tar.bz2 |
[NaryReassociate] enhances nsw by leveraging @llvm.assume
Summary:
nsw are flaky and can often be removed by optimizations. This patch enhances
nsw by leveraging @llvm.assume in the IR. Specifically, NaryReassociate now
understands that
assume(a + b >= 0) && assume(a >= 0) ==> a +nsw b
As a result, it can split more sext(a + b) into sext(a) + sext(b) for CSE.
Test Plan: nary-gep.ll
Reviewers: broune, meheff
Subscribers: jholewinski, llvm-commits
Differential Revision: http://reviews.llvm.org/D10822
llvm-svn: 241139
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp')
0 files changed, 0 insertions, 0 deletions