diff options
author | Chris Lattner <sabre@nondot.org> | 2011-02-10 05:36:31 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2011-02-10 05:36:31 +0000 |
commit | 6b657aed3365d6bf77b0eda4020eeea5661535e7 (patch) | |
tree | 0378c26d05547d7121fbc43a635ac9919bd3079f /llvm/test/Transforms/InstCombine/trunc.ll | |
parent | 98457101fc21f519134d877259a17bf36894bdfe (diff) | |
download | bcm5719-llvm-6b657aed3365d6bf77b0eda4020eeea5661535e7.tar.gz bcm5719-llvm-6b657aed3365d6bf77b0eda4020eeea5661535e7.zip |
Enhance a bunch of transformations in instcombine to start generating
exact/nsw/nuw shifts and have instcombine infer them when it can prove
that the relevant properties are true for a given shift without them.
Also, a variety of refactoring to use the new patternmatch logic thrown
in for good luck. I believe that this takes care of a bunch of related
code quality issues attached to PR8862.
llvm-svn: 125267
Diffstat (limited to 'llvm/test/Transforms/InstCombine/trunc.ll')
-rw-r--r-- | llvm/test/Transforms/InstCombine/trunc.ll | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/Transforms/InstCombine/trunc.ll b/llvm/test/Transforms/InstCombine/trunc.ll index 4d973418cf6..6ec342a4f5c 100644 --- a/llvm/test/Transforms/InstCombine/trunc.ll +++ b/llvm/test/Transforms/InstCombine/trunc.ll @@ -24,7 +24,7 @@ define i64 @test2(i64 %a) { ret i64 %d ; CHECK: @test2 ; CHECK: shl i64 %a, 36 -; CHECK: %d = ashr i64 {{.*}}, 36 +; CHECK: %d = ashr exact i64 {{.*}}, 36 ; CHECK: ret i64 %d } define i64 @test3(i64 %a) { @@ -92,7 +92,7 @@ define i64 @test8(i32 %A, i32 %B) { ; CHECK: @test8 ; CHECK: %tmp38 = zext i32 %A to i64 ; CHECK: %tmp32 = zext i32 %B to i64 -; CHECK: %tmp33 = shl i64 %tmp32, 32 +; CHECK: %tmp33 = shl nuw i64 %tmp32, 32 ; CHECK: %ins35 = or i64 %tmp33, %tmp38 ; CHECK: ret i64 %ins35 } |