aboutsummaryrefslogtreecommitdiffstats
path: root/backend/CSE3analysis.v
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-03-10 15:30:57 +0100
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-03-10 15:30:57 +0100
commit8c8e6a0528a91420e399ae84ccf293c0d8be285f (patch)
tree5052d78f49984466103ab1cb41c5354779134f1f /backend/CSE3analysis.v
parentd5bbfed2c8a0a208cf365abb1df249c9d91ff8e4 (diff)
downloadcompcert-kvx-8c8e6a0528a91420e399ae84ccf293c0d8be285f.tar.gz
compcert-kvx-8c8e6a0528a91420e399ae84ccf293c0d8be285f.zip
move sound
Diffstat (limited to 'backend/CSE3analysis.v')
-rw-r--r--backend/CSE3analysis.v17
1 files changed, 17 insertions, 0 deletions
diff --git a/backend/CSE3analysis.v b/backend/CSE3analysis.v
index 7357a811..cdda2cb7 100644
--- a/backend/CSE3analysis.v
+++ b/backend/CSE3analysis.v
@@ -236,6 +236,23 @@ Section OPERATIONS.
then kill_reg dst rel
else oper2 dst op args rel.
+
+ Definition move (src dst : reg) (rel : RELATION.t) : RELATION.t :=
+ match eq_find {| eq_lhs := dst;
+ eq_op := SOp Omove;
+ eq_args:= src::nil |} with
+ | Some eq_id => PSet.add eq_id (kill_reg dst rel)
+ | None => kill_reg dst rel
+ end.
+
+ (*
+ Definition oper (dst : reg) (op: sym_op) (args : list reg)
+ (rel : RELATION.t) : RELATION.t :=
+ match find_op rel op (forward_move_l rel args) with
+ | Some r => move r dst rel
+ | None => oper1 op dst args rel
+ end.
+*)
End PER_NODE.
End OPERATIONS.