diff mbox

[gimple-classes,committed,13/92] tree-ssa-loop-niter.c: use gimple_phi in a few places

Message ID 1414442490-14841-14-git-send-email-dmalcolm@redhat.com
State New
Headers show

Commit Message

David Malcolm Oct. 27, 2014, 8:40 p.m. UTC
This corresponds to:
  [PATCH 14/89] tree-ssa-loop-niter.c: use gimple_phi in a few places
  https://gcc.gnu.org/ml/gcc-patches/2014-04/msg01191.html
from the original 89-patch kit

That earlier patch was approved by Jeff:
> OK when prerequisites have gone in.
in https://gcc.gnu.org/ml/gcc-patches/2014-05/msg00623.html

gcc/
	* tree-ssa-loop-niter.c (chain_of_csts_start): Return a gimple_phi
	rather than a gimple.
	(get_base_for): Likewise; convert local "phi" to be a gimple_phi.
	(loop_niter_by_eval): Convert local "phi" to be a gimple_phi.
---
 gcc/ChangeLog.gimple-classes |  9 +++++++++
 gcc/tree-ssa-loop-niter.c    | 11 ++++++-----
 2 files changed, 15 insertions(+), 5 deletions(-)
diff mbox

Patch

diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes
index 7be584b..533002f 100644
--- a/gcc/ChangeLog.gimple-classes
+++ b/gcc/ChangeLog.gimple-classes
@@ -1,5 +1,14 @@ 
 2014-10-24  David Malcolm  <dmalcolm@redhat.com>
 
+	tree-ssa-loop-niter.c: use gimple_phi in a few places
+
+	* tree-ssa-loop-niter.c (chain_of_csts_start): Return a gimple_phi
+	rather than a gimple.
+	(get_base_for): Likewise; convert local "phi" to be a gimple_phi.
+	(loop_niter_by_eval): Convert local "phi" to be a gimple_phi.
+
+2014-10-24  David Malcolm  <dmalcolm@redhat.com>
+
 	tree-ssa-phiprop.c: use gimple_phi
 
 	* tree-ssa-phiprop.c (phiprop_insert_phi): Strengthen types of
diff --git a/gcc/tree-ssa-loop-niter.c b/gcc/tree-ssa-loop-niter.c
index 6313fc8..025c1f9 100644
--- a/gcc/tree-ssa-loop-niter.c
+++ b/gcc/tree-ssa-loop-niter.c
@@ -2155,7 +2155,7 @@  finite_loop_p (struct loop *loop)
    result by a chain of operations such that all but exactly one of their
    operands are constants.  */
 
-static gimple
+static gimple_phi
 chain_of_csts_start (struct loop *loop, tree x)
 {
   gimple stmt = SSA_NAME_DEF_STMT (x);
@@ -2170,7 +2170,7 @@  chain_of_csts_start (struct loop *loop, tree x)
   if (gimple_code (stmt) == GIMPLE_PHI)
     {
       if (bb == loop->header)
-	return stmt;
+	return as_a <gimple_phi> (stmt);
 
       return NULL;
     }
@@ -2203,10 +2203,10 @@  chain_of_csts_start (struct loop *loop, tree x)
 
    If such phi node exists, it is returned, otherwise NULL is returned.  */
 
-static gimple
+static gimple_phi
 get_base_for (struct loop *loop, tree x)
 {
-  gimple phi;
+  gimple_phi phi;
   tree init, next;
 
   if (is_gimple_min_invariant (x))
@@ -2297,7 +2297,8 @@  loop_niter_by_eval (struct loop *loop, edge exit)
 {
   tree acnd;
   tree op[2], val[2], next[2], aval[2];
-  gimple phi, cond;
+  gimple_phi phi;
+  gimple cond;
   unsigned i, j;
   enum tree_code cmp;