diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2006-09-18 15:52:24 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2006-09-18 15:52:24 +0000 |
commit | 165407527b1be7df6a376791719321c788e55149 (patch) | |
tree | 35c2eb9603f007b033fced56f21fa49fd105562f /cfrontend/Cminorgen.v | |
parent | 1346309fd03e19da52156a700d037c348f27af0d (diff) | |
download | compcert-kvx-165407527b1be7df6a376791719321c788e55149.tar.gz compcert-kvx-165407527b1be7df6a376791719321c788e55149.zip |
Simplification de Cminor: les affectations de variables locales ne sont
plus des expressions mais des statements (Eassign -> Sassign).
Cela simplifie les preuves et ameliore la qualite du RTL produit.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@111 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'cfrontend/Cminorgen.v')
-rw-r--r-- | cfrontend/Cminorgen.v | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/cfrontend/Cminorgen.v b/cfrontend/Cminorgen.v index 30832e84..27aa4539 100644 --- a/cfrontend/Cminorgen.v +++ b/cfrontend/Cminorgen.v @@ -168,7 +168,7 @@ Definition var_get (cenv: compilenv) (id: ident): option expr := Definition var_set (cenv: compilenv) (id: ident) (rhs: expr): option stmt := match PMap.get id cenv with | Var_local chunk => - Some(Sexpr(Eassign id (make_cast chunk rhs))) + Some(Sassign id (make_cast chunk rhs)) | Var_stack_scalar chunk ofs => Some(make_store chunk (make_stackaddr ofs) rhs) | Var_global_scalar chunk => @@ -397,7 +397,7 @@ Fixpoint store_parameters | (id, chunk) :: rem => match PMap.get id cenv with | Var_local chunk => - Sseq (Sexpr (Eassign id (make_cast chunk (Evar id)))) + Sseq (Sassign id (make_cast chunk (Evar id))) (store_parameters cenv rem) | Var_stack_scalar chunk ofs => Sseq (make_store chunk (make_stackaddr ofs) (Evar id)) |