1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test/Instrumentation/SanitizerCoverage
Alexander Potapenko cbad8b88a2 [sanitizer-coverage] Change cmp instrumentation to distinguish const operands
This implementation of SanitizerCoverage instrumentation inserts different
callbacks depending on constantness of operands:

  1. If both operands are non-const, then a usual
     __sanitizer_cov_trace_cmp[1248] call is inserted.
  2. If exactly one operand is const, then a
     __sanitizer_cov_trace_const_cmp[1248] call is inserted. The first
     argument of the call is always the constant one.
  3. If both operands are const, then no callback is inserted.

This separation comes useful in fuzzing when tasks like "find one operand
of the comparison in input arguments and replace it with the other one"
have to be done. The new instrumentation allows us to not waste time on
searching the constant operands in the input.

Patch by Victor Chibotaru.

llvm-svn: 310600
2017-08-10 15:00:13 +00:00
..
chains.ll Fix coverage check for full post-dominator basic blocks. 2017-05-25 01:41:46 +00:00
cmp-tracing-api-x86_32.ll [sancov] Fix PR33732 2017-07-18 11:47:56 +00:00
cmp-tracing-api-x86_64.ll [sancov] Fix PR33732 2017-07-18 11:47:56 +00:00
cmp-tracing.ll [sanitizer-coverage] add two more modes of instrumentation: trace-div and trace-gep, mostly usaful for value-profile-based fuzzing; llvm part 2016-08-30 01:12:10 +00:00
const-cmp-tracing.ll [sanitizer-coverage] Change cmp instrumentation to distinguish const operands 2017-08-10 15:00:13 +00:00
coverage2-dbg.ll [sanitizer-coverage] emit __sanitizer_cov_trace_pc_guard w/o a preceding 'if' by default. Update the docs, also add deprecation notes around other parts of sanitizer coverage 2017-01-24 00:57:31 +00:00
coverage-dbg.ll [sanitizer-coverage] remove stale code (old coverage); llvm part 2017-05-31 18:27:33 +00:00
coverage.ll [sanitizer-coverage] remove stale code (old coverage); llvm part 2017-05-31 18:27:33 +00:00
div-tracing.ll [sanitizer-coverage] add two more modes of instrumentation: trace-div and trace-gep, mostly usaful for value-profile-based fuzzing; llvm part 2016-08-30 01:12:10 +00:00
gep-tracing.ll [sanitizer-coverage] fix a bug in trace-gep 2016-09-27 01:55:08 +00:00
inline-8bit-counters.ll [sanitizer-coverage] ensure minimal alignment for coverage counters and guards 2017-07-31 19:49:45 +00:00
no-func.ll [sanitizer-coverage] don't emit the CTOR function if nothing has been instrumented 2016-09-27 01:08:33 +00:00
pc-table.ll [sanitizer-coverage] rename sanitizer-coverage-create-pc-table into sanitizer-coverage-pc-table and add plumbing for a clang flag 2017-07-28 00:09:29 +00:00
postdominator_check.ll Fix coverage check for full post-dominator basic blocks. 2017-05-25 01:41:46 +00:00
seh.ll [sanitizer-coverage] remove stale code (old coverage); llvm part 2017-05-31 18:27:33 +00:00
switch-tracing.ll [sanitizer-coverage] sort the switch cases 2016-12-27 21:20:06 +00:00
trace-pc-guard-comdat.ll [sancov] using comdat only when it is enabled 2017-02-08 23:12:46 +00:00
trace-pc-guard-nocomdat.ll [sancov] using comdat only when it is enabled 2017-02-08 23:12:46 +00:00
tracing-comdat.ll [sanitizer-coverage] make sure asan does not instrument coverage guards (reported in https://github.com/google/oss-fuzz/issues/84) 2016-11-15 21:12:50 +00:00
tracing.ll [sanitizer-coverage] don't instrument available_externally functions 2017-07-31 20:00:22 +00:00
wineh.ll [sancov] Don't instrument blocks with no insertion point 2017-03-23 23:30:41 +00:00