aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index bdb97ec..1723f42 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -6977,20 +6977,15 @@ gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p,
{
enum gimplify_status r0 = GS_ALL_DONE, r1 = GS_ALL_DONE;
- if (TMR_SYMBOL (*expr_p))
- /* We can't gimplify the symbol part. Assert it is
- already gimple instead.
- ??? This isn't exactly the same as ADDR_EXPR
- plus is_gimple_mem_ref_addr (), see fixed_address_object_p. */
- gcc_assert (TREE_CODE (TMR_SYMBOL (*expr_p)) == ADDR_EXPR
- && (TREE_CODE (TREE_OPERAND (TMR_SYMBOL (*expr_p), 0))
- == VAR_DECL));
if (TMR_BASE (*expr_p))
r0 = gimplify_expr (&TMR_BASE (*expr_p), pre_p,
- post_p, is_gimple_val, fb_either);
+ post_p, is_gimple_mem_ref_addr, fb_either);
if (TMR_INDEX (*expr_p))
r1 = gimplify_expr (&TMR_INDEX (*expr_p), pre_p,
post_p, is_gimple_val, fb_rvalue);
+ if (TMR_INDEX2 (*expr_p))
+ r1 = gimplify_expr (&TMR_INDEX2 (*expr_p), pre_p,
+ post_p, is_gimple_val, fb_rvalue);
/* TMR_STEP and TMR_OFFSET are always integer constants. */
ret = MIN (r0, r1);
}