+2013-01-09 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/55569
+ * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
+ * cfgloop.h (scale_loop_profile): Likewise.
+
2013-01-09 Jan Hubicka <jh@suse.cz>
PR lto/45375
extern void doloop_optimize_loops (void);
extern void move_loop_invariants (void);
extern bool finite_loop_p (struct loop *);
-extern void scale_loop_profile (struct loop *loop, int scale, int iteration_bound);
+extern void scale_loop_profile (struct loop *loop, int scale, gcov_type iteration_bound);
extern vec<basic_block> get_loop_hot_path (const struct loop *loop);
/* Returns the outermost loop of the loop nest that contains LOOP.*/
to iterate too many times. */
void
-scale_loop_profile (struct loop *loop, int scale, int iteration_bound)
+scale_loop_profile (struct loop *loop, int scale, gcov_type iteration_bound)
{
gcov_type iterations = expected_loop_iterations_unbounded (loop);
edge e;
fprintf (dump_file, ";; Scaling loop %i with scale %f, "
"bounding iterations to %i from guessed %i\n",
loop->num, (double)scale / REG_BR_PROB_BASE,
- iteration_bound, (int)iterations);
+ (int)iteration_bound, (int)iterations);
/* See if loop is predicted to iterate too many times. */
if (iteration_bound && iterations > 0
+2013-01-09 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/55569
+ * gcc.c-torture/compile/pr55569.c: New testcase.
+
2013-01-09 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/47203
--- /dev/null
+/* { dg-options "-O1 -ftree-vectorize" } */
+int *bar (void);
+
+void
+foo (void)
+{
+ long x;
+ int *y = bar ();
+ for (x = -1 / sizeof (int); x; --x, ++y)
+ *y = 0;
+}