diff options
| author | James Molloy <james.molloy@arm.com> | 2015-11-12 12:39:41 +0000 |
|---|---|---|
| committer | James Molloy <james.molloy@arm.com> | 2015-11-12 12:39:41 +0000 |
| commit | 2d09c00b918c29cf3e581459eed1946987357722 (patch) | |
| tree | 3b2758d2a2bd71eaef0311088e07f3ae282c2967 /llvm/test/Transforms | |
| parent | 90111f79f9f34e0ba488c1453e2e3b57db2553e7 (diff) | |
| download | bcm5719-llvm-2d09c00b918c29cf3e581459eed1946987357722.tar.gz bcm5719-llvm-2d09c00b918c29cf3e581459eed1946987357722.zip | |
[InstCombine] Add trivial folding (bitreverse (bitreverse x)) -> x
There are plenty more instcombines we could probably do with bitreverse, but this seems like a very obvious and trivial starting point and was brought up by Hal in his review.
llvm-svn: 252879
Diffstat (limited to 'llvm/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/InstCombine/bitreverse-fold.ll | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/bitreverse-fold.ll b/llvm/test/Transforms/InstCombine/bitreverse-fold.ll new file mode 100644 index 00000000000..ad7fc3a7464 --- /dev/null +++ b/llvm/test/Transforms/InstCombine/bitreverse-fold.ll @@ -0,0 +1,11 @@ +; RUN: opt < %s -instcombine -S | FileCheck %s + +define i32 @test1(i32 %p) { +; CHECK-LABEL: @test1 +; CHECK-NEXT: ret i32 %p + %a = call i32 @llvm.bitreverse.i32(i32 %p) + %b = call i32 @llvm.bitreverse.i32(i32 %a) + ret i32 %b +} + +declare i32 @llvm.bitreverse.i32(i32) readnone |

