Bug 27872 - Internal compiler error in verify_loop_structure
Summary: Internal compiler error in verify_loop_structure
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: rtl-optimization (show other bugs)
Version: 4.2.0
: P3 normal
Target Milestone: 4.2.0
Assignee: Zdenek Dvorak
URL: http://gcc.gnu.org/ml/gcc-patches/200...
Keywords: ice-on-valid-code, patch
Depends on:
Blocks:
 
Reported: 2006-06-02 08:18 UTC by Canqun Yang
Modified: 2006-06-08 15:31 UTC (History)
1 user (show)

See Also:
Host: ia64-unkown-linux
Target: ia64-unkown-linux
Build: ia64-unkown-linux
Known to work:
Known to fail:
Last reconfirmed: 2006-06-05 15:19:46


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Canqun Yang 2006-06-02 08:18:24 UTC
This testcase will cause an internel error when compiled with options "-O3 -fprefetch-loop-arrays" on IA-64 + Linux.
     
      SUBROUTINE EBJFT()
      dimension  nmw(140)

      if(k.eq.0) goto 10
      go to 30
  10  continue

      do 20 l=1, 140
  20    nmw(l)= 0.0D0

  30  continue
      go to (10)lsn

      do 40 j=1, 140
        nmwj=nmw(j)
  40  continue
      write(*,*) nmwj

      end

The error message is:

prefetch-err.f: In function ‘ebjft�
prefetch-err.f:3: error: edge from 50 to 36 should be marked irreducible
prefetch-err.f:3: internal compiler error: in verify_loop_structure, at cfgloop.c:1268
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Comment 1 Andrew Pinski 2006-06-03 21:26:12 UTC
Can you try the patch linked from PR 27735 to see if this fixes this bug also?
Comment 2 Zdenek Dvorak 2006-06-05 15:19:46 UTC
(In reply to comment #1)
> Can you try the patch linked from PR 27735 to see if this fixes this bug also?

No, this is unrelated (the ice here is from tree_unroll_loop, never gets to unswitching).
Comment 3 Zdenek Dvorak 2006-06-06 09:02:48 UTC
Patch: http://gcc.gnu.org/ml/gcc-patches/2006-06/msg00284.html
Comment 4 Zdenek Dvorak 2006-06-08 08:20:00 UTC
Subject: Bug 27872

Author: rakdver
Date: Thu Jun  8 08:19:50 2006
New Revision: 114482

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=114482
Log:
	PR tree-optimization/27872
	* tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP
	flag on the new exit edge of the unrolled loop.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-ssa-loop-manip.c

Comment 5 Andrew Pinski 2006-06-08 15:31:50 UTC
Fixed.