Age | Commit message (Collapse) | Author | Files | Lines |
|
compiling with -O3)
2017-03-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/79920
* tree-vect-slp.c (vect_create_mask_and_perm): Remove and inline
with ncopies == 1 to ...
(vect_transform_slp_perm_load): ... here. Properly compute
all element loads by iterating VF times over the group. Do
not handle ncopies (computed in a broken way) in
vect_create_mask_and_perm.
* gcc.dg/vect/pr79920.c: New testcase.
From-SVN: r245968
|
|
config/s390/s390.c:7909)
PR sanitizer/79904
* internal-fn.c (expand_vector_ubsan_overflow): If arg0 or arg1
is a uniform vector, use uniform_vector_p return value instead of
building ARRAY_REF on folded VIEW_CONVERT_EXPR to array type.
* gcc.dg/ubsan/pr79904.c: New test.
From-SVN: r245967
|
|
From-SVN: r245966
|
|
PR c/79834
c/
* c-parser.c (c_parser_pragma): Use error_at instead of c_parser_error
for "may only be used in compound statements" diagnostics, change it
such that the same translatable string is used for all pragmas. For
PRAGMA_OACC_WAIT use "acc wait" rather than "acc enter data" in the
diagnostics.
(c_parser_omp_cancellation_point, c_parser_omp_target_update,
c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): Change
"may only be used in compound statements" diagnostics, such that the
same translatable string is used for all pragmas.
cp/
* parser.c (cp_parser_omp_cancellation_point,
cp_parser_omp_target_enter_data, cp_parser_omp_target_exit_data,
cp_parser_omp_target_update): Change "may only be used in compound
statements" diagnostics, such that the same translatable string is
used for all pragmas.
(cp_parser_pragma): Likewise. Use error_at instead of
cp_parser_error for that diagnostics.
testsuite/
* c-c++-common/goacc/pragma_context.c (f2): Adjust expected
diagnostics.
From-SVN: r245959
|
|
gimple-ssa-warn-alloca.c:282)
PR middle-end/79809
* gimple-ssa-warn-alloca.c (pass_walloca::gate): Use HOST_WIDE_INT.
(alloca_call_type): Likewise.
* g++.dg/Walloca1.C: New test.
From-SVN: r245955
|
|
2017-03-07 Martin Liska <mliska@suse.cz>
* gcov.c (process_args): Put comment to correct location.
From-SVN: r245952
|
|
2017-03-07 Martin Liska <mliska@suse.cz>
PR middle-end/68270
* tree-chkp.c (chkp_may_narrow_to_field): Add new argument ref.
Use array_at_struct_end_p instead of DECL_CHAIN (field).
(chkp_narrow_bounds_for_field): Likewise.
(chkp_parse_array_and_component_ref): Pass one more argument to
call.
2017-03-07 Martin Liska <mliska@suse.cz>
PR middle-end/68270
* g++.dg/pr68270.C: New test.
From-SVN: r245951
|
|
2017-03-07 Richard Biener <rguenther@suse.de>
* tree-vect-loop-manip.c (slpeel_add_loop_guard): Preserve
preheaders.
From-SVN: r245950
|
|
As Shmuel reported in <https://gcc.gnu.org/ml/gcc-help/2017-03/msg00009.html>,
on x86-64 small structures in automatic storage are aligned to 16 bytes.
This seems to be because of a mix-up between bits and bytes in the i386
target code.
* config/i386/i386.c (ix86_local_alignment): Align most aggregates
of 16 bytes and more to 16 bytes, not those of 16 bits and more.
From-SVN: r245949
|
|
PR c/79855
* params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Add full stop
to end of description.
(PARAM_MAX_STORES_TO_MERGE): Likewise.
From-SVN: r245948
|
|
PR rtl-optimization/79901
* config/i386/sse.md (*avx512bw_<code><mode>3<mask_name>): Renamed to
...
(*avx512f_<code><mode>3<mask_name>): ... this.
(<code><mode>3 with maxmin code iterator): Use VI8_AVX2_AVX512F
iterator instead of VI8_AVX2_AVX512BW.
* gcc.target/i386/pr79901.c: New test.
From-SVN: r245947
|
|
PR rtl-optimization/79901
* expr.c (expand_expr_real_2): For vector MIN/MAX, if there is no
min/max expander, expand it using expand_vec_cond_expr.
From-SVN: r245946
|
|
ARM target)
PR sanitizer/79897
* ubsan.c (ubsan_encode_value): Call mark_addressable on the
temporary.
* c-c++-common/ubsan/pr79897.c: New test.
From-SVN: r245945
|
|
From-SVN: r245943
|
|
From-SVN: r245937
|
|
PR c++/79821
* dwarf2out.h (dw_vec_const): Change array type from unsigned char *
to void * for PCH reasons.
* dwarf2out.c (output_loc_operands, output_die): Cast
v.val_vec.array to unsigned char *.
From-SVN: r245932
|
|
PR target 77850
* config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and
vector types.
From-SVN: r245931
|
|
From-SVN: r245929
|
|
per insn is achieved (90))
2017-03-06 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/79571
* lra-constraints.c (process_alt_operands): Claculate static
reject and subtract it from overal when there will be only address
reloads.
2017-03-06 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/79571
* gcc.target/i386/pr79571.c: New.
From-SVN: r245928
|
|
PR c++/79796 - ICE with NSDMI and this pointer
* call.c (build_over_call): Handle NSDMI with a 'this' by calling
replace_placeholders.
* g++.dg/cpp0x/nsdmi13.C: New test.
From-SVN: r245927
|
|
For 64-bit targets, the incoming stack of interrupt handler is aligned
to 16 bytes. Update ix86_minimum_incoming_stack_boundary to set the
incoming stack boundary of interrupt handler to 128 for 64-bit targets.
gcc/
2017-03-06 Julia Koval <julia.koval@intel.com>
PR target/79793
* config/i386/i386.c (ix86_minimum_incoming_stack_boundary): Set
incoming stack boundary to 128 for 64-bit targets.
gcc/testsuite/
2017-03-06 Julia Koval <julia.koval@intel.com>
PR target/79793
* gcc.target/i386/interrupt-12.c: Update scan-assembler-times
directives.
* gcc.target/i386/interrupt-13.c: Ditto.
* gcc.target/i386/interrupt-14.c: Ditto.
* gcc.target/i386/interrupt-15.c: Ditto.
From-SVN: r245926
|
|
PR c++/79822
* constexpr.c (cxx_eval_statement_list): Treat empty ({ }) like
({ (void) 0; }).
* g++.dg/cpp0x/constexpr-79822.C: New test.
From-SVN: r245925
|
|
* cp-tree.h, parser.c, pt.c, search.c: Revert.
From-SVN: r245924
|
|
tree-vectorizer.c:482)
2017-03-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/79894
* tree-vectorizer.c (vectorize_loops): Set loop_vectorized_call
to NULL after folding it.
* gcc.dg/vect/pr79887.c: New testcase.
From-SVN: r245923
|
|
mapped memory)
2017-03-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/79824
* tree-vect-stmts.c (get_group_load_store_type): Fix alignment
check disabling peeling for gaps.
* gcc.dg/vect/pr79824-1.c: New testcase.
* gcc.dg/vect/pr79824-2.c: Likewise.
From-SVN: r245922
|
|
gcc/
* doc/sourcebuild.texi (Effective-Target Keywords, Environment
attributes): Document gettimeofday.
gcc/testsuite/
* gcc.dg/lto/pr60449_0.c: Add dg-require-effective-target for
gettimeofday. Remove dg-skip-if for AVR.
* lib/target-supports.exp (check_effective_target_gettimeofday):
New proc.
From-SVN: r245921
|
|
2017-03-06 Richard Biener <rguenther@suse.de>
PR fortran/79894
* trans.c (gfc_add_modify_loc): Weaken assert.
From-SVN: r245919
|
|
The following patch defines the PARAM_MIN_VECT_LOOP_BOUND parameter in
the s390 backend. It helps with the vectorization epilogue problem
described here [1].
I see an overall performance increase of > 1% in SPECfp2006, yet some
cases like cactusADM regress. This seems to be caused by the vectorizer
creating an epilogue guard for one more iteration than before, which, in
turn, causes e.g. predcom to run on the epilogue that it used to ignore
before ("Loop iterates only 1 time, nothing to do."). Subsequent,
minor, effects cause an eventual slowdown.
Until the reason for the bad epilogue code is understood, this patch
mitigates the problem. When investigating the issue, I stumbled across
an attempt to vectorize the epilogue itself as well as combine it with
the vectorized loop in addition to vector masking [2]. A similar
approach might also help here. My original observation of high register
pressure within the epilogue still stands. In this specific case, it
would most likely suffice to save all registers once, run the epilogue
and restore the registers. I'm pretty sure this would be faster than
the "spill fest" that's currently happening.
Regards
Robin
[1] https://gcc.gnu.org/ml/gcc/2017-01/msg00234.html
[2] https://gcc.gnu.org/ml/gcc-patches/2016-05/msg01562.html
gcc/ChangeLog:
2017-03-06 Robin Dapp <rdapp@linux.vnet.ibm.com>
* config/s390/s390.c (s390_option_override_internal): Set
PARAM_MIN_VECT_LOOP_BOUND
From-SVN: r245918
|
|
The following patch changes "nopr %r7" to "nopr %r0" which is
advantageous from a hardware perspective. It will only be emitted for
hotpatching and should not impact normal code.
gcc/ChangeLog:
2017-03-06 Robin Dapp <rdapp@linux.vnet.ibm.com>
* config/s390/s390.c (s390_asm_output_function_label): Use nopr %r0.
* config/s390/s390.md: Likewise.
gcc/testsuite/ChangeLog:
2017-03-06 Robin Dapp <rdapp@linux.vnet.ibm.com>
* gcc.target/s390/hotpatch-1.c: Check for nopr %r0.
* gcc.target/s390/hotpatch-10.c: Likewise.
* gcc.target/s390/hotpatch-11.c: Likewise.
* gcc.target/s390/hotpatch-12.c: Likewise.
* gcc.target/s390/hotpatch-13.c: Likewise.
* gcc.target/s390/hotpatch-14.c: Likewise.
* gcc.target/s390/hotpatch-15.c: Likewise.
* gcc.target/s390/hotpatch-16.c: Likewise.
* gcc.target/s390/hotpatch-17.c: Likewise.
* gcc.target/s390/hotpatch-18.c: Likewise.
* gcc.target/s390/hotpatch-19.c: Likewise.
* gcc.target/s390/hotpatch-2.c: Likewise.
* gcc.target/s390/hotpatch-26.c: Likewise.
* gcc.target/s390/hotpatch-27.c: Likewise.
* gcc.target/s390/hotpatch-28.c: Likewise.
* gcc.target/s390/hotpatch-3.c: Likewise.
* gcc.target/s390/hotpatch-4.c: Likewise.
* gcc.target/s390/hotpatch-5.c: Likewise.
* gcc.target/s390/hotpatch-6.c: Likewise.
* gcc.target/s390/hotpatch-7.c: Likewise.
* gcc.target/s390/hotpatch-8.c: Likewise.
* gcc.target/s390/hotpatch-9.c: Likewise.
From-SVN: r245917
|
|
2017-03-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/64574
* g++.dg/template/crash125.C: New.
From-SVN: r245916
|
|
PR target/79812
* config/i386/sse.md (VI8F_256_512): Remove mode iterator.
(<avx2_avx512>_perm<mode>): Rename to ...
(avx2_perm<mode>): ... this. Use VI8F_256 iterator instead
of VI8F_256_512.
(<avx512>_perm<mode>_mask): Rename to ...
(avx512vl_perm<mode>_mask): ... this. Use VI8F_256 iterator instead
of VI8F_256_512.
(<avx2_avx512>_perm<mode>_1<mask_name>): Rename to ...
(avx2_perm<mode>_1<mask_name): ... this. Use VI8F_256 iterator
instead of VI8F_256_512.
(avx512f_perm<mode>): New define_expand.
(avx512f_perm<mode>_mask): Likewise.
(avx512f_perm<mode>_1<mask_name>): New define_insn.
(<avx512>_vec_dup<mode>_1): Fix up vec_select mode.
* gcc.target/i386/avx512f-vpermq-imm-3.c: New test.
From-SVN: r245915
|
|
gcc/testsuite/
* gcc.target/mips/inline-memcpy-3.c (dg-options): Add -mabi=32.
From-SVN: r245914
|
|
if_then_else.
gcc/
* config/mips/mips-msa.md (msa_fmax_a_<msafmt>, msa_fmin_a_<msafmt>,
msa_max_a_<msafmt>, msa_min_a_<msafmt>): Introduce mode interator for
if_then_else.
(smin<mode>3, smax<mode>3): Change operand print code from 'B' to 'E'.
gcc/testsuite/
* gcc.target/mips/msa-minmax.c: New tests.
From-SVN: r245913
|
|
2017-03-06 Martin Liska <mliska@suse.cz>
PR sanitize/79783
* asan.c (asan_expand_poison_ifn): Do not expand ASAN_POISON
when having a SSA NAME w/o VAR_DECL assigned to it.
2017-03-06 Martin Liska <mliska@suse.cz>
PR sanitize/79783
* g++.dg/asan/pr79783.C: New test.
From-SVN: r245912
|
|
gcc/
* config/mips/mips-msa.md (msa_dotp_<su>_d, msa_dpadd_<su>_d,
msa_dpsub_<su>_d): Fix MODE for vec_select.
gcc/testsuite/
* gcc.target/mips/msa-dotp.c: New tests.
From-SVN: r245911
|
|
gcc/
* config/mips/mips.c (mips_gen_const_int_vector): Change type of last
argument.
* config/mips/mips-protos.h (mips_gen_const_int_vector): Likewise.
gcc/testsuite/
* gcc.target/mips/msa-bclri.c: New test.
From-SVN: r245910
|
|
2017-03-06 Richard Biener <rguenther@suse.de>
* lto-streamer.c (lto_check_version): Use %qs in diagnostics.
* plugin.c (register_plugin_info): Likewise.
* tree-chkp.c (chkp_make_static_const_bounds): Likewise.
From-SVN: r245909
|
|
From-SVN: r245908
|
|
From-SVN: r245907
|
|
is not a MEM.
* config/i386/sse.md (sse_storehps, sse_storelps,
avx_<castmode><avxsizesuffix>_<castmode>,
avx512f_<castmode><avxsizesuffix>_<castmode>,
avx512f_<castmode><avxsizesuffix>_256<castmode>): Require
in condition that at least one operand is not a MEM.
From-SVN: r245904
|
|
expression ‘foo’ of kind overload)
/cp
2017-03-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/70266
* except.c (build_must_not_throw_expr): Perform the implicit
conversions on the condition.
/testsuite
2017-03-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/70266
* g++.dg/tm/pr70266.C: New.
From-SVN: r245901
|
|
greater then zero.
gcc/fortran/ChangeLog:
2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org>
Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
* check.c (positive_check): Add new function checking constant for
being greater then zero.
(gfc_check_image_status): Add checking of image_status arguments.
(gfc_check_failed_or_stopped_images): Same but for failed_- and
stopped_images function.
* dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE.
* gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST.
(enum gfc_isym_id): Added new intrinsic symbols.
(enum gfc_exec_op): Added EXEC_FAIL_IMAGE.
* gfortran.texi: Added description for the new API functions. Updated
coverage of gfortran of TS18508.
* intrinsic.c (add_functions): Added symbols to resolve new intrinsic
functions.
* intrinsic.h: Added prototypes.
* iresolve.c (gfc_resolve_failed_images): Resolve the failed_images
intrinsic.
(gfc_resolve_image_status): Same for image_status.
(gfc_resolve_stopped_images): Same for stopped_images.
* libgfortran.h: Added prototypes.
* match.c (gfc_match_if): Added matching of FAIL IMAGE statement.
(gfc_match_fail_image): Match a FAIL IMAGE statement.
* match.h: Added prototype.
* parse.c (decode_statement): Added matching for FAIL IMAGE.
(next_statement): Same.
(gfc_ascii_statement): Same.
* resolve.c: Same.
* simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY=
single a constant result can be returne.d
(gfc_simplify_image_status): For COARRAY=single the result is constant.
* st.c (gfc_free_statement): Added FAIL_IMAGE handling.
* trans-decl.c (gfc_build_builtin_function_decls): Added decls of the
new intrinsics.
* trans-expr.c (gfc_conv_procedure_call): This is first time all
arguments of a function are optional, which is now handled here
correctly.
* trans-intrinsic.c (conv_intrinsic_image_status): Translate
image_status.
(gfc_conv_intrinsic_function): Add support for image_status.
(gfc_is_intrinsic_libcall): Add support for the remaining new
intrinsics.
* trans-stmt.c (gfc_trans_fail_image): Trans a fail image.
* trans-stmt.h: Add the prototype for the above.
* trans.c (trans_code): Dispatch for fail_image.
* trans.h: Add the trees for the new intrinsics.
libgfortran/ChangeLog:
2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org>
Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
* caf/libcaf.h: Added prototypes and stat codes for failed and stopped
images.
* caf/single.c (void _gfortran_caf_fail_image): Add the routine.
(int _gfortran_caf_image_status): Same.
(_gfortran_caf_failed_images): Same.
(_gfortran_caf_stopped_images): Same.
gcc/testsuite/ChangeLog:
2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org>
Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
* gfortran.dg/coarray/fail_image_1.f08: New test.
* gfortran.dg/coarray/fail_image_2.f08: New test.
* gfortran.dg/coarray/failed_images_1.f08: New test.
* gfortran.dg/coarray/failed_images_2.f08: New test.
* gfortran.dg/coarray/image_status_1.f08: New test.
* gfortran.dg/coarray/image_status_2.f08: New test.
* gfortran.dg/coarray/stopped_images_1.f08: New test.
* gfortran.dg/coarray/stopped_images_2.f08: New test.
* gfortran.dg/coarray_fail_st.f90: New test.
* gfortran.dg/coarray_failed_images_1.f08: New test.
* gfortran.dg/coarray_image_status_1.f08: New test.
* gfortran.dg/coarray_stopped_images_1.f08: New test.
From-SVN: r245900
|
|
From-SVN: r245897
|
|
* c.opt (Wnoexcept-type): New.
gcc/cp/
* mangle.c (mangle_decl): Check -Wnoexcept-type instead of
-Wc++1z-compat.
From-SVN: r245894
|
|
PR c/79847
* c-decl.c (implicit_decl_warning): Add missing space.
From-SVN: r245893
|
|
* call.c (joust): Adjust using-declaration tiebreaker to handle
the intermediate base case.
* method.c (strip_inheriting_ctors): Just return the argument if
!flag_new_inheriting_ctors.
From-SVN: r245892
|
|
check_symbol_not_pointer)
2017-03-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/79841
* openmp.c (check_symbol_not_pointer): Adjust diagnostic.
From-SVN: r245891
|
|
From-SVN: r245890
|
|
From-SVN: r245887
|
|
(error_mark) in store_parm_decls_oldstyle, at c/c-decl.c:8973)
PR c/79758
* c-decl.c (store_parm_decls_oldstyle): Check if the element of
current_function_prototype_arg_types is error_mark_node. Fix
formatting. Use TREE_VALUE instead of TREE_TYPE.
* gcc.dg/noncompile/pr79758.c: New test.
From-SVN: r245886
|