aboutsummaryrefslogtreecommitdiffstats
path: root/aarch64
diff options
context:
space:
mode:
authornicolas.nardino <nicolas.nardino@ens-lyon.fr>2021-06-14 17:39:58 +0200
committernicolas.nardino <nicolas.nardino@ens-lyon.fr>2021-06-14 17:39:58 +0200
commitbff4e6ff0b782619b6fcc18751fa575cbb11de68 (patch)
tree76d6f4ee4ed6711e4a548b6cd62e881cf0bbbbff /aarch64
parent3eb3751f84348a20b7ce211fdbf1d01a9c4685a8 (diff)
downloadcompcert-kvx-bff4e6ff0b782619b6fcc18751fa575cbb11de68.tar.gz
compcert-kvx-bff4e6ff0b782619b6fcc18751fa575cbb11de68.zip
was very wrong, fixing
Diffstat (limited to 'aarch64')
-rw-r--r--aarch64/PostpassSchedulingOracle.ml2
-rw-r--r--aarch64/PrepassSchedulingOracle.ml11
2 files changed, 8 insertions, 5 deletions
diff --git a/aarch64/PostpassSchedulingOracle.ml b/aarch64/PostpassSchedulingOracle.ml
index 867341ca..6f784238 100644
--- a/aarch64/PostpassSchedulingOracle.ml
+++ b/aarch64/PostpassSchedulingOracle.ml
@@ -509,7 +509,7 @@ let build_problem bb =
resource_bounds = opweights.pipelined_resource_bounds;
live_regs_entry = Registers.Regset.empty; (* unused here *)
typing = (fun x -> AST.Tint); (* unused here *)
- pressure_deltas = [| [| |] |] ;
+ reference_counting = None;
instruction_usages = instruction_usages bb;
latency_constraints = latency_constraints bb;
}
diff --git a/aarch64/PrepassSchedulingOracle.ml b/aarch64/PrepassSchedulingOracle.ml
index 19f05749..fe757c99 100644
--- a/aarch64/PrepassSchedulingOracle.ml
+++ b/aarch64/PrepassSchedulingOracle.ml
@@ -202,6 +202,7 @@ let get_simple_dependencies (opweights : opweights) (seqa : (instruction*Regset.
!latency_constraints;;
+(** useless *)
let get_pressure_deltas (seqa : (instruction * Regset.t) array)
(typing : RTLtyping.regenv)
: int array array =
@@ -454,13 +455,13 @@ let get_alias_dependencies seqa =
*)
let define_problem (opweights : opweights) (live_entry_regs : Regset.t)
- (typing : RTLtyping.regenv) seqa =
+ (typing : RTLtyping.regenv) reference_counting seqa =
let simple_deps = get_simple_dependencies opweights seqa in
{ max_latency = -1;
resource_bounds = opweights.pipelined_resource_bounds;
live_regs_entry = live_entry_regs;
typing = typing;
- pressure_deltas = get_pressure_deltas seqa typing;
+ reference_counting = Some reference_counting;
instruction_usages = Array.map (resources_of_instruction opweights) (Array.map fst seqa);
latency_constraints =
(* if (use_alias_analysis ())
@@ -492,7 +493,8 @@ let prepass_scheduler_by_name name problem early_ones =
let schedule_sequence (seqa : (instruction*Regset.t) array)
(live_regs_entry : Registers.Regset.t)
- (typing : RTLtyping.regenv) =
+ (typing : RTLtyping.regenv)
+ reference =
let opweights = OpWeights.get_opweights () in
try
if (Array.length seqa) <= 1
@@ -502,7 +504,8 @@ let schedule_sequence (seqa : (instruction*Regset.t) array)
let nr_instructions = Array.length seqa in
(if !Clflags.option_debug_compcert > 6
then Printf.printf "prepass scheduling length = %d\n" (Array.length seqa));
- let problem = define_problem opweights live_regs_entry typing seqa in
+ let problem = define_problem opweights live_regs_entry
+ typing reference seqa in
(if !Clflags.option_debug_compcert > 7
then (print_sequence stdout (Array.map fst seqa);
print_problem stdout problem));