78 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s | FileCheck %s3 4target triple = "x86_64-unknown-linux-gnu"5 6define void @load1(ptr nocapture readonly %x) {7; CHECK-LABEL: load1:8; CHECK: # %bb.0:9; CHECK-NEXT: pushq %rax10; CHECK-NEXT: .cfi_def_cfa_offset 1611; CHECK-NEXT: callq __asan_check_load_add_1_RDI12; CHECK-NEXT: callq __asan_check_store_add_1_RDI13; CHECK-NEXT: popq %rax14; CHECK-NEXT: .cfi_def_cfa_offset 815; CHECK-NEXT: retq16 call void @llvm.asan.check.memaccess(ptr %x, i32 0)17 call void @llvm.asan.check.memaccess(ptr %x, i32 32)18 ret void19}20 21define void @load2(ptr nocapture readonly %x) nounwind {22; CHECK-LABEL: load2:23; CHECK: # %bb.0:24; CHECK-NEXT: pushq %rax25; CHECK-NEXT: callq __asan_check_load_add_2_RDI26; CHECK-NEXT: callq __asan_check_store_add_2_RDI27; CHECK-NEXT: popq %rax28; CHECK-NEXT: retq29 %1 = ptrtoint ptr %x to i6430 call void @llvm.asan.check.memaccess(ptr %x, i32 2)31 call void @llvm.asan.check.memaccess(ptr %x, i32 34)32 ret void33}34 35define void @load4(ptr nocapture readonly %x) nounwind {36; CHECK-LABEL: load4:37; CHECK: # %bb.0:38; CHECK-NEXT: pushq %rax39; CHECK-NEXT: callq __asan_check_load_add_4_RDI40; CHECK-NEXT: callq __asan_check_store_add_4_RDI41; CHECK-NEXT: popq %rax42; CHECK-NEXT: retq43 %1 = ptrtoint ptr %x to i6444 call void @llvm.asan.check.memaccess(ptr %x, i32 4)45 call void @llvm.asan.check.memaccess(ptr %x, i32 36)46 ret void47}48 49define void @load8(ptr nocapture readonly %x) nounwind {50; CHECK-LABEL: load8:51; CHECK: # %bb.0:52; CHECK-NEXT: pushq %rax53; CHECK-NEXT: callq __asan_check_load_add_8_RDI54; CHECK-NEXT: callq __asan_check_store_add_8_RDI55; CHECK-NEXT: popq %rax56; CHECK-NEXT: retq57 %1 = ptrtoint ptr %x to i6458 call void @llvm.asan.check.memaccess(ptr %x, i32 6)59 call void @llvm.asan.check.memaccess(ptr %x, i32 38)60 ret void61}62 63define void @load16(ptr nocapture readonly %x) nounwind {64; CHECK-LABEL: load16:65; CHECK: # %bb.0:66; CHECK-NEXT: pushq %rax67; CHECK-NEXT: callq __asan_check_load_add_16_RDI68; CHECK-NEXT: callq __asan_check_store_add_16_RDI69; CHECK-NEXT: popq %rax70; CHECK-NEXT: retq71 %1 = ptrtoint ptr %x to i6472 call void @llvm.asan.check.memaccess(ptr %x, i32 8)73 call void @llvm.asan.check.memaccess(ptr %x, i32 40)74 ret void75}76 77declare void @llvm.asan.check.memaccess(ptr, i32 immarg)78