1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/include/llvm
Xin Tong dc8dd17743 Allow suppressing host and target info in VersionPrinter
Summary:
VersionPrinter by default outputs information about the Host CPU
and Default target. Printing this information requires linking in
a large amount of data, such as supported target triples as C
strings, which in turn bloats the binary size.

Enable a new CMake option LLVM_VERSION_PRINTER_SHOW_HOST_TARGET_INFO
which controls printing of the host and target info. This allows
the target triple names to be dead-code stripped. This is a nice
win for LLVM clients that wish to minimize their binary size, such
as graphics drivers.

By default this is ON, so there is no change in the default behavior.
Clients who wish to suppress this printing can do so by setting this
option to off via CMake.

A test app on Linux that uses ParseCommandLineOptions() shows a binary
size reduction of 23KB (from 149K to 126K) for a Release build, and 24KB
(from 135K to 111K) in a MinSizeRel build.

Reviewers: klimek, beanz, bogner, chandlerc, compnerd

Reviewed By: compnerd

Patch by pammon (Peter Ammon) !

Subscribers: llvm-commits

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

llvm-svn: 300630
2017-04-19 00:03:36 +00:00
..
ADT [APInt] Inline the single word case of lshrInPlace similar to what we do for <<=. 2017-04-18 19:13:27 +00:00
Analysis [MemoryBuiltins] Add isMallocOrCallocLikeFn so BasicAA can check for both at the same time 2017-04-18 21:43:46 +00:00
AsmParser
Bitcode Bitcode: Add a string table to the bitcode format. 2017-04-17 17:51:36 +00:00
CodeGen PR32382: Fix emitting complex DWARF expressions. 2017-04-18 01:21:53 +00:00
Config Allow suppressing host and target info in VersionPrinter 2017-04-19 00:03:36 +00:00
DebugInfo Add GNU_discriminator support for inline callsites in llvm-symbolizer. 2017-04-17 20:10:39 +00:00
Demangle
ExecutionEngine [ORC] Re-enable the Error/Expected unit tests that were disabled in r300177. 2017-04-14 00:06:12 +00:00
IR Add a getPointerOperandType() helper to LoadInst and StoreInst; NFC 2017-04-18 22:00:54 +00:00
IRReader
LibDriver
LineEditor
Linker
LTO Object, LTO: Add target triple to irsymtab and LTO API. 2017-04-14 02:55:06 +00:00
MC [ARM] Add hardware build attributes in assembler 2017-04-18 12:52:35 +00:00
Object Object: Shrink the size of irsymtab::Symbol by a word. NFCI. 2017-04-17 23:43:49 +00:00
ObjectYAML Align all scalar numbers to LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR 2017-04-04 06:02:32 +00:00
Option Work around MSVC rejects-valid bug related to C++11 narrowing conversions. 2017-04-13 00:14:39 +00:00
Passes
ProfileData [ProfileData] Unify getInstrProf*SectionName helpers 2017-04-15 00:09:57 +00:00
Support Revert "[GlobalISel] Support vector-of-pointers in LLT" 2017-04-18 09:26:36 +00:00
TableGen [globalisel][tablegen] Add experimental support for OperandWithDefaultOps, PredicateOperand, and OptionalDefOperand 2017-04-12 08:23:08 +00:00
Target DAG: Make mayBeEmittedAsTailCall parameter const 2017-04-18 21:16:46 +00:00
Transforms [ProfileData] Unify getInstrProf*SectionName helpers 2017-04-15 00:09:57 +00:00
XRay [XRay][tools] Add option to llvm-xray extract to symbolize functions 2017-04-18 23:23:54 +00:00
CMakeLists.txt Support: Add a VCSRevision.h header file. 2017-04-13 01:26:12 +00:00
InitializePasses.h [PGO] Memory intrinsic calls optimization based on profiled size 2017-04-04 16:42:20 +00:00
LinkAllIR.h
LinkAllPasses.h [PGO] Memory intrinsic calls optimization based on profiled size 2017-04-04 16:42:20 +00:00
module.modulemap
module.modulemap.build
Pass.h
PassAnalysisSupport.h
PassInfo.h
PassRegistry.h
PassSupport.h