SOURCES: gcc-pr30052.patch - updated. fix ICE on fortran bootstrap.
pluto
pluto at pld-linux.org
Mon May 21 12:32:33 CEST 2007
Author: pluto Date: Mon May 21 10:32:33 2007 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- updated. fix ICE on fortran bootstrap.
---- Files affected:
SOURCES:
gcc-pr30052.patch (1.1 -> 1.2)
---- Diffs:
================================================================
Index: SOURCES/gcc-pr30052.patch
diff -u SOURCES/gcc-pr30052.patch:1.1 SOURCES/gcc-pr30052.patch:1.2
--- SOURCES/gcc-pr30052.patch:1.1 Sat May 19 16:32:43 2007
+++ SOURCES/gcc-pr30052.patch Mon May 21 12:32:28 2007
@@ -3961,7 +3961,11 @@
/* With flag_argument_noalias greater than two means that the incoming
argument cannot alias anything except for itself so create a HEAP
-@@ -4280,7 +4258,7 @@ intra_create_variable_infos (void)
+@@ -4276,11 +4254,10 @@ intra_create_variable_infos (void)
+ {
+ varinfo_t vi;
+ tree heapvar = heapvar_lookup (t);
+- unsigned int id;
lhs.offset = 0;
lhs.type = SCALAR;
@@ -3970,7 +3974,7 @@
if (heapvar == NULL_TREE)
{
-@@ -4291,8 +4269,8 @@ intra_create_variable_infos (void)
+@@ -4291,11 +4268,11 @@ intra_create_variable_infos (void)
add_referenced_var (heapvar);
heapvar_insert (t, heapvar);
}
@@ -3980,8 +3984,12 @@
+ vi = get_vi_for_tree (heapvar);
vi->is_artificial_var = 1;
vi->is_heap_var = 1;
- rhs.var = id;
-@@ -4409,8 +4387,8 @@ static bool have_alias_info = false;
+- rhs.var = id;
++ rhs.var = vi->id;
+ rhs.type = ADDRESSOF;
+ rhs.offset = 0;
+ for (p = get_varinfo (lhs.var); p; p = p->next)
+@@ -4409,8 +4386,8 @@ static bool have_alias_info = false;
bool
find_what_p_points_to (tree p)
{
@@ -3991,7 +3999,7 @@
if (!have_alias_info)
return false;
-@@ -4422,10 +4400,10 @@ find_what_p_points_to (tree p)
+@@ -4422,10 +4399,10 @@ find_what_p_points_to (tree p)
&& default_def (SSA_NAME_VAR (p)) == p)
lookup_p = SSA_NAME_VAR (p);
@@ -4005,7 +4013,7 @@
if (vi->is_artificial_var)
return false;
-@@ -4447,7 +4425,7 @@ find_what_p_points_to (tree p)
+@@ -4447,7 +4424,7 @@ find_what_p_points_to (tree p)
/* This variable may have been collapsed, let's get the real
variable. */
@@ -4014,7 +4022,7 @@
/* Translate artificial variables into SSA_NAME_PTR_INFO
attributes. */
-@@ -4506,13 +4484,16 @@ dump_sa_points_to_info (FILE *outfile)
+@@ -4506,13 +4483,16 @@ dump_sa_points_to_info (FILE *outfile)
{
fprintf (outfile, "Stats:\n");
fprintf (outfile, "Total vars: %d\n", stats.total_vars);
@@ -4032,7 +4040,7 @@
}
for (i = 0; i < VEC_length (varinfo_t, varmap); i++)
-@@ -4540,8 +4521,8 @@ init_base_vars (void)
+@@ -4540,8 +4520,8 @@ init_base_vars (void)
/* Create the NULL variable, used to represent that a variable points
to NULL. */
nothing_tree = create_tmp_var_raw (void_type_node, "NULL");
@@ -4043,7 +4051,7 @@
var_nothing->is_artificial_var = 1;
var_nothing->offset = 0;
var_nothing->size = ~0;
-@@ -4553,8 +4534,8 @@ init_base_vars (void)
+@@ -4553,8 +4533,8 @@ init_base_vars (void)
/* Create the ANYTHING variable, used to represent that a variable
points to some unknown piece of memory. */
anything_tree = create_tmp_var_raw (void_type_node, "ANYTHING");
@@ -4054,7 +4062,7 @@
var_anything->is_artificial_var = 1;
var_anything->size = ~0;
var_anything->offset = 0;
-@@ -4573,7 +4554,6 @@ init_base_vars (void)
+@@ -4573,7 +4553,6 @@ init_base_vars (void)
rhs.type = ADDRESSOF;
rhs.var = anything_id;
rhs.offset = 0;
@@ -4062,7 +4070,7 @@
/* This specifically does not use process_constraint because
process_constraint ignores all anything = anything constraints, since all
-@@ -4583,14 +4563,14 @@ init_base_vars (void)
+@@ -4583,14 +4562,14 @@ init_base_vars (void)
/* Create the READONLY variable, used to represent that a variable
points to readonly memory. */
readonly_tree = create_tmp_var_raw (void_type_node, "READONLY");
@@ -4079,7 +4087,7 @@
readonly_id = 2;
VEC_safe_push (varinfo_t, heap, varmap, var_readonly);
-@@ -4610,8 +4590,8 @@ init_base_vars (void)
+@@ -4610,8 +4589,8 @@ init_base_vars (void)
/* Create the INTEGER variable, used to represent that a variable points
to an INTEGER. */
integer_tree = create_tmp_var_raw (void_type_node, "INTEGER");
@@ -4090,7 +4098,7 @@
var_integer->is_artificial_var = 1;
var_integer->size = ~0;
var_integer->fullsize = ~0;
-@@ -4634,8 +4614,8 @@ init_base_vars (void)
+@@ -4634,8 +4613,8 @@ init_base_vars (void)
/* Create the ESCAPED_VARS variable used to represent variables that
escape this function. */
escaped_vars_tree = create_tmp_var_raw (void_type_node, "ESCAPED_VARS");
@@ -4101,7 +4109,7 @@
var_escaped_vars->is_artificial_var = 1;
var_escaped_vars->size = ~0;
var_escaped_vars->fullsize = ~0;
-@@ -4660,21 +4640,19 @@ init_base_vars (void)
+@@ -4660,21 +4639,19 @@ init_base_vars (void)
static void
init_alias_vars (void)
{
@@ -4128,7 +4136,7 @@
init_base_vars ();
}
-@@ -4777,6 +4755,43 @@ find_escape_constraints (tree stmt)
+@@ -4777,6 +4754,43 @@ find_escape_constraints (tree stmt)
VEC_free (ce_s, heap, rhsc);
}
@@ -4172,7 +4180,7 @@
/* Create points-to sets for the current function. See the comments
at the start of the file for an algorithmic overview. */
-@@ -4784,11 +4799,13 @@ void
+@@ -4784,11 +4798,13 @@ void
compute_points_to_sets (struct alias_info *ai)
{
basic_block bb;
@@ -4187,7 +4195,7 @@
intra_create_variable_infos ();
/* Now walk all statements and derive aliases. */
-@@ -4824,36 +4841,42 @@ compute_points_to_sets (struct alias_inf
+@@ -4824,36 +4840,42 @@ compute_points_to_sets (struct alias_inf
}
}
@@ -4240,7 +4248,7 @@
/* Delete created points-to sets. */
void
-@@ -4861,33 +4884,27 @@ delete_points_to_sets (void)
+@@ -4861,33 +4883,27 @@ delete_points_to_sets (void)
{
varinfo_t v;
int i;
@@ -4287,7 +4295,7 @@
have_alias_info = false;
}
-@@ -4905,6 +4922,7 @@ gate_ipa_pta (void)
+@@ -4905,6 +4921,7 @@ gate_ipa_pta (void)
static unsigned int
ipa_pta_execute (void)
{
@@ -4295,7 +4303,7 @@
struct cgraph_node *node;
in_ipa_mode = 1;
init_alias_heapvars ();
-@@ -4994,6 +5012,7 @@ ipa_pta_execute (void)
+@@ -4994,6 +5011,7 @@ ipa_pta_execute (void)
in_ipa_mode = 0;
delete_alias_heapvars ();
delete_points_to_sets ();
@@ -4303,7 +4311,7 @@
return 0;
}
-@@ -5018,8 +5037,9 @@ struct tree_opt_pass pass_ipa_pta =
+@@ -5018,8 +5036,9 @@ struct tree_opt_pass pass_ipa_pta =
void
init_alias_heapvars (void)
{
@@ -4315,7 +4323,7 @@
nonlocal_all = NULL_TREE;
}
-@@ -5028,7 +5048,7 @@ delete_alias_heapvars (void)
+@@ -5028,7 +5047,7 @@ delete_alias_heapvars (void)
{
nonlocal_all = NULL_TREE;
htab_delete (heapvar_for_stmt);
================================================================
---- CVS-web:
http://cvs.pld-linux.org/SOURCES/gcc-pr30052.patch?r1=1.1&r2=1.2&f=u
More information about the pld-cvs-commit
mailing list