Jan Hubicka  <jh@suse.cz>
	Richard Biener  <rguenther@suse.de>

	PR lto/54095
	* symtab.c (symtab_make_decl_local): Do not add private names.

	* lto.c (lto_register_var_decl_in_symtab): Don't do renaming.
	(lto_register_var_decl_in_symtab): Likewise.
	(lto_main): Promote statics.
	* lto-partition.c (privatize_symbol_name): New function.
	(promote_symbol): Use it.
	(may_need_named_section_p): New predicate.
	(rename_statics): New functions.
	(lto_promote_cross_file_statics): Simplify; do renaming.
	(lto_promote_statics_nonwpa): New function.
	* lto-partition.h (lto_promote_statics_nonwpa): New function.


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

	PR lto/57084
	* gimple-fold.c (canonicalize_constructor_val): Call
	cgraph_get_create_real_symbol_node instead of cgraph_get_create_node.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198743 138bc75d-0d04-0410-961f-82ee72b054a4
	* tree.c (build_constructor_va): New.
	* tree.h: Declare it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198744 138bc75d-0d04-0410-961f-82ee72b054a4
	N3639 C++1y VLA support

gcc/
	* gimplify.c (gimplify_vla_decl): Don't touch an existing
	DECL_VALUE_EXPR.
gcc/cp/
	* decl.c (compute_array_index_type): Allow VLAs in C++1y mode.
	(check_array_initializer): Allow VLA init.
	(reshape_init_array_1): Adjust.
	(cp_finish_decl): Check for invalid VLA length.
	* typeck2.c (process_init_constructor_array): Adjust.
	(store_init_value): Use build_vec_init for VLAs.
	* semantics.c (add_capture): Capture VLA as ptr+len.
	(vla_capture_type): New.
	(build_capture_proxy): Rebuild the VLA.
	* typeck.c (build_simple_component_ref): Split out from...
	(build_ptrmemfunc_access_expr): ...here.
	* tree.c (array_of_runtime_bound_p): New.
	* init.c (throw_bad_array_length): New.
	(build_vec_init): Use it.
	* parser.c (cp_convert_range_for): When iterating over a VLA,
	use it directly rather than bind a reference.
	* cp-tree.h: Declare new functions.
libstdc++-v3/
	* libsupc++/new: Add std::bad_array_length.
	* libsupc++/bad_array_length.cc: New.
	* libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
	* libsupc++/Makefile.in: Build them.
	* config/abi/pre/gnu.ver: Add new symbols.
	* config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198745 138bc75d-0d04-0410-961f-82ee72b054a4
	N3639 C++1y VLA diagnostics

	* decl.c (grokdeclarator): Complain about reference, pointer, or
	typedef to VLA.
	(create_array_type_for_decl): Complain about array of VLA.
	* pt.c (tsubst): Likewise.
	* rtti.c (get_tinfo_decl): Talk about "array of runtime bound".
	* semantics.c (finish_decltype_type): Complain about decltype of VLA.
	* typeck.c (cp_build_addr_expr_1): Complain about VLA.
	(cxx_sizeof_or_alignof_type): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198746 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/57222
	* pt.c (lookup_template_class_1): Handle getting a template
	template parameter as D1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198747 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/sse.md (*vec_extractv4si_0_zext): New pattern.
	(*vec_extractv4si_zext_mem): Ditto.
	(*vec_extractv2di): Add 0->x and x->x alternatives.
	* config/i386/mmx.md (*vec_extractv2si_zext_mem): New pattern.
	* config/i386/i386.md (*zero_extendsidi2): Add *Yj->?r alternative.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198752 138bc75d-0d04-0410-961f-82ee72b054a4
        * config/epiphany/epiphany.c (epiphany_expand_prologue):
        When using gen_stack_adjust_str with a register offset, add a
        REG_FRAME_RELATED_EXPR note.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198753 138bc75d-0d04-0410-961f-82ee72b054a4
	* decl.c (cp_finish_decl): Only check VLA bound in C++1y mode.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198760 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/55033
	* varasm.c (default_elf_select_section): Move !DECL_P check..
	(get_named_section): ..to here before calling get_section_name.
	Adjust assertion.
	(default_section_type_flags): Add DECL_P check.
	* config/i386/winnt.c (i386_pe_section_type_flags): Likewise.
	* config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198762 138bc75d-0d04-0410-961f-82ee72b054a4
	* configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.
	(HAVE_LD_LARGE_TOC): Don't mention AIX in help text.
	* configure: Regenerate.



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

	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
	disable peeling when we version for aliasing.
	(vector_alignment_reachable_p): Honor explicit user alignment.
	(vect_supportable_dr_alignment): Likewise.
	* tree-vect-loop-manip.c (vect_can_advance_ivs_p): Use
	STMT_VINFO_LOOP_PHI_EVOLUTION_PART instead of recomputing it.
	* tree-vect-loop.c (vect_transform_loop): First apply versioning,
	then peeling to arrange for the cost-model check to come first.

	* gcc.target/i386/avx256-unaligned-load-2.c: Make well-defined.
	* gcc.target/i386/l_fma_double_1.c: Adjust.
	* gcc.target/i386/l_fma_double_2.c: Likewise.
	* gcc.target/i386/l_fma_double_3.c: Likewise.
	* gcc.target/i386/l_fma_double_4.c: Likewise.
	* gcc.target/i386/l_fma_double_5.c: Likewise.
	* gcc.target/i386/l_fma_double_6.c: Likewise.
	* gcc.target/i386/l_fma_float_1.c: Likewise.
	* gcc.target/i386/l_fma_float_2.c: Likewise.
	* gcc.target/i386/l_fma_float_3.c: Likewise.
	* gcc.target/i386/l_fma_float_4.c: Likewise.
	* gcc.target/i386/l_fma_float_5.c: Likewise.
	* gcc.target/i386/l_fma_float_6.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198767 138bc75d-0d04-0410-961f-82ee72b054a4
	* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198768 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/45216
	PR tree-optimization/57157
	* tree-ssa-forwprop.c (simplify_rotate): New function.
	(ssa_forward_propagate_and_combine): Call it.

	* c-c++-common/rotate-1.c: New test.
	* c-c++-common/rotate-1a.c: New test.
	* c-c++-common/rotate-2.c: New test.
	* c-c++-common/rotate-2a.c: New test.
	* c-c++-common/rotate-3.c: New test.
	* c-c++-common/rotate-3a.c: New test.
	* c-c++-common/rotate-4.c: New test.
	* c-c++-common/rotate-4a.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198769 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/i386.md (rotateinv): New code attr.
	(*<rotate_insn><mode>3_1, *<rotate_insn>si3_1_zext,
	*<rotate_insn>qi3_1_slp): Emit rorl %eax instead of
	roll $31, %eax, etc.

	* gcc.target/i386/rotate-1.c: Accept rolb or rorb instruction.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198770 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/mips/mips-protos.h (m16_uimm3_b, m16_simm4_1, m16_nsimm4_1)
	(m16_simm5_1, m16_nsimm5_1, m16_uimm5_4, m16_nuimm5_4, m16_simm8_1)
	(m16_nsimm8_1, m16_uimm8_1, m16_nuimm8_1, m16_uimm8_m1_1, m16_uimm8_4)
	(m16_nuimm8_4, m16_simm8_8, m16_nsimm8_8): Delete.
	* config/mips/mips.c (m16_check_op, m16_uimm3_b, m16_simm4_1)
	(m16_nsimm4_1, m16_simm5_1, m16_nsimm5_1, m16_uimm5_4, m16_nuimm5_4)
	(m16_simm8_1, m16_nsimm8_1, m16_uimm8_1, m16_nuimm8_1, m16_uimm8_m1_1)
	(m16_uimm8_4, m16_nuimm8_4, m16_simm8_8, m16_nsimm8_8): Delete.
	* config/mips/constraints.md (Udb8, Usb5, Usb8, Usd8, Uub8, Uuw5)
	(Uuw8): New constraints.
	(Usb4): Move into alphabetical order.
	* config/mips/predicates.md (db8_operand, sb5_operand, sb8_operand)
	(sd8_operand, ub8_operand, uw8_operand): New predicates.
	* config/mips/mips.md (*xor<mode>3, *xor<mode>3_mips16): Name
	previously unnamed patterns.
	(*add<mode>3_mips16, *xor<mode>3_mips16, *<optab>si3_mips16)
	(*ashldi3_mips16, *ashrdi3_mips16, *lshrdi3_mips16)
	(*slt<u>_<GPR:mode><GPR2:mode>_mips16)
	(*sle<u>_<GPR:mode><GPR2:mode>_mips16): Use constraints instead
	of set_attr_alternative/if_then_else.  Use extended_mips16 instead
	of specific lengths.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198771 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-10  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* stor-layout.c (element_precision): New function.
	* machmode.h (element_precision): Declare it.
	* tree.c (build_minus_one_cst): New function.
	(element_precision): Likewise.
	* tree.h (build_minus_one_cst): Declare new function.
	(element_precision): Likewise.
	* fold-const.c (operand_equal_p): Use element_precision.
	(fold_binary_loc): Handle vector types.
	* convert.c (convert_to_integer): Use element_precision.
	* gimple.c (iterative_hash_canonical_type): Handle complex and vectors
	separately.

gcc/c-family/
	* c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
	vectors.

gcc/testsuite/
	* gcc.dg/vector-shift.c: New testcase.



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

	PR tree-optimization/57214
	* tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): Do
	not propagate from SSA names that occur in abnormal PHI nodes.


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


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