; 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

