1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 02:33:06 +01:00
llvm-mirror/utils
Marco Elver b835b9cf36 [SanitizeCoverage] Add support for NoSanitizeCoverage function attribute
We really ought to support no_sanitize("coverage") in line with other
sanitizers. This came up again in discussions on the Linux-kernel
mailing lists, because we currently do workarounds using objtool to
remove coverage instrumentation. Since that support is only on x86, to
continue support coverage instrumentation on other architectures, we
must support selectively disabling coverage instrumentation via function
attributes.

Unfortunately, for SanitizeCoverage, it has not been implemented as a
sanitizer via fsanitize= and associated options in Sanitizers.def, but
rolls its own option fsanitize-coverage. This meant that we never got
"automatic" no_sanitize attribute support.

Implement no_sanitize attribute support by special-casing the string
"coverage" in the NoSanitizeAttr implementation. To keep the feature as
unintrusive to existing IR generation as possible, define a new negative
function attribute NoSanitizeCoverage to propagate the information
through to the instrumentation pass.

Fixes: https://bugs.llvm.org/show_bug.cgi?id=49035

Reviewed By: vitalybuka, morehouse

Differential Revision: https://reviews.llvm.org/D102772
2021-05-25 12:57:14 +02:00
..
benchmark Partial revert of "Use std::foo_t rather than std::foo in LLVM." in googlebench 2021-05-03 07:49:30 -07:00
bugpoint
count
crosstool
docker Harmonize Python shebang 2020-07-16 21:53:45 +02:00
emacs [SanitizeCoverage] Add support for NoSanitizeCoverage function attribute 2021-05-25 12:57:14 +02:00
FileCheck [FileCheck] Try to fix buildbot failures caused by c7c542e8f306 2021-03-27 11:03:10 -04:00
fpcmp
gdb-scripts Avoid fragile type lookups in GDB pretty printer 2021-01-22 14:56:32 +01:00
git Add a git hook script that can be manually setup to run some checks on every push 2020-06-24 21:13:43 +00:00
gn [gn build] Port b510e4cf1b96 2021-05-24 18:48:17 +00:00
jedit
kate [Utils] Add missing attributes in syntax files 2021-03-05 17:36:09 +00:00
KillTheDoctor [KillTheDoctor/CMake] Add missing keyword PRIVATE in target_link_libraries 2020-09-07 16:08:55 +03:00
lint Harmonize Python shebang 2020-07-16 21:53:45 +02:00
lit [lit] Print full googletest commad line 2021-05-21 16:11:51 -07:00
llvm-lit Execute llvm-lit with the python found by CMake by default 2020-08-03 10:51:35 +01:00
llvm-locstats [llvm-dwarfdump][Stats] Clean up 2020-05-04 09:35:40 +02:00
LLVMVisualizers Fix MSVC natvis visualisation of llvm::FixedVectorTyID and ScalableVectorTyID 2021-02-15 13:43:31 +00:00
Misc
not PrintStackTrace: don't symbolize if LLVM_DISABLE_SYMBOLIZATION is set 2020-08-21 11:27:13 -07:00
PerfectShuffle
release Bump the trunk major version to 13 2021-01-26 19:37:55 -08:00
Reviewing
sanitizers
TableGen Revert rG632668c1c0e7dcf97154d2e377491cdc8cb6963c : "[TableGen] TreePatternNode::isIsomorphicTo - early out for matching leafs. NFCI." 2021-05-15 15:49:14 +01:00
Target/ARM
testgen Harmonize Python shebang 2020-07-16 21:53:45 +02:00
textmate
unittest Fix some deprecated copy ops in google mock 2021-05-16 15:59:06 -07:00
UpdateTestChecks [UpdateTestChecks] Default --x86_scrub_rip to False 2021-05-21 19:26:15 -07:00
valgrind
vim [SanitizeCoverage] Add support for NoSanitizeCoverage function attribute 2021-05-25 12:57:14 +02:00
vscode [SanitizeCoverage] Add support for NoSanitizeCoverage function attribute 2021-05-25 12:57:14 +02:00
yaml-bench
abtest.py abtest.py: support bisection based on a response file 2021-04-08 09:46:01 -07:00
add_argument_names.py
bisect
bisect-skip-count
bugpoint_gisel_reducer.py
check_ninja_deps.py [utils] New script check_ninja_deps.py 2020-07-14 14:54:08 +01:00
check-each-file
chunk-print-before-all.py [Tools] Fixed bug with llvm/utils/chunk-print-before-all.py script. 2020-04-09 22:24:55 +00:00
clang-parse-diagnostics-file utils: Tweak clang-parse-diagnostics-file for modules includes 2020-04-02 14:16:26 -07:00
codegen-diff Prefer /usr/bin/env xxx over /usr/bin/xxx where xxx = perl, python, awk 2021-02-25 11:32:27 +01:00
collect_and_build_with_pgo.py docs: Add pointer to cmake caches for PGO 2020-12-07 15:55:26 -05:00
convert-constraint-log-to-z3.py Recommit "[ConstraintSystem] Add helpers to deal with linear constraints." 2020-09-15 12:07:26 +01:00
countloc.sh
create_ladder_graph.py
demangle_tree.py
DSAclean.py Harmonize Python shebang 2020-07-16 21:53:45 +02:00
DSAextract.py Harmonize Python shebang 2020-07-16 21:53:45 +02:00
extract_symbols.py [AIX] Make sure we use export lists for plugins 2020-05-08 14:00:25 -04:00
extract_vplan.py [utils] Fix regexp in llvm/utils/extract_vplan.py to extract VPlans. 2020-08-19 08:57:12 +01:00
extract-section.py [M68k] Fix extract-section.py under Python 3 2021-03-14 11:36:57 -07:00
findmisopt
findoptdiff Recommit "[IPConstProp] Remove and move tests to SCCP." 2020-08-02 22:23:54 +01:00
findsym.pl Prefer /usr/bin/env xxx over /usr/bin/xxx where xxx = perl, python, awk 2021-02-25 11:32:27 +01:00
GenLibDeps.pl Prefer /usr/bin/env xxx over /usr/bin/xxx where xxx = perl, python, awk 2021-02-25 11:32:27 +01:00
GetSourceVersion
getsrcs.sh
indirect_calls.py
lldbDataFormatters.py [llvm][utils] Fix handling of llvm::None 2021-03-29 17:43:53 -07:00
llvm-compilers-check Prefer /usr/bin/env xxx over /usr/bin/xxx where xxx = perl, python, awk 2021-02-25 11:32:27 +01:00
llvm-gisel-cov.py
llvm-native-gxx Prefer /usr/bin/env xxx over /usr/bin/xxx where xxx = perl, python, awk 2021-02-25 11:32:27 +01:00
llvm-original-di-preservation.py Recommit: "[Debugify][Original DI] Test dbg var loc preservation"" 2021-05-21 02:04:29 -07:00
llvm.grm [SanitizeCoverage] Add support for NoSanitizeCoverage function attribute 2021-05-25 12:57:14 +02:00
llvmdo
llvmgrep
merge-stats.py [NFC] Add utility to sum/merge stats files 2020-08-07 19:02:42 +02:00
prepare-code-coverage-artifact.py
remote-exec.py Added utility to launch tests on a target remotely. 2020-10-23 20:52:30 +04:00
schedcover.py Harmonize Python shebang 2020-07-16 21:53:45 +02:00
shuffle_fuzz.py
shuffle_select_fuzz_tester.py
sort_includes.py
sysroot.py sysroot.py: add support for darwin 2021-02-18 10:48:18 -05:00
unicode-case-fold.py
update_analyze_test_checks.py [Utils][NFC] Rename replace-function-regex in update_cc_test_checks 2021-05-05 14:19:30 -07:00
update_cc_test_checks.py [Utils] Run non-filecheck runlines in-order in update_cc_test_checks 2021-05-04 12:06:03 -07:00
update_llc_test_checks.py [UpdateTestChecks] Default --x86_scrub_rip to False 2021-05-21 19:26:15 -07:00
update_mca_test_checks.py [UpdateTestChecks] Change shebang from python to python3 2019-12-03 13:50:07 -08:00
update_mir_test_checks.py
update_test_checks.py [update_(llc_)test_checks.py] Support pre-processing commands 2021-04-28 12:19:19 +01:00
update_test_prefix.py [utils] Fix UpdateTestChecks case where 2 runs differ for last label 2020-12-15 07:16:54 -08:00
UpdateCMakeLists.pl
wciia.py [Utils] Fix indentation error in utils/wciia.py 2021-05-16 22:34:09 +08:00