This is the mail archive of the gcc-bugs@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: Another NaT bit propagation bug.


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


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