mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-21 16:59:56 +08:00
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
This commit is contained in:
parent
25d1a5a74d
commit
d03f7e440b
@ -1,3 +1,12 @@
|
||||
2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
|
||||
|
||||
* 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.
|
||||
|
||||
2015-01-17 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* cprop.c (do_local_cprop): Disallow replacement of fixed
|
||||
|
@ -94,6 +94,7 @@
|
||||
#include "builtins.h"
|
||||
#include "rtl-iter.h"
|
||||
#include "tm-constrs.h"
|
||||
#include "sched-int.h"
|
||||
|
||||
/* Defined for convenience. */
|
||||
#define POINTER_BYTES (POINTER_SIZE / BITS_PER_UNIT)
|
||||
@ -6499,6 +6500,14 @@ aarch64_sched_issue_rate (void)
|
||||
return aarch64_tune_params->issue_rate;
|
||||
}
|
||||
|
||||
static int
|
||||
aarch64_sched_first_cycle_multipass_dfa_lookahead (void)
|
||||
{
|
||||
int issue_rate = aarch64_sched_issue_rate ();
|
||||
|
||||
return issue_rate > 1 && !sched_fusion ? issue_rate : 0;
|
||||
}
|
||||
|
||||
/* Vectorizer cost model target hooks. */
|
||||
|
||||
/* Implement targetm.vectorize.builtin_vectorization_cost. */
|
||||
@ -11387,6 +11396,10 @@ aarch64_gen_adjusted_ldpstp (rtx *operands, bool load,
|
||||
#undef TARGET_SCHED_ISSUE_RATE
|
||||
#define TARGET_SCHED_ISSUE_RATE aarch64_sched_issue_rate
|
||||
|
||||
#undef TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD
|
||||
#define TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD \
|
||||
aarch64_sched_first_cycle_multipass_dfa_lookahead
|
||||
|
||||
#undef TARGET_TRAMPOLINE_INIT
|
||||
#define TARGET_TRAMPOLINE_INIT aarch64_trampoline_init
|
||||
|
||||
|
@ -268,6 +268,7 @@ static unsigned HOST_WIDE_INT arm_shift_truncation_mask (machine_mode);
|
||||
static bool arm_macro_fusion_p (void);
|
||||
static bool arm_cannot_copy_insn_p (rtx_insn *);
|
||||
static int arm_issue_rate (void);
|
||||
static int arm_first_cycle_multipass_dfa_lookahead (void);
|
||||
static void arm_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
|
||||
static bool arm_output_addr_const_extra (FILE *, rtx);
|
||||
static bool arm_allocate_stack_slots_for_args (void);
|
||||
@ -624,6 +625,10 @@ static const struct attribute_spec arm_attribute_table[] =
|
||||
#undef TARGET_SCHED_ISSUE_RATE
|
||||
#define TARGET_SCHED_ISSUE_RATE arm_issue_rate
|
||||
|
||||
#undef TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD
|
||||
#define TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD \
|
||||
arm_first_cycle_multipass_dfa_lookahead
|
||||
|
||||
#undef TARGET_MANGLE_TYPE
|
||||
#define TARGET_MANGLE_TYPE arm_mangle_type
|
||||
|
||||
@ -27138,6 +27143,16 @@ arm_issue_rate (void)
|
||||
}
|
||||
}
|
||||
|
||||
/* Return how many instructions should scheduler lookahead to choose the
|
||||
best one. */
|
||||
static int
|
||||
arm_first_cycle_multipass_dfa_lookahead (void)
|
||||
{
|
||||
int issue_rate = arm_issue_rate ();
|
||||
|
||||
return issue_rate > 1 && !sched_fusion ? issue_rate : 0;
|
||||
}
|
||||
|
||||
const char *
|
||||
arm_mangle_type (const_tree type)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user