1. 29 Aug, 2013 12 commits
    • * gcc_update (configure): Update to handle svn 1.8.1. · 6e39ee0c
      From-SVN: r202084
      Mike Stump committed
    • regex.h (basic_regex<>::assign): Don't lose _M_traits. · 9222fb6f
      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
      Tim Shen committed
    • passes.c (register_pass): Add overload. · 3fa3690d
      	* passes.c (register_pass): Add overload.
      	* tree-pass.h (register_pass): Forward declare it.  Add comment.
      
      From-SVN: r202081
      Oleg Endo committed
    • Revert accidental checkin. · 125b62f6
      From-SVN: r202080
      Jan Hubicka committed
    • lto.c (compare_tree_sccs_1): Compare DECL_FINAL_P... · 0170f33c
      
      	* lto.c (compare_tree_sccs_1): Compare  DECL_FINAL_P,
      	DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P and
      	TYPE_FINAL_P.
      
      	* lto-streamer-out.c (hash_tree): Stream DECL_FINAL_P.
      	DECL_CXX_CONSTRUCTOR_P. DECL_CXX_DESTRUCTOR_P.
      	TYPE_FINAL_P.
      	* lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields):
      	DECL_FINAL_P. DECL_CXX_CONSTRUCTOR_P and DECL_CXX_DESTRUCTOR_P.
      	(unpack_ts_type_common_value_fields): Stream TYPE_FINAL_P.
      	* tree-streamer-out.c (pack_ts_decl_with_vis_value_fields):
      	Add DECL_FINAL_P, DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P
      	(pack_ts_type_common_value_fields): Add TYPE_FINAL_P.
      
      From-SVN: r202079
      Jan Hubicka committed
    • dumpfile.c (dump_loc): Output column number. · 103ff0d6
      2013-08-29  Teresa Johnson  <tejohnson@google.com>
      
      	* dumpfile.c (dump_loc): Output column number.
      	* dumpfile.h (OPTGROUP_OTHER): Add and enable under OPTGROUP_ALL.
      	* doc/invoke.texi: Document optall -fopt-info flag.
      	* profile.c (read_profile_edge_counts): Use new dump framework.
      	(compute_branch_probabilities): Ditto.
      	* passes.c (pass_manager::register_one_dump_file): Use OPTGROUP_OTHER
      	when pass not in any opt group.
      	* pass_manager.h (pass_manager::get_pass_profile): New method.
      	* value-prof.c (check_counter): Use new dump framework.
      	(check_ic_target): Ditto.
      	* coverage.c (get_coverage_counts): Ditto.
      	(coverage_init): Setup new dump framework.
      
      	* testsuite/gcc.dg/pr40209.c: Use -fopt-info.
      	* testsuite/gcc.dg/pr26570.c: Ditto.
      	* testsuite/gcc.dg/pr32773.c: Ditto.
      	* testsuite/g++.dg/tree-ssa/dom-invalid.C: Ditto.
      	* testsuite/gcc.dg/inline-dump.c: New test.
      
      From-SVN: r202077
      Teresa Johnson committed
    • re PR tree-optimization/58246 (wrong code at -O1 and above) · 301bbc16
      2013-08-29  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/58246
      	* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Properly
      	handle the dominance check inside a basic-block.
      
      	* gcc.dg/torture/pr58246.c: New testcase.
      
      From-SVN: r202071
      Richard Biener committed
    • re PR fortran/52243 (Avoid reallocation for: array1 = array1 / scalar for performance) · 4860a462
      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
      Thomas Koenig committed
    • re PR middle-end/57287 (Bogus uninitialized warning with abnormal control flow) · 1b275000
      2013-08-29  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/57287
      	* tree-ssa-copy.c (may_propagate_copy): Allow propagating
      	of default defs that appear in abnormal PHI nodes.
      
      	* gcc.dg/pr57287-2.c: New testcase.
      
      From-SVN: r202069
      Richard Biener committed
    • re PR tree-optimization/57685 (GCC stuck in an infinite loop) · 6b1184ba
      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
      Richard Biener committed
    • go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if the struct is not hidden. · 2ec974d9
      	* 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
      Ian Lance Taylor committed
    • Daily bump. · 652974f2
      From-SVN: r202064
      GCC Administrator committed
  2. 28 Aug, 2013 17 commits
  3. 27 Aug, 2013 11 commits
    • ipa-prop.h (ipa_pass_through_data): New field type_preserved. · b8f6e610
      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
      Martin Jambor committed
    • Makefile.in (omp-low.o): Depend on $(TARGET_H). · 74bf76ed
      	* Makefile.in (omp-low.o): Depend on $(TARGET_H).
      	* cfgloop.h (struct loop): Add safelen, force_vect, simduid.
      	* function.h (struct function): Add has_force_vect_loops and
      	has_simduid_loops.
      	* gimple-pretty-print.c (dump_gimple_omp_for): Handle
      	GF_OMP_FOR_KIND*.
      	* gimple.c (gimple_build_omp_critical): Add KIND argument and
      	handle it.
      	* gimple.def: Update CLAUSES comments.
      	* gimple.h (enum gf_mask): Add GF_OMP_FOR_KIND_{FOR,SIMD}.
      	(gimple_build_omp_for): Add argument to prototype.
      	(gimple_omp_for_kind): New.
      	(gimple_omp_for_set_kind): New.
      	* gimplify.c (enum gimplify_omp_var_data): Add GOVD_LINEAR to
      	GOVD_DATA_SHARE_CLASS.
      	(enum omp_region_type): Add ORT_SIMD.
      	(gimple_add_tmp_var): Handle ORT_SIMD.
      	(gimplify_var_or_parm_decl): Same.
      	(is_gimple_stmt): Same.
      	(omp_firstprivatize_variable): Same.
      	(omp_add_variable): Only use splay_tree_insert if lookup failed.
      	(omp_notice_variable): Handle ORT_SIMD.
      	(omp_is_private): Add SIMD argument and handle it as well as
      	ORT_SIMD.
      	(omp_check_private): Handle ORT_SIMD.
      	(gimplify_scan_omp_clauses): Handle OMP_CLAUSE_LINEAR and
      	OMP_CLAUSE_SAFELEN.
      	(gimplify_adjust_omp_clauses_1): Handle GOVD_LINEAR.
      	Handle OMP_CLAUSE_LASTPRIVATE.
      	(gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_LINEAR and
      	OMP_CLAUSE_SAFELEN.
      	(gimplify_omp_for): Handle OMP_SIMD and OMP_CLAUSE_LINEAR.
      	(gimplify_expr): Handle OMP_SIMD.
      	* internal-fn.c (expand_GOMP_SIMD_LANE): New.
      	(expand_GOMP_SIMD_VF): New.
      	(expand_GOMP_SIMD_LAST_LANE): New.
      	* internal-fn.def (GOMP_SIMD_LANE): New.
      	(GOMP_SIMD_VF): New.
      	(GOMP_SIMD_LAST_LANE): New.
      	* omp-low.c: Include target.h.
      	(extract_omp_for_data): Handle OMP_SIMD, OMP_CLAUSE_LINEAR,
      	OMP_CLAUSE_SAFELEN.
      	(check_omp_nesting_restrictions): Same.
      	(omp_max_vf): New.
      	(lower_rec_simd_input_clauses): New.
      	(lower_rec_input_clauses): Handle OMP_SIMD, GF_OMP_FOR_KIND_SIMD,
      	OMP_CLAUSE_LINEAR.
      	(lower_lastprivate_clauses): Handle OMP_CLAUSE_LINEAR,
      	GF_OMP_FOR_KIND_SIMD, OMP_SIMD.
      	(expand_omp_build_assign): New.
      	(expand_omp_for_init_counts): New.
      	(expand_omp_for_init_vars): New.
      	(extract_omp_for_update_vars): New.
      	(expand_omp_for_generic): Use expand_omp_for_{init,update}_vars
      	and rewrite accordingly.
      	(expand_omp_simd): New.
      	(expand_omp_for): Use expand_omp_simd.
      	(lower_omp_for_lastprivate): Unshare vinit when appropriate.
      	(lower_omp_for): Do not lower the body.
      	* tree-data-ref (get_references_in_stmt): Allow IFN_GOMP_SIMD_LANE
      	in their own loops.
      	* tree-flow.h (find_omp_clause): Remove prototype.
      	* tree-if-conv.c (main_tree_if_conversion): Run if doing if
      	conversion, forcing vectorization of the loop, or if
      	flag_tree_vectorize.
      	(gate_tree_if_conversion): Similarly.
      	* tree-inline.c (remap_gimple_stmt): Pass for kind argument to
      	gimple_build_omp_for.
      	(copy_cfg_body): set has_force_vect_loops and has_simduid_loops.
      	* tree-parloops (create_parallel_loop): Pass kind argument to
      	gimple_build_omp_for.
      	* tree-pretty-print.c (dump_omp_clause): Add cases for
      	OMP_CLAUSE_UNIFORM, OMP_CLAUSE_LINEAR, OMP_CLAUSE_SAFELEN,
      	OMP_CLAUSE__SIMDUID_.
      	(dump_generic_node): Handle OMP_SIMD.
      	* tree-ssa-ccp.c (likely_value): Handle IFN_GOMP_SIMD*.
      	* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Do not
      	unroll OMP_SIMD loops here.
      	* tree-ssa-loop.c (gate_tree_vectorize): Run if
      	has_force_vect_loops.
      	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Handle
      	loop->safelen
      	(vect_analyze_data_refs): Handle simd loops.
      	* tree-vect-loop.c (vectorizable_live_operation): Handle
      	IFN_GOMP_SIMD*.
      	* tree-vect-stmts.c (vectorizable_call): Handle
      	IFN_GOMP_SIMD_LANE.
      	(vectorizable_store): Handle STMT_VINFO_SIMD_LANE_ACCESS_P.
      	(vectorizable_load): Same.
      	* tree-vectorizer.c: Include hash-table.h and
      	tree-ssa-propagate.h.
      	(struct simduid_to_vf): New.
      	(simduid_to_vf::hash): New.
      	(simduid_to-vf::equal): New.
      	(struct simd_array_to_simduid): New.
      	(simd_array_to_simduid::hash): New.
      	(simd_array_to_simduid::equal): New.
      	(adjust_simduid_builtins): New.
      	(struct note_simd_array_uses_struct): New.
      	(note_simd_array_uses_cb): New.
      	(note_simd_array_uses): New.
      	(vectorize_loops): Handle simd hints and adjust simd builtins
      	accordingly.
      	* tree-vectorizer.h (struct _stmt_vec_info): Add
      	simd_lane_access_p field.
      	(STMT_VINFO_SIMD_LANE_ACCESS_P): New macro.
      	* tree.c (omp_clause_num_ops): Add entries for OMP_CLAUSE_LINEAR,
      	OMP_CLAUSE_SAFELEN, OMP_CLAUSE__SIMDUID_, OMP_CLAUSE_UNIFORM.
      	(omp_clause_code_name): Same.
      	(walk_tree_1): Handle OMP_CLAUSE_UNIFORM, OMP_CLAUSE_SAFELEN,
      	OMP_CLAUSE__SIMDUID_, OMP_CLAUSE_LINEAR.
      	* tree.def (OMP_SIMD): New entry.
      	* tree.h (enum omp_clause_code): Add entries for
      	OMP_CLAUSE_LINEAR, OMP_CLAUSE_UNIFORM, OMP_CLAUSE_SAFELEN,
      	OMP_CLAUSE__SIMDUID_.
      	(OMP_CLAUSE_DECL): Adjust range for new clauses.
      	(OMP_CLAUSE_LINEAR_NO_COPYIN): New.
      	(OMP_CLAUSE_LINEAR_NO_COPYOUT): New.
      	(OMP_CLAUSE_LINEAR_STEP): New.
      	(OMP_CLAUSE_SAFELEN_EXPR): New.
      	(OMP_CLAUSE__SIMDUID__DECL): New.
      	(find_omp_clause): New prototype.
      cp/
      	* cp-tree.h (CP_OMP_CLAUSE_INFO): Adjust range for new clauses.
      
      Co-Authored-By: Aldy Hernandez <aldyh@redhat.com>
      
      From-SVN: r202029
      Jakub Jelinek committed
    • Update Haswell processor detection · d0cf4e84
      	* config/i386/driver-i386.c (host_detect_local_cpu): Update
      	Haswell processor detection.
      
      From-SVN: r202028
      H.J. Lu committed
    • re PR target/57927 (-march=core-avx2 different than -march=native on INTEL Haswell (i7-4700K)) · 992592ec
      	PR target/57927
      	* config/i386/driver-i386.c (host_detect_local_cpu): Add detection
      	of Ivy Bridge and Haswell processors.  Assume core-avx2 for unknown
      	AVX2 capable processors.
      
      From-SVN: r202026
      Christian Widmer committed
    • arm_neon.h: Replace all inline asm implementations of vget_low_* with implementations in... · 9116eb22
      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
      Tejas Belagod committed
    • Remove experimental LRA test · da02a644
      From-SVN: r202022
      Nick Clifton committed
    • re PR middle-end/57219 (__builtin_isinf_sign source comments more restrictive than documentation) · 1c5abb53
      2013-08-27  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR middle-end/57219
      	* doc/extend.texi (__builtin_isinf_sign): Restrict the return
      	values to -1, 0 and 1.
      
      From-SVN: r202021
      Marc Glisse committed
    • aarch64.md (unspec): Add UNSPEC_SISD_SSHL... · 2e100703
      gcc/
      
      2013-08-27  Vidya Praveen  <vidyapraveen@arm.com>
      
      	* config/aarch64/aarch64.md (unspec): Add UNSPEC_SISD_SSHL, 
      	UNSPEC_SISD_USHL, UNSPEC_USHL_2S, UNSPEC_SSHL_2S, UNSPEC_SISD_NEG.
      	(<optab><mode>3_insn): Remove.
      	(aarch64_ashl_sisd_or_int_<mode>3): New Pattern.
      	(aarch64_lshr_sisd_or_int_<mode>3): Likewise.
      	(aarch64_ashr_sisd_or_int_<mode>3): Likewise.
      	(define_split for aarch64_lshr_sisd_or_int_di3): Likewise.
      	(define_split for aarch64_lshr_sisd_or_int_si3): Likewise.
      	(define_split for aarch64_ashr_sisd_or_int_di3): Likewise.
      	(define_split for aarch64_ashr_sisd_or_int_si3): Likewise.
      	(aarch64_sisd_ushl, aarch64_sisd_sshl): Likewise.
      	(aarch64_ushl_2s, aarch64_sshl_2s, aarch64_sisd_neg_qi): Likewise.
      	(ror<mode>3_insn): Likewise.
      	* config/aarch64/predicates.md (aarch64_simd_register): New.
      
      gcc/testsuite/
      
      2013-08-27  Vidya Praveen  <vidyapraveen@arm.com>
      
      	* gcc.target/aarch64/scalar_shift_1.c: New.
      
      From-SVN: r202020
      Vidya Praveen committed
    • re PR tree-optimization/57521 (wrong code for expressions in loop at -O3) · 4ded8276
      2013-08-27  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/57521
      	* tree-if-conv.c (if_convertible_bb_p): Verify that at least
      	one edge is non-critical.
      	(find_phi_replacement_condition): Make sure to use a non-critical
      	edge.  Cleanup and remove old bug workarounds.
      	(bb_postdominates_preds): Remove.
      	(if_convertible_loop_p_1): Do not compute post-dominators.
      	(combine_blocks): Do not free post-dominators.
      	(main_tree_if_conversion): Likewise.
      	(pass_data_if_conversion): Add TODO_verify_ssa.
      
      	* gcc.dg/torture/pr57521.c: New testcase.
      
      From-SVN: r202019
      Richard Biener committed
    • re PR rtl-optimization/57860 (wrong code for bitwise ops with long long literal… · d15774b6
      re PR rtl-optimization/57860 (wrong code for bitwise ops with long long literal on x86_64-linux (32-bit mode))
      
      	PR rtl-optimization/57860
      	PR rtl-optimization/57861
      	PR rtl-optimization/57875
      	PR rtl-optimization/57876
      	PR rtl-optimization/57877
      	* gcc.c-torture/execute/pr57860.c: New test.
      	* gcc.c-torture/execute/pr57861.c: New test.
      	* gcc.c-torture/execute/pr57875.c: New test.
      	* gcc.c-torture/execute/pr57876.c: New test.
      	* gcc.c-torture/execute/pr57877.c: New test.
      
      From-SVN: r202018
      Jakub Jelinek committed
    • decl.c (grokfndecl): Remove old bison hack. · 11729fa7
      2013-08-27  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (grokfndecl): Remove old bison hack.
      
      From-SVN: r202017
      Paolo Carlini committed