llvm-project/clang/docs
Eric Fiselier 123c749ee9 [Driver] Add option to manually control discarding value names in LLVM IR.
Summary:
Currently, assertion-disabled Clang builds emit value names when generating LLVM IR. This is controlled by the `NDEBUG` macro, and is not easily overridable. In order to get IR output containing names from a release build of Clang, the user must manually construct the CC1 invocation w/o the `-discard-value-names` option. This is less than ideal.

For example, Godbolt uses a release build of Clang, and so when asked to emit LLVM IR the result lacks names, making it harder to read. Manually invoking CC1 on Compiler Explorer is not feasible.

This patch adds the driver options `-fdiscard-value-names` and `-fno-discard-value-names` which allow the user to override the default behavior. If neither is specified, the old behavior remains.

Reviewers: erichkeane, aaron.ballman, lebedev.ri

Reviewed By: aaron.ballman

Subscribers: bogner, cfe-commits

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

llvm-svn: 324498
2018-02-07 18:36:51 +00:00
..
CommandGuide Driver: Remove support for -fobjc-gc* 2016-12-07 00:31:10 +00:00
analyzer [analyzer] Document the issue hash debugging facility 2017-11-13 11:13:02 +00:00
tools [ASTMatchers] Support generating docs for single-line matchers 2018-01-17 23:14:49 +00:00
AddressSanitizer.rst [docs] Update LeakSanitizer documentation to reflect OS X support 2017-09-13 19:40:10 +00:00
AttributeReference.rst
AutomaticReferenceCounting.rst docs: update docs for objc_storeStrong behaviour 2017-02-11 17:24:09 +00:00
Block-ABI-Apple.rst Typo fix: appropo -> apropos. NFC. 2017-06-19 20:08:20 +00:00
Block-ABI-Apple.txt
BlockLanguageSpec.rst
CMakeLists.txt docs: Fix Sphinx detection with out-of-tree builds 2017-05-09 01:42:33 +00:00
ClangCheck.rst [clang docs] Minor fix in ClangCheck.rst 2016-11-14 17:31:24 +00:00
ClangCommandLineReference.rst [Docs] Re-generate command line documentation. 2018-01-23 18:40:15 +00:00
ClangFormat.rst [Docs] Update list of languages clang-format can format 2017-11-22 10:47:35 +00:00
ClangFormatStyleOptions.rst Fix typos of occurred and occurrence 2018-01-24 10:26:09 +00:00
ClangPlugins.rst Removing more :option: tags that we do not have corresponding .. option directives for; these are causing the sphinx bot to fail (http://lab.llvm.org:8011/builders/clang-sphinx-docs/builds/15195/steps/docs-clang-html/logs/stdio). 2016-07-14 14:07:37 +00:00
ClangTools.rst Fixed a link. 2015-11-04 19:42:17 +00:00
ControlFlowIntegrity.rst [CFI] Add CFI-icall pointer type generalization 2017-10-31 22:39:44 +00:00
ControlFlowIntegrityDesign.rst Fix broken links to the Itanium CXX ABI 2017-09-12 00:21:17 +00:00
CrossCompilation.rst [docs] Use x86_64 and i386 instead of x86 as arch for triples. 2016-12-05 22:52:20 +00:00
DataFlowSanitizer.rst
DataFlowSanitizerDesign.rst
DiagnosticsReference.rst [www] Regenerate diagnostics reference. 2017-10-26 21:06:52 +00:00
DriverArchitecture.png
DriverInternals.rst Driver: Replace a couple of out of date terms in the docs 2015-07-03 08:03:43 +00:00
ExternalClangExamples.rst Add LibreOffice Clang plugin to ExternalClangExamples.rst 2017-03-22 08:45:49 +00:00
FAQ.rst
HardwareAssistedAddressSanitizerDesign.rst [hwasan] Add a paragraph on stack instrumentation. 2018-02-03 01:06:21 +00:00
HowToSetupToolingForLLVM.rst Fixed a typo (compilation_commands.json --> compile_commands.json). 2016-08-19 13:36:31 +00:00
InternalsManual.rst [NFC] fix trivial typos in comments and documents 2018-01-26 08:15:52 +00:00
IntroductionToTheClangAST.rst
ItaniumMangleAbiTags.rst NFC fix documentation build by rL263015 2016-03-09 19:39:16 +00:00
JSONCompilationDatabase.rst [Tooling] Use FixedCompilationDatabase when `compile_flags.txt` is found. 2017-11-09 10:37:39 +00:00
LTOVisibility.rst docs: Use the term "whole-program devirtualization" instead of "virtual function call optimization". 2017-04-10 23:54:28 +00:00
LanguageExtensions.rst Support `#pragma comment(lib, "name")` in the frontend for ELF 2018-02-07 01:46:46 +00:00
LeakSanitizer.rst [docs] Update LeakSanitizer documentation to reflect OS X support 2017-09-13 19:40:10 +00:00
LibASTMatchers.rst Typo fix in AST matcher documentation: s/aribtrary/arbitrary/ 2016-12-31 01:04:02 +00:00
LibASTMatchersReference.html Add hasTrailingReturn AST matcher 2018-01-22 22:45:23 +00:00
LibASTMatchersTutorial.rst [clang] Minor fix to libASTMatcherTutorial 2016-12-30 20:49:44 +00:00
LibFormat.rst clang-format - Also reference the list of style option of clang-format in Libformat 2017-06-26 03:19:05 +00:00
LibTooling.rst
MSVCCompatibility.rst Update MSVC compat docs about debug info 2016-12-14 21:34:19 +00:00
Makefile.sphinx docs: Clarify that cfi-unrelated-cast is based on lifetime. 2016-02-01 18:55:50 +00:00
MemorySanitizer.rst Fix a typo 2017-06-26 02:45:08 +00:00
Modules.rst [Modules] Change private modules rules and warnings 2017-12-22 02:53:30 +00:00
ObjectiveCLiterals.rst
OpenMPSupport.rst [DOCS] Mention OpenMP Tools Interface in runtime library 2018-01-22 15:27:45 +00:00
PCHInternals.rst Removing a few more :option: tags that we do not have corresponding .. option directives for; these are causing the sphinx bot to fail (http://lab.llvm.org:8011/builders/clang-sphinx-docs/builds/15197/steps/docs-clang-html/logs/stdio). 2016-07-14 15:32:11 +00:00
PCHLayout.graffle
PCHLayout.png
PTHInternals.rst
RAVFrontendAction.rst docs: Remove references to the long-defunct LLVM_USED_LIBS 2015-11-26 19:52:24 +00:00
README.txt
RefactoringEngine.rst Fix small nits in clang-refactor doc. 2017-10-10 09:00:56 +00:00
ReleaseNotes.rst Document attribute target multiversioning. 2018-01-08 23:36:29 +00:00
SafeStack.rst docs: Document how safestack handles setjmp and exceptions. 2016-05-24 23:38:02 +00:00
SanitizerCoverage.rst docs: don't say that data flow tracing interface is unstable 2017-08-31 11:02:44 +00:00
SanitizerSpecialCaseList.rst Allow specifying sanitizers in blacklists 2017-09-25 22:11:12 +00:00
SanitizerStats.rst Introduce -fsanitize-stats flag. 2016-01-16 00:31:22 +00:00
SourceBasedCodeCoverage.rst [docs] Coverage: Improve the wording a bit 2017-06-19 21:26:04 +00:00
ThinLTO.rst [NFC] fix trivial typo in document 2018-01-16 13:19:31 +00:00
ThreadSafetyAnalysis.rst Correct the attribute spelling for guarded_var and pt_guarded_var. 2017-05-08 12:39:17 +00:00
ThreadSanitizer.rst [docs] Update the TSan and MSan docs to refer to the new no_sanitize attribute 2016-10-27 21:38:44 +00:00
Toolchain.rst [Docs] Fix typo in toolchain documentation 2018-01-12 02:57:02 +00:00
Tooling.rst
UndefinedBehaviorSanitizer.rst [ubsan] Diagnose noreturn functions which return 2017-12-21 00:10:25 +00:00
UsersManual.rst [Driver] Add option to manually control discarding value names in LLVM IR. 2018-02-07 18:36:51 +00:00
conf.py Update docs version and clear release notes for 7.0.0 2018-01-03 15:49:39 +00:00
doxygen-mainpage.dox [docs] Add missing file 2016-03-03 10:44:10 +00:00
doxygen.cfg.in [NFC] fix trivial typos in comments and documents 2018-01-26 08:15:52 +00:00
index.rst [OPENMP] Current status of OpenMP support. 2018-01-08 19:02:51 +00:00
make.bat

README.txt

See llvm/docs/README.txt