diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2013-05-02 15:04:26 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2013-05-02 15:04:26 +0000 |
commit | bc24cf49659f91245d8f42ca06fbe7d21a5c06cd (patch) | |
tree | 111556a9abc92dd8285e14f92b16731374b501aa /backend/CSE.v | |
parent | 850524f31aef255418db8fa2b0f25050b0535b82 (diff) | |
download | compcert-bc24cf49659f91245d8f42ca06fbe7d21a5c06cd.tar.gz compcert-bc24cf49659f91245d8f42ca06fbe7d21a5c06cd.zip |
Extend CSE of loads following stores to chunks Mint64 and Mfloat64al32.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2231 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'backend/CSE.v')
-rw-r--r-- | backend/CSE.v | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/backend/CSE.v b/backend/CSE.v index d381cc82..568705b8 100644 --- a/backend/CSE.v +++ b/backend/CSE.v @@ -254,7 +254,7 @@ Definition kill_loads (n: numbering) : numbering := can prove that the store does not invalidate them. Then, an equations [rsrc = Load chunk addr rargs] is added to reflect the known content of the stored memory area, but only if [chunk] is - a "full-size" quantity ([Mint32] or [Mfloat64]). *) + a "full-size" quantity ([Mint32] or [Mfloat64] or [Mint64]). *) Definition filter_after_store (chunk: memory_chunk) (addr: addressing) (vl: list valnum) (r: rhs) : bool := match r with @@ -268,7 +268,7 @@ Definition add_store (n: numbering) (chunk: memory_chunk) (addr: addressing) let (n1, vargs) := valnum_regs n rargs in let n2 := kill_equations (filter_after_store chunk addr vargs) n1 in match chunk with - | Mint32 | Mfloat64 => add_rhs n2 rsrc (Load chunk addr vargs) + | Mint32 | Mint64 | Mfloat64 | Mfloat64al32 => add_rhs n2 rsrc (Load chunk addr vargs) | _ => n2 end. |