2013-05-14  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* fold-const.c (fold_negate_expr): Handle vectors.
	(fold_truth_not_expr): Make it static.
	(fold_invert_truthvalue): New static function.
	(invert_truthvalue_loc): Handle vectors. Do not call
	fold_truth_not_expr directly.
	(fold_unary_loc) <BIT_NOT_EXPR>: Handle comparisons.
	<TRUTH_NOT_EXPR>: Do not cast to boolean.
	(fold_comparison): Handle vector constants.
	(fold_binary_loc) <TRUTH_XOR_EXPR>: Remove redundant code.
	(fold_ternary_loc) <VEC_COND_EXPR>: Adapt more COND_EXPR optimizations.
	* tree.h (fold_truth_not_expr): Remove declaration.

gcc/testsuite/
	* g++.dg/ext/vector22.C: New testcase.
	* gcc.dg/binop-xor3.c: Remove xfail.



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

	* rtl.h (next_label, skip_consecutive_labels, link_cc0_insns):
	Remove prototypes.
	* emit-rtl.c (next_label): Remove unused function.
	(skip_consecutive_labels, link_cc0_insns): Move to ...
	* reorg.c (skip_consecutive_labels, link_cc0_insns): ... here, the
	only place where these functions are used, and make them static.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198894 138bc75d-0d04-0410-961f-82ee72b054a4
	* resource.h (struct resources): Remove unch_memory member.
	(CLEAR_RESOURCE): Don't clear unch_memory.
	* resource.c (mark_referenced_resources): Don't set it.
	(mark_set_resources): Likewise.
	(mark_target_live_regs): Don't clear it.
	(init_resource_info): Likewise.
	* reorg.c (resource_conflicts_p): Don't compare it.
	(redundant_insn): Don't set it.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198895 138bc75d-0d04-0410-961f-82ee72b054a4
	* web.c (union_match_dups): Also check DF_REF_REAL_LOC.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198896 138bc75d-0d04-0410-961f-82ee72b054a4
	* recog.h: Rename struct recog_data to Recog_data.
	* recog.c: Likewise.
	* reload.c (can_reload_into): Likewise.
	* config/picochip/picochip.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198898 138bc75d-0d04-0410-961f-82ee72b054a4
	* gdbinit.in: Add __null.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198899 138bc75d-0d04-0410-961f-82ee72b054a4
	* tree.c (warn_deprecated_use): Print file:line using locus color.
	* diagnostic.c (diagnostic_report_current_module): Print file:line
	and file:line:column using locus color.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198900 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/57243
	* parser.c (cp_parser_range_for): Call complete_type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198901 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/57274
	* c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.

	* c-c++-common/Wsequence-point-1.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198903 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-14  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	    * gcc.dg/torture/alias-1.c: Add dg-require-effective-target
	    scheduling.


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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198912 138bc75d-0d04-0410-961f-82ee72b054a4
New instruction (FSGSBASE) for AMD bdver3 architecture

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

	PR lto/57038
	PR lto/47375
	* lto-symtab.c (lto_symtab_symbol_p): Add external symbol; weakrefs are
	not external.
	(lto_symtab_merge_decls): Fix thinko when dealing with non-lto_symtab decls.
	(lto_symtab_merge_cgraph_nodes): Use lto_symtab_symbol_p.
	(lto_symtab_prevailing_decl): Get int sync with lto_symtab_symbol_p.
	* varpool.c (dump_varpool_node): Dump more flags.

	* lto-partition.c (get_symbol_class): Fix weakrefs.
	(lto_balanced_map): Fix weakrefs.
	(privatize_symbol_name): Remove unnecesary label.
	(rename_statics): Handle weakrefs as statics.

	* gcc.dg/lto/attr-weakref-1_0.c: New testcase.
	* gcc.dg/lto/attr-weakref-1_1.c: New testcase.
	* gcc.dg/lto/attr-weakref-1_2.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198917 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/57275
	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Fix
	return value for fail to do runtime alias checks for gather loads.

	* gcc.target/i386/pr57275.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198918 138bc75d-0d04-0410-961f-82ee72b054a4
	* include/bits/basic_string.h (getline): Fix doxygen comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198920 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_register_move_cost): Don't impose the
	FPR<->GPR move cost penalty if ldgr/lgdr can be used.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198923 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-15  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (ipa_print_node_jump_functions): Print symbol order in
	header, print symbol order instead of node uid, print more information
	about indirect edge targets.
	(ipa_make_edge_direct_to_target): Print symbol order instead of node
	uids.
	(ipa_make_edge_direct_to_target): Likewise.
	(remove_described_reference): Likewise.
	(propagate_controlled_uses): Likewise.
	(ipa_print_node_params): Also print symbol order.
	(ipcp_transform_function): Print symbol order instead of node uids.
	* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Likewise.
	(cgraph_get_create_real_symbol_node): Likewise.
	* ipa-cp.c (print_lattice): Likewise.
	(print_all_lattices): Likewise.
	(determine_versionability): Likewise.
	(initialize_node_lattices): Likewise.
	(estimate_local_effects): Likewise.
	(update_profiling_info): Likewise.
	(create_specialized_node): Likewise.
	(perhaps_add_new_callers): Likewise.
	(decide_about_value): Likewise.
	(decide_whether_version_node): Likewise.
	(identify_dead_nodes): Likewise.
	* ipa-inline-analysis.c (dump_inline_edge_summary): Likewise.
	(dump_inline_summary): Likewise.
	(estimate_node_size_and_time): Likewise.
	(inline_analyze_function): Likewise.
	* ipa-inline.c (report_inline_failed_reason): Likewise.
	(want_early_inline_function_p): Likewise.
	(edge_badness): Likewise.
	(update_edge_key): Likewise.
	(inline_small_functions): Likewise.  Add dumping of order to two other
	dumps.
	* ipa-pure-const.c (pure_const_read_summary): Print symbol order
	instead of node uids.
	(propagate_pure_const): Likewise.
	(propagate_pure_const): Likewise.
	* ipa-utils.c (dump_cgraph_node_set): Likewise.
	* lto-cgraph.c (input_node): Explicitly specify we dump uid.
	* lto-symtab.c (lto_cgraph_replace_node): Print symbol order instead
	of node uids.
	* tree-pretty-print.c (dump_function_header): Likewise.
	* tree-sra.c (convert_callers_for_node): Dump in traditional format.
	Print symbol order instead of node uids.

lto/
	* lto-partition.c (lto_balanced_map): Print symbol order instead
	of node uids.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198925 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-15  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (ipa_make_edge_direct_to_target): Redirect calls to
	non-functions to builtin_unreachable.
	* ipa-inline-transform.c (inline_call): Do not assert estimates were
	correct when new direct edges were discovered.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198926 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-15  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.c (vect_transform_loop): Use MSG_NOTE instead
	of MSG_OPTIMIZED_LOCATIONS.
	* tree-vect-slp.c (vect_make_slp_decision): Likewise.
	(vect_slp_transform_bb): Indicate location in MSG_OPTIMIZED_LOCATIONS
	message.
	* tree-vectorizer.c (vectorize_loops): Use MSG_NOTE instead
	of MSG_OPTIMIZED_LOCATIONS.
	(execute_vect_slp): Likewise.
	* tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
	(vect_create_cond_for_alias_checks): Likewise.
	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Likewise.
	(vect_recog_widen_mult_pattern): Likewise.
	(vect_recog_widen_sum_pattern): Likewise.
	(vect_recog_over_widening_pattern): Likewise.
	(vect_recog_widen_shift_pattern): Likewise.
	(vect_recog_vector_vector_shift_pattern): Likewise.
	(vect_recog_divmod_pattern): Likewise.
	(vect_recog_mixed_size_cond_pattern): Likewise.
	(vect_recog_bool_pattern): Likewise.
	(vect_pattern_recog_1): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198927 138bc75d-0d04-0410-961f-82ee72b054a4
Fix PR target/19599 - tailcall function pointers.

2013-05-15  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	PR target/19599
	* config/arm/predicates.md (call_insn_operand): New predicate.
	* config/arm/constraints.md ("Cs", "Ss"):  New constraints.
	* config/arm/arm.md (*call_insn, *call_value_insn): Match only
	if insn is not a tail call.
	(*sibcall_insn, *sibcall_value_insn): Adjust for tailcalling through
	registers.
	* config/arm/arm.h (enum reg_class): New caller save register class.
	(REG_CLASS_NAMES): Likewise.
	(REG_CLASS_CONTENTS): Likewise.
	* config/arm/arm.c (arm_function_ok_for_sibcall): Allow tailcalling
	without decls.

2013-05-15  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	PR target/19599
	* gcc.target/arm/pr40887.c: Adjust testcase.
	* gcc.target/arm/pr19599.c: New test.




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