aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-11-16 16:22:18 +0100
committerNikita Popov <nikita.ppv@gmail.com>2019-12-04 17:49:33 +0100
commit7e18aeba5062cd4324a9efb7bc25c9dbc4a34c2c (patch)
treed8d85a375ffa82c642f4f9bf8cfd94718fb26cfd /clang/lib/Frontend/CompilerInvocation.cpp
parent5422e81a89f50263fd111841090b96cd0d49120a (diff)
downloadllvm-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