brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 4c7466c Raw
44 lines · plain
1; Test that the msan layout customization options work as expected2;3; RUN: opt < %s -msan-shadow-base 3735928559 -S -passes=msan 2>&1 | FileCheck --check-prefix=CHECK-BASE %s4; RUN: opt < %s -msan-shadow-base 3735928559 -msan-and-mask 4294901760 -S -passes=msan 2>&1 | FileCheck --check-prefix=CHECK-AND %s5; RUN: opt < %s -msan-shadow-base 3735928559 -msan-xor-mask 48879 -S -passes=msan 2>&1 | FileCheck --check-prefix=CHECK-XOR %s6; RUN: opt < %s -msan-shadow-base 3735928559 -msan-xor-mask 48879 -msan-and-mask 4294901760 -S -passes=msan 2>&1 | FileCheck --check-prefix=CHECK-XOR-AND %s7; RUN: opt < %s -msan-track-origins 1 -msan-origin-base 1777777 -S -passes=msan 2>&1 | FileCheck --check-prefix=CHECK-ORIGIN-BASE %s8 9target triple = "x86_64-unknown-linux-gnu"10 11define i32 @read_value(ptr %a) sanitize_memory {12entry:13  %tmp1 = load i32, ptr %a, align 414  ret i32 %tmp115}16; CHECK-BASE-LABEL: @read_value17; CHECK-BASE-NOT: ret i3218; CHECK-BASE: add{{.*}}373592855919; CHECK-BASE: ret i3220 21; CHECK-AND-LABEL: @read_value22; CHECK-AND-NOT: ret i3223; CHECK-AND: and{{.*}}-429490176124; CHECK-AND-NEXT: add{{.*}}373592855925; CHECK-AND: ret i3226 27; CHECK-XOR-LABEL: @read_value28; CHECK-XOR-NOT: ret i3229; CHECK-XOR: xor{{.*}}4887930; CHECK-XOR-NEXT: add{{.*}}373592855931; CHECK-XOR: ret i3232 33; CHECK-XOR-AND-LABEL: @read_value34; CHECK-XOR-AND-NOT: ret i3235; CHECK-XOR-AND: and{{.*}}-429490176136; CHECK-XOR-AND-NEXT: xor{{.*}}4887937; CHECK-XOR-AND-NEXT: add{{.*}}373592855938; CHECK-XOR-AND: ret i3239 40; CHECK-ORIGIN-BASE-LABEL: @read_value41; CHECK-ORIGIN-BASE-NOT: ret i3242; CHECK-ORIGIN-BASE: add{{.*}}177777743; CHECK-ORIGIN-BASE: ret i3244