[llvm] r200067 - [LPM] Make LCSSA a utility with a FunctionPass that applies it to all

Bruno Cardoso Lopes bruno.cardoso at gmail.com
Mon Dec 15 12:07:06 PST 2014


On Mon, Dec 15, 2014 at 5:10 PM, Chandler Carruth <chandlerc at gmail.com> wrote:
>
> On Thu, Dec 11, 2014 at 12:07 PM, Bruno Cardoso Lopes
> <bruno.cardoso at gmail.com> wrote:
>>
>> Do you recall any specific reason for commenting out this assertion?
>> Compile time performance?
>
>
> No, it fired constantly and everywhere. =/
>
> Back when I was hacking on this, the loop pass manager would invalidate
> LCSSA form for loops outside of the specific layer of the loop nest it was
> visiting, and thus this assert would trigger. I tried to fix many such
> issues, but while I managed to fix everything I actually saw happen in the
> wild, I wasn't able to turn it on without triggering rampant asserts.

I see, I can imagine that happening very often indeed.

>>
>> I just sent out a patch to fix a issue in LCSSA and having this on
>> would have catch that before, I was wondering about turning it on
>> again.
>
>
> Yea, it would be really nice to check this kind of stuff, but I'm quite
> worried about how much it will end up firing in places that (today) don't
> matter. I left the commented out assert it to help debug actual PRs that
> came up in practice which ended up having to do with this. That said, fixes
> here seem really good to have; if we could actually turn it on that would be
> amazing.

Cool, now that I know the reasons I'm aware of all the nightmare this
can lead to.
Will try it out and see what happens.

Thanks for the detailed explanation :-)

-- 
Bruno Cardoso Lopes
http://www.brunocardoso.cc



More information about the llvm-commits mailing list