From 19e7881c81752c856edb9f71db93805ce0416be6 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Thu, 15 Mar 2001 02:51:03 +0000 Subject: varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME... * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the contents of the RTL, to determine the name of the object. * tree.h (DECL_RTL): Allocate RTL lazily. (SET_DECL_RTL): New macro. (DECL_RTL_SET_P): Likewise. (COPY_DECL_RTL): Likewise. (DECL_RTL_IF_SET): Likewise. * varasm.c (make_decl_rtl): Add assertions about the kind of declaration we are processing. * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc. (start_decl): Likewise. (finish_decl): Likewise. * c-semantics.c (emit_local_var): Likewise. * calls.c (expand_call): Likewise. * dbxout.c (dbxout_symbol): Likewise. * emit-rtl.c (unshare_all_rtl): Likewise. (unshare_all_decls): Likewise. (reset_used_decls): Likewise. * expr.c (store_constructor): Likewise. (safe_from_p): Likewise. (expand_expr): Likewise. * function.c (put_var_into_stack): Likewise. (instantiate_decls_1): Likewise. (assign_parms): Likewise. (expand_function_start): Likewise. (expand_function_end): Likewise. * ggc-common.c (gcc_mark_trees): Likewise. * integrate.c (function_cannot_inline_p): Likewise. (copy_decl_for_inlining): Likewise. (expand_inline_function): Likewise. (integrate_parm_decls): Likewise. (integrate_decl_tree): Likewise. * print-tree.c (print_node): Likewise. * reg-stack.c (stack_result): Likewise. * stmt.c (label_rtx): Likewise. (expand_return): Likewise. (expand_decl): Likewise. (expand_decl_cleanup): Likewise. (expand_anon_union_decl): Likewise. * toplev.c (check_global_declarations): Likewise. (rest_of_decl_compilation): Likewise. * tree.c (simple_cst_equal): Likewise. * objc/objc-act.c (generate_static_references): Likewise. * class.c (build_clone): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc. * cp-tree.h (DECL_IN_MEMORY_P): Likewise. * decl.c (duplicate_decls): Likewise. (builtin_function): Likewise. (build_library_fn): Likewise. (build_cp_library_fn): Likewise. (check_initializer): Likewise. (cp_finish_decl): Likewise. * decl2.c (grokfield): Likewise. (grok_function_init): Remove #if 0'd code. (finish_anon_union): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc. * friend.c (do_friend): Likewise. * init.c (get_temp_regvar): Likewise. * method.c (make_thunk): Likewise. * pt.c (tsubst_friend_function): Likewise. (tsubst_decl): Likewise. (regenerate_decl_from_template): Likewise. * semantics.c (genrtl_named_return_value): Likewise. (expand_body): Likewise. (genrtl_finish_function): Likewise. * tree.c (cp_tree_equal): Likewise. * com.c (ffecom_member_phase_2): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc. (duplicate_decls): Likewise. (start_decl): Likewise. * class.c (build_static_field_ref): Likewise. (make_method_value): Likewise. (get_dispatch_table): Likewise. * decl.c (push_jvm_slot): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc. From-SVN: r40482 --- gcc/expr.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'gcc/expr.c') diff --git a/gcc/expr.c b/gcc/expr.c index e7356ec..d8586b6 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -4777,10 +4777,10 @@ store_constructor (exp, target, align, cleared, size) index = build_decl (VAR_DECL, NULL_TREE, domain); - DECL_RTL (index) = index_r + index_r = gen_reg_rtx (promote_mode (domain, DECL_MODE (index), &unsignedp, 0)); - + SET_DECL_RTL (index, index_r); if (TREE_CODE (value) == SAVE_EXPR && SAVE_EXPR_RTL (value) == 0) { @@ -5705,7 +5705,7 @@ safe_from_p (x, exp, top_p) switch (TREE_CODE_CLASS (TREE_CODE (exp))) { case 'd': - exp_rtl = DECL_RTL (exp); + exp_rtl = DECL_RTL_SET_P (exp) ? DECL_RTL (exp) : NULL_RTX; break; case 'c': @@ -6586,7 +6586,7 @@ expand_expr (exp, target, tmode, modifier) /* If VARS have not yet been expanded, expand them now. */ while (vars) { - if (DECL_RTL (vars) == 0) + if (!DECL_RTL_SET_P (vars)) { vars_need_expansion = 1; expand_decl (vars); @@ -8325,7 +8325,7 @@ expand_expr (exp, target, tmode, modifier) if (target == 0) { - if (DECL_RTL (slot) != 0) + if (DECL_RTL_SET_P (slot)) { target = DECL_RTL (slot); /* If we have already expanded the slot, so don't do @@ -8338,7 +8338,7 @@ expand_expr (exp, target, tmode, modifier) target = assign_temp (type, 2, 0, 1); /* All temp slots at this level must not conflict. */ preserve_temp_slots (target); - DECL_RTL (slot) = target; + SET_DECL_RTL (slot, target); if (TREE_ADDRESSABLE (slot)) put_var_into_stack (slot); @@ -8364,7 +8364,7 @@ expand_expr (exp, target, tmode, modifier) /* If we have already assigned it space, use that space, not target that we were passed in, as our target parameter is only a hint. */ - if (DECL_RTL (slot) != 0) + if (DECL_RTL_SET_P (slot)) { target = DECL_RTL (slot); /* If we have already expanded the slot, so don't do @@ -8374,7 +8374,7 @@ expand_expr (exp, target, tmode, modifier) } else { - DECL_RTL (slot) = target; + SET_DECL_RTL (slot, target); /* If we must have an addressable slot, then make sure that the RTL that we just stored in slot is OK. */ if (TREE_ADDRESSABLE (slot)) -- cgit v1.1