diff options
author | Cyril SIX <cyril.six@kalray.eu> | 2018-10-26 10:53:04 +0200 |
---|---|---|
committer | Cyril SIX <cyril.six@kalray.eu> | 2018-10-26 10:53:04 +0200 |
commit | fb8e5ed9109f6fcfc24d0d325c1e06cb200fc989 (patch) | |
tree | d084c95ce0081264c6f8ef6be1abd6615cc5d4c2 /mppa_k1c/Asmblockgen.v | |
parent | 38c3e762876ec66efaab289394d200d12b19af6d (diff) | |
download | compcert-kvx-fb8e5ed9109f6fcfc24d0d325c1e06cb200fc989.tar.gz compcert-kvx-fb8e5ed9109f6fcfc24d0d325c1e06cb200fc989.zip |
Enlèvement de Pnop inutiles pour le Pbuiltin
Diffstat (limited to 'mppa_k1c/Asmblockgen.v')
-rw-r--r-- | mppa_k1c/Asmblockgen.v | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/mppa_k1c/Asmblockgen.v b/mppa_k1c/Asmblockgen.v index 634ba20c..ceee1810 100644 --- a/mppa_k1c/Asmblockgen.v +++ b/mppa_k1c/Asmblockgen.v @@ -878,15 +878,18 @@ Program Definition gen_bblocks (hd: list label) (c: list basic) (ctl: list instr | i::c => {| header := hd; body := ((i::c) ++ extract_basic ctl); exit := None |} :: nil end (* gen_bblock_noctl hd (c ++ (extract_basic ctl)) :: nil *) - | Some (PExpand (Pbuiltin ef args res)) => ({| header := hd; body := c++(Pnop::nil); exit := None |}) :: - ((PExpand (Pbuiltin ef args res)) ::b nil) + | Some (PExpand (Pbuiltin ef args res)) => + match c with + | nil => {| header := hd; body := nil; exit := Some (PExpand (Pbuiltin ef args res)) |} :: nil + | _ => {| header := hd; body := c; exit := None |} + :: {| header := nil; body := nil; exit := Some (PExpand (Pbuiltin ef args res)) |} :: nil + end | Some (PCtlFlow i) => {| header := hd; body := (c ++ extract_basic ctl); exit := Some (PCtlFlow i) |} :: nil end . Next Obligation. - bblock_auto_correct. intros. constructor. intro. apply app_eq_nil in H. destruct H. discriminate. -Qed. -Next Obligation. + bblock_auto_correct. intros. constructor. apply not_eq_sym. auto. +Qed. Next Obligation. bblock_auto_correct. Qed. |