From: ian Date: Fri, 28 May 2010 21:48:47 +0000 (+0000) Subject: Fix erroneous duplication. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=39616bce6d02ab579efdf219030d6e39b78961ab;p=thirdparty%2Fgcc.git Fix erroneous duplication. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159999 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4dfc884183a7..fcd370972e96 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -11846,11639 +11846,6 @@ Copyright (C) 2010 Free Software Foundation, Inc. -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. - - PR bootstrap/44299 - * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine. - * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise. - -2010-05-27 Joseph Myers - - * diagnostic-core.h: New. Contents moved from diagnostic.h and - toplev.h. - * diagnostic.c: Don't include toplev.h. - (progname): Define. Moved from toplev.c. - (seen_error): New function. - * diagnostic.h: Include diagnostic-core.h. - (diagnostic_t, emit_diagnostic): Don't declare here. - * toplev.c (progname): Move to toplev.c. - (emit_debug_global_declarations, compile_file, finalize, - do_compile, toplev_main): Use seen_error. - * toplev.h: Include diagnostic-core.h. - (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG, - internal_error, warning, warning_at, error, error_n, error_at, - fatal_error, pedwarn, permerror, sorry, inform, inform_n, - verbatim, fnotice, progname): Move to diagnostic-core.h. - * builtins.c: Include diagnostic-core.h instead of diagnostic.h. - (expand_builtin_expect): Use seen_error. - * c-decl.c: Include diagnostic-core.h instead of diagnostic.h. - (c_make_fname_decl, c_write_global_declarations): Use seen_error. - * c-format.c: Include diagnostic-core.h instead of diagnostic.h. - * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h. - * c-lang.c: Include diagnostic-core.h instead of diagnostic.h. - * c-lex.c (c_lex_with_flags, interpret_float): Don't increment - errorcount for errors. - * c-opts.c (c_common_finish): Use seen_error. - * cgraph.c: Include diagnostic-core.h instead of diagnostic.h. - * cgraphunit.c (verify_cgraph_node, verify_cgraph, - cgraph_output_pending_asms, cgraph_optimize): Use seen_error. - * coverage.c: Include diagnostic-core.h instead of diagnostic.h. - (get_coverage_counts): Use seen_error. - * dwarf2out.c (dwarf2out_finish): Use seen_error. - * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup, - gimplify_body): Use seen_error. - * ipa-inline.c (cgraph_early_inlining): Use seen_error. - * ipa-pure-const.c (gate_pure_const): Use seen_error. - * ipa-reference.c (gate_reference): Use seen_error. - * jump.c: Include diagnostic-core.h instead of diagnostic.h. - * lambda-code.c: Include diagnostic-core.h instead of - diagnostic.h. - * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h. - * lto-compress.c: Include diagnostic-core.h instead of - diagnostic.h. - * lto-section-in.c: Include diagnostic-core.h instead of - diagnostic.h. - * lto-streamer-out.c: Include diagnostic-core.h instead of - diagnostic.h. - * lto-streamer.c: Include diagnostic-core.h instead of - diagnostic.h. - (gate_lto_out): Use seen_error. - * matrix-reorg.c: Include diagnostic-core.h instead of - diagnostic.h. - * omega.c: Include diagnostic-core.h instead of diagnostic.h. - * omp-low.c: Include diagnostic-core.h instead of diagnostic.h. - (gate_expand_omp, lower_omp_1): Use seen_error. - * passes.c: Include diagnostic-core.h instead of diagnostic.h. - (rest_of_decl_compilation, rest_of_type_compilation, - gate_rest_of_compilation, ipa_write_summaries): Use seen_error. - * tree-cfg.c (label_to_block_fn): Use seen_error. - * tree-inline.c (optimize_inline_calls): Use seen_error. - * tree-mudflap.c (mudflap_finish_file): Use - seen_error. - * tree-optimize.c (gate_all_optimizations, - gate_all_early_local_passes, gate_all_early_optimizations): Use - seen_error. - * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error. - * varpool.c: Include diagnostic-core.h instead of diagnostic.h. - (varpool_remove_unreferenced_decls, - varpool_assemble_pending_decls): Use seen_error. - * Makefile.in (DIAGNOSTIC_CORE_H): Define. - (TOPLEV_H, DIAGNOSTIC_H): Update. - (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o, - lto-streamer-out.o, lto-section-in.o, lto-streamer.o, - c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o, - builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o, - coverage.o, lambda-code.o): Update dependencies. - -2010-05-25 Dodji Seketeli - - PR c++/44188 - * c-common.c (is_typedef_decl): Move this definition ... - * tree.c (is_typedef_decl): ... here. - (typdef_variant_p): Move definition here from gcc/cp/tree.c. - * c-common.h (is_typedef_decl): Move this declaration ... - * tree.h (is_typedef_decl): ... here. - (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h - * dwarf2out.c (is_naming_typedef_decl): New function. - (gen_tagged_type_die): Split out of ... - (gen_type_die_with_usage): ... this function. When an anonymous - tagged type is named by a typedef, make sure a DW_TAG_typedef DIE - is emitted for the typedef. - (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming - anonymous tagged types. - -2010-05-27 Jason Merrill - - * print-tree.c (debug_vec_tree): New fn. - (print_vec_tree): New fn. - * tree.h: Declare them. - * gdbinit.in (pvt): New command. - - * print-tree.c (print_node) [TREE_VEC]: Print elements normally. - - * gdbinit.in (pdd): New command. - -2010-05-27 Jan Hubicka - - * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline. - (update_caller_keys): Return early if there are no callers; - only update fibheap when decresing the key. - (update_callee_keys): Avoid recursion. - (decide_inlining_of_small_functions): When badness does not match; - re-insert into fibheap. - -2010-05-27 Steven Bosscher - - * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS. - (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects. - (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects. - (ALL_HOST_OBJS): Now a union of the above two. -
: Add -DIN_GCC_FRONTEND for - all files in ALL_HOST_FRONTEND_OBJS. - * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined. - - * c-common.c: Pretend to be a backend file by undefining - IN_GCC_FRONTEND (still need rtl.h here). - -2010-05-27 Jan Hubicka - - * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)). - * cgraphunit.c (clone_of_p): Compile only when checking is enabled. - -2010-05-27 Jan Hubicka - - * sched-ebb.c: Rename struct deps to struct deps_desc. - * ddg.c: Likewise. - * sel-sched-ir.c: Likewise. - * sched-deps.c: Likewise. - * sched-int.h: Likewise. - * sched-rgn.c: Likewise. - -2010-05-27 Jon Beniston - - PR 43726 - * config/lm32/lm32.h: Remove definition of - GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year. - -2010-05-27 Eric Botcazou - - PR lto/44230 - * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message. - -2010-05-27 Richard Guenther - - PR tree-optimization/44284 - * tree-vect-stmts.c (vectorizable_assignment): Handle - sign-changing conversions as simple copy. - -2010-05-27 Maxim Kuvyrkov - - * gthr-posix.h (pthread_cancel): Don't declare if compiling against - Bionic C library. - (__gthread_active_p): Check for pthread_create if compiling against - Bionic C library. - -2010-05-27 Maxim Kuvyrkov - - Support compilation for Android platform. Reimplement -mandroid. - - * config.gcc (*linux*): Include linux-android.h and linux-android.opt. - (*android*): Set ANDROID_DEFAULT. - (arm*-*-linux*): Include linux-android.h. - (arm*-*-eabi*): Don't include previous -mandroid implementation. - * config/arm/eabi.h: Remove, move Android-specific parts ... - * config/linux-android.h: ... here. New file. - * config/arm/eabi.opt: Rename to ... - * config/linux-android.opt: ... this. - (mandroid): Allow -mno-android option. Initialize based on - ANDROID_DEFAULT. - * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC): - Move logic to corresponding LINUX_TARGET_* macros. - (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate. - * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,) - (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and - Android definitions. - (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID. - * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld): - Document. - -2010-05-27 Maxim Kuvyrkov - - Add support for Bionic C library - - * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define - macro. - (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*. - (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update. - - * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define. - (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC. - (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier - to support multiple C libraries. Handle Bionic. - (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,) - (BIONIC_DYNAMIC_LINKER64): Define. - (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): - Update. - (TARGET_HAS_SINCOS): Enable for Bionic. - - * config/linux.opt: Rewrite to handle more than 2 C libraries. Make - the last option specified on command line take effect. - (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC. - (mbionic): New. - (mglibc, muclibc): Update. - - * config/alpha/linux-elf.h, config/rs6000/linux64.h, - * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use - DEFAULT_LIBC. - - * doc/invoke.texi (-mglibc, -muclibc): Update. - (-mbionic): Document. - -2010-05-27 Ulrich Weigand - - * c-common.h (c_register_addr_space): Add prototype. - (ADDR_SPACE_KEYWORD): Remove. - * c-common.c (c_register_addr_space): New function. - (c_addr_space_name): Reimplement. - (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS. - - * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove. - (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space. - - * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space. - Remove TARGET_ADDR_SPACE_KEYWORDS. - -2010-05-27 Joseph Myers - - * input.c: New file. - * input.h (main_input_filename): Move declaration to toplev.h. - * toplev.c (input_location, line_table): Move to input.c - * toplev.h (main_input_filename): Move declaration from input.h. - * tree.c (expand_location): Move to input.c. - * Makefile.in (OBJS-common): Add input.o. - (input.o): Add dependencies. - -2010-05-27 Richard Guenther - - * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure - for non-existant files. - (fork_execute): Mark args_name file as deleted. - -2010-05-27 Kai Tietz - - PR bootstrp/44287 - * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE. - (narrow_signed_type): Likewise. - -2010-05-26 Jan Hubicka - - * cgraphunit.c (verify_cgraph_node): Do checking that DECL match - edge only when checking is enabled; check using former_clone_of; - check inline clones too. - (cgraph_materialize_clone): Record former_clone_of pointer. - (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not - combining redirections; dump args_to_skip bitmap - (cgraph_materialize_all_clones): Do no redirection here. - * ipa-inline.c (inline_transform): Do redirection here. - * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled - cheking only). - -2010-05-26 Steven Bosscher - - * config/avr/avr-c.c: Do not include regs.h. - Include cpplib.h for cpp_define and tree.h for c-common.h. - * config/avr/avr-devices.c (avr_mcu_types): Fix initializer. - * config/avr/t-avr: Fix dependencies for avr-c.o. - -2010-05-26 Steven Bosscher - - * explow.c (set_stack_check_libfunc): Adjust to accept name as a - string instead of SYMBOL_REF rtx. - * rtl.h (set_stack_check_libfunc): Move prototype from here... - * libfuncs.h: ...to here. Adjust for explow.c change. - -2010-05-26 Joseph Myers - - * pretty-print.c: Don't include ggc.h. - (identifier_to_locale_alloc, identifier_to_locale_free): Define. - (identifier_to_locale): Use them for allocation. - * pretty-print.h (identifier_to_locale_alloc, - identifier_to_locale_free): Declare. - * toplev.c (alloc_for_identifier_to_locale): New. - (general_init): Set identifier_to_locale_alloc and - identifier_to_locale_free. - * Makefile.in (pretty-print.o): Update dependencies. - -2010-05-26 Eric Botcazou - - * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and - pointer types if they have different alignment or mode. - -2010-05-26 Anatoly Sokolov - - * config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE, - LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros. - * config/sparc/sparc-protos.h (function_value): Remove declaration. - * config/sparc/sparc.c (sparc_function_value, sparc_libcall_value, - sparc_function_value_regno_p): New functions. - (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE, - TARGET_FUNCTION_VALUE_REGNO_P): Define. - (function_value): Rename to... - (sparc_function_value_1): ... this. Make static. Change 'incoming_p' - argument to 'outgoing'. - (function_arg_record_value, function_arg_union_value, - function_arg_vector_value): Update comment. - -2010-05-26 Eric Botcazou - - * dwarf2out.c (struct dw_fde_struct): Reorder flags. - (fde_needed_for_eh_p): New predicate. - (output_call_frame_info): Use it throughout to decide whether FDEs - are needed for EH purpose. - (dwarf2out_begin_prologue): Reorder assignments. - -2010-05-26 Sebastian Pop - - * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not - special case loop->header. - (is_predicated): New. - (if_convertible_loop_p): Call it. - -2010-05-26 Sebastian Pop - - * tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet - iterator in parameter. Do not generate code during the analysis. - (tree_if_convert_cond_stmt): Removed. - (tree_if_convert_stmt): Removed. - (predicate_bbs): New. - (if_convertible_loop_p): Call predicate_bbs. - (tree_if_conversion): Simplify the top-level logic as predicate_bbs - now contains all the analysis part. - -2010-05-26 Sebastian Pop - - * tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove - statements in the analysis part. - (tree_if_convert_stmt): Update comment. - (remove_conditions_and_labels): New. - (combine_blocks): Call remove_conditions_and_labels. - (tree_if_conversion): Update comment. - -2010-05-26 Sebastian Pop - - * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more - than 2 predecessors or more than 2 successors. - -2010-05-26 Sebastian Pop - - * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion - of loops in which the data dependence analysis fails. - -2010-05-26 Sebastian Pop - - * tree-if-conv.c (if_convertible_loop_p): Do not compute/free - CDI_POST_DOMINATORS. - (tree_if_conversion): Same. - -2010-05-26 Sebastian Pop - - * tree-if-conv.c (tree_if_conversion): Do not return a bool. - -2010-05-26 Sebastian Pop - - * tree-if-conv.c: Update copyright years. Fix comments. - Fix indentation. - -2010-05-26 Kai Tietz - - * builtin-types.def (BT_INT128): New primitive type. - (BT_UINT128): Likewise. - * c-common.c (c_common_r): Add __int128 keyword. - (c_common_type_for_size): Handle __int128. - (c_common_type_for_mode): Likewise. - (c_common_signed_or_unsigned_type): Likewise. - (c_common_nodes_and_builtins): Add builtin type - if target supports 128-bit integer scalar. - * c-common.h (enum rid): Add RID_INT128. - * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__ - if target supports 128-bit integer scalar. - * c-decl.c (declspecs_add_type): Handle new keyword __int128. - (finish_declspecs): Likewise. - * c-parser.c (c_token_starts_typename): Handle RID_INT128. - (c_token_starts_declspecs): Likewise. - (c_parser_declspecs): Likewise. - (c_parser_attributes): Likewise. - (c_parser_objc_selector): Likewise. - * c-pretty-print.c (pp_c_integer_constant): Handle __int128. - * c-tree.h (enum c_typespec_keyword): Add cts_int128. - * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types. - * tree.c (make_or_reuse_type): Likewise. - (make_unsigned_type): Likewise. - (build_common_tree_nodes_2): Likewise. - * tree.h (enum integer_type_kind): Add itk_int128 and - itk_unsigned_int128. - (int128_integer_type_node): New define. - (int128_unsigned_type_node): New define. - * doc/extend.texi: Add documentation about __int128 type. - -2010-05-26 Richard Guenther - - * tree-ssa-sccvn.c (copy_nary): Adjust. - (copy_phis): Rename to ... - (copy_phi): ... this. Adjust. - (copy_references): Rename to ... - (copy_reference): ... this. Adjust. - (process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the - result into the valid table. - -2010-05-26 Steven Bosscher - - * config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h, - insn-config.h, insn-codes.h, recog.h, and optabs.h. - -2010-05-26 Laurynas Biveinis - - * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove. - -2010-05-26 Richard Guenther - - * opts.c (common_handle_option): Handle OPT_Ofast. - -2010-05-26 Joseph Myers - - * diagnostic.c: Don't include opts.h. - (permissive_error_option): Define. - (diagnostic_initialize): Take n_opts parameter. Allocate memory - for classify_diagnostic. Don't use memset for - classify_diagnostic. Initialize new and recently added fields. - (diagnostic_classify_diagnostic): Use context->n_opts instead of - N_OPTS. - (diagnostic_report_diagnostic): Pass context parameter to - diagnostic_report_warnings_p. Use option_enabled and option_name - hooks from context. - (emit_diagnostic): Use permissive_error_option. - (permerror): Likewise. - * diagnostic.h: Don't include options.h. - (struct diagnostic_context): Add n_opts, opt_permissive, - inhibit_warnings, warn_system_headers, option_enabled and - option_name fields. Change classify_diagnostic to a pointer. - * opts-diagnostic.h: New file. - * opts.c: Include opts-diagnostic.h. - (common_handle_option): Set global_dc fields for -Wfatal-errors, - -Wsystem-headers, -fshow-column, -pedantic-errors and -w. - (option_name): New function. - * c-opts.c (c_common_init_options): Set global_dc->opt_permissive. - (c_common_handle_option): Set global_dc->permissive for - -fpermissive. - * c-common.c (c_cpp_error): Save and restore - global_dc->warn_system_headers, not variable warn_system_headers. - * toplev.c: Include opts-diagnostic.h. - (general_init): Update call to diagnostic_initialize. Set - global_dc->show_column, global_dc->option_enabled and - global_dc->option_name. - (process_options): Don't set global_dc fields here. - * Makefile.in (DIAGNOSTIC_H): Remove options.h. - (diagnostic.o, opts.o, toplev.o): Update dependencies. - -2010-04-30 Hariharan Sandanagobalane - - * config/picochip/picochip.md (movsi): Split a movsi from a - const after reload. - -2010-05-26 Laurynas Biveinis - - * ggc-zone.c: Update copyright year. - (poison_region): Mark memory for Valgrind as undefined before - memset () call and inaccessible afterwards. - (ggc_pch_total_size): Change type of i to int. - -2010-05-26 Laurynas Biveinis - - * ggc-common.c (ggc_free_overhead): Allow empty slot. - -2010-05-26 Laurynas Biveinis - - * ggc-common.c: Update copyright year. - (ggc_rlimit_bound): Remove prototype. Compile only if - !ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT. - (ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING - && !ENABLE_GC_ALWAYS_COLLECT. Make static. - (ggc_min_heapsize_heuristic): Likewise. - -2010-05-26 Richard Guenther - - PR rtl-optimization/44164 - * tree-ssa-alias.c (aliasing_component_refs_p): Fix the - no-common access-path disambiguation. - (indirect_ref_may_alias_decl_p): Adjust. - (indirect_refs_may_alias_p): Likewise. - (refs_may_alias_p_1): Likewise. - -2010-05-26 Steven Bosscher - - * c-typeck.c: Do not include expr.h. - -2010-05-26 Steven Bosscher - - * rtl.h (decl_default_tls_model): Move prototype from here... - * output.h: ...to here. - * c-decl.c: Do not include rtl.h. - * c-pragma.c: Likewise. - * c-parser.c: Likewise. - * c-gimplify.c: Likewise. And also not hard-reg-set. - * c-common.c: Do not include rtl.h. Include tm_p.h and add a - FIXME note for it. Add a FIXME note for expr.h. - * config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list, - ix86_canonical_va_list_type): Make visible even if RTX_CODE is not - defined. - -2010-05-26 Jakub Jelinek - - PR target/44199 - * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca - or total_size is larger than red zone size for non-V4 ABI, emit a - stack_tie resp. frame_tie insn before stack pointer restore. - * config/rs6000/rs6000.md (frame_tie): New insn. - -2010-05-25 Eric Botcazou - - * function.h (struct function): Add can_throw_non_call_exceptions bit. - * lto-streamer-in.c (input_function): Stream it in. - * lto-streamer-out.c (output_function): Stream it out. - * function.c (allocate_struct_function): Set it. - (expand_function_end): Substitute cfun->can_throw_non_call_exceptions - for flag_non_call_exceptions. - * cfgbuild.c (control_flow_insn_p): Likewise. - (make_edges): Likewise. - * cfgexpand.c (expand_stack_alignment): Likewise. - * combine.c (distribute_notes): Likewise. - * cse.c (cse_extended_basic_block): Likewise. - * except.c (insn_could_throw_p): Likewise. - * gcse.c (simple_mem): Likewise. - * ipa-pure-const.c (check_call): Likewise. - (check_stmt ): Likewise. - * lower-subreg.c (lower-subreg.c): Likewise. - * optabs.c (emit_libcall_block): Likewise. - (prepare_cmp_insn): Likewise. - * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise. - * postreload.c (rest_of_handle_postreload): Likewise. - * reload1.c (reload_as_needed): Likewise. - (emit_input_reload_insns): Likewise. - (emit_output_reload_insns): Likewise. - (fixup_abnormal_edges): Likewise. - * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise. - * store-motion.c (find_moveable_store): Likewise. - * tree-eh.c (stmt_could_throw_p): Likewise. - (tree_could_throw_p): Likewise. - * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise. - * config/arm/arm.c (arm_expand_prologue): Likewise. - (thumb1_expand_prologue): Likewise. - * config/rx/rx.md (cbranchsf4): Likewise. - (cmpsf): Likewise. - * config/s390/s390.c (s390_emit_prologue): Likewise. - * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions. - (inline_forbidden_into_p): New predicate. - (expand_call_inline): Use it to forbid inlining. - (tree_can_inline_p): Likewise. - -2010-05-25 Steven Bosscher - - * config/i386/i386-c.c: Do not include rtl.h. - * config/i386/t-i386: Update dependencies. - -2010-05-25 Steven Bosscher - - * attribs.c: Do not include rtl.h. - * Makefile.in: Update dependencies. - -2010-05-25 Anatoly Sokolov - - * double-int.h (double_int_and): New. - * combine.c (try_combine): Clean up, use double_int_* and - immed_double_int_const functions. - -2010-05-25 Rainer Orth - - * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout, - stderr to /dev/null instead of grep -q. - * configure: Regenerate. - -2010-05-25 Steven Bosscher - - * Makefile.in (EXCEPT_H): Fix typo. - -2010-05-25 Vladimir Makarov - - * ira-build.c (update_conflict_hard_reg_costs): New. - (ira_build): Call update_conflict_hard_reg_costs. - -2010-05-25 Jakub Jelinek - - PR debug/41371 - * var-tracking.c (find_loc_in_1pdv): Guard asserts with - ENABLE_CHECKING. - (intersect_loc_chains): Walk the s2var's loc_chain together - with s1node chain as long as the locations are equal, don't - call find_loc_in_1pdv in that case. - - PR debug/42801 - * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here... - (copy_bind_expr): ... instead of here. - (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK - if the block hasn't been remapped. - * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When - emitting concrete instance of abstract VLA, add DW_AT_type attribute. - -2010-05-25 Richard Guenther - - PR middle-end/44069 - * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating - out-of-bounds array accesses. - -2010-05-25 Richard Guenther - - * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize. - (lto_wrapper_exit): Unlink all LTRANS temporary files on error. - (run_gcc): Re-organize to make cleanup easier. - -2010-05-25 Andreas Krebbel - - * config/s390/s390.c (optimization_options): Fix and move the - flag_prefetch_loop_arrays override ... - (override_options): ... here. - -2010-05-25 Joseph Myers - - * diagnostic.c: Don't include plugin.h. - (diagnostic_report_diagnostic): Don't handle plugins specially - here. Pass context to internal_error callback. - * diagnostic.h (struct diagnostic_context): Add context parameter - to internal_error callback. - * plugin.c (warn_if_plugins, plugins_internal_error_function): New. - * plugin.h (struct diagnostic_context): Declare. - (warn_if_plugins, plugins_internal_error_function): Declare. - * toplev.c (general_init): Set global_dc->internal_error. - * Makefile.in (diagnostic.o): Update dependencies. - -2010-05-25 Iain Sandoe - - * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC. - * config/rs6000/t-darwin64: New. - * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64, - build crt2. - -2010-05-25 Christian Borntraeger - - PR 44203 - * tree-ssa-loop-prefetch.c: Fix logic for step calculation to - match the original (and intended) behaviour before r159557. This - changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong - in two ways. - -2010-05-25 Richard Guenther - - * doc/invoke.texi: Document -Ofast. - * target.h (struct gcc_target): Add handle_ofast. - * target-def.h (TARGET_HANDLE_OFAST): Add. - (TARGET_INITIALIZER): Adjust. - * opts.c (decode_options): Handle -Ofast. Enable -ffast-math with it. - * common.opt (Ofast): Add. - -2010-05-25 Paolo Bonzini - - * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns. - * doc/md.texi (cstoreXX4): Update for cond-optab changes. - -2010-05-25 Paolo Bonzini - - PR target/43610 - * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison - even if !FLOAT_LIB_COMPARE_RETURNS_BOOL. Always compute true_rtx and - false_rtx. Use false_rtx to compute the correct *ptest for reversed - comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL. - -2010-05-25 Jakub Jelinek - - * dwarf2out.c (loc_descr_plus_const): When offset is negative, use - DW_OP_minus with negated offset instead of DW_OP_plus. - (loc_list_from_tree): Don't test whether second operand is INTEGER_CST. - -2010-05-25 Wei Guozhi - - * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to - tst instruction and a new alternative. - * config/arm/constraints.md (Pu): New constraint. - -2010-05-24 Sebastian Pop - - * function.c (assign_stack_local_1): Initialize variable - to avoid warning when bootstrapping at -O3. - -2010-05-24 Steven Bosscher - - * configure.ac (all_lang_makefiles): Remove everything related to it. - * configure: Regenerate. - * Makefile.in: Fix reference to ada Make-lang.in. - Remove support for LANG_MAKEFILES. - -2010-05-24 Daniel Jacobowitz - Sandra Loosemore - - * config/arm/neon-testgen.ml: Use dg-add-options arm_neon. - * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok - description. Add arm_neon_fp16_ok. - (Add Options): Add arm_neon and arm_neon_fp16. - -2010-05-24 Joseph Myers - - * diagnostic.c: Don't include flags.h. - (pedantic_warning_kind, permissive_error_kind): Take diagnostic - context parameters. Check flags in the context passed as a parameter. - (diagnostic_build_prefix): Add context parameter. Check - show_column flag in context. - (diagnostic_action_after_output): Check fatal_errors flag in context. - (diagnostic_report_current_module): Check show_column flag in context. - (default_diagnostic_starter): Update call to - diagnostic_build_prefix. - (diagnostic_report_diagnostic): Pass context to pedantic_warning_kind. - (emit_diagnostic): Pass context to permissive_error_kind. - (permerror): Pass context to permissive_error_kind. - * diagnostic.h (struct diagnostic_context): Add show_column, - pedantic_errors, permissive and fatal_errors fields. - (diagnostic_build_prefix): Update prototype. - * langhooks.c - * toplev.c (process_options): Set flags in global_dc from - flag_show_column, flag_pedantic_errors, flag_permissive, - flag_fatal_errors. - * tree-diagnostic.c (default_tree_diagnostic_starter): Update call - to diagnostic_build_prefix. - * Makefile.in (diagnostic.o): Update dependencies. - -2010-05-24 H.J. Lu - - * config/i386/ia32intrin.h (__crc32q): Define only if - __SSE4_2__ is defined. - -2010-05-24 Iain Sandoe - - PR target/44132 - PR middle-end/43602 - * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P, - DECL_VISIBILITY_SPECIFIED. - (emutls_decl): Set DECL_PRESERVE_P and copy - DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P. - (emutls_finalize_control_var): New callback. - (emutls_finish): Finalize emutls control variables. - * toplev.c (compile_file): Move the call to emutls_finish () - before varpool_assemble_pending_decls (). - -2010-05-24 Daniel Gutson - - * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__ - added to the preprocessor condition. - -2010-05-24 Paul Brook - - * gengtype-lex.l: Add HARD_REG_SET. - * expr.c (expand_expr_real_1): Record writes to hard registers. - * function.c (rtl_data): Add asm_clobbers. - * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers. - (ira_setup_eliminable_regset): Remove regs_asm_clobbered. - Use crtl->asm_clobbers. - -2010-05-24 Ralf Wildenhues - - * doc/makefile.texi (Makefile): Mention stages 'profile' - and 'feedback' for profiledbootstrap. - -2010-05-23 H.J. Lu - - PR target/44245 - * config/i386/i386.c (def_builtin): Properly check - OPTION_MASK_ISA_64BIT. - -2010-05-23 Joseph Myers - - * c-decl.c (diagnose_mismatched_decls): Give error for duplicate - typedefs with different but compatible types. Allow duplicate - typedefs with the same type except for pedantic non-C1X, but give - warning for variably modified types. - * c-typeck.c (tagged_types_tu_compatible_p, - function_types_compatible_p, type_lists_compatible_p, - comptypes_internal): Add parameter different_types_p; set - *different_types_p for different but compatible types. All - callers changed. - (comptypes_check_different_types): New. - * c-tree.h (comptypes_check_different_types): Declare. - -2010-05-23 Steven Bosscher - - * regs.h: Do not include obstack.h, basic-block.h. Include machmode.h. - * jump.c: Include basic-block.h. - * profile.c: Likewise. - * tree-profile.c: Likewise. - * coverage.c: Likewise. - * basic-block.h (optimize_function_for_size_p): Move to function.h. - (optimize_function_for_speed_p): Likewise. - * function.h (optimize_function_for_size_p, - optimize_function_for_speed_p): Moved here from basic-block.h. - * Makefile.in: Update dependencies. - -2010-05-23 Ralf Wildenhues - - * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS - before calling make; allow override through $MAKE. - * doc/invoke.texi (Optimize Options): Document override. - -2010-05-23 Anatoly Sokolov - - * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New. - (TARGET_MODE_DEPENDENT_ADDRESS_P): Define. - (rs6000_mode_dependent_address_ptr): Make static. - * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove. - * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr): - Remove. - -2010-05-23 Maarten Lankhorst - - PR target/43869 - * config/i386/i386.c: Make sure that the correct regparm is passed. - -2010-05-23 Steven Bosscher - - * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here... - * sbitmap.c: ...to here to internalize sbitmap element access. - Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h. - Explain why basic-block.h is included. - * function.h: Include tm.h for CUMULATIVE_ARGS. - * Makefile.in: Update dependencies. - -2010-05-22 Steven Bosscher - - * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap): - New core types. - * sbitmap.h (struct sbitmap_def): Do not typedef here. - * sbitmap.c: Include sbitmap.h. - * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h, - hard-reg-set.h. Split everything related to regsets out from here... - * regset.h: ...to here. New file. - * df.h: Include regset.h and sbitmap.h. - * tree-flow.h: Likewise. - * cfgloop.h: Likewise. - * except.h: Do not include sbitmap.h. Include hashtab.h. - * cgraph.h: Include vec.h and function.h. - * reload.h (struct insn_chain): Change types of live_throughout - and dead_or_set from regset_head to bitmap_head. - (compute_use_by_pseudos): Be defined also if regset.h is not included. - * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of - spilled_regs from regset_head to bitmap_head to avoid dependency - in regset.h. - * sel-sched-ir.h: Include regset.h. - * reload.c: Include df.h before reload.h. - * caller-save.c: Likewise. - * reload1.c: Likewise. - * ira.c: Likewise. - (mark_elimination): Update type of r to bitmap, consistent with - DF_LR_IN. - * dominance.c: Include bitmap.h. - * modulo-sched.c: Include df.h. - * cfganal.c: Include bitmap.h and sbitmap.h. - * cfgbuild.c: Include sbitmap.h. - * lcm.c: Include sbitmap.h. - * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET. - * domwalk.c: Include sbitmap.h, exclude ggc.h. - * cfgexpand.c: Inlcude bitmap.h and sbitmap.h. - * cselib.c: Include bitmap.h. - * tree-optimize.c: Include regset.h. - * stmt.c: Include bitmap.h. - * Makefile.in: Update dependencies. - -2010-05-22 Jan Hubicka - - * cgraph.h (struct varpool_node): Add same_comdat_group. - * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group - pointer. - (output_varpool): Update call of lto_output_varpool_node. - (input_varpool): Read same_comdat_group pointer. - (input_varpool_1): Fixup same_comdat_group pointer. - * ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat - group is needed, all are. - * varpool.c (varpool_remove_node): Remove node from same comdat group - linklist too. - (varpool_analyze_pending_decls): Walk same comdat groups. - -2010-05-22 Steven Bosscher - - * rtl.h (union rtunion_def): Remove rt_bit member. - (XBITMAP, X0BITMAP, XCBITMAP): Remove. - * print-rtl (print_rtx): Do not print the member. - * gengtype.c (adjust_field_rtx_def): Do not handle it. - * gengenrtl.c (type_from_format): Likewise. - (accessor_from_format): Likewise. - -2010-05-22 Joseph Myers - - * dbgcnt.c: Include toplev.h instead of errors.h. - * ira-emit.c: Don't include errors.h. - * ira.c: Include toplev.h instead of errors.h. - * lto-compress.c: Include toplev.h instead of errors.h. - * Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o, - ira.o, dbgcnt.o): Update dependencies. - -2010-05-22 Richard Guenther - - * gimple.c (gimple_types_compatible_p): Check type qualifications - before merging pointer to complete and pointer to incomplete type. - * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure - we use our own resolution algorithm. The gold linker plugin - doesn't do the job we want it to do here. - -2010-05-22 Anatoly Sokolov - - * config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove. - * config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define. - (sparc_mode_dependent_address_p): New function. - -2010-05-21 Steven Bosscher - - * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars. - - * timevar.c: Do not include any core headers. - (timevar_print): De-i18n-ize. - (print_time): Likewise. - * timevar.h (timevar_push, timevar_pop): Make inline functions. - -2010-05-21 Joseph Myers - - * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or - langhooks-def.h. - (diagnostic_initialize): Initialize x_data not last_function. - (diagnostic_report_current_function): Move to tree-diagnostic.c. - (default_diagnostic_starter): Call - diagnostic_report_current_module not - diagnostic_report_current_function. - (diagnostic_report_diagnostic): Initialize x_data not - abstract_origin. - (verbatim): Likewise. - * diagnostic.h (struct diagnostic_info): Change abstract_origin to - x_data. - (struct diagnostic_context): Change last_function to x_data. - (diagnostic_auxiliary_data): Replace with - diagnostic_context_auxiliary_data and - diagnostic_info_auxiliary_data. - (diagnostic_last_function_changed, diagnostic_set_last_function, - diagnostic_report_current_function): Move to tree-diagnostic.h. - (print_declaration, dump_generic_node, print_generic_stmt, - print_generic_stmt_indented, print_generic_expr, - print_generic_decl, debug_c_tree, dump_omp_clauses, - print_call_name, debug_generic_expr, debug_generic_stmt, - debug_tree_chain, default_tree_printer): Move to - tree-pretty-print.h. - (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq, - print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to - gimple-pretty-print.h. - * pretty-print.c: Don't include tree.h - (pp_base_format): Don't handle %K here. - (pp_base_tree_identifier): Move to tree-pretty-print.c. - * pretty-print.h (text_info): Change abstract_origin to x_data. - (pp_tree_identifier, pp_unsupported_tree, - pp_base_tree_identifier): Move to tree-pretty-print.h. - * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h, - tree-pretty-print.h: New files. - * tree-pretty-print.c: Include tree-pretty-print.h. - (percent_K_format): New. Moved from pretty-print.c. - (pp_base_tree_identifier): Move from pretty-print.c. - * c-objc-common.c: Include tree-pretty-print.h. - (c_tree_printer): Handle %K here. - * langhooks.c: Include tree-diagnostic.h. - (lhd_print_error_function): Use diagnostic_abstract_origin macro. - * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h. - (default_tree_printer): Handle %K using percent_K_format. - (general_init): Use default_tree_diagnostic_starter. - * tree.c: Include tree-diagnostic.h and tree-pretty-print.h. - (free_lang_data): Use default_tree_diagnostic_starter. - * c-pretty-print.c: Include tree-pretty-print.h. - * cfgexpand.c: Include tree-pretty-print.h and gimple-pretty-print.h. - * cgraphunit.c: Include tree-pretty-print.h and gimple-pretty-print.h. - * dwarf2out.c: Include tree-pretty-print.h. - * except.c: Include tree-pretty-print.h. - * gimple-pretty-print.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * gimplify.c: Include tree-pretty-print.h. - * graphite-poly.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * ipa-cp.c: Include tree-pretty-print.h. - * ipa-inline.c: Include gimple-pretty-print.h. - * ipa-prop.c: Include tree-pretty-print.h and gimple-pretty-print.h. - * ipa-pure-const.c: Include gimple-pretty-print.h. - * ipa-struct-reorg.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * ipa-type-escape.c: Include tree-pretty-print.h. - * print-rtl.c: Include tree-pretty-print.h. - * print-tree.c: Include gimple-pretty-print.h. - * sese.c: Include tree-pretty-print.h. - * tree-affine.c: Include tree-pretty-print.h. - * tree-browser.c: Include tree-pretty-print.h. - * tree-call-cdce.c: Include gimple-pretty-print.h. - * tree-cfg.c: Include tree-pretty-print.h and gimple-pretty-print.h. - * tree-chrec.c: Include tree-pretty-print.h. - * tree-data-ref.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-dfa.c: Include tree-pretty-print.h. - * tree-if-conv.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-inline.c: Include tree-pretty-print.h. - * tree-into-ssa.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-nrv.c: Include tree-pretty-print.h. - * tree-object-size.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-outof-ssa.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-parloops.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-predcom.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-scalar-evolution.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-sra.c: Include tree-pretty-print.h. - * tree-ssa-address.c: Include tree-pretty-print.h. - * tree-ssa-alias.c: Include tree-pretty-print.h. - * tree-ssa-ccp.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-ssa-coalesce.c: Include tree-pretty-print.h. - * tree-ssa-copy.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-ssa-copyrename.c: Include tree-pretty-print.h. - * tree-ssa-dce.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-ssa-dom.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-ssa-dse.c: Include gimple-pretty-print.h. - * tree-ssa-forwprop.c: Include tree-pretty-print.h. - * tree-ssa-ifcombine.c: Include tree-pretty-print.h. - * tree-ssa-live.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-ssa-loop-im.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-ssa-loop-niter.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h. - * tree-ssa-math-opts.c: Include gimple-pretty-print.h. - * tree-ssa-operands.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-ssa-phiprop.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-ssa-pre.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-ssa-propagate.c: Include gimple-pretty-print.h. - * tree-ssa-reassoc.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-ssa-sccvn.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-ssa-sink.c: Include gimple-pretty-print.h. - * tree-ssa-ter.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-ssa-uninit.c: Include gimple-pretty-print.h. - * tree-ssa.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-stdarg.c: Include gimple-pretty-print.h. - * tree-switch-conversion.c: Include gimple-pretty-print.h. - * tree-tailcall.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-vect-data-refs.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-vect-loop-manip.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-vect-loop.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-vect-patterns.c: Include gimple-pretty-print.h. - * tree-vect-slp.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-vect-stmts.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * tree-vectorizer.c: Include tree-pretty-print.h. - * tree-vrp.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * value-prof.c: Include tree-pretty-print.h and - gimple-pretty-print.h. - * var-tracking.c: Include tree-pretty-print.h. - * Makefile.in (OBJS-common): Add tree-diagnostic.o. - (tree-diagnostic.o): New dependencies. - (c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o, - tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o, - tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o, - tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o, - tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o, - tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o, - tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o, - tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o, - tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o, - tree-ssa-address.o, tree-ssa-loop-niter.o, - tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o, - tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o, - tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o, - gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o, - tree-data-ref.o, sese.o, graphite-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, - tree-parloops.o, tree-stdarg.o, tree-object-size.o, - gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o, - toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o, - ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o, - ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o, - tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o, - tree-switch-conversion.o, var-tracking.o, value-prof.o, - cfgexpand.o, pretty-print.o): Update dependencies. - -2010-05-22 Andreas Tobler - - * tree-ssa-structalias.c: Remove tm_p.h from include. - -2010-05-21 Jeff Law - - * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo. - -2010-05-21 Jason Merrill - - * tree-eh.c (cleanup_is_dead_in): New. - (lower_try_finally): Don't generate a dead cleanup region. - (lower_cleanup): Likewise. - -2010-05-21 Jakub Jelinek - - PR debug/44223 - * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST, - unchain each use from the cyclic next_regno_use chain first. - -2010-05-21 Steven Bosscher - - * real: Do not include gmp.h, mpfr.h, and mpc.h. - (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove. - (real_value_negate, real_value_abs): New prototypes. - (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here... - * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here, - new include file for interface between MPFR and REAL_VALUE_TYPE. - * real.c: Include realmpfr.h. - (real_arithmetic2): Remove legacy function. - (real_value_negate): New. - (real_value_abs): New. - (mfpr_from_real, real_from_mpfr): Move from here... - * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file. - * builtins.c: Include realmpfr.h. - * fold-const.c: Include realmpfr.h. - (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE. - (fold_negate_const): Likewise. - (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS. - * toplev.c: Include realmpfr.h. - * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs - and real_value_negate. - * fixed-value.c (check_real_for_fixed_mode): Likewise. - * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise. - (vfp3_const_double_index): Likewise. - (arm_print_operand): Likewise. - * Makefile.in: Update dependencies. - -2010-05-21 Andreas Krebbel - - * config/s390/s390.c (override_options): Increase the default - of max-completely-peel-times. - -2010-05-21 Julian Brown - Mark Mitchell - - * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid - sibling calls for Thumb-1. - * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2. - * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for - Thumb-2. - (*call_insn, *call_value_insn): Don't use for Thumb-2. - (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use - for Thumb-2. - (return): New expander. - (*arm_return): New name for ARM return insn. - * config/arm/thumb2.md (*thumb2_return): New insn pattern. - -2010-05-19 Joel Sherrill - - * config.gcc (sparc64-*-rtems*): New target. - -2010-05-21 Nathan Froyd - - * tree.c (build_function_decl_skip_args): Fix grammar. - (build_function_type_list_1): Fix typos, adjust formatting. - -2010-05-21 Steven Bosscher - - * tree.h: Include real.h and fixed-value.h as basic datatypes. - * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h, - tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c, - tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c, - tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c, - genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c, - tree-pretty-print.c, tree-loop-distribution.c, - tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c, - tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c, - tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c, - tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c, - tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c, - tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c, - tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c, - tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c, - tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c, - tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c, - genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c, - tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c, - gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c, - tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c, - tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c, - store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c, - tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c, - tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c, - tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c, - tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c, - fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c, - tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c, - config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c, - config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c, - config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c, - config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c, - config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c, - config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c, - config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c, - config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c, - config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c, - config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c, - config/score/score7.c, config/score/score.c, config/arm/arm.c, - config/pa/pa.c, config/mips/mips.c, config/vax/vax.c, - config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c, - config/bfin/bfin.c: Clean up redundant includes. - * Makefile.in: Update accordingly. - -2010-05-21 Nathan Froyd - - PR middle-end/44204 - * builtins.c (fold_call_stmt): Pass &error_mark_node if the call - statement has no arguments. - -2010-05-21 Kai Tietz - - PR/44139 - * varasm.c (emutls_decl): Merge attributes to new decl. - -2010-05-21 Eric Botcazou - - PR middle-end/44101 - * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR - around the uniquized constructor if its type requires a conversion. - -2010-05-21 Jakub Jelinek - - PR debug/44205 - * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if - at -O0 goto_locus of any of the incoming edges differs from - goto_locus of outgoing edge, or gimple_location of any of the - labels differs. - -2009-09-14 Vladimir Makarov - - * ira.c (ira_non_ordered_class_hard_regs): Define. - (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs. - * ira-int.h (ira_non_ordered_class_hard_regs): Declare. - * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase - cost of unaligned hard regs when allocating multi-reg pseudos. - -2010-05-20 Richard Sandiford - - * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt. - * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float - for TARGET_NO_FLOAT. - * config/mips/mips.c (mips_file_start): Expand conditional expression - into "if" statements. Use .gnu_attribute 4,0 for TARGET_NO_FLOAT. - (mips_override_options): Move -mno-float override -msoft-float and - -mhard-float. - * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add - Condition(TARGET_SUPPORTS_NO_FLOAT). - * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set - __mips_no_float here. - (SUBTARGET_OVERRIDE_OPTIONS): Delete. - (TARGET_SUPPORTS_NO_FLOAT): Define. - * config/mips/sdemtk.opt: Delete. - -2010-05-20 Segher Boessenkool - - * ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond. - -2010-05-20 Uros Bizjak - - PR target/43733 - * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode. - * configure: Regenerate. - * config.in: Regenerate. - * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e - instead of sahf only for 64bit targets. - -2010-05-20 Jakub Jelinek - - PR debug/44178 - * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call - setup_ref_regs for DEBUG_INSNs. - -2010-05-20 Jan Hubicka - - PR middle-end/44197 - * varpool.c (varpool_remove_node): Handle in-varpool aliases. - -2010-05-20 Kenneth Zadeck - - PR bootstrap/43870 - * df-scan.c (df_ref_compare): Stabilize sort. - -2010-05-20 Jakub Jelinek - - * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset - argument. Don't use DW_OP_piece if offset is non-zero, - put offset into second DW_OP_bit_piece argument. - (dw_sra_loc_expr): Adjust callers. For memory expressions - compute offset. - -2010-05-20 Hans-Peter Nilsson - - PR target/44202 - * config/cris/cris.md ("*addsi3_v32"): Correct "cc" - settings for 16-bit-constant "addo" alternative. - -2010-05-19 James E. Wilson - - * config/mips/mips-dsp.md (add3, - mips_add_s_): Add ISA_HAS_DSP condition. - - PR target/43764 - * mips.c (mips_call_expr_from_insn): New arg second_call. Set it. - (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn. - Use it. - -2010-05-19 Joseph Myers - - * diagnostic.c (FLOAT, FFS): Don't undefine. - * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise. - * cse.c, regmove.c: Remove comments about stdio.h and rtl.h - include ordering. - -2010-05-19 Richard Sandiford - - * combine.c (propagate_for_debug): Call make_compound_operation - on the source value. - (try_combine): When implementing a split chosen by find_split_point, - either copy i2src or set it to null. Assert that i2src is not null - before substituting into CALL_INSN_FUNCTION_USAGE. - -2010-05-19 Anatoly Sokolov - - * double-int.h (double_int_ior): New function. - * tree.h (build_int_cst_wide_type): Remove. - * tree.c (build_int_cst_wide_type): Remove. - * fold-const.c (native_interpret_int): Use double_int_to_tree instead - of build_int_cst_wide_type. - * stor-layout.c (set_sizetype): (Ditto.). - * dojump.c (do_jump): Use build_int_cstu instead of - build_int_cst_wide_type. - -2010-05-19 Eric Botcazou - - * langhooks.h (struct lang_hooks): Add new field deep_unsharing. - * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro. - (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING. - * gimplify.c (mostly_copy_tree_r): Copy trees under SAVE_EXPR and - TARGET_EXPR nodes, but only once, if instructed to do so. Do not - propagate the 'data' argument to copy_tree_r. - (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker. - Propagate 'data' argument to walk_tree. - (copy_if_shared): New function. - (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker. - (unmark_visited): New function. - (unshare_body): Call copy_if_shared instead of doing it manually. - (unvisit_body): Call unmark_visited instead of doing it manually. - -2010-05-19 Nathan Froyd - - * hooks.h (hook_tree_tree_tree_bool_null): Rename to... - (hook_tree_tree_int_treep_bool_null): ...this. Update signature. - * hooks.c: Likewise. - * target-def.h (TARGET_FOLD_BUILTIN): Define to - hook_tree_tree_int_treep_bool_null. - * target.h (struct gcc_target): Update signature of fold_builtin - field. - * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature. - * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP - instead of the call expression. - (fold_builtin_call_array): Pass n and argarray directly. - (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of - consing a list. - * config/alpha/alpha.c (alpha_fold_builtin): Update signature. Lift - MAX_ARGS check out of the loop. Delete declaration of `arity', declare - `i' and use it in place of `arity'. - * config/sparc/sparc.c (sparc_fold_builtin): Update signature. - Dereference `args' directly. - * config/xtensa/xtensa (xtensa_fold_builtin): Likewise. - -2010-05-19 Rainer Orth - - * doc/sourcebuild.texi (Effective-Target Keywords): Document - 3dnow, sse3, sse2. - (Directives): Document optional dg-require-effective-target - selector. - -2010-05-19 Richard Guenther - - PR lto/44196 - * tree.c (find_decls_types_r): Walk BLOCKs and its vars. - -2010-05-19 Richard Guenther - - * doc/invoke.texi (-fwhopr): Document new optional jobs argument. - * common.opt (fwhopr=): New. - * opts.c (common_handle_option): Handle OPT_fwhopr. - * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*. - * collect2.c (main): Match -fwhopr*. - * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr. - Execute ltrans stage in parallel when jobs is bigger than 1. - -2010-05-19 Rainer Orth - - * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to - pentiumpro on Solaris 8/x86 with Sun as. - * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as - hidden alias bug. - (gcc_cv_as_ix86_quad): Check for .quad directive. - * configure: Regenerate. - * config.in: Regenerate. - * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD. - -2010-05-19 Martin Jambor - - * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions - also for indirect edges. Actual printing moved... - (ipa_print_node_jump_functions_for_edge): ...here. - (ipa_compute_jump_functions): Renamed to - ipa_compute_jump_functions_for_edge and made static. - (ipa_compute_jump_functions): New function. - (make_edge_direct_to_target): Check if the number of arguments on - the newly direct edge is the same as the number of parametrs of - the callee. - * ipa-cp.c (ipcp_init_stage): Most functionality moved to new - ipa_compute_jump_functions. Call ipa_analyze_params_uses. - * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call - analysis functions unconditionally, call the new - ipa_analyze_params_uses on the node instead of every edge. - -2010-05-19 Christian Borntraeger - - * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step - to tree. - (dump_mem_ref): Adopt debug code to handle a tree as step. This - also checks for a constant int vs. non-constant but - loop-invariant steps. - (find_or_create_group): Change the sort algorithm to only consider - steps that are constant ints. - (idx_analyze_ref): Adopt code to handle a tree instead of a - HOST_WIDE_INT for step. - (gather_memory_references_ref): Handle tree instead of int and be - prepared to see a NULL_TREE. - (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune - prefetches if the step cannot be calculated at compile time. - (issue_prefetch_ref): Issue prefetches for non-constant but - loop-invariant steps. - -2010-05-18 Nathan Froyd - - Revert: - 2010-05-18 Nathan Froyd - - * tree.h (build_call_list): Remove. - * tree.c (build_call_list): Remove. - -2010-05-18 Nathan Froyd - - * tree.h (build_call_list): Remove. - * tree.c (build_call_list): Remove. - -2010-05-18 Jan Hubicka - - * ipa-reference.c (propagate): Walk all nodes in the cleanup stage. - -2010-05-18 Vladimir Makarov - - PR rtl-optimization/43332 - * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier. - -2010-05-18 Anatoly Sokolov - - * tree.h (build_int_cstu): Implement as static inline. - * tree.c (build_int_cstu): Remove function. - (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as - sign extended. - -2010-05-18 Richard Guenther - - PR lto/44143 - * lto-wrapper.c (verbose): New variable. Initialize from -v. - (debug): Initialize from -save-temps. - (collect_execute): Print command-line when verbose. - (run_gcc): Always use COLLECT_GCC_OPTIONS. Use fork_execute - for ltrans invocation. Produce -dumpbase flag again. - (process_args): Remove. - (main): Simplify. - * collect2.c (maybe_run_lto_and_relink): Only pass object - files to lto-wrapper. - * gcc.c (LINK_COMMAND_SPEC): Likewise. - -2010-05-18 Jan Hubicka - - * opts.c (decode_options): Do not disable whopr at ipa_cp. - * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too. - -2010-05-18 Steven Bosscher - - PR lto/44184 - * lto-streamer-out.c (output_gimple_stmt): Output number of labels - in a GIMPLE_ASM. - * lto-streamer-in.c (input_gimple_stmt): Read number of labels - in a GIMPLE_ASM. - -2010-05-18 Jakub Jelinek - - PR debug/41371 - * var-tracking.c (find_loc_in_1pdv): Add a few checks from - rtx_equal_p inline. - -2010-05-18 Steven Bosscher - - * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add - lto-macho as lto_binary_reader. - - * darwin.c (darwin_asm_named_section): Do not add assembler comment - after .section directive; just print it before the directive instead. - -2010-05-17 Jan Hubicka - - * cgraph.c (cgraph_create_virtual_clone): Only check - versionable_function_p when not in wpa and checking is enabled. - * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after - there are no more functions to materialize. - -2010-05-17 Jan Hubicka - - * cgraph.h (struct ipa_replace_map): Add parm_num parameter. - * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary): - New functions. - (output_cgraph): Call output_cgraph_opt_summary. - (input_cgrpah): Call input_cgraph_opt_summary. - (output_cgraph_opt_summary_p, output_node_opt_summary, - input_node_opt_summary, input_cgraph_opt_section): New functions. - * lto-section-in.c (lto_section_name): Add cgraphopt. - * tree-inline.c (tree_function_versioning): Handle parm_num. - * lto-streamer.c (lto_get_section_name): Handle cgraphopt. - * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum. - -2010-05-17 Changpeng Fang - - * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio. - * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply - the insn to prefetch ratio heuristic to loops with known trip count. - -2010-05-17 Changpeng Fang - - * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New. - (schedule_prefetches): Do not generate a prefetch if the unroll factor - is far from what is required by the prefetch. - -2010-05-17 Jan Hubicka - - * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used. - (ipcp_estimate_growth): Likewise. - (ipcp_const_param_count): Likewise. - (ipcp_insert_stage): Likewise. - * ipa-prop.c (visit_load_for_mod_analysis): New function. - (visit_store_addr_for_mod_analysis): Set used flag. - (ipa_detect_param_modifications): Set used flag for SSE params; - update use of walk_stmt_load_store_addr_ops. - (ipa_print_node_params): Print used flag. - (ipa_write_node_info): Stream used flag. - (ipa_read_node_info): Likewise. - * ipa-prop.h (struct ipa_param_descriptor): Add used field. - (ipa_is_param_used): New function. - (lto_ipa_fixup_call_notes): Remove unused declaration. - -2010-05-17 Rainer Orth - - PR target/44074 - * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test. - * configure: Regenerate. - * config.in: Regenerate. - * config/i386/i386.c (print_operand) : Also print ";" if - !HAVE_AS_IX86_REP_LOCK_PREFIX. - Don't emit whitespace. - * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep. - (*rep_movsi): Likewise. - (*rep_movsi_rex64): Likewise. - (*rep_movqi): Likewise. - (*rep_movqi_rex64): Likewise. - (*rep_stosdi_rex64): Likewise. - (*rep_stossi): Likewise. - (*rep_stossi_rex64): Likewise. - (*rep_stosqi): Likewise. - (*rep_stosqi_rex64): Likewise. - (*cmpstrnqi_nz_1): Use {%;} after repz. - (*cmpstrnqi_nz_rex_1): Likewise. - (*cmpstrnqi_1): Likewise. - (*cmpstrnqi_rex_1): Likewise. - (*strlenqi_1): Use {%;} after repnz. - (*strlenqi_rex_1): Likewise. - * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} . - (*sync_compare_and_swap): Likewise. - (sync_double_compare_and_swap): Likewise. - (*sync_double_compare_and_swapdi_pic): Likewise. - (sync_old_add): Likewise. - (sync_add): Likewise. - (sync_sub): Likewise. - (sync_): Likewise. - -2010-05-17 Martin Jambor - - * cgraph.h (cgraph_indirect_call_info): New fields anc_offset, - otr_token and polymorphic. - * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields. - (cgraph_clone_edge): Copy the above fields. - * tree.c (get_binfo_at_offset): New function. - * tree.h (get_binfo_at_offset): Declare. - * ipa-prop.h (enum jump_func_type): Added known_type jump function - type, reordered items, updated comments. - (union jump_func_value): Added base_type field, reordered fields. - (enum ipa_lattice_type): Moved down in the file. - (struct ipa_param_descriptor): New field polymorphic. - (ipa_is_param_polymorphic): New function. - * ipa-prop.c: Include gimple.h and gimple-fold.h. - (ipa_print_node_jump_functions): Print known type jump functions. - (compute_complex_pass_through): Renamed to... - (compute_complex_assign_jump_func): this. - (compute_complex_ancestor_jump_func): New function. - (compute_known_type_jump_func): Likewise. - (compute_scalar_jump_functions): Create known type and complex ancestor - jump functions. - (ipa_note_param_call): New parameter polymorphic, set the corresponding - flag in the call note accordingly. - (ipa_analyze_call_uses): Renamed to... - (ipa_analyze_indirect_call_uses): this. New parameter target, define - variable var only in the block where it is used. - (ipa_analyze_virtual_call_uses): New function. - (ipa_analyze_call_uses): Likewise. - (combine_known_type_and_ancestor_jfs): Likewise. - (update_jump_functions_after_inlining): Implemented handling of a - number of new jump function types combination. - (print_edge_addition_message): Removed. - (make_edge_direct_to_target): New function. - (try_make_edge_direct_simple_call): Likewise. - (try_make_edge_direct_virtual_call): Likewise. - (update_call_notes_after_inlining): Renamed to... - (update_indirect_edges_after_inlining): this. Moved edge creation for - indirect calls to try_make_edge_direct_simple_call, also calls - try_make_edge_direct_virtual_call for virtual calls. - (ipa_print_node_params): Changed the header message. - (ipa_write_jump_function): Stream also known type jump functions. - (ipa_read_jump_function): Likewise. - (ipa_write_indirect_edge_info): Stream new fields in - cgraph_indirect_call_info. - (ipa_read_indirect_edge_info): Likewise. - * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and - GIMPLE_FOLD_H. - -2010-05-17 Rainer Orth - - * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition. - -2010-05-17 Nathan Froyd - - * tree.h (CALL_EXPR_ARGS): Delete. - (call_expr_arglist): Delete. - * tree.c (call_expr_arglist): Delete. - * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to - targetm.fold_builtin. - * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter. - Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN. - * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename - arglist parameter. Use CALL_EXPR_ARG. - (picochip_expand_builtin_3op): Likewise. - (picochip_expand_builtin_2opvoid): Likewise. - (picochip_expand_array_get): Likewise. - (picochip_expand_array_put): Likewise. - (picochip_expand_array_testport): Likewise. - (picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp - rather than arglist. - * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of - CALL_EXPR_ARGS. - * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather - than TREE_VALUE and TREE_CHAIN. - * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise. - * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of - the arglist. - -2010-05-17 Jakub Jelinek - - PR bootstrap/42347 - * cfglayout.c (fixup_reorder_chain): Allow returnjump_p - to have no fallthru edge. - - PR middle-end/44102 - * cfgcleanup.c (try_optimize_cfg): When removing trivially empty - bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT - mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL - add BARRIER after previous bb if needed. - -2010-05-17 Nathan Froyd - - * tree.c (build_function_type_list_1): Remove bogus assert condition. - -2010-05-17 Alan Modra - - * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete - unnecessary prototype. Replace copy_r12 and copy_r11 flag params - with copy_reg rtx param. - (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls. - Correct cases where code for ABI_V4 did not initialise the reg - used to access frame. Also leave frame_reg_rtx as sp for large - frames that save no regs. - -2010-05-17 Martin Jambor - - PR middle-end/44133 - * tree-sra.c (create_access_replacement): New parameter rename, mark - the replaement for renaming only when it is true. - (get_access_replacement): Pass true in the rename parameter of - create_access_replacement. - (get_unrenamed_access_replacement): New function. - (replace_uses_with_default_def_ssa_name): New parameter racc, get the - replacement declaration from it. - -2010-05-17 Bernd Schmidt - - * function.c (try_fit_stack_local, add_frame_space): New static - functions. - (assign_stack_local_1): Use them. Look for opportunities to use - space previously wasted on alignment. - * function.h (struct frame_space): New. - (struct rtl_data): Add FRAME_SPACE_LIST member. - * reload1.c (something_was_spilled): New static variable. - (alter_reg): Set it. - (reload): Test it in addition to testing if the frame size changed. - -2010-05-17 Christian Borntraeger - - * config/s390/s390.c: Define sane prefetch settings and activate - flag_prefetch_loop_arrays on -O3. - * config/s390/s390.h: Declare that read can use write prefetch. - -2010-05-17 Jakub Jelinek - - * lto-streamer-out.c (lto_output): Fix --enable-checking=release - build. - -2010-05-16 Jan Hubicka - - * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of - function body; do not check stdarg field of struct function. - -2010-05-16 Jan Hubicka - - * cgraph.c (dump_cgraph_node): Dump versionable flag. - * cgraph.h (cgraph_local_info): Add versionable flag. - * ipa-cp.c (ipcp_analyze_node): Set versionable flag. - (ipcp_versionable_function_p): Use it. - * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream - versionable flag. - -2010-05-16 Jan Hubicka - - * cgraph.c (cgraph_clone_node): Take decl argument and insert - clone into hash when it is different from orig. - (cgraph_create_virtual_clone): Update use of cgraph_clone_node. - * cgraph.h (cgraph_clone_node): Update prototype. - * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map. - (lto_cgraph_encoder_delete): Delete body map. - (lto_cgraph_encoder_size): Move to header. - (lto_cgraph_encoder_encode_body_p, - lto_set_cgraph_encoder_encode_body): New. - (lto_output_node): Do not take written_decls argument; output clone_of - pointer. - (add_node_to): Add include_body_argument; call - lto_set_cgraph_encoder_encode_body on master of the clone. - (add_references): Update use of add_node_to. - (compute_ltrans_boundary): Likewise. - (output_cgraph): Do not create written_decls bitmap. - (input_node): Take nodes argument; stream in clone_of correctly. - (input_cgraph_1): Update use of input_node. - * lto-streamer-out.c (lto_output): Use encoder info to decide - what bodies to output. - * ipa-inline.c (cgraph_clone_inlined_nodes, - cgraph_decide_recursive_inlining): Update call of cgraph_clone_node. - * lto-streamer.h (lto_cgraph_encoder_d): Add body. - (lto_cgraph_encoder_size): Define here. - (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p): - Declare. - -2010-05-16 Richard Guenther - - * doc/invoke.texi (-fipa-struct-reorg): Do not mention - -fipa-type-escape. - * ipa-type-escape.c (gate_type_escape_vars): Run when - -fipa-struct-reorg runs. - * opts.c (decode_options): Do not unset flag_ipa_type_escape. - * common.opt (fipa-type-escape): Remove. - -2010-05-16 Eric Botcazou - - * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO. - (decode_options): Likewise. - * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H. - -2010-05-16 Jan Hubicka - - * ipa.c (function_and_variable_visibility): Also bring local all - aliases. - -2010-05-16 Richard Guenther - - * alias.c (nonoverlapping_memrefs_p): Remove use of - IPA type-escape information. - -2010-05-16 Joseph Myers - - * c-common.c (c_common_reswords): Add _Static_assert for C. - * c-parser.c (c_token_starts_declaration, - c_parser_next_token_starts_declaration, - c_parser_static_assert_declaration_no_semi, - c_parser_static_assert_declaration): New. - (c_parser_declaration_or_fndef): Add parameter static_assert_ok. - Handle static assertions if static_assert_ok. - (c_parser_external_declaration, c_parser_declaration_or_fndef, - c_parser_compound_statement_nostart, c_parser_label, - c_parser_for_statement, c_parser_objc_methodprotolist, - c_parser_omp_for_loop): All callers of - c_parser_declaration_or_fndef changed. - (c_parser_struct_declaration): Handle static assertions. - (c_parser_compound_statement_nostart): Use - c_parser_next_token_starts_declaration and - c_token_starts_declaration to detect start of declarations. - (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop): - Likewise. - -2010-05-16 Anatoly Sokolov - - * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE, - LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros. - * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE, - TARGET_FUNCTION_VALUE_REGNO_P): Define. - (mmix_function_outgoing_value): Rename to... - (mmix_function_value): ...this. Make static. Add 'outgoing' argument. - (mmix_function_value_regno_p): Make static. - (mmix_libcall_value): New function. - * config/mmix/mmix-protos.h (mmix_function_outgoing_value, - mmix_function_value_regno_p): Remove declaration. - -2010-05-16 Eric Botcazou - - * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on - BUILT_IN_ALLOCA if stack checking is enabled. - -2010-05-16 Richard Guenther - - * var-tracking.c (vars_copy_1): Inline ... - (vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT. - (variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts. - (variable_merge_over_cur): Adjust. Merge asserts. - (variable_merge_over_src): Likewise. - (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT. - (variable_post_merge_new_vals): Merge asserts. - (variable_post_merge_perm_vals): Likewise. - (find_mem_expr_in_1pdv): Likewise. - (dataflow_set_different_value): Remove. - (onepart_variable_different_p): Merge asserts. - (variable_different_p): Likewise. - (dataflow_set_different_1): Inline ... - (dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT. - (emit_notes_for_differences_1): Merge asserts. - -2010-05-16 Richard Guenther - - * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE. - * optabs.c (libfunc_decl_hash): Likewise. - * varasm.c (emutls_decl): Likewise. - -2010-05-16 Steven Bosscher - - * c-decl.c: Don't include gimple.h. - (merge_decls): Do not copy gimple_body. - -2010-05-15 Jason Merrill - - * c.opt: Add -fnothrow-opt. - -2010-05-15 Jan Hubicka - - * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is - analyzed. - * passes.c (ipa_write_summaries): Write all analyzed nodes. - -2010-05-15 Steven Bosscher - - * vecir.h: New file with VEC primitives for tree, gimple, and rtl. - * Makefile.in: Add it. - Fix all other Makefile dependencies for changes below. - * tree.h: Include it instead of defining VEC primitives here. - * gimple.h: Likewise. - * rtl.h: Likewise. - * tree-inline.h: Inlclude vecir.h instead of gimple.h. - * except.h: Include vecir.h, break dependence on tree.h. - - * gimplify.c (append_to_statement_list_1, append_to_statement_list): - Move from here... - * tree-iterator.c: ...to here. - * tree-iterator.h: Fix file introduction comment. Add extern markers. - - * c-lex.c: Include fixed-value.h instead of rtl.h. Do not include - tm_p.h. - * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included. - * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h, - integrate.h, function.h, toplev.h, tree-inline.h, ggc.h, - tree-mudflap.h, and target.h. - * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h, - predict.h, tree-inline.h, gimple.h, and langhooks.h. - * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h. - Add FIXME for why gimple.h is still included (should be unnecessary - since GCC 4.5 gimplification unit-at-a-time). - * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h. - * c-pragma.c: Add FIXME for why function.h needs to be included just - for cfun, at front-end level. - Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook. - Do not include ggc.h, but include vecprim.h for VEC(char). - * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h. - Explain why target.h is included. - * c-omp.h: Do not include tm.h, function.h, and bitmap.h. - Explain why gimple.h is included. - * c-ppoutput.c: Do not include tm.h. - * c-common.c: Do not include gimple.h. Explain why expr.h is included. - * c-parses.c: Explain why rtl.h is included, and that this (and only - this) is also why tm.h must be included. - Do not include except.h. - * c-lang.c: Do not include ggc.h. - -2010-05-15 Uros Bizjak - - * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX. - -2010-05-15 Joseph Myers - - * c-decl.c (grokfield): Allow typedefs for anonymous structs and - unions by default if those structs and unions have no tags. Do - not condition anonymous struct and unions handling on flag_iso. - Allow anonymous structs and unions for C1X. - (finish_struct): Do not diagnose lack of named fields when - anonymous structs and unions present for C1X. Accept flexible - array members in structure with anonymous structs or unions but no - directly named fields. - * doc/extend.texi (Unnamed Fields): Update. - -2010-05-15 Eric Botcazou - - * gimple.h (compare_field_offset): Rename into... - (gimple_compare_field_offset): ...this. - * gimple.c (compare_field_offset): Rename into... - (gimple_compare_field_offset): ...this. Compare the full access if - the offset is self-referential. - (gimple_types_compatible_p): Adjust for above renaming. - * lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the - DECL_NONADDRESSABLE_P flag of fields before merging them. - -2010-05-15 Nathan Froyd - - * tree.h (ctor_to_list): Delete. - * tree.c (ctor_to_list): Delete. - -2010-05-15 Jan Hubicka - - * ipa-reference.c: Include toplev.h - (is_proper_for_analysis): Only add to all_module_statics - if it is allocated. - (write_node_summary_p, stream_out_bitmap, - ipa_reference_write_optimization_summary, - ipa_reference_read_optimization_summary): New. - (struct ipa_opt_pass_d pass_ipa_reference): Add - optimization summary streaming. - * lto-cgraph.c (referenced_from_this_partition_p, - reachable_from_this_partition_p): New functions. - * tree-ssa-alias.c (ref_maybe_used_by_call_p_1, - call_may_clobber_ref_p_1): Ask ipa-reference even for public vars. - * opts.c (decode_options): Enable ipa_reference. - * Makefile.in (ipa-reference.o): Add toplev.h dependency. - * lto-streamer.h (referenced_from_this_partition_p, - reachable_from_this_partition_p): Declare. - -2010-05-15 Richard Guenther - - PR tree-optimization/44038 - * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid - taking the address of a V_C_E of a constant. - -2010-05-14 Jan Hubicka - - * tree.h (memory_identifier_string): Remove. - * ipa-reference.c: Update comment; do not include gt-ipa-reference.h - (ipa_reference_global_vars_info_d): Remove statics_not_read and - statics_not_written. - (ipa_reference_optimization_summary_d): New structure. - (ipa_reference_optimization_summary_t): New type and vector. - (ipa_reference_vars_info_d): Embedd structures instead of using - pointers. - (reference_vars_to_consider): Remove out of GGC space. - (module_statics_escape): Remove. - (global_info_obstack): Rename to ... - (optimization_summary_obstack): ... this one. - (initialization_status_t): Remove. - (memory_identifier_string): Remove. - (get_reference_vars_info): Fix indenting. - (set_reference_vars_info): Likewise. - (get_reference_optimization_summary): New. - (set_reference_optimization_summary): New. - (get_global_reference_vars_info): Remove. - (ipa_reference_get_read_global): Remove. - (ipa_reference_get_written_global): Remove. - (ipa_reference_get_not_read_global): Update. - (ipa_reference_get_not_written_global): Update. - (is_proper_for_analysis): Outlaw addressable. - (propagate_bits): Update for new datastructures. - (analyze_variable): Remove. - (init_function_info): Update for new datastructures. - (clean_function_local_data): Remove. - (clean_function): Remove. - (copy_global_bitmap): Use optimizations_summary_obstack. - (duplicate_node_data): Duplicate optimization summary only. - (remove_node_data): Remove optimization summary only. - (generate_summary): Do not analyze variables; do not compute - module_statics_escape; do not prune solutions by it. - (read_write_all_from_decl): Fix typos in comments. - (propagate): Doscover readonly and nonaddressable first; - update for new datastructures; share global bitmaps. - * ipa-reference.h (ipa_reference_get_read_global, - ipa_reference_get_written_global): Remove. - * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string. - * Makefile.in: Remove ipa-refereference from GT files. - -2010-05-14 Jakub Jelinek - - PR debug/44112 - * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN - for all SYMBOL_REF_DECLs. - -2010-05-14 Jan Hubicka - - * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare. - (varpool_all_refs_explicit_p): New inline function. - * ipa-reference.c: Update comment. - (module_statics_written): Remove. - (get_static_decl): Remove. - (ipa_init): Do not initialize module_statics_written. - (analyze_function): Likewise. - (generate_summary): Likewise; do not compute module_statics_readonly - and do not update variable flags. - (propagate): Call ipa_discover_readonly_nonaddressable_vars. - * ipa.c: Inlucde flags.h - (cgraph_local_node_p): New. - (cgraph_remove_unreachable_nodes): Return early when not optimizing; - promote functions to local. - (ipa_discover_readonly_nonaddressable_vars): New function. - (function_and_variable_visibility): Use cgraph_local_node_p. - * varpool.c (varpool_finalize_decl): Set force_output for - DECL_PRESERVE_P vars. - -2010-05-14 Jan Hubicka - - * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit. - -2010-05-14 Richard Guenther - - PR tree-optimization/44119 - * tree-ssa-pre.c (eliminate): Properly mark replacement of - a PHI node necessary. - -2010-05-14 Eric Botcazou - - * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL. - -2010-05-14 Jason Merrill - - PR c++/44127 - * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW. - (gimple_call_set_nothrow): New. - * gimple.c (gimple_build_call_from_tree): Call it. - (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW. - - PR c++/44127 - * gimplify.c (gimplify_seq_add_stmt): No longer static. - * gimple.h: Declare it. - * gimple.c (gimple_build_eh_filter): No ops. - -2010-05-14 Jan Hubicka - - * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue - nodes already in queue. - (cgraph_remove_unreachable_nodes): Cleanup; fix problem with - re-enqueueing node. - -2010-05-14 Jakub Jelinek - - PR debug/44136 - * cfgexpand.c (expand_debug_expr): If non-memory op0 - has BLKmode, return NULL. - -2010-05-14 Harsha Jagasia - - * config.gcc: Add support for --with-cpu option for bdver1. - * config/i386/i386.h (TARGET_BDVER1): New macro. - (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL - to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL. - (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL - to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL. - Add SSE_PACKED_SINGLE_INSN_OPTIMAL. - (TARGET_CPU_DEFAULT_NAMES): Add bdver1. - (processor_type): Add PROCESSOR_BDVER1. - * config/i386/i386.md: Add bdver1 as a new cpu attribute to match - processor_type in config/i386/i386.h. - Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit - movaps instead of movapd when replacing - movsd or movss for SSE and AVX. - Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL - to emit packed xor instead of packed double/packed integer - xor for SSE and AVX when moving a zero value. - * config/i386/sse.md: Add check for - TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of - movapd/movdqa for SSE and AVX. - Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed - single logical operations i.e and, or and xor instead of packed double - logical operations for SSE and AVX. - * config/i386/i386-c.c (ix86_target_macros_internal): - Add PROCESSOR_BDVER1. - * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1. - (has_fma4, has_xop): New. - * config/i386/i386.c (bdver1_cost): New variable. - (m_BDVER1): New macro. - (m_AMD_MULTIPLE): Add m_BDVER1. - (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen, - x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx, - x86_tune_use_simode_fiop, x86_tune_promote_qimode, - x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8, - x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency, - x86_tune_sse_partial_reg_dependency, - x86_tune_sse_unaligned_load_optimal, - x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores, - x86_tune_memory_mismatch_stall, x86_tune_use_ffreep, - x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions, - x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem, - x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch): - Enable/disable for bdver1. - (processor_target_table): Add bdver1_cost. - (cpu_names): Add bdver1. - (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in - processor_alias_table. - (ix86_expand_vector_move_misalign): Change. - TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL. - Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL. - Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead - of movupd/movdqu for SSE and AVX. - (ix86_tune_issue_rate): Add PROCESSOR_BDVER1. - (ix86_tune_adjust_cost): Add code for bdver1. - (standard_sse_constant_opcode): Add check for - TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead - of packed double xor for SSE and AVX. - -2010-05-14 Pat Haugen - - * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs() - result to unsigned. - -2010-05-14 Tristan Gingold - - * toplev.c (default_debug_hooks): Remove this variable. - (process_options): Remove assignments to default_debug_hooks. - -2010-05-14 Martin Jambor - - * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove. - (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF. - * langhooks.h (struct lang_hooks_for_decls): Removed field - fold_obj_type_ref. - * tree.c (free_lang_data): Remove assignment to - lang_hooks.fold_obj_type_ref. - * tree.def (OBJ_TYPE_REF): Update comment. - -2010-05-14 Richard Guenther - - PR tree-optimization/44124 - * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access. - -2010-05-14 Alan Modra - - PR target/44075 - * config/rs6000/rs6000.c (struct machine_function): Reorder - fields for better packing. Add lr_save_state. - (rs6000_ra_ever_killed): Return lr_save_state if set. - (rs6000_emit_eh_reg_restore): Set lr_save_state. - -2010-05-13 Jan Hubicka - - * varpool.c (decide_is_variable_needed): Drop code checking - TREE_SYMBOL_REFERENCED. - -2010-05-13 Jan Hubicka - - * final.c (output_addr_const): Do not call mark_decl_referenced. - * cgraphunit.c (process_function_and_variable_attributes): Use - mark_needed_node dirrectly. - (assemble_thunk): Do not call mark_decl_referenced. - -2010-05-13 Anatoly Sokolov - - * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx. - -2010-05-13 Jeff Law - - * ira-conflicts.c (print_allocno_conflicts): New function broken out - from... - (print_conflicts): Call print_allocno_conflicts. - -2010-05-13 Jakub Jelinek - - PR debug/44104 - * dwarf2out.c (modified_type_die): Don't dereference mod_type_die - if it is NULL. - -2010-05-13 Kai Tietz - - * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose - t-mingw-w64 or t-mingw-w32 for multilib configuration. - * config/i386/t-mingw-w32: New. - * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib. - -2010-05-13 Martin Jambor - - * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to - gimple-fold.c). - * gimple-fold.c (get_base_binfo_for_type): New function. - (gimple_get_relevant_ref_binfo): Likewise. - (gimple_fold_obj_type_ref_known_binfo): Likewise. - (gimple_fold_obj_type_ref): Likewise. - (fold_gimple_call): Simplify condition for folding virtual calls - and call gimple_fold_obj_type_ref. - * gimple.h (gimple_get_relevant_ref_binfo): Declare. - (gimple_fold_obj_type_ref_known_binfo): Likewise. - -2010-05-13 Andreas Schwab - - * config/rs6000/rs6000-protos.h - (rs6000_mode_dependent_address_ptr): Change argument to const_rtx. - * config/rs6000/rs6000.c (rs6000_mode_dependent_address) - (rs6000_debug_mode_dependent_address) - (rs6000_mode_dependent_address_ptr): Likewise. - -2010-05-13 Jakub Jelinek - - PR debug/43983 - * var-tracking.c (track_expr_p): Allow tracking of variables optimized - by SRA. - * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H). - * tree-sra.c (create_access_replacement): Call unshare_expr before - passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it. - * dwarf2out.c: Include tree-flow.h. - (struct var_loc_node): Rename var_loc_note field to loc, add comment. - (size_of_loc_descr, output_loc_operands, output_loc_operands_raw): - Handle DW_OP_bit_piece. - (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node, - construct_piece_list, adjust_piece_list): New functions. - (add_var_loc_to_decl): Handle SRA optimized variables. - Adjust for var_loc_note to loc field renaming. - (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl - in VAR_LOCATION note. - (new_loc_descr_op_bit_piece): New function. - (dw_sra_loc_expr): New function. - (dw_loc_list): Use it. Don't handle the last range after the - loop, handle it inside of the loop. Adjust for var_loc_note - to loc field renaming. - (add_location_or_const_value_attribute): Only special case - single entry loc lists if loc is NOTE_P. Adjust for - var_loc_note to loc field renaming. - (dwarf2out_var_location): Don't set newloc->var_loc_note - and newloc->next here. - -2010-05-12 Jan Hubicka - - * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed - flag. - * cgraph.h (cgraph_only_called_directly_p, - cgraph_can_remove_if_no_direct_calls_p): test address_taken flag. - (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function. - * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken. - (assemble - * ipa.c (cgraph_remove_unreachable_nodes): Use - cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken - flags. - * tree-inline.c (copy_bb): Check address_taken flag. - * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and - externally_visible flag. - -2010-05-12 Jason Merrill - - PR bootstrap/44048 - PR target/44099 - * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling. - * sdbout.c (plain_type_1): Likewise. - * dwarf2out.c (is_base_type): Likewise. - (gen_type_die_with_usage): Likewise. Generate - DW_TAG_unspecified_type for any LANG_TYPE. - -2010-05-12 Jan Hubicka - - * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build - indrect edges too. - * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument. - (cgraph_clone_edge): Update. - (cgraph_node_remove_callees): Remove indirect calls too. - * cgraph.h (cgraph_indirect_call_info): Add ecf_flags. - (cgraph_create_indirect_edge): Update prototype. - * ipa-reference.c (has_proper_scope_for_analysis): Rename to - is_proper_for_analysis. - (add_new_function, visited_nodes, function_insertion_hook_holder, - get_local_reference_vars_info, mark_address_taken, mark_address, - mark_load, mark_store, check_asm_memory_clobber, check_call, - scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove. - (ipa_init): Do not initialize visited_nodes; - function_insertion_hook_holder. - (analyze_variable): Rewrite. - (analyze_function): Rewrite. - (copy_local_bitmap): Remove. - (duplicate_node_dat): Do not duplicate local info. - (generate_summary): Simplify to only walk cgraph. - (write_node_summary_p, ipa_reference_write_summary, - ipa_reference_read_summary): Remove. - (propagate): Do not remove function insertion; - generate summary. - (pass_ipa_reference): NULLify summary handling fields. - * lto-cgraph.c (lto_output_edge): Output ecf_flags. - (input_edge): Input ecf_flags. - * ipa-prop.c (ipa_note_parm_call): Expect edge to be around. - (update_indirect_edges_after_inlining): Ignore edges with unknown - param. - -2010-05-12 Sriraman Tallam - - * implicit-zee.c: New file. - * tree-pass.h (pass_implicit_zee): Declare. - * passes.c (init_optimization_passes): Add zee pass. - * common.opt (fzee): New flag. - * timevar.def (TV_ZEE): Define. - * config/i386/i386.c (optimization_options): Turn on ZEE for level 2 - and beyond. - * Makefile.in (implicit-zee.o): Add new build file. - -2010-05-12 Kazu Hirata - Nathan Froyd - - * c-common.c (sync_resolve_params): Remove write-only variable. - -2010-05-12 Anatoly Sokolov - - * target.h (struct gcc_target): Add mode_dependent_address_p field. - * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New. - (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P. - * targhooks.c (default_mode_dependent_address_p): New function. - * targhooks.h (default_mode_dependent_address_p): Declare function. - * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New. - (GO_IF_MODE_DEPENDENT_ADDRESS): Update. - * recog.c (mode_dependent_address_p): Call mode_dependent_address_p - target hook. Change return type to bool. - * recog.h (mode_dependent_address_p): Change return type to bool. - -2010-05-12 Kazu Hirata - Nathan Froyd - - * tree-mudflap.c (build_function_type_0, build_function_type_1, - build_function_type_2, build_function_type_3): Remove. - (mudflap_init): Use build_function_type_list. - -2010-05-12 Kazu Hirata - Nathan Froyd - - * coverage.c (build_fn_info_value): Call build_constructor instead of - build_constructor_from_list. - (build_ctr_info_value): Likewise. - (build_gcov_info): Likewise. - -2010-05-12 Nathan Froyd - - * tree.c (build_constructor): Compute TREE_CONSTANT for the - resultant constructor. - (build_constructor_single): Don't set TREE_CONSTANT. - (build_constructor_from_list): Don't compute TREE_CONSTANT. - -2010-05-12 Jan Hubicka - - * cgraph.h (struct varpool_node): Add aux. - * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes. - * varpool.c (varpool_remove_node): Do not remove initializer. - (varpool_reset_queue): Export. - (varpool_finalize_decl): Volatile vars are forced to be output. - * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of - replaced decl. - * ipa.c (enqueue_cgraph_node, enqueue_varpool_node, - process_references, varpool_can_remove_if_no_refs): New functions. - (cgraph_remove_unreachable_nodes): Handle variables too. - -2010-05-12 H.J. Lu - - PR target/44088 - * config/i386/sse.md (*avx_vmmaskcmp3): New. - -2010-05-12 Jakub Jelinek - - PR middle-end/44085 - * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK, - change value of ORT_TASK. - (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK. - (omp_notice_threadprivate_variable): New function. - (omp_notice_variable): Call it for threadprivate variables. - If enclosing ctx is a task, print enclosing task rather than - enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK. - (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK - if task has untied clause. - - PR debug/42278 - * dwarf2out.c (base_type_die): Don't add name attribute here. - (modified_type_die): Instead of sizetype use - its underlying original type. If a DW_TAG_base_type doesn't - have name added, add __unknown__. - (dwarf2out_imported_module_or_decl_1): Don't call base_type_die, - always call force_type_die instead. - -2010-05-12 Maxim Kuvyrkov - - * targhooks.c (default_stack_protect_guard): Avoid sharing RTL - for __stack_chk_guard. - -2010-05-11 Jakub Jelinek - - * c-opts.c (c_common_parse_file): If start_end_main_source_file, - don't call start_source_file debug hook here... - (finish_options): ... but here, after outputting predefined and - command line defines and undefs. - - PR middle-end/44071 - * cfglayout.c (fixup_reorder_chain): Allow asm goto to have - no fallthru edge. - * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode - optimizing away empty bb with no successors, move over its - footer chain to fallthru predecessor. - * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND. - (rtl_split_edge): For asm goto call patch_jump_insn even if - splitting fallthru edge. - - PR c++/44059 - * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object - even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls. - * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise. - * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY - on DW.ref.* decls. - - PR c++/44062 - * c-parser.c (c_parser_expression): Mark LHS of a comma - expression as read if it is a decl, handled component or - COMPOUND_EXPR with that on the RHS. - * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR - if it is a decl or handled component. - -2010-05-11 Jan Hubicka - - * lto-symtab.c (lto_symtab_free): New function. - * lto-streamer.h (lto_symtab_free): Declare. - -2010-05-11 Jan Hubicka - - * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume - that if function is needed it is reachable. - (lto_output_node): See if it the function is reachable or referenced. - (output_cgraph): Update call of lto_output_node. - * lto-streamer.h (reachable_from_other_partition_p): Declare. - -2010-05-11 Jan Hubicka - - * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__): - Mark as used. - -2010-05-11 Jan Hubicka - - PR tree-optimize/44063 - * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of - queue. - (cgraph_decide_inlining_of_small_function): Skip check when disrgarding - limits. - (estimate_function_body_sizes): Compute sizes even when disregarding. - -2010-05-11 Kai Tietz - - * collect2.c (maybe_lto_object_file): Add x64-coff magic and check. - -2010-05-11 Jan Hubicka - - * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes - into every boundary. - -2010-05-11 Jan Hubicka - - * matrix-reorg.c (matrix_reorg): Rebuild edges. - -2010-05-11 Jan Hubicka - - * lto-streamer.c (lto_streamer_cache_add_to_node_array, - lto_streamer_cache_delete): Put nodes into heap. - * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in - heap. - -2010-05-11 Jan Hubicka - - * cgraphbuild.c (cgraph_rebuild_references): New. - * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized - out extern inlines. - * cgraph.h (cgraph_rebuild_references): Declare. - * tree-inline.c (tree_function_versioning): Use it. - * ipa-struct-reorg.c (do_reorg_for_func): Likewise. - -2010-05-11 Jan Hubicka - - * cgraph.c: Include ipa-utils.h - (cgraph_create_virtual_clone): Update references. - * Makefile.in (cgraph.o): Add dependency at ipa-utils.h - -2010-05-11 Christian Borntraeger - - * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset - prefetch_before to PREFETCH_ALL if to accesses "meet" beyond - cache size. - -2010-05-11 Christian Borntraeger - - * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches. - -2010-05-11 Jakub Jelinek - - * gcc.c (execute): For -### don't quote arguments that - contain just alphanumerics and _/-. characters. - * doc/invoke.texi: Document that change for -###. - - PR debug/44023 - * df-problems.c (struct dead_debug): Add to_rescan field. - (dead_debug_init): Clear to_rescan field. - (dead_debug_finish): Rescan all debug insns in to_rescan - bitmap and free the bitmap. - (dead_debug_insert_before): Instead of rescanning debug insns - immediately queue their rescanning until dead_debug_finish. - (df_note_bb_compute): After dead_debug_add do continue instead - of break. - -2010-05-10 Jakub Jelinek - - PR debug/44028 - * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC, - clear also INSN_REG_USE_LIST. - -2010-05-10 Rainer Orth - - * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef. - -2010-05-10 Jan Hubicka - - * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally - commited change. - -2010-05-10 Jan Hubicka - - * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries): - Allocate encoders. - * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here. - * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool. - (lto_streamer_cache_create): Init alloc pool. - (lto_streamer_cache_delete): Free alloc pool. - * lto-streamer.h: Include alloc pool. - (lto_streamer_cache_d): Use alloc pool. - * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states. - -2010-05-10 Jan Hubicka - - * Makefile.in (cgraphbuild.o): Add dependency on except.h. - * cgraphbuild.c: Include except.h - (record_type_list, record_eh_tables): New function. - (build_cgraph_edges, rebuild_cgraph_edges): Use it. - -2010-05-10 Jan Hubicka - - * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry, - __frame_dummy_init_array_entry, force_to_data): Attribute as used - rather than unused. - -2010-05-10 Michael Matz - - * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg. - (can_reassociate_p): Use FLOAT_TYPE_P. - * tree-vectorizer.h (vect_is_simple_reduction): Rename to ... - (vect_force_simple_reduction): ... this. - * tree-parloops.c (gather_scalar_reductions): Use - vect_force_simple_reduction. - * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from - vect_is_simple_reduction, add modify argument, if true rewrite - "a-b" into "a+(-b)". - (vect_is_simple_reduction, vect_force_simple_reduction): New - functions. - (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction. - -2010-05-10 H.J. Lu - Vladimir Makarov - - PR rtl-optimization/44012 - * ira-build.c (remove_unnecessary_allocnos): Nullify - regno_allocno_map of the removed allocno. - -2010-05-10 Rainer Orth - - * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors - to /dev/null. - * configure: Regenerate. - -2010-05-10 Rainer Orth - - * config/sol2.c (solaris_assemble_visibility): Declare decl, vis - unused. - Define visibility_types, name, type inside HAVE_GAS_HIDDEN. - * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility - support in Sun ld. - * configure: Regenerate. - -2010-05-10 Richard Guenther - - * lto-symtab.c (lto_symtab_entry_marked_p): Make entry - marked if the entry identifier is marked. - -2010-05-10 Richard Guenther - - * c-common.c (struct c_common_attributes): Add fnspec attribute. - (handle_fnspec_attribute): New function. - * gimple.h (gimple_call_return_flags): Declare. - (gimple_call_arg_flags): Likewise. - * gimple.c (gimple_call_arg_flags): New function. - (gimple_call_return_flags): Likewise. - * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED): - New argument flags. - (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function - return value flags. - * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args. - * tree-ssa-structalias.c (make_constraint_from_heapvar): Split - main work to ... - (make_heapvar_for): ... this new function. - (handle_rhs_call): Handle fnspec attribute argument specifiers. - (handle_lhs_call): Likewise. - (find_func_aliases): Adjust. - -2010-05-10 Richard Guenther - - PR tree-optimization/44050 - * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag. - -2010-05-10 Wei Guozhi - - PR target/42879 - * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern. - -2010-05-09 Joseph Myers - - PR c/10676 - * c-typeck.c (lookup_field): Take a type directly. Update - recursive calls. - (build_component_ref): Update call to lookup_field. - (set_init_label): Use lookup_field to find initialized field. - Handle returned list of fields like a sequence of designators. - -2010-05-09 Richard Guenther - - PR middle-end/44024 - * fold-const.c (tree_single_nonzero_warnv_p): Properly - handle &FUNCTION_DECL. - -2010-05-09 Joseph Myers - - PR c/4784 - * c-decl.c (detect_field_duplicates_hash): New. Handle anonymous - structures and unions recursively. - (detect_field_duplicates): Move duplicate detection with a hash to - detect_field_duplicates_hash. Always use a hash if anonymous - structures or unions are present. - * doc/extend.texi (Unnamed Fields): Document that duplicate fields - give errors. - -2010-05-09 H.J. Lu - - PR target/44046 - * config/i386/driver-i386.c (host_detect_local_cpu): Properly - detect Atom, Core 2 and Core i7. - -2010-05-09 Richard Guenther - - * gcc.c (store_arg): Handle temporary file deletion for - joined arguments. - -2010-05-09 Richard Guenther - - PR middle-end/44043 - * ipa-inline.c (estimate_function_body_sizes): Return after - disregarding inline limits. - -2010-05-09 Richard Guenther - - * gcc.c (store_arg): Revert last change. - -2010-05-08 Sandra Loosemore - - PR middle-end/28685 - * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function. - (optimize_ops_list): Call it. - -2010-05-08 Richard Guenther - - PR tree-optimization/44030 - * tree-ssa-pre.c (eliminate): Copy NECESSARY flag. Set - NECESSARY flag if we propagate from a inserted expression. - -2010-05-08 Eric Botcazou - - * gimple.c (gimple_types_compatible_p) : Treat bounds of - domain types as equal if they are both PLACEHOLDER_EXPRs. - -2010-05-08 Richard Guenther - - * lto-wrapper.c (run_gcc): Remove linker output from - command line for LTRANS invocation. - -2010-05-07 Steven Bosscher - - * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add - lto-macho as lto_binary_reader. - * target.h (struct gcc_target): New hooks lto_start and lto_end. - * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define. - * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation - in lto_start and lto_end calls. - (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O - magic numbers. - (scan_prog_file): Update is_elf_or_coff call. - * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document. - - * collect2.c (main): Fix enum comparison. - - * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end): - Add prototypes. - * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker. - * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START - and TARGET_ASM_LTO_END. - * darwin.c: Include obstack.h and lto-streamer.h. - (lto_section_names_offset, lto_section_names_obstack, - lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static - global variables. - (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines. - (darwin_asm_lto_start): New function. Redirect output to asm_out_file - to a temporary file. - (darwin_asm_lto_end): New function. Restore asm_out_file. - (darwin_asm_named_section): For LTO sections, replace the name with - the offset of the section name in a string table, and build this - table. - (darwin_file_start): Initialize global vars for LTO support. - (darwin_file_end): If output to asm_out_file was redirected, append it - to the proper asm_out_file here. Add the section names section. - -2010-05-07 Steven Bosscher - - * c-pragma.c (pending_weak_d, pending_weak): New. - (pending_weaks): Change the type to VEC((pending_weak,gc) *. - (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks, - handle_pragma_weak): Update the uses of pending_weaks. - -2010-05-07 Ralf Wildenhues - - PR documentation/44016 - * doc/standards.texi (Standards): Link to unversioned - cxx0x_status.html page. - -2010-05-07 Iain Sandoe - - PR target/43708 - * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P - in addition to TREE_USED, to avoid "set but unused" warnings. - -2010-05-07 Changpeng Fang - - * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New. - (is_loop_prefetching_profitable): Do not insert prefetches - when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO - times the prefetch ahead distance. - -2010-05-07 Changpeng Fang - - * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): - Account for loop unrolling in the insn-to-prefetch ratio heuristic. - (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable - the unroll_factor. - -2010-05-07 Changpeng Fang - - * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump - a diagnostic info when the insn-to-mem ratio is too small. - -2010-05-07 Richard Guenther - - * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to - the linker plugin. - (store_arg): Queue temp_filename for deletion instead of - the whole argument. - -2010-05-07 Richard Guenther - - * lto-wrapper.c (DUMPBASE_SUFFIX): Define. - (run_gcc): Handle LTRANS phase invocation. - * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS. - -2010-05-07 Jakub Jelinek - - * tree.h (TREE_ADDRESSABLE): Adjust comment to say that - this is also meaningful on PARM_DECLs and RESULT_DECLs. - -2010-05-07 Rainer Orth - - * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r. - -2010-05-07 Richard Guenther - - PR tree-optimization/44020 - * tree-ssa-pre.c (execute_pre): Do not remove dead inserted - code when PRE is not yet initialized. - -2010-05-07 Rainer Orth - - * config/mips/dbxmdebug.h: Remove. - * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h. - -2010-05-07 Shujing Zhao - - * c-typeck.c (build_binary_op): Warn ordered comparison of pointer - with null pointer and also warn about ordered comparison of zero with - pointer if -Wextra. - -2010-05-05 Andreas Simbuerger - - * graphite-blocking.c - (pbb_strip_mine_profitable_p): Replace Value with mpz_t. - * graphite-clast-to-gimple.c - (clast_to_gcc_expression): Same. - (precision_for_value): Same. - (precision_for_interval): Same. - (gcc_type_for_interval): Same. - (graphite_create_new_guard): Same. - (compute_bounds_for_level): Same. - (graphite_create_new_loop_guard): Same. - * graphite-interchange.c - (build_linearized_memory_access): Same. - (pdr_stride_in_loop): Same. - (memory_strides_in_loop_1): Same. - (memory_strides_in_loop): Same. - (extend_scattering): Same. - (psct_scattering_dim_for_loop_depth): Same. - (pbb_number_of_iterations): Same. - * graphite-poly.h - (debug_iteration_domains): Same. - * graphite-ppl.c - (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same. - (ppl_set_inhomogeneous_gmp): Same. - (ppl_strip_loop): Same. - (ppl_lexico_compare_linear_expressions): Same. - (ppl_read_polyhedron_matrix): Same. - (ppl_max_for_le_pointset): Same. - * graphite-ppl.h - (ppl_read_polyhedron_matrix): Same. - (tree_int_to_gmp): Same. - (gmp_cst_to_tree): Same. - (ppl_set_inhomogeneous): Same. - (ppl_set_inhomogeneous_tree): Same. - (ppl_set_coef): Same. - (ppl_set_coef_tree): Same. - * graphite-sese-to-poly.c - (build_pbb_scattering_polyhedrons): Same. - (build_scop_scattering): Same. - (scan_tree_for_params_right_scev): Same. - (scan_tree_for_params): Same. - (find_params_in_bb): Same. - (find_scop_parameters): Same. - (add_upper_bounds_from_estimated_nit): Same. - (build_loop_iteration_domains): Same. - (add_condition_to_domain): Same. - (pdr_add_memory_accesses): Same. - -2010-05-05 Andreas Simbuerger - - * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve - CLooG's value_* macros to their respective mpz_* counterparts. - * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same. - (graphite_create_new_loop_guard): Same. - * graphite-interchange.c (build_linearized_memory_access): Same. - (pdr_stride_in_loop): Same. - (memory_strides_in_loop_1): Same. - (1st_interchange_profitable_p): Same. - * graphite-poly.c (extend_scattering): Same. - (psct_scattering_dim_for_loop_depth): Same. - (pbb_number_of_iterations): Same. - (pbb_number_of_iterations_at_time): Same. - * graphite-poly.h (new_1st_loop): Same. - * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same. - (oppose_constraint): Same. - (insert_constraint_into_matrix): Same. - (ppl_set_inhomogeneous_gmp): Same. - (ppl_set_coef_gmp): Same. - (ppl_strip_loop): Same. - (ppl_lexico_compare_linear_expressions): Same. - (ppl_max_for_le_pointset): Same. - (ppl_min_for_le_pointset): Same. - (ppl_build_realtion): Same. - * graphite-ppl.h (gmp_cst_to_tree): Same. - (ppl_set_inhomogeneous): Same. - (ppl_set_inhomogeneous_tree): Same. - (ppl_set_coef): Same. - (ppl_set_coef_tree): Same. - * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same. - (build_scop_scattering): Same. - (add_value_to_dim): Same. - (scan_tree_for_params_right_scev): Same. - (scan_tree_for_params_int): Same. - (scan_tree_for_params): Same. - (find_params_in_bb): Same. - (find_scop_parameters): Same. - (add_upper_bounds_from_estimated_nit): Same. - (build_loop_iteration_domains): Same. - (create_linear_expr_from_tree): Same. - (add_condition_to_domain): Same. - (pdr_add_memory_accesses): Same. - -2010-05-06 Magnus Fromreide - Jason Merrill - - * c-common.c (c_common_reswords): Add nullptr. - * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids. - * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE. - (gen_type_die_with_usage): Likewise. - * dbxout.c (dbxout_type): Likewise. - * sdbout.c (plain_type_1): Likewise. - -2010-05-06 Jason Merrill - - * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate. - Don't change GS_OK to GS_ALL_DONE. Make sure that all cases set - ret appropriately. - (gimplify_compound_lval): Return GS_ALL_DONE as appropriate. - - * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for - stripping WITH_SIZE_EXPR. - (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't - change. - -2010-05-06 Rainer Orth - - * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from - list of obsolete configurations. - Disabled check for obsolete configurations. - (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*. - Removed support for previous versions. - * config/mips/iris.h: Removed. - * config/mips/iris5.h: Removed. - * config/mips/iris6.h: Merged old iris.h contents. - (TARGET_IRIX): Removed. - (DRIVER_SELF_SPECS): Removed mabi=32. - (IDENT_ASM_OP): Removed undef. - (STARTFILE_SPEC): Removed mabi=32. - (ENDFILE_SPEC): Likewise. - (IRIX_SUBTARGET_LINK_SPEC): Likewise. - (MACHINE_TYPE): Update for IRIX 6.5. - * config/mips/mips.c (mips_build_builtin_va_list): Replaced - TARGET_IRIX by TARGET_IRIX6. - (mips_file_start): Likewise. - (mips_output_external): Remove IRIX 5/6 O32 support. - (mips_output_function_prologue): Likewise. - * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by - TARGET_IRIX6. - (TARGET_CPU_CPP_BUILTINS): Likewise. - (TARGET_IRIX): Removed. - * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32. - (MULTILIB_DIRNAMES): Removed 32. - (MULTILIB_OSDIRNAMES): Removed ../lib. - * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5. - (Specific, mips-sgi-irix5): Document removal. - (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal. - Remove references to older IRIX 6 releases and the O32 ABI. - -2010-05-06 Jakub Jelinek - - PR bootstrap/43994 - * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC - instead of DF_REF_REAL_REG. - -2010-05-06 Dave Korn - - PR target/43888 - * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol - handling to still return true for x64 targets. - -2010-05-06 Maxim Kuvyrkov - - * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h. - -2010-05-06 Jan Hubicka - - PR tree-optimization/43791 - * ipa-inline.c (update_caller_keys): Remove bogus - disregard_inline_limits check. - -2010-05-06 Michael Matz - - PR tree-optimization/43984 - * tree-ssa-pre.c (inserted_phi_names): Remove. - (inserted_exprs): Change to bitmap. - (create_expression_by_pieces): Set bits, don't append to vector. - (insert_into_preds_of_block): Don't handle inserted_phi_names. - (eliminate): Don't look at inserted_phi_names, remove deleted - insns from inserted_exprs. - (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors. - (init_pre, fini_pre): Allocate and free bitmaps. - (execute_pre): Insert insns on edges before elimination. - -2010-05-06 Maxim Kuvyrkov - - * tree.c (initializer_zerop): Handle STRING_CST. - -2010-05-06 Manuel López-Ibáñez - - PR 40989 - * doc/invoke.texi (Wimplicit): Document as C only. - * opts.c (common_handle_option): Add argument kind. - (handle_option): Rename as read_cmdline_option. Factor out code to... - (handle_option): ... here. New. - (handle_options): Rename as read_cmdline_options. - (decode_options): Update call. - (set_option): Use option index instead of option pointer. Classify - diagnostics correctly. - (enable_warning_as_error): Call handle_option. - * opts.h (set_option): Update declaration. - (handle_option): Declare. - * langhooks.h (struct lang_hooks): Add argument kind to handle_option. - * c.opt (Wimplicit,Wimplicit-int): Initialize to -1. - * c-opts.c (set_Wimplicit): Delete. - (c_family_lang_mask): New static constant. - (c_common_handle_option): Add argument kind. Use handle_option - instead of set_Wimplicit. - (c_common_post_options): warn_implicit and warn_implicit_int - are disabled by default. - * c-common.c (warn_implicit): Do not define here. - * c-common.h (warn_implicit): Do not declare here. - (c_common_handle_option): Update declaration. - * lto-opts.c (lto_reissue_options): Update call to set_option. - -2010-05-06 Richard Guenther - - PR tree-optimization/43571 - * domwalk.c (walk_dominator_tree): Walk the dominator - sons in more optimal order. - -2010-05-06 Richard Guenther - - PR tree-optimization/43934 - * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes. - (stmt_cost): Likewise. - (extract_true_false_args_from_phi): New helper. - (determine_max_movement): For PHI nodes verify we can hoist them - and compute their cost. - (determine_invariantness_stmt): Handle PHI nodes. - (move_computations_stmt): Likewise. Hoist PHI nodes in - if-converted form using COND_EXPRs. - (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes. - (tree_ssa_lim): Likewise. - * tree-flow.h (tree_ssa_lim): Adjust prototype. - * tree-ssa-loop.c (tree_ssa_loop_im): Return todo. - -2010-05-06 Richard Guenther - - PR tree-optimization/43987 - * tree-ssa-structalias.c (could_have_pointers): For possibly - address-taken variables force pointers to be recorded. - (create_variable_info_for_1): Likewise. - (push_fields_onto_fieldstack): Pass in wheter all fields - must have pointers. - (find_func_aliases): Query types instead of vars whether - they contain pointers where appropriate. - -2010-05-06 Jan Hubicka - - * cgraphbuild.c (record_reference_ctx): Add varpool_node. - (record_reference, mark_address, mark_load, mark_store): Record - references. - (record_references_in_initializer): Update call of record_references. - (rebuild_cgraph_edges): Remove all references before rebuiding. - * cgraph.c (cgraph_create_node): Clear ref list. - (cgraph_remove_node): Remove references. - (dump_cgraph_node): Dump references. - (cgraph_clone_node): Clone references. - * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h - (struct cgraph_node, varpool_node): Add ref_lst. - * ipa-ref.c: New file. - * ipa-ref.h: New file. - * ipa-ref-inline.h: New file. - * lto-cgraph.c (output_varpool): Take cgrag node set argument. - (referenced_from_other_partition_p): New function. - (lto_output_varpool_node): Take set arugment; call - referenced_from_other_partition. - (lto_output_ref): New. - (add_references): New. - (output_refs): New. - (output_cgraph): Compute boundary based on references; output refs. - (output_varpool): Accept cgraph_node_set argument. - (input_ref): New. - (input_refs): New. - (input_cgraph): Call input_refs. - * lto-section-in.c (lto_section_name): Add refs. - * Makefile.in (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h - (ipa-ref.o): New file. - * varpool.c (varpool_node): Clear ipa ref list. - (varpool_remove_node): Remove references. - (dump_varpool_node): Dump references. - (varpool_assemble_decl): Only compile finalized ones. - (varpool_extra_name_alias): Initialize ref list. - * lto-streamer.c (lto-get_section_name): Add .refs section. - * lto-streamer.h (lto_section_type): Add LTO_section_refs. - (referenced_from_other_partition_p): Declared. - -2010-05-06 Ira Rosen - - PR tree-optimization/43901 - * tree-vect-stmts.c (vectorizable_call): Assert that vector - type is not NULL if it's transformation phase, and return - FALSE if it's analysis. - (vectorizable_conversion, vectorizable_operation, - vectorizable_type_demotion, vectorizable_type_promotion): Likewise. - -2010-05-05 Andrew Pinski - - * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): - Delete. - * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): - New define. - * config/mips/mips-protos.h - (mips_small_register_classes_for_mode_p): Delete prototype. - -2010-05-06 Bernd Schmidt - - * config/arm/arm.h (MAX_LDM_STM_OPS): New macro. - * config/arm/arm.c (multiple_operation_profitable_p, - compute_offset_order): New static functions. - (load_multiple_sequence, store_multiple_sequence): Use them. - Replace constant 4 with MAX_LDM_STM_OPS. Compute order[0] from - memory offsets, not register numbers. - (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS. - -2010-05-05 Steven Bosscher - - * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *. - (get_pending_sizes, put_pending_size, put_pending_sizes): - Update the uses of pending_sizes. - * c-decl.c (store_parm_decls): Likewise. - * c-tree.h (struct c_arg_info): Likewise. - * tree.h: Update the prototype for get_pending_sizes and - put_pending_sizes. - -2010-05-05 Jason Merrill - - PR debug/43370 - * c-common.c (handle_aligned_attribute): Respect - ATTR_FLAG_TYPE_IN_PLACE. - - PR testsuite/43758 - * target.h (struct gcc_target): Add attribute_takes_identifier_p. - * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define. - (TARGET_INITIALIZER): Use it. - * c-common.c (attribute_takes_identifier_p): Call it. - * c-common.h: Update prototype. - * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New. - (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define. - -2010-05-05 Jakub Jelinek - - PR debug/43950 - * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case - DW_ID_down_case for Fortran compilation units. - -2010-05-05 Jan Hubicka - - * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly - handle aliases. - -2010-05-05 Eric Botcazou - - * gimplify.c (gimplify_return_expr): Gimplify the size expressions of - a variable-sized RESULT_DECL. - -2010-05-05 Maxim Kuvyrkov - - * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM. - -2010-05-05 Jason Merrill - - PR c++/43787 - * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr - returns GS_OK. - (gimplify_modify_expr_rhs): Return GS_OK if anything changed. - -2010-05-05 Alexandre Oliva - Jakub Jelinek - - PR debug/43478 - * df-problems.c (struct dead_debug_use, struct dead_debug): New. - (dead_debug_init, dead_debug_finish): New functions. - (dead_debug_add, dead_debug_insert_before): Likewise. - (df_note_bb_compute): Initialize a dead_debug object, add dead - debug uses to it, insert debug bind insns before death insns, - reset debug insns that refer to pending uses at the end. - * rtl.h (make_debug_expr_from_rtl): New prototype. - * varasm.c (make_debug_expr_from_rtl): New function. - -2010-05-05 Jan Hubicka - - * lto-cgraph.c (output_varpool): Forward declare; work on encoder. - (lto_varpool_encoder_new, lto_varpool_encoder_delete, - lto_varpool_encoder_encode, lto_varpool_encoder_lookup, - lto_varpool_encoder_deref, lto_varpool_encoder_size, - lto_varpool_encoder_encode_initializer_p, - lto_set_varpool_encoder_encode_initializer): New functions. - (lto_output_cgraph): Take vset parameter too; compute varpool encoder; - call output_varpool. - (input_varpool_node): Do not always set analyzed. - (input_cgraph_1): Return vector of cgraph nodes. - (input_varpool_1): Return vector of varpools. - (input_cgraph): Free the vectors. - * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers): - output only initializers needed. - (lto_output): Only call output_cgraph. - (produce_asm_for_decls): Call lto_varpool_encoder_delete. - * lto-section-out.c (lto_new_out_decl_state): Initialize - state->varpool_node_encoder. - * lto-streamer.h (lto_varpool_encoder_d): New. - (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder. - (lto_cgraph_encoder_delete, output_cgraph): Update prototype. - (lto_varpool_encoder_deref, lto_varpool_encoder_lookup, - lto_varpool_encoder_encode, lto_varpool_encoder_delete, - lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new): - Declare. - (output_varpool, input_varpool): Remove declarations. - -2010-05-05 Jan Hubicka - - * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable - with body can prevail. - -2010-05-05 Jan Hubicka - - * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with - size. - -2010-05-05 Laurynas Biveinis - - * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies. - - * gengtype.h (erro_at_line): Constify pos argument. - - * gengtype.c: Include hashtab.h. - (enum gc_used): Document GC_MAYBE_POINTED_TO. - (error_at_line): Constify pos argument. - (do_typedef): Initialize p->opt field. - (get_file_gtfilename): Fix comment typo. - (struct walk_type_data): Constify line field. - (get_output_file_for_structure): New function. - (write_local_func_for_structure): Constify orig_s argument. - Use get_output_file_for_structure. - (write_func_for_structure): Use get_output_file_for_structure. - (INDENT): New define. - (dump_pair, dump_type, dump_type_list, dump_typekind) - (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s) - (dump_type_u_a, dump_type_u_param_struct, dump_everything): New - functions. - (seen_types): New variable. - (main): New variable do_dump. Process "-d" command line option. - Call dump_everything if dump requested. - -2010-05-05 Jakub Jelinek - - * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value - in a temporary instead of invoking the macro multiple times. - (track_expr_p): Likewise. - -2010-05-04 Neil Vachharajani - - * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as - per new semantics. - * opts.c (decode_options): Enable -Werror=coverage-mismatch. - * coverage.c (get_coverage_counts): Always emit a warning. Adjust - conditions for printing notes. - * common.opt (-Wcoverage-mismatch): Allow negative, default to - true, update documentation. - * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h. - -2010-05-04 Jakub Jelinek - - PR c/43981 - * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read - on dimen. - -2010-05-04 H.J. Lu - - PR target/43799 - * config/i386/i386.md (sse_prologue_save): Clobber CC register. - (*sse_prologue_save_insn1): Likewise. - (SSE prologue save splitter): Likewise. - -2010-05-04 Eric Botcazou - - * tree.c (free_lang_data_in_one_sizepos): New inline function. - (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical - types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types. - (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of - all decls. Call it on DECL_FIELD_OFFSET of fields. - (find_decls_types_r): Follow DECL_VALUE_EXPR. - (iterative_hash_expr) : New case. - -2010-05-04 Martin Jambor - - * tree-sra.c (build_access_from_expr_1): The first parameter type - changed to simple tree. - (build_access_from_expr): Likewise, gsi parameter was eliminated. - (scan_assign_result): Renamed to assignment_mod_result, enum elements - renamed as well. - (build_accesses_from_assign): Removed all parameters except for a - simple gimple statement. Now returns a simple bool. - (scan_function): All non-analysis parts moved to separate functions - sra_modify_function_body and ipa_sra_modify_function_body. Removed all - parameters and updated both callers. - (sra_modify_expr): Removed parameter data. - (sra_modify_function_body): New function. - (perform_intra_sra): Call sra_modify_function_body to modify the - function body. - (replace_removed_params_ssa_names): Parameter data changed into - adjustments vector. - (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and - changed the parameter dont_convert to convert with the opposite - meaning. - (sra_ipa_modify_assign): Parameter data changed into adjustments - vector, return value changed to bool. - (ipa_sra_modify_function_body): New function. - (sra_ipa_reset_debug_stmts): Updated a comment. - (modify_function): Use ipa_sra_modify_function_body to modify function - body. - -2010-05-04 H.J. Lu - - PR middle-end/43671 - * alias.c (true_dependence): Handle the same VALUE in x and mem. - (canon_true_dependence): Likewise. - (write_dependence_p): Likewise. - -2010-05-04 Jan Hubicka - - * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h - * cgraphbuild.c: Include ipa-utils.h - (record_reference_ctx): New struct. - (record_reference): Simplify to work on initializers; not statements. - (mark_address, mark_load, mark_store): New. - (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops; - walk PHI nodes too. - (record_references_in_initializer): Update use of record_reference. - (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops; - walk PHI nodes too. - -2010-05-04 Jan Hubicka - - * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges; - node will be removed anyway. - (lto_varpool_replace_node): Allow also unanalyzed nodes; - relink aliases of node into prevailing node. - * varpool.c (varpool_remove_node): Remove aliases properly; - when removing node, remove all its aliases too; remove DECL_INITIAL - of removed node; ggc_free the varpool node. - -2010-05-04 Richard Guenther - - PR tree-optimization/43879 - * tree-ssa-structalias.c (alias_get_name): Use - DECL_ASSEMBLER_NAME if available. - (create_function_info_for): Return the varinfo node. - (ipa_pta_execute): Associate same-body aliases and extra names - with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME. - -2010-05-04 Kaz Kojima - - * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static. - -2010-05-04 Mikael Pettersson - - PR bootstrap/43964 - * ira-color.c (assign_hard_reg): Declare rclass and add_cost - only if HONOR_REG_ALLOC_ORDER is not defined. - -2010-05-04 Richard Guenther - - PR tree-optimization/43949 - * tree-vrp.c (extract_range_from_binary_expr): Only handle - TRUNC_MOD_EXPR. - -2010-04-26 Jason Merrill - - * c.opt (-fstrict-enums): New. - * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums. - -2010-05-03 David Ung - James E. Wilson - - * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS, - emit the trap instruction before the divide for TUNE_74K. - -2010-05-03 Steven Bosscher - - * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. - (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation, - based on the above, for new target hook. - - * hooks.c (hook_bool_mode_true): New generic hook. - * hooks.h (hook_bool_mode_true): Add prototype. - - * target.h (struct gcc_target): Add small_register_classes_for_mode_p - target hook. - * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default - target hook, set to hook_bool_mode_false. - * regs.h: Remove default definition of SMALL_REGISTER_CLASSES. - * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES - with targetm.small_register_classes_for_mode_p. - (find_reusable_reload): Likewise. - (combine_reloads): Likewise. - * reload1.c (reload_as_needed): Likewise. - * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise. - * ifcvt.c (noce_process_if_block, check_cond_move_block, - dead_or_predicable): Likewise. - * regmove.c (optimize_reg_copy_1): Likewise. - * calls.c (prepare_call_address): Likewise. - (precompute_register_parameters): Likewise. - - * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target - hook definition. - * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add - implementation of the hook that considers all register classes - small except for SH64. - (sh_override_options): Use the new hook. - * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p): - Add prototype. - - * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target - hook definition. - * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add - implementation of the hook that considers all register classes - small for THUMB1. - * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p): - Add prototype. - - * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target - hook definition. - * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add - implementation of the hook that considers all register classes - small for MIPS16. - * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p): - Add prototype. - - * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target - hook definition. - * config/m32c/m32c.h: Likewise. - * config/pdp11/pdp11.h: Likewise. - * config/avr/avr.h: Likewise. - * config/xtensa/xtensa.h: Likewise. - * config/m68hc11/m68hc11.h: Likewise. - * config/mn10300/mn10300.h: Likewise. - * config/mcore/mcore.h: Likewise. - * config/h8300/h8300.h: Likewise. - * config/bfin/bfin.h: Likewise. - - * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition. - * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition. - -2010-05-03 Anatoly Sokolov - - * double-int.h (tree_to_double_int): Remove macro. - (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ... - * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here. - (tree_to_double_int): New function. - * double-int.c (double_int_to_tree, double_int_fits_to_tree_p): - Move ... - * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here. - -2010-05-03 Richard Guenther - - PR tree-optimization/43971 - * tree-ssa-structalias.c (get_constraint_for_1): Fix - constraints in the !flag_delete_null_pointer_checks case. - -2010-05-03 Jakub Jelinek - - PR debug/43972 - * config/i386/i386.c (ix86_delegitimize_address): Make sure the - result mode matches original rtl mode. - -2010-05-03 Dave Korn - - PR target/43888 - * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls. - -2010-05-02 Uros Bizjak - - * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa', - when processing flag options. - -2010-05-02 Uros Bizjak - - * gcov-iov.c (main): Change format string placeholder - from %#08x to 0x%08x. - * genchecksum.c (dosum): Change format string placeholder - from %#02x to 0x%02x. - -2010-05-02 Richard Guenther - - PR tree-optimization/43879 - * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls. - -2010-05-02 Bruno Haible - - * doc/extend.texi (Function Attributes): Fix a typo. - -2010-05-02 Uros Bizjak - - Revert: - * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string - placeholder from 0x%x to %#x. - (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto. - * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto. - * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto. - * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto. - * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto. - * config/i386/i386.c (ix86_target_string): Ditto. - * config/i386/i386.c (output_pic_addr_const): Ditto. - (print_operand): Ditto. - -2010-05-02 Uros Bizjak - - * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string - placeholder from 0x%x to %#x. - (ASM_OUTPUT_DEBUG_DATA1): Ditto. - (ASM_OUTPUT_DEBUG_DATA4): Ditto. - (ASM_OUTPUT_DEBUG_DATA): Ditto. - (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto. - (ASM_OUTPUT_DEBUG_DATA8): Ditto. - * optc-gen.awk: Ditto. - * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto. - (HOST_WIDE_INT_PRINT_HEX): Ditto. - (HOST_WIDEST_INT_PRINT_HEX): Ditto. - (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto. - -2010-05-01 Anatoly Sokolov - - * target.h (struct calls): Add function_value_regno_p field. - * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define. - (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P. - * targhooks.c (default_function_value_regno_p): New function. - * targhooks.h (default_function_value_regno_p): Declare function. - * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook. - * builtins.c. (apply_result_size): (Ditto.). - * combine.c. (likely_spilled_retval_p): (Ditto.). - * mode-switching.c. Include 'target.h'. - (create_pre_exit): Use function_value_regno_p hook. - * Makefile.in (mode-switching.o): Add dependency on TARGET_H. - * doc/tm.texi (FUNCTION_VALUE_REGNO_P, - TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation. - - * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro. - * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro. - (ix86_function_value_regno_p): Declare as static, change argument - type to const unsigned int. - * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove. - -2010-05-01 Richard Guenther - - PR tree-optimization/43949 - * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned - types. - (extract_range_from_binary_expr): Handle *_MOD_EXPR. - -2010-05-01 Anatoly Sokolov - - * rtl.h (CONST_DOUBLE_P): Define. - (rtx_to_double_int): Declare. - * emit-rtl.c (rtx_to_double_int): New function. - * dwarf2out.c (insert_double): New function. - (loc_descriptor, add_const_value_attribute): Clean up, use - rtx_to_double_int and insert_double functions. - -2010-05-01 Jonathan Wakely - - * doc/extend.texi (Inline): Add missing return keyword to examples. - (Function Attributes, Variable Attributes, Pragmas): Hyphenate - "command-line". - -2010-04-30 Eric Botcazou - - * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of - the variable part of the offset as well. Use highest_pow2_factor for - all alignment checks. - -2010-04-30 Richard Guenther - - PR tree-optimization/43879 - * tree-ssa-structalias.c (type_could_have_pointers): Functions - can have pointers. - -2010-04-30 Jan Hubicka - - * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with - varpool. - (lto_symtab_merge_decls_1): Remove logic looking for an initializer. - -2010-04-30 Jan Hubicka - - * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p): - New. - * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans. - * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p. - (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans, - cgraph_node_set_needs_ltrans_p): Remove. - -2010-04-30 Steven Bosscher - - * sdbout.c: Include vec.h, do not include varray.h. - (deferred_global_decls, sdbout_global_decl, - sdbout_finish, sdbout_init): Use VEC instead of VARRAY. - * toplev.c: Do not include varray.h. - (dump_memory_report): Do not dump VARRAY statistics. - * gengtype.c (open_base_file): Ignore varray.h. - * Makefile.in: Update for abovementioned changes. - Remove all traces of varray.c and varray.h. - * varray.c: Remove file. - * varray.h: Remove file. - -2010-04-30 Jan Hubicka - - * lto-cgraph.c (lto_output_varpool_node): Always output constant pool - references. - -2010-04-30 Jan Hubicka - - * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as - needed. - -2010-04-30 Richard Guenther - - * tree-ssa-structalias.c (get_constraint_for_1): Generate - constraints for CONSTRUCTOR. - -2010-04-30 Richard Guenther - - PR lto/43946 - * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data - first after all lowering passes. - -2010-04-30 Steven Bosscher - - * toplev.c: Include varray.h for statistics dumping. - * tree.h: Do not declare varray_head_tag. - * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c, - regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c, - c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c, - gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c, - lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c, - tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c, - c-common.c, c-common.h, reg-stack.c, basic-block.h, - tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not - include varray.h. - * Makefile.in: Update for abovementioned changes. - -2010-04-30 Jakub Jelinek - - PR debug/43942 - * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars. - -2010-04-30 Hariharan Sandanagobalane - - * config/picochip/picochip.c (picochip_legitimize_address): Define. - Use this function to do machine-specific conversion. - (picochip_legitimize_reload_address): Likewise. - (picochip_legitimate_address_p): Check valid base register only if - strict. - (picochip_check_conditional_copy): Check for modw only if opnd is - register. - * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this - to call the function in c. - * config/picochip/picochip-protos.h - (picochip_legitimize_reload_address): Define. - * config/picochip/picochip.md (supported_compare1): Define. - -2010-04-30 Jan Hubicka - - * cgraph.h (cgraph_local_info): Remove for_functions_valid. - (cgraph_global_info): Remove inlined. - (LTO_cgraph_tag_names): Remove. - (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ... - * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here; - simplify cgraph tags and document. - (lto_output_node): Use only LTO_cgraph_unavail_node and - LTO_cgraph_analyzed_node; Do not save analzed, reachable, - for_functions_valid, global info, process and output flags. - (input_overwrite_node): Initialize estimated stack size and - estimated growth. Do not read flags we no longer store. - (input_node): Likewise do not read info no longer stored. - * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined - flag. - -2010-04-30 Richard Guenther - - PR tree-optimization/43879 - * tree-ssa-structalias.c (get_constraint_for_1): Properly - handle non-zero initializers. - -2010-04-30 Richard Guenther - - * builtins.c (fold_builtin_1): Delete free (0). - -2010-04-29 Jan Hubicka - - * gengtype.c (open_base_files): Add lto-streamer.h - * cgraph.h (cgraph_local_info): lto_file_data is now in GGC. - (pass_ipa_cp): GGC collect. - * toplev. (compile_file): Do not output symbols. - * ipa-inline.c (pass_ipa_inline): Add ggc collect. - * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO, - TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New. - * lto-section-in.c: Include ggc.h - (lto_new_in_decl_state): Alloc in GGC. - (lto_delete_in_decl_state): Likewise. - * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program): - Collect. - -2010-04-29 Bernd Schmidt - - PR target/42895 - * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from - ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed. - (HONOR_REG_ALLOC_ORDER): Describe new macro. - * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined. - * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into - account only if HONOR_REG_ALLOC_ORDER is not defined. - * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define. - * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison. - -2010-04-29 Jon Grant <04@jguk.org> - - * collect2.c (vflag): Change type from int to bool. - (debug): Likewise. - (helpflag): New global bool. - (main): Set vflag and debug with boolean, not integer truth values. - Accept new "--help" option and output usage text if found. - * collect2.h (vflag): Update prototype. - (debug): Likewise. - -2010-04-29 H.J. Lu - - PR bootstrap/43936 - * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks. - -2010-04-29 Richard Guenther - - PR bootstrap/43935 - * plugin.h (invoke_plugin_callbacks): Annotate arguments - with ATTRIBUTE_UNUSED. - -2010-04-29 H.J. Lu - - PR target/43921 - * config/i386/i386.c (get_some_local_dynamic_name): Replace - INSN_P with NONDEBUG_INSN_P. - (distance_non_agu_define): Likewise. - (distance_agu_use): Likewise. - -2010-04-29 Bernd Schmidt - - From Dominique d'Humieres - PR bootstrap/43858 - * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute - test_set. - -2010-04-29 Brian Hackett - - * plugin.h (invoke_plugin_callbacks): New inline function. - * plugin.c (flag_plugin_added): New global flag. - (add_new_plugin): Initialize above flag. - (invoke_plugin_callbacks): Rename to ... - (invoke_plugin_callbacks_full): ... this. - -2010-04-28 Jan Hubicka - - * lto-symtab.c (lto_symtab_entry_def) Add vnode. - (lto_varpool_replace_node): New. - (lto_symtab_resolve_symbols): Resolve varpool nodes. - (lto_symtab_merge_decls_1): Prefer decls with varpool node. - (lto_symtab_merge_cgraph_nodes_1): Merge varpools. - * cgraph.h (varpool_node_ptr): New type. - (varpool_node_ptr): New vector. - (varpool_node_set_def): New structure. - (varpool_node_set): New type. - (varpool_node_set): New vector. - (varpool_node_set_element_def): New structure. - (varpool_node_set_element, const_varpool_node_set_element): New types. - (varpool_node_set_iterator): New type. - (varpool_node): Add prev pointers, add used_from_other_partition, - in_other_partition. - (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add, - varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set, - varpool_get_node, varpool_remove_node): Declare. - (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p, - varpool_node_set_size): New inlines. - * cgraph.c (dump_cgraph_node): Dump asm names of aliases. - * tree-pass.h (varpool_node_set_def): Forward declare. - (ipa_opt_pass_d): Summary writting takes vnode sets too. - (ipa_write_optimization_summaries): Update prototype. - * ipa-cp.c (ipcp_write_summary): Update. - * ipa-reference.c (ipa_reference_write_summary): Update. - * lto-cgraph.c (lto_output_varpool_node): New static function. - (output_varpool): New function. - (input_varpool_node): New static function. - (input_varpool_1): New function. - (input_cgraph): Input varpool. - * ipa-pure-const.c (pure_const_write_summary): Update. - * lto-streamer-out.c (lto_output): Update, output varpool too. - (write_global_stream): Kill WPA hack. - (produce_asm_for_decls): Update. - (output_alias_pair_p): Handle variables. - (output_unreferenced_globals): Output only needed partition of varpool. - * ipa-inline.c (inline_write_summary): Update. - * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build - cgraph. - * lto-section-in.c (lto_section_name): Add varpool and jump funcs. - * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element, - varpool_node_set_new, varpool_node_set_add, - varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set, - debug_varpool_node_set): New functions. - * passes.c (rest_of_decl_compilation): when in LTO do not finalize. - (execute_one_pass): Process new decls too. - (ipa_write_summaries_2): Pass around vsets. - (ipa_write_summaries_1): Likewise. - (ipa_write_summaries): Build vset; be more selective about cgraph nodes - to add. - (ipa_write_optimization_summaries_1): Pass around vsets. - (ipa_write_optimization_summaries): Likewise. - * varpool.c (varpool_get_node): New. - (varpool_node): Update doubly linked lists. - (varpool_remove_node): New. - (dump_varpool_node): More dumping. - (varpool_enqueue_needed_node): Update doubly linked lists. - (decide_is_variable_needed): Kill ltrans hack. - (varpool_finalize_decl): Kill lto hack. - (varpool_assemble_decl): Skip decls in other partitions. - (varpool_assemble_pending_decls): Update doubly linkes lists. - (varpool_empty_needed_queue): Likewise. - (varpool_extra_name_alias): Likewise. - * lto-streamer.c (lto_get_section_name): Add vars section. - * lto-streamer.h (lto_section_type): Update. - (output_varpool, input_varpool): Declare. - -2010-04-28 Mike Stump - - * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now. - -2010-04-28 Eric Botcazou - - * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for - record or union type with RECORD_OR_UNION_TYPE_P predicate. - (lto_input_ts_type_tree_pointers): Likewise. - * lto-streamer-out.c (pack_ts_type_value_fields): Likewise. - (lto_output_ts_type_tree_pointers): Likewise. - -2010-04-28 Eric Botcazou - - Uniquization of constants at the Tree level - * tree.h (DECL_IN_CONSTANT_POOL): New macro. - (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p - bit to the end. - (tree_output_constant_def): Declare. - * gimplify.c (gimplify_init_constructor): When using block copy, first - uniquize the constant constructor on the RHS. - * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with - DECL_IN_CONSTANT_POOL flag. - * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise. - * varasm.c (make_decl_rtl): Deal with variables belonging to the global - constant pool. - (assemble_variable): Deal with symbols belonging to the tree constant - pool. - (get_constant_section): Add ALIGN parameter and simplify. - (build_constant_desc): Build a VAR_DECL and attach it to the symbol. - (assemble_constant_contents): Use the expression of the VAR_DECL. - (output_constant_def_contents): Use the alignment of the VAR_DECL. - (tree_output_constant_def): New global function. - (mark_constant): Use the expression of the VAR_DECL. - (place_block_symbol): Use the alignment of the VAR_DECL and the size of - its expression. - (output_object_block): Likewise and assemble the expression. - -2010-04-28 Eric Botcazou - - * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry, - hash_tree, eq_tree): New tree hash table. - (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it. - [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get, - lto_orig_address_remove): Reimplement. - -2010-04-28 Xinliang David Li - - PR c/42643 - * tree-ssa-uninit.c (can_skip_redundant_opnd): New function. - (compute_uninit_opnds_pos): New function. - (is_non_loop_exit_postdominating): New function. - (compute_control_dep_chain): New function. - (find_pdom): New function. - (convert_control_dep_chain_into_preds): New function. - (find_predicates): New function. - (find_control_equiv_block): New function. - (collect_phi_def_edges): New function. - (find_def_preds): New function. - (find_dom): New function. - (dump_predicates): New function. - (get_cmp_code): New function. - (is_value_included_in): New function. - (find_matching_predicate_in_rest_chains): New function. - (use_pred_not_overlap_with_undef_path_pred): New function. - (is_use_properly_guarded): New function. - (normalize_cond_1): New function. - (is_and_or_or): New function. - (normalize_cond): New function. - (is_gcond_subset_of): New function. - (is_subset_of_any): New function. - (is_or_set_subset_of): New function. - (is_and_set_subset_of): New function. - (is_norm_cond_subset_of): New function. - (is_pred_expr_subset_of): New function. - (is_pred_chain_subset_of): New function. - (is_included_in): New function. - (is_superset_of): New function. - (find_uninit_use): New function. - (warn_uninitialized_phi): New function. - (compute_possibly_undefined_names): New function. - (ssa_undefined_value_p): New function. - (execute_late_warn_uninitialized): New function. - * tree-ssa.c (ssa_undefined_value_p): Removed. - (warn_uninit): Changed to extern. - (warn_uninitialized_phi): Removed. - (warn_uninitialized_vars): Changed to extern. - (execute_late_warn_uninitialized): Removed - * tree-flow.h: Add new prototypes. - * timevar.def: Add new time variable. - * Makefile.in: Add new build file. - -2010-04-28 Uros Bizjak - - * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object - type if available. - -2010-04-28 Rainer Orth - - PR target/22224 - * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine. - -2010-04-28 Martin Jambor - - * cgraph.h (struct cgraph_node): New field indirect_calls. - (struct cgraph_indirect_call_info): New type. - (struct cgraph_edge): Removed field indirect_call. New fields - indirect_info, indirect_inlining_edge and indirect_unknown_callee. - (cgraph_create_indirect_edge): Declare. - (cgraph_make_edge_direct): Likewise. - (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge. - * ipa-prop.h (struct ipa_param_call_note): Removed. - (struct ipa_node_params): Removed field param_calls. - (ipa_create_all_structures_for_iinln): Declare. - * cgraph.c: Described indirect edges and uids in initial comment. - (cgraph_add_edge_to_call_site_hash): New function. - (cgraph_edge): Search also among the indirect edges, use - cgraph_add_edge_to_call_site_hash to add edges to the call site hash. - (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct - one, use cgraph_add_edge_to_call_site_hash to add edges to the call - site hash. - (initialize_inline_failed): Assign a reason to indirect edges. - (cgraph_create_edge_1): New function. - (cgraph_create_edge): Moved some functionality to - cgraph_create_edge_1. - (cgraph_create_indirect_edge): New function. - (cgraph_edge_remove_callee): Add an assert checking for - non-indirectness. - (cgraph_edge_remove_caller): Special-case indirect edges. - (cgraph_remove_edge): Likewise. - (cgraph_set_edge_callee): New function. - (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee. - (cgraph_make_edge_direct): New function. - (cgraph_update_edges_for_call_stmt_node): Do nothing only when also - the declaration of the call statement matches. - (cgraph_node_remove_callees): Special-case indirect edges. - (cgraph_clone_edge): Likewise. - (cgraph_clone_node): Clone also the indirect edges. - (dump_cgraph_node): Dump indirect_inlining_edge flag instead of - indirect_call, dump count of indirect_calls edges. - * ipa-prop.c (iinlining_processed_edges): New variable. - (ipa_note_param_call): Create indirect edges instead of - creating notes. New parameter node. - (ipa_analyze_call_uses): New parameter node, pass it on to - ipa_note_param_call. - (ipa_analyze_stmt_uses): Likewise. - (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses. - (print_edge_addition_message): Work on edges rather than on notes. - (update_call_notes_after_inlining): Likewise, renamed to - update_indirect_edges_after_inlining. - (ipa_create_all_structures_for_iinln): New function. - (ipa_free_node_params_substructures): Do not free notes. - (ipa_edge_duplication_hook): Propagate bits within - iinlining_processed_edges bitmap. - (ipa_node_duplication_hook): Do not duplicate notes. - (free_all_ipa_structures_after_ipa_cp): Renamed to - ipa_free_all_structures_after_ipa_cp. - (free_all_ipa_structures_after_iinln): Renamed to - ipa_free_all_structures_after_iinln. - (ipa_write_param_call_note): Removed. - (ipa_read_param_call_note): Removed. - (ipa_write_indirect_edge_info): New function. - (ipa_read_indirect_edge_info): Likewise. - (ipa_write_node_info): Do not stream notes, do stream information - in indirect edges. - (ipa_read_node_info): Likewise. - (lto_ipa_fixup_call_notes): Removed. - * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL. - * ipa-inline.c (pass_ipa_inline): Likewise. - * cgraphunit.c (verify_cgraph_node): Check also indirect edges. - * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason. - * tree-inline.c (copy_bb): Removed an unnecessary double check for - is_gimple_call. - * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect - edges. - * lto-cgraph.c (output_outgoing_cgraph_edges): New function. - (output_cgraph): Stream also indirect edges. - (lto_output_edge): Added capability to stream indirect edges. - (input_edge): Likewise. - (input_cgraph_1): Likewise. - * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements - of indirect edges. - -2010-04-28 Richard Guenther - - PR tree-optimization/43879 - PR tree-optimization/43909 - * tree-ssa-structalias.c (struct variable_info): Add - only_restrict_pointers flag. - (new_var_info): Initialize it. Increment stats.total_vars here. - (create_function_info_for): Do not increment stats.total_vars here. - (get_function_part_constraint): Fix build with C++. - (insert_into_field_list): Remove. - (push_fields_onto_fieldstack): Properly merge fields. - (create_variable_info_for): Split and simplify. - (create_variable_info_for_1): New piece. - (intra_create_variable_infos): Properly make restrict constraints - from parameters. - -2010-04-28 Richard Guenther - - PR c++/43880 - * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs. - -2010-04-27 Manuel López-Ibáñez - Jan Hubicka - - * doc/invoke.texi (-Wsuggest-attribute=const, - -Wsuggest-attribute=pure): Document. - * ipa-pure-const.c: Include toplev.h, intl.h and opts.h. - (function_always_visible_to_compiler_p, - suggest_attribute, warn_function_pure, warn_function_const): - New functions. - (check_call): Improve debug info. - (analyze_function): Do not check availability. - (add_new_function): Check availability. - (propagate): Output warnings. - (skip_function_for_local_pure_const): New function. - (local_pure_const): Use it; output warnings. - * common.opt (Wsuggest-attribute=const, - Wsuggest-attribute=pure): New. - -2010-04-27 Jakub Jelinek - - * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression - force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register - or DW_CFA_def_cfa_offset{,_sf}. - -2010-04-27 Eric Botcazou - - * tree.h: Fix truncated long macros. - -2010-04-27 Kai Tietz - - * collect2.c (TARGET_64BIT): Redefine to target's default. - * tlink.c: Likewise. - * config/i386/cygming.h (USER_LABEL_PREFIX): Define - dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES. - * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use - for underscoring __USER_LABEL_PREFIX__. - * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro. - (SUB_LINK_ENTRY32): New. - (SUB_LINK_ENTRY64): New. - (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY. - * config/i386/mingw32 (SUB_LINK_ENTRY32): New. - (SUB_LINK_ENTRY64): New. - (SUB_LINK_ENTRY): New. - (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point. - (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when - x64 target is choosen. - * config.in (USE_MINGW64_LEADING_UNDERSCORES): New. - * configure: Regenerated. - * configure.ac (leading-mingw64-underscores): Option added. - -2010-04-27 Jan Hubicka - - * doc/invoke.texi (-fipa-profile): Document. - * opts.c (decode_options): Enable ipa-profile at -O1. - * timevar.def (TV_IPA_PROFILE): Define. - * common.opt (fipa-profile): Add. - * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method - flag for clones. - (cgraph_propagate_frequency): Handle only local ones. - * tree-pass.h (pass_ipa_profile): Declare. - * ipa-profile.c (gate_profile): Use flag_ipa_profile. - (pass_ipa_profile): Use TV_IPA_PROFILE. - * ipa.c (ipa_profile): New function. - (gate_ipa_profile): Likewise. - (pass_ipa_profile): New global variable. - * passes.c (pass_ipa_profile): New. - -2010-04-27 Nathan Froyd - - * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration. - -2010-04-27 Martin Jambor - - PR middle-end/43812 - * ipa.c (dissolve_same_comdat_group_list): New function. - (function_and_variable_visibility): Call - dissolve_same_comdat_group_list when comdat group contains external or - newly local nodes. - * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group - lists are circular and that they contain only DECL_ONE_ONLY nodes. - -2010-04-27 Eric Botcazou - - * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF. - (const_hash_1) : New case. - (compare_constant) : Likewise. - : Deal with LABEL_REFs. - (copy_constant) : New case. - -2010-04-27 Jan Hubicka - - * cgraph.c (cgraph_propagate_frequency): New function. - * cgraph.h (cgraph_propagate_frequency): Declare. - * ipa-inline.c (cgraph_clone_inlined_nodes): Call - cgraph_propagate_frequency. - -2010-04-27 Jakub Jelinek - - * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes. - -2010-04-27 Bernd Schmidt - - PR target/40657 - * config/arm/arm.c (thumb1_extra_regs_pushed): New function. - (thumb1_expand_prologue, thumb1_output_function_prologue): Call it - here to determine which regs to push and how much stack to reserve. - -2010-04-27 Jie Zhang - - * doc/gimple.texi (gimple_statement_with_ops): Remove - addresses_taken field. - (gimple_statement_with_memory_ops): Likewise. - -2010-04-27 Jan Hubicka - - * tree-inline.c (eni_inlining_weights): Remove. - (estimate_num_insns): Special case more builtins. - -2010-04-27 Shujing Zhao - - PR c/32207 - * c-typeck.c (build_binary_op): Move forward check for comparison - pointer with null pointer constant and adjust the diagnostic message. - -2010-04-27 Dave Korn - - PR lto/42776 - * configure.ac (gcc_cv_as_section_has_align): Set if installed - binutils supports extended .section directive needed by LTO, or - warn if older binutils found. - (LTO_BINARY_READER): New AC_SUBST'd variable. - (LTO_USE_LIBELF): Likewise. - * gcc/config.gcc (lto_binary_reader): New target-specific configure - variable. - * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var. - (LTO_USE_LIBELF): Likewise. - * configure: Regenerate. - - * collect2.c (is_elf): Rename from this ... - (is_elf_or_coff): ... to this, and recognize and allow i386 COFF - object files in addition to ELF-formatted ones. - (scan_prog_file): Caller updated. Also allow for LTO info marker - symbol to be prefixed or not by an extra underscore. - - * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H. - * config/i386/winnt.c: Also #include lto-streamer.h - (i386_pe_asm_named_section): Specify 1-byte section alignment for - LTO named sections. - (i386_pe_asm_output_aligned_decl_common): Add comment. - (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL. - -2010-04-27 Hans-Peter Nilsson - - PR target/43889 - * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"): - Add missing earlyclobber for second alternative. - -2010-04-26 Bernd Schmidt - - * df-problems.c (df_simulate_initialize_forwards): Set, don't clear, - bits for artificial defs at the top of the block. - * fwprop.c (single_def_use_enter_block): Don't call it. - -2010-04-26 Jack Howarth - - PR 43715 - * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin - instead of "$gcc_cv_objdump -T". - Use "-undefined dynamic_lookup" on darwin. - * gcc/configure: Regenerate. - -2010-04-26 Jakub Jelinek - - PR c/43893 - * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR. - -2010-04-26 Nathan Froyd - - * c-parser.c (struct c_token): Move location field up. - * c-tree.h (struct c_typespec): Move expr_const_operands field up. - (struct c_declspecs): Convert typespec_word, storage_class, and - default_int_p into bitfields. - (struct c_declarator): Move loc field up. - -2010-04-26 Nathan Froyd - - * cfgloop.h (struct loop): Move can_be_parallel field up. - * ipa-prop.h (struct ip_node_params): Move bitfields up. - * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field - down. - (struct iv_cand): Convert pos field into a bitfield. - * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number - field up. - (struct _stmt_vec_info): Shuffle fields for better packing. - -2010-04-26 Eric Botcazou - - * varasm.c (IN_NAMED_SECTION): Remove guard. - * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to... - (IN_NAMED_SECTION_P): ...this. - (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming. - (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise. - -2010-04-26 Eric Botcazou - - * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables. - Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead - of shadowing it. Fix comments. - -2010-04-26 Jan Hubicka - - * cgraph.c (cgraph_create_node): Set node frequency to normal. - (cgraph_clone_node): Copy function frequency. - * cgraph.h (node_frequency): New enum - (struct cgraph_node): Add. - * final.c (rest_of_clean_state): Update. - * lto-cgraph.c (lto_output_node): Output node frequency. - (input_overwrite_node): Input node frequency. - * tre-ssa-loop-ivopts (computation_cost): Update. - * lto-streamer-out.c (output_function): Do not output function - frequency. - * predict.c (maybe_hot_frequency_p): Update and handle functions - executed once. - (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of - attribute lookup. - (probably_never_executed_bb_p, optimize_function_for_size_p): Update. - (compute_function_frequency): Set noreturn functions to be executed - once. - (choose_function_section): Update. - * lto-streamer-in.c (input_function): Do not input function frequency. - * function.c (allocate_struct_function): Do not initialize function - frequency. - * function.h (function_frequency): Remove. - (struct function): Remove function frequency. - * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove. - (try_update): Update. - * tree-inline.c (initialize_cfun): Do not update function frequency. - * passes.c (pass_init_dump_file): Update. - * i386.c (ix86_compute_frame_layout): Update. - (ix86_pad_returns): Update. - -2010-04-26 Jie Zhang - - PR tree-optimization/43833 - * tree-vrp.c (range_int_cst_p): New. - (range_int_cst_singleton_p): New. - (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case - when both operands are constants. Use range_int_cst_p in - BIT_IOR_EXPR case. - -2010-04-26 Jan Hubicka - - * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating. - -2010-04-26 Richard Guenther - - PR lto/43080 - * gimple.c (gimple_decl_printable_name): Deal gracefully - with a NULL DECL_NAME. - -2010-04-26 Richard Guenther - - PR lto/42425 - * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT - if emitting debug information and it is either a function - or a namespace decl. - -2010-04-26 Ira Rosen - - * tree-vectorizer.h (struct _stmt_vec_info): Add new field to - determine if the statement is vectorizable, and a macro to access it. - * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): - Skip statements that can't be vectorized. If the analysis fails, - mark the statement as unvectorizable if vectorizing basic block. - (vect_compute_data_refs_alignment): Likewise. - (vect_verify_datarefs_alignment): Skip statements marked as - unvectorizable. Add print. - (vect_analyze_group_access): Skip statements that can't be - vectorized. If the analysis fails, mark the statement as - unvectorizable if vectorizing basic block. - (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise. - * tree-vect-stmts.c (vectorizable_store): Fix the number of - generated stmts for SLP. - (new_stmt_vec_info): Initialize the new field. - * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize - statements marked as unvectorizable. - -2010-04-25 Joseph Myers - - * c-common.c (flag_isoc1x): New. - (flag_isoc99): Update comment. - * c-common.h (flag_isoc1x): New. - (flag_isoc99): Update comment. - * c-cppbuiltin.c (builtin_define_float_constants): Also define - ___DECIMAL_DIG__. - * c-opts.c (set_std_c1x): New. - (c_common_handle_option): Handle -std=c1x and -std=gnu1x. - (set_std_c89, set_std_c99): Also set flag_isoc1x to 0. - * c.opt (-std=c1x, -std=gnu1x): New options. - * doc/cpp.texi: Mention -std=c1x. - * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document. - * doc/extend.texi: Mention -std=c1x and -std=gnu1x. - * doc/invoke.texi (-std=c1x, -std=gnu1x): Document. - * doc/standards.texi: Mention C1X. - * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG, - LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM, - LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN): - Define for C1X. - -2010-04-25 Uros Bizjak - - * config/i386/gmon-sol2.c (_mcleanup): Change format string - placeholder from 0x%x to %#x. - * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto. - * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto. - * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto. - * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto. - * config/i386/i386.c (ix86_target_string): Ditto. - (output_pic_addr_const): Ditto. - (print_operand): Ditto. - -2010-04-25 Paolo Bonzini - - * combine.c (find_split_point): Add third argument. Use it - to find nested multiply-accumulate instructions. Adjust calls. - (try_combine): Adjust call to find_split_point. - -2010-04-24 Gerald Pfeifer - - * doc/contrib.texi (Contributors): Add Dodji Seketeli. - -2010-04-24 Bernd Schmidt - - PR tree-optimization/41442 - * fold-const.c (merge_truthop_with_opposite_arm): New function. - (fold_binary_loc): Call it. - -2010-04-23 Manuel López-Ibáñez - - * toplev.c (general_init): Set default for fdiagnostics-show-option. - * opts.c (common_handle_option): Allow disabling it. - * common.opt (fdiagnostics-show-option): Add Var. Enabled by default. - -2010-04-23 Eric Botcazou - - * expr.c (expand_expr_real_1) : Only use conversion - between modes if both types are integral. - -2010-04-23 Richard Guenther - - PR tree-optimization/43572 - * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses. - -2010-04-23 Richard Guenther - - PR lto/43455 - * tree-inline.c (tree_can_inline_p): Also check compatibility - of return types. - -2010-04-23 Martin Jambor - - PR tree-optimization/43846 - * tree-sra.c (struct access): New flag grp_assignment_read. - (build_accesses_from_assign): Set grp_assignment_read. - (sort_and_splice_var_accesses): Propagate grp_assignment_read. - (enum mark_read_status): New type. - (analyze_access_subtree): Propagate grp_assignment_read, create - accesses also if both direct_read and root->grp_assignment_read. - -2010-04-23 Martin Jambor - - PR middle-end/43835 - * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the - function does not have type attributes. - -2010-04-23 Richard Guenther - - PR lto/42653 - * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT - of FUNCTION_DECLs. - -2010-04-22 Laurynas Biveinis - - * sese.h (create_if_region_on_edge): Remove. - - * sese.c (create_if_region_on_edge): Make static. - - * tree-inline.c: Do not include ggc.h. - - * expr.c: Do not include ggc.h. - - * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from - dependencies. - -2010-04-22 Kaz Kojima - - PR target/43744 - * config/sh/sh.c (find_barrier): Don't emit a constant pool - in the middle of insns for casesi_worker_2. - -2010-04-22 David Edelsohn - - * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS. - -2010-04-22 Ira Rosen - - PR tree-optimization/43842 - * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle - loop unrolling in update of exit phis. Fix comment. - * tree-vect-slp.c (vect_analyze_slp): Check that there are at - least two reduction statements in the loop before starting SLP - analysis. - -2010-04-22 Nick Clifton - - * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko. - -2010-04-22 Alexander Monakov - - * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR - to simplify a + ~a. - -2010-04-22 Laurynas Biveinis - - * tree-parloops.c (loop_parallel_p): New argument - parloop_obstack. Pass it down. - (parallelize_loops): New variable parloop_obstack. Initialize it, - pass it down, free it. - - * tree-loop-linear.c (linear_transform_loops): Pass down - lambda_obstack. - - * tree-data-ref.h (lambda_compute_access_matrices): New argument - of type struct obstack *. - - * tree-data-ref.c (analyze_subscript_affine_affine): New variable - scratch_obstack. Initialize it, pass down, free it. - - * lambda.h (lambda_loop_new): Remove. - (lambda_matrix_new, lambda_matrix_inverse) - (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New - argument of type struct obstack *. - - * lambda-trans.c (lambda_trans_matrix_new): New argument - lambda_obstack. Pass it down, use obstack allocation for ret. - (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass - it down. - - * lambda-mat.c (lambda_matrix_get_column) - (lambda_matrix_project_to_null): Remove. - (lambda_matrix_new): New argument lambda_obstack. Use obstack - allocation for mat. - (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument - lambda_obstack. - - * lambda-code.c (lambda_loop_new): New function. - (lambda_lattice_new, compute_nest_using_fourier_motzkin) - (lambda_compute_auxillary_space, lambda_compute_target_space) - (lambda_loopnest_transform, gcc_loop_to_lambda_loop) - (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack. - (build_access_matrix): New argument lambda_obstack. Use obstack - allocation for am. - (lambda_compute_step_signs, lambda_compute_access_matrices): New - argument lambda_obstack. Pass it down. - -2010-04-22 Bernd Schmidt - - * optabs.h (expand_widening_mult): Declare. - -2010-04-22 Richard Guenther - - PR tree-optimization/43845 - * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly - lookup the CALL_EXPR function and arguments. - -2010-04-22 Nick Clifton - - * config/stormy16/stormy16.c - (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter. - * config/stormy16/stormy16.h: Tidy up formatting. - (DONT_USE_BUILTIN_SETJMP): Remove definition. - * config/stormy16/stormy16.c (cbranchsi4): Delete pattern. - (ineqbranchsi): Delete pattern. - * config/stormy16/stormy16-lib2-ucmpsi2.c: New file. - * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function. - * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add - stormy16-lib2-ucmpsi2.c. - -2010-04-22 Bernd Schmidt - - * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and - df_simulate_find_noclobber_defs as appropriate. Keep track of an - extra set merge_set_noclobber, and use it to relax the final test - slightly. - * df.h (df_simulate_find_noclobber_defs): Declare. - * df-problems.c (df_simulate_find_defs): Don't ignore partial or - conditional defs. - (df_simulate_find_noclobber_defs): New function. - -2010-04-22 Uros Bizjak - - * config/i386/i386.md: Use {} around multi-line preparation statements. - -2010-04-22 Laurynas Biveinis - - * c-tree.h (push_init_level, pop_init_level, set_init_index) - (process_init_element): New argument of type struct obstack *. - - * c-typeck.c (push_init_level, pop_init_level, set_designator) - (set_init_index, set_init_label, set_nonincremental_init) - (set_nonincremental_init_from_string, find_init_member) - (output_init_element, output_pending_init_elements) - (process_init_element): New argument braced_init_obstack. Pass it - down. - (push_range_stack, add_pending_init): New argument - braced_init_obstack. Use obstack allocation. - - * c-parser.c (c_parser_initelt, c_parser_initval): New argument - braced_init_obstack. Pass it down. - (c_parser_braced_init): New variables ret, braced_init_obstack. - Initialize obstack, pass it down and finally free it. - -2010-04-22 Bernd Schmidt - - PR middle-end/29274 - * tree-pass.h (pass_optimize_widening_mul): Declare. - * tree-ssa-math-opts.c (execute_optimize_widening_mul, - gate_optimize_widening_mul): New static functions. - (pass_optimize_widening_mul): New. - * expr.c (expand_expr_real_2) : New case. - : Remove support for widening multiplies. - * tree.def (WIDEN_MULT_EXPR): Tweak comment. - * cfgexpand.c (expand_debug_expr) : Use - simplify_gen_unary rather than directly building extensions. - * tree-cfg.c (verify_gimple_assign_binary): Add tests for - WIDEN_MULT_EXPR. - * expmed.c (expand_widening_mult): New function. - * passes.c (init_optimization_passes): Add pass_optimize_widening_mul. - -2010-04-21 Jan Hubicka - - * timevar.def (TV_WHOPR_WPA_FIXUP): Remove. - * lto-section-in.c (lto_section_name): Remove wpa_fixup. - * lto-wpa-fixup.c: Remove. - * Makefile.in (lto-wpa-fixup.o): Remove. - * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup. - (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA. - * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section. - -2010-04-21 Jan Hubicka - - * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary; - add write_optimization_summary, read_optimization_summary. - (ipa_write_summaries_of_cgraph_node_set): Remove. - (ipa_write_optimization_summaries): Declare. - (ipa_read_optimization_summaries): Declare. - * ipa-cp.c (pass_ipa_cp): Update. - * ipa-reference.c (pass_ipa_reference): Update. - * ipa-pure-const.c (pass_ipa_pure_const): Update. - * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish): - Update. - * ipa-inline.c (pass_ipa_inline): Update. - * ipa.c (pass_ipa_whole_program): Update. - * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update. - * passes.c (ipa_write_summaries_1): Do not test wpa. - (ipa_write_optimization_summaries_1): New. - (ipa_write_optimization_summaries): New. - (ipa_read_summaries): Do not test ltrans. - (ipa_read_optimization_summaries_1): New. - (ipa_read_optimization_summaries): New. - -2010-04-21 Jan Hubicka - - * lto-cgraph.c (lto_output_node): Do not output comdat groups - for boundary nodes. - (output_cgraph): Do not arrange comdat groups for boundary nodes. - -2010-04-21 Jakub Jelinek - - PR debug/40040 - * dwarf2out.c (add_name_and_src_coords_attributes): Add - DW_AT_{,MIPS_}linkage_name even for Fortran decls. - -2010-04-21 Jan Hubicka - - * ipa-prop.c (ipa_edge_removal_hook): Check for bounds. - -2010-04-21 Jan Hubicka - - * varpool.c (decide_is_variable_needed): Variable is always needed - during ltrans. - -2010-04-21 Jan Hubicka - - * opts.c (decode_options): Enable pure-const pass for whopr. - -2010-04-21 Jan Hubicka - - * cgraph.c (dump_cgraph_node): Dump also assembler name. - * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice - at WPA dumping. - (cgraph_decide_inlining): Do not expect callee to be removed in all - cases. - -2010-04-21 Eric B. Weddington - - * config/avr/avr-devices.c (avr_mcu_types): Add missing comma. - -2010-04-21 Uros Bizjak - - * config/i386/i386.md (x86_shrd): Add athlon_decode and - amdfam10_decode attributes. - -2010-04-21 Jakub Jelinek - - PR middle-end/43570 - * omp-low.c (scan_sharing_clauses): Don't scan_omp_op - OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE. - (lower_copyprivate_clauses): Use private var in outer - context instead of original var. Make sure the types - are correct for VLAs. - -2010-04-21 Richard Guenther - - * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping - to non-pointer objects. - -2010-04-21 Jakub Jelinek - - * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop - last chain entry if it starts with the still current label. - (add_location_or_const_value_attribute): Check that - loc_list->first->next is NULL instead of comparing ->first with ->last. - (dwarf2out_var_location): Pass last_label resp. last_postcall_label - to add_var_loc_to_decl. - - * dwarf2out.c (output_call_frame_info): For dw_cie_version - >= 4 add also address size and segment size fields into CIE header. - - * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as - long as address size is the same as sizeof (void *) and - segment size is 0. - * unwind-dw2-fde.c (get_cie_encoding): Likewise. If - address size or segment size is unexpected, return DW_EH_PE_omit. - (classify_object_over_fdes): If get_cie_encoding returned - DW_EH_PE_omit, return -1. - (init_object): If classify_object_over_fdes returned -1, - pretend there were no FDEs at all. - -2010-04-21 Uros Bizjak - - * config/i386/i386.md (bswap2): Macroize expander from - bswap{si,di}2 using SWI48 mode iterator. - (*bswap2_movbe): Macroize insn from *bswap{si,di}_movbe using - SWI48 mode iterator. Set type attribute of bswap insn to bitmanip, - set modrm attribute of bswap insn to 0 and remove length attribute. - (*bswap2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode - iterator. Set type attribute to bitmanip, set modrm attribute to 0, - set mode attribute to and remove length attribute. - -2010-04-20 James E. Wilson - - PR rtl-optimization/43520 - * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with - zero available registers. - -2010-04-20 Kaveh R. Ghazi - - * builtins.c (fold_builtin_cproj): Fold more cases. - -2010-04-20 Kaveh R. Ghazi - - * builtins.c (build_complex_cproj, fold_builtin_cproj): New. - (fold_builtin_1): Fold builtin cproj. - * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL): - Use ATTR_CONST_NOTHROW_LIST. - -2010-04-20 Uros Bizjak - - * config/i386/i386.md (ffs2): Macroize expander from ffs_cmove - and ffsdi2 using SWI48 mode iterator. Expand SImode insn through - ffsi2_no_cmove for !TARGET_CMOVE. - (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public. - (ffssi2): Remove expander. - (*ffs_1): Macroize insn from *ffs{si,di} using SWI48 - mode iterator. - (ctz2): Ditto from ctz{si,di}2. - (clz2): Macroize expander from ctz{hi,si,di}2 using SWI248 - mode iterator. - (clz2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248 - mode iterator. - -2010-04-20 Jakub Jelinek - - * dwarf2out.c (AT_linkage_name): Define. - (clone_as_declaration): Handle DW_AT_linkage_name. - (add_name_and_src_coords_attributes): Use AT_linkage_name instead - of DW_AT_MIPS_linkage_name. - (move_linkage_attr): Likewise. - (dwarf2out_finish): Likewise. - -2010-04-20 Xinliang David Li - - PR middle-end/41952 - * fold-const.c (fold_comparison): New folding rule. - -2010-04-20 Anatoly Sokolov - - * double-int.h (double_int_setbit): Declare. - * double-int.c (double_int_setbit): New function. - * rtl.h (immed_double_int_const): Declare. - * emit-rtl.c (immed_double_int_const): New function. - * builtins.c (expand_builtin_signbit): Clean up, use double_int_* - and immed_double_int_const functions. - * optabs.c (expand_absneg_bit, expand_copysign_absneg, - expand_copysign_bit): (Ditto.). - * simplify-rtx.c (simplify_binary_operation_1): (Ditto.). - * tree-ssa-address.c (addr_for_mem_ref): (Ditto.). - * dojump.c (prefer_and_bit_test): (Ditto.). - * expr.c (convert_modes, reduce_to_bit_field_precision, - const_vector_from_tree): (Ditto.). - * expmed.c (mask_rtx, lshift_value): (Ditto.). - -2010-04-20 Jan Hubicka - - * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin. - (dump_cgraph_node): Dump new flags. - * cgraph.h (struct cgraph_node): Add flags - reachable_from_other_partition and in_other_partition. - (cgraph_can_remove_if_no_direct_calls_p): Functions used by - other partition can not be removed. - * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by - the other partition must be output; silence sanity checking on - leaking functions bodies from other paritition. - * lto-cgraph.c (reachable_from_other_partition_p): New function. - (lto_output_node): Output new flags; do not sanity check that inline - clones are output; drop lto_forced_extern_inline_p code; do not mock - visibility flags at partition boundaries. - (add_node_to): New function. - (output_cgraph): Use it to sort functions so masters appear before - clones. - (input_overwrite_node): Input new flags. - * passes.c (ipa_write_summaries): Do not call - lto_new_extern_inline_states. - * lto-section-out.c (forced_extern_inline, - lto_new_extern_inline_states lto_delete_extern_inline_states, - lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill. - * lto-streamer.h (lto_new_extern_inline_states, - * lto_delete_extern_inline_states, lto_force_functions_extern_inline, - lto_forced_extern_inline_p): Kill. - -2010-04-20 Richard Guenther - - * tree-ssa-structalias.c (do_sd_constraint): Add edges only - from vars that can have pointers. - (process_constraint): Dump useless constraints. - -2010-04-20 Richard Guenther - - * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF. - (dump_sa_points_to_info): Remove asserts. - (init_base_vars): nothing_id isn't an escape point nor does it - have pointers. - -2010-04-20 Jakub Jelinek - - * tree.h (TYPE_REF_IS_RVALUE): Define. - * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die, - should_move_die_to_comdat, prune_unused_types_walk): Handle - DW_TAG_rvalue_reference_type like DW_TAG_reference_type. - (modified_type_die, gen_reference_type_die): Emit - DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type - if TYPE_REF_IS_RVALUE and -gdwarf-4. - -2010-04-20 Andreas Krebbel - - PR target/43635 - * config/s390/s390.c (s390_emit_call): Turn direct into indirect - calls for -fpic -m31 if they have been sibcall optimized. - -2010-04-19 James E. Wilson - - * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make - ar.lc fixed and call-used. - - * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define. - -2010-04-19 Jan Hubicka - - * opts.c (decode_options): Disable whpr incompatible passes. - * lto/lto.c (lto_1_to_1_map): Skip clones. - (read_cgraph_and_symbols): Do not mark everything as needed. - (do_whole_program_analysis): Do map only after optimizing; - set proper cgraph_state; use passmanager. - -2010-04-19 DJ Delorie - - * cfgexpand.c (expand_debug_expr): Check for mismatched modes in - POINTER_PLUS_EXPR and fix them. - -2010-04-19 Eric B. Weddington - - * config/avr/avr-devices.c (avr_mcu_types): Add support for new - devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313, - attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a, - atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa, - atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa, - atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p, - atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a, - atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a, - m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1, - atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b. - * config/avr/t-avr.c (MULTILIB_MATCHES): Same. - -2010-04-19 Eric Botcazou - - * ifcvt.c (noce_try_cmove_arith): Fix long lines. - (check_cond_move_block): Likewise. - (cond_move_process_if_block): Likewise. - (noce_find_if_block): Improve formatting. - (find_if_header): Pass 0 to memset and tweak conditions. - (cond_exec_find_if_block): Fix long lines and tweak conditions. - -2010-04-19 Jakub Jelinek - - * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0 - for -gdwarf-4. - - PR middle-end/43337 - * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE - with non-local decl doesn't need chain. - -2010-04-19 Vladimir Makarov - - * ira-color.c (allocno_reload_assign): Avoid accumulating - reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS. - -2010-04-19 Martin Jambor - - * gimple.h (create_tmp_reg): Declare. - * gimplify.c (create_tmp_reg): New function. - (gimplify_return_expr): Use create_tmp_reg. - (gimplify_omp_atomic): Likewise. - (gimple_regimplify_operands): Likewise. - * tree-dfa.c (make_rename_temp): Likewise. - * tree-predcom.c (predcom_tmp_var): Likewise. - (reassociate_to_the_same_stmt): Likewise. - * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise. - (get_replaced_param_substitute): Likewise. - * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise. - * tree-ssa-phiopt.c (cond_store_replacement): Likewise. - * tree-ssa-pre.c (get_representative_for): Likewise. - (create_expression_by_pieces): Likewise. - * tree-tailcall.c (adjust_return_value_with_ops): Likewise. - (create_tailcall_accumulator): Likewise. - -2010-04-19 Martin Jambor - - * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update - new_stmt. - (cgraph_materialize_all_clones): Assert !need_ssa_update_p. - -2010-04-19 Richard Guenther - - PR tree-optimization/43796 - * tree-vrp.c (adjust_range_with_scev): Lookup init and step - from SCEV in the lattice. - (vrp_visit_phi_node): Dump change. - -2010-04-19 Richard Guenther - - * configure.ac: Fix quoting around elf_getshstrndx ABI check. - * configure: Re-generated. - -2010-04-19 Richard Guenther - - PR tree-optimization/43783 - * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop - constant ARRAY_REF operands two and three if possible. - -2010-04-19 Uros Bizjak - - PR target/43766 - * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends. - -2010-04-19 Jie Zhang - - PR target/43662 - * reginfo.c (reinit_regs): Set caller_save_initialized_p to false. - -2010-04-19 Ira Rosen - - PR tree-optimization/37027 - * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions - and macro to access it. - (vectorizable_reduction): Add argument. - (vect_get_slp_defs): Likewise. - * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction - statements for possible use in SLP. - (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS. - (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS. - (vect_create_epilog_for_reduction): Handle SLP. Modify documentation, - add new argument. - (vectorizable_reduction): Likewise. - * tree-vect-stmts.c (vect_get_vec_defs): Update call to - vect_get_slp_defs. - (vectorizable_type_demotion, vectorizable_type_promotion, - vectorizable_store): Likewise. - (vect_analyze_stmt): Update call to vectorizable_reduction. - (vect_transform_stmt): Likewise. - * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction. - (vect_build_slp_tree): Fix indentation. Check that there are no loads - from different interleaving chains in same node. - (vect_slp_rearrange_stmts): New function. - (vect_supported_load_permutation_p): Allow load permutations for - reductions. Call vect_slp_rearrange_stmts() to rearrange statements - inside SLP nodes if necessary. - (vect_analyze_slp_instance): Handle reductions. - (vect_analyze_slp): Try to build SLP instances originating from groups - of reductions. - (vect_detect_hybrid_slp_stmts): Skip reduction statements. - (vect_get_constant_vectors): Create initial vectors for reductions - according to reduction code. Add new argument. - (vect_get_slp_defs): Add new argument, pass it to - vect_get_constant_vectors. - (vect_schedule_slp_instance): Remove SLP tree root statements. - -2010-04-19 Jakub Jelinek - - * tree.h (ENUM_IS_SCOPED): Define. - * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class - for ENUM_IS_SCOPED enums. - -2010-04-18 Eric Botcazou - - * fold-const.c (fold_comparison): Use ssizetype. - * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise. - * ipa-prop.c (ipa_modify_call_arguments): Use sizetype. - * tree-loop-distribution.c (build_size_arg_loc): Likewise. - * tree-object-size.c (compute_object_sizes): Use size_type_node. - - * tree.h (initialize_sizetypes): Remove parameter. - (build_common_tree_nodes): Remove second parameter. - * stor-layout.c (initialize_sizetypes): Remove parameter. - Always create an unsigned type. - (set_sizetype): Assert that the passed type is unsigned and simplify. - * tree.c (build_common_tree_nodes): Remove second parameter. - Adjust call to initialize_sizetypes. - * c-decl.c (c_init_decl_processing): Remove second argument in call to - build_common_tree_nodes. - -2010-04-18 Matthias Klose - - * gcc.c (main): Search for liblto_plugin.so with mode R_OK. - -2010-04-18 Ira Rosen - - PR tree-optimization/43771 - * tree-vect-slp.c (vect_supported_load_permutation_p): Check that - load permutation doesn't have gaps. - -2010-04-18 Jan Hubicka - - * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New. - (sse_prologue_save_insn expander): Use new pattern. - (sse_prologue_save_insn1): New pattern and splitter. - (sse_prologue_save_insn): Update to deal also with 64bit aligned - blocks. - * i386.c (setup_incoming_varargs_64): Do not compute jump - destination here. - (ix86_gimplify_va_arg): Update alignment needed. - (ix86_local_alignment): Do not align all local arrays to 128bit. - -2010-04-17 Jan Hubicka - - * ipa-inline.c (cgraph_early_inlining): Handle flattening too. - -2010-04-17 Richard Earnshaw - - * arm.md (negdi2): Remove redundant code to force values into a - register. - -2010-04-17 Richard Earnshaw - - * arm/bpabi.S: Add EABI alignment attributes to objects. - * arm/bpabi-v6m.S: Likewise. - * arm/crti.asm: Likewise. - * arm/crtn.asm: Likewise. - * arm/lib1funcs.asm: Likewise. - * arm/libunwind.S: Likewise. - -2010-04-17 Richard Earnshaw - - * arm-protos.h (tune_params): New structure. - * arm.c (current_tune): New variable. - (arm_constant_limit): Delete. - (struct processors): Add pointer to the tune parameters. - (arm_slowmul_tune): New tuning option. - (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise. - (all_cores): Adjust to pick up the tuning model. - (arm_constant_limit): New function. - (arm_override_options): Select the appropriate tuning model. Delete - initialization of arm_const_limit. - (arm_split_constant): Use the new constant-limit model. - (arm_rtx_costs): Pick up the current tuning model. - * arm.md (is_strongarm, is_xscale): Delete. - * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly - for Xscale variant architectures. - (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM. - -2010-04-17 Ramana Radhakrishnan - - * config/arm/arm.c (arm_gen_constant): Remove unused variable - can_shift. - (arm_rtx_costs_1): Remove unused variable extra_cost. - (arm_unwind_emit_set): Use variable offset. - (thumb1_output_casesi): Remove unused variable flags. - -2010-04-16 Jeff Law - - * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos - needing assignment rather than doing a two-phase assignment. Remove - unused variable 'm'. - -2010-04-16 Jakub Jelinek - - PR bootstrap/43767 - * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL. - -2010-04-16 Doug Kwan - - * tree-ssa-reassoc.c (struct operand_entry): Add new field ID. - (next_operand_entry_id): New static variable. - (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs. - (add_to_ops_vec): Assigned unique ID to operand entry. - (struct oecount_s): New field ID. - (oecount_cmp): Stabilize qsort comparotor by using unique IDs. - (undistribute_ops_list): Assign unique IDs to oecounts. - (init_reassoc): reset next_operand_entry_id. - -2010-04-16 Doug Kwan - - * config/i386/i386.md (*jcc_bt): Fix build breakage by adding - missing left parenthesis. - -2010-04-16 Uros Bizjak - - * config/i386/i386.md (*bt): Macroize insn from *btsi and - *btdi_rex64 using SWI48 mode iterator. - (*jcc_bt): Ditto from *jcc_btsi and *jcc_btdi_rex64. - (*jcc_bt_mask): Ditto from *jcc_btsi_mask and - *jcc_btdi_mask_rex64. - -2010-04-16 Anatoly Sokolov - - * double-int.h (tree_to_double_int): Convert to macro. - * double-int.c (tree_to_double_int): Remove. - -2010-04-16 Jakub Jelinek - - PR debug/43762 - * dwarf2out.c (add_bound_info): Always call loc_list_from_tree - with want_address 2 and in case a single element list might be - possible, call it again with want_address 0. - -2010-04-12 Kaushik Phatak - - * config/h8300/h8300.c (print_operand) : Modify case 'V' and - case 'W' print operands for HI mode. - * config/h8300/h8300.h (Y0, Y2) : New constraints. - * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns - (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise. - * config/h8300/predicate.md (bit_register_indirect_operand): New. - - * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX. - - * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx, - cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in - #xx:3 and #xx:4 mode. - - * config/h8300/h8300.md (inverted load with HImode dest): Add - support for H8300SX. - - * config/h8300/predicate.md (bit_operand): Allow immediate values that - satisfy 'U' constraint. - -2010-04-16 Rainer Orth - - * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor. - * configure: Regenerate. - * config.in: Regenerate. - * doc/install.texi (Prerequisites): Document that Solaris 2 libelf - works. - -2010-04-16 Richard Guenther - - * tree.h (struct tree_decl_minimal): Move pt_uid ... - (struct tree_decl_common): ... here. - (DECL_PT_UID): Adjust. - (SET_DECL_PT_UID): Likewise. - (DECL_PT_UID_SET_P): Likewise. - -2010-04-16 Richard Guenther - - PR tree-optimization/43572 - * tree-ssa-alias.h (call_may_clobber_ref_p): Declare. - * tree-ssa-alias.c (call_may_clobber_ref_p): Export. - * tree-flow.h (is_call_clobbered): Remove. - * tree-flow-inline.h (is_call_clobbered): Likewise. - * tree-dfa.c (dump_variable): Do not dump call clobber state. - * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle. - (execute_return_slot_opt): Adjust. - * tree-tailcall.c (suitable_for_tail_opt_p): Remove - check for call clobbered vars here. - (find_tail_calls): Move tailcall verification to the - proper place. - -2010-04-16 Diego Novillo - - * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled. - -2010-04-16 Bernd Schmidt - - PR target/40603 - * config/arm/arm.md (cbranchqi4): New pattern. - * config/arm/predicates.md (const0_operand, - cbranchqi4_comparison_operator): New predicates. - -2010-04-16 Richard Guenther - - * gimple-pretty-print.c (dump_gimple_phi): Dump alias info. - (dump_gimple_stmt): Likewise. - -2010-04-16 Bernd Schmidt - - * recog.h (struct recog_data): New field is_operator. - (struct insn_operand_data): New field is_operator. - * recog.c (extract_insn): Set recog_data.is_operator. - * genoutput.c (output_operand_data): Emit code to set the - is_operator field. - * reload.c (find_reloads): Use it rather than testing for an - empty constraint string. - - PR target/41514 - * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn". - If the previous insn is a cbranchsi4_insn with the same arguments, - omit the compare instruction. - - * config/arm/arm.md (addsi3_cbranch): If destination is a high - register, inputs must be low registers and we need a low register - scratch. Handle alternative 2 like alternative 3. - -2010-04-16 Jakub Jelinek - - * alias.c (memrefs_conflict_p): If x and y are the same VALUE, - don't call get_addr on both. If one expression is a VALUE and - the other a REG, check VALUE's locs if the REG isn't among them. - -2010-04-16 Christian Bruel - - * config/sh/sh.h (sh_frame_pointer_required): New function. - * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro. - (flag_omit_frame_pointer) Set. - (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set. - (rounded_frame_size): Adjust size with outgoing_args_size. - (sh_set_return_address): Must return from stack pointer. - * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define. - (SUBTARGET_FRAME_POINTER_REQUIRED): Define. - (ACCUMULATE_OUTGOING_ARGS): Define. - * doc/invoke.texi (maccumulate-outgoing-args): Document for SH. - * gcc/config/sh/sh.opt (maccumulate-outgoing-args): New option. - -2010-04-15 Kaz Kojima - - PR target/43471 - * config/sh/sh.c (sh_legitimize_reload_address): Use - MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P. - Remove a unneeded check for offset_base. - -2010-04-15 H.J. Lu - - * configure: Regenerated. - -2010-04-15 Andreas Krebbel - - * config/s390/s390.c (s390_call_save_register_used): Switch back - to HARD_REGNO_NREGS. - -2010-04-15 Richard Guenther - - * alias.c (alias_set_subset_of): Handle alias-set zero - child properly. - -2010-04-15 Mark Shinwell - Julian Brown - - * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str - alternatives according to use of high and low regs. - * config/arm/vfp.md (thumb2_movsi_vfp): Likewise. - * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when - optimizing for size on Thumb-2. - -2010-04-15 Thomas Schwinge - - * config.gcc : Handle softfp as for Linux. - -2010-04-15 Richard Guenther - - * tree-ssa-structalias.c (struct variable_info): Add - is_fn_info flag. - (new_var_info): Initialize it. - (dump_constraints): Support printing last added constraints. - (debug_constraints): Adjust. - (dump_constraint_graph): Likewise. - (make_heapvar_for): Check for NULL cfun. - (get_function_part_constraint): New function. - (get_fi_for_callee): Likewise. - (find_func_aliases): Properly implement IPA PTA constraints. - (process_ipa_clobber): New function. - (find_func_clobbers): Likewise. - (insert_into_field_list_sorted): Remove. - (create_function_info_for): Properly allocate vars for IPA mode. - Do not use insert_into_field_list_sorted. - (create_variable_info_for): Properly generate constraints for - global vars in IPA mode. - (dump_solution_for_var): Always dump the solution. - (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode. - (find_what_var_points_to): Adjust. - (pt_solution_set): Change. - (pt_solution_ior_into): New function. - (pt_solution_empty_p): Export. - (pt_solution_includes_global): Adjust. - (pt_solution_includes_1): Likewise. - (pt_solutions_intersect_1): Likewise. - (dump_sa_points_to_info): Check some invariants. - (solve_constraints): Move constraint dumping ... - (compute_points_to_sets): ... here. - (ipa_pta_execute): ... and here. - (compute_may_aliases): Do not re-compute points-to info - locally if IPA info is available. - (ipa_escaped_pt): New global var. - (ipa_pta_execute): Properly implement IPA PTA. - * tree-into-ssa.c (dump_decl_set): Support dumping - decls not in referenced-vars. - * tree-flow.h (struct gimple_df): Add ipa_pta flag. - * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust. - (dump_points_to_solution): Likewise. - * tree-dfa.c (dump_variable): Also dump DECL_PT_UID. - * tree-inline.c (remap_ssa_name): Copy IPA points-to solution. - (remap_gimple_stmt): Reset call clobber/use information if necessary. - (copy_decl_to_var): Copy DECL_PT_UID. - (copy_result_decl_to_var): Likewise. - * tree.c (make_node_stat): Initialize DECL_PT_UID. - (copy_node_stat): Copy it. - * tree.h (DECL_PT_UID): New macro. - (SET_DECL_PT_UID): Likewise. - (DECL_PT_UID_SET_P): Likewise. - (struct tree_decl_minimal): Add pt_uid member. - * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag. - (pt_solution_empty_p): Declare. - (pt_solution_set): Adjust. - (ipa_escaped_pt): Declare. - * cfgexpand.c (update_alias_info_with_stack_vars): Adjust. - * gimple-pretty-print.c (pp_points_to_solution): New function. - (dump_gimple_call): Dump call clobber/use information. - * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry. - * tree-pass.h (TDF_ALIAS): New dump option. - * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to. - * doc/invoke.texi (-fipa-pta): Update documentation. - -2010-04-15 Richard Guenther - - * Makefile.in (OBJS-common): Add gimple-fold.o. - (gimple-fold.o): New rule. - * tree.h (maybe_fold_offset_to_reference, - maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move - prototypes ... - * gimple.h: ... here. - * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value, - may_propagate_address_into_dereference): Move prototypes ... - * gimple.h: ... here. - * tree-ssa-ccp.c (get_symbol_constant_value, - may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref, - maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference, - maybe_fold_offset_to_address, maybe_fold_stmt_indirect, - maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen, - ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond, - fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace, - gimplify_and_update_call_from_tree): Move ... - * gimple-fold.c: ... here. New file. - (ccp_fold_builtin): Rename to ... - (gimple_fold_builtin): ... this. - * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust. - -2010-04-15 Richard Guenther - - * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode, - fit_double_type, force_fit_type_double, add_double_with_sign, - neg_double, mul_double_with_sign, lshift_double, rshift_double, - lrotate_double, rrotate_double, div_and_round_double): Move ... - * double-int.c: ... here. - * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign, - add_double, neg_double, mul_double_with_sign, mul_double, - lshift_double, rshift_double, lrotate_double, rrotate_double, - div_and_round_double): Move prototypes ... - * double-int.h: ... here. - -2010-04-15 Bernd Schmidt - - PR target/43742 - * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use - matching constraints to ensure inputs match the output. - -2010-04-15 Kaz Kojima - - PR target/43742 - * config/sh/sh.md (doloop_end_split): Remove "+r" constraint - in an input-only operand. - -2010-04-15 Anatoly Sokolov - - * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define. - (double_int_not, double_int_lshift, double_int_rshift): Declare. - (double_int_negative_p): Convert to static inline function. - * double-int.c (double_int_lshift, double_int_lshift): New functions. - (double_int_negative_p): Remove. - * tree.h (lshift_double, rshift_double): - * tree.c (build_low_bits_mask): Clean up, use double_int_* functions. - * fold-const.c (fold_convert_const_int_from_real, - fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.). - (lshift_double): Change type of arith argument to bool. - (rshift_double): Change type of arith argument to bool. Correct - comment. - * expmed.c (mask_rtx, lshift_value): (Ditto.). - -2010-04-14 Bernd Schmidt - - PR target/21803 - * ifcvt.c (cond_exec_process_if_block): Look for identical sequences - at the start and end of the then/else blocks, and omit them from the - conversion. - * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE - argument; all callers changed. Pass zero to old_insns_match_p instead. - (flow_find_head_matching_sequence): New function. - (old_insns_match_p): Check REG_EH_REGION notes for calls. - * basic-block.h (flow_find_cross_jump, - flow_find_head_matching_sequence): Declare functions. - -2010-04-14 Jason Merrill - - PR c++/36625 - * c-common.c (attribute_takes_identifier_p): New fn. - * c-common.h: Declare it. - -2010-04-14 Uros Bizjak - - * config/i386/i386.md (*divmod4): Remove stray "&&" from - splitter condition. - (*udivmod4): Ditto. - -2010-04-14 Uros Bizjak - - * config/i386/i386.md (maxmin_int): Rename code attribute from - maxminiprefix and update all users. - (maxmin_float): Ditto from maxminfprefix. - (logic): Ditto from logicprefix. - (absneg_mnemonic): Ditto from absnegprefix. - * config/i386/mmx.md: Update all users of maxminiprefix, - maxminfprefix and logicprefix for rename. - * config/i386/sse.md: Ditto. - * config/i386/sync.md (sync_): Update for - logicprefix rename. - -2010-04-14 Manuel López-Ibáñez - - PR 42966 - * diagnostics.c (diagnostic_report_diagnostic): Mark specially - warnings converted to errors. - -2010-04-14 Uros Bizjak - - * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not - used insn_type variable. - (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration - to avoid set-but-not-used warning. - -2010-04-14 Uros Bizjak - - * df-core.c (df_ref_debug): Change format string placeholder - from 0x%x to %#x. - * dwarf2asm.c (dw2_asm_output_data_raw, - dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128, - dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto. - * dwarf2out.c (output_cfi, output_cfi_directive, - dwarf2out_do_cfi_startproc, output_loc_sequence_raw, - output_cfa_loc_raw, output_die, output_ranges, output_file_names): - Ditto. - * genattrtab.c (write_test_expr, write_attr_valueq): Ditto. - * print-rtl.c (print_rtx): Ditto. - -2010-04-14 Michael Meissner - - PR middle-end/42694 - * builtins.c (expand_builtin_pow_root): New function to expand pow - calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a - series of sqrt and cbrt calls under -ffast-math. - (expand_builtin_pow): Call it. - -2010-04-14 Michael Matz - - PR tree-optimization/42963 - * tree-cfg.c (touched_switch_bbs): New static variable. - (group_case_labels_stmt): New function broken out from ... - (group_case_labels): ... here, use the above. - (start_recording_case_labels): Allocate touched_switch_bbs. - (end_recording_case_labels): Deallocate it, call - group_case_labels_stmt. - (gimple_redirect_edge_and_branch): Remember index of affected BB. - -2010-04-14 Uros Bizjak - - * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute - from insn template. - -2010-04-14 Uros Bizjak - - * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern. - -2010-04-13 Jan Hubicka - - * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting - of optimized out static functions. - (cgraph_edge_badness): Add DUMP parameter and dump reasons for the - cost computation. Also sanity check for overflows. - (update_caller_keys): Update cgraph_edge_badness call; properly - update fibheap and sanity check that it is up to date. - (add_new_edges_to_heap): Update cgraph_edge_badness. - (cgraph_decide_inlining_of_small_function): Likewise; - add sanity checking that badness in heap is up to date; - improve dumping of reason; Update badness of calls to the - offline copy of function currently inlined; dump badness - of functions not inlined because of unit growth limits. - -2010-04-13 Eric Botcazou - - PR middle-end/32628 - * c-common.c (pointer_int_sum): Disregard overflow that occured only - because of sign-extension change when converting to sizetype here... - * fold-const.c (fold_convert_const_int_from_int): ...and not here. - - * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict - the folding to constants. Remove redundant final conversion. - (fold_binary) : Do not associate if the re-association of - constants alone overflows. - (fold_binary) : Move transformation into BIT_AND_EXPR - to the end of the list. - (multiple_of_p) : New case. - -2010-04-13 Manuel López-Ibáñez - - * opt-functions.awk (opt_sanitized_name): New. - (opt_enum): New. - * optc-gen.awk: Use it - * opth-gen.awk: Use it. - -2010-04-13 Martin Jambor - - * tree-sra.c (replace_uses_with_default_def_ssa_name): New function. - (sra_modify_assign): Delete stmts loading dead data even if racc has no - children. Call replace_uses_with_default_def_ssa_name to handle - SSA_NAES on lhs. - -2010-04-13 Michael Matz - - PR middle-end/43730 - * builtins.c (expand_builtin_interclass_mathfn): Also create - a register if the predicate doesn't match. - -2010-04-13 Diego Novillo - - * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h. - * c-pch.c: Include timevar.h. - (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers. - (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers. - * ggc-common.c: Include timevar.h. - (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers. - * timevar.def (TV_PCH_SAVE): Define. - (TV_PCH_CPP_SAVE): Define. - (TV_PCH_PTR_REALLOC): Define. - (TV_PCH_PTR_SORT): Define. - (TV_PCH_RESTORE): Define. - (TV_PCH_CPP_RESTORE): Define. - -2010-04-13 Michael Matz - - * tree-ssa-reassoc.c (repropagate_negates): Merge negates also - into MINUS_EXPRs. - (can_reassociate_p): New function. - (break_up_subtract_bb, reassociate_bb): Use it. - -2010-04-13 Richard Guenther - - PR bootstrap/43737 - * builtins.c (c_readstr): Fix assert. - -2010-04-13 Uros Bizjak - - * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG - when generating cltd insn. - - (*ashl3_1): Remove special handling for register operand 2. - (*ashlsi3_1_zext): Ditto. - (*ashlhi3_1): Ditto. - (*ashlhi3_1_lea): Ditto. - (*ashlqi3_1): Ditto. - (*ashlqi3_1_lea): Ditto. - (*3_1): Ditto. - (*si3_1_zext): Ditto. - (*qi3_1_slp): Ditto. - (*3_1): Ditto. - (*si3_1_zext): Ditto. - (*qi3_1_slp): Ditto. - -2010-04-13 Richard Guenther - - * tree-ssa-structalias.c (callused_id): Remove. - (call_stmt_vars): New. - (get_call_vi): Likewise. - (lookup_call_use_vi): Likewise. - (lookup_call_clobber_vi): Likewise. - (get_call_use_vi): Likewise. - (get_call_clobber_vi): Likewise. - (make_transitive_closure_constraints): Likewise. - (handle_const_call): Adjust to do per-call call-used handling. - (handle_pure_call): Likewise. - (find_what_var_points_to): Remove general callused handling. - (init_base_vars): Likewise. - (init_alias_vars): Initialize call_stmt_vars. - (compute_points_to_sets): Process call-used and call-clobbered - vars for call statements. - (delete_points_to_sets): Free call_stmt_vars. - -2010-04-13 Richard Guenther - - * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): - Only add RW dependence for dependence distance zero. - Adjust maximal vectorization factor according to dependences. - Move alignment handling ... - (vect_find_same_alignment_drs): ... here. New function. - (vect_analyze_data_ref_dependences): Adjust. - (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs. - (vect_analyze_data_refs): Adjust minimal vectorization factor - according to data references. - * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref - dependences before determining the vectorization factor. - Analyze alignment after determining the vectorization factor. - * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref - dependences before alignment. - * tree-vectorizer.h (vect_analyze_data_ref_dependences): - Adjust prototype. - (vect_analyze_data_refs): Likewise. - (MAX_VECTORIZATION_FACTOR): New define. - -2010-04-13 Duncan Sands - - * except.h (lang_eh_type_covers): Remove. - * except.c (lang_eh_type_covers): Likewise. - -2010-04-13 Andreas Krebbel - Ulrich Weigand - - * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH. - * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with - UNITS_PER_LONG where it is ABI relevant. - (s390_return_addr_rtx): Likewise. - (s390_back_chain_rtx): Likewise. - (s390_frame_area): Likewise. - (s390_frame_info): Likewise. - (s390_initial_elimination_offset): Likewise. - (save_gprs): Likewise. - (s390_emit_prologue): Likewise. - (s390_emit_epilogue): Likewise. - (s390_function_arg_advance): Likewise. - (s390_function_arg): Likewise. - (s390_va_start): Likewise. - (s390_gimplify_va_arg): Likewise. - (s390_function_profiler): Likewise. - (s390_optimize_prologue): Likewise. - (s390_rtx_costs): Likewise. - (s390_secondary_reload): Likewise. - (s390_promote_function_mode): Likewise. - (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH. - (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit - registers available. - (s390_unwind_word_mode): New function. - (s390_function_value): Split 64 bit values into register pair if - used as return value. - (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for - function call parameters. Handle parallels. - (TARGET_SCALAR_MODE_SUPPORTED_P): New macro. - (HARD_REGNO_CALL_PART_CLOBBERED): New macro. - (DWARF_CIE_DATA_ALIGNMENT): New macro. - (s390_expand_setmem): Remove unused variable src_addr. - * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to - deal with 64 bit registers. - * gcc/config/s390/s390.h: Define __zarch__ predefined macro. - Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant. - (UNITS_PER_LONG): New macro. - * libjava/include/s390-signal.h: Define extended ucontext - structure containing the upper halfs of the 64 bit registers. - -2010-04-13 Simon Baldwin - - * cfgexpand.c (gimple_expand_cfg): Clarify warning message text. - -2010-04-13 Eric Botcazou - - * gimple.c (walk_gimple_op) : Do not request a pure - rvalue on the RHS if the LHS is of a non-renamable type. - * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result. - -2010-04-13 Matthias Klose - - * gcc.c (cc1_options): Handle -iplugindir before processing - the cc1 spec. Only add -iplugindir once. - (cpp_unique_options): Add -iplugindir option if -fplugin* options - found. - * common.opt (iplugindir): Remove `Separate' property, initialize. - * plugin.c (default_plugin_dir_name): Error with missing -iplugindir - option. - * Makefile.in (check-%, check-parallel-%): Create plugin dir. - (distclean): Remove plugin dir. - * doc/invoke.texi: Document -iplugindir. - -2010-04-13 Basile Starynkevitch - - * doc/plugins.texi (Loading Plugins): Document short - -fplugin=foo option. - (Plugin API): Mention default_plugin_dir_name function. - - * gcc.c (find_file_spec_function): Add new declaration. - (static_spec_func): Use it for "find-file". - (find_file_spec_function): Add new function. - (cc1_options): Add -iplugindir option if -fplugin* options found. - - * gcc-plugin.h (default_plugin_dir_name): Added new declaration. - - * plugin.c (add_new_plugin): Updated comment, and handle short - plugin name. - (default_plugin_dir_name): Added new function. - - * common.opt (iplugindir): New option to set the plugin directory. - -2010-04-12 Uros Bizjak - - * config/i386/i386.md (any_rotate): New code iterator. - (rotate_insn): New code attribute. - (rotate): Ditto. - (SWIM124): New mode iterator. - (ti3): New expander. - (di3): Macroize expander from {rotl,rotr}di3 using - any_rotate code iterator. - (3) Macroize expander from {rotl,rotr}{qi,hi,si}3 - using any_rotate code iterator and SWIM124 mode iterator. - (ix86_rotlti3): New insn_and_split pattern. - (ix86_rotrti3): Ditto. - (ix86_rotl3_doubleword): Macroize insn_and_split pattern from - ix86_rotl{di,ti}3 patterns. - (ix86_rotr3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns. - (*3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit - and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from - *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate - code iterator and SWI mode iterator. - (*si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext. - Macroize insn from {rotl,rotr}si3_1_zext using any_rotate - code iterator. - (*qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp. - Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator. - (bswap rotatert splitter): Add splitter. - (bswap splitter): Macroize splitter using any_rotate code iterator. - Add insn predicate to split only for TARGET_USE_XCHGB or when - optimizing function for size. - -2010-04-12 Steve Ellcey - - * config/pa/pa.c (emit_move_sequence): Remove use of - deleted variable flag_argument_noalias. - -2010-04-12 Rainer Orth - - * config.gcc: Removed *-*-solaris2.7* from list of obsolete - configurations. - Add to unsupported targets list. - * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*, - sparc*-sun-solaris2.[567]* from target lists. - * configure: Regenerate. - * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7 - removal. - Remove Solaris 7 patch references. - (Specific, sparc-sun-solaris2.7): Removed. - (sparc-sun-solaris2*): Update Solaris 7 example. - (sparc64-*-solaris2*): Likewise. - -2010-04-12 Rainer Orth - - * config.build (alpha*-dec-osf4*): Remove. - * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list - of obsolete configurations. - (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0* - support. - * config/alpha/t-osf4: Renamed to ... - * config/alpha/t-osf5: ... this. - * config/alpha/osf.h: Renamed to ... - * config/alpha/osf5.h: ... this. - Merged old osf5.h contents. - Update comments. - (ASM_SPEC): Use ASM_OLDAS_SPEC directly. - (EXTRA_SPECS): Removed. - * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to - reflect removal of Tru64 UNIX V4.0/V5.0 support. - Document that. - -2010-04-12 Rainer Orth - - * doc/contrib.texi (Contributors, Rainer Orth): Update. - -2010-04-12 Kai Tietz - - PR/43702 - * config/i386/i386.c (x86_this_parameter): Handle aggregate for - __thiscall convention. - -2010-04-12 Steve Ellcey - - * config/pa/pa.c (hppa_legitimize_address): Remove unused variable - orig_base. - * config/pa/pa.md (call, call_value): Remove unused variable call_insn. - -2010-04-12 Steve Ellcey - - * function.c (assign_parms_initialize_all): Add unused attribute - to fntype. - -2010-04-12 Richard Guenther - - * gsstruct.def (GSS_CALL): New. - * gimple.def (GIMPLE_CALL): Change to GSS_CALL. - * gimple.h: Include tree-ssa-alias.h. - (struct gimple_statement_call): New. - (union gimple_statement_struct_d): Add gimple_call member. - (gimple_call_reset_alias_info): Declare. - (gimple_call_use_set): New function. - (gimple_call_clobber_set): Likewise. - * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h. - * gimple.c (gimple_call_reset_alias_info): New function. - (gimple_build_call_1): Call it. - * lto-streamer-in.c (input_gimple_stmt): Likewise. - * tree-inline.c (remap_gimple_stmt): Likewise. - (expand_call_inline): Remove callused handling. - * cfgexpand.c (update_alias_info_with_stack_vars): Likewise. - * tree-dfa.c (dump_variable): Likewise. - * tree-parloops.c (parallelize_loops): Likewise. - * tree-ssa.c (init_tree_ssa): Likewise. - (delete_tree_ssa): Likewise. - * tree-flow-inline.h (is_call_used): Remove. - * tree-flow.h (struct gimple_df): Remove callused member. - * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate. - * tree-ssa-alias.c (dump_alias_info): Remove callused handling. - (ref_maybe_used_by_call_p_1): Simplify. - (call_may_clobber_ref_p_1): Likewise. - * tree-ssa-structalias.c (compute_points_to_sets): Set - the call stmt used and clobbered sets. - * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate. - (find_tail_calls): Verify the tail call. - -2010-04-12 Richard Guenther - - * ipa.c (cgraph_postorder): Adjust postorder to guarantee - single-iteration always-inline inlining. - * ipa-inline.c (cgraph_mark_inline): Do not return anything. - (cgraph_decide_inlining): Do not handle always-inline specially. - (try_inline): Remove always-inline cycle detection special case. - Do not recurse on always-inlines. - (cgraph_early_inlining): Do not iterate if not optimizing. - (cgraph_gate_early_inlining): remove. - (pass_early_inline): Run unconditionally. - (gate_cgraph_decide_inlining): New function. - (pass_ipa_inline): Use it. Do not run the IPA inliner if - not inlining or optimizing. - (cgraph_decide_inlining_of_small_functions): Also consider - always-inline functions. - (cgraph_default_inline_p): Return true for nodes which should - disregard inline limits. - (estimate_function_body_sizes): Assume zero size and time for - nodes which are marked as disregarding inline limits. - (cgraph_decide_recursive_inlining): Do not perform recursive - inlining on always-inline nodes. - -2010-04-12 Jakub Jelinek - - PR bootstrap/43699 - * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even - for exprs satisfying handled_component_p. - -2010-04-12 Eric Botcazou - - * expr.c (categorize_ctor_elements_1): Properly count sub-elements of - non-constant aggregate elements. - - * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this - is a real initialization. - -2010-04-12 Shujing Zhao - - PR c/36774 - * c-decl.c (start_function): Move forward check for nested function. - -2010-04-11 Kaz Kojima - - * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare. - * config/sh/sh.c: Include reload.h. - (sh_legitimize_reload_address): New. - * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use - sh_legitimize_reload_address. - -2010-04-11 Kaushik Phatak - - * config/sh/sh.md (*movqi_pop): New insn pattern. - * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate. - -2010-04-11 Uros Bizjak - - * config/i386/i386.md (any_shiftrt): New code iterator. - (shiftrt_insn): New code attribute. - (shiftrt): Ditto. - (3): Macroize expander from {ashr,lshr}3 - using any_shiftrt code iterator. - (*3_doubleword): Macroize insn_and_split from - *{ashr,lshr}3_doubleword using any_shiftrt code iterator. - (*3_doubleword peephole2): Macroize peephole2 - pattern from corresponding peephole2 patterns. - (*3_1): Macroize insn from *{ashr,lshr}3_1 - using any_shiftrt code iterator. - (*si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext. - (*qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp. - (*3_cmp): Ditto from *{ashr,lshr}3_cmp. - (*3_cmp_zext): Ditto from - *{ashr,lshr}3_cmp_zext. - (*3_cconly): Ditto from *{ashr,lshr}3_cconly. - -2010-04-11 Uros Bizjak - - * config/i386/i386.md (*ashr3_cconly): Fix wrong mode of - scratch register. - (*lshr3_cconly): Ditto. - -2010-04-11 Uros Bizjak - - * config/i386/i386.md (lshr3): Macroize expander from - lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator. - (*lshr3_doubleword): New insn_and_split_pattern. Macroize - pattern from *lshr{di,ti}3_1 and corresponding splitters using - DWI mode iterator. - (*lshr3_doubleword peephole2): Macroize peephole2 pattern - from corresponding peephole2 patterns. - (*lshr3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and - *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1 - and *lshrdi3_1_rex64 using SWI mode iterator. - (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext. - (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp. - (*lshr3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and - *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp - and *lshrdi3_cmp_rex64 using SWI mode iterator. - (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext. - (*lshr3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and - *lshrdi3_one_bit_cconly_rex64. Macroize insn from - *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using - SWI mode iterator. - -2010-04-10 Uros Bizjak - - * config/i386/i386.md (ashr3): Macroize expander from - ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator. - (*ashr3_doubleword): New insn_and_split_pattern. Macroize - pattern from *ashr{di,ti}3_1 and corresponding splitters using - DWI mode iterator. - (*ashr3_doubleword peephole2): Macroize peephole2 pattern - from corresponding peephole2 patterns. - (ashrdi3_cvt): Rename from ashrdi3_63_rex64. - (ashrsi3_cvt): Rename from ashrsi3_31. - (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext. - (x86_shift_adj_3): Macroize expander from x86_shift_adj_3 - and x86_64_shift_adj_3 using SWI48 mode iterator. - (*ashr3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and - *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1 - and *ashrdi3_1_rex64 using SWI mode iterator. - (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext. - (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp. - (*ashr3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and - *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp - and *ashrdi3_cmp_rex64 using SWI mode iterator. - (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext. - (*ashr3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and - *ashrdi3_one_bit_cconly_rex64. Macroize insn from - *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using - SWI mode iterator. - (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns. - * config/i386/i386.c (ix86_split_ashr): Update for renamed - x86_shift_adj_3 expanders. - -2010-04-10 Wei Guozhi - - PR target/42601 - * config/arm/arm.c (arm_pic_static_addr): New function. - (legitimize_pic_address): Call arm_pic_static_addr when it detects - a static symbol. - (arm_output_addr_const_extra): Output expression for new pattern. - * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol. - -2010-04-10 Bernd Schmidt - - * ira-costs.c (record_reg_classes): Ignore alternatives that are - not enabled. - - * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H). - * web.c: Include "insn-config.h" and "recog.h". - (union_match_dups): New function. - (web_main): Call it. - (union_defs): Don't try to recognize match_dups. - - * reload1.c (eliminate_regs_in_insn): Don't restore an operand - if doing so would replace the entire pattern. - -2010-04-09 Uros Bizjak - - PR target/43707 - PR target/43709 - * config/i386/i386.md (*ashl3_doubleword): Split to insn - and splitter pattern. Change splitter operand 1 predicate to - nonmemory_operand. - -2010-04-09 Martin Jambor - - * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two - lattices are addresses of CONST_DECLs with the same initial value. - (ipcp_print_all_lattices): Print values of CONST_DECLs. - * ipa-prop.c (ipa_print_node_jump_functions): Likewise. - -2010-04-09 Eric Botcazou - Bernd Schmidt - - * loop-invariant.c (replace_uses): New static function. - (move_invariant_reg): Use it to ensure we can replace the uses. - -2010-04-09 Hariharan Sandanagobalane - - * config/picochip/picochip.c (picochip_rtx_costs): Use correct - function template. - (picochip_override_options): Enable section anchors only above -O1. - (picochip_reorg): Fixed a couple of build warnings. - -2010-04-09 Rainer Orth - - * configure.ac (plugin -rdynamic test): Log result. - * configure: Regenerate. - * config/sol2.h (LINK_SPEC): Handle -rdynamic. - (RDYNAMIC_SPEC): Define. - * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine. - -2010-04-09 Rainer Orth - - * configure.ac: Determine Sun ld version numbers. - (comdat_group): Restrict GNU ld version checks to gld. - (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688. - (enable_comdat): Support --enable-comdat. - * configure: Regenerate. - * doc/install.texi (Configuration): Document --enable-comdat. - -2010-04-09 Rainer Orth - - * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ... - * config/sol2-gld.h: ... here. - * config.gcc (sparc*-*-solaris2*): Reflect this. - (i[34567]86-*-solaris2*): Use it. - -2010-04-09 Steve Ellcey - - * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable - setup_clocks_p. - (final_emit_insn_group_barriers): Remove unused variable prev_insn. - -2010-04-09 Manuel López-Ibáñez - - PR 42965 - * diagnostic.c (diagnostic_initialize): Initialize - some_warnings_are_errors. - (diagnostic_finish): New. - (diagnostic_action_after_output): Call it before exiting. - (diagnostic_report_diagnostic): Do not print message here. Set - some_warnings_are_errors. - * diagnostic.h (diagnostic_context): Delete - issue_warnings_are_errors_message. Add some_warnings_are_errors. - (diagnostic_finish): Declare. - * toplev.c (toplev_main): Call it before exit. - -2010-04-09 Jason Merrill - - PR c++/42623 - * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node - for incomplete type. - - PR c++/41788 - * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED - based on a warning flag. - -2010-04-09 Richard Guenther - - * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS. - -2010-04-09 Iain Sandoe - - PR bootstrap/43684 - * varasm.c (default_assemble_visibility): Wrap vars that are - set, but unused, by targets without GAS. - * config/rs6000/rs6000.c (paired_emit_vector_compare): - Remove set, but unused, vars. - (rs6000_legitimize_tls_address): Likewise. - (altivec_expand_dst_builtin): Likewise. - * config/darwin.c (machopic_classify_symbol): Likewise. - (machopic_indirection_name): Likewise. - -2010-04-09 Uros Bizjak - - * config/i386/i386.md (DWI): New mode iterator. - (S): New mode attribute. - (shift_operand): Ditto. - (shift_immediate_operand): Ditto. - (ashl_input_operand): Ditto. - (ashl3): Macroize expander from ashl{qi,hi,si,di,ti}3_1 - using SDWIM mode iterator. - (*ashl3_doubleword): New insn_and_split_pattern. Macroize - pattern from *ashl{di,ti}3_1 and corresponding splitters using - DWI mode iterator. - (*ashl3_doubleword peephole2): Macroize peephole2 pattern - from corresponding peephole2 patterns. - (x86_shift_adj_1): Macroize expander from x86_shift_adj_1 - and x86_64_shift_adj_1 using SWI48 mode iterator. - (x86_shift_adj_2): Ditto. - (*ashldi3_1_rex64): Split TYPE_LEA pattern. - (*ashl3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64 - using SWI48 mode iterator. - (*ashl3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and - *ashldi3_cmp_rex64 using SWI mode iterator. - (*ashl3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and - *ashldi3_cconly_rex64 using SWI mode iterator. - * config/i386/i386.c (ix86_split_ashl): Update for renamed - x86_shift_adj_{1,2}. - (ix86_split_ashr): Ditto. - (ix86_split_lshr): Ditto. - -2010-04-09 Richard Guenther - - * target.h (builtin_conversion): Pass in input and output types. - * targhooks.c (default_builtin_vectorized_conversion): Adjust. - * targhooks.h (default_builtin_vectorized_conversion): Likewise. - * tree-vect-stmts.c (vectorizable_conversion): Adjust. - * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust. - - * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust. - Handle AVX modes. - * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust. - -2010-04-09 Richard Guenther - - PR target/43152 - * config/i386/sse.md (vcond): Handle AVX modes as well. - -2010-04-09 Richard Guenther - - * tree-vectorizer.h (struct _stmt_vec_info): Document - that vectype is the type of the LHS. - (supportable_widening_operation, supportable_narrowing_operation): - Get both input and output vector types as arguments. - (vect_is_simple_use_1): Declare. - (get_same_sized_vectype): Likewise. - * tree-vect-loop.c (vect_determine_vectorization_factor): - Set STMT_VINFO_VECTYPE to the vector type of the def. - (vectorizable_reduction): Adjust. - * tree-vect-patterns.c (vect_recog_widen_mult_pattern): - Adjust. Specify the output vector type. - (vect_pattern_recog_1): Adjust. - * tree-vect-stmts.c (get_same_sized_vectype): New function. - (vectorizable_call): Adjust. - (vectorizable_conversion): Likewise. - (vectorizable_operation): Likewise. - (vectorizable_type_demotion): Likewise. - (vectorizable_type_promotion): Likewise. - (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of - the def. - (vect_is_simple_use_1): New function. - (supportable_widening_operation): Get both input and output - vector types. - (supportable_narrowing_operation): Likewise. - * tree-vect-slp.c (vect_schedule_slp_instance): Adjust. - -2010-04-09 Kai Tietz - - * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add - __thiscall and _thiscall as predefined macros. - * config/i386/i386.c (ix86_handle_cconv_attribute): Add - thiscall attribute handling. - (ix86_comp_type_attributes): Likewise. - (ix86_function_regparm): Likewise. - (ix86_return_pops_args): Likewise. - (init_cumulative_args): Likewise. - (find_drap_reg): Likewise. - (ix86_static_chain): Likewise. - (x86_this_parameter): Likewise. - (x86_output_mi_thunk): Likewise. - (ix86_attribute_table): Add description for thiscall attribute. - * config/i386/i386.h (ix86_args): Adjust comment for member fastcall. - * doc/extend.texi: Add documentation for thiscall. - -2010-04-09 Manuel López-Ibáñez - - PR c++/28584 - * c.opt (Wint-to-pointer-cast): Available in C++. - * doc/invoke.texi (Wint-to-pointer-cast): Available in C++. - -2010-04-08 Eric Botcazou - - * tree.h (TREE_ADDRESSABLE): Document its effect for function types. - * calls.c (expand_call): Pass the function type to aggregate_value_p. - * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on - the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the - function type instead. Reorder and simplify checks. - - * gimplify.c (gimplify_modify_expr_rhs) : New case. - -2010-04-08 Jing Yu - Zdenek Dvorak - - PR tree-optimization/42720 - * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time - loop unswitch conditions here from ... - (tree_unswitch_single_loop): ... here. - -2010-04-08 Sebastian Pop - - * tree-if-conv.c: Fix comments and simplify logic. - -2010-04-08 Sebastian Pop - - * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter. - (tree_if_conversion): Same. Update call to if_convertible_loop_p. - (main_tree_if_conversion): Update call to tree_if_conversion. - -2010-04-08 Manuel López-Ibáñez - - PR 42485 - * doc/invoke.texi (-b,-V): Delete. - * doc/tm.texi: Do not mention -b. - * gcc.c (display_help): Delete -b and -V. - (process_command): Delete -b and -V. - * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V. - -2010-04-08 Christian Borntraeger - Wolfgang Gellerich - - Implement target hook for loop unrolling - * target.h (loop_unroll_adjust): Add a new target hook function. - * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise. - * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it. - * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it. - (s390_loop_unroll_adjust): Implement the new target hook for s390. - * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll - target hook. - (decide_unroll_stupid): Likewise. - -2010-04-08 Rainer Orth - - PR target/43643 - * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx. - -2010-04-08 Rainer Orth - - * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar. - (Specific, *-*-solaris2*): Likewise. - Don't prefer Sun as over GNU as. - -2010-04-08 Wolfgang Gellerich - - * config/s390/s390.c (override_options): Adjust the z10 defaults - for max-unroll-times, max-completely-peeled-insns - and max-completely-peel-times. - -2010-04-08 Andreas Krebbel - - * config/s390/s390.c (s390_expand_movmem): Issue prefetch - instructions for z10. - (s390_expand_setmem): Likewise. - (s390_expand_cmpmem): Likewise. - -2010-04-08 Richard Guenther - - PR tree-optimization/43679 - * tree-ssa-pre.c (eliminate): Only propagate copies. - -2010-04-08 Jakub Jelinek - - PR bootstrap/43681 - * expr.c (block_move_libcall_safe_for_call_parm): Avoid - set but not used variable warning. - -2010-04-08 Wei Guozhi - - PR target/41653 - * config/arm/arm.c (thumb1_size_rtx_costs): New function. - (arm_size_rtx_costs): Call the new function when optimized for size. - -2010-04-08 Jakub Jelinek - - PR debug/43670 - * cfgexpand.c (expand_debug_expr): If for non-NULL offset - op0 is not a MEM, just return NULL instead of assertion - failure. - (discover_nonconstant_array_refs): Don't walk debug stmts. - -2010-04-08 Doug Kwan - - * configure.ac: Recognize gold and do not use its version number - to test ld features. - * configure: Regenerate. - -2010-04-08 Maxim Kuvyrkov - - PR middle-end/40815 - * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates. - (negate_value): Move code to push elements to broken_up_substracts ... - (eliminate_plus_minus_pair): ... here. Push operands that have no - negative pair to plus_negates. - (repropagate_negates, init_reassoc, fini_reassoc): Update. - -2010-04-07 Ralf Wildenhues - - * doc/install.texi (Configuration): Move description of - --enable-lto, --with-libelf*, --enable-gold from Java section to - general section. - - * doc/generic.texi (Working with declarations) - (Function Properties, C and C++ Trees): Fix typos. - * doc/sourcebuild.texi (Top Level): Likewise. - -2010-04-07 Jakub Jelinek - - PR c/18624 - * tree.h (DECL_READ_P): Define. - (struct tree_decl_common): Add decl_read_flag. - * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue - a set but not used warning. - (merge_decls): Merge DECL_READ_P flag. - (finish_decl, build_compound_literal): Set DECL_READ_P flag. - (finish_function): Issue -Wunused-but-set-parameter diagnostics. - * c-common.c (handle_used_attribute, handle_unused_attribute): - Likewise. - * c-tree.h (default_function_array_read_conversion, mark_exp_read): - New prototypes. - * c-typeck.c (default_function_array_read_conversion, mark_exp_read): - New functions. - (default_conversion, c_process_expr_stmt): Call mark_exp_read. - * c-parser.c (c_parser_initializer, c_parser_expr_no_commas, - c_parser_binary_expression, c_parser_cast_expression, - c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop): - Call default_function_array_read_conversion instead of - default_function_array_conversion where needed. - (c_parser_unary_expression, c_parser_conditional_expression, - c_parser_postfix_expression_after_primary, c_parser_initelt): - Likewise. Call mark_exp_read where needed. - (c_parser_statement_after_labels, c_parser_asm_operands, - c_parser_typeof_specifier, c_parser_sizeof_expression, - c_parser_alignof_expression, c_parser_initval): Call mark_exp_read - where needed. - * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter): - New. - * toplev.c (warn_unused_but_set_variable): Default to warn_unused. - (warn_unused_but_set_parameter): Default to warn_unused - && extra_warnings. - * doc/invoke.texi: Document -Wunused-but-set-variable and - -Wunused-but-set-parameter. - - * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not - used count variable. - * genemit.c (gen_expand, gen_split): Avoid set but not used warnings - when operandN variables aren't used in the body of the expander - or splitter. - * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC, - FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings. - * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise. - * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT, - FOR_EACH_IMM_USE_ON_STMT): Likewise. - * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise. - * tree.c (PROCESS_ARG): Likewise. - -2010-04-07 Simon Baldwin - - * diagnostic.h (diagnostic_override_option_index): New macro to - set a diagnostic's option_index. - * c-tree.h (c_cpp_error): Add warning reason argument. - * opts.c (_warning_as_error_callback): New. - (register_warning_as_error_callback): Store callback for - warnings enabled via enable_warning_as_error. - (enable_warning_as_error): Call callback, minor code tidy. - * opts.h (register_warning_as_error_callback): Declare. - * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in - response to -Werror=. - (c_common_init_options): Register warning_as_error_callback in opts.c. - * common.opt: Add -Wno-cpp option. - * c-common.c (struct reason_option_codes_t): Map cpp warning - reason codes to gcc option indexes. - * (c_option_controlling_cpp_error): New function, lookup the gcc - option index for a cpp warning reason code. - * (c_cpp_error): Add warning reason argument, call - c_option_controlling_cpp_error for diagnostic_override_option_index. - * doc/invoke.texi: Document -Wno-cpp. - -2010-04-07 Richard Guenther - - * ipa-reference.c (mark_load): Use get_base_address. - (mark_store): Likewise. - - * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid - inserting GIMPLE_NOPs into the IL. - * tree-ssa-structalias.c (get_constraint_for_component_ref): - Explicitly strip handled components and indirect references. - - * fold-const.c (fold_unary_loc): Do not strip qualifiers when - folding address expressions. - * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address. - * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use - operand_equal_p to compare decls. - (ptr_deref_may_alias_decl_p): Likewise. - * tree-ssa-operands.c (get_asm_expr_operands): Simplify - * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond): - Handle reversed comparison ops. - * tree-sra.c (asm_visit_addr): Use get_base_address. - * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address. - * ipa-reference.c (mark_address): Use get_base_address. - -2010-04-07 Richard Guenther - - * tree-ssa-forwprop.c (forward_propagate_addr_expr): - Propagate constants everywhere. - -2010-04-07 Jakub Jelinek - - PR debug/43516 - * tree.c (MAX_INT_CACHED_PREC): Define. - (nonstandard_integer_type_cache): New array. - (build_nonstandard_integer_type): Cache results for precision - <= MAX_INT_CACHED_PREC. - -2010-04-07 Richard Guenther - - * doc/invoke.texi (-fargument-alias, -fargument-noalias, - -fargument-noalias-global, -fargument-noalias-anything): Remove. - * common.opt: Likewise. - * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment. - * alias.c (base_alias_check): Remove flag_argument_noalias handling. - (nonoverlapping_memrefs_p): Likewise. - * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. - * opts.c (common_handle_option): Handle OPT_fargument_alias, - OPT_fargument_noalias, OPT_fargument_noalias_anything and - OPT_fargument_noalias_global for backward compatibility. - -2010-04-07 Richard Guenther - - PR tree-optimization/43270 - * tree-vrp.c (check_array_ref): Fix flexible array member detection. - * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare. - * tree-ssa-pre.c (phi_translate_1): Adjust. - (fully_constant_expression): Split out vn_reference handling to ... - * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here. - Fold reads from constant strings. - (vn_reference_lookup): Handle fully constant references. - (vn_reference_lookup_pieces): Likewise. - * Makefile.in (expmed.o-warn): Add -Wno-error. - -2010-04-07 Martin Jambor - - * tree-sra.c (find_param_candidates): Allow scalar va_list types. - -2010-04-07 Iain Sandoe - - PR driver/41594 - * gcc.c: Add -static-libstdc++ to list of recognized options. - -2010-04-07 Rainer Orth - - * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic. - -2010-04-07 Richard Guenther - - PR middle-end/42617 - * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer - bases build simple mem attributes to retain points-to information. - -2010-04-07 Richard Guenther - - PR middle-end/42617 - * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE - preserve points-to related information. - -2010-04-07 Richard Guenther - - PR middle-end/42617 - * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not - discard plain indirect references. - * fold-const.c (operand_equal_p): Guard against NULL_TREE type. - * tree.c (tree_nop_conversion): Likewise. - -2010-04-07 Dodji Seketeli - - PR debug/43628 - * dwarf2out.c (modified_type_die): Ignore artificial typedefs. - -2010-04-06 Kai Tietz - - * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore - calling convention attributes on METHOD_TYPEs for w64 ABI, too. - -2010-04-07 Sebastian Pop - - * tree-if-conv.c: Fix indentation and comments. - -2010-04-07 Sebastian Pop - - * tree-if-conv.c: Sort static functions in topological order. - -2010-04-07 Sebastian Pop - - * tree-if-conv.c: Fix indentation and comments. - -2010-04-06 Sebastian Pop - - PR middle-end/43519 - * graphite-clast-to-gimple.c (max_signed_precision_type): Use - lang_hooks.types.type_for_size instead of - build_nonstandard_integer_type. - When converting an unsigned type to signed, double its precision. - (gcc_type_for_interval): Use lang_hooks.types.type_for_size. - (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type. - (graphite_create_new_loop_guard): When ub + 1 wraps around, - use lb <= ub. - -2010-04-06 Sebastian Pop - - PR middle-end/43519 - * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use - POINTER_PLUS_EXPR for pointer types. - -2010-04-06 Sebastian Pop - - PR middle-end/43519 - * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h. - * graphite-clast-to-gimple.c: Include langhooks.h. - (max_signed_precision_type): New. - (max_precision_type): Takes two types as arguments. - (precision_for_value): New. - (precision_for_interval): New. - (gcc_type_for_interval): New. - (gcc_type_for_value): New. - (gcc_type_for_clast_term): New. - (gcc_type_for_clast_red): New. - (gcc_type_for_clast_bin): New. - (gcc_type_for_clast_expr): Split up into several functions. - (gcc_type_for_clast_eq): Rewritten. - (compute_bounds_for_level): New. - (compute_type_for_level_1): New. - (compute_type_for_level): New. - (gcc_type_for_cloog_iv): Removed. - (gcc_type_for_iv_of_clast_loop): Rewritten. - (graphite_create_new_loop): Compute the lower and upper bound types - with gcc_type_for_clast_expr. - (graphite_create_new_loop_guard): Same. - (find_cloog_iv_in_expr): Removed. - (compute_cloog_iv_types_1): Removed. - (compute_cloog_iv_types): Removed. - (gloog): Do not call compute_cloog_iv_types. - * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize - GBB_CLOOG_IV_TYPES. - (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES. - * sese.h (struct gimple_bb): Removed field cloog_iv_types. - (GBB_CLOOG_IV_TYPES): Removed. - -2010-04-06 Sebastian Pop - - * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that - gimple_phi_num_args of the loop close SSA phi node is equal to 1. - (detect_commutative_reduction): Same. - -2010-04-06 Sebastian Pop - - * graphite-clast-to-gimple.c (graphite_verify): Remove redundant - call to verify_ssa. Invoke verify_loop_closed_ssa with an extra - argument. - * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same. - * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same. - (rewrite_commutative_reductions_out_of_ssa): Same. - * passes.c (execute_function_todo): Call verify_ssa for every pass - in the LNO. Invoke verify_loop_closed_ssa with an extra argument. - * tree-flow.h (verify_loop_closed_ssa): Update declaration. - * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa - with an extra argument. - * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call - verify_ssa only when the extra argument is true. - (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa - with an extra argument. - (tree_transform_and_unroll_loop): Same. - -2010-04-06 Sebastian Pop - - * passes.c (execute_function_todo): Call verify_loop_closed_ssa - for all the passes of the LNO having LOOP_CLOSED_SSA. - * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops. - * tree-loop-distribution.c (pass_loop_distribution): Same. - * tree-pass.h (TODO_verify_loops): Removed. - * tree-ssa-loop.c (pass_tree_loop_init): Same. - (pass_lim): Same. - (pass_tree_unswitch): Same. - (pass_predcom): Same. - (pass_vectorize): Same. - (pass_linear_transform): Same. - (pass_graphite_transforms): Same. - (pass_iv_canon): Same. - (pass_complete_unroll): Same. - (pass_complete_unrolli): Same. - (pass_parallelize_loops): Same. - (pass_loop_prefetch): Same. - (pass_iv_optimize): Same. - -2010-04-06 Changpeng Fang - - PR middle-end/32824 - * passes.c (init_optimization_passes): Move pass_lim before - pass_copy_prop and pass_dce_loop. - -2010-04-06 Jakub Jelinek - - PR target/43667 - * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP - instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*. - (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of - MULTI_* defines for 4 argument vpermil2p* builtins. - -2010-04-06 Uros Bizjak - - * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare. - * config/i386/i386.c (x86_maybe_negate_const_int): New. - (x86_output_mi_thunk): Use x86_maybe_negate_const_int. - * config/i386/i386.md (*add_1, *addsi_1_zext, *addhi_1, - *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add_2, - *addsi_2_zext, *addhi_2, *addqi_2, *add_3, *addsi_3_zext, - *addhi_3, *addqi_3,*add_5, *addhi_5, *addqi_5): - Use x86_maybe_negate_const_int to output insn mnemonic. - (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto. Remove overflow - check from instruction predicate. Update comments. - * config/i386/sync.md (sync_add): Use - x86_maybe_negate_const_int to output insn mnemonic. - -2010-04-06 Jan Hubicka - - PR tree-optimization/42906 - * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add - IGNORE_SELF argument. Set visited_control_parents for fully - processed BBs. - (find_obviously_necessary_stmts): Update call of - mark_control_dependent_edges_necessary. - (propagate_necessity): Likewise. Handle PHI edges more curefully. - -2010-04-06 Uros Bizjak - - * config/i386/i386.md: Remove comment about 'e' and 'E' - operand modifier. - -2010-04-06 Richard Guenther - - PR tree-optimization/43627 - * tree-vrp.c (extract_range_from_unary_expr): Widenings - of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type, - not varying. - -2010-04-06 Jakub Jelinek - - * BASE-VER: Change to 4.6.0. - - PR target/43638 - * config/i386/i386.c (print_operand): Remove 'e' and 'E' code - handling. - -2010-04-06 Richard Guenther - - PR middle-end/43661 - * fold-const.c (fold_comparison): Handle X * 0 CMP 0. - -2010-04-05 Ralf Wildenhues - - * doc/invoke.texi (Optimize Options): Document that LTO - won't remove object access purely due to incompatible - declarations. - -2010-04-04 Matthias Klose - - * graphite-sese-to-poly.c (translate_scalar_reduction_to_array): - Initialize variable. - -2010-04-03 Richard Guenther - - PR middle-end/42509 - * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses - require a non-NULL MEM_OFFSET. - -2010-04-02 Steven Bosscher - - * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c, - basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h, - collect2.h, config/alpha/alpha.c, config/alpha/alpha.md, - config/alpha/predicates.md, config/arm/arm.md, - config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml, - config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c, - config/darwin9.h, config/darwin.c, config/darwin.h, - config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h, - config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c, - config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c, - config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c, - config/mips/mips.md, config/mn10300/mn10300.c, - config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md, - config/rs6000/aix.h, config/rs6000/dfp.md, - config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c, - config/rs6000/vector.md, config/rtems.h, config/rx/rx.md, - config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h, - config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md, - config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c, - config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in, - c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c, - diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi, - doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi, - doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c, - fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h, - gensupport.c, gimple.h, gimple-iterator.c, graphite.c, - graphite-clast-to-gimple.c, graphite-clast-to-gimple.h, - graphite-dependences.c, graphite-poly.c, graphite-poly.h, - graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c, - graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c, - intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h, - ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c, - ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c, - loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c, - objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk, - opt-functions.awk, opth-gen.awk, params.def, passes.c, - postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h, - rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h, - store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c, - tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h, - tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c, - tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c, - tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c, - tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c, - tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c, - tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c, - tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c, - tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c, - tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c, - unwind-dw2-fde-darwin.c, varpool.c: Update copyright years. - -2010-04-02 Ralf Wildenhues - - PR other/43620 - * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1. - * aclocal.m4: Regenerate. - -2010-04-02 Richard Guenther - - PR tree-optimization/43629 - * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands - if we have seen a constant value. - -2010-04-02 Joseph Myers - - * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'. - -2010-04-02 Richard Earnshaw - - PR target/43469 - * arm.c (legitimize_tls_address): Adjust call to - gen_tls_load_dot_plus_four. - (arm_note_pic_base): New function. - (arm_cannot_copy_insn_p): Use it. - * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in - constraint. - -2010-04-02 Ralf Wildenhues - - PR bootstrap/43531 - - Revert: - 2009-09-28 Ralf Wildenhues - - * Makefile.in ($(out_object_file)): Depend on - gt-$(basename $(notdir $(out_file))).h. - -2010-04-01 Ralf Corsépius - - * config.gcc (lm32-*-rtems*): Add t-lm32. - -2010-04-01 Joel Sherrill - - * config.gcc: Add lm32-*-rtems*. - * config/lm32/rtems.h: New file. - -2010-04-01 Dave Korn - - PR target/42609 - * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin. - -2010-04-01 Jakub Jelinek - - * dwarf2out.c (output_compilation_unit_header): For - -gdwarf-4 use version 4 instead of version 3. - (output_line_info): For version 4 and above emit additional - maximum ops per insn header field. - (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define. - - * dwarf2out.c (is_c_family, is_java): Remove. - (lower_bound_default): New function. - (add_bound_info, gen_descr_array_type_die): Use it. - -2010-04-01 Dodji Seketeli - - PR debug/43325 - * dwarf2out.c (gen_variable_die): Allow debug info for variable - re-declaration when it happens in a function. - -2010-04-01 Aldy Hernandez - - * cgraph.c (cgraph_add_function_insertion_hook): Update comment. - (cgraph_remove_function_insertion_hook): Same. - (cgraph_call_function_insertion_hooks): Same. - -2010-04-01 Richard Guenther - - PR middle-end/43614 - * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS - and TREE_THIS_VOLATILE. - (copy_ref_info): Likewise. - * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE. - * tree.c (build6_stat): Ignore side-effects of all but arg5 - for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of - TARGET_MEM_REF. - -2010-04-01 Richard Guenther - - PR tree-optimization/43607 - * ipa-type-escape.c (check_call): Do not access non-existing - arguments. - -2010-04-01 Richard Guenther - - PR middle-end/43602 - Revert - 2010-03-30 Seongbae Park - Jack Howarth - - * tree-profile.c (tree_init_ic_make_global_vars): Make static - variables TLS. - -2010-04-01 Rainer Orth - - * doc/install.texi (Prerequisites): Document libelf usability on - IRIX 5/6 and Solaris 2. - (Specific, i?86-*-solaris2.10): No 64-bit default configuration. - Update GNU as, GNU ld requirements. - (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal. - Document Sun Studio compiler download. - Update and simplify as, ld recommendations. - (Specific, *-*-solaris2.7): Note obsoletion, removal. - -2010-04-01 Rainer Orth - - * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32, - with_tune_32 to pentium4. - -2010-04-01 Uros Bizjak - - * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment. - -2010-04-01 Rainer Orth - - * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5 - obsoletion, removal. - Update IDO URL. - Document GNU as requirement. - Update configure requirements. - (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal. - Recomment IRIX 6.5.18+. - Document IDF/IDL requirement. - Document GNU as requirement. - Document GNU ld bootstrap failure. - Remove freeware.sgi.com reference. - -2010-04-01 Rainer Orth - - * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64 - UNIX V4.0, V5.0 obsoletion, removal. - Remove --with-gc=simple reference. - Update VM requirements during bootstrap. - Remove -oldas bootstrap description. - Update binutils reference. - Remove comparison failure note. - -2010-03-31 Richard Guenther - Zdenek Dvorak - Sebastian Pop - - PR middle-end/43464 - * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes - with multiple arguments. - (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa. - -2010-03-31 Sebastian Pop - - * graphite-dependences.c (print_pddr): Call print_pdr with an - extra argument. - * graphite-poly.c (debug_pdr): Add an extra argument for the - verbosity level. - (print_pdr): Same. - (print_pbb_domain): Same. - (print_pbb): Same. - (print_scop_context): Same. - (print_scop): Same. - (print_cloog): Same. - (debug_pbb_domain): Same. - (debug_pbb): Same. - (print_pdrs): Same. - (debug_pdrs): Same. - (debug_scop_context): Same. - (debug_scop): Same. - (debug_cloog): Same. - (print_scop_params): Same. - (debug_scop_params): Same. - (print_iteration_domain): Same. - (print_iteration_domains): Same. - (debug_iteration_domain): Same. - (debug_iteration_domains): Same. - (print_scattering_function): Same. - (print_scattering_functions): Same. - (debug_scattering_function): Same. - (debug_scattering_functions): Same. - * graphite-poly.h (debug_pdr): Update declaration. - (print_pdr): Same. - (print_pbb_domain): Same. - (print_pbb): Same. - (print_scop_context): Same. - (print_scop): Same. - (print_cloog): Same. - (debug_pbb_domain): Same. - (debug_pbb): Same. - (print_pdrs): Same. - (debug_pdrs): Same. - (debug_scop_context): Same. - (debug_scop): Same. - (debug_cloog): Same. - (print_scop_params): Same. - (debug_scop_params): Same. - (print_iteration_domain): Same. - (print_iteration_domains): Same. - (debug_iteration_domain): Same. - (debug_iteration_domains): Same. - (print_scattering_function): Same. - (print_scattering_functions): Same. - (debug_scattering_function): Same. - (debug_scattering_functions): Same. - -2010-03-31 Sebastian Pop - - * graphite-poly.c (print_scattering_function_1): New. - (print_scattering_function): Call it. - (print_scop_params): Remove spaces at the end of lines. - (print_cloog): New. - (debug_cloog): New. - * graphite-poly.h (print_cloog): Declared. - (debug_cloog): Declared. - -2010-03-31 Sebastian Pop - - * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump - in loop->header. - * tree-flow.h (canonicalize_loop_ivs): Updated declaration. - * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch. - * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter - to switch between adding the IV bump in loop->latch or in loop->header. - -2010-03-31 Sebastian Pop - - * graphite-poly.c (print_scattering_function): Pretty print following - the scoplib format. - (print_pdr): Same. - (print_pbb_domain): Same. - (dump_gbb_cases): Same. - (dump_gbb_conditions): Same. - (print_pdrs): Same. - (print_pbb): Same. - (print_scop_params): Same. - (print_scop_context): Same. - (print_scop): Same. - (print_pbb_body): New. - (lst_indent_to): New. - (print_lst): Start new lines with a #. - * graphite-poly.h (pbb_bb): New. - (pbb_index): Use pbb_bb. - * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of - disjuncts. - * tree-data-ref.c (dump_data_reference): Start new lines with a #. - -2010-03-31 Jakub Jelinek - - * dwarf2out.c (size_of_die): For -gdwarf-4 use - uleb128 size instead of fixed 1 or 2 for dw_val_class_loc - and 0 instead of 1 for dw_val_class_flag. - (value_format): For -gdwarf-4 use DW_FORM_sec_offset for - dw_val_class_range_list, dw_val_class_loc_list, - dw_val_class_lineptr and dw_val_class_macptr, use - DW_FORM_flag_present for dw_val_class_flag and - DW_FORM_exprloc for dw_val_class_loc. - (output_die): For -gdwarf-4 print dw_val_class_loc - size as uleb128 instead of 1 or 2 bytes and don't print - anything for dw_val_class_flag. - - * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn - instead of cselib_lookup following by tweaking locs->setting_insn. - - PR bootstrap/43596 - * cselib.c (cselib_process_insn): Clear cselib_current_insn - even before returning from label, setjmp call or volatile asm - handling. - -2010-03-31 Richard Guenther - - PR middle-end/43600 - * cgraphunit.c (cgraph_output_in_order): Do not allocate - temporary data on stack. - -2010-03-31 Rainer Orth - - * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef. - (PUSHSECTION_ASM_OP): Remove. - (POPSECTION_ASM_OP): Remove. - (PUSHSECTION_FORMAT): Remove. - * config/sol2.h (PUSHSECTION_FORMAT): Define. - * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine. - * config/sol2.c (solaris_output_init_fini): Use it. - -2010-03-31 Jie Zhang - - PR 43574 - * opt-functions.awk (var_type_struct): Use signed char type - for simple variables. - -2010-03-31 Rainer Orth - - * config/sol2.c: Include output.h. - (solaris_assemble_visibility): New function. - * config/t-sol2 (sol2.o): Add output.h dependency. - * config/sol2-protos.h (solaris_assemble_visibility): Declare. - * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY): - Redefine. - -2010-03-31 Jakub Jelinek - - PR target/43580 - * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of - V2SImode or XFmode on PRE_DEC. - - PR debug/43557 - * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like - BLKmode. - -2010-03-31 Jie Zhang - - PR 43562 - * reload.h (caller_save_initialized_p): Declare. - * toplev.c (backend_init_target): Don't call - init_caller_save but set caller_save_initialized_p to false. - * caller-save.c (caller_save_initialized_p): Define. - (init_caller_save): Check caller_save_initialized_p. - * ira.c (ira): Call init_caller_save if flag_caller_saves. - -2010-03-31 Rainer Orth - - PR target/39048 - * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp - and soft-fp/t-softfp to tmake_file. - * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine. - (LIBGCC2_TF_CEXT): Define. - (TF_SIZE): Define. - -2010-03-30 Alexandre Oliva - - PR debug/42977 - * cselib.c (n_useless_values): Document handling of debug locs. - (n_useless_debug_values, n_debug_values): New variables. - (new_elt_loc_list): Don't add to debug values, keep count. - (promote_debug_loc): New. - (cselib_reset_table): Zero new variables. - (entry_and_rtx_equal_p): Promote debug locs. - (discard_useless_locs): Increment n_useless_debug_values for - debug values. - (remove_useless_values): Adjust n_useless_values and n_debug_values - with n_useless_debug_values. - (add_mem_for_addr): Promote debug locs. - (cselib_lookup_mem): Likewise. - (cselib_lookup_addr): Renamed to... - (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call... - (cselib_log_lookup): ... this. Turn into... - (cselib_lookup_addr): ... new wrapper. - (cselib_lookup_from_insn): New. - (cselib_invalidate_regno): Increment n_useless_debug_values for - debug values. - (cselib_invalidate_mem): Likewise. - (cselib_process_insn): Take n_deleted and n_debug_values into - account to guard remove_useless_value call. - (cselib_finish): Zero n_useless_debug_values. - * cselib.h (cselib_lookup_from_insn): Declare. - * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn. - (sched_analyze_2): Likewise. - -2010-03-30 Jakub Jelinek - - * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New - functions. - (adjust_mems): Replace narrowing SUBREG of expression containing - just PLUS, MINUS, MULT and ASHIFT of registers and constants - with operations in the narrower mode. - - PR debug/43593 - * var-tracking.c (dataflow_set_clear_at_call): Invalidate just - regs_invalidated_by_call instead all call_used_reg_set registers. - -2010-03-30 Sebastian Pop - - PR middle-end/43430 - * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type - pointer comparisons with types_compatible_p. - * tree-vect-stmts.c (vectorizable_call): Same. - (vectorizable_condition): Same. - -2010-03-30 Andreas Krebbel - - * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic - stack check if the mask would be zero. - -2010-03-30 Seongbae Park - Jack Howarth - - * tree-profile.c (tree_init_ic_make_global_vars): Make static - variables TLS. - -2010-03-30 Joseph Myers - - PR other/25232 - * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2 - and __unordtf2. - * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version. - Include ___unordxf2 and ___unordtf2. - * config/i386/libgcc-glibc.ver: Do not define inheritance from - GCC_4.4.0 here. - -2010-03-30 Tarik Graba - - * config/lm32/t-lm32: New file. - * config.gcc: Use the above file when targetting lm32. - -2010-03-28 Duncan Sands - - * Makefile.in (PLUGIN_HEADERS): Add except.h. - -2010-03-29 Sebastian Pop - - PR middle-end/43431 - * tree-vect-loop.c (vect_estimate_min_profitable_iters): - Improve vectorization cost model diagnostic. - -2010-03-29 Sebastian Pop - - PR middle-end/43436 - * tree-vect-data-refs.c (vect_analyze_data_refs): When - compute_data_dependences_for_loop returns false, early exit - and output an extra diagnostic for the failed data reference - analysis. - -2010-03-29 Richard Guenther - - PR tree-optimization/43560 - * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter. - (can_sm_ref_p): Treat stores to readonly locations as trapping. - -2010-03-29 Jie Zhang - - PR 43564 - * toplev.c (process_options): Set optimization_default_node - and optimization_current_node. - * opts.c (decode_options): Don't set optimization_default_node - and optimization_current_node. - -2010-03-29 Ralf Corsépius - - * config/rtems.h: Abandon -qrtems_debug. - -2010-03-28 Jan Hubicka - - PR tree-optimization/43505 - * cgraph.c (cgraph_clone_node): When clonning a clone, replacement - map should not be copied. - -2010-03-27 John David Anglin - - PR middle-end/41674 - * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have - cdtors, set DECL_PRESERVE_P. - * ipa.c (cgraph_externally_visible_p): Return true if declaration - should be preseved. - -2010-03-27 Uros Bizjak - - PR tree-optimization/43528 - * stor-layout.c (place_field): Check that constant fits into - unsigned HWI when skipping calculation of MS bitfield layout. - -2010-03-27 Jan Hubicka - - PR middle-end/43391 - * varasm.c (make_decl_rtl): Deal with COMMON flag to make - notice_global_symbol work. - -2010-03-27 Jakub Jelinek - - * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl - instead of dwarf2out_decl. - (struct var_loc_node): Remove section_label field. - (dwarf2out_function_decl): New function. - (dwarf2out_var_location): Don't set section_label field. - (dwarf2out_begin_function): Don't empty decl_loc_table here. - -2010-03-26 Michael Meissner - - PR tree-optimization/43544 - * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): - First argument for builtin vectorized function hook is now a - tree to be able to distinguish between machine specific and - standard builtins. - * targhooks.c (default_builtin_vectorized_function): Ditto. - * targhooks.h (default_builtin_vectorized_function): Ditto. - * target.h (struct gcc_target): Ditto. - * tree-vect-stmts.c (vectorizable_function): Ditto. - * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto. - * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function): - Ditto. - -2010-03-26 Joseph Myers - - PR c/43381 - * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a - nested binding iff it is a FUNCTION_DECL. - (store_parm_decls_newstyle): Pass nested=true to bind for - FUNCTION_DECLs amongst parameters. - -2010-03-26 Jakub Jelinek - - * var-tracking.c (vt_expand_loc_callback): Don't run - cselib_expand_value_rtx_cb in dummy mode if - cselib_dummy_expand_value_rtx_cb returned false. - - * var-tracking.c (emit_note_insn_var_location): For one part - notes with offset 0, don't add EXPR_LIST around the location. - * dwarf2out.c (loc_descriptor, dw_loc_list_1, - add_location_or_const_value_attribute): Adjust for that change. - - PR debug/43540 - * dwarf2out.c (reg_save): For DW_CFA_expression put regnum - into first operand and location into second. - (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of - dw_cfi_oprnd_loc for DW_CFA_expression. - (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression. - (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression - assume first argument is regnum and second argument is location. - -2010-03-26 Uros Bizjak - - PR target/42113 - * config/alpha/alpha.md (*cmp_sadd_si): Change mode - of scratch register to DImode. Split to DImode comparison operator. - Use SImode subreg of scratch register in the multiplication. - (*cmp_sadd_sidi): Ditto. - (*cmp_ssub_si): Ditto. - (*cmp_ssub_sidi): Ditto. - -2010-03-26 Uros Bizjak - - PR target/43524 - * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]: - Remove invalid assert and wrong comment. - -2010-03-26 Jakub Jelinek - - PR debug/43516 - * flags.h (final_insns_dump_p): New extern. - * final.c (final_insns_dump_p): New variable. - (rest_of_clean_state): Set it before -fdump-final-insns= - dumping, clear afterwards. - * print-rtl.c (print_rtx): If final_insns_dump_p don't dump - MEM_ALIAS_SET on MEMs. - -2010-03-26 David S. Miller - - * configure.ac: Fix sparc GOTDATA_OP bug check. - * configure: Rebuild. - -2010-03-26 Alan Modra - - * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison. - -2010-03-25 Rainer Orth - - * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP, - TLS_SECTION_ASM_FLAG. - -2010-03-25 Jakub Jelinek - - PR bootstrap/43511 - * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO. - Clear first_function_block_is_cold. - - PR c/43385 - * gimplify.c (gimple_boolify): Only recurse on __builtin_expect - argument if the argument is truth_value_p. - -2010-03-24 Michael Meissner - - * config/rs6000/constraints.md: Update copyright year for my changes. - - PR target/43484 - * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is - used in reg+reg addressing, swap registers. - -2010-03-24 Jakub Jelinek - - PR debug/43293 - * target.h (struct gcc_target): Add code_end hook. - * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void - if not yet defined. - (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END. - * toplev.c (compile_file): Call targetm.asm_out.code_end - hook before unwind info/debug info output. - * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end. - * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define. - (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack. - * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define. - (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack. - * config/i386/i386.c (ix86_file_end): Renamed to... - (ix86_code_end): ... this. Make static. Don't call - file_end_indicate_exec_stack. Emit unwind info using - final_start_function/final_end_function. - (darwin_x86_file_end): Remove. - (TARGET_ASM_CODE_END): Define. - * config/i386/i386.h (TARGET_ASM_FILE_END, - NEED_INDICATE_EXEC_STACK): Don't define. - * config/i386/darwin.h (darwin_x86_file_end): Remove prototype. - (TARGET_ASM_FILE_END): Define to darwin_file_end. - * config/i386/i386-protos.h (ix86_file_end): Remove prototype. - * doc/tm.texi (TARGET_ASM_CODE_END): Document. - - PR target/43498 - * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function - at the beginning and final_end_function at the end. - * config/s390/s390.c (s390_output_mi_thunk): Likewise. - -2010-03-24 Rainer Orth - - * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support - and Sun as TLS syntax. - (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define. - * configure: Regenerate. - * config.in: Regenerate. - * varasm.c (TLS_SECTION_ASM_FLAG): Define default. - (default_elf_asm_named_section): Use it. - * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF. - (i386_output_dwarf_dtprel): Likewise. - (output_addr_const_extra): Likewise. - (output_pic_addr_const): Lowercase @GOTTPOFF. - (output_addr_const_extra): Likewise. - (output_pic_addr_const): Lowercase @GOTNTPOFF. - (output_addr_const_extra): Likewise. - (output_pic_addr_const): Lowercase @INDNTPOFF. - (output_addr_const_extra): Likewise. - (output_pic_addr_const): Lowercase @NTPOFF. - (output_addr_const_extra): Likewise. - (output_pic_addr_const): Lowercase @TPOFF. - (output_addr_const_extra): Likewise. - * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD. - (*tls_global_dynamic_64): Likewise. - (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM. - (*tls_local_dynamic_base_64): Lowercase @TLSLD. - - * defaults.h (TLS_COMMON_ASM_OP): Provide default. - (ASM_OUTPUT_TLS_COMMON): Use it. - * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef. - - PR target/38118 - * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file. - * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ... - * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here. - * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine. - * config/i386/sol2.h (TARGET_SUN_TLS): Redefine. - (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine. - -2010-03-24 Rainer Orth - - * config/i386/i386.c (override_options): Don't accept - -mtls-dialect=sun any longer. - * config/i386/i386.h (TARGET_SUN_TLS): Define as 0. - * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove. - (*tls_local_dynamic_base_32_sun): Likewise. - * config/i386/sol2.h (TARGET_SUN_TLS): Redefine. - -2010-03-24 Jakub Jelinek - - PR debug/43508 - * dwarf2out.c (mem_loc_descriptor): Don't ICE on - VEC_{MERGE,SELECT,CONCAT,DUPLICATE}. - - PR debug/43479 - * ira.c (adjust_cleared_regs): New function. - (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs. - - PR debug/19192 - PR debug/43479 - * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK - from gimple_block. - * expr.c (expand_expr_real): Restore previous - curr_insn_source_location and curr_insn_block after - expand_expr_real_1 call. - (expand_expr_real_1) : Call expand_expr_real - instead of expand_expr_real_1. - -2010-03-23 Vladimir Makarov - - PR rtl-optimization/43413 - * ira-color.c (setup_allocno_available_regs_num): Count prohibited - hard regs too. - -2010-03-22 James E. Wilson - - PR target/43348 - * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp, - call_value_gp, sibcall_gp): Use 's' constraint not 'i'. - -2010-03-22 H.J. Lu - - * config/i386/i386.c (ix86_target_string): Add -mfma. - Fix a typo in comment. - -2010-03-22 Mike Stump - - PR target/23071 - * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align): - Don't overly align based upon packed packed fields. - -2010-03-22 Jason Merrill - - * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]: - Use () rather than [], and move before the element type. - -2010-03-22 Rainer Orth - - * doc/configfiles.texi (Configuration Files): Removed - fixinc/Makefile*, intl/Makefile.*. - * doc/makefile.texi: Fixed markup. Abstract from version - control system used. - (Makefile): Removed obsolete gcc/java/parse.y example. - * doc/sourcebuild.texi: Likewise. - (Top Level): Added config, gnattools, libdecnumber, libgcc, - libgomp, libssp. Removed fastjar. - (Miscellaneous Docs): Clarify location. - Added COPYING3, COPYING3.LIB. - (Front End Directory): Moved Make-lang.in entry to new subsubsection. - -2010-03-22 Rainer Orth - - PR target/38085 - * config/i386/i386.c (x86_function_profiler) - [!NO_PROFILE_COUNTERS]: Fix typo. - * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call - instead of callq. - -2010-03-22 Janis Johnson - Rainer Orth - - * doc/sourcebuild.texi (Test Directives): Split into six - subsections, with most of the current text in new subsections - Directives, Selectors, and Final Actions. - (Directives): Split list of test directives into multiple - subsubsections. - (Selectors): Describe use and syntax of selectors. - (Effective-Target Keywords): Describe all existing keywords. - (Add Options): Describe features for dg-add-options. - (Require Support): Describe variants of dg-require-support. - (Final Actions): Describe commands to use in dg-final. - -2010-03-22 Michael Matz - - PR middle-end/43475 - * recog.c (validate_replace_rtx_group): Replace also in - REG_EQUAL and REG_EQUIV notes. - -2010-03-22 Richard Guenther - - PR tree-optimization/43390 - * tree-vect-stmts.c (get_vectype_for_scalar_type): Make - sure vector extracts are type correct. - -2010-03-22 Richard Guenther - - PR middle-end/40106 - * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as - x * sqrt (x) even when optimizing for size if the target - has native support for sqrt. - -2010-03-22 Jakub Jelinek - - * varasm.c (make_decl_rtl_for_debug): Also clear - flag_mudflap for the duration of make_decl_rtl call. - - PR debug/43443 - * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS - locs from preserved VALUEs. - -2010-03-21 John David Anglin - - PR middle-end/42718 - * pa.md (movmemsi): Set align to one if zero. - (movmemdi): Likewise. - -2010-03-21 Richard Earnshaw - - PR target/42321 - * arm.c (arm_output_epilogue): Correctly match VFP pop instructions - with their corresponding prologue pushes. - -2010-03-20 Andrew Pinski - - PR target/43156 - * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED - at the begining or end. - (spu_expand_epilogue): Likewise. - -2010-03-20 Richard Guenther - - PR rtl-optimization/43438 - * combine.c (make_extraction): Properly zero-/sign-extend an - extraction of the low part of a CONST_INT. Also handle - CONST_DOUBLE. - -2010-03-19 Mike Stump - - * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add. - * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add. - (override_options): Use SUBTARGET32_DEFAULT_CPU. - -2010-03-19 Andrew Pinski - - PR c/43211 - * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was - an error. - -2010-03-19 Bernd Schmidt - - PR rtl-optimization/42258 - * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a - use that may match DEF. - - PR target/40697 - * optabs.c (avoid_expensive_constant): Use rtx_cost to find out - the cost of loading the constant rather than assuming - COSTS_N_INSNS (1). - * config/arm/arm.c (thumb1_rtx_costs) : If the - outer code is AND, do the same tests as the andsi3 expander and - return COSTS_N_INSNS (1) if and is cheap. - - * optabs.c (avoid_expensive_constant): Fix formatting. - -2010-03-19 Michael Matz - - PR c++/43116 - * attribs.c (decl_attributes): When rebuilding a function pointer - type use the same qualifiers as the original pointer type. - -2010-03-19 Martin Jambor - - * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant - and is_gimple_ip_invariant_address. - -2010-03-19 Ramana Radhakrishnan - - Revert - 2009-10-01 Ramana Radhakrishnan - - * config/arm/arm.c (arm_override_options): Turn off - flag_dwarf2_cfi_asm for AAPCS variants. - -2010-03-19 Ramana Radhakrishnan - - PR target/43399 - * config/arm/arm.c (emit_multi_reg_push): Update comments. - Use PRE_MODIFY instead of PRE_DEC. - (emit_sfm): Use PRE_MODIFY instead of PRE_DEC. - (vfp_emit_fstmd): Likewise. - -2010-03-19 Michael Matz - - PR target/43305 - * builtins.c (expand_builtin_interclass_mathfn, - expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls - if that fails. - -2010-03-19 Richard Guenther - - PR tree-optimization/43415 - * tree-ssa-pre.c (phi_translate): Split out worker to ... - (phi_translate_1): ... this. - (phi_translate): Move all caching here. Cache all NARY - and REFERENCE translations. - -2010-03-19 David S. Miller - - With help from Eric Botcazou. - * config/sparc/sparc.c: Include dwarf2out.h. - (emit_pic_helper): Delete. - (pic_helper_symbol_name): Delete. - (pic_helper_emitted_p): Delete. - (pic_helper_needed): New. - (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'. - (get_pc_thunk_name): New. - (load_pic_register): Remove 'delay_pic_helper' arg. Use - get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol. - Set pic_helper_needed to true. Don't call emit_pic_helper. - (sparc_expand_prologue): Update load_pic_register call. - (sparc_output_mi_thunk): Likewise. - (sparc_file_end): Emit a hidden comdat symbol for the PIC - thunk if possible. Output CFI information as needed. - -2010-03-18 Francois-Xavier Coudert - Jack Howarth - - PR target/36399 - * config/i386/i386.h: Fix ABI on darwin x86-32. - -2010-03-18 Aldy Hernandez - - * tree.h: Declare make_decl_rtl_for_debug. - * varasm.c (make_decl_rtl_for_debug): New. - * dwarf2out.c (rtl_for_decl_location): Call it. - * cfgexpand.c (expand_debug_expr): Call it. - -2010-03-18 Jakub Jelinek - - PR bootstrap/43399 - * var-tracking.c (adjust_mems) : Allow BLKmode - mem_mode. - - PR bootstrap/43403 - * var-tracking.c (vt_init_cfa_base): Do nothing if - cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register. - -2010-03-18 Alexandre Oliva - - PR debug/42873 - * var-tracking.c (canonicalize_vars_star): New. - (dataflow_post_merge_adjust): Use it. - -2010-03-18 Jakub Jelinek - - PR debug/43058 - * var-tracking.c (non_suitable_const): New function. - (add_uses): For DEBUG_INSNs with constants, don't record any - value, instead just the constant value itself. - (compute_bb_dataflow) : If PAT_VAR_LOCATION_LOC - is not VAR_LOC_UNKNOWN_P, set var to the constant. - (emit_notes_in_bb): Likewise. - (emit_note_insn_var_location): For onepart variables if - cur_loc is a VOIDmode constant, use DECL_MODE. - -2010-03-18 Martin Jambor - - PR middle-end/42450 - * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare. - * cgraphunit.c (cgraph_materialize_all_clones): Update calls in - all non-clones. Moved call redirection... - (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function. - (cgraph_materialize_all_clones): Dispose of all - combined_args_to_skip bitmaps. - (verify_cgraph_node): Do not check for edges pointing to wrong - nodes in inline clones. - * tree-inline.c (copy_bb): Call - cgraph_redirect_edge_call_stmt_to_callee. - * ipa.c (cgraph_remove_unreachable_nodes): Call - cgraph_node_remove_callees even when there are used clones. - -2010-03-18 H.J. Lu - - * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0. - -2010-03-18 H.J. Lu - - PR target/43383 - * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0 - for 32bit. - -2010-03-18 Michael Matz - - PR middle-end/43419 - * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5) - into sqrt(x) if we need to preserve signed zeros. - -2010-03-18 Steven Bosscher - Eric Botcazou - - PR rtl-optimization/43360 - * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL - note if we don't know its invariant status. - -2010-03-18 Michael Matz - - PR tree-optimization/43402 - * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow - PHI chains of ssa names registered for update. - -2010-03-17 Peter Bergner - - PR target/42427 - * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for - non-offsettable and pre_modify update addressing. - * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1" - and "2" alternatives "#". - (*movdd_softfloat32): Make all alternatives "#"; - * config/rs6000/rs6000.md (DIFD): New define_mode_iterator. - (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#". - (*movdf_softfloat32): Make all alternatives "#"; - (movdi): Use the new DIFD mode iterator to create a common splitter - for movdi, movdf and movdd patterns. - -2010-03-18 Shujing Zhao - - * common.opt (dumpdir): Remove redundant tab. - -2010-03-17 Martin Jambor - - PR tree-optimization/43347 - * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the - original base is DECL_ARTIFICIAL or DECL_IGNORED_P. - -2010-03-17 Bernd Schmidt - - PR rtl-optimization/42216 - * regrename.c (create_new_chain): New function, broken out from... - (scan_rtx_reg): ... here. Call it. Handle the case where we are - appending a use to an empty chain. - (build_def_use): Remove previous changes that convert OP_INOUT to - OP_OUT operands; instead detect the case where an OP_INOUT operand - uses a previously untracked register and create an empty chain for it. - -2010-03-17 Ralf Wildenhues - - * doc/extend.texi (Function Attributes): Rewrite unfinished - sentence in ms_abi documentation. - -2010-03-17 Alan Modra - - * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var. - * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define. - (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL. - * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define. - -2010-03-16 Richard Henderson - - PR middle-end/43365 - * tree-eh.c (replace_goto_queue): Also replace in the eh_seq. - (lower_try_finally): Save and restore eh_seq around the expansion - of the try-finally. - -2010-03-16 Aldy Hernandez - - * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug - statements before splitting block. - -2010-03-16 Rainer Orth - - * doc/sourcebuild.texi (Testsuites): Fix markup. - Use pathnames relative to gcc/testsuite. - (Test Directives): Move description of how timeout is determined. - (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc. - (C Tests): Correct gcc.misc-tests directory. - Framework tests now live in gcc.test-framework. - -2010-03-16 Richard Guenther - - PR middle-end/43379 - * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI - operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly. - -2010-03-16 Aldy Hernandez - Alexandre Oliva - - PR tree-optimization/42917 - * lambda-code.c (remove_iv): Skip debug statements. - (lambda_loopnest_to_gcc_loopnest): Likewise. - (not_interesting_stmt): Debug statements are not interesting. - -2010-03-16 Jakub Jelinek - - PR debug/43051 - PR debug/43092 - * cselib.c (cselib_preserve_constants, - cfa_base_preserved_val): New static variables. - (preserve_only_constants): New function. - (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't - clear its REG_VALUES. If cselib_preserve_constants, don't - empty the whole hash table, but preserve there VALUEs with constants, - cfa_base_preserved_val and cfa_base_preserved_val plus constant. - (cselib_preserve_cfa_base_value): New function. - (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val. - (cselib_init): Change argument to int bitfield. Set - cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS - is in it. - (cselib_finish): Clear cselib_preserve_constants and - cfa_base_preserved_val. - * cselib.h (enum cselib_record_what): New enum. - (cselib_init): Change argument to int. - (cselib_preserve_cfa_base_value): New prototype. - * postreload.c (reload_cse_regs_1): Adjust cselib_init caller. - * dse.c (dse_step1): Likewise. - * cfgcleanup.c (thread_jump): Likewise. - * sched-deps.c (sched_analyze): Likewise. - * gcse.c (local_cprop_pass): Likewise. - * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback. - If FN is non-NULL, call the callback always and whenever it returns - non-NULL just return that. Only do rtx_equal_p if FN is NULL. - * rtl.h (simplify_replace_fn_rtx): Add argument to callback. - * combine.c (propagate_for_debug_subst): Add old_rtx argument, - compare from with old_rtx and if it isn't rtx_equal_p, return NULL. - * Makefile.in (var-tracking.o): Depend on $(RECOG_H). - * var-tracking.c: Include recog.h. - (bb_stack_adjust_offset): Remove. - (vt_stack_adjustments): Don't call it, instead just gather the - adjustments using insn_stack_adjust_offset_pre_post on each bb insn. - (adjust_stack_reference): Remove. - (compute_cfa_pointer): New function. - (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables. - (struct adjust_mem_data): New type. - (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New - functions. - (get_address_mode): New function. - (replace_expr_with_values): Use it. - (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P. - Use get_address_mode. For cfa_base_rtx return MO_CLOBBER. - (adjust_sets): Remove. - (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant. - Use get_address_mode. - (get_adjusted_src): Remove. - (add_stores): Don't call it. Never reuse expr SET. Don't add extra - MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode. - (add_with_sets): Don't call adjust_sets. - (fp_setter, vt_init_cfa_base): New functions. - (vt_initialize): Change return type to bool. Move most of pool etc. - initialization to the beginning of the function from end. Pass - CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init. - If !frame_pointer_needed, call vt_stack_adjustment before mos - vector is filled, call vt_init_cfa_base if argp/framep has been - eliminated to sp. If frame_pointer_needed and argp/framep has - been eliminated to hard frame pointer, set - hard_frame_pointer_adjustment and call vt_init_cfa_base after - encountering fp setter in the prologue. For MO_ADJUST, call - log_op_type before pusing the op into mos vector, not afterwards. - Call adjust_insn before cselib_process_insn/add_with_sets, - call cancel_changes (0) afterwards. - (variable_tracking_main_1): Adjust for vt_initialize calling - vt_stack_adjustments and returning whether it succeeded or not. - -2010-03-15 Aldy Hernandez - - * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip - debug statements. - -2010-03-15 Jakub Jelinek - - * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg - has been set. - (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when - drap_reg has not been set. - -2010-03-15 Michael Matz - - PR middle-end/43300 - * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp, - use it to expand block copies. - (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge, - insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy. - (insert_value_copy_on_edge): Use store_expr for BLKmode values. - -2010-03-15 Richard Guenther - - PR tree-optimization/43367 - * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI - elimination check. - -2010-03-15 Richard Guenther - - PR tree-optimization/43317 - * ipa-struct-reorg.c (create_new_general_access): Update stmt. - -2010-03-15 Martin Jambor - - PR tree-optimization/43141 - * tree-sra.c (create_abstract_origin): New function. - (modify_function): Call create_abstract_origin. - -2010-03-15 Chris Demetriou - - * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it - wasn't copied. - -2010-03-13 Sebastian Pop - - PR middle-end/43354 - * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not - call insert_out_of_ssa_copy for default definitions. - -2010-03-13 Sebastian Pop - - * graphite-clast-to-gimple.c (my_long_long): Defined. - (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node. - * graphite-sese-to-poly.c (my_long_long): Defined. - (scop_ivs_can_be_represented): Use it. - -2010-03-13 Sebastian Pop - - * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params, - graphite-max-bbs-per-function, and loop-block-tile-size. - * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal" - with "maximum". - (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same. - -2010-03-13 Sebastian Pop - - * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove - forward declaration. - * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment. - (add_upper_bounds_from_estimated_nit): New. - (build_loop_iteration_domains): Use it. - -2010-03-13 Sebastian Pop - - * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document. - -2010-03-13 Sebastian Pop - - PR middle-end/43306 - * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT - should be an INTEGER_CST. Also handle CASE_CONVERT. - -2010-03-13 Sebastian Pop - - * graphite.c (graphite_initialize): To bound the number of bbs per - function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION. - * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared. - * doc/invoke.texi: Document it. - -2010-03-13 Sebastian Pop - - * graphite-sese-to-poly.c (build_poly_scop): Do not return bool. - * graphite-sese-to-poly.h (build_poly_scop): Same. - -2010-03-13 Sebastian Pop - - * graphite-sese-to-poly.c (build_poly_scop): Limit scops following - the number of parameters in the scop. Use as an upper bound - PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS. - * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared. - * doc/invoke.texi: Document it. - -2010-03-13 Jerry Quinn - - * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi. - * doc/c-tree.texi: Remove. - * doc/generic.texi: Merge c-tree.texi here. - * doc/gccint.texi (Trees): Remove menu entry. - (c-tree.texi): Remove @include. - * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC. - * doc/languages.texi (Reading RTL): Ditto. - -2010-03-12 Steve Ellcey - - PR target/42869 - * config/ia64/sync.md (sync_compare_and_swap): Move memory fence. - -2010-03-12 Michael Meissner - - PR middle-end/42431 - * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid - code added to work around reload clobbering CONST insns. - -2010-03-12 Jakub Jelinek - - * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove. - (cselib_preserve_definitely, cselib_clear_preserve): Remove. - (cselib_preserve_only_values): Remove retain argument, don't - traverse hash table with cselib_{preserve_definitely,clear_preserve}. - * cselib.h (cselib_preserve_only_values): Remove retain argument. - * var-tracking.c (micro_operation): Move insn field before union. - Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type. - (struct variable_tracking_info_def): Remove n_mos field, change - mos into a vector of micro_operations. - (count_uses, count_uses_1, count_stores, count_with_sets): Remove. - (bb_stack_adjust_offset, log_op_type, add_uses, add_stores, - compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos - changing into a vector. - (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores - come before all other uops generated by add_stores. - (vt_add_function_parameters): Adjust for cselib_preserve_only_values - argument removal. - (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into - a vector. Run just one pass over the bbs instead of separate counting - and computation phase. - (vt_finalize): Free VTI (bb)->mos vector instead of array. - - PR debug/43329 - * tree-inline.c (remap_decls): Put old_var rather than origin_var - into *nonlocalized_list vector. - * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin - even if origin is non-NULL. - (gen_variable_die): Likewise. - (process_scope_var): Don't change origin. - (gen_decl_die): Likewise. - * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p - before adding new edges instead of after it, fix moving over - debug stmts. - -2010-03-11 David S. Miller - - * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple - of four. - * configure: Rebuild. - -2010-03-11 Martin Jambor - - PR tree-optimization/43257 - * tree.c (assign_assembler_name_if_neeeded): New function. - (free_lang_data_in_cgraph): Assembler name assignment moved to the - above new function. - * tree.h (assign_assembler_name_if_neeeded): Declare. - * cgraphunit.c (cgraph_analyze_function): Create an assembler name for - the function if needed. - -2010-03-11 Chris Demetriou - - * Makefile.in (stmp-int-hdrs): Make include/unwind.h, - include/stdint-gcc.h, and include/stdint.h world-readable. - -2010-03-11 Richard Guenther - - PR tree-optimization/43255 - * tree-vrp.c (process_assert_insertions_for): Do not insert - asserts for trivial conditions. - -2010-03-11 Andreas Krebbel - - PR tree-optimization/43280 - * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number - generation. Move calculation of size out of the if branch. - (find_bswap): Modify compare number generation. - -2010-03-11 Richard Guenther - - PR lto/43200 - * lto-streamer-in.c (maybe_fixup_decls): Simplify. - (input_gimple_stmt): Fixup handled component types during - operand read. Also fix up decls in ADDR_EXPRs. - -2010-03-10 Eric Botcazou - - * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32. - * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus. - -2010-03-10 Jan Hubicka - - PR c/43288 - * ipa.c (function_and_variable_visibility) Normalize COMMON bits. - * varasm.c (get_variable_section): Don't do that here... - (make_decl_rtl): ... and here. - (do_assemble_alias): Produce decl RTL. - (assemble_alias): Likewise. - -2010-03-10 Jakub Jelinek - - PR debug/43290 - * reg-notes.def (REG_CFA_SET_VDRAP): New note. - * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting - of fde->vdrap_reg. - (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note. - (based_loc_descr): Only express drap or vdrap regno based expressions - using DW_OP_fbreg when not optimizing. - * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing, - make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add - REG_CFA_SET_VDRAP note. - -2010-03-10 Alexander Monakov - - PR tree-optimization/43236 - * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one - error in calculation of base address in reverse iteration case. - (generate_builtin): Take number of latch executions if the statement - is in the latch. - -2010-03-10 Andrey Belevantsev - - PR middle-end/42859 - * tree-eh.c: Include pointer-set.h. - (lower_eh_dispatch): Filter out duplicate case labels and - remove the unneeded edge when the label is unused. Return - true when some edges are removed. - (execute_lower_eh_dispatch): When any lowering resulted in - removing an edge, also delete unreachable blocks. - -2010-03-10 Jakub Jelinek - - PR bootstrap/43287 - * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle - UNSPEC_MACHOPIC_OFFSET. - -2010-03-09 Andreas Schwab - - PR target/43294 - * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define. - (m68k_delegitimize_address): New function. - -2010-03-09 Jakub Jelinek - - PR debug/43299 - * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs. - - PR debug/43299 - * var-tracking.c (adjust_sets): New function. - (count_with_sets, add_with_sets): Use it. - (get_adjusted_src): New inline function. - (add_stores): Use it. - - PR debug/43304 - * var-tracking.c (vt_expand_loc_callback) : If dummy, - call cselib_dummy_expand_value_rtx_cb instead of - cselib_expand_value_rtx_cb. - - PR debug/43293 - * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h. - * config/i386/i386.c: Include debug.h and dwarf2out.h. - (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc - and .cfi_endproc around the pic thunks. - (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure - all queued unwind info register saves are saved before the call. - For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is - considered as sp-=4 for unwind info and the pop as sp+=4 which - also clobbers dest, but doesn't actually restore it. - - PR debug/43290 - * config/i386/i386.c (ix86_get_drap_rtx): Don't set - RTX_FRAME_RELATED_P. - -2010-03-09 Jie Zhang - - * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing - whitespaces in output template. - -2010-03-09 Jie Zhang - - * ira-lives.c (check_and_make_def_use_conflict): Don't fall - out array boundary. - -2010-03-08 Jakub Jelinek - - * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and - builtins.exp in a separate job. - -2010-03-08 Sebastian Pop - - * graphite-sese-to-poly.c (add_param_constraints): Use - lower_bound_in_type and upper_bound_in_type. - -2010-03-08 Sebastian Pop - - * graphite-sese-to-poly.c (add_param_constraints): Use sizetype - instead of unsigned_type_node. - -2010-03-08 Sebastian Pop - Reza Yazdani - - PR middle-end/43065 - * graphite-sese-to-poly.c (add_param_constraints): Insert bounds - on pointer type parameters. - -2010-03-08 Tobias Grosser - - PR middle-end/42644 - PR middle-end/42130 - * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also - handle conversions from pointer to integers. - (gcc_type_for_cloog_iv): Choose the smalles signed integer as an - induction variable, to be able to work with code generated by CLooG. - * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New. - (build_poly_scop): Bail out if we cannot codegen a loop. - -2010-03-08 Tobias Grosser - - * graphite-clast-to-gimple.c (translate_clast): Do not short-cut - code generation with gloog_error. - -2010-03-08 Sebastian Pop - - * sese.c (expand_scalar_variables_ssa_name): Add new argument for type. - Call fold_convert on all the returned values. - (expand_scalar_variables_expr): Pass to - expand_scalar_variables_ssa_name the type of the resulting expression. - -2010-03-08 Sebastian Pop - - * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed - ppl_min_for_le_pointset. - Use ppl_Pointset_Powerset_C_Polyhedron_minimize. - * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration. - -2010-03-08 Sebastian Pop - - * graphite-dependences.c (map_into_dep_poly): Removed. - (dependence_polyhedron_1): Use combine_context_id_scat. - -2010-03-08 Sebastian Pop - - * graphite-poly.h (struct poly_scattering): Add layout documentation. - (struct poly_bb): Same. - (combine_context_id_scat): New. - -2010-03-08 Sebastian Pop - - PR middle-end/42326 - * sese.c (name_defined_in_loop_p): Return false for default - definitions. - -2010-03-08 Sebastian Pop - - * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify - and clean up the logic. - -2010-03-08 Sebastian Pop - - * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove - early return. - -2010-03-08 Jakub Jelinek - - * var-tracking.c (remove_cselib_value_chains): Define only for - ENABLE_CHECKING. - (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs, - delete_slot_part, emit_notes_for_differences_1): Don't call - remove_cselib_value_chains here. - (set_slot_part, emit_notes_for_differences_2): Don't call - add_cselib_value_chains here. - (preserved_values): New vector. - (preserve_value): New function. - (add_uses, add_stores, vt_add_function_parameters): Use it - instead of cselib_preserve_value. - (changed_values_stack): New vector. - (check_changed_vars_0): New function. - (check_changed_vars_1, check_changed_vars_2): Use it. - (emit_notes_for_changes): Call set_dv_changed (*, false) on all - changed_values_stack VALUEs. - (vt_emit_notes): For all preserved_values call - add_cselib_value_chains. If ENABLE_CHECKING call - remove_cselib_value_chains before verifying value_chains is empty. - Initialize and free changed_values_stack. - (vt_initialize): Initialize preserved_values. - (vt_finalize): Free preserved_values. - -2010-03-08 Richard Guenther - - PR tree-optimization/43269 - * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom - region detection. - -2010-03-08 Martin Jambor - - * ipa-prop.h (struct ipa_param_descriptor): Removed the called field. - (ipa_is_param_called): Removed. - * ipa-prop.c (ipa_note_param_call): Do not set the called flag. - (ipa_print_node_params): Do not print the called flag. - (ipa_write_node_info): Do not stream the called flag. - (ipa_read_node_info): Likewise. - -2010-03-07 Jakub Jelinek - - PR debug/43176 - * Makefile.in (var-tracking.o): Depend on pointer-set.h. - * cselib.c (struct expand_value_data): Add dummy field. - (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize - dummy to false. - (cselib_dummy_expand_value_rtx_cb): New function. - (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate - any rtl. - * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype. - * var-tracking.c: Include pointer-set.h. - (variable): Change n_var_parts to char from int. Add - cur_loc_changed and in_changed_variables fields. - (variable_canonicalize): Remove. - (shared_var_p): New inline function. - (unshare_variable): Maintain cur_loc_changed and - in_changed_variables fields. If var was in changed_variables, - replace it there with new_var. Just copy cur_loc instead of - resetting it to something else. - (variable_union): Don't recompute cur_loc. Use shared_var_p. - (dataflow_set_union): Don't call variable_canonicalize. - (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids - of their DEBUG_EXPR_TREE_DECLs. - (canonicalize_loc_order_check): Verify that cur_loc is NULL - and in_changed_variables and cur_loc_changed is false. - (variable_merge_over_cur): Clear cur_loc, in_changed_variables - and cur_loc_changed. Don't update cur_loc here. - (variable_merge_over_src): Don't call variable_canonicalize. - (dataflow_set_preserve_mem_locs): Use shared_var_p. When - removing loc that is equal to cur_loc, clear cur_loc, - set cur_loc_changed and ensure variable_was_changed is called. - (dataflow_set_remove_mem_locs): Use shared_var_p. Only - compare pointers in cur_loc check, if it is equal to loc, - clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here. - (variable_different_p): Remove compare_current_location argument, - don't compare cur_loc. - (dataflow_set_different_1): Adjust variable_different_p caller. - (variable_was_changed): If dv had some var in changed_variables - already, reset in_changed_variables flag for it and propagate - cur_loc_changed over to the new variable. On empty var - always set cur_loc_changed. Set in_changed_variables on whatever - var is added to changed_variables. - (set_slot_part): Clear cur_loc_changed and in_changed_variables. - Use shared_var_p. When removing loc that is equal to cur_loc, - clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the - end, don't set it to something else, just call variable_was_changed. - (delete_slot_part): Use shared_var_p. When cur_loc equals to - loc being removed, clear cur_loc and set cur_loc_changed. - Set cur_loc_changed if all locations have been removed. - (struct expand_loc_callback_data): New type. - (vt_expand_loc_callback): Add dummy mode in which no rtxes are - allocated. Always create SUBREGs if simplify_subreg failed. - Prefer to use cur_loc, when that fails and still in - changed_variables (and seen first time) recompute it. Set - cur_loc_changed of variables which had to change cur_loc and - compute elcd->cur_loc_changed if any of the subexpressions used - had to change cur_loc. - (vt_expand_loc): Adjust to pass arguments in - expand_loc_callback_data structure. - (vt_expand_loc_dummy): New function. - (emitted_notes): New variable. - (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs - that weren't used for any other decl in current - emit_notes_for_changes call call vt_expand_loc_dummy to update - cur_loc. For -fno-var-tracking-assignments, set cur_loc to - first loc_chain location if NULL before. Always use just - cur_loc instead of first loc_chain location. When cur_loc_changed - is false, when not --enable-checking=rtl just don't emit any note. - When rtl checking, compute the note and assert it is the same - as previous note. Clear cur_loc_changed and in_changed_variables - at the end before removing from changed_variables. - (check_changed_vars_3): New function. - (emit_notes_for_changes): Traverse changed_vars to call - check_changed_vars_3 on each changed var. - (emit_notes_for_differences_1): Clear cur_loc_changed and - in_changed_variables. Recompute cur_loc of new_var. - (emit_notes_for_differences_2): Clear cur_loc if new variable appears. - (vt_emit_notes): Initialize and destroy emitted_notes. - -2010-03-07 Bernd Schmidt - - PR rtl-optimization/42220 - * regrename.c (scan_rtx) : - Use verify_reg_tracked to determine if we should use OP_OUT rather - than OP_INOUT. - (build_def_use): If we see an in-out operand for a register that we - know nothing about, treat is an output if possible, fail the block if - not. - -2010-03-06 Alexandre Oliva - - PR debug/42897 - * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed - permanently. - -2010-03-06 Alexandre Oliva - - PR debug/42897 - * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug - uses of relevant DEFs that are dead outside the loop too. - -2010-03-06 Alexandre Oliva - - * var-tracking.c (dataflow_set_merge): Swap src and src2. - Reverted: - 2010-01-13 Jakub Jelinek - PR debug/41371 - * var-tracking.c (values_to_unmark): New variable. - (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in - values_to_unmark vector. Moved body to... - (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO, - instead queue it into values_to_unmark vector. - (vt_find_locations): Free values_to_unmark vector. - -2010-03-05 Eric Botcazou - - * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables. - (site.exp): Export them when plugins are enabled. - -2010-03-05 Sebastian Pop - - PR middle-end/42326 - * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions - that contain scevs. - (chrec_fold_multiply): Same. - -2010-03-04 Andrew Pinski - - PR c/43248 - * c-decl.c (build_compound_literal): Return early if init is - an error_mark_node. - -2010-03-04 Martin Jambor - - PR tree-optimization/43164 - PR tree-optimization/43191 - * tree-sra.c (type_consists_of_records_p): Reject records with - zero-size bit-fields at the end. - -2010-03-04 Mike Stump - - * Makefile.in (TAGS): Remove *.y. - -2010-03-04 Richard Guenther - - PR tree-optimization/40761 - * tree-ssa-pre.c (compute_antic): Walk reverse postorder - in reverse order. - (my_rev_post_order_compute): New function. - (init_pre): Call it. - -2010-03-04 Changpeng Fang - - PR middle-end/43209 - * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not - decrease the cost of an IV candidate when the cost is infinite. - -2010-03-04 Ralf Wildenhues - - * doc/extend.texi (Vector Extensions, X86 Built-in Functions): - Use '3DNow!' for the extension of that name, ensure normal space - after the string. - * doc/invoke.texi (i386 and x86-64 Options): Likewise. - -2010-03-03 Jeff Law - - * PR middle-end/32693 - * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather - than gen_rtx_SUBREG. - (extract_bit_field_1): Likewise. - -2010-03-03 Janis Johnson - - * doc/sourcebuild.texi (Test directives): Document that arguments - include-opts and exclude-opts are now optional for dg-skip-if, - dg-xfail-if, dg-xfail-run-if, and dg-shouldfail. - -2010-03-03 Jason Merrill - - PR c++/12909 - * cgraph.h (varpool_node): Add extra_name field. - * varpool.c (varpool_extra_name_alias): New. - (varpool_assemble_decl): Emit extra name aliases. - (varpool_mark_needed_node): Look past an extra name alias. - * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias. - * lto-streamer-in.c (lto_input_tree): Read it. - * lto-streamer-out.c (output_unreferenced_globals): Write it. - -2010-03-03 Eric Botcazou - - * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into... - (sparc*-*-solaris2*): ...this. - -2010-03-03 Jakub Jelinek - - PR debug/43229 - * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR, - WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without - ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR, - FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR. - - PR debug/43237 - * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die, - fallthrough to default handling, just with want_address 0 instead of 2. - For single element lists, add_AT_loc directly, otherwise create an - artificial variable DIE and stick location list to it. - - PR debug/43177 - * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode. - (VAL_EXPR_HAS_REVERSE): Define. - (reverse_op): New function. - (add_stores): For reversible operations add an extra MO_VAL_USE. - -2010-03-02 Jason Merrill - - * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size. - -2010-03-02 Eric Botcazou - - * config.gcc (sparc-*-linux*): Do not include sparc/gas.h. - (sparc64-*-linux*): Likewise. - (sparc64-*-solaris2*): Include assembler files before linker ones. - (sparc-*-solaris2*): Simplify and reorder to match previous case. - * config/sparc/gas.h: Delete. - * config/sparc/sol2-64.h: Add copyright notice. - * config/sparc/sol2-gas-bi.h: Likewise. - * config/sparc/sol2-gld.h: Likewise. - * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete. - * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine. - * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise. - * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine. - (sparc_elf_asm_named_section): Rename into... - (sparc_solaris_elf_asm_named_section): ...this. Always define. - -2010-03-02 Uros Bizjak - - * config/alpha/alpha.c (override_options): Fix -mtune error message. - -2010-03-02 Jeff Law - - PR middle-end/42431 - * reload1.c (rtx_p, substitute_stack): Declare. - (substitute): Record addresses of changed rtxs. - (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore. - Restore the original rtx when complete. - (reload): Free subsitute_stack when complete. - -2010-03-02 Janis Johnson - - * doc/gccint.texi (menu): Add Testsuites as a chapter. - * doc/sourcebuild.texi (Testsuites): Move up a level to be a - new chapter. - (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests, - LTO Testing, gcov Testing, profopt Testing, compat Testing, - Torture Tests): Change from subsection to section. - -2010-03-02 Jakub Jelinek - Steven Bosscher - - * var-tracking.c (vt_initialize): Scan insns in ebb chunks - instead of bb. - -2010-03-02 Reza Yazdani - - PR middle-end/42640 - * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced - the assignment from the new induction variable to the assignment - of the value from the original loop PHI function. - -2010-03-01 Janis Johnson - Daniel Jacobowitz - - * doc/sourcebuild.texi (Test directives): Clarify options to - dg-skip-if. - -2010-03-01 Rainer Orth - - * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]: - Disable cfi directives unless GCC and gas agree on using read-only - .eh_frame sections for 64-bit. - * configure: Regenerate. - -2010-03-01 Richard Guenther - - PR tree-optimization/43220 - * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize - BUILT_IN_STACK_{SAVE,RESTORE} around alloca. - -2010-03-01 Richard Guenther - Martin Jambor - - PR middle-end/41250 - * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on - gimplified parameters. - -2010-03-01 Christian Bruel - - * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P. - -2010-03-01 H.J. Lu - - * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64. - -2010-03-01 Richard Guenther - - PR middle-end/43213 - * expr.c (expand_assignment): Use the alias-oracle to tell - if the rhs aliases the result decl. - -2010-03-01 Rainer Orth - - PR pch/14940 - * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine - to sol_gt_pch_get_address. - (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and - 64-bit, SPARC and x86. - (sol_gt_pch_get_address): New function. - -2010-03-01 Marco Poletti - - * toplev.h (inform_n, error_n): Declare. - * diagnostic.c (inform_n, error_n): New function. - -2010-03-01 Jakub Jelinek - - * cfgexpand.c (expand_used_vars): If an artificial non-ignored var - has no rtl yet when processing local_decls, queue it and recheck - if deferred stack allocation hasn't assigned it rtl. - -2010-02-28 Kaz Kojima - - * config/sh/sh.c (unspec_bbr_uid): New. - (gen_block_redirect): Use it instead of INSN_UID. - (gen_far_branch): Likewise. - -2010-02-28 H.J. Lu - - * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make - it the same as TARGET_SUBTARGET64_ISA_DEFAULT. - -2010-02-28 Ralf Wildenhues - - * doc/invoke.texi (Warning Options, RX Options): Fix typos. - (Warning Options): -Wno-conversion-null is valid for - Objective-C++ as well. - * doc/tm.texi (Named Address Spaces): Likewise. - * doc/plugins.texi (Plugins): Replace TABs with spaces. - * doc/tree-ssa.texi (Tree SSA): Likewise. - -2010-02-27 H.J. Lu - - PR bootstrap/43202 - * config.gcc: Don't enable SSE math for i[34567]86-*-darwin* - by default. Don't set the default arch for - i[34567]86-*-darwin*|x86_64-*-darwin*. - -2010-02-27 H.J. Lu - - PR bootstrap/43202 - * config.gcc: Enable SSE math for i[34567]86-*-darwin* by - default. Set the default 32bit/64bit archs with $with_arch - instead of $arch for i[34567]86-*-*|x86_64-*-* targets. - -2010-02-27 Richard Guenther - - PR tree-optimization/43186 - * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param. - * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document. - * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit - unroller iterations. - -2010-02-27 H.J. Lu - - * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is - required and i[34567]86-*-* targets don't support 64bit ISA. - -2010-02-26 Eric Botcazou - - PR ada/43096 - * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have - the same alias set. - -2010-02-26 H.J. Lu - - * config.gcc: Set the default arch at least to Prescott for - i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets - if SSE math is enabled. - -2010-02-26 Manuel López-Ibáñez - - * diagnostic.c (diagnostic_initialize): Update. - (diagnostic_report_diagnostic): Test inhibit_notes_p for - informative notes. - * diagnostic.h (diagnostic_context): New bool inhibit_notes_p. - (diagnostic_inhibit_notes): New. - * toplev.c (process_options): inhibit notes with -fcompare-debug. - -2010-02-26 Manuel López-Ibáñez - - PR c/20631 - * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89. - * doc/standards.texi: Likewise. - * doc/extend.texi: Likewise. - * doc/trouble.texi: Likewise. - * doc/cppopts.texi: Likewise. - * doc/install.texi: Likewise. - * c.opt (std=c90,std=gnu90): New options. - * c-opts.c (c_common_handle_option): Handle them. - -2010-02-26 Manuel López-Ibáñez - - PR c/24577 - * c-decl.c (undeclared_variable): Use an informative note. - -2010-02-26 Richard Guenther - - PR tree-optimization/43186 - * gimple.h (gimple_fold): Remove. - * gimple.c (gimple_fold): Remove. Inline into single user ... - * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here. - Try harder for conditions. - -2010-02-26 Jakub Jelinek - - PR debug/43190 - * function.c (used_types_insert): Don't skip through named pointer - types. Don't use TYPE_MAIN_VARIANT if the original type has a name - and it is different from the main variant's type. - -2010-02-26 Nick Clifton - - * config/rx/rx.md (sminsi3): Remove bogus alternative. - -2010-02-26 H.J. Lu - - * config.gcc: Support --with-fpmath=sse for x86. - - * config/i386/ssemath.h: New. - - * doc/install.texi (--with-fpmath=sse): Documented. - -2010-02-26 Richard Guenther - - PR tree-optimization/43188 - * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build - vector types of over-aligned element type. - -2010-02-26 Uros Bizjak - - PR target/43175 - * config/i386/i386.c (expand_vec_perm_blend): Use correct - operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx. - -2010-02-26 Jan Kratochvil - - * doc/invoke.texi (-fvar-tracking-assignments): Fix typo. - -2010-02-26 Jakub Jelinek - - * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H). - * var-tracking.c: Include diagnostic.h. - (debug_dv): New function. - (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N. - - PR debug/43160 - * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs. - (add_value_chain, add_value_chains, remove_value_chain, - remove_value_chains): Handle DEBUG_EXPRs. - (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs. - - PR debug/43161 - * regcprop.c (struct queued_debug_insn_change): New type. - (struct value_data_entry): Add debug_insn_changes field. - (struct value_data): Add n_debug_insn_changes field. - (debug_insn_changes_pool): New variable. - (free_debug_insn_changes, apply_debug_insn_changes, - cprop_find_used_regs_1, cprop_find_used_regs): New functions. - (kill_value_one_regno): Call free_debug_insn_changes if needed. - (init_value_data): Clear debug_insn_changes and n_debug_insn_changes - fields. - (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue - changes for them. - (copyprop_hardreg_forward_1): Don't call apply_change_group for - DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN - changes, call cprop_find_used_regs via note_stores. - (copyprop_hardreg_forward): When copying vd from predecessor - which has any queued DEBUG_INSN changes, make sure the pointers are - cleared. At the end call df_analyze and then if there are any - DEBUG_INSN changes queued at the end of some basic block for still - live registers, apply them. - (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish. - -2010-02-25 Uros Bizjak - - * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line. - (arm*-*-*): Ditto. - -2010-02-25 H.J. Lu - - * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-* - targets. Set the default with_cpu/with_arch from arch/cpu. - Allow x86-64 and native for with_cpu/with_arch. - -2010-02-25 Nicolas Benoit - - * ebitmap.c: Change calls to verify_popcount with calls to - sbitmap_verify_popcount. - (ebitmap_clear_bit): Fixed map->cacheindex test and - map>cache update when bit clearing results in an empty - element. - -2010-02-25 Michael Meissner - - PR target/43154 - * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI. - (vec_interleave_high): Rename from vec_interleave_highv2df - and support both V2DF and V2DI modes. - (vec_interleave_low): Rename from vec_interleave_lowv2df and - support both V2DF and V2DI modes. - (general): Delete trailing whitespace from a few patterns. - - * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add - V2DF/V2DI interleave high/low builtins. - - * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add - new VSX builtins. - - * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI - interleave high/low functions. - -2010-02-25 Gerald Pfeifer - - * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of - #pragma extern_prefix. - -2010-02-25 Jakub Jelinek - - PR debug/43166 - * cfgexpand.c (expand_debug_expr) : If mode is - BLKmode, assert op0 is a MEM and just adjust its mode. - - PR debug/43165 - * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg - if bitpos isn't multiple of mode's bitsize. - -2010-02-24 Manuel López-Ibáñez - - * c.opt (-ftemplate-depth=): New. - (-ftemplate-depth-): Deprecate. - * optc-gen.awk: Handle -ftemplate-depth=. - * opth-gen.awk: Likewise. - * c-opts.c (c_common_handle_option): Likewise. - * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=. - -2010-02-24 Jason Merrill - - * doc/invoke.texi: Improve -Wabi and -fabi-version docs. - -2010-02-24 Rainer Orth - - * cfg.c (alloc_aux_for_block): Remove inline. - (alloc_aux_for_edge): Likewise. - -2010-02-24 Rainer Orth - - * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion. - -2010-02-24 Rainer Orth - - * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define. - * config/i386/sol2-gas.h: New file. - * config.gcc (i[34567]86-*-solaris2*): Use it. - -2010-02-24 Manuel López-Ibáñez - - PR c/43128 - * c-typeck.c (ep_convert_and_check): New. - (build_conditional_expr): Use it. - (build_binary_op): Likewise. - -2010-02-24 Jakub Jelinek - - * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan. - - PR debug/43150 - * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA - bounds even for -O+. - * var-tracking.c (track_expr_p): If !need_rtl, don't mandate - expr needs to have DECL_NAME set. - -2010-02-24 Nick Clifton - - * config/mep/mep.c: Include gimple.h. - (mep_function_uses_sp): Delete unused function. - (mep_gimplify_va_arg_expr): Change types of pre_p and post_p - parameters. Use unsigned integers to count args. Return a - NULL_RTX instead of an error_mark_node. Toidy up formatting. - -2010-02-23 Jakub Jelinek - - PR target/43107 - * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes - greater or equal to nelt instead of 2 * nelt. - (expand_vec_perm_1): When op0 and op1 are equal, mask indexes - with nelt - 1. - -2010-02-23 Jason Merrill - - PR debug/42800 - * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars - in cfun->local_decls even if they have register types. - - PR c++/42837 - * stor-layout.c (place_field): Don't warn about unnecessary - DECL_PACKED if the type is packed. - -2010-02-23 Jakub Jelinek - - PR target/43139 - * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all - GOTOFF relocs, even when the base reg isn't pic pointer. - -2010-02-23 Michael Matz - - PR debug/43077 - * cfgexpand (expand_debug_expr): Expand TERed ssa names in place. - (expand_gimple_basic_block): Generate and use debug temps if there - are debug uses left after the last real use of TERed ssa names. - Unlink debug immediate uses when they are expanded. - -2010-02-23 Manuel López-Ibáñez - - PR 43123 - * config/i386/i386.c (override_options): Reorganise to provide - better error messages. - -2010-02-22 Sebastian Pop - - PR middle-end/43083 - * graphite-scop-detection.c (create_single_exit_edge): Move - the call to find_single_exit_edge to.... - (create_sese_edges): ...here. Don't handle multiple edges - exiting the function. - (build_graphite_scops): Don't handle multiple edges - exiting the function. - -2010-02-22 Sebastian Pop - - PR middle-end/43097 - * sese.c (get_rename): Assert that old_name is an SSA_NAME. - (rename_variables_in_stmt): Continue when the use is not an SSA_NAME. - -2010-02-22 Sebastian Pop - - PR middle-end/43026 - * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF. - -2010-02-22 Manuel López-Ibáñez - - PR c++/43126 - * c-typeck.c (convert_arguments): Print declaration location. - * c-common.c (validate_nargs): Rename as - builtin_function_validate_nargs. - (check_builtin_function_arguments): Update. - -2010-02-22 Richard Guenther - - PR lto/43045 - * tree-inline.c (declare_return_variable): Use the type of - the call stmt lhs if available. - -2010-02-22 Duncan Sands - - * passes.c (register_pass): Always consider all pass lists when - ref_pass_instance_number is zero. - -2010-02-22 Richard Guenther - - PR tree-optimization/42749 - * tree-tailcall.c (adjust_return_value_with_ops): Drop update - parameter. Do arithmetic in the original type. - (update_accumulator_with_ops): Likewise. - (adjust_accumulator_values): Adjust. - -2010-02-22 Andreas Krebbel - - * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative. - (QI to BLKmode splitter): New splitter. - -2010-02-22 H.J. Lu - - * config/i386/i386.c (initial_ix86_tune_features): Turn on - X86_TUNE_INTER_UNIT_MOVES for m_ATOM. - -2010-02-22 Richard Guenther - - * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo. - -2010-02-22 Hans-Peter Nilsson - - Migrate crti, crtn, crtbegin, crtend build rules to libgcc. - * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set. - ($(T)crti.o, $(T)crtn.o): Remove rules. - -2010-02-21 Tobias Burnus - - PR fortran/35259 - * doc/invoke.texi (-fassociative-math): Document that this - option is automatically enabled for Fortran. - -2010-02-20 David S. Miller - - * configure.ac: Test if linker and assembler properly support - GOTDATA_OP relocations. - * configure: Rebuild. - * config.in: Likewise. - * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New. - (movsi_lo_sum_pic): Use %gdop_*() relocs if available. - (movsi_high_pic): Likewise. - (movdi_lo_sum_pic): Likewise. - (movdi_high_pic): Likewise. - (movsi_pic_gotdata_op): New pattern. - (movdi_pic_gotdata_op): Likewise. - * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2, - emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load. - -2010-02-20 Uros Bizjak - - PR target/43067 - * config/i386/sse.md (xop_mulv2div2di3_low): Change type - attribute to ssemul. - (xop_mulv2div2di3_high): Ditto. - -2010-02-20 Manuel López-Ibáñez - - PR c++/35669 - * c.opt (Wconversion-null): New option. - * doc/invoke.texi (Wconversion-null): Document. - -2010-02-20 Manuel López-Ibáñez - - * common.opt (Wlarger-than-): Add Undocumented. - -2010-02-19 Mike Stump - - * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it. - -2010-02-19 Jason Merrill - - PR target/40332 - * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance. - * configure: Likewise. - -2010-02-20 Alan Modra - - PR middle-end/42344 - * cgraph.h (cgraph_make_decl_local): Declare. - * cgraph.c (cgraph_make_decl_local): New function. - (cgraph_make_node_local): Use it. - * cgraphunit.c (cgraph_function_versioning): Likewise. - * ipa.c (function_and_variable_visibility): Likewise. - -2010-02-19 Jakub Jelinek - - PR bootstrap/43121 - * except.c (sjlj_emit_function_enter): Don't call - add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn - directly. - * rtl.h (add_reg_br_prob_note): Remove prototype. - -2010-02-19 Manuel López-Ibáñez - - PR 41779 - * c-common.c (conversion_warning): Remove widening conversions - before checking the conversion of integers to reals. - -2010-02-19 Mike Stump - - PR middle-end/43125 - * c-decl.c (merge_decls): Merge DECL_PRESERVE_P. - - PR objc/43061 - * cgraphunit.c (process_function_and_variable_attributes): Check - DECL_PRESERVE_P instead of looking up attribute "used". - * ipa-pure-const.c (check_decl): Likewise. - * ipa-reference.c (has_proper_scope_for_analysis): Likewise. - * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise. - * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P - instead of attribute "used". - * config/sol2-c.c (solaris_pragma_init): Likewise. - (solaris_pragma_fini): Likewise. - -2010-02-19 Jakub Jelinek - - * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field): - Use XCNEW instead of xcalloc. - (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use - XNEW instead of xmalloc. - (get_fields): Use XNEWVEC instead of xmalloc. - - PR debug/43084 - * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't - populate vars array. - (create_new_general_access): For debug stmts just reset value. - (get_stmt_accesses): For accesses within debug stmts just record them - using add_access_to_acc_sites instead of preventing the peeling or - counting them as accesses. - - PR middle-end/42233 - * dojump.c (do_jump) : Invert priority. - -2010-02-19 Richard Guenther - - PR tree-optimization/42916 - * tree-vect-slp.c (vect_slp_analyze_bb): Count only real - instructions. - -2010-02-19 Andreas Schwab - - * configure.ac: Replace all uses of changequote in macro arguments - with proper quoting. - -2010-02-19 Jakub Jelinek - - PR middle-end/42233 - * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller. - -2010-02-19 Richard Guenther - - PR tree-optimization/42944 - * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage - test for aliasing with errno. - -2010-02-19 Jakub Jelinek - - PR middle-end/42233 - * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump, - do_jump_1, do_compare_rtx_and_jump): Add PROB argument. - * dojump.c: Include output.h. - (inv): New inline function. - (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump, - do_jump_by_parts_greater_rtx, do_jump_by_parts_greater, - do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx, - do_jump_by_parts_equality, do_compare_and_jump): Add PROB - argument, pass it down to other calls. - (do_compare_rtx_and_jump): Likewise. If PROB is not -1, - add REG_BR_PROB note to the conditional jump. - * cfgexpand.c (add_reg_br_prob_note): Removed. - (expand_gimple_cond): Don't call it, add the probability - as last argument to jumpif_1/jumpifnot_1. - * Makefile.in (dojump.o): Depend on output.h. - * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump - callers. - * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise. - * stmt.c (do_jump_if_equal): Likewise. - * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise. - * loop-unswitch.c (compare_and_jump_seq): Likewise. - * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): - Likewise. - * optabs.c (expand_doubleword_shift, expand_abs): Likewise. - * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and - jumpifnot_1 callers. - (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump - callers. - (store_expr): Adjust jumpifnot caller. - (store_constructor): Adjust jumpif caller. - - PR middle-end/42233 - * gimplify.c (gimple_boolify): For __builtin_expect call - gimple_boolify also on its first argument. - -2010-02-18 Uros Bizjak - - * configure.ac (gnu-unique-object): Wrap regexps using [] in - changequote block. - (__stack_chk_fail): Ditto. Remove quadrigraphs. - * configure: Regenerated. - -2010-02-18 Ulrich Weigand - - * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call - lang_hooks.types_compatible_p instead of comptypes. - -2010-02-18 Sebastian Huber - - * config/arm/lib1funcs.asm (__prefer_thumb__): New define. - (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant - if __prefer_thumb__ is defined. - -2010-02-18 Martin Jambor - - PR tree-optimization/43066 - * tree-sra.c (build_ref_for_offset_1): Return false on encountering an - array with zero-sized element type. - -2010-02-18 Jakub Jelinek - - * dwarf2out.c (add_var_loc_to_decl): Change last argument to - rtx, allocate struct var_loc_node here and return it to the - caller, and only if it is actually needed. - (dwarf2out_var_location): Adjust add_var_loc_to_decl caller, - move it earlier and return immediately if it returns NULL. - -2010-02-17 Mikael Pettersson - - * config/sparc/gas.h: New file. Restore - TARGET_ASM_NAMED_SECTION to its ELF default. - * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not - check !HAVE_GNU_AS. - * config/sparc/sparc.c (sparc_elf_asm_named_section): - Likewise. Add ATTRIBUTE_UNUSED to prototype. - * config.gcc (sparc*-*-linux*): Include sparc/gas.h - after sparc/sysv4.h. - -2010-02-17 Dave Korn - - * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name. - -2010-02-17 Steven Bosscher - - * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC - patterns from predicated pattern. - -2010-02-17 Uros Bizjak - - PR target/43103 - * config/i386/sse.md (xop_vpermil23): Use avxmodesuffixf2c - for insn mnemonic suffix. - -2010-02-17 Richard Guenther - - * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis - to loop PHI nodes. - -2010-02-17 Jakub Jelinek - - PR debug/42918 - * caller-save.c (save_call_clobbered_regs): If BB ends with - a DEBUG_INSN, move any notes in between last real insn and the last - DEBUG_INSN after the last DEBUG_INSN. - -2010-02-16 Joern Rennecke - - * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): - Fix return type. Fix argument type. Explain meaning of return value. - -2010-02-16 Richard Guenther - - PR tree-optimization/41043 - * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops. - (vrp_visit_assignment_or_call): Do not ask SCEV for regular - statements ... - (vrp_visit_phi_node): ... but only for loop PHI nodes. - -2010-02-16 Ira Rosen - - PR tree-optimization/43074 - * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New. - * tree-vect-loop.c (vect_analyze_loop_operations): Add - vectorizable cycles in hybrid SLP check. - * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise. - -2010-02-16 Richard Guenther - - * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know. - (true_dependence): If memrefs_conflict_p computes must-alias - trust it. Move TBAA check after offset-based disambiguation. - (canon_true_dependence): Likewise. - -2010-02-16 Alexandre Oliva - - * params.def (PARAM_MAX_VARTRACK_SIZE): New. - * doc/invoke.texi: Document it. - * var-tracking.c: Include toplev.h and params.h. - (vt_find_locations): Return bool indicating success. Compute - hash sizes unconditionally. Check new parameter, report. - (variable_tracking_main_1): Check vt_find_locations results and - retry. Renamed from... - (variable_tracking_main): ... this. New wrapper to preserve - flag_var_tracking_assignments. - * Makefile.in (var-tracking.o): Adjust dependencies. - -2010-02-16 Jack Howarth - Jakub Jelinek - - PR target/42854 - * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute - if weak_import attribute is present. - * config/darwin.c (machopic_select_section): Likewise. - -2010-02-15 Joern Rennecke - - * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document. - (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise. - (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise. - (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise. - - * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument - types. - - * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): - Fix argument types. - - * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names. - Rewrite text to refer to the names. - -2010-02-15 Sebastian Pop - - * config/i386/i386-builtin-types.def - (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared. - (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared. - (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared. - (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared. - * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD, - IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and - IX86_BUILTIN_VPERMIL2PS256. - (MULTI_ARG_4_DF2_DI_I): Defined. - (MULTI_ARG_4_DF2_DI_I1): Defined. - (MULTI_ARG_4_SF2_SI_I): Defined. - (MULTI_ARG_4_SF2_SI_I1): Defined. - (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd, - __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and - __builtin_ia32_vpermil2ps256. - (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I, - MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and - MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments. - (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I, - MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and - MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3, - CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and - CODE_FOR_xop_vpermil2v8sf3. - * config/i386/i386.md (UNSPEC_VPERMIL2): Declared. - * config/i386/sse.md (xop_vpermil23): New insn pattern. - * config/i386/xopintrin.h (_mm_permute2_pd): New. - (_mm256_permute2_pd): New. - (_mm_permute2_ps): New. - (_mm256_permute2_ps): New. - -2010-02-15 Nick Clifton - - * config/h8300/h8300.c (h8300_push_pop): Use bool type for - boolean parameters. Use emit_jump_insn when emitting a pop - instruction containing a return insn. - (push): Use 'true' rather than '1' as second parameter to F. - (h8300_expand_prologue): Likewise. - Use 'true' and 'false' for boolean parameters to h8300_push_pop. - (h8300_expand_epilogue): Likewise. - -2010-02-15 Richard Guenther - - PR middle-end/43068 - * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset - if that is zero. - -2010-02-15 Nick Clifton - - * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous - delta. - -2010-02-14 Marco Poletti - - * intl.c (fake_ngettext): New function. - * intl.h (fake_ngettext): Declare. - (ngettext): Define macro. - * collect2.c (notice_translated): New function. - (main): Use notice_translated and ngettext. - * collect2.h (notice_translated): Declare. - -2010-02-14 Steven Bosscher - - * reorg.c (delete_computation): Comment fixes. - * caller-save.c (setup_save_areas): Idem. - * sel-sched-dump.c (dump_lv_set): Idem. - * rtl.def: Idem. - -2010-02-14 Andreas Krebbel - - * config/s390/s390.c (s390_sched_init): New function. - (TARGET_SCHED_INIT): Target hook defined. - -2010-02-12 Dave Korn - Jack Howarth - Iain Sandoe - - PR target/42982 - Partial revert of unintended change in fix for PR41605. - * config/darwin.h: Fix typo. - * config/darwin9.h: Same. - -2010-02-11 Jakub Jelinek - - * c-pch.c (pch_init): Clear v. - -2010-02-11 Sebastian Pop - - PR middle-end/42930 - * graphite-scop-detection.c (graphite_can_represent_scev): Call - graphite_can_represent_init for MULT_EXPR. - -2010-02-11 Sebastian Pop - - PR middle-end/42914 - PR middle-end/42530 - * graphite-sese-to-poly.c (remove_phi): New. - (translate_scalar_reduction_to_array): Call remove_phi. - -2010-02-11 Sebastian Pop - - PR middle-end/42771 - * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters. - * graphite-clast-to-gimple.h (gloog): Update declaration. - * graphite-poly.c (new_scop): Clear POLY_SCOP_P. - * graphite-poly.h (struct poly_bb): Add missing comments. - (struct scop): Add poly_scop_p field. - (POLY_SCOP_P): New. - * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P. - * graphite.c (graphite_transform_loops): Build the polyhedral - representation for each scop before code generation. - * sese.c (rename_variables_in_operand): Removed. - (rename_variables_in_expr): Return the renamed expression. - (rename_sese_parameters): New. - * sese.h (rename_sese_parameters): Declared. - -2010-02-11 Richard Guenther - - PR tree-optimization/42998 - * tree-ssa-pre.c (create_expression_by_pieces): Treat - POINTER_PLUS_EXPR properly. - -2010-02-11 Sebastian Pop - Changpeng Fang - - PR middle-end/40886 - * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement - the cost of an IV candidate when the IV is used in a test against zero. - - * gcc.dg/tree-ssa/ivopts-3.c: New. - -2010-02-11 Richard Guenther - - PR lto/41664 - * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize - pointer-vs-decl case by swapping refs. Handle some cases - of pointer-vs-decl disambiguations more conservatively. - * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p - to false after expanding. - -2010-02-11 Richard Guenther - - PR driver/43021 - * gcc.c (process_command): Handle LTO file@offset case more - appropriately. - -2010-02-11 Jakub Jelinek - - * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any - modifications outside of the DEBUG_INSN. Accept CLOBBERs inside - of DEBUG_INSNs. - (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs. - - * dwarf2out.c (mem_loc_descriptor) : Use DW_OP_deref_size - if MEM's mode size isn't DWARF2_ADDR_SIZE. - (mem_loc_descriptor) : Allow also VOIDmode arguments. - Optimize eq/ne comparisons when both arguments are known to be - zero-extended. - (mem_loc_descriptor) : Allow also VOIDmode arguments. - Don't mask operands unnecessarily if they are known to be already - zero-extended. - -2010-02-10 Vladimir Makarov - - * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note - instead of loop. - -2010-02-10 Richard Guenther - - PR tree-optimization/43017 - * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop - for wrapping signed arithmetic. - -2010-02-10 Jakub Jelinek - - PR debug/43010 - * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die - if no debug info should be emitted for it. - -2010-02-10 Kaz Kojima - - * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION - note when flag_exceptions is set. - -2010-02-10 Duncan Sands - - * Makefile.in (PLUGIN_HEADERS): Add debug.h. - -2010-02-10 Richard Guenther - - PR c/43007 - * tree.c (get_unwidened): Handle constants. - * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR. - -2010-02-10 Martin Jambor - - PR lto/42985 - * ipa-prop.c (ipa_update_after_lto_read): Count parameters and - check for variable argument counts independently. - -2010-02-10 Christian Bruel - - PR target/42841 - * config/sh/sh.c (find_barrier): Increase length for non delayed - conditional branches. - -2010-02-10 Christian Bruel - - * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting. - -2010-02-10 Jakub Jelinek - - * builtins.c (set_builtin_user_assembler_name): Also handle - ffs if int is smaller than word. - -2010-02-09 Vladimir Makarov - - PR middle-end/42973 - * ira-conflicts.c (get_dup): Remove. - (process_reg_shuffles): Add new parameter. Use it as an - additional guard for copy generation. - (add_insn_allocno_copies): Rewrite. - -2010-02-09 Alexander Monakov - - * common.opt (fsched2-use-traces): Preserved for backward - compatibility. - * doc/invoke.texi: Remove the documentation about option - -fsched2-use-traces. - * sched-rgn.c (rest_of_handle_sched2): Remove usage of - flag_sched2_use_traces. - * opts.c (common_handle_option): Add OPT_fsched2_use_traces to - the backward compatibility flag section. - -2010-02-09 Richard Guenther - - PR tree-optimization/43008 - * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl, - make HEAP variables initialized from global memory if they - are not known builtin functions. - (find_func_aliases): Adjust. - -2010-02-09 Richard Guenther - - PR tree-optimization/43000 - * tree-vrp.c (vrp_int_const_binop): Only handle unsigned - arithmetic manually. - -2010-02-08 Jakub Jelinek - - PR tree-optimization/42931 - * tree-loop-linear.c (try_interchange_loops): Don't call - double_int_mul if estimated_loop_iterations failed. - -2010-02-08 Martin Jambor - - PR middle-end/42898 - * tree-sra.c (build_accesses_from_assign): Do not mark in - should_scalarize_away_bitmap if stmt has volatile ops. - (sra_modify_assign): Do not process assigns piecemeal if if stmt - has volatile ops. - -2010-02-08 Joern Rennecke - - * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document. - -2010-02-07 Adam Nemet - - * config/mips/mips.md (*_trunc_exts): Fix comment - before the pattern. - -2010-02-07 Andrew Pinski - - PR middle-end/42946 - * df-core.c (df_finish_pass): Change type of saved_flags to int. - -2010-02-07 Sebastian Pop - - PR middle-end/42988 - * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND - to unknown_dependence. - (graphite_legal_transform_dr): Handle the unknown_dependence. - (graphite_carried_dependence_level_k): Same. - -2010-02-07 Sebastian Pop - - * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/. - -2010-02-07 Richard Guenther - - PR middle-end/42991 - * expr.c (get_inner_reference): Always initialize *pbitsize. - -2010-02-07 Richard Guenther - - PR middle-end/42956 - * gimplify.c (gimple_fold_indirect_ref): Avoid generating - new ARRAY_REFs on variable size element or minimal index arrays. - Complete. - * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use - gimple_fold_indirect_ref. - -2010-02-06 Richard Earnshaw - - PR target/42957 - * arm.c (arm_override_options): Just return if the user has specified - an invalid fpu name. - -2010-02-03 Jason Merrill - - PR c++/42870 - * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call - i386_pe_maybe_record_exported_symbol. - -2010-02-05 Steve Ellcey - - PR target/42924 - * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine. - (pa_delegitimize_address): New function. - -2010-02-05 Ozkan Sezer - - * config/i386/msformat-c.c (ms_printf_length_specs): Set the - scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs. - -2010-02-05 Richard Guenther - - PR lto/42762 - * lto-streamer-in.c (get_resolution): Deal with references - to undefined functions. - -2010-02-05 Richard Guenther - - * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions. - (fold_const_aggregate_ref): Likewise. - (ccp_fold_stmt): Substitute loads. - (maybe_fold_reference): Verify types before substituting. - Unshare properly. - (fold_gimple_assign): Unshare properly. - (fold_stmt_1): Insert conversion if necessary before replacing the RHS. - -2010-02-05 Nathan Froyd - - * config/rs6000/rs6000.c (rs6000_override_options): Invert check - for rs6000_gen_cell_microcode. - -2010-02-04 Richard Guenther - - PR rtl-optimization/42952 - * dse.c (const_or_frame_p): Remove MEM handling. - -2010-02-04 Nick Clifton - - * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define. - (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define. - (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM. - (mn10300_asm_output_mi_thunk): New function. - (mn10300_can_output_mu_thunk): New function. - * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define. - (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1. - (FUNCTION_ARG): Delete incorrect comment. - -2010-02-03 Jason Merrill - - PR c++/40138 - * fold-const.c (operand_equal_p): Handle erroneous types. - -2010-02-03 Kaushik Phatak - - * config/h8300/h8300.md (can_delay): Fix attibute condition. - -2010-02-03 Vladimir Makarov - - PR rtl-optimization/42941 - * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead - of xmalloc. - -2010-02-03 Jason Merrill - - PR c++/35652 - * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics. - -2010-02-03 Alexandre Oliva - - PR debug/42896 - * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash. - (cselib_reset_table): Renamed from... - (cselib_reset_table_with_next_value): ... this. - (cselib_get_next_uid): Renamed from... - (cselib_get_next_unknown_value): ... this. - * cselib.c (next_uid): Renamed from... - (next_unknown_value): ... this. - (cselib_clear_table): Adjust. - (cselib_reset_table): Adjust. Renamed from... - (cselib_reset_table_with_next_value): ... this. - (cselib_get_next_uid): Adjust. Renamed from... - (cselib_get_next_unknown_value): ... this. - (get_value_hash): Use hash. - (cselib_hash_rtx): Likewise. - (new_cselib_val): Adjust. Set and dump uid. - (cselib_lookup_mem): Pass next_uid as hash. - (cselib_subst_to_values): Likewise. - (cselib_log_lookup): Dump uid. - (cselib_lookup): Pass next_uid as hash. Adjust. - (cselib_process_insn): Adjust. - (cselib_init): Initialize next_uid. - (cselib_finish): Adjust. - (dump_cselib_table): Likewise. - * dse.c (canon_address): Dump value uid. - * print-rtl.c (print_rtx): Print value uid. - * var-tracking.c (VARIABLE_HASH_VAL): Dropped. - (dvuid): New type. - (dv_uid): New function, sort of renamed from... - (dv_htab_hash): ... this, reimplemented in terms of it and... - (dv_uid2hash): ... this. New. - (variable_htab_eq): Drop excess assertions. - (tie_break_pointers): Removed. - (canon_value_cmp): Compare uids. - (variable_post_merge_New_vals): Print uids. - (vt_add_function_parameters): Adjust. - (vt_initialize): Reset table. Adjust. - -2010-02-03 Richard Guenther - - PR tree-optimization/42944 - * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc. - (call_may_clobber_ref_p_1): Likewise. Properly handle - malloc and calloc clobbering errno. - -2010-02-03 Steven Bosscher - - * doc/invoke.texi: Fix name of sched1 dump. - - * opts.c (decode_options): Set flag_tree_switch_conversion - only conditionally on optimize >= 2. - - * gcse.c: Assorted comment fixes in pass description. - -2010-02-03 Anthony Green - - * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce - nop padding in order to maintain alignment of storage location of - target function address. - (moxie_trampoline_init): Store target function address at newly - aligned location. - * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment - to 32. - (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding. - -2010-02-03 Richard Guenther - - PR middle-end/42927 - * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification. - -2010-02-03 Rainer Orth - - * config.gcc: Reenable check for obsolete targets. - Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*, - mips-sgi-irix6.[0-4]*. - -2010-02-02 Nick Clifton - - * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum - constant size of 4 as being the same as 0. - * doc/invoke.texi (RX Options): Document that -mmax-constant-size - can take values in the range 0..4. - -2010-02-02 Jack Howarth - - PR java/41991 - * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction() - as _darwin10_Unwind_FindEnclosingFunction(). - * libgcc-libsystem.ver: New. - -2010-02-01 Vladimir Makarov - - PR target/41399 - * sched-deps.c (sched_analyze_insn): Ignore fixed registers for - implicitly set registers. - -2010-02-01 Richard Earnshaw - - * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K. - (arm_override_options): Allow automatic selection of the thread - pointer register if thumb2. - (legitimize_pic_address): Improve code sequences for Thumb2. - (arm_call_tls_get_addr): Likewise. - (legitimize_tls_address): Likewise. - * arm.md (pic_load_addr_arm): Delete. Replace with ... - (pic_load_addr_32bit): ... this. New named pattern. - * thumb2.md (pic_load_addr_thumb2): Delete. - (pic_load_dot_plus_four): Delete. - (tls_load_dot_plus_four): New named pattern. - -2010-02-01 Rainer Orth - - PR libgomp/29986 - * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry. - Document fix for TLS bug. - -2010-01-31 Richard Guenther - - * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be - conservatively correct. - -2010-01-31 John David Anglin - - PR target/42850 - Revert: - 2010-01-02 John David Anglin - - * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two. - -2010-01-31 Kaveh R. Ghazi - - * doc/install.texi: Update recommended GMP/MPFR/MPC versions. - -2010-01-31 Kai Tietz - - * config.gcc: Adjust order of makefile fragments for mingw targets. - -2010-01-31 Richard Guenther - - PR middle-end/42898 - * gimplify.c (gimplify_init_constructor): For volatile LHS - initialize a temporary. - -2010-01-31 Matthias Klose - - * configure.ac: Fix __stack_chk_fail check for cross builds configured - --with-headers - * configure: Regenerate. - -2010-01-29 Eric Botcazou - - * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have - the same alias set and their sizes different constantness. - (aliasing_component_refs_p): Revert 2009-10-24 change. - -2010-01-29 Rainer Orth - - * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl - unused. - -2010-01-29 Richard Guenther - - * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute. - Assert we successfully updated the call. - -2010-01-29 Jakub Jelinek - - PR rtl-optimization/42889 - * df.h (df_set_bb_dirty_nonlr): New prototype. - * df-core.c (df_set_bb_dirty_nonlr): New function. - * df-scan.c (df_insn_rescan): Call it instead of - df_set_bb_dirty for DEBUG_INSNs. - -2010-01-29 Richard Guenther - - PR middle-end/37448 - * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid - quadratic behavior in most cases. - -2010-01-28 Uros Bizjak - - PR target/42891 - * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode - in the call to gen_x86_movsicc_0_m1. - -2010-01-28 Richard Guenther - - PR tree-optimization/42871 - * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders. - -2010-01-28 Richard Guenther - - * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate - into call arguments. - -2010-01-28 Richard Guenther - - PR middle-end/42883 - * tree-cfgcleanup.c (remove_forwarder_block): Do not remove - the forwarder if the destination is an EH landing pad. - -2010-01-28 Razya Ladelsky - - * tree-parloops.c (transform_to_exit_first_loop): Update the basic - block list passed to gimple_duplicate_sese_tail. - (parallelize_loops): Avoid parallelization when the function - has_nonlocal_label. - Avoid parallelization when the preheader is IRREDUCIBLE. - Try to optimize when estimated_loop_iterations_int is unresolved. - Add the loop's location to the dump file. - * tree-cfg.c (add_phi_args_after_redirect): Remove. - (gimple_duplicate_sese_tail): Remove the check for the latch. - Redirect nexits to the exit block. - Remove handling of the incoming edges to the latch. - Redirect the backedge from the copied latch to the exit bb. - -2010-01-28 Michael Matz - - PR target/42881 - * config/i386/i386.c (ix86_expand_vector_init_duplicate): - Wrap force_reg into a sequence, emit it before user. - -2010-01-28 Stephen Thomas - - * config/arm/arm.md (bswapsi2): Add support for bswapsi2. - (arm_rev): New. - (arm_legacy_rev): Likewise. - (thumb_legacy_rev): Likewise. - -2010-01-27 Jakub Jelinek - - * dwarf2out.c (mem_loc_descriptor): Remove special casing of - CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call - on MEM's address failed, try avoid_constant_pool_reference and - recurse if it returned something different. - (loc_descriptor): If for MEM mem_loc_descriptor failed on the - address, try avoid_constant_pool_reference and recurse if it - returned something different. - (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the - address and avoid_constant_pool_reference returned something - different, don't set have_address. - -2010-01-27 Alexandre Oliva - - PR debug/42861 - * var-tracking.c (val_store): Add modified argument, obey it. - Adjust callers. - (count_uses): Move down logging of main. - (compute_bb_dataflow): Use val_store for MO_VAL_USEs that - don't need resolution. - (emit_notes_in_bb): Likewise. - -2010-01-27 Richard Guenther - - PR middle-end/42878 - * tree-inline.c (remap_decl): Delay remapping of SSA name - default definitions until we need them. - -2010-01-27 Jakub Jelinek - - * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine. - (rs6000_delegitimize_address): New function. - - * config/s390/s390.c (s390_delegitimize_address): Call - delegitimize_mem_from_attrs. - - PR middle-end/42874 - * tree-inline.c (cannot_copy_type_1): Removed. - (copy_forbidden): Don't forbid copying of functions containing - records/unions with variable length fields. - -2010-01-27 Christian Bruel - - Revert: - PR target/42841 - * config/sh/sh.c (find_barrier): Increase length for non delayed - conditional branches. - -2010-01-27 Matthias Klose - - * configure.ac (gnu-unique-object): Fix ldd version check. - * configure: Regenerate. - -2010-01-26 Rainer Orth - - * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for - HAVE_GNU_AS value. - * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION): - Test for HAVE_GNU_AS value. - -2010-01-26 Rainer Orth - - * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint. - * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE, - INT64_TYPE): Define. - (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define. - (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE, - INT_LEAST64_TYPE): Define. - (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE, - UINT_LEAST64_TYPE): Define. - (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE) - INT_FAST64_TYPE): Define. - (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE, - UINT_FAST64_TYPE): Define. - (INTMAX_TYPE, UINTMAX_TYPE): Define. - (INTPTR_TYPE, UINTPTR_TYPE): Define. - (SIG_ATOMIC_TYPE): Define. - -2010-01-26 Richard Guenther - - * df-scan.c (df_scan_set_bb_info): Remove assert. - (df_insn_rescan_debug_internal): Merge asserts. - (df_install_ref): Likewise. - (df_mark_reg): Use bitmap_set_range. - (df_hard_reg_used_p): Remove assert. - (df_hard_reg_used_count): Likewise. - -2010-01-26 Richard Guenther - - PR rtl-optimization/42685 - * web.c (web_main): Ignore DEBUG_INSNs. - -2010-01-26 Joern Rennecke - - * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments. - - (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter. - Fix types of fndecl and arglist parameters. - -2010-01-26 Richard Guenther - - PR middle-end/42806 - * tree-eh.c (unsplit_eh): Skip debug insns. - -2010-01-26 Richard Guenther - - PR tree-optimization/42250 - * ipa-type-escape.c (type_escape_execute): Do not analyze clones. - -2010-01-26 Jakub Jelinek - - PR fortran/42866 - * omp-low.c (expand_omp_sections): Only use single_pred if - l2_bb is single_pred_p. - -2010-01-25 Christian Bruel - - PR target/42841 - * config/sh/sh.c (find_barrier): Increase length for non delayed - conditional branches. - (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P. - -2010-01-24 David S. Miller - - * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only - define if not using GAS. - * config/sparc/sparc.c (sparc_elf_asm_named_section): - Likewise. Delete SECTION_MERGE code, which is only applicable - when using GAS. - -2010-01-24 Mark Mitchell - - PR c++/42748 - * config/arm/arm.c (arm_mangle_type): Do not warn about changes to - mangling of va_list in system headers. - -2010-01-23 Toon Moene - - * tree-predcom.c (combine_chains): Return NULL, not false. - -2010-01-23 Joern Rennecke - - * tree-loop-distribution.c (distribute_loop): Fix declaration and - initialization of variable res to agree with return type. - -2010-01-22 Steve Ellcey - - * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency. - * tree-sra.c: Add include of expr.h. - -2010-01-22 Jakub Jelinek - - * tree-into-ssa.c (maybe_register_def): If stmt ends the bb, - insert the debug stmt on the single non-EH edge from the stmt. - -2010-01-22 Richard Henderson - - PR tree-opt/42833 - * tree-sra.c (sra_modify_assign): Delay re-gimplification of - the RHS until after generate_subtree_copies has insertted its - code before the current statement. - -2010-01-22 Joern Rennecke - - * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type. - - * gcc-plugin.h (plugin_init): Use "C" likage for c++. - -2010-01-21 Martin Jambor - - PR tree-optimization/42585 - * tree-sra.c (struct access): New field grp_total_scalarization. - (dump_access): Dump the new field. - (should_scalarize_away_bitmap): New variable. - (cannot_scalarize_away_bitmap): Likewise. - (sra_initialize): Allocate new bitmaps. - (sra_deinitialize): Free new bitmaps. - (create_access_1): New function. - (create_access): Parts moved to create_access_1. - (type_consists_of_records_p): New function. - (completely_scalarize_record): Likewise. - (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap. - (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap. - (sort_and_splice_var_accesses): Hint groups with a total_scalarization - access. - (analyze_all_variable_accesses): Completely scalarize small eligible - records. - -2010-01-21 Martin Jambor - - * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields. - -2010-01-21 Andrew Haley - - * gcc.c (process_command): Move lang_specific_driver before - setting cc_libexec_prefix. - -2010-01-21 Richard Guenther - - PR middle-end/19988 - * fold-const.c (negate_expr_p): Pretend only negative - real constants are easily negatable. - -2010-01-20 Janis Johnson - Jason Merrill - - * tree.h (TYPE_TRANSPARENT_UNION): Replace with ... - (TYPE_TRANSPARENT_AGGR): this, for union and record. - * calls.c (initialize argument_information): Handle it. - * c-common.c (handle_transparent_union_attribute): Use new name. - * c-decl.c (finish_struct): Ditto. - * c-typeck.c (type_lists_compatible_p): Ditto. - (convert_for_assignment): Use new name and also handle record. - * function.c (aggregate_value_p): Handle it. - (pass_by_reference): Ditto. - (assign_parm_data_types): Ditto. - * print-tree.c (print_node): Ditto. - * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto. - * lto-streamer-out.c (pack_ts_type_value_fields): Ditto. - * tree.c (first_field): New fn. - -2010-01-21 Dave Korn - - PR target/42818 - * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers, - even when linking statically, for now. - -2010-01-20 Alexandre Oliva - - PR debug/42715 - * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set - without a cselib val. - (count_uses): Accept MO_VAL_SET with no val on stores. - (add_stores): Likewise. - -2010-01-20 Jakub Jelinek - - * var-tracking.c (check_value_val): Add a compile time assertion. - (dv_is_decl_p): Simplify. - (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use - gcc_assert if ENABLE_CHECKING. - -2010-01-20 Alexandre Oliva - - PR debug/42782 - * var-tracking.c: Include tree-flow.h. - (mem_dies_at_call): New. - (dataflow_set_preserve_mem_locs): Use it. - (dataflow_set_remove_mem_locs): Likewise. - (dump_var): Renamed from dump_variable. Adjust all callers. - (dump_var_slot): Renamed from dump_variable_slot. Likewise. - * Makefile.in (var-tracking.o): Adjust deps. - -2010-01-20 Joern Rennecke - - * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list. - -2010-01-20 Richard Guenther - - PR tree-optimization/42717 - * tree-ssa-dce.c (get_live_post_dom): Remove. - (forward_edge_to_pdom): Take an arbitrary edge to copy - degenerate PHI args from. - (remove_dead_stmt): Use the first post-dominator even if it - does not contain live statements as redirection destination. - -2010-01-20 Richard Guenther - - * tree-inline.c (estimate_num_insns): Handle EH builtins. - -2010-01-20 Jakub Jelinek - - * sel-sched.c (create_speculation_check): Remove set but not used - variable twin. - (try_transformation_cache): Remove set but not used variable ds. - (calculate_privileged_insns): Remove set but not used variables - cur_insn and min_spec_insn. - (find_best_expr): Remove set but not used variable avail_n. - * tree-predcom.c (base_names_in_chain_on): Remove set but not used - variable e. - * cgraphunit.c (assemble_thunk): Remove set but not used variable - false_label. - * haifa-sched.c (remove_notes): Remove set but not used variable prev. - * graphite-clast-to-gimple.c (gloog): Remove set but not used variable - new_scop_exit_edge. - -2010-01-20 Felyza Wishbringer - - PR bootstrap/42786 - * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx - cpu types. Add support for *-sse3 cpu types. - (x86_64-*-*): Ditto. - -2010-01-20 Jakub Jelinek - - PR middle-end/42803 - * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE - argument, call initializer_constant_valid_p_1 instead of - initializer_constant_valid_p, pass CACHE to it, return NULL - immediately if first call returns NULL. - (initializer_constant_valid_p_1): New function. - (initializer_constant_valid_p): Use it. - -2010-01-20 Thomas Quinot - - * tree.def (PLACEHOLDER_EXPR): Fix comment. - -2010-01-20 Jakub Jelinek - - * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead - of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}. - (loc_list_from_tree): Don't handle unsigned division. Handle - signed modulo using DW_OP_{over,over,div,mul,minus}. - * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned - modulo instead of signed. - -2010-01-20 DJ Delorie - - * config/h8300/h8300.c (F): Add "in_epilogue" flag. - (Fpa): Pass it - (h8300_emit_stack_adjustment): Propogate it. - (push): Pass it. - (h8300_expand_prologue): Likewise. - (h8300_expand_epilogue): Likewise. - -2010-01-19 Michael Matz - - PR tree-optimization/41783 - * tree-data-ref.c (toplevel): Include flags.h. - (dump_data_dependence_relation): Also dump the inputs if the - result will be unknown. - (split_constant_offset_1): Look through some conversions. - * tree-predcom.c (determine_roots_comp): Restart a new chain if - the offset from last element is too large. - (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF. - (reassociate_to_the_same_stmt): Handle vector registers. - * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations - (e.g. conversions). - * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add - wide_prolog_niters argument, emit widening instructions. - (vect_do_peeling_for_alignment): Adjust caller, use widened - variant of the iteration cound. - * Makefile.in (tree-data-ref.o): Add $(FLAGS_H). - -2010-01-19 Ramana Radhakrishnan - - PR target/38697 - * config/arm/neon-testgen.m (emit_automatics): New parameter - features. Adjust for Fixed_return_reg feature. - (test_intrinsic): Call emit_automatics with new feature. - * config/arm/neon.ml: Update copyright years. - (features): New Fixed_return_reg feature. - (ops): Update feature for Vget_low. - -2010-01-19 Jakub Jelinek - - PR tree-optimization/42719 - * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug - stmt uses. - - PR debug/42728 - * fwprop.c (all_uses_available_at): Return false if def_set dest - is a REG that is used in def_insn. - -2010-01-19 Joern Rennecke - - * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names. - - (TARGET_CC_MODES_COMPATIBLE): Put return value in braces. - Add argument names. - - (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language. - - * target.h (struct gcc_target) : Change type - of last argument to secondary_reload_info *. - -2010-01-18 Uros Bizjak - - PR target/42774 - * config/alpha/predicates.md (aligned_memory_operand): Return 0 for - memory references with unaligned offsets. Remove CQImode handling. - (unaligned_memory_operand): Return 1 for memory references with - unaligned offsets. Remove CQImode handling. - -2010-01-18 Richard Guenther - - PR middle-end/39954 - * cfgexpand.c (expand_call_stmt): TER pointer arguments in - builtin calls. - -2010-01-18 Richard Guenther - - PR tree-optimization/42781 - * tree-ssa-structalias.c (find_what_var_points_to): Skip - restrict processing only if the original variable was artificial. - -2010-01-18 Joern Rennecke - - * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to - find number of popped argument bytes. - - (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces. - Fix the text that describes the return value for invalid insns. - - (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list. - - (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types. - Clarify what 'cost of the -dependence' is. Fix quoting. - - * toplev.c (default_get_pch_validity): Rename argument to "sz". - * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise. - -2010-01-17 Jakub Jelinek - - * dwarf2out.c (mem_loc_descriptor): Don't ICE on - {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}. - -2010-01-17 Richard Guenther - - PR middle-end/42248 - * function.c (split_complex_args): Take a VEC to modify. - (assign_parms_augmented_arg_list): Build a VEC instead of - a chain of PARM_DECLs. - (assign_parms_unsplit_complex): Take a VEC of arguments. - Do not fixup unmodified parms. - (assign_parms): Deal with the VEC. - (gimplify_parameters): Likewise. - -2010-01-17 Richard Guenther - - * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI - node existence check. - * tree-vect-loop.c (vect_analyze_loop_form): Likewise. - * tree-cfgcleanup.c (merge_phi_nodes): Likewise. - * tree-ssa-dce.c (forward_edge_to_pdom): Likewise. - * tree-cfg.c (gimple_execute_on_growing_pred): Likewise. - (gimple_execute_on_growing_pred): Likewise. - -2010-01-17 Richard Guenther - - PR tree-optimization/42773 - * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence. - (compute_antic_aux): Likewise. - (compute_partial_antic_aux): Likewise. - -2010-01-17 Jie Zhang - - PR debug/42767 - * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE - and US_TRUNCATE. - -2010-01-17 Joern Rennecke - - * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of - appearance. - - (TARGET_LEGITIMATE_ADDRESS_P): Add return type. - Fix markup for strict argument. - - (TARGET_SCHED_REORDER2): Fix argument types. - - (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type. - (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise. - - (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name. - (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise. - - (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): - Add argument name. - - (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation. - (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise. - (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise. - (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise. - (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise. - - (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo. - - (TARGET_SCHED_GEN_SPEC_CHECK): Fix name. - - (TARGET_ASM_RELOC_RW_MASK): Add return type. - (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type. - - (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter. - - (TARGET_ASM_FILE_START): Put @findex before paragraph start. - Use prototype. - - (TARGET_ASM_NAMED_SECTION): Fix argument list. - - (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr. - (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise. - - (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr. - - (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types. - - (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup - referring to it. Fix language. - - (TARGET_HAVE_CTORS_DTORS): Use @deftypevr. - - (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument. - - (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types. - - (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument. - - (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and - '@var{stream}. Remove stray 'and'. - - (TARGET_ARM_EABI_UNWINDER): Use @deftypevr. - - (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument. - - (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article. - - (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was - misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P. - - (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces. - Fix description of return value. - Rename argument "sz" to "len." - - (TARGET_CXX_GUARD_MASK_BIT): Add missing article. - Clarify meaning of 'true' return value. - - (TARGET_SHIFT_TRUNCATION_MASK): Fix return type. - - (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of - rep_mode versus mode_rep. - - (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document. - - (TARGET_BUILTIN_DECL): Fix name. - - (TARGET_COMMUTATIVE_P): Fix type of first argument. - - (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL. - - (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type. - - (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook. - - (TARGET_RELAXED_ORDERING): Use @deftypevr. - - (TARGET_GET_DRAP_RTX): Note that this is a hook. - Clarify language. - - (TARGET_BUILTIN_RECIPROCAL): Fix argument types. - Rename argument tm_fn to md_fn. - - (TARGET_OPTION_PRINT): Fix argument list. - -2010-01-16 Harsha Jagasia - - PR target/42664 - * config/i386/i386.c (ix86_fixup_binary_operands): - Revert FMA4 fixup of operands. - -2010-01-16 Ralf Wildenhues - - PR gcc/42525 - * Makefile.in (write_entries_to_file, install-plugin): - Use \012 instead of \n with tr. - -2010-01-16 Richard Sandiford - - * configure.ac (HAVE_AS_REF): New C macro. - * configure: Regenerate. - * config.in: Likewise. - * collect2.c (main): Only postpone SCAN_DWEH to the second pass - if HAVE_AS_REF. - * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define - if HAVE_AS_REF. - -2010-01-16 Joern Rennecke - - * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types. - - (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types. - - (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types. - - (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces. - - (TARGET_IN_SMALL_DATA_P): Fix argument type. - - (TARGET_BINDS_LOCAL_P): Fix argument type. - - (TARGET_ASM_FILE_END): Use prototype. - - (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces. - - (TARGET_DWARF_CALLING_CONVENTION): Fix argument type. - - (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types. - - (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type. - - (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces. - (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise. - - (TARGET_PCH_VALID_P): Put 'const char *' in braces. - (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise. - - (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces. - (TARGET_ADDR_SPACE_SUBSET_P): Likewise. - (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces. - (TARGET_ADDR_SPACE_CONVERT): Likewise. - - (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces. - - (TARGET_MACHINE_DEPENDENT_REORG: Use prototype. - - (TARGET_INIT_BUILTINS): Use prototype. - - (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN): - Put 'const char *' in braces. Fix parameter types. - (TARGET_INVALID_CONVERSION): Fix parameter types. - (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise. - (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise. - - (TARGET_PROMOTED_TYPE): Remove braces around 'tree'. - Fix argument type. - - (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'. - - (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'. - -2010-01-15 Joern Rennecke - - * doc/tm.texi (TARGET_HELP): Fix return type. - - (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode' - in braces. Fix argument types. - - (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype. - - (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype. - - (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type. - - (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces. - (TARGET_FIXED_POINT_SUPPORTED_P): Likewise. - - (TARGET_MANGLE_TYPE): Fix argument types. - - (TARGET_IRA_COVER_CLASSES): Use prototype. - - (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype. - - (TARGET_CAN_ELIMINATE): Use identifiers for argument names. - - (TARGET_PROMOTE_PROTOTYPES): Fix argument type. - - (TARGET_MUST_PASS_IN_STACK): Fix argument type. - - (TARGET_CALLEE_COPIES): Fix argument types. - - (TARGET_SPLIT_COMPLEX_ARG): Fix argument type. - - (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types. - - (TARGET_FUNCTION_VALUE): Fix argument types. - - (TARGET_RETURN_IN_MSB): Fix argument type. - - (TARGET_RETURN_IN_MEMORY): Fix argument types. - - (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types. - - (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type. - - (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text - agree with return type. - - (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype. - -2010-01-15 Jing Yu - - PR rtl-optimization/42691 - * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set - a pseudo to a constant and are merged, and adjust comments. - -2010-01-15 Eric Botcazou - - * config/i386/sse.md (avx_vperm2f1283): Fix typo. - -2010-01-15 Richard Guenther - - PR middle-end/42739 - * tree-cfgcleanup.c (remove_forwarder_block): Move destination - labels of computed or non-local gotos to the destination. - * tree-cfg.c (gimple_verify_flow_info): Verify that a EH - landing pad label is the first label. - -2010-01-15 Richard Guenther - - * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru. - -2010-01-14 Michael Meissner - - PR target/42747 - * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn - to allow generation of the xssqrtdp instruction on power7. - (sqrtdf2_fpr): Ditto. - -2010-01-14 Jakub Jelinek - - PR middle-end/42674 - * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in - functions with noreturn attribute. - - PR c++/42608 - * varasm.c (declare_weak): Add weak attribute to decl if it - doesn't have one already. - (assemble_external): Only add decls to weak_decls if they also - have weak attribute. - -2010-01-14 Alexandre Oliva - - * var-tracking.c (var_reg_delete): Don't delete the association - between REGs and values or one-part variables if the register - isn't clobbered. - -2010-01-14 Jakub Jelinek - - PR debug/42657 - * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just - because its first operand is a non-localized variable. - -2010-01-14 Martin Jambor - - PR tree-optimization/42706 - * tree-sra.c (encountered_recursive_call): New variable. - (encountered_unchangable_recursive_call): Likewise. - (sra_initialize): Initialize both new variables. - (callsite_has_enough_arguments_p): New function. - (scan_function): Call decl and flags check only for IPA-SRA, check - whether there is a recursive call and whether it has enough arguments. - (all_callers_have_enough_arguments_p): New function. - (convert_callers): Look for recursive calls only when - encountered_recursive_call is set. - (ipa_early_sra): Bail out either if - !all_callers_have_enough_arguments_p or - encountered_unchangable_recursive_call. - -2010-01-14 Alexander Monakov - - * sel-sched.c: Add 2010 to copyright years. - * sel-sched-ir.c: Likewise. - * sel-sched-ir.h: Likewise. - -2010-01-14 Martin Jambor - - PR tree-optimization/42714 - * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type - constructors specially. - -2010-01-14 Andi Kleen - - * config/i386/drivers-i386.c (detect_caches_intel): - Add l2sizekb parameter and fill in. - (host_detect_local_cpu): Add l2sizekb, fill in. - Add Atom small cache heuristic. - -2010-01-14 Andi Kleen - - * config/i386/drivers-i386.c (detect_caches_cpuid4): - Add level3 parameter and fill in. - (detect_caches_intel): Handle level3 cache. - -2010-01-14 Andi Kleen - - * config/i386/drivers-i386.c (host_detect_local_cpu): - Fix core duo detection. - -2010-01-14 Andi Kleen - - * config/i386/drivers-i386.c (host_detect_local_cpu): - Fix Atom detection. - -2010-01-14 Alexander Monakov - - * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to... - (rs6000_variable_issue_1): this. Use... - (rs6000_variable_issue): here. Reimplement. Print debug info. - -2010-01-14 Alexander Monakov - - * sel-sched-ir.c (sel_restore_other_notes): Rename to - sel_restore_notes. Update all callers. Call reemit_notes - for all insns. - -2010-01-14 Andrey Belevantsev - - PR rtl-optimization/42246 - * sel-sched-ir.h (get_all_loop_exits): Include exits from inner - loops. - -2010-01-14 Andrey Belevantsev - - * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of - all successors is the same as number of successors in current region. - -2010-01-14 Alexander Monakov - - * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression - to rename is not separable. Otherwise check that its LHS is not NULL. - -2010-01-14 Alexander Monakov - - * sel-sched.c (choose_best_reg_1): Loop over all regs for mode. - -2010-01-14 Alexander Monakov - - * sel-sched.c (mark_unavailable_hard_regs): Do not try to search - available registers when failed to discover LHS register class. - Fix indentation. Update comment. - -2010-01-14 Andrey Belevantsev - Alexander Monakov - - PR rtl-optimization/42389 - * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE - to can_issue_more. - (advance_state_on_fence): Likewise. - (sel_target_adjust_priority): Print debug output only when - sched_verbose >= 4, not 2. - (get_expr_cost): Do not issue all unique insns on the next cycle. - (fill_insns): Initialize can_issue_more from the value saved - with the fence. - * sel-sched-ir.c (flist_add): New parameter issue_more. - Init FENCE_ISSUE_MORE with it. - (merge_fences): Likewise. - (init_fences): Update call to flist_add. - (add_to_fences, add_clean_fence_to_fences) - (add_dirty_fence_to_fences): Likewise. - (move_fence_to_fences): Update call to merge_fences. - (invoke_reorder_hooks): Do not reset can_issue_more on insns from - sched groups. - * sel-sched-ir.h (struct _fence): New field issue_more. - (FENCE_ISSUE_MORE): New accessor macro. - -2010-01-14 Andrey Belevantsev - - PR rtl-optimization/42388 - * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks - that have no predecessors nor successors. Do not call move_bb_info - for empty blocks outside of current region. - -2010-01-14 Alexander Monakov - - PR rtl-optimization/42294 - * sel-sched-ir.h (struct _sel_insn_data): Update comment. - * sel-sched.c (move_exprs_to_boundary): Transitively add all - originators' originators. - -2010-01-14 Alexander Monakov - - PR rtl-optimization/39453 - PR rtl-optimization/42246 - * sel-sched-ir.c (considered_for_pipelining_p): Do not test - for pipelining_p. - (sel_add_loop_preheaders): Add preheader to last_added_blocks. - -2010-01-14 Andrey Belevantsev - Alexander Monakov - - PR middle-end/42245 - * sel-sched-ir.c (sel_recompute_toporder): New. Use it... - (maybe_tidy_empty_bb): ... here. Make static. Add new - argument. Update all callers. - (tidy_control_flow): ... and here. Recompute topological order - of basic blocks in region if necessary. - (sel_redirect_edge_and_branch): Change return type. Return true - if topological order might have been invalidated. - (purge_empty_blocks): Export and move from... - * sel-sched.c (purge_empty_blocks): ... here. - * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype. - (maybe_tidy_empty_bb): Delete prototype. - (purge_empty_blocks): Declare. - -2010-01-14 Andrey Belevantsev - - PR rtl-optimization/42249 - * sel-sched.c (try_replace_dest_reg): When chosen register - and original register is the same, do not bail out early, but - still check all original insns for validity of replacing destination - register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function - in this case. - -2010-01-14 Jakub Jelinek - - PR c/42721 - Port from no-undefined-overflow branch: - 2009-03-09 Richard Guenther - - * fold-const.c (add_double_with_sign): Fix unsigned overflow detection. - -2010-01-14 Richard Guenther - - PR lto/42665 - * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node. - -2010-01-14 Ira Rosen - - PR tree-optimization/42709 - * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type - as scalar type in creation of constant vector operand. - -2010-01-14 Ralf Wildenhues - - PR testsuite/42414 - * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%) - (check-parallel-%): Match `testsuite' directory component only - at the end. - -2010-01-14 Shujing Zhao - - PR translation/39521 - * gcc.c (do_spec_1): Wrapped the error and notice messages of specs - strings with _(). - -2010-01-13 Richard Guenther - - PR tree-optimization/42730 - * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for - offset zero. - -2010-01-13 Steve Ellcey - - PR target/pr42542 - * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT - for V2SI by subtracting (-(INT MAX) - 1) from both operands to make - them signed. - -2010-01-13 Bernd Schmidt - - * config/bfin/libgcc-bfin.ver: Regenerate based on current - libgcc-std.ver. Add entries for ___smulsi3_highpart and - ___umulsi3_highpart. - - * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling - rather than schedule_insns if the pass is enabled. - -2010-01-13 Martin Jambor - - PR tree-optimization/42704 - * tree-sra.c (sra_modify_assign): Do not delete assignments to - SSA_NAMEs. - -2010-01-13 Martin Jambor - - PR tree-optimization/42703 - * tree-sra.c (analyze_access_subtree): Check that we can build a - reference to the original data within the aggregate. - -2010-01-13 Richard Guenther - - PR tree-optimization/42705 - * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels. - -2010-01-13 Richard Guenther - - PR middle-end/42716 - * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs. - -2010-01-13 Jakub Jelinek - - PR debug/41371 - * var-tracking.c (values_to_unmark): New variable. - (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in - values_to_unmark vector. Moved body to... - (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO, - instead queue it into values_to_unmark vector. - (vt_find_locations): Free values_to_unmark vector. - -2010-01-13 Wolfgang Gellerich - - * config/s390/s390.c (override_options): Set - default of max-pending-list-length to 256 - -2010-01-13 Richard Guenther - - PR lto/42678 - * tree-pass.h (PROP_gimple_lcx): New. - * cfgexpand.c (pass_expand): Require PROP_gimple_lcx. - * passes.c (init_optimization_passes): Move pass_lower_complex_O0 - before the final cleanup_eh. - (dump_properties): Dump PROP_gimple_lcx. - * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx. - (tree_lower_complex_O0): Remove. - (gate_no_optimization): Run if PROP_gimple_lcx is not set. - (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run - tree_lower_complex, schedule TODO_update_ssa. - * lto-streamer-out.c (output_function): Stream the functions - properties. - * lto-streamer-in.c (input_function): Likewise. - (lto_read_body): Do not override them here. - -2010-01-12 Joseph Myers - - PR c/42708 - * c-typeck.c (build_c_cast): Fold value cast to union type before - wrapping it in a CONSTRUCTOR. - -2010-01-12 Jakub Jelinek - - PR rtl-optimization/42699 - * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are - involved. - -2010-01-12 Rainer Orth - - * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC, - SUBTARGET_WARN_UNUSED_SPEC): Move ... - config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC, - SUBTARGET_WARN_UNUSED_SPEC): ... here - * config/mips/iris5.h (LIBGCC_SPEC): Define. - -2010-01-12 Julian Brown - - * config/arm/neon-schedgen.ml (Utils): Don't try to - open missing module. - (find_with_result): New. - -2010-01-12 Jakub Jelinek - - PR debug/42662 - * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx - sharing when canonicalizing ({lt,ge}u (plus a b) b). - - PR tree-optimization/42645 - * tree-inline.c (processing_debug_stmt): Move earlier. Make static. - (remap_ssa_name): If processing_debug_stmt and name wasn't found in - decl_map, set processing_debug_stmt to -1 and return name without - any remapping. - -2010-01-11 Dave Korn - - * doc/install.texi (Specific#x-x-cygwin): Document minimum required - binutils version, and reword target configuration description. - -2010-01-11 Andy Hutchinson - - * config/avr/avr.h (LINKER_NAME): Remove. - -2010-01-11 Janis Johnson - - PR target/42416 - * config/rs6000/rs6000.c (rs6000_override_options): On targets - that support VSX, warn for -mno-altivec if vsx is not disabled, - and disable vsx. - -2010-01-11 Joseph Myers - Shujing Zhao - - PR translation/42469 - * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=, - fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab - character between option name and help text. - * c.opt (imultilib): Likewise. - -2010-01-10 Rafael Avila de Espindola - - * lto-streamer-out.c (output_unreferenced_globals): Output static - variables. - -2010-01-10 Steven Bosscher - - PR rtl-optimization/42621 - * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not - optimizing for size. - (duplicate_computed_gotos): Remove now-redundant check. - -2010-01-10 Steve Ellcey - - PR target/37454 - * configure.ac: Save and restore LDFLAGS and LIBS - * configure: Regenerate. - -2010-01-10 Richard Guenther - - PR middle-end/42667 - * builtins.c (fold_builtin_strlen): Add type argument and - convert the resulting length to it. - (fold_builtin_1): Adjust. - -2010-01-09 Jakub Jelinek - - * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten - sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by - 1 insn. - (num_insns_constant_wide): Adjust for that change. - -2010-01-09 Alexandre Oliva - - PR debug/42631 - * web.c (union_defs): Add used argument, to combine uses of - uninitialized regs. - (entry_register): Adjust type and tests of used argument. - (web_main): Widen used for new use. Pass it to union_defs. - * df.h (union_defs): Adjust prototype. - -2010-01-09 Alexandre Oliva - - PR debug/42630 - * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug - uses in new incoming argument. Free body. - (reset_debug_uses_in_loop): New. - (analyze_insn_to_expand_var): Call the latter if the former found - anything. Fix whitespace. Reject invalid dest overlaps before - going through all insns in the loop. - -2010-01-09 Alexandre Oliva - - PR debug/42629 - * haifa-sched.c (dying_use_p): Debug insns don't count. - -2010-01-09 Alexandre Oliva - - PR middle-end/42363 - * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls. - * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice. - (verify_gimple_call): Reject LHS in noreturn calls. - -2010-01-09 Alexandre Oliva - - PR debug/42604 - PR debug/42395 - * tree-vect-loop-manip.c (adjust_info): New type. - (adjust_vec): New pointer to vector. - (adjust_debug_stmts_now, adjust_vec_debug_stmts): New. - (adjust_debug_stmts, adjust_phi_and_debug_stmts): New. - (slpeel_update_phis_for_duplicate_loop): Use them. - (slpeel_update_phi_nodes_for_guard1): Likewise. - (slpeel_update_phi_nodes_for_guard2): Likewise. - (slpeel_tree_peel_loop_to_edge): Likewise. - (vect_update_ivs_after_vectorizer): Likewise. - -2010-01-09 Alexandre Oliva - - * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren. - (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise. - -2010-01-09 Alexandre Oliva - - * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence - bogus uninitialized warning. - -2010-01-09 Richard Guenther - - PR middle-end/42512 - * tree-scalar-evolution.c (interpret_loop_phi): Make sure - the evolution is compatible with the initial condition. - -2010-01-09 Jakub Jelinek - - * gcc.c (process_command): Update copyright notice dates. - * gcov.c (print_version): Likewise. - * gcov-dump.c (print_version): Likewise. - * mips-tfile.c (main): Likewise. - * mips-tdump.c (main): Likewise. - -2010-01-08 Andy Hutchinson - - PR target/41885 - * config/avr/avr.md (rotlqi3): Add CONST_INT_P check. - (rotlhi3): Delete. - (rotlhi3_8): Delete. - (rotlsi3): Delete. - (rotlsi3_8): Delete. - (rotlsi3_16): Delete. - (rotlsi3_24): Delete. - (rotl3): New. - (*rotw3): New. - (*rotb3): New. - * config/avr/avr.c (avr_rotate_bytes): New function. - * config/avr/avr-proto.h (avr_rotate_bytes): New function. - -2010-01-08 Steve Ellcey - - PR target/37454 - * configure.ac: Modify -rdynamic check. - * configure: Regenerate. - -2010-01-08 DJ Delorie - - * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler - register popping order. - -2010-01-08 Richard Guenther - - PR lto/42528 - * c.opt (fsigned-char): Also let LTO handle this option. - (funsigned-char): Likewise. - -2010-01-07 Richard Guenther - - * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING. - (gimple_op): Likewise. - (gimple_op_ptr): Likewise. - (gimple_assign_set_lhs): Remove gcc_assert. - (gimple_assign_set_rhs1): Likewise. - (gimple_assign_set_rhs2): Likewise. - (gimple_call_set_lhs): Likewise. - (gimple_call_set_fn): Likewise. - (gimple_call_set_fndecl): Likewise. - (gimple_call_fndecl): Likewise. - (gimple_call_return_type): Likewise. - (gimple_call_set_chain): Likewise. - (gimple_call_num_args): Likewise. - (gimple_call_set_arg): Likewise. - (gimple_cond_set_code): Likewise. - (gimple_cond_set_lhs): Likewise. - (gimple_cond_set_rhs): Likewise. - (gimple_cond_set_true_label): Likewise. - (gimple_cond_set_false_label): Likewise. - (gimple_label_set_label): Likewise. - (gimple_goto_set_dest): Likewise. - (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING. - (gimple_debug_bind_get_value): Likewise. - (gimple_debug_bind_get_value_ptr): Likewise. - (gimple_debug_bind_set_var): Likewise. - (gimple_debug_bind_set_value): Likewise. - (gimple_debug_bind_reset_value): Likewise. - (gimple_debug_bind_has_value_p): Likewise. - (gimple_return_retval_ptr): Remove gcc_assert. - (gimple_return_retval): Likewise. - (gimple_return_set_retval): Likewise. - * tree-flow.h (struct gimple_df): Remove nonlocal_all member. - (safe_referenced_var_iterator): Remove. - (FOR_EACH_REFERENCED_VAR_SAFE): Likewise. - * tree-flow-inline.h (gimple_nonlocal_all): Remove. - (fill_referenced_var_vec): Remove. - (first_readonly_imm_use): Remove redundant gcc_assert. - (phi_arg_index_from_use): Combine gcc_asserts. - (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING. - (first_imm_use_stmt): Remove redundant gcc_assert. - * tree-cfg.c (verify_gimple_call): Verify function and chain - operands. Verify arguments. - (verify_types_in_gimple_stmt): Verify condition code and labels. - -2010-01-07 Richard Guenther - - PR tree-optimization/42641 - * sese.c (rename_map_elt_info): Use the SSA name version, do - not hash pointers. - -2010-01-07 Jakub Jelinek - - PR tree-optimization/42625 - * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*, - TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases. - -2010-01-07 Duncan Sands - - * Makefile.in (PLUGIN_HEADERS): Add version.h. - -2010-01-07 Uros Bizjak - - PR target/42511 - * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when - note itself is not function_invariant_p. - -2009-01-07 Steven Bosscher - - * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist): - Do not add the DF_NOTE problem. - * store-motion.c (execute_rtl_store_motion): Likewise. - -2010-01-07 Martin Jambor - - PR tree-optimization/42157 - * tree-sra.c (compare_access_positions): Stabilize sort if both - accesses have integer types, return zero immediately if they are the - same. - -2010-01-06 Richard Henderson - - PR middle-end/41883 - * haifa-sched.c (add_to_note_list): Merge into ... - (concat_note_lists): ... here, and ... - (unlink_other_notes, rm_other_notes): Merge into... - (remove_notes): ... here. Create REG_SAVE_NOTEs for - NOTE_INSN_EPILOGUE_BEG. - -2010-01-06 Richard Guenther - - * ipa-inline.c (cgraph_decide_inlining_incrementally): Do - not inline regular functions into always-inline functions. - -2010-01-06 Nick Clifton - - * config/rx/rx.h (enum rx_cpu_type): Add RX200. - (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are - used together. - (OVERRIDE_OPTIONS): Delete. - (OPTIMIZATION_OPTIONS): Define. - (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option. - * config/rx/rx.c (rx_handle_option): Issue an error message if - -mcpu=rx200 and -fpu are used together. - (rx_set_optimization_options): New function. Issue an error - message if an optimization attribute attempts to reset the FPU/ - math optimization pairing. - * config/rx/rx-protos.h (rx_set_optimization_options): Prototype. - * config/rx/rx.opt: Set the default to 32-bit doubles. - * config/rx/t-rx: Add multilibs for -nofpu option. - * doc/invoke.texi: Update documentation of RX options. - -2010-01-06 Richard Guenther - - * tree-ssa-pre.c (name_to_id): New global. - (alloc_expression_id): Simplify SSA name handling. - (lookup_expression_id): Likewise. - (init_pre): Zero name_to_id. - (fini_pre): Free it. - -2010-01-06 Uros Bizjak - - * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM. - -2010-01-05 H.J. Lu - - PR target/42542 - * config/i386/sse.md (smaxv2di3): New. - (umaxv2di3): Likewise. - (sminv2di3): Likewise. - (uminv2di3): Likewise. - -2010-01-05 Eric Botcazou - - PR target/42564 - * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete. - * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise. - (legitimize_tls_address): Likewise. - (sparc_tls_referenced_p): Likewise. - * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address - and adjust calls to legitimize_pic_address. - (legitimate_constant_p) Use sparc_tls_referenced_p. - (legitimate_pic_operand_p): Likewise. - (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P. - (sparc_tls_symbol_ref_1): Delete. - (sparc_tls_referenced_p): Make static, recognize specific patterns. - (legitimize_tls_address): Make static, handle CONST patterns. - (legitimize_pic_address): Make static, remove unused parameter and - adjust recursive calls. - (sparc_legitimize_address): Make static, use sparc_tls_referenced_p - and adjust call to legitimize_pic_address. - (sparc_output_mi_thunk): Likewise. - -2010-01-05 Paolo Bonzini - H.J. Lu - - PR target/42542 - * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT - for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both - operands to make them signed. - - Revert: - 2010-01-04 H.J. Lu - - PR target/42542 - * config/i386/i386.c (ix86_expand_int_vcond): Don't convert - GTU to GT for V4SI and V2DI. - - * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP. - (umin3): Removed. - (uminv8hi3): New. - (uminv4si3): Likewise. - -2010-01-05 Martin Jambor - - PR tree-optimization/42462 - * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of - current_function_decl to helper functions and macros. - -2010-01-05 Rainer Orth - - PR bootstrap/41771 - * flags.h: Don't include real.h. - (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS, - HONOR_SIGN_DEPENDENT_ROUNDING): Move ... - * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, - HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here. - * dominance.c: Update copyright. - * gimple.c (walk_gimple_op): Remove inline. - * tree-ssa-reassoc.c: Include real.h. - * Makefile.in (FLAGS_H): Remove $(REAL_H). - (tree-ssa-reassoc.o): Depend on $(REAL_H). - -2010-01-05 Nick Clifton - - * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second - register to push into the stack frame when the accumulator has to - be saved during interrupts. - -2010-01-05 Eric Fisher - - * doc/invoke.texi: Remove the documentation about option - -Wunreachable-code. - * common.opt (Wunreachable-code): Preserved for backward - compatibility. - * tree-cfg.c: Remove the implementation of -Wunreachable-code. - * opts.c (common_handle_option): Add OPT_Wunreachable_code to - the backward compatibility flag section. - -2010-01-05 Richard Guenther - - * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize. - -2010-01-05 Jakub Jelinek - - PR other/42611 - * cfgexpand.c (expand_one_var): Diagnose too large variables. - - PR tree-optimization/42508 - * tree-sra.c (convert_callers): Check for recursive call - by comparing cgraph nodes instead of decls. - (modify_function): Call ipa_modify_formal_parameters also - on all same_body aliases. - - * cgraphunit.c (cgraph_materialize_all_clones): Compare - cgraph nodes when checking for same_body aliases. - -2010-01-05 Richard Guenther - - * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant - allocation and lookup. - (get_or_alloc_expr_for_constant): Likewise. - (phi_translate): Sink allocation. - -2010-01-04 Richard Guenther - - * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate - a new entry only if needed. - * tree-ssa-dom.c (lookup_avail_expr): Likewise. - * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one - hashtable lookup. - * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate - the result array. - (phi_translate): Handle CONSTANTs early. - -2010-01-04 Martin Jambor - - PR tree-optimization/42398 - * tree-sra.c (struct access): Removed flag grp_different_types. - (dump_access): Do not dump the removed flag. - (sort_and_splice_var_accesses): Do not set the removed flag. - (sra_modify_expr): Check for type compatibility directly. - -2010-01-04 Martin Jambor - - PR tree-optimization/42366 - * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on - edges with variable number of parameters. - * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done - flag instead of asserting it. - (ipa_read_node_info): Read uses_analysis_done flag. - -2010-01-04 Richard Guenther - - * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use - iterative_hash_* as intended. - (vn_reference_compute_hash): Likewise. Simplify hashing - SSA names. - (vn_reference_lookup_2): Likewise. - (vn_nary_op_compute_hash): Likewise. - (vn_phi_compute_hash): Likewise. - (expressions_equal_p): Remove strange code. - * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable (). - (pre_expr_hash): Likewise. Simplify hashing SSA names. - (bitmap_insert_into_set_1): Take value-id as parameter. - (add_to_value): Pass it. - (bitmap_insert_into_set): Likewise. - (bitmap_value_insert_into_set): Likewise. Remove redundant check. - -2010-01-04 Jakub Jelinek - - PR driver/42442 - * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define. - (do_self_spec): For switches with SWITCH_IGNORE set set also - SWITCH_IGNORE_PERMANENTLY. - (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead - of SWITCH_IGNORE. - -2010-01-04 Rafael Avila de Espindola - - * lto-streamer-out.c (output_unreferenced_globals): Output the full - tree of an unreferenced global var. - -2010-01-04 H.J. Lu - - PR target/42542 - * config/i386/i386.c (ix86_expand_int_vcond): Don't convert - GTU to GT for V4SI and V2DI. - - * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP. - (umin3): Removed. - (uminv8hi3): New. - (uminv4si3): Likewise. - -2010-01-04 H.J. Lu - - PR lto/42581 - * collect2.c (main): Turn on trace in collect2 if -v is passed - to gcc with LTO. - -2010-01-03 Jerry Quinn - - * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update - description of expression operand. - -2010-01-03 Andrew Jenner - - * configure.ac: Add install-html to target_list for Make-hooks. - * configure: Regenerate. - * fortran/Make-lang.in (F95_HTMLFILES): New. - (fortran.html): Use it. - (fortran.install-html): New. - * Makefile.in (install-html): Add lang.install-html. - * java/Make-lang.in (JAVA_HTMLFILES): New. - (java.html): Use it. - (java.install-html): New. - * objc/Make-lang.in (objc.install-html): New. - * objcp/Make-lang.in (obj-c++.install-html): New. - * cp/Make-lang.in (c++.install-html): New. - * ada/gcc-interface/Make-lang.in (ada.install-html): New. - * lto/Make-lang.in (lto.install-html): New. - -2010-01-03 H.J. Lu - - PR lto/42520 - * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt. - -2009-01-03 Steven Bosscher - - PR rtl-optimization/41862 - * store-motion.c (store_killed_in_insn, compute_store_table, - remove_reachable_equiv_notes, replace_store_insn, - build_store_vectors): Ignore all DEBUG_INSNs. - -2010-01-03 H.J. Lu - - PR lto/41564 - * common.opt: Add dumpdir. - - * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase - isn't specified. - (option_map): Add --dumpdir. - - * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir. - - * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o. - - * opts.c (decode_options): Try dump_dir_name first if - dump_base_name isn't an absolute path. - (common_handle_option): Handle OPT_dumpdir. - - * toplev.c (dump_dir_name): New. - (print_switch_values): Also ignore -dumpdir. - - * toplev.h (dump_dir_name): New. - -2010-01-03 Richard Guenther - - PR tree-optimization/42589 - * tree-ssa-math-opts.c (execute_optimize_bswap): Allow - double-word expansion of bswap32. - -2010-01-03 Steven Bosscher - - * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM - with BLOCK_FOR_INSN. - * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise. - * ifcvt.c (noce_get_alt_condition, noce_try_abs, - noce_process_if_block): Likewise. - * gcse.c (compute_local_properties, insert_expr_in_table, - insert_set_in_table, canon_list_insert, find_avail_set, - pre_insert_copy_insn): Likewise. - - * basic-block.h (BLOCK_NUM): Move from here... - * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler. - -2010-01-03 Richard Guenther - - PR tree-optimization/42438 - * tree-ssa-pre.c (struct bb_bitmap_sets): Add - contains_may_not_return_call flag. - (BB_MAY_NOTRETURN): New. - (valid_in_sets): Trapping nary operations are not valid - in blocks that may not return. - (insert_into_preds_of_block): Remove check for trapping expressions. - (compute_avail): Compute also BB_MAY_NOTRETURN. - -2010-01-03 Gerald Pfeifer - - * doc/invoke.texi: Add 2010 to copyright years. - -2010-01-03 Eric Botcazou - - * config/sparc/sparc.c: Fix formatting nits. - -2010-01-02 Gerald Pfeifer - Alexander Monakov - - * doc/invoke.texi (Optimize Options): Reword introduction a bit. - -2010-01-02 Richard Guenther - - PR middle-end/42577 - * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks. - (simplify_switch_using_ranges): Mark to be removed edges - as non-executable. - -2010-01-02 John David Anglin - - * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two. - - * collect2.c (scan_libraries): Add missing argument in call to - scan_prog_file. - -2010-01-02 Uros Bizjak - - PR target/42448 - * config/alpha/predicates.md (aligned_memory_operand): Return false - for CQImode. - (unaligned_memory_operand): Return true for CQImode. - * config/alpha/alpha.c (get_aligned_mem): Assert that location - doesn not cross aligned SImode word boundary. - -2010-01-02 Anatoly Sokolov - - * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_): - Remove. - * config/avr/avr-protos.h (avr_init_once, avr_optimization_options, - avr_change_section, avr_reg_class_from_letter) : Remove declaration. - -2010-01-02 Richard Guenther - - PR lto/41597 - * toplev.c (compile_file): Emit LTO marker properly. Change - it to __gnu_lto_v1. - * collect2.c (scan_prog_file): Adjust for changed LTO marker. - -2010-01-01 Richard Guenther - - PR debug/42455 - * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order. - -2010-01-01 Richard Guenther - - PR c/42570 - * c-decl.c (grokdeclarator): For zero-size arrays force - structural equality checks as layout_type does. - -2010-01-01 H.J. Lu - - * builtins.c: Update copyright to 2010. - -2010-01-01 H.J. Lu - - PR lto/42531 - * lto-streamer-out.c (produce_asm): Revert the last change. - (copy_function): Likewise. - - * lto-streamer.c (lto_get_section_name): Skip any leading - asterisk in name. - -2010-01-01 Richard Guenther - - PR middle-end/42559 - * builtins.c (get_object_alignment): Do not use DECL_ALIGN - for LABEL_DECLs. - - -Copyright (C) 2010 Free Software Foundation, Inc. - Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.