diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2019-11-16 16:22:18 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-12-04 17:49:33 +0100 |
commit | 7e18aeba5062cd4324a9efb7bc25c9dbc4a34c2c (patch) | |
tree | d8d85a375ffa82c642f4f9bf8cfd94718fb26cfd /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 5422e81a89f50263fd111841090b96cd0d49120a (diff) | |
download | llvm-7e18aeba5062cd4324a9efb7bc25c9dbc4a34c2c.zip llvm-7e18aeba5062cd4324a9efb7bc25c9dbc4a34c2c.tar.gz llvm-7e18aeba5062cd4324a9efb7bc25c9dbc4a34c2c.tar.bz2 |
[LVI] Restructure caching
Variant on D70103. The caching is switched to always use a BB to
cache entry map, which then contains per-value caches. A separate
set contains value handles with a deletion callback. This allows us
to properly invalidate overdefined values.
A possible alternative would be to always cache by value first and
have per-BB maps/sets in the each cache entry. In that case we could
use a ValueMap and would avoid the separate value handle set. I went
with the BB indexing at the top level to make it easier to integrate
D69914, but possibly that's not the right choice.
Differential Revision: https://reviews.llvm.org/D70376
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions