[PATCH] [Refactor] Replace RegionPasses by FunctionPasses

Tobias Grosser tobias at grosser.es
Sun Mar 8 03:55:59 PDT 2015

On 08.03.2015 00:29, Johannes Doerfert wrote:
> I will cut this commit into pieces (as far as possible) but I wanted
> to get some initial feedback.
> In http://reviews.llvm.org/D7986#136089, @grosser wrote:
>> The patch Zino refers to was committed in 231485. It did not have a
>> large impact on our LNT performance builders (which do not seem to
>> even see the slowdown we try to address here). However, on my laptop
>> I was able to reproduce this performance issue in a cmake release
>> build and Zino's patch fixes it at least for tramp3d-v4 nicely.
>> Johannes, could you check if there is still a performance issue that
>> needs to be addressed?
> How can the buildbots run e.g., tramp3d in 9sec when it takes for me
> with lnt [1,2] >40sec for one of the source files alone. This is not
> new but they do perform that good all the time... I'm puzzled here...

Where do you see the 9 seconds?

The latest run shows 41 seconds compilation time for tramp3d:


On my laptop I get 18 seconds compile time using:

mysandbox/bin/lnt  runtest --verbose  nt --sandbox nt  --cc
cmake_opt/bin/clang --cxx cmake_opt/bin/clang --without-llvm
--test-suite test-suite/ --no-machdep-info pollyperf-O3-polly
--cflag=-Xclang --cflag=-load --cflag=-Xclang
--only-test=MultiSource/Benchmarks/tramp3d-v4 --mllvm=-polly

Before Zino's patch I was seeing with a cmake release-no-asserts build
around 2:29 seconds just compile time. With zino's patch, the time is
down to the 18 seconds I reported above. As Zino explained the slowdown
was only visibile if basic blocks are unnamed, which is only the case
for no-asserts builds. As our LNT builds run with asserts, this issue
was never visible there (and consequently we did not see any speedups
due to the fix).

I have the feeling the performance problem you have seen initially has
been solved, but as it was only visible in certain configurations, it
would be good if you could confirm this.


More information about the llvm-commits mailing list