1. 22 Jul, 2016 17 commits
  2. 21 Jul, 2016 23 commits
    • Fix naming, qualification and broken test for propagate_const · 8b649cd3
      	* include/experimental/propagate_const (propagate_const::__t): Rename
      	to _M_t and remove comment. Qualify std::move and std::forward.
      	* testsuite/experimental/propagate_const/cons/default.cc: Fix test.
      
      From-SVN: r238611
      Jonathan Wakely committed
    • Define missing delete operators in libstdc++ testsuite · 509b778f
      	* testsuite/23_containers/vector/zero_sized_allocations.cc:
      	Define sized deallocation function.
      	* testsuite/util/testsuite_new_operators.h:
      	(operator delete(void*, const std::nothrow_t&)): Define nothrow
      	deallocation function.
      
      From-SVN: r238610
      Jonathan Wakely committed
    • Fix out-of-bound array accesses in libstdc++ testsuite · e93a101f
      	* testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
      	reads past the end of strings.
      	* testsuite/21_strings/basic_string/operations/compare/char/1.cc:
      	Likewise.
      	* testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
      	invalid array accesses.
      	* testsuite/experimental/string_view/operations/compare/char/1.cc:
      	Fix read past the end of string.
      	* testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
      
      From-SVN: r238609
      Jonathan Wakely committed
    • Fix missing returns in libstdc++ testsuite · 0a024155
      	* testsuite/24_iterators/container_access.cc: Fix missing returns.
      	* testsuite/24_iterators/range_access_cpp14.cc: Likewise.
      
      From-SVN: r238608
      Jonathan Wakely committed
    • Remove memory leaks in libstdc++ testsuite · 22620c14
      	* testsuite/18_support/new_delete_placement.cc: Don't allocate (and
      	leak) memory for arguments to placement delete.
      	* testsuite/20_util/addressof/1.cc: Don't leak memory.
      	* testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
      	* testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
      	Likewise.
      
      From-SVN: r238607
      Jonathan Wakely committed
    • 016-07-21 Bernd Edlinger <bernd.edlinger@hotmail.de> · cfd97da1
              PR middle-end/71876
              * builtin-attrs.def (ATTR_RT_NOTHROW_LEAF_LIST): New return twice
              attribute.
              * builtins.def (BUILT_IN_SETJMP): Use ATTR_RT_NOTHROW_LEAF_LIST here.
              * calls.c (special_function_p): Remove the special handling of the
              "__builtin_" prefix.
      
      From-SVN: r238606
      Bernd Edlinger committed
    • 016-07-21 Bernd Edlinger <bernd.edlinger@hotmail.de> · 159e8ef0
              PR middle-end/71876
              * calls.c (gimple_maybe_alloca_call_p): New function.  Return true
              if STMT may be an alloca call.
              (gimple_alloca_call_p, alloca_call_p): Return only true for the
              builtin alloca call.
              * calls.h (gimple_maybe_alloca_call_p): New function.
              * tree-inline.c (inline_forbidden_p_stmt): Use
              gimple_maybe_alloca_call_p here.
      
      From-SVN: r238605
      Bernd Edlinger committed
    • backport: Makefile.am (myo_inc_dir): Remove. · df26a50d
      Merge liboffloadmic from upstream
      
      liboffloadmic/
      	* Makefile.am (myo_inc_dir): Remove.
      	(toolexeclib_LTLIBRARIES): Remove libmyo-client.la and
      	libmyo-service.la.
      	(liboffloadmic_cppflags): Remove -DMYO_SUPPORT.
      	(liboffloadmic_host_la_SOURCES): Remove offload_myo_host.cpp.
      	(liboffloadmic_target_la_SOURCES): Remove offload_myo_target.cpp.
      	(liboffloadmic_target_la_LIBADD): Remove libmyo-service.la.
      	(libmyo_client_la_SOURCES, libmyo_service_la_SOURCES): Remove.
      	(libmyo_client_la_DEPENDENCIES, libmyo_service_la_DEPENDENCIES): Remove.
      	(libmyo_client_la_CPPFLAGS, libmyo_service_la_CPPFLAGS): Remove.
      	(libmyo_client_la_LDFLAGS, libmyo_service_la_LDFLAGS): Remove.
      	* Makefile.in: Regenerate.
      	* doc/doxygen/header.tex: Merge from upstream, version 20160715
      	<https://openmprtl.org/sites/default/files/liboffload_oss_20160715.tgz>.
      	* runtime/cean_util.cpp: Likewise.
      	* runtime/cean_util.h: Likewise.
      	* runtime/coi/coi_client.cpp: Likewise.
      	* runtime/coi/coi_client.h: Likewise.
      	* runtime/coi/coi_server.cpp: Likewise.
      	* runtime/coi/coi_server.h: Likewise.
      	* runtime/compiler_if_host.cpp: Likewise.
      	* runtime/compiler_if_host.h: Likewise.
      	* runtime/compiler_if_target.cpp: Likewise.
      	* runtime/compiler_if_target.h: Likewise.
      	* runtime/dv_util.cpp: Likewise.
      	* runtime/dv_util.h: Likewise.
      	* runtime/liboffload_error.c: Likewise.
      	* runtime/liboffload_error_codes.h: Likewise.
      	* runtime/liboffload_msg.c: Likewise.
      	* runtime/liboffload_msg.h: Likewise.
      	* runtime/mic_lib.f90: Likewise.
      	* runtime/offload.h: Likewise.
      	* runtime/offload_common.cpp: Likewise.
      	* runtime/offload_common.h: Likewise.
      	* runtime/offload_engine.cpp: Likewise.
      	* runtime/offload_engine.h: Likewise.
      	* runtime/offload_env.cpp: Likewise.
      	* runtime/offload_env.h: Likewise.
      	* runtime/offload_host.cpp: Likewise.
      	* runtime/offload_host.h: Likewise.
      	* runtime/offload_iterator.h: Likewise.
      	* runtime/offload_myo_host.cpp: Likewise.
      	* runtime/offload_myo_host.h: Likewise.
      	* runtime/offload_myo_target.cpp: Likewise.
      	* runtime/offload_myo_target.h: Likewise.
      	* runtime/offload_omp_host.cpp: Likewise.
      	* runtime/offload_omp_target.cpp: Likewise.
      	* runtime/offload_orsl.cpp: Likewise.
      	* runtime/offload_orsl.h: Likewise.
      	* runtime/offload_table.cpp: Likewise.
      	* runtime/offload_table.h: Likewise.
      	* runtime/offload_target.cpp: Likewise.
      	* runtime/offload_target.h: Likewise.
      	* runtime/offload_target_main.cpp: Likewise.
      	* runtime/offload_timer.h: Likewise.
      	* runtime/offload_timer_host.cpp: Likewise.
      	* runtime/offload_timer_target.cpp: Likewise.
      	* runtime/offload_trace.cpp: Likewise.
      	* runtime/offload_trace.h: Likewise.
      	* runtime/offload_util.cpp: Likewise.
      	* runtime/offload_util.h: Likewise.
      	* runtime/ofldbegin.cpp: Likewise.
      	* runtime/ofldend.cpp: Likewise.
      	* runtime/orsl-lite/include/orsl-lite.h: Likewise.
      	* runtime/orsl-lite/lib/orsl-lite.c: Likewise.
      	* runtime/use_mpss2.txt: Remove.
      	* include/coi/common/COIEngine_common.h: Merge from upstream, MPSS
      	version 3.7.1
      	<http://registrationcenter-download.intel.com/akdlm/irc_nas/9226/
      	mpss-3.7.1-linux.tar>.
      	* include/coi/common/COIEvent_common.h: Likewise.
      	* include/coi/common/COIMacros_common.h: Likewise.
      	* include/coi/common/COIPerf_common.h: Likewise.
      	* include/coi/common/COIResult_common.h: Likewise.
      	* include/coi/common/COISysInfo_common.h: Likewise.
      	* include/coi/common/COITypes_common.h: Likewise.
      	* include/coi/sink/COIBuffer_sink.h: Likewise.
      	* include/coi/sink/COIPipeline_sink.h: Likewise.
      	* include/coi/sink/COIProcess_sink.h: Likewise.
      	* include/coi/source/COIBuffer_source.h: Likewise.
      	* include/coi/source/COIEngine_source.h: Likewise.
      	* include/coi/source/COIEvent_source.h: Likewise.
      	* include/coi/source/COIPipeline_source.h: Likewise.
      	* include/coi/source/COIProcess_source.h: Likewise.
      	* include/myo/myo.h: Remove.
      	* include/myo/myoimpl.h: Remove.
      	* include/myo/myotypes.h: Remove.
      	* plugin/Makefile.am (AM_LDFLAGS): Remove -lmyo-service.
      	* plugin/Makefile.in: Regenerate.
      	* plugin/libgomp-plugin-intelmic.cpp (LD_LIBRARY_PATH_ENV): Remove.
      	(MIC_LD_LIBRARY_PATH_ENV): Remove.
      	(init): Do not set MIC_LD_LIBRARY_PATH.  Now liboffloadmic uses only
      	LD_LIBRARY_PATH.
      	* plugin/offload_target_main.cpp: Update copyright years.
      	* runtime/emulator/coi_common.h: Likewise.
      	* runtime/emulator/coi_device.cpp: Likewise.
      	* runtime/emulator/coi_device.h: Likewise.
      	* runtime/emulator/coi_host.cpp: Likewise.
      	(COIBufferCreate): Allow COI_BUFFER_OPENCL.
      	(COIEngineGetInfo): Return COI_DEVICE_KNL instead of COI_ISA_x86_64.
      	* runtime/emulator/coi_host.h: Update copyright years.
      	* runtime/emulator/coi_version_asm.h: Likewise.
      	* runtime/emulator/coi_version_linker_script.map: Likewise.
      	* runtime/emulator/myo_client.cpp: Remove.
      	* runtime/emulator/myo_service.cpp: Remove.
      	* runtime/emulator/myo_service.h: Remove.
      	* runtime/emulator/myo_version_asm.h: Remove.
      	* runtime/emulator/myo_version_linker_script.map: Remove.
      
      From-SVN: r238603
      Ilya Verbin committed
    • re PR c++/71728 (ICE with goto in statement-expression inside a condition) · ab3af181
      	PR c++/71728
      	* constexpr.c (potential_constant_expression_1) <case GOTO_EXPR>:
      	Replace assert with test, return false if the goto isn't break
      	or continue.  Formatting fix.
      
      	* g++.dg/other/pr71728.C: New test.
      
      From-SVN: r238601
      Jakub Jelinek committed
    • Fix build of spellcheck-tree.c with older gccs · 1c4b8a04
      gcc/ChangeLog:
      	* spellcheck-tree.c (best_macro_match::best_macro_match):
      	Explictly specify the template arguments when invoking the base
      	class constructor, to help older C++ compilers.
      
      From-SVN: r238598
      David Malcolm committed
    • re PR sanitizer/71953 (ICE using address sanitizers with PCH) · 185faecb
      	PR sanitizer/71953
      	* asan.c (asan_dynamic_init_call): Call asan_init_shadow_ptr_types
      	before builtin_decl_implicit.
      
      From-SVN: r238596
      Jakub Jelinek committed
    • [Patch 3/2 ifcvt costs] Don't expand a conditional move between identical sources · f5a459a4
      gcc/
      
      	* optabs.c (emit_condiitonal_move): Short circuit for identical
      	sources.
      
      From-SVN: r238595
      James Greenhalgh committed
    • [Patch 2/2 ifcvt costs] Introduce a new cost model for ifcvt. · ebe8f322
      gcc/
      
      	* ifcvt.c (noce_if_info): New fields: speed_p, original_cost,
      	max_seq_cost.  Removed fields: then_cost, else_cost, branch_cost.
      	(noce_conversion_profitable_p): New.
      	(noce_try_store_flag_constants): Use it.
      	(noce_try_addcc): Likewise.
      	(noce_try_store_flag_mask): Likewise.
      	(noce_try_cmove): Likewise.
      	(noce_try_cmove_arith): Likewise.
      	(bb_valid_for_noce_process_p): Add to the cost parameter rather than
      	overwriting it.
      	(noce_convert_multiple_sets): Move cost model to here, from...
      	(bb_ok_for_noce_convert_multiple_sets) ...here.
      	(noce_process_if_block): Update calls for above changes.
      	(noce_find_if_block): Record new noce_if_info parameters.
      
      gcc/testsuite/
      
      	* gcc.dg/ifcvt-2.c: Use parameter to guide if-conversion heuristics.
      	* gcc.dg/ifcvt-3.c: Use parameter to guide if-conversion heuristics.
      	* gcc.dg/pr68435.c: Use parameter to guide if-conversion heuristics.
      	* gcc.dg/ifcvt-4.c: Use parameter to guide if-conversion heuristics.
      	* gcc.dg/ifcvt-5.c: Use parameter to guide if-conversion heuristics.
      
      From-SVN: r238594
      James Greenhalgh committed
    • [Patch 1/2 ifcvt costs] New target hook: max_noce_ifcvt_seq_cost · e914c11a
      gcc/
      
      	* target.def (max_noce_ifcvt_seq_cost): New.
      	* doc/tm.texi.in (TARGET_MAX_NOCE_IFCVT_SEQ_COST): Document it.
      	* doc/tm.texi: Regenerate.
      	* targhooks.h (default_max_noce_ifcvt_seq_cost): New.
      	* targhooks.c (default_max_noce_ifcvt_seq_cost): New.
      	* params.def (PARAM_MAX_RTL_IF_CONVERSION_PREDICTABLE_COST): New.
      	(PARAM_MAX_RTL_IF_CONVERSION_UNPREDICTABLE_COST): Likewise.
      	* doc/invoke.texi: Document new params.
      
      From-SVN: r238593
      James Greenhalgh committed
    • re PR tree-optimization/71947 (x ^ y not folded to 0 if x == y by DOM) · 959cef74
      2016-07-21  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/71947
      	* tree-vrp.c (extract_range_from_assert): Singleton symbolic
      	ranges have useful limit_vr information.
      
      	* gcc.dg/tree-ssa/vrp102.c: New testcase.
      
      From-SVN: r238591
      Richard Biener committed
    • Do not divide by zero in analyze_brprob.py · 88617fe4
      	* analyze_brprob.py: If there's no loop, do not calculate
      	average number of loop iterations.
      
      From-SVN: r238590
      Martin Liska committed
    • function-tests.c (build_trivial_generic_function): Set BLOCK_SUPERCONTEXT of DECL_INITIAL. · 01771d43
      2016-07-21  Richard Biener  <rguenther@suse.de>
      
      	* function-tests.c (build_trivial_generic_function): Set
      	BLOCK_SUPERCONTEXT of DECL_INITIAL.
      	* omp-low.c (create_omp_child_function): Likewise.
      	(grid_expand_target_grid_body): Likewise.
      	* cgraphunit.c (init_lowered_empty_function): Likewise.
      	(cgraph_node::expand_thunk): Likewise.
      	* tree-parloops.c (create_loop_fn): Likewise.
      	* ipa.c (cgraph_build_static_cdtor_1): Likewise.
      
      	cp/
      	* vtable-class-hierarchy.c (vtv_generate_init_routine): Set
      	DECL_IGNORED_P.
      
      	java/
      	* jcf-parse.c (java_emit_static_constructor): Set
      	BLOCK_SUPERCONTEXT of DECL_INITIAL.
      
      From-SVN: r238589
      Richard Biener committed
    • tree-ssa-strlen.c (strlen_dom_walker::before_dom_children): Fix typo in comment. · c7880c8c
      2016-07-21  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	* tree-ssa-strlen.c (strlen_dom_walker::before_dom_children): Fix typo
      	in comment.
      
      From-SVN: r238588
      Prathamesh Kulkarni committed
    • Some patterns for moving one bit around by BST + BLD. · fa626987
      	* config/avr/avr.md (any_extract, any_shiftrt): New code iterators.
      	(*insv.extract, *insv.shiftrt, *insv.not-bit.0, *insv.not-bit.7)
      	(*insv.xor-extract, *insv.xor1-bit.0): New insns.
      	(adjust_len) [insv_notbit, insv_notbit_0, insv_notbit_7]: New
      	values for insn attribute.
      	* config/avr/avr.c (avr_out_insert_notbit): New function.
      	(avr_adjust_insn_length): Handle ADJUST_LEN_INSV_NOTBIT,
      	ADJUST_LEN_INSV_NOTBIT_0/_7.
      	* config/avr/avr-protos.h (avr_out_insert_notbit): New proto.
      
      From-SVN: r238587
      Georg-Johann Lay committed
    • tree-chrec.c (convert_affine_scev): New parameter. · b24d9420
      	* tree-chrec.c (convert_affine_scev): New parameter.  Pass new arg.
      	(chrec_convert_1, chrec_convert): Ditto.
      	* tree-chrec.h (chrec_convert, convert_affine_scev): New parameter.
      	* tree-scalar-evolution.c (interpret_rhs_expr): Pass new arg.
      	* tree-vrp.c (adjust_range_with_scev): Ditto.
      	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): Ditto.
      	(scev_var_range_cant_overflow): New function.
      	(scev_probably_wraps_p): New parameter.  Call above function.
      	* tree-ssa-loop-niter.h (scev_probably_wraps_p): New parameter.
      
      	gcc/testsuite
      	* gcc.dg/tree-ssa/scev-15.c: New.
      
      From-SVN: r238586
      Bin Cheng committed
    • tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Clean up by removing… · 106d07f8
      tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Clean up by removing computation of may_be_zero.
      
      	* tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Clean up
      	by removing computation of may_be_zero.
      
      From-SVN: r238585
      Bin Cheng committed
    • [ARM] Fix PR target/59833 · a1b01d34
      For Aurelien Jarno <aurelien@aurel32.net>
      
      On ARM soft-float, the float to double conversion doesn't convert a sNaN
      to qNaN as the IEEE Std 754 standard mandates:
      
      "Under default exception handling, any operation signaling an invalid
      operation exception and for which a floating-point result is to be
      delivered shall deliver a quiet NaN."
      
      Given the soft float ARM code ignores exceptions and always provides a
      result, a float to double conversion of a signaling NaN should return a
      quiet NaN. Fix this in extendsfdf2.
      
      gcc/ChangeLog:
      
      	PR target/59833
      	* config/arm/ieee754-df.S (extendsfdf2): Convert sNaN to qNaN.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/pr59833.c: New testcase.
      
      From-SVN: r238584
      Aurelien Jarno committed
    • vect-mask-store-move-1.c: XFAIL. · 23974819
      	gcc/testsuite
      	* gcc.dg/vect/vect-mask-store-move-1.c: XFAIL.
      
      From-SVN: r238583
      Bin Cheng committed