[LLVMdev] Jump Theading/GVN bug - moving discussion to llvm-dev

Daniel Berlin dberlin at dberlin.org
Tue Feb 24 11:16:04 PST 2015


On Tue, Feb 24, 2015 at 11:00 AM, Philip Reames <listmail at philipreames.com>
wrote:

>
> On 02/24/2015 10:51 AM, Hal Finkel wrote:
>
>> ----- Original Message -----
>>
>>> From: "Philip Reames" <listmail at philipreames.com>
>>> To: "Chandler Carruth" <chandlerc at google.com>, "Katya Romanova" <
>>> Katya_Romanova at playstation.sony.com>, "Nick Lewycky"
>>> <nlewycky at google.com>
>>> Cc: llvmdev at cs.uiuc.edu, "Hal Finkel" <hfinkel at anl.gov>, "Rafael
>>> Espindola" <rafael_espindola at playstation.sony.com>,
>>> "Sanjoy Das" <sanjoy at playingwithpointers.com>, "David Majnemer" <
>>> david.majnemer at gmail.com>
>>> Sent: Tuesday, February 24, 2015 12:45:51 PM
>>> Subject: Re: Jump Theading/GVN bug - moving discussion to llvm-dev
>>>
>>> Whatever we end up deciding, I think we do need to preserve the
>>> ability of a language frontend to generate complete garbage in the
>>> form of unreachable code.
>>>
>> And this is exactly what I don't understand. Why would a frontend need to
>> produce "complete garbage" in unreachabe code?
>>
> Er, my wording was poor here.  I did not mean the self referential case.
> I simply meant an unreachable block.  I meant to say that a frontend
> shouldn't have to remove all statically unreachable blocks before passing
> it to LLVM.  Not producing self referential instructions seems like a
> perfectly reasonable restriction.  :)


I'm actually perfectly fine with this kind of restriction. If we want to
create dead blocks through passes, so be it (though we seem to already go
to lengths to avoid it in a lot of passes, as i pointed out). But uh, we
should limit the stuff in the dead blocks to not be invalid in some form  :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150224/b6c981c2/attachment.html>


More information about the llvm-dev mailing list