Commit Graph

161023 Commits

Author SHA1 Message Date
Richard Sandiford
9e4da9b5d5 Tighten early exit in vect_analyze_data_ref_dependence (PR85586)
The problem in this PR was that we didn't consider aliases between
writes in the same strided group.  After tightening the early exit
we get the expected abs(step) >= 2 versioning check.

2018-05-02  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	PR tree-optimization/85586
	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Only
	exit early for statements in the same group if the accesses are
	not strided.

gcc/testsuite/
	PR tree-optimization/85586
	* gcc.dg/vect/pr85586.c: New test.

From-SVN: r259822
2018-05-02 07:40:22 +00:00
Tom de Vries
c2e1580cbe [lto] Add "could not find mkoffload" error message to lto-wrapper
2018-05-02  Tom de Vries  <tom@codesourcery.com>

	PR lto/85451
	* lto-wrapper.c (compile_offload_image): Add "could not find mkoffload"
	error message.

From-SVN: r259821
2018-05-02 07:12:15 +00:00
Sriraman Tallam
01f30ce6ea Plugin API to get the list of wrap symbols.
This was approved for the binutils gold linker.
2018-05-01  Sriraman Tallam  <tmsriram@google.com>

	* plugin-api.h: Add plugin API to get the list of wrap
	symbols.

From-SVN: r259820
2018-05-02 00:53:48 +00:00
Jim Wilson
254f79336f Add support for gcc as git submodule of another repository.
contrib/
	* gcc_update: Check for .git as a file.

From-SVN: r259819
2018-05-01 17:24:45 -07:00
GCC Administrator
77972c795d Daily bump.
From-SVN: r259818
2018-05-02 00:16:32 +00:00
Tulio Magno Quites Machado Filho
f421e442c6 PR libstdc++/84654 Disable __float128 specializations for -mno-float128
2018-05-01  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>

	PR libstdc++/84654
	* acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
	* config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
	* configure: Regenerate.
	* include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
	based on ENABLE_FLOAT128.
	* include/Makefile.in: Regenerate.
	* include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
	[!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
	_GLIBCXX_USE_FLOAT128.

From-SVN: r259813
2018-05-01 23:47:33 +01:00
Marc Glisse
dac920e8c8 Generalize a<b&a<c -> a<min(b,c)
2018-05-01  Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/85143
gcc/
	* match.pd (A<B&A<C): Extend to BIT_IOR_EXPR.

gcc/testsuite/
	* gcc.dg/tree-ssa/minmax-loopend.c: Extend and split...
	* gcc.dg/tree-ssa/minmax-loopend-2.c: ... here.

From-SVN: r259812
2018-05-01 21:41:05 +00:00
Joseph Myers
5052a74c45 * gcc.pot: Regenerate.
From-SVN: r259810
2018-05-01 21:33:44 +01:00
Tom de Vries
8ec60bacf0 [nvptx] Improve "offload compiler not found" message in mkoffload
2018-05-01  Tom de Vries  <tom@codesourcery.com>

	PR lto/85451
	* config/nvptx/mkoffload.c (main): Suggest using -B in "offload compiler
	not found" error message.

From-SVN: r259809
2018-05-01 19:52:57 +00:00
Tom de Vries
b94c2dc138 Add VEC_ORDERED_REMOVE_IF
2018-05-01  Tom de Vries  <tom@codesourcery.com>

	PR other/83786
	* vec.h	(VEC_ORDERED_REMOVE_IF, VEC_ORDERED_REMOVE_IF_FROM_TO): Define.
	* vec.c (test_ordered_remove_if): New function.
	(vec_c_tests): Call test_ordered_remove_if.
	* dwarf2cfi.c (connect_traces): Use VEC_ORDERED_REMOVE_IF_FROM_TO.
	* lto-streamer-out.c (prune_offload_funcs): Use VEC_ORDERED_REMOVE_IF.
	* tree-vect-patterns.c (vect_pattern_recog_1): Use
	VEC_ORDERED_REMOVE_IF.

From-SVN: r259808
2018-05-01 19:16:43 +00:00
David Malcolm
2cc7d3a7da -Wformat: fix nonsensical "wide character" message (PR c/84258)
gcc/c-family/ChangeLog:
	PR c/84258
	* c-format.c (struct format_check_results): Add field
	"number_non_char".
	(check_format_info): Initialize it, and warn if encountered.
	(check_format_arg): Distinguish between wide char and
	everything else when detecting arrays of non-char.

gcc/testsuite/ChangeLog:
	PR c/84258
	* c-c++-common/Wformat-pr84258.c: New test.

From-SVN: r259807
2018-05-01 18:51:15 +00:00
Prathamesh Kulkarni
41e2c1b0b4 re PR tree-optimization/82665 (missing value range optimization for memchr)
PR tree-optimization/82665
	* vr-values.c (vr_values::extract_range_from_binary_expr): Handle
	pointer subtraction where arguments come from a memchr call.

        PR tree-optimization/82665
	* gcc.dg/tree-ssa/pr82665.c: New test.

From-SVN: r259806
2018-05-01 12:20:39 -06:00
Jason Merrill
1a142d6e68 PR c++/85587 - error with scoped enum in template.
* semantics.c (finish_qualified_id_expr): Don't return an
	unqualified IDENTIFIER_NODE.

From-SVN: r259805
2018-05-01 14:11:53 -04:00
Jakub Jelinek
fefedb945e configure.ac (LD_AS_NEEDED_OPTION, [...]): Use --push-state --as-needed and --pop-state instead of --as-needed and...
* configure.ac (LD_AS_NEEDED_OPTION, LD_NO_AS_NEEDED_OPTION): Use
	--push-state --as-needed and --pop-state instead of --as-needed and
	--no-as-needed if ld supports it.
	* configure: Regenerated.

From-SVN: r259803
2018-05-01 19:04:52 +02:00
Francois H. Theron
58b40a6702 Add the Netronome Flow Processor (nfp) as a build target to the top-level configure.ac file.
* configure.ac: Added "nfp" target.
	* configure: Regenerate.

From-SVN: r259800
2018-05-01 15:26:51 +00:00
Jakub Jelinek
00ef0d038d re PR web/85578 (broken links in gcc-8.0.1-RC-20180427/INSTALL/specific.html, and out of date prerequisites.html)
PR web/85578
	* doc/install.texi2html: Replace _002d with - and _002a with * in
	generated html files using sed.

From-SVN: r259799
2018-05-01 17:26:36 +02:00
Ian Lance Taylor
8c2e1d6ca5 re PR go/85429 (Several gotools tests FAIL with Solaris as)
PR go/85429
    cmd/go: support more Solaris assembler syntaxes
    
    Patch by Rainer Orth.
    
    Reviewed-on: https://go-review.googlesource.com/110563

From-SVN: r259797
2018-05-01 14:08:44 +00:00
Jason Merrill
38dff92114 PR c++/85580 - extern "C" and local variables
* name-lookup.c (check_extern_c_conflict): Ignore local decls.

From-SVN: r259793
2018-05-01 08:45:49 -04:00
GCC Administrator
879bdafad2 Daily bump.
From-SVN: r259787
2018-05-01 00:16:20 +00:00
David Malcolm
1a3a7b4eeb Add gcc_rich_location::add_fixit_insert_formatted
This patch adds a support function to class gcc_rich_location
to make it easier for fix-it hints to use idiomatic C/C++
indentation, for use by the patch for PR c++/85523.

gcc/ChangeLog:
	PR c++/85523
	* gcc-rich-location.c (blank_line_before_p): New function.
	(use_new_line): New function.
	(gcc_rich_location::add_fixit_insert_formatted): New function.
	* gcc-rich-location.h
	(gcc_rich_location::add_fixit_insert_formatted): New function.

gcc/testsuite/ChangeLog:
	PR c++/85523
	* gcc.dg/plugin/diagnostic-test-show-locus-generate-patch.c
	(test_add_fixit_insert_formatted_single_line): New function.
	(test_add_fixit_insert_formatted_multiline): New function.
	Extend expected output of generated patch to include fix-it hints
	for these.
	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: Include
	"gcc-rich-location.h".  Add test coverage for
	gcc_rich_location::add_fixit_insert_formatted.

From-SVN: r259783
2018-05-01 00:10:10 +00:00
David Malcolm
47ae164c05 selftest: remove "Yoda ordering" in assertions
gcc/ChangeLog:
	* selftest.c (assert_streq): Rename "expected" and "actual" to
	"val1" and "val2".  Extend NULL-handling to cover both inputs
	symmetrically, while still requiring both to be non-NULL for a pass.
	* selftest.h (assert_streq): Rename "expected" and "actual" to
	"val1" and "val2".
	(ASSERT_EQ): Likewise.
	(ASSERT_EQ_AT): Likewise.
	(ASSERT_KNOWN_EQ): Likewise.
	(ASSERT_KNOWN_EQ_AT): Likewise.
	(ASSERT_NE): Likewise.
	(ASSERT_MAYBE_NE): Likewise.
	(ASSERT_MAYBE_NE_AT): Likewise.
	(ASSERT_STREQ): Likewise.  Clarify that both must be non-NULL for
	the assertion to pass.
	(ASSERT_STREQ_AT): Likewise.

From-SVN: r259782
2018-05-01 00:02:49 +00:00
Jason Merrill
fe43c63503 PR c++/84701 - unsigned typeof.
* decl.c (grokdeclarator): Overhaul diagnostics for invalid use
	of long/short/signed/unsigned.

From-SVN: r259780
2018-04-30 17:21:32 -04:00
Jason Merrill
f026530a85 PR c++/85305 - pack in lambda init-capture.
* parser.c (cp_parser_initializer): Add subexpression_p parm; don't
	check_for_bare_parameter_packs in a subexpression.
	(cp_parser_lambda_introducer): Use it.

From-SVN: r259779
2018-04-30 17:21:25 -04:00
Daniel van Gerpen
d6df811e5d argv.c (expandargv): Fix memory leak for expanded arguments.
* argv.c (expandargv): Fix memory leak for expanded
        arguments.

From-SVN: r259775
2018-04-30 12:00:49 -06:00
Jonathan Wakely
98c2d5ae46 Clarify documentation for -fpie and -fPIE
* doc/invoke.texi (-fpie, -fPIE): Fix grammar and clarify
	interaction with -pie.

From-SVN: r259774
2018-04-30 17:55:12 +01:00
David Malcolm
2099cb2d27 selftest.h: fix alphabetization of per-source-file selftest declarations
gcc/ChangeLog:
	* selftest.h: Fix alphabetization of per-source-file selftest
	declarations.

From-SVN: r259773
2018-04-30 15:32:32 +00:00
Jason Merrill
cdc184174c PR c++/61982 - dead stores to destroyed objects.
gcc/cp/
	* call.c (build_trivial_dtor_call): New, assigns a clobber.
	(build_over_call, build_special_member_call): Use it.
	* cp-tree.h: Declare it.
	* init.c (build_delete): Remove trivial path.
gcc/
	* gimplify.c (gimplify_modify_expr): Simplify complex lvalue on LHS
	of clobber.

From-SVN: r259772
2018-04-30 11:21:01 -04:00
Jason Merrill
4d20f49036 init.c (build_dtor_call): Use build_special_member_call.
* init.c (build_dtor_call): Use build_special_member_call.

	(build_delete): Remove redundant uses of save_addr.

From-SVN: r259771
2018-04-30 11:20:56 -04:00
Jason Merrill
94b2a1e543 tree.c (build_clobber): New.
* tree.c (build_clobber): New.

	* tree.h: Declare it.
	* gimplify.c (gimplify_bind_expr, gimplify_target_expr): Use it.

From-SVN: r259770
2018-04-30 11:20:46 -04:00
David Malcolm
7761dfbee1 Use char_span for return type of location_get_source_line
location_get_source_line returns a const char * that isn't 0-terminated,
writing back a length through an int * param.

This is error-prone, as all call-sites have to take into account the
lack of 0-termination, and respect the length of the buffer.

It's cleaner to bundle together this pointer+length state into a class,
so this patch does so, reusing the "char_span" class that I introduced
in r250187 (as part of the fix for PR c/81405).

The patch also adds assertions to all access to the char_span.

gcc/c-family/ChangeLog:
	* c-format.c (get_corrected_substring): Update for
	location_get_source_line returning a char_span.  Use a char_span
	when handling the prefix of the correction.
	* c-indentation.c (get_visual_column): Update for
	location_get_source_line returning a char_span.
	(get_first_nws_vis_column): Likewise.

gcc/ChangeLog:
	* diagnostic-show-locus.c (layout::layout): Update for
	location_get_source_line returning a char_span.
	(struct char_span): Move to input.h.
	(struct correction): Update for fields in char_span becoming
	private.
	(struct source_line): Update for location_get_source_line
	returning a char_span.
	(layout::print_line): Likewise.
	* edit-context.c (edited_file::print_content): Likewise.
	(edited_file::print_diff_hunk): Likewise.
	(edited_file::print_run_of_changed_lines): Likewise.
	(edited_file::get_num_lines): Likewise.
	(edited_line::edited_line): Likewise.
	* final.c (asm_show_source): Likewise.
	* input.c (location_get_source_line): Convert return type
	from const char * to char_span, losing the final "line_len"
	param.
	(dump_location_info): Update for the above.
	(get_substring_ranges_for_loc): Likewise.  Use a char_span
	when handling the literal within the line.
	(test_reading_source_line): Update for location_get_source_line
	returning a char_span.
	* input.h (class char_span): Move here from
	diagnostic-show-locus.c, converting from a struct to a class.
	Make data members private.
	(char_span::operator bool): New.
	(char_span::length): New.
	(char_span::get_buffer): New.
	(char_span::operator[]): New.
	(char_span::subspan): Make const.
	(char_span::xstrdup): New.
	(location_get_source_line): Convert return type from const char *
	to char_span, losing the final "line_size" param.

gcc/testsuite/ChangeLog:
	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
	(test_show_locus): Update for location_get_source_line returning a
	char_span.  Use char_span for handling words in the
	"test_many_nested_locations" fix-it example.

From-SVN: r259768
2018-04-30 15:01:56 +00:00
Jan Hubicka
b6e33d73d8 lto-wrapper.c (ltrans_priorities): New static var.
* lto-wrapper.c (ltrans_priorities): New static var.
	(cmp_priority): New.
	(run_gcc): Read priorities and if doing parallel build order
	the Makefile by them.

	* lto.c (cmp_partitions_size): Remove.
	(lto_wpa_write_files): Also output priorities; do not sort partitions.
	(cmp_partition_order): Move to ...
	* lto-partition.c (cmp_partition_order): ...
	(lto_1_to_1_map): Sort partitions.

From-SVN: r259767
2018-04-30 14:40:10 +00:00
David Malcolm
fee69672c2 input.h: use STATIC_ASSERT
gcc/ChangeLog:
	* input.h (builtins_location_check): Convert to a STATIC_ASSERT.

From-SVN: r259766
2018-04-30 13:50:22 +00:00
Richard Biener
c7b8bff734 tree-cfg.c (verify_address): Remove base argument, add flag whether to check TREE_ADDRESSABLE and do that.
2018-04-30  Richard Biener  <rguenther@suse.de>

	* tree-cfg.c (verify_address): Remove base argument, add
	flag whether to check TREE_ADDRESSABLE and do that.
	(verify_expr): Remove.
	(verify_types_in_gimple_reference): Add pieces from verify_expr.
	(verify_gimple_assign_single): Likewise.
	(verify_gimple_switch): Likewise.
	(verify_expr_location_1): Dereference tp once.  Add (disabled)
	piece from verify_expr.
	(verify_gimple_in_cfg): Do not call verify_expr on all ops.

From-SVN: r259765
2018-04-30 13:18:59 +00:00
Claudiu Zissulescu
6fe3b9fdd5 [ARC] Clear the instruction cache using syscalls.
Clear the instruction cache from `beg' to `end'.  This makes an inline
system call to SYS_cacheflush.

gcc/
2017-03-28  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/linux.h (CLEAR_INSN_CACHE): Define.

From-SVN: r259764
2018-04-30 15:16:24 +02:00
Claudiu Zissulescu
e0be3321b9 [ARC] Cleanup sdata handling.
Clean up how we handle small data load/store operations.

gcc/
2018-01-18  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc-protos.h (prepare_extend_operands): Remove.
	(small_data_pattern): Likewise.
	(arc_rewrite_small_data): Likewise.
	* config/arc/arc.c (LEGITIMATE_SMALL_DATA_OFFSET_P): Remove.
	(LEGITIMATE_SMALL_DATA_ADDRESS_P): Likewise.
	(get_symbol_alignment): New function.
	(legitimate_small_data_address_p): Likewise.
	(legitimate_scaled_address): Update, call
	legitimate_small_data_address_p.
	(output_sdata): New static variable.
	(arc_print_operand): Update how we handle small data operands.
	(arc_print_operand_address): Likewise.
	(arc_legitimate_address_p): Update, use
	legitimate_small_data_address_p.
	(arc_rewrite_small_data_p): Remove.
	(arc_rewrite_small_data_1): Likewise.
	(arc_rewrite_small_data): Likewise.
	(small_data_pattern): Likewise.
	(compact_sda_memory_operand): Update to use
	legitimate_small_data_address_p and get_symbol_alignment.
	(prepare_move_operands): Don't rewite sdata pattern.
	(prepare_extend_operands): Remove.
	* config/arc/arc.md (zero_extendqihi2): Don't rewrite sdata
	pattern.
	(zero_extendqisi2): Likewise.
	(zero_extendhisi2): Likewise.
	(extendqihi2): Likewise.
	(extendqisi2): Likewise.
	(extendhisi2): Likewise.
	(addsi3): Likewise.
	(subsi3): Likewise.
	(andsi3): Likewise.
	* config/arc/constraints.md (Usd): Change it to memory constraint.

gcc/testsuite
2018-01-18  Claudiu Zissulescu  <claziss@synopsys.com>

	* gcc.target/arc/interrupt-8.c: Update test.
	* gcc.target/arc/loop-4.c: Likewise.
	* gcc.target/arc/loop-hazard-1.c: Likewise.
	* gcc.target/arc/sdata-3.c: Likewise.

From-SVN: r259763
2018-04-30 15:16:09 +02:00
Claudiu Zissulescu
2295aa7522 [ARC] Update movhi and movdi patterns.
Allow signed 6-bit short immediates into st[d] instructions.

2017-10-19  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.c (arc_split_move): Allow signed 6-bit constants
	as source of std instructions.
	* config/arc/arc.md (movsi_insn): Update pattern predicate to
	allow 6-bit constants as source for store instructions.
	(movdi_insn): Update instruction pattern to allow 6-bit constants
	as source for store instructions.

testsuite/
2017-10-19  Claudiu Zissulescu  <claziss@synopsys.com>

	* gcc.target/arc/store-merge-1.c: New test.
	* gcc.target/arc/add_n-combine.c: Update test.

From-SVN: r259762
2018-04-30 15:15:35 +02:00
Jonathan Wakely
e2df7e6df4 * doc/invoke.texi (-fdebug-types-section): Fix grammar.
From-SVN: r259761
2018-04-30 13:17:32 +01:00
Nathan Sidwell
bd9918c411 [patch] allow '-' for stdout dump
https://gcc.gnu.org/ml/gcc-patches/2018-04/msg01303.html
	* dumpfile.c (dump_open): Allow '-' for stdout.
	* doc/invoke.texi (Developer Options): Document dump filename
	determination early.  Document stdin/stdout selection.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r259760
2018-04-30 11:47:04 +00:00
Jan Hubicka
e693ebce81 * lto-partition.c (lto_balanced_map): Fix sanity check.
From-SVN: r259759
2018-04-30 11:40:47 +00:00
Andrew Sadek
af1682fc3a Microblaze Target: PIC data text relative
2018-04-30 Andrew Sadek  <andrew.sadek.se@gmail.com>

gcc/ChangeLog:
	* config/microblaze/microblaze.opt: add new option -mpic-data-text-rel.
	* config/microblaze/microblaze-protos.h (microblaze_constant_address_p):
	Add declaration.
	* gcc/config/microblaze/microblaze.h (microblaze_constant_address_p):
	CONSTANT_ADDRESS_P definition to microblaze_constant_address_p.
	* config/microblaze/microblaze.c (TARGET_PIC_DATA_TEXT_REL):
	New addressing mode for data-text relative position indepenedent code.
	(microblaze_classify_unspec): add 'UNSPEC_TEXT' case ->
	'ADDRESS_SYMBOLIC_TXT_REL'.
	(microblaze_classify_address): Add handling for UNSPEC + CONST_INT.
	(microblaze_legitimate_pic_operand): Exclude function calls from
	pic operands in case of TARGET_PIC_DATA_TEXT_REL option.
	(microblaze_legitimize_address): Generate 'UNSPEC_TEXT' for all possible
	addresses cases.
	(microblaze_address_insns): Add 'ADDRESS_SYMBOLIC_TXT_REL' case.
	(print_operand): Add 'ADDRESS_SYMBOLIC_TXT_REL' case.
	(print_operand_address): Add 'ADDRESS_SYMBOLIC_TXT_REL' case + handling
	for 'address + offset'.
	(microblaze_expand_prologue): Add new function prologue call for
	'r20' assignation.
	(microblaze_asm_generate_pic_addr_dif_vec): Override new target hook
	'TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC' to disable address diff vector
	table in case of TARGET_PIC_DATA_TEXT_REL.
	(expand_pic_symbol_ref): Add handling for 'UNSPEC_TEXT'.
	* gcc/config/microblaze/microblaze.md (TARGET_PIC_DATA_TEXT_REL):
	Add new macros 'UNSPEC_TEXT',
	'UNSPEC_SET_TEXT' + add rule for setting r20 in function prologue
	+ exclude function calls from 'UNSPEC_PLT' in case of data text
	relative mode.
	* doc/tm.texi.in (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC): Add
	new target hook for generating address diff vector tables in case of
	flag_pic.
	* doc/tm.texi : Regenerate.
	* stmt.c (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC): Append new condition
	'targetm.asm_out.generate_pic_addr_diff_vec' to flag_pic in case
	of addr diff vector generation.
	* target.def (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC): Add
	target hook definition.
	* targhooks.h, gcc/targhooks.c (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC):
	Add default function for generate_pic_addr_diff_vec -> flag_pic.
	* doc/invoke.texi (Add new pic option): Add new microblaze pic
	option for data text relative.

testsuite/ChangeLog:
	* gcc.target/microblaze/others/data_var1.c: Include
	PIC case of r20 base register.
	* gcc.target/microblaze/others/data_var2.c: Ditto.
	* gcc.target/microblaze/others/picdtr.c: Add new
	test case for -mpic-is-data-text-relative.
	* gcc.target/microblaze/others/sdata_var1.c: Add
	* gcc.target/microblaze/others/sdata_var2.c: Ditto.
	* gcc.target/microblaze/others/sdata_var3.c: Ditto.
	* gcc.target/microblaze/others/sdata_var4.c: Ditto.
	* gcc.target/microblaze/others/sdata_var5.c: Ditto.
	* gcc.target/microblaze/others/sdata_var6.c: Ditto.
	* gcc.target/microblaze/others/string_cst1_gpopt.c:	Ditto.
	* gcc.target/microblaze/others/string_cst2_gpopt.c: Ditto.

From-SVN: r259758
2018-04-30 11:16:55 +00:00
Richard Biener
5885f02733 tree-chrec.h (evolution_function_is_constant_p): Remove redundant check.
2018-04-30  Richard Biener  <rguenther@suse.de>

	* tree-chrec.h (evolution_function_is_constant_p): Remove
	redundant check.
	* tree-cfg.c (tree_node_can_be_shared): Re-order checks.

From-SVN: r259756
2018-04-30 10:16:11 +00:00
Richard Biener
bece35ca28 re PR bootstrap/85571 (non-bootstrap-debug miscompare with trunk)
2018-04-30  Richard Biener  <rguenther@suse.de>

	PR bootstrap/85571
	* Makefile.tpl (STAGE3_CFLAGS): Use -fchecking=1.
	(STAGE3_TFLAGS): Likewise.
	(STAGEtrain_CFLAGS): Filter out -fchecking=1.
	(STAGEtrain_TFLAGS): Likewise.
	* Makefile.in: Regenerate.

	* dwarf2out.c (gen_producer_string): Ignore -fchecking[=].

From-SVN: r259755
2018-04-30 08:18:03 +00:00
Richard Biener
2925cd9d1c re PR tree-optimization/28364 (poor optimization choices when iterating over a std::string (probably not c++-specific))
2018-04-30  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/28364
	PR tree-optimization/85275
	* tree-ssa-loop-ch.c (ch_base::copy_headers): Stop after
	copying first exit test.

	* gcc.dg/tree-ssa/copy-headers-5.c: New testcase.
	* gcc.dg/tree-ssa/predcom-8.c: Likewise.
	* gcc.dg/tree-ssa/cunroll-13.c: Rewrite to gimple testcase.
	* gcc.dg/tree-ssa/ivopt_mult_1.c: XFAIL.
	* gcc.dg/tree-ssa/ivopt_mult_1g.c: Add gimple variant that
	still passes.
	* gcc.dg/tree-ssa/ivopt_mult_2.c: XFAIL.
	* gcc.dg/tree-ssa/ivopt_mult_2g.c: Add gimple variant that
	still passes.
	* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust.
	* gcc.dg/tree-ssa/20030710-1.c: Likewise.
	* gcc.dg/tree-ssa/20030711-1.c: Likewise.

From-SVN: r259754
2018-04-30 07:23:36 +00:00
GCC Administrator
03b42a71d9 Daily bump.
From-SVN: r259753
2018-04-30 00:16:22 +00:00
Jan Hubicka
ddb0b8247d lto-partition.c: Include sreal.h
* lto-partition.c: Include sreal.h
	(add_symbol_to_partition_1): Use size instead of self_size
	for size estimate.
	(account_reference_p): New.
	(lto_balanced_map): Use 64bit arithmetics for size calculatoins; cleanup;
	fix accounting errors in boundary size; add debug output; combine cost
	as cost/size instead of cost/internal; reduce the partitioning error to
	+- 1/8 of the parttion size.

From-SVN: r259749
2018-04-29 16:22:35 +00:00
Julian Brown
8d70b61edd [openacc, testsuite] Fix undefined behaviour in atomic_capture-1.c
2018-04-29  Julian Brown  <julian@codesourcery.com>
	    Tom de Vries  <tom@codesourcery.com>

	PR testsuite/85527
	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
	arbitrary order for iterations of atomic subtract check.

Co-Authored-By: Tom de Vries <tom@codesourcery.com>

From-SVN: r259748
2018-04-29 10:26:56 +00:00
GCC Administrator
e7d32421aa Daily bump.
From-SVN: r259747
2018-04-29 00:16:24 +00:00
Mark Wielaard
171b0a01bd DWARF: Add .debug_addr table header for dwarf_version >= 5.
GNU DebugFission didn't add table headers for the .debug_addr
tables, but DWARF5 does. The table header makes it possible
for a DWARF consumer to parse the address tables without having
to index all .debug_info CUs first.

We can keep using the .debug_addr section label as is, because the
DW_AT_[GNU_]addr_base attribute points at the actual address index,
which starts right after the table header. So the label is generated
at the correct location whether the header is added first or not.

Add DW_AT_addr_base instead of DW_AT_GNU_addr_base to the skeleton
CU DIE for DWARF5.

gcc/ChangeLog

	* dwarf2out.c (dwarf2out_finish): Add .debug_addr table header for
	dwarf_version >= 5.
	(dwarf_AT): Handle DW_AT_addr_base.
	(add_top_level_skeleton_die_attrs): Use dwarf_AT for DW_AT_addr_base.

From-SVN: r259743
2018-04-28 19:54:08 +00:00
Uros Bizjak
6754dfa237 re PR target/84431 (Suboptimal code for masked shifts (x86/x86-64))
PR target/84431
	* config/i386/i386.md (*ashl<dwi>3_doubleword_mask): New pattern.
	(*ashl<dwi>3_doubleword_mask_1): Ditto.
	(*<shift_insn><dwi>3_doubleword_mask): Ditto.
	(*<shift_insn><dwi>3_doubleword_mask_1): Ditto.

testsuite/ChangeLog:

	PR target/84431
	* gcc.target/i386/pr84431.c: New test.

From-SVN: r259739
2018-04-28 09:37:04 +02:00
Richard Biener
782e476490 tree-cfg.c (verify_gimple_phi): Take a gphi * argument.
2018-04-28  Richard Biener  <rguenther@suse.de>

	* tree-cfg.c (verify_gimple_phi): Take a gphi * argument.
	(verify_gimple_in_cfg): Rename visited_stmts to visited_throwing_stmts
	to reflect use.  Only add interesting stmts.

From-SVN: r259738
2018-04-28 07:05:27 +00:00