diff options
| author | Brian Gesiak <modocache@gmail.com> | 2017-03-19 04:40:42 +0000 | 
|---|---|---|
| committer | Brian Gesiak <modocache@gmail.com> | 2017-03-19 04:40:42 +0000 | 
| commit | 1640e687280e653947811f4305f021be8f9472e5 (patch) | |
| tree | e21109cae181ee557a35c5ece1c1b502d43bb915 /llvm/test/Transforms/InstCombine | |
| parent | 662c9b1e81ae198cf6b609f4348d9e469ceba6a9 (diff) | |
| download | bcm5719-llvm-1640e687280e653947811f4305f021be8f9472e5.tar.gz bcm5719-llvm-1640e687280e653947811f4305f021be8f9472e5.zip  | |
[Analysis] bitreverse(undef) returns undef
Summary:
The reverse of an artbitrary bitpattern is also an arbitrary
bitpattern.
Reviewers: trentxintong, arsenm, majnemer
Reviewed By: majnemer
Subscribers: majnemer, wdng, llvm-commits
Differential Revision: https://reviews.llvm.org/D31118
llvm-svn: 298201
Diffstat (limited to 'llvm/test/Transforms/InstCombine')
| -rw-r--r-- | llvm/test/Transforms/InstCombine/bitreverse-fold.ll | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/bitreverse-fold.ll b/llvm/test/Transforms/InstCombine/bitreverse-fold.ll index ecdfbc8cb5f..b798ad33b3f 100644 --- a/llvm/test/Transforms/InstCombine/bitreverse-fold.ll +++ b/llvm/test/Transforms/InstCombine/bitreverse-fold.ll @@ -37,6 +37,13 @@ define i32 @reverse_neg1_i32() {    ret i32 %x  } +; CHECK-LABEL: @reverse_undef_i32( +; CHECK-NEXT: ret i32 undef +define i32 @reverse_undef_i32() { +  %x = call i32 @llvm.bitreverse.i32(i32 undef) +  ret i32 %x +} +  ; CHECK-LABEL: @reverse_false_i1(  ; CHECK-NEXT: ret i1 false  define i1 @reverse_false_i1() { @@ -51,6 +58,13 @@ define i1 @reverse_true_i1() {    ret i1 %x  } +; CHECK-LABEL: @reverse_undef_i1( +; CHECK-NEXT: ret i1 undef +define i1 @reverse_undef_i1() { +  %x = call i1 @llvm.bitreverse.i1(i1 undef) +  ret i1 %x +} +  ; CHECK-LABEL: @reverse_false_v2i1(  ; CHECK-NEXT: ret <2 x i1> zeroinitializer  define <2 x i1> @reverse_false_v2i1() {  | 

