- Sep 27, 2019
-
-
Maciej W. Rozycki authored
A change made with r275564 ("[ARM/FDPIC v6 02/24] [ARM] FDPIC: Handle arm*-*-uclinuxfdpiceabi in configure scripts") to libtool.m4 has not regenerated all the `configure' scripts affected. Fix it. gcc/ * configure: Regenerate. libatomic/ * configure: Regenerate. libbacktrace/ * configure: Regenerate. libcc1/ * configure: Regenerate. libffi/ * configure: Regenerate. libgfortran/ * configure: Regenerate. libgomp/ * configure: Regenerate. libhsail-rt/ * configure: Regenerate. libitm/ * configure: Regenerate. libobjc/ * configure: Regenerate. liboffloadmic/ * configure: Regenerate. libphobos/ * configure: Regenerate. libquadmath/ * configure: Regenerate. libsanitizer/ * configure: Regenerate. libssp/ * configure: Regenerate. libstdc++-v3/ * configure: Regenerate. libvtv/ * configure: Regenerate. lto-plugin/ * configure: Regenerate. zlib/ * configure: Regenerate. From-SVN: r276213
-
Jakub Jelinek authored
PR c++/88203 c-family/ * c-common.h (c_omp_predefined_variable): Declare. * c-omp.c (c_omp_predefined_variable): New function. (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED for predefined variables. c/ * c-parser.c (c_parser_predefined_identifier): New function. (c_parser_postfix_expression): Use it. (c_parser_omp_variable_list): Parse predefined identifiers. * c-typeck.c (c_finish_omp_clauses): Allow predefined variables in shared and firstprivate clauses, even when they are predetermined shared. cp/ * parser.c (cp_parser_omp_var_list_no_open): Parse predefined variables. * semantics.c (finish_omp_clauses): Allow predefined variables in shared and firstprivate clauses, even when they are predetermined shared. * cp-gimplify.c (cxx_omp_predetermined_sharing_1): Return OMP_CLAUSE_DEFAULT_SHARED for predefined variables. testsuite/ * c-c++-common/gomp/pr88203-1.c: New test. * c-c++-common/gomp/pr88203-2.c: New test. * c-c++-common/gomp/pr88203-3.c: New test. From-SVN: r276212
-
Jakub Jelinek authored
PR middle-end/91920 * gimplify.c (omp_default_clause): Predetermine DECL_IN_CONSTANT_POOL variables as shared. * c-c++-common/gomp/pr91920.c: New test. From-SVN: r276211
-
Iain Sandoe authored
Drop the expander and use a mode expander on the define_insn for macho_correct_pic instead. gcc/ChangeLog: 2019-09-27 Iain Sandoe <iain@sandoe.co.uk> * config/rs6000/darwin.md (@macho_correct_pic_<mode>): New, replaces the expander and two define_insn entries. (@reload_macho_picbase_<mode>): Update gen_macho_correct_pic call. * config/rs6000/rs6000.md (builtin_setjmp_receiver): Likewise. From-SVN: r276196
-
David Malcolm authored
gcc/ChangeLog: * fibonacci_heap.h (fibonacci_heap::empty): Make const. (fibonacci_heap::nodes): Likewise. (fibonacci_heap::min_key): Likewise. (fibonacci_heap::min): Likewise. From-SVN: r276193
-
Jason Merrill authored
* constexpr.c (cxx_fold_indirect_ref): Use similar_type_p. Merging the similar_type_p change to the concepts branch broke a cmcstl2 testcase; investigating led me to this small testcase which has always failed on trunk. (cxx_eval_indirect_ref): Likewise. Improve error location. From-SVN: r276192
-
Jason Merrill authored
* cp-tree.h (class iloc_sentinel): New. We didn't already have a sentinel for input_location, and while temp_override would work, it would also happily set input_location to 0, which breaks things that try to look up the associated filename. * decl.c (grokdeclarator, finish_enum_value_list): Use it. * mangle.c (mangle_decl_string): Use it. * pt.c (perform_typedefs_access_check): Use it. From-SVN: r276191
-
David Malcolm authored
gcc/ChangeLog: * cgraph.c (cgraph_node::get_fun): Make const. * cgraph.h (cgraph_node::get_fun): Likewise. From-SVN: r276190
-
Ian Lance Taylor authored
With the current export format, if we already know the type, we don't have to read and parse the definition. We only use the finalizer in Import::finalize_methods, so make it a local variable. To match Finalize_methods::type, only put struct types into real_for_named. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/197700 From-SVN: r276188
-
Ian Lance Taylor authored
Fetching the size of a type typically involves a hash table lookup, and is generally non-trivial. The escape analysis code calls is_big more than one might expect. So only fetch the size if we need it. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/197699 From-SVN: r276187
-
Ian Lance Taylor authored
Just happened to notice this one. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/197698 From-SVN: r276186
-
Jonathan Wakely authored
Fix data race when _Safe_iterator_base::_M_detach() runs concurrently with the _Safe_container_base destructor. PR libstdc++/91910 * src/c++11/debug.cc (_Safe_iterator_base::_M_detach()): Load pointer atomically and lock the mutex before accessing the sequence. (_Safe_local_iterator_base::_M_detach()): Likewise. (_Safe_iterator_base::_M_reset()): Clear _M_sequence atomically. From-SVN: r276184
-
Jakub Jelinek authored
PR target/91919 * config/arm/arm.md (<US>mlal): Remove SE wrappers around operands of SImode MULT. * gcc.c-torture/compile/pr91919.c: New.test From-SVN: r276183
-
Richard Biener authored
2019-09-27 Richard Biener <rguenther@suse.de> * tree-vectorizer.h (_stmt_vec_info::reduc_fn): New. (STMT_VINFO_REDUC_FN): Likewise. * tree-vectorizer.c (vec_info::new_stmt_vec_info): Initialize STMT_VINFO_REDUC_FN. * tree-vect-loop.c (vect_is_simple_reduction): Fix STMT_VINFO_REDUC_IDX for condition reductions. (vect_create_epilog_for_reduction): Compute all required state from the stmt to be vectorized. (vectorizable_reduction): Simplify vect_create_epilog_for_reduction invocation and remove then dead code. For single def-use chains record only a single vector stmt. From-SVN: r276180
-
Manfred Schwarb authored
2019-09-27 Manfred Schwarb <manfred99@gmx.ch> * gfortran.dg/associate_48.f90: Fix a dg directive. * gfortran.dg/auto_in_equiv_1.f90: Ditto. * gfortran.dg/auto_in_equiv_2.f90: Ditto. * gfortran.dg/lto/pr87689_0.f: Ditto. From-SVN: r276179
-
Jakub Jelinek authored
re PR tree-optimization/91885 (ICE when compiling SPEC 2017 blender benchmark with -O3 -fprofile-generate) PR tree-optimization/91885 * gcc.dg/pr91885.c (__int64_t): Change from long to long long. (__uint64_t): Change from unsigned long to unsigned long long. From-SVN: r276178
-
Richard Sandiford authored
It was easier to add the SVE ACLE support without enumerating every function at build time. This in turn meant that it was easier if the SVE builtins occupied a distinct numberspace from the existing AArch64 ones, which *are* enumerated at build time. This patch therefore divides the built-in functions codes into "major" and "minor" codes. At present the major code is just "general", but the SVE patch will add "SVE" as well. Also, it was convenient to put the SVE ACLE support in its own file, so the patch makes aarch64.c provide the frontline target hooks directly, forwarding to the other files for the real work. The reason for organising the files this way is that aarch64.c needs to define the target hook macros whatever happens, and having aarch64.c macros forward to aarch64-builtins.c functions and aarch64-bulitins.c functions forward to the SVE file seemed a bit indirect. Doing things the way the patch does them puts aarch64-builtins.c and the SVE code on more of an equal footing. The aarch64_(general_)gimple_fold_builtin change is mostly just reindentation. 2019-09-27 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/aarch64-protos.h (aarch64_builtin_class): New enum. (AARCH64_BUILTIN_SHIFT, AARCH64_BUILTIN_CLASS): New constants. (aarch64_gimple_fold_builtin, aarch64_mangle_builtin_type) (aarch64_fold_builtin, aarch64_init_builtins, aarch64_expand_builtin): (aarch64_builtin_decl, aarch64_builtin_rsqrt): Delete. (aarch64_general_mangle_builtin_type, aarch64_general_init_builtins): (aarch64_general_fold_builtin, aarch64_general_gimple_fold_builtin): (aarch64_general_expand_builtin, aarch64_general_builtin_decl): (aarch64_general_builtin_rsqrt): Declare. * config/aarch64/aarch64-builtins.c (aarch64_general_add_builtin): New function. (aarch64_mangle_builtin_type): Rename to... (aarch64_general_mangle_builtin_type): ...this. (aarch64_init_fcmla_laneq_builtins, aarch64_init_simd_builtins) (aarch64_init_crc32_builtins, aarch64_init_builtin_rsqrt) (aarch64_init_pauth_hint_builtins, aarch64_init_tme_builtins): Use aarch64_general_add_builtin instead of add_builtin_function. (aarch64_init_builtins): Rename to... (aarch64_general_init_builtins): ...this. Use aarch64_general_add_builtin instead of add_builtin_function. (aarch64_builtin_decl): Rename to... (aarch64_general_builtin_decl): ...this and remove the unused arguments. (aarch64_expand_builtin): Rename to... (aarch64_general_expand_builtin): ...this and remove the unused arguments. (aarch64_builtin_rsqrt): Rename to... (aarch64_general_builtin_rsqrt): ...this. (aarch64_fold_builtin): Rename to... (aarch64_general_fold_builtin): ...this. Take the function subcode and return type as arguments. Remove the "ignored" argument. (aarch64_gimple_fold_builtin): Rename to... (aarch64_general_gimple_fold_builtin): ...this. Take the function subcode and gcall as arguments, and return the new function call. * config/aarch64/aarch64.c (aarch64_init_builtins) (aarch64_fold_builtin, aarch64_gimple_fold_builtin) (aarch64_expand_builtin, aarch64_builtin_decl): New functions. (aarch64_builtin_reciprocal): Call aarch64_general_builtin_rsqrt instead of aarch64_builtin_rsqrt. (aarch64_mangle_type): Call aarch64_general_mangle_builtin_type instead of aarch64_mangle_builtin_type. From-SVN: r276177
-
Richard Sandiford authored
For SVE, we'd like the frontends to check calls to target-specific built-in functions in the same way that they already do for "normal" builtins. This patch adds a target hook for that and extends check_builtin_function_arguments accordingly. A slight complication is that when TARGET_RESOLVE_OVERLOADED_BUILTIN has resolved an overload, it can use build_function_call_vec to build the call to the underlying non-overloaded function decl. This in turn coerces the arguments to the function type and then calls check_builtin_function_arguments to check the final call. If the target does find a problem in this final call, it can be useful to refer to the original overloaded function decl in diagnostics, since that's what the user wrote. The patch therefore passes the original decl as a final optional parameter to build_function_call_vec. 2019-09-27 Richard Sandiford <richard.sandiford@arm.com> gcc/ * target.def (check_builtin_call): New target hook. * doc/tm.texi.in (TARGET_CHECK_BUILTIN_CALL): New @hook. * doc/tm.texi: Regenerate. gcc/c-family/ * c-common.h (build_function_call_vec): Take the original function decl as an optional final parameter. (check_builtin_function_arguments): Take the original function decl. * c-common.c (check_builtin_function_arguments): Likewise. Handle all built-in functions, not just BUILT_IN_NORMAL ones. Use targetm.check_builtin_call to check BUILT_IN_MD functions. gcc/c/ * c-typeck.c (build_function_call_vec): Take the original function decl as an optional final parameter. Pass all built-in calls to check_builtin_function_arguments. gcc/cp/ * cp-tree.h (build_cxx_call): Take the original function decl as an optional final parameter. (cp_build_function_call_vec): Likewise. * call.c (build_cxx_call): Likewise. Pass all built-in calls to check_builtin_function_arguments. * typeck.c (build_function_call_vec): Take the original function decl as an optional final parameter and pass it to cp_build_function_call_vec. (cp_build_function_call_vec): Take the original function decl as an optional final parameter and pass it to build_cxx_call. From-SVN: r276176
-
Richard Sandiford authored
The then/else order of the VEC_COND_EXPRs created by vect_create_epilog_for_reduction meeds to line up with the main VEC_COND_EXPR. 2019-09-27 Richard Sandiford <richard.sandiford@arm.com> gcc/ PR tree-optimization/91909 * tree-vect-loop.c (vect_create_epilog_for_reduction): Take a reduc_index parameter. When handling COND_REDUCTION, make sure that the reduction phi operand is in the correct arm of the VEC_COND_EXPR. (vectorizable_reduction): Pass reduc_index to the above. From-SVN: r276175
-
Yuliang Wang authored
This patch adds combining support for SVE2's shift-right accumulate instructions. 2019-09-27 Yuliang Wang <yuliang.wang@arm.com> gcc/ * config/aarch64/aarch64-sve2.md (aarch64_sve2_sra<mode>): New combine pattern. gcc/testsuite/ * gcc.target/aarch64/sve2/shracc_1.c: New test. From-SVN: r276174
-
Alexandre Oliva authored
Zero-sized fields do not get processed by finish_record_type: they're removed from the field list before and reinserted after, so their DECL_SIZE_UNIT remains unset, causing the translation of assignment statements with use_memset_p, in quite unusual circumstances, to use a NULL_TREE as the memset length. This patch sets DECL_SIZE_UNIT for the zero-sized fields, that don't go through language-independent layout, in language-specific layout. for gcc/ada/ChangeLog * gcc-interface/decl.c (components_to_record): Set DECL_SIZE_UNIT for zero-sized fields. From-SVN: r276173
-
GCC Administrator authored
From-SVN: r276172
-
- Sep 26, 2019
-
-
Ian Lance Taylor authored
PR libbacktrace/91908 * pecoff.c (backtrace_initialize): Explicitly cast unchecked __sync_bool_compare_and_swap to void. * xcoff.c (backtrace_initialize): Likewise. From-SVN: r276168
-
Eric Botcazou authored
* charset.c (UCS_LIMIT): New macro. (ucn_valid_in_identifier): Use it instead of a hardcoded constant. (_cpp_valid_ucn): Issue a pedantic warning for UCNs larger than UCS_LIMIT outside of identifiers in C and in C++2a or later. From-SVN: r276167
-
Max Filippov authored
Xtensa hwloop_optimize segfaults when zero overhead loop is about to be inserted as the first instruction of the function. Insert zero overhead loop instruction into new basic block before the loop when basic block that precedes the loop is empty. 2019-09-26 Max Filippov <jcmvbkbc@gmail.com> gcc/ * config/xtensa/xtensa.c (hwloop_optimize): Insert zero overhead loop instruction into new basic block before the loop when basic block that precedes the loop is empty. gcc/testsuite/ * gcc.target/xtensa/pr91880.c: New test case. * gcc.target/xtensa/xtensa.exp: New test suite. From-SVN: r276166
-
Jakub Jelinek authored
* function.c (gimplify_parameters): Use build_clobber function. * tree-ssa.c (execute_update_addresses_taken): Likewise. * tree-inline.c (expand_call_inline): Likewise. * tree-sra.c (clobber_subtree): Likewise. * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Likewise. * omp-low.c (lower_rec_simd_input_clauses, lower_rec_input_clauses, lower_omp_single, lower_depend_clauses, lower_omp_taskreg, lower_omp_target): Likewise. * omp-expand.c (expand_omp_for_generic): Likewise. * omp-offload.c (ompdevlow_adjust_simt_enter): Likewise. From-SVN: r276165
-
Alessandro Fanfarillo authored
From-SVN: r276164
-
Will Schmidt authored
[gcc] 2019-09-26 Will Schmidt <will_schmidt@vnet.ibm.com> * config/rs6000/rs6000-builtin.def: (LVSL, LVSR, LVEBX, LVEHX, LVEWX, LVXL, LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI, LVX, LVX_V1TI, LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, LVLX, LVLXL, LVRX, LVRXL, LXSDX, LXVD2X_V1TI, LXVD2X_V2DF, LXVD2X_V2DI, LXVDSX, LXVW4X_V4SF, LXVW4X_V4SI, LXVW4X_V8HI, LXVW4X_V16QI, LD_ELEMREV_V1TI, LD_ELEMREV_V2DF, LD_ELEMREV_V2DI, LD_ELEMREV_V4SF, LD_ELEMREV_V4SI, LD_ELEMREV_V8HI, LD_ELEMREV_V16QI): Use the PURE attribute. [testsuite] 2019-09-26 Will Schmidt <will_schmidt@vnet.ibm.com> * gcc.target/powerpc/pure-builtin-redundant-load.c: New. From-SVN: r276163
-
Will Schmidt authored
[gcc] 2019-09-26 Will Schmidt <will_schmidt@vnet.ibm.com> * config/rs6000/rs6000-builtin.def: (LVSL, LVSR, LVEBX, LVEHX, LVEWX, LVXL, LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI, LVX, LVX_V1TI, LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, LVLX, LVLXL, LVRX, LVRXL, LXSDX, LXVD2X_V1TI, LXVD2X_V2DF, LXVD2X_V2DI, LXVDSX, LXVW4X_V4SF, LXVW4X_V4SI, LXVW4X_V8HI, LXVW4X_V16QI, LD_ELEMREV_V1TI, LD_ELEMREV_V2DF, LD_ELEMREV_V2DI, LD_ELEMREV_V4SF, LD_ELEMREV_V4SI, LD_ELEMREV_V8HI, LD_ELEMREV_V16QI): Use the PURE attribute. [testsuite] 2019-09-26 Will Schmidt <will_schmidt@vnet.ibm.com> * gcc.target/powerpc/pure-builtin-redundant-load.c: New. From-SVN: r276162
-
Iain Sandoe authored
We can use the mode iterators directly with an @pattern to avoid the need for an expander that was only there to pass the mode through. gcc/ChangeLog: 2019-09-26 Iain Sandoe <iain@sandoe.co.uk> * config/rs6000/darwin.md: Replace the expanders for load_macho_picbase and reload_macho_picbase with use of '@' in their respective define_insns. (nonlocal_goto_receiver): Pass Pmode to gen_reload_macho_picbase. * config/rs6000/rs6000-logue.c (rs6000_emit_prologue): Pass Pmode to gen_load_macho_picbase. * config/rs6000/rs6000.md: Likewise. From-SVN: r276159
-
Richard Biener authored
2019-09-25 Richard Biener <rguenther@suse.de> PR tree-optimization/91896 * tree-vect-loop.c (vectorizable_reduction): The single def-use cycle optimization cannot apply when there's more than one pattern stmt involved. * gcc.dg/torture/pr91896.c: New testcase. From-SVN: r276158
-
Richard Biener authored
tree-vect-loop.c (vect_analyze_loop_operations): Analyze loop-closed PHIs that are vect_internal_def. 2019-09-26 Richard Biener <rguenther@suse.de> * tree-vect-loop.c (vect_analyze_loop_operations): Analyze loop-closed PHIs that are vect_internal_def. (vect_create_epilog_for_reduction): Exit early for nested cycles. Simplify. (vectorizable_lc_phi): New. * tree-vect-stmts.c (vect_analyze_stmt): Call vectorize_lc_phi. (vect_transform_stmt): Likewise. * tree-vectorizer.h (stmt_vec_info_type): Add lc_phi_info_type. (vectorizable_lc_phi): Declare. From-SVN: r276157
-
Martin Sebor authored
gcc/testsuite/CHangeLog: * gcc.dg/strlenopt-79.c: New test. From-SVN: r276156
-
Jonathan Wakely authored
* include/debug/array (to_array): Define for debug mode. From-SVN: r276155
-
Jonathan Wakely authored
* include/bits/stl_pair.h (pair): Add _GLIBCXX20_CONSTEXPR to piecewise construction constructor, assignment operators, and swap. * include/std/tuple (pair::pair(piecewise_construct_t, tuple, tuple)): Add _GLIBCXX20_CONSTEXPR. (pair::pair(tuple, tuple, _Index_tuple, _Index_tuple)): Likewise. * testsuite/20_util/pair/constexpr_assign.cc: New test. * testsuite/20_util/pair/constexpr_swap.cc: New test. From-SVN: r276154
-
Jonathan Wakely authored
* include/experimental/internet (operator==, operator<): Fix loop condition to avoid reading past the end of the array. From-SVN: r276153
-
Jonathan Wakely authored
* include/std/array: Remove references to profile mode. * include/std/bitset: Likewise. * include/std/deque: Likewise. * include/std/forward_list: Likewise. * include/std/list: Likewise. * include/std/map: Likewise. * include/std/set: Likewise. * include/std/unordered_map: Likewise. * include/std/unordered_set: Likewise. * include/std/vector: Likewise. * testsuite/17_intro/headers/c++1998/profile_mode.cc: New test. * testsuite/17_intro/headers/c++2011/profile_mode.cc: New test. From-SVN: r276152
-
Arnaud Charlet authored
From-SVN: r276151
-
Richard Biener authored
tree-vect-loop.c (vect_analyze_loop_operations): Also call vectorizable_reduction for vect_double_reduction_def. 2019-09-26 Richard Biener <rguenther@suse.de> * tree-vect-loop.c (vect_analyze_loop_operations): Also call vectorizable_reduction for vect_double_reduction_def. (vect_transform_loop): Likewise. (vect_create_epilog_for_reduction): Move double-reduction PHI creation and preheader argument setting of PHIs ... (vectorizable_reduction): ... here. Also process vect_double_reduction_def PHIs, creating the vectorized PHI nodes, remembering the scalar adjustment computed for the epilogue in STMT_VINFO_REDUC_EPILOGUE_ADJUSTMENT. Remember the original reduction code in STMT_VINFO_REDUC_CODE. * tree-vectorizer.c (vec_info::new_stmt_vec_info): Initialize STMT_VINFO_REDUC_CODE. * tree-vectorizer.h (_stmt_vec_info::reduc_epilogue_adjustment): New. (_stmt_vec_info::reduc_code): Likewise. (STMT_VINFO_REDUC_EPILOGUE_ADJUSTMENT): Likewise. (STMT_VINFO_REDUC_CODE): Likewise. From-SVN: r276150
-
Richard Sandiford authored
2019-09-26 Richard Sandiford <richard.sandiford@arm.com> * MAINTAINERS: Add myself as an aarch64 maintainer. From-SVN: r276149
-