http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59605

            Bug ID: 59605
           Summary: [4.9 Regression] error: wrong number of branch edges
                    after unconditional jump in bb 11
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hjl.tools at gmail dot com

On Linux/x86, r206213  gave

[hjl@gnu-18 gcc]$ cat bad.c
#define BUFFER_SIZE (16*1024*1024 + AVG_SIZE*2)
/*#define MEMORY_COPIES (1024*1024*64*(long long)10)*/
char t[BUFFER_SIZE];
main()
{
  unsigned int i;
  for (i=0;i<((long long)MEMORY_COPIES + AVG_SIZE * 2 - 1)/AVG_SIZE*2;i++)
#ifdef test_memset
    __builtin_memset (t+(i*1024*1024+i*1)%(BUFFER_SIZE - AVG_SIZE*2), i,
(AVG_SIZE + i) % (AVG_SIZE * 2 + 0));
#else
    __builtin_memcpy (t+(i*1024*1024+i*1)%(BUFFER_SIZE - AVG_SIZE*2),
t+((i+1)*1024*1024*4+i*1)%(BUFFER_SIZE - AVG_SIZE *2), (AVG_SIZE + i) %
(AVG_SIZE * 2 + 0));
#endif
  return 0;
}
[hjl@gnu-18 gcc]$ ./xgcc -B ./  -x c -O3 -minline-stringops-dynamically
-DAVG_SIZE=8192000 -DMEMORY_COPIES=640000000 bad.c        
bad.c: In function ‘main’:
bad.c:14:1: error: wrong number of branch edges after unconditional jump in bb
11
 }
 ^
bad.c:14:1: error: wrong number of branch edges after unconditional jump in bb
7
bad.c:14:1: internal compiler error: verify_flow_info failed
0x666c23 verify_flow_info()
    /export/gnu/import/git/gcc/gcc/cfghooks.c:260
0xe25a53 try_optimize_cfg
    /export/gnu/import/git/gcc/gcc/cfgcleanup.c:2857
0xe25a53 cleanup_cfg(int)
    /export/gnu/import/git/gcc/gcc/cfgcleanup.c:3022
0x665412 gimple_expand_cfg
    /export/gnu/import/git/gcc/gcc/cfgexpand.c:5837
0x665412 execute
    /export/gnu/import/git/gcc/gcc/cfgexpand.c:5932
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
[hjl@gnu-18 gcc]$

Reply via email to