Commit Graph

164772 Commits

Author SHA1 Message Date
Segher Boessenkool
0f31a75031 combine: Don't make an intermediate reg for assigning to sfp (PR87871)
The code with an intermediate register is perfectly fine, but LRA
apparently cannot handle the resulting code, or perhaps something else
is wrong.  In either case, making an extra temporary will not likely
help here, so let's just skip it.


	PR rtl-optimization/87871
	* combine.c (make_more_copies): Skip if dest is frame_pointer_rtx.

From-SVN: r265821
2018-11-05 22:18:22 +01:00
Ian Lance Taylor
7bbdffa22b compiler: handle abstract type in builtin numeric const value
Builtin_call_expression::do_numeric_constant_value can be called by
    Array_type::verify_length before the determine types pass, so accept
    an abstract type.
    
    Test case is https://golang.org/cl/147537.
    
    Fixes golang/go#28601
    
    Reviewed-on: https://go-review.googlesource.com/c/147442

From-SVN: r265820
2018-11-05 21:02:07 +00:00
Segher Boessenkool
b40a67df7c Fix sanitizer frame unwind on 32-bit ABIs (again)
This re-applies r258525, and this time adds it to LOCAL_PATCHES.


libsanitizer/
	* LOCAL_PATCHES: Add r258525.
	* sanitizer_common/sanitizer_stacktrace.cc
	(BufferedStackTrace::FastUnwindStack): Use the correct frame offset
	for PowerPC SYSV ABI.

From-SVN: r265817
2018-11-05 20:41:29 +01:00
Paul Koning
510e072da9 target-supports.exp: Add check for "inf" effective target keyword.
* lib/target-supports.exp: Add check for "inf" effective target
	keyword.
	* gcc.dg/builtins-44.c: Skip if no infinite support.
	* gcc.dg/builtins-45.c: Ditto.
	* gcc.dg/torture/builtin-complex-1.c: Ditto.
	* gcc.dg/torture/builtin-cproj-1.c: Ditto.
	* gcc.dg/torture/builtin-frexp-1.c: Ditto.
	* gcc.dg/torture/builtin-ldexp-1.c: Ditto.
	* gcc.dg/torture/builtin-logb-1.c: Ditto.
	* gcc.dg/torture/builtin-math-2.c: Ditto.
	* gcc.dg/torture/builtin-math-5.c: Ditto.
	* gcc.dg/torture/builtin-math-7.c: Ditto.
	* gcc.dg/torture/builtin-modf-1.c: Ditto.
	* gcc.dg/torture/type-generic-1.c: Ditto.

From-SVN: r265816
2018-11-05 14:36:16 -05:00
Paul Koning
08500461fc sourcebuild.texi (target attributes): Document new "inf" effective target keyword.
* doc/sourcebuild.texi (target attributes): Document new "inf"
	effective target keyword.

From-SVN: r265815
2018-11-05 14:34:59 -05:00
Robin Dapp
b14dfa94a8 S/390: Increase register move costs for CC_REGS
This increases the move costs for moves involving the CC
register which saves us some instructions in SPEC CPU2006.

gcc/ChangeLog:

2018-11-05  Robin Dapp  <rdapp@linux.ibm.com>

	* config/s390/s390.c (s390_register_move_cost): Increase costs for
        moves involving the CC reg.

From-SVN: r265814
2018-11-05 16:42:43 +00:00
Ilya Leoshkevich
d64d068c6a S/390: Make tests expect column numbers in RTL output
RTL output now includes column numbers in addition to line numbers,
like this:

  "gcc/testsuite/gcc.target/s390/md/andc-splitter-1.c":16:1

This confuses some S/390 tests.

gcc/testsuite/ChangeLog:

2018-11-05  Ilya Leoshkevich  <iii@linux.ibm.com>

	* gcc.target/s390/md/andc-splitter-1.c: Add colon to
	expectations.
	* gcc.target/s390/md/andc-splitter-2.c: Likewise.
	* gcc.target/s390/md/setmem_long-1.c: Likewise.

From-SVN: r265813
2018-11-05 16:34:32 +00:00
Richard Biener
733441e2e1 re PR tree-optimization/87873 (ICE: verify_gimple failed (error: incompatible types in PHI argument 0))
2018-11-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/87873
	* tree-ssa-loop-manip.h (split_loop_exit_edge): Add copy_constants_p
	argument.
	* tree-ssa-loop-manip.c (split_loop_exit_edge): Likewise.
	* tree-vect-loop.c (vect_transform_loop): When splitting the
	loop exit also create forwarder PHIs for constants.
	* tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
	Handle constant to_arg, add extra checking we match up the correct
	PHIs.

	* gcc.dg/pr87873.c: New testcase.

From-SVN: r265812
2018-11-05 14:55:53 +00:00
Martin Liska
546f678c5c Do not use %zu format in libcpp.
2018-11-05  Martin Liska  <mliska@suse.cz>

	* symtab.c (ht_dump_statistics): Replace %zu with %lu format.

From-SVN: r265811
2018-11-05 14:32:13 +00:00
Martin Liska
037903cbd1 Fix printf call in symtab.c.
2018-11-05  Martin Liska  <mliska@suse.cz>

	* symtab.c (ht_dump_statistics): Fix format and
	pass missing argument.

From-SVN: r265810
2018-11-05 14:25:37 +00:00
Robin Dapp
d89288868c S/390: Add loc patterns for QImode and HImode
This adds QImode and HImode support to load on condition.

gcc/ChangeLog:

2018-11-05  Robin Dapp  <rdapp@linux.ibm.com>

	* config/s390/s390.md: QImode and HImode for load on condition.

gcc/testsuite/ChangeLog:

2018-11-05  Robin Dapp  <rdapp@linux.ibm.com>

	* gcc.target/s390/ifcvt-one-insn-bool.c: New test.
	* gcc.target/s390/ifcvt-one-insn-char.c: New test.

From-SVN: r265808
2018-11-05 14:18:21 +00:00
Robin Dapp
88e845c060 S/390: Allow immediates in loc expander
This allows immediate operands for load on condition.

gcc/ChangeLog:

2018-11-05  Robin Dapp  <rdapp@linux.ibm.com>

	* config/s390/predicates.md: Fix typo.
	* config/s390/s390.md: Allow immediates for load on condition.

gcc/testsuite/ChangeLog:

2018-11-05  Robin Dapp  <rdapp@linux.ibm.com>

	* gcc.dg/loop-8.c: On s390, always run the test with -march=zEC12.

From-SVN: r265804
2018-11-05 14:09:28 +00:00
Martin Liska
40ce7fa6dd Come up with SIZE_AMOUNT and use it in memory statistics and sort stats.
2018-11-05  Martin Liska  <mliska@suse.cz>

	* alloc-pool.h (struct pool_usage): Use SIZE_AMOUNT.
	* bitmap.h (struct bitmap_usage): Likewise.
	* ggc-common.c (SCALE): Remove.
	(LABEL): Likewise.
	(struct ggc_usage): Use SIZE_AMOUNT. And update
	compare method.
	* ggc-page.c (SCALE): Remove.
	(STAT_LABEL): Remove.
	(ggc_print_statistics): Use SIZE_AMOUNT.
	* gimple.h (SCALE): Remove.
	(LABEL): Likewise.
	* input.c (ONE_K): Remove.
	(ONE_M): Likewise.
	(SCALE): Likewise.
	(STAT_LABEL): Likewise.
	(FORMAT_AMOUNT): Likewise.
	(dump_line_table_statistics): Use SIZE_AMOUNT.
	* mem-stats.h (struct mem_usage): Likewise.
	* rtl.c (dump_rtx_statistics): Likewise.
	(rtx_alloc_counts): Change type to size_t.
	(rtx_alloc_sizes): Likewise.
	(rtx_count_cmp): New.
	(dump_rtx_statistics): Sort first based on counts.
	* tree.c (tree_nodes_cmp): New.
	(tree_codes_cmp): New.
	(dump_tree_statistics): Sort first based on counts.
	* system.h (ONE_K): New.
	(ONE_M): Likewise.
	(SIZE_SCALE): Likewise.
	(SIZE_LABEL): Likewise.
	(SIZE_AMOUNT): Likewise.
	* tree-cfg.c (dump_cfg_stats): Use SIZE_AMOUNT.
	* tree-dfa.c (dump_dfa_stats): Likewise.
	* tree-phinodes.c (phinodes_print_statistics): Likewise.
	* tree-ssanames.c (ssanames_print_statistics): Likewise.
	* tree.c (dump_tree_statistics): Likewise.
	* vec.c (struct vec_usage): Likewise.
	* trans-mem.c (tm_mangle): Enlarge buffer in order to not
	trigger a -Werror=format-overflow with
	--enable-gather-detailed-stats.

From-SVN: r265800
2018-11-05 13:36:29 +00:00
Martin Liska
00e6775a5f Fix vector memory statistics.
2018-11-05  Martin Liska  <mliska@suse.cz>

	* mem-stats.h (mem_alloc_description::release_instance_overhead):
	Return T *.
	* vec.c (struct vec_usage): Register m_element_size.
	(vec_prefix::register_overhead): New arguments: elements and
	element_size.
	(vec_prefix::release_overhead): Subtract elements.
	* vec.h (struct vec_prefix): Change signature.
	(va_heap::reserve): Pass proper arguments.
	(va_heap::release): Likewise.

From-SVN: r265799
2018-11-05 13:35:56 +00:00
Martin Liska
93ef36dc69 Fix GNU coding style.
2018-11-05  Martin Liska  <mliska@suse.cz>

	* mem-stats.h (mem_alloc_description::get_list): Fix GNU coding
	style.
	* vec.c: Likewise.

From-SVN: r265798
2018-11-05 13:35:38 +00:00
Martin Liska
46aeb07ff8 Fix string pool statistics.
2018-11-05  Martin Liska  <mliska@suse.cz>

	* symtab.c (ht_dump_statistics): Make dump conditional
	based on alloc_subobject.

From-SVN: r265797
2018-11-05 13:35:09 +00:00
Martin Liska
6388cb2957 Fix build on sparc64-linux-gnu.
2018-11-05  Martin Liska  <mliska@suse.cz>

	PR sanitizer/87860
	* sanitizer_common/sanitizer_linux.cc:  Cherry-pick upstream
	r346129.

From-SVN: r265796
2018-11-05 13:34:36 +00:00
Richard Biener
4cc31a3c4e tree-scalar-evolution.h (final_value_replacement_loop): Update prototype.
2018-11-05  Richard Biener  <rguenther@suse.de>

	* tree-scalar-evolution.h (final_value_replacement_loop): Update
	prototype.
	* tree-scalar-evolution.c (final_value_replacement_loop): Return
	whether anything was done.
	(scev_const_prop): Remove constant propagation part, fold
	remains into ...
	* tree-ssa-loop.c (pass_scev_cprop::execute): ... here.
	(pass_data_scev_cprop): TODO_cleanup_cfg is now done
	conditionally.

	* gcc.dg/pr41488.c: Scan ivcanon dump instead of sccp one.
	* gcc.dg/tree-ssa/scev-7.c: Likewise.

From-SVN: r265795
2018-11-05 11:11:04 +00:00
Jakub Jelinek
18e0c3d171 re PR tree-optimization/87859 (store-merging miscompilation of mesa)
PR tree-optimization/87859
	* gimple-ssa-store-merging.c (struct merged_store_group): Add
	only_constants and first_nonmergeable_order members.
	(merged_store_group::merged_store_group): Initialize them.
	(merged_store_group::do_merge): Clear only_constants member if
	adding something other than INTEGER_CST store.
	(imm_store_chain_info::coalesce_immediate_stores): Don't merge
	stores with order >= first_nonmergeable_order.  Use
	merged_store->only_constants instead of always recomputing it.
	Set merged_store->first_nonmergeable_order if we've skipped any
	stores.  Attempt to merge overlapping INTEGER_CST stores that
	we would otherwise skip.

	* gcc.dg/store_merging_24.c: New test.
	* gcc.dg/store_merging_25.c: New test.

From-SVN: r265794
2018-11-05 11:28:19 +01:00
Jakub Jelinek
cbd429001f re PR sanitizer/87837 (-O2 -fsanitize=signed-integer-overflow misses overflows on x86-64)
PR sanitizer/87837
	* match.pd (X + Y < X): Don't optimize if TYPE_OVERFLOW_SANITIZED.

	* c-c++-common/ubsan/pr87837.c: New test.

From-SVN: r265793
2018-11-05 11:27:13 +01:00
Xuepeng Guo
6db6445e1b re PR target/87853 (_mm_cmpgt_epi8 broken with -funsigned-char)
2018-11-05  Xuepeng Guo  <xuepeng.guo@intel.com>

	PR target/87853
	* config/i386/emmintrin.h (__v16qs): New to cope with option
	-funsigned-char.
	(_mm_cmpeq_epi8): Replace __v16qi with __v16qs.
	(_mm_cmplt_epi8): Likewise.
	(_mm_cmpgt_epi8): Likewise.

From-SVN: r265792
2018-11-05 09:51:09 +00:00
Richard Biener
692e7e54e0 re PR middle-end/87852 (FAIL: gcc.c-torture/execute/pr53465.c)
2018-11-05  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/87852
	* fwprop.c (use_killed_between): Only consider single-defs of the
	use whose definition statement dominates the use.

From-SVN: r265791
2018-11-05 08:04:49 +00:00
Jason Merrill
b008f16b7a Implement UDL changes from P0732R2.
Implementing the UDL changes was pretty straightforward; I simplified
cp_parser_userdef_string_literal using the releasing_vec type from mangle.c.

While looking at this, I realized that the string UDL template taking a
character pack that we implemented for C++14 didn't actually make it into
C++14, so I've added a pedwarn for it and no longer suggest it in the
diagnostic about an invalid UDL template.

	* cp-tree.h (struct releasing_vec): Move from mangle.c.
	Add get_ref method.
	* parser.c (cp_parser_userdef_string_literal): Use it.  Handle
	passing the string to a single template parameter of class type.
	(cp_parser_template_declaration_after_parameters): Allow it.
	Pedwarn about the character pack template that was proposed but not
	accepted for C++14, and don't suggest it.

From-SVN: r265790
2018-11-05 02:47:05 -05:00
Jason Merrill
4be5c72cf3 Implement P0732R2, class types in non-type template parameters.
There is one significant piece of this that is not implemented yet: the
reliance on defaulted operator<=>, which someone else has been working on.
So, for the moment those lines are commented out of the testcases.

One tricky bit was treating template parameters of classtype as const
lvalues without making their decltype const; for this I used a
VIEW_CONVERT_EXPR wrapper, which previously could only appear in templates
as location wrappers.

The user-defined literal parts of P0732R2 are in the next patch.

gcc/cp/
	* error.c (dump_simple_decl): Look through a template parm object.
	* mangle.c (write_template_arg): Likewise.
	(mangle_template_parm_object): New.
	* pt.c (template_parm_object_p, get_template_parm_object): New.
	(invalid_tparm_referent_p): Factor from convert_nontype_argument.
	(convert_nontype_argument, invalid_nontype_parm_type_p): Handle
	class-type template arguments.
	* tree.c (lvalue_kind): Likewise.
gcc/c-family/
	* c-cppbuiltin.c (c_cpp_builtins): Add
	__cpp_nontype_template_parameter_class.
libiberty/
	* cp-demangle.c (d_dump, d_make_comp, d_count_templates_scopes)
	(d_print_comp_inner): Handle DEMANGLE_COMPONENT_TPARM_OBJ.
	(d_special_name): Handle TA.
	(d_expresion_1): Fix demangling of brace-enclosed initializer list.
include/
	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_TPARM_OBJ.

From-SVN: r265789
2018-11-05 02:47:02 -05:00
Jason Merrill
5dab8b11c4 Fix various latent issues revealed by P0732 work.
The initialized_type hunk fixes handling of void AGGR_INIT_EXPRs that call a
non-constructor; an AGGR_INIT_EXPR can have void type if its initialization
semantics are more complicated than just expanding the call.

The cxx_eval_vec_init_1 hunk corrects AGGR_INIT_EXPRs that were
nonsensically built to initialize an object of void type.  And the
build_aggr_init_expr hunk makes sure we don't do that again.

The ocp_convert and cxx_eval_outermost_constant_expr hunks deal with making
sure that a constant CONSTRUCTOR has the right type.

	* cvt.c (ocp_convert): Don't wrap a CONSTRUCTOR in a NOP_EXPR.
	* constexpr.c (initialized_type): Fix AGGR_INIT_EXPR handling.
	(cxx_eval_vec_init_1): Correct type of AGGR_INIT_EXPR.
	(cxx_eval_outermost_constant_expr): Make sure a CONSTRUCTOR has the
	right type.  Don't wrap a CONSTRUCTOR if one was passed in.
	* tree.c (build_aggr_init_expr): Check for void.

From-SVN: r265788
2018-11-05 02:46:57 -05:00
Jason Merrill
c24c8a4b00 PR c++/60503 - wrong lambda attribute syntax.
This patch fixes two issues with lambda attribute handling: First, it was in
the wrong place in the grammar.  Second, it was treating attributes as
applying to the whole declaration rather than to the function type, as
specified by the standard.

	* parser.c (cp_parser_lambda_declarator_opt): Fix attribute
	handling.

From-SVN: r265787
2018-11-05 02:46:52 -05:00
Martin Liska
ac27459299 Remove options that are not disabled with -Os (PR web/87829).
2018-11-05  Martin Liska  <mliska@suse.cz>

	PR web/87829
	* doc/invoke.texi: Remove options that are
	not disabled with -Os.

From-SVN: r265786
2018-11-05 07:33:58 +00:00
Martin Liska
c3210c96bc Verify that last argument of __builtin_expect_with_probability is a real cst (PR c/87811).
2018-11-05  Martin Liska  <mliska@suse.cz>

	PR c/87811
	* predict.c (expr_expected_value_1): Verify
	that last argument is a real constants and emit
	error.
2018-11-05  Martin Liska  <mliska@suse.cz>

	PR c/87811
	* gcc.dg/pr87811.c: New test.
	* gcc.dg/pr87811-2.c: Likewise.
	* gcc.dg/pr87811-3.c: Likewise.
2018-11-05  Martin Liska  <mliska@suse.cz>

	PR c/87811
	* doc/extend.texi: Update constrain about the last argument
	of __builtin_expect_with_probability.

From-SVN: r265785
2018-11-05 07:33:30 +00:00
Martin Liska
e53f77c666 Fix setting of hotness in non-LTO mode (PR gcov-profile/77698).
2018-11-05  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/77698
	* ipa-profile.c (ipa_profile): Adjust hotness threshold
	only in LTO mode.
2018-11-05  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/77698
	* gcc.dg/tree-prof/pr77698.c: New test.

From-SVN: r265784
2018-11-05 07:32:48 +00:00
GCC Administrator
51020b00c7 Daily bump.
From-SVN: r265783
2018-11-05 00:16:57 +00:00
Iain Buclaw
f9ab59ffe7 Merge dmd upstream 6243fa6d2
This introduces a new header that pulls in system includes for use only
in the DMD front-end part of the compiler, fixing up uses of problematic
functions that are prevalent throughout the code.

Commits merged from dmd.

    Fix build of the D frontend on the Hurd and KFreeBSD.
    Initial patch from Matthias Klose.
    https://github.com/dlang/dmd/pull/8893

    Don't care about D/C++ compatibility in C++ port.
    Fixes build error in https://gcc.gnu.org/PR87788
    https://github.com/dlang/dmd/pull/8895

    Allow compiling front-end headers with strict warnings.
    https://github.com/dlang/dmd/pull/8909

    Add root/system.h header for wrapping system includes.
    Fixes https://gcc.gnu.org/PR87865
    https://github.com/dlang/dmd/pull/8910

    Move checkedint to dmd/root.
    https://github.com/dlang/dmd/pull/8912

    Use rmem instead of libc for malloc() and strdup().
    https://github.com/dlang/dmd/pull/8913

    Use align(8) for alignment of UnionExp, fixing several BUS errors
    due to alignment issues on SPARC.
    https://github.com/dlang/dmd/pull/8914

    Don't pass NULL pointer as format parameter to errorSupplemental.
    https://github.com/dlang/dmd/pull/8916

gcc/d/ChangeLog:

2018-11-05  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/87865
	* d-system.h: New file.

From-SVN: r265780
2018-11-04 23:34:44 +00:00
Bernd Edlinger
e8bf3d5ed9 re PR tree-optimization/86572 (unsafe strlen folding of const arguments with non-const offset)
gcc:
2018-11-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR tree-optimization/86572
        * builtins.c (c_strlen): Handle negative offsets in a safe way.

testsuite:
2018-11-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR tree-optimization/86572
        * gcc.dg/pr86572.c: New test.

From-SVN: r265778
2018-11-04 19:51:09 +00:00
Bernd Edlinger
770fe3a364 re PR tree-optimization/87672 (81512c36 causes ICE in bootstrap stage 3 using "-D_FORTIFY_SOURCE=2" (invalid operand in unary operation, incorrect sharing of tree nodes, verify_gimple failed))
gcc:
2018-11-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR tree-optimization/87672
        * gimple-fold.c (gimple_fold_builtin_stxcpy_chk): Gimplify.
        * tree-ssa-strlen.c (handle_builtin_strcat): Adjust object size.

testsuite:
2018-11-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR tree-optimization/87672
        * gcc.dg/pr87672.c: New test.

From-SVN: r265777
2018-11-04 19:46:08 +00:00
Uros Bizjak
e237f9f31d re PR c++/58372 (internal compiler error: ix86_compute_frame_layout)
PR middle-end/58372
	* cfgexpand.c (pass_expand::execute): Move the call to
	finish_eh_generation in front of the call to expand_stack_alignment.

testsuite/ChangeLog:

	PR middle-end/58372
	* g++.target/i386/pr58372.C: New test.

From-SVN: r265776
2018-11-04 20:22:50 +01:00
Venkataramanan Kumar
2901f42f4b Enable support for next generation AMD Zen CPU, via -march=znver2.
gcc/ChangeLog:
	* common/config/i386/i386-common.c (processor_alias_table): Add znver2 entry.
	* config.gcc (i[34567]86-*-linux* | ...): Add znver2.
	(case ${target}): Add znver2.
	* config/i386/driver-i386.c: (host_detect_local_cpu): Let
	-march=native recognize znver2 processors.
	* config/i386/i386-c.c (ix86_target_macros_internal): Add znver2.
	* config/i386/i386.c (m_znver2): New definition.
	(m_ZNVER): New definition.
	(m_AMD_MULTIPLE): Includes m_znver2.
	(processor_cost_table): Add znver2 entry.
	(processor_target_table): Add znver2 entry.
	(get_builtin_code_for_version): Set priority for
	PROCESSOR_ZNVER2.
	(processor_model): Add M_AMDFAM17H_ZNVER2.
	(arch_names_table): Ditto.
	(ix86_reassociation_width): Include znver2. 
	* config/i386/i386.h (TARGET_znver2): New definition.
	(struct ix86_size_cost): Add TARGET_ZNVER2.
	(enum processor_type): Add PROCESSOR_ZNVER2.
	* config/i386/i386.md (define_attr "cpu"): Add znver2.
	* config/i386/x86-tune-costs.h: (processor_costs) Add znver2 costs.
	* config/i386/x86-tune-sched.c: (ix86_issue_rate): Add znver2.
	(ix86_adjust_cost): Add znver2.
	* config/i386/x86-tune.def:  Replace m_ZNVER1 by m_ZNVER
	* gcc/doc/extend.texi: Add details about znver2.
	* gcc/doc/invoke.texi: Add details about znver2.

libgcc/ChangeLog
	* config/i386/cpuinfo.c: (get_amd_cpu): Add znver2.
	* config/i386/cpuinfo.h(processor_subtypes): Ditto.

From-SVN: r265775
2018-11-04 11:17:54 +00:00
Stafford Horne
45bf149026 MAINTAINERS (Write After Approval): Add myself.
2018-11-04  Stafford Horne  <shorne@gmail.com>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r265774
2018-11-04 09:07:48 +00:00
GCC Administrator
c16ab1252a Daily bump.
From-SVN: r265773
2018-11-04 00:16:44 +00:00
Sandra Loosemore
2eae232fc5 re PR target/87079 (nios2 optimization for size - case of regression relatively to 5.3.0)
2018-11-03  Sandra Loosemore  <sandra@codesourcery.com>

	PR target/87079

	gcc/
	* config/nios2/nios2.c (nios2_rtx_costs): Recognize <mul>sidi3
	pattern.

	gcc/testsuite/
	* gcc.target/nios2/pr87079-1.c: New.	
	* gcc.target/nios2/pr87079-2.c: New.

From-SVN: r265770
2018-11-03 14:12:44 -04:00
GCC Administrator
b15ed67b3d Daily bump.
From-SVN: r265766
2018-11-03 00:17:46 +00:00
Thomas Koenig
0f4f85614b re PR fortran/46020 (Improve error string for BIND(C) diagnostic for len>1 character return type)
2018-11-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

    PR fortran/46020
    * decl.c (verify_bind_c_sym): Remove unnecessary space
    in error message.

From-SVN: r265757
2018-11-02 20:20:43 +00:00
Rainer Orth
361420eec5 Move gcc.dg/compat dg-skip-if to *_main.c files
* gcc.dg/compat/pr83487-1_y.c: Move dg-skip-if ...
	* gcc.dg/compat/pr83487-1_main.c: ... here.
	* gcc.dg/compat/struct-by-value-10_main.c,
	gcc.dg/compat/struct-by-value-10_x.c,
	gcc.dg/compat/struct-by-value-11_main.c,
	gcc.dg/compat/struct-by-value-11_x.c,
	gcc.dg/compat/struct-by-value-12_main.c,
	gcc.dg/compat/struct-by-value-12_x.c,
	gcc.dg/compat/struct-by-value-13_main.c,
	gcc.dg/compat/struct-by-value-13_x.c,
	gcc.dg/compat/struct-by-value-14_main.c,
	gcc.dg/compat/struct-by-value-14_x.c,
	gcc.dg/compat/struct-by-value-15_main.c,
	gcc.dg/compat/struct-by-value-15_x.c,
	gcc.dg/compat/struct-by-value-17_main.c,
	gcc.dg/compat/struct-by-value-17_x.c,
	gcc.dg/compat/struct-by-value-18_main.c,
	gcc.dg/compat/struct-by-value-18_x.c,
	gcc.dg/compat/struct-by-value-2_main.c,
	gcc.dg/compat/struct-by-value-2_x.c,
	gcc.dg/compat/struct-by-value-22_main.c,
	gcc.dg/compat/struct-by-value-22_x.c,
	gcc.dg/compat/struct-by-value-3_main.c,
	gcc.dg/compat/struct-by-value-3_x.c,
	gcc.dg/compat/struct-by-value-4_main.c,
	gcc.dg/compat/struct-by-value-4_x.c,
	gcc.dg/compat/struct-by-value-5b_main.c,
	gcc.dg/compat/struct-by-value-5b_x.c,
	gcc.dg/compat/struct-by-value-6b_main.c,
	gcc.dg/compat/struct-by-value-6b_x.c,
	gcc.dg/compat/struct-by-value-6b_main.c,
	gcc.dg/compat/struct-by-value-7b_x.c,
	gcc.dg/compat/struct-by-value-7b_main.c,
	gcc.dg/compat/struct-by-value-8_main.c,
	gcc.dg/compat/struct-by-value-8_x.c,
	gcc.dg/compat/struct-by-value-9_main.c,
	gcc.dg/compat/struct-by-value-9_x.c,
	gcc.dg/compat/struct-return-2_main.c,
	gcc.dg/compat/struct-return-2_x.c: Likewise.

From-SVN: r265755
2018-11-02 19:18:31 +00:00
Aaron Sawdey
122d6c3655 rs6000-string.c (expand_strncmp_gpr_sequence): Pay attention to TARGET_AVOID_XFORM and BYTES_BIG_ENDIAN.
2018-11-02  Aaron Sawdey  <acsawdey@linux.ibm.com>

	* config/rs6000/rs6000-string.c (expand_strncmp_gpr_sequence): Pay
	attention to TARGET_AVOID_XFORM and BYTES_BIG_ENDIAN.

From-SVN: r265751
2018-11-02 12:02:38 -05:00
Richard Earnshaw
5f7dbaa0ad Although there's no fundamental reason why shrink wrapping and speculation tracking are incompatible...
Although there's no fundamental reason why shrink wrapping and
speculation tracking are incompatible, a phase-ordering requirement
(we need to do speculation tracking before the final basic block
clean-up) means that the shrink wrapping pass can undo some of the
changes the speculation tracking pass makes.  The result is that the
tracking, while still safe is less comprehensive than we really want.

So to keep things simple, and because the tracking code is quite
expensive anyway, it seems best to just disable that pass when we are
tracking speculative execution.

	 * config/aarch64/aarch64.c (aarch64_override_options): Disable
	 shrink-wrapping when -mtrack-speculation.

From-SVN: r265747
2018-11-02 13:36:31 +00:00
Richard Biener
4c998ca548 tree-ssa-coalesce.c (struct coalesce_list): Add obstack member.
2018-11-02  Richard Biener  <rguenther@suse.de>

	* tree-ssa-coalesce.c (struct coalesce_list): Add obstack member.
	(pop_cost_one_pair): Do not free pair.
	(pop_best_coalesce): Likewise.
	(create_coalesce_list): Initialize obstack.
	(delete_coalesce_list): Free obstack.
	(find_coalesce_pair): Obstack-allocate coalesce pairs.
	(add_cost_one_coalesce): Likewise.
	(struct live_track): Remove bitmap pointer indirections.
	(new_live_track): Adjust.
	(delete_live_track): Likewise.
	(live_track_remove_partition): Likewise.
	(live_track_add_partition): Likewise.
	(live_track_live_p): Likewise.
	(live_track_process_def): Likewise.
	(live_track_clear_base_vars): Likewise.

From-SVN: r265745
2018-11-02 11:29:50 +00:00
Nathan Sidwell
4155777d73 [C++ PATCH] refactor duplicate_decls
https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00085.html
	gcc/cp/
	* decl.c (duplicate_decls): Refactor checks.
	gcc/testsuite/
	* g++.dg/lookup/crash6.C: Adjust error
	* g++.dg/parse/crash38.C: Likewise.

From-SVN: r265744
2018-11-02 11:12:43 +00:00
Rainer Orth
97f5962a05 Remove SPARC HAVE_AS_REGISTER_PSEUDO_OP
* configure.ac (gcc_cv_as_sparc_register_op): Remove.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/sparc/sparc.c (sparc_output_scratch_registers): Remove
	HAVE_AS_REGISTER_PSEUDO_OP guard.
	* config/sparc/sparc.h (ASM_ARCH64_SPEC): Remove
	!HAVE_AS_REGISTER_PSEUDO_OP support.
	(ASM_DECLARE_REGISTER_GLOBAL): Remove HAVE_AS_REGISTER_PSEUDO_OP
	guard.

From-SVN: r265743
2018-11-02 08:51:04 +00:00
Iain Buclaw
ac67752d79 Fix libgphobos.spec in the wrong place with --enable-version-specific-runtime-libs
libphobos/ChangeLog:

2018-11-01  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/87827
	* Makefile.in: Rebuild.
	* configure: Rebuild.
	* configure.ac: Properly set MULTISUBDIR.
	* d_rules.am: Set toolexecdir and toolexeclibdir.
	* libdruntime/Makefile.in: Rebuild.
	* m4/druntime.m4 (DRUNTIME_INSTALL_DIRECTORIES): Add
	--enable-version-specific-runtime-libs.
	* src/Makefile.in: Rebuild.
	* testsuite/Makefile.in: Rebuild.

From-SVN: r265742
2018-11-02 08:29:50 +00:00
Andreas Schwab
db281b40e4 20010904-2.c: Fix last change.
* gcc.c-torture/execute/20010904-2.c: Fix last change.
* gcc.dg/Wattributes-10.c: Likewise.

From-SVN: r265741
2018-11-02 08:22:59 +00:00
Richard Biener
ea7e39004f dwarf2out.c (build_abbrev_table): Guard lookup_external_ref call with is_type_die.
2018-11-02  Richard Biener  <rguenther@suse.de>

	* dwarf2out.c (build_abbrev_table): Guard lookup_external_ref call
	with is_type_die.

From-SVN: r265740
2018-11-02 07:55:49 +00:00
Richard Biener
a412de9891 re PR tree-optimization/87776 (Compile time hog during RPO VN)
2018-11-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/87776
	* tree-ssa-sccvn.c (do_rpo_vn): Do not mark backedges
	executable when iterating but running into rpo-vn-max-loop-depth
	and not eliding the iteration.

	* gcc.dg/torture/pr87776.c: New testcase.

From-SVN: r265739
2018-11-02 07:53:48 +00:00