[PATCH] [Refactor] Replace RegionPasses by FunctionPasses
tobias at grosser.es
Wed Mar 4 06:16:13 PST 2015
On 04.03.2015 11:14, Johannes Doerfert wrote:
> Hey Tobias,
> I attached 2 lnt reports to this mail. The first (report_region.json)
> was created using the current polly/master. The second
> (report_function.json) was created with the region->function pass patch.
> Note that this patch is not yet at its full capacity, however over the 3
> runs I measured I got:
> Performance Regressions 16
> Performance Improvements 159
> Unchanged Tests 817
> Total Tests 992
> Where as the execution time changes (only 8 in total) should be jitter.
> The point I try to make here is, 3 runs with the region pass manager take
> 2:35:27 (3 runs region passes)
> but 3 runs with the function pass manager only
> 2:07:48 (3 runs function passes)
> hence we save ~18% of the lnt time (if I didn't do a stupid math mistake).
> To be precise, we save compile time "only" for larger functions with small SCoP
> coverage but we do not pay for it in any other case.
Amazing. The performance results are really interesting.
> Does this convince you that region passes have a bad impact on compile time?
(Even before I was convinced going somewhere in this direction is a good
idea, but I wanted to understand the reasons/motivations for the changes
as I had the feeling there are several good reasons to go into this
What are the next steps you would like to take? Is this the patch you
would like me to review or are you planning to split/change something
I currently only commented on the DependenceInfo changes, but I have the
feeling they could possibly be split out nicely without yet having any
performance impact. What do you think?
More information about the llvm-commits