This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] tree-cfg.c: Check that a nonlocal label doesn't appear in the middle of a basic block.



On Jan 19, 2005, at 12:02 AM, Andrew Pinski wrote:



On Jan 19, 2005, at 12:00 AM, Kazu Hirata wrote:


Hi,

Attached is a patch to check that a nonlocal label doesn't appear in
the middle of a basic block.

Note that we don't consider a nonlocal label to be appearing in the
middle of a basic block if all the statements before the label are
also nonlocal labels.

This patch is based on the thread starting at

http://gcc.gnu.org/ml/gcc/2005-01/msg01036.html

Unfortunately, this patch introduces the following regressions (or
rather catches the following errors that went undetected previously).


I already know what is causing them, I will look into this problem soon since
I caused them.

What is happen is that we now have two labels that are computed goto types
but only referenced as for just getting the address and not actually reachable
otherwise. It might be reasonable to split the BB but that takes up more memory
than just allowing this special case since we know that non local gotos and real
computed goto would have an abnormal edge to them and not be moved around.


-- Pinski


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]