Jonathan Wakely [Wed, 8 Feb 2017 12:02:36 +0000 (12:02 +0000)]
Update links and references in libstdc++ manual
* doc/xml/manual/policy_data_structures.xml: Fix spelling of author's
name.
* doc/xml/manual/policy_data_structures_biblio.xml: Likewise. Remove
broken links to texts that are no longer online.
* doc/xml/manual/profile_mode.xml: Update links to CGO 2009 paper and
LCPC 2006 paper.
* doc/xml/manual/using.xml: Update links to memory model information.
* doc/xml/manual/using_exceptions.xml: Update link to "Appendix E:
Standard-Library Exception Safety".
* doc/html/*: Regenerate.
From-SVN: r245277
Segher Boessenkool [Wed, 8 Feb 2017 09:59:55 +0000 (10:59 +0100)]
rs6000: Fix spelling of AltiVec in rs6000.opt (PR79397)
It was spelled Altivec in two user-facing messages in rs6000.opt; let's
be consistent.
PR translation/79397
* config/rs6000/rs6000.opt (maltivec=le, maltivec=be): Fix spelling
of AltiVec.
From-SVN: r245276
Martin Jambor [Wed, 8 Feb 2017 09:47:09 +0000 (10:47 +0100)]
[PR 79375] Avoid passing NULL by reference
2017-02-08 Martin Jambor <mjambor@suse.cz>
PR ipa/79375
* ipa-prop.c (ipa_alloc_node_params): Make static, return bool
whether allocation happened.
(ipa_initialize_node_params): Do not call ipa_alloc_node_params if
nothing was allocated.
From-SVN: r245275
Richard Biener [Wed, 8 Feb 2017 09:35:41 +0000 (09:35 +0000)]
re PR tree-optimization/71824 (ICE when compiling libiberty with Graphite loop optimizations)
2017-02-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/71824
PR tree-optimization/79409
* gcc.dg/graphite/pr71824-3.c: New testcase.
From-SVN: r245274
Jakub Jelinek [Wed, 8 Feb 2017 09:21:57 +0000 (10:21 +0100)]
re PR tree-optimization/79408 (Missed VRP optimization of integer modulo)
PR tree-optimization/79408
* tree-vrp.c (simplify_div_or_mod_using_ranges): If op1 is not
constant, but SSA_NAME with a known integer range, use the minimum
of that range instead of op1 to determine if modulo can be replaced
with its first operand.
* gcc.dg/tree-ssa/pr79408.c: New test.
From-SVN: r245273
Kyrylo Tkachov [Wed, 8 Feb 2017 09:14:39 +0000 (09:14 +0000)]
[riscv] Fix build due to INT16_MAX issue
* config/riscv/riscv.c (riscv_build_integer_1): Avoid use of INT16_MAX.
From-SVN: r245272
Richard Biener [Wed, 8 Feb 2017 08:30:48 +0000 (08:30 +0000)]
re PR tree-optimization/71824 (ICE when compiling libiberty with Graphite loop optimizations)
2017-02-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/71824
* graphite-scop-detection.c (scop_detection::build_scop_breadth):
Check all loops contained in the merged region.
* gcc.dg/graphite/pr71824-2.c: New testcase.
From-SVN: r245270
Gerald Pfeifer [Wed, 8 Feb 2017 07:22:01 +0000 (07:22 +0000)]
profile_mode.xml: Unbreak link to "Optimizing Sorting with Machine Learning Algorithms".
* doc/xml/manual/profile_mode.xml: Unbreak link to
"Optimizing Sorting with Machine Learning Algorithms".
From-SVN: r245269
Gerald Pfeifer [Wed, 8 Feb 2017 07:17:19 +0000 (07:17 +0000)]
* src/c++11/snprintf_lite.cc (__err): Update bug reporting URL.
From-SVN: r245268
Andrew Pinski [Wed, 8 Feb 2017 02:54:17 +0000 (02:54 +0000)]
aarch64.md (popcount<mode>2): New pattern.
2016-02-07 Andrew Pinski <apinski@cavium.com>
gcc
* config/aarch64/aarch64.md (popcount<mode>2): New pattern.
gcc/testsuite
* gcc.target/aarch64/popcount.c : New Testcase.
From-SVN: r245267
Andrew Pinski [Wed, 8 Feb 2017 02:37:38 +0000 (02:37 +0000)]
aarch64-cores.def (thunderx): Disable LSE.
2017-02-07 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64-cores.def (thunderx): Disable LSE.
(thunderxt88): Likewise.
(thunderxt81): Disable LSE and change v8.1 to v8.
(thunderxt83): Likewise.
From-SVN: r245266
GCC Administrator [Wed, 8 Feb 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245264
Gerald Pfeifer [Tue, 7 Feb 2017 23:38:12 +0000 (23:38 +0000)]
abi.xml: Update link to "Sun Studio 11: C++ Migration Guide".
* doc/xml/manual/abi.xml: Update link to "Sun Studio 11: C++
Migration Guide".
From-SVN: r245261
Gerald Pfeifer [Tue, 7 Feb 2017 23:25:19 +0000 (23:25 +0000)]
* update_web_docs_svn (MANUALS): Add libitm.
From-SVN: r245260
Gerald Pfeifer [Tue, 7 Feb 2017 22:44:13 +0000 (22:44 +0000)]
lwg-active.html: Remove.
* doc/html/ext/lwg-active.html: Remove.
* doc/html/ext/lwg-closed.html: Ditto.
* doc/html/ext/lwg-defects.html: Ditto.
* doc/Makefile.am (xml_extradir): Remove.
(xml_extra): Ditto.
(stamp-html-docbook-lwg): Remove recipe...
(stamp-html-docbook-data): ...and its use here.
* doc/Makefile.in: Regenerate.
* doc/xml/manual/intro.xml: Shorten two paragraphs explaining
the relationship to the upstream working group.
Replace a local link to ../ext/lwg-active.html by the upstream one.
Replace all reference to ../ext/lwg-defects.html by a new entity
&DR; which refers to the upstream address.
From-SVN: r245258
Gerald Pfeifer [Tue, 7 Feb 2017 22:10:06 +0000 (22:10 +0000)]
* doc/xml/manual/status_cxx2017.xml: Fix link to N4284.
From-SVN: r245257
Jakub Jelinek [Tue, 7 Feb 2017 21:51:21 +0000 (22:51 +0100)]
re PR middle-end/79399 (GCC fails to compile big source at -O0)
PR middle-end/79399
* ira-int.h (struct target_ira_int): Change x_max_struct_costs_size
type from int to size_t.
* ira-costs.c (struct_costs_size): Change type from int to size_t.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r245256
Steven G. Kargl [Tue, 7 Feb 2017 21:28:08 +0000 (21:28 +0000)]
trans-types.c (gfc_get_int_kind_from_width_isofortranen): Choose REAL type with the widest precision if...
2017-02-04 Steven G. Kargl <kargl@gcc.gnu.org>
* trans-types.c (gfc_get_int_kind_from_width_isofortranen): Choose
REAL type with the widest precision if two (or more) have the same
storage size.
From-SVN: r245255
Gerald Pfeifer [Tue, 7 Feb 2017 20:46:21 +0000 (20:46 +0000)]
* MAINTAINERS: Adjust bug reporting URL.
From-SVN: r245253
Jakub Jelinek [Tue, 7 Feb 2017 17:45:57 +0000 (18:45 +0100)]
re PR rtl-optimization/79386 (ICE: segmentation fault in cprop w/ -O2 on 32-bit BE powerpc)
PR rtl-optimization/79386
* cprop.c (bypass_conditional_jumps): Initialize
bypass_last_basic_block already before splitting bbs after
unconditional traps...
(bypass_conditional_jumps): ... rather than here.
* gcc.c-torture/compile/pr79386.c: New test.
From-SVN: r245251
Nathan Sidwell [Tue, 7 Feb 2017 17:43:12 +0000 (17:43 +0000)]
method.c (synthesized_method_base_walk): New.
* method.c (synthesized_method_base_walk): New. Broken out of ...
(synthesized_method_walk): ... here. Call it. Cleanup
initializations.
From-SVN: r245250
Dominik Vogt [Tue, 7 Feb 2017 17:13:40 +0000 (17:13 +0000)]
Only xfail g++.dg/tls/thread_local-order2.C on Solaris
2017-02-07 Dominik Vogt <vogt@linux.vnet.ibm.com>
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* g++.dg/tls/thread_local-order2.C: Only xfail execution on
*-*-solaris*.
Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
From-SVN: r245249
Jakub Jelinek [Tue, 7 Feb 2017 15:42:42 +0000 (16:42 +0100)]
re PR target/79299 (Operand size mismatch for `vpgatherqd' w/ -O3 -masm=intel -mavx512bw)
PR target/79299
* config/i386/sse.md (xtg_mode, gatherq_mode): New mode attrs.
(*avx512f_gathersi<mode>, *avx512f_gathersi<mode>_2,
*avx512f_gatherdi<mode>, *avx512f_gatherdi<mode>_2): Use them,
fix -masm=intel patterns.
* gcc.target/i386/avx512vl-pr79299-1.c: New test.
* gcc.target/i386/avx512vl-pr79299-2.c: New test.
From-SVN: r245248
Richard Biener [Tue, 7 Feb 2017 11:29:06 +0000 (11:29 +0000)]
re PR tree-optimization/79256 (FAIL: gcc.dg/vect/pr25413a.c execution test)
2017-02-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/79256
PR middle-end/79278
* builtins.c (get_object_alignment_2): Use min_align_of_type
to extract alignment for MEM_REFs to honor BIGGEST_FIELD_ALIGNMENT
and ADJUST_FIELD_ALIGN.
* doc/tm.texi.in (ADJUST_FIELD_ALIGN): Adjust to take additional
type parameter.
* doc/tm.texi: Regenerate.
* stor-layout.c (layout_decl): Adjust.
(update_alignment_for_field): Likewise.
(place_field): Likewise.
(min_align_of_type): Likewise.
* config/arc/arc.h (ADJUST_FIELD_ALIGN): Adjust.
* config/epiphany/epiphany.h (ADJUST_FIELD_ALIGN): Likewise.
* config/epiphany/epiphany.c (epiphany_adjust_field_align): Likewise.
* config/frv/frv.h (ADJUST_FIELD_ALIGN): Likewise.
* config/frv/frv.c (frv_adjust_field_align): Likewise.
* config/i386/i386.h (ADJUST_FIELD_ALIGN): Likewise.
* config/i386/i386.c (x86_field_alignment): Likewise.
* config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Likewise.
* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Likewise.
* config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.
* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
* config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Likewise.
* config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p):
Likewise.
go/
* go-backend.c (go_field_alignment): Adjust.
libobjc/
* encoding.c (objc_layout_structure_next_member): Adjust
ADJUST_FIELD_ALIGN usage.
Revert
2017-01-30 Richard Biener <rguenther@suse.de>
PR tree-optimization/79256
* targhooks.c (default_builtin_vector_alignment_reachable): Honor
BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
alignment on TYPE.
From-SVN: r245245
Richard Biener [Tue, 7 Feb 2017 11:26:08 +0000 (11:26 +0000)]
gimple-parser.c (c_parser_gimple_expr_list): Simplify.
2017-02-07 Richard Biener <rguenther@suse.de>
c/
* gimple-parser.c (c_parser_gimple_expr_list): Simplify.
(c_parser_gimple_postfix_expression_after_primary):
Do not use c_build_function_call_vec to avoid folding and promotion.
Simplify.
* gcc.dg/gimplefe-23.c: New testcase.
* gcc.dg/gimplefe-24.c: Likewise.
From-SVN: r245244
Toma Tabacu [Tue, 7 Feb 2017 10:34:47 +0000 (10:34 +0000)]
MIPS: Fix mode mismatch error between Loongson builtin arguments and insn
operands.
gcc/
* config/mips/mips.c (mips_expand_builtin_insn): Convert the QImode
argument of the pshufh, psllh, psllw, psrah, psraw, psrlh, psrlw
builtins to SImode and emit a zero-extend, if necessary.
From-SVN: r245243
Christophe Lyon [Tue, 7 Feb 2017 09:32:14 +0000 (09:32 +0000)]
[AArch64,testsuite] Fix epilogue scan after ifcombine update.
2017-02-07 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/test_frame_1.c: Scan epilogue with
scan-assembler instead of scan-assembler-times.
* gcc.target/aarch64/test_frame_10.c: Likewise.
* gcc.target/aarch64/test_frame_12.c: Likewise.
* gcc.target/aarch64/test_frame_2.c: Likewise.
* gcc.target/aarch64/test_frame_4.c: Likewise.
* gcc.target/aarch64/test_frame_6.c: Likewise.
* gcc.target/aarch64/test_frame_7.c: Likewise.
* gcc.target/aarch64/test_frame_8.c: Likewise.
From-SVN: r245242
Rainer Orth [Tue, 7 Feb 2017 09:13:12 +0000 (09:13 +0000)]
Require ifunc support in gcc.target/i386/pr78419.c
* gcc.target/i386/pr78419.c: Require ifunc support.
From-SVN: r245241
David Edelsohn [Tue, 7 Feb 2017 02:26:48 +0000 (02:26 +0000)]
* gcc.dg/torture/stackalign/builtin-apply-2.c: Fix skip-if syntax.
From-SVN: r245240
Patrick Palka [Tue, 7 Feb 2017 02:20:48 +0000 (02:20 +0000)]
re PR c++/79360 (ICE with NSDMI and enum in union)
Fix PR c++/79360
gcc/cp/ChangeLog:
PR c++/79360
* typeck2.c (process_init_constructor_union): Consider only
FIELD_DECLs when looking for an NSDMI.
gcc/testsuite/ChangeLog:
PR c++/79360
* g++.dg/cpp1y/nsdmi-union2.C: New test.
From-SVN: r245239
GCC Administrator [Tue, 7 Feb 2017 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245237
Joseph Myers [Mon, 6 Feb 2017 23:37:48 +0000 (23:37 +0000)]
* de.po, fr.po, sv.po: Update.
From-SVN: r245233
Palmer Dabbelt [Mon, 6 Feb 2017 21:39:18 +0000 (21:39 +0000)]
Alphebetize RISC-V Options section
2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
* docs/invoke.texi (RISC-V Options): Alphabetize.
From-SVN: r245231
Palmer Dabbelt [Mon, 6 Feb 2017 21:39:13 +0000 (21:39 +0000)]
Use two spaces to separate options in the RISC-V docs
gcc/ChangeLog:
2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
* doc/invoke.texi (RISC-V Options): Use two spaces to separate
options.
From-SVN: r245230
Palmer Dabbelt [Mon, 6 Feb 2017 21:39:08 +0000 (21:39 +0000)]
RISC-V Port: contrib
2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
* config-list.mki (LIST): Add riscv32-unknown-linux-gun and
riscv64-unknown-linux-gnu.
From-SVN: r245229
Kito Cheng [Mon, 6 Feb 2017 21:39:03 +0000 (21:39 +0000)]
RISC-V Port: gcc/testsuite
gcc/testsuite/ChangeLog:
2017-02-06 Kito Cheng <kito.cheng@gmail.com>
* lib/target-supports.exp: Define the RISC-V target.
* g++.dg/cpp0x/constexpr-rom.C: Skip on RISC-V
* gcc.dg/builtin-apply2.c: Likewise.
* gcc.dg/ifcvt-4.c: Likewise.
* gcc.dg/loop-8.c: Likewise.
* gcc.dg/sibcall-10.c: Likewise.
* gcc.dg/sibcall-9.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise.
* gcc.dg/tree-ssa/
20040204-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
* gcc.c-torture/execute/
20101011-1.c: Define DO_TEST on RISC-V.
* gcc.dg/
20020312-2.c: Don't define PIC_REG on RISC-V.
* gcc.dg/stack-usage-1.c: Define SIZE on RISC-V.
From-SVN: r245228
Palmer Dabbelt [Mon, 6 Feb 2017 21:38:57 +0000 (21:38 +0000)]
RISC-V Port: libatomic
2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
* configure.tgt: Add RISC-V tuple.
From-SVN: r245227
Palmer Dabbelt [Mon, 6 Feb 2017 21:38:51 +0000 (21:38 +0000)]
RISC-V Port: libgcc
libgcc/ChangeLog:
2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
* config.host: Add RISC-V tuples.
* config/riscv/atomic.c: New file.
* config/riscv/crti.S: Likewise.
* config/riscv/crtn.S: Likewise.
* config/riscv/div.S: Likewise.
* config/riscv/linux-unwind.h: Likewise.
* config/riscv/muldi3.S: Likewise.
* config/riscv/multi3.S: Likewise.
* config/riscv/save-restore.S: Likewise.
* config/riscv/sfp-machine.h: Likewise.
* config/riscv/t-elf: Likewise.
* config/riscv/t-elf32: Likewise.
* config/riscv/t-elf64: Likewise.
* config/riscv/t-softfp32: Likewise.
* config/riscv/t-softfp64: Likewise.
From-SVN: r245226
Palmer Dabbelt [Mon, 6 Feb 2017 21:38:43 +0000 (21:38 +0000)]
RISC-V Port: Regenerate gcc/configure
From-SVN: r245225
Palmer Dabbelt [Mon, 6 Feb 2017 21:38:37 +0000 (21:38 +0000)]
RISC-V Port: gcc
gcc/ChangeLog:
2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
* config/riscv/riscv.c: New file.
* gcc/common/config/riscv/riscv-common.c: Likewise.
* config.gcc: Likewise.
* config/riscv/constraints.md: Likewise.
* config/riscv/elf.h: Likewise.
* config/riscv/generic.md: Likewise.
* config/riscv/linux.h: Likewise.
* config/riscv/multilib-generator: Likewise.
* config/riscv/peephole.md: Likewise.
* config/riscv/pic.md: Likewise.
* config/riscv/predicates.md: Likewise.
* config/riscv/riscv-builtins.c: Likewise.
* config/riscv/riscv-c.c: Likewise.
* config/riscv/riscv-ftypes.def: Likewise.
* config/riscv/riscv-modes.def: Likewise.
* config/riscv/riscv-opts.h: Likewise.
* config/riscv/riscv-protos.h: Likewise.
* config/riscv/riscv.h: Likewise.
* config/riscv/riscv.md: Likewise.
* config/riscv/riscv.opt: Likewise.
* config/riscv/sync.md: Likewise.
* config/riscv/t-elf-multilib: Likewise.
* config/riscv/t-linux: Likewise.
* config/riscv/t-linux-multilib: Likewise.
* config/riscv/t-riscv: Likewise.
* configure.ac: Likewise.
* doc/contrib.texi: Add Kito Cheng, Palmer Dabbelt, and Andrew
Waterman as RISC-V maintainers.
* doc/install.texi: Add RISC-V entries.
* doc/invoke.texi: Add RISC-V options section.
* doc/md.texi: Add RISC-V constraints section.
From-SVN: r245224
Jason Merrill [Mon, 6 Feb 2017 21:12:13 +0000 (16:12 -0500)]
PR c++/71193 - incomplete types in templates
* parser.c (cp_parser_postfix_dot_deref_expression): In a template
handle incomplete type by pedwarning and then treating as dependent.
From-SVN: r245223
Michael Meissner [Mon, 6 Feb 2017 21:07:37 +0000 (21:07 +0000)]
re PR target/66144 (vector element operator produces very bad code)
[gcc]
2017-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/66144
* config/rs6000/vector.md (vcond<mode><mode>): Allow the true and
false values to be constant vectors with all 0 or all 1 bits set.
(vcondu<mode><mode>): Likewise.
* config/rs6000/predicates.md (vector_int_reg_or_same_bit): New
predicate.
(fpmask_comparison_operator): Update comment.
(vecint_comparison_operator): New predicate.
* config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Optimize
vector conditionals when the true and false values are constant
vectors with all 0 bits or all 1 bits set.
[gcc/testsuite]
2017-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/66144
* gcc.target/powerpc/pr66144-1.c: New test.
* gcc.target/powerpc/pr66144-2.c: Likewise.
* gcc.target/powerpc/pr66144-3.c: Likewise.
From-SVN: r245222
Martin Sebor [Mon, 6 Feb 2017 20:11:51 +0000 (20:11 +0000)]
PR tree-optimization/ 79376 - wrong lower bound with %s and non-constant
strings in -Wformat-overflow
gcc/ChangeLog:
* gimple-fold.c (get_range_strlen): Set the minimum length to zero.
From-SVN: r245221
Jakub Jelinek [Mon, 6 Feb 2017 20:06:16 +0000 (21:06 +0100)]
re PR c++/79379 (ICE with #pragma GCC ivdep)
PR c++/79379
* constexpr.c (cxx_eval_constant_expression): Handle ANNOTATE_EXPR.
(potential_constant_expression_1): Likewise.
* g++.dg/cpp1y/constexpr-79379.C: New test.
From-SVN: r245220
Jakub Jelinek [Mon, 6 Feb 2017 20:05:09 +0000 (21:05 +0100)]
re PR c++/79377 (ICE with increment operator in -fpermissive mode)
PR c++/79377
* tree.c (build_min_non_dep_op_overload): For POST{INC,DEC}REMENT_EXPR
allow one fewer than expected arguments if flag_permissive.
* g++.dg/lookup/pr79377.C: New test.
From-SVN: r245219
Jakub Jelinek [Mon, 6 Feb 2017 20:03:15 +0000 (21:03 +0100)]
re PR c++/79372 (ICE on C++ code with illegal decomposition declaration on x86_64-linux-gnu: in tsubst_decomp_names, at cp/pt.c:15599)
PR c++/79372
* decl.c (cp_finish_decomp): On error set decl type to error_mark_node.
* pt.c (tsubst_expr): Don't call tsubst_decomp_names on decompositions
with error_mark_node type.
* g++.dg/cpp1z/decomp25.C: New test.
From-SVN: r245218
Uros Bizjak [Mon, 6 Feb 2017 19:46:51 +0000 (20:46 +0100)]
sse.md (vector modes -> vec_extract* splitter): Use explicit subreg RTX with operand 1.
* config/i386/sse.md (vector modes -> vec_extract* splitter): Use
explicit subreg RTX with operand 1. Use VECTOR_MODE_P predicate
to simplify split condition.
From-SVN: r245217
Jakub Jelinek [Mon, 6 Feb 2017 19:25:02 +0000 (20:25 +0100)]
omp-expand.c (oxpand_omp_atomic_fetch_op, [...]): Return false if can_atomic_load_p is false.
* omp-expand.c (oxpand_omp_atomic_fetch_op,
expand_omp_atomic_pipeline): Return false if can_atomic_load_p is
false.
From-SVN: r245216
Segher Boessenkool [Mon, 6 Feb 2017 19:19:49 +0000 (20:19 +0100)]
sched: Do not move expensive insns speculatively (PR68664)
Scheduling should never move very expensive instructions to places they
are executed more frequently. This patch fixes that, reducing the
execution time of c-ray by over 40% (I tested on a BE Power7 system).
This introduces a new target hook sched.can_speculate_insn which returns
whether the scheduler is allowed to speculate a given instruction. The
rs6000 implementation disallows all divide and square root instructions.
PR rtl-optimization/68664
* target.def (can_speculate_insn): New hook.
* doc/tm.texi.in (TARGET_SCHED_CAN_SPECULATE_INSN): New hook.
* doc/tm.texi: Regenerate.
* sched-rgn.c (can_schedule_ready_p): Use the new hook.
* config/rs6000/rs6000.c (TARGET_SCHED_CAN_SPECULATE_INSN): New macro.
(rs6000_sched_can_speculate_insn): New function.
From-SVN: r245215
Jakub Jelinek [Mon, 6 Feb 2017 19:15:36 +0000 (20:15 +0100)]
re PR tree-optimization/79284 (ICE on valid code at -O3 on x86_64-linux-gnu: verify_gimple failed)
PR tree-optimization/79284
* tree-vectorizer.h (VECT_SCALAR_BOOLEAN_TYPE_P): Define.
* tree-vect-stmts.c (vect_get_vec_def_for_operand,
vectorizable_mask_load_store, vectorizable_operation,
vect_is_simple_cond, get_same_sized_vectype): Use it instead
of comparing TREE_CODE of a type against BOOLEAN_TYPE.
* tree-vect-patterns.c (check_bool_pattern, search_type_for_mask_1,
vect_recog_bool_pattern, vect_recog_mask_conversion_pattern): Likewise.
* tree-vect-slp.c (vect_get_constant_vectors): Likewise.
* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
Remove redundant gimple_code (stmt) == GIMPLE_ASSIGN test after
is_gimple_assign (stmt). Replace another such test with
is_gimple_assign (stmt).
testsuite/
* gcc.c-torture/compile/pr79284.c: New test.
From-SVN: r245214
Paolo Carlini [Mon, 6 Feb 2017 17:49:31 +0000 (17:49 +0000)]
re PR c++/70448 (ICE on invalid code on x86_64-linux-gnu: unexpected expression ‘f’ of kind overload)
2017-02-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/70448
* g++.dg/cpp0x/pr70448.C: New.
From-SVN: r245213
Jonathan Wakely [Mon, 6 Feb 2017 16:39:56 +0000 (16:39 +0000)]
Fix test failure at -O0 by pruning output
PR libstdc++/79323
* testsuite/20_util/duration/literals/range.cc: Prune extra output
at -O0.
From-SVN: r245211
Dominik Vogt [Mon, 6 Feb 2017 15:14:09 +0000 (15:14 +0000)]
PR 78348: Limit amount of unrolling in test.
gcc/testsuite/ChangeLog:
2017-02-06 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR 78348
* gcc.dg/tree-ssa/ldist-24.c: Add "--param max-completely-peel-times=8"
to dg-options.
From-SVN: r245210
Georg-Johann Lay [Mon, 6 Feb 2017 13:38:56 +0000 (13:38 +0000)]
re PR rtl-optimization/78883 ([avr] ICE triggered by change to combine.c (r243578))
gcc/
PR target/78883
* config/avr/avr.c (rtl-iter.h): Include it.
(TARGET_LEGITIMATE_COMBINED_INSN): New hook define...
(avr_legitimate_combined_insn): ...and implementation.
gcc/testsuite/
PR target/78883
* gcc.c-torture/compile/pr78883.c: New test.
From-SVN: r245209
Dominik Vogt [Mon, 6 Feb 2017 11:42:07 +0000 (11:42 +0000)]
S/390: Use macros from hwint.h where possible.
gcc/ChangeLog:
2017-02-06 Dominik Vogt <vogt@linux.vnet.ibm.com>
* config/s390/predicates.md ("larl_operand"): Use macros from hwint.h.
* config/s390/s390.c (s390_const_operand_ok)
(s390_canonicalize_comparison, s390_extract_part)
(s390_single_part, s390_contiguous_bitmask_nowrap_p)
(s390_contiguous_bitmask_p, s390_rtx_costs)
(legitimize_pic_address): Likewise.
* config/s390/s390.md ("clzdi2", "clztidi2"): Likewise.
* config/s390/vx-builtins.md ("vec_genbytemaskv16qi")
("vec_permi<mode>", "vfae<mode>", "*vfaes<mode>", "vstrc<mode>")
("*vstrcs<mode>"): Use UINTVAL() to set unsigned HOST_WIDE_INT.
* config/s390/vector.md ("vec_vfenes<mode>"): Likewise.
From-SVN: r245207
Georg-Johann Lay [Mon, 6 Feb 2017 11:38:52 +0000 (11:38 +0000)]
avr.md (*addhi3_zero_extend): Add alternative where REGNO($0) == REGNO($1).
* config/avr/avr.md (*addhi3_zero_extend): Add alternative where
REGNO($0) == REGNO($1).
From-SVN: r245206
Gerald Pfeifer [Mon, 6 Feb 2017 10:26:59 +0000 (10:26 +0000)]
documentation_hacking.xml: Remove obsolete link to DocBook Publishing Tools.
* doc/xml/manual/documentation_hacking.xml: Remove obsolete link
to DocBook Publishing Tools.
epubcheck has moved to GitHub.
Update URL of the DocBook Element Reference; use that term as
link description instead of "online".
From-SVN: r245205
Andreas Krebbel [Mon, 6 Feb 2017 10:25:05 +0000 (10:25 +0000)]
S/390: Add SIZE_TYPE comment.
gcc/ChangeLog:
2017-02-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/linux.h(SIZE_TYPE): Add comment.
From-SVN: r245204
Julian Brown [Mon, 6 Feb 2017 02:23:07 +0000 (02:23 +0000)]
aarch64-cores.def: Change the scheduler to Thunderx2t99.
2017-02-06 Julian Brown <julian@codesourcery.com>
Naveen H.S <Naveen.Hurugalawadi@cavium.com>
Virendra Pathak <virendra.pathak@broadcom.com>
* config/aarch64/aarch64-cores.def: Change the scheduler
to Thunderx2t99.
* config/aarch64/aarch64.md: Include thunderx2t99.md.
* config/aarch64/thunderx2t99.md: New file.
Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@cavium.com>
Co-Authored-By: Virendra Pathak <virendra.pathak@broadcom.com>
From-SVN: r245203
GCC Administrator [Mon, 6 Feb 2017 00:16:21 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245202
Gerald Pfeifer [Sun, 5 Feb 2017 21:10:29 +0000 (21:10 +0000)]
standards.texi (Go Language): Update link to language standard.
* doc/standards.texi (Go Language): Update link to language
standard.
From-SVN: r245199
Gerald Pfeifer [Sun, 5 Feb 2017 21:05:26 +0000 (21:05 +0000)]
contrib.texi (Contributors): Refer to Hans Boehm's garbage collector only in textual form.
* doc/contrib.texi (Contributors): Refer to Hans Boehm's
garbage collector only in textual form.
From-SVN: r245198
Jan Hubicka [Sun, 5 Feb 2017 18:13:22 +0000 (19:13 +0100)]
tree-eh.c (lower_resx): Sanitize profile.
* tree-eh.c (lower_resx): Sanitize profile.
(cleanup_empty_eh_move_lp): Likewise.
From-SVN: r245197
Jan Hubicka [Sun, 5 Feb 2017 17:16:52 +0000 (18:16 +0100)]
re PR tree-optimization/79347 (vect_do_peeling is messing up profile)
PR tree-ssa/79347
* cfgloopmanip.c (lv_adjust_loop_entry_edge, loop_version): Add
ELSE_PROB.
* cfgloopmanip.h (loop_version): Update prototype.
* modulo-sched.c (sms_schedule): Update call of loop_version.
* tree-if-conv.c(version_loop_for_if_conversion): Likewise.
* tree-parloops.c (gen_parallel_loop): Likewise.
* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise.
* tree-ssa-loop-split.c (split_loop): Likewise.
* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Likewise.
* tree-vect-loop-manip.c (vect_loop_versioning): Likewise.
* gcc.dg/tree-ssa/ifc-10.c: Match for profile mismatches.
* gcc.dg/tree-ssa/ifc-11.c: Match for profile mismatches.
* gcc.dg/tree-ssa/ifc-12.c: Match for profile mismatches.
* gcc.dg/tree-ssa/ifc-
20040816-1.c: Match for profile mismatches.
* gcc.dg/tree-ssa/ifc-
20040816-2.c: Match for profile mismatches.
* gcc.dg/tree-ssa/ifc-5.c: Match for profile mismatches.
* gcc.dg/tree-ssa/ifc-8.c: Match for profile mismatches.
* gcc.dg/tree-ssa/ifc-9.c: Match for profile mismatches.
* gcc.dg/tree-ssa/ifc-cd.c: Match for profile mismatches.
* gcc.dg/tree-ssa/ifc-pr56541.c: Match for profile mismatches.
* gcc.dg/tree-ssa/ifc-pr68583.c: Match for profile mismatches.
* gcc.dg/tree-ssa/ifc-pr69489-1.c: Match for profile mismatches.
* gcc.dg/tree-ssa/ifc-pr69489-2.c: Match for profile mismatches.
From-SVN: r245196
Martin Liska [Sun, 5 Feb 2017 15:51:13 +0000 (16:51 +0100)]
re PR bootstrap/78985 (profiledbootstrap failure by -Wuninitialized)
PR bootstrap/78985
* config/s390/s390.c (s390_gimplify_va_arg): Initialize local
variable to NULL.
(print_operand_address): Initialize a struct to zero.
From-SVN: r245195
Andre Vehreschild [Sun, 5 Feb 2017 15:43:03 +0000 (16:43 +0100)]
re PR fortran/79344 (segmentation faults and run-time errors)
gcc/fortran/ChangeLog:
2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/79344
* trans-stmt.c (gfc_trans_allocate): Only deallocate the components of
the temporary, when a new object was created for the temporary. Not
when it is just an alias to an existing object.
gcc/testsuite/ChangeLog:
2017-02-04 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/79344
* gfortran.dg/allocate_with_source_24.f90: New test.
From-SVN: r245194
Andre Vehreschild [Sun, 5 Feb 2017 13:05:10 +0000 (14:05 +0100)]
re PR fortran/79335 (Conditional jump or move depends on uninitialised in value get_scalar_to_descriptor_type(tree_node*, symbol_attribute) (trans-expr.c:53))
gcc/fortran/ChangeLog:
2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/79335
* trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
attributes before using them.
From-SVN: r245193
Andre Vehreschild [Sun, 5 Feb 2017 12:42:31 +0000 (13:42 +0100)]
re PR fortran/78958 (Unallocated memory access after SOURCE-ALLOCATEing unlimited polymorphic object)
gcc/fortran/ChangeLog:
2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/78958
* trans-stmt.c (gfc_trans_allocate): Add the multiplying the _len
component of unlimited polymorphic objects when source-allocating.
From-SVN: r245192
Andre Vehreschild [Sun, 5 Feb 2017 12:02:15 +0000 (13:02 +0100)]
re PR fortran/79230 ([OOP] Run time error: double free or corruption)
gcc/fortran/ChangeLog:
2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/79230
* trans-array.c (structure_alloc_comps): Ignore pointer components when
freeing structures.
gcc/testsuite/ChangeLog:
2017-02-05 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/79230
* gfortran.dg/der_ptr_component_2.f90: New test.
From-SVN: r245191
Gerald Pfeifer [Sun, 5 Feb 2017 11:28:08 +0000 (11:28 +0000)]
MAINTAINERS (Write After Approval): Remove redundant entry for Andrew Burgess.
* MAINTAINERS (Write After Approval): Remove redundant entry
for Andrew Burgess.
From-SVN: r245190
Gerald Pfeifer [Sun, 5 Feb 2017 11:09:18 +0000 (11:09 +0000)]
extend.texi (x86 specific memory model extensions for transactional memory): Simplify a phrase.
* doc/extend.texi (x86 specific memory model extensions for
transactional memory): Simplify a phrase.
From-SVN: r245189
Eric Botcazou [Sun, 5 Feb 2017 09:47:48 +0000 (09:47 +0000)]
re PR target/79353 (ICE in curr_insn_transform, at lra-constraints.c:3773)
PR target/79353
* config/sparc/sync.md (atomic_loaddi_1): Replace 'U' constraint with
'r', 'm' constraint with 'T' and !TARGET_ARCH64 with TARGET_ARCH32.
(atomic_storedi_1): Likewise.
From-SVN: r245188
GCC Administrator [Sun, 5 Feb 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245187
Jakub Jelinek [Sat, 4 Feb 2017 07:44:13 +0000 (08:44 +0100)]
re PR tree-optimization/79338 (Memory leak in tree-parloops.c)
PR tree-optimization/79338
* tree-parloops.c (gather_scalar_reductions): Don't call
vect_analyze_loop_form for loop->inner before destroying loop's
loop_vinfo.
From-SVN: r245183
John David Anglin [Sat, 4 Feb 2017 01:37:12 +0000 (01:37 +0000)]
coarray_43.f90: Add "-latomic" option if libatomic_available.
* gfortran.dg/coarray_43.f90: Add "-latomic" option if
libatomic_available.
From-SVN: r245182
John David Anglin [Sat, 4 Feb 2017 01:28:56 +0000 (01:28 +0000)]
pr77587.c: Require alias support.
* gcc.dg/pr77587.c: Require alias support.
* gcc.dg/pr77587a.c: Likewise.
From-SVN: r245181
John David Anglin [Sat, 4 Feb 2017 01:16:54 +0000 (01:16 +0000)]
pr78112-2.C: Skip on hppa*-*-hpux*.
* g++.dg/pr78112-2.C: Skip on hppa*-*-hpux*.
* gcc.c-torture/execute/pr78622.c: Likewise.
From-SVN: r245180
John David Anglin [Sat, 4 Feb 2017 00:54:06 +0000 (00:54 +0000)]
Wunused-var-15.c: Add -fno-common additional option on hppa*-*-hpux*.
* c-c++-common/Wunused-var-15.c: Add -fno-common additional option on
hppa*-*-hpux*.
* c-c++-common/Wunused-var-16.c: Likewise.
* c-c++-common/builtin-shuffle-1.c: Likewise.
* gcc.dg/debug/dwarf2/align-[1-6].c Likewise.
* gcc.dg/debug/dwarf2/align-as-1.c: Likewise.
From-SVN: r245179
John David Anglin [Sat, 4 Feb 2017 00:25:19 +0000 (00:25 +0000)]
configure.ac: Add gcc/function-tests.o to compare_exclusions for 32-bit hppa*-*-hpux*.
* configure.ac: Add gcc/function-tests.o to compare_exclusions for
32-bit hppa*-*-hpux*.
* configure: Regenerate.
From-SVN: r245178
GCC Administrator [Sat, 4 Feb 2017 00:16:21 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245177
Jason Merrill [Fri, 3 Feb 2017 23:19:46 +0000 (18:19 -0500)]
re PR c++/78334 ([C++1z] P0127R2 related ICE: Segmentation fault)
PR c++/78334
* g++.dg/cpp1z/nontype-auto7.C: New.
From-SVN: r245174
Martin Sebor [Fri, 3 Feb 2017 22:47:35 +0000 (22:47 +0000)]
PR tree-optimization/79327 - wrong code at -O2 and -fprintf-return-value
PR tree-optimization/79327 - wrong code at -O2 and -fprintf-return-value
gcc/ChangeLog:
* gimple-ssa-sprintf.c (tree_digits): Avoid adding the base prefix
when precision has resulted in leading zeros.
(format_integer): Adjust the likely counter to assume an unknown
argument that may be zero is non-zero.
gcc/testsuite/ChangeLog:
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust.
* gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-13.c: New test.
* gcc/testsuite/gcc.dg/tree-ssa/pr79327-2.c: Ditto.
From-SVN: r245173
Jason Merrill [Fri, 3 Feb 2017 22:42:37 +0000 (17:42 -0500)]
PR c++/78689 - ICE on constructor with label
gcc/
* tree-inline.c (copy_tree_body_r) [COND_EXPR]: Revert change to
avoid copying non-taken branch.
gcc/cp/
* optimize.c (maybe_clone_body): Replace omitted parameters with
null lvalues.
* class.c (build_clone): Fix logic for omitting inherited parms.
From-SVN: r245172
Jakub Jelinek [Fri, 3 Feb 2017 22:36:29 +0000 (23:36 +0100)]
re PR tree-optimization/79340 (Memory leaks in tree-vect-slp.c)
PR tree-optimization/79340
* tree-vect-loop.c (vectorizable_reduction): Release
vec_defs elements after safe_splicing them into other vectors.
Formatting fixes.
From-SVN: r245171
Jason Merrill [Fri, 3 Feb 2017 19:44:27 +0000 (14:44 -0500)]
PR c++/12245 - excessive memory use
* constexpr.c (maybe_constant_value): Fold maybe_constant_value_1
back in. Don't cache constants.
(maybe_constant_init): Don't cache constants.
From-SVN: r245169
Jason Merrill [Fri, 3 Feb 2017 19:44:21 +0000 (14:44 -0500)]
PR c++/79294 - ICE with invalid template argument
* pt.c (convert_nontype_argument_function): Check value-dependence.
(convert_nontype_argument): Don't check it here for function ptrs.
From-SVN: r245168
Jonathan Wakely [Fri, 3 Feb 2017 19:26:51 +0000 (19:26 +0000)]
PR libstdc++/66145 ensure new ABI for ios::failure tests
PR libstdc++/66145
* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Restore ABI override
so new ios::failure can be caught even when old ABI is the default.
* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/ios_base/storage/2.cc: Likewise.
From-SVN: r245167
Jakub Jelinek [Fri, 3 Feb 2017 19:16:39 +0000 (20:16 +0100)]
re PR tree-optimization/79327 (wrong code at -O2 and -fprintf-return-value)
PR tree-optimization/79327
* gimple-ssa-sprintf.c (adjust_range_for_overflow): If returning
true, always set *argmin and *argmax to TYPE_{MIN,MAX}_VALUE of
dirtype.
(format_integer): Use wide_int_to_tree instead of build_int_cst
+ to_?hwi. If argmin is NULL, just set argmin and argmax to
TYPE_{MIN,MAX}_VALUE of argtype. Simplify and fix computation
of shortest and longest sequence.
* gcc.dg/tree-ssa/pr79327.c: New test.
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c
(test_sprintf_chk_hh_nonconst): Don't expect 2 bogus warnings.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c
(test_sprintf_chk_range_schar): Adjust dg-message.
* gcc.dg/tree-ssa/builtin-sprintf-warn-12.c: New test.
* gcc.c-torture/execute/pr79327.c: New test.
Co-Authored-By: Martin Sebor <msebor@redhat.com>
From-SVN: r245166
Jonathan Wakely [Fri, 3 Feb 2017 18:59:05 +0000 (18:59 +0000)]
PR libstdc++/60936 reduce coupling between objects in libstdc++.a
Move explicit instantiation definitions for string I/O functions into
their own files so that iostream and locale definitions are not needed
for uses of strings without I/O. Move functions for throwing C++11
exceptions into the individual files defining the exception types, so
that using any of the functions from functexcept.cc doesn't pull in
large pieces of the C++11 library. Finally, avoid using __int_to_char in
snprintf_lite.cc to avoid pulling in locale-inst.cc for one function.
PR libstdc++/60936
* src/c++11/Makefile.am: Add new files.
* src/c++11/Makefile.in: Regenerate.
* src/c++11/cow-string-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
(operator<<, operator>>, getline): Move explicit instantiations to ...
* src/c++11/cow-string-io-inst.cc: ... new file.
* src/c++11/cow-wstring-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
(operator<<, operator>>, getline): Move explicit instantiations to ...
* src/c++11/cow-wstring-io-inst.cc: ... new file.
* src/c++11/functexcept.cc (__throw_ios_failure, __throw_system_error)
(__throw_future_error, __throw_bad_function_call):
(__throw_regex_error): Move functions for C++11 exceptions to the
files that define the exception types.
* src/c++11/functional.cc (__throw_bad_function_call): Move here.
* src/c++11/future.cc (__throw_future_error): Likewise.
* src/c++11/ios.cc (__throw_ios_failure): Likewise.
* src/c++11/regex.cc (__throw_regex_error): Likewise.
* src/c++11/snprintf_lite.cc (__concat_size_t): Print decimal
representation directly instead of calling __int_to_char.
* src/c++11/sso_string.cc (__sso_string): New file for definition
of __sso_string type.
* src/c++11/string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
explicit instantiations of narrow string I/O functions.
* src/c++11/system_error.cc (__throw_system_error): Move here.
(__sso_string): Move to new file.
* src/c++11/wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
explicit instantiations of wide string I/O functions.
* src/c++98/misc-inst.cc [_GLIBCXX_USE_CXX11_ABI] (operator<<)
(operator>>, getline): Remove explicit instantiations from here.
From-SVN: r245162
Uros Bizjak [Fri, 3 Feb 2017 18:54:20 +0000 (19:54 +0100)]
i386.c (dimode_scalar_chain::convert_reg): Use pextrd for TARGET_SSE4_1 when creating scalar copy.
* config/i386/i386.c (dimode_scalar_chain::convert_reg):
Use pextrd for TARGET_SSE4_1 when creating scalar copy.
From-SVN: r245161
Walter Lee [Fri, 3 Feb 2017 18:41:57 +0000 (18:41 +0000)]
re PR target/78862 (tile*: ICE with -fstack-protetor-strong)
PR target/78862
* config/tilegx/tilegx.md (tilegx_expand_prologue): Add blockage
after initial stackframe link reg save.
* config/tilepro/tilepro.md (tilepro_expand_prologue): Likewise.
From-SVN: r245159
Doug Gilmore [Fri, 3 Feb 2017 18:41:16 +0000 (18:41 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2017-02-03 Doug Gilmore <Doug.Gilmore@imgtec.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r245158
Jakub Jelinek [Fri, 3 Feb 2017 17:34:56 +0000 (18:34 +0100)]
re PR target/79354 (-mcpu=power8 -O2 generates power9 instruction on powerpc64le-linux)
PR target/79354
* config/rs6000/rs6000.md (movsi_from_sf): Use wb constraint instead of
wu for stxssp alternative.
* gcc.target/powerpc/pr79354.c: New test.
* gcc.c-torture/execute/pr79354.c: New test.
From-SVN: r245157
Martin Sebor [Fri, 3 Feb 2017 16:38:15 +0000 (16:38 +0000)]
PR tree-optimization/79352 - -fprintf-return-value doesn't handle flexible-like array members properly
gcc/ChangeLog:
PR tree-optimization/79352
* gimple-fold.c (get_range_strlen): Add argument.
(get_range_strlen): Change return type to bool.
(get_maxval_strlen): Pass in a dummy argument.
* gimple-fold.h (get_range_strlen): Change return type to bool.
* gimple-ssa-sprintf.c (get_string_length): Set unlikely counter.
* tree.h (array_at_struct_end_p): Add argument.
* tree.c (array_at_struct_end_p): Handle it.
gcc/testsuite/ChangeLog:
PR tree-optimization/79352
* gcc.dg/tree-ssa/pr79352.c: New test.
From-SVN: r245156
Martin Liska [Fri, 3 Feb 2017 15:22:47 +0000 (16:22 +0100)]
Simplify creation of target_clones (PR lto/66295)
2017-02-03 Martin Liska <mliska@suse.cz>
PR lto/66295
* multiple_target.c (create_dispatcher_calls): Redirect edge
from a caller of a dispatcher.
(expand_target_clones): Make the clones local.
(ipa_target_clone): Do both target clones and resolvers.
(ipa_dispatcher_calls): Remove the pass.
(pass_dispatcher_calls::gate): Likewise.
(make_pass_dispatcher_calls): Likewise.
* passes.def (pass_target_clone): Put as very first IPA early
pass.
2017-02-03 Martin Liska <mliska@suse.cz>
PR lto/66295
* gcc.target/i386/mvc9.c: New test.
From-SVN: r245155
Martin Liska [Fri, 3 Feb 2017 15:15:51 +0000 (16:15 +0100)]
Bail out binds_to_current_def_p for ifunc functions.
2017-02-03 Martin Liska <mliska@suse.cz>
* symtab.c (symtab_node::binds_to_current_def_p): Bail out
in case of a function with ifunc attribute.
From-SVN: r245154
Martin Liska [Fri, 3 Feb 2017 15:14:40 +0000 (16:14 +0100)]
IPA: enhance dump output
2017-02-03 Martin Liska <mliska@suse.cz>
* cgraph.c (cgraph_node::dump): Dump function version info.
* symtab.c (symtab_node::dump_base): Add missing new line.
From-SVN: r245153
Pat Haugen [Fri, 3 Feb 2017 14:20:30 +0000 (14:20 +0000)]
re PR rtl-optimization/78241 (wrong code with -funroll-loops)
PR rtl-optimization/78241
* loop-unroll.c (unroll_loop_runtime_iterations): Don't adjust 'niter', but
emit initial peel copy if niter expr is not reliable.
From-SVN: r245152
Jan Hubicka [Fri, 3 Feb 2017 14:03:35 +0000 (15:03 +0100)]
tree-ssa-ifcombine.c (update_profile_after_ifcombine): New function.
* tree-ssa-ifcombine.c (update_profile_after_ifcombine): New function.
(ifcombine_ifandif): Use it.
* gcc.dg/tree-ssa/ssa-ifcombine-1.c: Check for no profile mismatches.
* gcc.dg/tree-ssa/ssa-ifcombine-2.c: Check for no profile mismatches.
* gcc.dg/tree-ssa/ssa-ifcombine-3.c: Check for no profile mismatches.
* gcc.dg/tree-ssa/ssa-ifcombine-4.c: Check for no profile mismatches.
* gcc.dg/tree-ssa/ssa-ifcombine-5.c: Check for no profile mismatches.
* gcc.dg/tree-ssa/ssa-ifcombine-6.c: Check for no profile mismatches.
* gcc.dg/tree-ssa/ssa-ifcombine-7.c: Check for no profile mismatches.
* gcc.dg/tree-ssa/ssa-ifcombine-8.c: Check for no profile mismatches.
* gcc.dg/tree-ssa/ssa-ifcombine-9.c: Check for no profile mismatches.
* gcc.dg/tree-ssa/ssa-ifcombine-10.c: Check for no profile mismatches.
* gcc.dg/tree-ssa/ssa-ifcombine-11.c: Check for no profile mismatches.
* gcc.dg/tree-ssa/ssa-ifcombine-12.c: Check for no profile mismatches.
* gcc.dg/tree-ssa/ssa-ifcombine-13.c: Check for no profile mismatches.
From-SVN: r245151
Maxim Ostapenko [Fri, 3 Feb 2017 12:17:59 +0000 (12:17 +0000)]
re PR sanitizer/78663 (Hundreds of asan failures on x86_64-apple-darwin10 at r243019)
PR sanitizer/78663
* sanitizer_common/sanitizer_mac.cc: Cherry-pick upstream r293992.
* sanitizer_common/sanitizer_platform_interceptors.h: Likewise.
From-SVN: r245149