aboutsummaryrefslogtreecommitdiffstats
path: root/arm/Asmgenproof.v
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@college-de-france.fr>2020-12-06 16:47:01 +0100
committerXavier Leroy <xavier.leroy@college-de-france.fr>2020-12-06 16:47:01 +0100
commita4cfb9c2ffdef07fa0d478e66f279687c9823d42 (patch)
tree722f5c83886909ad2714720715c2b11ca88ac5f8 /arm/Asmgenproof.v
parent0df99dc46209a9fe5026b83227ef73280f0dab70 (diff)
downloadcompcert-kvx-a4cfb9c2ffdef07fa0d478e66f279687c9823d42.tar.gz
compcert-kvx-a4cfb9c2ffdef07fa0d478e66f279687c9823d42.zip
ARM modeling of registers destroyed by pseudo-instructions
Pflid destroys IR14 Inlined built-in functions destroy IR14
Diffstat (limited to 'arm/Asmgenproof.v')
-rw-r--r--arm/Asmgenproof.v6
1 files changed, 4 insertions, 2 deletions
diff --git a/arm/Asmgenproof.v b/arm/Asmgenproof.v
index a592e12a..f60f4b48 100644
--- a/arm/Asmgenproof.v
+++ b/arm/Asmgenproof.v
@@ -754,13 +754,15 @@ Opaque loadind.
econstructor; eauto.
instantiate (2 := tf); instantiate (1 := x).
unfold nextinstr. rewrite Pregmap.gss.
- rewrite set_res_other. rewrite undef_regs_other_2.
+ rewrite set_res_other. simpl. rewrite undef_regs_other_2.
+ rewrite Pregmap.gso by auto with asmgen.
rewrite <- H1. simpl. econstructor; eauto.
eapply code_tail_next_int; eauto.
rewrite preg_notin_charact. intros. auto with asmgen.
auto with asmgen.
apply agree_nextinstr. eapply agree_set_res; auto.
- eapply agree_undef_regs; eauto. intros; apply undef_regs_other_2; auto.
+ eapply agree_undef_regs; eauto.
+ intros. simpl. rewrite undef_regs_other_2; auto. apply Pregmap.gso. auto with asmgen.
congruence.
- (* Mgoto *)