public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: Alias code
@ 1998-06-29 22:34 Franz Sirl
  1998-06-30 11:53 ` David Edelsohn
  0 siblings, 1 reply; 15+ messages in thread
From: Franz Sirl @ 1998-06-29 22:34 UTC (permalink / raw)
  To: law; +Cc: mark, egcs, egcs-patches

Am Mon, 29 Jun 1998 schrieb Jeffrey A Law:
>In message <199806291730.KAA16121@cygnus.com>you write:
>  > At 12:18 29.06.98 , Jeffrey A Law wrote:
>  > >
>  > >We've got a little problem.
>  > >
>  > >While the machine independent code is mostly free of gen_rtx (MEM)
>  > >calls, many of the target files, and some of the front-ends that we 
>  > >want to interoperate (but possibly do not control) with are not free
>  > >of such calls.
>  > 
>  > Jeff, if you want to see that changed everywhere, why don't you simply put
>  > a request for patches on the list like for the warning patches? The changes
>  > are very simple (I even remember sending you a sed script doing most of the
>  > work), so nearly everyone can do it.
>Folks should certainly feel free to submit these changes.  I certainly
>would like to see this fixed throughout the compiler.  Posting the
>sed script again would probably encourage this :-)

So here is this supersimple script again ;-). I've done it for the rs6000
backend and it catches most gen_rtx in there. Only the gen_rtx(GET_CODE...)
cases are missing, since I don't know what to do there. Eventually people
without FSF assignement like me have to split the patches into more parts to
avoid the assignement.

Franz.

#!/bin/sh

sed -e "s/gen_rtx (COMPARE, /gen_rtx_COMPARE (/" <$1 |\
sed -e "s/gen_rtx (MEM, /gen_rtx_MEM (/" |\
sed -e "s/gen_rtx (REG, /gen_rtx_REG (/" |\
sed -e "s/gen_rtx (PLUS, /gen_rtx_PLUS (/" |\
sed -e "s/gen_rtx (USE, /gen_rtx_USE (/" |\
sed -e "s/gen_rtx (SYMBOL_REF, /gen_rtx_SYMBOL_REF (/" |\
sed -e "s/gen_rtx (EXPR_LIST, /gen_rtx_EXPR_LIST (/" |\
sed -e "s/gen_rtx (IF_THEN_ELSE, /gen_rtx_IF_THEN_ELSE (/" |\
sed -e "s/gen_rtx (SET, /gen_rtx_SET (/" |\
sed -e "s/gen_rtx (PARALLEL, /gen_rtx_PARALLEL (/" |\
sed -e "s/gen_rtx (NE, /gen_rtx_NE (/" |\
sed -e "s/gen_rtx (LABEL_REF, /gen_rtx_LABEL_REF (/" |\
sed -e "s/gen_rtx (CONST_INT, /gen_rtx_CONST_INT (/" |\
sed -e "s/gen_rtx (SUBREG, /gen_rtx_SUBREG (/" |\
sed -e "s/gen_rtx (INSN_LIST, /gen_rtx_INSN_LIST (/" |\
sed -e "s/gen_rtx (CLOBBER, /gen_rtx_CLOBBER (/" |\
sed -e "s/gen_rtx (SCRATCH, /gen_rtx_SCRATCH (/" |\
sed -e "s/gen_rtx.(LO_SUM,./gen_rtx_LO_SUM (/" >$1.new




^ permalink raw reply	[flat|nested] 15+ messages in thread
* Re: Alias code
@ 1998-06-30 19:49 Mike Stump
  1998-07-01  0:54 ` Jeffrey A Law
  0 siblings, 1 reply; 15+ messages in thread
From: Mike Stump @ 1998-06-30 19:49 UTC (permalink / raw)
  To: law, mark; +Cc: egcs

> Date: Mon, 29 Jun 1998 04:18:30 -0600
> From: Jeffrey A Law <law@cygnus.com>

> We've got a little problem.

> While the machine independent code is mostly free of gen_rtx (MEM)
> calls, many of the target files, and some of the front-ends that we 
> want to interoperate (but possibly do not control) with are not free
> of such calls.

> Thoughts?

Sigh, not sure what to say other than it would be nice if someone
worked to get major api type things like this that are simple into
gcc2.  Then all code can do it, and we'd have fewer problems.

^ permalink raw reply	[flat|nested] 15+ messages in thread
[parent not found: <199806291730.KAA16121@cygnus.com>]
* Re: Alias code
@ 1998-06-29 19:43 Michael Meissner
  0 siblings, 0 replies; 15+ messages in thread
From: Michael Meissner @ 1998-06-29 19:43 UTC (permalink / raw)
  To: law; +Cc: egcs

| We've got a little problem.
|
| While the machine independent code is mostly free of gen_rtx (MEM)
| calls, many of the target files, and some of the front-ends that we 
| want to interoperate (but possibly do not control) with are not free
| of such calls.
|
| I think we need to handle these cases in a clean manner.  ie, we
| have to initialize the alias set field when we allocate the MEM or
| REG expression

We could always have the generic gen_rtx complain when it builds a MEM,
possibly under flag/ifdef control.

| Thoughts?
|
| jeff
|
| ps.  i just spent 3hrs tracking down a case where the compiler would
| mis-compile a testcase, but not if you turned on -g or certain debug
| dumps -- it was tracked down to a call to gen_rtx (MEM) in a target
| config file.  I don't want to have to do this very often :(
|
|
|
|

^ permalink raw reply	[flat|nested] 15+ messages in thread
* Alias code
@ 1998-06-29  3:22 Jeffrey A Law
  1998-06-29 11:08 ` Mark Mitchell
  1998-06-29 14:05 ` Franz Sirl
  0 siblings, 2 replies; 15+ messages in thread
From: Jeffrey A Law @ 1998-06-29  3:22 UTC (permalink / raw)
  To: mark; +Cc: egcs

We've got a little problem.

While the machine independent code is mostly free of gen_rtx (MEM)
calls, many of the target files, and some of the front-ends that we 
want to interoperate (but possibly do not control) with are not free
of such calls.

I think we need to handle these cases in a clean manner.  ie, we
have to initialize the alias set field when we allocate the MEM or
REG expression

Thoughts?

jeff

ps.  i just spent 3hrs tracking down a case where the compiler would
mis-compile a testcase, but not if you turned on -g or certain debug
dumps -- it was tracked down to a call to gen_rtx (MEM) in a target
config file.  I don't want to have to do this very often :(




^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~1998-07-01  0:54 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-06-29 22:34 Alias code Franz Sirl
1998-06-30 11:53 ` David Edelsohn
  -- strict thread matches above, loose matches on Subject: below --
1998-06-30 19:49 Mike Stump
1998-07-01  0:54 ` Jeffrey A Law
     [not found] <199806291730.KAA16121@cygnus.com>
1998-06-29 20:41 ` Jeffrey A Law
1998-06-30  4:50   ` Michael P. Hayes
1998-06-30 14:46     ` Joern Rennecke
1998-07-01  0:54       ` Michael P. Hayes
1998-06-29 19:43 Michael Meissner
1998-06-29  3:22 Jeffrey A Law
1998-06-29 11:08 ` Mark Mitchell
1998-06-29 22:34   ` Jeffrey A Law
1998-06-29 11:08     ` Mark Mitchell
1998-06-29 19:43       ` Jeffrey A Law
1998-06-29 14:05 ` Franz Sirl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).