Changeset 14037


Ignore:
Timestamp:
2009-01-14T19:37:40+01:00 (9 years ago)
Author:
nbd
Message:

merge r14036 to 8.09

Location:
branches/8.09/toolchain/gcc/patches
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/8.09/toolchain/gcc/patches/4.1.2/500-avr32.patch

    r7533 r14037  
    1938419384  
    1938519385   if (type != 0) 
    19386 diff -Nur gcc-4.1.2/gcc/genemit.c gcc-4.1.2-owrt/gcc/genemit.c 
    19387 --- gcc-4.1.2/gcc/genemit.c     2005-06-25 04:02:01.000000000 +0200 
    19388 +++ gcc-4.1.2-owrt/gcc/genemit.c        2007-05-24 12:03:28.000000000 +0200 
    19389 @@ -122,6 +122,24 @@ 
    19390  } 
    19391   
    19392  
    19393  static void 
    19394 +gen_vararg_prologue(int operands) 
    19395 +{ 
    19396 +  int i; 
    19397 + 
    19398 +  if (operands > 1) 
    19399 +    { 
    19400 +      for (i = 1; i < operands; i++) 
    19401 +       printf("  rtx operand%d ATTRIBUTE_UNUSED;\n", i); 
    19402 + 
    19403 +      printf("  va_list args;\n\n"); 
    19404 +      printf("  va_start(args, operand0);\n"); 
    19405 +      for (i = 1; i < operands; i++) 
    19406 +       printf("  operand%d = va_arg(args, rtx);\n", i); 
    19407 +      printf("  va_end(args);\n\n"); 
    19408 +    } 
    19409 +} 
    19410 + 
    19411 +static void 
    19412  print_code (RTX_CODE code) 
    19413  { 
    19414    const char *p1; 
    19415 @@ -406,18 +424,16 @@ 
    19416      fatal ("match_dup operand number has no match_operand"); 
    19417   
    19418    /* Output the function name and argument declarations.  */ 
    19419 -  printf ("rtx\ngen_%s (", XSTR (insn, 0)); 
    19420 +  printf ("rtx\ngen_%s ", XSTR (insn, 0)); 
    19421 + 
    19422    if (operands) 
    19423 -    for (i = 0; i < operands; i++) 
    19424 -      if (i) 
    19425 -       printf (",\n\trtx operand%d ATTRIBUTE_UNUSED", i); 
    19426 -      else 
    19427 -       printf ("rtx operand%d ATTRIBUTE_UNUSED", i); 
    19428 +    printf("(rtx operand0 ATTRIBUTE_UNUSED, ...)\n"); 
    19429    else 
    19430 -    printf ("void"); 
    19431 -  printf (")\n"); 
    19432 +    printf("(void)\n"); 
    19433    printf ("{\n"); 
    19434   
    19435 +  gen_vararg_prologue(operands); 
    19436 + 
    19437    /* Output code to construct and return the rtl for the instruction body.  */ 
    19438   
    19439    if (XVECLEN (insn, 1) == 1) 
    19440 @@ -457,16 +473,12 @@ 
    19441    operands = max_operand_vec (expand, 1); 
    19442   
    19443    /* Output the function name and argument declarations.  */ 
    19444 -  printf ("rtx\ngen_%s (", XSTR (expand, 0)); 
    19445 +  printf ("rtx\ngen_%s ", XSTR (expand, 0)); 
    19446    if (operands) 
    19447 -    for (i = 0; i < operands; i++) 
    19448 -      if (i) 
    19449 -       printf (",\n\trtx operand%d", i); 
    19450 -      else 
    19451 -       printf ("rtx operand%d", i); 
    19452 +    printf("(rtx operand0 ATTRIBUTE_UNUSED, ...)\n"); 
    19453    else 
    19454 -    printf ("void"); 
    19455 -  printf (")\n"); 
    19456 +    printf("(void)\n"); 
    19457 + 
    19458    printf ("{\n"); 
    19459   
    19460    /* If we don't have any C code to write, only one insn is being written, 
    19461 @@ -476,6 +488,8 @@ 
    19462        && operands > max_dup_opno 
    19463        && XVECLEN (expand, 1) == 1) 
    19464      { 
    19465 +      gen_vararg_prologue(operands); 
    19466 + 
    19467        printf ("  return "); 
    19468        gen_exp (XVECEXP (expand, 1, 0), DEFINE_EXPAND, NULL); 
    19469        printf (";\n}\n\n"); 
    19470 @@ -489,6 +503,7 @@ 
    19471    for (; i <= max_scratch_opno; i++) 
    19472      printf ("  rtx operand%d ATTRIBUTE_UNUSED;\n", i); 
    19473    printf ("  rtx _val = 0;\n"); 
    19474 +  gen_vararg_prologue(operands); 
    19475    printf ("  start_sequence ();\n"); 
    19476   
    19477    /* The fourth operand of DEFINE_EXPAND is some code to be executed 
    19478 diff -Nur gcc-4.1.2/gcc/genflags.c gcc-4.1.2-owrt/gcc/genflags.c 
    19479 --- gcc-4.1.2/gcc/genflags.c    2005-06-25 04:02:01.000000000 +0200 
    19480 +++ gcc-4.1.2-owrt/gcc/genflags.c       2007-05-24 12:03:28.000000000 +0200 
    19481 @@ -128,7 +128,6 @@ 
    19482  gen_proto (rtx insn) 
    19483  { 
    19484    int num = num_operands (insn); 
    19485 -  int i; 
    19486    const char *name = XSTR (insn, 0); 
    19487    int truth = maybe_eval_c_test (XSTR (insn, 2)); 
    19488   
    19489 @@ -159,12 +158,7 @@ 
    19490    if (num == 0) 
    19491      fputs ("void", stdout); 
    19492    else 
    19493 -    { 
    19494 -      for (i = 1; i < num; i++) 
    19495 -       fputs ("rtx, ", stdout); 
    19496 - 
    19497 -      fputs ("rtx", stdout); 
    19498 -    } 
    19499 +    fputs("rtx, ...", stdout); 
    19500   
    19501    puts (");"); 
    19502   
    19503 @@ -174,12 +168,7 @@ 
    19504      { 
    19505        printf ("static inline rtx\ngen_%s", name); 
    19506        if (num > 0) 
    19507 -       { 
    19508 -         putchar ('('); 
    19509 -         for (i = 0; i < num-1; i++) 
    19510 -           printf ("rtx ARG_UNUSED (%c), ", 'a' + i); 
    19511 -         printf ("rtx ARG_UNUSED (%c))\n", 'a' + i); 
    19512 -       } 
    19513 +       puts("(rtx ARG_UNUSED(a), ...)"); 
    19514        else 
    19515         puts ("(void)"); 
    19516        puts ("{\n  return 0;\n}"); 
    1951719386diff -Nur gcc-4.1.2/gcc/genoutput.c gcc-4.1.2-owrt/gcc/genoutput.c 
    1951819387--- gcc-4.1.2/gcc/genoutput.c   2005-06-25 04:02:01.000000000 +0200 
     
    1957019439 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ 
    1957119440   __asm__ ("add %4,%5,%1\n\taddc %2,%3,%0"                             \ 
    19572 diff -Nur gcc-4.1.2/gcc/optabs.h gcc-4.1.2-owrt/gcc/optabs.h 
    19573 --- gcc-4.1.2/gcc/optabs.h      2005-08-19 23:20:02.000000000 +0200 
    19574 +++ gcc-4.1.2-owrt/gcc/optabs.h 2007-05-24 12:03:28.000000000 +0200 
    19575 @@ -415,7 +415,7 @@ 
    19576  extern GTY(()) optab code_to_optab[NUM_RTX_CODE + 1]; 
    19577   
    19578   
    19579  
    19580 -typedef rtx (*rtxfun) (rtx); 
    19581 +typedef rtx (*rtxfun) (rtx, ...); 
    19582   
    19583  /* Indexed by the rtx-code for a conditional (e.g. EQ, LT,...) 
    19584     gives the gen_function to make a branch to test that condition.  */ 
    1958519441diff -Nur gcc-4.1.2/libstdc++-v3/acinclude.m4 gcc-4.1.2-owrt/libstdc++-v3/acinclude.m4 
    1958619442--- gcc-4.1.2/libstdc++-v3/acinclude.m4 2007-01-29 11:51:01.000000000 +0100 
  • branches/8.09/toolchain/gcc/patches/4.2.4/900-avr32_support.patch

    r13708 r14037  
    2194521945       int save_tree_used; 
    2194621946  
    21947 --- a/gcc/genemit.c 
    21948 +++ b/gcc/genemit.c 
    21949 @@ -121,6 +121,24 @@ max_operand_vec (rtx insn, int arg) 
    21950  } 
    21951   
    21952  
    21953  static void 
    21954 +gen_vararg_prologue(int operands) 
    21955 +{ 
    21956 +  int i; 
    21957 + 
    21958 +  if (operands > 1) 
    21959 +    { 
    21960 +      for (i = 1; i < operands; i++) 
    21961 +       printf("  rtx operand%d ATTRIBUTE_UNUSED;\n", i); 
    21962 + 
    21963 +      printf("  va_list args;\n\n"); 
    21964 +      printf("  va_start(args, operand0);\n"); 
    21965 +      for (i = 1; i < operands; i++) 
    21966 +       printf("  operand%d = va_arg(args, rtx);\n", i); 
    21967 +      printf("  va_end(args);\n\n"); 
    21968 +    } 
    21969 +} 
    21970 + 
    21971 +static void 
    21972  print_code (RTX_CODE code) 
    21973  { 
    21974    const char *p1; 
    21975 @@ -405,18 +423,16 @@ gen_insn (rtx insn, int lineno) 
    21976      fatal ("match_dup operand number has no match_operand"); 
    21977   
    21978    /* Output the function name and argument declarations.  */ 
    21979 -  printf ("rtx\ngen_%s (", XSTR (insn, 0)); 
    21980 +  printf ("rtx\ngen_%s ", XSTR (insn, 0)); 
    21981 + 
    21982    if (operands) 
    21983 -    for (i = 0; i < operands; i++) 
    21984 -      if (i) 
    21985 -       printf (",\n\trtx operand%d ATTRIBUTE_UNUSED", i); 
    21986 -      else 
    21987 -       printf ("rtx operand%d ATTRIBUTE_UNUSED", i); 
    21988 +    printf("(rtx operand0 ATTRIBUTE_UNUSED, ...)\n"); 
    21989    else 
    21990 -    printf ("void"); 
    21991 -  printf (")\n"); 
    21992 +    printf("(void)\n"); 
    21993    printf ("{\n"); 
    21994   
    21995 +  gen_vararg_prologue(operands); 
    21996 + 
    21997    /* Output code to construct and return the rtl for the instruction body.  */ 
    21998   
    21999    if (XVECLEN (insn, 1) == 1) 
    22000 @@ -456,16 +472,12 @@ gen_expand (rtx expand) 
    22001    operands = max_operand_vec (expand, 1); 
    22002   
    22003    /* Output the function name and argument declarations.  */ 
    22004 -  printf ("rtx\ngen_%s (", XSTR (expand, 0)); 
    22005 +  printf ("rtx\ngen_%s ", XSTR (expand, 0)); 
    22006    if (operands) 
    22007 -    for (i = 0; i < operands; i++) 
    22008 -      if (i) 
    22009 -       printf (",\n\trtx operand%d", i); 
    22010 -      else 
    22011 -       printf ("rtx operand%d", i); 
    22012 +    printf("(rtx operand0 ATTRIBUTE_UNUSED, ...)\n"); 
    22013    else 
    22014 -    printf ("void"); 
    22015 -  printf (")\n"); 
    22016 +    printf("(void)\n"); 
    22017 + 
    22018    printf ("{\n"); 
    22019   
    22020    /* If we don't have any C code to write, only one insn is being written, 
    22021 @@ -475,6 +487,8 @@ gen_expand (rtx expand) 
    22022        && operands > max_dup_opno 
    22023        && XVECLEN (expand, 1) == 1) 
    22024      { 
    22025 +      gen_vararg_prologue(operands); 
    22026 + 
    22027        printf ("  return "); 
    22028        gen_exp (XVECEXP (expand, 1, 0), DEFINE_EXPAND, NULL); 
    22029        printf (";\n}\n\n"); 
    22030 @@ -488,6 +502,7 @@ gen_expand (rtx expand) 
    22031    for (; i <= max_scratch_opno; i++) 
    22032      printf ("  rtx operand%d ATTRIBUTE_UNUSED;\n", i); 
    22033    printf ("  rtx _val = 0;\n"); 
    22034 +  gen_vararg_prologue(operands); 
    22035    printf ("  start_sequence ();\n"); 
    22036   
    22037    /* The fourth operand of DEFINE_EXPAND is some code to be executed 
    22038 --- a/gcc/genflags.c 
    22039 +++ b/gcc/genflags.c 
    22040 @@ -127,7 +127,6 @@ static void 
    22041  gen_proto (rtx insn) 
    22042  { 
    22043    int num = num_operands (insn); 
    22044 -  int i; 
    22045    const char *name = XSTR (insn, 0); 
    22046    int truth = maybe_eval_c_test (XSTR (insn, 2)); 
    22047   
    22048 @@ -158,12 +157,7 @@ gen_proto (rtx insn) 
    22049    if (num == 0) 
    22050      fputs ("void", stdout); 
    22051    else 
    22052 -    { 
    22053 -      for (i = 1; i < num; i++) 
    22054 -       fputs ("rtx, ", stdout); 
    22055 - 
    22056 -      fputs ("rtx", stdout); 
    22057 -    } 
    22058 +    fputs("rtx, ...", stdout); 
    22059   
    22060    puts (");"); 
    22061   
    22062 @@ -173,12 +167,7 @@ gen_proto (rtx insn) 
    22063      { 
    22064        printf ("static inline rtx\ngen_%s", name); 
    22065        if (num > 0) 
    22066 -       { 
    22067 -         putchar ('('); 
    22068 -         for (i = 0; i < num-1; i++) 
    22069 -           printf ("rtx ARG_UNUSED (%c), ", 'a' + i); 
    22070 -         printf ("rtx ARG_UNUSED (%c))\n", 'a' + i); 
    22071 -       } 
    22072 +       puts("(rtx ARG_UNUSED(a), ...)"); 
    22073        else 
    22074         puts ("(void)"); 
    22075        puts ("{\n  return 0;\n}"); 
    22076 --- a/gcc/genoutput.c 
    22077 +++ b/gcc/genoutput.c 
    22078 @@ -386,7 +386,7 @@ output_insn_data (void) 
    22079         } 
    22080   
    22081        if (d->name && d->name[0] != '*') 
    22082 -       printf ("    (insn_gen_fn) gen_%s,\n", d->name); 
    22083 +       printf ("    gen_%s,\n", d->name); 
    22084        else 
    22085         printf ("    0,\n"); 
    22086   
    2208721947--- a/gcc/ifcvt.c 
    2208821948+++ b/gcc/ifcvt.c 
     
    2223422094 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ 
    2223522095   __asm__ ("add %4,%5,%1\n\taddc %2,%3,%0"                             \ 
    22236 --- a/gcc/optabs.h 
    22237 +++ b/gcc/optabs.h 
    22238 @@ -431,7 +431,7 @@ extern enum insn_code reload_out_optab[N 
    22239  extern GTY(()) optab code_to_optab[NUM_RTX_CODE + 1]; 
    22240   
    22241   
    22242  
    22243 -typedef rtx (*rtxfun) (rtx); 
    22244 +typedef rtx (*rtxfun) (rtx, ...); 
    22245   
    22246  /* Indexed by the rtx-code for a conditional (e.g. EQ, LT,...) 
    22247     gives the gen_function to make a branch to test that condition.  */ 
    2224822096--- a/gcc/regrename.c 
    2224922097+++ b/gcc/regrename.c 
Note: See TracChangeset for help on using the changeset viewer.