- 12 Jul, 2018 7 commits
-
-
2018-07-12 Richard Biener <rguenther@suse.de> * tree-ssa-sccvn.c (vn_lookup_simplify_result): Remove bogus left-over from last patch. From-SVN: r262578
Richard Biener committed -
PR tree-optimization/86492 * gimple-ssa-store-merging.c (imm_store_chain_info::coalesce_immediate_stores): Call check_no_overlap even for the merge_overlapping case. Formatting fix. * gcc.c-torture/execute/pr86492.c: New test. From-SVN: r262576
Jakub Jelinek committed -
2018-07-12 Richard Biener <rguenther@suse.de> PR c/86453 * c-attribs.c (handle_packed_attribute): Do not build a variant type with TYPE_PACKED, instead ignore the attribute if we may not apply to the original type. * g++.dg/warn/pr86453.C: New testcase. From-SVN: r262575
Richard Biener committed -
2018-07-12 Richard Biener <rguenther@suse.de> PR middle-end/86479 * fold-const.c (fold_binary_op_with_conditional_arg): Do not move possibly trapping operations into the conditional. * gcc.dg/graphite/pr86479.c: New testcase. From-SVN: r262574
Richard Biener committed -
2018-07-12 Richard Biener <rguenther@suse.de> * tree-ssa-sccvn.c (mprts_hook_cnt): Remove. (vn_lookup_simplify_result): Remove recursion limit applied here. (vn_nary_build_or_lookup_1): Adjust. (try_to_simplify): Likewise. * gimple-match-head.c (gimple_resimplify1): Instead apply one here. (gimple_resimplify2): Likewise. (gimple_resimplify3): Likewise. (gimple_resimplify4): Likewise. From-SVN: r262573
Richard Biener committed -
A type alias and its underlying type are identical. Build a single backend type for them. Previously we build two backend types, which sometimes confuse the backend's type system. Also don't include type aliases into the list of named type declarations, since they are not named types. Reviewed-on: https://go-review.googlesource.com/123362 From-SVN: r262572
Ian Lance Taylor committed -
From-SVN: r262571
GCC Administrator committed
-
- 11 Jul, 2018 13 commits
-
-
avx512bitalgintrin.h (_mm512_mask_bitshuffle_epi64_mask): Use __mmask64 type instead of __mmask8 for __M argument. * config/i386/avx512bitalgintrin.h (_mm512_mask_bitshuffle_epi64_mask): Use __mmask64 type instead of __mmask8 for __M argument. * config/i386/avx512fintrin.h (_mm512_mask_xor_epi64, _mm512_maskz_xor_epi64): Use __mmask8 type instead of __mmask16 for __U argument. (_mm512_mask_cmpneq_epi64_mask): Use __mmask8 type instead of __mmask16 for __M argument. (_mm512_maskz_insertf32x4, _mm512_maskz_inserti32x4, _mm512_mask_insertf32x4, _mm512_mask_inserti32x4): Cast last argument to __mmask16 instead of __mmask8. * config/i386/avx512vlintrin.h (_mm_mask_add_ps, _mm_maskz_add_ps, _mm256_mask_add_ps, _mm256_maskz_add_ps, _mm_mask_sub_ps, _mm_maskz_sub_ps, _mm256_mask_sub_ps, _mm256_maskz_sub_ps, _mm256_maskz_cvtepi32_ps, _mm_maskz_cvtepi32_ps): Use __mmask8 type instead of __mmask16 for __U argument. * config/i386/avx512vlbwintrin.h (_mm_mask_cmp_epi8_mask): Use __mmask16 instead of __mmask8 for __U argument. (_mm256_mask_cmp_epi8_mask): Use __mmask32 instead of __mmask16 for __U argument. (_mm256_cmp_epi8_mask): Use __mmask32 return type instead of __mmask16. (_mm_mask_cmp_epu8_mask): Use __mmask16 instead of __mmask8 for __U argument. (_mm256_mask_cmp_epu8_mask): Use __mmask32 instead of __mmask16 for __U argument. (_mm256_cmp_epu8_mask): Use __mmask32 return type instead of __mmask16. (_mm_mask_cmp_epi16_mask): Cast last argument to __mmask8 instead of __mmask16. (_mm256_mask_cvtepi8_epi16): Use __mmask16 instead of __mmask32 for __U argument. (_mm_mask_cvtepi8_epi16): Use __mmask8 instead of __mmask32 for __U argument. (_mm256_mask_cvtepu8_epi16): Use __mmask16 instead of __mmask32 for __U argument. (_mm_mask_cvtepu8_epi16): Use __mmask8 instead of __mmask32 for __U argument. (_mm256_mask_cmpneq_epu8_mask, _mm256_mask_cmplt_epu8_mask, _mm256_mask_cmpge_epu8_mask, _mm256_mask_cmple_epu8_mask): Change return type as well as __M argument type and all casts from __mmask8 to __mmask32. (_mm256_mask_cmpneq_epu16_mask, _mm256_mask_cmplt_epu16_mask, _mm256_mask_cmpge_epu16_mask, _mm256_mask_cmple_epu16_mask): Change return type as well as __M argument type and all casts from __mmask8 to __mmask16. (_mm256_mask_cmpneq_epi8_mask, _mm256_mask_cmplt_epi8_mask, _mm256_mask_cmpge_epi8_mask, _mm256_mask_cmple_epi8_mask): Change return type as well as __M argument type and all casts from __mmask8 to __mmask32. (_mm256_mask_cmpneq_epi16_mask, _mm256_mask_cmplt_epi16_mask, _mm256_mask_cmpge_epi16_mask, _mm256_mask_cmple_epi16_mask): Change return type as well as __M argument type and all casts from __mmask8 to __mmask16. * config/i386/avx512vbmi2vlintrin.h (_mm_mask_shrdi_epi32, _mm_mask_shldi_epi32): Cast last argument to __mmask8 instead of __mmask16. * gcc.target/i386/avx512bw-vpcmpb-2.c (CMP): Use SIZE macro instead of hardcoding size. Cast (rel) to MASK_TYPE. * gcc.target/i386/avx512bw-vpcmpub-2.c (CMP): Likewise. * gcc.target/i386/avx512f-vinserti32x4-3.c: New test. * gcc.target/i386/avx512f-vinsertf32x4-3.c: New test. * gcc.target/i386/avx512vl-vpcmpnequb-2.c: New test. * gcc.target/i386/avx512vl-vpcmpgeub-2.c: New test. * gcc.target/i386/avx512vl-vpcmpleb-2.c: New test. * gcc.target/i386/avx512vl-vpcmpgeb-2.c: New test. * gcc.target/i386/avx512vl-vpcmpltb-2.c: New test. * gcc.target/i386/avx512vl-vpcmpltub-2.c: New test. * gcc.target/i386/avx512vl-vpcmpleub-2.c: New test. * gcc.target/i386/avx512vl-vpcmpneqb-2.c: New test. * gcc.target/i386/avx512vl-vpcmpnequw-2.c: New test. * gcc.target/i386/avx512vl-vpcmpgeuw-2.c: New test. * gcc.target/i386/avx512vl-vpcmplew-2.c: New test. * gcc.target/i386/avx512vl-vpcmpgew-2.c: New test. * gcc.target/i386/avx512vl-vpcmpltw-2.c: New test. * gcc.target/i386/avx512vl-vpcmpltuw-2.c: New test. * gcc.target/i386/avx512vl-vpcmpleuw-2.c: New test. * gcc.target/i386/avx512vl-vpcmpneqw-2.c: New test. 2018-07-11 Grazvydas Ignotas <notasas@gmail.com> * config/i386/avx512bwintrin.h: (_mm512_mask_cmp_epi8_mask, _mm512_mask_cmp_epu8_mask): Use __mmask64 type instead of __mmask32 for __U argument. * gcc.target/i386/avx512bw-vpcmpb-2.c (SIZE): Define to (AVX512F_LEN / 8) instead of (AVX512F_LEN / 16). * gcc.target/i386/avx512bw-vpcmpub-2.c (SIZE): Likewise. From-SVN: r262566
Jakub Jelinek committed -
From-SVN: r262563
Paul Koning committed -
md.texi (define_subst): Document how multiple occurrences of the same argument in the replacement... * doc/md.texi (define_subst): Document how multiple occurrences of the same argument in the replacement pattern are handled. From-SVN: r262562
Paul Koning committed -
* doc/extend.texi (Common Variable Attributes): Move "mode" into alphabetical order. (Common Type Attributes): Add "mode" attribute. From-SVN: r262561
Paul Koning committed -
* lto-streamer-out.c (DFS::DFS_write_tree_body): Do not stream DECL_ORIGINAL_TYPE. (DFS::DFS_write_tree_body): Drop hack handling local external decls. (hash_tree): Do not walk DECL_ORIGINAL_TYPE. * tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers): Do not walk original type. * tree-streamer-out.c (streamer_write_chain): Drop hack handling external decls. (write_ts_decl_non_common_tree_pointers): Do not stream DECL_ORIGINAL_TYPE * tree.c (free_lang_data_in_decl): Clear DECL_ORIGINAL_TYPE. (find_decls_types_r): Do not walk DEC_ORIGINAL_TYPE. From-SVN: r262560
Jan Hubicka committed -
tree-ssa-threadupdate.c (thread_through_all_blocks): Do not jump thread twice from the same starting edge. * tree-ssa-threadupdate.c (thread_through_all_blocks): Do not jump thread twice from the same starting edge. From-SVN: r262559
Aldy Hernandez committed -
* vr-values.c (gimple_stmt_nonzero_p): Abstract common code to... * gimple.c (gimple_call_nonnull_result_p): ...here... (gimple_call_nonnull_arg): ...and here. * gimple.h (gimple_call_nonnull_result_p): New. (gimple_call_nonnull_arg): New. From-SVN: r262557
Aldy Hernandez committed -
As part of the transition from the original support for named FPUs to general FPU properties I defined an entry in the CPU definitions in arm-cpus.in to use a named FPU. However, that has now outlived its usefulness and increasingly we are likely to find that newer cores do not fit the legacy FPU names very well. Furthermore it is now possible to encode all the FPU capatilities directly in the ISA definitions, often as simply as using +fp or +simd. So this patch removes the fpu field from the "define cpu" entries and instead encodes the same information in the isa field. This also alows us to remove a bit of now-dead code from parsecpu.awk. * config/arm/arm-cpus.in: Move information from fpu field of each cpu definition to the isa field. * config/arm/parsecpu.awk (fpu): Delete match rule. (gen_comm_data): Don't add bits from the CPU's FPU entry. From-SVN: r262556
Richard Earnshaw committed -
The spec says that when an index expression appears on the left hand side of an assignment, the operands should be evaluated. The gofrontend code was assuming that that only referred to the index operand. But discussion of https://golang.org/issue/23188 has clarified that this means both the slice/map/string operand and the index operand. Adjust the gofrontend code accordingly. Fixes golang/go#23188 Reviewed-on: https://go-review.googlesource.com/123155 From-SVN: r262554
Ian Lance Taylor committed -
PR c++/86443 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable. (results): Make sure the variable is not inside declare target region. (qux): Remove unused function. From-SVN: r262552
Jakub Jelinek committed -
2018-07-11 Richard Biener <rguenther@suse.de> PR debug/86457 * dwarf2out.c (init_sections_and_labels): Use output_asm_line_debug_info consistently. (dwarf2out_early_finish): Likewise. (dwarf2out_finish): Remove DW_AT_stmt_list from early generated type units. From-SVN: r262551
Richard Biener committed -
tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Rework father_bb setting in a way to avoid propagating constants multiple times... 2018-07-10 Richard Biener <rguenther@suse.de> * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Rework father_bb setting in a way to avoid propagating constants multiple times on a loop body. From-SVN: r262550
Richard Biener committed -
From-SVN: r262549
GCC Administrator committed
-
- 10 Jul, 2018 10 commits
-
-
There was a typo in the output_macinfo_op gcc_assert. The function is called dwarf_FORM, not dwarf_form. Add the provided testcase from the bug to test -gsplit-dwarf -g3. gcc/ChangeLog: PR debug/86459 * dwarf2out.c (output_macinfo_op): Fix dwarf_FORM typo in gcc_assert. gcc/testsuite/ChangeLog: PR debug/86459 * gcc.dg/pr86459.c: New test. From-SVN: r262545
Mark Wielaard committed -
gcc/testsuite/ChangeLog: * gcc.c-torture/execute/builtins/strlen-3.c: Adjust. From-SVN: r262543
Martin Sebor committed -
2018-07-10 Martin Liska <mliska@suse.cz> PR testsuite/86445 * gcc.dg/pr84100.c: Change it back to dg-bogus. From-SVN: r262540
Martin Liska committed -
2018-07-10 Richard Biener <rguenther@suse.de> * hash-map.h (hash_map::iterator::operator*): Return references to key and value. From-SVN: r262539
Richard Biener committed -
PR sanitizer/86406 * cp-gimplify.c (cp_maybe_instrument_return): Skip trailing DEBUG_BEGIN_STMTs. * g++.dg/ubsan/pr86406.C: New test. From-SVN: r262536
Jakub Jelinek committed -
PR fortran/86421 * module.c (omp_declare_simd_clauses): Add LINEAR with _REF, _VAL and _UVAL suffixes. (mio_omp_declare_simd): Save and restore ref, val and uval modifiers on linear clauses. Initialize n->where to gfc_current_locus. * gfortran.dg/vect/pr86421.f90: New test. From-SVN: r262535
Jakub Jelinek committed -
PR c++/86443 * gimplify.c (find_combined_omp_for): Add DATA argument, in addition to finding the inner OMP_FOR/OMP_SIMD stmt find non-trivial wrappers, BLOCKs with BLOCK_VARs, OMP_PARALLEL in between, OMP_FOR in between. (gimplify_omp_for): For composite loops, move outer OMP_{DISTRIBUTE,TASKLOOP,FOR,PARALLEL} right around innermost OMP_FOR/OMP_SIMD if there are any non-trivial wrappers. For class iterators add any needed clauses. Allow OMP_FOR_ORIG_DECLS to contain TREE_LIST for both the original class iterator and the "last" helper var. Gimplify OMP_FOR_PRE_BODY before the outermost composite loop, remember has_decl_expr from outer composite loops for the innermost OMP_SIMD in TREE_PRIVATE bit on OMP_FOR_INIT. gcc/c-family/ * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv to contain TREE_LIST for both the original class iterator and the "last" helper var. gcc/cp/ * semantics.c (handle_omp_for_class_iterator): Remove lastp argument, instead of setting *lastp turn orig_declv elt into a TREE_LIST. (finish_omp_for): Adjust handle_omp_for_class_iterator caller. * pt.c (tsubst_omp_for_iterator): Allow OMP_FOR_ORIG_DECLS to contain TREE_LIST for both the original class iterator and the "last" helper var. libgomp/ * testsuite/libgomp.c++/for-15.C: New test. From-SVN: r262534
Jakub Jelinek committed -
In Interface_field_reference_expression, the interface expression is used in two places, so a temporary variable is used. Previously, we used a Set_and_use_temporary_expression, which, when evaluated twice, causes double evaluation of the underlying expression. Fix by setting the temporary once and use Temporary_reference_expression instead. Fixes golang/go#26248. Reviewed-on: https://go-review.googlesource.com/122756 From-SVN: r262533
Ian Lance Taylor committed -
From-SVN: r262532
GCC Administrator committed -
gcc/testsuite/ChangeLog: * gcc.dg/strlenopt-53.c: New test. From-SVN: r262528
Martin Sebor committed
-
- 09 Jul, 2018 10 commits
-
-
gcc/ChangeLog: PR middle-end/77357 PR middle-end/86428 * builtins.c (c_strlen): Avoid out-of-bounds warnings when accessing implicitly initialized array elements. * expr.c (string_constant): Handle string initializers of character arrays within aggregates. * gimple-fold.c (fold_array_ctor_reference): Add argument. Store element offset. As a special case, handle zero size. (fold_nonarray_ctor_reference): Same. (fold_ctor_reference): Add argument. Store subobject offset. * gimple-fold.h (fold_ctor_reference): Add argument. gcc/testsuite/ChangeLog: PR middle-end/77357 * gcc.dg/strlenopt-49.c: New test. * gcc.dg/strlenopt-50.c: New test. * gcc.dg/strlenopt-51.c: New test. * gcc.dg/strlenopt-52.c: New test. From-SVN: r262522
Martin Sebor committed -
* config/pdp11/pdp11.c (pdp11_addr_cost): New function. (pdp11_insn_cost): New function. (pdp11_md_asm_adjust): New function. (TARGET_INVALID_WITHIN_DOLOOP): Define. (pdp11_rtx_costs): Update to match machine better. (output_addr_const_pdp11): Correct format mismatch warnings. * config/pdp11/pdp11.h (SLOW_BYTE_ACCESS): Correct definition. * config/pdp11/pdp11.md: General change to add base_cost and/or length attributes for use by new pdp11_insn_cost function. (MIN_BRANCH): Correct definition. (MIN_SOB): Ditto. (doloop_end): Use standard pattern name for looping pattern. (doloop_end_nocc): New. (movsf): Add another constraint alternative. (zero_extendqihi2): Add constraint alternatives for not in place extend. (zero_extendhisi2): Remove. (shift patterns): Add CC handling variants. (bswaphi2): New. (bswapsi2): New. (rothi3): New. (define_peephole2): New peephole to recognize mov that sets CC for subsequent test. From-SVN: r262519
Paul Koning committed -
* config/sparc/sparc.c (sparc_fold_builtin) <SPARC_BUILTIN_PDIST, SPARC_BUILTIN_PDISTN>: Adapt for signature change of wi::neg, wi::add. From-SVN: r262518
Rainer Orth committed -
PR c/86420 * real.c (real_nextafter): Return true if result is denormal. * gcc.dg/nextafter-1.c (TEST): Adjust the tests that expect denormals to be returned and when first argument is not 0, so that they don't do anything for NEED_EXC or NEED_ERRNO. From-SVN: r262517
Jakub Jelinek committed -
Use relative line number where obvious: either the relative line number is '.', '.-1' or '.+1', or adjacent to another obvious case. 2018-07-09 Tom de Vries <tdevries@suse.de> * gcc.dg/guality/asm-1.c: Use relative line numbers where obvious. * gcc.dg/guality/bswaptest.c: Same. * gcc.dg/guality/clztest.c: Same. * gcc.dg/guality/csttest.c: Same. * gcc.dg/guality/ctztest.c: Same. * gcc.dg/guality/drap.c: Same. * gcc.dg/guality/nrv-1.c: Same. * gcc.dg/guality/pr41353-1.c: Same. * gcc.dg/guality/pr41353-2.c: Same. * gcc.dg/guality/pr41404-1.c: Same. * gcc.dg/guality/pr43051-1.c: Same. * gcc.dg/guality/pr43077-1.c: Same. * gcc.dg/guality/pr43177.c: Same. * gcc.dg/guality/pr43329-1.c: Same. * gcc.dg/guality/pr43479.c: Same. * gcc.dg/guality/pr43593.c: Same. * gcc.dg/guality/pr45003-1.c: Same. * gcc.dg/guality/pr45003-2.c: Same. * gcc.dg/guality/pr45003-3.c: Same. * gcc.dg/guality/pr48437.c: Same. * gcc.dg/guality/pr48466.c: Same. * gcc.dg/guality/pr49888.c: Same. * gcc.dg/guality/pr54200.c: Same. * gcc.dg/guality/pr54519-1.c: Same. * gcc.dg/guality/pr54519-2.c: Same. * gcc.dg/guality/pr54519-3.c: Same. * gcc.dg/guality/pr54519-4.c: Same. * gcc.dg/guality/pr54519-5.c: Same. * gcc.dg/guality/pr54519-6.c: Same. * gcc.dg/guality/pr54551.c: Same. * gcc.dg/guality/pr54693-2.c: Same. * gcc.dg/guality/pr54693.c: Same. * gcc.dg/guality/pr54796.c: Same. * gcc.dg/guality/pr54970.c: Same. * gcc.dg/guality/pr67192.c: Same. * gcc.dg/guality/pr69947.c: Same. * gcc.dg/guality/pr78726.c: Same. * gcc.dg/guality/rotatetest.c: Same. * gcc.dg/guality/sra-1.c: Same. * gcc.dg/guality/vla-2.c: Same. From-SVN: r262516
Tom de Vries committed -
2018-07-09 Martin Liska <mliska@suse.cz> * common.opt: Add back wrongly removed attribute. From-SVN: r262513
Martin Liska committed -
decl.c (grokdeclarator): Use rich_location::add_range in three more places; include gcc-rich-location.h. /cp 2018-07-09 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (grokdeclarator): Use rich_location::add_range in three more places; include gcc-rich-location.h. /testsuite 2018-07-09 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/diagnostic/long-short.C: New. * g++.dg/diagnostic/signed-unsigned.C: Likewise. * g++.dg/diagnostic/virtual-friend.C: Likewise. * g++.old-deja/g++.brendan/crash11.C: Adjust. From-SVN: r262512
Paolo Carlini committed -
2018-07-09 Richard Biener <rguenther@suse.de> PR debug/86413 * dwarf2out.c (gen_block_die): For an early generated DIE always output high/low PC attributes. From-SVN: r262511
Richard Biener committed -
When compiling guality/vla-1.c with -O3 -g, vla a in f1 is optimized away, but f1 still contains a debug expression describing the upper bound of the vla (D.1914): ... __attribute__((noinline)) f1 (intD.6 iD.1900) { <bb 2> saved_stack.1_2 = __builtin_stack_save (); # DEBUG BEGIN_STMT # DEBUG D#3 => i_1(D) + 1 # DEBUG D#2 => (long intD.8) D#3 # DEBUG D#1 => D#2 + -1 # DEBUG D.1914 => (sizetype) D#1 ... Then f1 is cloned to a version f1.constprop with no parameters, eliminating parameter i, and 'DEBUG D#3 => i_1(D) + 1' turns into 'D#3 => NULL'. This patch fixes that by defining debug expressions for default defs of eliminated parameters in remap_ssa_name: ... __attribute__((noinline)) f1.constprop () { intD.6 iD.1949; <bb 3> # DEBUG D#8 s=> iD.1900 # DEBUG iD.1949 => D#8 <bb 2> + # DEBUG D#6 s=> iD.1949 saved_stack.1_1 = __builtin_stack_save (); # DEBUG BEGIN_STMT - # DEBUG D#3 => NULL + # DEBUG D#3 => D#6 + 1 # DEBUG D#2 => (long intD.8) D#3 # DEBUG D#1 => D#2 + -1 # DEBUG D.1951 => (sizetype) D#1 ... Bootstrapped and reg-tested on x86_64. 2018-07-09 Tom de Vries <tdevries@suse.de> * cfgexpand.c (expand_debug_source_expr): Handle VAR_DECL. * tree-inline.c (remap_ssa_name): Handle default def ssa_name mapping onto VAR_DECL with abstract origin. * gcc.dg/vla-1.c: New test. From-SVN: r262510
Tom de Vries committed -
From-SVN: r262509
GCC Administrator committed
-