llvm-project/llvm/lib
Richard Smith 1132c75bd7 Remove vptr dispatch from FoldingSet.
Summary:
Instead of storing a vptr in each FoldingSet instance, form an
equivalent struct and pass it implicitly from FoldingSet into the
various FoldingSetBase methods.

This has three benefits:
 * FoldingSet becomes one pointer smaller.
 * Under LTO, the "virtual" functions are much easier to inline.
 * The element type no longer needs to be complete when instantiating
   FoldingSet<T>, only when instantiating an insert / lookup member.

Reviewers: rnk

Subscribers: hiraditya, dexonsmith, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78247
2020-04-15 17:39:35 -07:00
..
Analysis [CallGraphUpdater] Remove nodes from their SCC (old PM) 2020-04-15 18:38:50 -05:00
AsmParser Clean up usages of asserting vector getters in Type 2020-04-10 13:58:11 -07:00
BinaryFormat [llvm-objdump][XCOFF] Use symbol index+symbol name + storage mapping class as label for -D 2020-04-06 10:10:10 -04:00
Bitcode [llvm][NFC][CallSite] Remove Implementation uses of CallSite 2020-04-14 14:49:47 -07:00
Bitstream Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
CodeGen [MC] Rename MCSection*::getSectionName() to getName(). NFC 2020-04-15 16:48:14 -07:00
DWARFLinker [DWARFLinker][dsymutil] followup for 88c2137b6d 2020-04-08 16:46:52 +03:00
DebugInfo Fix DWARFDataExtractor::getRelocatedValue near EOF 2020-04-15 12:47:57 +02:00
Demangle Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
ExecutionEngine [ORC] Add an OrcV2 C API function for configuring TargetMachines. 2020-04-10 15:51:29 -07:00
Frontend [ADT/STLExtras.h] - Add llvm::is_sorted wrapper and update callers. 2020-04-14 14:11:02 +03:00
FuzzMutate Remove CompositeType class. 2020-03-18 13:53:17 -07:00
Fuzzer
IR [LICM] Try to merge debug locations when sinking. 2020-04-15 12:29:34 -07:00
IRReader
LTO Enable new passmanager plugin support for LTO. 2020-04-14 15:07:07 -07:00
LineEditor Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Linker Remove SequentialType from the type heirarchy. 2020-04-06 17:03:49 -07:00
MC [MC] Rename MCSection*::getSectionName() to getName(). NFC 2020-04-15 16:48:14 -07:00
MCA Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
Object Enable finding bitcode in wasm objects 2020-04-15 12:33:33 -07:00
ObjectYAML [yaml2obj] - Add NBucket and NChain fields for the SHT_HASH section. 2020-04-01 12:28:16 +03:00
Option Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Passes Allow disabling of vectorization using internal options 2020-04-14 18:09:10 -07:00
ProfileData Recommit [SampleFDO] Add flag for partial profile. 2020-04-07 14:28:25 -07:00
Remarks Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
Support Remove vptr dispatch from FoldingSet. 2020-04-15 17:39:35 -07:00
TableGen Explicitly include <cassert> when using assert 2020-03-02 22:45:28 +01:00
Target [MC] Rename MCSection*::getSectionName() to getName(). NFC 2020-04-15 16:48:14 -07:00
Testing
TextAPI PR45561: Return a literal string rather than an error string to avoid returning reference to local 2020-04-15 14:27:29 -07:00
ToolDrivers [llvm] Replace SmallStr.str().str() with std::string conversion operator. 2020-01-29 21:16:46 -08:00
Transforms [Reassociate] Preserve AAManager and BasicAA analyses. 2020-04-15 16:58:03 -07:00
WindowsManifest Try to fix WindowsManifest CMake logic on Windows 2020-02-28 17:24:03 -08:00
XRay Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
CMakeLists.txt
LLVMBuild.txt