aboutsummaryrefslogtreecommitdiffstats
path: root/aarch64/PrepassSchedulingOracleDeps.ml
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-10-22 13:26:35 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-10-22 13:26:35 +0200
commit1740571e67f4c9384aea706132b534411d24b36c (patch)
treeb302aa3a47591031c5a9efa4a129eb9165e6a6f4 /aarch64/PrepassSchedulingOracleDeps.ml
parenta8f9909dda3a6f1f997721b753057030575c3c4e (diff)
downloadcompcert-kvx-1740571e67f4c9384aea706132b534411d24b36c.tar.gz
compcert-kvx-1740571e67f4c9384aea706132b534411d24b36c.zip
allow changing target cpu
Diffstat (limited to 'aarch64/PrepassSchedulingOracleDeps.ml')
-rw-r--r--aarch64/PrepassSchedulingOracleDeps.ml17
1 files changed, 17 insertions, 0 deletions
diff --git a/aarch64/PrepassSchedulingOracleDeps.ml b/aarch64/PrepassSchedulingOracleDeps.ml
new file mode 100644
index 00000000..8d10d406
--- /dev/null
+++ b/aarch64/PrepassSchedulingOracleDeps.ml
@@ -0,0 +1,17 @@
+type called_function = (Registers.reg, AST.ident) Datatypes.sum
+
+type opweights =
+ {
+ pipelined_resource_bounds : int array;
+ nr_non_pipelined_units : int;
+ latency_of_op : Op.operation -> int -> int;
+ resources_of_op : Op.operation -> int -> int array;
+ non_pipelined_resources_of_op : Op.operation -> int -> int array;
+ latency_of_load : AST.trapping_mode -> AST.memory_chunk -> Op.addressing -> int -> int;
+ resources_of_load : AST.trapping_mode -> AST.memory_chunk -> Op.addressing -> int -> int array;
+ resources_of_store : AST.memory_chunk -> Op.addressing -> int -> int array;
+ resources_of_cond : Op.condition -> int -> int array;
+ latency_of_call : AST.signature -> called_function -> int;
+ resources_of_call : AST.signature -> called_function -> int array;
+ resources_of_builtin : AST.external_function -> int array
+ };;