Commit Graph

146170 Commits

Author SHA1 Message Date
Bill Seurer 9cad20fa66 This patch changes some of the dejagnu options to better restrict where the...
This patch changes some of the dejagnu options to better restrict
where the test cases run so that they will no longer cause failures on
power7 machines.

Based on a subsequent patch I also updated the code formatting (indentation,
etc.) for the code from the original patch (r235577) in both the test cases
and in rs6000-c.c.

[gcc]

2016-05-20  Bill Seurer  <seurer@linux.vnet.ibm.com>

	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Fix
	code formatting in ALTIVEC_BUILTIN_VEC_ADDE section.

[gcc/testsuite]

2016-05-20  Bill Seurer  <seurer@linux.vnet.ibm.com>

	* gcc.target/powerpc/vec-adde.c: Change dejagnu options, fix code
	formatting.
	* gcc.target/powerpc/vec-adde-int128.c: Change dejagnu options, fix code
	formatting.

From-SVN: r236537
2016-05-20 20:31:52 +00:00
Nathan Sidwell ae578943c0 nptx.c (nvptx_option_override): Only set flag_toplevel_reorder, if not explicitly specified.
* config/nvptx/nptx.c (nvptx_option_override): Only set
	flag_toplevel_reorder, if not explicitly specified.  Set
	flag_no_common, unless explicitly specified.

	testsuite/
	* gcc.target/nvptx/uninit-decl.c: Force common storage,  add
	non-common cases.
	* gcc.dg/tree-ssa/ssa-store-ccp-2.c: Add -fcommon.

From-SVN: r236532
2016-05-20 19:52:50 +00:00
David Malcolm 15c671a79c jit: implement gcc_jit_rvalue_set_bool_require_tail_call
This implements the libgccjit support for must-tail-call via
a new:
  gcc_jit_rvalue_set_bool_require_tail_call
API entrypoint.

(I didn't implement a wrapper for this within the C++ bindings)

gcc/jit/ChangeLog:
	* docs/topics/compatibility.rst: Add LIBGCCJIT_ABI_6.
	* docs/topics/expressions.rst (Function calls): Add documentation
	of gcc_jit_rvalue_set_bool_require_tail_call.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.
	* jit-common.h (gcc::jit::recording::base_call): Add forward decl.
	* jit-playback.c: Within namespace gcc::jit::playback...
	(context::build_call) Add "require_tail_call" param and use it
	to set CALL_EXPR_MUST_TAIL_CALL.
	(context::new_call): Add "require_tail_call" param.
	(context::new_call_through_ptr): Likewise.
	* jit-playback.h: Within namespace gcc::jit::playback...
	(context::new_call: Add "require_tail_call" param.
	(context::new_call_through_ptr): Likewise.
	(context::build_call): Likewise.
	* jit-recording.c: Within namespace gcc::jit::recording...
	(base_call::base_call): New constructor.
	(base_call::write_reproducer_tail_call): New method.
	(call::call): Update for inheritance from base_call.
	(call::replay_into): Provide m_require_tail_call to call
	to new_call.
	(call::write_reproducer): Call write_reproducer_tail_call.
	(call_through_ptr::call_through_ptr): Update for inheritance from
	base_call.
	(call_through_ptr::replay_into): Provide m_require_tail_call to call
	to new_call_through_ptr.
	(recording::call_through_ptr::write_reproducer): Call
	write_reproducer_tail_call.
	* jit-recording.h: Within namespace gcc::jit::recording...
	(rvalue::dyn_cast_base_call): New virtual function.
	(class base_call): New subclass of class rvalue.
	(class call): Inherit from base_call rather than directly from
	rvalue, moving get_precedence and m_args to base_call.
	(class call_through_ptr): Likewise.
	* libgccjit.c (gcc_jit_rvalue_set_bool_require_tail_call): New
	function.
	* libgccjit.h
	(LIBGCCJIT_HAVE_gcc_jit_rvalue_set_bool_require_tail_call): New
	macro.
	(gcc_jit_rvalue_set_bool_require_tail_call): New function.
	* libgccjit.map (LIBGCCJIT_ABI_6): New.
	(gcc_jit_rvalue_set_bool_require_tail_call): Add.

gcc/testsuite/ChangeLog:
	* jit.dg/all-non-failing-tests.h: Add
	test-factorial-must-tail-call.c.
	* jit.dg/test-error-impossible-must-tail-call.c: New test case.
	* jit.dg/test-factorial-must-tail-call.c: New test case.

From-SVN: r236531
2016-05-20 19:12:49 +00:00
David Malcolm dfbdde160f calls.c: fix warning on targets without REG_PARM_STACK_SPACE
gcc/ChangeLog:
	* calls.c (can_implement_as_sibling_call_p): Mark param
	reg_parm_stack_space with ATTRIBUTE_UNUSED.

From-SVN: r236527
2016-05-20 18:52:56 +00:00
Jakub Jelinek 4f028369d0 re PR fortran/71204 (ICE with -O0 in expand_expr_real_1, at expr.c:9651)
PR fortran/71204
	* frontend-passes.c (realloc_string_callback): Clear inserted_block
	and changed_statement before calling create_var.

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

From-SVN: r236525
2016-05-20 20:49:24 +02:00
Uros Bizjak 78520f3ff1 i386.c (ix86_rtx_costs): Use IS_STACK_MODE when calculating cost of standard 80387 constants.
* gcc/config/i386/i386.c (ix86_rtx_costs) <case CONST_DOUBLE>:
	Use IS_STACK_MODE when calculating cost of standard 80387 constants.
	Fallthru to CONST_VECTOR case to calculate cost of standard SSE
	constants.
	<case CONST_WIDE_INT>: Calculate cost of (MEM (SYMBOL_REF)).
	(ix86_legitimate_constant_p): Use CASE_CONST_SCALAR_INT
	and CASE_CONST_ANY.

From-SVN: r236524
2016-05-20 19:44:29 +02:00
Cesar Philippidis 7dea4ab37d nvptx.md (sincossf3): New pattern.
gcc/
	* config/nvptx/nvptx.md (sincossf3): New pattern.

	gcc/testsuite/
	* gcc.target/nvptx/sincos.c: New test.

From-SVN: r236523
2016-05-20 10:33:44 -07:00
Paolo Carlini ef98d365ad re PR c++/70572 (ICE on code with decltype (auto) in digest_init_r, at cp/typeck2.c:1103 with -std=c++14)
/cp
2016-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/70572
	* decl.c (cp_finish_decl): Check do_auto_deduction return value
	and return immediately in case of erroneous code.

/testsuite
2016-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/70572
	* g++.dg/cpp1y/auto-fn31.C: New.

From-SVN: r236522
2016-05-20 16:24:58 +00:00
H.J. Lu ce3a16ff1f Add -mgeneral-regs-only option
X86 Linux kernel is compiled only with integer instructions.  Currently,

-mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-80387
-mno-fp-ret-in-387  -mskip-rax-setup

is used to compile kernel.  If we add another non-integer feature, it
has to be turned off.  We can add a -mgeneral-regs-only option, similar
to AArch64, to disable all non-integer features so that kernel doesn't
need a long list and the same option will work for future compilers.
It can also be used to compile interrupt handler.

gcc/

	PR target/70738
	* common/config/i386/i386-common.c
	(OPTION_MASK_ISA_GENERAL_REGS_ONLY_UNSET): New.
	(ix86_handle_option): Disable MPX, MMX, SSE and x87 instructions
	for -mgeneral-regs-only.
	* config/i386/i386.c (ix86_option_override_internal): Don't
	enable x87 instructions if only the general registers are
	allowed.
	* config/i386/i386.opt: Add -mgeneral-regs-only.
	* doc/invoke.texi: Document -mgeneral-regs-only.

gcc/testsuite/

	PR target/70738
	* gcc.target/i386/pr70738-1.c: Likewise.
	* gcc.target/i386/pr70738-2.c: Likewise.
	* gcc.target/i386/pr70738-3.c: Likewise.
	* gcc.target/i386/pr70738-4.c: Likewise.
	* gcc.target/i386/pr70738-5.c: Likewise.
	* gcc.target/i386/pr70738-6.c: Likewise.
	* gcc.target/i386/pr70738-7.c: Likewise.
	* gcc.target/i386/pr70738-8.c: Likewise.
	* gcc.target/i386/pr70738-9.c: Likewise.

From-SVN: r236520
2016-05-20 09:06:39 -07:00
Bill Seurer 9246611576 This patch adds support for the signed and unsigned int versions of the...
This patch adds support for the signed and unsigned int versions of the
vec_addec altivec builtins from the Power Architecture 64-Bit ELF V2 ABI
OpenPOWER ABI for Linux Supplement (16 July 2015 Version 1.1). There are
many of the builtins that are missing and this is part of a series
of patches to add them.

There aren't instructions for the int versions of vec_addec so the
output code is built from other built-ins that do have instructions
which in this case is the following.

vec_addec (va, vb, carryv) == vec_or (vec_addc (va, vb),
				vec_addc(vec_add(va, vb),
					 vec_and (carryv, 0x1)))

The new test cases are executable tests which verify that the generated
code produces expected values. C macros were used so that the same
test case could be used for both the signed and unsigned versions. An
extra executable test case is also included to ensure that the modified
support for the __int128 versions of vec_addec is not broken. The same
test case could not be used for both int and __int128 because of some
differences in loading and storing the vectors.

Bootstrapped and tested on powerpc64le-unknown-linux-gnu and
powerpc64-unknown-linux-gnu with no regressions. Is this ok for trunk?

[gcc]

2016-05-20  Bill Seurer  <seurer@linux.vnet.ibm.com>

	* config/rs6000/rs6000-builtin.def (vec_addec): Change vec_addec to a
	special case builtin.
	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
	support for ALTIVEC_BUILTIN_VEC_ADDEC.
	* config/rs6000/rs6000.c (altivec_init_builtins): Add definition
	for __builtin_vec_addec.

[gcc/testsuite]

2016-05-20  Bill Seurer  <seurer@linux.vnet.ibm.com>

	* gcc.target/powerpc/vec-addec.c: New test.
	* gcc.target/powerpc/vec-addec-int128.c: New test.

From-SVN: r236515
2016-05-20 15:25:04 +00:00
David Malcolm 9a385c2d3d Implement CALL_EXPR_MUST_TAIL_CALL
This patch implements support for marking CALL_EXPRs
as being mandatory for tail-call-optimization. expand_call
tries harder to perform the optimization on such CALL_EXPRs,
and issues an error if it fails.

Currently this flag isn't accessible from any frontend,
so the patch uses a plugin for testing the functionality.

gcc/ChangeLog:
	* calls.c (maybe_complain_about_tail_call): New function.
	(initialize_argument_information): Call
	maybe_complain_about_tail_call when clearing *may_tailcall.
	(can_implement_as_sibling_call_p): Call
	maybe_complain_about_tail_call when returning false.
	(expand_call): Read CALL_EXPR_MUST_TAIL_CALL and, if set,
	ensure try_tail_call is set.  Call maybe_complain_about_tail_call
	if tail-call optimization fails.
	* cfgexpand.c (expand_call_stmt): Initialize
	CALL_EXPR_MUST_TAIL_CALL from gimple_call_must_tail_p.
	* gimple-pretty-print.c (dump_gimple_call): Dump
	gimple_call_must_tail_p.
	* gimple.c (gimple_build_call_from_tree): Call
	gimple_call_set_must_tail with the value of
	CALL_EXPR_MUST_TAIL_CALL.
	* gimple.h (enum gf_mask): Add GF_CALL_MUST_TAIL_CALL.
	(gimple_call_set_must_tail): New function.
	(gimple_call_must_tail_p): New function.
	* print-tree.c (print_node): Update printing of TREE_STATIC
	to reflect its use for CALL_EXPR_MUST_TAIL_CALL.
	* tree-core.h (struct tree_base): Add MUST_TAIL_CALL to the
	trailing comment listing applicable flags.
	* tree.h (CALL_EXPR_MUST_TAIL_CALL): New macro.

gcc/testsuite/ChangeLog:
	* gcc.dg/plugin/must-tail-call-1.c: New test case.
	* gcc.dg/plugin/must-tail-call-2.c: New test case.
	* gcc.dg/plugin/must_tail_call_plugin.c: New file.
	* gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above.

From-SVN: r236514
2016-05-20 14:20:03 +00:00
David Malcolm b40d90e6c5 Introduce can_implement_as_sibling_call_p
gcc/ChangeLog:
	* calls.c (expand_call): Move "Rest of purposes for tail call
	optimizations to fail" to...
	(can_implement_as_sibling_call_p): ...this new function, and
	split into multiple "if" statements.

From-SVN: r236513
2016-05-20 14:07:56 +00:00
Jan Hubicka 97c53806a2 cfgloop.h (expected_loop_iterations_unbounded, [...]): Unconstify.
* cfgloop.h (expected_loop_iterations_unbounded,
	expected_loop_iterations): Unconstify.
	* cfgloopanal.c (expected_loop_iterations_unbounded): Sanity check the
	profile with known upper bound; return 3 when profile is absent.
	(expected_loop_iterations): Update.

From-SVN: r236511
2016-05-20 13:19:59 +00:00
Jan Hubicka 216e83748d loop-doloop.c (doloop_optimize): Use get_estimated_loop_iterations_int and get_max_loop_iterations_int.
* loop-doloop.c (doloop_optimize): Use get_estimated_loop_iterations_int
	and get_max_loop_iterations_int.

From-SVN: r236509
2016-05-20 12:59:08 +00:00
Jan Hubicka 77c9d5b4e6 prefetch-5.c: xfail.
* gcc.dg/tree-ssa/prefetch-5.c: xfail.
	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can not produce
	realistic upper bounds here.

From-SVN: r236508
2016-05-20 12:41:45 +00:00
Thomas Preud'homme 11f8114b51 re PR libstdc++/71081 (experimental/memory_resource/1.cc run for targets without atomics)
2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    PR libstdc++/71081
    * testsuite/experimental/memory_resource/1.cc: Add required argument
    to dg-require-atomic-builtins.

From-SVN: r236507
2016-05-20 12:36:57 +00:00
Jakub Jelinek 1895484016 re PR c++/71210 (internal compiler error: in assign_temp, at function.c:961)
PR c++/71210
	* gimple-fold.c (gimple_fold_call): Do not remove lhs of noreturn
	calls if the LHS is variable length or has addressable type.
	If targets[0]->decl is a noreturn call with void return type and
	zero arguments, adjust fntype and remove lhs in that case.

	* g++.dg/opt/pr71210-1.C: New test.
	* g++.dg/opt/pr71210-2.C: New test.

From-SVN: r236506
2016-05-20 13:58:49 +02:00
Jakub Jelinek 6804797178 re PR target/29756 (SSE intrinsics hard to use without redundant temporaries appearing)
PR tree-optimization/29756
	gcc.dg/tree-ssa/vector-6.c: Add -Wno-psabi -w to dg-options.
	Add -msse2 for x86 and -maltivec for powerpc.  Use scan-tree-dump-times
	only on selected targets where V4SImode vectors are known to be
	supported.

From-SVN: r236505
2016-05-20 13:55:58 +02:00
Marc Glisse d78789f516 PR71206: inconsistent types after match.pd transformation
2016-05-20  Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/71079
	PR tree-optimization/71206
gcc/
	* match.pd ((X ^ Y) ^ (X ^ Z)): Convert the arguments.

gcc/testsuite/
	* gcc.dg/tree-ssa/pr71206.c: New testcase.

From-SVN: r236504
2016-05-20 09:44:50 +00:00
Prathamesh Kulkarni 5b17a01caa Add test-cases mentioned in r236502.
From-SVN: r236503
2016-05-20 09:39:32 +00:00
Prathamesh Kulkarni 550fa09318 tree-vectorizer.c (get_vec_alignment_for_decl): New static function.
2016-05-20  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* tree-vectorizer.c (get_vec_alignment_for_decl): New static function.
	(get_vec_alignment_for_array_decl): Likewise.
	(get_vec_alignment_for_record_decl): Likewise.
	(increase_alignment::execute): Move code to find alignment to
	get_vec_alignment_for_array_decl and call get_vec_alignment_for_decl.
	(type_align_map): New hash_map.

testsuite/
	* gcc.dg/vect/section-anchors-vect-70.c: New test-case.
	* gcc.dg/vect/section-anchors-vect-71.c: Likewise.
	* gcc.dg/vect/section-anchors-vect-72.c: Likewise.

From-SVN: r236502
2016-05-20 09:35:46 +00:00
Richard Guenther 483c642948 re PR target/29756 (SSE intrinsics hard to use without redundant temporaries appearing)
2016-05-20  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/29756
	* tree.def (BIT_INSERT_EXPR): New tcc_expression tree code.
	* expr.c (expand_expr_real_2): Handle BIT_INSERT_EXPR.
	* fold-const.c (operand_equal_p): Likewise.
	(fold_ternary_loc): Add constant folding of BIT_INSERT_EXPR.
	* gimplify.c (gimplify_expr): Handle BIT_INSERT_EXPR.
	* tree-inline.c (estimate_operator_cost): Likewise.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	* tree-ssa-operands.c (get_expr_operands): Likewise.
	* cfgexpand.c (expand_debug_expr): Likewise.
	* gimple-pretty-print.c (dump_ternary_rhs): Likewise.
	* gimple.c (get_gimple_rhs_num_ops): Handle BIT_INSERT_EXPR.
	* tree-cfg.c (verify_gimple_assign_ternary): Verify BIT_INSERT_EXPR.

	* tree-ssa.c (non_rewritable_lvalue_p): We can rewrite
	vector inserts using BIT_FIELD_REF or MEM_REF on the lhs.
	(execute_update_addresses_taken): Do it.

	* gcc.dg/tree-ssa/vector-6.c: New testcase.

From-SVN: r236501
2016-05-20 09:17:16 +00:00
Richard Biener eb066284cb re PR target/71185 (ice in gimplify_modify_expr, at gimplify.c:4873)
2016-05-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71185
	* tree-ssa-loop-prefetch.c (gather_memory_references): Drop
	register operations.

	* gcc.dg/tree-ssa/pr71185.c: New testcase.

From-SVN: r236499
2016-05-20 09:09:28 +00:00
Richard Biener 58f10249a8 tree-if-conv.c (add_bb_predicate_gimplified_stmts): Use gimple_seq_add_seq_without_update.
2016-05-20  Richard Biener  <rguenther@suse.de>

	* tree-if-conv.c (add_bb_predicate_gimplified_stmts): Use
	gimple_seq_add_seq_without_update.
	(release_bb_predicate): Assert we have no operands to free.
	(if_convertible_loop_p_1): Calculate post dominators later.
	Do not free BB predicates here.
	(combine_blocks): Do not recompute BB predicates.
	(version_loop_for_if_conversion): Save BB predicates around
	loop versioning.

	* gcc.dg/tree-ssa/ifc-cd.c: Adjust.

From-SVN: r236498
2016-05-20 09:01:23 +00:00
Martin Liska ceb17928e5 Change ENABLE_VALGRIND_CHECKING to
* config.in: Regenerated.
	* configure: Likewise.
	* configure.ac: Handle --enable-valgrind-annotations.
	* lex.c (new_buff): Use ENABLE_VALGRIND_ANNOTATIONS instead
	of ENABLE_VALGRIND_CHECKING.
	(_cpp_free_buff): Likewise.

From-SVN: r236496
2016-05-20 08:03:25 +00:00
GCC Administrator 2fe676f6df Daily bump.
From-SVN: r236495
2016-05-20 00:16:24 +00:00
Segher Boessenkool 33fec8d5b3 function: Restructure *logue insertion
This patch restructures how the prologues/epilogues are inserted.  Sibcalls
that run without prologue are now handled in shrink-wrap.c; it communicates
what is already handled by setting the EDGE_IGNORE flag.  The
try_shrink_wrapping function then doesn't need to be passed the bb_flags
anymore.


	* function.c (make_epilogue_seq): Remove epilogue_end parameter.
	(thread_prologue_and_epilogue_insns): Remove bb_flags.  Restructure
	code.  Ignore sibcalls on EDGE_IGNORE edges.
	* shrink-wrap.c (handle_simple_exit): New function.  Set EDGE_IGNORE
	on edges for sibcalls that run without prologue.  The rest of the
	function is combined from...
	(fix_fake_fallthrough_edge): ... this, and ...
	(try_shrink_wrapping): ... a part of this.  Remove the bb_with
	function argument, make it a local variable.

From-SVN: r236491
2016-05-20 00:17:53 +02:00
Sandra Loosemore 6befaff666 cygming.h (DWARF2_UNWIND_INFO): Allow --disable-sjlj-exceptions for TARGET_BI_ARCH to select DWARF-2 EH for...
2016-05-19  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/i386/cygming.h (DWARF2_UNWIND_INFO): Allow 
	--disable-sjlj-exceptions for TARGET_BI_ARCH to select DWARF-2 EH
	for 32-bit mode and SEH for 64-bit.
	* config/i386/mingw32.h (SHARED_LIBGCC_UNDEFS_SPEC): Handle
	TARGET_64BIT_DEFAULT.

	libgcc/
	* config.host [x86_64-*-cygwin*]: Handle tmake_eh_file for mixed 
	dw2/seh configuration.
	[x86_64-*-mingw*]: Likewise.

From-SVN: r236490
2016-05-19 17:59:45 -04:00
David Malcolm 8a40fef310 PR c/71171: Fix uninitialized source_range in c_parser_postfix_expression
A common way for a c_expr to have an uninitialized src_range is in
error-handling, where the "value" field is set to error_mark_node
without touching the src_range, leading to complaints from valgrind.

This patch introduces a new method c_expr::set_error which sets
the value to error_mark_node whilst initializing the src_range to
UNKNOWN_LOCATION.

This fixes the valgrind issue seen in PR c/71171, along with various
other related issues seen when running the testsuite using the
checker patch I posted here:
  https://gcc.gnu.org/ml/gcc-patches/2015-12/msg00887.html
(this checker still doesn't fully work yet, but it seems to be good
for easily detecting these issues without needing Valgrind).

gcc/c/ChangeLog:
	PR c/71171
	* c-parser.c (c_parser_generic_selection): Use c_expr::set_error
	in error-handling.
	(c_parser_postfix_expression): Likewise.
	* c-tree.h (c_expr::set_error): New method.
	* c-typeck.c (parser_build_binary_op): In error-handling, ensure
	that result's range is initialized.

From-SVN: r236488
2016-05-19 20:29:07 +00:00
Marek Polacek 2a5569fad3 re PR c++/71075 (Broken diagnostic: 'integer_cst' not supported by 'dump_decl')
PR c++/71075
	* pt.c (unify_template_argument_mismatch): Use %qE instead of %qD.

	* g++.dg/diagnostic/pr71075.C: New test.

From-SVN: r236487
2016-05-19 20:23:52 +00:00
Jason Merrill a7dd5069bb Fix handling of non-dependent calls with default template args.
PR c++/10200
	* pt.c (fn_type_unification): Add outer template args if needed.
	(type_unification_real): Handle getting full args.

From-SVN: r236486
2016-05-19 15:20:40 -04:00
David Malcolm 5e9a538594 PR c++/71184: Fix NULL dereference in cp_parser_operator
The source-range handling for the array form of operator
new/delete erroneously assumed that the "]" was present,
leading to a dereference of NULL when it's absent.

Fix it thusly.

gcc/cp/ChangeLog:
	PR c++/71184
	* parser.c (cp_parser_operator): For array new/delete, check that
	cp_parser_require returned a non-NULL token before dereferencing
	it.

gcc/testsuite/ChangeLog:
	PR c++/71184
	* g++.dg/pr71184.C: New test case.

From-SVN: r236483
2016-05-19 18:10:30 +00:00
Ryan Burn 1478c897bf Makefile.in (GTFILES): Add cilk.h and cilk-common.c.
2016-05-16  Ryan Burn  <contact@rnburn.com>

  * Makefile.in (GTFILES): Add cilk.h and cilk-common.c.
  * gengtype.c (open_base_files): Add cilk.h to ifiles.

From-SVN: r236482
2016-05-19 12:03:30 -06:00
Uros Bizjak 3e009bf0e9 sched-deps.c (sched_analyze_2): Also force pending loads from memory.
* sched-deps.c (sched_analyze_2) <case TRAP_IF>: Also
	force pending loads from memory.

From-SVN: r236481
2016-05-19 19:52:56 +02:00
Kelvin Nilsen 4f45da44cd darn-0.c: New test.
gcc/testsuite/ChangeLog:

2016-05-19  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* gcc.target/powerpc/darn-0.c: New test.
	* gcc.target/powerpc/darn-1.c: New test.
	* gcc.target/powerpc/darn-2.c: New test.


gcc/ChangeLog:

2016-05-19  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* config/rs6000/altivec.md (UNSPEC_DARN): New unspec constant.
	(UNSPEC_DARN_32): New unspec constant.
	(UNSPEC_DARN_RAW): New unspec constant.
	(darn_32): New instruction.
	(darn_raw): New instruction.
	(darn): New instruction.
	* config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_0): Add
	support and documentation for this macro.
	(BU_P9_MISC_1): New macro definition.
	(BU_P9_64BIT_MISC_0): New macro definition.
	(BU_P9_MISC_0): New macro definition.
	(darn_32): New builtin definition.
	(darn_raw): New builtin definition.
	(darn): New builtin definition.
	* config/rs6000/rs6000.c: Add #define RS6000_BUILTIN_0 and #undef
	RS6000_BUILTIN_0 directives to surround each occurrence of
	#include "rs6000-builtin.def".
	(rs6000_builtin_mask_calculate): Add in the RS6000_BTM_MODULO and
	RS6000_BTM_64BIT flags to the returned mask, depending on
	configuration.
	(def_builtin): Correct an error in the assignments made to the
	debugging variable attr_string.
	(rs6000_expand_builtin): Add support for no-operand built-in
	functions.
	(builtin_function_type): Remove fatal_error assertion that is no
	longer valid.
	(rs6000_common_init_builtins): Add support for no-operand built-in
	functions.
	* config/rs6000/rs6000.h (RS6000_BTM_MODULO): New macro
	definition.
	(RS6000_BTM_PURE): Enhance comment to clarify intent of this flag
	definition.
	(RS6000_BTM_64BIT): New macro definition.
	* doc/extend.texi: Document __builtin_darn (void),
	__builtin_darn_raw (void), and __builtin_darn_32 (void) built-in
	functions.

From-SVN: r236480
2016-05-19 17:47:40 +00:00
Jan Hubicka cb6b1bdffe tree-vect-loop.c (vect_analyze_loop_2): Use also max_loop_iterations_int.
* tree-vect-loop.c (vect_analyze_loop_2): Use also 
	max_loop_iterations_int.

From-SVN: r236478
2016-05-19 15:50:56 +00:00
Marek Polacek 4177437ead re PR tree-optimization/71031 (ICE in extract_range_from_binary_expr_1, at tree-vrp.c:2535 w/ -Os)
PR tree-optimization/71031
	* tree-vrp.c (extract_range_from_binary_expr_1): Turn assert into a
	condition and adjust the code a bit.

	* gcc.dg/tree-ssa/vrp100.c: New test.

From-SVN: r236477
2016-05-19 15:45:35 +00:00
Martin Liska 00426f9a9e Fix memory leak in tree-vect-stmts.c
* tree-vect-stmts.c (vectorizable_simd_clone_call): Utilize
	auto_vec instead of vec.

From-SVN: r236472
2016-05-19 15:08:02 +00:00
Martin Liska 4089c3402c Fix memory leak in tree-parloops.c
* tree-parloops.c (oacc_entry_exit_ok): Release a vector.

From-SVN: r236471
2016-05-19 15:07:28 +00:00
Martin Liska f6b8cbb70e Fix memory leak in tree-if-conv.c
* tree-if-conv.c (ifcvt_repair_bool_pattern): Utilize auto_vecs.

From-SVN: r236470
2016-05-19 15:06:47 +00:00
Martin Liska 7f153d8202 Fix memory leak in ipa-pure-const
* ipa-pure-const.c (set_function_state): Remove an existing
	funct_state.
	(remove_node_data): Do not free it as it's released
	in set_function_state.

From-SVN: r236469
2016-05-19 15:06:17 +00:00
Martin Liska 6e078af89e Fix memory leak in tree-vect-slp.c
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Release
	bitmap.

From-SVN: r236468
2016-05-19 15:05:53 +00:00
Martin Liska d76815f487 Fix memory leak in omp-simd-clone.c
* omp-simd-clone.c (simd_clone_adjust): Release vector.

From-SVN: r236467
2016-05-19 15:05:26 +00:00
Martin Liska b3e508d7a6 Fix leak in gcc/tree-ssa-reassoc.c.
* tree-ssa-reassoc.c (eliminate_duplicate_pair): Truncate
	an auto_vec instead of re-creating it.

From-SVN: r236466
2016-05-19 15:05:07 +00:00
Martin Liska 843374f270 Fix leak in tree-ssa-loop-prefetch.c
* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Use
	auto_vec instead of vec.

From-SVN: r236465
2016-05-19 15:04:42 +00:00
Martin Liska b898d037f3 LTO: display file name if LTO version check fails
* lto-section-in.c (lto_get_section_data): Call
	lto_check_version with additional argument.
	* lto-streamer.c (lto_check_version): Add new argument.
	* lto-streamer.h (lto_check_version): Likewise.

From-SVN: r236464
2016-05-19 15:02:30 +00:00
Kyrylo Tkachov f65970cfd0 [ARM] Fix costing of sign-extending load in rtx costs
* config/arm/arm.c (arm_new_rtx_costs, SIGN_EXTEND case):
	Don't add cost of inner memory when handling sign-extended
	loads.

From-SVN: r236461
2016-05-19 13:54:31 +00:00
Ilya Enkovich afb7243286 cse.c (cse_main): Free dominance info.
gcc/

	* cse.c (cse_main): Free dominance info.
	(rest_of_handle_cse): Don't free dominance info.
	(rest_of_handle_cse2): Likewise.
	(rest_of_handle_cse_after_global_opts): Likewise.

gcc/testsuite/

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

From-SVN: r236460
2016-05-19 13:50:22 +00:00
Kyrylo Tkachov 4f83064e3b [ARM] PR target/71056: Don't use vectorized builtins when NEON is not available
PR target/71056
	* config/arm/arm-builtins.c (arm_builtin_vectorized_function): Return
	NULL_TREE early if NEON is not available.  Remove now redundant check
	in ARM_CHECK_BUILTIN_MODE.

	* gcc.target/arm/pr71056.c: New test.

From-SVN: r236459
2016-05-19 13:43:58 +00:00
Bernd Edlinger 4bf8dbe16a decl.c (finish_enum_value_list): Use the specified mode.
2016-05-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * decl.c (finish_enum_value_list): Use the specified mode.

testsuite:
2016-05-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-c++-common/pr69669.c: Check the used mode.

From-SVN: r236458
2016-05-19 12:27:31 +00:00