[DFSan] Add dfsan-combine-taint-lookup-table option as work around for
authorAndrew Browne <browneee@google.com>
Thu, 31 Mar 2022 07:13:53 +0000 (00:13 -0700)
committerAndrew Browne <browneee@google.com>
Tue, 5 Apr 2022 18:05:10 +0000 (11:05 -0700)
commit5748219fd2ce57f81e7a8880302bab69744fb004
tree33e5e17919242294dff690bd5841444499b047fc
parentd68b4dc0a88e7d23090db27613325e35a0ed2799
[DFSan] Add dfsan-combine-taint-lookup-table option as work around for
false negatives when dfsan-combine-pointer-labels-on-load=0 and
dfsan-combine-offset-labels-on-gep=0 miss data flows through lookup tables.

Example case:
https://github.com/abseil/abseil-cpp/blob/628a2825f8dc0219964886e7cc3f7f519e3bd950/absl/strings/ascii.h#L182

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D122787
compiler-rt/test/dfsan/lookup_table.c [new file with mode: 0644]
llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
llvm/test/Instrumentation/DataFlowSanitizer/lookup_table.ll [new file with mode: 0644]