aboutsummaryrefslogtreecommitdiffstats
path: root/backend/CSE3.v
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-03-12 23:38:54 +0100
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-03-12 23:38:54 +0100
commit7bc6519d4f72f2b7f6cd26f177dec12e35a4b47f (patch)
tree6035d198736fe945c3894188def8fba20badb1ab /backend/CSE3.v
parent1746b22de21bb3d07b44b4e2a22e67df6a9842e0 (diff)
downloadcompcert-kvx-7bc6519d4f72f2b7f6cd26f177dec12e35a4b47f.tar.gz
compcert-kvx-7bc6519d4f72f2b7f6cd26f177dec12e35a4b47f.zip
proof sketch for CSE3 steps
Diffstat (limited to 'backend/CSE3.v')
-rw-r--r--backend/CSE3.v9
1 files changed, 8 insertions, 1 deletions
diff --git a/backend/CSE3.v b/backend/CSE3.v
index f8a25515..161a394a 100644
--- a/backend/CSE3.v
+++ b/backend/CSE3.v
@@ -32,7 +32,14 @@ Definition forward_move_b (rb : RB.t) (x : reg) :=
Definition subst_arg (fmap : PMap.t RB.t) (pc : node) (x : reg) : reg :=
forward_move_b (PMap.get pc fmap) x.
-Definition subst_args fmap pc := List.map (subst_arg fmap pc).
+Definition forward_move_l_b (rb : RB.t) (xl : list reg) :=
+ match rb with
+ | None => xl
+ | Some rel => forward_move_l (ctx := ctx) rel xl
+ end.
+
+Definition subst_args fmap pc xl :=
+ forward_move_l_b (PMap.get pc fmap) xl.
Definition transf_instr (fmap : PMap.t RB.t)
(pc: node) (instr: instruction) :=