summaryrefslogtreecommitdiff
path: root/backend/RTLgen.v
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2010-10-27 09:23:19 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2010-10-27 09:23:19 +0000
commitb54721f58c2ecb65ce554d8b34f214d5121a2b0c (patch)
tree01bc71f3e5e6b1681dac76de97ab925e005cc2c4 /backend/RTLgen.v
parent63cc20f9ddb18bebae523c46438abdf2a4b140d4 (diff)
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.v2
1 files changed, 1 insertions, 1 deletions
diff --git a/backend/RTLgen.v b/backend/RTLgen.v
index e918449..a9c8f97 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 =>