Commit Graph

161142 Commits

Author SHA1 Message Date
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
GCC Administrator 5c2cab4656 Daily bump.
From-SVN: r259737
2018-04-28 00:16:24 +00:00
Tom de Vries 4a57a4b629 [openacc, testsuite] Fix undefined behaviour in atomic_capture-1.f90
2018-04-28  Tom de Vries  <tom@codesourcery.com>

	PR testsuite/85527
	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
	atomic capture results obtained in parallel loop to an array, instead of
	to a scalar.

From-SVN: r259733
2018-04-27 22:11:12 +00:00
Martin Jambor cf25444273 re PR ipa/85549 (Infinite loop in ilmbase package)
PR ipa/85549
	* ipa-cp.c (find_aggregate_values_for_callers_subset): Make sure
	the jump function allows for passing through aggregate values.

	* g++.dg/ipa/pr85549.C: New test.

From-SVN: r259730
2018-04-27 22:32:18 +02:00
Jakub Jelinek b2b1ea3455 re PR c++/85553 (cannot list-initialize a variable of type std::nullptr_t)
PR c++/85553
	* init.c (build_zero_init_1): For zero initialization of
	NULLPTR_TYPE_P type use build_int_cst directly.

	* g++.dg/cpp0x/Wzero-as-null-pointer-constant-3.C: Add dg-bogus
	directive.
	* g++.dg/cpp0x/constexpr-85553.C: New test.

From-SVN: r259728
2018-04-27 22:29:12 +02:00
David Malcolm 3b67d7e694 input.h: convert some macros to inline functions
gcc/ChangeLog:
	* input.h (in_system_header_at): Convert from macro to inline
	function.
	(from_macro_expansion_at): Likewise.
	(from_macro_definition_at): Likewise.

From-SVN: r259727
2018-04-27 20:20:31 +00:00
Jeff Law 16787011ab * config.gcc: Mark tile* targets as deprecated/obsolete.
From-SVN: r259724
2018-04-27 13:25:47 -06:00
Andreas Tobler 8f479d7a35 re PR libgcc/84292 (__sync_add_and_fetch returns the old value instead of the new value)
2018-04-27  Andreas Tobler  <andreast@gcc.gnu.org>
	    Maryse Levavasseur <maryse.levavasseur@stormshield.eu>

	PR libgcc/84292
	* config/arm/freebsd-atomic.c (SYNC_OP_AND_FETCH_N): Fix the
	op_and_fetch to return the right result.

Co-Authored-By: Maryse Levavasseur <maryse.levavasseur@stormshield.eu>

From-SVN: r259722
2018-04-27 21:14:05 +02:00
David Malcolm 66bd30863f Don't offer suggestions for compiler-generated variables (PR c++/85515)
gcc/cp/ChangeLog:
	PR c++/85515
	* name-lookup.c (consider_binding_level): Skip compiler-generated
	variables.
	* search.c (lookup_field_fuzzy_info::fuzzy_lookup_field): Flatten
	nested if statements into a series of rejection tests.  Reject
	lambda-ignored entities as suggestions.

gcc/testsuite/ChangeLog:
	PR c++/85515
	* g++.dg/pr85515-1.C: New test.
	* g++.dg/pr85515-2.C: New test.

From-SVN: r259720
2018-04-27 18:39:18 +00:00
Ian Lance Taylor 2885a4939a re PR go/85429 (Several gotools tests FAIL with Solaris as)
PR go/85429
    cmd/go: add Solaris assembler syntax for gccgo buildid file
    
    The Solaris assembler uses a different syntax for section directives.
    
    This is https://golang.org/cl/109140 ported over to gccgo.
    
    Reviewed-on: https://go-review.googlesource.com/109141

From-SVN: r259719
2018-04-27 18:01:00 +00:00
Jason Merrill 4c8906c942 * g++.dg/cpp1z/noexcept-type20.C: Elaborate.
From-SVN: r259718
2018-04-27 13:32:00 -04:00
Jason Merrill d760b06868 cvt.c (cp_fold_convert): Use convert_ptrmem.
* cvt.c (cp_fold_convert): Use convert_ptrmem.

	* typeck.c (convert_ptrmem): Add a NOP even if no adjustment.

From-SVN: r259717
2018-04-27 13:09:17 -04:00
Paolo Carlini a6e34898d1 re PR c++/84691 (internal compiler error: in poplevel_class, at cp/name-lookup.c:4430)
/cp
2018-04-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84691
	* decl.c (grokdeclarator): Clear friendp upon definition in local
	class definition error.

/testsuite
2018-04-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84691
	* g++.dg/cpp0x/friend3.C: New.

From-SVN: r259716
2018-04-27 16:56:55 +00:00
Jason Merrill 6d0e87b25e PR c++/85545 - ICE with noexcept PMF conversion.
* cvt.c (cp_fold_convert): Pass PMF CONSTRUCTORs to
	build_ptrmemfunc.
	* typeck.c (build_ptrmemfunc): Don't build a NOP_EXPR for zero
	adjustment.
	(build_ptrmemfunc_access_expr): Special-case CONSTRUCTORs.

From-SVN: r259712
2018-04-27 11:00:53 -04:00
Richard Biener 4bdc2738ce Fix aarch64 ILP32 ICE with vaarg gimplified code
2018-04-27  Richard Biener  <rguenther@suse.de>

	* config/aarch64/aarch64.c: Simplify ap.__stack advance and
	fix for ILP32.

From-SVN: r259711
2018-04-27 14:32:09 +00:00
Nathan Sidwell 036b5ad136 [C++ PATCH] cleanup 2
https://gcc.gnu.org/ml/gcc-patches/2018-04/msg01231.html
	* typeck.c (convert_ptrmem): Move local var decls to initialization.

From-SVN: r259710
2018-04-27 14:01:09 +00:00
Richard Biener 3db18011e5 tree-cfg.c (verify_expr): Make dead code hit gcc_unreachable.
2018-04-27  Richard Biener  <rguenther@suse.de>

	* tree-cfg.c (verify_expr): Make dead code hit gcc_unreachable.

From-SVN: r259705
2018-04-27 12:53:40 +00:00
Nathan Sidwell d4e15523c1 [C++ PATCH] some cleanups
https://gcc.gnu.org/ml/gcc-patches/2018-04/msg01227.html
	* cp-tree.h (TEMPLATE_INFO): Fix comments.
	(TI_PENDING_TEMPLATE_FLAG): Check TEMPLATE_INFO.
	(NON_DEFAULT_TEMPLATE_ARG_COUNT): Wrap line.
	(dump, print_other_binding_stacks): Remove declarations.
	* name-lookup.c (print_other_binding_stack): Make static.
	* pt.c (build_template_decl): Make static.

From-SVN: r259704
2018-04-27 11:55:38 +00:00
Alan Modra ae0432915e PR85532, crtend.o built without --enable-initfini-array has bad .eh_frame
PR libgcc/85532
	* config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add
	-fno-asynchronous-unwind-tables.

From-SVN: r259702
2018-04-27 18:36:39 +09:30
Uros Bizjak 038acbbaa8 i386.md (*movti_internal): Substitute Ye constraint with Yd constraint.
* config/i386/i386.md (*movti_internal): Substitute Ye constraint
	with Yd constraint. Set "preferred_for_speed" attribute from
	TARGET_INTER_UNIT_MOVES_{FROM,TO}_VEC for alternatives
	with Yd constraint.
	(*movdi_internal): Ditto.
	(movti_interunit splitters): Remove
	TARGET_INTER_UNIT_MOVES_{FROM,TO}_VEC from insn condition.
	(movdi_interunit splitters): Ditto.
	* config/i386/constraints.md (Ye): Remove.
	(Yd): Do not depend on TARGET_INTER_UNIT_MOVES_{FROM,TO}_VEC.

From-SVN: r259701
2018-04-27 11:00:27 +02:00
Kyrylo Tkachov d318d551b3 [arm] PR target/82518: Return false in ARRAY_MODE_SUPPORTED_P for BYTES_BIG_ENDIAN followup
PR target/82518
	* lib/target-supports.exp (check_effective_target_vect_load_lanes):
	Use check_effective_target_arm_little_endian.

From-SVN: r259700
2018-04-27 08:56:02 +00:00
Kyrylo Tkachov b4c0db2578 [AArch64] PR target/85512: Tighten SIMD right shift immediate constraints pt2
PR target/85512
	* config/aarch64/constraints.md (Usg): Limit to 31.
	(Usj): Limit to 63.

From-SVN: r259699
2018-04-27 08:48:49 +00:00
Eric Botcazou 9f47a64fcc re PR ada/85540 (gcc/ada/init.c:1282: suspicious expression ?)
PR ada/85540
	* init.c (__gnat_handle_vms_condition): Add missing parentheses.

From-SVN: r259698
2018-04-27 08:05:44 +00:00
Jakub Jelinek 92007ba607 re PR tree-optimization/85529 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
PR tree-optimization/85529
	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Add FIRST_BB
	argument.  Don't call get_nonzero_bits if opcode is ERROR_MARK_NODE,
	rhs2 def stmt's bb is dominated by first_bb and it isn't an obvious
	zero extension or masking of the MSB bit.
	(optimize_range_tests): Add FIRST_BB argument, pass it through
	to optimize_range_tests_var_bound.
	(maybe_optimize_range_tests, reassociate_bb): Adjust
	optimize_range_tests callers.

	* gcc.c-torture/execute/pr85529-1.c: New test.
	* gcc.c-torture/execute/pr85529-2.c: New test.
	* gcc.dg/pr85529.c: New test.

From-SVN: r259696
2018-04-27 09:09:51 +02:00
GCC Administrator be876cc498 Daily bump.
From-SVN: r259695
2018-04-27 00:16:25 +00:00
Maciej W. Rozycki b4d62b40b7 MIPS/GCC/testsuite: Fix data-sym-pool.c for n64 code
With the soft-float n64 ABI and the data-sym-pool.c test case code like 
below is produced:

	.file	1 "data-sym-pool.c"
	.section .mdebug.abi64
	.previous
	.nan	legacy
	.module	softfloat
	.module	oddspreg
	.abicalls
	.option	pic0
	.text
	.align	2
	.globl	frob
	.set	mips16
	.set	nomicromips
	.ent	frob
	.type	frob, @function
frob:
	.frame	$17,16,$31		# vars= 0, regs= 1/0, args= 0, gp= 0
	.mask	0x00020000,-8
	.fmask	0x00000000,0
	daddiu	$sp,-16
	sd	$17,8($sp)
	move	$17,$sp
	ld	$2,.L3
	move	$sp,$17
	ld	$17,8($sp)
	daddiu	$sp,16
	jr	$31
	.type	__pool_frob_3, @object
__pool_frob_3:
	.align	3
.L3:
	.dword	305419896
	.type	__pend_frob_3, @function
__pend_frob_3:
	.insn
	.end	frob
	.size	frob, .-frob
	.ident	"GCC: (GNU) 8.0.1 20180410 (experimental)"

(we have no support for hard-float n64 MIPS16 code generation), which 
means that the test case will fail, as the regular expression pattern 
expects `lw' and `.word' rather than `ld' and `.dword' respectively to 
appear in assembly code generation.  Correct the pattern in an obvious 
way then making it accept both intructions and pseudo-ops.

	gcc/testsuite/
	* gcc.target/mips/data-sym-pool.c (dg-options): Match `ld' and
	`.dword' in addition to `lw' and `.word'.

From-SVN: r259691
2018-04-26 21:03:11 +00:00
Maciej W. Rozycki 7dc5410af0 MIPS/GCC/testsuite: Fix data-sym-pool.c for SVR4 model at -O0
With GCC configurations using the SVR4 rather than the PLT dynamic 
executable model and the o32 ABI with the data-sym-pool.c test case code 
like below is produced:

	.file	1 "data-sym-pool.c"
	.section .mdebug.abi32
	.previous
	.nan	legacy
	.module	fp=xx
	.module	nooddspreg
	.abicalls
	.text
	.align	2
	.globl	frob
	.set	mips16
	.set	nomicromips
	.ent	frob
	.type	frob, @function
frob:
	.frame	$17,8,$31		# vars= 0, regs= 1/0, args= 0, gp= 0
	.mask	0x00020000,-4
	.fmask	0x00000000,0
	save	8,$17
	move	$17,$sp
	lw	$2,$L4
	move	$sp,$17
	restore	8,$17
	jr	$31
	.type	__pool_frob_3, @object
__pool_frob_3:
	.align	2
$L3:
	.word	__gnu_local_gp
$L4:
	.word	305419896
	.type	__pend_frob_3, @function
__pend_frob_3:
	.insn
	.end	frob
	.size	frob, .-frob
	.ident	"GCC: (GNU) 8.0.1 20180410 (experimental)"

causing a failure due to the unexpected `__gnu_local_gp' entry in the 
constant pool, even though there is nothing wrong with it as far as the 
annotation being examined is concerned.

Given that the SVR4 vs PLT code model consideration is irrelevant for 
this test case rather than rewriting the regular expression to match 
this variant of code just enforce the PLT model by using the `-mplt' 
option.  It is safe to use this option unconditionally as it is silently 
ignored with configurations that do not support this model, e.g. bare 
metal ELF.

	gcc/testsuite/
	* gcc.target/mips/data-sym-pool.c (dg-options): Add `-mplt'.

From-SVN: r259690
2018-04-26 21:01:31 +00:00
Jason Merrill 128d29a52f PR c++/85545 - ICE with noexcept PMF conversion.
* cvt.c (cp_fold_convert): Handle PMF CONSTRUCTORs directly.

From-SVN: r259689
2018-04-26 16:32:32 -04:00
Richard Biener e94497fbc0 cgraph.h (symbol_table): Just declare debug method here.
* cgraph.h (symbol_table): Just declare debug method here.
	* symtab.c (symbol_table::debug): Define.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r259685
2018-04-26 22:04:15 +02:00
Eric Botcazou 7ee1f872ca * loop-invariant.c (may_assign_reg_p): Return false for frame pointer.
From-SVN: r259683
2018-04-26 15:21:09 +00:00
Uros Bizjak b1ea83878e i386.md ("isa" attribute): Add x64_sse2.
* config/i386/i386.md ("isa" attribute): Add x64_sse2.
	("enabled" attribute): Handle "isa" attribute.
	(*movdi_internal): Substitute Yi and Yj constraint with x
	and Ym and Yn constraint with y constraint.  Update "isa"
	attribute and set "preferred_for_speed" attribute from
	TARGET_INTER_UNIT_MOVES_{FROM,TO}_VEC for updated alternatives.
	(*movsi_internal): Ditto.
	(*movdf_internal): Ditto.
	(*movsf_internal): Ditto.
	(*zero_extendsidi2): Ditto.
	* config/i386/sse.md (vec_set<mode>_0): Ditto.
	(sse2_loadld): Ditto.
	(*vec_extract<ssevecmodelower>_0): Ditto.
	(*vec_extractv4si_0_zext_sse4): Ditto.
	(vec_concatv2di): Ditto.
	(*vec_dup<mode>): Ditto.
	* config/i386/mmx.md (*mov<mode>_internal): Ditto.
	* config/i386/constraints.md (Yi): Remove.
	(Yj): Remove.
	(Ym): Remove.
	(Yn): Remove.

From-SVN: r259682
2018-04-26 16:49:32 +02:00
Nathan Sidwell 5d8b352a10 dumpfile cleanup
https://gcc.gnu.org/ml/gcc-patches/2018-04/msg01173.html
	* dumpfile.c (dump_open): New.
	(dump_open_alternate_stream, dump_start, dump_begin): Call it.
	(dump_finish): Detect stdio/stderr by value not name.

From-SVN: r259681
2018-04-26 14:15:58 +00:00