Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / Sink / convergent.ll
blobde0f6c27175cddd131c1c4c07e8b4a1ed33b24ff
1 ; RUN: opt -passes=sink -S < %s | FileCheck %s
3 ; Verify that IR sinking does not move convergent operations to
4 ; blocks that are not control equivalent.
6 ; CHECK: define i32 @foo
7 ; CHECK: entry
8 ; CHECK-NEXT: call i32 @bar
9 ; CHECK-NEXT: br i1 %arg
11 define i32 @foo(i1 %arg) {
12 entry:
13   %c = call i32 @bar() nounwind readonly convergent
14   br i1 %arg, label %then, label %end
16 then:
17   ret i32 %c
19 end:
20   ret i32 0
23 declare i32 @bar() nounwind readonly convergent