reload abort

Jeffrey A Law law@cygnus.com
Sat Jan 16 22:49:00 GMT 1999


The first thing reload_cse_simplify_operands tries to do is recognize and
extract operands for the given insn.  If the insn can not be recognized,
then it calls abort.

Thus passing something that is an ASM_INPUT is just asking for an abort.



        * reload1.c (reload_cse_regs_1): Do not call
        reload_cse_simplify_operands for an insn with asm operands.

Index: reload1.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/reload1.c,v
retrieving revision 1.121
diff -c -3 -p -r1.121 reload1.c
*** reload1.c	1999/01/11 23:15:25	1.121
--- reload1.c	1999/01/17 06:46:27
*************** reload_cse_regs_1 (first)
*** 8688,8694 ****
  
  	  if (count > 0)
  	    apply_change_group ();
! 	  else
  	    reload_cse_simplify_operands (insn);
  	    
  	  reload_cse_record_set (body, body);
--- 8688,8694 ----
  
  	  if (count > 0)
  	    apply_change_group ();
! 	  else if (asm_noperands (PATTERN (insn)) < 0)
  	    reload_cse_simplify_operands (insn);
  	    
  	  reload_cse_record_set (body, body);
*************** reload_cse_regs_1 (first)
*** 8745,8751 ****
  
  	  if (count > 0)
  	    apply_change_group ();
! 	  else
  	    reload_cse_simplify_operands (insn);
  
  	  /* Look through the PARALLEL and record the values being
--- 8745,8751 ----
  
  	  if (count > 0)
  	    apply_change_group ();
! 	  else if (asm_noperands (PATTERN (insn)) < 0)
  	    reload_cse_simplify_operands (insn);
  
  	  /* Look through the PARALLEL and record the values being



More information about the Gcc-patches mailing list