X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;ds=sidebyside;f=gcc%2FChangeLog;h=cd83b5f688cb78731f0daab3daf0969a6ce9a2da;hb=050190438f97763fc6ab94dd4ffb0635002a8b4c;hp=a4513b7e4423c7c6c1f4d9cb43bb3e92901847b1;hpb=4ffe052604d0bd4832b900a56c82ad0307ea9d7e;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a4513b7e442..cd83b5f688c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,1060 @@ -2010-11-22 Paolo Bonzini +2010-11-30 Richard Guenther + + PR tree-optimization/46717 + * value-prof.c (gimple_ic): Preserve EH edges of the indirect + call. Manually create EH edges for the direct call and update + target PHI nodes. + +2010-11-30 Joseph Myers + + * diagnostic-core.h: Include bversion.h. + * toplev.h: Don't include input.h or bversion.h. + (parse_optimize_options): Don't declare here. + * alias.c, auto-inc-dec.c, c-aux-info.c, c-convert.c, c-parser.c, + caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c, + combine-stack-adj.c, config/arm/pe.c, config/darwin-c.c, + config/host-darwin.c, config/i386/host-cygwin.c, + config/i386/host-mingw32.c, config/i386/msformat-c.c, + config/i386/netware.c, config/i386/nwld.c, + config/i386/winnt-cxx.c, config/i386/winnt-stubs.c, + config/ia64/ia64-c.c, config/m32c/m32c-pragma.c, + config/mep/mep-pragma.c, config/microblaze/microblaze-c.c, + config/rs6000/host-darwin.c, config/rs6000/rs6000-c.c, + config/score/score3.c, config/score/score7.c, + config/sh/symbian-base.c, config/sh/symbian-c.c, + config/sh/symbian-cxx.c, config/sol2-c.c, config/sol2.c, + config/v850/v850-c.c, config/vxworks.c, convert.c, cppbuiltin.c, + cselib.c, dbgcnt.c, ddg.c, dfp.c, dominance.c, emit-rtl.c, + fixed-value.c, fwprop.c, ggc-common.c, gimple.c, gimplify.c, + graphite-blocking.c, graphite-clast-to-gimple.c, + graphite-dependences.c, graphite-flattening.c, + graphite-interchange.c, graphite-poly.c, + graphite-scop-detection.c, graphite.c, haifa-sched.c, + implicit-zee.c, integrate.c, ipa-pure-const.c, ipa-reference.c, + ira-build.c, ira-conflicts.c, ira-costs.c, ira-lives.c, jump.c, + lists.c, loop-doloop.c, loop-iv.c, lto-cgraph.c, lto-compress.c, + lto-opts.c, lto-section-in.c, lto-section-out.c, + lto-streamer-out.c, lto-symtab.c, modulo-sched.c, optabs.c, + params.c, postreload-gcse.c, postreload.c, predict.c, profile.c, + regcprop.c, reginfo.c, regmove.c, reorg.c, resource.c, + sched-deps.c, sched-ebb.c, sched-rgn.c, sdbout.c, + sel-sched-dump.c, sel-sched-ir.c, sese.c, stmt.c, targhooks.c, + tree-cfgcleanup.c, tree-mudflap.c, tree-nomudflap.c, + tree-object-size.c, tree-outof-ssa.c, tree-phinodes.c, + tree-profile.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c, + tree-ssa-live.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c, + tree-ssa-operands.c, tree-ssa-structalias.c, tree-ssa-uninit.c, + tree-vect-patterns.c, value-prof.c, var-tracking.c, web.c: Don't + include toplev.h. + * Makefile.in (TOPLEV_H): Remove. All uses changed to use + toplev.h. Dependencies for above files and c-family files changed + to remove $(TOPLEV_H) or toplev.h. + (C_TREE_H): Don't include $(TOPLEV_H). + (DIAGNOSTIC_CORE_H): Use $(INPUT_H) instead of input.h. Add + bversion.h. + * config/arm/t-pe, config/arm/t-wince-pe, config/i386/t-cygming, + config/ia64/t-ia64, config/mep/t-mep, config/score/t-score-elf, + config/t-darwin, config/t-sol2, + config/t-vxworks, config/v850/t-v850, config/v850/t-v850e: + Dependencies for above files changed to remove $(TOPLEV_H) or + toplev.h. + +2010-11-30 Richard Guenther + + PR lto/44986 + * gcc.c (main): Use the first input with a compiler as infile + for link spec processing. + +2010-11-30 Richard Guenther + + PR lto/45949 + * cgraphunit.c (ipa_passes): Stop after errors from + small IPA passes. + +2010-11-30 Mingjie Xing + + * gcc-plugin.h: Include coretypes.h. + * Makefile.in (FUNCTION_H): Add hard-reg-set.h. + +2010-11-30 Laurynas Biveinis + + * ggc-zone.c (ggc_pch_read): Fix conditional compilation. + * ggc-none.c (ggc_internal_alloc_zone_stat) + (ggc_internal_cleared_alloc_zone_stat): New. + +2010-11-29 Joakim Tjernlund + + * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Check + TARGET_SINGLE_PIC_BASE for RS6000_PIC_OFFSET_TABLE_REGNUM. + (rs6000_emit_prologue): Don't set PIC register if + TARGET_SINGLE_PIC_BASE. + * config/rs6000/rs6000.opt (msingle-pic-base): New option. + * doc/invoke.texi (msingle-pic-base): Document. + +2010-11-29 H.J. Lu + + PR driver/46712 + * exec-tool.in (id): New. + Check and export LT_RCU_$id instead of LT_RCU. + +2010-11-29 Zdenek Dvorak + + PR tree-optimization/46675 + * tree-ssa-loop-niter.c (split_to_var_and_offset): Avoid overflow + in offset calculation. + +2010-11-29 Jan Hubicka + + * collect2.c (main): Do not imply verbose output with + LTO and linker plugin. + +2010-11-29 Dodji Seketeli + + * dwarf2out.c (print_die): Print the address of the current DIE or + of any DIE referenced by the current one. + +2010-11-29 Dodji Seketeli + + PR debug/46101 + * dwarf2out.c (lookup_type_die_strip_naming_typedef): New + function. + (scope_die_for, gen_type_die_for_member): Replace uses of + lookup_type_die with use of lookup_type_die_strip_naming_typedef. + +2010-11-29 Iain Sandoe + + * config/darwin.c (darwin_mergeable_string_section): Remove blank line. + (darwin_asm_declare_object_name): Correct spelling. + (darwin_output_aligned_bss): Likewise. + +2010-11-29 Iain Sandoe + Mike Stump + + PR target/26427 + PR target/33120 + PR testsuite/35710 + * config/i386/darwin.h (ASM_OUTPUT_COMMON): Remove + (ASM_OUTPUT_LOCAL): Likewise. + * config/darwin-protos.h (darwin_asm_declare_object_name): New. + (darwin_output_aligned_bss): Likewise. + (darwin_asm_output_aligned_decl_local): Likewise. + (darwin_asm_output_aligned_decl_common): Likewise. + (darwin_use_anchors_for_symbol_p): Likewise. + * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Remove. + (TARGET_ASM_OUTPUT_ANCHOR): Define. + (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define. + (DARWIN_SECTION_ANCHORS): Set to 1. + * config/darwin.c (emit_aligned_common): New var. + (darwin_init_sections): Check that the Darwin private zero-size section + marker is in range. + (darwin_text_section): Check for zero-sized objects. + (darwin_mergeable_string_section): Likewise. + (darwin_mergeable_constant_section): Likewise. + (machopic_select_section): Adjust to check for zero-sized objects. + Assert that OBJC meta data are non-zero sized. + (darwin_asm_declare_object_name): New. + (darwin_asm_declare_constant_name): Adjust for zero-sized + object sections. + (BYTES_ZFILL): Define. + (darwin_emit_weak_or_comdat): New. + (darwin_emit_local_bss): New. + (darwin_emit_common): New. + (darwin_output_aligned_bss): New. + (darwin_asm_output_aligned_decl_common): New. + (darwin_asm_output_aligned_decl_local): New. + (darwin_file_end): Disable subsections_via_symbols when section + anchoring is active. + (darwin_asm_output_anchor): Re-enable. + (darwin_use_anchors_for_symbol_p): New. + (darwin_override_options): Check for versions that can emit + aligned common. Update usage of flags to current. + * config/darwin-sections.def: Update comments and flags for + non-anchor sections. zobj_const_section, zobj_data_section, + zobj_bss_section, zobj_const_data_section: New. + * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Redefine. + (ASM_OUTPUT_ALIGN): Make whitespace output consistent. + (L2_MAX_OFILE_ALIGNMENT): Define. + (ASM_OUTPUT_ALIGNED_BSS): Define. + (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define. + (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define. + (SECTION_NO_ANCHOR): Define. + (TARGET_ASM_OUTPUT_ANCHOR) Define with a default of NULL. + (DARWIN_SECTION_ANCHORS): Define with a default of 0. + +2010-11-29 Joseph Myers + + * system.h: Include "safe-ctype.h" instead of . + Include , , and . + (O_BINARY, SIGCHLD, MAP_FAILED, MAP_ANONYMOUS, kill): + Conditionally define. + (GET_ENVIRONMENT): Poison. + * configure.ac: Don't test for mincore. + * configure: Regenerate. + * config.in: Regenerate. + * collect2-aix.c: Don't include . + * collect2.c: Don't include . + (SIGCHLD): Don't define. + (prefix_from_env): Use getenv instead of GET_ENVIRONMENT. + * config/alpha/alpha.c: Include "splay-tree.h" instead of + . + * config/arm/arm.c (arm_target_help): Use getenv instead of + GET_ENVIRONMENT. + * config/avr/driver-avr.c: Don't include . + * config/frv/frv.c: Don't include . + * config/host-darwin.c: Don't include . + * config/host-hpux.c: Don't include or . + (MAP_FAILED): Don't define. + * config/host-linux.c: Don't include or . + * config/host-solaris.c: Don't include . + * config/i386/cygming.h: Don't include . + * config/i386/driver-i386.c: Don't include . + * config/i386/host-cygwin.c: Don't include . + * config/iq2000/iq2000.c: Don't include . + * config/m32c/m32c-pragma.c: Don't include . + * config/m68hc11/m68hc11.c: Don't include . + * config/mep/mep-pragma.c: Don't include . + * config/microblaze/microblaze.c: Don't include . + * config/mips/mips.c: Don't include . + * config/rs6000/host-darwin.c: Don't include . + * cppdefault.c (cpp_relocated): Use getenv instead of GET_ENVIRONMENT. + * defaults.h (GET_ENVIRONMENT): Don't define. + * et-forest.h: Don't include or . + * gcc.c: Don't include , or . + (SIGCHLD, MAP_FAILED, kill): Don't define. + (process_command): Use getenv instead of GET_ENVIRONMENT. + * genhooks.c: Don't include . + * ggc-common.c: Don't include , or + . + (MAP_FAILED): Don't define. + * ggc-page.c Don't include . + (MAP_ANONYMOUS, MAP_FAILED): Don't define. + * ggc-zone.c: Don't include . + (MAP_ANONYMOUS, MAP_FAILED): Don't define. + * graph.c: Include "config.h" instead of . + * incpath.c (add_env_var_paths): Use getenv instead of GET_ENVIRONMENT. + * lto-wrapper.c: Don't include , or "libiberty.h". + (SIGCHLD, kill): Don't define. + * mips-tfile.c: Don't include . + * opts.c: Don't include or . + (print_specific_help): Use getenv instead of GET_ENVIRONMENT. + * passes.c: Don't include , or + . + * sparseset.h: Don't include . + * timevar.c: Don't include or . + * tlink.c: Don't include "libiberty.h". + * toplev.c: Don't include or . + * tree-mudflap.c: Include "demangle.h" instead of . + * tree-switch-conversion.c: Don't include . + * vmsdbgout.c: Don't include or . + +2010-11-29 Nicola Pero + + * c-parser.c (c_parser_objc_try_catch_statement): Renamed to + c_parser_objc_try_catch_finally_statement for consistency with the + C++ parser. Parse @catch(...) and pass NULL_TREE to + objc_begin_catch_clause() in that case. Improved error recovery. + Reorganized code to be almost identical to + cp_parser_objc_try_catch_finally_statement. + +2010-11-29 Joern Rennecke + + PR tree-optimization/46621 + * gimple.h: Don't include tm.h or hard-reg-set.h . + * Makefile.in (GIMPLE_H): Remove $(TM_H). + + PR bootstrap/44756 + * cppbuiltin.c: Include target.h . + (define_builtin_macros_for_type_sizes): + Use targetm.float_words_big_endian. + +2010-11-27 Jan Hubicka + + * dwarf2out.c (dwarf2out_begin_function): Set cold_text_section + and output cold_text_section_label. + (dwarf2out_init): Don't do that there. + (dwarf2out_finish): Handle cold section end label only if cold + section was used. + +2010-11-27 Eric Botcazou + + * tree-nested.c (remap_vla_decls): Fully expand value expressions of + VLA variables. + +2010-11-27 Richard Guenther + + * gimple.c (gimple_assign_copy_p): Use gimple_assign_single_p. + (gimple_assign_ssa_name_copy_p): Likewise. + (gimple_assign_unary_nop_p): Use is_gimple_assign. + (is_gimple_cast): Remove. + (gimple_assign_single_p): Move ... + * gimple.h (gimple_assign_single_p): ... here. + (is_gimple_cast): Remove. + (gimple_assign_rhs_code): Simplify. + * gimple-fold.c (gimple_fold_builtin): Use CONVERT_EXPR_P + instead of is_gimple_cast. + * ipa-type-escape.c (look_for_casts): Likewise. + +2010-11-26 Joseph Myers + + * doc/options.texi (Enum, EnumValue): Document new record types. + (Enum): Document new option flag. + * opt-functions.awk + * optc-gen.awk: Handle enumerated option arguments. + * opth-gen.awk: Handle enumerated option arguments. + * opts-common.c (enum_arg_ok_for_language, enum_arg_to_value, + enum_value_to_arg): New. + (decode_cmdline_option): Handle enumerated arguments. + (read_cmdline_option): Handle CL_ERR_ENUM_ARG. + (set_option, option_enabled, get_option_state): Handle CLVC_ENUM. + * opts.c (print_filtered_help, print_specific_help): Take + lang_mask arguments. + (print_filtered_help): Handle printing values of enumerated + options. Print possible arguments for enumerated options. + (print_specific_help): Update call to print_filtered_help. + (common_handle_option): Update calls to print_specific_help. Use + value rather than arg for OPT_fdiagnostics_show_location_. Don't + handle OPT_ffp_contract_, OPT_fexcess_precision_, + OPT_fvisibility_, OPT_ftls_model_, OPT_fira_algorithm_ or + OPT_fira_region_ here. + * opts.h (enum cl_var_type): Add CLVC_ENUM. + (struct cl_option): Add var_enum. + (CL_ENUM_CANONICAL, CL_ENUM_DRIVER_ONLY, struct cl_enum_arg, + struct cl_enum, cl_enums, cl_enums_count): New. + (CL_ERR_ENUM_ARG): Define. + (CL_ERR_NEGATIVE): Update value. + (enum_value_to_arg): Declare. + * common.opt (flag_ira_algorithm, flag_ira_region, + flag_fp_contract_mode, flag_excess_precision_cmdline, + default_visibility, flag_tls_default): Remove Variable entries. + (help_enum_printed): New Variable. + (fdiagnostics-show-location=): Use Enum. Add associated + SourceInclude, Enum and EnumValue entries. + (fexcess-precision=, ffp-contract=, fira-algorithm=, fira-region=, + ftls-model=, fvisibility=): Use Enum, Var and Init. Add + associated Enum and EnumValue entries. + +2010-11-26 Joern Rennecke + + PR target/46623 + * config/microblaze/microblaze.c (microblaze_block_move_straight): + Use XALLOCAVEC. + (microblaze_option_override): Don't use C++ style comments. + (save_restore_insns): Remove unused variable base_offset. + (microblaze_expand_prologue): Remove unused variable insn. + (microblaze_secondary_reload): Adjust type to match target.h . + (microblaze_elf_in_small_data_p): Move declarations to start of block. + (microblaze_expand_move): Likewise. + * config/microblaze/microblaze.h (LARGE_INT): + Avoid signed / unsigned comparisons. + (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Likewise. + (ASM_FORMAT_PRIVATE_NAME): Make format specifier match printed data. + (ASM_FINISH_DECLARE_OBJECT): Likewise. Constify name. + +2010-11-26 Michael Matz + + * tree-ssa-copy.c (fini_copy_prop): Don't DCE when we have loops. + + * passes.c (init_optimization_passes): Remove superfluous + copy-prop pass. + +2010-11-26 Richard Guenther + + PR lto/46648 + * gimple.c (gtc_visit): Do not return true for members of an + SCC still being processed but the current lattice value of + the member. Treat SCC members comparison state as lattice, + starting at equal, eventually dropping to unequal. + (gimple_types_compatible_p_1): Likewise. + +2010-11-26 Richard Guenther + + PR middle-end/46559 + * dwarf2out.c (dwarf2out_finish): Use comp_unit_die as root + for location list processing. + +2010-11-26 Richard Guenther + + PR lto/46560 + * cgraph.c (cgraph_clone_edge): Clone call_stmt dependent + flags manually. + +2010-11-26 Andreas Krebbel + + * config/s390/s390.c (print_operand_address): Replace assert with + error message. + (print_operand): Replace assertions, gcc_unreachable and + fatal_insn with error messages. + +2010-11-26 Richard Guenther + + PR tree-optimization/46665 + * tree-ssa-structalias.c (pt_solution_set_var): Use DECL_PT_UID. + +2010-11-26 Ian Bolton + + * config/arm/arm.c (arm_option_override): enable loop array + prefetching at -O3 for suitable targets, and configure params. + * config/arm/arm-protos.h (struct tune_params): Add fields for + configuring loop array prefetching. + +2010-11-26 Christian Borntraeger + + * config/s390/2817.md (z196_crack): Add z196_g3 as possible slot. + +2010-11-26 Richard Guenther + + PR tree-optimization/46664 + * tree-affine.c (aff_combination_to_tree): Add rest last. + +2010-11-26 Michael Haubenwallner + + PR target/33637 + * configure.ac: Accept extra arguments for AS_FOR_TARGET, + LD_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET. + * configure: Regenerated. + * exec-tool.in: Not quoting command, may have extra arguments. + +2010-11-26 Richard Guenther + + PR tree-optimization/46528 + PR debug/46338 + * profile.c (branch_prob): Do not split blocks based on locations + from debug statements. + +2010-11-26 Jakub Jelinek + + PR middle-end/46647 + * builtins.c (fold_builtin_memset): Check c is INTEGER_CST instead + of host_integerp check. Use TREE_INT_CST_LOW instead of tree_low_cst. + + PR bootstrap/45700 + * tree.h (build1_stat_loc, build2_stat_loc, build3_stat_loc, + build4_stat_loc, build5_stat_loc, build6_stat_loc): New inlines. + (build1_loc, build2_loc, build3_loc, build4_loc, build5_loc, + build6_loc): Define. + * fold-const.c (protected_set_expr_location_unshare): New inline. + (fold_convert_loc, pedantic_non_lvalue_loc): Use it. + (negate_expr, associate_trees, non_lvalue_loc, omit_one_operand_loc, + pedantic_omit_one_operand_loc, omit_two_operands_loc, + fold_truth_not_expr, invert_truthvalue_loc, make_bit_field_ref, + optimize_bit_field_compare, make_range, fold_range_test, fold_truthop, + build_fold_addr_expr_with_type_loc, fold_unary_loc, fold_binary_loc, + fold_indirect_ref_1, build_fold_indirect_ref_loc): Use builN_loc + instead of buildN followed by SET_EXPR_LOCATION or + protected_set_expr_location. + (fold_build1_stat_loc, fold_build2_stat_loc, fold_build3_stat_loc): + Use buildN_stat_loc instead of buildN_stat followed by + SET_EXPR_LOCATION. + +2010-11-26 Basile Starynkevitch + + * Makefile.in (s-tm-texi): Remove spurous tab. + +2010-11-26 Alexandre Oliva + + PR debug/46258 + * tree-cfg.c (replace_uses_by): Don't mark BBs as altered on + debug stmts. + +2010-11-26 Alexandre Oliva + + * toplev.c (finalize): Add no_backend parameter. Don't finish + passes when preprocessing only. Adjust... + (do_compile): ... caller. + +2010-11-25 John David Anglin + + * config/pa/pa.md (negdf2): Condition on !flag_signed_zeros instead of + flag_unsafe_math_optimizations. + (negsf2): Likewise. + Move fnegabs related patterns together. Only use fmpynfadd instruction + to negate a multiply if !flag_signed_zeros is true. + +2010-11-25 Uros Bizjak + + * gengtype-state.c (read_state_structures): Initialize "previous". + +2010-11-25 Basile Starynkevitch + Jeremie Salvucci + + * gengtype-state.c: Add new file. + + * gengtype.c (type count): New variable. + (new_structure, find_param_structure, create_pointer) + (create_array): Use it to set state_number in types. + (dump_everything): Improve comment. + (main): Call read_state and write_state. Print type_count. + + * gengtype.h (type_lineloc): New function. + (read_state, write_state): New declarations. + + * Makefile.in (GENGTYPE_FLAGS): New variable. + (s-gtype): Run gengtype twice and generate gtype.state. + (build/gengtype-state.o): New rule. + (build/gengtype$(build_exeext)): Link gengtype-state.o. + (mostlyclean): Update comment. Remove gtype.state. + +2010-11-25 Jakub Jelinek + + PR middle-end/46637 + * combine.c (try_combine): When substing i2dest for i2src, pass + 1 as last argument even if + i0_feeds_i1_n && i1_feeds_i2_n && i0dest_in_i0src. + +2010-11-25 H.J. Lu + + PR middle-end/46647 + * builtins.c (target_char_cast): Check INTEGER_CST instead of + host_integerp. Replace tree_low_cst with TREE_INT_CST_LOW. + +2010-11-25 Joseph Myers + + * target.def (supports_split_stack, except_unwind_info): Take + gcc_options parameters. + * targhooks.c (default_except_unwind_info, + dwarf2_except_unwind_info, sjlj_except_unwind_info): Take + gcc_options parameters. + * targhooks.h (default_except_unwind_info, + dwarf2_except_unwind_info, sjlj_except_unwind_info): Update + prototypes. + * doc/tm.texi.in (TARGET_IRA_COVER_CLASSES, + TARGET_HAVE_NAMED_SECTIONS, TARGET_UNWIND_TABLES_DEFAULT): + Document that hooks must not be modified. + (TARGET_EXCEPT_UNWIND_INFO): Refer to opts argument. + * doc/tm.texi: Regenerate. + * defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Pass + &global_options to targetm.except_unwind_info. + * dwarf2out.c (dwarf2out_do_frame, dwarf2out_do_cfi_asm, + dwarf2out_begin_prologue, dwarf2out_frame_init, + dwarf2out_frame_finish, dwarf2out_assembly_start): Pass + &global_options to targetm.except_unwind_info. + * except.c (init_eh, finish_eh_generation, + gate_convert_to_eh_region_ranges, + output_one_function_exception_table): Pass &global_options to + targetm.except_unwind_info. + * expr.c (build_personality_function): Pass &global_options to + targetm.except_unwind_info. + * function.c (expand_function_end): Pass &global_options to + targetm.except_unwind_info. + * hooks.c (hook_bool_bool_gcc_optionsp_false): New. + * hooks.h (hook_bool_bool_gcc_optionsp_false): Declare. + * opts.c (finish_options): Pass opts to targetm.except_unwind_info + and targetm.supports_split_stack. Remove assertions about opts + and opts_set. + (common_handle_option): Remove assertions about opts, opts_set and dc. + * tree-tailcall.c (suitable_for_tail_call_opt_p): Pass + &global_options to targetm.except_unwind_info. + * tree.c (build_common_builtin_nodes: Pass &global_options to + targetm.except_unwind_info. + * config/arm/arm.c (arm_except_unwind_info): Add gcc_options parameter. + (arm_compute_func_type, arm_expand_prologue, thumb_pushpop, + thumb1_expand_prologue, thumb1_output_function_prologue, + arm_unwind_emit, arm_output_fn_unwind): Update calls to + arm_except_unwind_info. + * config/i386/i386.c (ix86_supports_split_stack): Add gcc_options + parameter. + * config/ia64/ia64.c (ia64_except_unwind_info): Add gcc_options + parameter. + (ia64_output_function_prologue, ia64_add_bundle_selector_before, + ia64_reorg, ia64_asm_unwind_emit): Update calls to + ia64_except_unwind_info. + * config/pa/pa.c (pa_option_override): Pass &global_options to + targetm.except_unwind_info. + * config/picochip/picochip-protos.h (picochip_except_unwind_info): + Remove prototype. + +2010-11-25 Kai Tietz + + * cgraphunit.c (process_function_and_variable_attributes): + Mark dllexport-ed function/variables as needed. + * ipa.c (cgraph_externally_visible_p): Make dllexport-ed + as externally visible. + +2010-11-25 Alexander Monakov + + PR rtl-optimization/46585 + * sel-sched-ir.c (return_regset_to_pool): Verify that RS is not NULL. + (vinsn_init): Skip computation of dependencies for local NOPs. + (vinsn_delete): Don't try to free regsets for local NOPs. + (setup_nop_and_exit_insns): Change definition of nop_pattern. + +2010-11-25 Alexander Monakov + + PR rtl-optimization/46602 + * sel-sched-ir.c (maybe_tidy_empty_bb): Move checking ... + (tidy_control_flow): Here. + +2010-11-25 Joern Rennecke + Ralf Wildenhues + + PR bootstrap/45888 + * Makefile.in (s-tm-texi): Remove \r occurences from tmp-tm.texi. + Fix target.def pathname in timestamp comparison. + +2010-11-24 Richard Henderson + + * config/ia64/predicates.md (pmpyshr_operand): New. + * config/ia64/ia64.c (ia64_expand_unpack): New. + (ia64_expand_widen_mul_v4hi): New. + (ia64_expand_widen_sum): Update for pattern renames. + (ia64_expand_dot_prod_v8qi): Likewise. + * config/ia64/ia64-protos.h: Update. + * config/ia64/vect.md (vecwider): New mode attribute. + (vec_widen_umult_lo_v8qi, vec_widen_umult_hi_v8qi): New. + (vec_widen_smult_lo_v8qi, vec_widen_smult_hi_v8qi): New. + (pmpyshr2, pmpyshr2_u): New. + (vec_widen_smult_lo_v4hi, vec_widen_smult_hi_v4hi): New. + (vec_widen_umult_lo_v4hi, vec_widen_umult_hi_v4hi): New. + (mulv2si3): New. + (vec_pack_ssat_v4hi): Rename from pack2_sss. + (vec_pack_usat_v4hi): Rename from *pack2_uss. + (vec_pack_ssat_v2si): Rename from pack4_sss. + (vec_interleave_lowv8qi): Rename from unpack1_l, use the correct + vec_select operation. + (vec_interleave_highv8qi): Similarly. + (mux1_alt): Rename from *mux1_alt. + (vec_extract_evenv8qi, vec_extract_oddv8qi): New. + (vec_interleave_lowv4hi): Rename from unpack2_l. + (vec_interleave_highv4hi): Rename from unpack2_h. + (mix2_r): Rename from *mix2_r. + (mix2_l): Similarly. + (vec_extract_evenodd_helper): New. + (vec_extract_evenv4hi, vec_extract_oddv4hi): New. + (vec_interleave_lowv2si): Rename from *unpack4_l. + (vec_interleave_highv2si): Rename from *unpack4_h. + (vec_extract_evenv2si, vec_extract_oddv2si): New. + (vec_interleave_lowv2sf): Rename from fmix_r. + (vec_interleave_highv2sf): Rename from *fmix_l. + (vec_extract_evenv2sf, vec_extract_oddv2sf): New. + (vec_unpacku_lo_, vec_unpacku_hi_): New. + (vec_unpacks_lo_, vec_unpacks_hi_): New. + (vec_pack_trunc_v4hi, vec_pack_trunc_v2si): New. + +2010-11-24 Nathan Froyd + + * targhooks.c (default_except_unwind_info): Remove + MUST_USE_SJLJ_EXCEPTIONS case. + * config/h8300/h8300.h (MUST_USE_SJLJ_EXCEPTIONS): Delete. + * config/h8300/h8300.c (TARGET_EXCEPT_UNWIND_INFO): Define. + * doc/tm.texi.in (MUST_USE_SJLJ_EXCEPTIONS): Delete. + * doc/tm.texi: Regenerate. + * system.h (MUST_USE_SJLJ_EXCEPTIONS): Poison. + +2010-11-24 Nathan Froyd + + * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define + __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN. + * config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete. + * doc/cpp.texi (__FLOAT_WORD_ORDER__): Document. + * system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison. + +2010-11-24 H.J. Lu + + PR target/46519 + * config/i386/i386.c (ix86_expand_call): Don't check + TREE_THIS_VOLATILE. + +2010-11-24 H.J. Lu + + PR target/46519 + * config/i386/i386.c (upper_128bits_state): New. + (block_info_def): Remove upper_128bits_set and done. Add state, + referenced, count, processed and rescanned. + (check_avx256_stores): Updated. + (move_or_delete_vzeroupper_2): Updated. Handle deleted BB_END. + Call note_stores only if needed. Set referenced and count. + (move_or_delete_vzeroupper_1): Updated. Set rescan_vzeroupper_p. + (rescan_move_or_delete_vzeroupper): New. + (move_or_delete_vzeroupper): Process and rescan all all basic + blocks instead of predecessor blocks of all exit points. + (ix86_option_override_internal): Enable vzeroupper optimization + only for -fexpensive-optimizations and not optimizing for size. + (use_avx256_p): Removed. + (init_cumulative_args): Don't set use_avx256_p. + (ix86_function_arg): Likewise. + (ix86_expand_move): Likewise. + (ix86_expand_vector_move_misalign): Likewise. + (ix86_local_alignment): Likewise. + (ix86_minimum_alignment): Likewise. + (ix86_expand_epilogue): Don't check use_avx256_p when generating + vzeroupper. + (ix86_expand_call): Likewise. + + * config/i386/i386.h (machine_function): Remove use_vzeroupper_p + and use_avx256_p. Add rescan_vzeroupper_p. + +2010-11-24 Joseph Myers + + * toplev.c: Include . + +2010-11-24 Richard Guenther + + PR lto/43218 + * lto-symtab.c (lto_cgraph_replace_node): Mark edges with + conflicting function signatures as non-inlineable. + +2010-11-24 Jakub Jelinek + + PR rtl-optimization/46614 + * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP_P): Define. + (deps_analyze_insn): Mark JUMP_INSNs in + last_pending_memory_flush that weren't added through + flush_pending_lists with NON_FLUSH_JUMP_KIND. + (sched_analyze_2, sched_analyze_insn): Check NON_FLUSH_JUMP_P + on INSN_LIST instead of JUMP_P check on its operand. + * sched-rgn.c (concat_INSN_LIST): Copy over REG_NOTE_KIND. + +2010-11-24 Richard Guenther + + * lto-streamer-in.c (input_gimple_stmt): Use types_compatible_p. + +2010-11-24 Richard Guenther + + PR lto/46606 + * lto-streamer-in.c (input_gimple_stmt): When we cannot find + a FIELD_DECL that is type correct issue a warning and fixup + with a VIEW_CONVERT_EXPR. + +2010-11-24 Basile Starynkevitch + + * doc/invoke.texi (Options for Debugging Your Program or GCC): + Explain static numbering of dump files. + +2010-11-24 Joseph Myers + + * common.opt (user_vect_verbosity_level): New Variable entry. + (ftree-vectorizer-verbose=): Mark as UInteger. + * flag-types.h (enum vect_verbosity_levels): Move from enum + verbosity_levels in tree-vectorizer.h. + * opts.c: Don't include tree.h. + (vect_set_verbosity_level): Move from tree-vectorizer.c. Use + gcc_options parameter; take integer option argument. + (common_handle_option): Update call to vect_set_verbosity_level. + * tree-vectorizer.c (user_vect_verbosity_level): Remove. + (vect_set_verbosity_level): Move to opts.c. + (vect_verbosity_level, vect_print_dump_info): Update for change of + enum name. + * tree-vectorizer.h (enum verbosity_levels): Move to flag-types.h. + (vect_print_dump_info): Update for change of enum name. + * tree.h (vect_set_verbosity_level): Remove. + * Makefile.in (opts.o): Update dependencies. + +2010-11-24 Jakub Jelinek + + PR middle-end/46629 + * cfgexpand.c (maybe_cleanup_end_of_block): Test NEXT_INSN (insn) + instead of insn with any_condjump_p. + +2010-11-24 Mingjie Xing + + * config/mips/loongson.md: Change the description comment of the file + and update the copyright years. + (define_insn "div3): Add loongson3a support. + (define_insn "mod3"): Likewise. + * config/mips/mips.md: Rename mul3_mul3_ls2ef to + mul3_mul3_loongson. + (define_expand "mul3"): Add TARGET_LOONGSON_3A. + (define_insn "mul3_mul3_loongson"): Add loongson3a support. + +2010-11-23 Joseph Myers + + * common.opt (initial_max_fld_align, flag_debug_asm, + flag_dump_rtl_in_asm, flag_dump_all_passed, rtl_dump_and_exit, + flag_print_asm_name, graph_dump_format, help_printed, + help_columns, flag_opts_finished): New Variable entries. + (fdbg-cnt-list, fdbg-cnt=, fdebug-prefix-map=, frandom-seed, + frandom-seed=): Mark deferred. + (fsched-verbose=): Use UInteger and Var. + * flags.h (set_struct_debug_option, flag_print_asm_name, + rtl_dump_and_exit, flag_debug_asm, flag_dump_rtl_in_asm, + graph_dump_format): Don't declare here. + * haifa-sched.c (sched_verbose_param, fix_sched_param): Remove. + * opts-global.c: Include dbgcnt.h and debug.h. + (decode_options): Pass location to finish_options. + (handle_common_deferred_options): Check flag_dump_all_passed. + Handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list, OPT_fdebug_prefix_map_, + OPT_frandom_seed and OPT_frandom_seed_. Don't assert on + OPT_fstack_limit. + * opts.c: Don't include toplev.h, dbgcnt.h or debug.h. + (set_struct_debug_option): Add location_t parameter. Update + recursive call. Use error_at. + (default_options_optimization): Use error_at. + (finish_options): Add location_t parameter. Use + opts->x_flag_opts_finished instead of first_time_p. Use + opts->x_optimize instead of optimize. Use error_at. Pass + location to inform. + (print_filtered_help): Use opts->x_help_printed to track what + options have been printed. + (print_specific_help): Use opts->x_help_columns to track number of + columns. + (common_handle_option): Pass locations and gcc_options pointers to + more functions. Use warning_at instead of fnotice and warning. + Don't handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list or + OPT_fdebug_prefix_map_. Use error_at. Set + opts->x_initial_max_fld_align; don't set maximum_field_alignment. + Don't handle OPT_frandom_seed or OPT_frandom_seed_. Don't handle + OPT_fsched_verbose_. + (handle_param): Add location_r parameter. Use error_at. + (set_debug_level): Add location_r parameter. Use error_at and + warning_at. + (setup_core_dumping): Add diagnostic_context parameter. + (decode_d_option): Add gcc_options, location_t and + diagnostic_context parameters and use them instead of global + state. Use warning_at. + (enable_warning_as_error): Use error_at. + * opts.h (finish_options): Update prototype. + (set_struct_debug_option): Declare here. + * rtl.h (fix_sched_param): Remove. + * stor-layout.c (initial_max_fld_align): Remove. + * toplev.c (rtl_dump_and_exit, flag_print_asm_name, + graph_dump_format, flag_debug_asm, flag_dump_rtl_in_asm): Remove. + (process_options): Set maximum_field_alignment. + * tree.h (initial_max_fld_align) Don't declare here. + * Makefile.in (opts.o, opts-global.o): Update dependencies. + +2010-11-23 Joseph Myers + + * flag-types.h (struct visibility_flags): Don't declare here. + * flags.h (strip_off_ending, fast_math_flags_set_p, + fast_math_flags_struct_set_p): Declare here. + (visibility_options): Don't declare here. + * opts-common.c (option_enabled, get_option_state): Move from + opts.c. + * opts-global.c: Include diagnostic.h instead of + diagnostic-core.h. Include tree.h, langhooks.h, lto-streamer.h + and toplev.h. + (const_char_p, ignored_options, in_fnames, num_in_fnames, + write_langs, complain_wrong_lang, postpone_unknown_option_warning, + print_ignored_options, unknown_option_callback, + post_handling_callback, lang_handle_option, add_input_filename, + read_cmdline_options, initial_lang_mask, init_options_once, + decode_cmdline_options_to_array_default_mask, + set_default_handlers, decode_options): Move from opts.c. + (print_ignored_options): Use warning_at instead of saving and + restoring input_location. + * opts.c: Include and . Include rtl.h + instead of expr.h. Don't include langhooks.h, except.h or + lto-streamer.h. Add more comments on includes. + (strip_off_ending, setup_core_dumping, decode_d_option): Move from + toplev.c. + (visibility_options): Move to c-family/c-common.c. + (const_char_p, ignored_options, in_fnames, num_in_fnames, + write_langs, complain_wrong_lang, postpone_unknown_option_warning, + print_ignored_options, unknown_option_callback, + post_handling_callback, lang_handle_option, add_input_filename, + read_cmdline_options, initial_lang_mask, init_options_once, + decode_cmdline_options_to_array_default_mask, + set_default_handlers, decode_options): Move to opts-global.c. + (target_handle_option, default_options_optimization, + finish_options, common_handle_option): Remove static. + (option_enabled, get_option_state): Move to opts-common.c. + * opts.h (common_handle_option, target_handle_option, + finish_options, default_options_optimization): Declare. + * toplev.c: Don't include or . + (setup_core_dumping, strip_off_ending, decode_d_option): Move to + opts.c. + * toplev.h (strip_off_ending, decode_d_option, + fast_math_flags_set_p, fast_math_flags_struct_set_p): Don't + declare here. + * Makefile.in (opts.o, opts-global.o): Update dependencies. + +2010-11-23 Dave Korn + + PR driver/42690 + * gcc.c (LINK_COMMAND_SPEC): Remove hard-coded pass-through plugin + options, replace by call of pass-through-libs spec function to process + link_gcc_c_sequence spec. + (lto_libgcc_spec): Delete variable. + (static_specs[]): Remove related entry. + (static_spec_functions[]): Add new entry for pass-through-libs. + (main): Don't generate deleted lto_libgcc_spec. + (pass_through_libs_spec_func): New function to implement the new + pass-through-libs spec function. + * doc/invoke.texi (pass-through-libs): Document new spec function. + +2010-11-23 Joseph Myers + + * doc/options.texi (Warning, Optimization): Document. + +2010-11-23 Jan Hubicka + + * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro. + (tree_decl_with_vis): Add implicit_section_name_p. + * targhooks.h (default_function_section): Declare. + * target.def (function_section): New hook. + * defaults.h (HOT_TEXT_SECTION_NAME, + UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove. + * predict.c (choose_function_section): Remove. + (estimate_bb_frequencies): Do not use choose_function_section. + * coretypes.h (enum node_frequency): Move here from cgraph.h + * cgraph.h (enum node_frequency): Remove. + * varasm.c (initialize_cold_section_name, unlikely_text_section, + unlikely_text_section_p): Remove. + (named_subsection_entry): New structure. + (get_text_section): New function. + (default_function_section): New function. + (function_section_1): Break out from ...; handle profile info. + (function_section): ... here. + (unlikely_text_section): Remove. + (unlikely_text_section_p): Use function_section_1. + (assemble_start_function): Do not initialize cold section. + (default_section_type_flags): Do not special case cold subsection. + (switch_to_section): Likewise. + * output.h (get_text_section): Define. + * config/i386/winnt.c: Do not special case cold section. + * config/darwin-protos.h (darwin_function_section): Declare. + * config/microblaze/microblaze.h (HOT_TEXT_SECTION_NAME, + UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove. + * config/ia64/hpux.h (HOT_TEXT_SECTION_NAME, + UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove. + (TARGET_ASM_FUNCTION_SECTION): Define to ia64_hpux_function_section. + * config/ia64/ia64.c (ia64_hpux_function_section): New function. + * config/darwin.c (machopic_select_section): Use + darwin_function_section. + (darwin_function_section): New function. + * config/darwin.h (HOT_TEXT_SECTION_NAME, + UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove. + (TARGET_ASM_FUNCTION_SECTION): Define. + * system.h (HOT_TEXT_SECTION_NAME, + UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Poison. + +2010-11-23 Iain Sandoe + + * config/darwin.h (LINK_COMMAND_SPEC_A): Use %(link_gcc_c_sequence). + LINK_GCC_C_SEQUENCE_SPEC: Define new macro. + +2010-11-23 Jakub Jelinek + + PR middle-end/46499 + * cfgexpand.c (maybe_cleanup_end_of_block): Remove also BARRIERs + following unconditional jumps. + +2010-11-23 Richard Guenther + + * doc/md.texi (386 constraints): Clarify A constraint documentation. + +2010-11-23 Basile Starynkevitch + Jeremie Salvucci + + * gengtype.c (enum typekind, struct options) + (struct nested_ptr_data, struct pair, NUM_PARAM) + (enum gc_used_num, struct type, UNION_P, UNION_OR_STRUCT_P): + Move to gengtype.h. + (string_type, scalar_nonchar, scalar_nonchar, scalar_char): + Remove static, add zero state_number. + (typedefs, structures, param_structs, variables): Remove static. + (create_option): Remove. + (create_string_option, create_type_option, create_nested_option): + New functions. + (create_nested_ptr_option): Use create_nested_option. + (note_variable, adjust_field_rtx_def, adjust_field_type): Call the + new create*option functions. + (process_gc_options): Adjust for discriminated option. + (output_mangled_typename): Handle TYPE_NONE. + (walk_type): Test option kinds. + (write_types_process_field): Handle TYPE_NONE and TYPE_ARRAY. + (write_func_for_structure, write_type, write_local, write_root) + (write_roots, note_def_vec, dump_options): Adjust for + discriminated option. + + * gengtype.h (typedefs, structures, param_structs, variables + enum typekind): Move from gengtype.c + (enum option_kind): New discriminating enumeration. + (struct options): Becomes discriminated. + (struct nested_ptr_data): Nove from gengtype.c + (create_string_option, create_type_option, create_nested_option) + (create_nested_ptr_option): New functions + (struct pair, enum_gc_used_enum, NUM_PARAM, struct type, UNION_P) + (UNION_OR_STRUCT_P): Move from gengtype.c + + * gengtype-parse.c (str_optvalue_opt, type_optvalue, option): Make + discriminated options. + +2010-11-23 Richard Guenther + + * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid doing work + twice. Avoid re-allocating the ops vector all the time. + +2010-11-23 Richard Guenther + + * tree-ssa-alias.c (refs_may_alias_p_1): Avoid calls to + is_gimple_min_invariant, group tree code checks to allow + combining them. + (stmt_may_clobber_ref_p_1): Check for SSA_NAME instead + of is_gimple_reg. + +2010-11-23 Eric Botcazou + + * config.gcc (sparc*-*-*): Reorder. + +2010-11-23 Basile Starynkevitch + + * gengtype.c (header_dot_h_frul, source_dot_c_frul): + Remove ENABLE_CHECKING around DBGPRINTF. + +2010-11-22 Joseph Myers + + * common.opt (exit_after_options, write_symbols, debug_info_level, + use_gnu_debug_info_extensions): New Variable entries. + (fprofile-dir=): Use Var. + * flag-types.h (enum debug_info_level): Rename to enum + debug_info_levels. + * flags.h (write_symbols, debug_info_level, + use_gnu_debug_info_extensions): Remove declarations. + * opts.c (exit_after_options, write_symbols, debug_info_level): Remove. + (set_struct_debug_option): Make static variables const. + (use_gnu_debug_info_extensions): Remove. + (set_debug_level, print_filtered_help, print_specific_help, + fast_math_flags_set_p): Take gcc_options parameters and use them + in place of global variables. + (print_filtered_help): Make new_help non-static. + (print_specific_help): Update call to print_filtered_help. + (common_handle_option): Update calls to print_specific_help. Use + gcc_options structure for more settings. Make --help table + const. Don't handle OPT_fprofile_dir_ here. Update calls to + set_debug_level. + * toplev.c (profile_data_prefix): Remove. + * toplev.h (profile_data_prefix, exit_after_options): Remove + declarations. + (fast_math_flags_set_p): Update prototype. + * cppbuiltin.c (define_builtin_macros_for_compilation_flags): + Update call to fast_math_flags_set_p. + +2010-11-22 Richard Henderson + + PR target/46434 + * config/crx/crx.c (crx_addr_reg): Rename from crx_addr_reg_p; + return the address register extracted. + (crx_decompose_address): Update the extracted address register. + +2010-11-22 Dmitry Gorbachev + + PR driver/43335 + * gcc.c (main): Don't crash when lto-wrapper program is not found. + +2010-11-22 Joern Rennecke + + PR target/46608 + * config/picochip/picochip.c (picochip_secondary_reload): Make static. + * config/picochip/picochip-protos.h: Don't include "target.h" . + (picochip_secondary_reload): Don't declare. + + PR target/46613 + * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Declare. + * config/m32c/m32c.c (m32c_conditional_register_usage): No longer + static. + +2010-11-22 H.J. Lu + + PR bootstrap/46609 + * gengtype.c (header_dot_h_frul): Check ENABLE_CHECKING. + (source_dot_c_frul): Likewise. + +2010-11-22 Basile Starynkevitch + + * gimple-pretty-print.c (dump_bb_header): Add check for cfun. + +2010-11-22 Paolo Bonzini PR bootstrap/44970 * Makefile.in (fwprop.o) Add sparseset.h. @@ -20,7 +1076,7 @@ no collection_rec is passed. (df_ref_record): Do not create multiword hard reg info when no collection_rec is passed. - (df_uses_create): New. + (df_uses_create): New. 2010-11-21 Uros Bizjak @@ -2172,6 +3228,7 @@ 2010-11-10 Eric Botcazou + PR target/45986 * config/sparc/sparc.c (sparc_delegitimize_address): New function. (TARGET_DELEGITIMIZE_ADDRESS): Define to above. @@ -23307,7 +24364,7 @@ (ggc_common.o, ggc-page.o, ggc-zone.o, stringpool.o): Add $(GGC_INTERNAL_H) to dependencies. - * gentype.c: Update copyright year. + * gengtype.c: Update copyright year. (walk_type): Accept variable_size GTY option. (USED_BY_TYPED_GC_P): New macro. (write_enum_defn): Use USED_BY_TYPED_GC_P. Do not output