Tom de Vries [Wed, 9 Mar 2016 09:14:05 +0000 (09:14 +0000)]
Add oacc kernels test-cases in gfortran.dg/goacc
2016-03-09 Tom de Vries <tom@codesourcery.com>
* gfortran.dg/goacc/kernels-loop-2.f95: New test.
* gfortran.dg/goacc/kernels-loop-data-2.f95: New test.
* gfortran.dg/goacc/kernels-loop-data-enter-exit-2.f95: New test.
* gfortran.dg/goacc/kernels-loop-data-enter-exit.f95: New test.
* gfortran.dg/goacc/kernels-loop-data-update.f95: New test.
* gfortran.dg/goacc/kernels-loop-data.f95: New test.
* gfortran.dg/goacc/kernels-loop-n.f95: New test.
* gfortran.dg/goacc/kernels-loop.f95: New test.
Jakub Jelinek [Tue, 8 Mar 2016 08:05:26 +0000 (09:05 +0100)]
re PR target/70110 (ICE at -O3 in the 32-bit mode in set_last_insn, at emit-rtl.h:420)
PR target/70110
* config/i386/i386.c (scalar_chain::make_vector_copies,
scalar_chain::convert_reg): Call end_sequence in between
get_insns and emit_conversion_insns rather than after both
calls.
Andre Vieira [Mon, 7 Mar 2016 18:04:31 +0000 (18:04 +0000)]
pr45701-1.c: Change assembler scan to not trigger for cortex-r8, when scanning for register r8.
2016-03-07 Andre Vieira <andre.simoesdiasvieira@arm.com>
* gcc.target/arm/pr45701-1.c: Change assembler scan to not
trigger for cortex-r8, when scanning for register r8.
* gcc.target/arm/pr45701-2.c: Likewise.
Richard Biener [Mon, 7 Mar 2016 17:01:54 +0000 (17:01 +0000)]
re PR tree-optimization/69740 (gcc ICE at -O2 and above on valid code on x86_64-linux-gnu in "verify_loop_structure")
PR tree-optimization/69740
* cfghooks.c (remove_edge): Request loop fixups if we delete
an edge that might turn an irreducible loop into a natural
loop.
* cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP.
Move after definition of loops_state_clear.
PR tree-optimization/69740
* gcc.c-torture/compile/pr69740-1.c: New test.
* gcc.c-torture/compile/pr69740-2.c: New test.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r234036
Martin Sebor [Mon, 7 Mar 2016 17:01:44 +0000 (17:01 +0000)]
Add style checks to check_GNU_style.sh.
gcc/contrib/ChangeLog:
2016-03-07 Martin Sebor <msebor@redhat.com>
* check_GNU_style.sh (color): New global variable.
Add checks for trailing operators and spaces before left brackets.
Tightened up a check for a trailing left curly brace.
(g, ag, vg): Use color.
(col): Don't complain about excessively long lines with DejaGnu
directives.
Tom de Vries [Mon, 7 Mar 2016 14:50:13 +0000 (14:50 +0000)]
Skip ubsan/asan internal fns with different location in tail-merge
2016-03-07 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/70116
* tree-ssa-tail-merge.c (merge_stmts_p): New function, handling
is_tm_ending stmts and ubsan/asan internal functions.
(find_duplicate): Use it. Don't test is_tm_ending here.
Eric Botcazou [Mon, 7 Mar 2016 08:46:52 +0000 (08:46 +0000)]
trans.c (statement_node_p): New predicate.
* gcc-interface/trans.c (statement_node_p): New predicate.
(gnat_to_gnu): Invoke it to detect statement nodes. In ASIS mode, do
not return dummy results for expressions attached to packed array
implementation types.
Trevor Saunders [Sun, 6 Mar 2016 17:36:19 +0000 (17:36 +0000)]
teach mklog to look in the current directory for ChangeLog files
when run in repos other than gcc mklog fails to find ChangeLog files
because it looks for $0/../$dir/ChangeLog, but of course if the diff is
for a project other than gcc that might not exist. It should be fine to
also look for $cwd/$dir/ChangeLog, and use that if we find it. This
means that for example in binutils-gdb.git you can do git commit,
and then in your editor read git diff HEAD~ | mklog - to generate a
template ChangeLog for that commit.
Fix sseimul type attribute.
* config/i386/znver1.md
(znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load,
znver1_sseimul_avx256_load) : Fix the type attribute.
(znver1_sseimul_di,
znver1_sseimul_load_di): Fix type attribute, pipe usage and latency.
Jakub Jelinek [Sat, 5 Mar 2016 06:50:23 +0000 (07:50 +0100)]
re PR c++/70084 (va_arg ((ap), int) regression on s390*-*)
PR c++/70084
* tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
to the right type.
Jeff Law [Sat, 5 Mar 2016 05:10:58 +0000 (22:10 -0700)]
re PR tree-optimization/69196 (code size regression with jump threading at -O2)
PR tree-optimization/69196
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
If the both SSA_NAMEs are anonymous, then consider them unassociated
and include the PHI in the statement count.
Patrick Palka [Sat, 5 Mar 2016 01:59:04 +0000 (01:59 +0000)]
Fix PR c++/66786 (ICE with nested lambdas in variable template)
gcc/cp/ChangeLog:
PR c++/66786
* pt.c (template_class_depth): Given a lambda type, iterate
into its LAMBDA_TYPE_EXTRA_SCOPE field instead of its
TYPE_CONTEXT. Given a VAR_DECL, iterate into its
CP_DECL_CONTEXT.
gcc/testsuite/ChangeLog:
PR c++/66786
* g++.dg/cpp1y/var-templ48.C: New test.
* g++.dg/cpp1y/var-templ49.C: New test.
Jason Merrill [Fri, 4 Mar 2016 22:53:29 +0000 (17:53 -0500)]
re PR c++/69203 (ICE in potential_constant_expression_1, at cp/constexpr.c:4754)
PR c++/69203
* cp-tree.h (COND_EXPR_IS_VEC_DELETE): New.
* init.c (build_vec_delete_1): Set it.
* constexpr.c (potential_constant_expression_1) [COND_EXPR]: Check it.
Cary Coutant [Fri, 4 Mar 2016 22:15:55 +0000 (14:15 -0800)]
Sync include/plugin-api.h with binutils.
2016-03-03 Than McIntosh <thanm@google.com>
* plugin-api.h: Add new hooks to the plugin transfer vector to
to support querying section alignment and section size.
(ld_plugin_get_input_section_alignment): New hook.
(ld_plugin_get_input_section_size): New hook.
(ld_plugin_tag): Add LDPT_GET_INPUT_SECTION_ALIGNMENT
and LDPT_GET_INPUT_SECTION_SIZE.
(ld_plugin_tv): Add tv_get_input_section_alignment and
tv_get_input_section_size.
Jakub Jelinek [Fri, 4 Mar 2016 22:10:49 +0000 (23:10 +0100)]
re PR c++/70035 (Calling a non-virtual member in base-class constructor call with ubsan causes segfault when superclass has virtual member with same name)
PR c++/70035
* cp-tree.h (cp_ubsan_maybe_initialize_vtbl_ptrs): New prototype.
* decl.c (start_preparsed_function): Call
cp_ubsan_maybe_initialize_vtbl_ptrs if needed.
* cp-ubsan.c (cp_ubsan_dfs_initialize_vtbl_ptrs,
cp_ubsan_maybe_initialize_vtbl_ptrs): New functions.
gcc/c-family/ChangeLog:
PR c/68187
* c-indentation.c (get_visual_column): Move code to determine next
tab stop to...
(next_tab_stop): ...this new function.
(line_contains_hash_if): Delete function.
(detect_preprocessor_logic): Delete function.
(get_first_nws_vis_column): New function.
(detect_intervening_unindent): New function.
(should_warn_for_misleading_indentation): Replace call to
detect_preprocessor_logic with a call to
detect_intervening_unindent.
gcc/testsuite/ChangeLog:
PR c/68187
* c-c++-common/Wmisleading-indentation.c (fn_42_a): New test
function.
(fn_42_b): Likewise.
(fn_42_c): Likewise.
gcc/c-family/ChangeLog:
PR c/68187
* c-indentation.c (should_warn_for_misleading_indentation): When
suppressing warnings about cases where the guard and body are on
the same column, only use the first non-whitespace column in place
of the guard token column when dealing with "else" clauses.
When rejecting aligned BODY and NEXT, loosen the requirement
from equality with the first non-whitespace of guard to simply
that they not be indented relative to it.
gcc/testsuite/ChangeLog:
PR c/68187
* c-c++-common/Wmisleading-indentation.c (fn_40_a): New test
function.
(fn_40_b): Likewise.
(fn_41_a): Likewise.
(fn_41_b): Likewise.
Jakub Jelinek [Fri, 4 Mar 2016 07:27:15 +0000 (08:27 +0100)]
re PR debug/69947 (DW_OP_GNU_implicit_pointer broken on the trunk)
PR debug/69947
* dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
all other ops that have dw_val_class_die_ref operands,
and DW_OP_GNU_entry_value.
Jakub Jelinek [Thu, 3 Mar 2016 14:32:15 +0000 (15:32 +0100)]
re PR target/70021 (Test miscompiled with -O3 option for -march=core-avx2.)
PR target/70021
* tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
the pattern no matter if it is used just by non-pattern, pattern
or mix thereof.
(process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
oprnd1 def_stmt is in pattern, don't look through it.
* gcc.dg/vect/pr70021.c: New test.
* gcc.target/i386/pr70021.c: New test.
Marek Polacek [Thu, 3 Mar 2016 11:42:19 +0000 (11:42 +0000)]
re PR middle-end/70050 (ICE: tree check: expected integer_type or enumeral_type or boolean_type or real_type or fixed_point_type, have vector_type in generic_simplify_162, at generic-match.c:6175)
Martin Liska [Thu, 3 Mar 2016 10:08:09 +0000 (10:08 +0000)]
Skip properly debug stmt in optimize_mask_stores (PR
PR tree-optimization/70043
* tree-vect-loop.c (optimize_mask_stores): Move iterator to
previous statement if we see a debug statement.
* gfortran.dg/vect/pr70043.f90: New test.
The attached patch adds the a target specific attribute via the
new target macro TARGET_BEGIN_TRANSACTION_ATTRIBUTE to the
function begin_transaction(). S/390 uses this to set the
soft-float target attribute which is needed to fix a crash with
-m31.
As there seems to be no place in libitm to document internal macros like
USE_HTM_FASTPATH or the new macro, I've put the documentation in a
comment where the macro is used.
2016-03-03 Dominik Vogt <vogt@linux.vnet.ibm.com>
* config/s390/target.h (TARGET_BEGIN_TRANSACTION_ATTRIBUTE): Define
function attribute to disable floating point in begin_transaction() on
S/390.
* beginend.cc (begin_transaction): Use
TARGET_BEGIN_TRANSACTION_ATTRIBUTE.
Richard Biener [Thu, 3 Mar 2016 09:12:53 +0000 (09:12 +0000)]
re PR tree-optimization/55936 (Missed VRP optimization)
2016-03-03 Richard Biener <rguenther@suse.de>
PR tree-optimization/55936
* tree-vrp.c (compare_name_with_value): Add use_equiv_p
parameter and guard unsafe equivalence use.
(vrp_evaluate_conditional_warnv_with_ops): Always use
safe equivalences but not via the quadratic compare_names
helper.
re PR target/70014 ([ARM] Predicate does not match constraint (*subsi3_carryin_const))
2016-03-03 Michael Collison <michael.collison@linaro.org>
PR target/70014
* config/arm/arm.md (*subsi3_carryin_const): Change predicate
for operand 1 to s_register_operand. Change predicate for operand
2 to arm_not_immediate_operand.
re PR libffi/70024 (libffi ABI change w/o SONAME bump)
PR libffi/70024
* Makefile.am (libffi_version_script): Look in cwd for libffi.map.
(libffi_version_dep, libffi.map-sun): Likewise.
(libffi.map): New target.
* libffi.map.in: Rename from libffi.map. Add required defines,
includes, and conditionals.