X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=fcd370972e9674c58edb9b931df6641c74a89260;hp=5831a609b79150b94b5c5a6013711ee103c6f2ec;hb=39616bce6d02ab579efdf219030d6e39b78961ab;hpb=28ca4cf5973b4a38dd922a6007bcd27c457ed2fa diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5831a609b79..fcd370972e9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,795 @@ +2010-05-28 Nathan Froyd + + * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of + build1_stat. + +2010-05-28 Richard Guenther + + PR lto/44312 + * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields): + Stream fixed-point constants mode. + (unpack_ts_type_value_fields): Fix width of TYPE_MODE + and TYPE_PRECISION. + * lto-streamer-out.c (pack_ts_fixed_cst_value_fields): + Stream fixed-point constants mode. + (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE + and TYPE_PRECISION. + +2010-05-28 Sebastian Pop + + * tree-scalar-evolution.c (set_nb_iterations_in_loop): Inlined in the + only place it was called from. + (number_of_latch_executions): Do not return chrec_dont_know when the + may_be_zero is a runtime condition: instead, return a COND_EXPR + including the may_be_zero condition. + * cfgloop.h (struct loop): Add a note on COND_EXPRs to the comment + of nb_iterations. + * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Handle + COND_EXPRs. + +2010-05-28 Sebastian Pop + + * tree-if-conv.c (replace_phi_with_cond_gimple_assign_stmt): Don't + generate COND_EXPRs for degenerate_phi_result. + +2010-05-28 Sebastian Pop + + PR middle-end/44293 + * tree-if-conv.c (if_convertible_loop_p): Check the + if-convertibility of phi nodes in non predicated BBs. + +2010-05-28 Joseph Myers + + * gcc.c (error, warning, inform): Remove duplicate ": " in output. + +2010-05-28 Joseph Myers + + PR driver/15303 + * gcc.c (inform, warning, inform): New functions. + (fatal_ice): Rename to internal_error; change cmsgid parameter to + gmsgid. All callers changed. + (notice): Rename to fnotice; add parameter fp. All callers + changed. + (fatal_error): Rename to fatal_signal. All users changed. + (fatal): Rename to fatal_error; change cmsgid parameter to + gmsgid. All callers changed. + (process_command): Use warning instead of error for warnings. + (end_going_arg): Don't use _() around argument of error. + (do_spec_1): Use inform for message from %n specs. Use warning + instead of error for warnings. + (main): Use inform for comparison messages. Use warning for + message about unused linker input. + (error): Increment error_count. Print "error: ". + * gcc.h (fatal): Change to fatal_error. + (warning): Declare. + * config/darwin-driver.c (darwin_default_min_version): Use warning + instead of fprintf for warnings. + * cppspec.c (lang_specific_driver): Use fatal_error instead of + fatal. + +2010-05-28 Julian Brown + + * config/arm/thumb2.md (*thumb2_addsi3_compare0): New. + (*thumb2_addsi3_compare0_scratch): New. + * config/arm/constraints.md (Pv): New. + * config/arm/arm.md (*addsi3_compare0): Remove FIXME comment. Use + for ARM mode only. + (*addsi3_compare0_scratch): Likewise. + +2010-05-28 Jan Hubicka + + * ipa-reference.c (add_static_var): Remove redundant all_module_statics check. + (ipa_reference_write_optimization_summary): Call is_proper_for_analysis only + on local statics. + +2010-05-28 Iain Sandoe + + * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin. + +2010-05-28 Maxim Kuvyrkov + + PR bootstrap/44314 + * config/alpha/linux.h, config/rs6000/linux.h, config/rs6000/linux64.h + (OPTION_GLIBC): Define. + +2010-05-28 Jakub Jelinek + + PR debug/41048 + * dwarf2out.c (double_int_type_size_in_bits): New function. + (round_up_to_align): Change first argument and return value to + double_int. + (field_byte_offset): Work internally on double_ints. + + PR target/43636 + * builtins.c (expand_movstr): Use a temporary pseudo instead + of target even when target is not NULL and not const0_rtx, but + fails movstr predicate. + * config/m32c/blkmov.md (movstr): Add predicate to first operand. + +2010-05-28 Joseph Myers + + * final.c (rest_of_clean_state): Use %m in errors instead of + strerror (errno). + * gengtype.c (read_input_list, close_output_files): Use xstrerror + instead of strerror. + * toplev.c (process_options): Use %m in errors instead of strerror + (errno). + * tree-dump.c (dump_begin): Use %m in errors instead of strerror + (errno). + +2010-05-28 Uros Bizjak + + * config/i386/i386.c (ix86_fn_abi_va_list): Make static. + (ix86_canonical_va_list_type): Make static. Add declaration. + (ix86_enum_va_list): Make static. Reindent. + * config/i386/i386-protos.h (ix86_fn_abi_va_list): Remove declaration. + (ix86_canonical_va_list_type): Ditto. + (ix86_enum_va_list): Ditto. + +2010-05-28 Richard Guenther + + * lto-wrapper.c (run_gcc): With -save-temps generate a + user-visible ltrans filename. Fixup ltrans unit numbering. + +2010-05-28 Kai Tietz + + * c-common.c (c_common_nodes_and_builtins): Replace use + of TARGET_ENUM_VA_LIST by target hook enum_va_list. + * config/i386/i386.c (TARGET_ENUM_VA_LIST_P): Hook + to ix86_enum_va_list. + * config/i386/i386.h (TARGET_ENUM_VA_LIST): Removed. + * doc/tm.texi (TARGET_ENUM_VA_LIST): Removed. + (TARGET_ENUM_VA_LIST_P): Add hook description. + * target-def.h (TARGET_ENUM_VA_LIST_P): Added. + * target.h (gcc_target): Add enum_va_list hook. + + PR bootstrap/44299 + * config/i386/t-cygming: Adjust header dependencies for winnt-cxx.c. + * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Remove undefine. + * config/i386/winnt.c (IN_GCC_FRONTEND): Likewise. + +2010-05-28 Alan Modra + + PR target/44266 + * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use + emit_library_call machinery to set up __tls_get_addr calls. + +2010-05-28 Andreas Krebbel + + * config/s390/s390.md (movqi): Fix typo ('*' -> '#'). + +2010-05-28 Dodji Seketeli + + revert fix for PR c++/44188 + * c-common.c (is_typedef_decl): Revert the moving of this + definition ... + * tree.c (is_typedef_decl): ... here. + (typdef_variant_p): Revert the moving of this definition + here from gcc/cp/tree.c. + * c-common.h (is_typedef_decl): Revert the moving of this + declaration ... + * tree.h (is_typedef_decl): ... here. + (typedef_variant_p): Revert the moving of this declaration here + from gcc/cp/cp-tree.h + * dwarf2out.c (is_naming_typedef_decl): Revert this new function. + (gen_tagged_type_die): Revert the splitting out of ... + (gen_type_die_with_usage): ... this function. Revert the anonymous + tagged type handling. + (gen_typedef_die): Revert emitting DW_TAG_typedef for + typedefs naming anonymous tagged types. + + +2010-05-28 Segher Boessenkool + + * config/rs6000/rs6000-modes.def (PSImode): Delete. + +2010-05-28 Segher Boessenkool + + * config/rs6000/constraints.md ("z" constraint): Change to CA_REGS. + * config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P + throughout. + * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change + "xer" to "ca". + Change XER_REGNO_P to CA_REGNO_P, XER_REGNO to CA_REGNO, and + XER_REGS to CA_REGS throughout. + * config/rs6000/rs6000.h: Same. + (ADDITIONAL_REGISTER_NAMES): Add "xer". + * config/rs6000/rs6000.md: Change XER_REGNO to CA_REGNO. Document + that mode_iterator "P" is the size for arithmetic carries as well. + * doc/md.texi (rs6000 section, "z" constraint): Fix documentation. + +2010-05-28 Jakub Jelinek + + PR bootstrap/44255 + * combine.c (struct rtx_subst_pair): Define unconditionally. + (propagate_for_debug_subst): Likewise. If not AUTO_INC_DEC, + copy_rtx pair->to instead of cleanup_auto_inc_dec it. + Call make_compound_operation on pair->to. + (propagate_for_debug): Don't call make_compound_operation here. + Always use simplify_replace_fn_rtx. + +2010-05-27 Sterling Augustine + + * doc/invoke.texi (xtensa options): Add -mforce-no-pic. + * config/xtensa/xtensa.c (override_options): Check + TARGET_FORCE_NO_PIC and set flag_pic. + * config/xtensa/xtensa.opt: Document -mforce-no-pic + +2010-05-27 Kai Tietz + + 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. @@ -71,8 +863,7 @@ 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.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. @@ -99,8 +890,7 @@ * 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. + * opts.c (decode_options): Handle -Ofast. Enable -ffast-math with it. * common.opt (Ofast): Add. 2010-05-25 Paolo Bonzini @@ -120,8 +910,7 @@ * 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. + (loc_list_from_tree): Don't test whether second operand is INTEGER_CST. 2010-05-25 Wei Guozhi @@ -153,18 +942,14 @@ * 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. + 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. + (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. + (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, @@ -193,7 +978,7 @@ 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 () + * toplev.c (compile_file): Move the call to emutls_finish () before varpool_assemble_pending_decls (). 2010-05-24 Daniel Gutson @@ -237,8 +1022,7 @@ 2010-05-23 Steven Bosscher - * regs.h: Do not include obstack.h, basic-block.h. - Include machmode.h. + * 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. @@ -423,10 +1207,8 @@ * 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. + * 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 @@ -436,8 +1218,7 @@ 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-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. @@ -448,8 +1229,7 @@ * 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-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. @@ -685,8 +1465,7 @@ 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. + config/bfin/bfin.c: Clean up redundant includes. * Makefile.in: Update accordingly. 2010-05-21 Nathan Froyd @@ -717,7 +1496,7 @@ 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. + (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. @@ -741,8 +1520,7 @@ 2010-05-20 Segher Boessenkool - * ipa-prop.c (compute_complex_ancestor_jump_func): Bail - out if !cond. + * ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond. 2010-05-20 Uros Bizjak @@ -824,7 +1602,7 @@ * 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 + * 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. @@ -842,7 +1620,7 @@ * 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 + * 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 @@ -1837,9 +2615,9 @@ * 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 + * 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. + * recog.h (mode_dependent_address_p): Change return type to bool. 2010-05-12 Kazu Hirata Nathan Froyd @@ -2596,7 +3374,7 @@ (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 + * 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. @@ -4723,7 +5501,7 @@ (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. + * gcc/config/sh/sh.opt (maccumulate-outgoing-args): New option. 2010-04-15 Kaz Kojima @@ -5577,7 +6355,7 @@ 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): + * config/rs6000/rs6000.c (paired_emit_vector_compare): Remove set, but unused, vars. (rs6000_legitimize_tls_address): Likewise. (altivec_expand_dst_builtin): Likewise.