1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/Instrumentation/DataFlowSanitizer
Jianzhou Zhao 034e3da912 [dfsan] Add a flag about whether to propagate offset labels at gep
DFSan has flags to control flows between pointers and objects referred
by pointers. For example,

a = *p;
L(a) = L(*p)        when -dfsan-combine-pointer-labels-on-load = false
L(a) = L(*p) + L(p) when -dfsan-combine-pointer-labels-on-load = true

*p = b;
L(*p) = L(b)        when -dfsan-combine-pointer-labels-on-store = false
L(*p) = L(b) + L(p) when -dfsan-combine-pointer-labels-on-store = true
The question is what to do with p += c.

In practice we found many confusing flows if we propagate labels from c
to p. So a new flag works like this

p += c;
L(p) = L(p)        when -dfsan-propagate-via-pointer-arithmetic = false
L(p) = L(p) + L(c) when -dfsan-propagate-via-pointer-arithmetic = true

Reviewed-by: gbalats

Differential Revision: https://reviews.llvm.org/D103176
2021-05-28 00:06:19 +00:00
..
Inputs
abilist_aggregate.ll
abilist.ll
args-unreachable-bb.ll
arith.ll
array.ll
atomics.ll [dfsan] Enable origin tracking with fast8 mode 2021-04-20 18:10:32 -07:00
basic.ll [dfsan] Track origin at loads 2021-04-22 16:25:24 +00:00
call.ll
callback.ll
custom_fun_callback_attributes.ll
custom_fun_varargs_attributes.ll
debug-nonzero-labels.ll
debug.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
dont_combine_offset_labels_on_gep.ll [dfsan] Add a flag about whether to propagate offset labels at gep 2021-05-28 00:06:19 +00:00
external_mask.ll
fast16labels.ll
load.ll
memset.ll
origin_abilist.ll [dfsan] Enable origin tracking with fast8 mode 2021-04-20 18:10:32 -07:00
origin_cached_shadows.ll [dfsan] Enable origin tracking with fast8 mode 2021-04-20 18:10:32 -07:00
origin_call.ll [dfsan] Enable origin tracking with fast8 mode 2021-04-20 18:10:32 -07:00
origin_load.ll [dfsan] Fix origin tracking for fast8 2021-04-30 15:57:33 -07:00
origin_mem_intrinsic.ll [dfsan] Enable origin tracking with fast8 mode 2021-04-20 18:10:32 -07:00
origin_other_ops.ll [dfsan] Enable origin tracking with fast8 mode 2021-04-20 18:10:32 -07:00
origin_phi.ll [dfsan] Enable origin tracking with fast8 mode 2021-04-20 18:10:32 -07:00
origin_select.ll [dfsan] Enable origin tracking with fast8 mode 2021-04-20 18:10:32 -07:00
origin_store_threshold.ll [dfsan] Enable origin tracking with fast8 mode 2021-04-20 18:10:32 -07:00
origin_store.ll [dfsan] Enable origin tracking with fast8 mode 2021-04-20 18:10:32 -07:00
origin_track_load.ll [dfsan] Track origin at loads 2021-04-22 16:25:24 +00:00
phi.ll
prefix-rename.ll
select.ll
shadow-args-zext.ll
store.ll
struct.ll
uninstrumented_local_functions.ll
union-large.ll
union.ll
unordered_atomic_mem_intrins.ll
vector.ll