Commit Graph

160986 Commits

Author SHA1 Message Date
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
Jonathan Wakely
030b3bddb0 Document that -Wreturn-type is enabled by default for C++
* doc/invoke.texi (-Wreturn-type): Document default status for C++.

From-SVN: r259679
2018-04-26 14:52:15 +01:00
Tom de Vries
df36a3d3be [nvptx, libgomp] Add GOMP_NVPTX_JIT=-O[0-4] in nvptx libgomp plugin
2018-04-26  Tom de Vries  <tom@codesourcery.com>

	PR libgomp/84020
	* plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
	* plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
	(process_GOMP_NVPTX_JIT): New function.
	(link_ptx): Use process_GOMP_NVPTX_JIT.

From-SVN: r259678
2018-04-26 13:27:04 +00:00
Tom de Vries
a874808c61 [nvptx] Verify bar.sync position
2018-04-26  Tom de Vries  <tom@codesourcery.com>

	PR target/84952
	* config/nvptx/nvptx.c (verify_neutering_jumps)
	(verify_neutering_labels): New function
	(nvptx_single): Use verify_neutering_jumps and verify_neutering_labels.

From-SVN: r259677
2018-04-26 13:26:48 +00:00
Tom de Vries
6beefdbdf3 [nvptx] Fix branch-around-nothing
2018-04-26  Tom de Vries  <tom@codesourcery.com>

	PR target/84025
	* config/nvptx/nvptx.c (needs_neutering_p): New function.
	(nvptx_single): Use needs_neutering_p to skip over insns that do not
	need neutering.

From-SVN: r259676
2018-04-26 13:26:38 +00:00
Richard Biener
d160ae7814 [lto] Fixup loops before lto write-out
2018-04-26  Richard Biener <rguenther@suse.de>
	    Tom de Vries  <tom@codesourcery.com>

	PR lto/85422
	* lto-streamer-out.c (output_function): Fixup loops if required to match
	discovery done in the reader.

	* testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.

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

From-SVN: r259675
2018-04-26 13:26:25 +00:00
Tom de Vries
ca9dc64220 [nvptx, libgomp, testsuite] Reduce recursion depth in declare_target-{1,2}.f90
2018-04-26  Tom de Vries  <tom@codesourcery.com>

	PR target/85519
	* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
	recursion depth from 25 to 23.
	* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.

From-SVN: r259674
2018-04-26 13:26:09 +00:00