| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 |
| ; RUN: opt -disable-output -passes=print-mustexecute %s 2>&1 | FileCheck %s |
| |
| ; The loop body has two predecessors, %header and %side-entry. This leads to irreducible-cfg |
| define i64 @baz() { |
| ; CHECK-LABEL: define i64 @baz() { |
| ; CHECK-NEXT: [[ENTRY:.*:]] |
| ; CHECK-NEXT: br label %[[HEADER:.*]] |
| ; CHECK: [[HEADER]]: |
| ; CHECK-NEXT: br label %[[BODY:.*]] ; (mustexec in: header) |
| ; CHECK: [[SIDE_ENTRY:.*:]] |
| ; CHECK-NEXT: br label %[[BODY]] |
| ; CHECK: [[BODY]]: |
| ; CHECK-NEXT: [[LOAD:%.*]] = load ptr addrspace(1), ptr addrspace(1) null, align 8 ; (mustexec in: header) |
| ; CHECK-NEXT: br label %[[HEADER]] ; (mustexec in: header) |
| ; |
| entry: |
| br label %header |
| |
| header: |
| br label %body |
| |
| side-entry: |
| br label %body |
| |
| body: |
| %load = load ptr addrspace(1), ptr addrspace(1) null, align 8 |
| br label %header |
| } |