diff options
Diffstat (limited to 'test/Transforms/InstCombine/pr25745.ll')
-rw-r--r-- | test/Transforms/InstCombine/pr25745.ll | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/pr25745.ll b/test/Transforms/InstCombine/pr25745.ll new file mode 100644 index 000000000000..3bf9efc92b90 --- /dev/null +++ b/test/Transforms/InstCombine/pr25745.ll @@ -0,0 +1,20 @@ +; RUN: opt -S -instcombine < %s | FileCheck %s + +; Checking for a crash + +declare void @use.i1(i1 %val) +declare void @use.i64(i64 %val) + +define i64 @f(i32 %x) { +; CHECK-LABEL: @f( + entry: + %x.wide = sext i32 %x to i64 + %minus.x = sub i32 0, %x + %minus.x.wide = sext i32 %minus.x to i64 + %c = icmp slt i32 %x, 0 + %val = select i1 %c, i64 %x.wide, i64 %minus.x.wide + call void @use.i1(i1 %c) + call void @use.i64(i64 %x.wide) + ret i64 %val +; CHECK: ret i64 %val +} |