| 123456789101112131415161718192021222324 |
- ; RUN: opt -sink -S < %s | FileCheck %s
- ; Verify that IR sinking does not move convergent operations to
- ; blocks that are not control equivalent.
- ; CHECK: define i32 @foo
- ; CHECK: entry
- ; CHECK-NEXT: call i32 @bar
- ; CHECK-NEXT: br i1 %arg
- define i32 @foo(i1 %arg) {
- entry:
- %c = call i32 @bar() readonly convergent
- br i1 %arg, label %then, label %end
- then:
- ret i32 %c
- end:
- ret i32 0
- }
- declare i32 @bar() readonly convergent
|