llvm-project/llvm/test/Instrumentation/DataFlowSanitizer
Jianzhou Zhao fc1d39849e [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.ll [dfsan] Add -dfsan-fast-8-labels flag 2021-03-18 16:28:42 -07:00
abilist_aggregate.ll [dfsan] Add -dfsan-fast-8-labels flag 2021-03-18 16:28:42 -07:00
args-unreachable-bb.ll [dfsan] Remove hard-coded shadow width in more tests 2021-03-03 15:05:16 -08:00
arith.ll [dfsan] Remove hard-coded shadow width in more tests 2021-03-03 15:05:16 -08:00
array.ll [dfsan] Add -dfsan-fast-8-labels flag 2021-03-18 16:28:42 -07:00
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 [dfsan] Add -dfsan-fast-8-labels flag 2021-03-18 16:28:42 -07:00
callback.ll [dfsan] Remove hard-coded shadow width in more tests 2021-03-03 15:05:16 -08:00
custom_fun_callback_attributes.ll [dfsan] Increase coverage of vector and select tests 2021-03-04 12:56:55 -08:00
custom_fun_varargs_attributes.ll [dfsan] Increase coverage of vector and select tests 2021-03-04 12:56:55 -08:00
debug-nonzero-labels.ll [dfsan] Remove hard-coded shadow width in more tests 2021-03-03 15:05:16 -08:00
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 [dfsan] Add -dfsan-fast-8-labels flag 2021-03-18 16:28:42 -07:00
fast16labels.ll [dfsan] Add -dfsan-fast-8-labels flag 2021-03-18 16:28:42 -07:00
load.ll [dfsan] Support passing non-i16 shadow values in TLS mode 2020-12-04 02:45:07 +00:00
memset.ll [dfsan] Remove hard-coded shadow width in more tests 2021-03-03 15:05:16 -08:00
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.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_track_load.ll [dfsan] Track origin at loads 2021-04-22 16:25:24 +00:00
phi.ll [dfsan] Add -dfsan-fast-8-labels flag 2021-03-18 16:28:42 -07:00
prefix-rename.ll
select.ll [dfsan] Add -dfsan-fast-8-labels flag 2021-03-18 16:28:42 -07:00
shadow-args-zext.ll [dfsan] Add -dfsan-fast-8-labels flag 2021-03-18 16:28:42 -07:00
store.ll [dfsan] Add -dfsan-fast-8-labels flag 2021-03-18 16:28:42 -07:00
struct.ll [dfsan] Add -dfsan-fast-8-labels flag 2021-03-18 16:28:42 -07:00
uninstrumented_local_functions.ll [dfsan] Increase coverage of vector and select tests 2021-03-04 12:56:55 -08:00
union-large.ll
union.ll
unordered_atomic_mem_intrins.ll
vector.ll [dfsan] Add -dfsan-fast-8-labels flag 2021-03-18 16:28:42 -07:00