diff options
author | Nathan Froyd <froydnj@codesourcery.com> | 2010-10-31 02:20:22 +0000 |
---|---|---|
committer | Nathan Froyd <froydnj@gcc.gnu.org> | 2010-10-31 02:20:22 +0000 |
commit | b9acc9f1de4ef8a1cff7c495a3b26fcd3e2448c4 (patch) | |
tree | 1690b9c80ac2985f27e7ba09fccad0152877304c /gcc/tree.c | |
parent | 76369a821b895c4d4bf1412d108716c4bb0a90de (diff) | |
download | gcc-b9acc9f1de4ef8a1cff7c495a3b26fcd3e2448c4.zip gcc-b9acc9f1de4ef8a1cff7c495a3b26fcd3e2448c4.tar.gz gcc-b9acc9f1de4ef8a1cff7c495a3b26fcd3e2448c4.tar.bz2 |
fold-const.c (build_zero_vector): Use build_vector_from_val.
* fold-const.c (build_zero_vector): Use build_vector_from_val.
* tree-vect-loop.c (get_initial_def_for_induction): Likewise.
(get_initial_def_for_reduction): Likewise.
* tree-vect-slp.c (vect_get_constant_vectors): Likewise.
* tree-vect-stmts.c (vect_get_vec_def_for_operand): Likewise.
* tree.c (build_one_cst): Likewise.
(build_vector_from_val): Use types_compatible_p for assert.
From-SVN: r166102
Diffstat (limited to 'gcc/tree.c')
-rw-r--r-- | gcc/tree.c | 15 |
1 files changed, 4 insertions, 11 deletions
@@ -1376,7 +1376,8 @@ build_vector_from_val (tree vectype, tree sc) if (sc == error_mark_node) return sc; - gcc_assert (TREE_TYPE (sc) == TREE_TYPE (vectype)); + gcc_assert (lang_hooks.types_compatible_p (TREE_TYPE (sc), + TREE_TYPE (vectype))); v = VEC_alloc (constructor_elt, gc, nunits); for (i = 0; i < nunits; ++i) @@ -1590,17 +1591,9 @@ build_one_cst (tree type) case VECTOR_TYPE: { - tree scalar, cst; - int i; - - scalar = build_one_cst (TREE_TYPE (type)); - - /* Create 'vect_cst_ = {cst,cst,...,cst}' */ - cst = NULL_TREE; - for (i = TYPE_VECTOR_SUBPARTS (type); --i >= 0; ) - cst = tree_cons (NULL_TREE, scalar, cst); + tree scalar = build_one_cst (TREE_TYPE (type)); - return build_vector (type, cst); + return build_vector_from_val (type, scalar); } case COMPLEX_TYPE: |