brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.8 KiB · 7a2eee7 Raw
92 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt < %s -passes=asan -S | FileCheck %s --check-prefixes=CHECK,CHECK-ASAN3; RUN: opt < %s -passes=tsan -S | FileCheck %s --check-prefixes=CHECK,CHECK-TSAN4; RUN: opt < %s -passes=msan -S | FileCheck %s --check-prefixes=CHECK,CHECK-MSAN5; RUN: opt < %s -passes=hwasan -S | FileCheck %s --check-prefixes=CHECK,CHECK-HWASAN6; RUN: opt < %s -passes='module(sancov-module)' -sanitizer-coverage-level=3 -sanitizer-coverage-control-flow -S | FileCheck %s --check-prefixes=CHECK,CHECK-SANCOV7; RUN: opt < %s -passes='module(sanmd-module)' -sanitizer-metadata-atomics -S | FileCheck %s --check-prefixes=CHECK,CHECK-SANMD8 9; REQUIRES: x86-registered-target10 11target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"12target triple = "x86_64-unknown-linux-gnu"13 14define void @naked_function(ptr byval(i32) %p) naked {15; CHECK-ASAN-LABEL: define void @naked_function(16; CHECK-ASAN-SAME: ptr byval(i32) [[P:%.*]]) #[[ATTR0:[0-9]+]] {17; CHECK-ASAN-NEXT:    call void asm sideeffect "nop", ""()18; CHECK-ASAN-NEXT:    unreachable19;20; CHECK-TSAN-LABEL: define void @naked_function(21; CHECK-TSAN-SAME: ptr byval(i32) [[P:%.*]]) #[[ATTR0:[0-9]+]] {22; CHECK-TSAN-NEXT:    call void asm sideeffect "nop", ""()23; CHECK-TSAN-NEXT:    unreachable24;25; CHECK-MSAN-LABEL: define void @naked_function(26; CHECK-MSAN-SAME: ptr byval(i32) [[P:%.*]]) #[[ATTR0:[0-9]+]] {27; CHECK-MSAN-NEXT:    call void @llvm.donothing()28; CHECK-MSAN-NEXT:    call void asm sideeffect "nop", ""()29; CHECK-MSAN-NEXT:    unreachable30;31; CHECK-HWASAN-LABEL: define void @naked_function(32; CHECK-HWASAN-SAME: ptr byval(i32) [[P:%.*]]) #[[ATTR0:[0-9]+]] {33; CHECK-HWASAN-NEXT:    call void asm sideeffect "nop", ""()34; CHECK-HWASAN-NEXT:    unreachable35;36; CHECK-SANCOV-LABEL: define void @naked_function(37; CHECK-SANCOV-SAME: ptr byval(i32) [[P:%.*]]) #[[ATTR0:[0-9]+]] {38; CHECK-SANCOV-NEXT:    call void asm sideeffect "nop", ""()39; CHECK-SANCOV-NEXT:    unreachable40;41; CHECK-SANMD-LABEL: define void @naked_function(42; CHECK-SANMD-SAME: ptr byval(i32) [[P:%.*]]) #[[ATTR0:[0-9]+]] {43; CHECK-SANMD-NEXT:    call void asm sideeffect "nop", ""()44; CHECK-SANMD-NEXT:    unreachable45;46  call void asm sideeffect "nop", ""()47  unreachable48}49 50define void @naked_function_with_asan(ptr byval(i32) %p) sanitize_address naked {51; CHECK-ASAN-LABEL: define void @naked_function_with_asan(52; CHECK-ASAN-SAME: ptr byval(i32) [[P:%.*]]) #[[ATTR1:[0-9]+]] {53; CHECK-ASAN-NEXT:    call void asm sideeffect "nop", ""()54; CHECK-ASAN-NEXT:    unreachable55;56  call void asm sideeffect "nop", ""()57  unreachable58}59 60define void @naked_function_with_tsan(ptr byval(i32) %p) sanitize_thread naked {61; CHECK-TSAN-LABEL: define void @naked_function_with_tsan(62; CHECK-TSAN-SAME: ptr byval(i32) [[P:%.*]]) #[[ATTR2:[0-9]+]] {63; CHECK-TSAN-NEXT:    call void asm sideeffect "nop", ""()64; CHECK-TSAN-NEXT:    unreachable65;66  call void asm sideeffect "nop", ""()67  unreachable68}69 70define void @naked_function_with_msan(ptr byval(i32) %p) sanitize_memory naked {71; CHECK-MSAN-LABEL: define void @naked_function_with_msan(72; CHECK-MSAN-SAME: ptr byval(i32) [[P:%.*]]) #[[ATTR3:[0-9]+]] {73; CHECK-MSAN-NEXT:    call void @llvm.donothing()74; CHECK-MSAN-NEXT:    call void asm sideeffect "nop", ""()75; CHECK-MSAN-NEXT:    unreachable76;77  call void asm sideeffect "nop", ""()78  unreachable79}80 81define void @naked_function_with_hwasan(ptr byval(i32) %p) sanitize_hwaddress naked {82; CHECK-HWASAN-LABEL: define void @naked_function_with_hwasan(83; CHECK-HWASAN-SAME: ptr byval(i32) [[P:%.*]]) #[[ATTR4:[0-9]+]] personality ptr @__hwasan_personality_thunk {84; CHECK-HWASAN-NEXT:    call void asm sideeffect "nop", ""()85; CHECK-HWASAN-NEXT:    unreachable86;87  call void asm sideeffect "nop", ""()88  unreachable89}90;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:91; CHECK: {{.*}}92