# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -debugify-and-strip-all-safe -O0 -mtriple=aarch64-unknown-unknown -verify-machineinstrs -run-pass=legalizer %s -o - | FileCheck %s
--- |
  target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"

  define void @snork() {
  bb:
    br label %bb1

  bb1:                                              ; preds = %bb3, %bb
    %lsr.iv = phi i16* [ %scevgep, %bb3 ], [ undef, %bb ]
    %tmp = phi i1 [ %tmp9, %bb3 ], [ undef, %bb ]
    br i1 %tmp, label %bb10, label %bb3

  bb3:                                              ; preds = %bb1
    %tmp5 = getelementptr i16, i16* null, i64 2
    %tmp6 = load i16, i16* %lsr.iv, align 2, !tbaa !0
    %tmp7 = icmp eq i16 %tmp6, -1
    %tmp8 = load i16, i16* %tmp5, align 2, !tbaa !0
    %tmp9 = icmp eq i16 %tmp8, -1
    %scevgep = getelementptr i16, i16* %lsr.iv, i64 2
    br i1 %tmp7, label %bb10, label %bb1

  bb10:                                             ; preds = %bb3, %bb1
    ret void
  }

  !0 = !{!1, !1, i64 0}
  !1 = !{!"short", !2, i64 0}
  !2 = !{!"omnipotent char", !3, i64 0}
  !3 = !{!"Simple C/C++ TBAA"}

...
---
name:            snork
alignment:       16
tracksRegLiveness: true
frameInfo:
  maxAlignment:    1
body:             |
  ; CHECK-LABEL: name: snork
  ; CHECK: bb.0.bb:
  ; CHECK:   successors: %bb.1(0x80000000)
  ; CHECK:   [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 0
  ; CHECK:   [[INTTOPTR:%[0-9]+]]:_(p0) = G_INTTOPTR [[C]](s64)
  ; CHECK:   [[DEF:%[0-9]+]]:_(p0) = G_IMPLICIT_DEF
  ; CHECK:   [[DEF1:%[0-9]+]]:_(s16) = G_IMPLICIT_DEF
  ; CHECK: bb.1.bb1:
  ; CHECK:   successors: %bb.3(0x40000000), %bb.2(0x40000000)
  ; CHECK:   [[PHI:%[0-9]+]]:_(p0) = G_PHI %6(p0), %bb.2, [[DEF]](p0), %bb.0
  ; CHECK:   [[PHI1:%[0-9]+]]:_(s16) = G_PHI %20(s16), %bb.2, [[DEF1]](s16), %bb.0
  ; CHECK:   [[TRUNC:%[0-9]+]]:_(s1) = G_TRUNC [[PHI1]](s16)
  ; CHECK:   G_BRCOND [[TRUNC]](s1), %bb.3
  ; CHECK: bb.2.bb3:
  ; CHECK:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
  ; CHECK:   [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 4
  ; CHECK:   [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[INTTOPTR]], [[C1]](s64)
  ; CHECK:   [[LOAD:%[0-9]+]]:_(s16) = G_LOAD [[PHI]](p0) :: (load (s16) from %ir.lsr.iv)
  ; CHECK:   [[ZEXT:%[0-9]+]]:_(s32) = G_ZEXT [[LOAD]](s16)
  ; CHECK:   [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 65535
  ; CHECK:   [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[ZEXT]](s32), [[C2]]
  ; CHECK:   [[TRUNC1:%[0-9]+]]:_(s1) = G_TRUNC [[ICMP]](s32)
  ; CHECK:   [[LOAD1:%[0-9]+]]:_(s16) = G_LOAD [[PTR_ADD]](p0) :: (load (s16) from %ir.tmp5)
  ; CHECK:   [[ZEXT1:%[0-9]+]]:_(s32) = G_ZEXT [[LOAD1]](s16)
  ; CHECK:   [[COPY:%[0-9]+]]:_(s32) = COPY [[C2]](s32)
  ; CHECK:   [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[ZEXT1]](s32), [[COPY]]
  ; CHECK:   [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[PHI]], [[C1]](s64)
  ; CHECK:   [[TRUNC2:%[0-9]+]]:_(s16) = G_TRUNC [[ICMP1]](s32)
  ; CHECK:   G_BRCOND [[TRUNC1]](s1), %bb.3
  ; CHECK:   G_BR %bb.1
  ; CHECK: bb.3.bb10:
  ; CHECK:   RET_ReallyLR
  bb.1.bb:
    %3:_(s64) = G_CONSTANT i64 0
    %2:_(p0) = G_INTTOPTR %3(s64)
    %7:_(s16) = G_CONSTANT i16 -1
    %12:_(p0) = G_IMPLICIT_DEF
    %13:_(s1) = G_IMPLICIT_DEF

  bb.2.bb1:
    %0:_(p0) = G_PHI %11(p0), %bb.3, %12(p0), %bb.1
    %1:_(s1) = G_PHI %10(s1), %bb.3, %13(s1), %bb.1
    G_BRCOND %1(s1), %bb.4

  bb.3.bb3:
    %4:_(s64) = G_CONSTANT i64 4
    %5:_(p0) = G_PTR_ADD %2, %4(s64)
    %6:_(s16) = G_LOAD %0(p0) :: (load (s16) from %ir.lsr.iv)
    %8:_(s1) = G_ICMP intpred(eq), %6(s16), %7
    %9:_(s16) = G_LOAD %5(p0) :: (load (s16) from %ir.tmp5)
    %10:_(s1) = G_ICMP intpred(eq), %9(s16), %7
    %11:_(p0) = G_PTR_ADD %0, %4(s64)
    G_BRCOND %8(s1), %bb.4
    G_BR %bb.2

  bb.4.bb10:
    RET_ReallyLR

...
