- 05 Aug, 2019 11 commits
-
-
From-SVN: r274120
Jason Merrill committed -
Adding SVE intrinsics on top of the existing AArch64 intrinsics blows the 12-bit function_code in tree_function_decl. That bitfield has no spare bits, but it comes at the end of the structure and is preceded by a pointer, so on LP64 hosts there's currently a 32-bit hole at end. This patch therefore makes function_code an independent field and moves the bitfield to the 32-bit hole. I wondered about instead making function_code 16 bits, so that the patch leaves 28 spare bits instead of just 12. That seemed a bit short-term though; I can't guarantee that we won't blow 16 bits once the SVE2 functions are added... If we run out of bits again, we can start chomping from the top of the enum. E.g. 24 bits should surely be enough, but there's no point paying the overhead of the masking until we need it. 2019-08-05 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-core.h (tree_function_decl): Make function_code an independent field. Group the remaining bitfields into bytes and move decl_type so that it contines to be at a byte boundary. Leave 12 bits for future expansion. From-SVN: r274119
Richard Sandiford committed -
This patch folds IFN_MASK_LOAD and IFN_MASK_STOREs to normal accesses if the mask is all-true. This can happen for fully-masked loops that didn't actually need to be (which could be handled by the vectoriser instead), or for unrolled fully-masked loops whose first iteration is guaranteed to operate on a full vector. It's also useful when the accesses are generated directly by intrinsics (to follow for SVE). 2019-08-05 Richard Sandiford <richard.sandiford@arm.com> gcc/ * gimple-fold.c (gimple_fold_mask_load_store_mem_ref) (gimple_fold_mask_load, gimple_fold_mask_store): New functions. (gimple_fold_call): Use them to fold IFN_MASK_LOAD and IFN_MASK_STORE. gcc/testsuite/ * gcc.target/aarch64/sve/mask_load_1.c: New test. From-SVN: r274118
Richard Sandiford committed -
I needed to add another instance of this idiom, so thought it'd be worth having a helper function. 2019-08-05 Richard Sandiford <richard.sandiford@arm.com> gcc/ * gimple.h (gimple_move_vops): Declare. * gimple.c (gimple_move_vops): New function * gimple-fold.c (replace_call_with_call_and_fold) (gimple_fold_builtin_memory_op, gimple_fold_builtin_memset) (gimple_fold_builtin_stpcpy, fold_builtin_atomic_compare_exchange) (gimple_fold_call): Use it. * ipa-param-manipulation.c (ipa_modify_call_arguments): Likewise. * tree-call-cdce.c (use_internal_fn): Likewise. * tree-if-conv.c (predicate_load_or_store): Likewise. * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Likewise. * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise. * tree-ssa-propagate.c (finish_update_gimple_call): Likewise. (update_call_from_tree): Likewise. * tree-vect-stmts.c (vectorizable_load): Likewise. * tree-vectorizer.c (adjust_simduid_builtins): Likewise. From-SVN: r274117
Richard Sandiford committed -
2019-08-05 Jozef Lawrynowicz <jozef.l@mittosystems.com> * gcc.target/msp430/pr80993.c: Add cleanup-saved-temps to final actions. From-SVN: r274116
Jozef Lawrynowicz committed -
2019-08-05 Martin Liska <mliska@suse.cz> PR c++/91334 * tree-ssa-dce.c (propagate_necessity): Handle new operators with not arguments. (eliminate_unnecessary_stmts): Likewise. 2019-08-05 Martin Liska <mliska@suse.cz> PR c++/91334 * g++.dg/torture/pr91334.C: New test. From-SVN: r274115
Martin Liska committed -
2019-08-05 Richard Biener <rguenther@suse.de> PR middle-end/91169 * fold-const.c (get_array_ctor_element_at_index): Create offset_ints according to the sign of the index type and treat that as signed if it is obviously so. * gnat.dg/array37.adb: New testcase. From-SVN: r274114
Richard Biener committed -
PR target/91341 * config/i386/avxintrin.h (_mm256_loadu2_m128, _mm256_storeu2_m128, _mm256_loadu2_m128d, _mm256_storeu2_m128d, _mm256_loadu2_m128i, _mm256_storeu2_m128i): New function. * gcc.target/i386/avx-loadu2-m128-1.c: New test. * gcc.target/i386/avx-loadu2-m128-2.c: New test. * gcc.target/i386/avx-loadu2-m128d-1.c: New test. * gcc.target/i386/avx-loadu2-m128d-2.c: New test. * gcc.target/i386/avx-loadu2-m128i-1.c: New test. * gcc.target/i386/avx-loadu2-m128i-2.c: New test. * gcc.target/i386/avx-storeu2-m128-1.c: New test. * gcc.target/i386/avx-storeu2-m128-2.c: New test. * gcc.target/i386/avx-storeu2-m128d-1.c: New test. * gcc.target/i386/avx-storeu2-m128d-2.c: New test. * gcc.target/i386/avx-storeu2-m128i-1.c: New test. * gcc.target/i386/avx-storeu2-m128i-2.c: New test. From-SVN: r274109
Jakub Jelinek committed -
- argument and return value for libcall won't promote at default_promote_function_mode_always_promote, however we expect it should sign-extend as normal function. - Witout this patch, this test case will fail at -march=rv64i -mabi=lp64. - The implementation of riscv_promote_function_mode is borrowed from MIPS. gcc/ChangeLog * config/riscv/riscv.c (riscv_promote_function_mode): New. (TARGET_PROMOTE_FUNCTION_MODE): Use riscv_promote_function_mode. gcc/testsuite/ChangeLog * gcc.target/riscv/promote-type-for-libcall.c: New. From-SVN: r274107
Kito Cheng committed -
rev 266496 (git ab6b1bb456) undefined some macros in rs6000/freebsd.h but missed doing the same in rs6000/freebsd64.h. PR target/91349 * config/rs6000/freebsd64.h (CPLUSPLUS_CPP_SPEC), (LINK_GCC_C_SEQUENCE_SPEC): Undef. From-SVN: r274105
Alan Modra committed -
From-SVN: r274103
GCC Administrator committed
-
- 04 Aug, 2019 5 commits
-
-
* update_web_docs_svn: Proceed even if the invocation of sphinx fails. From-SVN: r274099
David Malcolm committed -
2019-08-04 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88227 * check.c (oct2bin): New function. Convert octal string to binary. (hex2bin): New function. Convert hexidecimal string to binary. (bin2real): New function. Convert binary string to REAL. Use oct2bin and hex2bin. (gfc_boz2real): Use fallback conversion bin2real. From-SVN: r274096
Steven G. Kargl committed -
* doc/xml/manual/documentation_hacking.xml: doxygen.org is now doxygen.nl. From-SVN: r274094
Gerald Pfeifer committed -
* doc/install.texi (Prerequisites): Remove reference to Tcl 8.6 bug that was fixed in Tcl 8.6.1. From-SVN: r274089
Gerald Pfeifer committed -
From-SVN: r274054
GCC Administrator committed
-
- 03 Aug, 2019 1 commit
-
-
From-SVN: r274037
GCC Administrator committed
-
- 02 Aug, 2019 23 commits
-
-
2019-08-02 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/90985 * decl.c (gfc_match_data): In free-form code, DATA be followed by whitespace. 2019-08-02 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/90985 * gfortran.dg/pr90985.f90: New test. From-SVN: r274033
Steven G. Kargl committed -
From-SVN: r274032
Steven G. Kargl committed -
2019-08-02 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/90297 * match.c (gfc_match_equivalence): Check that EQUIVALENCE is followed by '('. 2019-08-02 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/90297 * gfortran.dg/equiv_10.f90: New test. From-SVN: r274031
Steven G. Kargl committed -
2019-08-02 Michael Meissner <meissner@linux.ibm.com> * config/rs6000/future.md: New file. * config/rs6000/rs6000.md: Include future.md. * config/rs6000/t-rs6000 (MD_INCLUDES): Add future.md. From-SVN: r274030
Michael Meissner committed -
Introduce exception handler ABI #1 to ensure single release, no access after release of reraised Machine_Occurrences, and no failure to re-reraise a Machine_Occurrence. Unlike Ada exceptions, foreign exceptions do not get a new Machine_Occurrence upon reraise, but each handler would delete the exception upon completion, normal or exceptional, save for the case of a 'raise;' statement within the handler, that avoided the delete by clearing the exception pointer that the cleanup would use to release it. The cleared exception pointer might then be used by a subsequent reraise within the same handler. Get_Current_Excep.all would also expose the Machine_Occurrence to reuse by Reraise_Occurrence, even for native exceptions. Under ABI #1, Begin_Handler_v1 claims responsibility for releasing an exception by saving its cleanup and setting it to Claimed_Cleanup. End_Handler_v1 restores the cleanup and runs it, as long as it isn't still Claimed_Cleanup (which indicates an enclosing handler has already claimed responsibility for releasing it), and as long as the same exception is not being propagated up (the next handler of the propagating exception will then claim responsibility for releasing it), so reraise no longer needs to clear the exception pointer, and it can just propagate the exception, just like Reraise_Occurrence. ABI #1 is fully interoperable with ABI #0, i.e., exception handlers that call the #0 primitives can be linked together with ones that call the #1 primitives, and they will not misbehave. When a #1 handler claims responsibility for releasing an exception, even #0 reraises dynamically nested within it will refrain from releasing it. However, when a #0 handler is a handler of a foreign exception that would have been responsible for releasing it with #1, a Reraise_Occurrence of that foreign or other Machine_Occurrence-carrying exception may still cause the exception to be released multiple times, and to be used after it is first released, even if other handlers of the foreign exception use #1. for gcc/ada/ChangeLog * libgnat/a-exexpr.adb (Begin_Handler_v1, End_Handler_v1): New. (Claimed_Cleanup): New. (Begin_Handler, End_Handler): Document. * gcc-interface/trans.c (gigi): Switch to exception handler ABI #1. (Exception_Handler_to_gnu_gcc): Save the original cleanup returned by begin handler, pass it to end handler, and use EH_ELSE_EXPR to pass a propagating exception to end handler. (gnat_to_gnu): Leave the exception pointer alone for reraise. (add_cleanup): Handle EH_ELSE_EXPR, require it by itself. From-SVN: r274029
Alexandre Oliva committed -
re PR c++/56428 ([C++11] "is not a constant expression" when comparing non-type template argument to nullptr) PR c++/56428 * g++.dg/cpp0x/nontype4.C: New test. From-SVN: r274028
Marek Polacek committed -
re PR c++/53009 (pointer to static member function of template class is “invalid” as a template argument of another template class) PR c++/53009 * g++.dg/cpp0x/nontype3.C: New test. From-SVN: r274027
Marek Polacek committed -
function.c (assign_parm_adjust_stack_rtl): Revise STRICT_ALIGNMENT check to use targetm.slow_unaligned_access instead. 2019-08-02 Bernd Edlinger <bernd.edlinger@hotmail.de> * function.c (assign_parm_adjust_stack_rtl): Revise STRICT_ALIGNMENT check to use targetm.slow_unaligned_access instead. From-SVN: r274025
Bernd Edlinger committed -
re PR c++/77575 (Bogus error when alias template yielding a reference type used as template template argument) PR c++/77575 * g++.dg/cpp0x/nontype2.C: New test. From-SVN: r274024
Marek Polacek committed -
2019-08-02 Bernd Edlinger <bernd.edlinger@hotmail.de> * function.c (assign_param_data_one): Remove unused data members. From-SVN: r274023
Bernd Edlinger committed -
2019-08-02 Steve Ellcey <sellcey@marvell.com> * gcc.target/aarch64/simd_pcs_attribute.c: New test. * gcc.target/aarch64/simd_pcs_attribute-2.c: Ditto. * gcc.target/aarch64/simd_pcs_attribute-3.c: Ditto. From-SVN: r274020
Steve Ellcey committed -
2019-08-02 Steve Ellcey <sellcey@marvell.com> * omp-simd-clone.c (simd_clone_adjust_return_type): Remove call to build_distinct_type_copy. (simd_clone_adjust_argument_types): Ditto. (simd_clone_adjust): Call build_distinct_type_copy here. (expand_simd_clones): Ditto. From-SVN: r274019
Steve Ellcey committed -
PR target/91201 * config/i386/sse.md (*vec_extractv16qi_zext): New insn pattern. testsuite/ChangeLog: PR target/91201 * gcc.target/i386/sse4_1-pr91201.c: New test. From-SVN: r274018
Uros Bizjak committed -
* tree-ssa-loop-im.c (sort_bbs_in_loop_postorder_cmp): Simplify casts from 'const void *'. (sort_locs_in_loop_postorder_cmp): Likewise. From-SVN: r274011
Alexander Monakov committed -
* pt.c (value_dependent_expression_p): Consider __PRETTY_FUNCTION__ inside a template function value-dependent. * g++.dg/cpp1y/lambda-generic-pretty1.C: New test. From-SVN: r274009
Marek Polacek committed -
From-SVN: r274008
Uros Bizjak committed -
* doc/invoke.texi (hot-bb-count-fraction): Rework description. (hot-bb-count-ws-permille): Likewise. (hot-bb-frequency-fraction): Likewise. (unlikely-bb-count-fraction): Likewise. * params.def (hot-bb-count-fraction): Rework description. (hot-bb-count-ws-permille): Likewise. (hot-bb-frequency-fraction): Likewise. (unlikely-bb-count-fraction): Likewise. Remove min and max values. * predict.c (get_hot_bb_threshold): Deal with 0 HOT_BB_COUNT_FRACTION. From-SVN: r274006
Eric Botcazou committed -
PR target/91323 * config/i386/i386-expand.c (ix86_unordered_fp_compare) <case LTGT>: Return false. testsuite/ChangeLog: PR target/91323 * gcc.dg/torture/pr91323.c: New test. From-SVN: r274005
Uros Bizjak committed -
2019-08-02 Richard Biener <rguenther@suse.de> * vec.h (vec::sort): Add gcc_qsort_r support. (vec::bsearch): Add an overload with gcc_qsort_r style callbacks. * tree-ssa-loop-im.c (sort_bbs_in_loop_postorder_cmp): Adjust to gcc_qsort_r style callback. (sort_locs_in_loop_postorder_cmp): Likewise. (analyze_memory_references): Use gcc_sort_r interfaces. (find_ref_loc_in_loop_cmp): Use new bsearch overload. From-SVN: r274004
Richard Biener committed -
2019-08-02 Martin Liska <mliska@suse.cz> PR lto/91313 * gcc.c (driver::maybe_run_linker): Call detect_jobserver to detect working job server. (driver::detect_jobserver): Test whether jobserver is active from GCC driver. That will prevent situation where GCC is invoked from a LD plugin and the linker already uses file descriptors suggested by make. That leads to a wrong detection. * gcc.h (driver): Add detect_jobserver. * lto-wrapper.c (jobserver_active_p): Simplify sscanf by not scanning for --jobserver-auth prefix. From-SVN: r274003
Martin Liska committed -
/cp 2019-08-02 Paolo Carlini <paolo.carlini@oracle.com> * tree.c (handle_nodiscard_attribute): Do not warn about nodiscard applied to a constructor. /testsuite 2019-08-02 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp1z/nodiscard6.C: New. From-SVN: r274002
Paolo Carlini committed -
The test assumes 32 bit integers (and pointers), and therefore fails for the avr target, which has 16 bit integers. Fix failure for avr by adding dg-require-effective-target int32. gcc/testsuite/ChangeLog: 2019-08-02 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com> * gcc.dg/torture/ssa-fre-5.c: Add dg-require-effective-target int32. * gcc.dg/torture/ssa-fre-7.c: Likewise. From-SVN: r274001
Senthil Kumar Selvaraj committed -
* gcc.c-torture/pr88140.c: Move to ... * gcc.c-torture/compile/pr88140.c: ... here. From-SVN: r273999
Uros Bizjak committed
-