Commit Graph

62087 Commits

Author SHA1 Message Date
David Edelsohn 5128d392c0 driver-rs6000.c (detect_processor_aix): Add power9.
* config/rs6000/driver-rs6000.c (detect_processor_aix): Add
        power9.

From-SVN: r232873
2016-01-27 08:31:51 -05:00
Christian Bruel eeb085f341 re PR target/69245 (ICE in extract_insn, at recog.c:2286 on arm-linux-gnueabihf)
2016-01-20  Christian Bruel  <christian.bruel@st.com>

	PR target/69245
	* config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
	Move arm_reset_previous_fndecl and set_target_option_current_node in
	the conditional part.  Call save_restore_target_globals.
	* config/arm/arm.c (arm_set_current_function):
	Refactor to better support #pragma target and attribute mix.
	Call save_restore_target_globals.
	* config/arm/arm-protos.h (save_restore_target_globals): New function.

From-SVN: r232872
2016-01-27 14:03:45 +01:00
Martin Liska 4ecbadc728 HSA: simplify partitioning of HSA kernels and host impls.
* lto-partition.c (add_symbol_to_partition_1): Remove usage
	of hsa_summaries.
	* hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
	reference for an HSA kernel and its host function.

From-SVN: r232871
2016-01-27 12:50:05 +00:00
Jakub Jelinek b1652ddea9 re PR tree-optimization/69399 (wrong code with -O and int128)
PR tree-optimization/69399
	* wide-int.h (wi::lrshift): For larger precisions, only
	use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.

	* gcc.dg/torture/pr69399.c: New test.

From-SVN: r232869
2016-01-27 12:40:04 +01:00
Claudiu Zissulescu dfa654c8cf [ARC] Reject constant-constant comparison.
gcc/
2016-01-27  Claudiu Zissulescu  <claziss@synopsys.com>

        * config/arc/predicates.md (proper_comparison_operator): Reject
        constant-constant comparison.

From-SVN: r232868
2016-01-27 10:29:16 +01: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
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
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
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
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
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
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
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
Bill Schmidt bf1a8421ec rs6000.c (rs6000_keep_leaf_when_profiled): Add decl with __attribute__ ((unused)) annotation.
2016-01-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled):  Add
	decl with __attribute__ ((unused)) annotation.

From-SVN: r232793
2016-01-25 14:06:28 +00:00
Ilya Enkovich 2947d3b29c re PR target/69421 (ICE in maybe_legitimize_operand, at optabs.c:6888 with -O3)
gcc/

	PR target/69421
	* tree-vect-stmts.c (vectorizable_condition): Check vectype
	of operands is compatible with a statement vectype.

gcc/testsuite/

	PR target/69421
	* gcc.dg/pr69421.c: New test.

From-SVN: r232792
2016-01-25 12:48:54 +00:00
Eric Botcazou 1cf11fe62a extend.texi (scalar_storage_order type attribute): Fix typo and improve wording for mixed storage order support.
* doc/extend.texi (scalar_storage_order type attribute): Fix typo and
	improve wording for mixed storage order support.

From-SVN: r232791
2016-01-25 11:42:25 +00:00
Bilyan Borisov ae19075a5d [AARCH64][ACLE][NEON] Implement vcvt*_s64_f64 and vcvt*_u64_f64 NEON intrinsics.
gcc/

	* config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
	(vcvt_u64_f64): Likewise.
	(vcvta_s64_f64): Likewise.
	(vcvta_u64_f64): Likewise.
	(vcvtm_s64_f64): Likewise.
	(vcvtm_u64_f64): Likewise.
	(vcvtn_s64_f64): Likewise.
	(vcvtn_u64_f64): Likewise.
	(vcvtp_s64_f64): Likewise.
	(vcvtp_u64_f64): Likewise.

gcc/testsuite/

	* gcc.target/aarch64/simd/vcvt_s64_f64_1.c: New.
	* gcc.target/aarch64/simd/vcvt_u64_f64_1.c: Likewise.
	* gcc.target/aarch64/simd/vcvta_s64_f64_1.c: Likewise.
	* gcc.target/aarch64/simd/vcvta_u64_f64_1.c: Likewise.
	* gcc.target/aarch64/simd/vcvtm_s64_f64_1.c: Likewise.
	* gcc.target/aarch64/simd/vcvtm_u64_f64_1.c: Likewise.
	* gcc.target/aarch64/simd/vcvtn_s64_f64_1.c: Likewise.
	* gcc.target/aarch64/simd/vcvtn_u64_f64_1.c: Likewise.
	* gcc.target/aarch64/simd/vcvtp_s64_f64_1.c: Likewise.
	* gcc.target/aarch64/simd/vcvtp_u64_f64_1.c: Likewise.

From-SVN: r232789
2016-01-25 11:32:07 +00:00
Claudiu Zissulescu d34a0fdc03 [ARC] Add basic support for double load and store instructions
gcc/
2016-01-25  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
	(arc_init): Check validity mll64 option.
	(arc_save_restore): Use double load/store instruction.
	(arc_expand_movmem): Likewise.
	(arc_split_move): Don't split if we have double load/store
	instructions. Returns a boolean.
	(arc_process_double_reg_moves): Change function to return boolean
	instead of a sequence of instructions.
	(arc_dwarf_register_span): New function.
	* config/arc/arc-protos.h (arc_split_move): Change prototype.
	* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
	* config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
	(*movdf_insn): Likewise.
	* config/arc/arc.opt (mll64): New option.
	* config/arc/predicates.md (even_register_operand): New predicate.
	* doc/invoke.texi (ARC Options): Add mll64 documentation.

From-SVN: r232788
2016-01-25 12:15:58 +01:00
Richard Biener 02ef53f288 re PR lto/69393 (ICE in dwarf2out_finish, at dwarf2out.c:27175 with LTO)
2016-01-25  Richard Biener  <rguenther@suse.de>

	PR lto/69393
	* dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
	* tree-streamer-out.c (pack_ts_base_value_fields): Stream
	DECL_NAMELESS.
	* tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.

	* testsuite/libgomp.c++/pr69393.C: New testcase.

From-SVN: r232787
2016-01-25 09:31:47 +00:00
Richard Biener fa4511c2f4 re PR tree-optimization/69376 (wrong code at -Os and above on x86_64-linux-gnu)
2016-01-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69376
	* tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
	flag.
	(VN_INFO_ANTI_RANGE_P): New inline.
	(VN_INFO_RANGE_TYPE): Likewise.
	* tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
	SSA_NAME_ANTI_RANGE_P.
	(free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
	Properly query VN_INFO_RANGE_TYPE.

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

From-SVN: r232786
2016-01-25 09:05:47 +00:00
Nick Clifton 7ff1503c73 re PR target/66655 (miscompilation due to ipa-ra on MinGW)
PR target/66655
	* config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.

From-SVN: r232785
2016-01-25 08:57:02 +00:00
Tom de Vries 42fb90d7a5 Fix clobber removal in parloops
2016-01-23  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/69426
	* tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
	removed clobber.

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

From-SVN: r232767
2016-01-23 20:28:17 +00:00
Jakub Jelinek 6af801f52a tree-ssanames.c (release_free_names_and_compact_live_names): Replace "the the" with "the" in the comments.
* tree-ssanames.c (release_free_names_and_compact_live_names): Replace
	"the the" with "the" in the comments.
	* ipa-devirt.c (build_type_inheritance_graph,
	update_type_inheritance_graph): Likewise.
	* tree.c (build_function_type_list_1): Likewise.
	* cfgloopmanip.c (scale_loop_profile): Likewise.
	* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
	* gimple-ssa-split-paths.c
	(find_block_to_duplicate_for_splitting_paths): Likewise.
	* tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
	* expr.c (convert_move): Likewise.
	* var-tracking.c (vt_stack_adjustments): Likewise.
	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
	* tree-vrp.c (test_for_singularity): Likewise.

From-SVN: r232765
2016-01-23 15:13:53 +01:00
Jakub Jelinek 5958f9e248 tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR directly instead of building a temporary tree.
* tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
	directly instead of building a temporary tree.

From-SVN: r232764
2016-01-23 10:54:53 +01:00
Jakub Jelinek bc0cbd52af re PR bootstrap/69434 (bootstrap failed with --with-arch=corei7 --with-cpu=corei7)
PR bootstrap/69434
	* genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
	remove <algorithm> include.

From-SVN: r232763
2016-01-23 10:54:19 +01:00
Jakub Jelinek 62041cfc09 re PR other/69432 (ICE in connect_traces, at dwarf2cfi.c with -O3 -m32 -minline-stringops-dynamically)
PR target/69432
	* config/i386/i386.c: Include dojump.h.
	(expand_small_movmem_or_setmem,
	expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
	fixes.
	(ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
	if dynamic_check != -1.

	* g++.dg/opt/pr69432.C: New test.

From-SVN: r232754
2016-01-23 00:14:27 +01:00
William Schmidt d403fc9a7b Fix ChangeLog entry in wrong file
From-SVN: r232750
2016-01-22 22:06:06 +00:00
Jeff Law 44b6ab2bf9 re PR tree-optimization/69347 (excessive compile time with -O2)
PR middle-end/69347
	* tree-ssa-dom.c (back_propagate_equivalences): Factored out of
	record_temporary_equivalences.  Rewritten to avoid unnecessary calls
	into dominated_by_p.
	(cprop_into_successor_phis): Avoid unnecessary tests.

From-SVN: r232745
2016-01-22 13:18:59 -07:00
Bernd Edlinger 3523ddc662 - fix a ChangeLog entry
From-SVN: r232743
2016-01-22 19:41:04 +00:00