Revert
2013-11-21 Richard Biener <rguenther@suse.de>
* tree-ssa-loop-ch.c (copy_loop_headers): Decrement
nb_iterations_upper_bound by one.
* gcc.dg/torture/
20131122-0.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205256
138bc75d-0d04-0410-961f-
82ee72b054a4
+2013-11-22 Richard Biener <rguenther@suse.de>
+
+ Revert
+ 2013-11-21 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-loop-ch.c (copy_loop_headers): Decrement
+ nb_iterations_upper_bound by one.
+
2013-11-22 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (processor_alias_table): Enable PTA_POPCNT
+2013-11-22 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/torture/20131122-0.c: New testcase.
+
2013-11-22 Jakub Jelinek <jakub@redhat.com>
* gcc.dg/vect/vect-124.c: New test.
--- /dev/null
+/* { dg-do run } */
+
+extern int memcmp (const void *, const void *, __SIZE_TYPE__);
+extern void abort (void);
+
+void __attribute__ ((noinline))
+f (long *s, long *t, int len1, int len2)
+{
+ int i, j;
+
+ j = 2;
+ for (i = len1 - 1; i >= 0; i--)
+ {
+ s[j--] = (i < len2 ? t[i] : t[len2 - 1] < 0 ? -1 : 0);
+ if (j < 0)
+ break;
+ }
+}
+
+long s[3];
+long t[3];
+
+int
+main (void)
+{
+ t[0] = 1;
+ t[1] = 2;
+ t[2] = 3;
+ f (s, t, 3, 3);
+ if (memcmp (s, t, sizeof (s)) != 0)
+ abort ();
+ return 0;
+}
+
are not now, since there was the loop exit condition. */
split_edge (loop_preheader_edge (loop));
split_edge (loop_latch_edge (loop));
-
- /* We peeled off one iteration of the loop thus we can lower
- the maximum number of iterations if we have a previously
- recorded value for that. */
- double_int max;
- if (get_max_loop_iterations (loop, &max))
- {
- max -= double_int_one;
- loop->nb_iterations_upper_bound = max;
- }
}
update_ssa (TODO_update_ssa);