Commit Graph

142700 Commits

Author SHA1 Message Date
David Edelsohn
7f085cafa4 rs6000.c (rs6000_declare_alias): Rename and globalize both the symbol and the "dot" symbol for function descriptors.
* config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize
both the symbol and the "dot" symbol for function descriptors.  Fix
inversion for rename of symbols with dollar sign.

From-SVN: r230867
2015-11-25 07:52:50 -05:00
Tom de Vries
b81b8bcadb Improve verification of loop->latch in verify_loop_structure
2015-11-25  Tom de Vries  <tom@codesourcery.com>

	* cfgloop.c (find_single_latch): New function, factored out of ...
	(flow_loops_find): ... here.
	(verify_loop_structure): Improve verification of loop->latch.
	* cfgloop.h (find_single_latch): Declare.
	* omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop.

From-SVN: r230866
2015-11-25 11:28:49 +00:00
Rainer Orth
e5ef217c3e Port libvtv to Solaris
libstdc++-v3:
	* acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY) <solaris2*>: Use
	-Wl,-R in VTV_CXXLINKFLAGS.
	* configure: Regenerate.

	* testsuite/18_support/bad_exception/23591_thread-1.c: Use
	-fvtable-verify=none on Solaris 12+.

	libgcc:
	* Makefile.in (VTV_CFLAGS): New variable.
	(vtv_start$(objext), vtv_end$(objext), vtv_end$(objext))
	(vtv_start_preinit$(objext), vtv_end_preinit$(objext)): Use it.
	* config.host (*-*-solaris2*): Add t-crtstuff-pic to tmake_file.
	Add vtv_start.o, vtv_end.o, vtv_start_preinit.o, vtv_end_preinit.o
	to extra_parts if $enable_vtable_verify = yes.

	libvtv:
	* configure.tgt (*-*-solaris2.[1-9]*): Declare supported.
	* configure.ac: Call AC_USE_SYSTEM_EXTENSIONS.
	<*-*-solaris2*>: Check for init priority support.
	Check for getexecname, __fortify_fail, _obstack_begin.
	(VTV_NO_OBSTACK): New conditional.
	* configure: Regenerate.
	* Makefile.am [VTV_NO_OBSTACK] (obstack.c): Use new condition.
	Create empty config.h
	* Makefile.in: Regenerate.

	* vtv_rts.cc [HAVE_GETEXECNAME] (program_invocation_name): New
	variable.
	(read_section_offset_and_length) [HAVE_GETEXECNAME]: Set it.
	(dl_iterate_phdr_callback) [HAVE_GETEXECNAME]: Set it.

	(__fortify_fail): Wrap in HAVE___FORTIFY_FAIL
	[!HAVE___FORTIFY_FAIL]: Provide non-Cygwin implementation.

	(read_section_offset_and_length): Assert sh_size >= VTV_PAGE_SIZE.
	(iterate_modules): Fix typo.
	Use VTV_PAGE_SIZE.
	(dl_iterate_phdr_callback): Fix typo.
	Use VTV_PAGE_SIZE.
	(__VLTChangePermission): Fix typos.

	include:
	* vtv-change-permission.h (VTV_PAGE_SIZE) [__sun__ && __svr4__ &&
	__sparc__]: Define.

	gcc:
	* config/sol2.h (SUPPORTS_INIT_PRIORITY): Move up.
	(STARTFILE_VTV_SPEC, ENDFILE_VTV_SPEC): Define.
	(STARTFILE_SPEC): Use %(startfile_vtv).
	(ENDFILE_SPEC): Use %(endfile_vtv).
	(SUBTARGET_EXTRA_SPECS): Handle STARTFILE_VTV_SPEC,
	ENDFILE_VTV_SPEC.

	* gcc.c (LINK_COMMAND_SPEC): Move VTABLE_VERIFICATION_SPEC after %{L*}.

From-SVN: r230865
2015-11-25 10:30:25 +00:00
Bernd Schmidt
70927cae31 Remove broken ifcvt code for speculating memory writes
* ifcvt.c (noce_mem_write_may_trap_or_fault_p,
	noce_can_store_speculate): Delete.
	(noce_process_if_block): Don't try to handle single MEM stores.
	* rtl.h (memory_must_be_modified_in_insn_p): Don't declare.
	* alias.c (memory_must_be_modified_in_insn_p): Delete.

From-SVN: r230864
2015-11-25 10:23:28 +00:00
Paolo Carlini
136108a158 re PR c++/58910 (std::Tuple_impl is non constexpr when using identical userdefined structs as template-args)
2015-11-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58910
	* g++.dg/cpp0x/constexpr-tuple2.C: New.

From-SVN: r230860
2015-11-25 10:00:02 +00:00
Kyrylo Tkachov
9b71b2ab84 [RTL-ifcvt] PR rtl-optimization/68435 Allow (c ? x++ : x--) form
PR rtl-optimization/68435
	* ifcvt.c (noce_try_cmove_arith): Skip final insn when checking
	for conflicts between a, b and the set destinations.

	* gcc.dg/pr68435.c: New test.

From-SVN: r230859
2015-11-25 09:48:29 +00:00
Richard Biener
514c0e7c12 re PR tree-optimization/68517 (ICE in tree-vect-data-refs.c:2751)
2015-11-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/68517
	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses):
	Properly handle zero-sized types.

	* gcc.dg/torture/pr68517.c: New testcase.

From-SVN: r230858
2015-11-25 09:22:47 +00:00
Jan Hubicka
80d39568c5 ipa-inline-analysis.c: Include gimplify.h (set_cond_stmt_execution_predicate...
* ipa-inline-analysis.c: Include gimplify.h
	(set_cond_stmt_execution_predicate,
	set_switch_stmt_execution_predicate): Be sure to not leak locations
	to function body.

From-SVN: r230857
2015-11-25 09:08:20 +00:00
Jakub Jelinek
6837d899c8 re PR target/67089 (Integer overflow checks not optimized on x86/x86_64)
PR target/67089
	* tree-ssa-math-opts.c (uaddsub_overflow_check_p,
	match_uaddsub_overflow): New functions.
	(pass_optimize_widening_mul::execute): Call match_uaddsub_overflow.

	* gcc.dg/pr67089-1.c: New test.
	* gcc.dg/pr67089-2.c: New test.
	* gcc.dg/pr67089-3.c: New test.
	* gcc.dg/pr67089-4.c: New test.
	* gcc.dg/pr67089-5.c: New test.
	* gcc.dg/pr67089-6.c: New test.
	* gcc.dg/pr67089-7.c: New test.

From-SVN: r230856
2015-11-25 09:58:32 +01:00
Richard Biener
85c69b0b05 re PR tree-optimization/68492 (internal compiler error: in vect_is_simple_use, at tree-vect-stmts.c:8266)
2015-11-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/68492
	* tree-vect-slp.c (vect_build_slp_tree): Consistently build up
	op from scalars after operand swapping.

From-SVN: r230855
2015-11-25 08:53:22 +00:00
Richard Biener
993a6bd98b re PR tree-optimization/68502 ([i686] spec2000/179.art runfails after r222914)
2015-11-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/68502
	* tree-vect-data-refs.c (vect_analyze_group_access_1): Restore
	check that the step is a multiple of the type size.

	* gcc.dg/vect/pr68502-1.c: New testcase.
	* gcc.dg/vect/pr68502-2.c: Likewise.

From-SVN: r230854
2015-11-25 08:46:34 +00:00
Michael Collison
b1b49824a8 2015-11-24 Michael Collison <michael.collison@linaro.org>
* config/aarch64/aarch64-simd.md (widen_ssum, widen_usum)
	(aarch64_<ANY_EXTEND:su><ADDSUB:optab>w<mode>_internal): New patterns
	* config/aarch64/iterators.md (Vhalf, VDBLW): New mode attributes.
	* gcc.target/aarch64/saddw-1.c: New test.
	* gcc.target/aarch64/saddw-2.c: New test.
	* gcc.target/aarch64/uaddw-1.c: New test.
	* gcc.target/aarch64/uaddw-2.c: New test.
	* gcc.target/aarch64/uaddw-3.c: New test.
	* lib/target-support.exp
	(check_effective_target_vect_widen_sum_hi_to_si_pattern):
	Add aarch64 to list of support targets.

From-SVN: r230853
2015-11-25 06:51:55 +00:00
GCC Administrator
17a0986a9b Daily bump.
From-SVN: r230850
2015-11-25 00:16:11 +00:00
Steve Ellcey
68f7710bc1 Fix typos from last checkin.
From-SVN: r230847
2015-11-24 22:12:25 +00:00
Steve Ellcey
4607d3700e frame-header-4.c: New test.
2015-11-24  Steve Ellcey  <sellcey@imgtec.com>

	* gcc.target/mips/frame-header-4.c: New test.

From-SVN: r230846
2015-11-24 22:11:27 +00:00
Steve Ellcey
0bfbc1662b frame-header-opt.c (gate): Check for optimize > 0.
2015-11-24  Steve Ellcey  <sellcey@imgtec.com>

	* frame-header-opt.c (gate): Check for optimize > 0.
	(has_inlined_assembly): New function.
	(needs_frame_header_p): Remove is_leaf_function check,
	add argument type check.
	(callees_functions_use_frame_header): Add is_leaf_function
	and has_inlined_assembly calls..
	(set_callers_may_not_allocate_frame): New function.
	(frame_header_opt): Add is_leaf_function call, add
	set_callers_may_not_allocate_frame call.
	* config/mips/mips.c (mips_compute_frame_info): Add check
	to see if callee saved regs can be put in frame header.
	(mips_expand_prologue): Add check to see if step1 is zero,
	fix cfa restores when using frame header to store regs.
	(mips_can_use_return_insn): Check to see if registers are
	stored in frame header.
	* config/mips/mips.h (machine_function): Add
	callers_may_not_allocate_frame and
	use_frame_header_for_callee_saved_regs fields.

From-SVN: r230845
2015-11-24 22:09:17 +00:00
Segher Boessenkool
82ad51444f shrink-wrap: Fix thinko (PR68520)
Part of the shrink-wrapping algorithm has this comment:

  /* Now see if we can put the prologue at the start of PRO.  Putting it
     there might require duplicating a block that cannot be duplicated,
     or in some cases we cannot insert the prologue there at all.  If PRO
     wont't do, try again with the immediate dominator of PRO, and so on.

     The blocks that need duplicating are those reachable from PRO but
     not dominated by it.  We keep in BB_WITH a bitmap of the blocks
     reachable from PRO that we already found, and in VEC a stack of
     those we still need to consider (to find successors).  */

Two of the cases that push to that stack do not actually check the
bitmap first.  Either I thought those blocks could not be on the stack
already, or more likely I didn't think and it just didn't crash during
any testing.  But of course those blocks *can* already be on the stack
(if you have a hideous loop structure), and then we end up with the
same block on the stack more than once.  This is harmless, except that
(like in the PR) this can overflow the stack.

This fixes it, by doing the necessary bitmap checks before pushing.


	PR rtl-optimization/68520
	* shrink-wrap.c (try_shrink_wrapping): Don't push a block to VEC if
	its bit was already set in BB_WITH.

From-SVN: r230843
2015-11-24 22:23:25 +01:00
Ilya Verbin
688c4de0a3 c-parser.c (c_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING" with "if (ENABLE_OFFLOADING)".
gcc/c/
	* c-parser.c (c_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING"
	with "if (ENABLE_OFFLOADING)".
gcc/cp/
	* parser.c (cp_parser_oacc_declare): replace "ifdef enable_offloading"
	with "if (enable_offloading)".

From-SVN: r230842
2015-11-24 21:04:47 +00:00
Jan Hubicka
ba6a6a1d44 alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P double check that type is main variant.
* alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P
	double check that type is main variant.
	* tree.c (build_variant_type_copy): Clear TYPE_ALIAS_SET when producing
	variant.
	(verify_type_variant): Verify that variants have no
	TYPE_ALIAS_SET_KNOWN_P set
	* tree-streamer-out.c (pack_ts_type_common_value_fields): Reorder
	streaming so constant fields come first; stream TYPE_ALIAS_SET==0
	only for main variants; stream TYPE_ALIAS_SET as a bit.
	* tree-streamer-in.c (unpack_ts_type_common_value_fields): Update
	accordingly.

From-SVN: r230838
2015-11-24 20:35:16 +00:00
Jan Hubicka
0b87a9a2bd tree.c (make_vector_type): Properly compute canonical type of the main variant.
* tree.c (make_vector_type): Properly compute canonical type of the
	main variant.
	(verify_type): Verify that TYPE_CANONICAL of TYPE_MAIN_VARIANT is
	a main variant.

From-SVN: r230837
2015-11-24 20:26:48 +00:00
Nathan Sidwell
d74792629d nvptx.c (maybe_split_mode): Return new mode or VOIDmode, don't alter incoming mode.
* config/nvptx/nvptx.c (maybe_split_mode): Return new mode or
	VOIDmode, don't alter incoming mode.
	(nvptx_split_reg_p): Delete.
	(write_one_arg, walk_args_for_param, nvptx_declare_function_name,
	write_func_decl_from_insn, nvptx_output_call_insn): Adjust
	maybe_split_mode calls.
	(nvptx_print_operand): Use maybe_split_mode.

From-SVN: r230836
2015-11-24 20:15:44 +00:00
Jan Hubicka
aea50b45f5 lto-streamer-in.c (lto_read_body_or_constructor): Set TYPE_CANONICAL only for types where LTO sets them.
* lto-streamer-in.c (lto_read_body_or_constructor): Set TYPE_CANONICAL
	only for types where LTO sets them.
	* tree.c (build_array_type_1): Do ont set TYPE_CANONICAL for LTO.
	(make_vector_type): Likewise.
	(gimple_canonical_types_compatible_p): Use canonical_type_used_p.
	* tree.h (canonical_type_used_p): New inline.
	* alias.c (get_alias_set): Handle structural equality for all
	types that pass canonical_type_used_p.
	(record_component_aliases): Look through all types with
	record_component_aliases for possible pointers; sanity check that
	the alias sets match.

	* lto.c (iterative_hash_canonical_type): Recruse for all types
	which pass !canonical_type_used_p.
	(gimple_register_canonical_type_1): Sanity check we do not compute
	canonical type of anything with !canonical_type_used_p.
	(gimple_register_canonical_type): Skip all types that are
	!canonical_type_used_p

From-SVN: r230835
2015-11-24 19:35:38 +00:00
Michael Meissner
73c923307b rs6000.md (lround<mode>di2): Remove constraints.
2015-11-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.md (lround<mode>di2): Remove constraints.

From-SVN: r230834
2015-11-24 19:16:18 +00:00
Jan Hubicka
deb3dae698 tree.c (free_node): New function.
* tree.c (free_node): New function.
	(type_hash_canon): Use it.
	* tree.h (free_node): Declare.
	* lto.c (unify_scc): Use free_node.

From-SVN: r230833
2015-11-24 19:04:04 +00:00
Steven G. Kargl
d7dc0f8037 re PR fortran/68486 (187.facerec in SPEC CPU 2000 failed to build)
2015-11-24  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/68486
	* simplify.c (gfc_simplify_cshift): Allow all EXPR_*.

2015-11-24  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/68486
	* gfortran.dg/simplify_cshift_3.f90

From-SVN: r230832
2015-11-24 18:58:28 +00:00
Michael Meissner
68ea24cb27 fix ChangeLog
From-SVN: r230831
2015-11-24 18:54:34 +00:00
Michael Meissner
c30e691b3c fix ChangeLog
From-SVN: r230830
2015-11-24 18:47:49 +00:00
David Edelsohn
b6b3661a2e rs6000.md (UNSPEC_XSRDPI): New unspec.
2015-11-24  David Edelsohn  <dje.gcc@gmail.com>
	    Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.md (UNSPEC_XSRDPI): New unspec.
	(Fv2): New mode attribute to be used when ISA 2.06 instructions
	are used on SF/DF values.
	(abs<mode>2_fpr): Use <Fv2> instead of <Fv>.
	(nabs<mode>2_fpr): Likewise.
	(neg<mode>2_fpr): Likewise.
	(copysign<mode>3_fcpsgn): Likewise.
	(smax<mode>3_vsx): Likewise.
	(smin<mode>3_vsx): Likewise.
	(floatsi<mode>2_lfiwax): Likewise.
	(floatunssi<mode>2_lfiwz): Likewise.
	(fctiwz_<mode>): Likewise.
	(fctiwuz_<mode>): Likewise.
	(btrunc<mode>2): Likewise.
	(ceil<mode>2): Likewise.
	(floor<mode>2): Likewise.
	(xsrdpi<mode>): Add support for the lround function.
	(lround<mode>2): Likewise.


Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com>

From-SVN: r230829
2015-11-24 18:46:07 +00:00
Paolo Carlini
4ade0d6913 re PR c++/68278 (internal compiler error with C++14 polymorphic lambda and type alias)
2015-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/68278
	* g++.dg/cpp1y/pr68278.C: New.

From-SVN: r230828
2015-11-24 18:30:02 +00:00
Paolo Carlini
660f3dc7dd re PR c++/68388 (incomplete type bug when using decltype)
2015-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/68388
	* g++.dg/cpp1y/pr68388.C: New.

From-SVN: r230827
2015-11-24 18:16:26 +00:00
Aditya Kumar
ff17c26257 fix PR67984: check for constants in rename map
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>

From-SVN: r230826
2015-11-24 18:00:52 +00:00
Aditya Kumar
cf98f0f49b move all declarations to a same .h file
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>

From-SVN: r230825
2015-11-24 17:57:45 +00:00
Pierre-Marie de Rodat
caadda8e35 DWARF: materialize subprogram renamings in Ada as imported declarations
... so that debugger users can reference them instead of the renamed
subprograms.  This is in accordance with the DWARF specification: the
section 3.2.3 (Imported (or Renamed) Declaration Entities) allows
DW_TAG_imported_declaration DIEs to be used "as a general means to
rename or provide an alias for an entity regardless of the context in
which the importing declaration or the imported entity occur." (wording
from the DWARFv3 and DWARFv4 specifications, allowed in DWARFv2).

gcc/ada/ChangeLog:

	* gcc-interface/utils.c (gnat_write_global_declarations): Output
	debugging information for top-level imported declarations.

gcc/ChangeLog:

	* dwarf2out.c (gen_decl_die): Generate DW_TAG_imported_* instead
	of DW_TAG_namespace for IMPORTED_DECL declarations.  Call
	dwarf2out_imported_module_or_decl_1 for all DWARF versions as
	this function already takes care of checking what it can emit.

Bootstrapped, regtested and checked with GDB's testsuite on
x86_64-linux.

From-SVN: r230821
2015-11-24 16:59:43 +00:00
Szabolcs Nagy
16a21ab326 [AArch64] Documentation fix for -fpic
gcc/
	* doc/invoke.texi (-fpic): Add the AArch64 limit.
	(-fPIC): Add AArch64.

From-SVN: r230819
2015-11-24 16:06:30 +00:00
Michael Matz
f5c345fc41 re PR rtl-optimization/68392 (ICE: SIGSEGV in update_uses (fwprop.c:896) with -fno-checking)
PR rtl-optimization/68392
	* g++.dg/pr68392.C: New test.

From-SVN: r230818
2015-11-24 16:00:51 +00:00
Tom de Vries
9c37629fe0 Allow pass_lim to run outside pass_tree_loop
2015-11-24  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-loop-im.c (tree_ssa_lim): Make static.
	(pass_lim::execute): Allow to run outside pass_tree_loop.

From-SVN: r230815
2015-11-24 14:47:55 +00:00
Wilco Dijkstra
4e55c7c347 [PATCH][AArch64] Improve add immediate expansion
gcc/

	* gcc/config/aarch64/aarch64.md (add<mode>3):
	Block early expansion into 2 add instructions.
	(add<mode>3_pluslong): New pattern to combine complex
	immediates into 2 additions.

From-SVN: r230814
2015-11-24 14:46:05 +00:00
Segher Boessenkool
6b2f9bb622 rs6000: Fix for and_operand oversight (PR68332, PR67677)
Calling rs6000_is_valid_and_mask on a reg instead of on a const_int is
not a good idea, as PR68332 and PR67677 as well as testing with
--enable-checking=yes,rtl show.  Fix this.


	PR target/66217
	PR target/67677
	PR target/68332
	* config/rs6000/predicates.md (and_operand): Check that the operand
	is a const_int before calling rs6000_is_valid_and_mask.

From-SVN: r230811
2015-11-24 15:04:11 +01:00
Nathan Sidwell
f768642887 * gcc.dg/sso/dump.h: Force IO to be putchar function call on nvptx.
From-SVN: r230810
2015-11-24 13:53:31 +00:00
Kyrylo Tkachov
a4fb29bc4d Testcase for PR rtl-optimization/68381
PR rtl-optimization/68381
	* gcc.c-torture/execute/pr68381.c: New test.

From-SVN: r230809
2015-11-24 13:35:56 +00:00
Rainer Orth
ef3a75060e Handle C++11 <math.h> overloads on Solaris 12
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test.
	* configure.ac: Use it.
	* configure: Regenerate.
	* config.h.in: Regenerate.

	* include/c_global/cmath [__cplusplus >= 201103L]
	(std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
	(std::isfinite): Likewise.
	(std::isinf): Likewise.
	(std::isnan): Likewise.
	(std::isnormal): Likewise.
	(std::signbit): Likewise.
	(std::isgreater): Likewise.
	(std::isgreaterequal): Likewise.
	(std::isless): Likewise.
	(std::islessequal): Likewise.
	(std::islessgreater): Likewise.
	(std::isunordered): Likewise.
	(std::acosh): Likewise.
	(std::asinh): Likewise.
	(std::atanh): Likewise.
	(std::cbrt): Likewise.
	(std::copysign): Likewise.
	(std::erf): Likewise.
	(std::erfc): Likewise.
	(std::exp2): Likewise.
	(std::expm1): Likewise.
	(std::fdim): Likewise.
	(std::fma): Likewise.
	(std::fmax): Likewise.
	(std::fmin): Likewise.
	(std::hypot): Likewise.
	(std::ilogb): Likewise.
	(std::lgamma): Likewise.
	(std::llrint): Likewise.
	(std::llround): Likewise.
	(std::log1p): Likewise.
	(std::log2): Likewise.
	(std::logb): Likewise.
	(std::lrint): Likewise.
	(std::lround): Likewise.
	(std::nearbyint): Likewise.
	(std::nextafter): Likewise.
	(std::nexttoward): Likewise.
	(std::remainder): Likewise.
	(std::remquo): Likewise.
	(std::rint): Likewise.
	(std::round): Likewise.
	(std::scalbln): Likewise.
	(std::scalbn): Likewise.
	(std::tgamma): Likewise.
	(std::trunc): Likewise.
	* include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh):
	Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
	(std::tr1::asinh): Likewise.
	(std::tr1::atanh): Likewise.
	(std::tr1::cbrt): Likewise.
	(std::tr1::copysign): Likewise.
	(std::tr1::erf): Likewise.
	(std::tr1::erfc): Likewise.
	(std::tr1::exp2): Likewise.
	(std::tr1::expm1): Likewise.
	(std::tr1::fabs): Likewise.
	(std::tr1::fdim): Likewise.
	(std::tr1::fma): Likewise.
	(std::tr1::fmax): Likewise.
	(std::tr1::fmin): Likewise.
	(std::tr1::hypot): Likewise.
	(std::tr1::ilogb): Likewise.
	(std::tr1::lgamma): Likewise.
	(std::tr1::llrint): Likewise.
	(std::tr1::llround): Likewise.
	(std::tr1::log1p): Likewise.
	(std::tr1::log2): Likewise.
	(std::tr1::logb): Likewise.
	(std::tr1::lrint): Likewise.
	(std::tr1::lround): Likewise.
	(std::tr1::nearbyint): Likewise.
	(std::tr1::nextafter): Likewise.
	(std::tr1::nexttoward): Likewise.
	(std::tr1::remainder): Likewise.
	(std::tr1::remquo): Likewise.
	(std::tr1::rint): Likewise.
	(std::tr1::scalbln): Likewise.
	(std::tr1::scalbn): Likewise.
	(std::tr1::tgamma): Likewise.
	(std::tr1::trunc): Likewise.
	(std::tr1::pow): Likewise.

	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
	Restrict dg-xfail-if, dg-excess-errors to *-*-solaris2.1[01]*.

From-SVN: r230807
2015-11-24 13:15:43 +00:00
Kyrylo Tkachov
714e1b3b4f [AArch64][v2] Improve comparison with complex immediates followed by branch/cset
* config/aarch64/aarch64.md (*condjump): Rename to...
	(condjump): ... This.
	(*compare_condjump<mode>): New define_insn_and_split.
	(*compare_cstore<mode>_insn): Likewise.
	(*cstore<mode>_insn): Rename to...
	(cstore<mode>_insn): ... This.
	* config/aarch64/iterators.md (CMP): Handle ne code.
	* config/aarch64/predicates.md (aarch64_imm24): New predicate.

	* gcc.target/aarch64/cmpimm_branch_1.c: New test.
	* gcc.target/aarch64/cmpimm_cset_1.c: Likewise.

From-SVN: r230805
2015-11-24 13:08:56 +00:00
Max Ostapenko
9211bbb278 Move ptrace.h to appropriate place.
libsanitizer/

	* include/system/linux/asm/ptrace.h: Move to ...
	* include/system/asm/ptrace.h: ... this.

From-SVN: r230804
2015-11-24 14:24:46 +02:00
Mikhail Maltsev
db92ed3685 Fix PR68497 (ICE with -fno-checking)
gcc/

	PR target/68497
	* config/i386/i386.c (output_387_binary_op): Fix assertion for
	-fno-checking case.

gcc/testsuite/

	PR target/68497
	* gcc.target/i386/pr68497.c: New test.

From-SVN: r230803
2015-11-24 12:18:21 +00:00
Trevor Saunders
5205ae6e27 remove val_ssa_equiv_hash_traits
gcc/ChangeLog:

2015-11-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* tree-ssa-uncprop.c (struct val_ssa_equiv_hash_traits): Remove.
	(val_ssa_equiv_hash_traits::remove): Likewise.
	(pass_uncprop::execute): Adjust.

From-SVN: r230802
2015-11-24 11:46:18 +00:00
Trevor Saunders
76b6ddbfe2 destroy values as well as keys when removing them from hash maps
gcc/ChangeLog:

2015-11-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* hash-map-traits.h (simple_hashmap_traits ::remove): call
	destructors on values that are being removed.
	* mem-stats.h (hash_map): Pass type of values to
	simple_hashmap_traits.
	* tree-sra.c (sra_deinitialize): Remove work around for hash
	maps not destructing values.
	* genmatch.c (sinfo_hashmap_traits): Adjust.
	* tree-ssa-uncprop.c (val_ssa_equiv_hash_traits): Likewise.

From-SVN: r230801
2015-11-24 11:46:10 +00:00
Bilyan Borisov
cfa55545f9 [AARCH64][PATCH 3/3] Adding tests to check proper error reporting of out of...
[AARCH64][PATCH 3/3] Adding tests to check proper error reporting of out
of bounds accesses to vmulx_lane* NEON intrinsics

gcc/testsuite/

	* gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f32_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f64_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulx_laneq_f32_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulx_laneq_f64_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxd_lane_f64_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxd_laneq_f64_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxq_lane_f32_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxq_lane_f64_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxq_laneq_f32_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxq_laneq_f64_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxs_lane_f32_indices_1.c:
	New.
	* gcc.target/aarch64/advsimd-intrinsics/vmulxs_laneq_f32_indices_1.c:
	New.

From-SVN: r230800
2015-11-24 11:22:48 +00:00
Kyrylo Tkachov
895548a571 [cfgloop] PR middle-end/68375: Restructure get_loop_body_in_bfs_order to handle loops with only a header
PR middle-end/68375
	* cfgloop.c (get_loop_body_in_bfs_order): Restructure loop to avoid
	bogus assertion.

	* gcc.dg/pr68375.c: New test.

From-SVN: r230798
2015-11-24 11:03:51 +00:00
Jakub Jelinek
3788cfb513 re PR target/68483 (gcc 5.2: suboptimal code compared to 4.9)
PR target/68483
	* tree-vect-generic.c (lower_vec_perm): If VEC_PERM_EXPR
	is valid vec_shr pattern, don't lower it even if can_vec_perm_p
	returns false.
	* optabs.c (shift_amt_for_vec_perm_mask): Return NULL_RTX
	whenever first is nelt or above.  Don't mask expected with
	2 * nelt - 1.

	* gcc.target/i386/pr68483-1.c: New test.
	* gcc.target/i386/pr68483-2.c: New test.

From-SVN: r230797
2015-11-24 11:45:52 +01:00
Ilya Enkovich
3de2a40ecd re PR c/68337 ([MPX] memcpy() for arrays with function pointers results in huge resource usage and binaries)
gcc/

	PR c/68337
	* gimple-fold.c: Include ipa-chkp.h.
	(gimple_fold_builtin_memory_op): Don't fold call if we
	are going to instrument it and it may copy pointers.

gcc/testsuite/

	PR c/68337
	* gcc.target/i386/mpx/pr68337-1.c: New test.
	* gcc.target/i386/mpx/pr68337-2.c: New test.

From-SVN: r230796
2015-11-24 09:45:20 +00:00