Commit Graph

162877 Commits

Author SHA1 Message Date
Martin Sebor
0d7f906520 PR middle-end/82063 - issues with arguments enabled by -Wall
gcc/c-family/ChangeLog:
	* gcc/c-family/c.opt (-Warray-bounds): Remove redundant -Wall.

From-SVN: r262912
2018-07-20 15:19:49 -06:00
Martin Sebor
cb4df8efb5 re PR middle-end/82063 (issues with arguments enabled by -Wall)
PR middle-end/82063

gcc/testsuite/ChangeLog:

	* gcc/testsuite/c-c++-common/pr68833-1.c: Adjust.

From-SVN: r262911
2018-07-20 15:18:31 -06:00
Martin Sebor
00abf86c47 PR middle-end/82063 - issues with arguments enabled by -Wall
gcc/ada/ChangeLog:

	PR middle-end/82063
	* gcc-interface/misc.c (gnat_handle_option): Change function argument
	to HOST_WIDE_INT.

gcc/brig/ChangeLog:

	PR middle-end/82063
	* brig/brig-lang.c (brig_langhook_handle_option): Change function
	argument to HOST_WIDE_INT.

gcc/c-family/ChangeLog:

	PR middle-end/82063
	* c-common.h (c_common_handle_option): Change function argument
	to HOST_WIDE_INT.
	* c-opts.c (c_common_init_options): Same.
	(c_common_handle_option): Same.  Remove special handling of
	OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
	* c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
	options to take a HOST_WIDE_INT argument and accept a byte-size
	suffix.  Initialize.
	(-Wvla-larger-than): Same.
	(-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
	(-Wno-vla-larger-than): Same.

gcc/fortran/ChangeLog:

	PR middle-end/82063
	* gfortran.h (gfc_handle_option): Change function argument
	to HOST_WIDE_INT.
	* options.c (gfc_handle_option): Same.

gcc/go/ChangeLog:

	PR middle-end/82063
	* go-lang.c (go_langhook_handle_option): Change function argument
	to HOST_WIDE_INT.

gcc/lto/ChangeLog:

	PR middle-end/82063
	* lto-lang.c (lto_handle_option): Change function argument
	to HOST_WIDE_INT.

gcc/testsuite/ChangeLog:

	PR middle-end/82063
	* gcc/testsuite/c-c++-common/pr68657-1.c: Adjust.
	* gcc/testsuite/c-c++-common/pr68657-2.c: Same.
	* gcc/testsuite/c-c++-common/pr68657-3.c: Same.
	* gcc.dg/Walloc-size-larger-than-16.c: Same.
	* gcc.dg/Walloca-larger-than.c: New test.
	* gcc.dg/Walloca-larger-than-2.c: New test.
	* gcc.dg/Wframe-larger-than-2.c: New test.
	* gcc.dg/Wlarger-than3.c: New test.
	* gcc.dg/Wvla-larger-than-3.c: New test.
	* gcc.dg/pr42611.c: Adjust.
	* gnat.dg/frame_overflow.adb: Same.

gcc/ChangeLog:

	PR middle-end/82063
	* builtins.c (expand_builtin_alloca): Adjust.
	* calls.c (alloc_max_size): Simplify.
	* cgraphunit.c (cgraph_node::expand): Adjust.
	* common.opt (larger_than_size, warn_frame_larger_than): Remove
	variables.
	(frame_larger_than_size): Same.
	(-Wframe-larger-than, -Wlarger-than, -Wstack-usage): Change options
	to take a HOST_WIDE_INT argument and accept a byte-size suffix.
	Initialize.
	* doc/invoke.texi (GCC Command Options): Document option arguments.
	Explain byte-size arguments and suffixes.
	(-Wvla-larger-than, -Wno-alloc-size-larger-than): Update.
	(-Wno-alloca-larger-than, -Wno-vla-larger-than): Same.
	(-Wframe-larger-than, -Wlarger-than, -Wstack-usage): Same.
	* doc/options.texi (UInteger): Expand.
	(Host_Wide_Int, ByteSize): Document new properties.
	* final.c (final_start_function_1): Include sizes in an error message.
	* function.c (frame_offset_overflow): Same.
	* gimple-ssa-warn-alloca.c (pass_walloca::gate): Adjust.
	(alloca_call_type_by_arg): Change function argument to HOST_WIDE_INT.
	Diagnose unbounded alloca calls only for limits of less than
	PTRDIFF_MAX.
	(alloca_call_type): Adjust.  Diagnose possibly out-of-bounds alloca
	calls and VLA size only for limits of less than	PTRDIFF_MAX.  Same
	for alloca(0).
	(pass_walloca::execute): Adjust.  Diagnose alloca calls in loops
	only for limits of less than PTRDIFF_MAX.
	* langhooks-def.h (lhd_handle_option): Change function argument
	to HOST_WIDE_INT.
	* langhooks.c (lhd_handle_option): Same.
	* langhooks.h (handle_option): Same.
	* opt-functions.awk (switch_bit_fields): Handle Host_Wide_Int and
	ByteSize flags.
	(var_type, var_type_struct): Same.
	(var_set): Handle ByteSize flag.
	* optc-gen.awk: Add comments to output to ease debugging.  Make
	use of HOST_WIDE_INT where appropriate.
	* opts-gen-save.awk:  Use %lx to format unsigned long.
	* opth-gen.awk: Change function argument to HOST_WIDE_INT.
	* opts-common.c (integral_argument): Return HOST_WIDE_INT and add
	arguments.  Parse bytes-size suffixes.
	(enum_arg_to_value): Change function argument to HOST_WIDE_INT.
	(enum_value_to_arg): Same.
	(decode_cmdline_option): Handle cl_host_wide_int.  Adjust.
	(handle_option): Adjust.
	(generate_option): Change function argument to HOST_WIDE_INT.
	(cmdline_handle_error): Adjust.
	(read_cmdline_option): Change function argument to HOST_WIDE_INT.
	(set_option): Change function argument to HOST_WIDE_INT.
	(option_enabled): Handle cl_host_wide_int.
	(get_option_state): Handle CLVC_SIZE.
	(control_warning_option): Same.
	* opts.c (common_handle_option): Change function argument to
	HOST_WIDE_INT.  Remove handling of OPT_Walloca_larger_than_ and
	OPT_Wvla_larger_than_.
	* opts.h (enum cl_var_type): Add an enumerator.
	* stor-layout.c (layout_decl): Print a more meaningful warning.
	* toplev.c (output_stack_usage): Adjust.

From-SVN: r262910
2018-07-20 14:51:20 -06:00
Andrew Benson
20e8ceae67 gfortran.h (gfc_symbol): Add pointer to next derived type.
2018-07-20  Andrew Benson  <abenson@carnegiescience.edu>

	* gfortran.h (gfc_symbol): Add pointer to next derived type.
	(gfc_dt_list, gfc_get_dt_list): Remove.
	(gfc_namespace): Replace gfc_dt_list with gfc_symbol.
	* parse.c (resolve_all_program_units): Replace gfc_free_dt_list() with
	simple nullification of gfc_derived_types.
	* resolve.c (resolve_global_procedure): Replace gfc_dt_list with
	gfc_symbol.
	(add_dt_to_dt_list): Change derived type linked list insertion to
	utilize dt_next pointers in gfc_symbol.
	* symbol.c (gfc_new_symbol, gfc_free_dt_list, gfc_symbol_done2)
	(get_iso_c_binding_dt, generate_isocbinding_symbol): Remove
	gfc_free_dt_list as gfc_dt_list is obsoleted. Change derived type
	linked list search/insertion to utilize dt_next pointers in gfc_symbol.
	* trans-types.c (gfc_get_derived_type): Change derived type linked
	list search to utilize dt_next pointers in gfc_symbol.

From-SVN: r262909
2018-07-20 22:00:42 +02:00
Ian Lance Taylor
d9a81cdb41 compiler: do order_evaluations before remove_shortcuts
In remove_shortcuts, the shortcut expressions (&&, ||) are
    rewritten to if statements, which are lifted out before the
    statement containing the shortcut expression. If the containing
    statement has other (sub)expressions that should be evaluated
    before the shortcut expression, which has not been lifted out,
    this will result in wrong evaluation order.
    
    For example, F() + G(A() && B()), the evaluation order per spec
    is F, A, B (if A returns true), G. If we lift A() and B() out
    first, they will be called before F, which is wrong.
    
    To fix this, we split order_evaluations to two phases. The first
    phase, which runs before remove_shortcuts, skips shortcut
    expressions' components. So it won't lift out subexpressions that
    are evaluated conditionally. The shortcut expression itself is
    ordered, since it may have side effects. Then we run
    remove_shortcuts. At this point the subexpressions that should be
    evaluated before the shortcut expression are already lifted out.
    remove_shortcuts also runs the second phase of order_evaluations
    to order the components of shortcut expressions, which were
    skipped during the first phase.
    
    Reorder the code blocks of remove_shortcuts and order_evaluations,
    since remove_shortcuts now calls Order_eval.
    
    Fixes golang/go#26495.
    
    Reviewed-on: https://go-review.googlesource.com/125299

From-SVN: r262908
2018-07-20 19:56:21 +00:00
Qing Zhao
523a59ff86 Give up the inlining expansion for strcmp/strncmp/memcmp on a target where the...
Give up the inlining expansion for strcmp/strncmp/memcmp on a target 
where the type of the call has same or narrower presicion than unsigned
char.
Change char to unsigned char for strcmp/strncmp when expand them to
a sequence of byte comparisons.
 
Due to C standard section 7.24.4:

The sign of a nonzero value returned by the comparison functions memcmp,
strcmp, and strncmp is determined by the sign of the difference between 
the values of the first pair of characters (both interpreted as unsigned 
char) that differ in the objects being compared.

bootstraped and tested on both X86 and Aarch64. no regression.

From-SVN: r262907
2018-07-20 18:18:25 +00:00
Martin Sebor
cba563f71d PR tree-optimization/86613 - missing -Warray-bounds on a wide string access due to ccp folding
PR tree-optimization/86613 - missing -Warray-bounds on a wide string access due to ccp folding
PR tree-optimization/86611 - missing -Warray-bounds on a large negative index into a string in lp64

gcc/testsuite/ChangeLog:
	* gcc/testsuite/c-c++-common/Warray-bounds-2.c: Undefine macros and
	prune duplicate warnings.
	* gcc/testsuite/gcc.dg/Warray-bounds-31.c: Xfail test cases with
	data-model-dependencies.
	* gcc/testsuite/gcc.dg/Warray-bounds-32.c: Ditto.

From-SVN: r262906
2018-07-20 10:38:43 -06:00
David Malcolm
4a4412b9de Add "-fsave-optimization-record"
This patch implements a -fsave-optimization-record option, which
leads to a JSON file being written out, recording the dump_* calls
made (via the optinfo infrastructure).

The patch includes a minimal version of the JSON patch I posted last
year, with just enough support needed for optimization records (I
removed all of the parser code, leaving just the code for building
in-memory JSON trees and writing them to a pretty_printer).

gcc/ChangeLog:
	* Makefile.in (OBJS): Add json.o and optinfo-emit-json.o.
	(CFLAGS-optinfo-emit-json.o): Define TARGET_NAME.
	* common.opt (fsave-optimization-record): New option.
	* coretypes.h (struct kv_pair): Move here from dumpfile.c.
	* doc/invoke.texi (-fsave-optimization-record): New option.
	* dumpfile.c: Include "optinfo-emit-json.h".
	(struct kv_pair): Move to coretypes.h.
	(optgroup_options): Make non-static.
	(dump_context::end_scope): Call
	optimization_records_maybe_pop_dump_scope.
	* dumpfile.h (optgroup_options): New decl.
	* json.cc: New file.
	* json.h: New file.
	* optinfo-emit-json.cc: New file.
	* optinfo-emit-json.h: New file.
	* optinfo.cc: Include "optinfo-emit-json.h".
	(optinfo::emit): Call optimization_records_maybe_record_optinfo.
	(optinfo_enabled_p): Check optimization_records_enabled_p.
	(optinfo_wants_inlining_info_p): Likewise.
	* optinfo.h: Update comment.
	* profile-count.c (profile_quality_as_string): New function.
	* profile-count.h (profile_quality_as_string): New decl.
	(profile_count::quality): New accessor.
	* selftest-run-tests.c (selftest::run_tests): Call json_cc_tests
	and optinfo_emit_json_cc_tests.
	* selftest.h (selftest::json_cc_tests): New decl.
	(selftest::optinfo_emit_json_cc_tests): New decl.
	* toplev.c: Include "optinfo-emit-json.h".
	(compile_file): Call optimization_records_finish.
	(do_compile): Call optimization_records_start.
	* tree-ssa-live.c: Include optinfo.h.
	(remove_unused_scope_block_p): Retain inlining information if
	optinfo_wants_inlining_info_p returns true.

From-SVN: r262905
2018-07-20 15:37:23 +00:00
Jonathan Wakely
bf0086f1c8 PR libstdc++/86595 add missing noexcept
PR libstdc++/86595
	* include/bits/fs_dir.h (directory_entry::refresh(error_code&)): Add
	noexcept.

From-SVN: r262904
2018-07-20 12:52:54 +01:00
Fangrui Song
2143168e07 Use default visibility to work around clang -fvisibility-inlines-hidden bug
Clang (including trunk and many older versions) incorrectly marks static
local variables (__tag) hidden when -fvisibility-inlines-hidden is used.
This can lead to multiple instances of __tag when shares objects are used.

2018-07-20  Fangrui Song  <maskray@google.com>

	* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Use
	_GLIBCXX_VISIBILITY(default).

From-SVN: r262903
2018-07-20 12:24:55 +01:00
Jonathan Wakely
afa07bdd78 PR libstdc++/86603 Move __cpp_lib_list_remove_return_type macro
This should only be defined for C++2a not C++17.

	PR libstdc++/86603
	* include/std/version: Move __cpp_lib_list_remove_return_type macro.

From-SVN: r262902
2018-07-20 12:24:38 +01:00
Richard Biener
efe0e6cd21 re PR debug/86585 (ICE in gen_member_die, at dwarf2out.c:24935)
2018-07-20  Richard Biener  <rguenther@suse.de>

	PR debug/86585
	* dwarf2out.c (dwarf2out_die_ref_for_decl): Test in_lto_p
	to cover -flto-partition=none.
	
	lto/
	* lto.c (unify_scc): Before we throw away an SCC see if we
	can amend prevailing single-entry SCC with debug refs.

	* g++.dg/lto/pr86585_0.C: New testcase.
	* g++.dg/lto/pr86585_1.C: Likewise.

From-SVN: r262901
2018-07-20 11:13:47 +00:00
Martin Liska
4e51aacb1c Remove unused code.
2018-07-20  Martin Liska  <mliska@suse.cz>

	* tree.h (DECL_LOCATION_RANGE): Remove unused macro.
	(get_decl_source_range): Remove unused function.

From-SVN: r262900
2018-07-20 11:00:56 +00:00
Richard Biener
b89ffb9811 tree-ssa-sccvn.h (struct vn_nary_op_s): Add next member.
2018-07-20  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.h (struct vn_nary_op_s): Add next member.
	(struct vn_phi_s): Likewise.
	(struct vn_reference_s): Likewise.
	* tree-ssa-sccvn.c (vn_nary_op_hasher::equal): Add shortcut
	for searching the slot of an entry known to be in the hash itself.
	(vn_phi_hasher::equal): Likewise.
	(vn_reference_hasher::equal): Likewise.
	(last_inserted_ref, last_inserted_phi, last_inserted_nary): New
	globals.
	(optimistic_info, current_info): Remove, keeping only valid_info.
	(vn_reference_lookup_1): Remove fallback lookup.
	(vn_reference_lookup_2): Likewise.
	(vn_nary_op_lookup_1): Likewise.
	(vn_phi_lookup): Likewise.
	(vn_nary_build_or_lookup_1): Make sure to not chain the built
	hash element.
	(vn_reference_insert): Adjust, chain the inserted hash element
	at last_inserted_ref.
	(vn_reference_insert_pieces): Likewise.
	(visit_reference_op_call): Likewise.
	(vn_nary_op_insert_into): Chain the inserted hash element at
	last_inserted_nary.
	(vn_nary_op_insert_pieces): Adjust.
	(vn_nary_op_insert): Likewise.
	(vn_nary_op_insert_stmt): Likewise.
	(vn_phi_insert): Adjust, chain the inserted hash element at
	last_inserted_phi.
	(process_scc): Remove clearing and copying the optimistic
	table.  Instead remove elements inserted during an optimistic
	iteration from the single table we maintain.
	(init_scc_vn): Adjust.
	(free_scc_vn): Likewise.
	(sccvn_dom_walker::record_cond): Likewise.
	(sccvn_dom_walker::after_dom_children): Likewise.

From-SVN: r262899
2018-07-20 07:18:35 +00:00
DJ Delorie
3b0df776fa MAINTAINERS (m32c, [...]): Remove myself as maintainer.
* MAINTAINERS (m32c, msp43, rl78, libiberty, build): Remove myself
as maintainer.

From-SVN: r262898
2018-07-19 22:01:30 -04:00
GCC Administrator
f5aa595573 Daily bump.
From-SVN: r262897
2018-07-20 00:16:29 +00:00
Martin Sebor
d893b683f4 PR tree-optimization/84047 - missing -Warray-bounds on an out-of-bounds index into an array
PR tree-optimization/84047 - missing -Warray-bounds on an out-of-bounds index into an array
PR tree-optimization/83776 - missing -Warray-bounds indexing past the end of a string literal

gcc/ChangeLog:

	PR tree-optimization/84047
	PR tree-optimization/83776
	* tree-vrp.c (vrp_prop::check_mem_ref): New function.
	(check_array_bounds): Call it.

gcc/testsuite/ChangeLog:

	PR tree-optimization/83776
	PR tree-optimization/84047
	* gcc.dg/Warray-bounds-29.c: New test.
	* gcc.dg/Warray-bounds-30.c: New test.
	* gcc.dg/Warray-bounds-31.c: New test.
	* gcc.dg/Warray-bounds-32.c: New test.

From-SVN: r262893
2018-07-19 17:36:34 -06:00
Martin Sebor
a34ab13587 align.h (align_flags): Use member initialization.
gcc/ChangeLog:

	* align.h (align_flags): Use member initialization.

From-SVN: r262892
2018-07-19 16:12:06 -06:00
David Malcolm
4df3629eb7 Add "optinfo" framework
This patch implements a way to consolidate dump_* calls into
optinfo objects, as enabling work towards being able to write out
optimization records to a file.

The patch adds the support for building optinfo instances from dump_*
calls, but leaves implementing any *users* of them to followup patches.

gcc/ChangeLog:
	* Makefile.in (OBJS): Add optinfo.o.
	* coretypes.h (class symtab_node): New forward decl.
	(struct cgraph_node): New forward decl.
	(class varpool_node): New forward decl.
	* dump-context.h: New file.
	* dumpfile.c: Include "optinfo.h", "dump-context.h", "cgraph.h",
	"tree-pass.h".
	(refresh_dumps_are_enabled): Use optinfo_enabled_p.
	(set_dump_file): Call dumpfile_ensure_any_optinfo_are_flushed.
	(set_alt_dump_file): Likewise.
	(dump_context::~dump_context): New dtor.
	(dump_gimple_stmt): Move implementation to...
	(dump_context::dump_gimple_stmt): ...this new member function.
	Add the stmt to any pending optinfo, creating one if need be.
	(dump_gimple_stmt_loc): Move implementation to...
	(dump_context::dump_gimple_stmt_loc): ...this new member function.
	Start a new optinfo and add the stmt to it.
	(dump_gimple_expr): Move implementation to...
	(dump_context::dump_gimple_expr): ...this new member function.
	Add the stmt to any pending optinfo, creating one if need be.
	(dump_gimple_expr_loc): Move implementation to...
	(dump_context::dump_gimple_expr_loc): ...this new member function.
	Start a new optinfo and add the stmt to it.
	(dump_generic_expr): Move implementation to...
	(dump_context::dump_generic_expr): ...this new member function.
	Add the tree to any pending optinfo, creating one if need be.
	(dump_generic_expr_loc): Move implementation to...
	(dump_context::dump_generic_expr_loc): ...this new member
	function.  Add the tree to any pending optinfo, creating one if
	need be.
	(dump_printf): Move implementation to...
	(dump_context::dump_printf_va): ...this new member function.  Add
	the text to any pending optinfo, creating one if need be.
	(dump_printf_loc): Move implementation to...
	(dump_context::dump_printf_loc_va): ...this new member function.
	Start a new optinfo and add the stmt to it.
	(dump_dec): Move implementation to...
	(dump_context::dump_dec): ...this new member function.  Add the
	value to any pending optinfo, creating one if need be.
	(dump_context::dump_symtab_node): New member function.
	(dump_context::get_scope_depth): New member function.
	(dump_context::begin_scope): New member function.
	(dump_context::end_scope): New member function.
	(dump_context::ensure_pending_optinfo): New member function.
	(dump_context::begin_next_optinfo): New member function.
	(dump_context::end_any_optinfo): New member function.
	(dump_context::s_current): New global.
	(dump_context::s_default): New global.
	(dump_scope_depth): Delete global.
	(dumpfile_ensure_any_optinfo_are_flushed): New function.
	(dump_symtab_node): New function.
	(get_dump_scope_depth): Reimplement in terms of dump_context.
	(dump_begin_scope): Likewise.
	(dump_end_scope): Likewise.
	(selftest::temp_dump_context::temp_dump_context): New ctor.
	(selftest::temp_dump_context::~temp_dump_context): New dtor.
	(selftest::verify_item): New function.
	(ASSERT_IS_TEXT): New macro.
	(ASSERT_IS_TREE): New macro.
	(ASSERT_IS_GIMPLE): New macro.
	(selftest::test_capture_of_dump_calls): New test.
	(selftest::dumpfile_c_tests): Call it.
	* dumpfile.h (dump_printf, dump_printf_loc, dump_basic_block)
	(dump_generic_expr_loc, dump_generic_expr, dump_gimple_stmt_loc)
	(dump_gimple_stmt, dump_dec): Gather these related decls and add a
	descriptive comment.
	(dump_function, print_combine_total_stats, enable_rtl_dump_file)
	(dump_node, dump_bb): Move these unrelated decls.
	(class dump_manager): Add leading comment.
	* optinfo.cc: New file.
	* optinfo.h: New file.

From-SVN: r262891
2018-07-19 20:49:25 +00:00
Michael Collison
30c4605355 aarch64.md (subv<GPI>4, [...]): New patterns.
2018-07-19  Michael Collison  <michael.collison@arm.com>
	    Richard Henderson <rth@redhat.com>

	* config/aarch64/aarch64.md (subv<GPI>4, usubv<GPI>4): New patterns.
	(subti): Handle op1 zero.
	(subvti4, usub4ti4): New.
	(*sub<GPI>3_compare1_imm): New.
	(sub<GPI>3_carryinCV): New.
	(*sub<GPI>3_carryinCV_z1_z2, *sub<GPI>3_carryinCV_z1): New.
	(*sub<GPI>3_carryinCV_z2, *sub<GPI>3_carryinCV): New.

2018-07-19  Michael Collison  <michael.collison@arm.com>
	    Richard Henderson <rth@redhat.com>

	* config/aarch64/aarch64.md: (addv<GPI>4, uaddv<GPI>4): New.
	(addti3): Create simpler code if low part is already known to be 0.
	(addvti4, uaddvti4): New.
	(*add<GPI>3_compareC_cconly_imm): New.
	(*add<GPI>3_compareC_cconly): New.
	(*add<GPI>3_compareC_imm): New.
	(*add<GPI>3_compareC): Rename from add<GPI>3_compare1; do not
	handle constants within this pattern..
	(*add<GPI>3_compareV_cconly_imm): New.
	(*add<GPI>3_compareV_cconly): New.
	(*add<GPI>3_compareV_imm): New.
	(add<GPI>3_compareV): New.
	(add<GPI>3_carryinC, add<GPI>3_carryinV): New.
	(*add<GPI>3_carryinC_zero, *add<GPI>3_carryinV_zero): New.
	(*add<GPI>3_carryinC, *add<GPI>3_carryinV): New.
	((*add<GPI>3_compareC_cconly_imm): Replace 'ne' operator
	with 'comparison' operator.
	(*add<GPI>3_compareV_cconly_imm): Ditto.
	(*add<GPI>3_compareV_cconly): Ditto.
	(*add<GPI>3_compareV_imm): Ditto.
	(add<GPI>3_compareV): Ditto.
	(add<mode>3_carryinC): Ditto.
	(*add<mode>3_carryinC_zero): Ditto.
	(*add<mode>3_carryinC): Ditto.
	(add<mode>3_carryinV): Ditto.
	(*add<mode>3_carryinV_zero): Ditto.
	(*add<mode>3_carryinV): Ditto.

2018-07-19  Michael Collison  <michael.collison@arm.com>
	    Richard Henderson <rth@redhat.com>

	* config/aarch64/aarch64-modes.def (CC_V): New.
	* config/aarch64/aarch64-protos.h
	(aarch64_addti_scratch_regs): Declare
	(aarch64_subvti_scratch_regs): Declare.
	(aarch64_expand_subvti): Declare.
	(aarch64_gen_unlikely_cbranch): Declare
	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Test
	for signed overflow using CC_Vmode.
	(aarch64_get_condition_code_1): Handle CC_Vmode.
	(aarch64_gen_unlikely_cbranch): New function.
	(aarch64_addti_scratch_regs): New function.
	(aarch64_subvti_scratch_regs): New function.
	(aarch64_expand_subvti): New function.

2018-07-19  Michael Collison  <michael.collison@arm.com>
	    Richard Henderson <rth@redhat.com>

	* gcc.target/aarch64/builtin_sadd_128.c: New testcase.
	* gcc.target/aarch64/builtin_saddl.c: New testcase.
	* gcc.target/aarch64/builtin_saddll.c: New testcase.
	* gcc.target/aarch64/builtin_uadd_128.c: New testcase.
	* gcc.target/aarch64/builtin_uaddl.c: New testcase.
	* gcc.target/aarch64/builtin_uaddll.c: New testcase.
	* gcc.target/aarch64/builtin_ssub_128.c: New testcase.
	* gcc.target/aarch64/builtin_ssubl.c: New testcase.
	* gcc.target/aarch64/builtin_ssubll.c: New testcase.
	* gcc.target/aarch64/builtin_usub_128.c: New testcase.
	* gcc.target/aarch64/builtin_usubl.c: New testcase.
	* gcc.target/aarch64/builtin_usubll.c: New testcase.


Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r262890
2018-07-19 20:24:47 +00:00
Jonathan Wakely
c01f9216b7 Simplify the base characteristics for some type traits
* include/std/type_traits (__is_member_object_pointer_helper): Use
	__not_<is_function<_Tp>>::type instead of integral_constant.
	(__is_member_function_pointer_helper): Likewise for
	is_function<_Tp>::type.
	(is_compund): Likewise for __not_<is_fundamental<_Tp>>::type.
	(__do_is_nt_destructible_impl): Use __bool_constant and reindent.
	(is_trivially_constructible): Remove redundant use of
	is_constructible.
	(__is_trivially_copy_assignable_impl): Remove redundant use of
	is_copy_assignable.
	(__is_trivially_move_assignable_impl): Remove redundant use of
	is_move_assignable.
	(is_trivially_destructible): Use __bool_constant.
	* testsuite/20_util/is_trivially_assignable/value.cc: Add some more
	tests for scalar types.

From-SVN: r262889
2018-07-19 20:12:37 +01:00
Glen Joseph Fernandes
20a0c4e3dc Use __builtin_memmove for trivially copyable types
2018-07-19  Glen Joseph Fernandes  <glenjofe@gmail.com>

	* include/bits/stl_algobase.h (__copy_move_a): Used
	__is_trivially_copyable.
	(__copy_move_backward_a): Likewise.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/1.cc:
	New test.

From-SVN: r262884
2018-07-19 19:58:09 +01:00
Paolo Carlini
0d21482100 revert: [multiple changes]
2018-07-19  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert fix for c++/59480 (and testsuite followup)

	/testsuite
	2018-07-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.old-deja/g++.mike/p784.C: Add -fpermissive.

	/cp
	2019-07-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59480, DR 136
	* decl.c (check_no_redeclaration_friend_default_args): New.
	(duplicate_decls): Use the latter; also check that a friend
	declaration specifying default arguments is a definition.

	/testsuite
	2019-07-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59480, DR 136
	* g++.dg/other/friend8.C: New.
	* g++.dg/other/friend9.C: Likewise.
	* g++.dg/other/friend10.C: Likewise.
	* g++.dg/other/friend11.C: Likewise.
	* g++.dg/other/friend12.C: Likewise.
	* g++.dg/parse/defarg4.C: Compile with -fpermissive -w.
	* g++.dg/parse/defarg8.C: Likewise.

From-SVN: r262883
2018-07-19 16:58:06 +00:00
Andre Vieira
5170e47ebd [PATCH, GCC, AARCH64] Add support for +profile extension
This patch adds support for the Statistical Profiling Extension (SPE) on
AArch64. Even though the compiler will not generate code any differently
given this extension, it will need to pass it on to the assembler in
order to let it correctly assemble inline asm containing accesses to the
extension's system registers.  The same applies when using the
preprocessor on an assembly file as this first must pass through cc1.

I left the hwcaps string for SPE empty as the kernel does not define a
feature string for this extension.  The current effect of this is that
driver will disable profile feature bit in GCC.  This is OK though
because we don't, nor do we ever, enable this feature bit, as codegen is
not affect by the SPE support and more importantly the driver will still
pass the extension down to the assembler regardless.

gcc/ChangeLog
2018-07-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/aarch64/aarch64-option-extensions.def: New entry for profile
	extension.
	* config/aarch64/aarch64.h (AARCH64_FL_PROFILE): New.
	* doc/invoke.texi (aarch64-feature-modifiers): New entry for profile
	extension.

gcc/testsuite/ChangeLog
2018-07-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* gcc.target/aarch64/profile.c: New test.

From-SVN: r262882
2018-07-19 15:47:15 +00:00
Andre Vieira
bedc2d2c79 [AArch64][PATCH 2/2] PR target/83009: Relax strict address checking for store
pair lanes

gcc/ChangeLog
2018-07-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR target/83009
	* config/aarch64/predicates.md (aarch64_mem_pair_lanes_operand): Make
	address check not strict.

gcc/testsuite/ChangeLog
2018-07-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR target/83009
	* gcc/target/aarch64/store_v2vec_lanes.c: Add extra tests.

From-SVN: r262881
2018-07-19 14:03:21 +00:00
Andre Vieira
a25831acf4 [AArch64][PATCH 1/2] Fix addressing printing of LDP/STP
gcc/ChangeLog
2018-07-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/aarch64/aarch64-simd.md (aarch64_simd_mov<VQ:mode>): Replace
	Umq with Umn.
	(store_pair_lanes<mode>): Likewise.
	* config/aarch64/aarch64-protos.h (aarch64_addr_query_type): Add new
	enum value 'ADDR_QUERY_LDP_STP_N'.
	* config/aarch64/aarch64.c (aarch64_addr_query_type): Likewise.
	(aarch64_print_address_internal): Add declaration.
	(aarch64_print_ldpstp_address): Remove.
	(aarch64_classify_address): Adapt mode for 'ADDR_QUERY_LDP_STP_N'.
	(aarch64_print_operand): Change printing of 'y'.
	* config/aarch64/predicates.md (aarch64_mem_pair_lanes_operand): Use
	new enum value 'ADDR_QUERY_LDP_STP_N', don't hardcode mode and use
	'true' rather than '1'.
	* gcc/config/aarch64/constraints.md (Uml): Likewise.
	(Uml): Rename to Umn.
	(Umq): Remove.

From-SVN: r262880
2018-07-19 13:59:17 +00:00
Richard Biener
851fd36613 tree-ssa-sccvn.h (struct vn_phi_s): Make phiargs member a trailing array.
2018-07-19  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.h (struct vn_phi_s): Make phiargs member
	a trailing array.
	* tree-ssa-sccvn.c: Remove alloc-pool.h use.
	(vn_phi_hasher): Derive from nofree_ptr_hash and remove remove method.
	(vn_reference_hasher): Likewise.
	(struct vn_tables_s): Remove obstack and alloc-pool members.
	(vn_tables_obstack, vn_tables_insert_obstack): New global obstacks.
	(vn_nary_build_or_lookup_1): Manually build in vn_tables_insert_obstack.
	(vn_reference_insert): Allocate from obstack instead of from alloc-pool.
	(vn_reference_insert_pieces): Likewise.
	(alloc_vn_nary_op_noinit): Adjust.
	(vn_nary_op_insert_stmt): Allocate phiargs in-place.
	(vn_phi_eq): Adjust.
	(shared_lookup_phiargs): Remove.
	(vn_phi_lookup): Allocate temporary vn_phi_s on the stack.
	(vn_phi_insert): Allocate from obstack instead of from alloc-pool.
	(visit_reference_op_call): Likewise.
	(copy_nary, copy_phi, copy_reference): Remove.
	(process_scc): Rewind the obstack when iterating.  Do not
	copy the elements to valid_info but just move them from one
	hashtable to the other.
	(allocate_vn_table): Adjust.
	(free_vn_table): Likewise.
	(init_scc_vn): Likewise.
	(free_scc_vn): Likewise.

From-SVN: r262879
2018-07-19 12:19:07 +00:00
H.J. Lu
ea298fe5e6 i386: Test __has_attribute (__indirect_return__)
The new indirect_return attribute is intended to mark swapcontext in
<ucontext.h>.  Test __has_attribute (__indirect_return__) so that it
can be backported to GCC 8.

	PR target/86560
	* gcc.target/i386/pr86560-4.c: New test.
	* gcc.target/i386/pr86560-5.c: Likewise.
---
 gcc/testsuite/gcc.target/i386/pr86560-4.c | 21 +++++++++++++++++++++
 gcc/testsuite/gcc.target/i386/pr86560-5.c | 21 +++++++++++++++++++++
 2 files changed, 42 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/i386/pr86560-4.c
 create mode 100644 gcc/testsuite/gcc.target/i386/pr86560-5.c

diff --git a/gcc/testsuite/gcc.target/i386/pr86560-4.c b/gcc/testsuite/gcc.target/i386/pr86560-4.c
new file mode 100644
index 00000000000..a623e3dcbeb
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr86560-4.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fcf-protection" } */
+/* { dg-final { scan-assembler-times {\mendbr} 2 } } */
+
+struct ucontext;
+
+extern int (*bar) (struct ucontext *)
+#ifdef __has_attribute
+# if __has_attribute (indirect_return)
+  __attribute__((__indirect_return__))
+# endif
+#endif
+;
+
+extern int res;
+
+void
+foo (struct ucontext *oucp)
+{
+  res = bar (oucp);
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr86560-5.c b/gcc/testsuite/gcc.target/i386/pr86560-5.c
new file mode 100644
index 00000000000..33b0f6424c2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr86560-5.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fcf-protection" } */
+/* { dg-final { scan-assembler-times {\mendbr} 2 } } */
+
+struct ucontext;
+
+extern int (*bar) (struct ucontext *)
+#ifdef __has_attribute
+# if __has_attribute (__indirect_return__)
+  __attribute__((__indirect_return__))
+# endif
+#endif
+;
+
+extern int res;
+
+void
+foo (struct ucontext *oucp)
+{
+  res = bar (oucp);
+}
-- 
2.17.1

From-SVN: r262878
2018-07-19 05:00:59 -07:00
H.J. Lu
39a6a24334 i386: Change indirect_return to function type attribute
In

struct ucontext;
typedef struct ucontext ucontext_t;

extern int (*bar) (ucontext_t *__restrict __oucp,
                   const ucontext_t *__restrict __ucp)
  __attribute__((__indirect_return__));

extern int res;

void
foo (ucontext_t *oucp, ucontext_t *ucp)
{
  res = bar (oucp, ucp);
}

bar() may return via indirect branch.  This patch changes indirect_return
to type attribute to allow indirect_return attribute on variable or type
of function pointer so that ENDBR can be inserted after call to bar().

gcc/

	PR target/86560
	* config/i386/i386.c (rest_of_insert_endbranch): Lookup
	indirect_return as function type attribute.
	(ix86_attribute_table): Change indirect_return to function
	type attribute.
	* doc/extend.texi: Update indirect_return attribute.

gcc/testsuite/

	PR target/86560
	* gcc.target/i386/pr86560-1.c: New test.
	* gcc.target/i386/pr86560-2.c: Likewise.
	* gcc.target/i386/pr86560-3.c: Likewise.

From-SVN: r262877
2018-07-19 03:47:23 -07:00
Kyrylo Tkachov
e0c27d52dd [Fortran] Use MIN/MAX_EXPR or IFN_FMIN/MAX for min/max intrinsics when possible
* trans-intrinsic.c: (gfc_conv_intrinsic_minmax): Emit MIN_MAX_EXPR
	or IFN_FMIN/FMAX sequence to calculate the min/max when possible.

	* gfortran.dg/max_fmax_aarch64.f90: New test.
	* gfortran.dg/min_fmin_aarch64.f90: Likewise.
	* gfortran.dg/minmax_integer.f90: Likewise.

From-SVN: r262876
2018-07-19 09:49:36 +00:00
Paolo Carlini
b4a3f1e98a p784.C: Add -fpermissive.
2018-07-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.old-deja/g++.mike/p784.C: Add -fpermissive.

From-SVN: r262875
2018-07-19 09:44:11 +00:00
Aldy Hernandez
3bb1161faf wide-int.h (widest2_int): New.
* wide-int.h (widest2_int): New.
	* gimple-fold.c (arith_overflowed_p): Use it.
	* tree.h (widest2_int_cst): New.
	* tree-vrp.c (wide_int_binop_overflow): Rename from
	vrp_int_const_binop.
	Rewrite to work on trees.
	(extract_range_from_multiplicative_op_1): Abstract code to...
	(wide_int_range_min_max): ...here.
	(wide_int_range_cross_product): ...and here.
	(extract_range_from_binary_expr_1): Abstract overflow code to...
	(wide_int_range_cross_product_wrapping): ...here.
	* tree-vrp.h (wide_int_range_cross_product): New.
	(wide_int_range_cross_product_wrapping): New.

From-SVN: r262874
2018-07-19 09:12:32 +00:00
Eli Zaretskii
30ae666240 simple-object-elf.c (ENOTSUP): If not defined by errno.h, redirect to ENOSYS.
2018-07-19  Eli Zaretskii  <eliz@gnu.org>

	* simple-object-elf.c (ENOTSUP): If not defined by errno.h, redirect
	to ENOSYS.

From-SVN: r262872
2018-07-19 08:47:34 +00:00
Andrew Senkevich
6e559c70b7 x86-tune-costs.h (skylake_memcpy, [...]): Replace rep_prefix with unrolling for size 512.
* config/i386/x86-tune-costs.h (skylake_memcpy,
	skylake_memset): Replace rep_prefix with unrolling for size 512.

Co-Authored-By: Julia Koval <julia.koval@intel.com>

From-SVN: r262871
2018-07-19 08:49:10 +02:00
GCC Administrator
4a4dab51a3 Daily bump.
From-SVN: r262870
2018-07-19 00:16:18 +00:00
Kugan Vivekanandarajah
7f15cc4dd9 re PR tree-optimization/86544 (Popcount detection generates different code on C and C++)
gcc/ChangeLog:

2018-07-18  Kugan Vivekanandarajah  <kuganv@linaro.org>

	PR middle-end/86544
	* tree-ssa-phiopt.c (cond_removal_in_popcount_pattern): Handle comparision with EQ_EXPR
	in last stmt.

gcc/testsuite/ChangeLog:

2018-07-18  Kugan Vivekanandarajah  <kuganv@linaro.org>

	PR middle-end/86544
	* g++.dg/tree-ssa/pr86544.C: New test.

From-SVN: r262864
2018-07-18 22:11:24 +00:00
Kelvin Nilsen
d46d010b77 extend.texi (PowerPC AltiVec Built-in Functions): Rename this subsection to "PowerPC AltiVec/VSX Built-in Functions".
gcc/ChangeLog:

2018-07-18  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Rename
	this subsection to "PowerPC AltiVec/VSX Built-in Functions".
	(PowerPC AltiVec/VSX Built-in Functions): New name for subsection
	previously known as "PowerPC AltiVec Built-in Functions".  Move
	some material to new subsubsections "PowerPC AltiVec Built-in
	Functions on ISA 2.06" and "PowerPC AltiVec Built-in Functions on
	ISA 2.07".
	(PowerPC Altivec Built-in Functions on ISA 2.05): New subsubsection.
	(PowerPC Altivec Built-in Functions on ISA 2.06): Likewise.
	(PowerPC Altivec Built-in Functions on ISA 2.07): Likewise.
	(PowerPC Altivec Built-in Functions on ISA 3.0): Likewise.

From-SVN: r262863
2018-07-18 21:31:04 +00:00
Jakub Jelinek
a171a8bb39 re PR c++/86550 (Lambda parsing allows arbitrary types in decl-specifier-seq)
PR c++/86550
	* parser.c (cp_parser_decl_specifier_seq): Diagnose invalid type
	specifier if CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR.

	* g++.dg/cpp0x/lambda/lambda-86550.C: New test.

From-SVN: r262862
2018-07-18 23:01:54 +02:00
Bernd Edlinger
6f41f92beb re PR c/69558 (glib2 warning pragmas stopped working)
libcpp:
2018-07-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR 69558
        * macro.c (enter_macro_context): Change the location info for builtin
        macros and _Pragma from location of the closing parenthesis to location
        of the macro expansion point.

testsuite:
2018-07-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR 69558
        * c-c++-common/cpp/diagnostic-pragma-2.c: New test.
        * c-c++-common/pr69558.c: Remove xfail.
        * gcc.dg/cpp/builtin-macro-1.c: Adjust test expectations.
        * gcc.dg/pr61817-1.c: Likewise.
        * gcc.dg/pr61817-2.c: Likewise.
        * g++.dg/plugin/pragma_plugin.c: Warn at expansion_point_location.

From-SVN: r262861
2018-07-18 19:36:01 +00:00
Janus Weil
6457b1f096 re PR fortran/85599 (warn about short-circuiting of logical expressions for non-pure functions)
2018-07-18  Janus Weil  <janus@gcc.gnu.org>
	    Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/85599
	* dump-parse-tree.c (show_attr): Add handling of implicit_pure.
	* frontend-passes.c (do_warn_function_elimination): Do not warn for
	pure functions.
	* gfortran.h: Add prototypes for gfc_pure_function and
	gfc_implicit_pure_function.
	* gfortran.texi: Add chapter on evaluation of logical expressions.
	* invoke.texi: Mention that -Wfunction-elimination is implied
	by -Wextra.
	* lang.opt: Make -Wextra imply -Wfunction-elimination.
	* resolve.c (pure_function): Rename to gfc_pure_function.
	(gfc_implicit_pure_function): New function.
	(check_pure_function): Use it here.
	(impure_function_callback): New function.
	(resolve_operator): Call it via gfc_expr_walker.


2018-07-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/85599
	* gfortran.dg/function_optimize_5.f90: Add option
	'-faggressive-function-elimination' and update dg-warning clauses.
	* gfortran.dg/short_circuiting.f90: New test.

Co-Authored-By: Thomas Koenig <tkoenig@gcc.gnu.org>

From-SVN: r262860
2018-07-18 20:31:59 +02:00
Marek Polacek
c56e97274f PR c++/86190 - bogus -Wsign-conversion warning
PR c++/86190 - bogus -Wsign-conversion warning
	* typeck.c (cp_build_binary_op): Fix formatting.  Add a warning
	sentinel.

	* g++.dg/warn/Wsign-conversion-3.C: New test.
	* g++.dg/warn/Wsign-conversion-4.C: New test.

From-SVN: r262855
2018-07-18 13:13:11 +00:00
Richard Biener
eb5926451a re PR target/86557 (missed vectorization with std::vector compared to icc 18)
2018-07-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/86557
	* tree-vect-patterns.c (vect_recog_divmod_pattern): Also handle
	EXACT_DIV_EXPR.

From-SVN: r262854
2018-07-18 12:57:15 +00:00
Paolo Carlini
0292076596 2018-07-18 Paolo Carlini <paolo.carlini@oracle.com>
* Fix typos in ChangeLog entries.

From-SVN: r262852
2018-07-18 10:30:42 +00:00
Paolo Carlini
6498dea6b2 re PR c++/59480 (Missing error diagnostic: friend declaration specifying a default argument must be a definition)
/cp
2018-07-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* class.c (note_name_declared_in_class): Prefer permerror + inform
	to a pair of permerrors; use DECL_SOURCE_LOCATION.

/testsuite
2018-07-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/ext/uow-3.C: Adjust.
	* g++.dg/ext/uow-4.C: Likewise.
	* g++.dg/lookup/name-clash11.C: Likewise.
	* g++.dg/lookup/name-clash7.C: Likewise.
	* g++.dg/lookup/redecl1.C: Likewise.
	* g++.dg/warn/changes-meaning.C: Likewise.
	* g++.old-deja/g++.jason/scoping8.C: Likewise.
	* g++.old-deja/g++.law/nest1.C: Likewise.

/cp
2019-07-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59480, DR 136
	* decl.c (check_no_redeclaration_friend_default_args): New.
	(duplicate_decls): Use the latter; also check that a friend
	declaration specifying default arguments is a definition.

/testsuite
2019-07-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59480, DR 136
	* g++.dg/other/friend8.C: New.
	* g++.dg/other/friend9.C: Likewise.
	* g++.dg/other/friend10.C: Likewise.
	* g++.dg/other/friend11.C: Likewise.
	* g++.dg/other/friend12.C: Likewise.
	* g++.dg/parse/defarg4.C: Compile with -fpermissive -w.
	* g++.dg/parse/defarg8.C: Likewise.

From-SVN: r262851
2018-07-18 10:27:12 +00:00
Ilya Leoshkevich
0559979c64 S/390: Add CFI for mcount call sequences
2018-07-18  Ilya Leoshkevich  <iii@linux.ibm.com>

	* config/s390/s390.c (s390_function_profiler): Generate CFI.

From-SVN: r262850
2018-07-18 06:58:39 +00:00
Richard Biener
97f1323504 re PR debug/86523 (ICE in gen_member_die, at dwarf2out.c:24933 starting from r262560)
2018-07-18  Richard Biener  <rguenther@suse.de>

	PR debug/86523
	cp/
	* decl2.c (c_parse_final_cleanups): Call write_out_vars before
	start_static_storage_duration_function sets current_function_decl.

	* g++.dg/lto/pr86523-3_0.C: New testcase.

From-SVN: r262849
2018-07-18 06:54:23 +00:00
Jeff Law
df6a7b9d37 arm.c (get_label_padding): Update for recent changes to label_to_alignment.
* config/arm/arm.c (get_label_padding): Update for recent
	changes to label_to_alignment.

From-SVN: r262848
2018-07-17 22:55:03 -06:00
GCC Administrator
9b12ae805d Daily bump.
From-SVN: r262846
2018-07-18 00:16:31 +00:00
Jeff Law
efae2f507e re PR tree-optimization/86010 (redundant memset with smaller size not eliminated)
PR tree-optimization/86010
	* tree-ssa-dse.c (compute_trims): Fix typo/thinko.

From-SVN: r262841
2018-07-17 17:54:10 -06:00
Jeff Law
9c179c2dd0 mips.c (vr4130_align_insns): Update for recent changes to label_to_alignment.
* config/mips/mips.c (vr4130_align_insns): Update for recent
	changes to label_to_alignment.

From-SVN: r262838
2018-07-17 14:52:20 -06:00