Bug 21984 - [4.1 regression] ICE in reload while compiling __mulxc3
Summary: [4.1 regression] ICE in reload while compiling __mulxc3
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.1.0
: P2 normal
Target Milestone: 4.1.0
Assignee: Not yet assigned to anyone
URL:
Keywords: build, ice-on-valid-code
: 21506 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-06-09 16:07 UTC by Andreas Schwab
Modified: 2005-08-19 04:09 UTC (History)
3 users (show)

See Also:
Host:
Target: m68k-linux
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments
Testcase (19.96 KB, text/plain)
2005-06-09 16:08 UTC, Andreas Schwab
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Schwab 2005-06-09 16:07:33 UTC
Starting program: /cvs/test/m68k/gcc/gcc/cc1 -fpreprocessed libgcc2.i -quiet 
-dumpbase libgcc2.c -auxbase-strip libgcc/./_mulxc3.o -g -O2 -W -Wall 
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes 
-Wold-style-definition -version -fPIC -fvisibility=hidden -o libgcc2.s 
GNU C version 4.1.0 20050609 (experimental) (m68k-linux) 
        compiled by GNU C version 4.0.1 20050603 (prerelease) (SUSE Linux). 
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 
Compiler executable checksum: 80ebf056a47509c89d7f404fc943abab 
 
Breakpoint 1, fancy_abort (file=0x40000000008c3ee8 "/cvs/gcc/gcc/reload1.c",  
    line=1084, function=0x6000000000034320 "reload") 
    at /cvs/gcc/gcc/diagnostic.c:588 
588       internal_error ("in %s, at %s:%d", function, trim_filename (file), 
line); 
(gdb) bt 
#0  fancy_abort (file=0x40000000008c3ee8 "/cvs/gcc/gcc/reload1.c", line=1084,  
    function=0x6000000000034320 "reload") at /cvs/gcc/gcc/diagnostic.c:588 
#1  0x40000000005d8a50 in reload (first=0x20000000006a1780, global=1) 
    at /cvs/gcc/gcc/reload1.c:1084 
#2  0x4000000000797930 in global_alloc (file=0x0) at /cvs/gcc/gcc/global.c:621 
#3  0x400000000068bb10 in rest_of_compilation () at /cvs/gcc/gcc/passes.c:486 
#4  0x400000000013adf0 in execute_pass_list (pass=0x600000000001e1b0) 
    at /cvs/gcc/gcc/tree-optimize.c:626 
#5  0x400000000013b870 in tree_rest_of_compilation (fndecl=0x20000000003f6150) 
    at /cvs/gcc/gcc/tree-optimize.c:796 
#6  0x4000000000030a40 in c_expand_body (fndecl=0x20000000003f6150) 
    at /cvs/gcc/gcc/c-decl.c:6597 
#7  0x40000000006da2d0 in cgraph_expand_function (node=0x20000000006738e0) 
    at /cvs/gcc/gcc/cgraphunit.c:967 
#8  0x40000000006de7a0 in cgraph_optimize () at /cvs/gcc/gcc/cgraphunit.c:1033 
#9  0x4000000000036930 in c_write_global_declarations () 
    at /cvs/gcc/gcc/c-decl.c:7571 
#10 0x4000000000625af0 in toplev_main (argc=<value optimized out>,  
    argv=<value optimized out>) at /cvs/gcc/gcc/toplev.c:979 
#11 0x40000000000f8690 in main (argc=21, argv=0x60000fffffffa208) 
    at /cvs/gcc/gcc/main.c:35
Comment 1 Andreas Schwab 2005-06-09 16:08:34 UTC
Created attachment 9054 [details]
Testcase
Comment 2 Andreas Schwab 2005-06-10 17:32:20 UTC
Triggered by the combination of these two patches:

2005-05-25  Ulrich Weigand  <uweigand@de.ibm.com>

	* reload1.c (verify_initial_elim_offsets): Return boolean status
	instead of aborting.
	(reload): Adapt verify_initial_elim_offsets call site.  Restart
	main loop if some initial elimination offsets changed.

2005-04-22  Jeff Law  <law@redhat.com>

	* tree-ssa-dom.c (block_defs_stack): Remove, no longer needed.
	(restore_currdefs_to_original_value): Likewise.
	(register_definitions_for_stmt): Likewise.
	(tree_ssa_dominator_optimize): No longer initialize CURRENT_DEF
	for each variable.  Do not allocate/free block_defs_stack either.
	Do not iterate if we just thread jumps.  Only iterate if the
	tree_cleanup_cfg does useful work (temporary).
	(dom_opt_initialize_block): No longer push a marker on
	BLOCK_DEFS_STACK.
	(dom_opt_finalize_block): Removal call to restore currdefs.
	Relax restrictions for recording edge equivalences.
	(record_equivalences_from_phis): No longer need to track
	CURRENT_DEF.
	(optimize_stmt): Similarly.
	(thread_across_edge): Simplify by removing the requirement that
	statements in the block we are threading through must be nops.
	(initialize_hash_element): Handle GOTO_EXPR.

Comment 3 Andrew Pinski 2005-07-31 03:44:19 UTC
Has this been fixed?
Comment 4 Andrew Pinski 2005-07-31 21:04:40 UTC
Fixed.
Comment 5 GCC Commits 2005-08-08 19:03:09 UTC
Subject: Bug 21984

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	apple-local-200502-branch
Changes by:	fjahanian@gcc.gnu.org	2005-08-08 19:02:59

Modified files:
	gcc            : tree-nested.c 
Added files:
	gcc/testsuite/gcc.c-torture/compile: nested-2.c 

Log message:
	Radar 4135448 (PR 21984)
	from FSF mainline.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-nested.c.diff?cvsroot=gcc&only_with_tag=apple-local-200502-branch&r1=2.24.6.2&r2=2.24.6.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/nested-2.c.diff?cvsroot=gcc&only_with_tag=apple-local-200502-branch&r1=NONE&r2=1.1.4.1

Comment 6 Andrew Pinski 2005-08-19 04:09:27 UTC
*** Bug 21506 has been marked as a duplicate of this bug. ***