* 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.
From-SVN: r202102
* 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.
From-SVN: r202101
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.
From-SVN: r202097
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.
From-SVN: r202096
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.
From-SVN: r202095
* error.c (dump_lambda_function): New function, dependent on ...
(dump_substitution): ... this new function, factored out of ...
(subst_to_string): ... here and ...
(dump_function_decl): ... here. Updated to early-out with call to
dump_lambda_function after determining template bindings.
From-SVN: r202087
2013-08-29 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits.
(regex_iterator<>::regex_iterator): Return nullptr when regex_search
failed.
(regex_token_iterator<>::_M_end_of_seq): Should be defined true when
_M_result is(not isn't) nullptr.
* include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference
instead of by value.
* include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add
_M_traits to _DFSExecutor.
* include/bits/regex_executor.tcc (__get_executor<>): Pass traits to
_DFSExecutor too.
* testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
New.
* testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
wstring_02.cc: New.
From-SVN: r202082
2013-08-29 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/52243
* trans-expr.c (is_runtime_conformable): New function.
* gfc_trans_assignment_1: Use it.
2013-08-29 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/52243
* gfortran.dg/realloc_on_assign_14.f90: Remove warning made
obsolete by patch.
* gfortran.dg/realloc_on_assign_19.f90: New test.
From-SVN: r202070
2013-08-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/57685
* tree-vrp.c (register_edge_assert_for_1): Recurse only for
single-use operands to avoid exponential complexity.
* gcc.dg/torture/pr57685.c: New testcase.
From-SVN: r202068
* go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
the struct is not hidden.
(Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
From-SVN: r202065
/cp
2013-08-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58255
* init.c (build_aggr_init): When init == void_type_node do not
set LOOKUP_ONLYCONVERTING.
/testsuite
2013-08-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58255
* g++.dg/cpp0x/dc7.C: New.
From-SVN: r202061
Replace fixed size array that was holding vtable pointers
with a vector, allowing dynamic resizing. ALso fix issues with
warning diagnostics.
From-SVN: r202060
PR target/58067
* config/i386/i386.md (*tls_global_dynamic_64_largepic): New insn.
(*tls_local_dynamic_base_64_largepic): Likewise.
(tls_global_dynamic_64_<mode>, tls_local_dynamic_base_64_<mode>):
Remove predicate from call operand.
* config/i386/i386.c (ix86_tls_get_addr): For -mcmodel=large -fpic
return sum of pic_offset_table_rtx and UNSPEC_PLTOFF of the symbol.
From-SVN: r202055
* tree-ssa-threadedge.c (thread_around_empty_block): Remove
checks for the number of predecessors and successors allowed.
* tree-ssa-threadupdate.c (mark_threaded_blocks): Ignore requests
which require copying a joiner block if there is a request which
is a subpath that requires no joiner block copying.
From-SVN: r202054
* lto-streamer-out.c (DFS_write_tree_body): Drop
BINFO_INHERITANCE_CHAIN, BINFO_SUBVTT_INDEX and BINFO_VPTR_INDEX.
(hash_tree): Do not hash DECL_DEFER_OUTPUT, BINFO_INHERITANCE_CHAIN,
BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, DECL_IN_TEXT_SECTION.
* tree-streamer-in.c (unpack_ts_decl_common_value_fields):
Do not read DECL_ERROR_ISSUED.
(unpack_ts_decl_with_vis_value_fields): Do not read
DECL_DEFER_OUTPUT.
(lto_input_ts_binfo_tree_pointers): Do not read BINFO_INHERITANCE_CHAIN,
BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX
* tree-streamer-out.c (pack_ts_decl_common_value_fields): Do not
write DECL_ERROR_ISSUED..
(pack_ts_decl_with_vis_value_fields): Do not write
DECL_DEFER_OUTPUT.
(write_ts_binfo_tree_pointers): Do not read BINFO_INHERITANCE_CHAIN,
BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX
* print-tree.c (print_node): Do not print DECL_ERROR_ISSUED.
* tree.h (tree_decl_common): Update comment.
(DECL_ERROR_ISSUED): Remove.
From-SVN: r202053
* lto.c (compare_tree_sccs_1): Drop DECL_ERROR_ISSUED,
DECL_DEFER_OUTPUT and DECL_IN_TEXT_SECTION.
(unify_scc): Do checking assert.
* lto-streamer-out.c (DFS_write_tree_body): Drop
BINFO_INHERITANCE_CHAIN, BINFO_SUBVTT_INDEX and BINFO_VPTR_INDEX.
(hash_tree): Do not hash DECL_DEFER_OUTPUT, BINFO_INHERITANCE_CHAIN,
BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, DECL_IN_TEXT_SECTION.
* tree-streamer-in.c (unpack_ts_decl_common_value_fields):
Do not read DECL_ERROR_ISSUED.
(unpack_ts_decl_with_vis_value_fields): Do not read
DECL_DEFER_OUTPUT.
(lto_input_ts_binfo_tree_pointers): Do not read BINFO_INHERITANCE_CHAIN,
BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX
* tree-streamer-out.c (pack_ts_decl_common_value_fields): Do not
write DECL_ERROR_ISSUED..
(pack_ts_decl_with_vis_value_fields): Do not write
DECL_DEFER_OUTPUT.
(write_ts_binfo_tree_pointers): Do not read BINFO_INHERITANCE_CHAIN,
BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX
* print-tree.c (print_node): Do not print DECL_ERROR_ISSUED.
* tree.h (tree_decl_common): Update comment.
(DECL_ERROR_ISSUED): Remove.
From-SVN: r202052
2013-08-27 Martin Jambor <mjambor@suse.cz>
* ipa-prop.h (ipa_pass_through_data): New field type_preserved.
(ipa_ancestor_jf_data): Likewise.
(ipa_get_jf_pass_through_agg_preserved): Fix comment typo.
(ipa_get_jf_pass_through_type_preserved): New function.
(ipa_get_jf_ancestor_agg_preserved): Fix comment typo.
(ipa_get_jf_ancestor_type_preserved): New function.
* ipa-cp.c (ipa_get_jf_pass_through_result): Honor type_preserved
flag.
(ipa_get_jf_ancestor_result): Likewise.
(propagate_vals_accross_pass_through): Use
ipa_get_jf_pass_through_result to do all the value mappings.
* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Dump the
type_preserved flag.
(ipa_set_jf_cst_copy): New function.
(ipa_set_jf_simple_pass_through): Set the type_preserved flag.
(ipa_set_jf_arith_pass_through): Likewise.
(ipa_set_ancestor_jf): Likewise.
(compute_complex_assign_jump_func): Set type_preserved instead of
punting.
(ipa_compute_jump_functions_for_edge): Likewise.
(combine_known_type_and_ancestor_jfs): Honor type_preserved.
(update_jump_functions_after_inlining): Update type_preserved.
Explicitely create jump functions when combining one with
pass_through.
(ipa_write_jump_function): Stream the type_preserved flags.
(ipa_read_jump_function): Likewise.
From-SVN: r202036
2013-08-27 Tejas Belagod <tejas.belagod@arm.com>
* config/aarch64/arm_neon.h: Replace all inline asm implementations
of vget_low_* with implementations in terms of other intrinsics.
From-SVN: r202023