aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorJohannes Doerfert <johannes@jdoerfert.de>2020-04-16 20:32:46 -0500
committerJohannes Doerfert <johannes@jdoerfert.de>2020-05-10 22:27:00 -0500
commit3a8740bdd5c48a5e870f62401e22c0dde503d624 (patch)
tree45cf2530532006080b0b59b0f7214f7ba9d4f0cd /clang/lib/Frontend/CompilerInvocation.cpp
parent3c44c441db0f8d7e210806b5b221cd9ed66f2d7b (diff)
downloadllvm-3a8740bdd5c48a5e870f62401e22c0dde503d624.zip
llvm-3a8740bdd5c48a5e870f62401e22c0dde503d624.tar.gz
llvm-3a8740bdd5c48a5e870f62401e22c0dde503d624.tar.bz2
[Attributor] Merge the query set into AbstractAttribute
The old QuerriedAAs contained two vectors, one for required one for optional dependences (=queries). We now use a single vector and encode the kind directly in the pointer. This reduces memory consumption and makes the connection between abstract attributes and their dependences clearer. No functional change is intended, changes in the test are due to different order in the query map. Neither the order before nor now is in any way special. --- Single run of the Attributor module and then CGSCC pass (oldPM) for SPASS/clause.c (~10k LLVM-IR loc): Before: ``` calls to allocation functions: 543734 (329735/s) temporary memory allocations: 105895 (64217/s) peak heap memory consumption: 19.19MB peak RSS (including heaptrack overhead): 102.26MB total memory leaked: 269.10KB ``` After: ``` calls to allocation functions: 513292 (341511/s) temporary memory allocations: 106028 (70544/s) peak heap memory consumption: 13.35MB peak RSS (including heaptrack overhead): 95.64MB total memory leaked: 269.10KB ``` Difference: ``` calls to allocation functions: -30442 (208506/s) temporary memory allocations: 133 (-910/s) peak heap memory consumption: -5.84MB peak RSS (including heaptrack overhead): 0B total memory leaked: 0B ``` --- Reviewed By: uenoku Differential Revision: https://reviews.llvm.org/D78729
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions