- 18 Jul, 2019 5 commits
-
-
2019-07-18 Richard Biener <rguenther@suse.de> * tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): Refactor branches to make code less indented. From-SVN: r273567
Richard Biener committed -
In CL 183850 a change was made to combine tracking/discovery of exported types and imported packages during export data generation. As a result of this refactoring a bug was introduced: the new code can potentially insert items into the exports set (an unordered_set) while iterating through the same set, which is illegal according to the spec for std::unordered_set. This patch fixes the problem by changing the type discovery phase to iterate through a separate list of sorted exports, as opposed to iterating through the main unordered set. Also included is a change to fix the code that looks for variables that are referenced from inlined routine bodies (this code wasn't scanning all of the function that it needed to scan). New test case for this problem in CL 186697. Updates golang/go#33020. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/185977 From-SVN: r273564
Ian Lance Taylor committed -
The initial patch for PR 81824 fixed various possibilities of -Wmissing-attributes reporting duplicates and false positives. The test that avoided them was a little obscure, though, so this patch rewrites it into a more self-evident form. The patch also adds a testcase that already passed, but that explicitly covers some of the possibilities of reporting duplicates and false positives that preexisting tests did not cover. for gcc/ChangeLog PR middle-end/81824 * attribs.c (decls_mismatched_attributes): Simplify the logic that avoids duplicates and false positives. for gcc/testsuite/ChangeLog PR middle-end/81824 * g++.dg/Wmissing-attributes-1.C: New. Some of its fragments are from Martin Sebor. From-SVN: r273563
Alexandre Oliva committed -
From-SVN: r273562
GCC Administrator committed -
pa.c (pa_som_asm_init_sections): Don't force all constant data into data section when generating PIC code. * config/pa/pa.c (pa_som_asm_init_sections): Don't force all constant data into data section when generating PIC code. (pa_select_section): Use pa_reloc_rw_mask() to qualify relocs. (pa_reloc_rw_mask): Return 3 when generating PIC code and when generating code for SOM targets earlier than HP-UX 11. Otherwise, return 2 for SOM and 0 for other targets. From-SVN: r273557
John David Anglin committed
-
- 17 Jul, 2019 14 commits
-
-
* tree-ssa-dse.c (initialize_ao_ref_for_dse): Fix formatting. (dse_walker::dse_optimize_stmt): Likewise. Add missing return to avoid unexpected switch statement fallthru. From-SVN: r273556
Jeff Law committed -
* config/i386/i386.md (*add<dwi>3_doubleword): Remove redundant constraints. (*add<mode>_1): Ditto. (*addhi_1): Ditto. (*addqi_1): Ditto. (*addqi_1_slp): Ditto. (*add<mode>_2): Ditto. (*addv<mode>4): Ditto. (*sub<dwi>3_doubleword): Ditto. (*sub<mode>_1): Ditto. (*subqi_1_slp): Ditto. (*sub<mode>_2): Ditto. (*subv<mode>4): Ditto. (*sub<mode>_3): Ditto. (@add<mode>3_carry): Ditto. (@sub<mode>3_carry): Ditto. (*add<mode>3_cc_overflow_1): Ditto. (*add<mode>3_zext_cc_overflow_2): Ditto. (*anddi_1): Ditto. (*and<mode>_1): Ditto. (*andqi_1): Ditto. (*andqi_1_slp): Ditto. (*anddi_2): Ditto. (*andqi_2_maybe_si): Ditto. (*and<mode>_2): Ditto. (*andqi_2_slp): Ditto. (*<code><mode>_1): Ditto. (*<code>qi_1): Ditto. (*<code>qi_1_slp): Ditto. (*<code><mode>_2): Ditto. (*<code>qi_2_slp): Ditto. From-SVN: r273554
Uros Bizjak committed -
PR c++/90455 * g++.dg/cpp0x/nsdmi-list6.C: New test. From-SVN: r273553
Marek Polacek committed -
* alias.c (record_component_aliases): Do not simplify pointed-to types of ODR types * testsuite/g++.dg/lto/alias-4_0.C From-SVN: r273552
Jan Hubicka committed -
* config/i386/i386.md (*andqi_2_maybe_si): Handle potential partial reg stall on alternative 2. From-SVN: r273551
Uros Bizjak committed -
2019-07-17 Richard Biener <rguenther@suse.de> PR tree-optimization/91178 * tree-ssa.c (release_defs_bitset): Iterate from higher to lower SSA names to avoid quadratic behavior in the common case. * tree-data-ref.c (split_constant_offset): Add limit argument and pass it down. Initialize it from PARAM_SSA_NAME_DEF_CHAIN_LIMIT. (split_constant_offset_1): Add limit argument and use it to limit SSA def walking. Optimize the common plus/minus case. From-SVN: r273550
Richard Biener committed -
2019-07-17 Richard Biener <rguenther@suse.de> PR tree-optimization/91178 * tree-vect-stmts.c (get_group_load_store_type): For SLP loads with a gap larger than the vector size always use VMAT_STRIDED_SLP. (vectorizable_load): For VMAT_STRIDED_SLP with a permutation avoid loading vectors that are only contained in the gap and thus are not needed. * gcc.dg/torture/pr91178.c: New testcase. From-SVN: r273549
Richard Biener committed -
2019-07-17 Richard Biener <rguenther@suse.de> PR tree-optimization/91180 * tree-ssa-sccvn.c (vn_reference_lookup_3): Fix offset computation for memset partial defs. * gcc.dg/torture/pr91180.c: New testcase. From-SVN: r273548
Richard Biener committed -
From-SVN: r273547
Andreas Schwab committed -
re PR tree-optimization/91157 (ICE: verify_gimple failed (error: position plus size exceeds size of referenced object in 'bit_field_ref')) PR tree-optimization/91157 * tree-vect-generic.c (expand_vector_comparison): Handle lhs being a vector boolean with scalar mode. (expand_vector_condition): Handle first operand being a vector boolean with scalar mode. (expand_vector_operations_1): For comparisons, don't bail out early if the return type is vector boolean with scalar mode, but comparison operand type is not. * gcc.target/i386/avx512f-pr91157.c: New test. * gcc.target/i386/avx512bw-pr91157.c: New test. From-SVN: r273545
Jakub Jelinek committed -
* gimple.h (enum gf_mask): Remove GF_OMP_FOR_SIMD, change GF_OMP_FOR_KIND_SIMD to a value serially after other kinds, divide GF_OMP_FOR_KIND_MASK, GF_OMP_FOR_COMBINED, GF_OMP_FOR_COMBINED_INTO, GF_OMP_FOR_GRID_PHONY, GF_OMP_FOR_GRID_INTRA_GROUP and GF_OMP_FOR_GRID_GROUP_ITER by two. * omp-grid.c (grid_process_grid_body, grid_eliminate_combined_simd_part): Use GF_OMP_FOR_KIND_SIMD instead of GF_OMP_FOR_SIMD, don't test & GF_OMP_FOR_SIMD but == GF_OMP_FOR_KIND_SIMD. * omp-low.c (build_outer_var_ref, scan_sharing_clauses, check_omp_nesting_restrictions, scan_omp_1_stmt, lower_rec_input_clauses, lower_lastprivate_conditional_clauses, lower_lastprivate_clauses, lower_reduction_clauses, lower_omp_scan, omp_find_scan): Likewise. * omp-expand.c (expand_omp_for): Likewise. * omp-general.c (omp_extract_for_data): Likewise. From-SVN: r273544
Jakub Jelinek committed -
re PR tree-optimization/91157 (ICE: verify_gimple failed (error: position plus size exceeds size of referenced object in 'bit_field_ref')) PR tree-optimization/91157 * tree-vect-generic.c (expand_vector_comparison): Handle lhs being a vector boolean with scalar mode. (expand_vector_condition): Handle first operand being a vector boolean with scalar mode. (expand_vector_operations_1): For comparisons, don't bail out early if the return type is vector boolean with scalar mode, but comparison operand type is not. * gcc.target/i386/avx512f-pr91157.c: New test. * gcc.target/i386/avx512bw-pr91157.c: New test. From-SVN: r273543
Jakub Jelinek committed -
2019-07-17 Richard Biener <rguenther@suse.de> PR tree-optimization/91181 * tree-vect-slp.c (vect_build_slp_tree_1): Do not compare IFN_LOADs as calls. * gcc.dg/pr91181.c: New testcase. From-SVN: r273542
Richard Biener committed -
From-SVN: r273541
GCC Administrator committed
-
- 16 Jul, 2019 20 commits
-
-
2019-07-16 Harald Anlauf <anlauf@gmx.de> PR fortran/90903 * libgfortran.h: Add mask for -fcheck=bits option. * options.c (gfc_handle_runtime_check_option): Add option "bits" to run-time checks selectable via -fcheck. * trans-intrinsic.c (gfc_conv_intrinsic_btest) (gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ibits) (gfc_conv_intrinsic_shift, gfc_conv_intrinsic_ishft) (gfc_conv_intrinsic_ishftc): Implement run-time checks for the POS, LEN, SHIFT, and SIZE arguments. * gfortran.texi: Document run-time checks for bit manipulation intrinsics. * invoke.texi: Document new -fcheck=bits option. PR fortran/90903 * gfortran.dg/check_bits_1.f90: New testcase. From-SVN: r273535
Harald Anlauf committed -
* config/i386/i386.md (*testdi_1): Match CCZmode for constants that might have the SImode sign bit set. (*testqi_1_maybe_si): Remove "!" constraint modifier. Use correct constraints for pentium pairing. (*test<mode>_1): Ditto. From-SVN: r273534
Uros Bizjak committed -
PR rtl-optimization/91173 * g++.dg/pr91173.C: New test. From-SVN: r273531
Jeff Law committed -
PR rtl-optimization/91173 * tree-ssa-address.c (addr_for_mem_ref): If the base is an SSA_NAME with a constant value, fold its value into the offset and clear the base before calling gen_addr_rtx. From-SVN: r273529
Jeff Law committed -
testsuite/ PR target/89190 * gcc.target/arm/pr89190.c: New test. From-SVN: r273524
Wilco Dijkstra committed -
re PR rtl-optimization/91164 (ICE in verify_dominators, at dominance.c:1184 (error: dominator of 114 should be 112, not 16)) PR rtl-optimization/91164 * dse.c (rest_of_handle_dse): If dead edges have been purged, invalidate dominance info. * g++.dg/opt/pr91164.C: New test. From-SVN: r273522
Jakub Jelinek committed -
* g++.dg/lto/alias-1_0.C: Use -O3. * g++.dg/lto/alias-2_0.C: Use -O3. * g++.dg/lto/alias-3_0.C: Add loop to enable inlining with -fno-use-linker-plugin. * g++.dg/lto/alias-3_1.C: Remove dg-lto-do and dg-lto-options. From-SVN: r273520
Jan Hubicka committed -
* gcc.dg/tree-ssa/pr84512.c: Don't xfail scan-tree-dump on sparcv9. From-SVN: r273519
Rainer Orth committed -
* gcc.dg/autopar/pr91162.c: Require int128 support. From-SVN: r273518
Rainer Orth committed -
Many places in the parser follow the same pattern of capturing the location of the last lexed token, either before or after lexing it, and then using that as the end of a location range; this can be simplified by passing the lexer to make_location and grabbing the token location there. * parser.c (make_location): Add overload taking cp_lexer* as last parameter. From-SVN: r273516
Jason Merrill committed -
C++20 concepts require parens around atomic constraints that are not primary-expressions. * include/std/memory (uses_allocator_construction_args): Add parens around constraint. From-SVN: r273515
Jason Merrill committed -
Previously, the tentative parses for optional type-specifier and to support class template argument deduction were combined awkwardly. This reorganization was motivated by the new concepts branch. * parser.c (cp_parser_simple_type_specifier): Separate tentative parses for optional type-spec and CTAD. From-SVN: r273514
Jason Merrill committed -
On the concepts branch I ran into trouble where a pre-parsed dependent nested-name-specifier got replaced on a subsequent parse with is_declaration by one with typenames resolved, which was then used wrongly on a further parse with !is_declaration. * parser.c (cp_parser_nested_name_specifier_opt): If the token is already CPP_NESTED_NAME_SPECIFIER, leave it alone. From-SVN: r273513
Jason Merrill committed -
This patch reports an error if the .md file has an unscoped attribute that maps to more than one possible value. 2019-07-16 Richard Sandiford <richard.sandiford@arm.com> gcc/ * read-md.h (md_reader::record_potential_iterator_use): Add a file_location parameter. * read-rtl.c (attribute_use::loc): New field. (map_attr_string): Take a file_location parameter. Report cases in which attributes map to multiple distinct values. (apply_attribute_uses): Update call accordingly. (md_reader::handle_overloaded_name): Likewise. (md_reader::apply_iterator_to_string): Likewise. Skip empty nonnull strings. (record_attribute_use): Take a file_location parameter. Initialize attribute_use::loc. (md_reader::record_potential_iterator_use): Take a file_location parameter. Update call to record_attribute_use. (rtx_reader::rtx_alloc_for_name): Update call accordingly. (rtx_reader::read_rtx_code): Likewise. (rtx_reader::read_rtx_operand): Likewise. Record a location for implicitly-expanded empty strings. From-SVN: r273511
Richard Sandiford committed -
Also make it public, so that clients can use the location for error reporting. 2019-07-16 Richard Sandiford <richard.sandiford@arm.com> gcc/ * read-md.h (md_reader::ptr_loc): Moved from read-md.c. Use file_location instead of separate fields. (md_reader::set_md_ptr_loc): Take a file_location instead of a separate filename and line number. * read-md.c (ptr_loc): As above. (md_reader::copy_md_ptr_loc): Update for new ptr_loc layout. (md_reader::fprint_md_ptr_loc): Likewise. (md_reader::set_md_ptr_loc): Likewise. Take a file_location instead of a separate filename and line number. (md_reader::read_string): Update call accordingly. From-SVN: r273510
Richard Sandiford committed -
This patch is part of a series that fixes ambiguous attribute uses in .md files, i.e. cases in which attributes didn't use <ITER:ATTR> to specify an iterator, and in which <ATTR> could have different values depending on the iterator chosen. No behavioural change -- produces the same code as before except for formatting and line numbers. 2019-07-16 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/rs6000/rs6000.md (*mov<mode>_update1): Explicitly use <SFDF:mode>, <SFDF:MODE>, <SFDF:Ff> and <SFDF:bits> rather than leaving the choice between SFDF and P implicit. (*mov<mode>_update2): Likewise. (*cmp<IBM128:mode>_internal2): Explicitly use <IBM128:MODE> rather than leaving the choice betweem IBM128 and GPR implicit. (*fix<uns>_trunc<IEEE128:mode><QHSI:mode>2_mem): Explicitly use <IEEE128:MODE> rather than leaving the choice between IEEE128 and QHSI implicit. (AltiVec define_peephole2s): Explicitly use <ALTIVEC_DFORM:MODE> rather than leaving the choice between ALTIVEC_DFORM and P implicit. * config/rs6000/vsx.md (*vsx_ext_<VSX_EXTRACT_I:VS_scalar>_fl_<FL_CONV:mode>) (*vsx_ext_<VSX_EXTRACT_I:VS_scalar>_ufl_<FL_CONV:mode>): Explicitly use <FL_CONV:VSisa> rather than leaving the choice between FL_CONV and VSX_EXTRACT_I implicit. From-SVN: r273509
Richard Sandiford committed -
This patch is part of a series that fixes ambiguous attribute uses in .md files, i.e. cases in which attributes didn't use <ITER:ATTR> to specify an iterator, and in which <ATTR> could have different values depending on the iterator chosen. No behavioural change -- produces the same code as before. 2019-07-16 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/mips/micromips.md (*movep<MOVEP1:mode><MOVEP2:mode>): Explicitly use <MOVEP1:MODE> for the mode attribute. From-SVN: r273508
Richard Sandiford committed -
Apply Honza's fix for an aarch64-linux-gnu bootstrap failure. 2019-07-16 Jan Hubicka <hubicka@ucw.cz> gcc/ PR bootstrap/91176 * ipa-fnsummary.c (analyze_function_body): Skip debug stmts From-SVN: r273507
Jan Hubicka committed -
From-SVN: r273506
Jason Merrill committed -
From-SVN: r273505
GCC Administrator committed
-
- 15 Jul, 2019 1 commit
-
-
From-SVN: r273501
Uros Bizjak committed
-