| ; RUN: opt < %s -nary-reassociate -S -o - | FileCheck %s |
| |
| ; The test check that compilation does not segv (see pr37539). |
| |
| define void @f1() { |
| ; CHECK-LABEL: @f1( |
| ; CHECK-NEXT: br label %[[BB1:.*]] |
| ; CHECK: [[BB1]] |
| ; CHECK-NEXT: [[P1:%.*]] = phi i16 [ 0, [[TMP0:%.*]] ], [ [[A1:%.*]], %[[BB1]] ] |
| ; CHECK-NEXT: [[SCEVGEP_OFFS:%.*]] = add i16 2, 0 |
| ; CHECK-NEXT: [[A1]] = add i16 [[P1]], [[SCEVGEP_OFFS]] |
| ; CHECK-NEXT: br i1 false, label %[[BB1]], label %[[BB7:.*]] |
| ; CHECK: [[BB7]] |
| ; CHECK-NEXT: ret void |
| ; |
| br label %bb1 |
| |
| bb1: |
| %p1 = phi i16 [ 0, %0 ], [ %a1, %bb1 ] |
| %p2 = phi i16 [ 0, %0 ], [ %a2, %bb1 ] |
| %scevgep.offs = add i16 2, 0 |
| %a1 = add i16 %p1, %scevgep.offs |
| %scevgep.offs5 = add i16 2, 0 |
| %a2 = add i16 %p2, %scevgep.offs5 |
| br i1 false, label %bb1, label %bb7 |
| |
| bb7: |
| ret void |
| } |