X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=cd8f8368c67f6cc2e98b32f17004ac5d425383ed;hb=14c9496e39a76064891431e88ad260110fb35475;hp=2687d4e6de15b9fbd4f770d2cc176d1aecefeb39;hpb=a75cc177023eb6860ab2c257e81afa4f70866c8e;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2687d4e6de1..7c380d35f03 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,1466 @@ +2010-12-09 Martin Jambor + + * ipa-prop.h (struct ipa_parm_adjustment): New field alias_ptr_type. + * ipa-prop.c (ipa_modify_call_arguments): Use it. + * tree-sra.c (splice_param_accesses): Test that all accesses have the + same alias reference type. + (turn_representatives_into_adjustments): Set alias_ptr_type of the + adjustment. + +2010-12-09 Martin Jambor + + PR middle-end/46734 + * tree-sra.c (splice_param_accesses): Check that there are not + multiple ADDRESSABLE types. + +2010-12-09 Joseph Myers + + * config/arc/arc.h (ASM_SPEC): Remove %{v}. + * config/bfin/bfin.h (ASM_SPEC): Remove %{v}. + * config/cris/cris.h (ASM_SPEC): Remove %{v:-v}. + * config/fr30/fr30.h (ASM_SPEC): Remove %{v}. + * config/frv/frv.h (ASM_SPEC): Remove %{v}. + * config/i386/linux.h (ASM_SPEC): Remove %{v}. + * config/i386/linux64.h (ASM_SPEC): Remove %{v}. + * config/i386/mingw-w64.h (ASM_SPEC): Remove %{v}. + * config/i386/sol2-10.h (ASM_SPEC): Remove %{v}. + * config/i386/vxworks.h (ASM_SPEC): Remove %{v}. + * config/i386/x86-64.h (ASM_SPEC): Remove %{v}. + * config/lm32/lm32.h (ASM_SPEC): Remove %{v}. + * config/m32r/m32r.h (ASM_SPEC): Remove %{v}. + * config/m68k/linux.h (ASM_SPEC): Remove %{v:-V}. + * config/microblaze/microblaze.h (ASM_SPEC): Remove %{v}. + * config/mips/mips.h (ASM_SPEC): Remove %{v}. + * config/mips/vxworks.h (ASM_SPEC): Remove %{v}. + * config/pa/pa-linux.h (ASM_SPEC): Remove %{v:-V}. + * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Remove %{v}. + * config/rs6000/linux64.h (ASM_SPEC): Remove %{v:-V}. + * config/rs6000/vxworks.h (ASM_SPEC): Remove %{v:-v}. + * config/sparc/openbsd64.h (ASM_SPEC): Remove %{v:-V}. + * config/svr4.h (SVR4_ASM_SPEC): Remove %{v:-V}. + * config/xtensa/elf.h (ASM_SPEC): Remove %{v}. + * config/xtensa/linux.h (ASM_SPEC): Remove %{v}. + +2010-12-09 Joseph Myers + + * config/i386/openbsdelf.h (LINK_SPEC): Use %{r:} not %{r*:}. + * config/mips/openbsd.h (LINK_SPEC): Use %{r:} not %{r*:}. + * config/netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): Use %{r:} not + %{r*:}. + * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Use %{r:} not + %{r*:}. + * config/sparc/openbsd64.h (LINK_SPEC): Use %{r:} not %{r*:}. + * config/vax/netbsd-elf.h (LINK_SPEC): Use %{r:} not %{r*:}. + +2010-12-09 Joseph Myers + + * config/alpha/freebsd.h (LINK_SPEC): Don't use + %{!dynamic-linker:}. + * config/alpha/linux-elf.h (LINK_SPEC): Likewise. + * config/arm/freebsd.h (LINK_SPEC): Likewise. + * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Likewise. + * config/bfin/linux.h (LINK_SPEC): Likewise. + * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Likewise. + * config/frv/linux.h (LINK_SPEC): Likewise. + * config/i386/freebsd.h (LINK_SPEC): Likewise. + * config/i386/freebsd64.h (LINK_SPEC): Likewise. + * config/i386/linux.h (LINK_SPEC): Likewise. + * config/i386/linux64.h (LINK_SPEC): Likewise. + * config/i386/openbsdelf.h (LINK_SPEC): Likewise. + * config/ia64/freebsd.h (LINK_SPEC): Likewise. + * config/ia64/linux.h (LINK_SPEC): Likewise. + * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise. + * config/m32r/linux.h (LINK_SPEC): Likewise. + * config/m68k/linux.h (LINK_SPEC): Likewise. + * config/microblaze/linux.h (LINK_SPEC): Likewise. + * config/mips/linux.h (LINK_SPEC): Likewise. + * config/mips/linux64.h (LINK_SPEC): Likewise. + * config/mips/openbsd.h (LINK_SPEC): Likewise. + * config/mn10300/linux.h (LINK_SPEC): Likewise. + * config/netbsd-elf.h (LINK_SPEC): Likewise. + * config/pa/pa-linux.h (LINK_SPEC): Likewise. + * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32, + LINK_OS_LINUX_SPEC64): Likewise. + * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC, + LINK_OS_LINUX_SPEC, LINK_OS_GNU_SPEC, LINK_OS_NETBSD_SPEC): + Likewise. + * config/s390/linux.h (LINK_SPEC): Likewise. + * config/sh/linux.h (SUBTARGET_LINK_SPEC): Likewise. + * config/sparc/freebsd.h (LINK_SPEC): Likewise. + * config/sparc/linux.h (LINK_SPEC): Likewise. + * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC, + LINK_SPEC): Likewise. + * config/sparc/openbsd64.h (LINK_SPEC): Likewise. + * config/vax/linux.h (LINK_SPEC): Likewise. + * config/xtensa/linux.h (LINK_SPEC): Likewise. + +2010-12-09 Joseph Myers + + * config/bfin/bfin.h (ASM_SPEC): Remove %{n} and %{T}. + * config/frv/frv.h (ASM_SPEC): Likewise. + * config/i386/sol2-10.h (ASM_SPEC): Likewise. + * config/i386/sol2.h (ASM_SPEC): Likewise. + * config/m68k/linux.h (ASM_SPEC): Likewise. + * config/pa/pa-linux.h (ASM_SPEC): Likewise. + * config/rs6000/linux64.h (ASM_SPEC32): Likewise. + * config/rs6000/vxworks.h (ASM_SPEC): Likewise. + * config/sol2.h (ASM_SPEC): Likewise. + * config/sparc/linux.h (ASM_SPEC): Likewise. + * config/sparc/linux64.h (ASM_SPEC): Likewise. + * config/sparc/sp-elf.h (ASM_SPEC): Likewise. + * config/sparc/sysv4.h (ASM_SPEC): Likewise. + * config/svr4.h (SVR4_ASM_SPEC): Likewise. + +2010-12-09 Richard Guenther + + * reginfo.c (struct subregs_of_mode_node): Remove. + (subregs_of_mode): Likewise. + (som_hash): Likewise. + (som_eq): Likewise. + (invalid_mode_changes): New bitmap. + (record_subregs_of_mode): Get subregs_of_mode argument. + Fill in invalid_mode_changes bitmap. + (find_subregs_of_mode): Get subregs_of_mode argument and pass + it through. + (init_subregs_of_mode): Adjust. + (finish_subregs_of_mode): Likewise. + (invalid_mode_change_p): Query invalid_mode_changes bitmap. + +2010-12-09 Richard Guenther + + * ira.c (ira): Do not call finish_subregs_of_mode. + * ira-costs.c (finish_costs): Call finish_subregs_of_mode. + +2010-12-09 Richard Guenther + + * rtl.h (invalid_mode_change_p): Adjust prototype. + * reginfo.c (invalid_mode_change_p): Remove from argument. + * ira-costs.c (print_allocno_costs): Adjust callers. + (find_costs_and_classes): Likewise. + +2010-12-09 Jakub Jelinek + + * config/s390/s390.md (*movcc): Change lgoc and stgoc to + locg and stocg even in comment. + (sync_old_): Give mode to UNSPEC_VOLATILE. + + PR target/41082 + * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Use stvx + instead of stve*x. + (altivec_expand_stv_builtin): For op0 use mode of operand 1 instead + of operand 0. + * config/rs6000/altivec.md (VI_scalar): New mode attr. + (altivec_stvex, *altivec_stvesfx): Use scalar instead of + vector mode for operand 0, put operand 1 into UNSPEC. + +2010-12-09 Yao Qi + + * config/arm/arm.c (arm_preferred_rename_class): Implement targethook + PREFERRED_RENAME_CLASS. + +2010-12-08 Ian Lance Taylor + + * doc/sourcebuild.texi (Front End): Remove reference to + snapshot-README and snapshot-index.html. + +2010-12-08 Ian Lance Taylor + + * doc/sourcebuild.texi (Texinfo Manuals): Change update_web_docs + to update_web_docs_svn. + (Front End): Likewise. + +2010-12-08 Iain Sandoe + + gcc/config.gcc (with_cpu): Default i[34567]86-*-darwin* and + x86_64-*-darwin* to with_cpu:-core2. + gcc/config/i386/mmx.md (*mov_internal_rex64): Replace movq + with movd for darwin assembler. + gcc/config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto. + (*vec_concatv2di_rex64_sse): Ditto. + +2010-12-08 Richard Guenther + Sebastian Pop + + PR tree-optimization/45230 + PR tree-optimization/45231 + PR tree-optimization/45370 + * sese.c (rename_uses): Returns a bool. Call + recompute_tree_invariant_for_addr_expr only on the RHS of a + GIMPLE_ASSIGN. + (graphite_copy_stmts_from_block): Call fold_stmt_inplace when + rename_uses returns true. + * tree-ssa-copy.c (replace_exp): Add a comment about calling + fold_stmt_inplace after replace_exp. + +2010-12-08 Mike Stump + + PR debug/46749 + * config/darwin.h (COLLECT_RUN_DSYMUTIL): Add. + (DSYMUTIL_SPEC): Use `linker' flags instead to handle lto better. + * config/darwin9.h (COLLECT_RUN_DSYMUTIL): Add. + (DSYMUTIL_SPEC): Use `linker' flags instead to handle lto better. + * collect2.c (post_ld_pass): Add. + (process_args): Add. + (maybe_run_lto_and_relink): Call post_ld_pass after ld. + (main): Likewise. Call process_args. + +2010-12-08 Jakub Jelinek + + PR middle-end/46844 + * regrename.c (check_new_reg_p): Add ATTRIBUTE_UNUSED to reg + parameter. + +2010-12-08 Richard Earnshaw + + PR target/46631 + * arm.c (thumb2_reorg): Also try to reduce Rd, Rn, Rd + into a 16-bit instruction. + +2010-12-08 Michael Meissner + + PR middle-end/42694 + * builtins.c (expand_builtin_pow_root): Don't optimize pow(x,y) + where y is 0.25, 1./6., or 0.75 if the target does not have a sqrt + instruction, but do optimize if y is 0.5 or 1./3. since that + changes an expensive call into a cheaper one. + +2010-12-08 Richard Guenther + + * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use a shift + instead of a division to divide by BITS_PER_UNIT. + +2010-12-08 Richard Guenther + + * gimplify.c (gimple_tree_eq): Assert hashes are equal only + when checking is enabled. + +2010-12-07 Andrey Belevantsev + + PR target/43603 + * haifa-sched.c (sched_create_recovery_edges): Update + dominator info. + * sel-sched-ir.c (maybe_tidy_empty_bb): Update dominator info + after deleting an empty block. + (tidy_control_flow): Also verify dominators. + (sel_remove_bb): Update dominator info after removing a block. + (sel_redirect_edge_and_branch_force): Assert that no unreachable + blocks will be created. Update dominator info. + (sel_redirect_edge_and_branch): Update dominator info when + basic blocks do not become unreachable. + (sel_remove_loop_preheader): Update dominator info. + +2010-12-07 Richard Guenther + + * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): + Reset alignment information. + (bump_vector_ptr): Likewise. + +2010-12-07 John David Anglin + + PR middle-end/46671 + PR target/46685 + * config/pa/pa.c (pa_function_section): New function. + (TARGET_ASM_FUNCTION_SECTION): Define. + +2010-12-07 Ian Lance Taylor + Ralf Wildenhues + + PR bootstrap/46810 + * configure.ac: Disable AC_MSG_ERROR while looking for the C++ + preprocessor. + * configure: Rebuild. + +2010-12-07 Paul Koning + + * config/pdp11/pdp11.c (output_addr_const_pdp11): Output negative + values with sign rather than as unsigned. + +2010-12-07 Paul Koning + + * config/pdp11/pdp11.c (TARGET_ASM_FUNCTION_SECTION): Define. + (pdp11_function_section): New function. + +2010-12-07 Joseph Myers + + * config/mcore/mcore.c Don't include assert.h. + (layout_mcore_frame, handle_structs_in_regs): Use gcc_assert. + * config/spu/spu.c: Don't include assert.h. + (spu_sms_res_mii): Use gcc_assert. + +2010-12-07 Sebastian Pop + + PR tree-optimization/42327 + * tree-data-ref.c (omega_setup_subscript): Call build_int_cst + instead of using integer_minus_one_node. + +2010-12-07 Nathan Froyd + + PR c++/45330 + * params.def (CXX_MAX_NAMESPACES_FOR_DIAGNOSTIC_HELP): New parameter. + * doc/invoke.texi (cxx-max-namespaces-for-diagnostic-help): Document. + +2010-12-07 Richard Guenther + + PR tree-optimization/46832 + * tree-ssa-math-opts.c (execute_optimize_widening_mul): Check + that the call has a lhs. + +2010-12-07 Yao Qi + + * Makefile.in: Add $(TARGET_H) to the regrename.o rule. + * regrename.c (struct du_head): Add new element length. + (sort_du_head, get_element, merge, merge_sort_comparison): + New functions of merge sort implementation to du_head list. + (regrename_optimize): Sort du_head linked list by length. + Iterate registers in a preferred-register-first order. + Move some code to ... + (check_new_reg_p): here. New function. + (create_new_chain): Initialize length. + (scan_rtx_reg): Increase length for non-debug insns. + * target.def: New hook preferred_rename_class. + * targhook.c (default_preferred_rename_class): New. + * targhook.h: Declare it. + * doc/tm.texi.in: New hook TARGET_PREFERRED_RENAME_CLASS. + * doc/tm.texi: Regenerate. + +2010-12-07 Jakub Jelinek + + PR debug/46799 + * tree-parloops.c (separate_decls_in_region): Use UNKNOWN_LOCATION + instead of BUILTINS_LOCATION. + (create_loop_fn): Add LOC argument, pass it to build_decl instead of + BUILTINS_LOCATION. + (create_parallel_loop): Add LOC argument, use it for OMP clauses + and GIMPLE_*OMP* statements. + (gen_parallel_loop): Determine locus for the parallel loop, pass it + to create_loop_fn and create_parallel_loop. + * cfgexpand.c (gimple_expand_cfg): For builtin functions, call + set_curr_insn_source_location (UNKNOWN_LOCATION). + +2010-12-07 Joern Rennecke + Richard Guenther + + PR target/46737 + * config/bfin/bfin.c (BB_AUX_INDEX): Cast to intptr_t. + (bfin_reorder_loops): Change type of index to intptr_t. + +2010-12-07 Richard Guenther + + PR tree-optimization/46726 + * tree-inline.c (estimate_num_insns): Special case pow (x, 2.0). + +2010-12-07 Richard Guenther + + * tree-ssa-math-opts.c (execute_optimize_widening_mul): Unlink + virtual operands. + +2010-12-07 Nicola Pero + + * c-parser.c (c_parser_typeof_specifier): Removed special + treatment of objc_volatilized attribute for Objective-C. + +2010-12-06 Vladimir Makarov + + * ira.c (update_equiv_regs): Prohibit move insns if + pressure-sensitive scheduling was done. + +2010-12-06 Nicola Pero + + * c-parser.c (c_parser_for_statement): Use c_fully_fold() instead + of c_process_expr_stmt() for the iterating and collection + expressions of an Objective-C fast enumeration loop. + +2010-12-06 Jakub Jelinek + + PR debug/45997 + * dwarf2out.c (modified_type_die): If both is_const_type and + is_volatile_type is set, start with DW_TAG_const_type or + DW_TAG_volatile_type depending on where we get qualified type + in the recursive call. + + PR target/43897 + * config/ia64/ia64.c (rtx_needs_barrier): Handle asm CLOBBER + as a store into that register. + + PR tree-optimization/46528 + PR debug/46338 + * profile.c (branch_prob): Make sure last is never set to a debug + stmt. + + PR debug/46771 + * reginfo.c (init_subregs_of_mode): Don't call find_subregs_of_mode + on DEBUG_INSNs. + + PR rtl-optimization/46777 + * cfglayout.c (duplicate_insn_chain): Avoid duplicating + also barrier after tablejump. + +2010-12-06 Joern Rennecke + Richard Henderson + + PR target/46740 + * config/vax/vax.c (vax_output_int_move): Fold #if into if. + +2010-12-06 Eric Botcazou + + * config/sparc/sol2.h (PUSHSECTION_FORMAT): Redefine unconditionally. + * config/sparc/sol2-gas.h (PUSHSECTION_FORMAT): Redefine. + +2010-12-06 Joern Rennecke + + PR target/46735 + * config/frv/predicates.md (gpr_or_int12_operand): Use IN_RANGE. + (gpr_fpr_or_int12_operand, gpr_or_int10_operand): Likewise. + (int12_operand, int_2word_operand, uint16_operand): Likewise. + (fpr_or_int6_operand, int6_operand, int5_operand): Likewise. + (uint5_operand, uint4_operand): Likewise. + * config/frv/frv.h (IN_RANGE_P): Delete. + (GPR_P, FPR_P, CC_P, ICC_P, FCC_P, CR_P, ICR_P, FCR_P): Use IN_RANGE. + (ACC_P, ACCG_P, SPR_P, CONST_OK_FOR_I, CONST_OK_FOR_J): Likewise. + (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise. + (CONST_OK_FOR_P): Likewise. + * config/frv/frv.md (*movqicc_internal2_int): Likewise. + (*movqicc_internal2_float, *movhicc_internal2_int): Likewise. + (*movhicc_internal2_float, *movsicc_internal2_int): Likewise. + (*movsicc_internal2_float, casesi): Likewise. + * config/frv/frv.c (frv_frame_offset_rtx): Likewise. + (frv_asm_output_mi_thunk, frv_legitimate_address_p_1): Likewise. + (frv_emit_movsi, output_move_single, frv_emit_cond_move): Likewise. + (frv_split_cond_move, frv_rtx_costs): Likewise. + + PR target/46739 + * config/mmix/mmix.c (mmix_intval): Split shift count. + +2010-12-06 H.J. Lu + + * config/i386/i386.c (m_COREI7): New. + (initial_ix86_tune_features): Turn on + X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL and + X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL for Core i7. + +2010-12-06 H.J. Lu + + * config.gcc: Allow corei7-avx for --with-arch/--with-cpu. + + * config/i386/driver-i386.c (host_detect_local_cpu): Support + Sandy Bridge. + + * config/i386/i386.c (override_options): Handle "corei7-avx". + + * doc/invoke.texi: Document corei7-avx. + +2010-12-06 Richard Guenther + + PR tree-optimization/46806 + * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do not + coalesce different types. + +2010-12-06 Richard Guenther + + PR tree-optimization/46785 + * tree-vect-loop.c (vect_is_simple_reduction_1): Also allow + call statements as operand definition. + +2010-12-06 Mingjie Xing + + * doc/tm.texi.in: Fix typo. + * doc/tm.texi: Regenerate. + +2010-12-05 John David Anglin + + * config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]: Fix typo in + last change. + +2010-12-06 Nicola Pero + + * c-family/c-common.h: Removed the declarations of all the objc_ + callbacks, and moved them into c-objc.h. Removed + objc_ivar_visibility_kind and moved it into c-objc.h. + * c-family/c-objc.h: New file. + * c-family/c-common.c: Include c-objc.h. + * c-family/c-format.c: Same change. + * c-family/stub-objc.c: Same change. + * c-decl.c: Include c-family/c-objc.h. + * c-parser.c: Same change. + * c-typeck.c: Same change. + * c-config-lang.in (gtfiles): Added c-family/c-objc.h. + * Makefile.in (c-decl.o): Depend on c-family/c-objc.h. + (c-parser.o): same change. + (c-typeck.o): Same change. + (c-family/c-format.o): Same change. + (c-family/stub-objc.o): Same change. + (c-family/c-common.o): Same change. + (PLUGIN_HEADERS): Added c-family/c-objc.h. + +2010-12-05 John David Anglin + + * config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]: Ignore + --with-dwarf2 option. + +2010-12-03 Jan Hubicka + + * lto-streamer-in.c (input_cfg): Fix pasto. + +2010-12-03 Jan Hubicka + + * ipa.c (cgraph_externally_visible_p): Do not localize builtins + and functions with user asm defined names. + (varpool_externally_visible_p): Do not localize vars with user + asm defined names. + +2010-12-03 Jan Hubicka + + * dwarf2asm.c (dw2_output_indirect_constant_1): Set DECL_ASSEMBLER_NAME + to prevent mangling with lto frontend. + +2010-12-03 Jan Hubicka + + * Makefile.in (LTO_STREAMER_H): Add GCOV_IO_H. + * lto-cgraph.c (merge_profile_summaries): Fix thinko. + +2010-12-03 Jan Hubicka + + PR tree-optimization/46760 + * cgraph.c (cgraph_create_node): Initialize count_materialization_scale. + * cgraph.h (struct cgraph_node): Add count_materialization_scale. + * lto-cgraph.c (lto_output_edge): Fix assert. + (lto_output_node): Output count_materialization_scale. + (output_profile_summary): Output only runs and sum_max. + (input_node): Input count_materialization_scale. + (input_profile_summary): Read data into file specific gcov summary. + (merge_profile_summaries): New function. + (input_cgraph): Update call of input_profile_summary; + call merge_profile_summaries. + * lto-streamer-in.c (input_cfg): Add count_materialization_scale arg; + rescale counts at read in. + (intput_bb): Likewise. + (input_function): Update call of input_bb. + (lto_read_body): Update call of input_cfg. + * lto-streamer.h: Inlclude gcov-io.h + (lto_file_decl_data): Add gcov_ctr_summary. + +2010-12-03 Dave Korn + + * doc/tm.texi.in (Cond. Exec. Macros): Rename node from this ... + (Cond Exec Macros): ... to this. + * doc/tm.texi: Regenerate. + +2010-12-03 Jason Merrill + + PR debug/46123 + * dwarf2out.c (gen_tagged_type_die): Don't put local types in + a declaration DIE. + +2010-12-03 Nathan Froyd + + * config/arm/arm.c (arm_legitimate_index_p): Split + VALID_NEON_QREG_MODE and VALID_NEON_DREG_MODE cases. Permit + slightly larger constants in the latter case. + (thumb2_legitimate_index_p): Likewise. + +2010-12-03 Joseph Myers + + * common.opt (N, Q, Qn, Qy, Z, n, r, s, t): New options. + * gcc.c (cc1_options): Add %{Qy:}. + +2010-12-03 Joseph Myers + + * gcc.c (LINK_COMMAND_SPEC): Don't handle -A, -d or -m. + * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise. + * config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise. + +2010-12-03 Alexander Monakov + + PR rtl-optimization/45354 + * sel-sched-ir.c (jump_leads_only_to_bb_p): Rename to ... + (bb_has_removable_jump_to_p): This. Update all callers. Make static. + Allow BBs ending with a conditional jump. Forbid EDGE_CROSSING jumps. + * sel-sched-ir.h (jump_leads_only_to_bb_p): Delete prototype. + +2010-12-03 Laurynas Biveinis + + * basic-block.h (struct edge_prediction): Remove forward + declaration. + * tree-flow.h (struct edge_prediction): Move from here... + * predict.c (struct edge_prediction): ...to here. + * cselib.h (struct elt_list): Move from here... + * cselib.c (struct elt_list): ...to here. + +2010-12-02 Ian Lance Taylor + + * gcc.c (default_compilers): Add entry for ".go". + * common.opt: Add -static-libgo as a driver option. + * doc/install.texi (Configuration): Mention libgo as an option for + --enable-shared. Mention go as an option for --enable-languages. + * doc/invoke.texi (Overall Options): Mention .go as a file name + suffix. Mention go as a -x option. + * doc/frontends.texi (G++ and GCC): Mention Go as a supported + language. + * doc/sourcebuild.texi (Top Level): Mention libgo. + * doc/standards.texi (Standards): Add section on Go language. + Move references for other languages into their own section. + * doc/contrib.texi (Contributors): Mention that I contributed the + Go frontend. + +2010-12-03 Laurynas Biveinis + + * tree.h (struct call_expr_arg_iterator_d): Remove GTY tag. + (const_call_expr_arg_iterator_d): Likewise. + (expanded_location): Likewise. + * c-tree.h (struct c_arg_tag_d): Likewise. + * dwarf2out.c (struct cfa_loc): Likewise. + (struct skeleton_chain_struct): Likewise. + * except.c (struct ttypes_filter): Likewise. + * cselib.h (struct cselib_val_struct): Likewise. + (elt_loc_list): Likewise. + (elt_list): Likewise. + * varasm.c (struct addr_const): Likewise. + * tree-flow.h (struct edge_prediction): Likewise. + (struct int_tree_map): Likewise. + (struct _edge_var_map): Likewise. + +2010-12-02 H.J. Lu + + PR target/46768 + * config/i386/i386.c (initial_ix86_tune_features): Turn on + X86_TUNE_INTER_UNIT_MOVES for Core 2 and Core i7. + +2010-12-02 H.J. Lu + + * config.gcc: Allow corei7 for --with-arch=/--with-cpu=. + +2010-12-02 Ian Lance Taylor + + * configure.ac: AC_DEFINE ENABLE_BUILD_WITH_CXX. Check for C++ + header files unordered_map, tr1/unordered_map, and ext/hash_map. + * configure, config.in: Rebuild. + +2010-11-02 Eric Botcazou + + PR target/46685 + * config/sparc/sparc.c (can_use_mov_pic_label_ref): New predicate. + (sparc_expand_move): Call it to decide whether to emit the special + mov{si,di}_pic_label_ref patterns. + (sparc_legitimize_pic_address): Call it to decide whether to emit + the regular PIC sequence for labels. Fix long line. + (sparc_file_end): Set is_thunk for the PIC helper. + +2010-12-02 Eric Botcazou + + * tree.c (build_range_type_1): Do not SET_TYPE_STRUCTURAL_EQUALITY + for a non-shared type. + +2010-12-02 Sebastian Pop + + PR middle-end/45297 + * tree-scalar-evolution.c (interpret_rhs_expr): Handle ADDR_EXPR + with MEM_REFs as POINTER_PLUS_EXPR. + +2010-12-02 Joseph Myers + + * config/i386/linux.h, config/m32r/linux.h, config/m68k/linux.h, + config/sparc/linux.h, config/sparc/linux64.h: Remove comments + mentioning /lib/elf. + +2010-12-02 Joseph Myers + + * config/bfin/bfin.h (LINK_SPEC): Remove %{b}. + * config/frv/frv.h (LINK_SPEC): Remove %{b}. + * config/i386/netware.h (LINK_SPEC): Remove %{b}. + * config/i386/nto.h (LINK_SPEC): Remove %{b}. + * config/lm32/uclinux-elf.h (LINK_SPEC): Remove %{b}. + * config/sol2.h (LINK_SPEC): Remove %{b}. + * config/svr4.h (LINK_SPEC): Remove %{b}. + +2010-12-02 Joseph Myers + + * config/i386/freebsd.h (LINK_SPEC): Cut long comment. + * config/i386/linux.h (LINK_SPEC): Cut long comment. + * config/i386/netware.h (LINK_SPEC): Remove %{V}. + * config/m32r/linux.h (LINK_SPEC): Cut long comment. + * config/m68k/linux.h (LINK_SPEC): Cut long comment. + * config/sparc/linux.h (LINK_SPEC): Cut long comment. + (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}. + * config/sparc/linux64.h (LINK_SPEC): Cut long comment. + (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}. + * config/sparc/netbsd-elf.h (ASM_SPEC): Remove %{V} and + %{v:%{!V:-V}}. + +2010-12-02 Joseph Myers + + * gcc.c (trad_capable_cpp, default_compilers): Don't handle + -ftraditional. + +2010-12-02 Joseph Myers + + * config/alpha/freebsd.h (LINK_SPEC): Don't handle -Wl,. + * config/bfin/bfin.h (ASM_SPEC): Don't handle -Wa,. + * config/frv/frv.h (ASM_SPEC): Don't handle -Wa,. + * config/lm32/uclinux-elf.h (LINK_SPEC): Don't handle -Wl,. + * config/microblaze/microblaze.h (LINK_SPEC): Don't handle -Wl,. + * config/mn10300/linux.h (ASM_SPEC): Don't handle -Wa,. + * config/pa/pa-linux.h (ASM_SPEC): Don't handle -Wa,. + * config/rs6000/freebsd.h (SVR4_ASM_SPEC): Don't handle -Wa,. + * config/rs6000/linux64.h (ASM_SPEC_COMMON): Don't handle -Wa,. + * config/rs6000/sysv4.h (LINK_SPEC): Don't handle -Wl,. + * config/rs6000/vxworks.h (ASM_SPEC): Don't handle -Wa,. + * config/sol2.h (ASM_SPEC): Don't handle -Wa,. + * config/sparc/linux.h (ASM_SPEC): Don't handle -Wa,. + * config/sparc/linux64.h (ASM_SPEC): Don't handle -Wa,. + * config/sparc/sp-elf.h (ASM_SPEC): Don't handle -Wa,. + * config/sparc/sysv4.h (ASM_SPEC): Don't handle -Wa,. + * config/svr4.h (SVR4_ASM_SPEC): Don't handle -Wa,. + * config/vxworks.h (VXWORKS_LINK_SPEC): Don't handle -Wl,. + +2010-12-02 Paul Koning + + * config/pdp11/pdp11.c (output_jump): Map unsigned to signed + opcodes if CC_NO_OVERFLOW is set. + (notice_update_cc_on_set): Correct setting of CC0 as a side + effect; set CC_NO_OVERFLOW for cases where C flag is not + meaningful. + +2010-12-02 Ian Lance Taylor + + * doc/install.texi (Configuration): Update default for + --with-boot-ldflags. + +2010-12-02 Nathan Froyd + + PR c/45062 + * c-decl.c (grokparms): Set arg_info->parms to NULL_TREE when + !funcdef_flag. + +2010-12-02 Sebastian Pop + + PR tree-optimization/45199 + * tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p): New. + (stores_zero_from_loop): Call + mem_write_stride_of_same_size_as_unit_type_p. + * tree-data-ref.h (stride_of_unit_type_p): New. + * tree-loop-distribution.c (generate_memset_zero): Simplified. + Call stride_of_unit_type_p. + (build_rdg_partition_for_component): Do not call + rdg_flag_similar_memory_accesses when + flag_tree_loop_distribute_patterns is set. + +2010-12-02 Richard Guenther + + * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Disregard + sign-changing conversions for induction detection. + +2010-12-02 Richard Guenther + + PR tree-optimization/46723 + * tree-vect-loop.c (get_initial_def_for_induction): Strip + conversions from the induction evolution and apply it to + the result instead. + * tree-vect-stmts.c (vect_get_vec_def_for_operand): Handle + assigns for induction defs. + +2010-12-02 Richard Guenther + + * value-prof.c (gimple_ic): Use stmt_ends_bb_p to detect + the case we need to split the edge and not the block. + +2010-12-02 Bernd Schmidt + + DFA model for Core 2 and Core i7 scheduling. + + * config/i386/core2.md: New DFA model for Core 2 and Core i7. + * config/i386/i386.c (ix86_option_override_internal): Update entries + for Core 2 and Core i7. + (ix86_issue_rate): Set issue rate to 3 [be realistic]. + * config/i386/i386.md: Include "core2.md". + (define_attr cpu): Add "corei7". + +2010-12-02 Maxim Kuvyrkov + + Define tuning for Core 2 and Core i7. + + * config/i386/i386-c.c (ix86_target_macros_internal): Update. + * config/i386/i386.c (core2_cost): Delete, use generic costs instead. + (m_CORE2): Replace with m_CORE2_{32,64}. + (m_CORE2I7{,_32,_64}): New macros. + (m_GENERIC32, m_GENERIC64): Update. + (initial_ix86_tune_features, x86_accumulate_outgoing_args,) + (x86_arch_always_fancy_math_387): Set m_CORE2I7_32 iff m_GENERIC32 and + set m_CORE2I7_64 iff m_GENERIC64. + (processor_target_table): Use generic costs for Core 2 and Core i7. + (ix86_option_override_internal): Update entries for Core 2 and Core i7. + (ix86_issue_rate): Remove entry for Core 2. + (ia32_multipass_dfa_lookahead, ix86_sched_init_global): Update. + * config/i386/i386.h (TARGET_CORE2_32, TARGET_CORE2_64): New macros. + (TARGET_CORE2): Update. + (PROCESSOR_CORE2_32, PROCESSOR_CORE2_64): New constants. + (PROCESSOR_CORE2): Remove. + +2010-12-02 Richard Guenther + + * lto-streamer.h (LTO_major_version): Bump to 2. + +2010-12-02 Richard Guenther + + PR lto/44871 + * gimple.c (canonical_type_hash_cache): New hashtable. + (gimple_type_hash): Make a wrapper around ... + (gimple_type_hash_1): ... this. Take gtc_mode argument. + (gimple_canonical_type_hash): Likewise. + (gtc_visit): Take a gtc_mode argument. + (gimple_types_compatible_p_1): Likewise. Do not compare struct + tag names or field names when computing canonical types. + (gimple_types_compatible_p): Adjust. + (visit): Take a gtc_mode argument. + (iterative_hash_gimple_type): Likewise. Do not hash struct tag + names or field names when computing hashes of canonical types. + (gimple_register_canonical_type): Use gimple_canonical_type_hash + for the hash. + (print_gimple_types_stats): Dump stats of canonical_type_hash_cache. + (free_gimple_type_tables): Free canonical_type_hash_cache. + +2010-12-02 Richard Guenther + Ira Rosen + + PR tree-optimization/46663 + * tree-vect-patterns.c (vect_recog_pow_pattern): Check that + FUNCTION_DECL exists and that it's a builtin. + +2010-12-02 Jie Zhang + + PR middle-end/46674 + * varasm.c (compute_visible_aliases): Handle user set + assembler name. + +2010-12-01 Michael Meissner + + * config/rs6000/rs6000.c (rs6000_option_override_internal): Fix + thinko regarding setting -mno- debug switches. + (rs6000_rtx_costs): Add FMA. Delete old rtl based FMA costs. + +2010-12-01 Joseph Myers + + * intl.c: Don't include tm.h. + * Makefile.in (intl.o): Don't depend on $(TM_H). + +2010-12-01 Sebastian Pop + + * graphite-sese-to-poly.c (analyze_drs_in_stmts): Fix set but + unused warning. + (rewrite_cross_bb_scalar_deps_out_of_ssa): Same. + +2010-12-01 Sebastian Pop + + * graphite-sese-to-poly.c (analyze_drs): Removed. + (build_scop_drs): Do not call analyze_drs. + (analyze_drs_in_stmts): New. + (insert_stmts): New. + (insert_out_of_ssa_copy): Call analyze_drs_in_stmts. + (insert_out_of_ssa_copy_on_edge): Same. + (rewrite_close_phi_out_of_ssa): Call insert_stmts. + (rewrite_phi_out_of_ssa): Same. + (rewrite_cross_bb_scalar_dependence): Same. + (split_reduction_stmt): Move data references in the new basic blocks. + (translate_scalar_reduction_to_array_for_stmt): Call insert_stmts. + +2010-12-01 Sebastian Pop + + * sese.c (rename_uses): Do not handle ADDR_EXPR in LHS of assignments. + +2010-12-01 Sebastian Pop + + PR middle-end/45297 + * graphite-poly.c (new_poly_bb): Returns a poly_bb_p. Do not take + the reduction bool in parameter. Clear PBB_IS_REDUCTION. Set GBB_PBB. + * graphite-poly.h (new_poly_bb): Update declaration. + (gbb_from_bb): Moved here... + (pbb_from_bb): New. + * graphite-sese-to-poly.c (var_used_in_not_loop_header_phi_node): + Removed. + (graphite_stmt_p): Removed. + (try_generate_gimple_bb): Returns a gimple_bb_p. Do not pass in + sbitmap reductions. Always build a gimple_bb_p. Do not call + new_poly_bb. + (build_scop_bbs_1): Do not pass in sbitmap reductions. + (build_scop_bbs): Same. + (gbb_from_bb): ... from here. + (add_conditions_to_constraints): Moved up. + (analyze_drs): New. + (build_scop_drs): Call analyze_drs. Remove all the PBBs that do + not contain data references. + (new_pbb_from_pbb): New. + (insert_out_of_ssa_copy_on_edge): Call new_pbb_from_pbb after a + block is split. + (rewrite_close_phi_out_of_ssa): Update call to + insert_out_of_ssa_copy_on_edge. + (rewrite_reductions_out_of_ssa): Now static. + (rewrite_cross_bb_scalar_deps_out_of_ssa): Same. + (split_pbb): New. + (split_reduction_stmt): Call split_pbb. + (translate_scalar_reduction_to_array): Pass in the scop, do not + pass in the sbitmap reductions. + (rewrite_commutative_reductions_out_of_ssa_close_phi): Same. + (rewrite_commutative_reductions_out_of_ssa_loop): Same. + (rewrite_commutative_reductions_out_of_ssa): Same. + (build_poly_scop): Call build_scop_bbs, + rewrite_commutative_reductions_out_of_ssa, + rewrite_reductions_out_of_ssa, and + rewrite_cross_bb_scalar_deps_out_of_ssa. Move build_scop_drs + before scop_to_lst. + * graphite-sese-to-poly.h (rewrite_commutative_reductions_out_of_ssa): + Removed declaration. + (rewrite_reductions_out_of_ssa): Same. + (rewrite_cross_bb_scalar_deps_out_of_ssa): Same. + (build_scop_bbs): Same. + * graphite.c (graphite_transform_loops): Do not initialize reductions. + Do not call build_scop_bbs, + rewrite_commutative_reductions_out_of_ssa, + rewrite_reductions_out_of_ssa, and + rewrite_cross_bb_scalar_deps_out_of_ssa. + * sese.h (struct gimple_bb): Add field pbb. + (GBB_PBB): New. + +2010-12-01 Sebastian Pop + + * graphite-sese-to-poly.c (handle_scalar_deps_crossing_scop_limits): + New. + (rewrite_cross_bb_scalar_deps): Pass in the scop. Call + handle_scalar_deps_crossing_scop_limits. + (rewrite_cross_bb_scalar_deps_out_of_ssa): Create an empty BB + after the scop. Update call to rewrite_cross_bb_scalar_deps. + +2010-12-01 Sebastian Pop + + * sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr + when replacing a constant in an ADDR_EXPR. + +2010-12-01 Sebastian Pop + + * graphite-blocking.c (lst_do_strip_mine_loop): Extra parameter + for the stride. + (lst_do_strip_mine): Same. + (scop_do_strip_mine): Same. + * graphite-poly.c (apply_poly_transforms): Update call to + scop_do_strip_mine. + * graphite-poly.h (scop_do_strip_mine): Update declaration. + +2010-12-01 Jan Hubicka + + * tree.c (build_common_builtin_nodes): Do not initialize + BUILT_IN_PROFILE_FUNC_ENTER and BUILT_IN_PROFILE_FUNC_EXIT. + * builtins.c (expand_builtin_profile_func): Remove. + (expand_builtin): Do not handle BUILT_IN_PROFILE_FUNC_ENTER and + BUILT_IN_PROFILE_FUNC_EXIT. + * builtins.def (profile_func_enter, profile_func_exit): Remove stubs. + (__cyg_profile_func_enter, __cyg_profile_func_exit): New. + * gimplify.c (gimplify_function_tree): Reorganize code calling + profiling functions. + +2010-12-01 Joseph Myers + + * opts.c: Expand comment on tm.h include. + +2010-12-01 Yao Qi + + * config/arm/predicates.md ("vfp_register_operand"): Return true for + VFP_D0_D7_REGS classes. + +2010-12-01 Joseph Myers + + * common.opt (flag_stack_check): New Variable entry. + (fcompare-debug-second): Use Var. + * flags.h (flag_compare_debug, flag_stack_check): Remove. + * opts.c (flag_compare_debug): Remove. + (common_handle_option): Don't handle OPT_fcompare_debug_second. + Set opts->x_flag_stack_check for OPT_fstack_check_. + * toplev.c (flag_stack_check): Remove. + +2010-12-01 Joseph Myers + + * common.opt (main_input_filename, main_input_basename, + main_input_baselength): New Variable entries. From toplev.c. + * final.c (output_quoted_string): Move from toplev.c. + * output.h (output_quoted_string): Move from toplev.h. + * opts-global.c (read_cmdline_options): Use gcc_options pointer to + access main_input_filename, main_input_baselength and + main_input_basename. + * targhooks.c: Include intl.h and opts.h. + (option_affects_pch_p, default_get_pch_validity): Move from + toplev.c. + * targhooks.h (option_affects_pch_p, default_get_pch_validity): + Move from toplev.h. + * toplev.c (main_input_filename, main_input_basename, + main_input_baselength): Move to common.opt. + (output_quoted_string): Move to final.c. + (warn_deprecated_use): Move to tree.c. + (option_affects_pch_p, default_get_pch_validity, + pch_option_mismatch, default_pch_valid_p): Move to targhooks.c. + * toplev.h (skip_leading_substring): Move to tree-dump.c. + (warn_deprecated_use): Move to tree.h. + (output_quoted_string): Move to output.h. + (main_input_filename, main_input_basename, main_input_baselength): + Move to common.opt. + (default_get_pch_validity, default_pch_valid_p): Move to + targhooks.c. + * tree-dump.c (skip_leading_substring): Move from toplev.h. + * tree.c (warn_deprecated_use): Move from toplev.c. + * tree.h (warn_deprecated_use): Move from toplev.h. + * c-typeck.c, config/alpha/alpha.c, config/arc/arc.c, + config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c, + config/cris/cris.c, config/crx/crx.c, config/fr30/fr30.c, + config/frv/frv.c, config/h8300/h8300.c, config/ia64/ia64.c, + config/iq2000/iq2000.c, config/lm32/lm32.c, config/m32c/m32c.c, + config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c, + config/mcore/mcore.c, config/mep/mep.c, + config/microblaze/microblaze.c, config/mips/mips.c, + config/mmix/mmix.c, config/mn10300/mn10300.c, + config/moxie/moxie.c, config/pa/pa.c, config/pdp11/pdp11.c, + config/picochip/picochip.c, config/s390/s390.c, + config/score/score.c, config/sh/sh.c, config/sparc/sparc.c, + config/spu/spu.c, config/stormy16/stormy16.c, config/v850/v850.c, + config/vax/vax.c, config/xtensa/xtensa.c, gimple-low.c, + graphite-sese-to-poly.c, plugin.c, tree-cfg.c, tree-inline.c, + varasm.c, xcoffout.c: Don't include toplev.h. + * Makefile.in (c-typeck.o, tree-inline.o, tree-cfg.o, + gimple-low.o, graphite-sese-to-poly.o, targhooks.o, plugin.o, + varasm.o, xcoffout.o): Update dependencies. + * config/arm/t-arm (arm.o): Update dependencies. + * config/spu/t-spu-elf (spu.o): Update dependencies. + +2010-12-01 Richard Guenther + + PR tree-optimization/46730 + * value-prof.c (gimple_ic): Always generate a separate merge BB. + +2010-11-30 Ian Lance Taylor + + * config/i386/linux.h (ASM_SPEC): Pass -v as -v, not -V. Remove + all of %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}. + * config/i386/linux64.h (ASM_SPEC): Likewise. + * config/i386/mingw-w64.h (ASM_SPEC): Likewise. + * config/i386/sol2-10.h (ASM_SPEC) [USE_GAS]: Likewise. + * config/i386/vxworks.h (ASM_SPEC): Likewise. + * config/i386/x86-64.h (ASM_SPEC): Likewise. + * config/i386/sol2.h (ASM_SPEC): Remove %{Wa,*:%*}. + * config/i386/sol2-10.h (ASM_SPEC) [!USE_GAS]: Likewise. + +2010-11-30 Nicola Pero + + * c-decl.c (finish_function): Call objc_finish_function in + Objective-C. + * c-typeck.c (convert_for_assignment): Do not call + objc_type_quals_match(). + +2010-11-30 Richard Guenther + + PR tree-optimization/46722 + * tree-ssa-math-opts.c (convert_mult_to_fma): Get multiplication + operands as arguments. + (execute_optimize_widening_mul): Also handle power of two as + multiplication. + +2010-11-30 Dave Korn + + PR middle-end/46709 + * cgraphunit.c (process_function_and_variable_attributes): Fix + cut'n'pasteo. + +2010-11-30 Joseph Myers + + * hwint.c: New. Extracted from toplev.c. + * hwint.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2): + Move from toplev.h. + * toplev.c (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2): + Move to hwint.c. + * toplev.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2): + Move to hwint.h. + * builtins.c, combine.c, config/i386/winnt.c, double-int.c, + explow.c, expmed.c, fold-const.c, ggc-page.c, ggc-zone.c, ifcvt.c, + ipa-struct-reorg.c, ira-color.c, matrix-reorg.c, omp-low.c, + real.c, recog.c, reload.c, rtlanal.c, simplify-rtx.c, + stor-layout.c, tree-dfa.c, tree-ssa-alias.c, + tree-ssa-loop-niter.c, tree-vect-data-refs.c, + tree-vect-loop-manip.c, tree-vect-loop.c, tree-vect-stmts.c, + tree-vrp.c: Don't include toplev.h. + * genattrtab.c, genconditions.c, genemit.c, genextract.c, + genoutput.c, genpeep.c, genpreds.c, genrecog.c: Don't include + toplev.h in generated output. + * Makefile.in (OBJS-common): Add hwint.o. + Dependencies for above files changed to remove toplev.h. + (hwint.o): New. + (insn-attrtab.o, insn-emit.o, insn-extract.o, insn-output.o, + insn-peep.o, insn-preds.o, insn-recog.o): Don't depend on + toplev.h. + * config/i386/t-cygming (winnt.o): Don't depend on toplev.h. + * config/i386/t-interix (winnt.o): Don't depend on toplev.h. + +2010-11-30 Richard Guenther + + PR tree-optimization/46717 + * value-prof.c (gimple_ic): Preserve EH edges of the indirect + call. Manually create EH edges for the direct call and update + target PHI nodes. + +2010-11-30 Joseph Myers + + * diagnostic-core.h: Include bversion.h. + * toplev.h: Don't include input.h or bversion.h. + (parse_optimize_options): Don't declare here. + * alias.c, auto-inc-dec.c, c-aux-info.c, c-convert.c, c-parser.c, + caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c, + combine-stack-adj.c, config/arm/pe.c, config/darwin-c.c, + config/host-darwin.c, config/i386/host-cygwin.c, + config/i386/host-mingw32.c, config/i386/msformat-c.c, + config/i386/netware.c, config/i386/nwld.c, + config/i386/winnt-cxx.c, config/i386/winnt-stubs.c, + config/ia64/ia64-c.c, config/m32c/m32c-pragma.c, + config/mep/mep-pragma.c, config/microblaze/microblaze-c.c, + config/rs6000/host-darwin.c, config/rs6000/rs6000-c.c, + config/score/score3.c, config/score/score7.c, + config/sh/symbian-base.c, config/sh/symbian-c.c, + config/sh/symbian-cxx.c, config/sol2-c.c, config/sol2.c, + config/v850/v850-c.c, config/vxworks.c, convert.c, cppbuiltin.c, + cselib.c, dbgcnt.c, ddg.c, dfp.c, dominance.c, emit-rtl.c, + fixed-value.c, fwprop.c, ggc-common.c, gimple.c, gimplify.c, + graphite-blocking.c, graphite-clast-to-gimple.c, + graphite-dependences.c, graphite-flattening.c, + graphite-interchange.c, graphite-poly.c, + graphite-scop-detection.c, graphite.c, haifa-sched.c, + implicit-zee.c, integrate.c, ipa-pure-const.c, ipa-reference.c, + ira-build.c, ira-conflicts.c, ira-costs.c, ira-lives.c, jump.c, + lists.c, loop-doloop.c, loop-iv.c, lto-cgraph.c, lto-compress.c, + lto-opts.c, lto-section-in.c, lto-section-out.c, + lto-streamer-out.c, lto-symtab.c, modulo-sched.c, optabs.c, + params.c, postreload-gcse.c, postreload.c, predict.c, profile.c, + regcprop.c, reginfo.c, regmove.c, reorg.c, resource.c, + sched-deps.c, sched-ebb.c, sched-rgn.c, sdbout.c, + sel-sched-dump.c, sel-sched-ir.c, sese.c, stmt.c, targhooks.c, + tree-cfgcleanup.c, tree-mudflap.c, tree-nomudflap.c, + tree-object-size.c, tree-outof-ssa.c, tree-phinodes.c, + tree-profile.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c, + tree-ssa-live.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c, + tree-ssa-operands.c, tree-ssa-structalias.c, tree-ssa-uninit.c, + tree-vect-patterns.c, value-prof.c, var-tracking.c, web.c: Don't + include toplev.h. + * Makefile.in (TOPLEV_H): Remove. All uses changed to use + toplev.h. Dependencies for above files and c-family files changed + to remove $(TOPLEV_H) or toplev.h. + (C_TREE_H): Don't include $(TOPLEV_H). + (DIAGNOSTIC_CORE_H): Use $(INPUT_H) instead of input.h. Add + bversion.h. + * config/arm/t-pe, config/arm/t-wince-pe, config/i386/t-cygming, + config/ia64/t-ia64, config/mep/t-mep, config/score/t-score-elf, + config/t-darwin, config/t-sol2, + config/t-vxworks, config/v850/t-v850, config/v850/t-v850e: + Dependencies for above files changed to remove $(TOPLEV_H) or + toplev.h. + +2010-11-30 Richard Guenther + + PR lto/44986 + * gcc.c (main): Use the first input with a compiler as infile + for link spec processing. + +2010-11-30 Richard Guenther + + PR lto/45949 + * cgraphunit.c (ipa_passes): Stop after errors from + small IPA passes. + +2010-11-30 Mingjie Xing + + * gcc-plugin.h: Include coretypes.h. + * Makefile.in (FUNCTION_H): Add hard-reg-set.h. + +2010-11-30 Laurynas Biveinis + + * ggc-zone.c (ggc_pch_read): Fix conditional compilation. + * ggc-none.c (ggc_internal_alloc_zone_stat) + (ggc_internal_cleared_alloc_zone_stat): New. + +2010-11-29 Joakim Tjernlund + + * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Check + TARGET_SINGLE_PIC_BASE for RS6000_PIC_OFFSET_TABLE_REGNUM. + (rs6000_emit_prologue): Don't set PIC register if + TARGET_SINGLE_PIC_BASE. + * config/rs6000/rs6000.opt (msingle-pic-base): New option. + * doc/invoke.texi (msingle-pic-base): Document. + +2010-11-29 H.J. Lu + + PR driver/46712 + * exec-tool.in (id): New. + Check and export LT_RCU_$id instead of LT_RCU. + +2010-11-29 Zdenek Dvorak + + PR tree-optimization/46675 + * tree-ssa-loop-niter.c (split_to_var_and_offset): Avoid overflow + in offset calculation. + +2010-11-29 Jan Hubicka + + * collect2.c (main): Do not imply verbose output with + LTO and linker plugin. + +2010-11-29 Dodji Seketeli + + * dwarf2out.c (print_die): Print the address of the current DIE or + of any DIE referenced by the current one. + +2010-11-29 Dodji Seketeli + + PR debug/46101 + * dwarf2out.c (lookup_type_die_strip_naming_typedef): New + function. + (scope_die_for, gen_type_die_for_member): Replace uses of + lookup_type_die with use of lookup_type_die_strip_naming_typedef. + +2010-11-29 Iain Sandoe + + * config/darwin.c (darwin_mergeable_string_section): Remove blank line. + (darwin_asm_declare_object_name): Correct spelling. + (darwin_output_aligned_bss): Likewise. + +2010-11-29 Iain Sandoe + Mike Stump + + PR target/26427 + PR target/33120 + PR testsuite/35710 + * config/i386/darwin.h (ASM_OUTPUT_COMMON): Remove + (ASM_OUTPUT_LOCAL): Likewise. + * config/darwin-protos.h (darwin_asm_declare_object_name): New. + (darwin_output_aligned_bss): Likewise. + (darwin_asm_output_aligned_decl_local): Likewise. + (darwin_asm_output_aligned_decl_common): Likewise. + (darwin_use_anchors_for_symbol_p): Likewise. + * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Remove. + (TARGET_ASM_OUTPUT_ANCHOR): Define. + (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define. + (DARWIN_SECTION_ANCHORS): Set to 1. + * config/darwin.c (emit_aligned_common): New var. + (darwin_init_sections): Check that the Darwin private zero-size section + marker is in range. + (darwin_text_section): Check for zero-sized objects. + (darwin_mergeable_string_section): Likewise. + (darwin_mergeable_constant_section): Likewise. + (machopic_select_section): Adjust to check for zero-sized objects. + Assert that OBJC meta data are non-zero sized. + (darwin_asm_declare_object_name): New. + (darwin_asm_declare_constant_name): Adjust for zero-sized + object sections. + (BYTES_ZFILL): Define. + (darwin_emit_weak_or_comdat): New. + (darwin_emit_local_bss): New. + (darwin_emit_common): New. + (darwin_output_aligned_bss): New. + (darwin_asm_output_aligned_decl_common): New. + (darwin_asm_output_aligned_decl_local): New. + (darwin_file_end): Disable subsections_via_symbols when section + anchoring is active. + (darwin_asm_output_anchor): Re-enable. + (darwin_use_anchors_for_symbol_p): New. + (darwin_override_options): Check for versions that can emit + aligned common. Update usage of flags to current. + * config/darwin-sections.def: Update comments and flags for + non-anchor sections. zobj_const_section, zobj_data_section, + zobj_bss_section, zobj_const_data_section: New. + * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Redefine. + (ASM_OUTPUT_ALIGN): Make whitespace output consistent. + (L2_MAX_OFILE_ALIGNMENT): Define. + (ASM_OUTPUT_ALIGNED_BSS): Define. + (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define. + (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define. + (SECTION_NO_ANCHOR): Define. + (TARGET_ASM_OUTPUT_ANCHOR) Define with a default of NULL. + (DARWIN_SECTION_ANCHORS): Define with a default of 0. + +2010-11-29 Joseph Myers + + * system.h: Include "safe-ctype.h" instead of . + Include , , and . + (O_BINARY, SIGCHLD, MAP_FAILED, MAP_ANONYMOUS, kill): + Conditionally define. + (GET_ENVIRONMENT): Poison. + * configure.ac: Don't test for mincore. + * configure: Regenerate. + * config.in: Regenerate. + * collect2-aix.c: Don't include . + * collect2.c: Don't include . + (SIGCHLD): Don't define. + (prefix_from_env): Use getenv instead of GET_ENVIRONMENT. + * config/alpha/alpha.c: Include "splay-tree.h" instead of + . + * config/arm/arm.c (arm_target_help): Use getenv instead of + GET_ENVIRONMENT. + * config/avr/driver-avr.c: Don't include . + * config/frv/frv.c: Don't include . + * config/host-darwin.c: Don't include . + * config/host-hpux.c: Don't include or . + (MAP_FAILED): Don't define. + * config/host-linux.c: Don't include or . + * config/host-solaris.c: Don't include . + * config/i386/cygming.h: Don't include . + * config/i386/driver-i386.c: Don't include . + * config/i386/host-cygwin.c: Don't include . + * config/iq2000/iq2000.c: Don't include . + * config/m32c/m32c-pragma.c: Don't include . + * config/m68hc11/m68hc11.c: Don't include . + * config/mep/mep-pragma.c: Don't include . + * config/microblaze/microblaze.c: Don't include . + * config/mips/mips.c: Don't include . + * config/rs6000/host-darwin.c: Don't include . + * cppdefault.c (cpp_relocated): Use getenv instead of GET_ENVIRONMENT. + * defaults.h (GET_ENVIRONMENT): Don't define. + * et-forest.h: Don't include or . + * gcc.c: Don't include , or . + (SIGCHLD, MAP_FAILED, kill): Don't define. + (process_command): Use getenv instead of GET_ENVIRONMENT. + * genhooks.c: Don't include . + * ggc-common.c: Don't include , or + . + (MAP_FAILED): Don't define. + * ggc-page.c Don't include . + (MAP_ANONYMOUS, MAP_FAILED): Don't define. + * ggc-zone.c: Don't include . + (MAP_ANONYMOUS, MAP_FAILED): Don't define. + * graph.c: Include "config.h" instead of . + * incpath.c (add_env_var_paths): Use getenv instead of GET_ENVIRONMENT. + * lto-wrapper.c: Don't include , or "libiberty.h". + (SIGCHLD, kill): Don't define. + * mips-tfile.c: Don't include . + * opts.c: Don't include or . + (print_specific_help): Use getenv instead of GET_ENVIRONMENT. + * passes.c: Don't include , or + . + * sparseset.h: Don't include . + * timevar.c: Don't include or . + * tlink.c: Don't include "libiberty.h". + * toplev.c: Don't include or . + * tree-mudflap.c: Include "demangle.h" instead of . + * tree-switch-conversion.c: Don't include . + * vmsdbgout.c: Don't include or . + +2010-11-29 Nicola Pero + + * c-parser.c (c_parser_objc_try_catch_statement): Renamed to + c_parser_objc_try_catch_finally_statement for consistency with the + C++ parser. Parse @catch(...) and pass NULL_TREE to + objc_begin_catch_clause() in that case. Improved error recovery. + Reorganized code to be almost identical to + cp_parser_objc_try_catch_finally_statement. + +2010-11-29 Joern Rennecke + + PR tree-optimization/46621 + * gimple.h: Don't include tm.h or hard-reg-set.h . + * Makefile.in (GIMPLE_H): Remove $(TM_H). + + PR bootstrap/44756 + * cppbuiltin.c: Include target.h . + (define_builtin_macros_for_type_sizes): + Use targetm.float_words_big_endian. + +2010-11-27 Jan Hubicka + + * dwarf2out.c (dwarf2out_begin_function): Set cold_text_section + and output cold_text_section_label. + (dwarf2out_init): Don't do that there. + (dwarf2out_finish): Handle cold section end label only if cold + section was used. + +2010-11-27 Eric Botcazou + + * tree-nested.c (remap_vla_decls): Fully expand value expressions of + VLA variables. + +2010-11-27 Richard Guenther + + * gimple.c (gimple_assign_copy_p): Use gimple_assign_single_p. + (gimple_assign_ssa_name_copy_p): Likewise. + (gimple_assign_unary_nop_p): Use is_gimple_assign. + (is_gimple_cast): Remove. + (gimple_assign_single_p): Move ... + * gimple.h (gimple_assign_single_p): ... here. + (is_gimple_cast): Remove. + (gimple_assign_rhs_code): Simplify. + * gimple-fold.c (gimple_fold_builtin): Use CONVERT_EXPR_P + instead of is_gimple_cast. + * ipa-type-escape.c (look_for_casts): Likewise. + +2010-11-26 Joseph Myers + + * doc/options.texi (Enum, EnumValue): Document new record types. + (Enum): Document new option flag. + * opt-functions.awk + * optc-gen.awk: Handle enumerated option arguments. + * opth-gen.awk: Handle enumerated option arguments. + * opts-common.c (enum_arg_ok_for_language, enum_arg_to_value, + enum_value_to_arg): New. + (decode_cmdline_option): Handle enumerated arguments. + (read_cmdline_option): Handle CL_ERR_ENUM_ARG. + (set_option, option_enabled, get_option_state): Handle CLVC_ENUM. + * opts.c (print_filtered_help, print_specific_help): Take + lang_mask arguments. + (print_filtered_help): Handle printing values of enumerated + options. Print possible arguments for enumerated options. + (print_specific_help): Update call to print_filtered_help. + (common_handle_option): Update calls to print_specific_help. Use + value rather than arg for OPT_fdiagnostics_show_location_. Don't + handle OPT_ffp_contract_, OPT_fexcess_precision_, + OPT_fvisibility_, OPT_ftls_model_, OPT_fira_algorithm_ or + OPT_fira_region_ here. + * opts.h (enum cl_var_type): Add CLVC_ENUM. + (struct cl_option): Add var_enum. + (CL_ENUM_CANONICAL, CL_ENUM_DRIVER_ONLY, struct cl_enum_arg, + struct cl_enum, cl_enums, cl_enums_count): New. + (CL_ERR_ENUM_ARG): Define. + (CL_ERR_NEGATIVE): Update value. + (enum_value_to_arg): Declare. + * common.opt (flag_ira_algorithm, flag_ira_region, + flag_fp_contract_mode, flag_excess_precision_cmdline, + default_visibility, flag_tls_default): Remove Variable entries. + (help_enum_printed): New Variable. + (fdiagnostics-show-location=): Use Enum. Add associated + SourceInclude, Enum and EnumValue entries. + (fexcess-precision=, ffp-contract=, fira-algorithm=, fira-region=, + ftls-model=, fvisibility=): Use Enum, Var and Init. Add + associated Enum and EnumValue entries. + +2010-11-26 Joern Rennecke + + PR target/46623 + * config/microblaze/microblaze.c (microblaze_block_move_straight): + Use XALLOCAVEC. + (microblaze_option_override): Don't use C++ style comments. + (save_restore_insns): Remove unused variable base_offset. + (microblaze_expand_prologue): Remove unused variable insn. + (microblaze_secondary_reload): Adjust type to match target.h . + (microblaze_elf_in_small_data_p): Move declarations to start of block. + (microblaze_expand_move): Likewise. + * config/microblaze/microblaze.h (LARGE_INT): + Avoid signed / unsigned comparisons. + (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Likewise. + (ASM_FORMAT_PRIVATE_NAME): Make format specifier match printed data. + (ASM_FINISH_DECLARE_OBJECT): Likewise. Constify name. + +2010-11-26 Michael Matz + + * tree-ssa-copy.c (fini_copy_prop): Don't DCE when we have loops. + + * passes.c (init_optimization_passes): Remove superfluous + copy-prop pass. + +2010-11-26 Richard Guenther + + PR lto/46648 + * gimple.c (gtc_visit): Do not return true for members of an + SCC still being processed but the current lattice value of + the member. Treat SCC members comparison state as lattice, + starting at equal, eventually dropping to unequal. + (gimple_types_compatible_p_1): Likewise. + 2010-11-26 Richard Guenther PR middle-end/46559 @@ -4228,7 +5691,7 @@ 2010-11-02 Richard Guenther PR tree-optimization/46149 - * tree-ssa-structalias.c (get_constraint_for_1): Properly handle + * tree-ssa-structalias.c (get_constraint_fop_1): Properly handle non-indirect MEM_REF variants. 2010-11-02 Richard Guenther