Another NaT bit propagation bug.

Graham Stott grahams@redhat.com
Tue Nov 13 15:03:00 GMT 2001


Andrew,

Andrew Macleod wrote:
> 
[snip]
> + /* Indicates that any registers *initially* set via some form of a mask
> +    instruction should be cleared prior to masking.  This is used to prevent
> +    propagation of incorrect sticky bits from unknown values.  Typically
> +    this would occur with bitfield operations.  */
> + extern int flag_no_garbage_regs;
Agree don't much like the name, how about flag_no_prop_sticky_bits.

[snip]
> *************** note_outlining_of_inline_function (fndec
> *** 2723,2728 ****
> --- 2728,2827 ----
>   #endif
>   }
> 
> +
> + int initialize_uninitialized_subregs  PARAMS ((void));
> + int find_regno_partial                        PARAMS ((rtx *, void *));
> +
> + static rtx find_regno_retval;   /* Used to return a value from func.  */
I'm not a fan of this global either how about defining a struct to contain
both the register and return value and pass a pointer to that.

Graham



More information about the Gcc-patches mailing list