PR target/53272
	* config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
	when a constant source operand matches an "I" constraint, the "no
	CC0 change" applies to a register-destination only, not a
	strict_low_part-destination.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187283 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/53272
	* gcc.dg/torture/pr53272-1.c, gcc.dg/torture/pr53272-2.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187284 138bc75d-0d04-0410-961f-82ee72b054a4
	* basic-block.h (struct rtl_bb_info): Remove visited member and
	move head_ member to ...
	(struct basic_block_def.basic_block_il_dependent): ... the new
	member x, replacing but containing old member rtl.
	(enum bb_flags): New BB_VISITED flag.
	(BB_HEADER, BB_FOOTER): New macros.

	* jump.c (mark_all_labels): Adjust.
	* cfgcleanup.c (try_optimize_cfg): Adjust.
	* cfglayout.c (record_effective_endpoints): Adjust.
	(relink_block_chain): Ditto (and don't fiddle with visited).
	(fixup_reorder_chain): Adjust.
	(fixup_fallthru_exit_predecessor): Ditto.
	(cfg_layout_duplicate_bb): Ditto.
	* combine.c (update_cfg_for_uncondjump): Adjust.
	* bb-reorder.c (struct bbro_basic_block_data_def): Add visited
	member.
	(bb_visited_trace): New accessor.
	(mark_bb_visited): Move in front.
	(rotate_loop): Use bb_visited_trace.
	(find_traces_1_round): Ditto.
	(emit_barrier_after): Ditto.
	(copy_bb): Ditto, and initialize visited on resize.
	(reorder_basic_blocks): Initize visited member.
	(duplicate_computed_gotos): Clear bb flags at start, use
	BB_VISITED flags.

	* cfgrtl.c (try_redirect_by_replacing_jump): Adjust.
	(rtl_verify_flow_info_1): Ditto.
	(cfg_layout_split_block): Ditto.
	(cfg_layout_delete_block): Ditto.
	(cfg_layout_merge_blocks): Ditto.
	(init_rtl_bb_info): Adjust and initialize il.x.head_ member.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187288 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/53250
	* config/i386/i386.c (ix86_set_reg_reg_cost): New function.
	(ix86_rtx_costs): Handle SET.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187289 138bc75d-0d04-0410-961f-82ee72b054a4
	* ChangeLog: Fix PR number of my last commit.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187290 138bc75d-0d04-0410-961f-82ee72b054a4

	* cgraph.c (cgraph_call_edge_duplication_hooks): Export.
	(cgraph_create_node_1): Rename to ...
	(cgraph_create_empty_node): ... this one; export.
	(cgraph_create_node): Update.
	(cgraph_set_call_stmt_including_clones): Move to cgraphclones.c
	(cgraph_create_edge_including_clones): Likewise.
	(cgraph_find_replacement_node): Likewise.
	(cgraph_clone_edge): Likewise.
	(cgraph_clone_node): Likewise.
	(clone_function_name): Likewise.
	(cgraph_create_virtual_clone): Likewise.
	(cgraph_remove_node_and_inline_clones): Likewise.
	(cgraph_redirect_edge_call_stmt_to_callee): Move here from
	cgraphunit.c
	* cgraph.h: Reorder declarations so they match file of origin.
	(cgraph_create_empty_node): Declare.
	* cgraphunit.c (update_call_expr): Move to cgraphclones.c
	(cgraph_copy_node_for_versioning): Likewise.
	(cgraph_function_versioning): Likewise.
	(cgraph_materialize_clone): Likewise.
	(cgraph_redirect_edge_call_stmt_to_callee): Likewise.
	(cgraph_materialize_all_clones): Likewise.
	* cgraphclones.c: New file.
	* Makefile.in: Update for cgraphclones.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187295 138bc75d-0d04-0410-961f-82ee72b054a4

	* cgraph.c (cgraph_call_edge_duplication_hooks): Export.
	(cgraph_create_node_1): Rename to ...
	(cgraph_create_empty_node): ... this one; export.
	(cgraph_create_node): Update.
	(cgraph_set_call_stmt_including_clones): Move to cgraphclones.c
	(cgraph_create_edge_including_clones): Likewise.
	(cgraph_find_replacement_node): Likewise.
	(cgraph_clone_edge): Likewise.
	(cgraph_clone_node): Likewise.
	(clone_function_name): Likewise.
	(cgraph_create_virtual_clone): Likewise.
	(cgraph_remove_node_and_inline_clones): Likewise.
	(cgraph_redirect_edge_call_stmt_to_callee): Move here from
	cgraphunit.c
	* cgraph.h: Reorder declarations so they match file of origin.
	(cgraph_create_empty_node): Declare.
	* cgraphunit.c (update_call_expr): Move to cgraphclones.c
	(cgraph_copy_node_for_versioning): Likewise.
	(cgraph_function_versioning): Likewise.
	(cgraph_materialize_clone): Likewise.
	(cgraph_redirect_edge_call_stmt_to_callee): Likewise.
	(cgraph_materialize_all_clones): Likewise.
	* cgraphclones.c: New file.
	* Makefile.in: Update for cgraphclones.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187296 138bc75d-0d04-0410-961f-82ee72b054a4
This patch adds functionality to libgcov to enable user applications to
collect profile data only in regions of interest. This is useful, for
example, to collect profile data from a long-running server only
during the time when it is serving requests.

Specifically, the new routines __gcov_reset will clear all profile counters
to zero and __gcov_dump will write out the profile information collected so
far. A global variable is used to prevent writing out the profile a
second time during exit.

2012-05-08   Teresa Johnson  <tejohnson@google.com>

	* libgcc/libgcov.c (gcov_clear, __gcov_reset): New functions.
	(__gcov_dump): Ditto.
	(gcov_dump_complete): New global variable.
	(gcov_exit): Export hidden to enable use in L_gcov_dump.
	(__gcov_flush): Outline functionality now in gcov_clear.
	* libgcc/Makefile.in (L_gcov_reset, L_gcov_dump): Define.
	* gcc/gcov-io.h (__gcov_reset, __gcov_dump): Declare.
	* gcc/doc/gcov.texi: Add note on using __gcov_reset and __gcov_dump.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187297 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/51244
	* config/sh/sh.md (*branch_true, *branch_false): New insns.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187298 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	PR rtl-optimization/53278
	* lower-subreg.c (decompose_multiword_subregs): Remove left-over
	speed_p code from earlier patch.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187299 138bc75d-0d04-0410-961f-82ee72b054a4
2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/53261
c-family/
	* c-common.c (warn_logical_operator): Check that argument of
	integer_zerop is not NULL.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187300 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187307 138bc75d-0d04-0410-961f-82ee72b054a4
Remove -Y option from linker command line on Linux/Sparc.

gcc/

	* config/sparc/linux.h (LINK_SPEC): Don't pass "-Y" option.
	* config/sparc/linux64.h (LINK_ARCH32_SPEC): Likewise.
	* config/sparc/linux64.h (LINK_ARCH64_SPEC): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187309 138bc75d-0d04-0410-961f-82ee72b054a4

	* cgraphbuild.c (build_cgraph_edges): Do not finalize vars
	with VALUE_EXPR.
	* cgraph.h (varpool_can_remove_if_no_refs): Vars with VALUE_EXPR
	are removable.
	* toplev.c (wrapup_global_declaration_2): Vars with VALUE_EXPR
	need to wrapup.
	(compile_file): Do not output variables.
	* cgraphbuild.c (varpool_finalize_decl): When var is finalized late,
	output it.
	* langhooks.c: Include timevar.h
	(write_global_declarations): Finalize compilation unit after wrapup;
	set timevars correctly.
	* passes.c (rest_of_decl_compilation): Decls with VALUE_EXPR needs
	not to be added to varpool.
	* varpool.c (varpool_assemble_decl): Sanity check that we are called
	only on cases where it makes sense; skip constant pool and value expr
	vars.

	* lto.c (do_whole_program_analysis): Set timevars correctly.
	(lto_main): Likewise.
	
	* trans-common.c (create_common): Do not fake TREE_ASM_WRITTEN.
	* trans-decl.c (gfc_finish_cray_pointee): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187314 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/testsuite

	* gcc.dg/predict-1.c: Remove the replicated text in this test.
	* gcc.dg/predict-2.c: Likewise.
	* gcc.dg/predict-3.c: Likewise.
	* gcc.dg/predict-4.c: Likewise.
	* gcc.dg/predict-5.c: Likewise.
	* gcc.dg/predict-6.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187315 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/53271
	* config/rs6000/rs6000.c (gen_frame_set): New function.
	(gen_frame_load, gen_frame_store): New functions.
	(rs6000_savres_rtx): Use the above.
	(rs6000_emit_epilogue, rs6000_emit_prologue): Here too.
	Correct mode used for CR2 in save/restore_world patterns.
	Don't emit instructions for eh_return frame unwind reg info.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187316 138bc75d-0d04-0410-961f-82ee72b054a4
2012-05-09  Richard Guenther  <rguenther@suse.de>

	* stor-layout.c (bit_from_pos): Document.
	(byte_from_pos): Likewise.  Optimize.
	(pos_from_bit): Likewise.
	(normalize_offset): Use pos_from_bit instead of replicating it.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187317 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/mips/mips.c (mips16_gp_pseudo_reg): Remove line
	information from the instruction produced.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187319 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	PR middle-end/53249
	* dwarf2out.h (get_address_mode): Move declaration to...
	* rtl.h: ...here.
	* dwarf2out.c (get_address_mode): Move definition to...
	* rtlanal.c: ...here.
	* var-tracking.c (get_address_mode): Delete.
	* combine.c (find_split_point): Use get_address_mode instead of
	targetm.addr_space.address_mode.
	* cselib.c (cselib_record_sets): Likewise.
	* dse.c (canon_address, record_store): Likewise.
	* emit-rtl.c (adjust_address_1, offset_address): Likewise.
	* expr.c (move_by_pieces, emit_block_move_via_loop, store_by_pieces)
	(store_by_pieces_1, expand_assignment, store_expr, store_constructor)
	(expand_expr_real_1): Likewise.
	* ifcvt.c (noce_try_cmove_arith): Likewise.
	* optabs.c (maybe_legitimize_operand_same_code): Likewise.
	* reload.c (find_reloads): Likewise.
	* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
	* sel-sched-dump.c (debug_mem_addr_value): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187320 138bc75d-0d04-0410-961f-82ee72b054a4
Fix gcc.target/i386/hle-* testcases with Sun as

	* gcc.target/i386/hle-add-acq-1.c: Allow for ; after lock.
	* gcc.target/i386/hle-add-rel-1.c: Likewise.
	* gcc.target/i386/hle-and-acq-1.c: Likewise.
	* gcc.target/i386/hle-and-rel-1.c: Likewise.
	* gcc.target/i386/hle-cmpxchg-acq-1.c: Likewise.
	* gcc.target/i386/hle-cmpxchg-rel-1.c: Likewise.
	* gcc.target/i386/hle-or-acq-1.c: Likewise.
	* gcc.target/i386/hle-or-rel-1.c: Likewise.
	* gcc.target/i386/hle-sub-acq-1.c: Likewise.
	* gcc.target/i386/hle-sub-rel-1.c: Likewise.
	* gcc.target/i386/hle-xadd-acq-1.c: Likewise.
	* gcc.target/i386/hle-xadd-rel-1.c: Likewise.
	* gcc.target/i386/hle-xor-acq-1.c: Likewise.
	* gcc.target/i386/hle-xor-rel-1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187321 138bc75d-0d04-0410-961f-82ee72b054a4