summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ipa-utils.c1
-rw-r--r--gcc/ipa-utils.h3
3 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index add1fa26654..f563c5ffda0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2011-06-01 Martin Jambor <mjambor@suse.cz>
+ * ipa-utils.c (ipa_dfs_info): New field scc_no.
+ * ipa-utils.c (searchc): Set scc_no.
+
+2011-06-01 Martin Jambor <mjambor@suse.cz>
+
* ipa-utils.c (searchc_env): New field allow_overwritable.
(searchc): do not ignore edges to overwritable nodes if indicated
by env->allow_overwritable.
diff --git a/gcc/ipa-utils.c b/gcc/ipa-utils.c
index f60ce2fd074..91fe839577d 100644
--- a/gcc/ipa-utils.c
+++ b/gcc/ipa-utils.c
@@ -138,6 +138,7 @@ searchc (struct searchc_env* env, struct cgraph_node *v,
x = env->stack[--(env->stack_size)];
x_info = (struct ipa_dfs_info *) x->aux;
x_info->on_stack = false;
+ x_info->scc_no = v_info->dfn_number;
if (env->reduce)
{
diff --git a/gcc/ipa-utils.h b/gcc/ipa-utils.h
index 7b49e6a1c94..7e2190eaee5 100644
--- a/gcc/ipa-utils.h
+++ b/gcc/ipa-utils.h
@@ -26,6 +26,9 @@ along with GCC; see the file COPYING3. If not see
struct ipa_dfs_info {
int dfn_number;
int low_link;
+ /* This field will have the samy value for any two nodes in the same strongly
+ connected component. */
+ int scc_no;
bool new_node;
bool on_stack;
struct cgraph_node* next_cycle;
OpenPOWER on IntegriCloud