genattrtab.c

John Carr jfc@mit.edu
Tue Apr 14 15:23:00 GMT 1998


This patch adds support for match_insn in define_attr.

	* genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
	(write_test_expr): Allow MATCH_INSN.

*** genattrtab.c	1998/04/04 17:38:05	1.24
--- genattrtab.c	1998/04/14 19:51:26
*************** check_attr_test (exp, is_const)
*** 1045,1054 ****
        XEXP (exp, 0) = check_attr_test (XEXP (exp, 0), is_const);
        break;
  
      case MATCH_OPERAND:
        if (is_const)
  	fatal ("RTL operator \"%s\" not valid in constant attribute test",
! 	       GET_RTX_NAME (MATCH_OPERAND));
        /* These cases can't be simplified.  */
        RTX_UNCHANGING_P (exp) = 1;
        break;
--- 1045,1055 ----
        XEXP (exp, 0) = check_attr_test (XEXP (exp, 0), is_const);
        break;
  
+     case MATCH_INSN:
      case MATCH_OPERAND:
        if (is_const)
  	fatal ("RTL operator \"%s\" not valid in constant attribute test",
! 	       GET_RTX_NAME (GET_CODE (exp)));
        /* These cases can't be simplified.  */
        RTX_UNCHANGING_P (exp) = 1;
        break;
*************** write_test_expr (exp, flags)
*** 4623,4628 ****
--- 4624,4633 ----
        else
  	printf ("%s (operands[%d], %smode)",
  		XSTR (exp, 1), XINT (exp, 0), GET_MODE_NAME (GET_MODE (exp)));
+       break;
+ 
+     case MATCH_INSN:
+       printf ("%s (insn)", XSTR (exp, 0));
        break;
  
      /* Constant integer.  */



More information about the Gcc mailing list