gcc/ChangeLog.gimple-classes:
* tree-loop-distribution.c (generate_memset_builtin): Strengthen
locals "stmt" and "fn_call" from gimple to gassign * and gcall *
respectively.
(classify_partition): Strengthen locals "stmt", "store", "load"
from gimple to gassign *.
---
gcc/ChangeLog.gimple-classes | 8 ++++++++
gcc/tree-loop-distribution.c | 11 ++++++-----
2 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes
index 98b27ee..55acc34 100644
--- a/gcc/ChangeLog.gimple-classes
+++ b/gcc/ChangeLog.gimple-classes
@@ -1,5 +1,13 @@
2014-11-06 David Malcolm <[email protected]>
+ * tree-loop-distribution.c (generate_memset_builtin): Strengthen
+ locals "stmt" and "fn_call" from gimple to gassign * and gcall *
+ respectively.
+ (classify_partition): Strengthen locals "stmt", "store", "load"
+ from gimple to gassign *.
+
+2014-11-06 David Malcolm <[email protected]>
+
* tree-into-ssa.c (create_new_def_for): Add a checked cast.
2014-11-06 David Malcolm <[email protected]>
diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c
index f0bac46..6b4195c 100644
--- a/gcc/tree-loop-distribution.c
+++ b/gcc/tree-loop-distribution.c
@@ -792,12 +792,13 @@ static void
generate_memset_builtin (struct loop *loop, partition_t partition)
{
gimple_stmt_iterator gsi;
- gimple stmt, fn_call;
+ gassign *stmt;
+ gcall *fn_call;
tree mem, fn, nb_bytes;
location_t loc;
tree val;
- stmt = DR_STMT (partition->main_dr);
+ stmt = as_a <gassign *> (DR_STMT (partition->main_dr));
loc = gimple_location (stmt);
/* The new statements will be placed before LOOP. */
@@ -1083,7 +1084,7 @@ classify_partition (loop_p loop, struct graph *rdg,
partition_t partition)
if (single_store && !single_load)
{
- gimple stmt = DR_STMT (single_store);
+ gassign *stmt = as_a <gassign *> (DR_STMT (single_store));
tree rhs = gimple_assign_rhs1 (stmt);
if (const_with_all_bytes_same (rhs) == -1
&& (!INTEGRAL_TYPE_P (TREE_TYPE (rhs))
@@ -1105,8 +1106,8 @@ classify_partition (loop_p loop, struct graph *rdg,
partition_t partition)
}
else if (single_store && single_load)
{
- gimple store = DR_STMT (single_store);
- gimple load = DR_STMT (single_load);
+ gassign *store = as_a <gassign *> (DR_STMT (single_store));
+ gassign *load = as_a <gassign *> (DR_STMT (single_load));
/* Direct aggregate copy or via an SSA name temporary. */
if (load != store
&& gimple_assign_lhs (load) != gimple_assign_rhs1 (store))
--
1.7.11.7