1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4 2; RUN: opt -passes=irce -S < %s 2>&1 | FileCheck %s 3 4; Make sure we don't crash. 5define void @pr89959() { 6; CHECK-LABEL: define void @pr89959() { 7; CHECK-NEXT: top: 8; CHECK-NEXT: br label [[L3:%.*]] 9; CHECK: L3: 10; CHECK-NEXT: [[VALUE_PHI:%.*]] = phi ptr [ null, [[TOP:%.*]] ], [ [[TMP0:%.*]], [[L13:%.*]] ] 11; CHECK-NEXT: [[TMP0]] = getelementptr i8, ptr [[VALUE_PHI]], i64 8 12; CHECK-NEXT: [[DOTNOT:%.*]] = icmp ule ptr [[VALUE_PHI]], null 13; CHECK-NEXT: br i1 [[DOTNOT]], label [[L13]], label [[L15:%.*]] 14; CHECK: L13: 15; CHECK-NEXT: br label [[L3]] 16; CHECK: L15: 17; CHECK-NEXT: ret void 18; 19top: 20 br label %L3 21 22L3: 23 %value_phi = phi ptr [ null, %top ], [ %0, %L13 ] 24 %0 = getelementptr i8, ptr %value_phi, i64 8 25 %.not = icmp ule ptr %value_phi, null 26 br i1 %.not, label %L13, label %L15 27 28L13: 29 br label %L3 30 31L15: 32 ret void 33} 34