diff options
Diffstat (limited to 'mppa_k1c')
-rw-r--r-- | mppa_k1c/Chunks.v | 4 | ||||
-rw-r--r-- | mppa_k1c/InstructionScheduler.ml | 2 | ||||
-rw-r--r-- | mppa_k1c/InstructionScheduler.mli | 2 | ||||
-rw-r--r-- | mppa_k1c/PostpassSchedulingOracle.ml | 9 |
4 files changed, 7 insertions, 10 deletions
diff --git a/mppa_k1c/Chunks.v b/mppa_k1c/Chunks.v index 833f8116..40778877 100644 --- a/mppa_k1c/Chunks.v +++ b/mppa_k1c/Chunks.v @@ -1,10 +1,12 @@ Require Import AST. Require Import Values. Require Import Integers. +Require Import Coq.ZArith.BinIntDef. +Require Import BinNums. Local Open Scope Z_scope. -Definition zscale_of_chunk (chunk: memory_chunk) := +Definition zscale_of_chunk (chunk: memory_chunk) : Z := match chunk with | Mint8signed => 0 | Mint8unsigned => 0 diff --git a/mppa_k1c/InstructionScheduler.ml b/mppa_k1c/InstructionScheduler.ml index f9f99b1f..1fa55c9b 100644 --- a/mppa_k1c/InstructionScheduler.ml +++ b/mppa_k1c/InstructionScheduler.ml @@ -364,7 +364,7 @@ let bundles_to_schedule problem bundles : solution = end ) bundles; schedule;; -let dumb_scheduler (problem : problem) : solution option = +let greedy_scheduler (problem : problem) : solution option = let bundles = make_bundles problem 0 in Some (bundles_to_schedule problem bundles);; diff --git a/mppa_k1c/InstructionScheduler.mli b/mppa_k1c/InstructionScheduler.mli index 701ccb25..f91c2d06 100644 --- a/mppa_k1c/InstructionScheduler.mli +++ b/mppa_k1c/InstructionScheduler.mli @@ -63,7 +63,7 @@ Once a clock tick is full go to the next. val list_scheduler : problem -> solution option (** Schedule the problem using the order of instructions without any reordering *) -val dumb_scheduler : problem -> solution option +val greedy_scheduler : problem -> solution option (** Schedule a problem using a scheduler applied in the opposite direction, e.g. for list scheduling from the end instead of the start. BUGGY *) val schedule_reversed : scheduler -> problem -> int array option diff --git a/mppa_k1c/PostpassSchedulingOracle.ml b/mppa_k1c/PostpassSchedulingOracle.ml index f88acb44..a4dc3614 100644 --- a/mppa_k1c/PostpassSchedulingOracle.ml +++ b/mppa_k1c/PostpassSchedulingOracle.ml @@ -779,13 +779,8 @@ let do_schedule bb = validated_scheduler cascaded_scheduler else if !Clflags.option_fpostpass_sched = "list" then validated_scheduler list_scheduler - else if !Clflags.option_fpostpass_sched = "dumb" then - dumb_scheduler else failwith ("Invalid scheduler:" ^ !Clflags.option_fpostpass_sched)) problem - (* in let solution = validated_scheduler - (if !Clflags.option_fpostpass_ilp - then cascaded_scheduler - else dumb_scheduler) problem *) - (* in let solution = dumb_scheduler problem *) + else if !Clflags.option_fpostpass_sched = "greedy" then + greedy_scheduler else failwith ("Invalid scheduler:" ^ !Clflags.option_fpostpass_sched)) problem in match solution with | None -> failwith "Could not find a valid schedule" | Some sol -> let bundles = bundlize_solution bb sol in |