[PATCH] D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only]

Larisse Voufo via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 13 21:26:55 PST 2016


lvoufo added a comment.

Alas, I wanted to address all these comments today, but I ended up being consumed with a bit of data crunching, while building clang with different versions of clang (with and without this patch).
For what it's worth---and my intention was for this to help this ongoing discussion, here are the results:
https://docs.google.com/spreadsheets/d/19W1167l9QFrXMXccX4-cValmC5EtlFfUbT7Tr3xaoJs/edit#gid=1063925865usp=sharing

More load instructions are deleted as expected, a little bit above 9% increase, and there are other gains and losses (highlighted in the spreadsheet) which I haven't gotten around to analyzing yet. 
In general, there is either a slight compilation time increase, below 1%, when there is no decrease.
And there is a runtime improvement of 4% with clang binaries build with GCC.
Unexpectedly, there is a small runtime hit, below 0/5%, with clang binaries built with clang.

The times here were collected while other programs may have been running on my machine. I am going to rerun the scripts overnight and see if we get different outcomes in tomorrow...

In the meantime, I welcome any suggestion for better data crunching...

I will also be addressing all the above comments tomorrow.


http://reviews.llvm.org/D15124





More information about the llvm-commits mailing list