diff options
author | Richard Smith <richard@metafoo.co.uk> | 2020-04-15 15:00:08 -0700 |
---|---|---|
committer | Richard Smith <richard@metafoo.co.uk> | 2020-04-15 17:39:35 -0700 |
commit | 1132c75bd77a4ae5e4634e22ac693128e3f39e5c (patch) | |
tree | d1bae7dc893d45c45b31c34a34b4454be5b668b8 /llvm/lib/CodeGen/MachineModuleInfoImpls.cpp | |
parent | edccc35e8fa2c546e0ef1c8efde56e6b12e3c175 (diff) | |
download | llvm-1132c75bd77a4ae5e4634e22ac693128e3f39e5c.zip llvm-1132c75bd77a4ae5e4634e22ac693128e3f39e5c.tar.gz llvm-1132c75bd77a4ae5e4634e22ac693128e3f39e5c.tar.bz2 |
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
Diffstat (limited to 'llvm/lib/CodeGen/MachineModuleInfoImpls.cpp')
0 files changed, 0 insertions, 0 deletions