diff options
author | nicolas.nardino <nicolas.nardino@ens-lyon.fr> | 2021-06-04 14:24:07 +0200 |
---|---|---|
committer | nicolas.nardino <nicolas.nardino@ens-lyon.fr> | 2021-06-04 14:24:07 +0200 |
commit | 7ae1fb0faea68ce5cfe04a232e49659247c244e9 (patch) | |
tree | 2f50c53d68ab67ce5f9b1b9ec947a4a3147076ac /aarch64 | |
parent | 3181fe5407ed0221714830e2bd1e19850eac5461 (diff) | |
download | compcert-kvx-7ae1fb0faea68ce5cfe04a232e49659247c244e9.tar.gz compcert-kvx-7ae1fb0faea68ce5cfe04a232e49659247c244e9.zip |
Passing info of live regs to scheduler: beginning
Diffstat (limited to 'aarch64')
-rw-r--r-- | aarch64/PostpassSchedulingOracle.ml | 1 | ||||
-rw-r--r-- | aarch64/PrepassSchedulingOracle.ml | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/aarch64/PostpassSchedulingOracle.ml b/aarch64/PostpassSchedulingOracle.ml index cde3e7a7..a9737088 100644 --- a/aarch64/PostpassSchedulingOracle.ml +++ b/aarch64/PostpassSchedulingOracle.ml @@ -507,6 +507,7 @@ let build_problem bb = { max_latency = -1; resource_bounds = opweights.pipelined_resource_bounds; + live_regs_entry = Registers.Regset.empty; (* PLACEHOLDER *) instruction_usages = instruction_usages bb; latency_constraints = latency_constraints bb; } diff --git a/aarch64/PrepassSchedulingOracle.ml b/aarch64/PrepassSchedulingOracle.ml index 2c3eb14f..1fd12a6a 100644 --- a/aarch64/PrepassSchedulingOracle.ml +++ b/aarch64/PrepassSchedulingOracle.ml @@ -410,6 +410,7 @@ let define_problem (opweights : opweights) seqa = let simple_deps = get_simple_dependencies opweights seqa in { max_latency = -1; resource_bounds = opweights.pipelined_resource_bounds; + live_regs_entry = Regset.empty; (* PLACEHOLDER *) instruction_usages = Array.map (resources_of_instruction opweights) (Array.map fst seqa); latency_constraints = (* if (use_alias_analysis ()) @@ -439,7 +440,8 @@ let prepass_scheduler_by_name name problem early_ones = | "zigzag" -> zigzag_scheduler problem early_ones | _ -> scheduler_by_name name problem -let schedule_sequence (seqa : (instruction*Regset.t) array) = +let schedule_sequence (seqa : (instruction*Regset.t) array) + (live_regs_entry : Registers.Regset.t)= let opweights = OpWeights.get_opweights () in try if (Array.length seqa) <= 1 |