re PR rtl-optimization/55273 (ICE in iv_number_of_iterations, at loop-iv.c:2819)

PR tree-optimizatoin/51083

	* gcc.c-torture/compile/pr51083.c: New testcase.

	* loop-iv.c (iv_number_of_iterations): Consider zero iteration case.

From-SVN: r195274
This commit is contained in:
Jan Hubicka 2013-01-17 17:27:23 +01:00 committed by Jan Hubicka
parent 8abaebcd4c
commit 8386a7ea78
4 changed files with 30 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2013-01-17 Jan Hubicka <jh@suse.cz>
PR tree-optimization/51083
* loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
2012-01-17 Uros Bizjak <ubizjak@gmail.com>
PR target/55981

View File

@ -2819,7 +2819,8 @@ iv_number_of_iterations (struct loop *loop, rtx insn, rtx condition,
else
{
max = determine_max_iter (loop, desc, old_niter);
gcc_assert (max);
if (!max)
goto zero_iter_simplify;
if (!desc->infinite
&& !desc->assumptions)
record_niter_bound (loop, double_int::from_uhwi (max),

View File

@ -1,3 +1,8 @@
2013-01-17 Jan Hubicka <jh@suse.cz>
PR tree-optimization/51083
* gcc.c-torture/compile/pr51083.c: New testcase.
2012-01-17 Uros Bizjak <ubizjak@gmail.com>
PR target/55981

View File

@ -0,0 +1,18 @@
extern int debug_threads;
extern void sigsuspend (void);
void my_waitpid (int flags, int wnohang)
{
while (1)
{
if (flags & 0x80000000)
{
if (wnohang)
break;
if (debug_threads)
__builtin_puts ("blocking\n");
sigsuspend ();
}
flags ^= 0x80000000;
}
}