[gimple-classes, committed 25/44] tree-ssa-coalesce.c: Use gassign
David Malcolm
dmalcolm@redhat.com
Thu Nov 6 14:37:00 GMT 2014
gcc/ChangeLog.gimple-classes:
* tree-ssa-coalesce.c (build_ssa_conflict_graph): Replace
is_gimple_assign with dyn_cast, introducing local "assign_stmt",
using it in place of "stmt" for typesafety.
(create_outofssa_var_map): Within case GIMPLE_ASSIGN introduce
local "assign_stmt", using it in place of "stmt" for typesafety.
---
gcc/ChangeLog.gimple-classes | 8 ++++++++
gcc/tree-ssa-coalesce.c | 15 ++++++++-------
2 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes
index ca6b1be..c7ca9fd 100644
--- a/gcc/ChangeLog.gimple-classes
+++ b/gcc/ChangeLog.gimple-classes
@@ -1,5 +1,13 @@
2014-11-03 David Malcolm <dmalcolm@redhat.com>
+ * tree-ssa-coalesce.c (build_ssa_conflict_graph): Replace
+ is_gimple_assign with dyn_cast, introducing local "assign_stmt",
+ using it in place of "stmt" for typesafety.
+ (create_outofssa_var_map): Within case GIMPLE_ASSIGN introduce
+ local "assign_stmt", using it in place of "stmt" for typesafety.
+
+2014-11-03 David Malcolm <dmalcolm@redhat.com>
+
* tree-ssa-ccp.c (get_default_value): Replace is_gimple_assign
with a dyn_cast, introducing local "assign_stmt", using it in
place of "stmt" for typesafety.
diff --git a/gcc/tree-ssa-coalesce.c b/gcc/tree-ssa-coalesce.c
index 7d1825d..74ea352 100644
--- a/gcc/tree-ssa-coalesce.c
+++ b/gcc/tree-ssa-coalesce.c
@@ -850,11 +850,11 @@ build_ssa_conflict_graph (tree_live_info_p liveinfo)
This is handled by simply removing the SRC of the copy from the
live list, and processing the stmt normally. */
- if (is_gimple_assign (stmt))
+ if (gassign *assign_stmt = dyn_cast <gassign *> (stmt))
{
- tree lhs = gimple_assign_lhs (stmt);
- tree rhs1 = gimple_assign_rhs1 (stmt);
- if (gimple_assign_copy_p (stmt)
+ tree lhs = gimple_assign_lhs (assign_stmt);
+ tree rhs1 = gimple_assign_rhs1 (assign_stmt);
+ if (gimple_assign_copy_p (assign_stmt)
&& TREE_CODE (lhs) == SSA_NAME
&& TREE_CODE (rhs1) == SSA_NAME)
live_track_clear_var (live, rhs1);
@@ -1003,9 +1003,10 @@ create_outofssa_var_map (coalesce_list_p cl, bitmap used_in_copy)
{
case GIMPLE_ASSIGN:
{
- tree lhs = gimple_assign_lhs (stmt);
- tree rhs1 = gimple_assign_rhs1 (stmt);
- if (gimple_assign_ssa_name_copy_p (stmt)
+ gassign *assign_stmt = as_a <gassign *> (stmt);
+ tree lhs = gimple_assign_lhs (assign_stmt);
+ tree rhs1 = gimple_assign_rhs1 (assign_stmt);
+ if (gimple_assign_ssa_name_copy_p (assign_stmt)
&& gimple_can_coalesce_p (lhs, rhs1))
{
v1 = SSA_NAME_VERSION (lhs);
--
1.7.11.7
More information about the Gcc-patches
mailing list