OSDN Git Service

* gcc/doc/extended.texi: Replace the dash character with
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 1840726..08ce63e 100644 (file)
@@ -1,3 +1,873 @@
+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
+       correctly.
+
+2009-10-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*lea_1_rex64, *lea_1, *lea_1_zext,
+       *lea_2_rex64): Move before *add<mode>_1 pattern.
+
+2009-10-07  Jan Hubicka  <jh@suse.cz>
+
+       * collect2.c (main): Add -fno-whole-program.
+       * gcc.c (set_collect_gcc_options): Do not remove whole program here.
+
+2009-10-07  Jan Hubicka  <jh@suse.cz>
+
+       * 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.
+       * cgraph.h (cgraph_only_called_directly_p,
+       cgraph_can_remove_if_no_direct_calls_p): New predicates.
+       * tree-pass.h (pass_ipa_whole_program_visibility): Declare.
+       * ipa-cp.c (ipcp_cloning_candidate_p): Use new predicate.
+       (ipcp_initialize_node_lattices, ipcp_estimate_growth,
+       ipcp_insert_stage): Likwise.
+       * cgraphunit.c (cgraph_decide_is_function_needed): Do not compute
+       externally_visible flag.
+       (verify_cgraph_node): Verify that inline clones look right.
+       (process_function_and_variable_attributes): Do not set
+       externally_visible flags.
+       (ipa_passes): Avoid executing small_ipa_passes at LTO stage; they've
+       been already run.
+       * lto-cgraph.c (lto_output_node): Assert that inline clones are not
+       boundaries.
+       * ipa-inline.c (cgraph_clone_inlined_nodes): Use new predicates;
+       clear externally_visible when turning into inline clones
+       (cgraph_mark_inline_edge): Use new predicates.
+       (cgraph_estimate_growth): Likewise.
+       (cgraph_decide_inlining): Likewise.
+       * ipa.c (cgraph_postorder): Likewise.
+       (cgraph_remove_unreachable_nodes): Likewise; sanity check
+       that inline clones are not needed.
+       (cgraph_externally_visible_p): New predicate.
+       (function_and_variable_visibility): Add whole_program parameter;
+       always set externally_visible flag; handle COMDAT function
+       privatization.
+       (local_function_and_variable_visibility): New function.
+       (gate_whole_program_function_and_variable_visibility): New function.
+       (whole_program_function_and_variable_visibility): New function.
+       (pass_ipa_whole_program_visibility): New function.
+       * passes.c  (init_optimization_passes): Add whole program visibility
+       pass.
+       (do_per_function_toporder, function_called_by_processed_nodes_p): Do
+       not care about needed/reachable flags.
+       * varpool.c: Include flags.h
+       (decide_is_variable_needed): When doing LTO assume whole-program mode.
+       (varpool_finalize_decl): When we are in LTO read-back, all variables
+       are analyzed.
+       (varpool_analyze_pending_decls): Skip analyzis of analyzed vars.
+
+2009-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/tpf.h (TARGET_DEFAULT): Remove MASK_HARD_FLOAT and
+       add MASK_HARD_DFP.
+
+2009-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config.gcc: Don't include the makefile fragments intended for
+       libgcc.
+       * config/s390/fixdfdi.h: File removed.
+       * config/s390/libgcc-glibc.ver: File removed.
+       * config/s390/s390.h: Remove the fixdfdi.h hack.
+       * config/s390/t-crtstuff: File moved to libgcc dir.
+       * config/s390/t-linux: Likewise.
+       * config/s390/t-tpf: libgcc specific parts removed.
+       * config/s390/t-linux64: Likewise.
+
+2009-10-06  Jerry Quinn  <jlquinn@optonline.net>
+
+       * Makefile.in (lto-wrapper): Use COMPILER and ALL_COMPILERFLAGS.
+       (lto-compress.o): Likewise.
+
+2009-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       PR target/41512
+       * config/i386/winnt.c (i386_pe_determine_dllexport_p): Don't propagate
+       dllexport to class members here.
+       (i386_pe_determine_dllimport_p): Only check static class data for
+       definition.
+       (i386_pe_encode_section_info): Don't recheck DECL_DLLIMPORT_P.
+       * config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Only check
+       functions for vague linkage.
+       (i386_pe_type_dllexport_p): Fix formatting.
+       (maybe_add_dllexport) New function.
+       (i386_pe_adjust_class_at_definition): Use it to propagate dllexport
+       to class members.
+
+2009-10-07  Ben Elliston  <bje@au.ibm.com>
+
+       * config/rs6000/a2.md: Remove duplicated lines.
+
+2009-10-07  Ben Elliston  <bje@au.ibm.com>
+
+       * config.gcc (powerpc*-*-*): Handle a2.
+       * config/rs6000/rs6000.md (cpu): Add ppca2.  Include "a2.md".
+       * config/rs6000/a2.md: New file.
+       * config/rs6000/rs6000.opt (mno-update): New.
+       (mupdate): Return to using a mask, not a var.
+       * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for a2.
+       (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.
+
+2009-10-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
+       Use explicit gen_truncxfsf2 and gen_truncxfdf2 references to avoid
+       reference to nonexistent gen_truncxfxf2 function.
+
+2009-10-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (SWI48, SDWIM, DWI): New mode iterators.
+       (DWIH, g, di, doubleint_general_operand): New mode attributes.
+       (general_operand): Handle TI mode.
+       (add<mode>3): Macroize expander from add{qi,hi,si,di,ti}3 patterns
+       using SDWIM mode iterator.
+       (*add<mode>3_doubleword): New insn_and_split pattern.  Macroize
+       pattern from *add{di,ti}3_1 patterns and corresponding splitters
+       using DWI mode iterator.
+       (add<mode>3_carry): Macroize insn from add{qi,hi,si,di}3_carry
+       patterns using SWI mode iterator.
+       (*add<mode>3_cc): Macroize insn from add{si,di}3_cc patterns
+       using SWI48 mode iterator.
+       (*add<mode>_1): Ditto from add{si,di}_1 patterns.
+       (*add<mode>_2): Ditto from add{si,di}_2 patterns.
+       (*add<mode>_3): Ditto from add{si,di}_3 patterns.
+       (*add<mode>_5): Ditto from add{si,di}_5 patterns.
+       (sub<mode>3): Macroize expander from sub{qi,hi,si,di,ti}3 patterns
+       using SDWIM mode iterator.
+       (*sub<mode>3_doubleword): New insn_and_split pattern.  Macroize
+       pattern from *sub{di,ti}3_1 patterns and corresponding splitters
+       using DWI mode iterator.
+       (sub<mode>3_carry): Macroize insn from sub{qi,hi,si,di}3_carry
+       patterns using SWI mode iterator.
+       (*sub<mode>_1): Ditto from from sub{qi,hi,si,di}_1 patterns.
+       (*sub<mode>_2): Ditto from sub{qi,hi,si,di}_2 patterns.
+       (*sub<mode>_3): Ditto from sub{qi,hi,si,di}_3 patterns.
+       (<plusminus_insn>xf3): Macroize expander from addxf3 and subxf3
+       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 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
+       calls to instruction expanders.
+
+2009-10-06  Martin Jambor  <mjambor@suse.cz>
+
+       PR bootstrap/41395
+       * opts.c (decode_options): Run IPA-SRA at -O2.
+
+2009-10-06  Richard Guenther  <rguenther@suse.de>
+
+       * lto-symtab.c (lto_symtab_entry_hash): Hash strings, not pointers.
+
+2009-10-06  Tobias Burnus  <burnus@net-b.de>
+
+       PR lto/41591
+       * doc/invoke.texi (-flto,-fwhole-program): Make clear that the
+       -flto and -fwhole-program flags can be combined.
+
+2009-10-06  Ryan Mansfield  <rmansfield@qnx.com>
+
+       PR driver/41217
+       * gcc.c (process_command): Check that -o argument was specified.
+
+2009-10-06  Jerry Quinn  <jlquinn@optonline.net>
+
+       * gimple.c (gimple_type_hash): Use CONST_CAST_TREE to fix compilation.
+
+2009-10-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * c.opt (Wjump-misses-init): Fix typo to enable for ObjC.
+       * doc/invoke.texi (Warning Options): Annotate allowed languages
+       for -Wunsuffixed-float-constants.
+
+2009-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (modified_type_die): Don't add DW_AT_name to
+       DW_TAG_{const,volatile}_type if its DW_AT_type already has the
+       same name and isn't the main variant.
+
+       PR debug/41558
+       * dwarf2out.c (loc_by_reference): Removed.
+       (dw_loc_list_1): New function.
+       (dw_loc_list): Remove toplev argument, add want_address argument.
+       Don't look at decl_by_reference_p at all.  Use dw_loc_list_1.
+       (loc_list_from_tree) <case VAR_DECL>: Pass want_address rather than
+       want_address == 2 to dw_loc_list.  For successful dw_loc_list
+       set have_address to 1 only if want_address is not 0.
+
+2009-10-05  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips-protos.h (mips_trampoline_code_size): Declare.
+       * config/mips/mips.h (TRAMPOLINE_SIZE): Redefine as the size of
+       a code block followed by two pointers.
+       (TRAMPOLINE_ALIGNMENT): Define to 64 for 32-bit targets too.
+       * config/mips/mips.c (MIPS_LOAD_PTR): New macro.
+       (MIPS_MOVE): Likewise.
+       (MIPS_LUI): Likewise.
+       (MIPS_JR): Likewise.
+       (MIPS_BAL): Likewise.
+       (MIPS_NOP): Likewise.
+       (mips_asm_trampoline_template): Delete.
+       (mips_trampoline_code_size): New function.
+       (mips_trampoline_init): Add shorter sequences for all cases
+       except Pmode == DImoe && !TARGET_USE_PIC_FN_ADDR_REG.
+       Calculate the opcodes directly, rather than copying from a template.
+       Only flush the code part of the trampoline.
+       (TARGET_ASM_TRAMPOLINE_TEMPLATE): Delete.
+
 2009-10-05  Richard Sandiford  <rdsandiford@googlemail.com>
 
        * config/mips/mips.h (DWARF_FRAME_RETURN_COLUMN): Replace
 
 2009-10-05  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
 
-        * config/arm/arm.c (arm_override_options): Really initialize
-        flag_dwarf2_cfi_asm to 0.
+       * config/arm/arm.c (arm_override_options): Really initialize
+       flag_dwarf2_cfi_asm to 0.
 
 2009-10-05  Doug Kwan  <dougkwan@google.com>
 
            Richard Guenther  <rguenther@suse.de>
            Jan Hubicka  <jh@suse.cz>
            Doug Kwan <dougkwan@google.com>
-           H.J. Lu  <hongjiu.lu@intel.com> 
+           H.J. Lu  <hongjiu.lu@intel.com>
            Bill Maddox  <maddox@google.com>
            Ryan Mansfield  <rmansfield@qnx.com>
            Diego Novillo  <dnovillo@google.com>
            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>
 
-       * config/i386/i386.md (divmod<mode>4) Macroize expander from
-       divmoddi4, divmodsi4 and divmodhi4 patterns using SWI248 macro.
+       * config/i386/i386.md (SWIM248): New mode iterator.
+       (divmod<mode>4) Macroize expander from divmoddi4, divmodsi4 and
+       divmodhi4 patterns using SWIM248 macro.
        (*divmod<mode>4): Macroize insn_and_split pattern from
        *divmoddi4_cltd_rex64, *divmodsi4_cltd and divmodhi4 insn patterns
-       and their corresponding splitters usign SWI248 macro.  Split SImode
+       and their corresponding splitters usign SWIM248 macro.  Split SImode
        insn to generate cltd and DImode insn to generate cqto instead of
        move+shift when optimizing for size or TARGET_USE_CLTD is in effect.
        (*divmoddi4_nocltd_rex64, *divmodsi4_nocltd): Remove insn patterns.
        (*divmod<mode>4_noext): Macroize insn from *divmoddi_noext_rex64 and
-       *divmodsi_noext patterns using SWI248 macro.
+       *divmodsi_noext patterns using SWIM248 macro.
        (udivmod<mode>4): Macroize expander from udivmoddi4, udivmodsi4 and
-       udivmodhi4 patterns using SWI248 macro.
+       udivmodhi4 patterns using SWIM248 macro.
        (*udivmod<mode>4): Macroize insn_and_split pattern from
        *udivmoddi4, udivmodsi4 and udivmodhi4 patterns and their
-       corresponding splitters using SWI248 macro.
+       corresponding splitters using SWIM248 macro.
        (*udivmod<mode>4_noext): Macroize insn from *udivmoddi4_noext,
-       *udivmodsi4_noext and *udivmodhi_noext patterns using SWI248 macro.
+       *udivmodsi4_noext and *udivmodhi_noext patterns using SWIM248 macro.
 
 2009-10-02  Eric Botcazou  <ebotcazou@adacore.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>