Joseph Myers [Wed, 1 Mar 2017 22:08:44 +0000 (22:08 +0000)]
* es.po: Update.
From-SVN: r245820
Aaron Sawdey [Wed, 1 Mar 2017 19:58:05 +0000 (19:58 +0000)]
re PR target/79752 (incorrect code generation for __divkf3 with -O2 -mcpu=power9)
2017-03-01 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
PR target/79752
* config/rs6000/rs6000.md (peephole2 for udiv/umod): Should emit
udiv rather than div since input pattern is unsigned.
From-SVN: r245817
Uros Bizjak [Wed, 1 Mar 2017 19:24:53 +0000 (20:24 +0100)]
i386.c (print_reg): Warn for values of unsupported size in integer register.
* config/i386/i386.c (print_reg): Warn for values of
unsupported size in integer register.
testsuite/ChangeLog:
* gcc.target/i386/invsize-2.c: New test.
* gcc.target/i386/invsize-3.c: Ditto.
* gcc.target/i386/invsize-4.c: Ditto.
* gcc.target/i386/pr66274.c: Expect "unsuported size" warning.
* gcc.target/i386/stackalign/asm-1.c: Ditto.
From-SVN: r245815
Ian Lance Taylor [Wed, 1 Mar 2017 18:41:15 +0000 (18:41 +0000)]
cmd/go: add testdata/timeoutbench_test.go
This file was accidentally omitted from the update to the final Go 1.8.
From-SVN: r245814
Michael Meissner [Wed, 1 Mar 2017 18:33:21 +0000 (18:33 +0000)]
re PR target/79439 (Missing nop instruction after recursive call corrupts TOC register)
[gcc]
2017-03-01 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/79439
* config/rs6000/predicates.md (current_file_function_operand): Do
not allow self calls to be local if the function is replaceable.
[gcc/testsuite]
2017-03-01 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/79439
* gcc.target/powerpc/pr79439.c: New test.
From-SVN: r245813
Pat Haugen [Wed, 1 Mar 2017 18:09:51 +0000 (18:09 +0000)]
pr79544.c: Add test for vec_vsrad and fix up scan string.
* gcc.target/powerpc/pr79544.c: Add test for vec_vsrad and fix up
scan string.
From-SVN: r245812
Kelvin Nilsen [Wed, 1 Mar 2017 14:43:02 +0000 (14:43 +0000)]
re PR target/79395 (Compile error with -mcpu=power9 and __builtin_vec_vcmpne_p)
gcc/ChangeLog:
2017-03-01 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR target/79395
* config/rs6000/altivec.h (vec_ctz and others): Change the
preprocessor macro that controls conditional compilation from
_ARCH_PWR9 to __POWER9_VECTOR__.
(vec_all_ne): Change parameterization of __altivec_scalar_pred
macro expansion under preprocessor #ifdef __POWER9_VECTOR__
control (instead of _ARCH_PWR9 control) so that template
definition uses power9-specific function.
(vec_any_eq): Likewise.
(vec_all_ne): Change macro definition to use a power9-specific
expansion under #ifdef __POWER9_VECTOR__ control (instead of
_ARCH_PWR9 control).
(vec_any_eq) Likewise.
* config/rs6000/rs6000-builtin.def (CMPNEF): Remove BU_P9V_AV_2
expansion for CMPNEF to remove support for xvcmpnesp instruction.
(CMPNED): Remove BU_P9V_AV2 expansion for CMPNED to remove
support for xvcmpnedp instruction.
(VCMPNEB_P): Replace BU_P9V_AV_P macro expansion with BU_P9V_AV_2
macro expansion so that Power9 implementation of vec_all_ne does
not use the AltiVec predicate framework.
(VCMPNEH_P): Likewise.
(VCMPNEW_P): Likewise.
(VCMPNED_P): Likewise.
(VCMPNEFP_P): Likewise.
(VCMPNEDP_P): Likewise.
(VCMPAEB_P): Add BU_P9V_AV_2 macro expansion to change
implementation of vec_any_eq to not use AltiVec predicate
framework.
(VCMPAEH_P): Likewise.
(VCMPAEW_P): Likewise.
(VCMPAED_P): Likewise.
(VCMPAEFP_P): Likewise.
(VCMPAEDP_P): Likewise.
(VCMPNE_P): Replace BU_P9V_OVERLOAD_P macro expansion with
BU_P9V_OVERLOAD_2 so that Power9 implementation of vec_all_ne does
not use the AltiVec predicate framework.
(VCMPAE_P): Add BU_P9V_OVERLOAD_2 macro to change implementation
of vec_any_eq to not use AltiVec predicate framework.
* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add
support for predefined __POWER9_VECTOR__ macro to indicate that
Power9 instruction selection is enabled.
(altivec_overloaded_builtins): Remove extraneous
ALTIVEC_BUILTIN_VEC_CMPNE entry for overloaded
function argument types RS6000_BTI_bool_V16QI and
RS6000_BTI_bool_V16QI. Remove erroneous ALTIVEC_BUILTIN_VEC_CMPNE
entry for overloaded function argument types RS6000_BTI_bool_V4SI
andRS6000_BTI_bool_V4SI, mapping to P9V_BUILTIN_CMPNEB. Remove
two entries mapping to P9V_BUITIN_CMPNED and one entry mapping to
P9V_BUILTIN_CMPNEF to force use of instructions not specific to
Power9 for implementations of vec_cmpne. Change the signature for
all definitions of the overloaded P9V_BUILTIN_VEC_CMPNE_P function
(representing vec_all_ne) to remove the previously described first
argument of type RS6000_BTI_INTSI, as this was an artifact of
reliance on the AltiVec predicate framework, which is no longer
used in the implementation of these functions. Add
P9V_BUILTIN_VEC_VCMPAE_P entries (representing the vec_anyeq
function) to match all of the P9V_BUILTIN_VEC_VCMNE_P entries
since, unlike the AltiVec predicate framework implementation, we
do not share function descriptors between vec_alle and vec_anyeq.
(altivec_resolve_overloaded_builtin): Add SFmode and DFmode to the
set of modes that receive special treatment even when
TARGET_P9_VECTOR is true. The special treatment emits code that
does not depend on Power9 instructions.
* config/rs6000/vector.md (vector_ne_<mode>_p): Change this
define_expand to not rely on AltiVec predicate framework.
(vector_ae_<mode>p): New define_expand to represent vec_any_eq
function.
(vector_ne_v2di_p): Change this define_expand to not rely on
AltiVec predicate framework.
(vector_ae_v2di_p): New define_expand to represent vec_any_eq
function.
(vector_ne_<mode>_p): Change this define_expand to not rely on
AltiVec predicate framework.
(vector_ae_<mode>p): New define_expand to represent vec_any_eq
function.
* config/rs6000/vsx.md (*vsx_ne_<mode>_p): For modes VSX_EXTRACT_I
(V16QI, V8HI, V4SI), correct a typo in the code emitted for this
define_insn pattern.
(*vsx_ne_<mode>_p): For modes VSX_F (V4SF and V2DF), remove this
define_insn pattern because the xvcmpne<VSs>. instruction is not
supported.
(vcmpne<VSs>): Remove this define_insn because xvcmpne<VSs>
instruction is not supported.
gcc/testsuite/ChangeLog:
2017-03-01 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR target/79395
* gcc.target/powerpc/vsu/vec-all-ne-10.c: Change scan-assembler
pattern to look for vcmpequd. instead of vcmpnew.
* gcc.target/powerpc/vsu/vec-all-ne-14.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-ne-7.c: Change scan-assembler
pattern to look for xvcmpeqsp. instead of xvcmpnesp.
* gcc.target/powerpc/vsu/vec-all-ne-8.c: Change scan-assembler to
look for xvcmpeqdp. instead of xvcmpnedp.
* gcc.target/powerpc/vsu/vec-all-ne-9.c: Change scan-assembler to
look for vcmpequd. instead of vcmpnew.
* gcc.target/powerpc/vsu/vec-any-eq-10.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-14.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eq-7.c: Change scan-assembler to
look for xvcmpeqsp. instead of xvcmpnesp.
* gcc.target/powerpc/vsu/vec-any-eq-8.c: Change scan-assembler to
look for xvcmpeqdp. instead of xvcmpnedp.
* gcc.target/powerpc/vsu/vec-any-eq-9.c: Change scan-assembler to
look for vcmpequd. instead of vcmpnew.
* gcc.target/powerpc/vsu/vec-cmpne-8.c: Change scan-assembler to
look for vcmpeqsp instead of xvcmpnesp.
* gcc.target/powerpc/vsu/vec-cmpne-9.c: Change scan-assembler to
look for xvcmpeqdp instead of xvcmpnedp.
From-SVN: r245811
Gerald Pfeifer [Wed, 1 Mar 2017 12:53:28 +0000 (12:53 +0000)]
documentation_hacking.xml: Tweak link to doxygen.org.
* doc/xml/manual/documentation_hacking.xml: Tweak link to
doxygen.org.
From-SVN: r245808
Jakub Jelinek [Wed, 1 Mar 2017 10:25:49 +0000 (11:25 +0100)]
* config/nvptx/nvptx.c: Include intl.h.
From-SVN: r245806
Martin Jambor [Wed, 1 Mar 2017 09:37:27 +0000 (10:37 +0100)]
[PR 78140] Reuse same IPA bits and VR info
2017-03-01 Martin Jambor <mjambor@suse.cz>
PR lto/78140
* ipa-prop.h (ipa_bits): Removed field known.
(ipa_jump_func): Removed field vr_known. Changed fields bits and m_vr
to pointers. Adjusted their comments to warn about their sharing.
(ipcp_transformation_summary): Change bits to a vector of pointers.
(ipa_check_create_edge_args): Moved to ipa-prop.c, declare.
(ipa_get_ipa_bits_for_value): Declare.
* tree-vrp.h (value_range): Mark as GTY((for_user)).
* ipa-prop.c (ipa_bit_ggc_hash_traits): New.
(ipa_bits_hash_table): Likewise.
(ipa_vr_ggc_hash_traits): Likewise.
(ipa_vr_hash_table): Likewise.
(ipa_print_node_jump_functions_for_edge): Adjust for bits and m_vr
being pointers and vr_known being removed.
(ipa_set_jf_unknown): Likewise.
(ipa_get_ipa_bits_for_value): New function.
(ipa_set_jfunc_bits): Likewise.
(ipa_get_value_range): New overloaded functions.
(ipa_set_jfunc_vr): Likewise.
(ipa_compute_jump_functions_for_edge): Use the above functions to
construct bits and vr parts of jump functions.
(ipa_check_create_edge_args): Move here from ipa-prop.h, also allocate
ipa_bits_hash_table and ipa_vr_hash_table if they do not already
exist.
(ipcp_grow_transformations_if_necessary): Also allocate
ipa_bits_hash_table and ipa_vr_hash_table if they do not already
exist.
(ipa_node_params_t::duplicate): Do not copy bits, just pointers to
them. Fix too long lines.
(ipa_write_jump_function): Adjust for bits and m_vr being pointers and
vr_known being removed.
(ipa_read_jump_function): Use new setter functions to construct bits
and vr parts of jump functions or set them to NULL.
(write_ipcp_transformation_info): Adjust for bits being pointers.
(read_ipcp_transformation_info): Likewise.
(ipcp_update_bits): Likewise. Fix excessively long lines a trailing
space.
Include gt-ipa-prop.h.
* ipa-cp.c (propagate_bits_across_jump_function): Adjust for bits
being pointers.
(ipcp_store_bits_results): Likewise.
(propagate_vr_across_jump_function): Adjust for m_vr being a pointer.
Do not write to existing jump functions but use a temporary instead.
From-SVN: r245805
Jakub Jelinek [Wed, 1 Mar 2017 09:02:12 +0000 (10:02 +0100)]
re PR c++/79681 (ICE with constexpr and bitfield)
PR c++/79681
* fold-const.c (make_bit_field_ref): If orig_inner is COMPONENT_REF,
attempt to use its first operand as BIT_FIELD_REF base.
* g++.dg/cpp1y/constexpr-79681-1.C: New test.
* g++.dg/cpp1y/constexpr-79681-2.C: New test.
From-SVN: r245804
Richard Biener [Wed, 1 Mar 2017 08:54:29 +0000 (08:54 +0000)]
re PR tree-optimization/79721 (Scalar evolution introduces signed overflow)
2017-03-01 Richard Biener <rguenther@suse.de>
PR middle-end/79721
* tree-chrec.c (chrec_evaluate): Perform computation of Newtons
interpolating formula in wrapping arithmetic.
(chrec_apply): Convert chrec_evaluate return value to wanted type.
* gcc.dg/torture/pr79721.c: New testcase.
From-SVN: r245803
Jakub Jelinek [Wed, 1 Mar 2017 08:35:55 +0000 (09:35 +0100)]
re PR c++/79746 (Confusing -Wunused-but-set-parameter warning with virtual inheritance)
PR c++/79746
* init.c (emit_mem_initializers): When not constructing vbases of
abstract classes, mark arguments as read for
-Wunused-but-set-parameter.
* g++.dg/warn/Wunused-parm-9.C: New test.
From-SVN: r245802
Jakub Jelinek [Wed, 1 Mar 2017 08:34:48 +0000 (09:34 +0100)]
re PR tree-optimization/79734 (ICE: verify_gimple failed)
PR tree-optimization/79734
* tree-vect-generic.c (expand_vector_condition): Optimize
AVX512 vector boolean VEC_COND_EXPRs into bitwise operations.
Handle VEC_COND_EXPR where comparison has different inner width from
type's inner width.
* g++.dg/opt/pr79734.C: New test.
From-SVN: r245801
Sandra Loosemore [Wed, 1 Mar 2017 04:31:28 +0000 (23:31 -0500)]
invoke.texi (ARC Options): Copy-edit to fix punctuation, markup, and similar issues.
2017-02-28 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi (ARC Options): Copy-edit to fix punctuation,
markup, and similar issues. Remove @opindex entries for things
that aren't options. Add missing -mmpy-option entries.
From-SVN: r245800
GCC Administrator [Wed, 1 Mar 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245799
Jason Merrill [Tue, 28 Feb 2017 23:57:09 +0000 (18:57 -0500)]
Class template argument deduction refinements
* call.c (joust): Move deduction guide tiebreaker down.
* decl.c (start_decl_1, cp_finish_decl, grokdeclarator): Allow class
deduction with no initializer.
* pt.c (build_deduction_guide): Handle implicit default/copy ctor.
(do_class_deduction): Use that rather than special case.
(do_auto_deduction): Handle null initializer.
From-SVN: r245796
Jakub Jelinek [Tue, 28 Feb 2017 22:39:11 +0000 (23:39 +0100)]
re PR tree-optimization/79737 (wrong code at -O2 and -O3 on x86_64-linux-gnu (in both 32-bit and 64-bit modes))
PR tree-optimization/79737
* gimple-ssa-store-merging.c (encode_tree_to_bitpos): If bitlen is
a multiple of BITS_PER_UNIT and !BYTES_BIG_ENDIAN, clear
tmpbuf[byte_size - 1]. Call natice_encode_expr with byte_size - 1
instead of byte_size. Formatting fix.
(shift_bytes_in_array_right): Formatting fix.
* gcc.c-torture/execute/pr79737-1.c: New test.
* gcc.c-torture/execute/pr79737-2.c: New test.
From-SVN: r245795
Ian Lance Taylor [Tue, 28 Feb 2017 22:30:57 +0000 (22:30 +0000)]
mksigtab.sh: skip signals defined as other signals
Fixes Solaris build.
Patch by Rainer Orth.
Reviewed-on: https://go-review.googlesource.com/37587
From-SVN: r245794
Eric Botcazou [Tue, 28 Feb 2017 22:15:54 +0000 (22:15 +0000)]
re PR target/79749 (Many sparc testcases FAIL at -O0 with -fomit-frame-pointer)
PR target/79749
* config/sparc/sparc.c (sparc_frame_pointer_required): Add missing
condition on optimize for the leaf function test.
From-SVN: r245791
Martin Liska [Tue, 28 Feb 2017 22:04:32 +0000 (23:04 +0100)]
Do not allow to run GIMPLE or RTL test-cases w/ LTO (PR lto/79625).
2017-02-28 Martin Liska <mliska@suse.cz>
PR lto/79625
* read-rtl-function.c (function_reader::handle_unknown_directive):
Bail out when one uses -flto.
From-SVN: r245790
Martin Liska [Tue, 28 Feb 2017 22:02:58 +0000 (23:02 +0100)]
Introduce =<number> for couple of options.
2017-02-28 Martin Liska <mliska@suse.cz>
* c.opt: Replace space with tabular for options of <number>
type.
2017-02-28 Martin Liska <mliska@suse.cz>
* common.opt: Replace space with tabular for options of <number>
type.
* config/i386/i386.opt: Show <number> value for
-mlarge-data-threshold.
* opts.c (print_filtered_help): Do not display number in hexadecimal
format.
From-SVN: r245789
Martin Liska [Tue, 28 Feb 2017 22:02:15 +0000 (23:02 +0100)]
Add tabulars for options with enum values.
2017-02-28 Martin Liska <mliska@suse.cz>
* common.opt: Fix --help=option -Q for options which are of
an enum type.
2017-02-28 Martin Liska <mliska@suse.cz>
* c.opt: Fix --help=option -Q for options which are of
an enum type.
From-SVN: r245788
Paul Thomas [Tue, 28 Feb 2017 19:32:02 +0000 (19:32 +0000)]
re PR fortran/79739 (ICE with some interesting code)
2017-02-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/79739
* resolve.c (resolve_fl_procedure): Deal with the case where
'submodule_name' is NULL so that gfc_error does not ICE.
Reformat the error message to make it more consistent.
From-SVN: r245787
Uros Bizjak [Tue, 28 Feb 2017 18:03:16 +0000 (19:03 +0100)]
i386.c (print_reg): Error out for values of 8-bit size in invalid integer register.
* config/i386/i386.c (print_reg): Error out for values
of 8-bit size in invalid integer register.
testsuite/ChangeLog:
* gcc.target/i386/invsize-1.c: New test.
From-SVN: r245785
Martin Sebor [Tue, 28 Feb 2017 16:59:16 +0000 (16:59 +0000)]
PR tree-optimization/79691 - -Wformat-truncation suppressed by (and only by) -Og
gcc/ChangeLog:
PR tree-optimization/79691
* passes.def (pass_all_optimizations_g): Enable pass_sprintf_length.
gcc/testsuite/ChangeLog:
PR tree-optimization/79691
* gcc.dg/tree-ssa/pr79691.c: New test.
From-SVN: r245782
Jakub Jelinek [Tue, 28 Feb 2017 16:24:56 +0000 (17:24 +0100)]
re PR target/79729 (ICE in ix86_print_operand, at config/i386/i386.c:18231)
PR target/79729
* config/i386/i386.c (ix86_print_operand) <case 'R'>: Replace
gcc_unreachable with output_operand_lossage.
* gcc.target/i386/pr79729.c: New test.
From-SVN: r245781
Richard Biener [Tue, 28 Feb 2017 15:32:24 +0000 (15:32 +0000)]
re PR tree-optimization/79740 (ICE on -Os and above in both 32-bit and 64-bit modes on x86_64-linux-gnu (internal compiler error: in VN_INFO_GET, at tree-ssa-sccvn.c:407 }))
2017-02-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/79740
* tree-ssa-sccvn.c (vn_nary_op_insert_into): Allow redundant
inserts.
(visit_nary_op): Insert the nary into the hashtable if we
pattern-matched sth.
* tree-ssa-pre.c (eliminate_insert): Robustify.
* gcc.dg/torture/pr79740.c: New testcase.
From-SVN: r245780
Richard Biener [Tue, 28 Feb 2017 15:31:30 +0000 (15:31 +0000)]
re PR c/79731 (ICE: verify_gimple failed)
2017-02-28 Richard Biener <rguenther@suse.de>
PR middle-end/79731
* fold-const.c (decode_field_reference): Reject out-of-bound
accesses.
* c-c++-common/torture/pr79731.c: New testcase.
From-SVN: r245779
Jakub Jelinek [Tue, 28 Feb 2017 15:25:19 +0000 (16:25 +0100)]
i386.c: Include intl.h.
* config/i386/i386.c: Include intl.h.
(ix86_option_override_internal): Use cond ? G_("...") : G_("...")
instead of just cond ? "..." : "...".
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Likewise.
* coverage.c (read_counts_file): Likewise.
* omp-offload.c: Include intl.h.
(oacc_loop_fixed_partitions): Use cond ? G_("...") : G_("...") instead
of just cond ? "..." : "...".
* gcov.c (read_count_file): Use cond ? N_("...") : N_("...") instead
of just cond ? "..." : "...".
c/
* c-parser.c (c_parser_asm_statement): Use cond ? G_("...") : G_("...")
instead of just cond ? "..." : "...".
(c_parser_oacc_enter_exit_data): Use %s and ternary operator only
for "enter"/"exit" keyword.
(c_finish_oacc_routine): Don't use %s to supply portions of the
message.
cp/
* decl.c (find_decomp_class_base): Use cond ? G_("...") : G_("...")
instead of just cond ? "..." : "...".
(grokdeclarator): Likewise.
(build_enumerator): Likewise.
* init.c (build_new_1): Likewise.
* call.c (build_new_method_call_1): Likewise.
* parser.c: Include intl.h.
(cp_parser_oacc_enter_exit_data): Use %s and ternary operator only for
"enter"/"exit" keyword.
(cp_finalize_oacc_routine): Don't use %s to supply portions of the
message.
fortran/
* parse.c (parse_critical_block): Use cond ? G_("...") : G_("...")
instead of just cond ? "..." : "...".
* scanner.c (gfc_next_char_literal): Likewise.
* match.c (match_exit_cycle): Likewise.
From-SVN: r245778
Ian Lance Taylor [Tue, 28 Feb 2017 15:13:16 +0000 (15:13 +0000)]
runtime: fix sigfwd to not allocate memory
The use of &[1]uintptr{fn} was causing sigfwd to allocate memory, even
though it is being compiled for the runtime package. That is a bad
idea for this function, which is invoked by a signal handler. Rewrite
it to use only constructs that do not allocate memory when compiled
for the runtime package.
The test for this is misc/cgo/testcarchive in the main repo, which we
don't yet test.
Reviewed-on: https://go-review.googlesource.com/37454
From-SVN: r245777
Ian Lance Taylor [Tue, 28 Feb 2017 15:09:43 +0000 (15:09 +0000)]
libgo: fix quoting in mksigtab.sh
The quoting was causing us to never add the system-specific signals.
The test for this is misc/cgo/testcarchive in the master repo, which
we don't yet run for gccgo.
Reviewed-on: https://go-review.googlesource.com/37453
From-SVN: r245776
Richard Earnshaw [Tue, 28 Feb 2017 14:17:29 +0000 (14:17 +0000)]
[ARM] Fix PR79742 incorrect scheduler choice.
Due to an oversight, the changes to use the new CPU generation tables
forgot to handle selecting a scheduler for a CPU other than the named
CPU target. This meant that if, say, cortex-a12 was used, the null
scheduler was chosen rather than cortex-a17's scheduler as intended.
The fix is to correctly use the 'tune for' field when generating the
target-specific data files.
This revealed a spelling mistake in the name of the tune target in
cortex-m0.small-multiply.
PR target/79742
* config/arm/parsecpu.awk (gen_data): Set tuning target to 'tune for'
entry, if present.
* config/arm/arm-cpus.in (cortex-m0plus.small-multiply): Correct
'tune for' CPU name.
* config/arm/arm-cpu-data.h: Regenerated.
From-SVN: r245775
Gerald Pfeifer [Tue, 28 Feb 2017 13:17:52 +0000 (13:17 +0000)]
update_web_docs_svn: Remove a reference to GCC 3.1.
* update_web_docs_svn: Remove a reference to GCC 3.1. Describe
settings to tweak if running on a host different from gcc.gnu.org.
(WWWBASE): Allow override via the environment. Also check for
existance.
From-SVN: r245774
Richard Biener [Tue, 28 Feb 2017 12:38:57 +0000 (12:38 +0000)]
re PR middle-end/79732 (ICE in set_ssa_default_def, at tree-dfa.c:327)
2017-02-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/79732
* tree-inline.c (expand_call_inline): Do not shadow var.
* gcc.dg/torture/pr79732.c: New testcase.
From-SVN: r245773
Richard Biener [Tue, 28 Feb 2017 09:17:20 +0000 (09:17 +0000)]
re PR tree-optimization/79723 (Another case of dropped gs: prefix)
2017-02-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/79723
* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Preserve
address-space properly.
* gcc.target/i386/pr79723.c: New testcase.
From-SVN: r245772
Thomas Schwinge [Tue, 28 Feb 2017 08:42:06 +0000 (09:42 +0100)]
Miscellaneous optimization group fixes
gcc/
* doc/optinfo.texi (Optimization groups): Fix option used for
OPTGROUP_ALL.
* doc/invoke.texi (-fopt-info): Document "omp".
* dumpfile.h: Sort OPTGROUP_OMP before OPTGROUP_VEC.
(OPTGROUP_ALL): Add OPTGROUP_OMP.
* hsa-gen.c (pass_data_gen_hsail): Use OPTGROUP_OMP.
* ipa-hsa.c (pass_data_ipa_hsa): Likewise.
* omp-simd-clone.c (pass_data_omp_simd_clone): Likewise.
From-SVN: r245769
Thomas Schwinge [Tue, 28 Feb 2017 08:41:55 +0000 (09:41 +0100)]
Rename the "openmp" group of optimizations to "omp"
gcc/
* dumpfile.h (OPTGROUP_OPENMP): Rename to OPTGROUP_OMP. Adjust
all users.
* dumpfile.c (optgroup_options): Instead of "openmp", associate
OPTGROUP_OMP with "omp".
From-SVN: r245768
GCC Administrator [Tue, 28 Feb 2017 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245767
Joseph Myers [Mon, 27 Feb 2017 21:26:34 +0000 (21:26 +0000)]
Update .po files.
* 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: r245764
Jason Merrill [Mon, 27 Feb 2017 20:17:17 +0000 (15:17 -0500)]
PR c++/71568 - SFINAE forming pointer to member function
* init.c (build_offset_ref): Check the return value of
perform_or_defer_access_check.
From-SVN: r245763
Pat Haugen [Mon, 27 Feb 2017 16:06:13 +0000 (16:06 +0000)]
re PR target/79544 (vec_sra (unsigned long long,foo) generating vsrd instead of vsrad)
PR target/79544
* config/rs6000/rs6000-c.c (struct altivec_builtin_types): Use VSRAD
for arithmetic shift of unsigned V2DI.
* gcc.target/powerpc/pr79544.c: New.
From-SVN: r245762
Claudiu Zissulescu [Mon, 27 Feb 2017 14:12:27 +0000 (15:12 +0100)]
[ARC] Clean up arc header file. (add changelog mods)
From-SVN: r245760
Claudiu Zissulescu [Mon, 27 Feb 2017 13:56:02 +0000 (14:56 +0100)]
[ARC] Clean up arc header file.
gcc/
2017-02-27 Claudiu Zissulescu <claziss@synopsys.com>
* config.gcc (arc*-): Clean up, use arc/big.h, arc/elf.h, and
arc/linux.h headers.
* config/arc/arc.h (TARGET_OS_CPP_BUILTINS): Remove.
(LINK_SPEC): Likewise.
(ARC_TLS_EXTRA_START_SPEC): Likewise.
(EXTRA_SPECS): Likewise.
(STARTFILE_SPEC): Likewise.
(ENDFILE_SPEC): Likewise.
(LIB_SPEC): Likewise.
(TARGET_SDATA_DEFAULT): Likewise.
(TARGET_MMEDIUM_CALLS_DEFAULT): Likewise.
(MULTILIB_DEFAULTS): Likewise.
(DWARF2_UNWIND_INFO): Likewise.
* config/arc/big.h: New file.
* config/arc/elf.h: Likewise.
* config/arc/linux.h: Likewise.
* config/arc/t-uClibc: Remove.
From-SVN: r245759
Marek Polacek [Mon, 27 Feb 2017 13:39:36 +0000 (13:39 +0000)]
* decl.c (expand_static_init): Add missing } in a comment.
From-SVN: r245758
Volker Reichelt [Mon, 27 Feb 2017 13:29:35 +0000 (13:29 +0000)]
init.c: Include intl.h.
2017-02-27 Volker Reichelt <v.reichelt@netcologne.de>
* init.c: Include intl.h.
(build_new_1): Move message strings into pedwarn to make them
-Wformat-security friendly. Mark string for translation.
* pt.c (tsubst_copy_and_build): Mark string for translation.
Make the pointer const.
* semantics.c (finish_id_expression): Mark strings for
* translation.
From-SVN: r245757
Paolo Carlini [Mon, 27 Feb 2017 11:55:19 +0000 (11:55 +0000)]
re PR c++/79414 (internal compiler error after "error: expected unqualified-id at end of input")
2017-02-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/79414
* g++.dg/parse/crash67.C: New.
From-SVN: r245756
Janne Blomqvist [Mon, 27 Feb 2017 11:13:49 +0000 (13:13 +0200)]
Don't try to use rand_s on CYGWIN
CYGWIN seems to include _mingw.h and thus __MINGW64_VERSION_MAJOR is
defined even though rand_s is not available. Thus add an extra check
for __CYGWIN__.
2017-02-27 Janne Blomqvist <jb@gcc.gnu.org>
* intrinsics/random.c (getosrandom): Don't try to use rand_s on
CYGWIN.
From-SVN: r245755
Bin Cheng [Mon, 27 Feb 2017 10:20:36 +0000 (10:20 +0000)]
re PR tree-optimization/77536 (Vectorizer not maintaining relationship of relative block frequencies in absence of real profile data)
PR tree-optimization/77536
* tree-ssa-loop-manip.c (niter_for_unrolled_loop): New function.
(tree_transform_and_unroll_loop): Use above function to compute the
estimated niter of unrolled loop and use it when scaling profile.
Also use count info rather than frequency if it's non-zero.
* tree-ssa-loop-manip.h niter_for_unrolled_loop(): New declaration.
* tree-vect-loop.c (scale_profile_for_vect_loop): New function.
(vect_transform_loop): Call above function.
gcc/testsuite
* gcc.dg/vect/pr79347.c: Revise testing string.
From-SVN: r245754
Richard Biener [Mon, 27 Feb 2017 08:51:28 +0000 (08:51 +0000)]
re PR tree-optimization/45397 (Issues with integer narrowing conversions)
2017-02-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/45397
* tree-ssa-pre.c (eliminate_insert): Handle BIT_AND_EXPR.
* tree-ssa-sccvn.c (valueized_wider_op): New helper.
(visit_nary_op): Add pattern matching for CSEing sign-changed
or truncated operations with wider ones.
* gcc.dg/tree-ssa/pr45397.c: New testcase.
From-SVN: r245752
Richard Biener [Mon, 27 Feb 2017 08:50:09 +0000 (08:50 +0000)]
re PR tree-optimization/79690 (IVOPTs drops gs: prefix)
2017-02-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/79690
* tree-vect-stmts.c (vectorizable_store): Use vector type
built from the DR with address-space.
* gcc.target/i386/pr79690.c: New testcase.
From-SVN: r245751
GCC Administrator [Mon, 27 Feb 2017 00:16:23 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245750
Gerald Pfeifer [Sun, 26 Feb 2017 22:10:27 +0000 (22:10 +0000)]
invoke.texi (Optimize Options): Refine the description of asan-use-after-return.
* doc/invoke.texi (Optimize Options): Refine the description
of asan-use-after-return.
From-SVN: r245747
Gerald Pfeifer [Sun, 26 Feb 2017 22:07:22 +0000 (22:07 +0000)]
* MAINTAINERS: Remove Neil Booth as option handling maintainer.
From-SVN: r245746
Thomas Koenig [Sun, 26 Feb 2017 13:22:43 +0000 (13:22 +0000)]
re PR libfortran/51119 (MATMUL slow for large matrices)
2017-02-26 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/51119
* options.c (gfc_post_options): Set default limit for matmul
inlining to 30.
* invoke.texi: Document change.
2017-02-26 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/51119
* gfortran.dg/inline_matmul_1.f90: Scan optimized dump instead
of original.
* gfortran.dg/inline_matmul_11.f90: Likewise.
* gfortran.dg/inline_matmul_9.f90: Likewise.
* gfortran.dg/matmul_13.f90: New test.
* gfortran.dg/matmul_14.f90: New test.
From-SVN: r245745
GCC Administrator [Sun, 26 Feb 2017 00:16:29 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245744
Alan Modra [Sat, 25 Feb 2017 22:44:41 +0000 (09:14 +1030)]
PR79584, ICE in base_to_reg
PR rtl-optimization/79584
* lra-constraints.c (base_to_reg): Reload ad->base, the entire
base, not ad->base_term, the reg within base. Remove assertion
that ad->base == ad->base_term. Replace gen_int_mode using
bogus mode with const0_rtx.
From-SVN: r245741
John David Anglin [Sat, 25 Feb 2017 20:29:39 +0000 (20:29 +0000)]
re PR target/68739 (FAIL: 30_threads/call_once/constexpr.cc (test for excess errors))
PR target/68739
* inclhack.def (hpux11_pthread_pointer): New fix.
(hpux11_pthread_const): Adjust to remove void * cast from define.
* fixincl.x: Regenerate.
From-SVN: r245740
Joseph Myers [Sat, 25 Feb 2017 19:17:41 +0000 (19:17 +0000)]
* gcc.pot: Regenerate.
From-SVN: r245739
Joseph Myers [Sat, 25 Feb 2017 19:13:02 +0000 (19:13 +0000)]
* fr.po: Update.
From-SVN: r245738
Jakub Jelinek [Sat, 25 Feb 2017 10:17:31 +0000 (11:17 +0100)]
re PR middle-end/79396 (ICE (verify_flow_info failed) with -fnon-call-exceptions -O2 -march=haswell)
PR middle-end/79396
* tree-eh.c (operation_could_trap_p, stmt_could_throw_1_p): Handle
FMA_EXPR like tcc_binary or tcc_unary.
* g++.dg/opt/pr79396.C: New test.
From-SVN: r245735
Jakub Jelinek [Sat, 25 Feb 2017 08:33:17 +0000 (09:33 +0100)]
tree-ssa-loop-niter.c (number_of_iterations_exit): Simplify warning.
* tree-ssa-loop-niter.c (number_of_iterations_exit): Simplify warning.
cp/
* call.c (build_op_delete_call): Make msg1 and msg2 const.
From-SVN: r245734
Jakub Jelinek [Sat, 25 Feb 2017 08:18:24 +0000 (09:18 +0100)]
re PR debug/77589 (fortran: Missing DW_AT_byte_stride for an array record field selection)
PR debug/77589
include/
* dwarf2.def (DW_OP_GNU_variable_value): New opcode.
gcc/
* dwarf2out.c (struct dw_loc_list_struct): Add noted_variable_value
bitfield.
(size_of_loc_descr): Handle DW_OP_GNU_variable_value.
(output_loc_operands): Handle DW_OP_call_ref and
DW_OP_GNU_variable_value.
(struct variable_value_struct): New type.
(struct variable_value_hasher): Likewise.
(variable_value_hash): New variable.
(string_types): Remove.
(copy_loc_descr): New function.
(add_loc_descr_to_each): Clarify comment. Use copy_loc_descr.
(prepend_loc_descr_to_each): New function.
(add_loc_list): Fix comment typo. Use prepend_loc_descr_to_each
instead of add_loc_descr_to_each if the first argument is single
location list and the second has multiple.
(resolve_args_picking_1): Handle DW_OP_GNU_variable_value.
(loc_list_from_tree_1): For early_dwarf, emit DW_OP_GNU_variable_value
when looking for variable value which doesn't have other location info.
(loc_list_from_tree): Formatting fix.
(gen_array_type_die): Simplify DW_AT_string_length handling.
(adjust_string_types): Remove.
(gen_subprogram_die): Don't call adjust_string_types nor test/set
string_types. Call resolve_variable_values.
(prune_unused_types_walk_loc_descr): Handle DW_OP_GNU_variable_value.
(resolve_addr_in_expr): Likewise. Add A argument.
(copy_deref_exprloc): Remove deref argument. Adjust for the
original expression being DW_OP_GNU_variable_value with optionally
DW_OP_stack_value after it instead of DW_OP_call4 with DW_OP_deref
optionally after it.
(optimize_string_length): Rework for DW_OP_GNU_variable_value.
(resolve_addr): Adjust optimize_string_length and resolve_addr_in_expr
callers. Set remove_AT_byte_size if removing DW_AT_string_length.
(variable_value_hasher::hash, variable_value_hasher::equal): New
methods.
(resolve_variable_value_in_expr, resolve_variable_value,
resolve_variable_values, note_variable_value_in_expr,
note_variable_value): New functions.
(dwarf2out_early_finish): Call note_variable_value on all toplevel
DIEs.
From-SVN: r245733
GCC Administrator [Sat, 25 Feb 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245732
Dominique d'Humieres [Fri, 24 Feb 2017 23:40:42 +0000 (00:40 +0100)]
re PR fortran/79597 (Incomplete error message "Expecting %<END INTERFACE OPERATOR")
2017-02-25 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/79597
* interface.c (gfc_match_end_interface): Remove spurious comma
and space, replace 'got %s' with 'got %qs'.
2017-02-25 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/79597
* gfortran.dg/dtio_6.f90: Update test.
2017-02-25 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/79601
* interface.c (check_dtio_arg_TKR_intent): Change 'intent'
to 'INTENT'.
2017-02-25 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/79601
* gfortran.dg/interface_operator_2.f90: New test.
From-SVN: r245729
Jakub Jelinek [Fri, 24 Feb 2017 23:15:56 +0000 (00:15 +0100)]
re PR c/79677 (Weird handling of -Werror=)
PR c/79677
* opts.h (handle_generated_option): Add GENERATED_P argument.
* opts-common.c (handle_option): Adjust function comment.
(handle_generated_option): Add GENERATED_P argument, pass it to
handle_option.
(control_warning_option): Pass false to handle_generated_option
GENERATED_P.
* opts.c (maybe_default_option): Pass true to handle_generated_option
GENERATED_P.
* optc-gen.awk: Likewise.
ada/
* gcc-interface/misc.c (gnat_handle_option): Pass true to
handle_generated_option GENERATED_P.
testsuite/
* gcc.dg/pr79677.c: New test.
From-SVN: r245728
Segher Boessenkool [Fri, 24 Feb 2017 22:42:49 +0000 (23:42 +0100)]
sh: Fixes for RTL checking
* config/sh/sh.md (tstsi_t): If operands[0] is a SUBREG instead of
a REG, look at the REG it is a SUBREG of.
(splitter for cmpeqsi_t): Ditto.
From-SVN: r245727
Segher Boessenkool [Fri, 24 Feb 2017 22:41:02 +0000 (23:41 +0100)]
pa: Fixes for RTL checking
* config/pa/pa.c (pa_combine_instructions): Do not share RTL. Make
the special USEs with the pattern of the insn, not the insn itself.
From-SVN: r245726
Matthew Fortune [Fri, 24 Feb 2017 22:35:59 +0000 (22:35 +0000)]
Add documentation for -mload-store-pairs
gcc/
PR target/79473
* doc/invoke.texi: Document -mload-store-pairs.
From-SVN: r245725
Segher Boessenkool [Fri, 24 Feb 2017 22:35:18 +0000 (23:35 +0100)]
nios2.c (nios2_simple_const_p): Returns false if the argument isn't a CONST_INT.
2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/nios2/nios2.c (nios2_simple_const_p): Returns false if the
argument isn't a CONST_INT.
(nios2_alternate_compare_const): Assert op is a CONST_INT.
(nios2_valid_compare_const_p): Assert op is a CONST_INT.
(nios2_validate_compare): Bypass alternate compare logic if *op2
is not a CONST_INT.
(ldstwm_operation_p): Return false if first_base is not a REG or
if first_offset is not a CONST_INT.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r245724
Segher Boessenkool [Fri, 24 Feb 2017 22:34:37 +0000 (23:34 +0100)]
cris: Fix for RTL checking
* config/cris/cris.md: Use correct operand in a define_peephole2.
From-SVN: r245723
Matthew Fortune [Fri, 24 Feb 2017 22:34:25 +0000 (22:34 +0000)]
Update paired single tests to cope with ABI fixes for o32/o64
gcc/testsuite/
* gcc.target/mips/mips-ps-type-2.c (move): Force generation
of mov.ps.
* gcc.target/mips/mips-ps-type.c (move): Likewise.
(cond_move1): Simplify condition to force generation of
mov[nz].ps.
(cond_move2): Likewise.
From-SVN: r245722
Segher Boessenkool [Fri, 24 Feb 2017 22:32:46 +0000 (23:32 +0100)]
c6x: Fix for RTL checking
* config/c6x/c6x.c (predicate_insn): Do not incorrectly share RTL.
From-SVN: r245721
Segher Boessenkool [Fri, 24 Feb 2017 22:20:14 +0000 (23:20 +0100)]
arc: Fixes for RTL checking
* config/arc/arc.c (arc_ccfsm_advance): Only take the PATTERN of
this_insn if it is an INSN or JUMP_INSN.
(force_offsettable): Look at base, not at addr.
* config/arc/predicates.md (brcc_nolimm_operator): Don't call INTVAL
on things that aren' necessarily CONST_INTs.
From-SVN: r245720
Jakub Jelinek [Fri, 24 Feb 2017 20:41:54 +0000 (21:41 +0100)]
re PR c++/79588 (ICE in warn_for_restrict with -Wrestrict)
PR c++/79588
c-family/
* c-common.c (check_function_restrict): New function.
(check_function_arguments): Add FNDECL argument. Call
check_function_restrict if -Wrestrict.
* c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
* c-common.h (check_function_arguments): Add FNDECL argument.
(warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
c/
* c-parser.c (c_parser_postfix_expression_after_primary): Don't
handle -Wrestrict here.
* c-typeck.c (build_function_call_vec): Adjust
check_function_arguments caller.
cp/
* call.c (build_over_call): Call check_function_arguments even for
-Wrestrict, adjust check_function_arguments caller.
* parser.c (cp_parser_postfix_expression): Don't handle -Wrestrict
here.
* typeck.c (cp_build_function_call_vec): Adjust
check_function_arguments caller.
testsuite/
* g++.dg/warn/Wrestrict-1.C: New test.
* g++.dg/warn/Wrestrict-2.C: New test.
From-SVN: r245719
Marek Polacek [Fri, 24 Feb 2017 18:54:13 +0000 (18:54 +0000)]
re PR translation/79705 (cp/decl.c message not marked for translation)
PR translation/79705
* decl.c (check_redeclaration_exception_specification): Mark a string
for translation. Make the pointer const.
From-SVN: r245717
David Edelsohn [Fri, 24 Feb 2017 18:39:44 +0000 (13:39 -0500)]
Require LTO.
Add initial ChangeLog entry.
From-SVN: r245716
Uros Bizjak [Fri, 24 Feb 2017 18:18:57 +0000 (19:18 +0100)]
invoke.texi (x86 Options, [...]): Mention that -mfpmath=sse is the default also for x86-32 targets with SSE2...
* doc/invoke.texi (x86 Options, -mfpmath=sse): Mention that
-mfpmath=sse is the default also for x86-32 targets with SSE2
instruction set when @option{-ffast-math} is enabled
From-SVN: r245715
Jeff Law [Fri, 24 Feb 2017 15:36:10 +0000 (08:36 -0700)]
re PR rtl-optimization/79286 (ira and lra wrong code at -O2 and -Os on i686-linux)
PR rtl-optimizatoin/79286
* ira.c (update_equiv_regs): Drop may_trap_p exception to
dominance test.
From-SVN: r245714
Richard Biener [Fri, 24 Feb 2017 11:51:33 +0000 (11:51 +0000)]
re PR tree-optimization/79389 (30% performance regression in SciMark2 MonteCarlo)
2017-02-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/79389
* gimple-ssa-split-paths.c (is_feasible_trace): Properly skip
debug insns.
From-SVN: r245713
Toma Tabacu [Fri, 24 Feb 2017 11:03:12 +0000 (11:03 +0000)]
Use logical_op_short_circuit to skip targets in ssa-thread-14.c.
gcc/testsuite/
* gcc.dg/tree-ssa/ssa-thread-14.c (dg-options): Use
logical_op_short_circuit to skip targets.
(dg-additional-options): Don't pass -mbranch-cost=2 for MIPS, AVR
and s390.
From-SVN: r245711
Eric Botcazou [Fri, 24 Feb 2017 11:03:08 +0000 (11:03 +0000)]
decl.c (gnat_to_gnu_field): Do not remove the wrapper around a justified modular type if...
* gcc-interface/decl.c (gnat_to_gnu_field): Do not remove the wrapper
around a justified modular type if it doesn't have the same scalar
storage order as the enclosing record type.
From-SVN: r245710
Aldy Hernandez [Fri, 24 Feb 2017 11:02:16 +0000 (11:02 +0000)]
tree-ssa-loop-niter.c (number_of_iterations_exit): Update function comment to reflect reality.
* tree-ssa-loop-niter.c (number_of_iterations_exit): Update
function comment to reflect reality.
(loop_exits_before_overflow): Fix typo in function description.
From-SVN: r245709
Eric Botcazou [Fri, 24 Feb 2017 10:54:00 +0000 (10:54 +0000)]
trans.c (gnat_to_gnu): Do not apply special handling of boolean rvalues to function calls.
* gcc-interface/trans.c (gnat_to_gnu): Do not apply special handling
of boolean rvalues to function calls.
From-SVN: r245706
Eric Botcazou [Fri, 24 Feb 2017 10:48:38 +0000 (10:48 +0000)]
utils.c (fold_bit_position): New function.
* gcc-interface/utils.c (fold_bit_position): New function.
(rest_of_record_type_compilation): Call it instead of bit_position to
compute the field position and remove the call to remove_conversions.
(compute_related_constant): Factor out the multiplication in both
operands, if any, and streamline the final test.
From-SVN: r245704
Eric Botcazou [Fri, 24 Feb 2017 10:35:14 +0000 (10:35 +0000)]
* gcc-interface/trans.c (return_value_ok_for_nrv_p): Add sanity check.
From-SVN: r245701
Eric Botcazou [Fri, 24 Feb 2017 10:21:39 +0000 (10:21 +0000)]
c-ada-spec.c (dump_ada_function_declaration): Add comment about the treatment of parameters with pointer-to-tagged type and...
c-family/
* c-ada-spec.c (dump_ada_function_declaration): Add comment about the
treatment of parameters with pointer-to-tagged type and tidy up.
(print_ada_methods): Remove the special treatment of C++ static member
functions.
ada/
* gcc-interface/decl.c: Include demangle.h.
(is_cplusplus_method): Return again true for a primitive operation
only if it is dispatching. For a subprogram with an interface name,
call the demangler to get the number of C++ parameters and compare it
with the number of Ada parameters.
From-SVN: r245700
Eric Botcazou [Fri, 24 Feb 2017 10:07:45 +0000 (10:07 +0000)]
trans.c (Handled_Sequence_Of_Statements_to_gnu): If there is no end label...
* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): If
there is no end label, put the location of the At_End procedure on
the call to the procedure.
From-SVN: r245699
Eric Botcazou [Fri, 24 Feb 2017 10:00:04 +0000 (10:00 +0000)]
misc.c (gnat_type_max_size): Try to return a meaningful value for array types with TYPE_INDEX_TYPE set on...
* gcc-interface/misc.c (gnat_type_max_size): Try to return a meaningful
value for array types with TYPE_INDEX_TYPE set on their domain type.
* gcc-interface/utils.c (max_size): For operations and expressions, do
not build a new node if the operands have not changed or are missing.
From-SVN: r245698
Eric Botcazou [Fri, 24 Feb 2017 09:52:31 +0000 (09:52 +0000)]
utils.c (max_size): Flip the second argument when recursing on TRUTH_NOT_EXPR.
* gcc-interface/utils.c (max_size) <tcc_expression>: Flip the second
argument when recursing on TRUTH_NOT_EXPR.
From-SVN: r245697
Richard Biener [Fri, 24 Feb 2017 08:04:31 +0000 (08:04 +0000)]
re PR tree-optimization/79389 (30% performance regression in SciMark2 MonteCarlo)
2017-02-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/79389
* gimple-ssa-split-paths.c (is_feasible_trace): Verify more
properly that a threading opportunity exists. Detect conditional
copy/constant propagation opportunities.
* gcc.dg/tree-ssa/split-path-10.c: New testcase.
From-SVN: r245696
GCC Administrator [Fri, 24 Feb 2017 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r245695
Paolo Carlini [Thu, 23 Feb 2017 23:20:58 +0000 (23:20 +0000)]
re PR c++/79361 (ICE redefining a template function as defaulted or deleted)
/cp
2017-02-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/79361
* pt.c (register_specialization): Check duplicate_decls return value
for error_mark_node and pass it back.
/testsuite
2017-02-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/79361
* g++.dg/cpp0x/pr79361-1.C: New.
* g++.dg/cpp0x/pr79361-2.C: Likewise.
From-SVN: r245692
Eric Botcazou [Thu, 23 Feb 2017 23:04:00 +0000 (23:04 +0000)]
visium.md (type): Add trap.
* config/visium/visium.md (type): Add trap.
(b): New mode attribute.
(*btst): Rename into...
(*btst<mode>): ...this and adjust.
(*cbranchsi4_btst_insn): Rename into...
(*cbranch<mode>4_btst_insn): ...this and adjust.
(trap): New define_insn.
From-SVN: r245691
Jakub Jelinek [Thu, 23 Feb 2017 22:05:19 +0000 (23:05 +0100)]
re PR tree-optimization/79389 (30% performance regression in SciMark2 MonteCarlo)
PR tree-optimization/79389
* ifcvt.c (struct noce_if_info): Add rev_cond field.
(noce_reversed_cond_code): New function.
(noce_emit_store_flag): Use rev_cond if non-NULL instead of
reversed_comparison_code. Formatting fix.
(noce_try_store_flag): Test rev_cond != NULL in addition to
reversed_comparison_code.
(noce_try_store_flag_constants): Likewise.
(noce_try_store_flag_mask): Likewise.
(noce_try_addcc): Use rev_cond if non-NULL instead of
reversed_comparison_code.
(noce_try_cmove_arith): Likewise. Formatting fixes.
(noce_try_minmax, noce_try_abs): Clear rev_cond.
(noce_find_if_block): Initialize rev_cond.
(find_cond_trap): Call noce_get_condition with then_bb == trap_bb
instead of false as last argument never attempt to reverse it
afterwards.
From-SVN: r245690
Bin Cheng [Thu, 23 Feb 2017 22:02:01 +0000 (22:02 +0000)]
re PR tree-optimization/79663 (r244815 causes 10% regression for spec1k/172.mgrid on AArch64)
2017-01-21 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/79663
* tree-predcom.c (combine_chains): Process refs in reverse order
only for ZERO length chains, and add explaining comment.
From-SVN: r245689
Jeff Law [Thu, 23 Feb 2017 21:43:03 +0000 (14:43 -0700)]
re PR tree-optimization/79578 (Unnecessary instructions in generated code)
PR tree-optimization/79578
* tree-ssa-dse.c (clear_bytes_written_by): Use OEP_ADDRESS_OF
in call to operand_equal_p.
From-SVN: r245688
Jonathan Wakely [Thu, 23 Feb 2017 18:25:22 +0000 (18:25 +0000)]
Ensure <experimental/iterator> includes <iterator>
* include/experimental/iterator: Include <iterator>.
* testsuite/experimental/iterator/requirements.cc: Check for contents
of <iterator>.
From-SVN: r245686
Dominik Vogt [Thu, 23 Feb 2017 15:18:16 +0000 (15:18 +0000)]
PR 68749: S/390: Disable ifcvt-4.c for -m31.
gcc/testsuite/ChangeLog:
2017-02-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR 68749
* gcc.dg/ifcvt-4.c: Disable for -m31, use -march=z196.
From-SVN: r245684
Richard Biener [Thu, 23 Feb 2017 12:38:39 +0000 (12:38 +0000)]
re PR c/79684 (Conditional jump or move depends on uninitialised value in GIMPLE FE)
2017-02-23 Richard Biener <rguenther@suse.de>
PR c/79684
* gimple-parser.c (c_parser_gimple_statement): Use set_error
to initialize c_exprs to return.
(c_parser_gimple_binary_expression): Likewise.
(c_parser_gimple_unary_expression): Likewise.
(c_parser_gimple_postfix_expression): Likewise.
From-SVN: r245681