; RUN: opt -O3 -S %s | FileCheck %s
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
declare noalias i8* @_Znam(i64) #1

define i32 @TestNoAsan() {
  %1 = tail call noalias i8* @_Znam(i64 2)
  %2 = getelementptr inbounds i8, i8* %1, i64 1
  store i8 0, i8* %2, align 1
  store i8 0, i8* %1, align 1
  %3 = bitcast i8* %1 to i16*
  %4 = load i16, i16* %3, align 4
  %5 = icmp eq i16 %4, 0
  br i1 %5, label %11, label %6

; <label>:6                                       ; preds = %0
  %7 = getelementptr inbounds i8, i8* %1, i64 2
  %8 = bitcast i8* %7 to i16*
  %9 = load i16, i16* %8, align 2
  %10 = sext i16 %9 to i32
  br label %11

; <label>:11                                      ; preds = %0, %6
  %12 = phi i32 [ %10, %6 ], [ 0, %0 ]
  ret i32 %12
}

; CHECK-LABEL: @TestNoAsan
; CHECK: ret i32 0

define i32 @TestAsan() sanitize_address {
  %1 = tail call noalias i8* @_Znam(i64 2)
  %2 = getelementptr inbounds i8, i8* %1, i64 1
  store i8 0, i8* %2, align 1
  store i8 0, i8* %1, align 1
  %3 = bitcast i8* %1 to i16*
  %4 = load i16, i16* %3, align 4
  %5 = icmp eq i16 %4, 0
  br i1 %5, label %11, label %6

; <label>:6                                       ; preds = %0
  %7 = getelementptr inbounds i8, i8* %1, i64 2
  %8 = bitcast i8* %7 to i16*
  %9 = load i16, i16* %8, align 2
  %10 = sext i16 %9 to i32
  br label %11

; <label>:11                                      ; preds = %0, %6
  %12 = phi i32 [ %10, %6 ], [ 0, %0 ]
  ret i32 %12
}

; CHECK-LABEL: @TestAsan
; CHECK-NOT: %[[LOAD:[^ ]+]] = load i32
; CHECK: {{.*}} = phi

define i32 @TestHWAsan() sanitize_hwaddress {
  %1 = tail call noalias i8* @_Znam(i64 2)
  %2 = getelementptr inbounds i8, i8* %1, i64 1
  store i8 0, i8* %2, align 1
  store i8 0, i8* %1, align 1
  %3 = bitcast i8* %1 to i16*
  %4 = load i16, i16* %3, align 4
  %5 = icmp eq i16 %4, 0
  br i1 %5, label %11, label %6

; <label>:6                                       ; preds = %0
  %7 = getelementptr inbounds i8, i8* %1, i64 2
  %8 = bitcast i8* %7 to i16*
  %9 = load i16, i16* %8, align 2
  %10 = sext i16 %9 to i32
  br label %11

; <label>:11                                      ; preds = %0, %6
  %12 = phi i32 [ %10, %6 ], [ 0, %0 ]
  ret i32 %12
}

; CHECK-LABEL: @TestHWAsan
; CHECK-NOT: %[[LOAD:[^ ]+]] = load i32
; CHECK: {{.*}} = phi

