diff options
author | nicolas.nardino <nicolas.nardino@ens-lyon.fr> | 2021-06-04 16:56:32 +0200 |
---|---|---|
committer | nicolas.nardino <nicolas.nardino@ens-lyon.fr> | 2021-06-04 16:56:32 +0200 |
commit | 98a7a04258f2cf6caf9f18925cbeeae2f5b17be4 (patch) | |
tree | 715086c49904a41e11d0e02ff5a3b90eefce080f /aarch64 | |
parent | 7ae1fb0faea68ce5cfe04a232e49659247c244e9 (diff) | |
download | compcert-kvx-98a7a04258f2cf6caf9f18925cbeeae2f5b17be4.tar.gz compcert-kvx-98a7a04258f2cf6caf9f18925cbeeae2f5b17be4.zip |
computing live regs at sb entry from its live output regs
Diffstat (limited to 'aarch64')
-rw-r--r-- | aarch64/PrepassSchedulingOracle.ml | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/aarch64/PrepassSchedulingOracle.ml b/aarch64/PrepassSchedulingOracle.ml index 1fd12a6a..a743fb68 100644 --- a/aarch64/PrepassSchedulingOracle.ml +++ b/aarch64/PrepassSchedulingOracle.ml @@ -406,11 +406,11 @@ let get_alias_dependencies seqa = !deps;; *) -let define_problem (opweights : opweights) seqa = +let define_problem (opweights : opweights) (live_entry_regs : Regset.t) 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 *) + live_regs_entry = live_entry_regs; instruction_usages = Array.map (resources_of_instruction opweights) (Array.map fst seqa); latency_constraints = (* if (use_alias_analysis ()) @@ -451,7 +451,7 @@ 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 seqa in + let problem = define_problem opweights live_regs_entry seqa in (if !Clflags.option_debug_compcert > 7 then (print_sequence stdout (Array.map fst seqa); print_problem stdout problem)); |