1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/include/llvm
Peter Collingbourne 7f61b8d620 IR: Use pointers instead of GUIDs to represent edges in the module summary. NFCI.
When profiling a no-op incremental link of Chromium I found that the functions
computeImportForFunction and computeDeadSymbols were consuming roughly 10% of
the profile. The goal of this change is to improve the performance of those
functions by changing the map lookups that they were previously doing into
pointer dereferences.

This is achieved by changing the ValueInfo data structure to be a pointer to
an element of the global value map owned by ModuleSummaryIndex, and changing
reference lists in the GlobalValueSummary to hold ValueInfos instead of GUIDs.
This means that a ValueInfo will take a client directly to the summary list
for a given GUID.

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

llvm-svn: 302108
2017-05-04 03:36:16 +00:00
..
ADT [APInt] Give the value union a name so we can remove assumptions on VAL being the larger member 2017-05-03 15:46:24 +00:00
Analysis [SCEV] createAddRecFromPHI: Optimize for the most common case. 2017-05-03 23:53:38 +00:00
AsmParser
Bitcode Bitcode: Make the summary reader responsible for merging. NFCI. 2017-05-01 22:04:36 +00:00
CodeGen Re-land r301697 "[IR] Make add/remove Attributes use AttrBuilder instead of AttributeList" 2017-05-02 22:07:37 +00:00
Config Allow suppressing host and target info in VersionPrinter 2017-04-19 00:03:36 +00:00
DebugInfo clang-format and restyle DWARFFormValue before working on it. NFC 2017-05-03 21:53:21 +00:00
Demangle
ExecutionEngine [Orc] Fix a warning by removing an unused lambda capture. 2017-04-24 01:21:23 +00:00
IR IR: Use pointers instead of GUIDs to represent edges in the module summary. NFCI. 2017-05-04 03:36:16 +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 [LLVM][inline-asm] Altmacro absolute expression '%' feature 2017-05-01 13:20:12 +00:00
Object Add llvm::object::getELFSectionTypeName(). 2017-05-02 14:04:52 +00:00
ObjectYAML [WebAssembly] Allow for signed relocation addends 2017-04-26 00:02:31 +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: clean up some stale declarations (NFC) 2017-04-24 21:05:05 +00:00
Support [KnownBits] Add methods for determining if KnownBits is a constant value 2017-05-03 23:12:29 +00:00
TableGen [tblgen] GCC/MS builtin to target intrisics map. 2017-04-19 19:14:20 +00:00
Target [PowerPC, DAGCombiner] Fold a << (b % (sizeof(a) * 8)) back to a single instruction 2017-05-03 00:07:02 +00:00
Transforms Rename WeakVH to WeakTrackingVH; NFC 2017-05-01 17:07:49 +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 [PM/LoopUnswitch] Introduce a new, simpler loop unswitch pass. 2017-04-27 18:45:20 +00:00
LinkAllIR.h
LinkAllPasses.h
module.modulemap
module.modulemap.build
Pass.h
PassAnalysisSupport.h
PassInfo.h
PassRegistry.h
PassSupport.h Fixing outdated comment [NFC] 2017-04-20 18:20:02 +00:00