| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6 |
| ; RUN: llc -mtriple=aarch64-linux-gnu -o - %s | FileCheck %s |
| |
| ; Ensure we do not crash on unreachable blocks. |
| |
| define void @func_44(i1 %tobool3.not, ptr %g_530) { |
| ; CHECK-LABEL: func_44: |
| ; CHECK: // %bb.0: // %entry |
| ; CHECK-NEXT: mov x8, xzr |
| ; CHECK-NEXT: .LBB0_1: // %for.cond2 |
| ; CHECK-NEXT: // =>This Inner Loop Header: Depth=1 |
| ; CHECK-NEXT: ldr wzr, [x8] |
| ; CHECK-NEXT: b .LBB0_1 |
| entry: |
| br label %for.cond2.outer |
| |
| for.cond2.outer: ; preds = %for.inc, %entry |
| %add23.ph = phi i8 [ 0, %for.inc ], [ 0, %entry ] |
| br label %for.cond2 |
| |
| for.cond2: ; preds = %cleanup12.split, %for.cond2, %for.cond2.outer |
| %load = load volatile i32, ptr null, align 4 |
| br i1 %tobool3.not, label %if.end, label %for.cond2 |
| |
| if.end: ; preds = %for.cond2 |
| %tobool7.not = icmp eq i64 0, 0 |
| br i1 %tobool7.not, label %for.inc, label %cleanup12.split |
| |
| for.inc: ; preds = %if.end |
| %add = or i8 %add23.ph, 0 |
| br label %for.cond2.outer |
| |
| cleanup12.split: ; preds = %if.end |
| store i64 0, ptr %g_530, align 8 |
| br label %for.cond2 |
| } |