Fix a typo in gcov.texi.
[gcc.git] / gcc / ChangeLog
index fc19389247104badb3572eb49a6329ef3701d1c8..b24a62cc9b38b617a68972bf8e70293fbb3bdfcf 100644 (file)
@@ -1,3 +1,879 @@
+2012-09-27  Marek Polacek  <polacek@redhat.com>
+
+       * doc/gcov.texi (Gcov Data Files): Fix a typo.
+
+2012-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/54703
+       * simplify-rtx.c (simplify_binary_operation_1): Perform
+       (x - (x & y)) -> (x & ~y) optimization only for integral
+       modes.
+
+2012-09-27  Marc Glisse  <marc.glisse@inria.fr>
+
+       PR c/53024
+       PR c++/54427
+       * doc/extend.texi (Vector Extensions): C++ improvements.
+       Power of 2 size requirement.
+
+2012-09-27  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/54709
+       * lto-symtab.c (resolution_guessed_p): Remove.
+       (set_resolution_guessed): Likewise.
+       (lto_symtab_register_decl): Remove assert.
+       (lto_symtab_resolve_symbols): Do not alter symbol resolutions
+       and return the prevailing symbol, checking for multiple prevailing
+       symbols here.
+       (lto_symtab_merge_decls_1): Use the result from
+       lto_symtab_resolve_symbols.  Do not alter symbol resolutions.
+
+2012-09-26  Steve Ellcey  <sellcey@mips.com>
+
+       PR web/54711
+       * doc/install.texi: Fix example.
+
+2012-09-26  Dehao Chen  <dehao@google.com>
+
+        * tree-ssa-live.c (clear_unused_block_pointer): Use explicitit (void)
+       for function parameter.
+       (remove_unused_locals): Don't use LOCATION_BLOCK if it is NULL.
+
+2012-09-26  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       * doc/extend.texi (bswap Builtins): Change signed types to unsigned
+       types.
+
+2012-09-26  Ian Lance Taylor  <iant@google.com>
+
+       * diagnostic.c (bt_callback): Cast pc when calling fprintf.
+
+2012-09-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       PR tree-optimization/54674
+       * gimple-ssa-strength-reduction.c (analyze_increments): Don't
+       introduce a multiplication with a pointer operand.
+
+2012-09-26  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR middle-end/54635
+       * doc/tm.texi.in (TARGET_MODE_DEPENDENT_ADDRESS_P): Document new
+       parameter addrspace.
+       * doc/tm.texi: Regenerate.
+       * target.def (mode_dependent_address_p): Add addr_space_t parameter.
+       * targhooks.h (default_mode_dependent_address_p): Ditto.
+       * targhooks.c (default_mode_dependent_address_p): Ditto.
+       * expr.c (convert_move): Pass address space to mode_dependent_address_p.
+       * combine.c (combine_simplify_rtx): Ditto.
+       (make_extraction): Ditto.
+       (simplify_shift_const_1): Ditto.
+       (gen_lowpart_for_combine): Ditto.
+       * lower-subreg.c (simple_move_operand): Ditto.
+       * recog.c (simplify_while_replacing): Ditto.
+       (offsettable_address_addr_space_p): Ditto.
+       (mode_dependent_address_p): Ditto.
+       * simplify-rtx.c (simplify_unary_operation_1): Ditto.
+       (simplify_subreg): Ditto.
+       * config/m68k/m68k.md: Ditto.
+       * config/vax/vax.md: Ditto.
+       * config/vax/constraints.md (Q): Ditto.
+       * config/vax/predicates.md (indexed_memory_operand): Ditto.
+       * config/alpha/alpha.c (alpha_mode_dependent_address_p): Add
+       unused addr_space_t parameter.
+       * config/avr/avr.c (avr_mode_dependent_address_p): Ditto.
+       * config/h8300/h8300.c (h8300_mode_dependent_address_p): Ditto.
+       * config/m32r/m32r.c (m32r_mode_dependent_address_p): Ditto.
+       * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): Ditto.
+       * config/rx/rx.c (rx_mode_dependent_address_p): Ditto.
+       * config/sparc/sparc.c (sparc_mode_dependent_address_p): Ditto.
+       * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
+       Ditto.
+       * config/vax/vax.c (vax_mode_dependent_address_p): Ditto.
+       * config/xtensa/xtensa.c (xtensa_mode_dependent_address_p): Ditto.
+
+2012-09-26  Christophe Lyon <christophe.lyon@linaro.org>
+
+       * tree-ssa-math-opts.c (bswap_stats): Add found_16bit field.
+       (execute_optimize_bswap): Add support for builtin_bswap16.
+
+2012-09-26  Richard Guenther  <rguenther@suse.de>
+
+       * tree.h (DECL_IS_BUILTIN): Compare LOCATION_LOCUS.
+
+2012-09-26  Ian Lance Taylor  <iant@google.com>
+
+       * diagnostic.c: Include "demangle.h" and "backtrace.h".
+       (bt_stop): New static array.
+       (bt_callback, bt_err_callback): New static functions.
+       (diagnostic_action_after_output): Call backtrace_full for DK_ICE.
+       * Makefile.in (BACKTRACE): New variable.
+       (BACKTRACEINC, LIBBACKTRACE): New variables.
+       (BACKTRACE_H): New variable.
+       (LIBDEPS, LIBS): Add $(LIBBACKTRACE).
+       (INCLUDES): Add $(BACKTRACEINC).
+       (diagnostic.o): Depend upon $(DEMANGLE_H) and $(BACKTRACE_H).
+
+2012-09-25  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/51274
+       PR target/53087
+       * config/rs6000/rs6000.md (ne0si): Remove unnecessary
+       earlyclobber.  Merge with...
+       (ne0di): ... to...
+       (ne0_<mode>): New.
+       (plus_ne0si): Merge with...
+       (plus_ne0di): ... to...
+       (plus_ne0_<mode>): New.
+       (compare_plus_ne0si): Merge with...
+       (compare_plus_ne0di)... to...
+       (compare_plus_ne0_<mode>): New.
+       (compare_plus_ne0_<mode>_1): New.
+       (plus_ne0si_compare): Merge with...
+       (plus_ne0di_compare)... to...
+       (plus_ne0_<mode>_compare): New.
+
+2012-09-25  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/54089
+       * config/sh/constraints.md (Jhb): New constraint.
+       * config/sh/predicates.md (negt_reg_shl31_operand): New predicate.
+       * config/sh/sh.md (rotrsi3): New expander.
+       (rotrsi3_1, *rotrsi3_1, *rotlsi3_1): New insns.
+       (rotlsi3, rotlhi3): Use const_int_operand predicate instead of
+       immediate_operand and remove CONST_INT_P checks in expansion code.
+       (*rotcr): Cleanup variable usage.  Handle preceding nott insn.  Add
+       split with swapped operands.
+       (*rotcr_neg_t, *movt_msb, *negt_msb): New insns and splits.
+
+2012-09-25  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR middle-end/53850
+       * trans-mem.c (expand_call_tm): Handle late built built-ins.
+
+2012-09-25  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR other/54701
+       * config/avr/avr-log.c (avr_double_int_pop_digit): Rewrite using
+       double_int::udivmod.
+
+2012-09-25  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr.c (avr_set_current_function): Check cfun->machine
+       to be non-NULL.
+
+2012-09-25  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/54641
+       * config/avr/t-avr: Use ALL_COMPILERFLAGS instead of ALL_CFLAGS
+       for sources compiled with COMPILER.
+       
+2012-09-25  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/54625
+       * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Do not merge
+       cgraph nodes for builtins.
+
+2012-09-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/54676
+       * tree-vrp.c (set_and_canonicalize_value_range): Handle
+       one bit precision properly.
+
+       PR other/54692
+       * configure.ac (CFLAGS, CXXFLAGS): Remove -Ofast or -Og
+       properly.
+       * configure: Regenerated.
+
+2012-09-25  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR other/54701
+       * config/avr/avr.c (avr_map_decompose): Use double_int::from_uhwi
+       instead of uhwi_to_double_int.
+
+2012-09-25  Richard Guenther  <rguenther@suse.de>
+
+       * lto-symtab.c (lto_symtab_merge_decls_1): Properly merge
+       all of the chain.
+
+2012-09-25  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/53663
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Conditional
+       native encode/interpret translation on VN_WALKREWRITE.
+
+2012-09-24  Dehao Chen  <dehao@google.com>
+
+       * tree-cfg.c (move_stmt_op): Reset the expr block only
+       when necessary.
+       (move_block_to_fn): Reset the edge's goto block even
+       when the goto locus is unknown.
+
+2012-09-24  Lawrence Crowl  <crowl@google.com>
+
+       * double-int.h (double_int::from_pair): New.
+       (double_int::wide_mul_with_sign): New.
+       (double_int::sub_with_overflow): New.
+       (double_int::neg_with_overflow): New.
+       (double_int::divmod_with_overflow): New.
+       (shwi_to_double_int): Remove.
+       (uhwi_to_double_int): Remove.
+       (double_int_to_shwi): Remove.
+       (double_int_to_uhwi): Remove.
+       (double_int_fits_in_uhwi_p): Remove.
+       (double_int_fits_in_shwi_p): Remove.
+       (double_int_fits_in_hwi_p): Remove.
+       (double_int_mul): Remove.
+       (double_int_mul_with_sign): Remove.
+       (double_int_add): Remove.
+       (double_int_sub): Remove.
+       (double_int_neg): Remove.
+       (double_int_div): Remove.
+       (double_int_sdiv): Remove.
+       (double_int_udiv): Remove.
+       (double_int_mod): Remove.
+       (double_int_smod): Remove.
+       (double_int_umod): Remove.
+       (double_int_divmod): Remove.
+       (double_int_sdivmod): Remove.
+       (double_int_udivmod): Remove.
+       (double_int_multiple_of): Remove.
+       (double_int_setbit): Remove.
+       (double_int_ctz): Remove.
+       (double_int_not): Remove.
+       (double_int_ior): Remove.
+       (double_int_and): Remove.
+       (double_int_and_not): Remove.
+       (double_int_xor): Remove.
+       (double_int_lshift): Remove.
+       (double_int_rshift): Remove.
+       (double_int_lrotate): Remove.
+       (double_int_rrotate): Remove.
+       (double_int_negative_p): Remove.
+       (double_int_cmp): Remove.
+       (double_int_scmp): Remove.
+       (double_int_ucmp): Remove.
+       (double_int_max): Remove.
+       (double_int_smax): Remove.
+       (double_int_umax): Remove.
+       (double_int_min): Remove.
+       (double_int_smin): Remove.
+       (double_int_umin): Remove.
+       (double_int_ext): Remove.
+       (double_int_sext): Remove.
+       (double_int_zext): Remove.
+       (double_int_mask): Remove.
+       (double_int_max_value): Remove.
+       (double_int_min_value): Remove.
+       (double_int_zero_p): Remove.
+       (double_int_one_p): Remove.
+       (double_int_minus_one_p): Remove.
+       (double_int_equal_p): Remove.
+       (double_int_popcount): Remove.
+       (extern add_double_with_sign): Remove.
+       (#define add_double): Remove.
+       (extern neg_double): Remove.
+       (extern mul_double_with_sign): Remove.
+       (extern mul_double_wide_with_sign): Remove.
+       (#define mul_double): Remove.
+       (extern lshift_double): Remove.
+       (extern div_and_round_double): Remove.
+       * double-int.c (add_double_with_sign): Make static.
+       (#defined add_double): Localized from header.
+       (neg_double): Make static.
+       (mul_double_with_sign): Make static.
+       (mul_double_wide_with_sign): Make static.
+       (#defined mul_double): Localized from header.
+       (lshift_double): Make static.
+       (div_and_round_double): Make static.
+       (double_int::wide_mul_with_sign): New.
+       (double_int::sub_with_overflow): New.
+       (double_int::neg_with_overflow): New.
+       (double_int::divmod_with_overflow): New.
+       * emit-rtl.c (init_emit_once): Change to new double_int API.
+       * explow.c (plus_constant): Likewise.
+       * expmed.c (choose_multiplier): Likewise.
+       * fold-const.c (#define OVERFLOW_SUM_SIGN): Remove.
+       (int_const_binop_1): Change to new double_int API.
+       (fold_div_compare): Likewise.
+       (maybe_canonicalize_comparison): Likewise.
+       (pointer_may_wrap_p): Likewise.
+       (fold_negate_const): Likewise.
+       (fold_abs_const): Likewise.
+       * simplify-rtx.c (simplify_const_unary_operation): Likewise.
+       (simplify_const_binary_operation): Likewise.
+       * tree-chrec.c (tree_fold_binomial): Likewise.
+       * tree-vrp.c (extract_range_from_binary_expr_1): Likewise.
+       * config/sparc/sparc.c (sparc_fold_builtin): Likewise.
+       * config/avr/avr.c (avr_double_int_push_digit): Likewise.
+       (avr_map): Likewise.
+       (avr_map_decompose): Likewise.
+       (avr_out_insert_bits): Likewise.
+
+2012-09-24  Janis Johnson  <janisjo@codesourcery.com>
+
+       doc/sourcebuild.texi (Selectors): Document the use of target
+       and xfail used together.
+
+2012-09-24  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/54632
+       * tree-ssa-live.c (clear_unused_block_pointer_1): Do not
+       handle DECL_DEBUG_EXPR_IS_FROM here...
+       (clear_unused_block_pointer): ... but here when walking all
+       local decls.
+
+2012-09-24  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/54684
+       * tree-ssa-ccp.c (optimize_unreachable): Properly update stmts.
+
+2012-09-24  Marc Glisse  <marc.glisse@inria.fr>
+
+       * tree-ssa-forwprop.c: Include tree-ssa-propagate.h.
+       (simplify_bitfield_ref): Handle constructors.
+       * Makefile.in (tree-ssa-forwprop.o): Depend on tree-ssa-propagate.h.
+
+2012-09-24  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-pre.c (bitmap_find_leader, create_expression_by_pieces,
+       find_or_generate_expression): Remove dominating stmt argument.
+       (find_leader_in_sets, phi_translate_1, bitmap_find_leader,
+       create_component_ref_by_pieces_1, create_component_ref_by_pieces,
+       do_regular_insertion, do_partial_partial_insertion): Adjust.
+       (compute_avail): Do not set uids.
+
+2012-09-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
+       TYPE_NONALIASED_COMPONENT flag.
+       * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
+       TYPE_NONALIASED_COMPONENT flag.
+
+2012-09-24  Jia Liu  <proljc@gmail.com>
+
+       * doc/lto.texi: Separate sections.
+       * doc/plugins.texi: Likewise.
+
+2012-09-24  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/52173
+       * gimple.c (gimple_copy): Properly mark the copy modified
+       if SSA operands are present.
+
+2012-09-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/54669
+       * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Invoke
+       maybe_clean_or_replace_eh_stmt on the modified use statements.
+
+2012-09-23  Marc Glisse  <marc.glisse@inria.fr>
+
+       * expr.c (do_store_flag): Remove duplicated code.
+
+2012-09-22  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/predicates.md (altivec_register_operand,
+       vsx_register_operand, vfloat_operand, vint_operand,
+       vlogical_operand, gpc_reg_operand, cc_reg_operand,
+       cc_reg_not_cr0_operand, cc_reg_not_micro_cr0_operand):
+       If op is a SUBREG, consider its SUBREG_REG instead.
+
+2012-09-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       * optabs.c (prepare_cmp_insn): Expand comparison of the result
+       of memcmp through generic comparison expansion code.
+
+2012-09-21  Jack Howarth  <howarth@bromo.med.uc.edu>
+
+       PR bootstrap/54642
+       * Makefile.in (lto-symtab.o): Remove gt-lto-symtab.h dependency.
+
+2012-09-21  Dehao Chen  <dehao@google.com>
+
+       PR go/54649
+       * tree-eh.c (lower_try_finally_dup_block): Set the correct block for
+       stmts in the duplicated EH block.
+
+2012-09-21  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/54647
+       * tree-ssa-pre.c (compute_avail): Do not put COND_EXPR
+       or VEC_COND_EXPR into EXP_GEN again.
+
+2012-09-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/54629
+       * tree-loop-distribution.c (classify_partition): Free loop nest only
+       after freeing ddr.  Free ddr and loop nest also if successful.
+
+2012-09-21  Matthias Klose  <doko@ubuntu.com>
+
+       * config/arm/arm.c (arm_mangle_type): Don't warn anymore that
+       4.4 has changed the `va_list' mangling.
+
+2012-09-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/54290
+       PR rtl-optimization/54644
+       * reload1.c (choose_reload_regs): Fix thinko in previous change.
+
+2012-09-20  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md (define_split for plus_eqsi):
+       Fix output pattern.
+
+2012-09-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * reload1.c (choose_reload_regs): Add missing #ifdef/#endif pair.
+
+2012-09-20  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR bootstrap/54643
+       * haifa-sched.c (schedule_block): Skip find_modifiable_mems if using
+       SCHED_PRESSURE_MODEL.
+
+2012-09-20  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       * rtlanal.c (dead_or_set_regno_p): Fix COND_EXEC handling.
+
+2012-09-20  Marek Polacek  <polacek@redhat.com>
+
+       * tree-ssa-operands.c (get_expr_operands): Merge identical cases.
+
+2012-09-20  Marek Polacek  <polacek@redhat.com>
+
+       * tree-ssa-threadupdate.c (mark_threaded_blocks): Don't cast XNEWVEC's
+       result.
+       (create_edge_and_update_destination_phis): Likewise.
+
+2012-09-20  Martin Jambor  <mjambor@suse.cz>
+
+       * function.c (push_cfun): Check old current_function_decl matches
+       old cfun, set new current_function_decl to the decl of the new cfun.
+       (push_struct_function): Likewise.
+       (pop_cfun): Likewise.
+       (allocate_struct_function): Move call to
+       invoke_set_current_function_hook to the end of the function.
+       * cfgexpand.c (estimated_stack_frame_size): Do not set and restore
+       current_function_decl.
+       * cgraph.c (cgraph_release_function_body): Likewise.
+       * cgraphunit.c (cgraph_process_new_functions): Likewise.
+       (cgraph_add_new_function): Likewise.
+       (cgraph_analyze_function): Likewise.
+       (assemble_thunk): Set cfun to NULL at the end.
+       (expand_function): Move call to set_cfun downwards.
+       * gimple-low.c (record_vars_into): Only check current_function_decl
+       before possibly doing push_cfun.
+       * gimplify.c (gimplify_function_tree): Do not set and restore
+       current_function_decl.
+       * ipa-inline-analysis.c (compute_inline_parameters): Likewise.
+       (inline_analyze_function): Likewise.
+       * ipa-prop.c (ipa_analyze_node): Likewise.
+       * ipa-pure-const.c (analyze_function): Likewise.
+       * lto-streamer-in.c (lto_input_function_body): Do not set
+       current_function_decl.
+       * lto-streamer-out.c (output_function): Do not set and restore
+       current_function_decl.
+       * omp-low.c (finalize_task_copyfn): Likewise.
+       (expand_omp_taskreg): Likewise.
+       (create_task_copyfn): Likewise, move push_cfun up quite a bit.
+       * passes.c (dump_passes): Do not set and restore current_function_decl.
+       (do_per_function): Likewise.
+       (do_per_function_toporder): Likewise.
+       * trans-mem.c (ipa_tm_scan_irr_function): Likewise.
+       (ipa_tm_transform_transaction): Likewise.
+       (ipa_tm_transform_clone): Likewise.
+       (ipa_tm_execute): Likewise.
+       * tree-emutls.c (lower_emutls_function_body): Likewise.
+       * tree-inline.c (initialize_cfun): Do not call pop_cfun.
+       (tree_function_versioning): Do not call push_cfun, do not set and
+       restore current_function_decl.  Remove assert checking consistency of
+       cfun and current_function_decl.
+       * tree-profile.c (tree_profiling): Do not set and restore
+       current_function_decl.
+       * tree-sra.c (convert_callers_for_node): Do not set
+       current_function_decl.
+       (convert_callers): Do not restore current_function_decl.
+       (modify_function): Do not set current_function_decl.
+       * tree-ssa-structalias.c (ipa_pta_execute): Do not set and restore
+       current_function_decl.
+
+2012-09-20  Diego Novillo  <dnovillo@google.com>
+
+       PR target/54631
+       * config/vxworks.c (vxworks_emutls_var_init): Update for new
+       VEC_quick_push interface.
+
+2012-09-20  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/54634
+       * tree-data-ref.c (get_references_in_stmt): For now give
+       up for pure functions.
+
+2012-09-20  Chen Wei-Ren  <chenwj@iis.sinica.edu.tw>
+
+       * doc/lto.texi: Correct typo.
+
+2012-09-19  Dehao Chen  <dehao@google.com>
+
+       * config/s390/s390.c (s390_chunkify_start): Replacing INSN_LOCATOR.
+       * config/spu/spu.c (emit_nop_for_insn): Likewise.
+       (pad_bb): Likewise.
+       (spu_emit_branch_hint): Likewise.
+       (insert_hbrp_for_ilb_runout): Likewise.
+       * config/mep/mep.c (mep_make_bundle): Likewise.
+       (mep_bundle_insns): Likewise.
+       * config/sh/sh.c (gen_block_redirect): Likewise.
+       * config/c6x/c6x.c (gen_one_bundle): Likewise.
+       * config/rs6000/rs6000.c (rs6000_final_prescan_insn): Likewise.
+       * config/picochip/picochip.c (picochip_reorg): Likewise.
+       * config/arm/arm.c (require_pic_register): Likewise.
+       * config/mips/mips.c (mips16_gp_pseudo_reg): Likewise.
+       * config/bfin/bfin.c (gen_one_bundle): Likewise.
+
+2012-09-19  Mark Kettenis  <kettenis@openbsd.org>
+
+       * config.gcc (hppa*-*-openbsd*): New target.
+       * config/pa/pa-openbsd.h: New file.
+       * config/pa/pa32-openbsd.h: New file.
+       * config/host-openbsd.c: Update copyright year.
+       (TRY_EXCEPT_VM_SPACE): Define for OpenBSD/hppa.
+
+2012-09-19  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-prop.c (prune_expression_for_jf): New function.
+       (ipa_set_jf_constant): Use it.
+       (ipa_set_jf_arith_pass_through): Likewise.
+       (determine_known_aggregate_parts): Likewise.
+
+2012-09-19  Steve Ellcey  <sellcey@mips.com>
+
+       * config.gcc (mips*-mti-elf*): New target.
+       * config/mips/mti-elf.h: New file.
+       * config/mips/t-mti-elf: New file.
+
+2012-09-19  Dehao Chen  <dehao@google.com>
+
+       * toplev.c (general_init): Init block_locations.
+       * tree.c (tree_set_block): New.
+       (tree_block): Change to use LOCATION_BLOCK.
+       * tree.h (TREE_SET_BLOCK): New.
+       * final.c (reemit_insn_block_notes): Change to use LOCATION_BLOCK.
+       (final_start_function): Likewise.
+       * input.c (expand_location_1): Likewise.
+       * input.h (LOCATION_LOCUS): New.
+       (LOCATION_BLOCK): New.
+       (IS_UNKNOWN_LOCATION): New.
+       * fold-const.c (expr_location_or): Change to use new location.
+       * reorg.c (emit_delay_sequence): Likewise.
+       (try_merge_delay_insns): Likewise.
+       * modulo-sched.c (dump_insn_location): Likewise.
+       * lto-streamer-out.c (lto_output_location_bitpack): Likewise.
+       * lto-cgraph.c (output_node_opt_summary): Likewise.
+       * jump.c (rtx_renumbered_equal_p): Likewise.
+       * ifcvt.c (noce_try_move): Likewise.
+       (noce_try_store_flag): Likewise.
+       (noce_try_store_flag_constants): Likewise.
+       (noce_try_addcc): Likewise.
+       (noce_try_store_flag_mask): Likewise.
+       (noce_try_cmove): Likewise.
+       (noce_try_cmove_arith): Likewise.
+       (noce_try_minmax): Likewise.
+       (noce_try_abs): Likewise.
+       (noce_try_sign_mask): Likewise.
+       (noce_try_bitop): Likewise.
+       (noce_process_if_block): Likewise.
+       (cond_move_process_if_block): Likewise.
+       (find_cond_trap): Likewise.
+       * ipa-prop.c (ipa_set_jf_constant): Likewise.
+       (ipa_write_jump_function): Likewise.
+       * dwarf2out.c (add_src_coords_attributes): Likewise.
+       * expr.c (expand_expr_real): Likewise.
+       * tree-parloops.c (create_loop_fn): Likewise.
+       * recog.c (peep2_attempt): Likewise.
+       * function.c (free_after_compilation): Likewise.
+       (expand_function_end): Likewise.
+       (set_insn_locations): Likewise.
+       (thread_prologue_and_epilogue_insns): Likewise.
+       * print-rtl.c (print_rtx): Likewise.
+       * profile.c (branch_prob): Likewise.
+       * trans-mem.c (ipa_tm_scan_irr_block): Likewise.
+       * gimplify.c (gimplify_call_expr): Likewise.
+       * except.c (duplicate_eh_regions_1): Likewise.
+       * emit-rtl.c (try_split): Likewise.
+       (make_insn_raw): Likewise.
+       (make_debug_insn_raw): Likewise.
+       (make_jump_insn_raw): Likewise.
+       (make_call_insn_raw): Likewise.
+       (emit_pattern_after_setloc): Likewise.
+       (emit_pattern_after): Likewise.
+       (emit_debug_insn_after): Likewise.
+       (emit_pattern_before): Likewise.
+       (emit_insn_before_setloc): Likewise.
+       (emit_jump_insn_before): Likewise.
+       (emit_call_insn_before_setloc): Likewise.
+       (emit_call_insn_before): Likeise.
+       (emit_debug_insn_before_setloc): Likewise.
+       (emit_copy_of_insn_after): Likewise.
+       (insn_locators_alloc): Remove.
+       (insn_locators_finalize): Remove.
+       (insn_locators_free): Remove.
+       (set_curr_insn_source_location): Remove.
+       (get_curr_insn_source_location): Remove.
+       (set_curr_insn_block): Remove.
+       (get_curr_insn_block): Remove.
+       (locator_scope): Remove.
+       (insn_scope): Change to use new location.
+       (locator_location): Remove.
+       (insn_line): Change to use new location.
+       (locator_file): Remove.
+       (insn_file): Change to use new location.
+       (locator_eq): Remove.
+       (insn_locations_init): New.
+       (insn_locations_finalize): New.
+       (set_curr_insn_location): New.
+       (curr_insn_location): New.
+       * cfgexpand.c (gimple_assign_rhs_to_tree): Change to use new location.
+       (expand_gimple_cond): Likewise.
+       (expand_call_stmt): Likewise.
+       (expand_gimple_stmt_1): Likewise.
+       (expand_gimple_basic_block): Likewise.
+       (construct_exit_block): Likewise.
+       (gimple_expand_cfg): Likewise.
+       * cfgcleanup.c (try_forward_edges): Likewise.
+       * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
+       (dump_scope_block): Likewise.
+       (remove_unused_locals): Likewise.
+       * rtl.c (rtx_equal_p_cb): Likewise.
+       (rtx_equal_p): Likewise.
+       * rtl.h (XUINT): New.
+       (INSN_LOCATOR): Remove.
+       (CURR_INSN_LOCATION): Remove.
+       (INSN_LOCATION): New.
+       (INSN_HAS_LOCATION): New.
+       * tree-inline.c (remap_gimple_op_r): Change to use new location.
+       (copy_tree_body_r): Likewise.
+       (copy_phis_for_bb): Likewise.
+       (expand_call_inline): Likewise.
+       * tree-streamer-in.c (lto_input_ts_exp_tree_pointers): Likewise.
+       * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
+       * gimple-streamer-out.c (output_gimple_stmt): Likewise.
+       * combine.c (try_combine): Likewise.
+       * tree-outof-ssa.c (set_location_for_edge): Likewise.
+       (insert_partition_copy_on_edge): Likewise.
+       (insert_value_copy_on_edge): Likewise.
+       (insert_rtx_to_part_on_edge): Likewise.
+       (insert_part_to_rtx_on_edge): Likewise.
+       * basic-block.h (edge_def): Remove field.
+       * gimple.h (gimple_statement_base): Remove field.
+       (gimple_bb): Change to use new location.
+       (gimple_set_block): Likewise.
+       (gimple_has_location): Likewise.
+       * tree-cfg.c (make_cond_expr_edges): Likewise.
+       (make_goto_expr_edges): Likewise.
+       (gimple_can_merge_blocks_p): Likewise.
+       (move_stmt_op): Likewise.
+       (move_block_to_fn): Likewise.
+       * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
+       * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
+       * config/i386/i386.c (x86_output_mi_thunk): Likewise.
+       * config/tilegx/tilegx.c (tilegx_output_mi_thunk): Likewise.
+       * config/sh/sh.c (sh_output_mi_thunk): Likewise.
+       * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
+       * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
+       * config/score/score.c (score_output_mi_thunk): Likewise.
+       * config/tilepro/tilepro.c (tilepro_asm_output_mi_thunk): Likewise.
+       * config/mips/mips.c (mips_output_mi_thunk): Likewise.
+       * cfgrtl.c (unique_locus_on_edge_between_p): Likewise.
+       (unique_locus_on_edge_between_p): Likewise.
+       (emit_nop_for_unique_locus_between): Likewise.
+       (force_nonfallthru_and_redirect): Likewise.
+       (fixup_reorder_chain): Likewise.
+       (cfg_layout_merge_blocks): Likewise.
+       * stmt.c (emit_case_nodes): Likewise.
+
+2012-09-19  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * dbgcnt.def (sched_breakdep): New counter.
+       * haifa-sched.c (update_insn_after_change): New static function,
+       broken out of haifa_change_pattern.
+       (haifa_change_pattern): Call it.
+       (dep_t heap vecs): Declare.
+       (INSN_COST): Define earlier.
+       (next_cycle_replace_deps, next_cycle_apply): New static variables.
+       (apply_replacement): New static function.
+       (recompute_todo_spec): New argument FOR_BACKTRACK.  All callers
+       changed.  Handle DEP_REPLACE deps.
+       (contributes_to_priority_p): False for replaceable deps.
+       (must_restore_pattern_p, restore_pattern): New static functions.
+       (schedule_insn): Use them.  Apply replacements for broken deps.
+       (struct haifa_saved_data): Add new fields to keep track of
+       replacements.
+       (save_backtrack_point): Initialize them.
+       (undo_replacements_for_backtrack): New static function.
+       (restore_last_backtrack_point, free_topmost_backtrack_point):
+       Use it and keep track of replacements.
+       (perform_replacements_new_cycle, undo_all_replacements): New static
+       functions.
+       (schedule_block): Call these two as necessary.  Call
+       find_modifiable_mems.
+       (try_ready): Tweak the assert.  Check for DEP_POSTPONED.
+       * sched-deps.c: Include "emit-rtl.h".
+       (init_dep_1): Initialize DEP_NONREG, DEP_MULTIPLE and DEP_REPLACE.
+       (dep_spec_p): True for DEP_REPLACE deps.
+       (mark_as_hard): New static variable.
+       (update_dep): Update DEP_NONREG and DEP_MULTIPLE.
+       (add_dependence_list): New argument hard.  All callers changed.  Set
+       and clear mark_as_hard around function body.
+       (add_dependence_list_and_free): Likewise.
+       (haifa_note_mem_dep): Set DEP_NONREG.
+       (haifa_note_dep): Likewise if mark_as_hard is true.
+       (sched_analyze_insn): Switch loop with if statement testing for
+       sel_sched_p.
+       (struct mem_inc_info): New.
+       (attempt_change, parse_add_or_inc, find_inc, find_mem): New static
+       functions.
+       (find_modifiable_mems): New function.
+       * sched-int.h (struct dep_replacement): New.
+       (struct _dep): Add replace, nonreg and multiple fields.  Make type and
+       cost bitfields.
+       (UNKNOWN_DEP_COST): Change to match the bitfield.
+       (DEP_NONREG, DEP_MULTIPLE, DEP_REPLACE): New macros.
+       (DEP_POSTPONED): New macro.
+       (DEP_CANCELLED): Renumber.
+       (find_modifiable_mems): Declare.
+       (enum SCHED_FLAGS): Add DONT_BREAK_DEPENDENCIES.
+       * sched-rgn.c (init_ready_list): Set TODO_SPEC here.
+       (new_ready): Don't set HARD_DEP, use DEP_POSTPONED.
+       (debug_dependencies): Dump DEP_NONREG and DEP_MULTIPLE.
+       * Makefile.in (sched-deps.o): Update dependencies.
+       * config/c6x/c6x.c (in_hwloop): New static variable.
+       (c6x_set_sched_flags): If it is true, add DONT_BREAK_DEPENDENCIES.
+       (hwloop_optimize): Set and clear it around preliminary scheduling pass.
+
+2012-09-19  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>
+
+       * config/rs6000/rs6000-builtin.def: Add __builtin_ppc_get_timebase
+       and __builtin_ppc_mftb.
+       * config/rs6000/rs6000.c (rs6000_expand_zeroop_builtin): New function
+       to expand an expression that calls a built-in without arguments.
+       (rs6000_expand_builtin): Add __builtin_ppc_get_timebase and
+       __builtin_ppc_mftb.
+       (rs6000_init_builtins): Likewise.
+       * config/rs6000/rs6000.md (rs6000_get_timebase): New pattern.
+       (rs6000_get_timebase_ppc32): New pattern.
+       (rs6000_mftb_<mode>): New pattern.
+
+       * doc/extend.texi (PowerPC Built-in Functions): New section.
+       (PowerPC AltiVec/VSX Built-in Functions): Move some built-ins
+       unrelated to Altivec/VSX to the new section.
+
+2012-09-19  David Edelsohn  <dje.gcc@gmail.com>
+
+       * rs6000.md (mac*): Remove extra spaces.
+       (mulhw*): Same.
+
+2012-09-19  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/54089
+       * config/sh/predicates.md (arith_reg_or_t_reg_operand): New predicate.
+       * config/sh/sh.md (*rotcr): Use arith_reg_or_t_reg_operand predicate.
+       Handle the case where one of the operands is T_REG.
+       Add new pattern to handle MSB extraction.
+
+2012-09-19  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/54236
+       * config/sh/sh.md (*addc): Add pattern to handle one bit left shifts.
+
+2012-09-19  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       * config/sh/sh.md (prologue, epilogue): Use braced strings.
+
+2012-09-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/54290
+       * reload1.c (choose_reload_regs): Also take into account secondary MEMs
+       to remove address replacements for inherited reloads.
+       (replaced_subreg): Move around.
+
+2012-09-19  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/aix61.h (TARGET_DEFAULT): Add MASK_PPC_GPOPT,
+       MASK_PPC_GFXOPT, and MASK_MFCRF.
+
+2012-09-19  Richard Guenther  <rguenther@suse.de>
+
+       * passes.c (init_optimization_passes): For -Og move
+       pass_object_sizes inbetween CCP and copyprop.
+
+2012-09-19  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-forwprop.c (get_prop_source_stmt): Simplify.
+
+2012-09-19  Jan Hubicka  <jh@suse.cz>
+
+       * symtab.c (insert_to_assembler_name_hash): Do not insert
+       register vars.
+       (unlink_from_assembler_name_hash): NULL out pointers of unlinked var.
+       (symtab_prevail_in_asm_name_hash): New.
+       (symtab_initialize_asm_name_hash): Break out from ...
+       (symtab_node_for_asm): ... here.
+       (dump_symtab_base): Dump LTO file data.
+       (verify_symtab_base): Register vars are not in symtab.
+       * cgraph.h (symtab_initialize_asm_name_hash,
+       symtab_prevail_in_asm_name_hash): New functions.
+       (symtab_real_symbol_p): New inline.
+       * lto-symtab.c: Do not include gt-lto-symtab.h.
+       (lto_symtab_entry_def): Remove.
+       (lto_symtab_entry_t): Remove.
+       (lto_symtab_identifiers): Remove.
+       (lto_symtab_free): Remove.
+       (lto_symtab_entry_hash): Remove.
+       (lto_symtab_entry_eq): Remove.
+       (lto_symtab_entry_marked_p): Remove.
+       (lto_symtab_maybe_init_hash_table): Remove.
+       (resolution_guessed_p, set_resolution_guessed): New functions.
+       (lto_symtab_register_decl): Only set resolution info.
+       (lto_symtab_get, lto_symtab_get_resolution): Remove.
+       (lto_symtab_merge): Reorg to work across symtab; do nothing if decls
+       are same.
+       (lto_symtab_resolve_replaceable_p): Reorg to work on symtab.
+       (lto_symtab_resolve_can_prevail_p): Likewise; only real symbols can
+       prevail.
+       (lto_symtab_resolve_symbols): Reorg to work on symtab.
+       (lto_symtab_merge_decls_2): Likewise.
+       (lto_symtab_merge_decls_1): Likewise; add debug dumps.
+       (lto_symtab_merge_decls): Likewise; do not merge at ltrans stage.
+       (lto_symtab_merge_cgraph_nodes_1): Reorg to work on symtab.
+       (lto_symtab_merge_cgraph_nodes): Likewise; do not merge at ltrans
+       stage.
+       (lto_symtab_prevailing_decl): Rewrite to lookup into symtab.
+       * lto-streaer.h (lto_symtab_free): Remove.
+       * lto-cgraph.c (add_references): Cleanup.
+       * varpool.c (varpool_assemble_decl): Skip hard regs.
+
+2012-09-19  Richard Guenther  <rguenther@suse.de>
+
+       PR other/53316
+       * common/common-target.h (OPT_LEVELS_1_PLUS_NOT_DEBUG): Add.
+
+2012-09-19  Richard Guenther  <rguenther@suse.de>
+
+       PR other/53316
+       * common.opt (optimize_debug): New variable.
+       (Og): New optimization level.
+       * doc/invoke.texi (Og): Document.
+       * opts.c (maybe_default_option): Add debug parameter.
+       (maybe_default_options): Likewise.
+       (default_options_optimization): Handle -Og.
+       (common_handle_option): Likewise.
+       * passes.c (gate_all_optimizations): Do not run with -Og.
+       (gate_all_optimizations_g): New gate, run with -Og.
+       (pass_all_optimizations_g): New container pass, run with -Og.
+       (init_optimization_passes): Schedule pass_all_optimizations_g
+       alongside pass_all_optimizations.
+
 2012-09-19  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/54132
 
 2012-09-18  Segher Boessenkool  <segher@kernel.crashing.org>
 
-       * config/rs6000/rs6000.md (sminsi3, smaxsi3, uminsi3, umaxsi3):
-       Delete.
+       * config/rs6000/rs6000.md (sminsi3, smaxsi3, uminsi3, umaxsi3): Delete.
        (abssi2, abs<mode>2_isel, nabs<mode>2_isel, abssi2_nopower,
        nabs_nopower): Delete.
        (absdi2, absdi2_internal, nabsdi2): Delete.
        * config/i386/i386.c (ix86_rtx_costs): Limit > UNITS_PER_WORD
        AND/IOR/XOR cost calculation to MODE_INT class modes.
 
-2012-09-18 Thomas Quinot  <quinot@adacore.com>       
+2012-09-18 Thomas Quinot  <quinot@adacore.com>
 
        * doc/invoke.texi: Document -fada-spec-parent.
 
        (avr_out_plus_symbol): New static function.
        (avr_out_plus): Rewrite.
        (adjust_insn_length): Handle: ADJUST_LEN_PLUS.  Remove handling
-       of: ADJUST_LEN_OUT_PLUS, ADJUST_LEN_PLUS64, ADJUST_LEN_MINUS, 
+       of: ADJUST_LEN_OUT_PLUS, ADJUST_LEN_PLUS64, ADJUST_LEN_MINUS,
        ADJUST_LEN_MINUS64, ADJUST_LEN_OUT_PLUS_NOCLOBBER.
        (notice_update_cc): Handle: CC_PLUS.  Remove handling of: CC_MINUS,
        CC_OUT_PLUS, CC_OUT_PLUS_NOCLOBBER
 2012-09-14  Christian Bruel  <christian.bruel@st.com>
 
        * config/sh/predicates.md (t_reg_operand): Check REG_P for SUBREG.
-       * config/sh/sh.c (sequence_insn_p: Check INSNP_P for SEQUENCE.
+       * config/sh/sh.c (sequence_insn_p): Check INSNP_P for SEQUENCE.
 
 2012-09-14  Jakub Jelinek  <jakub@redhat.com>
 
        (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
        Remove third alternative.
        (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
-       operand 2 instead of operand 1, but put it as first argument
-       of fma.
+       operand 2 instead of operand 1, but put it as first argument of fma.
        * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
        _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
        of the first.
 
 2012-09-14  Richard Guenther  <rguenther@suse.de>
 
-       * tree-vrp.c (register_new_assert_for): Simplify for backward
-       walk.
-       (find_assert_locations_1): Walk the basic-block backwards,
-       properly add/prune from live.  Use live for asserts derived
-       from stmts.
+       * tree-vrp.c (register_new_assert_for): Simplify for backward walk.
+       (find_assert_locations_1): Walk the basic-block backwards, properly
+       add/prune from live.  Use live for asserts derived from stmts.
 
 2012-09-14  Marc Glisse  <marc.glisse@inria.fr>
 
        (BYTES_BIG_ENDIAN, WORDS_BIG_ENDIAN): Add bi-endian support.
        (TARGET_CPU_CPP_BUILTINS): Add __MOXIE_LITTLE_ENDIAN__ and
        __MOXIE_BIG_ENDIAN__.
-       * config/moxie/t-moxie (MULTILIB_DIRNAMES, MULTILIB_OPTIONS):
-       Define.
+       * config/moxie/t-moxie (MULTILIB_DIRNAMES, MULTILIB_OPTIONS): Define.
        * config/moxie/moxie.opt: New file.
        * doc/invoke.texi (Moxie Options): Add section documenting -mel
        and -meb.
            Manuel López-Ibáñez  <manu@gcc.gnu.org>
 
        PR c++/53210
-       * doc/invoke.texi ([Winit-self]): Document as enabled by -Wall
-       in C++.
+       * doc/invoke.texi ([Winit-self]): Document as enabled by -Wall in C++.
 
 2012-09-13  Eric Botcazou  <ebotcazou@adacore.com>
 
        * config/xtensa/xtensa (TARGET_ADDRESS_COST): Use
        hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
 
-2012-09-05   Diego Novillo  <dnovillo@google.com>
+2012-09-05  Diego Novillo  <dnovillo@google.com>
 
        PR bootstrap/54484
        * vec.h (vec_t::lower_bound): Fix spelling of LESSTHAN argument.
        (init_pre): Likewise.
        (fini_pre): Likewise.
 
-2012-09-04   Diego Novillo  <dnovillo@google.com>
+2012-09-04  Diego Novillo  <dnovillo@google.com>
 
        PR bootstrap/54479
        * vec.h (vec_t::copy): Add cast in call to reserve_exact.
        AVAIL_OUT for FRE.
        (init_pre): Do not allocate not needed bitmap sets for FRE.
 
-2012-09-04   Diego Novillo  <dnovillo@google.com>
+2012-09-04  Diego Novillo  <dnovillo@google.com>
 
        Rewrite VEC_* functions as member functions of vec_t.