This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: label reference missed
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: Zack Weinberg <zack at codesourcery dot com>
- Cc: Ulrich Drepper <drepper at redhat dot com>, gcc-bugs <gcc-bugs at gcc dot gnu dot org>
- Date: Fri, 23 Aug 2002 10:04:38 -0400
- Subject: Re: label reference missed
- References: <3D65AE3C.5040308@redhat.com> <20020823042100.GA29396@codesourcery.com>
On Thu, Aug 22, 2002 at 09:21:00PM -0700, Zack Weinberg wrote:
> On Thu, Aug 22, 2002 at 08:38:36PM -0700, Ulrich Drepper wrote:
> >
> > I have this little piece of code:
> ...
> > asm volatile ("jmp %0"::"m" (*&&fff));
>
> This is just the classic "you can't jump out of an asm()" issue.
>
> > I imagine that the change necessary to achieve this is minimal. It
> > would only require to recognize label references and mark the basic
> > blocks they introduce as alive.
>
> Not so simple; the optimizer would also have to be able to synthesize
> an edge from the asm to the label, and in general this could be quite
> difficult.
I like your counterprosal better anyway, but I've got a question on the
above - why is it difficult? If the asm is somewhere that a jump to
the label would normally be allowed...
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer