------- Comment #6 from pinskia at gcc dot gnu dot org 2007-06-16 20:55 -------
This patch works for me (and I think it is correct):
Index: tree-chrec.c
===================================================================
--- tree-chrec.c (revision 125757)
+++ tree-chrec.c (working copy)
@@ -712,6 +712,10 @@
else
component = CHREC_LEFT (chrec);
+ if (!right && TREE_CODE (CHREC_LEFT (chrec)) == POLYNOMIAL_CHREC
+ && CHREC_VARIABLE (CHREC_LEFT (chrec)) == CHREC_VARIABLE (chrec))
+ return chrec_component_in_loop_num (CHREC_LEFT (chrec), loop_num,
right);
+
if (TREE_CODE (CHREC_LEFT (chrec)) != POLYNOMIAL_CHREC
|| CHREC_VARIABLE (CHREC_LEFT (chrec)) != CHREC_VARIABLE (chrec))
return component;
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32367