revert: tree-ssa-loop-ch.c (copy_loop_headers): Decrement nb_iterations_upper_bound by one.
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. * gcc.dg/torture/20131122-0.c: New testcase. From-SVN: r205256
This commit is contained in:
parent
7dced2146b
commit
1e37d699ca
|
@ -1,3 +1,11 @@
|
|||
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
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
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.
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
/* { 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;
|
||||
}
|
||||
|
|
@ -243,16 +243,6 @@ copy_loop_headers (void)
|
|||
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);
|
||||
|
|
Loading…
Reference in New Issue