- 14 Jul, 2016 7 commits
-
-
This fixes some basic issues with the profile test cases with autofdo. - Disable checking for value transformations that autofdo does not support. - Disable checking for fixed hit counts which autofdo does not support - Enable dumping of afdo log file and check right log file. - Increase run time of test cases to 1M iterations because autofdo needs a few samples to make sense of a program. The test case don't run noticeable slower with that. There are still failures unfortunately, especially the indirect call transformations do not trigger because autofdo thinks they are not hot. This can be addressed later. gcc/testsuite/: 2016-07-13 Andi Kleen <ak@linux.intel.com> * g++.dg/tree-prof/indir-call-prof.C: Basic fixes for autofdo. * g++.dg/tree-prof/morefunc.C: Dito. * g++.dg/tree-prof/pr35545.C: Dito. * g++.dg/tree-prof/reorder.C: Dito. * gcc.dg/tree-prof/20050826-2.c: Dito. * gcc.dg/tree-prof/cmpsf-1.c: Dito. * gcc.dg/tree-prof/cold_partition_label.c: Dito. * gcc.dg/tree-prof/ic-misattribution-1.c: Dito. * gcc.dg/tree-prof/indir-call-prof.c: Dito. * gcc.dg/tree-prof/inliner-1.c: Dito. * gcc.dg/tree-prof/merge_block.c: Dito. * gcc.dg/tree-prof/stringop-1.c: Dito. * gcc.dg/tree-prof/stringop-2.c: Dito. * gcc.dg/tree-prof/switch-case-1.c: Dito. * gcc.dg/tree-prof/switch-case-2.c: Dito. * gcc.dg/tree-prof/time-profiler-1.c: Dito. * gcc.dg/tree-prof/time-profiler-2.c: Dito. * gcc.dg/tree-prof/update-loopch.c: Dito. * gcc.dg/tree-prof/val-prof-1.c: Dito. * gcc.dg/tree-prof/val-prof-2.c: Dito. * gcc.dg/tree-prof/val-prof-3.c: Dito. * gcc.dg/tree-prof/val-prof-4.c: Dito. * gcc.dg/tree-prof/val-prof-5.c: Dito. * gcc.dg/tree-prof/val-prof-6.c: Dito. * gcc.dg/tree-prof/val-prof-7.c: Dito. From-SVN: r238325
Andi Kleen committed -
autofdo create_gcov creates an extra .imports file. Always remove that too when running an autofdo test case. gcc/testsuite/: 2016-07-13 Andi Kleen <ak@linux.intel.com> * lib/profopt.exp (profopt-execute): Remove .imports files. From-SVN: r238324
Andi Kleen committed -
not just when verbose. This ensures all command lines needed to reproduce the test case are always logged gcc/testsuite/: 2016-07-13 Andi Kleen <ak@linux.intel.com> * lib/profopt.exp (profopt-execute): Always log profiler command line. From-SVN: r238323
Andi Kleen committed -
Autofdo outputs to different dump files and doesn't support some transformation that normal profiling. Add dg-final-scan-autofdo and dg-final-scan-not-autofdo statements to the test suite so that the test cases can hande those cases separately. gcc/testsuite/: 2016-07-13 Andi Kleen <ak@linux.intel.com> * lib/profopt.exp (dg-final-scan-autofdo, dg-final-scan-not-autofdo): New functions. From-SVN: r238322
Andi Kleen committed -
The pass to transform gimple based on value profiling runs with autofdo on, but currently every transformation fails. For indirect calls autofdo does it on its own, and it doesn't suppport other value profiling. So don't run this pass when autofdo is active. This also avoids bogus dump file entries. gcc/: 2016-07-13 Andi Kleen <ak@linux.intel.com> * value-prof.c (gimple_value_profile_transformations): Don't run when auto_profile is on. From-SVN: r238321
Andi Kleen committed -
Print some information about indirect call promotions in the afdo dump file. Do it in the same format as the instrumented profiler so that the test suite can match on it. gcc/: 2016-07-13 Andi Kleen <ak@linux.intel.com> * auto-profile.c (update_inlined_ind_target, afdo_indirect_call): Print information to dump file. From-SVN: r238320
Andi Kleen committed -
From-SVN: r238319
GCC Administrator committed
-
- 13 Jul, 2016 29 commits
-
-
* genrecog.c (special_predicate_operand_p): New function. (predicate_name): Move function. (validate_pattern): Don't warn about missing mode for all define_special_predicate predicates. From-SVN: r238314
Andrew Burgess committed -
PR c++/70926 * cplus-dem.c: Handle large values and overflow when demangling length variables. (demangle_template_value_parm): Read only until end of mangled string. (do_hpacc_template_literal): Likewise. (do_type): Handle overflow when demangling array indices. From-SVN: r238313
Marcel Böhme committed -
libjava/ * java/lang/reflect/natVMProxy.cc (unbox): Use ffi_arg for integer return types smaller than a word. * testsuite/libjava.jar/ReturnInvocationHandler.java: New file. * testsuite/libjava.jar/ReturnProxyTest.jar: Likewise. * testsuite/libjava.jar/ReturnProxyTest.java: Likewise. * testsuite/libjava.jar/ReturnProxyTest.out: Likewise. * testsuite/libjava.jar/ReturnProxyTest.xfail: Likewise. * testsuite/libjava.jar/ReturnTypes.java: Likewise. * testsuite/libjava.jar/ReturnTypesImpl.java: Likewise. From-SVN: r238312
Matthew Fortune committed -
libjava/ * interpret-run.cc: Use ffi_arg for FFI integer return types. * testsuite/libjava.jar/arraysort.java: New file. * testsuite/libjava.jar/arraysort.jar: New file. * testsuite/libjava.jar/arraysort.out: New file. * testsuite/libjava.jar/arraysort.xfail: New file. From-SVN: r238311
Matthew Fortune committed -
PR libstdc++/71856 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty. * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS): Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend on _GLIBCXX_ASSERTIONS. * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS. Include <unistd.h> for sleep. * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS. * include/parallel/merge.h: Likewise. * include/parallel/multiway_merge.h: Likewise. * include/parallel/partition.h: Likewise. * include/parallel/queue.h: Likewise. * include/parallel/sort.h: Likewise. * testsuite/25_algorithms/headers/algorithm/ parallel_algorithm_assert.cc: New. From-SVN: r238307
Jonathan Wakely committed -
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (replace(__const_iterator, __const_iterator, initializer_list<C>)): Forward to different overload. From-SVN: r238306
Jonathan Wakely committed -
* include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make static. From-SVN: r238305
Jonathan Wakely committed -
This reverts r238291 aka 4300aa2087d90cd2d55852fa38f082a89bc7e72d. From-SVN: r238303
Jonathan Wakely committed -
* tree-vect-data-refs.c (vect_no_alias_p): New function. (vect_prune_runtime_alias_test_list): Call vect_no_alias_p to resolve alias checks which are known at compilation time. Truncate vector LOOP_VINFO_MAY_ALIAS_DDRS(loop_vinfo) if all alias checks are resolved. Move dump info for too many runtime alias checks to here... * tree-vect-loop.c (vect_analyze_loop_2): ...From here. gcc/testsuite * gcc.dg/vect/vect-35-big-array.c: Refine comment and test. * gcc.dg/vect/vect-35.c: Ditto. * gcc.dg/vect/vect-alias-check-2.c: New test. From-SVN: r238301
Bin Cheng committed -
* gfortran.dg/ldist-1.f90: Revert change introduces in r238114. * gfortran.dg/vect/pr62283.f: Add -fno-ipa-icf to additional options. * gfortran.dg/pr42108.f90: Update expected dump scan. From-SVN: r238300
Martin Liska committed -
2016-07-13 Richard Biener <rguenther@suse.de> PR tree-optimization/24574 * tree-ssa-phiopt.c (absorbing_element_p): Pass in argument position and add shift, rotate, divison and modulo support for left zero. (value_replacement): Pass in argument position to absorbing_element_p. * gcc.dg/pr24574.c: New testcase. From-SVN: r238299
Richard Biener committed -
gcc/testsuite/ * c-c++-common/Wduplicated-cond-3.c (fn10): Use smaller const literal. * c-c++-common/builtin-arith-overflow-2.c: Skip for avr. * c-c++-common/pr68833-1.c: Require int32plus. * gcc.dg/ipa/pr63551.c: Likewise. * gcc.dg/ipa/pr63595.c: Require ptr32plus. * gcc.dg/ipa/pr64041.c: Require int32plus. From-SVN: r238294
Senthil Kumar Selvaraj committed -
From-SVN: r238293
Ville Voutilainen committed -
* include/experimental/optional (_Has_addressof): Fix the comment. * include/std/optional (_Has_addressof): Likewise. (operator=(_Up&&)): Constrain. (operator=(const optional<_Up>&)): Likewise. (operator=(optional<_Up>&&)): Likewise. (__optional_relop_t): New. (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain. (operator!=(const optional<_Tp>&, const optional<_Tp>&)): Constrain and make transparent. (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain. (operator>(const optional<_Tp>&, const optional<_Tp>&)): Constrain and make transparent. (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise. (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise. (operator==(const optional<_Tp>&, const _Tp&): Constrain. (operator==(const _Tp&, const optional<_Tp>&)): Likewise. (operator!=(const optional<_Tp>&, _Tp const&)): Constrain and make transparent. (operator!=(const _Tp&, const optional<_Tp>&)): Likewise. (operator<(const optional<_Tp>&, const _Tp&)): Constrain. (operator<(const _Tp&, const optional<_Tp>&)): Likewise. (operator>(const optional<_Tp>&, const _Tp&)): Constrain and make transparent. (operator>(const _Tp&, const optional<_Tp>&)): Likewise. (operator<=(const optional<_Tp>&, const _Tp&)): Likewise. (operator<=(const _Tp&, const optional<_Tp>&)): Likewise. (operator>=(const optional<_Tp>&, const _Tp&)): Likewise. (operator>=(const _Tp&, const optional<_Tp>&)): Likewise. * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust. * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise. * testsuite/20_util/optional/relops/1.cc: Likewise. * testsuite/20_util/optional/relops/2.cc: Likewise. * testsuite/20_util/optional/relops/3.cc: Likewise. * testsuite/20_util/optional/relops/4.cc: Likewise. * testsuite/20_util/optional/requirements.cc: Add tests to verify that optional's relops are transparent and don't synthesize operators. Also test that assignment sfinaes. From-SVN: r238292
Ville Voutilainen committed -
Also fix confusion between pointer and _CharT*, so that allocators with fancy pointers work correctly. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str): New function. (_M_disjunct, basic_string(const basic_string&, size_t)): Use data() instead of _M_data(). (basic_string(const basic_string&, size_t, size_t, const _Alloc&)): Likewise. (append(const basic_string&)): Likewise. (append(const basic_string&, size_type, size_type)): Likewise. (assign(const basic_string&, size_type, size_type)): Likewise. (insert(size_type, const basic_string&)): Likewise. (insert(size_type, const basic_string&, size_type, size_type)): Likewise. (replace(size_type, size_type, const basic_string&, size_type, size_type)): Likewise. (replace(__const_iterator, __const_iterator, const basic_string&)): Likewise. (c_str(), data()): Use c_str() instead of _M_data(). (data()): Add non-const overload as per LWG 2391 and P0272R1. (compare(const basic_string&)): Use data() instead of _M_data(). [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload. * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate): Pass raw pointers to _S_copy. (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and _S_assign. (find(const _CharT*, size_type, size_type)): Use data instead of _M_data(). * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New. * testsuite/21_strings/basic_string/operations/data/char/2.cc: New. * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New. From-SVN: r238291
Jonathan Wakely committed -
gcc/ PR ipa/71633 * ipa-inline-transform.c (inline_call): Support instrumented thunks. gcc/testsuite/ PR ipa/71633 * g++.dg/pr71633.C: New test. From-SVN: r238290
Ilya Enkovich committed -
2016-07-13 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/arm.h (TARGET_HAVE_CBZ): Define. (TARGET_IDIV): Set for all Thumb targets provided they have hardware divide feature. * config/arm/arm.md (divsi3): New unpredicable alternative for ARMv8-M Baseline. Make initial alternative TARGET_32BIT only. (udivsi3): Likewise. * config/arm/thumb1.md (thumb1_cbz): New define_insn. * doc/sourcebuild.texi (arm_thumb1_cbz_ok): Document new effective target. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_arm_thumb1_cbz_ok): Add new arm_thumb1_cbz_ok effective target. * gcc.target/arm/cbz.c: New test. From-SVN: r238289
Thomas Preud'homme committed -
2016-07-13 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/arm.h (TARGET_HAVE_MOVT): Include ARMv8-M as having MOVT. * config/arm/arm.c (arm_arch_name): (const_ok_for_op): Check MOVT/MOVW availability with TARGET_HAVE_MOVT. (thumb_legitimate_constant_p): Strip the high part of a label_ref. (thumb1_rtx_costs): Also return 0 if setting a half word constant and MOVW is available and replace (unsigned HOST_WIDE_INT) INTVAL by UINTVAL. (thumb1_size_rtx_costs): Make set of half word constant also cost 1 extra instruction if MOVW is available. Use a cost variable incremented by COSTS_N_INSNS (1) when the condition match rather than returning an arithmetic expression based on COSTS_N_INSNS. Make constant with bottom half word zero cost 2 instruction if MOVW is available. * config/arm/arm.md (define_attr "arch"): Add v8mb. (define_attr "arch_enabled"): Set to yes if arch value is v8mb and target is ARMv8-M Baseline. (arm_movt): New unpredicable alternative for ARMv8-M Baseline. (arm_movtas_ze): Likewise. * config/arm/thumb1.md (thumb1_movdi_insn): Add ARMv8-M Baseline only alternative for constants satisfying j constraint. (thumb1_movsi_insn): Likewise. (movsi splitter for K alternative): Tighten condition to not trigger if movt is available and j constraint is satisfied. (Pe immediate splitter): Likewise. (thumb1_movhi_insn): Add ARMv8-M Baseline only alternative for constant fitting in an halfword to use MOVW. * doc/sourcebuild.texi (arm_thumb1_movt_ok): Document new ARM effective target. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_arm_thumb1_movt_ok): Define effective target. * gcc.target/arm/pr42574.c: Require arm_thumb1_ok and !arm_thumb1_movt_ok to exclude ARMv8-M Baseline. * gcc.target/arm/movhi_movw.c: New test. * gcc.target/arm/movsi_movw.c: Likewise. * gcc.target/arm/movdi_movw.c: Likewise. From-SVN: r238288
Thomas Preud'homme committed -
re PR tree-optimization/71104 (ICE: verify_ssa failed (with vfork / error: definition in block 3 does not dominate use in block 7 )) 2016-07-13 Richard Biener <rguenther@suse.de> PR middle-end/71104 * gimplify.c (gimplify_modify_expr): Gimplify the RHS before gimplifying the LHS. Make sure to gimplify a returning twice call LHS without using SSA names. * gcc.dg/pr71104-1.c: New testcase. * gcc.dg/pr71104-2.c: Likewise. From-SVN: r238287
Richard Biener committed -
There's no point in calling release () on an auto_vec just before it goes out of scope. gcc/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * tree-data-ref.c (find_data_references_in_stmt): Remove unnecessary call to vec::release. (graphite_find_data_references_in_stmt): Likewise. * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p): Likewise. * tree-vect-stmts.c (vectorizable_condition): Likewise. From-SVN: r238286
Trevor Saunders committed -
gcc/c/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * c-parser.c (c_parser_generic_selection): Make type of variable auto_vec. (c_parser_omp_declare_simd): Likewise. gcc/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * cfgexpand.c (expand_used_vars): Make the type of a local variable auto_vec. * genmatch.c (lower_for): Likewise. * haifa-sched.c (haifa_sched_init): Likewise. (add_to_speculative_block): Likewise. (create_check_block_twin): Likewise. * predict.c (handle_missing_profiles): Likewise. * tree-data-ref.c (loop_nest_has_data_refs): Likewise. * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Likewise. * tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk): Likewise. (maybe_lower_iteration_bound): Likewise. * tree-ssa-sccvn.c (DFS): Likewise. * tree-stdarg.c (reachable_at_most_once): Likewise. * tree-vect-stmts.c (vectorizable_conversion): Likewise. (vectorizable_store): Likewise. From-SVN: r238285
Trevor Saunders committed -
gcc/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * tree-ssa-sccvn.c (sccvn_dom_walker::~sccvn_dom_walker): remove. (sccvn_dom_walker): make cond_stack an auto_vec. From-SVN: r238284
Trevor Saunders committed -
gcc/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * ree.c (struct ext_state): Make type of members auto_vec. (find_and_remove_re): Adjust. From-SVN: r238283
Trevor Saunders committed -
gcc/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * cfgexpand.c (struct stack_vars_data): Make type of fields auto_vec. (expand_used_vars): Adjust. From-SVN: r238282
Trevor Saunders committed -
gcc/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * ipa.c (record_cdtor_fn): Adjust. (build_cdtor_fns): Likewise. (ipa_cdtor_merge): Make static_ctors and static_dtors local variables. From-SVN: r238281
Trevor Saunders committed -
gcc/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * genextract.c (struct accum_extract): Add constructor and make members auto_vec. (gen_insn): Adjust. From-SVN: r238280
Trevor Saunders committed -
gcc/c/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * c-decl.c (struct c_struct_parse_info): Change member types from vec to auto_vec. (start_struct): Adjust. (finish_struct): Likewise. From-SVN: r238279
Trevor Saunders committed -
gcc/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * tree.c (struct free_lang_data_d): Add constructor and change types of members to ones that automatically manage resources. (fld_worklist_push): Adjust. (find_decls_types): Likewise. (find_decls_types_in_eh_region): Likewise. (free_lang_data_in_cgraph): Stop manually creating and destroying members of free_lang_data_d. From-SVN: r238278
Trevor Saunders committed -
From-SVN: r238277
GCC Administrator committed
-
- 12 Jul, 2016 4 commits
-
-
PR rtl-optimization/68961 * config/i386/sse.md (movsd/movhpd to movupd peephole2s): Add new peephole variant. Use sse_reg_operand predicates. From-SVN: r238268
Uros Bizjak committed -
Reviewed-on: https://go-review.googlesource.com/22375 From-SVN: r238266
Ian Lance Taylor committed -
* config/i386/predicates.md (x86_64_immediate_operand) <case CONST_INT>: Remove unneeded truncation to DImode. <case CONST>: Ditto. (x86_64_zext_immediate_operand) <case CONST>: Ditto. From-SVN: r238259
Uros Bizjak committed -
[gcc] 2016-07-12 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/71805 * config/rs6000/altivec.md (altivec_vperm_<mode>_internal): The xxperm and xxpermr instructions require that the 2nd input operand overlap with the output operand, and not the 1st. (altivec_vperm_v8hiv16qi): Likewise. (altivec_vperm_<mode>_uns_internal): Likewise. (altivec_vpermr_<mode>_internal): Likewise. (vperm_v8hiv4si): Likewise. (vperm_v16qiv8hi): Likewise. [gcc/testsuite] 2016-07-12 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/71805 * gcc.target/powerpc/pr71805.c: New test. From-SVN: r238256
Michael Meissner committed
-