diff options
author | drow <drow@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-01 16:53:01 +0000 |
---|---|---|
committer | drow <drow@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-01 16:53:01 +0000 |
commit | 5f6261a7b7c907b0691d23edfa20ec0ca1051c87 (patch) | |
tree | d02919ec89b4a0c74b6a0015731011335652b7ca /gcc/tree-ssa-coalesce.c | |
parent | b4c4fea4634a5d4938608d5b10287b632ade40c8 (diff) | |
download | gcc-5f6261a7b7c907b0691d23edfa20ec0ca1051c87.tar.gz |
PR tree-optimization/32919
* tree-ssa-sccvn.c (visit_phi): Do not visit abnormal PHIs.
* tree-ssa-coalesce.c (ssa_conflicts_dump): New.
(coalesce_ssa_name): Call it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127132 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-coalesce.c')
-rw-r--r-- | gcc/tree-ssa-coalesce.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/tree-ssa-coalesce.c b/gcc/tree-ssa-coalesce.c index 4e3a5a3df83..1b63635881b 100644 --- a/gcc/tree-ssa-coalesce.c +++ b/gcc/tree-ssa-coalesce.c @@ -589,6 +589,24 @@ ssa_conflicts_merge (ssa_conflicts_p ptr, unsigned x, unsigned y) } +/* Dump a conflicts graph. */ + +static void +ssa_conflicts_dump (FILE *file, ssa_conflicts_p ptr) +{ + unsigned x; + + fprintf (file, "\nConflict graph:\n"); + + for (x = 0; x < ptr->size; x++) + if (ptr->conflicts[x]) + { + fprintf (dump_file, "%d: ", x); + dump_bitmap (file, ptr->conflicts[x]); + } +} + + /* This structure is used to efficiently record the current status of live SSA_NAMES when building a conflict graph. LIVE_BASE_VAR has a bit set for each base variable which has at least one @@ -1302,6 +1320,8 @@ coalesce_ssa_name (void) /* Build a conflict graph. */ graph = build_ssa_conflict_graph (liveinfo); delete_tree_live_info (liveinfo); + if (dump_file && (dump_flags & TDF_DETAILS)) + ssa_conflicts_dump (dump_file, graph); sort_coalesce_list (cl); |