X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=59f69396a6e443f7ac8c948062c2b3e5392ba9f1;hb=43d60d6437eb2d2213344f35f78994372ca22d00;hp=960d11c879508b8fc4b45ee2fa92de0ae12c6a90;hpb=1aabe697f03d7bb006744c168b1a51494ed2644d;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 960d11c8795..59f69396a6e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,8 +1,610 @@ +2010-06-11 Jan Hubicka + + * doc/invoke.texi (Wsuggest-attribute): Document. + (Wmissing-noreturn): Remove. + * ipa-pure-const.c (warn_function_noreturn): New function. + * opts.c (decode_options): Set warn_suggest_attribute_noreturn on + warn_missing_noreturn. + * common.opt (Wsuggest-attribute=noreturn): New. + * tree-flow.h (warn_function_noreturn): Declare. + * tree-cfg.c (execute_warn_function_noreturn): Use + warn_function_noreturn. + (gate_warn_function_noreturn): New. + (pass_warn_function_noreturn): Update. + +2010-06-11 Manuel López-Ibáñez + + * c-typeck.c (handle_warn_cast_qual): Add loc + parameter. Improve warning message. + (build_c_cast): Pass location to handle_warn_cast_qual. + +2010-06-11 Uros Bizjak + + * config/i386/i386.md (pro_epilogue_adjust_stack_1) : Assert + that operand 0 == operand 1. Use x86_maybe_negate_const_int to output + insn mnemonic. + (pro_epilogue_adjust_stack_rex64) : Ditto. + +2010-06-10 Dodji Seketeli + + Fix bootstap on mips + * dwarf2out.c (is_naming_typedef_dec): Built-in TYPE_DECLs cannot + be naming typedefs. + +2010-06-11 Kai Tietz + + * system.h (helper_const_non_const_cast): New inline for + gcc version <= 4.0. + (CONST_CAST2): For gcc version <= 4.0 use + new helper to do const/non-const casting. + +2010-06-10 Richard Sandiford + + * doc/md.texi: Document the "unspec" and "unspecv" enum names. + * Makefile.in (OBJS-common): Include insn-enums.o. + (insn-enums.o): New rule. + (simple_generated_c): Add insn-enums.c. + (build/genenums.o): New rule. + (genprogmd): Add "enums". + * genconstants.c (print_enum_type): Declare a C string array + for each enum. + * genenums.c: New file. + * print-rtl.c (print_rtx): If defined, use the "unspecv" enum + for UNSPEC_VOLATILE. If defined, use the "unspec" enum for both + UNSPEC and (as a fallback) for UNSPEC_VOLATILE. + +2010-06-10 Richard Sandiford + + * doc/md.texi (define_enum_attr): Document. + * rtl.def (DEFINE_ENUM_ATTR): New rtx. + * read-md.h (lookup_enum_type): Declare. + * read-md.c (lookup_enum_type): New function. + * genattr.c (gen_attr, main): Handle DEFINE_ENUM_ATTR. + * genattrtab.c (attr_desc): Add an enum_name field. + (evaluate_eq_attr): Take the associated attribute as argument. + Get the enum prefix from the enum_name field, if defined. + Use ACONCAT rather than a fixed-length buffer. Update recursive calls. + (simplify_test_exp): Pass attr to evaluate_eq_attr. + (add_attr_value): New function, split out from... + (gen_attr): ...here. Handle DEFINE_ENUM_ATTR. + (write_test_expr): Pass attr to evaluate_eq_attr. + (write_attr_get): Use the enum_name as the enum tag, if defined. + (write_attr_valueq): Use the enum_name as a prefix, if defined. + (find_attr): Initialize enum_name. + (main): Handle DEFINE_ENUM_ATTR. + * gensupport.c (process_rtx): Likewise. + * config/mips/mips.h (mips_tune_attr): Delete. + * config/mips/mips.md (cpu): Use define_attr_enum. + +2010-06-10 Richard Sandiford + + * doc/md.texi (define_c_enum, define_enum): Document. + * read-md.h (md_constant): Add a parent_enum field. + (enum_value, enum_type): New structures. + (upcase_string, traverse_enum_types): Declare. + * read-md.c (enum_types): New variable. + (upcase_string, add_constant): New functions. + (handle_constants): Don't create the hash table here. + Use add_constant. + (traverse_md_constants): Don't check for a null md_constants. + (decimal_string, handle_enum, traverse_enum_types): New functions. + (read_md_files): Initialize md_constants and md_enums. + * genconstants.c (print_md_constant): Ignore info argument. + Only print constants that belong to no enum. + (print_enum_type): New function. + (main): Don't pass stdout to print_md_constant. Call print_enum_type + for each defined enum type. + * config/mips/mips.md (processor): New define_enum. + (unspec): New define_c_enum. + (UNSPEC_COMPARE_AND_SWAP, UNSPEC_COMPARE_AND_SWAP_12) + (UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_NEW_OP_12) + (UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE, UNSPEC_SYNC_EXCHANGE_12) + (UNSPEC_MEMORY_BARRIER): Moved to sync.md. + (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC) + (UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S) + (UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W) + (UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR) + (UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA) + (UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR) + (UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL) + (UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R) + (UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH) + (UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL) + (UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR) + (UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH) + (UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL) + (UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR) + (UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH) + (UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB) + (UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH) + (UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H) + (UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP) + (UNSPEC_RDDSP): Move to mips-dsp.md. + (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH, UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB) + (UNSPEC_ADDUH_R_QB, UNSPEC_APPEND, UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB) + (UNSPEC_CMPGDU_LT_QB, UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH) + (UNSPEC_DPS_W_PH, UNSPEC_MADD, UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU) + (UNSPEC_MUL_PH, UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH) + (UNSPEC_MULQ_S_W, UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU) + (UNSPEC_PRECR_QB_PH, UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W) + (UNSPEC_PREPEND, UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH) + (UNSPEC_SUBU_PH, UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB) + (UNSPEC_ADDQH_PH, UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W) + (UNSPEC_SUBQH_PH, UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W) + (UNSPEC_DPAX_W_PH, UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH) + (UNSPEC_DPAQX_SA_W_PH, UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH): + Moved to mips-dspr2.md. + (UNSPEC_MOVE_TF_PS, UNSPEC_C, UNSPEC_ALNV_PS, UNSPEC_CABS) + (UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS, UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS) + (UNSPEC_ABS_PS, UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1) + (UNSPEC_RECIP2, UNSPEC_SINGLE_CC, UNSPEC_SCC): Moved from mips-ps-3d.md. + (UNSPEC_LOONGSON_PAVG, UNSPEC_LOONGSON_PCMPEQ, UNSPEC_LOONGSON_PCMPGT) + (UNSPEC_LOONGSON_PEXTR, UNSPEC_LOONGSON_PINSR_0) + (UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2) + (UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD) + (UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU) + (UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU) + (UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD, UNSPEC_LOONGSON_PSADBH) + (UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH) + (UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD) + (UNSPEC_LOONGSON_PSUBD): Move to mips-loongson.md. + (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN) + (UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN) + (UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN) + (UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Moved to mips-loongson2ef.md. + (cpu): Update comment. + * config/mips/sync.md (UNSPEC_COMPARE_AND_SWAP) + (UNSPEC_COMPARE_AND_SWAP_12, UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP) + (UNSPEC_SYNC_NEW_OP_12, UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE) + (UNSPEC_SYNC_EXCHANGE_12, UNSPEC_MEMORY_BARRIER): Moved from mips.md. + * config/mips/loongson.md (UNSPEC_LOONGSON_PAVG, UNSPEC_LOONGSON_PCMPEQ) + (UNSPEC_LOONGSON_PCMPGT, UNSPEC_LOONGSON_PEXTR, UNSPEC_LOONGSON_PINSR_0) + (UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2) + (UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD) + (UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU) + (UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU) + (UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD, UNSPEC_LOONGSON_PSADBH) + (UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH) + (UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD) + (UNSPEC_LOONGSON_PSUBD): Moved from mips.md + * config/mips/loongson2ef.md (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN) + (UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN) + (UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN) + (UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Moved from mips.md + * config/mips/mips-dsp.md (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ) + (UNSPEC_SUBQ_S, UNSPEC_ADDSC, UNSPEC_ADDWC, UNSPEC_MODSUB) + (UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S, UNSPEC_PRECRQ_QB_PH) + (UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W, UNSPEC_PRECRQU_S_QB_PH) + (UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR, UNSPEC_PRECEQU_PH_QBL) + (UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA, UNSPEC_PRECEQU_PH_QBRA) + (UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR, UNSPEC_PRECEU_PH_QBLA) + (UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL, UNSPEC_SHLL_S, UNSPEC_SHRL_QB) + (UNSPEC_SHRA_PH, UNSPEC_SHRA_R, UNSPEC_MULEU_S_PH_QBL) + (UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH, UNSPEC_MULEQ_S_W_PHL) + (UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL, UNSPEC_DPAU_H_QBR) + (UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR, UNSPEC_DPAQ_S_W_PH) + (UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH, UNSPEC_DPAQ_SA_L_W) + (UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL, UNSPEC_MAQ_S_W_PHR) + (UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR, UNSPEC_BITREV, UNSPEC_INSV) + (UNSPEC_REPL_QB, UNSPEC_REPL_PH, UNSPEC_CMP_EQ, UNSPEC_CMP_LT) + (UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB, UNSPEC_CMPGU_LT_QB) + (UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH, UNSPEC_EXTR_W) + (UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H, UNSPEC_EXTP) + (UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP) + (UNSPEC_RDDSP): Moved from mips.md. + * config/mips/mips-dspr2.md (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH) + (UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB, UNSPEC_ADDUH_R_QB, UNSPEC_APPEND) + (UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB, UNSPEC_CMPGDU_LT_QB) + (UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH, UNSPEC_DPS_W_PH, UNSPEC_MADD) + (UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU, UNSPEC_MUL_PH) + (UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH, UNSPEC_MULQ_S_W) + (UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU, UNSPEC_PRECR_QB_PH) + (UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W, UNSPEC_PREPEND) + (UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH, UNSPEC_SUBU_PH) + (UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB, UNSPEC_ADDQH_PH) + (UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W, UNSPEC_SUBQH_PH) + (UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W, UNSPEC_DPAX_W_PH) + (UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH, UNSPEC_DPAQX_SA_W_PH) + (UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH): Moved from mips.md. + * config/mips/mips-ps-3d.md (UNSPEC_MOVE_TF_PS, UNSPEC_C) + (UNSPEC_ALNV_PS, UNSPEC_CABS, UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS) + (UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS, UNSPEC_ABS_PS, UNSPEC_RSQRT1) + (UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2, UNSPEC_SINGLE_CC) + (UNSPEC_SCC): Moved from mips.md. + * config/mips/mips.c (mips_arch, mips_tune): Change enum from + "processor_type" to "processor". + (mips_rtx_cost_data): Replace PROCESSOR_MAX with NUM_PROCESSOR_VALUES. + * config/mips/mips.h (processor_type): Delete. + (mips_cpu_info.cpu, mips_arch, mips_tune): Change enum from + "processor_type" to "processor". + +2010-06-10 Richard Sandiford + + * configure.ac (tm_include_list): Add insn-constants.h. + * configure: Regenerate. + * Makefile.in (GTM_H): Move insn-constants.h here from... + (TM_H): ...here. + * mkconfig.sh: Remove special handling for insn-constants.h. + +2010-06-10 Richard Sandiford + + * Makefile.in (BUILD_RTL): Move build/read-md.o to... + (BUILD_MD): ...this new variable. + (simple_generated_rtl_h, simple_generated_rtl_c): New variables + that include the old contents of simple_generated_h and + simple_generated_c. + (simple_generated_h, simple_generated_c): Include them. Add + insn-constants.h. + (s-%): Make simple_generated_{h,c} stamps depend on $(MD_DEPS) + and simple_generated_rtl_{h,c} stamps depend on insn-conditions.md. + Remove these dependencies from the main rule and include + insn-conditions.md in the command line only if it appears + in the dependency list. + (insn-constants.h, s-constants): Delete. + (build/genconstants.o): Don't depend on $(RTL_BASE_H), $(GTM_H) + or gensupport.h. + (build/genmddeps.o): Likewise. + (genprogrtl): New variable that contains everything from genprogmd + except mddeps and constants. + (genprogmd): Redefine in terms of genprogrtl. Make these programs + depend on $(BUILD_MD) + (genprog): New variable. Make these programs depend on + $(BUILD_ERRORS). + * genmddeps.c: Don't include tm.h, rtl.h or gensupport.h. + (main): Use read_md_files instead of init_rtx_reader_args. + * genconstants.c: As for genmddeps.c. + * read-md.h (read_skip_construct): Declare. + * read-md.c (read_skip_construct): New function. + (handle_file): Allow a null handle_directive, skipping the + construct if so. + (parse_include): Update the comment accordingly. + +2010-06-10 Richard Sandiford + + * Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H). + * genmddeps.c: Include read-md.h. + (main): Call init_rtx_reader_args instead of init_md_reader_args. + * genattr.c (main): Likewise. + * genattrtab.c (main): Likewise. + * genautomata.c (main): Likewise. + * gencodes.c (main): Likewise. + * genconditions.c (main): Likewise. + * genconfig.c (main): Likewise. + * genconstants.c (main): Likewise. + * genemit.c (main): Likewise. + * genextract.c (main): Likewise. + * genflags.c (main): Likewise. + * genopinit.c (main): Likewise. + * genoutput.c (main): Likewise. + * genpeep.c (main): Likewise. + * genrecog.c (main): Likewise. + * genpreds.c (main): Likewise. + * gensupport.h (in_fname): Move to read-md.h. + (init_md_reader_args_cb): Rename to... + (init_rtx_reader_args_cb): ...this and return a bool. + (init_md_reader_args): Rename to... + (init_rtx_reader_args): ...this and return a bool. + (include_callback): Move to read-md.h. + * gensupport.c (in_fname, include_callback, base_dir, max_include_len) + (file_name_list, first_dir_md_include): Move to read-md.c + (first_bracket_include): Delete unused variable. + (last_dir_md_include): Move to read-md.c. + (process_include): Delete, moving code to read-md.c:handle_include. + (process_rtx): Don't handle INCLUDE. + (save_string): Delete. + (rtx_handle_directive): New function. + (init_md_reader_args_cb): Rename to... + (init_rtx_reader_args_cb): ...this and return a boolean success value. + Use read_md_args. + (init_md_reader_args): Rename to... + (init_rtx_reader_args): ...this and return a boolean success value. + * rtl.def (INCLUDE): Delete. + * rtl.h (read_rtx): Remove "int *" argument. Add "const char *" + argument. + * read-rtl.c (read_conditions): Don't gobble ')' here. + (read_mapping): Likewise. + (read_rtx): Remove LINENO argument. Add RTX_NAME argument. + Handle top-level non-rtx constructs here rather than in read_rtx_1. + Store the whole queue in *X. Remove call to init_md_reader. + (read_rtx_1): Rename to... + (read_rtx_code): ...this. Call read_nested_rtx to read subrtxes. + Don't handle top-level non-rtx constructs here. Don't handle (nil) + here. + (read_nested_rtx): New function. Handle (nil) here rather than + in read_rtx_code. + (read_rtx_variadic): Call read_nested_rtx to read subrtxes. Don't + gobble ')' here. + * read-md.h (directive_handler_t): New type. + (in_fname, include_callback): Moved from read-md.h. + (read_constants, init_md_reader): Delete. + (read_md_files): Declare. + * read-md.c (file_name_list, in_fname, base_dir, first_dir_md_include) + (last_dir_md_include_ptr, include_callback, max_include_len): Moved + from gensupport.c. + (read_constants): Rename to... + (handle_constants): ...this. Don't gobble ')' here. + (handle_include, handle_file, handle_toplevel_file) + (parse_include): New functions, mostly taken from gensupport.c. + (init_md_reader): Subsume into... + (read_md_files): ...this new function. + +2010-06-10 Richard Sandiford + + * read-md.h (read_char): Increment read_md_lineno after reading '\n'. + (unread_char): Decrement read_md_lineno after putting back '\n'. + * read-md.c (fatal_with_file_and_line): Push back any characters + that we decide not to add to the context. + (read_skip_spaces): Don't increment read_md_lineno here. Avoid using + fatal_expected_char in cases where '/' ends a line (for example). + (read_name): Don't increment read_md_lineno here. + (read_escape): Likewise. + (read_quoted_string): Likewise. + (read_braced_string): Likewise. + +2010-06-10 Richard Sandiford + + * Makefile.in (READ_MD_H): Add $(HASHTAB_H). + (build/genconstants.o): Depend on $(READ_MD_H) gensupport.h. + * genconstants.c: Include read-md.h. + * read-rtl.c (md_constants): Move to read-md.c. + (md_name): Move to read-md.h. + (initialize_iterators): Use leading_string_hash instead of def_hash + and leading_string_eq_p instead of def_name_eq_p. + (read_name): Move to read-md.c. + (def_hash, def_name_eq_p): Delete. + (read_constants, traverse_md_constants): Move to read-md.c. + * rtl.h (md_constant, traverse_md_constants): Move to read-md.h. + * read-md.h: Include hashtab.h. + (md_name): Moved from read-rtl.c. + (md_constant): Moved from read-md.h. + (leading_string_hash, leading_string_eq_p, read_name) + (read_constants, traverse_md_constants): Declare. + * read-md.c (md_constants): Moved from read-rtl.c. + (leading_string_hash, leading_string_eq_p): New functions. + (read_name, read_constants, traverse_md_constants): Moved from + read-rtl.c. + +2010-06-10 Richard Sandiford + + * read-rtl.c (md_name): New structure. + (read_name): Take an md_name instead of a buffer pointer. + Use the "string" field instead of strcpy when expanding constants. + (read_constants): Remove the tmp_char argument. Update the calls + to read_name, using two local name buffers instead of the tmp_char + argument. Merge the constant-creation code. + (read_conditions): Remove the tmp_char argument. Update the calls + to read_name, using a local name buffer instead of the tmp_char + argument. + (read_mapping): Replace tmp_char variable with a local name buffer. + Update the calls to read_name. + (read_rtx_1): Likewise. Update the calls to read_constants and + read_conditions. + +2010-06-10 Richard Sandiford + + * Makefile.in (build/read-md.o): Depend on errors.h. + * read-md.h (error_with_line): Declare. + * read-md.c: Include errors.h. + (message_with_line_1): New function, extracted from... + (message_with_line): ...here. + (error_with_line): New function. + * genattrtab.c: If a call to message_with_line is followed by + "have_error = 1;", replace both statements with a call to + error_with_line. + * genoutput.c: Likewise. + * genpreds.c: Likewise. + * genrecog.c: If a call to message_with_line is followed by + "error_count++;", replace both statements with a call to + error_with_line. + (errorcount): Delete. + (main): Don't check it. + * gensupport.c: If a call to message_with_line is followed by + "errors = 1;", replace both statements with a call to error_with_line. + (errors): Delete. + (process_define_cond_exec): Check have_error instead of errors. + (init_md_reader_args_cb): Likewise. Don't set errors. + +2010-06-10 Richard Sandiford + + * read-md.h (read_md_file): Declare. + (read_char, unread_char): New functions. + (fatal_with_file_and_line, fatal_expected_char, read_skip_spaces) + (read_quoted_string, read_string): Remove FILE * argument. + * read-md.c (read_md_file): New variable. + (read_md_filename, read_md_lineno): Update comments and remove + unnecessary initialization. + (fatal_with_file_and_line, fatal_expected_char, read_skip_spaces) + (read_escape, read_quoted_string, read_braced_string, read_string): + Remove FILE * argument. Update calls accordingly, using read_char + and unread_char instead of getc and ungetc. + * rtl.h (read_rtx): Remove FILE * argument. + * read-rtl.c (iterator_group): Remove FILE * argument from + "find_builtin". + (iterator_traverse_data): Remove "infile" field. + (find_mode, find_code, apply_mode_maps, apply_iterator_to_rtx) + (add_mapping, read_name, read_constants, read_conditions) + (validate_const_int, find_iterator, read_mapping, check_code_iterator) + (read_rtx, read_rtx_1, read_rtx_variadic): Remove FILE * argument. + Remove file arguments from all calls, using read_char and unread_char + instead of getc and ungetc. + * gensupport.c (process_include): Preserve read_md_file around + the include. Set read_md_file to the handle of the included file. + Update call to read_rtx. + (init_md_reader_args_cb): Set read_md_file to the handle of the file + and remove local FILE *. Update calls to read_rtx. + +2010-06-10 Richard Sandiford + + * read-md.h (read_rtx_lineno): Rename to... + (read_md_lineno): ...this. + (read_rtx_filename): Rename to... + (read_md_filename): ...this. + (copy_rtx_ptr_loc): Rename to... + (copy_md_ptr_loc): ...this. + (print_rtx_ptr_loc): Rename to... + (print_md_ptr_loc): ...this. + * read-md.c: Likewise. Update references after renaming. + (string_obstack): Replace RTL with MD in comment. + (set_rtx_ptr_loc): Rename to... + (set_md_ptr_loc): ...this. + (get_rtx_ptr_loc): Rename to... + (get_md_ptr_loc): ...this. + * genconditions.c: Update references after renaming. + * genemit.c: Likewise. + * genoutput.c: Likewise. + * genpreds.c: Likewise. + * gensupport.c: Likewise. + * read-rtl.c: Likewise. + +2010-06-10 Richard Sandiford + + * Makefile.in (READ_MD_H): New variable. + (BUILD_RTL): Add build/read-md.o. + (lto-wrapper.o): Depend on coretypes.h instead of defaults.h. + (build/gensupport.o, build/read-rtl.o, build/genattr.o) + (build/genattrtab.o, build/genconditions.o build/genemit.o) + (build/genextract.o, build/genflags.o, build/genoutput.o) + (build/genpreds.o, build/genrecog.o): Depend on $(READ_MD_H). + (build/read-md.o): New rule. + * defaults.h (obstack_chunk_alloc, obstack_chunk_free) + (OBSTACK_CHUNK_SIZE, gcc_obstack_init): Move to... + * coretypes.h: ...here. + * lto-wrapper.c: Include coretypes.h instead of defaults.h. + * pretty-print.c (obstack_chunk_alloc, obstack_chunk_free): Delete. + * genattr.c: Include read-md.h. + * genattrtab.c: Likewise. + * genconditions.c: Likewise. + * genemit.c: Likewise. + * genextract.c: Likewise. + * genflags.c: Likewise. + * genoutput.c: Likewise. + * genpreds.c: Likewise. + * genrecog.c: Likewise. + * rtl.h (read_skip_spaces, copy_rtx_ptr_loc, print_rtx_ptr_loc) + (join_c_conditions, print_c_condition, read_rtx_filename) + (read_rtx_lineno): Move to read-md.h. + * read-rtl.c: Include read-md.h. + (ptr_loc, string_obstack, ptr_locs, ptr_loc_obstack) + (joined_conditions, joined_conditions_obstack, read_rtx_lineno) + (read_rtx_filename, fatal_with_file_and_line, fatal_expected_char) + (leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc, get_rtx_ptr_loc) + (copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions) + (print_c_condition, read_skip_spaces, read_escape, read_quoted_string) + (read_braced_string, read_string): Move to read-md.c. + (read_rtx): Move some initialization to init_md_reader and call + init_md_reader here. + * gensupport.h (message_with_line, n_comma_elts, scan_comma_elt): + Move to read-md.h. + * gensupport.c: Include read-md.h. + (message_with_line, n_comma_elts, scan_comma_elt): Move to read-md.c. + * read-md.h, read-md.c: New files. + +2010-06-10 Anatoly Sokolov + + * config/moxie/moxie.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE, + LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros. + * config/moxie/moxie-protos.h (moxie_function_value): Remove. + * config/moxie/moxie.c (moxie_function_value): Make static. + (moxie_libcall_value, moxie_function_value_regno_p): New functions. + (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define. + +2010-06-10 Martin Jambor + + * Makefile.in (tree-sra.o): Add DBGCNT_H to dependencies. + * dbgcnt.def (tree_sra): New counter. + * tree-sra.c: Include dbgcnt.h. + (gate_intra_sra): Check tree_sra debug counter. + +2010-06-10 Martin Jambor + + PR tree-optimization/44258 + * tree-sra.c (build_access_subtree): Return false iff there is a + partial overlap. + (build_access_trees): Likewise. + (analyze_all_variable_accesses): Disqualify candidates if + build_access_trees returns true for them. + +2010-06-10 Alexandre Oliva + + PR debug/41371 + * var-tracking.c (find_loc_in_1pdv): Remove recursion, only + tail-recurse into canonical node. Fast-forward over + non-canonical VALUEs. + +2010-06-10 H.J. Lu + + PR boostrap/44470 + * config/i386/i386.md (*add_1): Revert revision 160394. + (*addsi_1_zext) : Likewise. + (add lea splitter): Likewise. + (add_zext lea splitter): Likewise. + +2010-06-10 Joseph Myers + + * common.opt (fshow-column): Don't mark as C ObjC C++ ObjC++. + +2010-06-10 Jan Hubicka + + * df-problems.c (df_live_problem_data): Add live_bitmaps. + (df_live_alloc): Initialize problem data and live_osbtacks. + (df_live_finalize): Remove obstack, problem data; do not + clear all bitmaps. + (df_live_top_dump, df_live_bottom_dump): Do not dump old + data when not allocated. + (df_live_verify_solution_start): Do not allocate problem data. + (df_live_verify_solution_end): Check if out is allocated. + (struct df_md_problem_data): New structure. + (df_md_alloc): Allocate problem data. + (df_md_free): Free problem data; do not clear bitmaps. + +2010-06-10 Jan Beulich + + PR bootstrap/37304 + * configure.ac: Replace $() with ${} when intending to expand + variables rather than invoking commands. + * configure: Re-generate. + +2010-06-10 Jan Hubicka + + PR rtl-optimization/44460 + * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove + TYPE_NEEDS_CONSTRUCTING sanity check. + +2010-06-10 Gerald Pfeifer + + * doc/include/fdl.texi: Move to GFDL version 1.3. + + * doc/cpp.texi: Move to GFDL version 1.3. + * doc/gcc.texi: Move to GFDL version 1.3. Fix copyright years. + * doc/gccint.texi: Move to GFDL version 1.3. + * doc/gcov.texi: Move to GFDL version 1.3. Update copyright years. + * doc/install.texi: Move to GFDL version 1.3. Fix copyright years. + * doc/invoke.texi: Move to GFDL version 1.3. + +2010-06-09 Jan Hubicka + + * ipa-pure-const.c (propagate_pure_const, propagate_noreturn): + Break out from ... + (propagate) ... here; swap the order. + +2010-06-09 Jan Hubicka + + * bitmap.c (bitmap_elt_insert_after, bitmap_first_set_bit, + bitmap_first_set_bit, bitmap_last_set_bit, bitmap_last_set_bit, + bitmap_and_into, bitmap_and_compl_into, bitmap_set_range, + bitmap_compl_and_into, bitmap_elt_ior): Use checking asserts. + 2010-06-09 Changpeng Fang - * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO) : - Change the PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO threshold value from - 8 to 4. Minor change of the related comments. + * tree-ssa-loop-prefetch.c (gather_memory_references_ref): + Do not the gather memory reference in the outer loop if the step + is not a constant. + +2010-06-09 Changpeng Fang + + * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO) : + Change the PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO threshold value from + 8 to 4. Minor change of the related comments. 2010-06-09 Sebastian Pop @@ -58,11 +660,12 @@ * tree-vectorizer.h (vinfo_for_stmt): Remove check. (set_vinfo_for_stmt, get_earlier_stmt, is_loop_header_bb_p): Change gcc_assert to gcc_checking_assert. - * tree-flow-inline.h (gimple_vop, get_var_ann, relink_imm_use, phi_nodes - set_phi_nodes, phi_arg_index_from_use, op_iter_next_use, + * tree-flow-inline.h (gimple_vop, get_var_ann, relink_imm_use, + phi_nodes, set_phi_nodes, phi_arg_index_from_use, op_iter_next_use, op_iter_next_def, op_iter_next_tree, op_iter_init, op_iter_init_use, - op_iter_init_phiuse, op_iter_init_phidef, array_ref_contains_indirect_ref, - ref_contains_array_ref): Use gcc_checking_assert. + op_iter_init_phiuse, op_iter_init_phidef, + array_ref_contains_indirect_ref, ref_contains_array_ref): Use + gcc_checking_assert. * emit-rtl.h (set_first_insn, set_last_insn): Likewise. * tree-ssa-live.h (var_to_partition, var_to_partition_to_var, partition_is_global, live_on_entry, live_on_exit, @@ -77,24 +680,26 @@ 2010-06-09 Jan Hubicka * gimple.h (gcc_gimple_checking_assert): New macro. - (gimple_set_def_ops, gimple_set_use_ops, - gimple_set_vuse, gimple_set_vdef, - gimple_omp_subcode, gimple_omp_set_subcode, gimple_ops, gimple_op, - gimple_op_ptr, gimple_op_ptr, gimple_set_op, gimple_bind_set_block, - gimple_asm_input_op, gimple_asm_input_op_ptr, gimple_asm_set_input_op, - gimple_asm_output_op, gimple_asm_output_op_ptr, - gimple_asm_set_output_op, gimple_asm_clobber_op, - gimple_asm_set_clobber_op, gimple_asm_label_op, - gimple_asm_set_label_op, gimple_try_set_kind, gimple_try_catch_is_cleanup - gimple_try_set_catch_is_cleanup, gimple_phi_arg, - gimple_switch_num_labels, gimple_switch_set_index, gimple_switch_label, - gimple_switch_set_label, gimple_omp_for_index, gimple_omp_for_index_ptr, - gimple_omp_for_set_index, gimple_omp_for_initial, gimple_omp_for_initial_ptr, - gimple_omp_for_set_initial, gimple_omp_for_final, gimple_omp_for_final_ptr, - gimple_omp_for_set_final, gimple_omp_for_incr, gimple_omp_for_incr_ptr, - gimple_omp_for_set_incr, gimple_omp_for_set_cond, gimple_omp_for_cond): Make - checking conditional with ENABLE_GIMPLE_CHECKING. - (gimple_phi_set_arg): Likewise; replace memcpy by assignment. + (gimple_set_def_ops, gimple_set_use_ops, + gimple_set_vuse, gimple_set_vdef, + gimple_omp_subcode, gimple_omp_set_subcode, gimple_ops, gimple_op, + gimple_op_ptr, gimple_op_ptr, gimple_set_op, gimple_bind_set_block, + gimple_asm_input_op, gimple_asm_input_op_ptr, gimple_asm_set_input_op, + gimple_asm_output_op, gimple_asm_output_op_ptr, + gimple_asm_set_output_op, gimple_asm_clobber_op, + gimple_asm_set_clobber_op, gimple_asm_label_op, + gimple_asm_set_label_op, gimple_try_set_kind, + gimple_try_catch_is_cleanup, gimple_try_set_catch_is_cleanup, + gimple_phi_arg, gimple_switch_num_labels, gimple_switch_set_index, + gimple_switch_label, gimple_switch_set_label, gimple_omp_for_index, + gimple_omp_for_index_ptr, gimple_omp_for_set_index, + gimple_omp_for_initial, gimple_omp_for_initial_ptr, + gimple_omp_for_set_initial, gimple_omp_for_final, + gimple_omp_for_final_ptr, gimple_omp_for_set_final, + gimple_omp_for_incr, gimple_omp_for_incr_ptr, gimple_omp_for_set_incr, + gimple_omp_for_set_cond, gimple_omp_for_cond): Make checking + conditional with ENABLE_GIMPLE_CHECKING. + (gimple_phi_set_arg): Likewise; replace memcpy by assignment. 2010-06-09 Sandra Loosemore @@ -351,8 +956,7 @@ * tree-cfg.c (create_bb): Update comment to not reference ggc_alloc_cleared. - * tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is - value. + * tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is value. * varpool.c (varpool_node): Use typed GC allocation. (varpool_extra_name_alias): Likewise. @@ -581,7 +1185,7 @@ (init_alias_analysis): Likewise. 2010-06-08 Shujing Zhao - + * fold-const.c (fold_comparison): Remove redundant parenthesis. * tree-inline.c (expand_call_inline): Pass translated return value of cgraph_inline_failed_string to diagnostic function. @@ -654,8 +1258,7 @@ toplev.c. * flags.h (flag_signed_char, flag_short_enums, flag_pcc_struct_return, flag_ira_verbose, - flag_detailed_statistics, flag_remove_unreachable_functions): - Remove. + flag_detailed_statistics, flag_remove_unreachable_functions): Remove. * toplev.c (flag_detailed_statistics, flag_signed_char, flag_short_enums, flag_pcc_struct_return, flag_ira_verbose): Remove. (DEFAULT_PCC_STRUCT_RETURN): Move definition to defaults.h. @@ -700,7 +1303,7 @@ PR rtl-optimization/44404 * auto-inc-dec.c (find_inc): Use reg_overlap_mentioned_p instead - of count_occurrences to see if it's safe to modify mem_insn.insn. + of count_occurrences to see if it's safe to modify mem_insn. 2010-06-07 Richard Guenther @@ -881,8 +1484,7 @@ * tree-into-ssa.c (insert_phi_nodes): Use bitmap heads for dominance frontiers. - (rewrite_into_ssa): Update for bitmap heads in dominance - frontiers. + (rewrite_into_ssa): Update for bitmap heads in dominance frontiers. (insert_updated_phi_nodes_for): Likewise. (update_ssa): Likewise. * cfganal.c (compute_dominance_frontiers_1): Likewise. @@ -2168,10 +2770,10 @@ 2010-05-29 Steven Bosscher - * c-lex.c: Do not include c-tree.h. - * c-pretty-print.c: Likewise. - * c-opts.c: Likewise. - * c-gimplify.c: Likewise. + * c-lex.c: Do not include c-tree.h. + * c-pretty-print.c: Likewise. + * c-opts.c: Likewise. + * c-gimplify.c: Likewise. * c-common.c: Likewise. * c-dump.c: Likewise. Include c-common.h. @@ -7596,7 +8198,7 @@ (next_operand_entry_id): New static variable. (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs. (add_to_ops_vec): Assigned unique ID to operand entry. - (struct oecount_s): New field ID. + (struct oecount_s): New field ID. (oecount_cmp): Stabilize qsort comparotor by using unique IDs. (undistribute_ops_list): Assign unique IDs to oecounts. (init_reassoc): reset next_operand_entry_id.