- 26 Jun, 2018 18 commits
-
-
2018-06-26 Aaron Sawdey <acsawdey@linux.ibm.com> * config/rs6000/rs6000-string.c (expand_block_clear): Don't use unaligned vsx for 16B memset. From-SVN: r262158
Aaron Sawdey committed -
PR target/86285 * config/rs6000/rs6000.c (rs6000_init_builtins): Do not set ieee128_float_type_node to long_double_type_node unless TARGET_LONG_DOUBLE_128 is set. From-SVN: r262156
Segher Boessenkool committed -
[testsuite] 2018-06-12 Will Schmidt <will_schmidt@vnet.ibm.com> * gcc.target/powerpc/fold-vec-neg-int.p8.c: Specify powerpc_p8vector_ok requirement for this test. * gcc.target/powerpc/fold-vec-neg-int.c: Specify powerpc_p8vector_ok requirement, and -mpower8-vector compile option. From-SVN: r262153
Will Schmidt committed -
We shouldn't init __ieee128 to be the same as long double if the latter is not even a 128-bit type. This also reorders the nearby __ibm128 code so both types use similar logic. PR target/82625 * config/rs6000/rs6000.c (rs6000_init_builtins): Do not set ieee128_float_type_node to long_double_type_node unless TARGET_LONG_DOUBLE_128 is set. From-SVN: r262152
Segher Boessenkool committed -
gcc/ChangeLog: * cfgloop.c (get_loop_location): Convert return type from location_t to dump_user_location_t, replacing INSN_LOCATION lookups by implicit construction from rtx_insn *, and using dump_user_location_t::from_function_decl for the fallback case. * cfgloop.h (get_loop_location): Convert return type from location_t to dump_user_location_t. * cgraphunit.c (walk_polymorphic_call_targets): Update call to dump_printf_loc to pass in a dump_location_t rather than a location_t, via the gimple stmt. * coverage.c (get_coverage_counts): Update calls to dump_printf_loc to pass in dump_location_t rather than a location_t. * doc/optinfo.texi (Dump types): Convert example of dump_printf_loc from taking "locus" to taking "insn". Update description of the "_loc" calls to cover dump_location_t. * dumpfile.c: Include "backend.h", "gimple.h", "rtl.h", and "selftest.h". (dump_user_location_t::dump_user_location_t): New constructors, from gimple *stmt and rtx_insn *. (dump_user_location_t::from_function_decl): New function. (dump_loc): Make static. (dump_gimple_stmt_loc): Convert param "loc" from location_t to const dump_location_t &. (dump_generic_expr_loc): Delete. (dump_printf_loc): Convert param "loc" from location_t to const dump_location_t &. (selftest::test_impl_location): New function. (selftest::dumpfile_c_tests): New function. * dumpfile.h: Include "profile-count.h". (class dump_user_location_t): New class. (struct dump_impl_location_t): New struct. (class dump_location_t): New class. (dump_printf_loc): Convert 2nd param from source_location to const dump_location_t &. (dump_generic_expr_loc): Delete. (dump_gimple_stmt_loc): Convert 2nd param from source_location to const dump_location_t &. * gimple-fold.c (fold_gimple_assign): Update call to dump_printf_loc to pass in a dump_location_t rather than a location_t, via the gimple stmt. (gimple_fold_call): Likewise. * gimple-loop-interchange.cc (loop_cand::analyze_iloop_reduction_var): Update for change to check_reduction_path. (tree_loop_interchange::interchange): Update for change to find_loop_location. * graphite-isl-ast-to-gimple.c (scop_to_isl_ast): Update for change in return-type of find_loop_location. (graphite_regenerate_ast_isl): Likewise. * graphite-optimize-isl.c (optimize_isl): Likewise. * graphite.c (graphite_transform_loops): Likewise. * ipa-devirt.c (ipa_devirt): Update call to dump_printf_loc to pass in a dump_location_t rather than a location_t, via the gimple stmt. * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise. * ipa.c (walk_polymorphic_call_targets): Likewise. * loop-unroll.c (report_unroll): Convert "locus" param from location_t to dump_location_t. (decide_unrolling): Update for change to get_loop_location's return type. * omp-grid.c (struct grid_prop): Convert field "target_loc" from location_t to dump_user_location_t. (grid_find_single_omp_among_assignments_1): Updates calls to dump_printf_loc to pass in a dump_location_t rather than a location_t, via the gimple stmt. (grid_parallel_clauses_gridifiable): Convert "tloc" from location_t to dump_location_t. Updates calls to dump_printf_loc to pass in a dump_location_t rather than a location_t, via the gimple stmt. (grid_inner_loop_gridifiable_p): Likewise. (grid_dist_follows_simple_pattern): Likewise. (grid_gfor_follows_tiling_pattern): Likewise. (grid_target_follows_gridifiable_pattern): Likewise. (grid_attempt_target_gridification): Convert initialization of local "grid" from memset to zero-initialization; FIXME: does this require C++11? Update call to dump_printf_loc to pass in a optinfo_location rather than a location_t, via the gimple stmt. * profile.c (read_profile_edge_counts): Updates call to dump_printf_loc to pass in a dump_location_t rather than a location_t (compute_branch_probabilities): Likewise. * selftest-run-tests.c (selftest::run_tests): Call dumpfile_c_tests. * selftest.h (dumpfile_c_tests): New decl. * tree-loop-distribution.c (pass_loop_distribution::execute): Update for change in return type of find_loop_location. * tree-parloops.c (parallelize_loops): Likewise. * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Convert "locus" from location_t to dump_user_location_t. (canonicalize_loop_induction_variables): Likewise. * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_loop): Update for change in return type of find_loop_location. * tree-ssa-loop-niter.c (number_of_iterations_exit): Update call to dump_printf_loc to pass in a dump_location_t rather than a location_t, via the stmt. * tree-ssa-sccvn.c (eliminate_dom_walker::before_dom_children): Likewise. * tree-vect-loop-manip.c (find_loop_location): Convert return type from source_location to dump_user_location_t. (vect_do_peeling): Update for above change. (vect_loop_versioning): Update for change in type of vect_location. * tree-vect-loop.c (check_reduction_path): Convert "loc" param from location_t to dump_user_location_t. (vect_estimate_min_profitable_iters): Update for change in type of vect_location. * tree-vect-slp.c (vect_print_slp_tree): Convert param "loc" from location_t to dump_location_t. (vect_slp_bb): Update for change in type of vect_location. * tree-vectorizer.c (vect_location): Convert from source_location to dump_user_location_t. (try_vectorize_loop_1): Update for change in vect_location's type. (vectorize_loops): Likewise. (increase_alignment): Likewise. * tree-vectorizer.h (vect_location): Convert from source_location to dump_user_location_t. (find_loop_location): Convert return type from source_location to dump_user_location_t. (check_reduction_path): Convert 1st param from location_t to dump_user_location_t. * value-prof.c (check_counter): Update call to dump_printf_loc to pass in a dump_user_location_t rather than a location_t; update call to error_at for change in type of "locus". (check_ic_target): Update call to dump_printf_loc to pass in a dump_user_location_t rather than a location_t, via the call_stmt. From-SVN: r262149
David Malcolm committed -
* include/bits/regex.tcc (regex_iterator::operator==): Add missing noexcept. From-SVN: r262146
Jonathan Wakely committed -
When building with --with-tune=zEC12 and calling the resulting gcc with --march=z13 (no extra -mtune), the binary would unexpectedly be compiled with -march=z13 -mtune=zEC12. This patch avoids using the default tune parameter if -march is specified as argument but the user can still explicitly state -march=z13 -mtune=zEC12. gcc/ChangeLog: 2018-06-26 Robin Dapp <rdapp@linux.vnet.ibm.com> * config/s390/s390.h (enum processor_flags): Do not use default tune parameter when -march was specified. From-SVN: r262143
Robin Dapp committed -
PR target/86314 * config/i386/i386.md (setcc + movzbl to xor + setcc peephole2s): Check reg_overlap_mentioned_p in addition to reg_set_p with the same operands. * gcc.dg/pr86314.c: New test. From-SVN: r262141
Jakub Jelinek committed -
PR c++/86291 * parser.c (cp_parser_omp_for_loop_init): Change for_block argument type from vec<tree, va_gc> * to vec<tree, va_gc> *&. * testsuite/libgomp.c++/pr86291.C: New test. From-SVN: r262137
Jakub Jelinek committed -
re PR debug/86257 (Program compiled with fPIC crashes while stepping over thread-local variable GDB) PR debug/86257 * gcc.target/i386/pr86257.c: Add -mtls-dialect=gnu to dg-options. From-SVN: r262136
Jakub Jelinek committed -
* gcc.target/i386/pr86257.c: Require 64-bit. From-SVN: r262135
Rainer Orth committed -
* g++.dg/pr86082.C: Require IBM1047 support. From-SVN: r262134
Rainer Orth committed -
From-SVN: r262133
Rasmus Villemoes committed -
2018-06-26 Richard Biener <rguenther@suse.de> PR tree-optimization/86287 PR bootstrap/86316 * tree-vect-loop.c (vect_transform_loop_stmt): Fix read-after-free. (vect_analyze_loop): Initialize n_stmts. From-SVN: r262132
Richard Biener committed -
2018-06-26 Richard Biener <rguenther@suse.de> PR middle-end/86271 * fold-const.c (fold_convertible_p): Pointer extension isn't valid. * gcc.dg/pr86271.c: New testcase. From-SVN: r262131
Richard Biener committed -
We didn't split cross-partition ranges in loclists to output a whole-function location expression, but with nonzero locviews, we force loclists, and then we have to split to avoid cross-partition list entries. for gcc/ChangeLog PR debug/86064 * dwarf2out.c (loc_list_has_views): Adjust comments. (dw_loc_list): Split single cross-partition range with nonzero locview. for gcc/testsuite/ChangeLog PR debug/86064 * gcc.dg/pr86064.c: New. From-SVN: r262130
Alexandre Oliva committed -
(check_effective_target_logical_op_short_circuit): Add v850. From-SVN: r262129
Jeff Law committed -
From-SVN: r262127
GCC Administrator committed
-
- 25 Jun, 2018 22 commits
-
-
* config/v850/predicates.md (const_float_1_operand): Fix match_code test. (const_float_0_operand): Remove unused predicate. * config/v850/v850.md (define_constants): Remove UNSPEC_LOOP. (define_c_enum unspec): Add LOOP, RCP and RSQRT constants. (recipsf2): New expander. Original pattern now called (recipsf2_insn). (recipdf2, recipdf2_insn): Similarly. (rsqrtsf2, rsqrtsf2_insn): Similarly (rsqrtdf2, rsqrtdf2_insn): Similarly From-SVN: r262123
Jeff Law committed -
* ginclude/stddef.h: Remove an obsolete comment on FreeBSD 5. Simplify logic for FreeBSD (twice). From-SVN: r262121
Gerald Pfeifer committed -
This CL ports recent enhancements of the escape analysis in the gc compiler to gofrontend. - CL 99335: unnamed receiver should not escape. - CL 105257: propagate loop depth to field. This prevents it from escaping when a field's address is taken inside a loop (but not otherwise escape). - CL 107597: use element type for "indirection" of slice/string. This prevents the slice/string from escaping when only the element, in case that it is pointerless, flows to outer scope. Reviewed-on: https://go-review.googlesource.com/120760 From-SVN: r262120
Ian Lance Taylor committed -
Dict comprehensions are only supported since Python 2.7, so use an alternative syntax that is backwards compatible. PR libstdc++/86112 * python/libstdcxx/v6/printers.py (add_one_template_type_printer): Replace dict comprehension. From-SVN: r262115
Jonathan Wakely committed -
gcc/ChangeLog: PR tree-optimization/86204 * tree-ssa-strlen.c (handle_builtin_strlen): Avoid storing a strnlen result if it's less than the length of the string. gcc/testsuite/ChangeLog: PR tree-optimization/86204 * gcc.dg/strlenopt-46.c: New test. From-SVN: r262114
Martin Sebor committed -
PR libstdc++/81092 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. From-SVN: r262112
Jonathan Wakely committed -
gcc/ChangeLog: PR tree-optimization/85700 * gimple-fold.c (gimple_fold_builtin_strncat): Adjust comment. * tree-ssa-strlen.c (is_strlen_related_p): Handle integer subtraction. (maybe_diag_stxncpy_trunc): Distinguish strncat from strncpy. gcc/testsuite/ChangeLog: PR tree-optimization/85700 * gcc.dg/Wstringop-truncation-4.c: New test. From-SVN: r262110
Martin Sebor committed -
gcc/ChangeLog: * doc/extend.texi (Zero-length arrays): Update and clarify. From-SVN: r262109
Martin Sebor committed -
2018-06-25 Michael Meissner <meissner@linux.ibm.com> * config.gcc (powerpc64le*): Revert January 16th, 2018 patch that added IEEE/IBM long double multilib support on PowerPC little endian Linux systems. * config/rs6000/linux64.h (MULTILIB_DEFAULTS_IEEE): Likewise. (MULTILIB_DEFAULTS): Likewise. * config/rs6000/rs6000.c (rs6000_option_override_internal): Likewise. * config/rs6000/rs6000.h (TARGET_IEEEQUAD_MULTILIB): Likewise. * config/rs6000/t-ldouble-linux64le-ibm: Delete, no longer used. * config/rs6000/t-ldouble-linux64le-ieee: Delete, no longer used. From-SVN: r262105
Michael Meissner committed -
iso_c_binding. gcc/fortran/ChangeLog: 2018-06-25 Fritz Reese <fritzoreese@gmail.com> PR fortran/82972 PR fortran/83088 PR fortran/85851 * expr.c (component_initializer): Assign init expr to c->initializer. (generate_isocbinding_initializer): New. (gfc_generate_initializer): Call generate_isocbinding_initializer to generate initializers for c_ptr and c_funptr with -finit-derived. gcc/testsuite/ChangeLog: 2018-06-25 Fritz Reese <fritzoreese@gmail.com> PR fortran/82972 PR fortran/83088 PR fortran/85851 * gfortran.dg/init_flag_17.f90: New testcase. From-SVN: r262104
Fritz Reese committed -
PR middle-end/86311 * sort.cc (REORDER_23): Avoid memcpy with same destination and source. (REORDER_45): Likewise. From-SVN: r262092
Alexander Monakov committed -
PR libstdc++/86292 * include/bits/stl_vector.h (vector::_M_range_initialize<InputIter>): Add try-catch block. * testsuite/23_containers/vector/cons/86292.cc: New. From-SVN: r262029
Jonathan Wakely committed -
From-SVN: r262025
Jonathan Wakely committed -
The additions to <experimental/random> were added in 2015 but the new algorithms in <experimental/algorithm> were not. This adds them. * include/experimental/algorithm (sample, shuffle): Add new overloads using per-thread random number engine. * testsuite/experimental/algorithm/sample.cc: Simpify and reduce dependencies by using __gnu_test::test_container. * testsuite/experimental/algorithm/sample-2.cc: New. * testsuite/experimental/algorithm/shuffle.cc: New. From-SVN: r262024
Jonathan Wakely committed -
gcc/testsuite/ChangeLog: 2018-06-25 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/p9-extract-1.c: Make second argument of vec_extract a signed int. Add vec_extract tests for bool char and bool int. * gcc.target/powerpc/p9-extract-4.c: New test file for long long vec_extract tests. From-SVN: r262023
Carl Love committed -
* config/v850/v850.md (divmodhi4): Make sure to sign extend the dividend to 32 bits. Adjust length. (udivmodhi4): Cleanup output template. Fix length. From-SVN: r262022
Jeff Law committed -
2018-06-25 Tom de Vries <tdevries@suse.de> * lib/gcc-gdb-test.exp (report_gdb): Handle gdb -v failure. From-SVN: r262021
Tom de Vries committed -
gcc/ChangeLog: 2018-06-25 Carl Love <cel@us.ibm.com> * config/rs6000/vsx.md: Change word selector to prefered location. Signed-off-by: Carl Love <cel@us.ibm.com> --- gcc/config/rs6000/vsx.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md index a528ef2e8..6e7a4277f 100644 --- a/gcc/config/rs6000/vsx.md +++ b/gcc/config/rs6000/vsx.md @@ -3934,7 +3934,7 @@ operands[5] = gen_rtx_REG (V4SFmode, tmp_regno); operands[6] = gen_rtx_REG (V4SImode, tmp_regno); - operands[7] = GEN_INT (BYTES_BIG_ENDIAN ? 1 : 2); + operands[7] = GEN_INT (BYTES_BIG_ENDIAN ? 0 : 3); operands[8] = gen_rtx_REG (V4SImode, reg_or_subregno (operands[0])); } [(set_attr "type" "vecperm") -- 2.17.1 From-SVN: r262020
Carl Love committed -
re PR regression/86304 ([MIPS] FAIL: gcc.dg/vect/pr79887.c -mmsa (internal compiler error) starting with r261740) 2018-06-25 Richard Biener <rguenther@suse.de> PR tree-optimization/86304 * tree-vectorizer.c (vectorize_loops): Walk over new possibly epilogue-if-converted loops as well. From-SVN: r262017
Richard Biener committed -
PR target/84786 * config/i386/sse.md (vshift_count): New mode attr. (<shift_insn><mode>3<mask_name>): Use <vshift_count>N instead of vN as last operand's constraint for VI2_AVX2_AVX512BW shifts. Use YvN instead of vN as last operand's constraint for VI48_AVX2 shifts. * gcc.target/i386/avx512f-pr84786-3.c: New test. From-SVN: r262015
Jakub Jelinek committed -
* lto-section-out.c (lto_begin_section): Do not print section name for noaddr and unnumbered dumps. From-SVN: r262013
Jan Hubicka committed -
tree-vectorizer.h (struct vec_info_shared): New structure with parts split out from struct vec_info and loop_nest from... 2018-06-25 Richard Biener <rguenther@suse.de> * tree-vectorizer.h (struct vec_info_shared): New structure with parts split out from struct vec_info and loop_nest from struct _loop_vec_info. (struct vec_info): Adjust accordingly. (struct _loop_vec_info): Likewise. (LOOP_VINFO_LOOP_NEST): Adjust. (LOOP_VINFO_DATAREFS): Likewise. (LOOP_VINFO_DDRS): Likewise. (struct _bb_vec_info): Likewise. (BB_VINFO_DATAREFS): Likewise. (BB_VINFO_DDRS): Likewise. (struct _stmt_vec_info): Add dr_aux member. (DR_VECT_AUX): Adjust to refer to member of DR_STMTs vinfo. (DR_MISALIGNMENT_UNINITIALIZED): New. (set_dr_misalignment): Adjust. (dr_misalignment): Assert misalign isn't DR_MISALIGNMENT_UNINITIALIZED. (vect_analyze_loop): Adjust prototype. (vect_analyze_loop_form): Likewise. * tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Compute dependences lazily. (vect_record_base_alignments): Use shared datarefs/ddrs. (vect_verify_datarefs_alignment): Likewise. (vect_analyze_data_refs_alignment): Likewise. (vect_analyze_data_ref_accesses): Likewise. (vect_analyze_data_refs): Likewise. * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Add constructor parameter for shared part. (vect_analyze_loop_form): Pass in shared part and adjust. (vect_analyze_loop_2): Pass in storage for the number of stmts. Move loop nest finding to the caller. Compute datarefs lazily. (vect_analyze_loop): Pass in shared part. (vect_transform_loop): Verify shared datarefs are unchanged. * tree-vect-slp.c (_bb_vec_info::_bb_vec_info): Add constructor parameter for shared part. (vect_slp_analyze_bb_1): Pass in shared part and adjust. (vect_slp_bb): Verify shared datarefs are unchanged before transform. * tree-vect-stmts.c (ensure_base_align): Adjust for DR_AUX change. (new_stmt_vec_info): Initialize DR_AUX misalignment to DR_MISALIGNMENT_UNINITIALIZED. * tree-vectorizer.c (vec_info::vec_info): Add constructor parameter for shared part. (vec_info::~vec_info): Adjust. (vec_info_shared::vec_info_shared): New. (vec_info_shared::~vec_info_shared): Likewise. (vec_info_shared::save_datarefs): Likewise. (vec_info_shared::check_datarefs): Likewise. (try_vectorize_loop_1): Construct shared part live for analyses of a single loop for multiple vector sizes. * tree-parloops.c (gather_scalar_reductions): Adjust. From-SVN: r262009
Richard Biener committed
-