llvm-project/clang/docs
Petr Hosek 389dc94d4b [InstrProfiling] Generate runtime hook for Fuchsia
When none of the translation units in the binary have been instrumented
we shouldn't need to link the profile runtime. However, because we pass
-u__llvm_profile_runtime on Linux and Fuchsia, the runtime would still
be pulled in and incur some overhead. On Fuchsia which uses runtime
counter relocation, it also means that we cannot reference the bias
variable unconditionally.

This change modifies the InstrProfiling pass to pull in the profile
runtime only when needed by declaring the __llvm_profile_runtime symbol
in the translation unit only when needed. For now we restrict this only
for Fuchsia, but this can be later expanded to other platforms. This
approach was already used prior to 9a041a7522, but we changed it
to always generate the __llvm_profile_runtime due to a TAPI limitation,
but that limitation may no longer apply, and it certainly doesn't apply
on platforms like Fuchsia.

Differential Revision: https://reviews.llvm.org/D98061
2021-08-10 23:21:15 -07:00
..
CommandGuide [clang][docs] Fix documentation of -O 2020-09-17 13:44:01 +01:00
analyzer Bump the trunk major version to 14 2021-07-27 21:58:25 -07:00
tools [ASTMatchers] Make Param functors variadic 2021-03-03 11:41:20 +00:00
APINotes.rst docs: add documentation describing API Notes 2020-10-05 18:29:13 +00:00
AddressSanitizer.rst [asan] Slightly modified the documentation. 2021-07-15 16:36:00 -07:00
AutomaticReferenceCounting.rst [clang] Fix typos in documentation (NFC) 2021-03-06 15:52:52 -08:00
Block-ABI-Apple.rst Fix the type of the invoke function in the block ABI documentation 2020-09-04 10:29:09 -07:00
Block-ABI-Apple.txt
BlockLanguageSpec.rst
CMakeLists.txt fix comment typo to cycle bots 2020-04-06 18:58:27 -04:00
ClangCheck.rst
ClangCommandLineReference.rst [X86] AVX512FP16 instructions enabling 1/6 2021-08-10 12:46:01 +08:00
ClangFormat.rst [clang-format] Add basic support for formatting JSON 2021-06-26 15:20:17 +01:00
ClangFormatStyleOptions.rst [clang-format] Add basic support for formatting JSON 2021-06-26 15:20:17 +01:00
ClangFormattedStatus.rst [clang-format] NFC, 2% improvement in overall clang-formatted status (now 50%) 2021-06-04 15:02:44 +01:00
ClangOffloadBundler.rst [clang-offload-bundler] Add unbundling of archives containing bundled object files into device specific archives 2021-06-30 17:55:50 +05:30
ClangPlugins.rst [Branch-Rename] Fix some links 2021-02-01 16:43:21 +05:30
ClangStaticAnalyzer.rst
ClangTools.rst [Branch-Rename] Fix some links 2021-02-01 16:43:21 +05:30
ConstantInterpreter.rst [docs] Fix warnings in ConstantInterpreter 2020-05-23 19:36:05 +00:00
ControlFlowIntegrity.rst [clang] accept -fsanitize-ignorelist= in addition to -fsanitize-blacklist= 2021-05-04 10:24:00 -04:00
ControlFlowIntegrityDesign.rst [clang] Fix typos in documentation (NFC) 2021-03-06 15:52:52 -08:00
CrossCompilation.rst
DataFlowSanitizer.rst [dfsan][NFC] Fix doc format 2021-07-27 04:22:20 +00:00
DataFlowSanitizerDesign.rst [dfsan][NFC] Describe how origin trace tracking works 2021-07-27 21:10:39 +00:00
DriverArchitecture.png
DriverInternals.rst
ExternalClangExamples.rst
FAQ.rst
HardwareAssistedAddressSanitizerDesign.rst [HWASan] Mention x86_64 aliasing mode in design doc. 2021-03-25 14:22:20 -07:00
HowToSetupToolingForLLVM.rst Don't call anyone lazy in the documentation. 2020-03-17 16:33:28 -04:00
InternalsManual.rst Fix a typo in the internals manual 2021-06-08 12:32:56 -04:00
IntroductionToTheClangAST.rst
ItaniumMangleAbiTags.rst
JSONCompilationDatabase.rst [docs] Clarify compile_flags.txt subtleties 2021-01-31 11:16:59 +01:00
LTOVisibility.rst [Docs] Document --lto-whole-program-visibility 2020-08-25 19:44:54 -07:00
LanguageExtensions.rst [X86] AVX512FP16 instructions enabling 1/6 2021-08-10 12:46:01 +08:00
LeakSanitizer.rst [lsan][docs] Clarify supported platforms 2021-04-21 10:27:55 -07:00
LibASTImporter.rst Doc: Links should use https 2020-03-22 22:49:33 +01:00
LibASTMatchers.rst
LibASTMatchersReference.html Reapply "Support Attr in DynTypedNode and ASTMatchers." 2021-08-06 22:30:32 +02:00
LibASTMatchersTutorial.rst [docs] Fix linking issues in LibASTMatchers tutorial 2021-07-05 12:11:25 +03:00
LibFormat.rst [clang-format][docfix] Update predefined styles in docs 2020-05-20 20:03:53 -04:00
LibTooling.rst [Branch-Rename] Fix some links 2021-02-01 16:43:21 +05:30
MSVCCompatibility.rst
Makefile.sphinx
MatrixTypes.rst [Matrix] Add missing newline to appease sphinx. 2021-03-12 09:33:36 +00:00
MemorySanitizer.rst [clang] accept -fsanitize-ignorelist= in addition to -fsanitize-blacklist= 2021-05-04 10:24:00 -04:00
Modules.rst Allow searching for prebuilt implicit modules. 2020-11-10 10:14:13 -08:00
ObjectiveCLiterals.rst
OpenCLSupport.rst [OpenCL][Docs] Adding builtins requires adding to both now 2021-08-06 10:21:26 +01:00
OpenMPSupport.rst [clang/OpenMP][docs] Update OpenMP support list for unroll. 2021-08-03 18:11:17 -05:00
PCHInternals.rst
PCHLayout.graffle
PCHLayout.png
RAVFrontendAction.rst [docs] Use make_unique in FrontendAction example 2021-04-20 13:47:16 -04:00
README.txt
RefactoringEngine.rst
ReleaseNotes.rst [X86] AVX512FP16 instructions enabling 1/6 2021-08-10 12:46:01 +08:00
SYCLSupport.rst [SYCL] Enable `opencl_global_[host,device]` attributes for SYCL 2021-05-18 10:27:35 +03:00
SafeStack.rst
SanitizerCoverage.rst [Driver] Delete -fsanitize-coverage-blocklist= in favor of -fsanitize-coverage-ignorelist= 2021-06-15 20:32:24 -07:00
SanitizerSpecialCaseList.rst [clang] accept -fsanitize-ignorelist= in addition to -fsanitize-blacklist= 2021-05-04 10:24:00 -04:00
SanitizerStats.rst
ShadowCallStack.rst
SourceBasedCodeCoverage.rst Coverage: Document how to collect a profile without a filesystem 2021-04-22 11:29:39 -07:00
ThinLTO.rst [docs] Try to make this bullet list in ThinLTO.rst actually be a bullet list 2020-11-24 14:08:42 +01:00
ThreadSafetyAnalysis.rst Thread safety analysis: Mock getter for private mutexes can be undefined 2021-07-23 14:46:02 +02:00
ThreadSanitizer.rst [clang] accept -fsanitize-ignorelist= in addition to -fsanitize-blacklist= 2021-05-04 10:24:00 -04:00
Toolchain.rst clang: libstdc++ LWM is 4.8.3 2021-04-22 05:26:07 -07:00
Tooling.rst
UndefinedBehaviorSanitizer.rst Improve UBSan documentation 2021-08-02 15:10:21 -07:00
UsersManual.rst [InstrProfiling] Generate runtime hook for Fuchsia 2021-08-10 23:21:15 -07:00
conf.py [docs] Bump the trunk major version to 13 and update copyright year. 2021-05-03 18:44:47 +02:00
doxygen-mainpage.dox
doxygen.cfg.in
index.rst [Doc] Add SYCLSupport.rst to index toctree. 2021-04-26 16:16:10 +03:00
make.bat

README.txt

See llvm/docs/README.txt