aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2016-12-26 16:55:06 +0100
committerXavier Leroy <xavier.leroy@inria.fr>2016-12-26 16:55:06 +0100
commit647cc8dc9699277cb1e77ae3b07c007186720d59 (patch)
treea37eba4eb015f8b093793858c8f25589fd816af8 /Makefile
parente65eeecf7f34076cbfad6876ec21623ad25e9cf7 (diff)
downloadcompcert-647cc8dc9699277cb1e77ae3b07c007186720d59.tar.gz
compcert-647cc8dc9699277cb1e77ae3b07c007186720d59.zip
Replace 'decide equality' in x86/Op.v by custom tactics from lib/BoolEqual.v
Applied to the 92-constructor 'operation' type, 'decide equality' produces a huge transparent term that causes the VM compiler to generate huge code and exceeed a memory limit of Coq on 32-bit platforms. (The limit is OCaml's, really.) The lib/BoolEqual.v file defines alternative tactics to build decidable equalities where the transparent part of the definition is smaller (O(N^2) instead of O(N^3)). The proof parts are still huge (O(N^3)) but they are opaque. Fixes #151
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile2
1 files changed, 1 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 1ec78fc2..ceaacb4b 100644
--- a/Makefile
+++ b/Makefile
@@ -58,7 +58,7 @@ FLOCQ=\
VLIB=Axioms.v Coqlib.v Intv.v Maps.v Heaps.v Lattice.v Ordered.v \
Iteration.v Integers.v Archi.v Fappli_IEEE_extra.v Floats.v \
Parmov.v UnionFind.v Wfsimpl.v \
- Postorder.v FSetAVLplus.v IntvSets.v Decidableplus.v
+ Postorder.v FSetAVLplus.v IntvSets.v Decidableplus.v BoolEqual.v
# Parts common to the front-ends and the back-end (in common/)