This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[gimple-classes, committed 18/44] tree-call-cdce.c: Use gassign


gcc/ChangeLog.gimple-classes:
	* tree-call-cdce.c (check_pow): Replace check against
	GIMPLE_ASSIGN with a dyn_cast, strengthening local "base_def" from
	gimple to gassign *.
	(gen_conditions_for_pow_int_base): Add a checked cast.
---
 gcc/ChangeLog.gimple-classes | 7 +++++++
 gcc/tree-call-cdce.c         | 8 ++++----
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes
index 719ca6b..f7921d6 100644
--- a/gcc/ChangeLog.gimple-classes
+++ b/gcc/ChangeLog.gimple-classes
@@ -1,5 +1,12 @@
 2014-11-03  David Malcolm  <dmalcolm@redhat.com>
 
+	* tree-call-cdce.c (check_pow): Replace check against
+	GIMPLE_ASSIGN with a dyn_cast, strengthening local "base_def" from
+	gimple to gassign *.
+	(gen_conditions_for_pow_int_base): Add a checked cast.
+
+2014-11-03  David Malcolm  <dmalcolm@redhat.com>
+
 	* tree-affine.c (aff_combination_expand): Replace is_gimple_assign
 	with a dyn_cast, strengthening local "def" from gimple to
 	gassign *.
diff --git a/gcc/tree-call-cdce.c b/gcc/tree-call-cdce.c
index 86b3df9..459b6db 100644
--- a/gcc/tree-call-cdce.c
+++ b/gcc/tree-call-cdce.c
@@ -223,13 +223,13 @@ check_pow (gcall *pow_call)
   else if (bc == SSA_NAME)
     {
       tree base_val0, type;
-      gimple base_def;
+      gassign *base_def;
       int bit_sz;
 
       /* Only handles cases where base value is converted
          from integer values.  */
-      base_def = SSA_NAME_DEF_STMT (base);
-      if (gimple_code (base_def) != GIMPLE_ASSIGN)
+      base_def = dyn_cast <gassign *> (SSA_NAME_DEF_STMT (base));
+      if (!base_def)
         return false;
 
       if (gimple_assign_rhs_code (base_def) != FLOAT_EXPR)
@@ -474,7 +474,7 @@ gen_conditions_for_pow_int_base (tree base, tree expn,
   inp_domain exp_domain;
 
   base_def = SSA_NAME_DEF_STMT (base);
-  base_val0 = gimple_assign_rhs1 (base_def);
+  base_val0 = gimple_assign_rhs1 (as_a <gassign *> (base_def));
   int_type = TREE_TYPE (base_val0);
   bit_sz = TYPE_PRECISION (int_type);
   gcc_assert (bit_sz > 0
-- 
1.7.11.7


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]