Commit Graph

135810 Commits

Author SHA1 Message Date
Thomas Schwinge bed62c21fa [PR libgomp/64625] Remove __OFFLOAD_TABLE__ variable/formal parameter.
gcc/
	* omp-low.c (offload_symbol_decl): Remove variable.
	(get_offload_symbol_decl): Remove function.
	(expand_omp_target): For BUILT_IN_GOMP_TARGET,
	BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
	instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
	BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
	BUILT_IN_GOACC_UPDATE don't pass it at all.
	libgomp/
	* libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
	(GOACC_parallel, GOACC_update): Remove const_void *offload_table
	formal parameter.  Update all users.
	* target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
	Document unused formal parameter.

From-SVN: r219837
2015-01-19 13:05:43 +01:00
Thomas Schwinge 128b26dceb [PR libgomp/64625] Remove __OFFLOAD_TABLE__ variable/formal parameter.
gcc/
	* omp-low.c (offload_symbol_decl): Remove variable.
	(get_offload_symbol_decl): Remove function.
	(expand_omp_target): For BUILT_IN_GOMP_TARGET,
	BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
	instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
	BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
	BUILT_IN_GOACC_UPDATE don't pass it at all.
	libgomp/
	* libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
	(GOACC_parallel, GOACC_update): Remove const_void *offload_table
	formal parameter.  Update all users.
	* target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
	Document unused formal parameter.

From-SVN: r219836
2015-01-19 13:03:35 +01:00
Ilya Enkovich 3d36be01e4 tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk callers.
* tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
	callers.

From-SVN: r219835
2015-01-19 10:28:34 +00:00
Ilya Enkovich c11d86b47f ipa-chkp.c (chkp_produce_thunks): Add early param to split thunks production into two passes.
gcc/

	* ipa-chkp.c (chkp_produce_thunks): Add early param
	to split thunks production into two passes.  Keep
	'always_inline' function bodies after the first pass.
	(pass_data_ipa_chkp_early_produce_thunks): New.
	(pass_ipa_chkp_early_produce_thunks): New.
	(pass_ipa_chkp_produce_thunks::execute): Adjust to new
	chkp_produce_thunks signature.
	(make_pass_ipa_chkp_early_produce_thunks): New.
	* passes.def (pass_ipa_chkp_early_produce_thunks): New.
	(pass_ipa_chkp_produce_thunks): Move after local optimizations.
	* tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.

gcc/testsuite/

	* gcc.target/i386/chkp-always_inline.c: New.

From-SVN: r219834
2015-01-19 10:26:52 +00:00
Jakub Jelinek 9deaf59d1b re PR sanitizer/64435 (Bootstrap failure in libsanitizer on AArch64 with Linux kernel <= 3.15)
PR sanitizer/64435
	* sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry pick
	upstream r223925.

From-SVN: r219833
2015-01-19 09:39:27 +01:00
Andrew Pinski 2f3b40a730 abitest.S (LABEL_TEST_FUNC_RETURN): Load testfunc_ptr as 32bit for ILP32 and 64bit for LP64.
* gcc.target/aarch64/aapcs64/abitest.S (LABEL_TEST_FUNC_RETURN): Load
	testfunc_ptr as 32bit for ILP32 and 64bit for LP64.


Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>

From-SVN: r219832
2015-01-19 04:46:27 +00:00
Ian Lance Taylor b077669c47 reflect: Fix build for systems that do not define ffi_go_closure.
From-SVN: r219831
2015-01-19 02:56:28 +00:00
GCC Administrator 342a33940d Daily bump.
From-SVN: r219830
2015-01-19 00:17:04 +00:00
Paul Thomas 5b384b3d55 [multiple changes]
2015-01-18  Andre Vehreschild  <vehre@gmx.de>
	    Janus Weil <janus@gcc.gnu.org>

	PR fortran/60255
	* class.c (gfc_get_len_component): New.
	(gfc_build_class_symbol): Add _len component to unlimited
	polymorphic entities.
	(find_intrinsic_vtab): Removed emitting of error message.
	* gfortran.h: Added prototype for gfc_get_len_component.
	* simplify.c (gfc_simplify_len): Use _len component where
	available.
	* trans-expr.c (gfc_class_len_get): New.
	(gfc_conv_intrinsic_to_class): Add handling for deferred
	character arrays.
	(gfc_conv_structure): Treat _len component correctly.
	(gfc_conv_expr): Prevent bind_c handling when not required.
	(gfc_trans_pointer_assignment): Propagate _len component.
	* trans-stmt.c (class_has_len_component): New.
	(trans_associate_var): _len component treatment for associate
	context.
	(gfc_trans_allocate): Same as for trans_associate_var()
	* trans.h: Added prototype for gfc_class_len_get.

2015-01-18  Andre Vehreschild  <vehre@gmx.de>

	PR fortran/60255
	* gfortran.dg/unlimited_polymorphic_2.f03: Removed error.
	* gfortran.dg/unlimited_polymorphic_20.f03: New test.

2015-01-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/64578
	* gfortran.dg/unlimited_polymorphic_21.f90: New test

From-SVN: r219827
2015-01-18 22:01:29 +00:00
Jan Hubicka 69fe450248 lto.c (compare_tree_sccs_1): Add comparsion of DECL_FUNCTION_SPECIFIC_TARGET
* lto.c (compare_tree_sccs_1): Add comparsion of
	DECL_FUNCTION_SPECIFIC_TARGET

From-SVN: r219826
2015-01-18 19:33:32 +00:00
Jan Hubicka a89bd7d2ec * cgraph.c (cgraph_node::dump): Dump profile flags.
From-SVN: r219825
2015-01-18 19:31:58 +00:00
Oleg Endo 15a43a0cdb re PR target/64652 ([SH] ICE when using -mdiv=call-fp)
gcc/
	PR target/64652
	* config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
	reg appear first in the parallel.

gcc/testsuite/
	PR target/64652
	* gcc.target/sh/torture/pr64652.c: New.

From-SVN: r219824
2015-01-18 18:12:53 +00:00
Jan Hubicka b16650ac47 ipa-icf-32.c: Update template.
* gcc.dg/ipa/ipa-icf-32.c: Update template.
	* c-c++-common/asan/instrument-with-calls-3.c: Likewise.
	* c-c++-common/asan/instrument-with-calls-2.c: Likewise.
	* c-c++-common/asan/instrument-with-calls-1.c: Likewise.
	* c-c++-common/asan/kasan-recover-1.c: Likewise.
	* c-c++-common/asan/kasan-recover-2.c: Likewise.

	* ipa-reference.c (set_reference_optimization_summary,
	ipa_reference_get_not_written_global): Do nothing if ipa-reference is disabled.
	(ignore_module_statics): New static var.
	(propagate_bits): If ipa-reference is disabled, do not look into local properties.
	(analyze_function): Disable analysis when ipa_reference is disabled.
	(generate_summary): Do not dump when reference is disabled;
	collect vars accessed from functions with ipa-reference disabled.
	(get_read_write_all_from_node): When ipa-reference is disabled, use the
	node flags.
	(gate): Enable for LTO.
	(ignore_edge_p): New function.
	(propagate): Skip functions w/o ipa-reference analysis.
	* optc-save-gen.awk: Handle optimize_debug correctly.
	* opth-gen.awk: Likewise.
	* common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
	fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
	fira-share-save-slots, fira-share-spill-slots,
	fmodulo-sched-allow-regmoves, fpartial-inlining,
	sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
	ftracer, ftree-parallelize-loops, fassociative-math,
	freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
	Optimization
	(fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
        ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
        Optimization.
	* ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
	Fix for IPA.

From-SVN: r219823
2015-01-18 17:42:11 +00:00
Jan Hubicka 33c3b6be4d re PR ipa/64378 (ICE: in inline_call, at ipa-inline-transform.c:347 with -O3 -fno-ipa-cp)
PR ipa/64378
	* ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
	flag correctly.
	* ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
	* g++.dg/torture/pr64378.C: New testcase.

From-SVN: r219822
2015-01-18 17:31:35 +00:00
Jonathan Wakely 257024e31e re PR libstdc++/64646 (New overloads of std::is_permutation dereference past-the-end iterator)
PR libstdc++/64646
	* include/bits/stl_algo.h (__is_permutation): Also test for reaching
	end of the second range.
	* testsuite/25_algorithms/is_permutation/64646.cc: New.

From-SVN: r219821
2015-01-18 16:31:06 +00:00
Paul Thomas 8fc4dc4adc correct PR numbers on previous commit
From-SVN: r219819
2015-01-18 16:02:43 +00:00
Paul Thomas a878f8e80c re PR fortran/64578 ([OOP] Seg-fault and ICE with unlimited polymorphic array pointer function)
2015-01-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/64578
	* trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
	for allocatable components, where the source is a variable.

2015-01-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/64578
	* gfortran.dg/block_13.f08: New test

From-SVN: r219818
2015-01-18 15:52:49 +00:00
Jonathan Wakely fded3d73da status_cxx2011.xml: Remove note about offsetof.
* doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
	* doc/html/manual/status.html: Regenerate.

From-SVN: r219817
2015-01-18 15:47:18 +00:00
Jonathan Wakely 1e3919acb1 * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
From-SVN: r219816
2015-01-18 14:38:53 +00:00
Jonathan Wakely 87361f3098 atomic_futex.h: Use mutex and condition_variable when atomic int is not lock-free.
* include/bits/atomic_futex.h: Use mutex and condition_variable when
	atomic int is not lock-free. Make member variables private.
	* src/c++11/futex.cc: Likewise.

From-SVN: r219815
2015-01-18 14:25:22 +00:00
Paul Thomas e207c52262 re PR fortran/55901 ([OOP] type is (character(len=*)) misinterpreted as array)
2015-01-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/55901
	* primary.c (gfc_match_varspec): Exclude dangling associate-
	names with dimension 0 from being counted as arrays.
	* resolve.c (resolve_assoc_var): Sub-strings are permissible
	for associate-names, so exclude characters from the test for
	misuse as arrays.
	* trans-decl.c (gfc_get_symbol_decl): Associate-names can use
	the hidden string length variable of their associated target.
	Signal this by setting 'length' to a constant, if the decl for
	the string length is a variable.

2015-01-18  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/55901
	* gfortran.dg/associate_1.f03: Allow test for character with
	automatic length.

From-SVN: r219814
2015-01-18 12:21:38 +00:00
Sandra Loosemore d28701a2da invoke.texi ([-funroll-loops], [...]): Remove duplicate option listings.
2015-01-18  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
	Remove duplicate option listings.

From-SVN: r219813
2015-01-17 22:19:58 -05:00
Felix Yang 1500c66f0d auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
* auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
        (autofdo_source_profile::get_callsite_total_count,
        function_instance::get_function_instance_by_decl,
        string_table::get_index, string_table::get_index_by_decl,
        afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
        Fix comment typos. Reformatting and minor code rearrangement.

From-SVN: r219812
2015-01-18 02:25:42 +00:00
GCC Administrator a07c25b5cb Daily bump.
From-SVN: r219811
2015-01-18 00:17:04 +00:00
Segher Boessenkool f2a93012e6 ppc-fpconv-4.c: Skip for -mpowerpc64.
* gcc.target/powerpc/ppc-fpconv-4.c: Skip for -mpowerpc64.
	* gcc.target/powerpc/ppc-fpconv-8.c: Ditto.

From-SVN: r219808
2015-01-17 22:12:24 +01:00
Segher Boessenkool c077981875 * gcc.dg/20020919-1.c: Use _ARCH_PPC64 to test for -mpowerpc64.
From-SVN: r219807
2015-01-17 22:10:30 +01:00
Segher Boessenkool 779fc8fbe8 rs6000.md (probe_stack): Delete.
* config/rs6000/rs6000.md (probe_stack): Delete.
	(probe_stack_address): New.

From-SVN: r219806
2015-01-17 22:08:39 +01:00
Segher Boessenkool ffafb4f039 rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT to test for 32-bit ABIs, not !TARGET_POWERPC64.
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
	to test for 32-bit ABIs, not !TARGET_POWERPC64.

From-SVN: r219805
2015-01-17 22:04:23 +01:00
Segher Boessenkool 436bd91737 rs6000.c (rs6000_parallel_return): New function.
* config/rs6000/rs6000.c (rs6000_parallel_return): New function.
	(rs6000_function_value): Use it.  Handle SCmode and TCmode as well,
	for TARGET_32BIT && TARGET_POWERPC64.  Fix another BITS_PER_WORD
	snafu.
	(rs6000_libcall_value): Use the new function.

From-SVN: r219804
2015-01-17 21:58:12 +01:00
Sandra Loosemore 3b97ab5aed invoke.texi ([-ftracer]): Remove duplicate option listing.
2015-01-17  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi ([-ftracer]): Remove duplicate option listing.

From-SVN: r219803
2015-01-17 15:51:24 -05:00
Paul Thomas 029b2d5596 re PR fortran/64578 ([OOP] Seg-fault and ICE with unlimited polymorphic array pointer function)
2015-01-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/64578
	* trans-expr.c (gfc_trans_pointer_assignment): Make sure that
	before reinitializing rse, to add the rse.pre to block before
	creating 'ptrtemp'.
	* trans-intrinsic.c (gfc_conv_associated): Deal with the class
	data being a descriptor.

2015-01-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/64578
	* gfortran.dg/unlimited_polymorphic_21.f90: New test

From-SVN: r219802
2015-01-17 20:44:07 +00:00
Andre Vehreschild 9b5485174b re PR fortran/60357 ([F08] structure constructor with unspecified values for allocatable components)
2015-01-17  Andre Vehreschild  <vehre@gmx.de>

	PR fortran/60357
	* primary.c (build_actual_constructor): Prevent warning.
	* trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
	assignment): New function encapsulates treatment of allocatable
	components.
	(gfc_trans_subcomponent_assign): Needed to distinguish between
	regular assignment and initilization.
	(gfc_trans_structure_assign): Same.
	(gfc_conv_structure): Same.

	PR fortran/61275
	* gfortran.h: deferred_parameter is not needed, because
	it artificial does the trick completely.
	* primary.c (build_actual_constructor): Same.
	(gfc_convert_to_structure_constructor): Same.
	* resolve.c (resolve_fl_derived0): Same.
	* trans-expr.c (gfc_conv_component_ref): Prevent treating
	allocatable deferred length char arrays here.
	(gfc_trans_subcomponent_assign): Same as above.
	* trans-types.c (gfc_sym_type): This is done in
	gfc_get_derived_type already.

2015-01-17  Andre Vehreschild  <vehre@gmx.de>

	PR fortran/60357
	* gfortran.dg/alloc_comp_assign_13.f08: New test.

	PR fortran/61275
	* gfortran.dg/alloc_comp_assign_14.f08: New test.

	PR fortran/55932
	* gfortran.dg/alloc_comp_initializer_4.f03: New test.

From-SVN: r219801
2015-01-17 18:08:38 +00:00
Eric Botcazou 33c2207d3f reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid...
* reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
	implement a more precise life analysis for it during backward scan.

From-SVN: r219800
2015-01-17 14:00:57 +00:00
Jonathan Wakely c6c1bfd99b re PR libstdc++/64638 (Build failure with recent futex changes in libstdc++, likely all non-gthreads targets)
PR libstdc++/64638
	* include/bits/atomic_futex.h: Use appropriate config macros for
	availability of std::mutex, std::condition and std::chrono.

From-SVN: r219799
2015-01-17 13:48:48 +00:00
Andre Vehreschild adbfb3f8e0 re PR fortran/60334 (Segmentation fault on character pointer assignments)
2015-01-17  Andre Vehreschild  <vehre@gmx.de>

	PR fortran/60334
	* trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
	length when the symbol is declared to be a result.
	* trans-expr.c (gfc_conv_procedure_call): Strip deref on the
	string length when functions are nested and the string length
	is a reference already.

2015-01-17  Andre Vehreschild  <vehre@gmx.de>

	PR fortran/60334
	* gfortran.dg/deferred_type_param_6.f90: Add tests for this PR.

From-SVN: r219798
2015-01-17 11:07:57 +00:00
Jan Kratochvil c39435736f dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
2015-01-17  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.

From-SVN: r219797
2015-01-17 08:00:13 +00:00
Bernd Schmidt 0ed4bf92c5 re PR rtl-optimization/52773 (internal error: in replace_pseudos_in, at reload1.c:577)
PR rtl-optimization/52773
	* calls.c (emit_library_call_value): When pushing arguments use
	stack_pointer_rtx rather than virtual_outgoing_args_rtx in
	CALL_INSN_FUNCTION_USAGE.  Only emit one of use of the magic
	stack pointer reference into CALL_INSN_FUNCTION_USAGE.

	PR rtl-optimization/52773
	* gcc.c-torture/compile/pr52773.c: New test.

From-SVN: r219796
2015-01-17 00:35:40 -07:00
Jeff Law bd5fb71cd0 re PR rtl-optimization/32790 (REG_N_SETS holds wrong value)
PR rtl-optimization/32790
        * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
        not ZERO_EXTEND in SET_DESTs.

From-SVN: r219795
2015-01-17 00:24:24 -07:00
Ville Voutilainen 21c4af433b status_cxx2011.xml: Update C++11 status.
2015-01-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
	    Jonathan Wakely  <jwakely@redhat.com>

	* doc/xml/manual/status_cxx2011.xml: Update C++11 status.
	* doc/html/*: Regenerate.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r219794
2015-01-17 03:23:52 +00:00
Jonathan Wakely 1d0a12dc55 DR 488 PR libstdc++/58357
DR 488
	PR libstdc++/58357
	* include/bits/algorithmfwd.h (rotate): Return an iterator.
	* include/bits/stl_algo.h (rotate, __rotate): Likewise.
	* testsuite/25_algorithms/rotate/dr488.cc: New.
	* testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
	* testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
	2.cc: Likewise.
	* testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
	pod.cc: Likewise.

From-SVN: r219793
2015-01-17 03:15:52 +00:00
Alan Modra aed381270d Revert last change
From-SVN: r219792
2015-01-17 13:34:55 +10:30
DJ Delorie 48c528ae3a rl78-real.md (addqi3_real): Allow volatiles.
* config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
(addhi3_real): Likewise.  Fix [HL+0] syntax.
(subqi3_real): Likewise.
(subhi3_real): Likewise.
(cbranchqi4_real): Likewise.  Allow saddr,#imm.
(cbranchhi4_real): Likewise.
(cbranchhi4_real_inverted): Likewise.
(cbranchsi4_real_lt): Likewise.
(cbranchsi4_real_ge): Likewise.
(cbranchsi4_real_ge): Likewise.
* config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
(sub<mode>3_virt): Likewise.
(cbranchqi4_virt): Likewise.
(cbranchhi4_virt): Likewise.
* config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
always use '[reg+imm]' even when imm is zero.
* config/rl78/predicates.md (rl78_volatile_memory_operand): New.
(rl78_general_operand): New.
(rl78_nonimmediate_operand): New.
(rl78_nonfar_operand): Use them.
(rl78_nonfar_nonimm_operand): Likewise.
(rl78_stack_based_mem): Fix.
* config/rl78/constraints.md (Ibqi): New.
(IBqi): New.
(Wsa): New.
(Wsf): New.
(Cs1): Fix.
* config/rl78/rl78-expand.md (andqi3): Accept volatiles.
(iorqi3): Likewise.
(xorqi3): Likewise.
* config/rl78/rl78-protos.h (rl78_sfr_p): New.

        * config/rl78/constrains (Qs8): New constraint.
        * config/rl78/rl78.c (rl78_flags_already_set): New function.
        * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
        * config/rl78/rl78-real.md (update_Z): New attribute.
        Update patterns to set it.
        (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
        shorter compare and branch sequence can be used.
        (cbranchhi4_real): Likewise.
        (cbranchhi4_real_inverted): Likewise.

* config/rl78/predicates.md (uword_operand): Allow symbol_refs.
* config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
address space.
* config/rl78/rl78.c (rl78_get_name_encoding): New.
(rl78_option_override): Allow -mes0 only if C.
(characterize_address): Support subregs of symbol_refs.
(rl78_addr_space_address_mode): Move.  Add __near.
(rl78_far_p): Likewise.
(rl78_addr_space_pointer_mode): Likewise.
(rl78_as_legitimate_address): Likewise.
(rl78_addr_space_subset_p): Likewise.
(rl78_addr_space_convert): Likewise.
(rl78_print_operand_1): Support 16-bit addressing of 32-bit
symbols with -mes0.
(transcode_memory_rtx): Don't copy ES if -mes0.  Allow symbol[BC]
addressing.
(rl78_alloc_physical_registers_op1): Change logic to prefer
symbol[BC] addressing.
(frodata_section): New.
(rl78_asm_init_sections): Initialize it.
(rl78_select_section): Put __far readonly symbols in .frodata.
(rl78_make_type_far): New.
(rl78_insert_attributes): Force all readonly symbols to be __far when -mes0.
(rl78_asm_out_integer): New.
* config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
* config/rl78/rl78.opt (-mes0): New.

* config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
(ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
* config/rl78/rl78-protos.h (rl78_output_labelref): New.
(rl78_saddr_p): New.
(rl78_output_aligned_common): New.
* config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
(rl78_handle_saddr_attribute): New.
(rl78_handle_naked_attribute): New.
(rl78_attribute_table): Add saddr.
(rl78_print_operand_1): Don't print '!' on saddr operands.
(rl78_print_operand_1): Strip encodings.
(rl78_sfr_p): New.
(rl78_strip_name_encoding): New.
(rl78_attrlist_to_encoding): New.
(rl78_encode_section_info): New.
(rl78_asm_init_sections): New.
(rl78_select_section): New.
(rl78_output_labelref): New.
(rl78_output_aligned_common): New.
(rl78_asm_out_integer): New.
(rl78_asm_ctor_dtor): New.
(rl78_asm_constructor): New.
(rl78_asm_destructor): New.

* config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
* config/rl78/rl78.c (rl78_expand_epilogue): Update.
(transcode_memory_rtx): Update.
(rl78_expand_epilogue): Use A_REG instead of 0.

Co-Authored-By: Nick Clifton <nickc@redhat.com>

From-SVN: r219791
2015-01-16 21:57:53 -05:00
Jonathan Wakely d31b87976f re PR libstdc++/60940 (general operations on atomic types do not work with atomic integral typedefs)
PR libstdc++/60940
	* include/bits/atomic_base.h: Remove atomic integral typedefs as
	synonyms for __atomic_base<int> etc.
	* include/std/atomic: Make atomic_int a synonym for atomic<int> and
	likewise for all atomic integral types.
	* testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
	* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.

From-SVN: r219790
2015-01-17 01:23:28 +00:00
Maxim Kuvyrkov 340c79045e Model cache auto-prefetcher in scheduler
* config/arm/arm-protos.h (struct tune_params): New field
	sched_autopref_queue_depth.
	* config/arm/arm.c (sched-int.h): Include header.
	(arm_first_cycle_multipass_dfa_lookahead_guard,)
	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
	(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
	(arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
	(arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
	(arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
	(arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
	(arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
	Specify sched_autopref_queue_depth value.  Enabled for A15 and A57.
	* config/arm/t-arm (arm.o): Update.
	* haifa-sched.c (update_insn_after_change): Update.
	(rank_for_schedule): Use auto-prefetcher model, if requested.
	(autopref_multipass_init): New static function.
	(autopref_rank_for_schedule): New rank_for_schedule heuristic.
	(autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
	variable for debug dumps.
	(autopref_multipass_dfa_lookahead_guard_1): New static helper function.
	(autopref_multipass_dfa_lookahead_guard): New global function that
	implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
	(init_h_i_d): Update.
	* params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
	* sched-int.h (enum autopref_multipass_data_status): New const enum.
	(autopref_multipass_data_): Structure for auto-prefetcher data.
	(autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
	(struct _haifa_insn_data:autopref_multipass_data): New field.
	(INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
	(autopref_multipass_dfa_lookahead_guard): Declare.

From-SVN: r219789
2015-01-17 01:06:43 +00:00
Maxim Kuvyrkov 71acd4776f Handle SCRATCH in decompose_address
* rtlanal.c (get_base_term): Handle SCRATCH.

From-SVN: r219788
2015-01-17 01:06:29 +00:00
Maxim Kuvyrkov d03f7e440b Enable max_issue for AArch32 and AArch64
Enable max_issue for AArch32 and AArch64
	* config/aarch64/aarch64.c
	(aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
	* config/arm/arm.c
	(arm_first_cycle_multipass_dfa_lookahead): Implement hook.
	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.

From-SVN: r219787
2015-01-17 01:06:17 +00:00
Alan Modra 25d1a5a74d cprop.c (do_local_cprop): Disallow replacement of fixed hard registers.
* cprop.c (do_local_cprop): Disallow replacement of fixed
	hard registers.

From-SVN: r219786
2015-01-17 11:11:52 +10:30
Jonathan Wakely 3ecec1eff7 re PR libstdc++/56785 (std::tuple of two elements does not apply empty base class optimization when one of its elements is a std::tuple with two elements)
PR libstdc++/56785
	* include/std/tuple (_Tuple_impl): Remove zero-element specialization
	and define one-element specialization.
	* testsuite/20_util/tuple/56785.cc: New.

From-SVN: r219785
2015-01-17 00:21:41 +00:00
GCC Administrator 3c16c4238b Daily bump.
From-SVN: r219784
2015-01-17 00:16:37 +00:00
Jonathan Wakely c23ccace5c 1.cc: Remove unused header.
* testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
	Remove unused header.
	* testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
	Likewise.
	* testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
	Likewise.

From-SVN: r219781
2015-01-17 00:12:50 +00:00