1. 19 Jan, 2015 2 commits
  2. 18 Jan, 2015 16 commits
    • [multiple changes] · 5b384b3d
      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
      Paul Thomas committed
    • lto.c (compare_tree_sccs_1): Add comparsion of DECL_FUNCTION_SPECIFIC_TARGET · 69fe4502
      
      	* lto.c (compare_tree_sccs_1): Add comparsion of
      	DECL_FUNCTION_SPECIFIC_TARGET
      
      From-SVN: r219826
      Jan Hubicka committed
    • * cgraph.c (cgraph_node::dump): Dump profile flags. · a89bd7d2
      From-SVN: r219825
      Jan Hubicka committed
    • re PR target/64652 ([SH] ICE when using -mdiv=call-fp) · 15a43a0c
      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
      Oleg Endo committed
    • ipa-icf-32.c: Update template. · b16650ac
      
      	* 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
      Jan Hubicka committed
    • re PR ipa/64378 (ICE: in inline_call, at ipa-inline-transform.c:347 with -O3 -fno-ipa-cp) · 33c3b6be
      
      	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
      Jan Hubicka committed
    • re PR libstdc++/64646 (New overloads of std::is_permutation dereference past-the-end iterator) · 257024e3
      	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
      Jonathan Wakely committed
    • correct PR numbers on previous commit · 8fc4dc4a
      From-SVN: r219819
      Paul Thomas committed
    • re PR fortran/64578 ([OOP] Seg-fault and ICE with unlimited polymorphic array pointer function) · a878f8e8
      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
      Paul Thomas committed
    • status_cxx2011.xml: Remove note about offsetof. · fded3d73
      	* doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
      	* doc/html/manual/status.html: Regenerate.
      
      From-SVN: r219817
      Jonathan Wakely committed
    • atomic_futex.h: Use mutex and condition_variable when atomic int is not lock-free. · 87361f30
      	* 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
      Jonathan Wakely committed
    • re PR fortran/55901 ([OOP] type is (character(len=*)) misinterpreted as array) · e207c522
      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
      Paul Thomas committed
    • invoke.texi ([-funroll-loops], [...]): Remove duplicate option listings. · d28701a2
      2015-01-18  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
      	Remove duplicate option listings.
      
      From-SVN: r219813
      Sandra Loosemore committed
    • auto-profile.c (afdo_find_equiv_class): Remove unnecessary test. · 1500c66f
              * 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
      Felix Yang committed
    • Daily bump. · a07c25b5
      From-SVN: r219811
      GCC Administrator committed
  3. 17 Jan, 2015 22 commits
    • ppc-fpconv-4.c: Skip for -mpowerpc64. · f2a93012
      	* gcc.target/powerpc/ppc-fpconv-4.c: Skip for -mpowerpc64.
      	* gcc.target/powerpc/ppc-fpconv-8.c: Ditto.
      
      From-SVN: r219808
      Segher Boessenkool committed
    • rs6000.md (probe_stack): Delete. · 779fc8fb
      	* config/rs6000/rs6000.md (probe_stack): Delete.
      	(probe_stack_address): New.
      
      From-SVN: r219806
      Segher Boessenkool committed
    • rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT to test for 32-bit ABIs, not !TARGET_POWERPC64. · ffafb4f0
      	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
      	to test for 32-bit ABIs, not !TARGET_POWERPC64.
      
      From-SVN: r219805
      Segher Boessenkool committed
    • rs6000.c (rs6000_parallel_return): New function. · 436bd917
      	* 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
      Segher Boessenkool committed
    • invoke.texi ([-ftracer]): Remove duplicate option listing. · 3b97ab5a
      2015-01-17  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
      
      From-SVN: r219803
      Sandra Loosemore committed
    • re PR fortran/64578 ([OOP] Seg-fault and ICE with unlimited polymorphic array pointer function) · 029b2d55
      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
      Paul Thomas committed
    • re PR fortran/60357 ([F08] structure constructor with unspecified values for… · 9b548517
      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
      Andre Vehreschild committed
    • reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid... · 33c2207d
      	* 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
      Eric Botcazou committed
    • re PR libstdc++/64638 (Build failure with recent futex changes in libstdc++,… · c6c1bfd9
      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
      Jonathan Wakely committed
    • re PR fortran/60334 (Segmentation fault on character pointer assignments) · adbfb3f8
      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
      Andre Vehreschild committed
    • dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed. · c3943573
      2015-01-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
      
      	* dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
      
      From-SVN: r219797
      Jan Kratochvil committed
    • re PR rtl-optimization/52773 (internal error: in replace_pseudos_in, at reload1.c:577) · 0ed4bf92
      	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
      Bernd Schmidt committed
    • re PR rtl-optimization/32790 (REG_N_SETS holds wrong value) · bd5fb71c
      	PR rtl-optimization/32790
              * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
              not ZERO_EXTEND in SET_DESTs.
      
      From-SVN: r219795
      Jeff Law committed
    • status_cxx2011.xml: Update C++11 status. · 21c4af43
      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
      Ville Voutilainen committed
    • DR 488 PR libstdc++/58357 · 1d0a12dc
      	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
      Jonathan Wakely committed
    • Revert last change · aed38127
      From-SVN: r219792
      Alan Modra committed
    • rl78-real.md (addqi3_real): Allow volatiles. · 48c528ae
      * 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
      DJ Delorie committed
    • re PR libstdc++/60940 (general operations on atomic types do not work with… · d31b8797
      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
      Jonathan Wakely committed
    • Model cache auto-prefetcher in scheduler · 340c7904
      	* 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
      Maxim Kuvyrkov committed
    • Handle SCRATCH in decompose_address · 71acd477
      	* rtlanal.c (get_base_term): Handle SCRATCH.
      
      From-SVN: r219788
      Maxim Kuvyrkov committed
    • Enable max_issue for AArch32 and AArch64 · d03f7e44
      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
      Maxim Kuvyrkov committed