+2009-10-14 Nick Clifton <nickc@redhat.com>
+
+ * gcc/doc/extended.texi: Replace the dash character with
+ @minus{} in situations where it is being used as a minus
+ symbol.
+ * gcc/doc/tm.texi: Likewise.
+ * gcc/doc/md.texi: Likewise.
+
+2009-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/41543
+ * input.h (BUILTINS_LOCATION): Change to 1 from 2.
+ Assert BUILTINS_LOCATION < RESERVED_LOCATION_COUNT.
+ * tree.c: Include intl.h.
+ (expand_location): Handle BUILTINS_LOCATION.
+ * Makefile.in (tree.o): Depend on intl.h.
+
+ PR debug/41695
+ * dwarf2out.c (dwarf2out_var_location): Always clear
+ last_postcall_label when changing last_label.
+
+2009-10-14 Pascal Obry <obry@adacore.com>
+
+ * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Add -E.
+ (process_command): Handle -E as done with -c and -S. Do not add
+ the target executable suffix to the output file when -E is used.
+ (main): Adjust error message accordingly.
+
+2009-10-14 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/41343
+ PR debug/41447
+ PR debug/41264
+ PR debug/41338
+ * tree.c (tree_node_structure_for_code): DEBUG_EXPR_DECL uses
+ decl with rtl.
+ (tree_code_size): Likewise.
+
+2009-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (fold_builtin_1): Support complex "arc" functions.
+ * real.h (HAVE_mpc_arc): Define.
+
+2009-10-14 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (TARGET_BUILTIN_DECL): Define.
+ (struct builtin_description): Add fndecl field.
+ (bdesc): Remove const qualifier. Update initializer.
+ (sh_media_init_builtins): Remove const qualifier for d. Record
+ the result of add_builtin_function to the fndecl field.
+ (sh_builtin_decl): New.
+ (sh_media_builtin_decl): New.
+
+2009-10-14 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/38948
+ * config/cris/cris.h (SECONDARY_RELOAD_CLASS): Handle reload
+ requests between special registers.
+
+2009-10-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (mem_loc_descriptor): Accept UNGT as well.
+
+2009-10-13 Richard Henderson <rth@redhat.com>
+
+ PR tree-optimization/41377
+ * tree-eh.c (unsplit_eh): Propagate degenerate PHIs.
+ (cleanup_empty_eh_merge_phis): New change_region parameter;
+ pass it on to redirect_eh_edge_1. Update callers.
+ (cleanup_empty_eh_unsplit): Don't require an existing EH label
+ at the destination block.
+
+2009-10-13 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * passes.c (register_pass): Replaced gcc_unreachable by
+ fatal_error on failure. Mentions plugins in comments & messages.
+
+2009-10-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/41693
+ * rtl.h (DEBUG_EXPR_TREE_DECL): Define.
+ * sched-vis.c (print_value): Use it.
+ * cselib.c (cselib_hash_rtx): Likewise.
+ * print-rtl.c (print_rtx): Likewise.
+ * cfgexpand.c (expand_debug_rtx): Likewise.
+ * var-tracking.c (vt_expand_loc_callback): Likewise.
+
+2009-10-13 Richard Guenther <rguenther@suse.de>
+
+ PR lto/41565
+ * opts.c (handle_option): Split out code to handle setting
+ the options flag var ...
+ (set_option): ... here.
+ * opts.h (set_option): Declare.
+ * lto-opts.c (register_user_option_p): Include -fexceptions
+ and all position independent code variants.
+ (handle_common_option): Remove.
+ (lto_reissue_options): Use set_option.
+
+2009-10-13 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/41661
+ * ipa-prop.c (compute_complex_pass_through): Allow only operations
+ that are tcc_comparisons or do not change the type in any
+ un-usleless way.
+ * ipa-cp.c (ipcp_lattice_from_jfunc): Request boolean type when
+ folding tcc_comparison operations.
+
+2009-10-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_encode_section_info): Handle BLKmode
+ properly.
+
+2009-10-12 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/41343
+ PR debug/41447
+ PR debug/41264
+ PR debug/41338
+ * tree.def (DEBUG_EXPR_DECL): New.
+ * rtl.def (DEBUG_EXPR): New.
+ * gengtype.c (adjust_field_rtx_def): Handle it.
+ * tree-ssa.c (propagate_var_def_into_debug_stmts): Rename to...
+ (insert_debug_temp_for_var_def): ... this. Drop support for
+ moving. Take iterator for def stmt; insert debug stmt before it.
+ Scan early for use count and kind in debug stmts.
+ (propagate_defs_into_debug_stmts): Rename to...
+ (insert_debug_temps_for_defs): ... this. Likewise.
+ * tree.h (DEBUG_TEMP_UID): New.
+ * tree.c (next_debug_decl_uid): New.
+ (make_node_stat): Count debug decls separately.
+ (copy_node_stat): Likewise.
+ * cfgexpand.c (expand_debug_expr): Handle DEBUG_EXPR_DECL.
+ * var-tracking.c (dv_is_decl_p): Recognize it.
+ (VALUE_RECURSED_INTO): Apply to DEBUG_EXPRs too.
+ (track_expr_p): Track expanded DEBUG_EXPR_DECLs.
+ (vt_expand_loc_callback): Expand DEBUG_EXPRs.
+ (emit_note_insn_var_location): Don't emit notes for DEBUG_EXPR_DECLs.
+ * cselib.c (rtx_equal_for_cselib_p): Handle DEBUG_EXPR.
+ (cselib_hash_rtx): Likewise.
+ (cselib_expand_value_rtx_1): Use callback for DEBUG_EXPR.
+ * tree-ssa-operands.c (get_expr_operands): Skip DEBUG_EXPR_DECLs in
+ debug bind stmts.
+ * emit-rtl.c (verify_rtx_sharing): Handle DEBUG_EXPR and VALUE.
+ (copy_rtx_if_shared_1, reset_used_flags, set_used_flags): Likewise.
+ * rtl.c (copy_rtx): Likewise.
+ (rtx_equal_p_cb, rtx_equal_p): Handle DEBUG_EXPR.
+ * print-rtl.c (print_rtx): Likewise.
+ * sched-vis.c (print_value): Likewise.
+ (print_insn): Handle DEBUG_EXPR_DECL.
+ * tree-dump.c (dequeue_and_dump): Likewise.
+ * tree-pretty-print.c (dump_decl_name, dump_generic_node): Likewise.
+ * gimple-iterator (gsi_replace): Check for same lhs.
+ (gsi_remove): Insert debug temps.
+ * tree-ssa-loop-im.c (rewrite_reciprocal): Replace with same lhs.
+ (move_computations_stmt): Drop explicit propagation into debug stmts.
+ (rewrite_bittest): Likewise. Use gsi_remove for propagation.
+ * tree-ssa-reassoc.c (rewrite_expr_tree, linearize_expr): Likewise.
+ * tree-ssa-sink.c (statement_sink_location): Likewise.
+ * tree-ssa-forwprop (forward_propagate_addr_expr): Likewise.
+ * tree-ssanames.c (release_ssa_name): Adjust for rename.
+ * tree-flow.h: Likewise.
+ * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Don't mark
+ debug temps without values.
+ (eliminate_unnecessary_stmts): Don't discard just-inserted
+ debug stmts.
+
+2009-10-12 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/26515
+ * config/cris/cris.md (andu): Check that operand 1 is one of the
+ general registers. Fix typo in head comment.
+
+2009-10-12 Stefan Dösinger <stefan@codeweavers.com>
+
+ * config/i386/i386.md (vswapmov): New.
+ * config/i386/i386.c (ix86_handle_fndecl_attribute): New.
+ (ix86_function_ms_hook_prologue): New.
+ (ix86_expand_prologue): Handle ms_hook_prologue attribute.
+ * configure.ac: Test for swap suffix support in as.
+ * configure: Rebuild.
+
+2009-10-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/41680
+ * config/i386/i386.md (split after *testqi_ext_3_rex64): Only narrow
+ paradoxical subregs to prevent partial register stalls if the inner
+ mode is integer mode.
+
+2009-10-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*setcc_<mode>_2): Remove insn pattern.
+
+2009-10-12 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/41570
+ * gcc/dwarf2out.c (template_parameter_pack_die,
+ gen_formal_parameter_pack_die): Use add_name_and_src_coords_attributes.
+
+2009-10-12 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/41616
+ * tree-into-ssa.c (insert_phi_nodes_for): Build debug bind stmts
+ on updates too.
+ (maybe_register_def): Likewise. Take stmt iterator.
+ (rewrite_update_stmt): Take stmt iterator and pass it on.
+ (rewrite_update_enter_block): Pass stmt iterator.
+
+2009-10-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ * config/spu/spu.c (TARGET_BUILTIN_DECL): Define.
+ (spu_builtin_decl): New function.
+
+2009-10-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (SWIM): New mode iterator.
+ (mov<mode>cc): Macroize expander from mov{qi,hi,si,di}cc patterns
+ using SWIM mode iterator.
+ (x86_mov<mode>cc_0_m1): Macroize insn from x86_mov{si,di}cc_0_m1
+ patterns using SWI48 mode iterator.
+ (*x86_mov<mode>cc_0_m1_se): Macroize insn from
+ *x86_mov{si,di}cc_0_m1_se patterns using SWI48 mode iterator.
+ (*x86_mov<mode>cc_0_m1_neg): New insn pattern.
+ (*mov<mode>cc_noc): Macroize insn from *mov{hi,si,di}cc_noc
+ patterns using SWI248 mode iterator.
+ * config/i386/i386.c (ix86_expand_int_movcc): Update the call to
+ gen_x86_movdicc_0_m1_rex64 for renamed function
+
+2009-10-11 Jose Ruiz <ruiz@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/33743
+ * config/sparc/sol2.h (MD_UNWIND_SUPPORT): Define.
+ * config/sparc/sol2-unwind.h: New file.
+
+2009-10-11 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/33743
+ * config/i386/sol2.h (MD_UNWIND_SUPPORT): Define.
+ * config/i386/sol2-unwind.h: New file.
+
+2009-10-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/41665
+ * config/i386/i386.md (addsi_1_zext): Get the proper second
+ operand for lea.
+
+2009-10-11 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * simplify-rtx.c (simplify_replace_rtx): Use rtx_equal_p for
+ all OLD_RTXes, not just REGs. Use copy_rtx to create the
+ replacement value.
+
+2009-10-11 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (iterative_hash_type_name): Do not handle special
+ anonymous names.
+
+2009-10-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*setcc_di_1): New insn_and_split pattern.
+ (*setcc_si_1_and): Ditto.
+ (*setcc_si_1_movzbl): Ditto.
+ (*setcc_<mode>_2): Ditto.
+ (*setcc_qi): Rename from *setcc_1.
+ (*setcc_qi_slp): Rename from *setcc_2.
+
+ (*zero_extendqihi2_movzbw_and splitter): Use ix86_expand_clear.
+ (*zero_extendqisi2_movzbw_and splitter): Ditto.
+
+ * config/i386/i386.c (ix86_expand_clear): Remove reload_completed from
+ "if" condition, there is already assert with reload_completed present.
+
+2009-10-11 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * plugin.c (try_init_one_plugin): Improve constness of variable err.
+
+2009-10-10 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (Final install): Refer to
+ http://gcc.gnu.org/bugs/ for bug reporting.
+
+2009-10-10 Peter Bergner <bergner@vnet.ibm.com>
+
+ * configure.ac: Add test for dci instruction.
+ * configure: Regenerate.
+ * config.in: Likewise.
+ * config.gcc: Handle --with-cpu=476 and --with-cpu=476fp.
+ * doc/invoke.texi: Add cpu_type 476 and 476fp.
+ (-mmulhw): Add 476 to description.
+ (-mdlmzb): Likewise.
+ * config/rs6000/t-fprules (MULTILIB_MATCHES_FLOAT): Include -mcpu=476.
+ * config/rs6000/rs6000.c (processor_costs): Add ppc476_cost.
+ (processor_target_table): Add 476 and 476fp entries.
+ (rs6000_override_options): Use ppc476_cost for PROCESSOR_PPC476.
+ (rs6000_issue_rate): Add CPU_PPC476.
+ * config/rs6000/rs6000.h (ASM_CPU_476_SPEC): Define.
+ (ASM_CPU_SPEC): Pass %(asm_cpu_476) for -mcpu=476 and -mcpu=476fp.
+ (processor_type): Add PROCESSOR_PPC476.
+ (EXTRA_SPECS): Add asm_cpu_476 string.
+ * config/rs6000/rs6000.md: (define_attr "type"): Add isel attribute.
+ (define_attr "cpu"): Add ppc476.
+ Include 476.md.
+ Update comments for 476.
+ (isel_signed, isel_unsigned): Change to use "isel" type attribute.
+ * config/rs6000/vxworks.h (CPP_SPEC): Handle 464 and 476.
+ Update copyright year.
+ * config/rs6000/476.md: New file.
+ * config/rs6000/40x.md: Add description for "isel" attribute.
+ Update copyright year.
+ * config/rs6000/440.md: Likewise.
+ * config/rs6000/603.md: Likewise.
+ * config/rs6000/6xx.md: Likewise.
+ * config/rs6000/7450.md: Likewise.
+ * config/rs6000/7xx.md: Likewise.
+ * config/rs6000/8540.md: Likewise.
+ * config/rs6000/cell.md: Likewise.
+ * config/rs6000/e300c2c3.md: Likewise.
+ * config/rs6000/e500mc.md: Likewise.
+ * config/rs6000/mpc.md: Likewise.
+ * config/rs6000/power4.md: Likewise.
+ * config/rs6000/power5.md: Likewise.
+ * config/rs6000/power6.md: Likewise.
+ * config/rs6000/power7.md: Likewise.
+ * config/rs6000/rios1.md: Likewise.
+ * config/rs6000/rios2.md: Likewise.
+ * config/rs6000/rs64.md: Likewise.
+
+2009-10-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/41654
+ * tree-ssa-ifcombine.c (ifcombine_ifandif): Properly canonicalize
+ a cond expr before calling gimple_cond_set_condition_from_tree.
+ (ifcombine_iforif): Likewise.
+
+2009-10-09 Ian Lance Taylor <iant@google.com>
+
+ * configure.ac: Use AC_SEARCH_LIBS to find dlopen.
+ * configure: Rebuild.
+
+2009-10-09 Neil Vachharajani <nvachhar@google.com>
+
+ * doc/cpp.texi (Other Directives): Do not list #ident and #sccs as
+ deprecated.
+
+2009-10-09 Richard Guenther <rguenther@suse.de>
+
+ PR lto/41638
+ * target-def.h (TARGET_BUILTIN_DECL): Define.
+ (TARGET_INITIALIZER): Add TARGET_BUILTIN_DECL.
+ * target.h (struct gcc_target): Add builtin_decl target hook.
+ * doc/tm.texi (TARGET_BUILTIN_DECL): Document.
+ * lto-streamer-in.c (lto_get_builtin_tree): Fix handling of
+ target builtins.
+ * lto-streamer-out.c (lto_output_tree_pointers): Use sorry,
+ not gcc_unreachable.
+ (lto_output_builtin_tree): Sorry if the target does not support
+ streaming target builtins.
+ * config/rs6000/rs6000.c (TARGET_BUILTIN_DECL): Define.
+ (rs6000_builtin_decl): New function.
+ * config/i386/i386.c (TARGET_BUILTIN_DECL): Define.
+ (ix86_builtin_decl): New function.
+
+2009-10-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/41445
+ * c-ppoutput.c (do_line_change): New function.
+ (cb_line_change): Use it.
+ (scan_translation_unit): Call do_line_change if
+ avoid_paste or PREV_WHITE and token location is on a different line
+ than print.src_line.
+
+ PR debug/40521
+ * dwarf2out.c (dwarf2out_init): Test whether
+ HAVE_GAS_CFI_SECTIONS_DIRECTIVE is non-zero instead of checking
+ it is defined.
+
+ PR rtl-optimization/41646
+ * calls.c (expand_call): For BLKmode types returned in registers
+ avoid likely spilled hard regs in copy_blkmode_from_reg generated
+ insns.
+
+2009-10-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/41634
+ * tree-ssa-dom.c (remove_local_expressions_from_table): Assert
+ we remove the correct elements.
+ (optimize_stmt): Make sure to update stmt operands before
+ optimizing redundancies.
+
+2009-10-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.md ("prefetch"): Remove stcmh for prefetching.
+
+2009-10-09 Richard Guenther <rguenther@suse.de>
+
+ PR driver/41637
+ * lto-wrapper.c (ltrans_output_file, flto_out, args_name): New
+ globals.
+ (lto_wrapper_exit): New function.
+ (fatal): Use it.
+ (fatal_perror): Likewise.
+ (fork_execute): Use global args_name, do not free it.
+ (run_gcc): Use global ltrans_output_file, flto_out, do not free them.
+ * lto-streamer.h: Remove duplicate prototypes.
+
+2009-10-09 Richard Guenther <rguenther@suse.de>
+
+ * cgraph.c (cgraph_create_edge): Check for NULL call_stmt
+ before calling stmt_can_throw_external.
+
+2009-10-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/40071
+ * tree-vect-data-refs.c (vect_create_data_ref_ptr): Build a ref-all
+ pointer if the original data reference doesn't conflict with the
+ created vector data reference. Fix long line.
+
+2009-10-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (any_div): New code iterator.
+ (u): Handle div and udiv.
+ (sgnprefix): Ditto.
+ (<u>divqi3): Macroize insn from {,u}divqi3 using any_div
+ code iterator.
+ (lfloor<MODEF:mode><SWI48:mode>2): Macroize insn from
+ lfloor<mode>{si,di}2 patterns using SWI48 mode iterator.
+ (lceil<MODEF:mode><SWI48:mode>2): Macroize insn from
+ lceil<mode>{si,di}2 patterns using SWI48 mode iterator.
+
+2009-10-08 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c (main): Remove trailing "." from diagnostics.
+
+2009-10-08 Cary Coutant <ccoutant@google.com>
+
+ Add support for debugging with ICF (Identical Code Folding).
+ * calls.c (debug.h): New #include.
+ (emit_call_1): Call virtual_call_token debug hook.
+ * common.opt (-fenable-icf-debug): New option.
+ * dwarf2out.c (dwarf2_debug_hooks): Add entries for new hooks (two
+ locations in the source).
+ (poc_label_num): New variable.
+ (dcall_entry, vcall_entry): New typedefs.
+ (dcall_table, vcall_table): New variables.
+ (struct vcall_insn): New type.
+ (vcall_insn_table): New variable.
+ (DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION): New macros.
+ (size_of_dcall_table): New function.
+ (output_dcall_table): New function.
+ (size_of_vcall_table): New function.
+ (output_vcall_table): New function.
+ (dwarf2out_direct_call): New function.
+ (vcall_insn_table_hash): New function.
+ (vcall_insn_table_eq): New function.
+ (dwarf2out_virtual_call_token): New function.
+ (dwarf2out_virtual_call): New function.
+ (dwarf2out_init): Allocate new tables and sections.
+ (prune_unused_types): Mark DIEs referenced from direct call table.
+ (dwarf2out_finish): Output direct and virtual call tables.
+ * final.c (final_scan_insn): Call direct_call and virtual_call
+ debug hooks.
+ * debug.h (struct gcc_debug_hooks): Add direct_call,
+ virtual_call_token, virtual_call hooks.
+ (debug_nothing_uid): New function.
+ * debug.c (do_nothing_debug_hooks): Add dummy entries for new hooks.
+ (debug_nothing_uid): New function.
+ * dbxout.c (dbx_debug_hooks): Add dummy entries for new hooks.
+ (xcoff_debug_hooks): Likewise.
+ * sdbout.c (sdb_debug_hooks): Likewise.
+ * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
+ * doc/invoke.texi (-fenable-icf-debug): New option.
+
+2009-10-08 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/41353
+ * regmove.c (regmove_backward_pass): Replace src with dst in the
+ debug insn, and check for dst before rather than after.
+
+2009-10-08 Janis Johnson <janis187@us.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_delegitimize_address): Remove.
+ (TARGET_DELEGITIMIZE_ADDRESS): Likewise.
+
+2009-10-08 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/41626
+ * cgraphbuild.c (record_reference): When parameter DATA is NULL,
+ do not mark cgraph nodes as needed.
+ (record_references_in_initializer): Add new only_vars parameter.
+ * cgraph.h (record_references_in_initializer): New parameter.
+ * varasm.c (assemble_variable): Update call.
+ * varpool.c (varpool_analyze_pending_decls): Always look for
+ referenced vars.
+
+2009-10-08 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.c (last_insn_address) Remove variable.
+ (expand_prologue): Don't initialise last_insn_address variable.
+ (final_prescan_insn): Don't output insn size.
+ * config/avr/avr.opt (msize): Remove switch.
+ * doc/invoke.texi (AVR Options): Remove documentation of -msize
+ switch.
+
+2009-10-08 Adam Nemet <anemet@caviumnetworks.com>
+
+ * combine.c (label_tick_ebb_start): Fix comment.
+ (combine_instructions): Set label_tick and label_tick_ebb_start before
+ calling setup_incoming_promotions. Start them from 1. Increment
+ label_tick instead of deriving it from the BB index. Rather than
+ comparing ticks use the block from the previous iteration to decide
+ whether to start a new EBB. Remove empty lines before function.
+
+2009-10-08 Michael Matz <matz@suse.de>
+
+ PR middle-end/41573
+ * builtins.c (fold_builtin_isascii): Use fold_build2.
+ (fold_builtin_isdigit): Ditto.
+ * except.c (duplicate_eh_regions_1): Tolerate NULL labels.
+ * tree-cfg.c (struct rus_data, remove_useless_stmts_warn_notreached,
+ remove_useless_stmts_cond, remove_useless_stmts_tf,
+ remove_useless_stmts_tc, remove_useless_stmts_bind,
+ remove_useless_stmts_goto, remove_useless_stmts_label,
+ remove_useless_stmts_1, remove_useless_stmts,
+ pass_remove_useless_stmts): Remove.
+ * tree-pass.h (pass_remove_useless_stmts): Don't declare.
+ * passes.c (init_optimization_passes): Don't add
+ pass_remove_useless_stmts.
+ * tree-eh.c (lower_eh_constructs_2): Handle empty cleanups.
+ * tree.c (free_lang_data_in_decl): Don't clear DECL_INITIAL of
+ static constants.
+ * lto-symtab.c (lto_symtab_register_decl): Accepts DECL_INITIAL
+ for static constants.
+ * lto-streamer-out.c (output_gimple_stmt): Handle GIMPLE_NOP.
+ * lto-streamer-in.c (input_gimple_stmt): Handle GIMPLE_NOP.
+
+2009-10-08 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (free_gimple_type_tables): New function.
+ * gimple.h (free_gimple_type_tables): Declare.
+
+2009-10-07 Mark Heffernan <meheff@google.com>
+
+ * ipa-prop.c (ipa_print_node_params) Only print
+ names of named arguments.
+
+2009-10-08 Rafael Avila de Espindola <espindola@google.com>
+
+ * gcc.c (LINK_COMMAND_SPEC): Pass libc with -pass-through if it is
+ being statically linked.
+
+2009-10-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * collect2.c (add_lto_object): Only define if OBJECT_FORMAT_NONE.
+
+2009-10-08 Jan Hubicka <jh@suse.cz>
+
+ PR bootstrap/41620
+ * ipa.c (cgraph_externally_visible_p,
+ function_and_variable_visibility,
+ whole_program_function_and_variable_visibility): Skip non-finalized
+ nodes.
+
+2009-10-08 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.h (CONSTANT_ADDRESS_P): Do not allow
+ CONST_DOUBLEs.
+
+2009-10-08 Andreas Tobler <a.tobler@schweiz.org>
+
+ PR bootstrap/37739
+ * config.host: Use config/x-cflags-O1 for powerpc FreeBSD.
+
+2009-10-07 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/41182
+ * c-common.c (c_fully_fold_internal): Strip nops from the result
+ of recursive calls to c_fully_fold_internal.
+ (c_wrap_maybe_const): New.
+ (c_save_expr): Use c_wrap_maybe_const.
+ * c-common.h (c_wrap_maybe_const): Declare.
+ * c-typeck.c (build_conditional_expr, c_finish_stmt_expr,
+ build_binary_op): Use c_wrap_maybe_const.
+
+2009-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * real.c: Fix comment to reflect actual exponent size.
+
+2009-10-08 Ben Elliston <bje@au.ibm.com>
+
+ * config/rs6000/a2.md: Add FSF comment header.
+
+2009-10-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (any_extend): New code iterator.
+ (u, s): New code attributes.
+ (sgnprefix): Ditto.
+ (DWIH): Rewrite as code iterator for SI and DI modes.
+ (DWI): Rewrite as mode attribute.
+ (dwi): New mode attribute.
+ (di): Depend on SI mode and DI mode.
+ (doubleint_general_operand): Remove mode attribute.
+
+ (*lea_1): Macroize insn from *lea_1_rex64 and *lea_1 patterns using
+ DWIH mode iterator.
+
+ (*add<mode>3_doubleword): Use DWIH as the base mode iterator.
+ (*sub<mode>3_doubleword): Ditto.
+
+ (mul<mode>3): Macroize expander from mul{hi,si,di}3 patterns
+ using SWIM248 mode iterator.
+ (*mul<mode>3_1): Macroize insn from mul{si,di}3_1 patterns
+ using SWI48 mode iterator.
+ (<u>mul<mode><dwi>3): Macroize expander from {,u}mul{sidi,diti}3
+ patterns using DWIH mode iterator and any_extend code iterator.
+ (<u>mulqihi3): Macroize expander from {,u}mulqihi3 patterns
+ using any_extend code iterator.
+ (*<u>mul<mode><dwi>3_1): Macroize insn from {,u}mul{sidi,diti}3_1
+ patterns using DWIH mode iterator and any_extend code iterator.
+ (*<u>mulqihi3_1): Macroize insn from {,u}mulqihi3_1 patterns
+ using any_extend code iterator.
+ (<s>mul<mode>3_highpart): Macroize expander from
+ {s,u}mul{si,di}3_highpart patterns using DWIH mode iterator
+ and any_extend code iterator.
+ (*<s>muldi3_highpart_1): Macroize insn from
+ *{s,u}muldi3_highpart_rex64 patterns using any_extend code iterator.
+ (*<s>mulsi3_highpart_1): Macroize insn from *{s,u}mulsi3_highpart_1
+ patterns using any_extend code iterator.
+ (*<s>mulsi3_highpart_zext): Macroize insn from
+ *{s,u}mulsi3_highpart_zext patterns using any_extend code iterator.
+
+2009-10-07 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (tree_add_const_value_attribute_for_decl): Don't add
+ DW_AT_const_value if VAR_DIE already has DW_AT_abstract_origin
+ refering to a DIE with DW_AT_const_value.
+
+2009-10-07 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/22072
+ * ira-lives.c (check_and_make_def_conflict): Process all operands.
+
2009-10-06 Jan Hubicka <jh@suse.cz>
* cgraph.c (cgraph_node_can_be_local): Handle externally visible nodes
2009-10-07 Jan Hubicka <jh@suse.cz>
- * lto-symtab.c (lto_cgraph_replace_node): Assert that inline clones has
- no address taken.
+ * lto-symtab.c (lto_cgraph_replace_node): Assert that inline clones
+ has no address taken.
* cgraph.c (cgraph_mark_needed_node): Assert that inline clones are
never needed.
(cgraph_clone_node): Clear externally_visible flag for clones.
(enum processor_type): Add PROCESSOR_PPCA2.
* config/rs6000/rs6000.c (ppca2_cost): New costs.
(rs6000_override_options): Add "a2" to processor_target_table.
- Update rs6000_always_hint logic. Correctly set rs6000_cost for
- a2.
- * doc/invoke.texi (RS/6000 and PowerPC Options): Document
- -mcpu=a2.
+ Update rs6000_always_hint logic. Correctly set rs6000_cost for a2.
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mcpu=a2.
2009-10-06 Uros Bizjak <ubizjak@gmail.com>
patterns using plusminus code iterator.
(<plusminus_insn><mode>3): Macroize expander from add<mode>3 and
sub<mode>3 patterns using plusminus code iterator.
- * config/i386/i386.c (override_options): Update call to
+ * config/i386/i386.c (override_options): Update the call to
gen_subdi_carry_rex64 for renamed function.
(ix86_expand_int_addcc): Update calls to gen_subdi3_carry_rex64
and gen_adddi3_carry_rex64 for renamed functions. Use indirect
2009-10-06 Jerry Quinn <jlquinn@optonline.net>
- * gimple.c (gimple_type_hash): Use CONST_CAST_TREE to fix
- compilation.
+ * gimple.c (gimple_type_hash): Use CONST_CAST_TREE to fix compilation.
2009-10-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Kenneth Zadeck <zadeck@naturalbridge.com>
* Makefile.in (enable_lto): New.
- (site.exp): If @enable_lto@ is set to 'yes' define
- ENABLE_LTO.
+ (site.exp): If @enable_lto@ is set to 'yes' define ENABLE_LTO.
(LINKER_PLUGIN_API_H): Define.
(LTO_SYMTAB_H): Define.
(LTO_STREAMER_H): Define.
(TREE_VECTORIZER_H): Define.
(INCLUDES): Add LIBELFINC.
(OBJS-common): Add lto-cgraph.o, lto-streamer-in.o,
- lto-streamer-out.o, lto-section-in.o, lto-section-out.o,
- lto-symtab.o, lto-opts.o, lto-streamer.o, lto-wpa-fixup.o,
- lto-compress.o.
+ lto-streamer-out.o, lto-section-in.o, lto-section-out.o, lto-symtab.o,
+ lto-opts.o, lto-streamer.o, lto-wpa-fixup.o, lto-compress.o.
(MOSTLYCLEANFILES): Add lto-wrapper$(exeext)
(native): Add lto-wrapper$(exeext)
(lto-compress.o, lto-cgraph.o, lto-streamer-in.o,
lto-streamer-out.o, lto-section-in.o, lto-section-out.o,
- lto-symtab.o, lto-opts.o, lto-streamer.o,
- lto-wpa-fixup.o): New rules.
- (gimple.o): Add dependency on LTO_HEADER_H and
- LTO_SECTION_OUT_H.
+ lto-symtab.o, lto-opts.o, lto-streamer.o, lto-wpa-fixup.o): New rules.
+ (gimple.o): Add dependency on LTO_HEADER_H and LTO_SECTION_OUT_H.
(varasm.o): Add dependency on tree-iterator.h.
(cgraph.o): Add dependency on cif-code.def.
(ipa-reference.o): Add dependency on LTO_STREAMER_H.
(ipa-pure-const.o): Likewise.
(GTFILES): Add lto-symtab.c.
(install-lto-wrapper): New.
- * configure.ac: If 'lto' is in enable_languages, define
- ENABLE_LTO and enable_lto.
- If LIBELFLIBS is set, define HAVE_libelf.
+ * configure.ac: If 'lto' is in enable_languages, define ENABLE_LTO
+ and enable_lto. If LIBELFLIBS is set, define HAVE_libelf.
* config.in: Regenerate.
2009-10-03 Rafael Espindola <espindola@google.com>
of pass_all_early_optimizations. Document reason.
(pass_ipa_lto_gimple_out, pass_ipa_lto_wpa_fixup,
pass_ipa_lto_finish_out): New pass.
- (pass_ipa_summary_passes): Start and stop timers if the pass
- has them.
+ (pass_ipa_summary_passes): Start and stop timers if the pass has them.
(execute_all_ipa_transforms): New.
(execute_one_pass): Don't call execute_one_ipa_transform_pass.
(dump_properties, debug_properties): New.
2009-10-03 Doug Kwan <dougkwan@google.com>
Ollie Wild <aaw@google.com>
- * ipa-prop.c (ipa_propagate_indirect_call_infos): Do
- nothing in WPA.
+ * ipa-prop.c (ipa_propagate_indirect_call_infos): Do nothing in WPA.
* collect2.c (LTO_MODE_NONE, LTO_MODE_LTO, LTO_MODE_WPA): New enums.
(lto_mode): New variable.
* opts.c: Include lto-opts.h.
(handle_option): Call lto_register_user_option for each
valid option handled.
- * (decode_options): Clear registered options before the options
+ (decode_options): Clear registered options before the options
handling loop.
2009-10-03 Cary Coutant <ccoutant@google.com>
* gcc.c (LINK_COMMAND_SPEC): Use the -pass-through option to pass
libgcc to the linker.
- * ipa-cp.c (cgraph_gate_cp): Return false if LTRANS is
- running.
+ * ipa-cp.c (cgraph_gate_cp): Return false if LTRANS is running.
* collect2.c (maybe_run_lto_and_relink): Execute lto-wrapper.
(collect_execute): Add flags argument. Pass flags to pex_run. Update
(lookup_type_pair): Increase initial hashtable size.
(gimple_force_type_merge): Rely on type-pair symmetry.
(visit): Remove excessive checking code.
- (iterative_hash_type_name): Do not hash TYPE_NAME of
- anonymous unions.
+ (iterative_hash_type_name): Do not hash TYPE_NAME of anonymous unions.
(gimple_register_type): Remove getenv calls, shrink initial
hashtable size.
edge->call_stmt_cannot_inline_p instead of calling
gimple_call_cannot_inline_p.
(cgraph_decide_inlining): Do nothing in WPA and LTRANS.
- (cgraph_gate_ipa_early_inlining): Return false if
- in_lto_p is set.
+ (cgraph_gate_ipa_early_inlining): Return false if in_lto_p is set.
(inline_generate_summary): Do nothing in LTRANS.
- * cgraph.c (initialize_inline_failed): Make sure
- e->call_stmt exists before calling
- gimple_call_cannot_inline_p.
+ * cgraph.c (initialize_inline_failed): Make sure e->call_stmt
+ exists before calling gimple_call_cannot_inline_p.
(cgraph_create_edge): Set edge->call_stmt_cannot_inline_p.
- (cgraph_clone_edge): Add argument STMT_UID. Modify all
- callers.
+ (cgraph_clone_edge): Add argument STMT_UID. Modify all callers.
Update new_edge->lto_stmt_uid.
* cgraphbuild.c (reset_inline_failed): New.
(static_specs): Add cc1_non_lto_options, lto1_options and
link_lto_options.
(static_spec_function): Replace lto-single with lto-option.
- (process_command): Handle -flto, -fwpa and -fltran
- by setting current_lto_option and not passing it to subprocess
- unconditionally.
+ (process_command): Handle -flto, -fwpa and -fltran by setting
+ current_lto_option and not passing it to subprocess unconditionally.
2009-10-03 Bill Maddox <maddox@google.com>
* c.opt: Add LTO to warn_abi and warn_psabi.
- * tree.c (fld_worklist_push): Rename from PUSH.
- Convert to static inline function.
- Ignore language-specific nodes.
- Update all users.
+ * tree.c (fld_worklist_push): Rename from PUSH. Convert to static
+ inline function. Ignore language-specific nodes. Update all users.
(find_decls_types_r): Do not traverse the subtrees of
- language-specific nodes.
- Do not traverse DECL_INITIAL for TYPE_DECLs.
+ language-specific nodes. Do not traverse DECL_INITIAL for TYPE_DECLs.
* tree.h (is_lang_specific): New.
* langhooks.h (struct lang_hooks_for_decls): Remove
may_need_assembler_name_p. Update all users.
lookup_type_for_runtime if TYPE is not a runtime type.
* passes.c (register_pass): Call position_pass on
- all_small_ipa_passes, all_regular_ipa_passes and
- all_lto_gen_passes.
+ all_small_ipa_passes, all_regular_ipa_passes and all_lto_gen_passes.
* timevar.def (TV_IPA_LTO_GIMPLE_IO): Define.
(TV_IPA_LTO_DECL_IO): Define.
(TV_IPA_LTO_CGRAPH_IO): Define.
* tree.c (free_lang_data_in_binf): Factor out of ...
(free_lang_data_in_type): ... here.
Call RECORD_OR_UNION_TYPE_P.
- (need_assembler_name_p): Ignore DECL if it does not have
- TREE_PUBLIC set.
- Call lang_hooks.decls.may_need_assembler_name_p if set.
- (free_lang_data_in_decl): Do not clear DECL_CONTEXT for
- CONST_DECLs.
- (free_lang_data): Set debug_info_level to
- DINFO_LEVEL_NONE.
- Set write_symbols to NO_DEBUG.
- Set debug_hooks to do_nothing_debug_hooks.
- (gate_free_lang_data): Return true if flag_generate_lto
- is set.
+ (need_assembler_name_p): Ignore DECL if it does not have TREE_PUBLIC
+ set. Call lang_hooks.decls.may_need_assembler_name_p if set.
+ (free_lang_data_in_decl): Do not clear DECL_CONTEXT for CONST_DECLs.
+ (free_lang_data): Set debug_info_level to DINFO_LEVEL_NONE. Set
+ write_symbols to NO_DEBUG. Set debug_hooks to do_nothing_debug_hooks.
+ (gate_free_lang_data): Return true if flag_generate_lto is set.
(walk_tree_1): Call RECORD_OR_UNION_TYPE_P.
* c-common.h (set_builtin_user_assembler_name): Move ...
* tree.h (set_builtin_user_assembler_name): ... here.
* common.opt (flto-report): New flag.
- * opts.c (complain_wrong_lang): Do not complain if
- running lto1.
+ * opts.c (complain_wrong_lang): Do not complain if running lto1.
* collect2.c (scan_prog_file): Send the error output of
'nm' to HOST_BIT_BUCKET.
Ollie Wild <aaw@google.com>
* doc/install.texi: Add documentation for libelf and --enable-lto.
- * doc/invoke.texi: Document -fwpa, -flto, -fwhopr,
- -fltrans, -flto-report, -flto-compression-level and
- -use-linker-plugin.
- * doc/sourcebuild.texi: Document use of zlib.
- Document lto-plugin.
+ * doc/invoke.texi: Document -fwpa, -flto, -fwhopr, -fltrans,
+ -flto-report, -flto-compression-level and -use-linker-plugin.
+ * doc/sourcebuild.texi: Document use of zlib. Document lto-plugin.
Add section for LTO Testing.
2009-10-02 Cary Coutant <ccoutant@google.com>
- Add support for comdat type sections for DWARF v4. Merge from dwarf4
- branch.
+ Add support for comdat type sections for DWARF v4.
+ Merge from dwarf4 branch.
+
* dwarf2out.c (DWARF_TYPE_SIGNATURE_SIZE): New constant.
(dw_die_ref): Define vector type.
(enum dw_val_class): Add dw_val_class_data8.
(print_signature): New function.
(print_die): Print signature information; add dw_val_class_data8.
(attr_checksum): Support dw_val_class_data8.
- (CHECKSUM_STRING): Redefine for DWARF-4 to include
- trailing NULL byte.
+ (CHECKSUM_STRING): Redefine for DWARF-4 to include trailing NULL byte.
(CHECKSUM_SLEB128, CHECKSUM_ULEB128): New macros.
(checksum_sleb128, checksum_uleb128): New functions.
(checksum_die_context): New function.
(copy_decls_for_unworthy_types): New function.
(build_abbrev_table): Don't assert on missing die_symbol when doing
comdat type sections.
- (size_of_die): Use DW_FORM_sig8 for external references; Add
+ (size_of_die): Use DW_FORM_sig8 for external references. Add
dw_val_class_data8.
(unmark_dies): Don't assert for unmarked dies when doing comdat
type sections.
2009-10-02 Neil Vachharajani <nvachhar@google.com>
- * gcov-io.c (gcov_open): Open files read-only when MODE < 0
+ * gcov-io.c (gcov_open): Open files read-only when MODE < 0.
2009-10-02 Uros Bizjak <ubizjak@gmail.com>
PR debug/41404
PR debug/41353
* cfgexpand.c (expand_debug_expr) <case STRING_CST>: Don't create
- CONST_STRING if STRING_CST contains embedded '\0's or doesn't end with
- '\0'.
+ CONST_STRING if STRING_CST contains embedded '\0's or doesn't end
+ with '\0'.
(expand_debug_expr) <case VAR_DECL>: For TREE_STATIC !DECL_EXTERNAL
vars use DECL_RTL with resetting it back to NULL afterwards.
* dwarf2out.c (same_dw_val_p): For dw_val_class_addr compare with
pressure.
2009-09-29 Basile Starynkevitch <basile@starynkevitch.net>
- Rafael Avila de Espindola <espindola@google.com>
+ Rafael Avila de Espindola <espindola@google.com>
* gengtype.c (plugin_output): New.
(get_output_file_with_visibility): Return plugin_output for plugins.
2009-09-28 Nick Clifton <nickc@redhat.com>
- * config/m32r/m32r.c (m32r_is_insn): Return false for debugging
- insns.
+ * config/m32r/m32r.c (m32r_is_insn): Return false for debugging insns.
2009-09-28 Duncan Sands <baldrick@free.fr>
2009-09-27 Peter O'Gorman <pogma@thewrittenword.com>
- collect2.c (main): Look for -brtl before adding libraries.
+ * collect2.c (main): Look for -brtl before adding libraries.
2009-09-27 Jonathan Gray <jsg@openbsd.org>
* dwarf2out.c (dwarf_tag_name, gen_generic_params_dies,
generic_parameter_die, template_parameter_pack_die,
- gen_formal_parameter_die, gen_subprogram_die): Adjust after renaming
- DW_TAG_formal_parameter_pack and DW_TAG_template_parameter_pack into
- DW_TAG_GNU_formal_parameter_pack and DW_TAG_GNU_template_parameter_pack.
+ gen_formal_parameter_die, gen_subprogram_die): Adjust after
+ renaming DW_TAG_formal_parameter_pack and
+ DW_TAG_template_parameter_pack into DW_TAG_GNU_formal_parameter_pack
+ and DW_TAG_GNU_template_parameter_pack.
2009-09-25 Anatoly Sokolov <aesok@post.ru>
(reg_class): Likewise.
(REG_CLASS_NAMES): Likewise.
* config/m32c/m32c.c (m32c_reg_class_from_constraint): Likewise.
-
- * config/m32c/m32c.c (m32c_override_options): Disable -fivopts for
- M32C.
+ (m32c_override_options): Disable -fivopts for M32C.
2009-09-24 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/xtensa/xtensa.c (TARGET_STATIC_CHAIN): New.
(xtensa_static_chain): New.
- * config/xtensa/xtensa.h (STATIC_CHAIN, STATIC_CHAIN_INCOMING): Remove.
+ * config/xtensa/xtensa.h (STATIC_CHAIN): Remove.
+ (STATIC_CHAIN_INCOMING): Remove.
2009-09-23 Anatoly Sokolov <aesok@post.ru>