+2012-05-18 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (mark_symbols_for_renaming): Remove.
+ * tree-dfa.c (mark_symbols_for_renaming): Likewise.
+ * tree-inline.c (copy_edges_for_bb): Do not mark symbols for
+ renaming.
+ (copy_debug_stmt): Likewise.
+ (expand_call_inline): Likewise.
+ (declare_return_variable): Mark the return variable for renaming
+ if necessary.
+
2012-05-18 Andrew Stubbs <ams@codesourcery.com>
* config/arm/arm-protos.h (arm_emit_coreregs_64bit_shift): New
}
-/* Mark all the naked symbols in STMT for SSA renaming. */
-
-void
-mark_symbols_for_renaming (gimple stmt)
-{
- tree op;
- ssa_op_iter iter;
-
- update_stmt (stmt);
-
- /* Mark all the operands for renaming. */
- FOR_EACH_SSA_TREE_OPERAND (op, stmt, iter, SSA_OP_ALL_OPERANDS)
- if (DECL_P (op))
- mark_sym_for_renaming (op);
-}
-
-
/* If EXP is a handled component reference for a structure, return the
base variable. The access range is delimited by bit positions *POFFSET and
*POFFSET + *PMAX_SIZE. The access size is *PSIZE bits. If either
extern void debug_variable (tree);
extern bool add_referenced_var (tree);
extern void remove_referenced_var (tree);
-extern void mark_symbols_for_renaming (gimple);
extern tree make_rename_temp (tree, const char *);
extern void set_default_def (tree, tree);
extern tree gimple_default_def (struct function *, tree);
copy_stmt = gsi_stmt (si);
if (!is_gimple_debug (copy_stmt))
- {
- update_stmt (copy_stmt);
- if (gimple_in_ssa_p (cfun))
- mark_symbols_for_renaming (copy_stmt);
- }
+ update_stmt (copy_stmt);
/* Do this before the possible split_block. */
gsi_next (&si);
processing_debug_stmt = 0;
update_stmt (stmt);
- if (gimple_in_ssa_p (cfun))
- mark_symbols_for_renaming (stmt);
}
/* Process deferred debug stmts. In order to give values better odds
TREE_ADDRESSABLE (var) = 1;
var = build_fold_addr_expr (var);
}
+ else if (gimple_in_ssa_p (cfun)
+ && is_gimple_reg (var))
+ /* ??? Re-org id->retval and its special handling so that we can
+ record an SSA name directly and not need to invoke the SSA renamer. */
+ mark_sym_for_renaming (var);
done:
/* Register the VAR_DECL as the equivalent for the RESULT_DECL; that
gimple old_stmt = stmt;
stmt = gimple_build_assign (gimple_call_lhs (stmt), use_retvar);
gsi_replace (&stmt_gsi, stmt, false);
- if (gimple_in_ssa_p (cfun))
- mark_symbols_for_renaming (stmt);
maybe_clean_or_replace_eh_stmt (old_stmt, stmt);
}
else