HomePhabricator

[Outliner] Fix compile-time overhead for candidate choice

Description

[Outliner] Fix compile-time overhead for candidate choice

The old candidate collection method in the outliner caused some very large
regressions in compile time on large tests. For MultiSource/Benchmarks/7zip it
caused a 284.07 s or 1156% increase in compile time. On average, using the
SingleSource/MultiSource tests, it caused an average increase of 8 seconds in
compile time (something like 1000%).

This commit replaces that candidate collection method with a new one which
only visits each node in the tree once. This reduces the worst compile time
increase (still 7zip) to a 0.542 s overhead (22%) and the average compile time
increase on SingleSource and MultiSource to 0.018 s (4%).

Details

Committed
paquetteMar 23 2017, 2:27 PM
Parents
rL298647: Update the SamplePGO test to verify that unroll/icp is not invoked in thinlto…
Branches
Unknown
Tags
Unknown