This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

optimize sibling calls slowdown fix


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,

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]