- 17 Aug, 2017 8 commits
-
-
tree-ssa-structalias.c (solve_graph): When propagating to successors update the graphs succ edges and avoid duplicate... 2017-08-17 Richard Biener <rguenther@suse.de> * tree-ssa-structalias.c (solve_graph): When propagating to successors update the graphs succ edges and avoid duplicate work. From-SVN: r251146
Richard Biener committed -
2017-08-17 Maxim Ostapenko <m.ostapenko@samsung.com> PR target/81861 * config/i386/i386.c (ix86_option_override_internal): Save target specific options after ix86_stack_protector_guard_reg was changed. From-SVN: r251145
Maxim Ostapenko committed -
2017-08-17 Tom de Vries <tom@codesourcery.com> * gcc.dg/ipa/pr81696.c: Require effective target nonlocal_goto. From-SVN: r251144
Tom de Vries committed -
2017-08-17 Richard Biener <rguenther@suse.de> PR tree-optimization/81827 * tree-ssa-structalias.c (struct variable_info): Add is_reg_var flag. (new_var_info): Initialize it conservatively. (get_call_vi): Mark register vars. (new_scalar_tmp_constraint_exp): Likewise. (handle_rhs_call): Likewise. (handle_const_call): Likewise. (create_function_info_for): Likewise. (solve_constraints): Sort varinfos to separate register from non-register vars to pack points-to solution bitmaps during iteration. From-SVN: r251143
Richard Biener committed -
* gimplify.c (gimplify_adjust_omp_clauses): Compare with 0 instead of 1. From-SVN: r251142
Marek Polacek committed -
tree-vrp.c (vrp_int_const_binop): Do not set *overflow_p to true when overflow is undefined and we saturated the... 2017-08-17 Richard Biener <rguenther@suse.de> * tree-vrp.c (vrp_int_const_binop): Do not set *overflow_p to true when overflow is undefined and we saturated the result. * gcc.dg/tree-ssa/vrp117.c: New testcase. From-SVN: r251141
Richard Biener committed -
It is possible when using out-of-line register saves or store multiple to save some registers unnecessarily, for example one reg in the block saved might be unused. We don't need to emit frame info for those registers as that just bloats the info, and also can result in an ICE when shrink-wrap gives multiple paths through the function saving different sets of registers. Join points need to have identical frame register save state regardless of the path taken. This patch reverts the previous fix for PR80939 "Use SAVE_MULTIPLE only if we restore what it saves (PR80938)" and instead fixes the PR by correcting the frame info. The change to rs6000_savres_strategy is an optimization, but note that it hides the underlying problem in the PR testcase. PR target/80938 * config/rs6000/rs6000.c (rs6000_savres_strategy): Revert 2017-08-09. Don't use store multiple if only one reg needs saving. (interesting_frame_related_regno): New function. (rs6000_frame_related): Don't emit frame info for regs that don't need saving. (rs6000_emit_epilogue): Likewise. From-SVN: r251140
Alan Modra committed -
From-SVN: r251139
GCC Administrator committed
-
- 16 Aug, 2017 16 commits
-
-
Reviewed-on: https://go-review.googlesource.com/54170 From-SVN: r251133
Ian Lance Taylor committed -
From-SVN: r251131
Joseph Myers committed -
* 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 12 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
-