diff options
Diffstat (limited to 'gcc/tree-ssa-coalesce.cc')
-rw-r--r-- | gcc/tree-ssa-coalesce.cc | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/gcc/tree-ssa-coalesce.cc b/gcc/tree-ssa-coalesce.cc index b78ffd7..7cc39f7 100644 --- a/gcc/tree-ssa-coalesce.cc +++ b/gcc/tree-ssa-coalesce.cc @@ -896,6 +896,18 @@ build_ssa_conflict_graph (tree_live_info_p liveinfo) tree var; gimple *stmt = gsi_stmt (gsi); + if (is_gimple_debug (stmt)) + continue; + + if (map->bitint) + { + build_bitint_stmt_ssa_conflicts (stmt, live, graph, map->bitint, + live_track_process_def, + live_track_process_use, + live_track_clear_var); + continue; + } + /* A copy between 2 partitions does not introduce an interference by itself. If they did, you would never be able to coalesce two things which are copied. If the two variables really do @@ -912,16 +924,6 @@ build_ssa_conflict_graph (tree_live_info_p liveinfo) && TREE_CODE (rhs1) == SSA_NAME) live_track_clear_var (live, rhs1); } - else if (is_gimple_debug (stmt)) - continue; - - if (map->bitint) - { - build_bitint_stmt_ssa_conflicts (stmt, live, graph, map->bitint, - live_track_process_def, - live_track_process_use); - continue; - } /* For stmts with more than one SSA_NAME definition pretend all the SSA_NAME outputs but the first one are live at this point, so |