tree-cfg.c (gimplify_val): Move from tree-complex.c.
authorPaolo Bonzini <bonzini@gnu.org>
Thu, 22 Jul 2004 08:20:40 +0000 (08:20 +0000)
committerPaolo Bonzini <bonzini@gcc.gnu.org>
Thu, 22 Jul 2004 08:20:40 +0000 (08:20 +0000)
commit26277d41791a5f1817fbd3412ddb06f6efc961b9
tree4646f9e5e0b2387d4bcc7fc94aff9d320ae0030d
parent727a31fab813e31263cc0ee9f56940ee6d95782f
tree-cfg.c (gimplify_val): Move from tree-complex.c.

2004-07-22  Paolo Bonzini  <bonzini@gnu.org>

* tree-cfg.c (gimplify_val): Move from tree-complex.c.
(gimplify_build1): Move from tree-complex.c do_unop.
(gimplify_build2): Move from tree-complex.c do_binop.
(gimplify_build3): New.
* tree-complex.c (gimplify_val, do_unop, do_binop): Remove.
Adjust throughout to call the functions above.
* tree-flow.h: Declare the functions above.
* tree-nested.c (gimplify_val): Rename to...
(tsi_gimplify_val): ... this.

* Makefile.in (tree_complex.o): Update dependencies.
(stor-layout.o): Depend on regs.h.
* c-common.c (handle_vector_size_attribute): Update for
vector types without corresponding vector modes.
* expr.c (expand_expr): Treat VECTOR_CST's like CONSTRUCTORS if
a corresponding vector mode is not available.
* print-tree.c (print_node): Print nunits for vector types
* regclass.c (have_regs_of_mode): New.
(init_reg_sets_1): Initialize it and use it instead
of allocatable_regs_of_mode.
* regs.h (have_regs_of_mode): Declare it.
* stor-layout.c (layout_type): Pick a mode for vector types.
* tree-complex.c (build_word_mode_vector_type, tree_vec_extract,
build_replicated_const, do_unop, do_binop, do_plus_minus,
do_negate, expand_vector_piecewise, expand_vector_parallel,
expand_vector_addition, expand_vector_operations_1,
expand_vector_operations, tree_lower_operations,
pass_lower_vector_ssa, pass_pre_expand): New.
(expand_complex_operations, pass_lower_complex): Remove.
* tree-optimize.c (init_tree_optimization_passes): Adjust
pass ordering for changes in tree-complex.c.
* tree-pass.h: Declare new passes.
* tree.c (finish_vector_type): Remove.
(make_vector_type): New.
(build_vector_type_for_mode, build_vector_type): Rewritten.
* tree.def (VECTOR_TYPE): Document where the number of
subparts is stored.
* tree.h (TYPE_VECTOR_SUBPARTS): Use TYPE_PRECISION field.
(make_vector): Remove declaration.

From-SVN: r85039
18 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/c-common.c
gcc/optabs.c
gcc/optabs.h
gcc/print-tree.c
gcc/regclass.c
gcc/regs.h
gcc/stor-layout.c
gcc/tree-cfg.c
gcc/tree-complex.c
gcc/tree-flow.h
gcc/tree-nested.c
gcc/tree-optimize.c
gcc/tree-pass.h
gcc/tree.c
gcc/tree.def
gcc/tree.h