X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=f07f55521b5726867fc99aa3c2966146aee88bb4;hb=8d8c3735ca5a314499ff0cff60d574dd1e1b835f;hp=2da2d4441f10e12077ff2d85e0a1c54e835e8e23;hpb=fa280a58741fcaca48ce7ee0329228b0c7f77986;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2da2d4441f1..f07f55521b5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,872 @@ +2009-10-02 Nick Clifton + + * config/mn10300/mn10300.h (USER_LABEL_PREFIX): Define. + (ASM_OUTPUT_LABELREF): Use asm_fprintf and %U. + +2009-10-01 Jan Hubicka + + * cgraph.c (cgraph_clone_node): Add redirect_callers parameter. + (cgraph_create_virtual_clone): Just pass redirect_callers + around. + * cgraph.h (cgraph_clone_node): Update prototype. + * ipa-pure-const.c (self_recursive_p): New function. + (propagate): Use it. + * ipa-inline.c (cgraph_clone_inlined_nodes, + cgraph_decide_recursive_inlining): Update. + +2009-10-01 David Daney + + * gcc/config/mips/mips.c (mips_process_sync_loop) Emit syncw + instructions for TARGET_OCTEON. + +2009-10-01 Ramana Radhakrishnan + + * config/arm/arm.c (arm_override_options): Turn off + flag_dwarf2_cfi_asm for AAPCS variants. + +2009-10-01 Martin Jambor + + PR middle-end/12392 + * tree-sra.c (convert_callers): Do not call + compute_inline_parameters on one caller more than once. + +2009-10-01 Nick Clifton + + * config/vax/netbsd-elf.h (NETBSD_CC1_AND_CC1PLUS_SPEC): Define as + an empty string if not already defined. + +2009-10-01 Martin Jambor + + PR bootstrap/41395 + * tree-sra.c (is_va_list_type): New function. + (find_var_candidates): Call is_va_list_type. + (find_param_candidates): Check that the type or the type pointed + to are not va_list types. + +2009-10-01 Martin Jambor + + PR c++/41503 + * cp/pt.c (function_parameter_expanded_from_pack_p): Return false if + DECL_ARTIFICIAL (param_decl) is true. + +2009-09-30 Gabriel Dos Reis + + * tree.h (tree_decl_common::lang_flag_8): New. + * c-common.c (c_common_reswords): Include "constexpr" as C++0x + keyword. + * c-common.h (RID_CONSTEXPR): New. + +2009-09-30 Uros Bizjak + + * config/alpha/alpha.c (alpha_gimplify_va_arg_1): + Use ref-all pointers. + (alpha_gimplify_va_arg): Ditto. + +2009-09-30 Jakub Jelinek + + PR target/41279 + * cfgloopanal.c (num_loop_insns): Don't increment ninsns for each bb + before insn counting loop now that BB_END (bb) is counted. Ensure + the return value isn't zero. + +2009-09-30 Nick Clifton + + * config.gcc (sh-symbianelf): Replace definition of extra_objs + with separate definitions of c_target_objs and cxx_target_objs. + * config/sh/t-sh: Add rules to build symbian-cxx.o, symbian-c.o + and symbian-base.o. + * config/sh/sh.c (TARGET_CXX_INPUT_EXPORT_CLASS): Use + sh_symbian_import_export_class. + * config/sh/sh-protos.h: Fix names of exported symbian functions. + * config/sh/symbian.c: Delete, moving code into... + * config/sh/symbian-base.c: ... here + * config/sh/symbian-c.c: ... and here + * config/sh/symbian-cxx.c: ... and here. + +2009-09-30 Uros Bizjak + + PR target/22093 + * config/alpha/alpha.md (unaligned_storehi_be): Force operand + of plus RTX into register. + +2009-09-30 Ralf Wildenhues + + * doc/install.texi: Linguistic and markup fixes. + (Configuration) <--disable-cpp>: Remove description. + <--enable-maintainer-mode>: Autotools files are affected, too. + <--with-sysroot>: Improve description. + (Building): Bump required GNU make version. + +2009-09-29 Harsha Jagasia + + * config.gcc (i[34567]86-*-*): Include fma4intrin.h. + (x86_64-*-*): Ditto. + + * config/i386/fma4intrin.h: New file, provide common x86 compiler + intrinisics for FMA4. + * config/i386/cpuid.h (bit_FMA4): Define FMA4 bit. + * config/i386/x86intrin.h: Fix typo to SSE4A instead of SSE4a. + Add FMA4 check and fma4intrin.h. + * config/i386/i386-c.c(ix86_target_macros_internal): Check + ISA_FLAG for FMA4. + * config/i386/i386.h(TARGET_FMA4): New macro for FMA4. + * config/i386/i386.md (UNSPEC_FMA4_INTRINSIC): Add new UNSPEC + constant for FMA4 support. + (UNSPEC_FMA4_FMADDSUB): Ditto. + (UNSPEC_FMA4_FMSUBADD): Ditto. + * config/i386/i386.opt (-mfma4): New switch for FMA4 support. + * config/i386/i386-protos.h (ix86_fma4_valid_op_p): Add declaration. + (ix86_expand_fma4_multiple_memory): Ditto. + * config/i386/i386.c (OPTION_MASK_ISA_FMA4_SET): New. + (OPTION_MASK_ISA_FMA4_UNSET): New. + (OPTION_MASK_ISA_SSE4A_UNSET): Change definition to depend on FMA4. + (OPTION_MASK_ISA_AVX_UNSET): Change definition to depend on FMA4. + (ix86_handle_option): Handle -mfma4. + (isa_opts): Handle -mfma4. + (enum pta_flags): Add PTA_FMA4. + (override_options): Add FMA4 support. + (IX86_BUILTIN_VFMADDSS): New for FMA4 intrinsic. + (IX86_BUILTIN_VFMADDSD): Ditto. + (IX86_BUILTIN_VFMADDPS): Ditto. + (IX86_BUILTIN_VFMADDPD): Ditto. + (IX86_BUILTIN_VFMSUBSS): Ditto. + (IX86_BUILTIN_VFMSUBSD): Ditto. + (IX86_BUILTIN_VFMSUBPS): Ditto. + (IX86_BUILTIN_VFMSUBPD): Ditto. + (IX86_BUILTIN_VFMADDSUBPS): Ditto. + (IX86_BUILTIN_VFMADDSUBPD): Ditto. + (IX86_BUILTIN_VFMSUBADDPS): Ditto. + (IX86_BUILTIN_VFMSUBADDPD): Ditto. + (IX86_BUILTIN_VFNMADDSS): Ditto. + (IX86_BUILTIN_VFNMADDSD): Ditto. + (IX86_BUILTIN_VFNMADDPS): Ditto. + (IX86_BUILTIN_VFNMADDPD): Ditto. + (IX86_BUILTIN_VFNMSUBSS): Ditto. + (IX86_BUILTIN_VFNMSUBSD): Ditto. + (IX86_BUILTIN_VFNMSUBPS): Ditto. + (IX86_BUILTIN_VFNMSUBPD): Ditto. + (IX86_BUILTIN_VFMADDPS256): Ditto. + (IX86_BUILTIN_VFMADDPD256): Ditto. + (IX86_BUILTIN_VFMSUBPS256): Ditto. + (IX86_BUILTIN_VFMSUBPD256): Ditto. + (IX86_BUILTIN_VFMADDSUBPS256): Ditto. + (IX86_BUILTIN_VFMADDSUBPD256): Ditto. + (IX86_BUILTIN_VFMSUBADDPS256): Ditto. + (IX86_BUILTIN_VFMSUBADDPD256): Ditto. + (IX86_BUILTIN_VFNMADDPS256): Ditto. + (IX86_BUILTIN_VFNMADDPD256): Ditto. + (IX86_BUILTIN_VFNMSUBPS256): Ditto. + (IX86_BUILTIN_VFNMSUBPD256): Ditto. + (enum multi_arg_type): New enum for describing the various FMA4 + intrinsic argument types. + (bdesc_multi_arg): New table for FMA4 intrinsics. + (ix86_init_mmx_sse_builtins): Add FMA4 intrinsic support. + (ix86_expand_multi_arg_builtin): New function for creating FMA4 + intrinsics. + (ix86_expand_builtin): Add FMA4 intrinsic support. + (ix86_fma4_valid_op_p): New function to validate FMA4 3 and 4 + operand instructions. + (ix86_expand_fma4_multiple_memory): New function to split the + second memory reference from FMA4 instructions. + * config/i386/sse.md (ssemodesuffixf4): New mode attribute for FMA4. + (ssemodesuffixf2s): Ditto. + (fma4_fmadd4): Add FMA4 floating point multiply/add + instructions. + (fma4_fmsub4): Ditto. + (fma4_fnmadd4): Ditto. + (fma4_fnmsub4): Ditto. + (fma4_vmfmadd4): Ditto. + (fma4_vmfmsub4): Ditto. + (fma4_vmfnmadd4): Ditto. + (fma4_vmfnmsub4): Ditto. + (fma4_fmadd4256): Ditto. + (fma4_fmsub4256): Ditto. + (fma4_fnmadd4256): Ditto. + (fma4_fnmsub4256): Ditto. + (fma4_fmaddsubv8sf4): Ditto. + (fma4_fmaddsubv4sf4): Ditto. + (fma4_fmaddsubv4df4): Ditto. + (fma4_fmaddsubv2df4): Ditto. + (fma4_fmsubaddv8sf4): Ditto. + (fma4_fmsubaddv4sf4): Ditto. + (fma4_fmsubaddv4df4): Ditto. + (fma4_fmsubaddv2df4): Ditto. + (fma4i_fmadd4): Add FMA4 floating point multiply/add + instructions for intrinsics. + (fma4i_fmsub4): Ditto. + (fma4i_fnmadd4): Ditto. + (fma4i_fnmsub4): Ditto. + (fma4i_vmfmadd4): Ditto. + (fma4i_vmfmsub4): Ditto. + (fma4i_vmfnmadd4): Ditto. + (fma4i_vmfnmsub4): Ditto. + (fma4i_fmadd4256): Ditto. + (fma4i_fmsub4256): Ditto. + (fma4i_fnmadd4256): Ditto. + (fma4i_fnmsub4256): Ditto. + (fma4i_fmaddsubv8sf4): Ditto. + (fma4i_fmaddsubv4sf4): Ditto. + (fma4i_fmaddsubv4df4): Ditto. + (fma4i_fmaddsubv2df4): Ditto. + (fma4i_fmsubaddv8sf4): Ditto. + (fma4i_fmsubaddv4sf4): Ditto. + (fma4i_fmsubaddv4df4): Ditto. + (fma4i_fmsubaddv2df4): Ditto. + + * doc/invoke.texi (-mfma4): Add documentation. + * doc/extend.texi (x86 intrinsics): Add FMA4 intrinsics. + +2009-09-29 Richard Henderson + + * tree-eh.c (unsplit_eh): Do not unsplit if there's already + an edge to the new destination block. + +2009-09-29 John David Anglin + + PR target/41393 + * pa.c (hppa_profile_hook): Use + make_reg_eh_region_note_nothrow_nononlocal to add REG_EH_REGION note. + +2009-09-29 Steve Ellcey + Alexander Monakov + + PR target/41365 + * config/ia64/predicates.md (not_postinc_destination_operand): New. + (not_postinc_memory_operand): New. + (not_postinc_move_operand): New. + * config/ia64/ia64.md (*cmovdi_internal): Disallow autoincrement. + (*cmovsi_internal): Ditto. + +2009-09-29 Pat Haugen + + * config/rs6000/rs6000.c (rs6000_issue_rate): Don't artificially + restrict issue_rate in first pass when scheduling for register + pressure. + +2009-09-29 Basile Starynkevitch + Rafael Avila de Espindola + + * gengtype.c (plugin_output): New. + (get_output_file_with_visibility): Return plugin_output for plugins. + (main): Parse and use the -P option. + * gty.texi: Update the command line format. + +2009-09-29 Jakub Jelinek + + PR debug/41438 + * dwarf2out.c (const_ok_for_output_1, const_ok_for_output): New + functions. + (mem_loc_descriptor, loc_descriptor, add_const_value_attribute): Bail + out if !const_ok_for_output. + + PR debug/41474 + * dwarf2out.c (mem_loc_descriptor) : Remove gcc_unreachable (). + +2009-09-29 Harsha Jagasia + + * config.gcc (i[34567]86-*-*): Remove mmintrin-common.h. + (x86_64-*-*): Ditto. + * config/i386/smmintrin.h: Move instructions in mmintrin-common.h + back to smmintrin.h. + * config/i386/cpuid.h: (bit_SSE5): Remove SSE5 bit. + * config/i386/x86intrin.h: Remove SSE5. + * config/i386/mmintrin-common.h: Delete file. + * doc/extend.texi (x86 intrinsics): Remove SSE5 flags and builtins. + +2009-09-29 Richard Guenther + + * alias.c (ao_ref_from_mem): Properly deal with off decl accesses + resulting from stack temporaries on STRICT_ALIGNMENT targets. + +2009-09-29 Nick Clifton + + * function.c (current_function_name): If there is no current + function just return "". + +2009-09-28 Sriraman Tallam + + * tree-pass.h (register_pass_info): New structure. + (pass_positioning_ops): Move enum from gcc-plugin.h. + (register_pass): New function. + * gcc-plugin.h (plugin_pass): Delete structure. + (pass_positioning_ops): Delete enum. + * plugin.c (regsiter_pass): Delete function. + (position_pass): Delete function. + (added_pass_nodes): Delete variable. + (prev_added_pass_nodes): Delete variable. + (pass_list_node): Delete structure. + * passes.c (make_pass_instance): New function. + (next_pass_1): Change to call make_pass_instance. + (pass_list_node): Move structure from gcc-plugin.h. + (added_pass_nodes): Move variable from plugin.c. + (prev_added_pass_nodes): Move variable from plugin.c. + (position_pass): New function. + (register_pass): New function. + +2009-09-28 Easwaran Raman + + * ifcvt.c (noce_try_abs): Recognize pattern and call + expand_one_cmpl_abs_nojump. + * optabs.c (expand_one_cmpl_abs_nojump): New function. + * optabs.h (expand_one_cmpl_abs_nojump): Declare. + +2009-09-28 Ian Lance Taylor + + PR middle-end/40500 + * c-opts.c (c_common_handle_option): Don't set + warn_jump_misses_init for -Wall. + * doc/invoke.texi (Warning Options): Update documentation. + +2009-09-28 Ralf Wildenhues + + * Makefile.in ($(out_object_file)): Depend on + gt-$(basename $(notdir $(out_file))).h. + +2009-09-28 Richard Henderson + + * except.h (struct eh_region_d): Add use_cxa_end_cleanup. + * except.c (gen_eh_region): Set it. + (duplicate_eh_regions_1): Copy it. + * tree-eh.c (lower_resx): Use it to determine which function + to call to resume. + + * langhooks.h (struct lang_hooks): Add eh_use_cxa_end_cleanup. + * langhooks-def.h (LANG_HOOKS_EH_USE_CXA_END_CLEANUP): New. + * builtins.def (BUILT_IN_CXA_END_CLEANUP): New. + * tree.c (build_common_builtin_nodes): Remove parameter. Build + BUILT_IN_CXA_END_CLEANUP if necessary. + + * c-common.c (c_define_builtins): Update call to + build_common_builtin_nodes. + +2009-09-28 Andrew Pinski + + * spu.c (get_branch_target): Return NULL for ASM_OPERANDS patterns. + +2009-09-28 Michael Matz + + * builtins.c (interclass_mathfn_icode): New helper. + (expand_builtin_interclass_mathfn): Use it here, and split folding + into ... + (fold_builtin_interclass_mathfn): ... this new folder. + (build_call_nofold_loc): New static helper. + (build_call_nofold): New wrapper macro for above. + (expand_builtin_int_roundingfn): Use it instead of build_call_expr. + (expand_builtin_pow): Ditto. + (expand_builtin_memset_args): Ditto. + (expand_builtin_printf): Ditto. + (expand_builtin_fprintf): Ditto. + (expand_builtin_sprintf): Ditto. + (expand_builtin_memory_chk): Ditto. + (expand_builtin_mempcpy_args): Ditto and don't call folders. + (expand_builtin_stpcpy): Ditto. + (expand_builtin_strcmp): Ditto. + (expand_builtin_strncmp): Ditto. + (expand_builtin_strcpy): Remove FNDECL and MODE arguments. + (expand_builtin_strcpy_args): Don't call folders. + (expand_builtin_memcmp): Ditto. + (expand_builtin_strncpy): Ditto, and use target. + (expand_builtin_memcpy): Ditto. + (expand_builtin_strstr, expand_builtin_strchr, expand_builtin_strrchr, + expand_builtin_strpbrk, expand_builtin_memmove, + expand_builtin_memmove_args, expand_builtin_bcopy, + expand_builtin_memchr, expand_builtin_strcat, expand_builtin_strncat, + expand_builtin_strspn, expand_builtin_strcspn, + expand_builtin_fputs): Remove these. + (expand_builtin): Don't call the above, change calls to other + expanders that changed prototype. + (fold_builtin_stpcpy): New folder split out from expand_builtin_stpcpy. + (fold_builtin_1 ): Call + fold_builtin_interclass_mathfn. + (fold_builtin_2 ): Call fold_builtin_stpcpy. + (fold_builtin_strcat): Add folding split from expand_builtin_strcat. + + * fold-const.c (fold_binary_loc ): Add !exp != 0 -> !exp. + * passes.c (init_optimization_passes): Move pass_fold_builtins + after last phiopt pass. + * tree-inline.c (fold_marked_statements): When folding builtins + iterate over all instruction potentially generated. + * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Declare + earlier. + (fold_gimple_call): Use it to always fold calls (into potentially + multiple instructions). + * tree-ssa-dom.c (optimize_stmt): Resolve __builtin_constant_p + calls into zero at this time. + * tree-ssa-propagate.c (substitute_and_fold): Ignore multiple + statements generated by builtin folding. + +2009-09-28 Nick Clifton + + * config/m32r/m32r.c (m32r_is_insn): Return false for debugging + insns. + +2009-09-28 Duncan Sands + + * gcc-plugin.h (PLUGIN_REGISTER_GGC_CACHES): New event. + * plugin.c (plugin_event_name): Add PLUGIN_REGISTER_GGC_CACHES. + (register_callback): Dispatch it. + (invoke_plugin_callbacks): Incorporate in sanity check. + * ggc.h (ggc_register_cache_tab): Add declaration. + * ggc-common.c (ggc_register_root_tab): Simplify. + (const_ggc_cache_tab_t): New typedef. + (extra_cache_vec): New vector of dynamically added cache tables. + (ggc_register_cache_tab): New function. + (ggc_scan_cache_tab): New function. + (ggc_mark_roots): Simplify dynamic roots. Handle dynamic caches. + * doc/plugins.texi: Document PLUGIN_REGISTER_GGC_CACHES. + +2009-09-27 Richard Henderson + + * tree-ssa-ccp.c (optimize_stack_restore): Relax the conditions under + which we remove __builtin_stack_restore. + +2009-09-27 Bernd Schmidt + + * loop-iv.c (iv_analyze_op): Use function_invariant_p, not CONSTANT_P, + to test for GRD_INVARIANT. + (simple_rhs_p): Anything that's function_invariant_p is fine. + +2009-09-27 Rafael Avila de Espindola + + * gengtype.c (main): Use plunge_files instead of plugin_output. + +2009-09-27 Basile Starynkevitch + Rafael Avila de Espindola + + * gengtype.c (write_root, write_roots): Add a emit_pch argument. + Don't print pch related info if it is false. + (main): Don't print pch info in plugin mode. + +2009-09-27 Eric Botcazou + + * dwarf2out.c (enum dw_val_class): Replace dw_val_class_long_long + with dw_val_class_const_double. + (struct dw_val_struct): Replace val_long_long with val_double and + adjust for above change. + (output_loc_operands): Likewise. + (add_AT_long_long): Rename into... + (add_AT_double): ...this. + (print_die): Replace dw_val_class_long_long with + dw_val_class_const_double and adjust. + (attr_checksum): Likewise. + (same_dw_val_p): Likewise. + (size_of_die): Likewise. + (value_format): Likewise. + (output_die): Likewise. + (loc_descriptor) : Likewise. + (add_const_value_attribute) : Call add_AT_double + instead of add_AT_long_long. + (add_bound_info) : Generate the bound as an unsigned + value with the precision of its type. + +2009-09-27 Andreas Schwab + + PR c/41476 + * c-typeck.c (build_conditional_expr): Use the readonly and + volatile flags of the operand types, not of the operands itself. + +2009-09-27 Peter O'Gorman + + collect2.c (main): Look for -brtl before adding libraries. + +2009-09-27 Jonathan Gray + + * config.gcc: Update OpenBSD targets. + * config/openbsd-stdint.h: New file. + * config/openbsd-libpthread.h: New file. + * config/openbsd.h: Update and break out LIB_SPEC definition. + * config/alpha/openbsd.h: Overhaul to reflect ELF migration. + * config/i386/openbsdelf.h: Correct types. + * config/m68k/openbsd.h: Likewise. + * config/mips/openbsd.h: Likewise. + * config/vax/openbsd.h: Likewise. + +2009-09-27 Eric Botcazou + + * fold-const.c (maybe_lvalue_p): Return false for M(IN|AX)_EXPR. + (extract_muldiv_1) : Swap operands if necessary. + * stor-layout.c (layout_type) : Do not take the maximum + of the length and zero. + +2009-09-27 Ralf Wildenhues + + * Makefile.in (TOPLEV_H): Use $(INPUT_H) not input.h. + (FLAGS_H): Add options.h $(REAL_H). + (SEL_SCHED_IR_H): Add $(BITMAP_H) vecprim.h $(CFGLOOP_H). + (TREE_VECTORIZER_H): New. + (EBITMAP_H): Renamed from EBIMAP_H. + (c-decl.o, c-objc-common.o, c-pretty-print.o, attribs.o, c-omp.o) + (gtype-desc.o, ggc-common.o, ggc-page.o, ggc-zone.o, langhooks.o) + (tree.o, tree-ssa-structalias.o, tree-ssa-ter.o, tree-ssanames.o) + (tree-phinodes.o, tree-ssa-loop.o, tree-ssa-math-opts.o) + (gimple-low.o, omp-low.o, sese.o, graphite-blocking.o) + (graphite-clast-to-gimple.o, graphite-dependences.o) + (graphite-interchange.o, graphite-poly.o, graphite-scop-detection.o) + (graphite-sese-to-poly.o, tree-vect-loop.o, tree-vect-loop-manip.o) + (tree-vect-patterns.o, tree-vect-slp.o, tree-vect-stmts.o) + (tree-vect-data-refs.o, tree-vectorizer.o, gimple.o, tree-mudflap.o) + (targhooks.o, stmt.o, emit-rtl.o, ipa.o, matrix-reorg.o, ipa-inline.o) + (gcse.o, tree-ssa-ccp.o, df-byte-scan.o, vec.o, caller-save.o) + (ira-build.o, ira-costs.o, ira-color.o, ira-emit.o, ira.o) + (haifa-sched.o, sched-rgn.o, sel-sched.o, sel-sched-dump.o) + (sel-sched-ir.o, final.o, $(out_object_file)): Dependencies + updated and fixed as per above changes and per + check_makefile_deps.sh output. + + PR bootstrap/40928 + * configure.ac: Use $LIBS for '-ldl', not $LDFLAGS. + * configure: Regenerate. + +2009-09-26 Kaveh R. Ghazi + + * doc/install.texi: Update minimum MPC version to 0.7. + +2009-09-26 Gerald Pfeifer + + * doc/install.texi (Binaries): Remove reference to the binary + distribution CD-ROM from the FSF. + +2009-09-26 Michael Matz + + PR lto/40758 + PR middle-end/41470 + * tree-ssa-coalesce.c (coalesce_ssa_name): Add only SSA names + that are mentioned in the body. + +2009-09-26 Michael Matz + + PR tree-optimization/41454 + * tree-ssa-dom (stmts_to_rescan): Remove variable. + (tree_ssa_dominator_optimize): Don't allocate and free it. + (dom_opt_leave_block): Don't iterate over it. + (eliminate_redundant_computations): Don't return a value. + (cprop_operand, cprop_into_stmt): Ditto. + (optimize_stmt): Don't defer updating stmts. + +2009-09-25 Dodji Seketeli + + * dwarf2out.c (dwarf_tag_name, gen_generic_params_dies, + generic_parameter_die, template_parameter_pack_die, + gen_formal_parameter_die, gen_subprogram_die): Adjust after renaming + DW_TAG_formal_parameter_pack and DW_TAG_template_parameter_pack into + DW_TAG_GNU_formal_parameter_pack and DW_TAG_GNU_template_parameter_pack. + +2009-09-25 Anatoly Sokolov + + * config/v850/v850.h (FUNCTION_VALUE): Remove. + * config/v850/v850.c (v850_function_value): New function. + (TARGET_FUNCTION_VALUE): Define. + +2009-09-25 Jakub Jelinek + + * tree-vect-stmts.c (vectorizable_call): Call + mark_symbols_for_renaming after vect_finish_stmt_generation. + + * dwarf2out.c (tls_mem_loc_descriptor): Pass 1 instead of 2 + to loc_descriptor_from_tree. + (add_location_or_const_value_attribute): Pass 0 instead of 2 + for decl_by_reference_p decls. + +2009-09-25 Richard Guenther + + PR middle-end/41463 + * tree-dfa.c (get_ref_base_and_extent): Fix issue with trailing + arrays again. + +2009-09-25 Ben Elliston + + * doc/invoke.texi (RS/6000 and PowerPC Options): Add missing comma + after `power7'. + +2009-09-25 Alan Modra + + * config/rs6000/rs6000.md (load_toc_v4_PIC_3c): Correct POWER + form of instruction. + +2009-09-24 Kaveh R. Ghazi + + PR middle-end/41435 + * fold-const.c (const_binop): Handle complex int division. + * tree-complex.c (expand_complex_div_straight, + expand_complex_div_wide): Update comments. + +2009-09-24 DJ Delorie + + PR target/41456 + * config/m32c/m32c.h (REG_CLASS_CONTENTS): Add R13. + (reg_class): Likewise. + (REG_CLASS_NAMES): Likewise. + * config/m32c/m32c.c (m32c_reg_class_from_constraint): Likewise. + + * config/m32c/m32c.c (m32c_override_options): Disable -fivopts for + M32C. + +2009-09-24 Michael Meissner + + * config/rs6000/predicates.md (indexed_or_indirect_operand): + Delete VSX load/store with update support. + * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Ditto. + * config/rs6000/vsx.md (vsx_mov): Ditto. + (vsx_movti): Ditto. + (VSX_U): Delete. + (VSbit): Ditto. + (VStype_load_update): Ditto. + (VStype_store_update): Ditto. + (vsx_load_update_): Ditto. + (vsx_store_update_): Ditto. + + * config/rs6000/rs6000.h (enum rs6000_builtins): Delete VSX + load/store with update builtins. + +2009-09-24 Kai Tietz + + * libgcc2.c (L_trampoline): Prototype for getpagesize + and mprotect in WINNT case. + +2009-09-24 Anatoly Sokolov + + * config/rs6000/rs6000.h (FUNCTION_VALUE): Remove macro. + * config/rs6000/rs6000-protos.h (rs6000_function_value): Remove. + * config/rs6000/rs6000.c (rs6000_function_value): Make static, add + 'outgoing' argument. + (TARGET_FUNCTION_VALUE): Define. + +2009-09-24 Iain Sandoe + + * config/darwin.h (DWARF2_DEBUGGING_INFO): Define as 1. + +2009-09-24 Iain Sandoe + + PR bootstrap/41405 + * common.opt: Initialize dwarf_strict to -1. + * toplev.c (process_options): Catch unset dwarf_strict + and set to 0 for all targets not overriding. + * config/darwin.c (darwin_override_options): Catch unset + dwarf_strict and override to 1. + +2009-09-24 Jeff Law + + * tree-into-ssa.c (rewrite_into_ssa): Free interesting_blocks. + +2009-09-24 Richard Guenther + + PR tree-optimization/36143 + PR tree-optimization/38747 + * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only + create VIEW_CONVERT_EXPRs for TBAA compatible accesses. + +2009-09-24 Jakub Jelinek + + PR bootstrap/41457 + * dwarf2out.c (add_const_value_attribute): For HIGH and CONST_FIXED, + return false instead of gcc_unreachable (). For CONST return the + value returned by recursive call instead of always returning true. + (tree_add_const_value_attribute): Return the value returned by + add_const_value_attribute instead of always returning true if rtl + is non-NULL. + +2009-09-23 Justin Seyster + + * Makefile.in (PLUGIN_HEADERS): Include real.h. + +2009-09-24 Jakub Jelinek + + * cgraphunit.c (cgraph_lower_function): Revert last change. + * targhooks.c (default_static_chain): Use !DECL_STATIC_CHAIN + instead of DECL_NO_STATIC_CHAIN. + * tree-cfg.c (verify_gimple_call): Likewise. + * tree-nested.c (get_chain_decl, get_chain_field, + convert_tramp_reference_op, convert_gimple_call): Likewise. + (convert_all_function_calls): Likewise. Always set or clear + DECL_STATIC_CHAIN initially, for !n->outer clear it. + (lower_nested_functions): Remove DECL_NO_STATIC_CHAIN checking code. + * c-parser.c (c_parser_declaration_or_fndef): Set DECL_STATIC_CHAIN + if nested. + * print-tree.c (print_node): Handle DECL_STATIC_CHAIN instead of + DECL_NO_STATIC_CHAIN. + * config/i386/i386.c (ix86_static_chain): Use !DECL_STATIC_CHAIN + instead of DECL_NO_STATIC_CHAIN. + (ix86_function_regparm, find_drap_reg): Likewise. Don't test + decl_function_context. + * varasm.c (initializer_constant_valid_p): Likewise. + * tree.h (DECL_NO_STATIC_CHAIN): Renamed to ... + (DECL_STATIC_CHAIN): ... this. + * config/moxie/moxie.c (moxie_static_chain): Use !DECL_STATIC_CHAIN + instead of DECL_NO_STATIC_CHAIN. + +2009-09-23 Basile Starynkevitch + Rafael Avila de Espindola + + * gengtype.c (nb_plugin_files): Make it unsigned to match + num_gt_files. Adjust other variables to avoid warnings. + (main): Allocate an all zero lang_bitmap before each plugin file name + to match regular file names. + +2009-09-23 Richard Henderson + + * doc/tm.texi (STATIC_CHAIN, STATIC_CHAIN_INCOMING): Remove. + (TARGET_STATIC_CHAIN): Mention that this hook must be used for + static chain passed in memory. + * system.h (STATIC_CHAIN, STATIC_CHAIN_INCOMING): Poison. + * targhooks.c (default_static_chain): Don't handle STATIC_CHAIN, + STATIC_CHAIN_INCOMING. Issue a sorry if there's no + STATIC_CHAIN_REGNUM defined. + + * config/picochip/picochip-protos.h: s/class/klass/. + * config/picochip/picochip.c (TARGET_STATIC_CHAIN): New. + (picochip_static_chain): New. + * config/picochip/picochip.h (STATIC_CHAIN): Remove. + (STATIC_CHAIN_INCOMING): Remove. + + * config/xtensa/xtensa.c (TARGET_STATIC_CHAIN): New. + (xtensa_static_chain): New. + * config/xtensa/xtensa.h (STATIC_CHAIN, STATIC_CHAIN_INCOMING): Remove. + +2009-09-23 Anatoly Sokolov + + * config/pa/pa.h (FUNCTION_VALUE): Remove macro. + * config/pa/pa-protos.h (function_value): Remove. + * config/pa/pa.c (pa_function_value): Rename from function_value. + Make static, add 'outgoing' argument. + (TARGET_FUNCTION_VALUE): Define. + +2009-09-23 Anatoly Sokolov + + * config/avr/avr.c (avr_regs_to_save): Use current_function_is_leaf + instead of cfun->machine->is_leaf. + * config/avr/avr.h (machine_function): Remove is_leaf field. + +2009-09-23 Jakub Jelinek + + PR debug/41439 + * dwarf2out.c (address_of_int_loc_descriptor): Don't emit + DW_OP_piece after DW_OP_stack_value, adjust size calculations + for it, when DW_OP_stack_value and DW_OP_implicit_value has + the same size, prefer DW_OP_stack_value. + (loc_descriptor, loc_list_for_address_of_addr_expr_of_indirect_ref, + loc_list_from_tree): Don't emit DW_OP_piece after DW_OP_stack_value. + +2009-09-23 Alexandre Oliva + + PR debug/41353 + * var-tracking.c (add_with_sets): Sort MO_VAL_LOC last among uses. + +2009-09-23 Alexandre Oliva + + PR debug/41248 + * cfgexpand.c (convert_debug_memory_address): New. + (expand_debug_expr): Convert base address and offset to the same + mode. Use it to convert addresses to other modes. Accept + ptr_mode addresses. + +2009-09-23 Richard Guenther + + * alias.c (ao_ref_from_mem): Correct for negative MEM_OFFSET + produced for bigendian targets with promoted subregs. + +2009-09-23 Richard Guenther + + * value-prof.c (gimple_ic): Purge old EH edges only after building + the new ones. + +2009-09-23 Nick Clifton + + * config/arc/arc.c (arc_trampoline_init): Fix typo. + +2009-09-23 Jakub Jelinek + + PR bootstrap/41405 + * doc/invoke.texi: Document -gstrict-dwarf and -gno-strict-dwarf. + + PR bootstrap/41436 + * cgraphunit.c (cgraph_lower_function): Set DECL_NO_STATIC_CHAIN + on non-nested functions. + +2009-09-23 Jakub Jelinek + Jan Hubicka + + * dwarf2out.c (loc_list_plus_const): Only define if + DWARF2_DEBUGGING_INFO. + (address_of_int_loc_descriptor): Likewise. + + PR debug/41411 + * dwarf2out.c (mem_loc_descriptor): Handle HIGH. + +2009-09-23 Uros Bizjak + + PR c/39779 + * c-typeck.c (build_binary_op) : Check that integer + constant is more than zero. + +2009-09-23 Alan Modra + + PR target/40473 + * config/rs6000/rs6000.c (rs6000_output_function_prologue): Don't + call final to emit non-scheduled prologue, instead insert at entry. + +2009-09-22 Loren J. Rittle + Joseph S. Myers + + * doc/install.texi (*-*-freebsd*): Add proper format codes. + +2009-09-22 Basile Starynkevitch + Rafael Avila de Espindola + + * gengtype.c (is_file_equal): New function. + (close_output_files): Use is_file_equal. Free of->buf. + +2009-09-22 Basile Starynkevitch + Rafael Avila de Espindola + + * gengtype.c (write_types, write_local): Add the output_header + argument. Update all callers. + +2009-09-22 Dodji Seketeli + + * dwarf2out.c (template_parameter_pack_die, + gen_formal_parameter_pack_die ): New functions. + (make_ith_pack_parameter_name): Remove this function. + (dwarf_tag_name): Support printing DW_TAG_template_parameter_pack and + DW_TAG_formal_parameter_pack. + (gen_generic_params_dies): Represent each template parameter pack + by a DW_TAG_template_parameter_pack DIE. Argument pack elements are + represented by usual DW_TAG_template_*_parameter DIEs that are + children of the DW_TAG_template_parameter_pack element DIE. + (generic_parameter_die): This doesn't deal with parameter pack + names anymore. Don't generate DW_AT_name for some DIEs, e.g. children + of parameter pack DIEs. + (gen_formal_parameter_die): Add a flag to not emit DW_AT_name + in certain cases, e.g. for pack elements. + (gen_formal_types_die, gen_decl_die): Adjust usage of + gen_formal_parameter_die. + (gen_subprogram_die): Represent each function parameter pack by a + DW_TAG_formal_parameter_pack DIE. Arguments of of the pack are + represented by usual DW_TAG_formal_parameter DIEs that are children + of the DW_TAG_formal_parameter_pack DIE. Remove references to + ____builtin_va_alist decls as no part of the compiler uses those + anymore. + * langhooks.h (struct lang_hooks_for_decls): Add + function_parm_expanded_from_pack_p, get_generic_function_decl + and function_parameter_pack_p hooks. Fix comment for + get_innermost_generic_parms hook. + * langhooks-def.h (LANG_HOOKS_FUNCTION_PARAMETER_PACK_P, + LANG_HOOKS_FUNCTION_PARM_EXPANDED_FROM_PACK_P ): Declare new hook + macros and use them to initialize lang_hook. + +2009-09-22 Richard Henderson + + * system.h (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Poison. + (TRAMPOLINE_ADJUST_ADDRESS): Poison. + * target-def.h (TARGET_ASM_TRAMPOLINE_TEMPLATE): Don't conditionalize + on TRAMPOLINE_TEMPLATE. + (TARGET_TRAMPOLINE_ADJUST_ADDRESS): Don't conditionalize on + TRAMPOLINE_ADJUST_ADDRESS. + * targhooks.c (default_asm_trampoline_template): Remove. + (default_trampoline_adjust_address): Remove. + (default_trampoline_init): Don't handle INITIALIZE_TRAMPOLINE. + * targhooks.h: Update decls. + 2009-09-22 Dave Korn * config/i386/cygming.h (TARGET_USE_JCR_SECTION): Enable. @@ -10,10 +879,6 @@ * reload1.c (reload): Reset debug insns with pseudos without equivalences. -2009-09-22 Neil Vachharajani - - * testsuite/gcc.dg/pr40209.c: Add test case. - 2009-09-22 Janis Johnson * config/i386/i386.c (ix86_scalar_mode_supported_p): Don't return @@ -102,7 +967,8 @@ (INITIALIZE_TRAMPOLINE): Move code to arm_trampoline_init; adjust for target hook parameters. - * config/avr/avr.h (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Remove. + * config/avr/avr.h (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): + Remove. * config/bfin/bfin-protos.h (initialize_trampoline): Remove. * config/bfin/bfin.c (bfin_asm_trampoline_template): New. @@ -179,7 +1045,7 @@ (TARGET_TRAMPOLINE_INIT): New. (mcore_function_value): Fix typo. (mcore_asm_trampoline_template, mcore_trampoline_init): New. - * config/mcore/mcore.h (TRAMPOLINE_TEMPLATE): Move code + * config/mcore/mcore.h (TRAMPOLINE_TEMPLATE): Move code to mcore_asm_trampoline_template. (INITIALIZE_TRAMPOLINE): Move code to mcore_trampoline_init. @@ -452,8 +1318,8 @@ 2009-09-21 Giuseppe Scrivano - * tree-tailcall.c (process_assignment): Don't check if a multiplication - or an addition are already present. + * tree-tailcall.c (process_assignment): Don't check if a + multiplication or an addition are already present. (find_tail_calls): Combine multiple additions and multiplications. (adjust_accumulator_values): Emit accumulators. @@ -489,7 +1355,8 @@ 2009-09-20 Jan Hubicka * dwarf2out.c (add_const_value_attribute): Return true if successful. - (add_location_or_const_value_attribute): Rewrite using loc_list_from_tree. + (add_location_or_const_value_attribute): Rewrite using + loc_list_from_tree. (tree_add_const_value_attribute): Return true if successful. (tree_add_const_value_attribute_for_decl): Likewise. @@ -587,8 +1454,7 @@ * configure: Regenerate. * doc/invoke.texi (Option Summary): Add -mrelax-pic-calls and -mno-relax-pic-calls. - (MIPS Options): Document -mrelax-pic-calls - and -mno-relax-pic-calls. + (MIPS Options): Document -mrelax-pic-calls and -mno-relax-pic-calls. 2009-09-19 Ralf Wildenhues @@ -631,7 +1497,6 @@ INTERESTING_STRINGOP_TO_PROFILE_P to find size argument. * value-prof.c (gimple_stringops_transform): Update call sites to INTERESTING_STRINGOP_TO_PROFILE_P to reflect parameter change. - * testsuite/gcc.dg/tree-prof/val-prof-7.c: Added test case. 2009-09-18 Uros Bizjak @@ -1601,7 +2466,7 @@ * doc/install.texi (avr): Remove obsolete reference site. 2009-09-12 Gerald Pfeifer - + * doc/install.texi (Binaries): Adjust AIX link. 2009-09-12 Akim Demaille @@ -5360,12 +6225,6 @@ (graphite_carried_dependence_level_k): Free unused objects before returning. - * testsuite/gcc.dg/graphite/interchange-1.c: XFAILed. - * testsuite/gcc.dg/graphite/interchange-2.c: XFAILed. - * testsuite/gcc.dg/graphite/interchange-3.c: XFAILed. - * testsuite/gcc.dg/graphite/interchange-4.c: XFAILed. - * testsuite/gcc.dg/graphite/interchange-7.c: XFAILed. - 2009-08-12 Sebastian Pop * graphite-blocking.c (scop_do_strip_mine): Call store_scattering. @@ -12019,8 +12878,6 @@ * config/m68k/linux.h (HAVE_GAS_BALIGN_AND_P2ALIGN): Move to ... * config/m68k/m68k.h: ... here. - * testsuite/gcc.dg/falign-labels.c (dg-options): Don't restrict for - m68k and fido. 2009-06-03 Martin Jambor @@ -20674,8 +21531,6 @@ PR target/39501 * arm.md (movsfcc): Disable if not TARGET_HARD_FLOAT. - * testsuite/gcc.c-torture/execute/pr39501.c: New file. - * testsuite/gcc.c-torture/execute/pr39501.x: New file. 2009-04-04 Richard Guenther @@ -24735,7 +25590,6 @@ (struct scop): Remove bbs_b bitmap and loop2cloog_loop. (loop_domain_dim, loop_iteration_vector_dim): Remove. (SCOP_BBS_B, bb_in_scop_p, loop_in_scop_p): Removed. - * testsuite/gcc.dg/graphite/scop-19.c: New 2009-02-04 Paolo Bonzini Hans-Peter Nilsson @@ -25772,7 +26626,6 @@ PR middlend/38385 * tree-loop-distribution.c (prop_phis): New function. (generate_builtin): Call prop_phis. - * testsuite/gcc.dg/tree-ssa/pr38385.c: New file. 2009-01-12 Jakub Jelinek