Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / InstCombine / readnone-maythrow.ll
blobc6b69f2f2c249673a256e7ab964020f01d4fa230
1 ; RUN: opt -S -passes=instcombine < %s | FileCheck %s
3 declare void @readnone_but_may_throw() readnone
5 define void @f_0(ptr %ptr) {
6 ; CHECK-LABEL: @f_0(
7 entry:
8 ; CHECK:  store i32 10, ptr %ptr
9 ; CHECK-NEXT:  call void @readnone_but_may_throw()
10 ; CHECK-NEXT:  store i32 20, ptr %ptr, align 4
11 ; CHECK:  ret void
13   store i32 10, ptr %ptr
14   call void @readnone_but_may_throw()
15   store i32 20, ptr %ptr
16   ret void
19 define void @f_1(i1 %cond, ptr %ptr) {
20 ; CHECK-LABEL: @f_1(
21 ; CHECK:  store i32 10, ptr %ptr
22 ; CHECK-NEXT:  call void @readnone_but_may_throw()
24   store i32 10, ptr %ptr
25   call void @readnone_but_may_throw()
26   br i1 %cond, label %left, label %merge
28 left:
29   store i32 20, ptr %ptr
30   br label %merge
32 merge:
33   ret void