OSDN Git Service

* gcc.c: Include "vec.h".
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 4a036dc..a701485 100644 (file)
@@ -1,4 +1,299 @@
-2010-10-30  Paolo Bonzini  <bonzini@gnu.org>
+2010-11-15  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.c: Include "vec.h".
+       (argbuf): Make into a VEC.
+       (argbuf_length, argbuf_index): Remove.
+       (alloc_args, clear_args, store_arg, execute, insert_wrapper,
+       do_spec, do_self_spec, do_spec_1, eval_spec_function, main,
+       compare_debug_dump_opt_spec_function: Use VEC interfaces on
+       argbuf.
+       * Makefile.in (GCC_OBJS): Add vec.o and ggc-none.o.
+       (gcc.o): Depend on $(VEC_H).
+
+2010-11-15  Richard Henderson  <rth@redhat.com>
+
+       * loop-unroll.c (analyze_insn_to_expand_var): Accept accumulation
+       via FMA if unsafe math.
+       (insert_var_expansion_initialization): Handle FMA.
+       (combine_var_copies_in_loop_exit): Likewise.
+
+2010-11-15  Richard Henderson  <rth@redhat.com>
+
+       * config.gcc [ia64-*] (extra_options): Add fused-madd.opt.
+       * config/ia64/ia64.opt: Remove mfused-madd.
+       * config/ia64/ia64.c (ia64_rtx_costs): Handle FP MULT, PLUS, FMA.
+       * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_FUSED_MADD.
+       * config/ia64/vms64.h (TARGET_DEFAULT): Likewise.
+       * config/ia64/ia64.h (TARGET_DEFAULT): Likewise.
+       * config/ia64/hpux.h (TARGET_DEFAULT): Likewise.
+       * config/ia64/vect.md (addv2sf3, subv2sf3): Generate FMA.
+       (*addv2sf3_1, *addv2sf3_2, *subv2sf3_1, *subv2sf3_2): Remove.
+       (fmav2sf4): Rename from fpma; use FMA code.
+       (fmsv2sf4): Rename from fpms; use FMA code.
+       (fnmav2sf4): Rename from *fpnma; use FMA code.
+       * config/ia64/ia64.md (MODE_SDF): New iterator.
+       (suffix): New mode attribute.
+       (*maddsf4, *msubsf4, *nmaddsf4): Remove.
+       (fmssf4): Rename from *fmssf4.
+       (fnmasf4): Rename from *nfmasf4.
+       (*madddf4, *madddf4_trunc, *msubdf4, *msubdf4_trunc): Remove.
+       (*nmadddf4, *nmadddf4_truncsf): Remove.
+       (fmsdf4): Rename from *fmsdf4.
+       (fnmadf4): Rename from *nfmadf4.
+       (*fmadf_trunc_sf, *fmsdf_trunc_sf, *fnmadf_trunc_sf): New.
+       (*maddxf4, *maddxf4_truncsf, *maddxf4_truncdf): Remove.
+       (*msubxf4, *msubxf4_truncsf, *msubxf4_truncdf): Remove.
+       (*nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf): Remove.
+       (fmsxf4): Rename from *fmsxf4.
+       (fnmaxf4): Rename from *nfmaxf4.
+       (*fmaxf_trunc_<MODE_SDF>, *fmsxf_trunc_<MODE_SDF>): New.
+       (*fnmaxf_trunc_<MODE_SDF>): New.
+
+2010-11-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/46461
+       * tree-ssa-forwprop.c (simplify_builtin_call): Ensure ptr1 is
+       a gimple val.
+
+2010-11-15  Ian Lance Taylor  <iant@google.com>
+
+       * godump.c: New file.
+       * common.opt (fdump-go-spec=): New option.
+       * tree.h: Add comments for TYPE_SYMTAB_ADDRESS and friends.
+       (TYPE_SYMTAB_IS_ADDRESS, TYPE_SYMTAB_IS_POINTER): Define.
+       (TYPE_SYMTAB_IS_DIE): Define.
+       (struct tree_type): Change GTY for symtab field to use
+       TYPE_SYMTAB_IS_ADDRESS and friends and to use a debug_hooks field
+       to pick the union field.
+       * debug.h (struct gcc_debug_hooks): Add tree_type_symtab_field.
+       (dump_go_spec_init): Declare.
+       * toplev.c (process_options): Handle flag_dump_go_spec.
+       * debug.c: Include "tree.h".
+       (do_nothing_debug_hooks): Set tree_type_symtab_field.
+       * dwarf2out.c (dwarf2_debug_hooks): Likewise.
+       * dbxout.c (dbx_debug_hooks): Likewise.
+       (xcoff_debug_hooks): Likewise.
+       * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
+       * sdbout.c (sdb_debug_hooks): Likewise.  Do not define if
+       SDB_DEBUGGING_INFO is not defined.
+       * doc/invoke.texi (Option Summary): Mention -fdump-go-spec.
+       (Overall Options): Document -fdump-go-spec.
+       * Makefile.in (OBJS-common): Add godump.o.
+       (debug.o): Add dependency on $(TREE_H).
+       (godump.o): New target.
+       (GTFILES): Add $(srcdir)/godump.c.
+
+2010-11-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/46095
+       * config/i386/i386.c (pro_epilogue_adjust_stack): Instead of
+       marking r11 set RTX_FRAME_RELATED_P if offset is too large for
+       style < 0, add REG_FRAME_RELATED_EXPR.
+
+       PR debug/46387
+       * rtl.h (vt_equate_reg_base_value): New prototype.
+       * alias.c (vt_equate_reg_base_value): New function.
+       * var-tracking.c (vt_init_cfa_base): Use it.
+
+2010-11-15  Jan Hubicka  <jh@suse.cz>
+           Diego Novillo  <dnovillo@google.com>
+
+       PR lto/41528
+       * doc/lto.texi: Add.
+       * doc/gccint.texi: Add reference to lto.texi.
+       * doc/invoke.texi: Update user documentation for LTO.
+       Move internal flags to lto.texi
+
+2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * c-typeck.c (build_unary_op): Use
+       objc_build_incr_expr_for_property_ref to build the pre/post
+       increment/decrement of an Objective-C property ref, and skip the
+       lvalue_or_else check in that case.
+
+2010-11-15  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/46349
+       * tree-sra.c (contains_bitfld_comp_ref_p): New function.
+       (contains_vce_or_bfcref_p): Likewise.
+       (sra_modify_assign): Use them.
+
+2010-11-15  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/46467
+       * tree-ssa-structalias.c (do_structure_copy): Properly treat
+       variables without subvars.
+
+2010-11-15  Hariharan Sandanagobalane  <hariharan@picochip.com>
+
+       * config/picochip/picochip.c (file header): Picochip name change.
+       * config/picochip/picochip.md (file header): Likewise.
+       * config/picochip/predicates.md (file header): Likewise.
+       * config/picochip/dfa_space.md (file header): Likewise.
+       * config/picochip/dfa_speed.md (file header): Likewise.
+       * config/picochip/picochip.h(file header): Likewise.
+       * config/picochip/constraints.md (file header): Likewise.
+       * config/picochip/picochip-protos.h (file header): Likewise.
+       * config/picochip/libgccExtras/setjmp.asm (file header): Likewise.
+       * config/picochip/libgccExtras/divmodsi4.asm (file header): Likewise.
+       * config/picochip/libgccExtras/ashlsi3.asm (file header): Likewise.
+       * config/picochip/libgccExtras/longjmp.asm (file header): Likewise.
+       * config/picochip/libgccExtras/ashlsi3.c (file header): Likewise.
+       * config/picochip/libgccExtras/popcounthi2.asm (file header): Likewise.
+       * config/picochip/libgccExtras/parityhi2.asm (file header): Likewise.
+       * config/picochip/libgccExtras/udivmodhi4.asm (file header): Likewise.
+       * config/picochip/libgccExtras/ashrsi3.asm (file header): Likewise.
+       * config/picochip/libgccExtras/ashrsi3.c (file header): Likewise.
+       * config/picochip/libgccExtras/ucmpsi2.asm (file header): Likewise.
+       * config/picochip/libgccExtras/divmodhi4.asm (file header): Likewise.
+       * config/picochip/libgccExtras/lshrsi3.asm (file header): Likewise.
+       * config/picochip/libgccExtras/subdi3.asm (file header): Likewise.
+
+2010-11-15  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/46474
+       * tree-ssa-math-opts.c (convert_mult_to_fma): Disregard debug stmts.
+
+2010-11-15  Nick Clifton  <nickc@redhat.com>
+
+       * config/stormy16/stormy16.c (direct_return): Do not generate a
+       direct return for interrupt handlers.
+
+2010-11-15  Joern Rennecke  <amylaar@spamcop.net>
+
+       * Makefile.in (tm.texi): Replace with rule for:
+       ($(srcdir)/doc/tm.texi).
+       (s-tm-texi): Depend on $(srcdir)/doc/../doc/tm.texi instead of on
+       $(srcdir)/doc/tm.texi .
+       (TEXI_GCCINT_FILES): Depend on $(srcdir)/doc/tm.texi instead of on
+       tm.texi .
+
+       PR target/46427
+       * config/m32r/m32r.c: Remove unused variables frame_size and insn.
+
+       PR bootstrap/45444
+       * config/arm/arm.c (locate_neon_builtin_icode): Initialize key.
+       (arm_output_asm_insn) Add ATTRIBUTE_PRINTF_4.
+
+       PR target/46432
+       * config/v850/v850.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
+
+2010-11-15  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/44150
+       * lto-opts.c (lto_write_options): Write -fexceptions even if
+       not set by the user.
+
+2010-11-13  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR c/46462
+       * c-decl.c (declspecs_add_type): Make variables with error types
+       integers.
+       * c-parser.c (c_parser_next_tokens_start_declaration): Two IDs
+       do not start a declaration before an Objective-C foreach.
+       (c_parser_declaration_or_fndef): Improve recovery after unknown
+       type name.
+       (c_parser_for_statement): Hoist entrance of "foreach context"
+       before ifs, add corresponding reset where it was missing.  Do
+       not set objc_could_be_foreach_context for C.
+
+2010-11-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/45722
+       * tree-sra.c (build_ref_for_model): Always build a COMPONENT_REF if
+       this is a reference to a component.
+       * ipa-prop.c (ipa_get_member_ptr_load_param): Accept COMPONENT_REF.
+       (ipa_note_param_call): Adjust comment.
+
+2010-11-14  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.c (machine_function): Remove
+       initialized_mips16_gp_pseudo_p.
+       (mips16_gp_pseudo_reg): Use cfun->machine->mips16_gp_pseudo_rtx to
+       detect whether a pseudo has already been created.  Unconditionally
+       create a new one if not.
+       (mips_pic_base_register): Only call mips16_gp_pseudo_reg when
+       expanding to rtl.  Create a new pseudo otherwise, if allowed.
+
+2010-11-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/43440
+       * tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro.
+       * tm.texi: Regenerated.
+       * output.h (decode_reg_name_and_count): Declare.
+       * varasm.c (decode_reg_name_and_count): New function.
+       (decode_reg_name): Reimplement using decode_reg_name_and_count.
+       * reginfo.c (fix_register): Use decode_reg_name_and_count and
+       iterate over all regs used.
+       * stmt.c (expand_asm_operands): Likewise.
+       * arm/aout.h (OVERLAPPING_REGISTER_NAMES): Define.
+       (ADDITIONAL_REGISTER_NAMES): Remove aliases that overlap
+       multiple machine registers.
+
+2010-11-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * stor-layout.c (place_union_field): Do not put location information
+       on offset expressions.
+       (place_field): Likewise.
+       (finalize_record_size): Likewise on size expressions.
+       (finalize_type_size): Likewise.
+       (layout_type): Likewise.
+
+2010-11-13  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42889
+       * df-scan.c (df_insn_rescan): Don't mark BBs upon debug insns.
+       * df-core.c (df_set_bb_dirty_nonrl): Remove.
+       * df.h (df_set_bb_dirty_nonlr): Likewise.
+
+2010-11-13  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/mips/mips.md (call_internal): Pass curr_insn to
+       mips_split_call.
+       (call_internal_direct): Ditto.
+       (call_value_internal): Ditto.
+       (call_value_internal_direct): Ditto.
+       (call_value_multiple_internal): Ditto.
+       * config/mips/mips.c (mips_split_call): Do not copy
+       CALL_INSN_FUNCTION_USAGE here.
+
+2010-11-13  Mingming Sun  <mingm.sun@gmail.com>
+
+       * doc/invoke.texi (MIPS Options): Add loongson3a processor.
+       * config/mips/mips.md (define_attr "cpu"): Add loongson_3a.
+       (define_insn "prefetch"): Add TARGET_LOONGSON_3A.
+       * config/mips/mips.h (TARGET_LOONGSON_3A): Define.
+       (TUNE_LOONGSON_3A): Define.
+       (TARGET_LOONGSON_VECTORS): Add TARGET_LOONGSON_3A.
+       (MIPS_ISA_LEVEL_SPEC): Add loongson3a.
+       * config/mips/mips.c (mips_cpu_info_table): Add loongson3a.
+       (mips_issue_rate): Add PROCESSOR_LOONGSON_3A.
+       (mips_rtx_cost_data): Add Loongson-3A.
+
+2010-11-13  Iain Sandoe  <iains@gcc.gnu.org>
+
+       * config/darwin.h (LINK_COMMAND_SPEC_A): Update for changes to lto
+       switches.
+
+2010-11-13  Iain Sandoe  <iains@gcc.gnu.org>
+
+       * dwarf2out.c (macinfo_entry): New struct.
+       (output_comp_unit): Emit the section start label here and flag that we
+       will emit an info section.
+       (dwarf2out_start_source_file): Save data in a macinfo entry rather than
+       emitting directly.
+       (dwarf2out_end_source_file): Likewise.
+       (dwarf2out_define): Likewise.
+       (dwarf2out_undef): Likewise.
+       (output_macinfo): New.
+       (dwarf2out_init): Do not emit debug section switches here, allocate a
+       vec for macinfo, when required.
+       (dwarf2out_finish): First switch to debug_abbrev_section here.
+       debug_line_section,  debug_macinfo_section, Likewise.  
+       Check that the pubtypes table has at least one unpruned entry before
+       trying to emit it.
+
+2010-11-13  Paolo Bonzini  <bonzini@gnu.org>
 
        PR c/20385
        * c-parser.c (c_parser_next_token_starts_declaration): Rename to...