aboutsummaryrefslogtreecommitdiffstats
path: root/scheduling/RTLpathScheduleraux.ml
diff options
context:
space:
mode:
authornicolas.nardino <nicolas.nardino@ens-lyon.fr>2021-06-04 14:24:07 +0200
committernicolas.nardino <nicolas.nardino@ens-lyon.fr>2021-06-04 14:24:07 +0200
commit7ae1fb0faea68ce5cfe04a232e49659247c244e9 (patch)
tree2f50c53d68ab67ce5f9b1b9ec947a4a3147076ac /scheduling/RTLpathScheduleraux.ml
parent3181fe5407ed0221714830e2bd1e19850eac5461 (diff)
downloadcompcert-kvx-7ae1fb0faea68ce5cfe04a232e49659247c244e9.tar.gz
compcert-kvx-7ae1fb0faea68ce5cfe04a232e49659247c244e9.zip
Passing info of live regs to scheduler: beginning
Diffstat (limited to 'scheduling/RTLpathScheduleraux.ml')
-rw-r--r--scheduling/RTLpathScheduleraux.ml9
1 files changed, 8 insertions, 1 deletions
diff --git a/scheduling/RTLpathScheduleraux.ml b/scheduling/RTLpathScheduleraux.ml
index aeed39df..55f1a078 100644
--- a/scheduling/RTLpathScheduleraux.ml
+++ b/scheduling/RTLpathScheduleraux.ml
@@ -72,6 +72,11 @@ let get_superblocks code entry pm typing =
lsb
end
+(* PLACEHOLDER *)
+let get_live_regs_entry (sb : superblock) =
+ Registers.Regset.empty
+
+
(* TODO David *)
let schedule_superblock sb code =
if not !Clflags.option_fprepass
@@ -90,6 +95,7 @@ let schedule_superblock sb code =
match predicted_successor ii with
| Some _ -> 0
| None -> 1 in
+ let live_regs_entry = get_live_regs_entry sb in
match PrepassSchedulingOracle.schedule_sequence
(Array.map (fun i ->
(match PTree.get i code with
@@ -98,7 +104,8 @@ let schedule_superblock sb code =
(match PTree.get i sb.liveins with
| Some s -> s
| None -> Regset.empty))
- (Array.sub sb.instructions 0 (nr_instr-trailer_length))) with
+ (Array.sub sb.instructions 0 (nr_instr-trailer_length)))
+ live_regs_entry with
| None -> sb.instructions
| Some order ->
let ins' =