tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and return false for invariants.

2011-07-26  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and
	return false for invariants.

From-SVN: r176797
This commit is contained in:
Martin Jambor 2011-07-26 19:21:21 +02:00 committed by Martin Jambor
parent 52bed4d7ee
commit 842eeb9b72
2 changed files with 9 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2011-07-26 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and
return false for invariants.
2011-07-26 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (add->lea splitter): Implement using SWI

View file

@ -1075,9 +1075,13 @@ tree_non_mode_aligned_mem_p (tree exp)
enum machine_mode mode = TYPE_MODE (TREE_TYPE (exp));
unsigned int align;
if (TREE_CODE (exp) == VIEW_CONVERT_EXPR)
exp = TREE_OPERAND (exp, 0);
if (TREE_CODE (exp) == SSA_NAME
|| TREE_CODE (exp) == MEM_REF
|| mode == BLKmode
|| is_gimple_min_invariant (exp)
|| !STRICT_ALIGNMENT)
return false;