On 08/06/2014 10:23 AM, David Malcolm wrote:
> gcc/
>       * rtl.h (rtx_expr_list::insn): New method.
> ---
>  gcc/rtl.h | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/gcc/rtl.h b/gcc/rtl.h
> index d028be1..d5811c2 100644
> --- a/gcc/rtl.h
> +++ b/gcc/rtl.h
> @@ -414,6 +414,10 @@ public:
>  
>    /* Get at the underlying rtx.  */
>    rtx element () const;
> +
> +  /* Get at the rtx, casting to rtx_insn *.  */
> +  rtx_insn *insn () const;
> +
>  };
>  
>  template <>
> @@ -1287,6 +1291,11 @@ inline rtx rtx_expr_list::element () const
>    return XEXP (this, 0);
>  }
>  
> +inline rtx_insn *rtx_expr_list::insn () const
> +{
> +  return as_a <rtx_insn *> (XEXP (this, 0));
> +}
> +

Even with the current code base we aren't *supposed* to be putting insns into
an EXPR_LIST -- that's what INSN_LIST is for.  Note the horribleness with which
anything doing this will have in the rtl dumps.

Can we please fix these uses instead of adding this accessor?


r~

Reply via email to