Commit Graph

145837 Commits

Author SHA1 Message Date
Oleg Endo
74d5be8c57 sh.md (*cmpeqsi_t): Remove combine insn pattern and similar corresponding combine split pattern.
gcc/
	* config/sh/sh.md (*cmpeqsi_t): Remove combine insn pattern and similar
	corresponding combine split pattern.

From-SVN: r235956
2016-05-06 10:29:33 +00:00
Oleg Endo
ce23a8ff10 Fix ChangeLog formatting.
From-SVN: r235955
2016-05-06 10:23:48 +00:00
Oleg Endo
ae5f0df1d5 re PR target/58219 ([SH] mov.l insn length is wrong on SH2A)
gcc/
	PR target/58219
	* config/sh/predicates.md (long_displacement_mem_operand): New.
	* config/sh/sh.md (movsi_i): Allow for SH2A, disallow for any FPU.
	Add movi20, movi20s alternatives.  Adjust length attribute for
	alternatives.
	(movsi_ie): Allow for any FPU.  Adjust length attribute for
	alternatives.
	(movsi_i_lowpart): Add movi20, movi20s alternatives.  Adjust length
	attribute for alternatives.
	(*mov<mode>): Use long_displacement_mem_operand for length attribute.
	(*movdi_i, movdf_k, movdf_i4, movsf_i, movsf_ie, movsf_ie_ra): Adjust
	length attribute for alternatives.

gcc/testsuite/
	PR target/58219
	*gcc.target/sh/pr58219.c: New tests.

From-SVN: r235954
2016-05-06 10:20:13 +00:00
Richard Biener
078f7e37ba re PR tree-optimization/70960 (ICE: tree check: expected ssa_name, have integer_cst in ifcvt_walk_pattern_tree, at tree-if-conv.c:2465)
2016-05-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/70960
	* tree-if-conv.c (ifcvt_walk_pattern_tree): Handle non-SSA ops.

	* gfortran.fortran-torture/compile/pr70960.f90: New testcase.

From-SVN: r235953
2016-05-06 10:18:59 +00:00
Oleg Endo
765d7b5470 re PR target/52933 (SH Target: Use div0s for integer sign comparisons)
gcc/
	PR target/52933
	* config/sh/sh.md (*cmp_div0s_7, *cmp_div0s_8): Add div0s variants.
	* config/sh/sh.c (sh_rtx_costs): Add another div0s case.

gcc/testsuite/
	PR target/52933
	* gcc.target/sh/pr52933-1.c (test_31, test_32, test_33, test_34,
	test_35, test_36, test_37, test_38, test_39, test_40): New sub-tests.
	Adjust expected instruction counts.
	* gcc.target/sh/pr52933-2.c: Adjust expected instruction counts.

From-SVN: r235952
2016-05-06 09:52:35 +00:00
Marek Polacek
29c94e65e1 re PR sanitizer/70875 (ICE in get_ubsan_type_info_for_type with -fsanitize=undefined)
PR sanitizer/70875
	* ubsan.c (get_ubsan_type_info_for_type): Remove assert.

	* gcc.dg/ubsan/bounds-3.c: New test.

From-SVN: r235951
2016-05-06 09:47:25 +00:00
Oleg Endo
3684b02efb re PR target/54089 ([SH] Refactor shift patterns)
gcc/
	PR target/54089
	* config/sh/sh.md (*rotcr): Add another variant.

gcc/testsuite/
	PR target/54089
	* gcc.target/sh/pr54089-1.c (test_24): Add new sub-test.

From-SVN: r235950
2016-05-06 09:41:57 +00:00
Eric Botcazou
498988ad6a re PR ada/70969 (bootstrap failure: s-unstyp.ads:40:15: violation of No_Elaboration_Code_All at line 42)
PR ada/70969
	* system-darwin-ppc64.ads: Add pragma No_Elaboration_Code_All.
	* system-linux-armeb.ads: Likewise.
	* system-linux-mips64el.ads: Likewise.
	* system-linux-mips.ads: Likewise.
	* system-linux-mipsel.ads: Likewise.
	* system-linux-ppc64.ads: Likewise.
	* system-linux-sparcv9.ads: Likewise.
	* system-rtems.ads: Likewise.

From-SVN: r235946
2016-05-06 09:11:38 +00:00
Richard Biener
8706773f5a re PR fortran/70931 (ICE with -g in native_encode_initializer, bei dwarf2out.c:17768)
2016-05-06  Richard Biener  <rguenther@suse.de>

	PR middle-end/70931
	* dwarf2out.c (native_encode_initializer): Skip zero-sized fields.

	* gfortran.dg/pr70931.f90: New testcase.

From-SVN: r235944
2016-05-06 07:44:22 +00:00
Richard Biener
a4f510181a re PR target/70941 (Test miscompiled with -O2.)
2016-05-06  Richard Biener  <rguenther@suse.de>

	PR middle-end/70941
	* fold-const.c (split_tree): Always convert to the original type
	before negating.

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

From-SVN: r235943
2016-05-06 07:38:27 +00:00
Richard Biener
f5d6c2d81c fwprop.c (fwprop): Remove duplicate cleanup_cfg call.
2016-05-06  Richard Biener  <rguenther@suse.de>

	* fwprop.c (fwprop): Remove duplicate cleanup_cfg call.
	(fwprop_addr): Likewise.

From-SVN: r235942
2016-05-06 07:27:33 +00:00
GCC Administrator
d0b2932ae8 Daily bump.
From-SVN: r235940
2016-05-06 00:16:17 +00:00
Uros Bizjak
38302a2102 re PR target/70873 ([7 Regressio] 20% performance regression at 482.sphinx3 after r235442 with -O2 -m32 on Haswell.)
PR target/70873
	* config/i386/i386-protos.h (ix86_standard_x87sse_constant_load_p):
	New prototype.
	* config/i386/i386.c (ix86_standard_x87sse_constant_load_p): New.
	* config/i386/i386.md (push mem splitter): Use find_constant_src in
	the splitter condition.
	(FP load splitter): Use ix86_standard_x87sse_constant_load_p in
	the splitter condition.
	(FP float_extend load splitter): Ditto.

From-SVN: r235936
2016-05-06 00:48:29 +02:00
Uros Bizjak
c366c55073 i386.md (peehole2 patterns): Change true_regnum to REGNUM in all peephole2 patterns.
* config/i386/i386.md (peehole2 patterns): Change true_regnum
	to REGNUM in all peephole2 patterns.
	(post-reload splitters): Change true_regnum to REGNUM in
	post-reload splitters.
	(zero_extend splitters): Use general_reg_operand and
	nonimmediate_gr_operand predicates.

From-SVN: r235933
2016-05-05 22:33:42 +02:00
Rainer Orth
40436d8169 Enable dg-reqire-sharedlib on Solaris
* testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.

From-SVN: r235931
2016-05-05 19:54:42 +00:00
Bin Cheng
c4f2425fe8 re PR tree-optimization/57206 (Auto-vectorization fails when array index is an unsigned int expression)
gcc/testsuite
	PR tree-optimization/57206
	* gcc.dg/vect/pr57206.c: New test.

From-SVN: r235926
2016-05-05 16:20:54 +00:00
Rainer Orth
5dc081978c Declare isnanf in gcc.dg/ipa/inline-8.c
* gcc.dg/ipa/inline-8.c	(isnanf): Declare.

From-SVN: r235925
2016-05-05 14:29:47 +00:00
Jason Merrill
17ee9a4e8c * decl.c: Update comment.
From-SVN: r235923
2016-05-05 09:33:35 -04:00
Jakub Jelinek
0f66751a5f openmp.c (gfc_match_omp_clauses): Restructuralize...
* openmp.c (gfc_match_omp_clauses): Restructuralize, so that clause
	parsing is done in a big switch based on gfc_peek_ascii_char and
	individual clauses under their first letters are sorted too.

From-SVN: r235922
2016-05-05 15:31:02 +02:00
Jakub Jelinek
568bac8c8a sse.md (<avx512>_fmadd_<mode>_mask3<round_name>): Use v constraint instead of x.
* config/i386/sse.md (<avx512>_fmadd_<mode>_mask3<round_name>): Use
	v constraint instead of x.

	* gcc.target/i386/avx512f-vfmadd-1.c: New test.

From-SVN: r235921
2016-05-05 15:29:54 +02:00
Jakub Jelinek
351f85c5be c-parser.c (c_parser_switch_statement): Add IF_P argument, parse it through to c_parser_c99_block_statement.
* c-parser.c (c_parser_switch_statement): Add IF_P argument,
	parse it through to c_parser_c99_block_statement.
	(c_parser_statement_after_labels): Adjust c_parser_switch_statement
	caller.

	* parser.c (cp_parser_selection_statement): For RID_SWITCH,
	pass if_p instead of NULL to cp_parser_implicitly_scoped_statement.

	* c-c++-common/Wdangling-else-4.c: New test.

From-SVN: r235920
2016-05-05 15:26:59 +02:00
Jonathan Wakely
f5c40ce2cf Add dg-require-filesystem-ts directive to test
* testsuite/experimental/filesystem/path/native/string.cc: Add
	dg-require-filesystem-ts directive.

From-SVN: r235919
2016-05-05 11:03:56 +01:00
GCC Administrator
db178de89f Daily bump.
From-SVN: r235918
2016-05-05 00:16:21 +00:00
Alan Modra
6a67e81be7 [RS6000] TARGET_RELOCATABLE
For ABI_V4, -mrelocatable and -fPIC both generate position independent
code, with some extra "fixup" output for -mrelocatable.  The
similarity of these two options has led to the situation where the
sysv4.h SUBTARGET_OVERRIDE_OPTIONS sets flag_pic on seeing
-mrelocatable, and sets TARGET_RELOCATABLE on seeing -fPIC.  That
prevents LTO from properly optimizing position dependent executables,
because the mutual dependence of the flags and the fact that LTO
streaming records the state of rs6000_isa_flags, result in flag_pic
being set when it shouldn't be.

So, don't set TARGET_RELOCATABLE when -fPIC.  Places that currently
test TARGET_RELOCATABLE can instead test
TARGET_RELOCATABLE || (DEFAULT_ABI == ABI_V4 && flag_pic > 1)
or since TARGET_RELOCATABLE can only be enabled when ABI_V4,
DEFAULT_ABI == ABI_V4 && (TARGET_RELOCATABLE || flag_pic > 1).

Also, since flag_pic is set by -mrelocatable, a number of places that
currently test TARGET_RELOCATABLE can be simplified.  I also made
-mrelocatable set TARGET_NO_FP_IN_TOC, allowing TARGET_RELOCATABLE to
be removed from ASM_OUTPUT_SPECIAL_POOL_ENTRY_P.  Reducing occurrences
of TARGET_RELOCATABLE is a good thing.

	PR target/68662
	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't
	set OPTION_MASK_RELOCATABLE when flag_pic == 2.  Set
	TARGET_NO_FP_IN_TOC for -mrelocatable.
	(MINIMAL_TOC_SECTION_ASM_OP): Remove redundant
	TARGET_RELOCATABLE test.
	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
	(ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
	* config/rs6000/linux64.h (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
	(ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
	* config/rs6000/freebsd64.h (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
	(ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
	* config/rs6000/predicates.md (easy_fp_constant): Likewise.
	* config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op):
	Likewise.
	(rs6000_assemble_integer): Update TARGET_RELOCATABLE test.
	(rs6000_stack_info): Likewise.
	(rs6000_elf_asm_out_constructor): Likewise.
	(rs6000_elf_asm_out_destructor): Likewise.
	(rs6000_elf_declare_function_name): Likewise.
	* config/rs6000/rs6000.md (load_toc_aix_di): Likewise.
	* config/rs6000/rs6000.h (MASK_RELOCATABLE, MASK_MINIMAL_TOC):
	Don't define.

From-SVN: r235914
2016-05-05 09:37:27 +09:30
Alan Modra
552d4a3dc6 [RS6000] Rewrite rs6000_frame_related to use simplify_replace_rtx
Modify SETs rather than using replace_rtx on the whole insn.
Removes fragile hacks preventing USE and CLOBBER being modified.

	* config/rs6000/rs6000.c (rs6000_frame_related): Rewrite.

From-SVN: r235913
2016-05-05 09:31:26 +09:30
Alan Modra
662fa3ba61 [RS6000] out-of-line exit register restore funcs
* config/rs6000/rs6000.c (rs6000_savres_strategy): Don't use
	out-of-line gpr restore for one or two regs if that would add
	a save of lr.

From-SVN: r235907
2016-05-05 07:02:27 +09:30
Uros Bizjak
fdab73dc76 re PR target/70873 ([7 Regressio] 20% performance regression at 482.sphinx3 after r235442 with -O2 -m32 on Haswell.)
PR target/70873
	* config/i386/i386.md
	(TARGET_SSE_PARTIAL_REG_DEPENDENCY float_extend sf->df peephole2):
	Change to post-epilogue_completed late splitter.  Use sse_reg_operand
	as operand 0 predicate.
	(TARGET_SSE_PARTIAL_REG_DEPENDENCY float_truncate df->sf peephole2):
	Ditto.
	(TARGET_SSE_PARTIAL_REG_DEPENDENCY float {si,di}->{sf,df} peephole2):
	Ditto.  Emit the pattern using RTX.

	(TARGET_USE_VECTOR_FP_CONVERTS float_extend sf->df splitter):
	Use sse_reg_opreand as operand 0 predicate.  Do not use true_regnum in
	the post-reload splitter.  Use lowpart_subreg instead of gen_rtx_REG.
	(TARGET_USE_VECTOR_FP_CONVERTS float_truncate df->sf splitter):
	Ditto.
	(TARGET_USE_VECTOR_CONVERTS float si->{sf,df} splitter): Use
	sse_reg_operand as operand 0 predicate.

	(TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS float_extend sf->df peephole2):
	Use sse_reg_opreand as operand 0 predicate.  Use lowpart_subreg
	instead of gen_rtx_REG.
	(TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS float_truncate sf->df peephole2):
	Ditto.

From-SVN: r235906
2016-05-04 23:13:13 +02:00
Segher Boessenkool
d07d21777f shrink-wrap: Remove complicated simple_return manipulations
Now that cfgcleanup knows how to optimize with return statements, the
epilogue insertion code doesn't have to deal with it itself anymore.


	* function.c (emit_use_return_register_into_block): Delete.
	(gen_return_pattern): Delete.
	(emit_return_into_block): Delete.
	(active_insn_between): Delete.
	(convert_jumps_to_returns): Delete.
	(emit_return_for_exit): Delete.
	(thread_prologue_and_epilogue_insns): Delete all code dealing with
	simple_return for shrink-wrapped blocks.
	* shrink-wrap.c (try_shrink_wrapping): Insert simple_return at the
	end of blocks that need one.
	(get_unconverted_simple_return): Delete.
	(convert_to_simple_return): Delete.
	* shrink-wrap.c (get_unconverted_simple_return): Delete declaration.
	(convert_to_simple_return): Ditto.

From-SVN: r235905
2016-05-04 22:57:08 +02:00
Segher Boessenkool
45676a7c8a cfgcleanup: Fold jumps and conditional branches with returns
This patch makes cfgcleanup optimize jumps to returns.  There are three
cases this handles:

-- A jump to a return; this is simplified to just that return.
-- A conditional branch to a return; simplified to a conditional return.
-- A conditional branch that falls through to a return.  This is simplified
   to a conditional return (with the condition inverted), falling through
   to a jump to the original destination.  That jump can then be optimized
   further, as usual.

This handles all cases the current function.c does, and a few it misses.


	* cfgcleanup.c (bb_is_just_return): New function.
	(try_optimize_cfg): Simplify jumps to return, branches to return,
	and branches around return.

From-SVN: r235904
2016-05-04 22:54:47 +02:00
Segher Boessenkool
1a8fb012bd cfgcleanup: Bugfix in try_simplify_condjump
If the jump_block here contains just a return, we will crash later
in invert_jump.  Don't allow that case.


	* cfgcleanup.c (try_simplify_condjump): Don't try to simplify a
	branch to a return.

From-SVN: r235903
2016-05-04 22:50:12 +02:00
Jakub Jelinek
2d1ac15a6a re PR c++/70906 (ice in add_expr, at tree.c:7925)
PR c++/70906
	PR c++/70933
	* tree-core.h (enum operand_equal_flag): Add OEP_HASH_CHECK.
	* tree.c (inchash::add_expr): If !IS_EXPR_CODE_CLASS (tclass),
	assert flags & OEP_HASH_CHECK, instead of asserting it
	never happens.  Handle TARGET_EXPR.
	* fold-const.c (operand_equal_p): For hash verification,
	or in OEP_HASH_CHECK into flags.

	* g++.dg/opt/pr70906.C: New test.
	* g++.dg/opt/pr70933.C: New test.

From-SVN: r235902
2016-05-04 22:44:40 +02:00
Eric Botcazou
e4ea422a00 tree-ssa-coalesce.c (gimple_can_coalesce_p): Fix reference in head comment.
* tree-ssa-coalesce.c (gimple_can_coalesce_p): Fix reference in head
	comment.
	(compute_samebase_partition_bases): Fix typo.

From-SVN: r235900
2016-05-04 20:22:42 +00:00
Jakub Jelinek
627add0882 sse.md (vec_interleave_highv8sf, [...]): Remove constraints from expanders.
* config/i386/sse.md (vec_interleave_highv8sf,
	vec_interleave_lowv8sf, vec_interleave_highv4df,
	vec_interleave_lowv4df): Remove constraints from expanders.

From-SVN: r235898
2016-05-04 21:56:20 +02:00
Samuel Thibault
2a746f231d s-osinte-gnu.ads (Get_Page_Size): Return int and use getpagesize instead of __getpagesize.
* s-osinte-gnu.ads (Get_Page_Size): Return int and use getpagesize
	instead of __getpagesize.

From-SVN: r235896
2016-05-04 19:14:05 +00:00
Jakub Jelinek
33fd7785cf sse.md (sse2_movq128): Use v constraint instead of x.
* config/i386/sse.md (sse2_movq128): Use v constraint instead of x.

	* gcc.target/i386/avx512vl-vmovq-1.c: New test.

From-SVN: r235893
2016-05-04 19:02:57 +02:00
Jan Hubicka
693a9117d0 tree-inline.c (expand_call_inline): Fix path dealing with making lhs of call statement undefined.
* tree-inline.c (expand_call_inline): Fix path dealing with
	making lhs of call statement undefined.

From-SVN: r235889
2016-05-04 16:42:12 +00:00
Jan Hubicka
6b715bf6d9 cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): Check availability on NODE, too.
* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
	Check availability on NODE, too.
	* cgraph.h (symtab_node::call_for_symbol_and_aliases): Likewise.
	(cgraph_node::call_for_symbol_and_aliases): Likewise.
	(varpool_node::call_for_symbol_and_aliase): Likewise.
	* ipa-pure-const.c (add_new_function): Analyze all bodies.
	(propagate_pure_const): Propagate across interposable functions, too.
	(skip_function_for_local_pure_const): Do not skip interposable bodies
	with aliases.
	(pass_local_pure_const::execute): Update.

	* gcc.dg/ipa/pure-const-3.c: New testcase.

From-SVN: r235887
2016-05-04 16:36:51 +00:00
Marek Polacek
deef711327 c.opt (Wdangling-else): New option.
* c.opt (Wdangling-else): New option.

	* c-parser.c (c_parser_if_statement): Replace OPT_Wparentheses with
	OPT_Wdangling_else.

	* parser.c (cp_parser_selection_statement): Replace OPT_Wparentheses
	with OPT_Wdangling_else.

	* doc/invoke.texi: Document -Wdangling-else.

	* c-c++-common/Wdangling-else-1.c: New test.
	* c-c++-common/Wdangling-else-2.c: New test.
	* c-c++-common/Wdangling-else-3.c: New test.

From-SVN: r235885
2016-05-04 16:00:33 +00:00
Kwok Cheung Yeung
5396db971e mips16-attributes.c: Skip if -mmicromips flag is present.
2016-05-04  Kwok Cheung Yeung  <kcy@codesourcery.com>

	* gcc.target/mips/mips16-attributes.c: Skip if -mmicromips
	flag is present.

From-SVN: r235881
2016-05-04 10:56:19 -04:00
Marek Polacek
de55efd5a2 re PR c/48778 (gcc 4.6 -Waddress adds unhelpful new warning case when using from a macro)
PR c/48778
	* c-typeck.c (build_binary_op): Don't issue -Waddress warnings
	for macro expansions.

	* gcc.dg/Waddress-2.c: New test.

From-SVN: r235878
2016-05-04 13:46:15 +00:00
Thomas Preud'homme
ec6be46228 config.gcc: Error out when conflicting multilib is detected.
2016-05-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config.gcc: Error out when conflicting multilib is detected.  Do not
    loop over multilibs since no combination is legal.

From-SVN: r235877
2016-05-04 13:33:58 +00:00
Alan Modra
24f77f59d1 [RS6000] Correct PIC_OFFSET_TABLE_REGNUM
Leaving this as r30 results in pic_offset_table_rtx of (reg 30)
for -m64, which is completely bogus.  Various rtl analysis predicate
functions treat pic_offset_table_rtx specially..

	* config/rs6000/rs6000.h (PIC_OFFSET_TABLE_REGNUM): Correct.

From-SVN: r235876
2016-05-04 22:53:58 +09:30
Alan Modra
967245d1f6 [RS6000] Simplify sysv4.h TARGET_TOC
We can use the TARGET_* defines here.  There isn't any reason to use
the underlying variable and masks.  Also, TARGET_RELOCATABLE implies
TARGET_MINIMAL_TOC, so there is no need to test TARGET_RELOCATABLE.

	* config/rs6000/sysv4.h (TARGET_TOC): Simplify.

From-SVN: r235875
2016-05-04 22:51:01 +09:30
Alan Modra
d577ba8964 [RS6000] Align .toc section
Lack of any .toc section alignment causes kexec and kdump failure
when linking without the usual linker script.  This of course is
really a kexec-tools error, but it is also true that .toc ought to
always be word aligned.

	* config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op):
	Align .toc.

From-SVN: r235874
2016-05-04 22:47:51 +09:30
Matthew Fortune
a793339b73 Update MIPS P5600 processor definition to avoid IMADD
gcc/

	* config/mips/mips-cpus.def (p5600): Avoid IMADD by default.
	Clean up p5600 comments.

From-SVN: r235873
2016-05-04 12:59:28 +00:00
Richard Biener
d3e40b7647 match.pd: Add BIT_FIELD_REF canonicalizations and vector constructor simplifications.
2016-05-04  Richard Biener  <rguenther@suse.de>

	* match.pd: Add BIT_FIELD_REF canonicalizations and vector
	constructor simplifications.
	* fold-const.c (fold_ternary_loc): Remove duplicate functionality
	here.

From-SVN: r235871
2016-05-04 12:37:56 +00:00
Ilya Verbin
2e01cda69d backport: Makefile.am: Merge from upstream...
Merge libcilkrts from upstream.

libcilkrts/
	* Makefile.am: Merge from upstream, version 2.0.4420.0
	<https://bitbucket.org/intelcilkruntime/intel-cilk-runtime.git>.
	* README: Likewise.
	* configure.ac: Likewise.
	* configure.tgt: Likewise.
	* include/cilk/cilk.h: Likewise.
	* include/cilk/cilk_api.h: Likewise.
	* include/cilk/cilk_api_linux.h: Likewise.
	* include/cilk/cilk_stub.h: Likewise.
	* include/cilk/cilk_undocumented.h: Likewise.
	* include/cilk/common.h: Likewise.
	* include/cilk/holder.h: Likewise.
	* include/cilk/hyperobject_base.h: Likewise.
	* include/cilk/metaprogramming.h: Likewise.
	* include/cilk/reducer.h: Likewise.
	* include/cilk/reducer_file.h: Likewise.
	* include/cilk/reducer_list.h: Likewise.
	* include/cilk/reducer_max.h: Likewise.
	* include/cilk/reducer_min.h: Likewise.
	* include/cilk/reducer_min_max.h: Likewise.
	* include/cilk/reducer_opadd.h: Likewise.
	* include/cilk/reducer_opand.h: Likewise.
	* include/cilk/reducer_opmul.h: Likewise.
	* include/cilk/reducer_opor.h: Likewise.
	* include/cilk/reducer_opxor.h: Likewise.
	* include/cilk/reducer_ostream.h: Likewise.
	* include/cilk/reducer_string.h: Likewise.
	* include/cilktools/cilkscreen.h: Likewise.
	* include/cilktools/cilkview.h: Likewise.
	* include/cilktools/fake_mutex.h: Likewise.
	* include/cilktools/lock_guard.h: Likewise.
	* include/internal/abi.h: Likewise.
	* include/internal/cilk_fake.h: Likewise.
	* include/internal/cilk_version.h: Likewise.
	* include/internal/metacall.h: Likewise.
	* include/internal/rev.mk: Likewise.
	* mk/cilk-version.mk: Likewise.
	* runtime/acknowledgements.dox: Likewise.
	* runtime/bug.cpp: Likewise.
	* runtime/bug.h: Likewise.
	* runtime/c_reducers.c: Likewise.
	* runtime/cilk-abi-cilk-for.cpp: Likewise.
	* runtime/cilk-abi-vla-internal.c: Likewise.
	* runtime/cilk-abi-vla-internal.h: Likewise.
	* runtime/cilk-abi.c: Likewise.
	* runtime/cilk-ittnotify.h: Likewise.
	* runtime/cilk-tbb-interop.h: Likewise.
	* runtime/cilk_api.c: Likewise.
	* runtime/cilk_fiber-unix.cpp: Likewise.
	* runtime/cilk_fiber-unix.h: Likewise.
	* runtime/cilk_fiber.cpp: Likewise.
	* runtime/cilk_fiber.h: Likewise.
	* runtime/cilk_malloc.c: Likewise.
	* runtime/cilk_malloc.h: Likewise.
	* runtime/component.h: Likewise.
	* runtime/config/generic/cilk-abi-vla.c: Likewise.
	* runtime/config/generic/os-fence.h: Likewise.
	* runtime/config/generic/os-unix-sysdep.c: Likewise.
	* runtime/config/x86/cilk-abi-vla.c: Likewise.
	* runtime/config/x86/os-fence.h: Likewise.
	* runtime/config/x86/os-unix-sysdep.c: Likewise.
	* runtime/doxygen-layout.xml: Likewise.
	* runtime/doxygen.cfg: Likewise.
	* runtime/except-gcc.cpp: Likewise.
	* runtime/except-gcc.h: Likewise.
	* runtime/except.h: Likewise.
	* runtime/frame_malloc.c: Likewise.
	* runtime/frame_malloc.h: Likewise.
	* runtime/full_frame.c: Likewise.
	* runtime/full_frame.h: Likewise.
	* runtime/global_state.cpp: Likewise.
	* runtime/global_state.h: Likewise.
	* runtime/jmpbuf.c: Likewise.
	* runtime/jmpbuf.h: Likewise.
	* runtime/linux-symbols.ver: Likewise.
	* runtime/local_state.c: Likewise.
	* runtime/local_state.h: Likewise.
	* runtime/mac-symbols.txt: Likewise.
	* runtime/metacall_impl.c: Likewise.
	* runtime/metacall_impl.h: Likewise.
	* runtime/os-unix.c: Likewise.
	* runtime/os.h: Likewise.
	* runtime/os_mutex-unix.c: Likewise.
	* runtime/os_mutex.h: Likewise.
	* runtime/pedigrees.c: Likewise.
	* runtime/pedigrees.h: Likewise.
	* runtime/record-replay.cpp: Likewise.
	* runtime/record-replay.h: Likewise.
	* runtime/reducer_impl.cpp: Likewise.
	* runtime/reducer_impl.h: Likewise.
	* runtime/rts-common.h: Likewise.
	* runtime/scheduler.c: Likewise.
	* runtime/scheduler.h: Likewise.
	* runtime/signal_node.c: Likewise.
	* runtime/signal_node.h: Likewise.
	* runtime/spin_mutex.c: Likewise.
	* runtime/spin_mutex.h: Likewise.
	* runtime/stats.c: Likewise.
	* runtime/stats.h: Likewise.
	* runtime/sysdep-unix.c: Likewise.
	* runtime/sysdep.h: Likewise.
	* runtime/worker_mutex.c: Likewise.
	* runtime/worker_mutex.h: Likewise.
	* include/cilk/reducer_vector.h: New.
	* runtime/cilk_str_mem.h: New.
	* runtime/config/arm/cilk-abi-vla.c: New.
	* runtime/config/arm/os-fence.h: New.
	* runtime/config/arm/os-unix-sysdep.c: New.
	* runtime/declare-alloca.h: New.
	* runtime/sslib/ignore_handler_s.c: New.
	* runtime/sslib/safe_lib.h: New.
	* runtime/sslib/safe_lib_errno.h: New.
	* runtime/sslib/safe_str_constraint.c: New.
	* runtime/sslib/safe_str_constraint.h: New.
	* runtime/sslib/safe_str_lib.h: New.
	* runtime/sslib/safe_types.h: New.
	* runtime/sslib/safeclib_private.h: New.
	* runtime/sslib/snprintf_s.h: New.
	* runtime/sslib/snprintf_support.c: New.
	* runtime/sslib/strcpy_s.c: New.
	* runtime/sslib/strncpy_s.c: New.
	* runtime/sslib/strnlen_s.c: New.
	* runtime/symbol_test.c: Remove.
	* Makefile.in: Regenerate.
	* configure: Regenerate.

From-SVN: r235870
2016-05-04 12:29:14 +00:00
Jonathan Wakely
d9cb3e7598 libstdc++/70940 Start fixing polymorphic memory resources
PR libstdc++/70940
	* include/experimental/memory_resource
	(__resource_adaptor_imp::do_allocate): Do not default-construct
	rebound allocator.
	(__resource_adaptor_imp::do_deallocate): Likewise. Use
	allocator_traits to get pointer type.
	(__null_memory_resource::do_allocate): Remove unused parameters.
	(__null_memory_resource::do_deallocate): Likewise.
	(__null_memory_resource::do_is_equal): Likewise. Add return statement.
	* testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
	* testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
	move to ...
	* testsuite/experimental/memory_resource/1.cc: Here.
	* testsuite/experimental/memory_resource/null_memory_resource.cc: New.
	* testsuite/experimental/memory_resource/resource_adaptor.cc: New.

From-SVN: r235868
2016-05-04 13:08:45 +01:00
Oleg Endo
da5b1ec120 predicates (post_inc_mem, [...]): New predicates.
gcc/
	* config/sh/predicates (post_inc_mem, pre_dec_mem): New predicates.
	* config/sh/sh-protos.h (sh_find_set_of_reg): Return null result if
	result.set_rtx is null instead of aborting.
	* config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT):
	Always enable.
	(USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT): Enable for SH2A.
	* config/sh/sh.md (*extend<mode>si2_predec, *mov<mode>_load_predec,
	*mov<mode>_store_postinc): New patterns.

From-SVN: r235859
2016-05-04 07:14:11 +00:00
Marc Glisse
e07ab2feaf Remove duplicate (A & B) OP (C & B) in match.pd.
2016-05-04  Marc Glisse  <marc.glisse@inria.fr>

	* match.pd ((A | B) & (A | C)): Generalize to BIT_XOR_EXPR.  Mark
	as commutative.  Check both conversions are NOP.
	((A & B) OP (C & B)): Remove.

From-SVN: r235858
2016-05-04 05:38:18 +00:00