[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 18/25: Minor compile-cps refactor for cons
From: |
Andy Wingo |
Subject: |
[Guile-commits] 18/25: Minor compile-cps refactor for cons |
Date: |
Mon, 8 Jan 2018 09:25:04 -0500 (EST) |
wingo pushed a commit to branch master
in repository guile.
commit 9a1d2d8ec8bd84fcdff350a3624ac3ba44a5c141
Author: Andy Wingo <address@hidden>
Date: Sun Jan 7 17:57:45 2018 +0100
Minor compile-cps refactor for cons
* module/language/tree-il/compile-cps.scm (build-list): Pass cons
through an expander.
---
module/language/tree-il/compile-cps.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/module/language/tree-il/compile-cps.scm
b/module/language/tree-il/compile-cps.scm
index 1825846..29bcf46 100644
--- a/module/language/tree-il/compile-cps.scm
+++ b/module/language/tree-il/compile-cps.scm
@@ -588,8 +588,8 @@
((v . vals)
(with-cps cps
(letv tail)
- (letk ktail ($kargs ('tail) (tail)
- ($continue k src ($primcall 'cons #f (v tail)))))
+ (let$ head (convert-primcall k src 'cons #f v tail))
+ (letk ktail ($kargs ('tail) (tail) ,head))
($ (build-list ktail src vals))))))
;;; The conversion from Tree-IL to CPS essentially wraps every
- [Guile-commits] branch master updated (fa4cb21 -> e2a0624), Andy Wingo, 2018/01/08
- [Guile-commits] 05/25: Minor optimization in loop peeling, Andy Wingo, 2018/01/08
- [Guile-commits] 03/25: Bug-fix to devirtualize-integers pass, Andy Wingo, 2018/01/08
- [Guile-commits] 07/25: Instruction explosion for make-vector, Andy Wingo, 2018/01/08
- [Guile-commits] 11/25: Remove "ash" instruction., Andy Wingo, 2018/01/08
- [Guile-commits] 09/25: Mark word-ref and word-ref/immediate as producing U64 values, Andy Wingo, 2018/01/08
- [Guile-commits] 12/25: Remove now-unused make-vector et al instructions, Andy Wingo, 2018/01/08
- [Guile-commits] 18/25: Minor compile-cps refactor for cons,
Andy Wingo <=
- [Guile-commits] 15/25: CPS type analysis support for mutable vs immutable vectors, Andy Wingo, 2018/01/08
- [Guile-commits] 21/25: Remove pair-related instructions, Andy Wingo, 2018/01/08
- [Guile-commits] 10/25: CPS pass now expects exploded vector primitives, Andy Wingo, 2018/01/08
- [Guile-commits] 13/25: Add CPS compilation support for mutable-vector?, Andy Wingo, 2018/01/08
- [Guile-commits] 24/25: Sync IP before allocating closures, Andy Wingo, 2018/01/08
- [Guile-commits] 19/25: Expand pair-related primcalls, Andy Wingo, 2018/01/08
- [Guile-commits] 16/25: Re-add compiler backend support for immutable vectors, Andy Wingo, 2018/01/08
- [Guile-commits] 25/25: Save VM compare result before calling out to hooks, Andy Wingo, 2018/01/08
- [Guile-commits] 01/25: Fix verify.scm for call-thunk/no-inline, Andy Wingo, 2018/01/08
- [Guile-commits] 22/25: Better compilation of vector constructors and initializers, Andy Wingo, 2018/01/08