| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 |
| ; RUN: opt < %s -passes=ipsccp -S | FileCheck %s |
| |
| define internal i101 @bar(i101 %A) { |
| ; CHECK-LABEL: define internal i101 @bar( |
| ; CHECK-SAME: i101 [[A:%.*]]) { |
| ; CHECK-NEXT: br label %[[T:.*]] |
| ; CHECK: [[T]]: |
| ; CHECK-NEXT: [[B:%.*]] = call i101 @bar(i101 0) |
| ; CHECK-NEXT: ret i101 poison |
| ; |
| %x = icmp eq i101 %A, 0 |
| br i1 %x, label %T, label %F |
| T: |
| %B = call i101 @bar(i101 0) |
| ret i101 0 |
| F: ; unreachable |
| %C = call i101 @bar(i101 1) |
| ret i101 %C |
| } |
| |
| define i101 @foo() { |
| ; CHECK-LABEL: define i101 @foo() { |
| ; CHECK-NEXT: [[X:%.*]] = call i101 @bar(i101 0) |
| ; CHECK-NEXT: ret i101 0 |
| ; |
| %X = call i101 @bar(i101 0) |
| ret i101 %X |
| } |