diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2020-03-25 00:57:57 +0100 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2020-03-25 00:57:57 +0100 |
commit | 469a282add58074e2bc1a2822125d18e4dc6a80d (patch) | |
tree | bbc8c3527caace03a5a815c1804f822f8c653551 /aarch64/Asmgen.v | |
parent | b096dac760b7d306c85e2b6b9b56779018596916 (diff) | |
download | compcert-kvx-469a282add58074e2bc1a2822125d18e4dc6a80d.tar.gz compcert-kvx-469a282add58074e2bc1a2822125d18e4dc6a80d.zip |
removed RA restoration
Diffstat (limited to 'aarch64/Asmgen.v')
-rw-r--r-- | aarch64/Asmgen.v | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/aarch64/Asmgen.v b/aarch64/Asmgen.v index 875f3fd1..fc083223 100644 --- a/aarch64/Asmgen.v +++ b/aarch64/Asmgen.v @@ -1050,8 +1050,10 @@ Definition storeptr (src: ireg) (base: iregsp) (ofs: ptrofs) (k: code) := (** Function epilogue *) Definition make_epilogue (f: Mach.function) (k: code) := - loadptr XSP f.(fn_retaddr_ofs) RA - (Pfreeframe f.(fn_stacksize) f.(fn_link_ofs) :: k). + if is_leaf_function f + then Pfreeframe f.(fn_stacksize) f.(fn_link_ofs) :: k + else loadptr XSP f.(fn_retaddr_ofs) RA + (Pfreeframe f.(fn_stacksize) f.(fn_link_ofs) :: k). (** Translation of a Mach instruction. *) |