* lto-symtab.c (lto_cgraph_replace_node): Free decl_in_state.
	* cgraph.c (cgraph_release_function_body): Free decl_in_state.
	* lto-section-in.c (lto_free_function_in_decl_state): New function.
	(lto_free_function_in_decl_state_for_node): New function.

	* lto.c (read_cgraph_and_symbols): Remove ggc_collect;
	clear section node; add comment why we do not collect.


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

	* lto-symtab.c (lto_cgraph_replace_node): Free decl_in_state.
	* cgraph.c (cgraph_release_function_body): Free decl_in_state.
	* lto-section-in.c (lto_free_function_in_decl_state): New function.
	(lto_free_function_in_decl_state_for_node): New function.


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

	PR tree-optimization/58010
	* tree-vect-loop.c (vect_create_epilog_for_reduction): Remove
	assert that we have a loop-closed PHI.

	* gcc.dg/pr58010.c: New testcase.


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

	PR tree-optimization/58223
	* tree-loop-distribution.c (has_anti_dependence): Rename to ...
	(has_anti_or_output_dependence): ... this and adjust to also
	look for output dependences.
	(mark_nodes_having_upstream_mem_writes): Adjust.
	(rdg_flag_uses): Likewise.

	* gcc.dg/torture/pr58223.c: New testcase.
	* gcc.dg/tree-ssa/ldist-16.c: Flip expected behavior.


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

	PR tree-optimization/58228
	* tree-vect-data-refs.c (vect_analyze_data_ref_access): Do not
	allow invariant loads in nested loop vectorization.

	* gcc.dg/torture/pr58228.c: New testcase.


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

	* tree.c (set_call_expr_flags): Fix handling of TM_PURE.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202098 138bc75d-0d04-0410-961f-82ee72b054a4
	* class.c (build_vtbl_initializer): Make __cxa_deleted_virtual
	ECF_NORETURN | ECF_LEAF
	* cp-tree.h (build_library_fn_ptr, build_cp_library_fn_ptr,
	push_library_fn, push_void_library_fn): Update prototype.
	* decl.c (build_library_fn_1): Remove.
	(push_cp_library_fn, build_cp_library_fn): Update to take ECF flags.
	(cxx_init_decl_processing): Update; global_delete_fndecl is ECF_NOTROW;
	__cxa_pure_virtual is ECF_NORETURN | ECF_NORETURN | ECF_LEAF.
	(build_library_fn_1): Add ecf_flags argument; rename to ...
	(build_library_fn): ... this one.
	(build_cp_library_fn): Take ecf_flags; do not copy NOTHROW flag.
	(build_library_fn_ptr): Take ecf_flags.
	(build_cp_library_fn_ptr): Likewise.
	(push_library_fn): Likewise.
	(push_cp_library_fn): Likewise.
	(push_void_library_fn): Likewise.
	(push_throw_library_fn): All throws are ECF_NORETURN.
	(__cxa_atexit, __cxa_thread_atexit): Add ECF_LEAF | ECF_NOTHROW attributes.
	(expand_static_init): __cxa_guard_acquire, __cxa_guard_release,
	__cxa_guard_abort are ECF_NOTHROW | ECF_LEAF.
	* except.c (init_exception_processing): terminate is
	ECF_NOTHROW | ECF_NORETURN | ECF_LEAF.
	(declare_nothrow_library_fn): Add ecf_flags parameter.
	(__cxa_get_exception_ptr): Is ECF_NOTHROW | ECF_PURE | ECF_LEAF |
	ECF_TM_PURE.
	(do_begin_catch): cxa_begin_catch and _ITM_cxa_begin_catch
	are ECF_NOTHROW | ECF_LEAF.
	(do_end_catch): __cxa_end_catch and _ITM_cxa_end_catch is
	ECF_LEAF.
	(do_allocate_exception): _cxa_allocate_exception
	and _ITM_cxa_allocate_exception are ECF_NOTHROW | ECF_MALLOC
	| ECF_LEAF
	(do_free_exception): __cxa_free_exception is
	ECF_NOTHROW | ECF_LEAF.
	* rtti.c (build_dynamic_cast_1): __dynamic_cast
	is ECF_LEAF | ECF_PURE | ECF_NOTHROW.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202099 138bc75d-0d04-0410-961f-82ee72b054a4
	Correct previous patch to not mark terminate as LEAF.
	* class.c (build_vtbl_initializer): Drop LEAF
	* decl.c (cxx_init_decl_processing): Likewise.
	(push_throw_library_fn): Likewise.
	* except.c (init_exception_processing): Likewise.
	(do_begin_catch): Likewise.
	(do_end_catch): Likewise.
	(do_allocate_exception): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202100 138bc75d-0d04-0410-961f-82ee72b054a4
Add custom HTM fast path for RTM on x86_64.

	* libitm_i.h (gtm_thread): Assign an asm name to serial_lock.
	(htm_fastpath): Assign an asm name.
	* libitm.h (_ITM_codeProperties): Add non-ABI flags used by custom
	HTM fast paths.
	(_ITM_actions): Likewise.
	* config/x86/target.h (HTM_CUSTOM_FASTPATH): Enable custom fastpath on
	x86_64.
	* config/x86/sjlj.S (_ITM_beginTransaction): Add custom HTM fast path.
	* config/posix/rwlock.h (gtm_rwlock): Update comments.  Move summary
	field to the start of the structure.
	* config/linux/rwlock.h (gtm_rwlock): Update comments.
	* beginend.cc (gtm_thread::begin_transaction): Add retry policy
	handling for custom HTM fast paths.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202101 138bc75d-0d04-0410-961f-82ee72b054a4
	* function.c (assign_parm_setup_reg): For a parameter passed by pointer
	and which can live in a register, always retrieve the value on entry.
	* var-tracking.c (add_stores): Treat the copy on entry for a parameter
	passed by invisible reference specially.
	(emit_notes_in_bb) <MO_VAL_USE>: Emit notes before the instruction.
	(vt_add_function_parameter): Correctly deal with a parameter passed by
	invisible reference.


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

	* fold-const.c (fold_single_bit_test): Fix overflow test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202103 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/58277
	* tree-ssa-strlen.c (strlen_enter_block): If do_invalidate gave up
	after seeing too many stmts with vdef in between dombb and current
	bb, invalidate everything.

	* gcc.c-torture/execute/pr58277-1.c: New test.
	* gcc.c-torture/execute/pr58277-2.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202104 138bc75d-0d04-0410-961f-82ee72b054a4
Move testsuite changes to correct ChangeLog, and delete a new
test that should not have been committed.

2013-08-30  Teresa Johnson  <tejohnson@google.com>

	* gcc.dg/inline-dump.c: Delete inadvertant commit.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202106 138bc75d-0d04-0410-961f-82ee72b054a4
        * recog.c (verify_changes): Verify that changes[i].old is non-zero
        before applying REG_P.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202107 138bc75d-0d04-0410-961f-82ee72b054a4
2013-08-30  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
	* config/aarch64/arm_neon.h (__AARCH64_UINT64_C, __AARCH64_INT64_C): New
	arm_neon.h's internal macros to specify 64-bit constants. Avoid using
	stdint.h's macros.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202108 138bc75d-0d04-0410-961f-82ee72b054a4
c-family/
	* c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
	member function.
	(c_pretty_printer::declaration_specifiers): Likewise.
	(c_pretty_printer::declarator): Likewise.
	(c_pretty_printer::abstract_declarator): Likewise.
	(c_pretty_printer::direct_abstract_declarator): Likewise.
	(c_pretty_printer::direct_declarator): Likewise.
	(c_pretty_printer::function_specifier): Likewise.
	(pp_declaration): Adjust.
	(pp_declaration_specifiers): Likewise.
	(pp_abstract_declarator): Likewise.
	(pp_direct_declarator): Likewise.
	(pp_function_specifier): Likewise.
	(pp_direct_abstract_declarator): Remove as unused.
	(pp_c_declaration): Remove.
	(pp_c_declaration_specifiers): Likewise.
	(pp_c_declarator): Likewise.
	(pp_c_direct_declarator): Likewise.
	(pp_c_function_specifier): Likewise.
	(pp_c_direct_abstract_declarator): Likewise.
	* c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
	from pp_c_abstract_declarator.  Adjust.
	(c_pretty_printer::direct_abstract_declarator):  Rename from
	pp_c_direct_abstract_declarator.  Adjust.
	(c_pretty_printer::function_specifier): Rename from
	pp_c_function_specifier.  Adjust.
	(c_pretty_printer::declaration_specifiers): Rename from
	pp_c_declaration_specifiers.  Adjust.
	(c_pretty_printer::direct_declarator): Rename from
	pp_c_direct_declarator.  Adjust.
	(c_pretty_printer::declarator): Rename from pp_c_declarator.  Adjust.
	(c_pretty_printer::declaration): Rename from pp_c_declaration.  Adjust.
	(c_pretty_printer::c_pretty_printer): Do not assign to
	declaration, declaration_specifiers, declarator,
	direct_declarator, direct_abstract_declarator, function_specifier.

cp/
	* cxx-pretty-print.h (cxx_pretty_printer::declaration): Declare as
	overrider.
	(cxx_pretty_printer::declaration_specifiers): Likewise.
	(cxx_pretty_printer::function_specifier): Likewise.
	(cxx_pretty_printer::declarator): Likewise.
	(cxx_pretty_printer::direct_declarator): Likewise.
	(cxx_pretty_printer::abstract_declarator): Likewise.
	(cxx_pretty_printer::direct_abstract_declarator): Likewise.
	(pp_cxx_declaration): Remove.
	* cxx-pretty-print.c (cxx_pretty_printer::function_specifier):
	Rename from pp_cxx_function_specifier.  Adjust.
	(cxx_pretty_printer::declaration_specifiers): Rename from
	pp_cxx_decl_specifier_seq.  Adjust.
	(cxx_pretty_printer::direct_declarator): Rename from
	pp_cxx_direct_declarator.  Adjust.
	(cxx_pretty_printer::declarator): Rename from pp_cxx_declarator.
	Adjust.
	(cxx_pretty_printer::abstract_declarator): Rename from
	pp_cxx_abstract_declarator.  Adjust.
	(cxx_pretty_printer::direct_abstract_declarator): Rename from
	pp_cxx_direct_abstract_declarator.  Adjust.
	(cxx_pretty_printer::declaration): Rename from
	pp_cxx_declaration.  Adjust.
	(cxx_pretty_printer::cxx_pretty_printer): Do not assign to
	declaration, declaration_specifiers, function_specifier,
	declarator, direct_declarator, abstract_declarator,
	direct_abstract_declarator.
	* error.c (dump_decl): Adjust.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202109 138bc75d-0d04-0410-961f-82ee72b054a4
/cp
2013-08-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51424
	* cp-tree.h (LOOKUP_DELEGATING_CONS): Add.
	* init.c (perform_target_ctor): Use it.
	* call.c (build_special_member_call): Diagnose self-delegating
	constructors.

/testsuite
2013-08-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51424
	* g++.dg/cpp0x/dc8.C: New.
	* g++.dg/template/meminit1.C: Adjust.


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


	* cgraph.c (cgraph_function_body_availability): Handle weakref
	correctly.
	* passes.def: Remove pass_fixup_cfg.
	* ipa-inline.c (ipa_inline): When not optimizing, do not inline;
	track when we need to remove functions.
	(gate_ipa_inline): Execute inlining always; add comment why.
	(pass_data_ipa_inline): Remove TODO_remove_functions.
	* ipa-inline-analysis.c (inline_generate_summary): When not optimizing
	do not produce summaries.
	* symtab.c (change_decl_assembler_name): Handle renaming of weakrefs.
	(symtab_nonoverwritable_alias): Assert we are not called on weakref.
	* varpool.c (cgraph_variable_initializer_availability): Fix weakrefs,
	constant pool and vtable.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202111 138bc75d-0d04-0410-961f-82ee72b054a4
	* doc/install.texi (Prerequisites): Note regression in Tcl 8.6
	with RE patterns.


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


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