[MLIR] print/parse resource handle key quoted and escaped (#119746)
[llvm-project.git] / llvm / test / Instrumentation / DataFlowSanitizer / dataflow-disable-sanitizer-instrumentation.ll
blob3fb922736d020590db820526336e5a9f1ddf18d7
2 ; This test checks that we are not instrumenting sanitizer code.
3 ; RUN: opt < %s -passes='module(msan)' -S | FileCheck %s
5 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
6 target triple = "x86_64-unknown-linux-gnu"
8 ; Function with sanitize_memory is instrumented.
9 ; Function Attrs: nounwind uwtable
10 define void @instr_sa(ptr %a) sanitize_memory {
11 entry:
12   %tmp1 = load i32, ptr %a, align 4
13   %tmp2 = add i32 %tmp1,  1
14   store i32 %tmp2, ptr %a, align 4
15   ret void
18 ; CHECK-LABEL: @instr_sa
19 ; CHECK: %0 = load i64, ptr @__msan_param_tls
22 ; Function with disable_sanitizer_instrumentation is not instrumented.
23 ; Function Attrs: nounwind uwtable
24 define void @noinstr_dsi(ptr %a) disable_sanitizer_instrumentation {
25 entry:
26   %tmp1 = load i32, ptr %a, align 4
27   %tmp2 = add i32 %tmp1,  1
28   store i32 %tmp2, ptr %a, align 4
29   ret void
32 ; CHECK-LABEL: @noinstr_dsi
33 ; CHECK-NOT: %0 = load i64, ptr @__msan_param_tls
36 ; disable_sanitizer_instrumentation takes precedence over sanitize_memory.
37 ; Function Attrs: nounwind uwtable
38 define void @noinstr_dsi_sa(ptr %a) disable_sanitizer_instrumentation sanitize_memory {
39 entry:
40   %tmp1 = load i32, ptr %a, align 4
41   %tmp2 = add i32 %tmp1,  1
42   store i32 %tmp2, ptr %a, align 4
43   ret void
46 ; CHECK-LABEL: @noinstr_dsi_sa
47 ; CHECK-NOT: %0 = load i64, ptr @__msan_param_tls