mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 08:43:26 +08:00
tree-dfa.c (dump_variable): Use default_def function.
* tree-dfa.c (dump_variable): Use default_def function. * tree-ssa-alias.c (dump_points_to_info): Likewise. * tree-ssa.c (verify_use): Likewise. * tree-ssanames.c (release_ssa_name): Likewise. * tree-tailcall.c (eliminate_tail_call): Likewise. (tree_optimize_tail_calls_1): Likewise. * tree-vrp.c (get_value_range): Likewise. From-SVN: r101994
This commit is contained in:
parent
9ef0b1bd66
commit
df1f6f31f4
@ -1,3 +1,13 @@
|
||||
2005-07-14 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* tree-dfa.c (dump_variable): Use default_def function.
|
||||
* tree-ssa-alias.c (dump_points_to_info): Likewise.
|
||||
* tree-ssa.c (verify_use): Likewise.
|
||||
* tree-ssanames.c (release_ssa_name): Likewise.
|
||||
* tree-tailcall.c (eliminate_tail_call): Likewise.
|
||||
(tree_optimize_tail_calls_1): Likewise.
|
||||
* tree-vrp.c (get_value_range): Likewise.
|
||||
|
||||
2005-07-14 Ben Elliston <bje@au.ibm.com>
|
||||
|
||||
* gcc.c (main): Compare language[0] with '*' when iterating over
|
||||
|
@ -335,10 +335,10 @@ dump_variable (FILE *file, tree var)
|
||||
if (is_call_clobbered (var))
|
||||
fprintf (file, ", call clobbered");
|
||||
|
||||
if (ann->default_def)
|
||||
if (default_def (var))
|
||||
{
|
||||
fprintf (file, ", default def: ");
|
||||
print_generic_expr (file, ann->default_def, dump_flags);
|
||||
print_generic_expr (file, default_def (var), dump_flags);
|
||||
}
|
||||
|
||||
if (ann->may_aliases)
|
||||
|
@ -2035,9 +2035,9 @@ dump_points_to_info (FILE *file)
|
||||
{
|
||||
if (POINTER_TYPE_P (TREE_TYPE (var)))
|
||||
{
|
||||
var_ann_t ann = var_ann (var);
|
||||
if (ann->default_def)
|
||||
dump_points_to_info_for (file, ann->default_def);
|
||||
tree def = default_def (var);
|
||||
if (def)
|
||||
dump_points_to_info_for (file, def);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -231,7 +231,7 @@ verify_use (basic_block bb, basic_block def_bb, use_operand_p use_p,
|
||||
TREE_VISITED (ssa_name) = 1;
|
||||
|
||||
if (IS_EMPTY_STMT (SSA_NAME_DEF_STMT (ssa_name))
|
||||
&& var_ann (SSA_NAME_VAR (ssa_name))->default_def == ssa_name)
|
||||
&& default_def (SSA_NAME_VAR (ssa_name)) == ssa_name)
|
||||
; /* Default definitions have empty statements. Nothing to do. */
|
||||
else if (!def_bb)
|
||||
{
|
||||
|
@ -183,7 +183,7 @@ release_ssa_name (tree var)
|
||||
|
||||
/* Never release the default definition for a symbol. It's a
|
||||
special SSA name that should always exist once it's created. */
|
||||
if (var == var_ann (SSA_NAME_VAR (var))->default_def)
|
||||
if (var == default_def (SSA_NAME_VAR (var)))
|
||||
return;
|
||||
|
||||
/* If VAR has been registered for SSA updating, don't remove it.
|
||||
|
@ -756,7 +756,7 @@ eliminate_tail_call (struct tailcall *t)
|
||||
|
||||
if (!phi)
|
||||
{
|
||||
tree name = var_ann (param)->default_def;
|
||||
tree name = default_def (param);
|
||||
tree new_name;
|
||||
|
||||
if (!name)
|
||||
@ -769,7 +769,7 @@ eliminate_tail_call (struct tailcall *t)
|
||||
}
|
||||
new_name = make_ssa_name (param, SSA_NAME_DEF_STMT (name));
|
||||
|
||||
var_ann (param)->default_def = new_name;
|
||||
set_default_def (param, new_name);
|
||||
phi = create_phi_node (name, first);
|
||||
SSA_NAME_DEF_STMT (name) = phi;
|
||||
add_phi_arg (phi, new_name, single_succ_edge (ENTRY_BLOCK_PTR));
|
||||
@ -868,6 +868,7 @@ tree_optimize_tail_calls_1 (bool opt_tailcalls)
|
||||
|
||||
if (!phis_constructed)
|
||||
{
|
||||
tree name;
|
||||
/* Ensure that there is only one predecessor of the block. */
|
||||
if (!single_pred_p (first))
|
||||
first = split_edge (single_succ_edge (ENTRY_BLOCK_PTR));
|
||||
@ -880,14 +881,13 @@ tree_optimize_tail_calls_1 (bool opt_tailcalls)
|
||||
&& var_ann (param)
|
||||
/* Also parameters that are only defined but never used need not
|
||||
be copied. */
|
||||
&& (var_ann (param)->default_def
|
||||
&& TREE_CODE (var_ann (param)->default_def) == SSA_NAME))
|
||||
&& ((name = default_def (param))
|
||||
&& TREE_CODE (name) == SSA_NAME))
|
||||
{
|
||||
tree name = var_ann (param)->default_def;
|
||||
tree new_name = make_ssa_name (param, SSA_NAME_DEF_STMT (name));
|
||||
tree phi;
|
||||
|
||||
var_ann (param)->default_def = new_name;
|
||||
set_default_def (param, new_name);
|
||||
phi = create_phi_node (name, first);
|
||||
SSA_NAME_DEF_STMT (name) = phi;
|
||||
add_phi_arg (phi, new_name, single_pred_edge (first));
|
||||
|
@ -294,7 +294,7 @@ get_value_range (tree var)
|
||||
/* If VAR is a default definition, the variable can take any value
|
||||
in VAR's type. */
|
||||
sym = SSA_NAME_VAR (var);
|
||||
if (var == var_ann (sym)->default_def)
|
||||
if (var == default_def (sym))
|
||||
{
|
||||
/* Try to use the "nonnull" attribute to create ~[0, 0]
|
||||
anti-ranges for pointers. Note that this is only valid with
|
||||
|
Loading…
x
Reference in New Issue
Block a user