- 16 Aug, 2017 14 commits
-
-
* tree-core.h (tree_type_non_common): Rename binfo to lang_1. * tree.h (TYPE_BINFO): Use type_non_common.maxval. (TYPE_LANG_SLOT_1): Use type_non_common.lang_1, for any type. * tree.c (free_lang_data_in_type): Use else-if chain. Always clear TYPE_LANG_1. Remove obsolete member-function stripping. (find_decls_types_r): Comment about TYPE_MAX_VALUES_RAW. (verify_type): Adjust for TYPE_BINFO move. * lto-streamer-out.c (DFS::DFS_write_tree_body): No need to process TYPE_BINFO directly. (hash_tree): Likewise. * tree-streamer-in.c (lto_input_ts_type_non_common_tree_pointers): Likewise. * tree-streamer-out.c (write_ts_type_non_common_tree_pointers): Likewise. lto/ * lto.c (mentions_vars_p_type): Use TYPE_LANG_SLOT_1. (compare_tree_sccs_1): No need to compare TYPE_BINFO directly. (lto_fixup_prevailing_decls): Use TYPE_LANG_SLOT_1. From-SVN: r251129
Nathan Sidwell committed -
gcc/ChangeLog: * diagnostic-show-locus.c (colorizer::m_caret): Remove unused field. From-SVN: r251128
David Malcolm committed -
Fix dumpregs on i386, implement dumpregs for PPC Linux/AIX, get PC on AIX. Reviewed-on: https://go-review.googlesource.com/56170 From-SVN: r251127
Ian Lance Taylor committed -
* c-c++-common/patchable_function_entry-decl.c (dg-final): Adapt scan-assembler-times for alpha*-*-*. * c-c++-common/patchable_function_entry-default.c (dg-final): Ditto. * c-c++-common/patchable_function_entry-definition.c (dg-final): Ditto. From-SVN: r251126
Uros Bizjak committed -
2017-08-16 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/81116 * frontend-passes.c (realloc_string_callback): If expression is a concatenation, also check for dependency. (constant_string_length): Check for presence of symtree. 2017-08-16 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/81116 * gfortran.dg/realloc_on_assignment_29.f90: New test. From-SVN: r251125
Thomas Koenig committed -
PR target/46091 * config/i386/i386.md (*anddi_1_btr): Change predicates of operand 0 and operand 1 to nomimmediate_operand. Add "m" constraint. Add ix86_binary_operator_ok to insn constraint. (*iordi_1_bts): Ditto. (*xordi_1_btc): Ditto. (*btsq): Change predicate of operand 0 to nonimmediate_operand. Update corresponding peephole2 pattern. (*btrq): Ditto. (*btcq): Ditto. testsuite/ChangeLog: PR target/46091 * gcc.target/i386/pr46091-1.c: Update scan-assembler-times. (testm): New test function. * gcc.target/i386/pr46091-2.c: Ditto. * gcc.target/i386/pr46091-3.c: Ditto. From-SVN: r251124
Uros Bizjak committed -
PR tree-optimization/81832 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Don't copy loop header which has IFN_LOOP_DIST_ALIAS call. gcc/testsuite * gcc.dg/tree-ssa/pr81832.c: New test. From-SVN: r251123
Bin Cheng committed -
PR middle/81695 * fold-const.c (fold_indirect_ref_1): Restore original behavior regarding size_zero_node. From-SVN: r251119
Marek Polacek committed -
2017-08-16 Martin Liska <mliska@suse.cz> PR target/81753 * config.gcc: Respect previously set extra_objs in case of darwin target. From-SVN: r251118
Martin Liska committed -
We weren't checking whether the phi in a conditional reduction was used by the condition itself (which isn't a case we handle). 2017-08-11 Richard Sandiford <richard.sandiford@linaro.org> gcc/ PR tree-optimization/81835 * tree-vect-loop.c (vect_is_simple_reduction): Simply checks for the phi SSA_NAME. Check that the condition in a COND_EXPR does not depend on the phi. gcc/testsuite/ PR tree-optimization/81835 * gcc.dg/vect/pr81815.c: New test. From-SVN: r251117
Richard Sandiford committed -
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Delete dead code. From-SVN: r251116
Alan Modra committed -
rs6000_reg_live_or_pic_offset_p is just save_reg_p with special handling for the pic register and eh_return. This merge also simplifies the eh_return handling. The intent of https://gcc.gnu.org/ml/gcc-patches/2010-09/msg01838.html was to say the PIC reg needed to be saved for eh_return, not all gprs. Of course, it doesn't hurt to say all gprs need to be saved for eh_return as that is what the target-independent code does by setting DF live, but it's unnecessary in the backend. * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Merge.. (save_reg_p): ..into this. Update all callers. (first_reg_to_save): Simplify. From-SVN: r251115
Alan Modra committed -
* config/rs6000/rs6000.c (rs6000_savres_strategy): Don't restore fixed regs. From-SVN: r251114
Alan Modra committed -
From-SVN: r251113
GCC Administrator committed
-
- 15 Aug, 2017 4 commits
-
-
GCC mainline built for sh4-linux-gnu runs out of memory building a glibc test, which calls strncmp with very large constant size argument, resulting in the SH inline strncmp expansion trying to inline a fully unrolled expansion of strncmp for that size. This patch limits that fully unrolled expansion to the case of less than 32 bytes. This is explicitly *not* trying to be optimal in any way (very likely a lower threshold makes sense), just to limit enough to avoid the out-of-memory issue in the glibc testsuite. I have *not* run the GCC testsuite for SH. I have verified that this allows the glibc testsuite to build OK, with both GCC mainline and GCC 7 branch (and that the included test builds quickly with patched GCC, runs out of memory with unpatched GCC). PR target/78460 PR target/67712 gcc: * config/sh/sh-mem.cc (sh_expand_cmpnstr): Only unroll for constant count if that count is less than 32. gcc/testsuite: * gcc.c-torture/compile/string-large-1.c: New test. From-SVN: r251108
Joseph Myers committed -
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po, ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po, zh_TW.po: Update. From-SVN: r251106
Joseph Myers committed -
* gcc.c (execute): Emit friendlier message if inferior is killed by an external cause. From-SVN: r251104
Nathan Sidwell committed -
2017-08-15 Richard Biener <rguenther@suse.de> PR tree-optimization/81790 * tree-ssa-sccvn.c (vn_lookup_simplify_result): Handle both CONSTRUCTORs from simplifying and VN. * gcc.dg/torture/pr81790.c: New testcase. From-SVN: r251103
Richard Biener committed
-
- 14 Aug, 2017 13 commits
-
-
gcc/ChangeLog: * builtin-attrs.def: Add comments. From-SVN: r251101
Martin Sebor committed -
gcc/ChangeLog: PR c/81117 * doc/extend.texi (attribute nonstring): Document new attribute. gcc/c-family/ChangeLog: PR c/81117 * c-attribs.c (c_common_attribute_table): Add nonstring entry. (handle_nonstring_attribute): New function. gcc/testsuite/ChangeLog: PR c/81117 * c-c++-common/attr-nonstring-1.c: New test. From-SVN: r251100
Martin Sebor committed -
gcc/ChangeLog: PR c/81117 * tree-diagnostic.c (default_tree_printer): Handle %G. * gimple-pretty-print.h (percent_G_format): Declare new function. * gimple-pretty-print.c (percent_G_format): Define. * tree-pretty-print.c (percent_K_format): Add argument. gcc/c/ChangeLog: PR c/81117 * c-objc-common.c (c_objc_common_init): Handle 'G'. gcc/c-family/ChangeLog: PR c/81117 * c-format.h (T89_G): New macro. * c-format.c (local_gcall_ptr_node): New variable. (init_dynamic_diag_info): Initialize it. gcc/cp/ChangeLog: PR c/81117 * error.c (cp_printer): Handle 'G'. gcc/testsuite/ChangeLog: PR c/81117 * gcc.dg/format/gcc_diag-10.c: Exercise %G. From-SVN: r251098
Martin Sebor committed -
* gcc.dg/ucnid-5.c: Skip on AIX. * gcc.target/powerpc/pr79909.c: Skip on AIX. From-SVN: r251097
David Edelsohn committed -
gcc/ChangeLog: * gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call): Remove a stray space. From-SVN: r251096
Martin Sebor committed -
PR target/46091 * config/i386/i386.md (*anddi_1_btr): New insn_and_split pattern. (*iordi_1_bts): Ditto. (*xordi_1_btc): Ditto. testsuite/ChangeLog: PR target/46091 * gcc.target/i386/pr46091-1.c: New test. * gcc.target/i386/pr46091-2.c: Ditto. * gcc.target/i386/pr46091-3.c: Ditto. From-SVN: r251095
Uros Bizjak committed -
Fix longbranch test so it still generates long tbz branches. gcc/testsuite/ PR target/81643 * gcc.target/aarch64/long_branch_1.c: Improve testcase. From-SVN: r251094
Wilco Dijkstra committed -
[gcc] 2017-08-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/79845 * config/rs6000/linux64.h (INVALID_64BIT): Use quoted strings. * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Likewise. * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Use quoted strings, and make more translator-friendly. (darwin_rs6000_override_options): Likewise. (rs6000_option_override_internal): Likewise. (rs6000_return_in_memory): Fix overlong line. (init_cmulative_args): Use quoted strings, and make more translator-friendly. (rs6000_pass_by_reference): Fix overlong line. (def_builtin): Use quoted strings. (altivec_expand_predicate_builtin): Use quoted strings, and make more translator-friendly. (htm_expand_builtin): Use quoted strings. (cpu_expand_builtin): Use quoted strings, and make more translator-friendly. (altivec_expand_builtin): Likewise. (paired_expand_predicate_builtin): Likewise. (rs6000_invalid_builtin): Likewise. (builtin_function_type): Use quoted strings. (rs6000_expand_split_stack_prologue): Use quoted strings, and make more translator-friendly. (rs6000_trampoline_init): Likewise. (rs6000_handle_altivec_attribute): Likewise. (rs6000_inner_target_options): Use quoted strings. (rs6000_disable_incompatible_switches): Likewise. * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Use quoted strings, and make more translator-friendly. (SUBSUBTARGET_OVERRIDE_OPTIONS): Use quoted strings. [gcc/testsuite] 2017-08-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/79845 * g++.dg/ext/altivec-cell-5.C: Adjust diagnostic strings. * gcc.target/powerpc/altivec-cell-5.c: Likewise. * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-exp-1.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-exp-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-exp-4.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-exp-5.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-sig-1.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-sig-4.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-sig-5.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-1.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-10.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-11.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-4.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-7.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-8.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-data-class-11.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-data-class-6.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-data-class-7.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-neg-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-neg-3.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-neg-5.c: Likewise. * gcc.target/powerpc/bfp/vec-extract-exp-2.c: Likewise. * gcc.target/powerpc/bfp/vec-extract-exp-3.c: Likewise. * gcc.target/powerpc/bfp/vec-extract-sig-2.c: Likewise. * gcc.target/powerpc/bfp/vec-extract-sig-3.c: Likewise. * gcc.target/powerpc/bfp/vec-insert-exp-2.c: Likewise. * gcc.target/powerpc/bfp/vec-insert-exp-3.c: Likewise. * gcc.target/powerpc/bfp/vec-insert-exp-6.c: Likewise. * gcc.target/powerpc/bfp/vec-insert-exp-7.c: Likewise. * gcc.target/powerpc/bfp/vec-test-data-class-2.c: Likewise. * gcc.target/powerpc/bfp/vec-test-data-class-3.c: Likewise. * gcc.target/powerpc/byte-in-either-range-1.c: Likewise. * gcc.target/powerpc/byte-in-range-1.c: Likewise. * gcc.target/powerpc/byte-in-set-1.c: Likewise. * gcc.target/powerpc/byte-in-set-2.c: Likewise. * gcc.target/powerpc/cmpb-3.c: Likewise. * gcc.target/powerpc/crypto-builtin-2.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-1.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-11.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-16.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-21.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-26.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-31.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-36.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-41.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-46.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-51.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-56.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-6.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-61.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-66.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-71.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-76.c: Likewise. * gcc.target/powerpc/no-r11-3.c: Likewise. * gcc.target/powerpc/pr80098-1.c: Likewise. * gcc.target/powerpc/pr80098-2.c: Likewise. * gcc.target/powerpc/pr80098-3.c: Likewise. * gcc.target/powerpc/pr80098-4.c: Likewise. * gcc.target/powerpc/vsu/vec-all-nez-7.c: Likewise. * gcc.target/powerpc/vsu/vec-any-eqz-7.c: Likewise. * gcc.target/powerpc/vsu/vec-cmpnez-7.c: Likewise. * gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c: Likewise. * gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: Likewise. * gcc.target/powerpc/vsu/vec-xl-len-12.c: Likewise. * gcc.target/powerpc/vsu/vec-xl-len-13.c: Likewise. * gcc.target/powerpc/vsu/vec-xlx-7.c: Likewise. * gcc.target/powerpc/vsu/vec-xrx-7.c: Likewise. * gcc.target/powerpc/vsu/vec-xst-len-12.c: Likewise. * gcc.target/powerpc/vsu/vec-xst-len-13.c: Likewise. From-SVN: r251092
Bill Schmidt committed -
PR tree-optimization/81799 * tree-loop-distribution.c (version_loop_by_alias_check): Force cond_expr to simple gimple operand. gcc/testsuite * gcc.dg/tree-ssa/pr81799.c: New. From-SVN: r251088
Bin Cheng committed -
Add check_effective_target_autoincdec that returns true if a target runs the auto_inc_dec optimization pass. gcc/ * doc/sourcebuild.texi (autoincdec): Add autoincdec description. gcc/testsuite/ PR middle-end/46932 * gcc.dg/pr46932.c: Use dg-require-effective-target autoincdec. * lib/target-supports.exp: Add check_effective_target_autoincdec. From-SVN: r251087
Wilco Dijkstra committed -
gcc/testsuite: * gcc.target/aarch64/dbl_mov_immediate_1.c: Add -mno-pc-relative-literal-loads. From-SVN: r251086
Szabolcs Nagy committed -
gcc/ PR target/81754 PR target/81268 * config/avr/avr.opt (mgas-isr-prologues): New Var avr_gasisr_prologues. * config/avr/avr.md (gasisr, *gasisr): Use it instead of TARGET_GASISR_PROLOGUES. * config/avr/avr.c (avr_option_override): Same. (avr_pass_pre_proep::execute): Same. From-SVN: r251085
Georg-Johann Lay committed -
From-SVN: r251080
GCC Administrator committed
-
- 13 Aug, 2017 5 commits
-
-
When we eliminate frame pointer, we should also replace frame pointer with stack pointer - UNITS_PER_WORD in debug insns. This patch fixed: FAIL: gcc.dg/guality/pr58791-5.c -Os line pr58791-5.c:20 b1 == 9 FAIL: gcc.dg/guality/pr58791-5.c -Os line pr58791-5.c:20 b2 == 73 FAIL: gcc.dg/guality/pr58791-5.c -Os line pr58791-5.c:20 b3 == 585 FAIL: gcc.dg/guality/pr58791-5.c -Os line pr58791-5.c:20 b4 == 4681 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:17 s1.f == 5.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:17 s1.g == 6.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:17 s2.g == 6.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:20 s1.f == 5.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:20 s1.g == 6.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:20 s2.f == 5.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:20 s2.g == 6.0 on Linux/i386. PR target/81820 * config/i386/i386.c (ix86_finalize_stack_frame_flags): Replace frame pointer with stack pointer - UNITS_PER_WORD in debug insns. From-SVN: r251076
H.J. Lu committed -
* config/i386/i386.md (*load_tp_<mode>): Redefine as define_insn_and_split. Split to a memory load from 0 in DEFAULT_TLS_SEG_REG address space. Merge with *load_tp_x32 using PTR mode iterator. (*load_tp_x32_zext"): Redefine as define_insn_and_split. Split to a memory load from 0 in DEFAULT_TLS_SEG_REG address space. (*add_tp_<mode>): Redefine as define_insn_and_split. Split to an add with a memory load from 0 in DEFAULT_TLS_SEG_REG address space. Merge with *add_tp_x32 using PTR mode iterator. (*add_tp_x32_zext"): Redefine as define_insn_and_split. Split to an add with a memory load from 0 in DEFAULT_TLS_SEG_REG address space. From-SVN: r251075
Uros Bizjak committed -
2017-08-13 Thomas Koenig <tkoenig@gcc.gnu.org> * gfortran.texi: Document format of unformatted sequential files. From-SVN: r251074
Thomas Koenig committed -
2017-08-12 Andrew Pinski <apinski@cavium.com> * config/aarch64/aarch64-option-extensions.def (rdma): Fix feature string to what Linux prints out in /proc/cpuinfo. From-SVN: r251073
Andrew Pinski committed -
From-SVN: r251072
GCC Administrator committed
-
- 12 Aug, 2017 4 commits
-
-
PR testsuite/81793 * gcc.dg/pie-static-1.c: Require both static and pie support. * gcc.dg/pie-static-2.c: Likewise. From-SVN: r251067
Rainer Orth committed -
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79542 reports an ICE in dwarf2out.c for an Ada testcase built with optimization. This crash happens during the late generation pass because add_gnat_descriptive_type cannot find the type DIE corresponding to some descriptive type after having tried to generate it. This is because the DIE was generated during the early generation pass, but then pruned by the type pruning machinery. So why was it pruned? We are in a situation where we have cloned types (because of inlining, IIUC) whose TYPE_NAME have non-null DECL_ABSTRACT_ORIGIN attributes. As a consequence: * In modified_type_die, the "handle C typedef types" part calls gen_type_die on the cloned type. * gen_type_die matches a typedef variant, and then calls gen_decl_die on its TYPE_NAME, which will end up calling gen_typedef_die. * gen_typedef_die checks decl_ultimate_origin for this TYPE_DECL, and finds one, so it only adds a DW_AT_abstract_origin attribute to the DW_TAG_typedef DIE, but the cloned type itself does not get its own DIE. * Back in modified_type_die, the call to lookup_type_die on the type passed to gen_type_die returns NULL. In the end, whole type trees, i.e. the ones referenced by DECL_ABSTRACT_ORIGIN attributes, are never referenced from type pruning "roots" and are thus pruned. The descriptive type at stake here is one of them, hence the assertion failure. This patch attemps to fix that with what seems to be the most sensible thing to do in my opinion: updating the "handle C typedef types" part in modified_type_die to check decl_ultimate_origin before calling gen_type_die: if that function returns something not null, then we know that gen_type_die/gen_typedef_die will not generate a DIE for the input type, so we try to process the ultimate origin instead. It also updates in a similar way gen_type_die_with_usage, assert that when gen_typedef_die is called on nodes that have an ultimate origin, this origin is themselves. gcc/ PR ada/79542 * dwarf2out.c (modified_type_die): For C typedef types that have an ultimate origin, process the ultimate origin instead of the input type. (gen_typedef_die): Assert that input DECLs have no ultimate origin. (gen_type_die_with_usage): For typedef variants that have an ultimate origin, just call gen_decl_die on the original DECL. (process_scope_var): Avoid creating DIEs for local typedefs and concrete static variables. gcc/testsuite/ PR ada/79542 * gnat.dg/debug13.ads, gnat.dg/debug13.adb: New testcase. From-SVN: r251066
Pierre-Marie de Rodat committed -
These need to match the gnu-user.h definitions to support --enable-default-pie. Otherwise we end up linking the wrong startup files when defaulting to PIE. PR target/81170 PR target/81295 * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Upgrade to match gnu-user.h startfile. (ENDFILE_LINUX_SPEC): Similarly. From-SVN: r251065
Alan Modra committed -
From-SVN: r251064
GCC Administrator committed
-