> Personally, I think that builtin_apply_args should go away, but what are
> your thoughts on the rest of the thread. Richard didn't respond to my
> last mail in the thread here:
>
> http://gcc.gnu.org/ml/gcc-patches/2004-03/msg02184.html

I'm with Richard on this, I think reg_raw_mode is not appropriate for 
apply_result_size at least.

> From my re-reading (it's been over a year here), I think the
> FUNCTION_VALUE_REGNO_P "suggestion" is wrong as it's lying to the rest
> of the compiler. At any rate, what entry are you getting for sparc? How
> is the comment in regclass.c for reg_raw_mode's initialization not
> working?

You mean this?

/* For each hard register, the widest mode object that it can contain.
   This will be a MODE_INT mode if the register can hold integers.  Otherwise
   it will be a MODE_FLOAT or a MODE_CC mode, whichever is valid for the
   register.  */

But take a look at the head comment for init_reg_modes_once:

/* Compute the table of register modes.
   These values are used to record death information for individual registers
   (as opposed to a multi-register mode).  */

So clearly reg_raw_mode describes the widest mode of a *single* hard register.  
Now, before your change, apply_result_size computed the widest mode of 
*multi* hard registers, that's not the same thing.

-- 
Eric Botcazou

Reply via email to