This is the mail archive of the gcc@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]

Re: FWIW: VAX fix backport and gcc built on 4.3BSD first time ever!


John David Anglin <dave@hiauly1.hia.nrc.ca> wrote:

> Here is a revised patch for the mainline vax.md.  The bootstrap with
> this patch looks like it is going ok, although it is far from complete.
> I will submit the patch formally when I am certain that it is ok.

Thanks for all the work!

A few comments on the call and call_value patterns, though:

> +(define_insn "call"
>    [(call (match_operand:QI 0 "memory_operand" "m")
> -	 (match_operand:SI 1 "const_int_operand" "n"))
> -   (set (reg:SI 14) (reg:SI 14))]
> +	 (const_int 0))]
>
> [...]
>
> +(define_insn "call_value"
>    [(set (match_operand 0 "" "=g")
>  	(call (match_operand:QI 1 "memory_operand" "m")
> -	      (match_operand:SI 2 "const_int_operand" "n")))
> -   (set (reg:SI 14) (reg:SI 14))]
> +	      (const_int 0)))]

Am I correctly interpreting the last line of each hunk as telling the gcc core
that these patterns are valid only for functions with zero arguments? If so,
these are OK. But defining call and call_value patterns that are valid for all
functions would definitely violate the VARM, and I would consider that a
serious problem.

But although call and call_value patterns that are valid only for functions
with zero arguments are benign, I think they are unnecessary. calls.c has been
fixed to handle call_pop/call_value_pop only in the mainline back in August
1999 (by you :-), and Bernd said he'll check his fix into the 2.95 branch as
well. So I think the calls.c bug is now a thing of the past and we should no
longer worry about working around it. I think that these call and call_value
patterns are unnecessary, and removing them would reduce the MD clutter and
make it better describe the reality of the VAX architecture. But if you insist
on keeping them, I won't object, as long as they are explicitly restricted (in
the MD, not in calls.c or anywhere else) to zero-argument functions only.

--
Michael Sokolov
Public Service Agent
International Engineering and Science Task Force

1351 VINE AVE APT 27		Phone: +1-714-738-5409
FULLERTON CA 92833-4291 USA	(home office)

E-mail: msokolov@ivan.Harhan.ORG (ARPA TCP/SMTP)

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