* gimplify.c (gimplify_asm_expr): Reset the TREE_CHAIN of clobbers to
	NULL_TREE before pushing them onto the vector.  Likewise for labels.


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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202822 138bc75d-0d04-0410-961f-82ee72b054a4
2013-09-23  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58355
	* decl.c (check_extended_derived_type): Prevent segfault, modify error
	message.

2013-09-23  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58355
	* gfortran.dg/extends_15.f90: New.


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

	* config/aarch64/aarch64.c (aarch64_expand_prologue): Use plus_constant.
	(aarch64_expand_epilogue): Likewise.
	(aarch64_legitimize_reload_address): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202824 138bc75d-0d04-0410-961f-82ee72b054a4
2013-09-23  Christian Bruel  <christian.bruel@st.com>

        PR target/58475
        * config/sh/sh.md (movsf_ie): Allow fpul_operand.
        * config/sh/predicate.md (arith_reg_operand): Disallow FPUL_REG.



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

	PR tree-optimization/58464
	* tree-ssa-pre.c (phi_trans_lookup): Remove.
	(phi_trans_add): Change to add conditionally on being not
	present.
	(phi_translate_1): Remove recursion detection here.
	(phi_translate): Pre-seed the cache with NULL to catch
	recursion here in a more generic way.
	(bitmap_find_leader): Adjust comment.
	(get_representative_for): Dump value-numbers.
	(create_expression_by_pieces): Likewise.
	(insert_into_preds_of_block): Likewise.

	* g++.dg/torture/pr58464.C: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202826 138bc75d-0d04-0410-961f-82ee72b054a4
2013-09-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

	gcc/
	* gimple-pretty-print.c (dump_ssaname_info): New function.
	(dump_gimple_phi): Call it.
	(pp_gimple_stmt_1): Likewise.
	* tree-core.h (tree_ssa_name): New union ssa_name_info_type field.
	(range_info_def): Declare.
	* tree-pretty-print.c (pp_double_int): New function.
	(dump_generic_node): Call it.
	* tree-pretty-print.h (pp_double_int): Declare.
	* tree-ssa-alias.c (dump_alias_info): Check pointer type.
	* tree-ssanames.h (range_info_def): New structure.
	(value_range_type): Move definition here.
	(set_range_info, value_range_type, duplicate_ssa_name_range_info):
	Declare.
	* tree-ssanames.c (make_ssa_name_fn): Check pointer type at
	initialization.
	(set_range_info): New function.
	(get_range_info): Likewise.
	(duplicate_ssa_name_range_info): Likewise.
	(duplicate_ssa_name_fn): Check pointer type and call
	duplicate_ssa_name_range_info.
	* tree-ssa-copy.c (fini_copy_prop): Likewise.
	* tree-vrp.c (value_range_type): Remove definition, now in
	tree-ssanames.h.
	(vrp_finalize): Call set_range_info to update value range of
	SSA_NAMEs.
	* tree.h (SSA_NAME_PTR_INFO): Macro changed to access via union.
	(SSA_NAME_RANGE_INFO): New macro.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202831 138bc75d-0d04-0410-961f-82ee72b054a4
Unbreak i386 and other builds where size_t != unsigned long.

2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* src/c++11/snprintf_lite.cc (__concat_size_t): Use only
	std::__int_to_char<unsigned long long>()



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202832 138bc75d-0d04-0410-961f-82ee72b054a4
	* tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy
	assignment statements.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202833 138bc75d-0d04-0410-961f-82ee72b054a4
2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* src/c++11/snprintf_lite.cc (__concat_size_t): Use
	unsigned long long conditionally.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202836 138bc75d-0d04-0410-961f-82ee72b054a4
	* ipa-cp.c (ipa_get_indirect_edge_target_1): Add sanity check
	for ipa-devirt.
	* ipa-utils.h (possible_polymorphic_call_target_p): New function.
	* ipa-devirt.c (possible_polymorphic_call_target_p): Be tolerant
	of external calls
	* gimple-fold.c: Include ipa-utils.h and gimple-pretty-print.h
	(gimple_fold_call): Dump inconsistent devirtualizations; add
	sanity check for type based devirtualizations.
	* ipa-prop.c: Include ipa-utils.h
	(ipa_intraprocedural_devirtualization): Add sanity check.
	(try_make_edge_direct_virtual_call): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202837 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* doc/rtl.texi (REG_NOTES): Say that int_list can also be used.
	(REG_BR_PROB): Say that the probability is stored in an int_list.
	* reg-notes.def: Update commentary to mention INT_LIST.
	* rtl.def (EXPR_LIST, INSN_LIST): Capitalize comments.
	(INT_LIST): New rtx.
	* rtl.h (add_int_reg_note, add_shallow_copy_of_reg_note): Declare.
	* rtlanal.c (int_reg_note_p): New function.
	(alloc_reg_note): Assert that the note does not have an int argument.
	(add_int_reg_note, add_shallow_copy_of_reg_note): New functions.
	* combine.c (distribute_notes): Use add_shallow_copy_of_rtx.
	* cse.c (cse_process_notes_1): Expect REG_EQUAL to be an EXPR_LIST
	rather than an INSN_LIST.  Handle INT_LIST.
	* ifcvt.c (cond_exec_process_insns): Take the probability as an int
	rather than an rtx.  Use gen_rtx_INT_LIST to create a REG_BR_PROB note.
	(cond_exec_process_if_block): Use XINT to extract REG_BR_PROB values.
	Manipulate them as ints rather than rtxes.
	* reg-stack.c (subst_asm_stack_regs): Only handle EXPR_LIST notes.
	* regmove.c (copy_src_to_dest): Likewise.
	* sched-vis.c (print_insn_with_notes): Handle INT_LIST.

	* config/i386/winnt.c (i386_pe_seh_unwind_emit): Sink pat assignment
	into the cases that need it.
	* config/arm/arm.c (arm_unwind_emit): Likewise.

	* asan.c (asan_clear_shadow): Use add_int_reg_note for REG_BR_PROB.
	* emit-rtl.c (try_split, emit_copy_of_insn_after): Likewise.
	* loop-doloop.c (add_test, doloop_modify): Likewise.
	* loop-unswitch.c (compare_and_jump_seq): Likewise.
	* optabs.c (emit_cmp_and_jump_insn_1): Likewise.
	* predict.c (combine_predictions_for_insn): Likewise.
	* print-rtl.c (print_rtx): Handle INT_LIST.
	* config/aarch64/aarch64.c (aarch64_emit_unlikely_jump): Likewise.
	* config/alpha/alpha.c (emit_unlikely_jump): Likewise.
	* config/arm/arm.c (emit_unlikely_jump): Likewise.
	* config/i386/i386.c (ix86_expand_split_stack_prologue): Likewise.
	(ix86_split_fp_branch, predict_jump): Likewise.
	* config/rs6000/rs6000.c (emit_unlikely_jump): Likewise.
	* config/sh/sh.c (expand_cbranchsi4): Likewise.
	* config/spu/spu.c (ea_load_store_inline): Likewise.

	* cfgbuild.c (compute_outgoing_frequencies): Use XINT to access the
	value of a REG_BR_PROB note.
	* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
	(update_br_prob_note, rtl_verify_edges, purge_dead_edges): Likewise.
	* emit-rtl.c (try_split): Likewise.
	* predict.c (br_prob_note_reliable_p): Likewise.
	(invert_br_probabilities, combine_predictions_for_insn): Likewise.
	* reorg.c (mostly_true_jump): Likewise.
	* config/bfin/bfin.c (cbranch_predicted_taken_p): Likewise.
	* config/frv/frv.c (frv_print_operand_jump_hint): Likewise.
	* config/i386/i386.c (ix86_print_operand): Likewise.
	* config/ia64/ia64.c (ia64_print_operand): Likewise.
	* config/mmix/mmix.c (mmix_print_operand): Likewise.
	* config/rs6000/rs6000.c (output_cbranch): Likewise.
	* config/s390/s390.c (s390_expand_tbegin): Likewise.
	* config/sh/sh.c (sh_print_operand, sh_adjust_cost): Likewise.
	* config/sparc/sparc.c (output_cbranch): Likewise.
	* config/spu/spu.c (get_branch_target): Likewise.
	* config/tilegx/tilegx.c (cbranch_predicted_p): Likewise.
	* config/tilepro/tilepro.c (cbranch_predicted_p): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202839 138bc75d-0d04-0410-961f-82ee72b054a4
2013-09-20  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add new
	constraints: wu, ww, and wy.  Repurpose wv constraint added during
	power8 changes.  Put wg constraint in alphabetical order.

	* config/rs6000/rs6000.opt (-mvsx-scalar-float): New debug switch
	for future work to add ISA 2.07 VSX single precision support.
	(-mvsx-scalar-double): Change default from -1 to 1, update
	documentation comment.
	(-mvsx-scalar-memory): Rename debug switch to -mupper-regs-df.
	(-mupper-regs-df): New debug switch to control whether DF values
	can go in the traditional Altivec registers.
	(-mupper-regs-sf): New debug switch to control whether SF values
	can go in the traditional Altivec registers.

	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Print wu, ww,
	and wy constraints.
	(rs6000_init_hard_regno_mode_ok): Use ssize_t instead of int for
	loop variables.  Rename -mvsx-scalar-memory to -mupper-regs-df.
	Add new constraints, wu/ww/wy.  Repurpose wv constraint.
	(rs6000_debug_legitimate_address_p): Print if we are running
	before, during, or after reload.
	(rs6000_secondary_reload): Add a comment.
	(rs6000_opt_masks): Add -mupper-regs-df, -mupper-regs-sf.

	* config/rs6000/constraints.md (wa constraint): Sort w<x>
	constraints.  Update documentation string.
	(wd constraint): Likewise.
	(wf constraint): Likewise.
	(wg constraint): Likewise.
	(wn constraint): Likewise.
	(ws constraint): Likewise.
	(wt constraint): Likewise.
	(wx constraint): Likewise.
	(wz constraint): Likewise.
	(wu constraint): New constraint for ISA 2.07 SFmode scalar
	instructions.
	(ww constraint): Likewise.
	(wy constraint): Likewise.
	(wv constraint): Repurpose ISA 2.07 constraint that we not used in
	the previous submissions.
	* doc/md.texi (PowerPC and IBM RS6000): Likewise.



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