SOURCES: gcc-pr22550.patch (NEW) - fix critical bug in vrp.

pluto pluto at pld-linux.org
Mon Jul 25 17:14:32 CEST 2005


Author: pluto                        Date: Mon Jul 25 15:14:32 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- fix critical bug in vrp.

---- Files affected:
SOURCES:
   gcc-pr22550.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/gcc-pr22550.patch
diff -u /dev/null SOURCES/gcc-pr22550.patch:1.1
--- /dev/null	Mon Jul 25 17:14:32 2005
+++ SOURCES/gcc-pr22550.patch	Mon Jul 25 17:14:27 2005
@@ -0,0 +1,32 @@
+From: ja2morri at csclub dot uwaterloo dot ca (James A dot  Morrison)
+Date: Mon, 25 Jul 2005 10:37:52 -0400
+
+Hi,
+
+This fixes PR22550 by simply returning COND in vrp_evaluate_condition if
+it is an INTEGER_CST.  In PR22550 I believe the if (0) comes from
+merge_seq_blocks which is called after cleanup_control_flow in
+cleanup_tree_cfg.  This patch has been bootstrapped and regtested on ia64-linux
+with no new regressions, ok for mainline?
+
+Thanks,
+Jim
+
+2005-07-25  James A. Morrison  <phython at gcc.gnu.org>
+
+	PR tree-optimization/22550
+	* tree-vrp.c (vrp_evaluate_condition): Return COND if it is an
+	INTEGER_CST.
+
+--- gcc/gcc/tree-vrp.c	20 Jul 2005 20:26:00 -0000	2.42
++++ gcc/gcc/tree-vrp.c	25 Jul 2005 14:22:55 -0000
+@@ -3014,6 +3072,9 @@ compare_names (enum tree_code comp, tree
+ tree
+ vrp_evaluate_conditional (tree cond, bool use_equiv_p)
+ {
++  if (TREE_CODE (cond) == INTEGER_CST)
++    return cond;
++
+   gcc_assert (TREE_CODE (cond) == SSA_NAME
+               || TREE_CODE_CLASS (TREE_CODE (cond)) == tcc_comparison);
+ 
================================================================



More information about the pld-cvs-commit mailing list