ifcvt pass ordering

Geoff Keating geoffk@geoffk.org
Sat Oct 26 14:57:00 GMT 2002


Jan Hubicka <jh@suse.cz> writes:

> Hi,
> Robert's patch to disable early ifcvt passes had unwanted effect of
> disabling almost all ifcvt with -ftracer.  -ftracer usually duplicates
> code to make ifcvt impossible so we must run at least one pass before.
> I would like to see this in the mainline too, but technically it is not
> regression, so I would be happy with BIB branch too.
> 
> Wed Oct 16 20:23:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
> 	* toplev.c (dump_file_index): Add DFI_ce3.
> 	(dump_file_info): Likewise.
> 	(rest_of_compilation): Run first ifcvt pass before tracer.

This also causes a bunch of regressions on Darwin; at least, it's all
the following:

native gcc.sum gcc.c-torture/compile/20000802-1.c,
native gcc.sum gcc.c-torture/compile/20020604-1.c,
native gcc.sum gcc.c-torture/compile/900407-1.c,
native gcc.sum gcc.c-torture/compile/920501-4.c,
native gcc.sum gcc.c-torture/compile/921011-1.c,
native gcc.sum gcc.c-torture/compile/921013-1.c,
native gcc.sum gcc.c-torture/compile/921206-1.c,
native gcc.sum gcc.c-torture/compile/930523-1.c,
native gcc.sum gcc.c-torture/compile/980329-1.c,
native gcc.sum gcc.c-torture/compile/980506-2.c,
native gcc.sum gcc.c-torture/execute/20000412-4.c
native gcc.sum gcc.c-torture/execute/20000503-1.c
native gcc.sum gcc.c-torture/execute/20000511-1.c
native gcc.sum gcc.c-torture/execute/20020406-1.c
native gcc.sum gcc.c-torture/execute/20020716-1.c
native gcc.sum gcc.c-torture/execute/930123-1.c
native gcc.sum gcc.c-torture/execute/931012-1.c

The symptom is (this is for 980506-2.c at -O1):

Program received signal EXC_BAD_ACCESS, Could not access memory.
0x000e4e1c in init_alias_analysis () at /Network/Servers/cauchy/homes/thorin/gkeating/co/egcs-mainline/gcc/gcc/alias.c:2814
2814                      else if (REG_N_SETS (regno) == 1
(gdb) bt
#0  0x000e4e1c in init_alias_analysis () at /Network/Servers/cauchy/homes/thorin/gkeating/co/egcs-mainline/gcc/gcc/alias.c:2814
#1  0x0019328c in life_analysis (f=0xe1a480, file=0x0, flags=383) at /Network/Servers/cauchy/homes/thorin/gkeating/co/egcs-mainline/gcc/gcc/flow.c:452
#2  0x00099670 in rest_of_compilation (decl=0x17f) at /Network/Servers/cauchy/homes/thorin/gkeating/co/egcs-mainline/gcc/gcc/toplev.c:3061
#3  0x0002295c in c_expand_body (fndecl=0xe49150, nested_p=671089216, can_defer_p=3454324) at /Network/Servers/cauchy/homes/thorin/gkeating/co/egcs-mainline/gcc/gcc/c-decl.c:6519
#4  0x000224ec in finish_function (nested=0, can_defer_p=1) at /Network/Servers/cauchy/homes/thorin/gkeating/co/egcs-mainline/gcc/gcc/c-decl.c:6390
#5  0x00002b18 in yyparse () at c-parse.y:403
#6  0x000106c0 in c_common_parse_file (set_yydebug=173) at /Network/Servers/cauchy/homes/thorin/gkeating/co/egcs-mainline/gcc/gcc/c-lex.c:159
#7  0x000985d4 in compile_file () at /Network/Servers/cauchy/homes/thorin/gkeating/co/egcs-mainline/gcc/gcc/toplev.c:2121
#8  0x0009dad0 in do_compile () at /Network/Servers/cauchy/homes/thorin/gkeating/co/egcs-mainline/gcc/gcc/toplev.c:5334
#9  0x0009db9c in toplev_main (argc=23, argv=0xbffffa80) at /Network/Servers/cauchy/homes/thorin/gkeating/co/egcs-mainline/gcc/gcc/toplev.c:5364
#10 0x00001920 in _start (argc=23, argv=0xbffffa80, envp=0xbffffae0) at /SourceCache/Csu/Csu-45/crt.c:267
#11 0x000017a0 in start ()


-- 
- Geoffrey Keating <geoffk@geoffk.org>



More information about the Gcc-regression mailing list