aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
diff options
context:
space:
mode:
authorJingyue Wu <jingyue@google.com>2015-07-01 03:38:49 +0000
committerJingyue Wu <jingyue@google.com>2015-07-01 03:38:49 +0000
commitcf02ef315fe650f026c3e2cd85c956fad6acd08f (patch)
treef48be3010c1dfffcbfd407ee170b9cc7b8849018 /llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
parentfa31f9f89f32dd24402212277ce3a2537f7de371 (diff)
downloadllvm-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