diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-12-06 18:58:25 +0100 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-12-06 18:58:25 +0100 |
commit | 1cc98a193dcf83aff89fe22a3b23d4881b7123f9 (patch) | |
tree | d85a545fe93f9315cd8da6bdc8995028e790fce4 /backend/Duplicateaux.ml | |
parent | ed98e5903147dba26b7d04c7fe24be8d2ca6407b (diff) | |
download | compcert-kvx-1cc98a193dcf83aff89fe22a3b23d4881b7123f9.tar.gz compcert-kvx-1cc98a193dcf83aff89fe22a3b23d4881b7123f9.zip |
merge w/ non trapping loads
Diffstat (limited to 'backend/Duplicateaux.ml')
-rw-r--r-- | backend/Duplicateaux.ml | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/backend/Duplicateaux.ml b/backend/Duplicateaux.ml index 04c3edbb..a655e76b 100644 --- a/backend/Duplicateaux.ml +++ b/backend/Duplicateaux.ml @@ -23,7 +23,7 @@ let to_ttl_inst = function | Ireturn o -> Tleaf (Ireturn o) | Inop n -> Tnext (n, Inop n) | Iop (op, lr, r, n) -> Tnext (n, Iop(op, lr, r, n)) -| Iload (m, a, lr, r, n) -> Tnext (n, Iload(m, a, lr, r, n)) +| Iload (tm, m, a, lr, r, n) -> Tnext (n, Iload(tm, m, a, lr, r, n)) | Istore (m, a, lr, r, n) -> Tnext (n, Istore(m, a, lr, r, n)) | Icall (s, ri, lr, r, n) -> Tleaf (Icall(s, ri, lr, r, n)) | Itailcall (s, ri, lr) -> Tleaf (Itailcall(s, ri, lr)) @@ -102,7 +102,7 @@ let bfs code entrypoint = | _ -> failwith "Tleaf case not handled in bfs" ) | Tnext (_, i) -> ( match i with | Icond (_, _, n1, n2) -> Queue.add n1 to_visit; Queue.add n2 to_visit - | Inop n | Iop (_, _, _, n) | Iload (_, _, _, _, n) | Istore (_, _, _, _, n) -> Queue.add n to_visit + | Inop n | Iop (_, _, _, n) | Iload (_, _, _, _, _, n) | Istore (_, _, _, _, n) -> Queue.add n to_visit | _ -> failwith "Tnext case not handled in bfs" ) end done; @@ -134,7 +134,7 @@ let get_predecessors code = let process_inst (node, ti) = match ti with | Tleaf _ -> () | Tnext (_, i) -> let succ = match i with - | Inop n | Iop (_,_,_,n) | Iload (_,_,_,_,n) | Istore (_,_,_,_,n) + | Inop n | Iop (_,_,_,n) | Iload (_, _,_,_,_,n) | Istore (_,_,_,_,n) | Icall (_,_,_,_,n) | Ibuiltin (_, _, _, n) -> [n] | Icond (_,_,n1,n2) -> [n1;n2] | Ijumptable (_,ln) -> ln |