On 9 October 2010 21:34, Jakub Jelinek <ja...@redhat.com> wrote:
> On Sat, Oct 09, 2010 at 09:22:42PM +0200, Manuel L?pez-Ib??ez wrote:
>> My intention by answering Gary is to point out that if he is thinking
>> about working on this problem, he should consider building a cheap
>> FE-specific CFG, rather than try to share the current infrastructure
>> between FE and middle-end. I would like to see this implemented, so
>
> I don't think that's a good idea.  Much better would be just to
> not emit diagnostics, which shouldn't be emitted for dead code, right away,
> but instead of that queue it into the IL (in a form of something
> like __builtin_diagnostics, or something similar).  Then after cfg cleanup + 
> DCE
> has been run (or at expansion time?) we could issue diagnostics for the
> __builtin_diagnostics left in the IL afterwards.  For -O0 if no DCE happens
> at all we could have some cheap pass that would just nuke obviously 
> unreachable
> __builtin_diagnostics and don't modify the IL otherwise (of course gated on
> whether there are any in the IL).

That doesn't solve the problem of diagnostics changing at different
optimization levels. But I don't care much about that, so I wouldn't
complain if anyone implemented either option.

Cheers,

Manuel.

Reply via email to