]> git.ipfire.org Git - thirdparty/gcc.git/commit
expr.h (struct separate_ops, sepops): New type for passing around an exploded simple...
authorMichael Matz <matz@suse.de>
Tue, 25 Aug 2009 13:33:54 +0000 (13:33 +0000)
committerMichael Matz <matz@gcc.gnu.org>
Tue, 25 Aug 2009 13:33:54 +0000 (13:33 +0000)
commit8e7aa1f9a319b100c721a7d83294a799a295407c
tree21065dda4814644807909923e74947363f96ca60
parentb32e7cdb5df3f84bfdc0dc683f7c94adf76043cf
expr.h (struct separate_ops, sepops): New type for passing around an exploded simple expression.

        * expr.h (struct separate_ops, sepops): New type for passing
        around an exploded simple expression.
        * optabs.c (expand_widen_pattern_expr, expand_vec_shift_expr):
        Use this structure instead of expression tree.
        (get_vcond_icode, expand_vec_cond_expr_p): Don't take whole
        expression, only its type.
        (expand_vec_cond_expr): Take type and individual operands instead
        of full expression.
        * optabs.h (expand_widen_pattern_expr, expand_vec_cond_expr,
        expand_vec_shift_expr): Change prototype accordingly.
        * tree-vect-stmts.c (vectorizable_condition): Change call of
        expand_vec_cond_expr_p to pass only type.
        * expr.c (do_store_flags): Change prototype and implementation
        to take an exploded expression.
        (expand_expr_real_1): New local ops initialized with details
        of the full expression.  Use it instead of full
        expression in calls to do_store_flags, expand_vec_cond_expr,
        expand_widen_pattern_expr and expand_vec_shift_expr.

From-SVN: r151079
gcc/ChangeLog
gcc/expr.c
gcc/expr.h
gcc/optabs.c
gcc/optabs.h
gcc/tree-vect-stmts.c