aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/aarch64/aarch64.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/aarch64/aarch64.c')
-rw-r--r--gcc/config/aarch64/aarch64.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 8e9d2d4274a..1cfabdbc404 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -65,6 +65,7 @@
#include "aarch64-cost-tables.h"
#include "dumpfile.h"
#include "tm-constrs.h"
+#include "sched-int.h"
/* Defined for convenience. */
#define POINTER_BYTES (POINTER_SIZE / BITS_PER_UNIT)
@@ -6156,6 +6157,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 ? issue_rate : 0;
+}
+
/* Vectorizer cost model target hooks. */
/* Implement targetm.vectorize.builtin_vectorization_cost. */
@@ -10395,6 +10404,10 @@ aarch_macro_fusion_pair_p (rtx prev, rtx curr)
#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