tree-affine.c (tree_to_aff_combination): Handle MEM_REF for core part of address expressions.

* tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
	core part of address expressions.

From-SVN: r210204
This commit is contained in:
Bin Cheng 2014-05-08 09:00:42 +00:00 committed by Bin Cheng
parent c7ad35388d
commit d1f1a283e4
2 changed files with 13 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2014-05-08 Bin Cheng <bin.cheng@arm.com>
* tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
core part of address expressions.
2014-05-08 Alan Modra <amodra@gmail.com>
PR target/60737

View File

@ -328,7 +328,14 @@ tree_to_aff_combination (tree expr, tree type, aff_tree *comb)
if (bitpos % BITS_PER_UNIT != 0)
break;
aff_combination_const (comb, type, bitpos / BITS_PER_UNIT);
core = build_fold_addr_expr (core);
if (TREE_CODE (core) == MEM_REF)
{
aff_combination_add_cst (comb, wi::to_widest (TREE_OPERAND (core, 1)));
core = TREE_OPERAND (core, 0);
}
else
core = build_fold_addr_expr (core);
if (TREE_CODE (core) == ADDR_EXPR)
aff_combination_add_elt (comb, core, 1);
else