Commit Graph

136675 Commits

Author SHA1 Message Date
Andreas Krebbel
004f64e1b0 S/390: Add builtins for efpc and sfpc
gcc/ChangeLog:
	* config/s390/s390.c (enum s390_builtin):
	Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
	(code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
	(s390_init_builtins): Generate new builtin functions.
	* config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
	(s390_sfpc, s390_efpc): New pattern definitions.

From-SVN: r221047
2015-02-27 10:14:20 +00:00
Andreas Krebbel
9b80b7bc4d S/390: Define TARGET_BUILTIN_DECL
gcc/ChangeLog:
	* config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
	Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
	(s390_builtin_decls): New array.
	(s390_init_builtins): Put builtin decls into s390_builtin_decls.
	(s390_builtin_decl): New function.
	(TARGET_BUILTIN_DECL): Define macro.

From-SVN: r221046
2015-02-27 10:13:07 +00:00
Richard Biener
4ceae7e957 re PR testsuite/63175 (FAIL: gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c scan-tree-dump-times slp2" basic block vectorized using SLP" 1)
2015-02-27  Richard Biener  <rguenther@suse.de>

	PR middle-end/63175
	* builtins.c (get_object_alignment_2): Make sure to re-apply
	the ANDed mask after recursing to its operand gets us a new
	misalignment bit position.

From-SVN: r221043
2015-02-27 08:37:51 +00:00
Sandra Loosemore
d083ae5fae MAINTAINERS (Various Maintainers): Add self as docs co-maintainer.
2015-02-26  Sandra Loosemore  <sandra@codesourcery.com>

	* MAINTAINERS (Various Maintainers): Add self as docs co-maintainer.

From-SVN: r221041
2015-02-26 21:34:56 -05:00
Jan Hubicka
0a7246ee38 re PR bootstrap/65150 (r220875 causes bootstrap failure on x86_64 darwin)
PR bootstrap/65150
	* ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
	Use address_matters_p.
	(redirect_all_callers, set_addressable): New functions.
	(sem_function::merge): Reorganize and fix merging issues.
	(sem_variable::merge): Likewise.
	(sem_variable::compare_sections): Remove.
	* common.opt (fmerge-all-constants, fmerge-constants): Remove
	Optimization flag.
	* symtab.c (symtab_node::resolve_alias): When alias has aliases,
	redirect them.
	(symtab_node::make_decl_local): Set ADDRESSABLE bit when
	decl is used.
	(address_matters_1): New function.
	(symtab_node::address_matters_p): New function.
	* cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
	check for merged flag.
	* cgraph.h (address_matters_p): Declare.
	(symtab_node::address_taken_from_non_vtable_p): Remove.
	(symtab_node::address_can_be_compared_p): New method.
	(ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
	* ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
	Remove.
	(comdat_can_be_unshared_p_1) Use address_matters_p.
	(update_vtable_references): Fix formating.
	* ipa-ref.c (ipa_ref::address_matters_p): Move inline.
	* cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
	* cgraphclones.c: Preserve merged and icf_merged flags.

Co-Authored-By: Martin Liska <mliska@suse.cz>

From-SVN: r221040
2015-02-27 02:06:48 +00:00
Martin Sebor
f91f1c1312 Add self to Various Maintainers.
From-SVN: r221039
2015-02-26 17:50:57 -07:00
GCC Administrator
0c2f2030a3 Daily bump.
From-SVN: r221038
2015-02-27 00:16:11 +00:00
Sandra Loosemore
6fb04b89fb extend.texi (Function Attributes): Fix spelling and typos.
2015-02-26  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/extend.texi (Function Attributes): Fix spelling and typos.
	(Label Attributes): Likewise.
	(Cilk Plus Builtins): Likewise.
	(ARC SIMD Built-in Functions): Likewise.
	(ARM C Language Extensions (ACLE)): Likewise.
	(PowerPC Built-in Functions): Likewise.
	(PowerPC Hardware Transactional Memory Built-in Functions):
	Likewise.

From-SVN: r221035
2015-02-26 16:55:37 -05:00
Jakub Jelinek
d288c0abe6 re PR tree-optimization/65216 (wrong code at -O3 on x86_64-linux-gnu)
PR tree-optimization/65216
	* tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
	new stmt and new SSA_NAME for lhs whenever the arguments have
	changed and weren't just swapped.  Fix comment typo.

	* gcc.c-torture/execute/pr65216.c: New test.

From-SVN: r221034
2015-02-26 22:03:14 +01:00
Jakub Jelinek
5c2766c1a7 re PR tree-optimization/65215 (Bswap load miscompilation)
PR tree-optimization/65215
	* tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
	for PDP endian targets.
	(perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
	Fix up formatting issues.
	(bswap_replace): Likewise.  For BYTES_BIG_ENDIAN, if the final access
	size is smaller than the original, adjust MEM_REF offset by the
	difference of sizes.  Use is_gimple_mem_ref_addr instead of
	is_gimple_min_invariant test to avoid adding address temporaries.

	* gcc.c-torture/execute/pr65215-1.c: New test.
	* gcc.c-torture/execute/pr65215-2.c: New test.
	* gcc.c-torture/execute/pr65215-3.c: New test.
	* gcc.c-torture/execute/pr65215-4.c: New test.
	* gcc.c-torture/execute/pr65215-5.c: New test.

From-SVN: r221033
2015-02-26 22:01:59 +01:00
Tom de Vries
890d89bcd7 Add missing cleanup in go-gc-tests for cmpout
2015-02-26  Tom de Vries  <tom@codesourcery.com>

	* go.test/go-test.exp (go-gc-tests): Add missing cleanup for cmpout.

From-SVN: r221032
2015-02-26 21:01:08 +00:00
Martin Liska
5ebd0e6155 re PR lto/64693 (PCH failed with --with-build-config=bootstrap-lto)
Fix PR ipa/64693

	PR ipa/64693
	* ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
	(sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
	(sem_item_optimizer::process_cong_reduction): Include division by
	sensitive references.
	* ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
	* ipa-ref.c (ipa_ref::address_matters_p): New function.
	* ipa-ref.h (ipa_ref::address_matters_p): Likewise.
	* g++.dg/ipa/pr64146.C: Update expected results.
	* gcc.dg/ipa/ipa-icf-26.c: Update test.
	* gcc.dg/ipa/ipa-icf-33.c: Remove redundant line.
	* gcc.dg/ipa/ipa-icf-34.c: New test.

Co-Authored-By: Jan Hubicka <hubicka@ucw.cz>

From-SVN: r221031
2015-02-26 20:21:38 +00:00
Martin Liska
ff5ed3f6de Fix LTO bootstrap.
* resolve.c: Rename enum 'comparison' to 'compare_result' as
	solution for -Wodr issue.

From-SVN: r221030
2015-02-26 20:18:08 +00:00
Georg-Johann Lay
d713426e13 re PR target/65192 ([avr-tiny] ICE in tiny_valid_direct_memory_access_range)
PR target/65192
	* config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
	Remove.
	* config/avr/avr.c: Same.
	(avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
	Refuse any constant address not in 0..0xbf.
	* config/avr/avr.md (*mov<mode>, *movsf): Remove
	tiny_valid_direct_memory_access_range from insn conditions.
	(mov<mode>): Don't special-case expansion of avrtiny addresses.

From-SVN: r221029
2015-02-26 19:43:54 +00:00
Uros Bizjak
7064d91e10 vect-pr61917.c: Rename to ...
* gcc.dg/vect/vect-pr61917.c: Rename to ...
	* gcc.dg/vect/O3-vect-pr61917.c: ... this.
	(dg-additional-options): Remove dg directive.
	(dg-final): Add dg directive.

From-SVN: r221027
2015-02-26 20:26:39 +01:00
Oleg Endo
dac2637b75 re PR target/61142 ([SH] QImode/HImode @(R0,Rm),Rn does not load to Rn = R0)
gcc/
	PR target/61142
	* config/sh/sh.c (sh_check_add_incdec_notes): New function.
	* config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
	* config/sh/predicates.md (const_logical_operand): New predicate.
	* config/sh/sh.md: Add new peephole2 patterns.

From-SVN: r221026
2015-02-26 19:14:23 +00:00
Marek Polacek
1cf06f1e25 re PR ipa/65008 (ICE: in estimate_edge_growth, at ipa-inline.h:298 with -O2)
PR ipa/65008
	* ipa-inline.c (early_inliner): Recompute inline parameters.

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

From-SVN: r221025
2015-02-26 18:59:50 +00:00
Tom de Vries
3809f64589 Add profopt-target-cleanup
2015-02-26  Tom de Vries  <tom@codesourcery.com>

	* lib/profopt.exp (profopt-target-cleanup): New proc.
	(profopt-execute): Use profopt-target-cleanup to handle cleanup of
	files from sources from dg-additional-sources.

From-SVN: r221024
2015-02-26 18:24:56 +00:00
Tom de Vries
70f6380da6 Add missing cleanup in run-gcov
2015-02-26  Tom de Vries  <tom@codesourcery.com>

	* lib/gcov.exp: Cleanup in case of xfail.

From-SVN: r221023
2015-02-26 18:24:44 +00:00
Bill Schmidt
197bd30ff3 re PR target/65171 (r214254 causes thousands of std::length_errors running boost testsuite on ppc64le)
2015-02-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/65171
	* config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
	instructions with TImode operands are included in the analysis.

From-SVN: r221022
2015-02-26 17:43:03 +00:00
Sebastian Pop
a99c3d70e1 improve FSM jump thread dump
From-SVN: r221021
2015-02-26 17:25:51 +00:00
Sebastian Pop
a5ddeace68 Fix warning.
* gcc.dg/tree-ssa/ssa-dom-thread-9.c: Fix warning due to missing type.

From-SVN: r221020
2015-02-26 17:25:37 +00:00
Peter Bergner
b5f0a06274 Move ChangeLog entry to correct ChangeLog
From-SVN: r221017
2015-02-26 09:58:00 -06:00
Aldy Hernandez
b33da0c754 re PR debug/46102 (ICE: SIGSEGV in dwarf2out_finish (dwarf2out.c:8490) with -feliminate-dwarf2-dups when using precompiled headers)
PR debug/46102
	* dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
testsuite/
	PR debug/46102
	* g++.dg/debug/dwarf2-1.C: XFAIL and move...
	* g++.dg/debug/dwarf2/dwarf2-1.C: ...here.
	* g++.dg/debug/dwarf2-2.C: XFAIL and move...
	* g++.dg/debug/dwarf2/dwarf2-2.C: ...here.
	* g++.dg/debug/dwarf2/typedef5.C: XFAIL.
	* g++.dg/debug/pr46123.C: XFAIL and move...
	* g++.dg/debug/dwarf2/pr46123-2.C: ...here.
	* gcc.dg/debug/dwarf2-3.c: Move...
	* gcc.dg/debug/dwarf2/dwarf2-3.c: ...here.

From-SVN: r221016
2015-02-26 15:31:52 +00:00
Marek Polacek
75e0295b00 re PR c++/65202 (ICE segfault with constexpr/noexcept)
PR c++/65202
	* constexpr.c (cxx_eval_constant_expression): Don't evaluate
	a RETURN_EXPR if its operand is null.

	* g++.dg/cpp1y/pr65202.C: New test.

From-SVN: r221015
2015-02-26 15:03:23 +00:00
Tom de Vries
491080f4c1 Add missing cleanup in g++.dg/gcov/gcov-14.C
2015-02-26  Tom de Vries  <tom@codesourcery.com>

	* g++.dg/gcov/gcov-14.C: Add cleanup of iostream.gcov, ostream.gcov and
	locale_facets.h.gcov.

From-SVN: r221013
2015-02-26 14:36:03 +00:00
Tom de Vries
531f265a4d Add missing cleanup in gcc.target/i386/mcount_pic.c
2015-02-26  Tom de Vries  <tom@codesourcery.com>

	* gcc.target/i386/mcount_pic.c: Add missing cleanup-profile-file.

From-SVN: r221012
2015-02-26 14:25:30 +00:00
Tom de Vries
bae08dc4f9 Add missing cleanup in gcc.dg/aru-2.c
2015-02-26  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/aru-2.c: Add missing cleanup-profile-file.

From-SVN: r221011
2015-02-26 14:20:01 +00:00
H.J. Lu
e5d0da7fe3 Add a testcase for PR target/65217
PR target/65217
	* gcc.target/i386/pr65217.c: New.

From-SVN: r221010
2015-02-26 06:17:06 -08:00
Tom de Vries
b5cdc3eb1d Add missing cleanup in pch-init
2015-02-26  Tom de Vries  <tom@codesourcery.com>

	* lib/dg-pch.exp (pch-init): Add missing cleanup of pchtest<n>.o.

From-SVN: r221009
2015-02-26 14:15:29 +00:00
Tom de Vries
c068040112 Add missing cleanup in gcc.misc-tests/godump-1.c
2015-02-26  Tom de Vries  <tom@codesourcery.com>

	* gcc.misc-tests/godump-1.c: Add missing cleanup of godump-1.out.

From-SVN: r221008
2015-02-26 14:05:15 +00:00
Sebastian Pop
ae762b31c4 re PR middle-end/65048 (ICE in add_phi_args_after_copy_edge, at tree-cfg.c)
PR tree-optimization/65048
	* tree-ssa-threadupdate.c (valid_jump_thread_path): New.
	(thread_through_all_blocks): Call valid_jump_thread_path.
	Remove invalid FSM jump-thread paths.

	PR tree-optimization/65048
	* gcc.dg/tree-ssa/ssa-dom-thread-9.c: New.

From-SVN: r221007
2015-02-26 06:56:39 -07:00
Jakub Jelinek
db847fa8f2 passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
* passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
	(ipa_write_optimization_summaries): Likewise.
	* tree-streamer.h: Include data-streamer.h.
	(streamer_mode_table): Declare extern variable.
	(bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
	* lto-streamer-out.c (lto_output_init_mode_table,
	lto_write_mode_table): New functions.
	(produce_asm_for_decls): Call lto_write_mode_table when streaming
	offloading LTO.
	* lto-section-in.c (lto_section_name): Add "mode_table" entry.
	(lto_create_simple_input_block): Add mode_table argument to the
	lto_input_block constructors.
	* ipa-prop.c (ipa_prop_read_section, read_replacements_section):
	Likewise.
	* data-streamer-in.c (string_for_index): Likewise.
	* ipa-inline-analysis.c (inline_read_section): Likewise.
	* ipa-icf.c (sem_item_optimizer::read_section): Likewise.
	* lto-cgraph.c (input_cgraph_opt_section): Likewise.
	* lto-streamer-in.c (lto_read_body_or_constructor,
	lto_input_toplevel_asms): Likewise.
	(lto_input_mode_table): New function.
	* tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
	pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
	Use bp_pack_machine_mode.
	* real.h (struct real_format): Add name field.
	* lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
	(class lto_input_block): Add mode_table member.
	(lto_input_block::lto_input_block): Add mode_table_ argument,
	initialize mode_table.
	(struct lto_file_decl_data): Add mode_table field.
	(lto_input_mode_table, lto_output_init_mode_table): New prototypes.
	* tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
	unpack_ts_decl_common_value_fields,
	unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
	* tree-streamer.c (streamer_mode_table): New variable.
	* real.c (ieee_single_format, mips_single_format,
	motorola_single_format, spu_single_format, ieee_double_format,
	mips_double_format, motorola_double_format,
	ieee_extended_motorola_format, ieee_extended_intel_96_format,
	ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
	ibm_extended_format, mips_extended_format, ieee_quad_format,
	mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
	decimal_single_format, decimal_double_format, decimal_quad_format,
	ieee_half_format, arm_half_format, real_internal_format): Add name
	field.
	* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
lto/
	* lto.c (lto_mode_identity_table): New variable.
	(lto_read_decls): Add mode_table argument to the lto_input_block
	constructor.
	(lto_file_finalize): Initialize mode_table.
	(lto_init): Initialize lto_mode_identity_table.

From-SVN: r221005
2015-02-26 13:26:11 +01:00
Uros Bizjak
948f9b763d gcc-dg.exp (cleanup-final-insns-dump): New procedure.
* lib/gcc-dg.exp (cleanup-final-insns-dump): New procedure.
	* g++.dg/opt/dump1.C (dg-final): Call cleanup-final-insns-dump.

From-SVN: r221004
2015-02-26 12:56:45 +01:00
Yuri Rumyantsev
b24b326283 re PR target/65161 (ICE: in vec<_haifa_insn_data, va_heap, vl_embed>::operator[], at vec.h:736 with -O3 -fselective-scheduling2 -mtune=slm)
gcc/

	PR target/65161
	* config/i386/i386.c (ix86_sched_reorder): Skip instruction
	reordering for selective scheduling.

gcc/testsuite/

	PR target/65161
	* gcc.target/i386/pr65161.c: New test.

From-SVN: r221002
2015-02-26 11:30:03 +00:00
Terry Guo
afe006ad4d arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
gcc/
	* config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
	* config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
	(arm_arch_no_volatile_ce): Declare new global variable.
	* config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
	(arm_option_override): Assign value to arm_arch_no_volatile_ce.
	* config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
	(TARGET_NO_VOLATILE_CE): New macro.
	* config/arm/arm.md (arm_comparison_operator): Disabled if not allow
	volatile memory access in IT block

gcc/testsuite/
	* gcc.target/arm/no-volatile-in-it.c: New test.

From-SVN: r220999
2015-02-26 04:03:22 +00:00
Peter Bergner
f2903bd861 * gcc.target/powerpc/htm-builtin-1.c (dg-do) Change to assemble.
(dg-options): Add -save-temps.
	(dg-final): Add cleanup-saved-temps.

From-SVN: r220998
2015-02-25 21:06:38 -06:00
GCC Administrator
073a9e6c5c Daily bump.
From-SVN: r220995
2015-02-26 00:16:11 +00:00
Adhemerval Zanella
313123e753 htm.md (tcheck): Fix assembly encoding.
gcc/
	* config/rs6000/htm.md (tcheck): Fix assembly encoding.

gcc/testsuite/
	* gcc.target/powerpc/htm-builtin-1.c: Fix tcheck expect value.

From-SVN: r220992
2015-02-25 16:18:19 -06:00
Jason Merrill
2b8f9c8f36 re PR c++/65209 (Broken code with global static variables, invalid pointer when freeing global variables)
PR c++/65209
	* decl2.c (constrain_visibility) [VISIBILITY_ANON]: Clear
	DECL_COMDAT.
	(constrain_visibility_for_template): Handle reference arguments.

From-SVN: r220991
2015-02-25 16:46:29 -05:00
Uros Bizjak
76fabbf42d Revert:
2014-07-26  Uros Bizjak  <ubizjak@gmail.com>

	PR target/47230
	* configure.ac (alpha*-*-linux*): Use mh-alpha-linux.
	* configure: Regenerate.

/config

	Revert:
	2014-07-26  Uros Bizjak  <ubizjak@gmail.com>

	PR target/47230
	* mh-alpha-linux: New file.

/gcc

	PR target/47230
	* doc/install.texi (Specific, alpha*-*-*): Document that binutils 2.25
	or newer are required.

From-SVN: r220990
2015-02-25 20:59:31 +01:00
Kai Tietz
f5fd577303 re PR tree-optimization/61917 (ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913)
PR tree-optimization/61917
	* tree-vect-loop.c (vectorizable_reduction): Handle obvious case
	that reduc_def_stmt is null.

From-SVN: r220987
2015-02-25 19:21:37 +01:00
Martin Liska
b4f26d91af ICF: Validate correctly hard register variables.
* ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
	hard register variables.

From-SVN: r220985
2015-02-25 17:38:09 +00:00
Pat Haugen
d31ac41c01 direct-move.h: Include string.h/stdlib.h.
* gcc.target/powerpc/direct-move.h: Include string.h/stdlib.h.
	* gcc.target/powerpc/pack01.c: Include string.h.

From-SVN: r220984
2015-02-25 17:35:07 +00:00
Kai Tietz
feeca9cc42 re PR target/64212 (ICE [in noninterposable_alias, at symtab.c:1706])
PR target/64212
	* symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
	(symtab::noninterposable_alias): Likewise.

From-SVN: r220982
2015-02-25 17:44:26 +01:00
Joseph Myers
387dd1b20d be.po, [...]: Update.
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
	ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
	zh_TW.po: Update.

From-SVN: r220977
2015-02-25 16:11:26 +00:00
Joseph Myers
6badc991fc be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, fr.po,
	id.po, ja.po, nl.po, pr_BR.po, ru.po, sr.po, sv.po, tr.po, uk.po,
	vi.po, zh_CN.po, zh_TW.po: Update.

From-SVN: r220976
2015-02-25 16:08:20 +00:00
Jason Merrill
9b276dada8 re PR debug/58315 (Excessive memory use with -g)
PR debug/58315
	* decl.c (start_preparsed_function): Use create_artificial_label
	for cdtor_label.

From-SVN: r220974
2015-02-25 10:49:34 -05:00
Arnaud Charlet
f66172c410 Complete previous change.
From-SVN: r220973
2015-02-25 16:47:05 +01:00
Arnaud Charlet
8200e6f19a * update_web_docs_svn: Preserve gcc/ada/*.png. Update comments.
From-SVN: r220972
2015-02-25 16:45:23 +01:00