Bug 29924 - [4.3 Regression] pr24626-4.c fails on powerpc-aix and others
Summary: [4.3 Regression] pr24626-4.c fails on powerpc-aix and others
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: rtl-optimization (show other bugs)
Version: 4.3.0
: P3 normal
Target Milestone: 4.3.0
Assignee: Zdenek Dvorak
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2006-11-21 07:04 UTC by Andrew Pinski
Modified: 2006-11-23 03:13 UTC (History)
3 users (show)

See Also:
Host:
Target: powerpc-*
Build:
Known to work:
Known to fail:
Last reconfirmed: 2006-11-21 08:43:33


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Pinski 2006-11-21 07:04:59 UTC
pr24626-4.c fails on powerpc-aix and also on powerpc-darwin with the following options: " -fmodulo-sched -O2 -mcpu=970 -mno-powerpc64".
pr24626-4.c: In function 'foo':
pr24626-4.c:12: internal compiler error: in split_edge_and_insert, at loop-unroll.c:908
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.


Testcase:
int foo(short* vec1, short* vec2, short* vec3,int len )
{
        int temp,i;
        for (i=0; i<len; i++) {
                 temp = vec1[i] * 2;
                 temp += vec2[i] * 3 ;
                 vec3[i] = temp;
        }
}
Comment 1 Andrew Pinski 2006-11-21 07:07:31 UTC
Caused by:
        * modulo-sched.c (generate_prolog_epilog, canon_loop): Do not use
        loop_split_edge_with.


http://gcc.gnu.org/ml/gcc-testresults/2006-11/msg00922.html
Comment 2 Zdenek Dvorak 2006-11-22 00:13:01 UTC
Subject: Bug 29924

Author: rakdver
Date: Wed Nov 22 00:12:52 2006
New Revision: 119078

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119078
Log:
	PR rtl-optimization/29924
	* loop-unroll.c (split_edge_and_insert): Handle the case insns is NULL.
	(unroll_loop_runtime_iterations): Assert that the argument passed to
	split_edge_and_insert is not NULL.
	* loop-doloop.c (add_test): Ditto.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/loop-doloop.c
    trunk/gcc/loop-unroll.c

Comment 3 Andrew Pinski 2006-11-23 03:13:27 UTC
Fixed.