llvm-project/clang/lib/Basic
Dean Michael Berris 835832d37a [XRay] Add -fxray-{always,never}-instrument= flags to clang
Summary:
The -fxray-always-instrument= and -fxray-never-instrument= flags take
filenames that are used to imbue the XRay instrumentation attributes
using a whitelist mechanism (similar to the sanitizer special cases
list). We use the same syntax and semantics as the sanitizer blacklists
files in the implementation.

As implemented, we respect the attributes that are already defined in
the source file (i.e. those that have the
[[clang::xray_{always,never}_instrument]] attributes) before applying
the always/never instrument lists.

Reviewers: rsmith, chandlerc

Subscribers: jfb, mgorny, cfe-commits

Differential Revision: https://reviews.llvm.org/D30388

llvm-svn: 299041
2017-03-30 00:29:36 +00:00
..
Attributes.cpp Ignore the "novtable" declspec when not using the Microsoft C++ ABI. 2015-07-20 22:57:31 +00:00
Builtins.cpp [OpenCL] Make OpenCL Builtins added according to the right version. 2016-07-04 16:07:18 +00:00
CMakeLists.txt [XRay] Add -fxray-{always,never}-instrument= flags to clang 2017-03-30 00:29:36 +00:00
CharInfo.cpp
Cuda.cpp [CUDA] Fix "control reaches end of non-void function" warnings in Cuda.cpp. 2016-07-07 01:06:59 +00:00
Diagnostic.cpp Remove and replace DiagStatePoint tracking and lookup data structure. 2017-01-26 01:01:01 +00:00
DiagnosticIDs.cpp Remove and replace DiagStatePoint tracking and lookup data structure. 2017-01-26 01:01:01 +00:00
DiagnosticOptions.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
FileManager.cpp FileManager: mark virtual file entries as valid entries 2017-03-28 09:18:05 +00:00
FileSystemStatCache.cpp [VFS] Replace TimeValue usage with std::chrono 2016-11-09 10:52:22 +00:00
IdentifierTable.cpp [Sema][ObjC] Warn about 'performSelector' calls with selectors 2017-03-06 15:58:34 +00:00
LangOptions.cpp [XRay] Add -fxray-{always,never}-instrument= flags to clang 2017-03-30 00:29:36 +00:00
MemoryBufferCache.cpp Reapply "Modules: Cache PCMs in memory and avoid a use-after-free" 2017-03-20 17:58:26 +00:00
Module.cpp Modules: Use hash of PCM content for SIGNATURE 2017-03-13 18:45:08 +00:00
ObjCRuntime.cpp Watch and TV OS: wire up basic ABI choices 2015-10-30 16:30:36 +00:00
OpenMPKinds.cpp [OpenMP] Prepare Sema for initial implementation for pragma 'distribute parallel for' 2017-02-17 21:29:13 +00:00
OperatorPrecedence.cpp [OpenCL] Adding reserved operator logical xor for OpenCL 2016-02-03 15:17:14 +00:00
SanitizerBlacklist.cpp Replace double-negated !SourceLocation.isInvalid() with SourceLocation.isValid(). 2015-10-03 05:15:57 +00:00
Sanitizers.cpp Pull trivial SanitizerSet methods into the header. 2015-07-14 15:34:19 +00:00
SourceLocation.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
SourceManager.cpp Drop a redundant ".get()" call (NFC) 2016-10-18 18:19:02 +00:00
TargetInfo.cpp Move setting of LangOpts based on target flags out of CompilerInstance 2017-03-22 06:36:09 +00:00
Targets.cpp Default enable the rtm feature only on skylake and later for now because Intel disabled the feature on some haswell and broadwell processors: 2017-03-28 23:03:19 +00:00
TokenKinds.cpp
Version.cpp Revert r223578, perf data collection depends on the old symbol name. 2014-12-10 23:49:03 +00:00
VersionTuple.cpp MS ABI: Implement driver-level support for thread-safe statics 2015-03-22 08:39:22 +00:00
VirtualFileSystem.cpp Reapply [VFS] Ignore broken symlinks in the directory iterator. 2017-03-14 00:14:40 +00:00
Warnings.cpp
XRayLists.cpp [XRay] Add -fxray-{always,never}-instrument= flags to clang 2017-03-30 00:29:36 +00:00