Commit Graph

147604 Commits

Author SHA1 Message Date
GCC Administrator ca32b47320 Daily bump.
From-SVN: r238680
2016-07-24 00:16:22 +00:00
Michael Meissner c1b99241bd rs6000-c.c (altivec_resolve_overloaded_builtin): Reformat two multi-line strings.
2016-07-22  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
	Reformat two multi-line strings.

From-SVN: r238675
2016-07-23 02:54:53 +00:00
GCC Administrator 36f80e647a Daily bump.
From-SVN: r238674
2016-07-23 00:16:21 +00:00
Steven G. Kargl d52d376733 re PR fortran/71935 (ICE is_c_interoperable(): gfc_simplify_expr failed)
2016-07-22  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/71935
	* check.c (is_c_interoperable): Simplify right expression. 

2016-07-22  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/71935
	* gfortran.dg/c_sizeof_1.f90: Move invalid code to ...
	* gfortran.dg/c_sizeof_6.f90: here.  Test for error.
	* gfortran.dg/pr71935.f90: New test.

From-SVN: r238665
2016-07-22 18:53:11 +00:00
Martin Sebor 2e6b45afba PR c++/71675 - __atomic_compare_exchange_n returns wrong type for typed enum
gcc/c-family/ChangeLog:

	PR c++/71675
	* c-common.c (resolve_overloaded_builtin): Avoid converting
	__atomic_compare_exchange_n return type to that of what its
	first argument points to.

gcc/testsuite/ChangeLog:

	PR c++/71675
	* g++.dg/ext/atomic-3.C: New test.
	* gcc.dg/atomic/pr71675.c: New test.

From-SVN: r238664
2016-07-22 12:32:08 -06:00
Ian Lance Taylor 22b955cca5 libgo: update to go1.7rc3
Reviewed-on: https://go-review.googlesource.com/25150

From-SVN: r238662
2016-07-22 18:15:38 +00:00
Martin Sebor 9d04a3af4c extend.texi (Compound Literals): Add '@' missed in last commit.
gcc/ChangeLog:
	* doc/extend.texi (Compound Literals): Add '@' missed in last commit.

From-SVN: r238652
2016-07-22 10:16:17 -06:00
Martin Sebor e040f9bd4b PR c/71560 - union compound literal initializes wrong union field
gcc/ChangeLog:
	* doc/extend.texi (Compound Literals): Correct and clarify.
	(Cast to Union): Same.

From-SVN: r238651
2016-07-22 09:40:51 -06:00
Kelvin Nilsen 1610d41097 rs6000.c (rs6000_option_override_internal): Add comments to explain why certain error messages make mention of undocumented...
gcc/ChangeLog:

2016-07-22  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
	comments to explain why certain error messages make mention of
	undocumented options.
	(rs6000_invalid_builtin): Change error messages to replace mention
	of undocumented options with mention of the -mcpu=power9 option
	that enables those undocumented options.
	* config/rs6000/rs6000.h (MASK_FLOAT128): New macro.
	(RS6000_BTM_FLOAT128): Use the new MASK_FLOAT128 macro in the
	definition of this macro to correct an existing error.
	* config/rs6000/rs6000.opt: Add the Undocumented qualifier to the
	mpower9-fusion, mpower9-vector, mpower9-dform, and mmodulo entries.
	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Modify
	descriptions of built-in functions so that they depend on
	-mcpu=power9 instead of on the corresponding undocumented flags.
	* doc/invoke.texi (Option Summary):  Remove all mention of newly
	undocumented flags.
	(IBM RS/6000 and PowerPC Options): Likewise.
	* doc/md.texi (Constraints for Particuliar Machines): Remove all
	mention of newly undocumented flags.

From-SVN: r238648
2016-07-22 15:13:20 +00:00
Jonathan Wakely 8cab3d18f0 Move allocator in std::string and RB tree move constructors
PR libstdc++/71964
	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
	(basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
	* include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
	* testsuite/21_strings/basic_string/allocator/71964.cc: New test.
	* testsuite/23_containers/set/allocator/71964.cc: New test.

From-SVN: r238647
2016-07-22 16:03:11 +01:00
Evgeny Stupachenko 58b3986e34 ipa-cp.c (determine_versionability): Do not create constprop clones, when target_clones attribute is set.
2016-07-22  Evgeny Stupachenko  <evstupac@gmail.com>

gcc/
	* ipa-cp.c (determine_versionability): Do not create constprop clones,
	when target_clones attribute is set.
gcc/testsuite/
	* gcc.target/i386/mvc8.c: New test.

From-SVN: r238645
2016-07-22 15:00:42 +00:00
Uros Bizjak e3fe09c154 c-typeck.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,
c/ChangeLog:

	* c-typeck.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,

c-family/ChangeLog:

	* c-common.c: Use HOST_WIDE_INT_M1U instead of
	~(unsigned HOST_WIDE_INT) 0.

From-SVN: r238643
2016-07-22 16:09:55 +02:00
Bin Cheng 78f63b79d9 common.opt (funsafe-loop-optimizations): Mark ignore.
* common.opt (funsafe-loop-optimizations): Mark ignore.
	* doc/invoke.texi (funsafe-loop-optimizations): Remove.
	* loop-iv.c (get_simple_loop_desc): Remove unsafe-loop-optimizations
	related code.
	* tree-ssa-loop-niter.c (finite_loop_p): Ditto.
	* config/bfin/bfin.c (bfin_can_use_doloop_p): Ditto.

From-SVN: r238642
2016-07-22 13:25:59 +00:00
Bin Cheng faa1612aa3 tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New Parameter.
* tree-ssa-loop-niter.h (number_of_iterations_exit_assumptions): New
	Parameter.
	* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): New
	Parameter.
	(number_of_iterations_exit): Warn missed loop optimization for
	possible infinite loops.

	gcc/testsuite
	* gcc.dg/tree-ssa/pr19210-1.c: Refine test strings.
	* gcc.dg/tree-ssa/pr19210-2.c: Delete.

From-SVN: r238641
2016-07-22 13:22:03 +00:00
Segher Boessenkool 01a0d7f57b Subject: [PATCH] rs6000: Fix logic for when to emit .machine (PR71216)
The current logic determining whether to use .machine in the generated
asm code puts it there if the compiler is not configured with a default
target cpu, _or_ no -mcpu= was given on the command line.  It should
be "and" instead.


	PR target/71216
	* config/rs6000/rs6000.c (rs6000_file_start): Fix condition for
	when to emit a ".machine" pseudo-op.

From-SVN: r238639
2016-07-22 15:08:19 +02:00
Thomas Koenig 1603ebe016 re PR fortran/71795 (Two Bugs in array constructors (optimization))
2016-07-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/71795
	* frontend-passes.c (combine_array_constructor):  Don't
	do anything if the expression is inside an array iterator.

2016-07-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/71795
	* gfortran.dg/constructor_50.f90:  New test.

From-SVN: r238638
2016-07-22 10:38:32 +00:00
Martin Liska bc91c43615 Consider functions with xloc.file == NULL (PR
PR gcov-profile/69028
	PR gcov-profile/62047
	* g++.dg/cilk-plus/pr69028.C: New test.
	PR gcov-profile/69028
	PR gcov-profile/62047
	* cilk.c (create_cilk_helper_decl): Set location of a new decl
	to the current_function_decl.
	PR gcov-profile/69028
	PR gcov-profile/62047
	* coverage.c (coverage_compute_lineno_checksum): Do not
	calculate checksum for fns w/o xloc.file.
	(coverage_compute_profile_id): Likewise.

From-SVN: r238637
2016-07-22 10:19:57 +00:00
Andre Vehreschild 9fe9a3a780 libcaf.h: Add parameter stat to caf_get() and caf_send()'s function prototypes.
libgfortran/ChangeLog:

2016-07-22  Andre Vehreschild  <vehre@gcc.gnu.org>

	* caf/libcaf.h: Add parameter stat to caf_get() and
	caf_send()'s function prototypes.
	* caf/single.c (_gfortran_caf_get): Implement reporting
	error using stat instead of abort().
	(_gfortran_caf_send): Same.
	(_gfortran_caf_sendget): Use NULL for stat when calling
	caf_send().


gcc/testsuite/ChangeLog:

2016-07-22  Andre Vehreschild  <vehre@gcc.gnu.org>

	* gfortran.dg/coarray_stat_2.f90: New test.

From-SVN: r238636
2016-07-22 11:58:50 +02:00
Andre Vehreschild 4971dd802d expr.c (gfc_find_stat_co): Fixed whitespaces.
gcc/fortran/ChangeLog:

2016-07-22  Andre Vehreschild  <vehre@gcc.gnu.org>

	* expr.c (gfc_find_stat_co): Fixed whitespaces.
	* gfortran.texi: Fixed typos and reversed meaning of caf_get()'s
	src and dst description.
	* trans-decl.c (gfc_build_builtin_function_decls): Fixed style
	and corrected fnspec for caf functions.
	* trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fixed style.
	(conv_caf_send): Dito.

From-SVN: r238635
2016-07-22 11:46:54 +02:00
Georg-Johann Lay b588c7f866 avr.c (TARGET_SECONDARY_RELOAD): Remove hook define...
* config/avr/avr.c (TARGET_SECONDARY_RELOAD): Remove hook define...
	(avr_secondary_reload): ...and implementation.
	(avr_adjust_insn_length) [ADJUST_LEN_LPM]: Remove handling.
	* config/avr/avr.md (reload_in<mode>): Remove insns.
	(adjust_len) [lpm]: Remove insn attribute value.
	* config/avr/predicates.md (flash_operand): Remove insn predicate.

From-SVN: r238634
2016-07-22 09:19:35 +00:00
Martin Liska 1182b907ad Fix params.exp test-cases
From-SVN: r238633
2016-07-22 09:08:56 +00:00
Jonathan Wakely 960637ac1a Use correct form of delete in libstdc++.exp
* testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
	delete[] instead of delete.

From-SVN: r238632
2016-07-22 09:33:26 +01:00
Jason Merrill 6781e2af70 PR c++/69223 - ICE with deduced template return type.
* semantics.c (apply_deduced_return_type): Call
	complete_type_or_else before building the new RESULT_DECL.

From-SVN: r238624
2016-07-21 23:45:54 -04:00
Jason Merrill 94ced5b494 PR c++/71274 - deprecated warning without use.
* decl2.c (maybe_instantiate_decl): Split out from mark_used.
	(decl_constant_var_p): Use it instead.

From-SVN: r238623
2016-07-21 23:45:48 -04:00
Jason Merrill 44ed47547a PR c++/71630 - extern variable template
* pt.c (instantiate_decl): Fix pattern_defined for namespace scope
	variable templates.

From-SVN: r238622
2016-07-21 23:45:43 -04:00
Jason Merrill a93f3513c2 PR c++/71913 - missing copy elision with new.
* call.c (unsafe_copy_elision_p): It's OK to elide when
	initializing an unknown object.

From-SVN: r238621
2016-07-21 23:45:37 -04:00
Jason Merrill d5ec842cde call.c (build_over_call): Check unsafe_copy_elision_p even for trivial constructors.
* call.c (build_over_call): Check unsafe_copy_elision_p even for
	trivial constructors.
	* method.c (do_build_copy_constructor): Don't copy tail padding
	even in a trivial constructor.

From-SVN: r238620
2016-07-21 23:45:30 -04:00
Ian Lance Taylor 4114e6b1fe compiler: fix check for duplicate declaration
The compiler check that issued a duplicate declaration error for
        a, a, a := 1, 2, 3
    was incorrectly issuing an error for
        a, a, a = 1, 2, 3
    While this is not particularly useful, it is valid Go.
    
    Test is https://golang.org/cl/25143.
    
    Reviewed-on: https://go-review.googlesource.com/25144

From-SVN: r238618
2016-07-22 00:21:51 +00:00
GCC Administrator a94aa329b4 Daily bump.
From-SVN: r238617
2016-07-22 00:16:20 +00:00
Michael Meissner 70866e3d4a vec-extract.h: New files to check the vec_extract built-in functions for all vector types...
2016-07-21  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/vec-extract.h: New files to check the
	vec_extract built-in functions for all vector types, testing
	accessing each element, both with constant and variable element
	numbers.
	* gcc.target/powerpc/vec-extract-v16qi.c: Likewise.
	* gcc.target/powerpc/vec-extract-v16qiu.c: Likewise.
	* gcc.target/powerpc/vec-extract-v2df.c: Likewise.
	* gcc.target/powerpc/vec-extract-v2di.c: Likewise.
	* gcc.target/powerpc/vec-extract-v4sf.c: Likewise.
	* gcc.target/powerpc/vec-extract-v4si.c: Likewise.
	* gcc.target/powerpc/vec-extract-v4siu.c: Likewise.
	* gcc.target/powerpc/vec-extract-v8hi.c: Likewise.
	* gcc.target/powerpc/vec-extract-v8hiu.c: Likewise.

From-SVN: r238613
2016-07-22 00:12:28 +00:00
Jonathan Wakely 8b649cd3ba Fix naming, qualification and broken test for propagate_const
* 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
2016-07-21 20:39:03 +01:00
Jonathan Wakely 509b778f6c Define missing delete operators in libstdc++ testsuite
* 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
2016-07-21 20:38:57 +01:00
Jonathan Wakely e93a101f83 Fix out-of-bound array accesses in libstdc++ testsuite
* 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
2016-07-21 20:38:51 +01:00
Jonathan Wakely 0a024155c4 Fix missing returns in libstdc++ testsuite
* testsuite/24_iterators/container_access.cc: Fix missing returns.
	* testsuite/24_iterators/range_access_cpp14.cc: Likewise.

From-SVN: r238608
2016-07-21 20:38:44 +01:00
Jonathan Wakely 22620c1452 Remove memory leaks in libstdc++ testsuite
* 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
2016-07-21 20:38:32 +01:00
Bernd Edlinger cfd97da10d 016-07-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
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
2016-07-21 19:11:26 +00:00
Bernd Edlinger 159e8ef0c6 016-07-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
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
2016-07-21 19:06:02 +00:00
Ilya Verbin df26a50d0d backport: Makefile.am (myo_inc_dir): Remove.
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
2016-07-21 18:41:27 +00:00
Jakub Jelinek ab3af181e6 re PR c++/71728 (ICE with goto in statement-expression inside a condition)
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
2016-07-21 20:22:32 +02:00
David Malcolm 1c4b8a0449 Fix build of spellcheck-tree.c with older gccs
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
2016-07-21 17:21:12 +00:00
Jakub Jelinek 185faecb55 re PR sanitizer/71953 (ICE using address sanitizers with PCH)
PR sanitizer/71953
	* asan.c (asan_dynamic_init_call): Call asan_init_shadow_ptr_types
	before builtin_decl_implicit.

From-SVN: r238596
2016-07-21 18:17:58 +02:00
James Greenhalgh f5a459a439 [Patch 3/2 ifcvt costs] Don't expand a conditional move between identical sources
gcc/

	* optabs.c (emit_condiitonal_move): Short circuit for identical
	sources.

From-SVN: r238595
2016-07-21 15:41:59 +00:00
James Greenhalgh ebe8f3226c [Patch 2/2 ifcvt costs] Introduce a new cost model for ifcvt.
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
2016-07-21 15:40:24 +00:00
James Greenhalgh e914c11a99 [Patch 1/2 ifcvt costs] New target hook: max_noce_ifcvt_seq_cost
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
2016-07-21 15:37:50 +00:00
Richard Biener 959cef7434 re PR tree-optimization/71947 (x ^ y not folded to 0 if x == y by DOM)
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
2016-07-21 13:00:32 +00:00
Martin Liska 88617fe425 Do not divide by zero in analyze_brprob.py
* analyze_brprob.py: If there's no loop, do not calculate
	average number of loop iterations.

From-SVN: r238590
2016-07-21 12:53:24 +00:00
Richard Biener 01771d4361 function-tests.c (build_trivial_generic_function): Set BLOCK_SUPERCONTEXT of DECL_INITIAL.
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
2016-07-21 12:25:00 +00:00
Prathamesh Kulkarni c7880c8c92 tree-ssa-strlen.c (strlen_dom_walker::before_dom_children): Fix typo in comment.
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
2016-07-21 12:12:05 +00:00
Georg-Johann Lay fa62698775 Some patterns for moving one bit around by BST + BLD.
* 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
2016-07-21 11:00:56 +00:00
Bin Cheng b24d942079 tree-chrec.c (convert_affine_scev): New parameter.
* 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
2016-07-21 10:52:13 +00:00