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~