Commit Graph

137066 Commits

Author SHA1 Message Date
Christophe Lyon
d886f7cc33 re PR sanitizer/59009 (libsanitizer merge from upstream r191666 breaks bootstrap on powerpc64-linux and aarch64-linux)
2015-03-23  Christophe Lyon  <christophe.lyon@linaro.org>

	PR sanitizer/59009
	* sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry pick
	upstream r230324.
	* sanitizer_common/sanitizer_platform.h: Likewise.
	* sanitizer_common/sanitizer_common_syscalls.inc: Likewise.

From-SVN: r221593
2015-03-23 14:43:22 +01:00
Richard Biener
89d390e57a re PR tree-optimization/65494 (Loop is not vectorized because of operand canonicalization.)
2015-03-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/65494
	* tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
	matches here.
	(vect_analyze_slp_instance): But do that here, always and once.

	* gcc.dg/vect/pr65494.c: New testcase.

From-SVN: r221592
2015-03-23 12:47:54 +00:00
Kyrylo Tkachov
c61928d098 [expmed][trivial] Fix comment about multiplying by T-1 and adding T.
* expmed.c (synth_mult): Fix comment about multiplying by T-1 and
	adding T or multiplying by T+1 and subracting T.

From-SVN: r221588
2015-03-23 09:16:49 +00:00
Jakub Jelinek
fb136e35c7 re PR preprocessor/65238 (__has_attribute is not handled properly with -traditional-cpp.)
PR preprocessor/65238
	* internal.h (_cpp_scan_out_logical_line): Add third argument.
	* directives.c (prepare_directive_trad): Pass false to it.
	* traditional.c (_cpp_read_logical_line_trad,
	_cpp_create_trad_definition): Likewise.
	(struct fun_macro): Add paramc field.
	(fun_like_macro): New function.
	(maybe_start_funlike): Handle NODE_BUILTIN macros.  Initialize
	macro->paramc field.
	(save_argument): Use macro->paramc instead of
	macro->node->value.macro->paramc.
	(push_replacement_text): Formatting fix.
	(recursive_macro): Use fun_like_macro helper.
	(_cpp_scan_out_logical_line): Likewise.  Add BUILTIN_MACRO_ARG
	argument.  Initialize fmacro.paramc field.  Handle builtin
	function-like macros.

	* c-c++-common/cpp/pr65238-1.c: New test.
	* gcc.dg/cpp/pr65238-2.c: New test.
	* gcc.dg/cpp/trad/pr65238-3.c: New test.
	* gcc.dg/cpp/trad/pr65238-4.c: New test.

From-SVN: r221587
2015-03-23 09:02:39 +01:00
Paul Thomas
30c931de07 re PR fortran/64952 (Missing temporary in assignment from elemental function)
2015-03-23  Paul Thomas  <pault@gcc.gnu.org>
	    Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/64952
fortran/
	* gfortran.h (struct symbol_attribute) : New field
	'array_outer_dependency'.
	* trans.h (struct gfc_ss_info): New field 'array_outer_dependency'.
	* module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY.
	(attr_bits): Append same value to initializer.
	(mio_symbol_attribute): Handle 'array_outer_dependency' attr
	in module read and write.
	* resolve.c (update_current_proc_outer_array_dependency): New function.
	(resolve_function, resolve_call): Add code to update current procedure's
	'array_outer_dependency' attribute.
	(resolve_variable): Mark current procedure with attribute
	array_outer_dependency if the variable is an array coming from outside
	the current namespace.
	(resolve_fl_procedure): Mark a procedure without body with attribute
	'array_outer_dependency'.
	* trans-array.c (gfc_conv_resolve_dependencies): If any ss is
	marked as 'array_outer_dependency' generate a temporary.
	(gfc_walk_function_expr): If the function may reference external arrays,
	mark the head gfc_ss with flag 'array_outer_dependency'.
testsuite/
	* gfortran.dg/elemental_dependency_4.f90: New.
	* gfortran.dg/elemental_dependency_5.f90: New.


Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>

From-SVN: r221586
2015-03-23 07:53:31 +00:00
Jeff Law
af3eb11068 re PR rtl-optimization/64317 (Ineffective allocation of PIC base register)
PR rtl-optimization/64317
        * Makefile.in (OBJS): Add gcse-common.c
        * gcse.c: Include gcse-common.h
        (struct modify_pair_s): Move structure definition to gcse-common.h
        (compute_transp): Move function to gcse-common.c.
        (canon_list_insert): Similarly.
        (record_last_mem_set_info): Break out some code and put it into
        gcse-common.c.  Call into the new common code.
        (compute_local_properties): Pass additional arguments to compute_transp.
        * postreload-gcse.c: Include gcse-common.h and df.h
        (modify_mem_list_set, blocks_with_calls): New variables.
        (modify_mem_list, canon_modify_mem_list, transp): Likewise.
        (get_bb_avail_insn): Pass in the expression index too.
        (alloc_mem): Allocate memory for the new bitmaps and lists.
        (free_mem): Free memory for the new bitmaps and lists.
        (insert_expr_in_table): Record a bitmap index for each entry we
        add to the table.
        (record_last_mem_set_info): Call into common code in gcse-common.c.
        (get_bb_avail_insn): If no available insn was found in the requested
        BB.  If BB has a single predecessor, see if the expression is
        transparent in BB and available in that single predecessor.
        (compute_expr_transp): New wrapper for compute_transp.
        (eliminate_partially_redundant_load): Pass expression's bitmap_index
        to get_bb_avail_insn.  Compute next_pred_bb_end a bit later.
        (gcse_after_reload_main): If there are elements in the hash table,
        then compute transparency for all the elements in the hash table.
        * gcse-common.h: New file.
        * gcse-common.c: New file.

From-SVN: r221585
2015-03-22 23:21:04 -06:00
Sandra Loosemore
4460b2dc61 cpp.texi (Search Path): Hyphenate "command-line" when used as an adjective.
2015-03-22  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/cpp.texi (Search Path): Hyphenate "command-line" when used
	as an adjective.
	(System Headers): Likewise.
	(Ifdef): Likewise.
	(Traditional macros): Likewise.
	(Invocation): Likewise.
	(Option Index): Likewise.
	* doc/cppopts.texi (-M): Likewise.
	(-finput-charset): Likewise.
	(--help): Likewise.
	* doc.invoke.texi (AVR Options): Likewise.
	(V850 Options): Likewise.

From-SVN: r221583
2015-03-22 21:12:06 -04:00
Jan Hubicka
b190580809 re PR lto/65475 (ICE in odr_vtable_hasher::equal (Segmentation fault))
PR ipa/65475
	* ipa-devirt.c: Include demangle.h
	(odr_type_d): Add field rtti_broken.
	(odr_subtypes_equivalent_p): Do not require name to match.
	(compare_virtual_tables): Fix typo; if type already has ODR violation,
	bypass the tests; be ready for function referneces in vtables that are
	not DECL_VIRTUAL; make warnings to be OPT_Wodr.
	(warn_odr): Give up for nameless types.
	(warn_types_mismatch): Report mismatch in mangled names;
	report mismatch in anonymous namespaces; look into component types to
	give useful error; report when mismatch is dragged in from other ODR
	type.
	(odr_types_equivalent_p): Match types for being polymorphic; avoid
	duplicated diagnostics.
	(add_type_duplicate): Reorder checks so more informative ones come
	first; fix typo; do not output "the extra base is defined here" when
	we did not warn.
	(BINFO_N_BASE_BINFOS): Relax sanity check.
	* g++.dg/lto/pr65475b_0.C: New testcase.
	* g++.dg/lto/pr65475b_1.C: New testcase.
	* g++.dg/lto/pr65475c_0.C: New testcase.
	* g++.dg/lto/pr65475c_1.C: New testcase.

From-SVN: r221582
2015-03-23 00:17:07 +00:00
GCC Administrator
67e00dabd9 Daily bump.
From-SVN: r221581
2015-03-23 00:16:16 +00:00
Martin Liska
ff2362eb35 Speed-up def_builtin_const (ix86_valid_target_attribute).
* config/i386/i386.c (def_builtin): Set deferred_isa_values for
	masks that can potentially include a builtin.
	(ix86_add_new_builtins): Introduce fast filter for isa values
	that cannot trigger builtin inclusion.

From-SVN: r221577
2015-03-22 22:50:00 +00:00
Martin Liska
3ab9335949 IPA ICF: include hash values of references.
* ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
	(sem_item::update_hash_by_local_refs): Likewise.
	(sem_variable::get_hash): Empty line is fixed.
	(sem_item_optimizer::execute): Include adding of hash references.
	(sem_item_optimizer::update_hash_by_addr_refs): New function.
	(sem_item_optimizer::build_hash_based_classes): Use local hash.
	* ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
	(sem_item::update_hash_by_local_refs): Likewise.

From-SVN: r221576
2015-03-22 22:47:06 +00:00
Jerry DeLisle
34d417be31 re PR libfortran/59513 (Fortran runtime error: Sequential READ or WRITE not allowed after EOF marker, possibly use REWIND or BACKSPACE)
2015-03-22 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/59513
	* gfortran.texi (Read/Write after EOF marker): New information.

From-SVN: r221575
2015-03-22 21:37:13 +00:00
Jan Hubicka
dcbde1f881 re PR ipa/65502 (pure-const should play well with clobbers.)
PR ipa/65502
	* ipa-comdats.c (enqueue_references): Walk through thunks.
	(ipa_comdats): Likewise.
	(set_comdat_group_1): New function.

From-SVN: r221574
2015-03-22 21:10:24 +00:00
Jan Hubicka
a6bfa7c773 add forgoten entry.
From-SVN: r221573
2015-03-22 21:09:16 +00:00
Jerry DeLisle
4bfbd309bd re PR libfortran/59513 (Fortran runtime error: Sequential READ or WRITE not allowed after EOF marker, possibly use REWIND or BACKSPACE)
2015-03-22 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/59513
	* io/transfer.c (data_transfer_init): Do not error for
	-std=legacy.

From-SVN: r221572
2015-03-22 18:42:52 +00:00
Dave Korn
ac48a1ba5e contrib.texi (Contributors): Update entry for Danny Smith.
* doc/contrib.texi (Contributors): Update entry for Danny Smith.

Co-Authored-By: Gerald Pfeifer <gerald@pfeifer.com>

From-SVN: r221570
2015-03-22 17:08:00 +00:00
Chung-Lin Tang
a866d527fe nios2-protos.h (nios2_adjust_call_address): Adjust function parameter declaration.
2015-03-21  Chung-Lin Tang  <cltang@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
	function parameter declaration.
	* config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
	Update arguments to nios2_adjust_call_address().
	(sibcall_internal): Rename from *sibcall.
	(sibcall_value_internal): Rename from *sibcall_value.
	* config/nios2/nios2.c (nios2_emit_add_constant): New function.
	(nios2_large_got_address): Add target temp reg parameter.
	(nios2_got_address): Adjust call to nios2_large_got_address, add
	force_reg around it.
	(nios2_load_pic_address): Add target temp reg parameter, replace call
	to nios2_got_address with corresponding code.
	(nios2_legitimize_constant_address): Update call to
	nios2_load_pic_address.
	(nios2_adjust_call_address): Add temp reg parameter, update PIC case
	to use temp reg for PIC loading purposes.
	(nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
	(TARGET_ASM_OUTPUT_MI_THUNK): Likewise.

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

From-SVN: r221569
2015-03-21 22:39:24 -04:00
GCC Administrator
f409ce4cd7 Daily bump.
From-SVN: r221568
2015-03-22 00:16:12 +00:00
Sandra Loosemore
6d5c05f0eb invoke.texi (-fno-diagnostics-show-caret): Fix usage of "the @option{...}".
2015-03-21  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi (-fno-diagnostics-show-caret): Fix
	usage of "the @option{...}".
	(-Wopenmp-simd): Likewise.
	(-fsanitize-recover): Likewise.
	(-fsanitize-undefined-trap-on-error): Likewise.
	(-flto): Likewise.
	(tracer-dynamic-coverage-feedback): Likewise.
	(reorder-block-duplicate-feedback): Likewise.
	(loop-unroll-jam-size): Likewise.
	(-B): Likewise.
	(-I-): Likewise.
	(-mabs=legacy): Likewise.
	(-mupper-regs-df): Likewise.
	(-mupper-regs-sf): Likewise.
	(-mpointers-to-nested-functions): Likewise.

From-SVN: r221564
2015-03-21 19:30:54 -04:00
Sandra Loosemore
ce805a8d92 extend.texi (Cilk Plus Builtins): Add markup.
2015-03-21  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/extend.texi (Cilk Plus Builtins): Add markup.

From-SVN: r221559
2015-03-21 16:34:46 -04:00
Sandra Loosemore
7651042ec6 invoke.texi (-fcheck-pointer-bounds): Copy-edit, add additional index entries and cross-references.
2015-03-21  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
	additional index entries and cross-references.
	(-fchkp-check-incomplete-type): Likewise.
	(-fchkp-first-field-has-own-bounds): Likewise.
	(-fchkp-narrow-to-innermost-array): Likewise.
	(-fchkp-use-fast-string-functions): Likewise.
	(-fchkp-use-nochk-string-functions): Likewise.
	(-fchkp-use-static-const-bounds): Likewise.
	(-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
	(-fchkp-instrument-marked-only): Likewise.
	(-fchkp-use-wrappers): Likewise.
	(-static-libmpx): Likewise.
	(-static-libmpxwrappers): Likewise.
	* doc/extend.texi (bnd_legacy): Likewise.
	(bnd_instrument): Likewise.
	(bnd_variable_size): Likewise.
	(Pointer Bounds Checker builtins): Likewise.

From-SVN: r221558
2015-03-21 14:40:55 -04:00
John David Anglin
844d9a76bc reduction-4.c: Don't run on hppa*-*-hpux*.
* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
	hppa*-*-hpux*.

From-SVN: r221557
2015-03-21 16:19:43 +00:00
Mikael Morin
7ce3cec7a2 Fix ChangeLog year
From-SVN: r221554
2015-03-21 15:04:47 +00:00
Mikael Morin
02ea292607 Fix ChangeLog formatting
From-SVN: r221553
2015-03-21 15:00:30 +00:00
H.J. Lu
2aec4543b1 Put @{xxx} in one line
* gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one
	line.

From-SVN: r221552
2015-03-21 07:26:52 -07:00
Tom de Vries
a79b7ec516 Mark omp thread functions as parallelized
2015-03-21  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65458
	* cgraph.c (cgraph_node::dump): Handle parallelized_function field.
	* cgraph.h (cgraph_node): Add parallelized_function field.
	* lto-cgraph.c (lto_output_node): Write parallelized_function field.
	(input_overwrite_node): Read parallelized_function field.
	* omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
	parallelized_function on cgraph_node for child_fn.
	* tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
	Remove include of gt-tree-parloops.h.
	(parallelized_functions): Remove static variable.
	(parallelized_function_p): Rewrite using parallelized_function field of
	cgraph_node.
	(create_loop_fn): Remove adding to parallelized_functions.
	* Makefile.in (GTFILES): Remove tree-parloops.c

From-SVN: r221551
2015-03-21 10:14:10 +00:00
Tobias Burnus
2691415b63 2015-03-21 Tobias Burnus <burnus@net-b.de>
* gfortran.texi (_gfortran_caf_sync_all,
        * _gfortran_caf_sync_images,
        _gfortran_caf_sync_memory, _gfortran_caf_error_stop,
        _gfortran_caf_error_stop_str, _gfortran_caf_atomic_define,
        _gfortran_caf_atomic_ref, _gfortran_caf_atomic_cas,
        _gfortran_caf_atomic_op): New sections.

From-SVN: r221550
2015-03-21 09:31:17 +01:00
Tobias Burnus
a684fb6488 trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented coindexed coarray accesses.
2015-03-21  Tobias Burnus  <burnus@net-b.de>

        * trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented
        coindexed coarray accesses.

2015-03-21  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_38.f90: New.
        * gfortran.dg/coarray_39.f90: New.
        * gfortran.dg/coarray/coindexed_3.f90: Add dg-error, turn into
        compile test.

From-SVN: r221549
2015-03-21 09:29:40 +01:00
GCC Administrator
506fdd17dd Daily bump.
From-SVN: r221547
2015-03-21 00:16:12 +00:00
Marek Polacek
f594abf4b9 re PR c++/65398 ([C++11] GCC rejects constexpr variable definitions with valid initialization)
PR c++/65398
	* constexpr.c (cxx_fold_indirect_ref): Transform *(&A[i] p+ j) into
	A[i + j].

	* g++.dg/cpp0x/pr65398.C: New test.

From-SVN: r221544
2015-03-20 21:53:40 +00:00
Jan Hubicka
730c436a33 re PR lto/65475 (ICE in odr_vtable_hasher::equal (Segmentation fault))
PR ipa/65475
	* ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
	non-polymorphic
	* g++.dg/lto/pr65475_0.C: New testcase.
	* g++.dg/lto/pr65475_1.C: New testcase.

From-SVN: r221542
2015-03-20 18:19:18 +00:00
Vladimir Makarov
05f23918fa re PR rtl-optimization/64366 (Segmentation fault in remove_pseudos)
2015-03-20  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/64366
	* lra.c (lra_update_insn_regno_info): Consider regs in
	CALL_INSN_FUNCTION_USAGE memory.

2015-03-20  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/64366
	* gcc.target/sh/pr64366.c: New.

From-SVN: r221541
2015-03-20 17:43:48 +00:00
Paolo Carlini
e251e8157e re PR c++/48324 ([C++0x] constexpr evaluation should respect lifetime rules)
2015-03-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/48324
	* g++.dg/cpp0x/constexpr-48324.C: New.

From-SVN: r221539
2015-03-20 17:26:32 +00:00
James Greenhalgh
c00acee464 [Patch Testsuite] Make all_attributes.cc in to (almost_)all_attributes.cc for ARM.
* testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
	test for unused for ARM.
	* testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
	* testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.

From-SVN: r221538
2015-03-20 17:20:12 +00:00
Paolo Carlini
f51cd72afc re PR c++/48453 ([C++0x] [DR 1287] Invalid reference initialization via explicit conversion)
2015-03-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/48453
	* g++.dg/cpp0x/pr48453.C: New.

From-SVN: r221537
2015-03-20 17:06:18 +00:00
Marek Polacek
b75cebc4a7 re PR c++/65072 (Segfault when parsing dectlype in trailing return type)
PR c++/65072
	* typeck.c (lookup_anon_field): Make sure we're dealing with the main
	variant.

	* g++.dg/cpp0x/pr65072.C: New test.

From-SVN: r221535
2015-03-20 14:56:53 +00:00
Jonathan Wakely
df6d9c7f6a c++config (__gnu_cxx::__cxx11): Define new namespace.
* include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
	* include/ext/codecvt_specializations.h (encoding_state,
	encoding_char_traits): Remove abi-tag and use inline namespace.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.

From-SVN: r221533
2015-03-20 13:26:55 +00:00
Richard Biener
3da3ff4e71 re PR tree-optimization/64715 (__builtin_object_size (..., 1) fails to locate subobject)
2015-03-20  Richard Biener  <rguenther@suse.de>

	PR middle-end/64715
	* tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
	for type comparison and gcc_checking_assert.
	(chrec_fold_plus_poly_poly): Likewise.
	(chrec_fold_multiply_poly_poly): Likewise.
	(chrec_convert_1): Likewise.
	* gimplify.c (gimplify_expr): Remove premature folding of
	&X + CST to &MEM[&X, CST].

	* gcc.dg/pr15347.c: Use -O.
	* c-c++-common/pr19807-1.c: Likewise.

From-SVN: r221532
2015-03-20 12:39:32 +00:00
Eric Botcazou
1e039275b5 re PR ada/65451 (compiler crash on volatile access type)
PR ada/65451
	* gcc-interface/utils.c (gnat_pushdecl): Tidy up and improve comment.
	Make sure to chain only main variants through TYPE_NEXT_PTR_TO.

From-SVN: r221531
2015-03-20 10:15:33 +00:00
Jan Hubicka
7ce7e4d494 ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed already is final.
* ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
	already is final.
	(ipa_inline): Recompute inline_failed codes.
	* cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
	USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as 
	CIF_FINAL_ERROR.

From-SVN: r221530
2015-03-20 06:41:17 +00:00
Uros Bizjak
21e357f1f2 re PR rtl-optimization/60851 (ICE: in extract_constrain_insn_cached, at recog.c:2117 with -flive-range-shrinkage -mdispatch-scheduler -march=bdver4)
PR rtl-optimization/60851
	* recog.c (constrain_operands): Accept a pseudo register before reload
	for LRA enabled targets.

testsuite/ChangeLog:

	PR rtl-optimization/60851
	* gcc.target/i386/pr60851.c: New test.

From-SVN: r221529
2015-03-20 07:07:30 +01:00
Vladimir Makarov
5a59d54e05 Add missed ChangeLog entry for revision 221552.
From-SVN: r221528
2015-03-20 00:18:57 +00:00
GCC Administrator
284ab29bd3 Daily bump.
From-SVN: r221527
2015-03-20 00:16:11 +00:00
Michael Meissner
8d9fb9bb35 re PR target/65240 (ICE (insn does not satisfy its constraints) on powerpc64le-linux-gnu)
[gcc]
2015-03-19  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/65240
	* config/rs6000/predicates.md (easy_fp_constant): Remove special
	-ffast-math handling that kept non-0 constants live in the RTL
	until reload.  Remove logic testing the number of instructions it
	took to create a constant in a GPR that was never used, due to a
	test for soft-float earlier.
	(memory_fp_constant): Delete, no longer used.

	* config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
	alternatives for loading non-0 constants into GPRs for hard
	floating point that is no longer needed due to changes in
	easy_fp_constant.  Add support for loading 0.0 into GPRs.
	(mov<mode>_hardfloat32): Likewise.
	(mov<mode>_hardfloat64): Likewise.
	(mov<mode>_64bit_dm): Likewise.
	(movtd_64bit_nodm): Likewise.
	(pre-reload move FP constant define_split): Delete define_split,
	since it is no longer used.
	(extenddftf2_internal): Remove GHF constraints that are not valid
	for extenddftf2.

[gcc/testsuite]
2015-03-19  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/65240
	* gcc/testsuite/g++.dg/pr65240.h: Add tests for PR 65240.
	* gcc/testsuite/g++.dg/pr65240-1.C: Likewise.
	* gcc/testsuite/g++.dg/pr65240-2.C: Likewise.
	* gcc/testsuite/g++.dg/pr65240-3.C: Likewise.
	* gcc/testsuite/g++.dg/pr65240-4.C: Likewise.

From-SVN: r221524
2015-03-19 22:37:33 +00:00
Vladimir Makarov
ef0006ebdb re PR rtl-optimization/63491 (Ice in LRA with simple vector test case on power)
2015-03-19  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/63491
	* lra-constraints.c (check_and_process_move): Use src instead of
	sreg.  Remove some dead code.

2015-03-19  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/63491
	* gcc.target/powerpc/pr63491.c: New.

From-SVN: r221522
2015-03-19 19:59:38 +00:00
Jason Merrill
7cb7357360 re PR c++/65046 (-Wabi-tag doesn't warn about variables or function return types)
PR c++/65046
	Automatically propagate ABI tags to variables and functions
	from their (return) type.
	* class.c (check_tag): Handle variables and functions.
	(mark_or_check_attr_tags): Split out from find_abi_tags_r.
	(mark_or_check_tags): Likewise.
	(mark_abi_tags): Use it.  Rename from mark_type_abi_tags.
	(check_abi_tags): Add single argument overload for decls.
	Handle inheriting tags for decls.
	* mangle.c (write_mangled_name): Call it.
	(mangle_return_type_p): Split out from write_encoding.
	(unmangled_name_p): Split out from write_mangled_name.
	(write_mangled_name): Ignore abi_tag on namespace.
	* cp-tree.h (NAMESPACE_IS_INLINE): Replace NAMESPACE_ABI_TAG.
	* parser.c (cp_parser_namespace_definition): Set it.
	* name-lookup.c (handle_namespace_attrs): Use arguments. Warn
	about abi_tag attribute on non-inline namespace.
	* tree.c (check_abi_tag_args): Split out from handle_abi_tag_attribute.
	(handle_abi_tag_attribute): Allow tags on variables.

From-SVN: r221521
2015-03-19 15:31:48 -04:00
Jakub Jelinek
9b65e171ed c-decl.c (c_decl_attributes): Also add "omp declare target" attribute for DECL_EXTERNAL VAR_DECLs.
* c-decl.c (c_decl_attributes): Also add "omp declare target"
	attribute for DECL_EXTERNAL VAR_DECLs.

	* decl2.c (cplus_decl_attributes): Also add "omp declare target"
	attribute for DECL_EXTERNAL VAR_DECLs.

	* testsuite/libgomp.c/target-10.c: New test.
	* testsuite/libgomp.c++/target-4.C: New test.

From-SVN: r221520
2015-03-19 20:12:43 +01:00
Jan Hubicka
257291fc89 re PR lto/65380 ([ICF] LTO: ICE in add_symbol_to_partition_1, at lto/lto-partition.c:158)
Fix PR ipa/65380.

	PR ipa/65380
	* ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
	(sem_variable::merge): Likewise.

From-SVN: r221519
2015-03-19 17:37:15 +00:00
Martin Liska
e68287df88 re PR ipa/65465 (Internal compiler error: in build2_stIat)
Fix for PR ipa/65465.

	PR ipa/65465
	* cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
	all fields of cgraph_thunk_info.
	* g++.dg/ipa/pr65465.C: New test.

From-SVN: r221518
2015-03-19 17:35:52 +00:00
Ilya Enkovich
5cdd35db59 ipa-chkp.c (chkp_maybe_create_clone): Don't try to clone instrumented thunks.
* ipa-chkp.c (chkp_maybe_create_clone): Don't try to
	clone instrumented thunks.

From-SVN: r221516
2015-03-19 14:01:31 +00:00