+2011-06-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * tree-flow-inline.h (op_iter_init): Reject GIMPLE_PHI stmts.
+ (num_ssa_operands): Likewise.
+ (op_iter_init_phiuse): Forward-declare.
+ (delink_stmt_imm_use): Iterate with FOR_EACH_PHI_OR_STMT_USE.
+
+2011-06-08 Nick Clifton <nickc@redhat.com>
+
+ * doc/invoke.texi (ARM Options): Update description of
+ -mthumb-interwork.
+
+2011-06-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Support
+ unknown Intel family 0x6 CPUs.
+
+2011-06-08 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (mark_rw_status): Removed.
+ (analyze_access_subtree): New parameter parent instead of
+ mark_read and mark_write, propagate from that.
+
+2011-06-08 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
+ for double-precision helper functions in hard-float mode if only
+ single-precision arithmetic is supported in hardware.
+
+2011-06-08 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/49303
+ * sel-sched.c (move_op): Use correct type for 'res'. Verify that
+ code_motion_path_driver returned 0 or 1.
+ (sel_region_finish): Clear h_d_i_d.
+
+2011-06-08 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (prepare_move_operands): Set pic register
+ appropriately for global and local dynamic tls models even
+ if flag_pic is unset.
+
+2011-06-07 Jason Merrill <jason@redhat.com>
+
+ * pretty-print.h (ATTRIBUTE_GCC_PPDIAG): Use GCC_DIAG_STYLE if set.
+
+2011-06-07 Xinliang David Li <davidxl@google.com>
+ * passes.c (enable_disable_pass): Handle assembler name.
+ (is_pass_explicitly_enabled_or_disabled): Ditto.
+
+2011-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR tree-optimization/48497
+ * doc/sourcebuild.texi (Directives, dg-additional-options): Document.
+
+2011-06-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/46728
+ * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Change FIXME
+ to use gimple_val_nonnegative_real_p.
+ * gimple-fold.c (gimple_val_nonnegative_real_p): New function.
+ * gimple.h (gimple_val_nonnegative_real_p): New declaration.
+
+2011-06-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (*movsf_internal): Optimize AVX check.
+
+2011-06-07 Sergey Grechanik <mouseentity@ispras.ru>
+
+ * config/arm/arm.c (coproc_secondary_reload_class): Return NO_REGS for
+ constant vectors.
+
+2011-06-07 Richard Guenther <rguenther@suse.de>
+
+ * stor-layout.c (initialize_sizetypes): Initialize all
+ sizetypes based on target definitions.
+ (set_sizetype): Remove.
+ * tree.c (build_common_tree_nodes): Do not call set_sizetype.
+ * tree.h (set_sizetype): Remove.
+
+2011-06-07 Nick Clifton <nickc@redhat.com>
+
+ * config.gcc: Unify V850 architecture options and add support for
+ newer V850 architectures.
+ * config/v850/t-v850e: Delete.
+
+2011-06-07 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (build_common_tree_nodes): Also initialize size_type_node.
+ Call set_sizetype from here.
+
+2011-06-07 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm.md (*maddhidi4tb, *maddhidi4tt): New define_insns.
+ (*maddhisi4tb, *maddhisi4tt): New define_insns.
+
+2011-06-07 Bernd Schmidt <bernds@codesourcery.com>
+ Andrew Stubbs <ams@codesourcery.com>
+
+ * simplify-rtx.c (simplify_unary_operation_1): Canonicalize widening
+ multiplies.
+ * doc/md.texi (Canonicalization of Instructions): Document widening
+ multiply canonicalization.
+
+2011-06-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR gcov-profile/49299
+ * value-prof.c (gimple_ic): Don't assume icall has
+ a fallthru edge.
+
+2011-06-07 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vectorizer.h (vect_recog_func_ptr): Make last argument to be
+ a pointer.
+ * tree-vect-patterns.c (vect_recog_widen_sum_pattern,
+ vect_recog_widen_mult_pattern, vect_recog_dot_prod_pattern,
+ vect_recog_pow_pattern): Likewise.
+ (vect_pattern_recog_1): Remove declaration.
+ (widened_name_p): Remove declaration. Add new argument to specify
+ whether to check that both types are either signed or unsigned.
+ (vect_recog_widen_mult_pattern): Update documentation. Handle
+ unsigned patterns and multiplication by constants.
+ (vect_pattern_recog_1): Update vect_recog_func references. Use
+ statement information from the statement returned from pattern
+ detection functions.
+ (vect_pattern_recog): Update vect_recog_func reference.
+ * tree-vect-stmts.c (vectorizable_type_promotion): For widening
+ multiplication by a constant use the type of the other operand.
+
+2011-06-06 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR rtl-optimization/49145
+ * combine.c (make_compound_operation): Handle ZERO_EXTEND specially.
+
+2011-06-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49262
+ * dwarf2out.c (native_encode_initializer): Decrement count in each
+ iteration.
+
+ PR debug/49294
+ * dwarf2out.c (mem_loc_descriptor) <do_shift>: Give up for
+ non-MODE_INT modes.
+
+ PR c++/49264
+ * gimple-fold.c (fold_stmt_1): Don't try to fold *& on the lhs
+ if stmt folded into nothing.
+ * tree-inline.c (fold_marked_statements): If a builtin at the
+ end of a bb folded into nothing, just update cgraph edges
+ and move to next bb.
+ * cgraph.c (cgraph_update_edges_for_call_stmt_node): Allow new_stmt
+ to be NULL. Don't compute count and frequency if new_call is NULL.
+
+2011-06-04 Diego Novillo <dnovillo@google.com>
+
+ * Makefile.in (lto-compress.o): Add dependency on LTO_STREAMER_H.
+ (cgraph.o): Likewise.
+ (cgraphunit.o): Likewise.
+ * cgraphunit.c: Include lto-streamer.h
+ (cgraph_finalize_compilation_unit): Call lto_streamer_hooks_init
+ if LTO is enabled.
+ * lto-streamer-in.c (unpack_value_fields): Call
+ streamer_hooks.unpack_value_fields if set.
+ (lto_materialize_tree): For unhandled nodes, first try to
+ call lto_streamer_hooks.alloc_tree, if it exists.
+ (lto_input_ts_decl_common_tree_pointers): Move reading of
+ DECL_INITIAL to lto_streamer_read_tree.
+ (lto_read_tree): Call lto_streamer_hooks.read_tree if set.
+ (lto_streamer_read_tree): New.
+ (lto_reader_init): Rename from lto_init_reader.
+ Move initialization code to lto/lto.c.
+ * lto-streamer-out.c (pack_value_fields): Call
+ streamer_hooks.pack_value_fields if set.
+ (lto_output_tree_ref): For tree nodes that are not
+ normally indexable, call streamer_hooks.indexable_with_decls_p
+ before giving up.
+ (lto_output_ts_decl_common_tree_pointers): Move handling
+ for FUNCTION_DECL and TRANSLATION_UNIT_DECL to
+ lto_streamer_write_tree.
+ (lto_output_tree_header): Call streamer_hooks.is_streamable
+ instead of lto_is_streamable.
+ Call lto_streamer_hooks.output_tree_header if set.
+ (lto_write_tree): Call lto_streamer_hooks.write_tree if
+ set.
+ (lto_streamer_write_tree): New.
+ (lto_output): Call lto_streamer_init directly.
+ (lto_writer_init): Remove.
+ * lto-streamer.c (streamer_hooks): New.
+ (lto_streamer_cache_create): Call streamer_hooks.preload_common_nodes
+ instead of lto_preload_common_nodes.
+ (lto_is_streamable): Move from lto-streamer.h
+ (lto_streamer_hooks_init): New.
+ (streamer_hooks): New.
+ (streamer_hooks_init): New.
+ * lto-streamer.h (struct output_block): Forward declare.
+ (struct lto_input_block): Likewise.
+ (struct data_in): Likewise.
+ (struct bitpack_d): Likewise.
+ (struct streamer_hooks): Declare.
+ (streamer_hooks): Declare.
+ (lto_streamer_hooks_init): Declare.
+ (lto_streamer_write_tree): Declare.
+ (lto_streamer_read_tree): Declare.
+ (streamer_hooks_init): Declare.
+ (lto_is_streamable): Move to lto-streamer.c
+
+2011-06-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * longlong.h (smul_ppmm): The resulting register pair contains the
+ higher order word first.
+
+2011-06-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/46728
+ * builtins.c (powi_table): Remove.
+ (powi_lookup_cost): Remove.
+ (powi_cost): Remove.
+ (expand_powi_1): Remove.
+ (expand_powi): Remove.
+ (expand_builtin_pow_root): Remove.
+ (expand_builtin_pow): Remove.
+ (expand_builtin_powi): Eliminate handling of constant exponent.
+ (expand_builtin): Use expand_builtin_mathfn_2 for BUILT_IN_POW.
+
+2011-06-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * cprop.c (local_cprop_pass): Don't set changed for debug insns.
+
+2011-06-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * dce.c (reset_unmarked_insns_debug_uses): New.
+ (delete_unmarked_insns): Skip debug insns.
+ (prescan_insns_for_dce): Likewise.
+ (rest_of_handle_ud_dce): Reset debug uses of removed sets.
+ * reg-stack.c (subst_stack_regs_in_debug_insn): Signal when no
+ active reg can be found.
+ (subst_all_stack_regs_in_debug_insn): New. Reset debug insn then.
+ (convert_regs_1): Use it.
+
+2011-06-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * tree-pretty-print.c (dump_function_header): Add flags.
+ Don't dump decl_uid with nouid.
+ * tree-pretty-print.h (dump_function_header): Adjust.
+ * final.c (rest_of_clean_state): Pass dump_flags on, with nouid.
+ * passes.c (pass_init_dump_file): Pass dump_flags on.
+ * tree-cfg.c (gimple_dump_cfg): Pass flags on.
+
+2011-06-06 Alexandre Oliva <aoliva@redhat.com>
+
+ PR bootstrap/49270
+ * ipa-inline-analysis.c (read_predicate): Initialize all clauses.
+
+2011-06-06 Mikael Pettersson <mikpe@it.uu.se>
+
+ PR tree-optimization/49243
+ * calls.c (setjmp_call_p): Also check if fndecl has the
+ returns_twice attribute.
+
+2011-06-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/mips/iris6.h (ENDFILE_SPEC): Use crtfastmath.o if
+ -ffast-math etc.
+
+2011-06-06 Richard Henderson <rth@redhat.com>
+ Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/42210
+ * config/avr/predicates.md (const1_operand, const_0_to_7_operand):
+ New predicates.
+ * config/avr/avr.md ("insv"): New insn expander.
+ ("*movbitqi.1-6.a", "*movbitqi.1-6.b", "*movbitqi.0", "*insv.io",
+ "*insv.not.io", "*insv.reg"): New insns.
+
+2011-06-06 Hans-Peter Nilsson <hp@bitrange.com>
+
+ PR target/49285
+ * config/mmix/mmix.md ("truncdfsf2", "extendsfdf2"): Correct
+ predicate to nonimmediate_operand from memory_operand for the
+ operand that is to be forced to memory by the expander. Lose
+ the constraints.
+
+2011-06-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c (output_return): Fix thinko in the output of an
+ EH return when delayed branches are disabled.
+
+2011-06-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movdf_internal_rex64) <case 8,9,10>:
+ Remove MODE_TI handling. Remove SSE1 handling in attribute "mode"
+ calculation.
+ (*movdf_internal_rex64) <case 6,7,8>: Remove MODE_TI handling.
+ Simplify MODE_V1DF and MODE_V2SF handling.
+ (*movsf_internal): Remove x constraint from alternative 7 of operand 1.
+ Simplify MODE_SF handling.
+
+2011-06-04 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/48893
+ PR tree-optimization/49091
+ PR tree-optimization/49179
+ * ipa-inline-analysis.c (evaluate_conditions_for_known_args):
+ Bounds check.
+
+2011-06-04 Jan Hubicka <jh@suse.cz>
+
+ PR lto/48954
+ * lto-cgraph.c (output_node_opt_summary): Handle NULL skip args bitmaps.
+
+2011-06-04 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/invoke.texi: Document -Wdelete-non-virtual-dtor.
+
+2011-06-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/49281
+ * config/i386/i386.md (*lea_general_4): Require INTVAL (operands[3])
+ to be strictly smaller than 1 << shiftcount.
+
+2011-06-04 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimize/48929
+ * ipa-inline-analysis.c (remap_edge_predicates): Fix handling
+ of empty predicate.
+
+2011-06-04 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/48333
+ * calls.c (emit_call_1): Prefer the __builtin declaration of
+ builtin functions.
+
+2011-06-03 Diego Novillo <dnovillo@google.com>
+
+ * lto-streamer-in.c (unpack_value_fields): Remove unneeded asserts.
+ (lto_input_tree_pointers): Likewise.
+ * lto-streamer-out.c (pack_value_fields): Likewise.
+ (lto_output_tree_pointers): Likewise.
+ * lto-streamer.h (lto_is_streamable): Add check for OMP_CLAUSE
+ and OPTIMIZATION_NODE.
+
+2011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/alpha/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/alpha/osf5.h (MD_UNWIND_SUPPORT): Remove.
+ * config/alpha/vms.h (MD_UNWIND_SUPPORT): Remove.
+ * config/bfin/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/bfin/uclinux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/i386/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/i386/linux64.h (MD_UNWIND_SUPPORT): Remove.
+ * config/i386/sol2.h (MD_UNWIND_SUPPORT): Remove.
+ * config/i386/mingw32.h (MD_UNWIND_SUPPORT): Remove.
+ * config/ia64/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/ia64/vms.h (MD_UNWIND_SUPPORT): Remove.
+ * config/m68k/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/mips/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/pa/pa-hpux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/pa/pa32-linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Remove.
+ * config/rs6000/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/rs6000/linux64.h (MD_UNWIND_SUPPORT): Remove.
+ * config/s390/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/s390/tpf.h (MD_UNWIND_SUPPORT): Remove.
+ * config/sh/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/sparc/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/sparc/linux64.h (MD_UNWIND_SUPPORT): Remove.
+ * config/sparc/sol2.h (MD_UNWIND_SUPPORT): Remove.
+ * config/xtensa/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/alpha/linux-unwind.h: Move to ../libgcc/config/alpha.
+ * config/alpha/osf5-unwind.h: Move to ../libgcc/config/alpha.
+ * config/alpha/vms-unwind.h: Move to ../libgcc/config/alpha.
+ * config/bfin/linux-unwind.h: Move to ../libgcc/config/bfin.
+ * config/i386/linux-unwind.h: Move to ../libgcc/config/i386.
+ * config/i386/sol2-unwind.h: Move to ../libgcc/config/i386.
+ * config/i386/w32-unwind.h: Move to ../libgcc/config/i386.
+ * config/ia64/linux-unwind.h: Move to ../libgcc/config/ia64.
+ * config/ia64/vms-unwind.h: Move to ../libgcc/config/ia64.
+ * config/m68k/linux-unwind.h: Move to ../libgcc/config/m68k.
+ * config/mips/linux-unwind.h: Move to ../libgcc/config/mips.
+ * config/pa/hpux-unwind.h: Move to ../libgcc/config/pa.
+ * config/pa/linux-unwind.h: Move to ../libgcc/config/pa.
+ * config/rs6000/darwin-unwind.h: Move to ../libgcc/config/rs6000.
+ * config/rs6000/linux-unwind.h: Move to ../libgcc/config/rs6000.
+ * config/s390/linux-unwind.h: Move to ../libgcc/config/s390.
+ * config/s390/tpf-unwind.h: Move to ../libgcc/config/s390.
+ * config/sh/linux-unwind.h: Move to ../libgcc/config/sh.
+ * config/sparc/linux-unwind.h: Move to ../libgcc/config/sparc.
+ * config/sparc/sol2-unwind.h: Move to ../libgcc/config/sparc.
+ * config/xtensa/linux-unwind.h: Move to ../libgcc/config/xtensa.
+ * config/darwin9.h (DARWIN_LIBSYSTEM_HAS_UNWIND): Remove.
+ * system.h (MD_UNWIND_SUPPORT): Poison.
+ * doc/tm.texi.in (Exception Handling, MD_UNWIND_SUPPORT): Remove.
+ * doc/tm.texi: Regenerate.
+ * unwind-dw2.c: Include md-unwind-support.h instead of
+ MD_UNWIND_SUPPORT.
+ * config/ia64/unwind-ia64.c: Likewise.
+ * config/xtensa/unwind-dw2-xtensa.c: Likewise.
+
+2011-06-03 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * varpool.c (varpool_extra_name_alias): Return NULL, not false.
+
+2011-06-03 Richard Henderson <rth@redhat.com>
+ Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]
+ (sigill_hdlr): Correct insn, insn size.
+ (set_fast_math) [!__x86_64__ && __sun__ && __svr4__]: Use movaps.
+
2011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config.gcc (mips-sgi-irix6.5*): Set tmake_file to mips/t-irix6
(lto_register_var_decl_in_symtab): Likewise.
(lto_register_function_decl_in_symtab): Likewise.
(lto_read_tree): Move VAR_DECL and FUNCTION_DECL registration
- logic to lto_read_decls.
+ logic to uniquify_nodes.
2011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/arm/arm-cores.def (strongarm, strongarm110, strongarm1100)
(strongarm1110): Use strongarm tuning.
- * config/arm/arm-protos.h (tune_params): Add max_insns_skipped
- field.
+ * config/arm/arm-protos.h (tune_params): Add max_insns_skipped field.
* config/arm/arm.c (arm_strongarm_tune): New.
(arm_slowmul_tune, arm_fastmul_tune, arm_xscale_tune, arm_9e_tune)
(arm_v6t2_tune, arm_cortex_tune, arm_cortex_a5_tune)