On 03/05/2023 13:29, Richard Biener wrote:
On Fri, 28 Apr 2023, Andre Vieira (lists) wrote:

This is a rebase of Joel's previous patch.

This patch removes the old widen plus/minus tree codes which have been
replaced by internal functions.

I guess that's obvious then.  I wonder what we do to internal
fns in debug stmts?  Looks like we throw those away and do not
generate debug stmts from calls.
See the comment above the removed lines in expand_debug_expr:
 /* Vector stuff.  For most of the codes we don't have rtl codes.  */

And it then just returns NULL for those expr's. So the behaviour there remains unchanged, not saying we couldn't do anything but I don


Given you remove handling of the scalar WIDEN_PLUS/MINUS_EXPR
codes everywhere do we want to add checking code the scalar
IFNs do not appear in the IL?  For at least some cases there
are corresponding functions handling internal functions that
you could have amended otherwise.

I am making some changes to PATCH 2 of this series, in the new version I am adding some extra code to the gimple checks, one of which is to error if it comes a cross an IFN that decomposes to HILO as that should only occur as an intermediary representation of the vect pass.

Richard.

gcc/ChangeLog:

2023-04-28  Andre Vieira  <andre.simoesdiasvie...@arm.com>
             Joel Hutton  <joel.hut...@arm.com>

        * doc/generic.texi: Remove old tree codes.
        * expr.cc (expand_expr_real_2): Remove old tree code cases.
        * gimple-pretty-print.cc (dump_binary_rhs): Likewise.
        * optabs-tree.cc (optab_for_tree_code): Likewise.
        (supportable_half_widening_operation): Likewise.
        * tree-cfg.cc (verify_gimple_assign_binary): Likewise.
        * tree-inline.cc (estimate_operator_cost): Likewise.
        (op_symbol_code): Likewise.
        * tree-vect-data-refs.cc (vect_get_smallest_scalar_type): Likewise.
        (vect_analyze_data_ref_accesses): Likewise.
        * tree-vect-generic.cc (expand_vector_operations_1): Likewise.
        * cfgexpand.cc (expand_debug_expr): Likewise.
        * tree-vect-stmts.cc (vectorizable_conversion): Likewise.
        (supportable_widening_operation): Likewise.
        * gimple-range-op.cc (gimple_range_op_handler::maybe_non_standard):
        Likewise.
        * tree-vect-patterns.cc (vect_widened_op_tree): Refactor to replace
        usage in vect_recog_sad_pattern.
        (vect_recog_sad_pattern): Replace tree code widening pattern with
        internal function.
        (vect_recog_average_pattern): Likewise.
        * tree-pretty-print.cc (dump_generic_node): Remove tree code
        definition.
        * tree.def (WIDEN_PLUS_EXPR, WIDEN_MINUS_EXPR, VEC_WIDEN_PLUS_HI_EXPR,
        VEC_WIDEN_PLUS_LO_EXPR, VEC_WIDEN_MINUS_HI_EXPR,
        VEC_WIDEN_MINUS_LO_EXPR): Likewise


Reply via email to