[all-commits] [llvm/llvm-project] 3a61bf: [DomTree] Use SmallVector<DomTreeNodeBase *, 4> in...
Florian Hahn via All-commits
all-commits at lists.llvm.org
Wed Sep 9 03:20:56 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 3a61bfb027a623807a30adb496ab62203c9b4ba5
https://github.com/llvm/llvm-project/commit/3a61bfb027a623807a30adb496ab62203c9b4ba5
Author: Florian Hahn <flo at fhahn.com>
Date: 2020-09-09 (Wed, 09 Sep 2020)
Changed paths:
M llvm/include/llvm/Support/GenericDomTree.h
Log Message:
-----------
[DomTree] Use SmallVector<DomTreeNodeBase *, 4> instead of std::vector.
Currentl DomTreeNodeBase is using std::vectot to store it's children.
Using SmallVector should be more efficient in terms of compile-time.
A size of 4 seems to be the sweet-spot in terms of compile-time,
according to
http://llvm-compile-time-tracker.com/compare.php?from=9933188c90615c9c264ebb69117f09726e909a25&to=d7a801d027648877b20f0e00e822a7a64c58d976&stat=instructions
This results in the following geomean improvements
```
geomean insts max rss
O3 -0.31 % +0.02 %
ReleaseThinLTO -0.35 % -0.12 %
ReleaseLTO -0.28 % -0.12 %
O0 -0.06 % -0.02 %
NewPM O3 -0.36 % +0.05 %
ReleaseThinLTO (link only) -0.44 % -0.10 %
ReleaseLTO-g (link only): -0.32 % -0.03 %
```
I am not sure if there's any other benefits of using std::vector over
SmallVector.
Reviewed By: kuhar, asbirlea
Differential Revision: https://reviews.llvm.org/D87319
More information about the All-commits
mailing list