[llvm] r314435 - [JumpThreading] Preserve DT and LVI across the pass
Daniel Berlin via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 13 10:39:01 PDT 2017
On Fri, Oct 13, 2017 at 10:35 AM, Michael Zolotukhin <mzolotukhin at apple.com>
wrote:
>
> On Oct 13, 2017, at 10:17 AM, Daniel Berlin <dberlin at dberlin.org> wrote:
>
>
>
> On Fri, Oct 13, 2017 at 10:06 AM, Michael Zolotukhin <
> mzolotukhin at apple.com> wrote:
>
>> Hi,
>>
>> My apologies, “to be fixed” is indeed a bad wording.
>>
>> I do agree that preserving DT is generally good. However, what we get
>> from it *currently* is only slowdowns with some gains expected *in future*
>> when other passes are taught to preserve DT as well. I believe that when
>> all relevant passes preserve DT we’ll see compile-time improvements,
>>
>
> No you won't, at least, not if we preserve DT the way this has been
> implemented.
> Like I said, i believe you've misunderstood.
> If you make every pass preserve DT in this same way, it will just be
> slower.
>
> Hmm, maybe I indeed misunderstood. What is the motivation for this change
> then?
>
So, this is actually why i went looking, because i had trouble believing it
was 4-10% slower (I've done a lot of testing of random cfgs :P)
I *believe* the motivation is that they want DT up to date *in-pass* so
they can use it do to better jump threading over loops.
*that* kind of change, IMHO, should be subject to our usual "how much
faster code does it make vs how much does it cost" tradeoff.
> I thought we were going to replace one expensive DT->recalculate (which
> happens between passes when we don’t preserve DT) with several cheap
> incremental DT updates. Is this correct?
>
This was *our* plan to remove the recalculates, but it does not appear to
have be what Sebastian/etc want for JT.
>
> Michael
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171013/14726404/attachment.html>
More information about the llvm-commits
mailing list