tree-vect-generic.c (vector_element): Look at previous generated results.

2011-10-06  Richard Guenther  <rguenther@suse.de>

	* tree-vect-generic.c (vector_element): Look at previous
	generated results.

From-SVN: r179613
This commit is contained in:
Richard Guenther 2011-10-06 14:28:47 +00:00 committed by Richard Biener
parent 7a9a6698cc
commit bc622b2a5e
2 changed files with 16 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2011-10-06 Richard Guenther <rguenther@suse.de>
* tree-vect-generic.c (vector_element): Look at previous
generated results.
2011-10-06 David Edelsohn <dje.gcc@gmail.com>
PR target/39950

View File

@ -536,6 +536,17 @@ vector_element (gimple_stmt_iterator *gsi, tree vect, tree idx, tree *ptmpvec)
idx = build_int_cst (TREE_TYPE (idx), index);
}
/* When lowering a vector statement sequence do some easy
simplification by looking through intermediate vector results. */
if (TREE_CODE (vect) == SSA_NAME)
{
gimple def_stmt = SSA_NAME_DEF_STMT (vect);
if (is_gimple_assign (def_stmt)
&& (gimple_assign_rhs_code (def_stmt) == VECTOR_CST
|| gimple_assign_rhs_code (def_stmt) == CONSTRUCTOR))
vect = gimple_assign_rhs1 (def_stmt);
}
if (TREE_CODE (vect) == VECTOR_CST)
{
unsigned i;