+2010-06-10 Jakub Jelinek <jakub@redhat.com>
+
+ * c-family/c-cppbuiltin.c: Include cpp-id-data.h.
+ (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
+ (lazy_hex_fp_value): New function.
+ (builtin_define_with_hex_fp_value): Provide definitions lazily.
+ * Makefile.in (c-family/c-cppbuiltin.o): Depend on $(CPP_ID_DATA_H).
+
+2010-06-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/44483
+ * tree-if-conv.c (bb_predicate_s): New struct.
+ (bb_predicate_p): New.
+ (bb_has_predicate): New.
+ (bb_predicate): New.
+ (set_bb_predicate): New.
+ (bb_predicate_gimplified_stmts): New.
+ (set_bb_predicate_gimplified_stmts): New.
+ (add_bb_predicate_gimplified_stmts): New.
+ (init_bb_predicate): New.
+ (free_bb_predicate): New.
+ (is_predicated): Use bb_predicate.
+ (add_to_predicate_list): Use bb_predicate and set_bb_predicate.
+ (predicate_bbs): Same. Gimplify the condition of the basic blocks
+ before processing their successors.
+ (clean_predicate_lists): Removed.
+ (find_phi_replacement_condition): Use bb_predicate.
+ (process_phi_nodes): Renamed ifconvert_phi_nodes. Avoid useless
+ computations.
+ (insert_gimplified_predicates): New.
+ (combine_blocks): Call insert_gimplified_predicates.
+ (tree_if_conversion): Call free_bb_predicate instead of
+ clean_predicate_lists.
+
+2010-10-11 Paul Brook <paul@codesourcery.com>
+
+ * doc/invoke.texi: Document ARM -mcpu=cortex-m4.
+ * config/arm/arm.c (all_architectures): Change v7e-m default to
+ cortexm4.
+ * config/arm/arm-cores.def: Add cortex-m4.
+ * config/arm/arm-tune.md: Regenerate.
+
+2010-06-11 Jan Hubicka <jh@suse.cz>
+
+ * ipa-pure-const.c (special_builtlin_state): New function.
+ (check_call): Use it instead of special casign BUILT_IN_RETURN.
+ (propagate_pure_const): Use it.
+
+2010-06-11 Jan Hubicka <jh@suse.cz>
+
+ * df-problems.c (df_live_scratch): Convert to bitmap_head.
+ (df_live_alloc): Initialize df_live_scratch when initializing
+ problem_data.
+ (df_live_transfer_function): Update uses of df_live_scratch.
+ (df_live_free): Free problem_data; clear df_live_scratch before
+ releasing the obstack.
+ (df_md_free): Free problem data.
+
+2010-06-11 Jan Hubicka <jh@suse.cz>
+
+ * 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 <manu@gcc.gnu.org>
+
+ * 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 <ubizjak@gmail.com>
+
+ * config/i386/i386.md (pro_epilogue_adjust_stack_1) <TYPE_ALU>: Assert
+ that operand 0 == operand 1. Use x86_maybe_negate_const_int to output
+ insn mnemonic.
+ (pro_epilogue_adjust_stack_rex64) <TYPE_ALU>: Ditto.
+
+2010-06-10 Dodji Seketeli <dodji@redhat.com>
+
+ Fix bootstap on mips
+ * dwarf2out.c (is_naming_typedef_dec): Built-in TYPE_DECLs cannot
+ be naming typedefs.
+
+2010-06-11 Kai Tietz <kai.tietz@onevision.com>
+
+ * 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 <rdsandiford@googlemail.com>
+
+ * 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 <rdsandiford@googlemail.com>
+
+ * 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 <rdsandiford@googlemail.com>
+
+ * 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 <rdsandiford@googlemail.com>
+
+ * 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 <rdsandiford@googlemail.com>
+
+ * 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 <rdsandiford@googlemail.com>
* Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H).
* 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.
+ (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 <aesok@post.ru>
2010-06-10 Jan Beulich <jbeulich@novell.com>
+ PR bootstrap/37304
* configure.ac: Replace $() with ${} when intending to expand
variables rather than invoking commands.
* configure: Re-generate.
2010-06-10 Jan Hubicka <jh@suse.cz>
PR rtl-optimization/44460
- * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove TYPE_NEEDS_CONSTRUCTING
- sanity check.
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
+ TYPE_NEEDS_CONSTRUCTING sanity check.
2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
2010-06-09 Changpeng Fang <changpeng.fang@amd.com>
- * 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 (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 <sebastian.pop@amd.com>
* 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,
2010-06-09 Jan Hubicka <jh@suse.cz>
* 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 <sandra@codesourcery.com>
* 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.
(init_alias_analysis): Likewise.
2010-06-08 Shujing Zhao <pearly.zhao@oracle.com>
-
+
* 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.
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.
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 <rguenther@suse.de>
* 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.
2010-05-29 Steven Bosscher <steven@gcc.gnu.org>
- * 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.
(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.