[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 23:36:26 PST 2016


On Wed, Jan 13, 2016 at 10:25 PM, Chandler Carruth <chandlerc at gmail.com>
wrote:

> I'm sorry, what is this data comparing? Specifically, what is extended in
> clang? Is it just this patch applied?
>

Yes, what is extended in clang is just this patch applied (i.e., anything
named "opt*").
This is comparing build times, execution times, and statistical data from
"-mllvm -stats" between the version of clang with this patch applied and a
version of clang without the patch (i.e., anything named "cur*).

These comparison data are respectively in the sheets named "Build Clang",
"Run Clang" and "Stats [*]".
Just in case, I also generated opt*- and cur*- clang binaries using both
clang and gcc.
The sheets named "Stats [Clang]" and "Stats [GCC]" both represent
statistical data with clang build clang and gcc.

For run times, I simply ran regression tests. There may be other ways to
get better runtime measurements (?). But I thought regression tests could
give us something to start with.

I also put some descriptions under the "Legend" sheet. I recognize that
this could be clearer. So, please don't hesitate to ask me for any
clarification.



>
> On Wed, Jan 13, 2016 at 9:27 PM Larisse Voufo via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>> 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
>>
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160113/e82446bc/attachment.html>


More information about the llvm-commits mailing list