diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2010-10-27 09:23:19 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2010-10-27 09:23:19 +0000 |
commit | b54721f58c2ecb65ce554d8b34f214d5121a2b0c (patch) | |
tree | 01bc71f3e5e6b1681dac76de97ab925e005cc2c4 /backend/RTLgen.v | |
parent | 63cc20f9ddb18bebae523c46438abdf2a4b140d4 (diff) | |
download | compcert-b54721f58c2ecb65ce554d8b34f214d5121a2b0c.tar.gz compcert-b54721f58c2ecb65ce554d8b34f214d5121a2b0c.zip |
Various algorithmic improvements that reduce compile times (thanks Alexandre Pilkiewicz):
- Lattice: preserve sharing in "combine" operation
- Kildall: use splay heaps (lib/Heaps.v) for node sets
- RTLgen: add a "nop" before loops so that natural enumeration of nodes
coincides with (reverse) postorder
- Maps: add PTree.map1 operation, use it in RTL and LTL.
- Driver: increase minor heap size
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1543 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'backend/RTLgen.v')
-rw-r--r-- | backend/RTLgen.v | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/backend/RTLgen.v b/backend/RTLgen.v index e9184494..a9c8f97c 100644 --- a/backend/RTLgen.v +++ b/backend/RTLgen.v @@ -591,7 +591,7 @@ Fixpoint transl_stmt (map: mapping) (s: stmt) (nd: node) do n1 <- reserve_instr; do n2 <- transl_stmt map sbody n1 nexits ngoto nret rret; do xx <- update_instr n1 (Inop n2); - ret n1 + add_instr (Inop n2) | Sblock sbody => transl_stmt map sbody nd (nd :: nexits) ngoto nret rret | Sexit n => |