summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2019-02-12 21:49:56 +0000
committerSanjay Patel <spatel@rotateright.com>2019-02-12 21:49:56 +0000
commitcf3a906fb49edf2ae38c5672870d25aaf531c4ae (patch)
tree9a8e54f80576b98e20bbb247b0a6b3c6af12097a
parent75b44d75f6675989dbac3c64c8cc11281af76dec (diff)
downloadbcm5719-llvm-cf3a906fb49edf2ae38c5672870d25aaf531c4ae.tar.gz
bcm5719-llvm-cf3a906fb49edf2ae38c5672870d25aaf531c4ae.zip
[ConstProp] add test for miscompile from bitcast transform; NFC
This problem goes with the fix in D51215. llvm-svn: 353883
-rw-r--r--llvm/test/Transforms/ConstProp/bitcast.ll18
1 files changed, 16 insertions, 2 deletions
diff --git a/llvm/test/Transforms/ConstProp/bitcast.ll b/llvm/test/Transforms/ConstProp/bitcast.ll
index 5e1581d801c..353062ee3fe 100644
--- a/llvm/test/Transforms/ConstProp/bitcast.ll
+++ b/llvm/test/Transforms/ConstProp/bitcast.ll
@@ -1,10 +1,24 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -constprop -S | FileCheck %s
; PR2165
define <1 x i64> @test1() {
+; CHECK-LABEL: @test1(
+; CHECK-NEXT: ret <1 x i64> <i64 63>
+;
%A = bitcast i64 63 to <1 x i64>
ret <1 x i64> %A
-; CHECK-LABEL: @test1(
-; CHECK: ret <1 x i64> <i64 63>
}
+; FIXME: Don't try to propagate an FP source operand to an icmp.
+
+@a = external global i16, align 1
+@b = external global i16, align 1
+
+define i1 @bad_icmp_constexpr_bitcast() {
+; CHECK-LABEL: @bad_icmp_constexpr_bitcast(
+; CHECK-NEXT: ret i1 icmp eq (float bitcast (i32 ptrtoint (i16* @a to i32) to float), float fadd (float bitcast (i32 ptrtoint (i16* @b to i32) to float), float 2.000000e+00))
+;
+ %cmp = icmp eq i32 ptrtoint (i16* @a to i32), bitcast (float fadd (float bitcast (i32 ptrtoint (i16* @b to i32) to float), float 2.0) to i32)
+ ret i1 %cmp
+}
OpenPOWER on IntegriCloud