From: SourceForge.net <no...@so...> - 2009-06-25 12:01:05
|
Bugs item #2811688, was opened at 2009-06-24 22:13 Message generated for change (Comment added) made by ivmai You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=2811688&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: gcc Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Ivan Maidanski (ivmai) Assigned to: Nobody/Anonymous (nobody) Summary: Bug in a sibling calls optimizer Initial Comment: This seems to be a bug in a compiler (observed at least in v4.4.0, v4.2.1, v3.4.5). Compiler output for the test.c compiled with -c -O1 -foptimize-sibling-calls (or -O2) : test.c: In function 'f': test.c:11: error: unable to find a register to spill in class 'CREG' test.c:11: error: this is the insn: (call_insn/j 14 13 15 2 test.c:10 (set (reg:SI 0 ax) (call (mem:QI (reg/f:SI 4 si [orig:59 D.1246 ] [59]) [0 S1 A8]) (const_int 0 [0x0]))) 681 {*sibcall_value_1} (expr_list:REG_DEAD (reg/f:SI 4 si [orig:59 D.1246 ] [59]) (expr_list:REG_DEAD (reg:SI 2 cx) (expr_list:REG_DEAD (reg:SI 1 dx) (nil)))) (expr_list:REG_DEP_TRUE (use (reg:SI 2 cx)) (expr_list:REG_DEP_TRUE (use (reg:SI 1 dx)) (nil)))) test.c:11: confused by earlier errors, bailing out ---------------------------------------------------------------------- >Comment By: Ivan Maidanski (ivmai) Date: 2009-06-25 16:01 Message: The corresponding gcc bug entry (with a simpler test case): http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38900 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=2811688&group_id=2435 |