This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
optimize sibling calls slowdown fix
- To: egcs-patches at egcs dot cygnus dot com, rth at cygnus dot com
- Subject: optimize sibling calls slowdown fix
- From: Jan Hubicka <hubicka at atrey dot karlin dot mff dot cuni dot cz>
- Date: Sat, 25 Mar 2000 13:31:48 +0100
Hi
It looks like the fix is really simple. The condition in jump.c seems to
be reversed and thus minimal flag works in reversed order.
I didn't have chance to test full bootstrap yet with this patch, but I wanted
to people let know about this problem. I expect it will fix some weird problems
with sibbling call.
I am now getting only speedups compared to previous snapshot except
for two tests I am still invetigating.
ALso the -foptimize-sibling-calls patch is comming soon (after bootstrap)
Honza
Sat Mar 25 13:22:49 CET 2000 Jan Hubicka <jh@suse.cz>
* jump.c (jump_optimize_1): Fix minimal/nonminimal condition.
*** jump.c.old Sat Mar 25 13:22:32 2000
--- jump.c Sat Mar 25 13:22:35 2000
*************** jump_optimize_1 (f, cross_jump, noop_mov
*** 342,348 ****
if (nlabel != JUMP_LABEL (insn))
changed |= redirect_jump (insn, nlabel);
! if (! optimize || ! minimal)
continue;
/* If a dispatch table always goes to the same place,
--- 342,348 ----
if (nlabel != JUMP_LABEL (insn))
changed |= redirect_jump (insn, nlabel);
! if (! optimize || minimal)
continue;
/* If a dispatch table always goes to the same place,