Commit Graph

143936 Commits

Author SHA1 Message Date
Iain Buclaw
13617162e3 d-demangle.c (dlang_call_convention): Handle extern Objective-C function calling convention.
libiberty/ChangeLog:

2016-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-demangle.c (dlang_call_convention): Handle extern Objective-C
	function calling convention.
	(dlang_call_convention_p): Likewise.
	(dlang_type): Likewise.
	* testsuite/d-demangle-expected: Add coverage tests.

From-SVN: r232864
2016-01-27 01:07:26 +00:00
Iain Buclaw
acf1f7da96 d-demangle.c (dlang_function_args): Append ',' for variadic functions only if parameters were seen before the...
libiberty/ChangeLog:

2016-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-demangle.c (dlang_function_args): Append ',' for variadic functions
	only if parameters were seen before the elipsis symbol.
	* testsuite/d-demangle-expected: Add coverage test for parameter-less
	variadic functions.

From-SVN: r232863
2016-01-27 01:07:17 +00:00
Iain Buclaw
0f4b8b316f d-demangle.c (dlang_type): Handle function types only in the context of seeing a pointer type symbol.
libiberty/ChangeLog:

2016-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-demangle.c (dlang_type): Handle function types only in the context
	of seeing a pointer type symbol.
	* testsuite/d-demangle-expected: Update function pointer tests.

From-SVN: r232862
2016-01-27 01:07:08 +00:00
GCC Administrator
6fc362932a Daily bump.
From-SVN: r232861
2016-01-27 00:16:12 +00:00
Ian Lance Taylor
82c1a217fe compiler: Don't crash on erroneous array return types.
Another issue with erroneous array types.  When an erroneous array
    type is in a function's signature, particularly the return type, we
    must guarantee that type is changed into an error type.  Otherwise,
    any operations that work on arrays and slices will crash when applied
    to the erroneous array return type.
    
    Fixes golang/go#12939.
    
    Reviewed-on: https://go-review.googlesource.com/16235

From-SVN: r232858
2016-01-27 00:00:58 +00:00
Ian Lance Taylor
7c97a53ac2 compiler: Don't crash on invalid array type declarations.
Fixes golang/go#12937.
    
    Reviewed-on: https://go-review.googlesource.com/16233

From-SVN: r232857
2016-01-26 23:28:37 +00:00
Eric Botcazou
e4aac1d178 * gcc.c-torture/execute/stkalign.c: XFAIL run on SPARC 64-bit.
From-SVN: r232856
2016-01-26 22:44:46 +00:00
Ian Lance Taylor
a54d45c593 compiler: Avoid knock-on errors with impossibly large types.
The gofrontend asks the backend compiler for the architecture
    appropriate size of a given type.  For array types, it is possible
    to construct a type too large to fit on the machine.  This patch does
    two things: 1. When an impossibly large type is encountered, we mark
    the type as erroneous and later calls to discover the size of that
    type are short-circuited. 2. When generating the GC symbol data for
    an impossibly large array of arrays, we avoid generating symbol data
    as soon as we find an array that is too large to be expressed.
    
    Fixes golang/go#12938.
    
    Reviewed-on: https://go-review.googlesource.com/16234

From-SVN: r232855
2016-01-26 22:35:20 +00:00
Tom de Vries
8dfdb41912 Handle DR_NUM_DIMENSIONS == 0 in initialize_data_dependence_relation
2016-01-26  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/69110
	* tree-data-ref.c (initialize_data_dependence_relation): Handle
	DR_NUM_DIMENSIONS == 0.

	* gcc.dg/autopar/pr69110.c: New test.

	* testsuite/libgomp.c/pr69110.c: New test.

From-SVN: r232852
2016-01-26 22:11:51 +00:00
Abderrazek Zaafrani
56f80f54fe handle isl_ast_op_select
2016-01-26  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
            Sebastian Pop  <s.pop@samsung.com>

	* graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
	isl_ast_op_cond and isl_ast_op_select.
	(gcc_expression_from_isl_expr_op): Same.

	* gcc.dg/graphite/isl-ast-op-select.c: New.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>

From-SVN: r232851
2016-01-26 22:02:11 +00:00
Paul Thomas
a0909527ea [multiple changes]
2016-01-26  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/69385
	* trans-expr.c (gfc_trans_assignment_1): Exclude initialization
	assignments from check on assignment of scalars to unassigned
	arrays and correct wrong code within the corresponding block.

2015-01-26  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/69385
	* gfortran.dg/allocate_error_6.f90: New test.

From-SVN: r232850
2016-01-26 21:57:12 +00:00
Jason Merrill
ca30abcd13 re PR c++/68949 (Implicit initialization of array member silently miscompiling.)
PR c++/68949

	* constexpr.c (register_constexpr_fundef): Keep the un-massaged body.
	(cxx_eval_call_expression): Don't look through clones.
	* optimize.c (maybe_clone_body): Clear DECL_SAVED_TREE of the alias.
	* semantics.c (expand_or_defer_fn_1): Keep DECL_SAVED_TREE of
	maybe-in-charge *tor.

From-SVN: r232848
2016-01-26 16:34:16 -05:00
Jason Merrill
2d63bc398f re PR c++/68782 (bad reference member formed with constexpr)
PR c++/68782

gcc/
	* tree.c (recompute_constructor_flags): Split out from
	build_constructor.
	(verify_constructor_flags): New.
	* tree.h: Declare them.
gcc/cp/
	* constexpr.c (cxx_eval_bare_aggregate): Update TREE_CONSTANT
	and TREE_SIDE_EFFECTS.
	(cxx_eval_constant_expression) [CONSTRUCTOR]: Call
	verify_constructor_flags.

From-SVN: r232847
2016-01-26 16:34:10 -05:00
Iain Buclaw
3671c99673 re PR rtl-optimization/69217 (ICE at var-tracking.c:5038 Segmentation fault)
PR rtl-optimization/69217
	* var-tracking.c (tracked_record_parameter_p): Don't segfault if there
	are no TYPE_FIELDS set for the record type.

From-SVN: r232845
2016-01-26 20:57:37 +00:00
Jakub Jelinek
4d2d386c47 re PR target/68662 (FAIL: gcc.dg/lto/20090210 c_lto_20090210_0.o-c_lto_20090210_1.o link, -O2 -flto -flto-partition=none -fuse-linker-plugin -fno-fat-lto-objects)
PR target/68662
	* config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
	toc_label_name unconditionally.
	(rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
	SYMBOL_REF string.  Use toc_label_name instead of constructing
	LCTOC1.
	(rs6000_elf_declare_function_name): Use toc_label_name instead of
	constructing LCTOC1.

From-SVN: r232844
2016-01-26 20:53:37 +01:00
Jakub Jelinek
476805aea3 re PR c++/68357 (FAIL: g++.dg/other/darwin-cfstring1.C -std=* (internal compiler error) on x86_64-apple-darwin1(0|4|5))
PR c++/68357
	* cp-gimplify.c (cp_fold): If some operand folds to error_mark_node,
	return error_mark_node instead of building trees with error_mark_node
	operands.

From-SVN: r232843
2016-01-26 20:52:53 +01:00
Jonathan Wakely
f1d591e8a6 Fix assertions for move assignment of trivial types
PR libstdc++/69478
	* include/bits/stl_algobase.h (__copy_move<_IsMove, true,
	random_access_iterator_tag>): Check is_move_assignable when moving.
	(__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
	Likewise.
	* testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
	* testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
	* testsuite/25_algorithms/move/69478.cc: New.
	* testsuite/25_algorithms/move_backward/69478.cc: new.

From-SVN: r232842
2016-01-26 19:38:20 +00:00
Martin Sebor
2a4dfe66da PR other/69477 - attribute aligned documentation misleading
gcc/ChangeLog:
2016-01-26  Martin Sebor  <msebor@redhat.com>

	PR other/69477
	* doc/extend.texi (Common Type Attributes): Move text that talks about
	attribute packed from attribute aligned to the section discussing
	the former attribute for clarity.

From-SVN: r232840
2016-01-26 10:44:38 -07:00
Richard Henderson
ffc445f486 re PR middle-end/60908 (compiler bug related to trans-mem.c)
PR middle-end/60908

  * trans-mem.c (tm_region_init): Mark entry block as visited.
testsuite/
  * gcc.dg/tm/pr60908.c: New test.

From-SVN: r232839
2016-01-26 09:29:02 -08:00
Nathan Sidwell
dcbc087996 remove accidental empty commit
From-SVN: r232838
2016-01-26 17:09:20 +00:00
David Malcolm
01e1dea37c PR other/69006: fix extra newlines after diagnostics
gcc/c-family/ChangeLog:
	PR other/69006
	* c-opts.c (c_diagnostic_finalizer): Replace invocation of
	pp_newline_and_flush with pp_flush.

gcc/cp/ChangeLog:
	PR other/69006
	* error.c (print_instantiation_partial_context_line): Add missing
	newlines from output for the t == NULL case.
	(print_instantiation_partial_context): Remove call to pp_newline.

gcc/ChangeLog:
	PR other/69006
	* diagnostic-show-locus.c (layout::print_source_line): Replace
	call to pp_newline with call to layout::print_newline.
	(layout::print_annotation_line): Likewise.
	(layout::move_to_column): Likewise.
	(layout::print_any_fixits): After printing any fixits, print a
	trailing newline, if necessary.
	(layout::print_newline): New method, resetting any colorization
	before a newline.
	(diagnostic_show_locus): Move the pp_newline to before the
	early bailout.  Remove dummy block enclosing the layout instance.
	* diagnostic.c (default_diagnostic_finalizer): Replace invocation
	of pp_newline_and_flush with pp_flush.
	(diagnostic_append_note): Delete use of pp_newline.
	(diagnostic_append_note_at_rich_loc): Delete.
	* diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
	* pretty-print.h (output_buffer_append_r): Reset buff->line_length
	when newline characters are added to the buffer.

gcc/fortran/ChangeLog:
	PR other/69006
	* error.c (gfc_diagnostic_starter): Delete use of pp_newline.

gcc/testsuite/ChangeLog:
	PR other/69006
	* g++.dg/ext/timevar1.C: Add dg-allow-blank-lines-in-output
	directive.
	* gcc.dg/plugin/diagnostic-test-show-locus-color.c: Update
	expected multiline output to reflect the colorization being
	disabled before newlines.
	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
	(custom_diagnostic_finalizer): Replace call to
	pp_newline_and_flush with call to pp_flush.
	* gcc.dg/unroll-2.c: Add dg-allow-blank-lines-in-output directive.
	* gfortran.dg/implicit_class_1.f90: Likewise.
	* lib/gcc-dg.exp (allow_blank_lines): New global.
	(dg-allow-blank-lines-in-output): New procedure.
	(gcc-dg-prune): Complain about blank lines in the output, unless
	dg-allow-blank-lines-in-output was called.
	* lib/multiline.exp (_build_multiline_regex): Only support
	arbitrary followup text for non-blank-lines, not for blank lines.

From-SVN: r232837
2016-01-26 17:08:12 +00:00
Michael Matz
3dde4d658b configure.ac (ac_cv_std_swap_in_utility): New test.
* configure.ac (ac_cv_std_swap_in_utility): New test.
	* system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
	* configure: Regenerate.
	* config.in: Regenerate.

From-SVN: r232836
2016-01-26 16:34:24 +00:00
Andris Pavenis
8964d2a090 Fix build failure when wide character support is not available
* include/c_compatibility/stdlib.h: Include wide character related
	definitions only when they are available in cstdlib.

From-SVN: r232835
2016-01-26 18:07:33 +02:00
Claudiu Zissulescu
2a42e3390f [ARC] Fix arcset* pattern's predicate.
gcc/
2016-01-26  Claudiu Zissulescu  <claziss@synopsys.com>

        * config/arc/arc.md (cstoresi4): Force operand into register.
        (arcset<code>): Fix predicate.
        (arcsetltu): Likewise.
        (arcsetgeu): Likewise.
        (arcsethi): Likewise.
        (arcsetls): Likewise.

From-SVN: r232834
2016-01-26 17:06:16 +01:00
Jakub Jelinek
13f92e8df5 re PR tree-optimization/69483 (gcc ICE on x86_64-linux-gnu with "expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p")
PR tree-optimization/69483
	* gimple-fold.c (canonicalize_constructor_val): Return NULL
	if base has error_mark_node type.

	* c-parser.c (c_parser_translation_unit): Use FOR_EACH_VEC_ELT.

	* gcc.dg/pr69483.c: New test.
	* g++.dg/opt/pr69483.C: New test.

From-SVN: r232833
2016-01-26 16:51:51 +01:00
Christophe Lyon
9242223583 re PR target/68620 (ICE on gcc.target/arm/attr-neon-fp16.c)
2016-01-26  Christophe Lyon  <christophe.lyon@linaro.org>

	gcc/
	PR target/68620
	* config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
	* config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
	New helper macros.
	(vget_lane_f16): Handle big-endian.
	(vgetq_lane_f16): Likewise.
	(vset_lane_f16): Likewise.
	(vsetq_lane_f16): Likewise.
	* config/arm/iterators.md (VQXMOV): Add V8HF.
	(VDQ): Add V4HF and V8HF.
	(V_reg): Handle V4HF and V8HF.
	(Is_float_mode): Likewise.
	* config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
	neon_vdup_nv8hf): New patterns.
	(vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
	Use VD_LANE iterator.
	(neon_vld1_dup<mode>): Use VQ2 iterator.

	testsuite/
	PR target/68620
	* gcc.target/arm/pr68620.c: New test.

From-SVN: r232832
2016-01-26 16:17:00 +01:00
H.J. Lu
0bccf11b4d Remove -m32 from gcc.target/i386/pr68986-2.c
* gcc.target/i386/pr68986-2.c: Remove -m32.

From-SVN: r232831
2016-01-26 06:33:12 -08:00
Nathan Sidwell
f8393eb0f0 omp-low.h (oacc_fn_attrib_kernels_p): Declare.
* omp-low.h (oacc_fn_attrib_kernels_p): Declare.
	(set_oacc_fn_attrib): Add IS_KERNEL arg.
	* omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
	(oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
	(expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
	(oacc_validate_dims): Add LEVEL arg, don't return level.
	(new_oacc_loop_routine): Use oacc_fn_attrib_level, not
	oacc_validate_dims.
	(execute_oacc_device_lower): Adjust, add more dump output.
	* tree-ssa-loop.c (gate_oacc_kernels): Use
	oacc_fn_attrib_kernels_p.
	* tree-parloops.c (create_parallel_loop): Adjust
	set_oacc_fn_attrib call.

From-SVN: r232830
2016-01-26 14:32:30 +00:00
Jakub Jelinek
b0b35f86a2 re PR lto/69254 (ICE in streamer_get_builtin_tree when using -fsanitize=shift on the compile side only)
PR lto/69254
	* lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
	(append_compiler_options): Handle -fcilkplus.
	(append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.

From-SVN: r232829
2016-01-26 15:25:56 +01:00
Nick Clifton
b8b025dc0b re PR target/66655 (miscompilation due to ipa-ra on MinGW)
PR target/66655
	* config/i386/winnt.c (i386_pe_binds_local_p): If a function has
	been marked as DECL_ONE_ONLY but we do not the means to make it
	so, then do not allow it to bind locally.

From-SVN: r232828
2016-01-26 14:02:11 +00:00
Jakub Jelinek
b1b46af04f re PR lto/69254 (ICE in streamer_get_builtin_tree when using -fsanitize=shift on the compile side only)
PR lto/69254
	* opts.h (parse_sanitizer_options): New prototype.
	* opts.c (sanitizer_opts): New array.
	(parse_sanitizer_options): New function.
	(common_handle_option): Use parse_sanitizer_options.

From-SVN: r232826
2016-01-26 14:01:44 +01:00
H.J. Lu
81cd202e24 Update stack alignment in ix86_update_stack_boundary
Stack alignment adjustment for __tls_get_addr should be done in
ix86_update_stack_boundary, not ix86_compute_frame_layout.  Also
there is no need to over-align stack for __tls_get_addr and function
with __tls_get_addr call isn't a leaf function.

gcc/

	PR target/68986
	* config/i386/i386.c (ix86_compute_frame_layout): Move stack
	alignment adjustment to ...
	(ix86_update_stack_boundary): Here.  Don't over-align stack for
	__tls_get_addr.
	(ix86_finalize_stack_realign_flags): Use stack_alignment_needed
	if __tls_get_addr is called.

gcc/testsuite/

	PR target/68986
	* gcc.target/i386/pr68986-1.c: New test.
	* gcc.target/i386/pr68986-2.c: Likewise.
	* gcc.target/i386/pr68986-3.c: Likewise.

From-SVN: r232825
2016-01-26 04:51:07 -08:00
Christian Bruel
213a1c03ba remove arm_crypto_pragma test selector
From-SVN: r232824
2016-01-26 13:45:13 +01:00
Eric Botcazou
6a8b00eb9c * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
From-SVN: r232822
2016-01-26 12:06:36 +00:00
Richard Biener
bc6e9db416 re PR tree-optimization/69467 (Pattern X * C1 CMP 0 to X CMP 0 causes performance drop on 32-bit x86.)
2016-01-26  Richard Biener  <rguenther@suse.de>

	PR middle-end/69467
	* match.pd: Guard X * CST CMP 0 pattern with single_use.

From-SVN: r232821
2016-01-26 12:05:22 +00:00
Richard Biener
22a08dd126 re PR tree-optimization/69452 (gcc ICE at -O3 on x86_64-linux-gnu in with verify_ssa failed)
2016-01-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69452
	* tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
	(move_computations_dom_walker::before_dom_children): Rename
	to ...
	(move_computations_worker): This.
	(move_computations): Perform an RPO rather than a DOM walk.

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

From-SVN: r232820
2016-01-26 11:51:01 +00:00
Jakub Jelinek
6c06e0e822 re PR target/69442 (wrong code with -Og and 64bit modulo @ armv7a)
PR target/69442
	* combine.c (combine_instructions): For REG_EQUAL note with
	SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
	to the underlying register.
	* doc/rtl.texi (REG_EQUAL): Document the behavior of
	REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.

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

From-SVN: r232819
2016-01-26 12:12:03 +01:00
Roger Ferrer Ibáñez
b96824c484 [PATCH] Do not set structural equality on polynomial types
gcc/ChangeLog:

	PR target/67896
	* config/aarch64/aarch64-builtins.c
	(aarch64_init_simd_builtin_types): Do not set structural
	equality to __Poly{8,16,64,128}_t types.

gcc/testsuite/ChangeLog:

	PR target/67896
	* gcc.target/aarch64/simd/pr67896.C: New.

From-SVN: r232818
2016-01-26 10:04:46 +00:00
Richard Sandiford
5ee31e57d2 PR 69400: Invalid 128-bit modulus result
As described in the PR, wi::divmod_internal was sign- rather than
zero-extending a modulus result in cases where the result has fewer
HWIs than the precision and the upper bit of the upper HWI was set.

This patch tries to make things more robust by getting wi_pack
to handle the canonicalisation step itself.

Tested on x86_64-linux-gnu.  I added tests to the wide-int
plugin since that seemed more direct.

gcc/
	PR tree-optimization/69400
	* wide-int.cc (wi_pack): Take the precision as argument and
	perform canonicalization here rather than in the callers.
	Use the main loop to handle all full-width HWIs.  Add a
	zero HWI if in_len isn't a full result.
	(wi::divmod_internal): Update accordingly.
	(wi::mul_internal): Likewise.  Simplify.

gcc/testsuite/
	PR tree-optimization/69400
	* gcc.dg/plugin/wide-int_plugin.c (test_wide_int_mod_trunc): New
	function.
	(plugin_init): Call it.
	* gcc.dg/torture/pr69400.c: New test.

From-SVN: r232817
2016-01-26 09:53:33 +00:00
Christophe Lyon
7ddfb31dfd pr68674.c: Check and use arm_fp effective target.
2016-01-26  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/arm/pr68674.c: Check and use arm_fp effective target.

From-SVN: r232816
2016-01-26 10:45:43 +01:00
Iain Buclaw
1c652ccb1c Add missing includes in JIT frontend.
gcc/jit/
	* jit-playback.c: Include pthread.h.

From-SVN: r232815
2016-01-26 08:53:17 +00:00
Aditya Kumar
adba512db0 new scop schedule for isl-0.15
Keep unchanged the implementation for isl-0.14.

	* graphite-poly.c (apply_poly_transforms): Simplify.
	(print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
	(print_isl_map): Same.
	(print_isl_union_map): Same.
	(print_isl_schedule): New.
	(debug_isl_schedule): New.
	* graphite-dependences.c (scop_get_reads): Do not call
	isl_union_map_add_map that is undocumented isl functionality.
	(scop_get_must_writes): Same.
	(scop_get_may_writes): Same.
	(scop_get_original_schedule): Remove.
	(scop_get_dependences): Do not call isl_union_map_compute_flow that
	is deprecated in isl 0.15.  Instead, use isl_union_access_* interface.
	(compute_deps): Remove.
	* graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
	(debug_schedule_ast): New.
	(translate_isl_ast_to_gimple::scop_to_isl_ast): Call set_separate_option.
	(graphite_regenerate_ast_isl): Add dump.
	(translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
	from scop->transformed_schedule.
	(graphite_regenerate_ast_isl): Add more dump.
	* graphite-optimize-isl.c (optimize_isl): Set
	scop->transformed_schedule.  Check whether schedules are equal.
	(apply_poly_transforms): Move here.
	* graphite-poly.c (apply_poly_transforms): ... from here.
	(free_poly_bb): Static.
	(free_scop): Static.
	(pbb_number_of_iterations_at_time): Remove.
	(print_isl_ast): New.
	(debug_isl_ast): New.
	(debug_scop_pbb): New.
	* graphite-scop-detection.c (print_edge): Move.
	(print_sese): Move.
	* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
	(build_scop_scattering): Remove.
	(create_pw_aff_from_tree): Assert instead of bailing out.
	(add_condition_to_pbb): Remove unused code, do not fail.
	(add_conditions_to_domain): Same.
	(add_conditions_to_constraints): Remove.
	(build_scop_context): New.
	(add_iter_domain_dimension): New.
	(build_iteration_domains): Initialize pbb->iterators.
	Call add_conditions_to_domain.
	(nested_in): New.
	(loop_at): New.
	(index_outermost_in_loop): New.
	(index_pbb_in_loop): New.
	(outermost_pbb_in): New.
	(add_in_sequence): New.
	(add_outer_projection): New.
	(outer_projection_mupa): New.
	(add_loop_schedule): New.
	(build_schedule_pbb): New.
	(build_schedule_loop): New.
	(embed_in_surrounding_loops): New.
	(build_schedule_loop_nest): New.
	(build_original_schedule): New.
	(build_poly_scop): Call build_original_schedule.
	* graphite.h: Declare print_isl_schedule and debug_isl_schedule.
	(free_poly_dr): Remove.
	(struct poly_bb): Add iterators.  Remove schedule, transformed, saved.
	(free_poly_bb): Remove.
	(debug_loop_vec): Remove.
	(print_isl_ast): Declare.
	(debug_isl_ast): Declare.
	(scop_do_interchange): Remove.
	(scop_do_strip_mine): Remove.
	(scop_do_block): Remove.
	(flatten_all_loops): Remove.
	(optimize_isl): Remove.
	(pbb_number_of_iterations_at_time): Remove.
	(debug_scop_pbb): Declare.
	(print_schedule_ast): Declare.
	(debug_schedule_ast): Declare.
	(struct scop): Remove schedule.  Add original_schedule,
	transformed_schedule.
	(free_gimple_poly_bb): Remove.
	(print_generated_program): Remove.
	(debug_generated_program): Remove.
	(unify_scattering_dimensions): Remove.
	* sese.c (print_edge): ... here.
	(print_sese): ... here.
	(debug_edge): ... here.
	(debug_sese): ... here.
	* sese.h (print_edge): Declare.
	(print_sese): Declare.
	(dump_edge): Declare.
	(dump_sese): Declare.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>

From-SVN: r232812
2016-01-26 00:19:20 +00:00
Aditya Kumar
1e050c9081 fix PR68343: disable fuse-*.c tests for isl 0.14 or earlier
The patch disables all fuse-*.c tests when configuring gcc with isl 0.14 or earlier.

ChangeLog:

	* Makefile.in: Regenerate.
	* Makefile.tpl: Export ISLVER.
	* configure: Regenerate.
	* config/isl.m4: Detect isl-0.15.

gcc/

	* Makefile.in: Set ISLVER in site.exp.

gcc/testsuite/

	* gcc.dg/graphite/graphite.exp: Only run the fuse-*.c tests with isl-0.15.

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>

From-SVN: r232811
2016-01-26 00:19:11 +00:00
Aditya Kumar
c8ee4bf593 add missing testcase
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>

From-SVN: r232810
2016-01-26 00:18:56 +00:00
GCC Administrator
0a2ba2ef99 Daily bump.
From-SVN: r232809
2016-01-26 00:16:12 +00:00
Jakub Jelinek
7d29695329 re PR target/69444 (recent changes broke x64_64 -> powerpc crosscompiler build)
PR target/69444
	* config/rs6000/sfp-machine.h: Fix a typo in #ifndef - __NO_FPRS__
	instead of ___NO_FPRS__.

From-SVN: r232805
2016-01-25 22:37:08 +01:00
Jakub Jelinek
d902b330dc omp-low.c (lower_omp_target): Set DECL_VALUE_EXPR of new_var even for the non-array case.
* omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
	DECL_VALUE_EXPR of new_var even for the non-array case.  Look
	through DECL_VALUE_EXPR for expansion.

	* c-c++-common/goacc/use_device-1.c: New test.

From-SVN: r232804
2016-01-25 22:34:06 +01:00
Bernd Edlinger
a4ea172334 mips.c (mips_compute_frame_info): Skip re-computing the frame info after reload completed.
* config/mips/mips.c (mips_compute_frame_info): Skip re-computing
        the frame info after reload completed.

From-SVN: r232803
2016-01-25 20:33:52 +00:00
Jeff Law
2c89b952c7 re PR tree-optimization/69196 (code size regression with jump threading at -O2)
PR tree-optimization/69196
	PR tree-optimization/68398
	* tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
	tree-ssa-threadupdate.c.
	(determine_bb_domination_status): Prototype
	* tree-ssa-threadupdate.c (enum bb_dom_status): Remove
	(determine_bb_domination_status): No longer static.
	(valid_jump_thread_path): Remove code to detect characteristics
	of the jump thread path not associated with correctness.
	* tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
	Correct test for thread path length.  Count PHIs for real operands as
	statements that need to be copied.  Do not count ASSERT_EXPRs.
	Look at all the blocks in the thread path.  Compute and selectively
	filter thread paths based on threading through the latch, threading
	a multiway branch or crossing a multiway branch.

	PR tree-optimization/69196
	PR tree-optimization/68398
	* gcc.dg/tree-ssa/pr66752-3.c: Update expected output
	* gcc.dg/tree-ssa/pr68198.c: Likewise.

From-SVN: r232802
2016-01-25 12:19:09 -07:00
Jonathan Wakely
2944621e2c Avoid including all of <random> in <algorithm>
PR libstdc++/69464
	* include/Makefile.am: Add new header.
	* include/Makefile.in: Regenerate.
	* include/bits/random.h (uniform_int_distribution): Move to
	bits/uniform_int_dist.h.
	* include/bits/random.tcc (uniform_int_distribution::operator(),
	uniform_int_distribution::__generate_impl): Likewise.
	* include/bits/uniform_int_dist.h: New header.
	* include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
	<bits/uniform_int_dist.h> instead of <random>.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
	move_iterators/1.cc: Include correct header for uninitialized_copy.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
	move_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/nth_element/58800.cc: Include correct
	header for vector.
	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.

From-SVN: r232798
2016-01-25 16:44:30 +00:00