diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 39a29831a34..c9b88a9f058 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-08-04 Richard Guenther + + PR middle-end/45176 + * expr.c (expand_expr_real_1): Also preserve TARGET_MEM_REF + points-to set for original MEM_REF. + 2010-08-04 Richard Guenther * tree-ssa-ccp.c (get_constant_value): New function. diff --git a/gcc/expr.c b/gcc/expr.c index f0a3b9caa40..9134d6215b2 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -8665,7 +8665,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, set_mem_addr_space (temp, as); base = get_base_address (TMR_ORIGINAL (exp)); if (base - && INDIRECT_REF_P (base) + && (INDIRECT_REF_P (base) || TREE_CODE (base) == MEM_REF) && TMR_BASE (exp) && TREE_CODE (TMR_BASE (exp)) == SSA_NAME && POINTER_TYPE_P (TREE_TYPE (TMR_BASE (exp))))