Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/b45363e19f1bf20e053f2dc44469ea9f18df1699

>---------------------------------------------------------------

commit b45363e19f1bf20e053f2dc44469ea9f18df1699
Author: Ian Lynagh <[email protected]>
Date:   Sun Sep 25 14:17:54 2011 +0100

    Add a comment to CorePrep that it does the Integer conversion

>---------------------------------------------------------------

 compiler/coreSyn/CorePrep.lhs |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/compiler/coreSyn/CorePrep.lhs b/compiler/coreSyn/CorePrep.lhs
index 9a344be..e2c60b8 100644
--- a/compiler/coreSyn/CorePrep.lhs
+++ b/compiler/coreSyn/CorePrep.lhs
@@ -88,7 +88,6 @@ The goal of this pass is to prepare for code generation.
     and doing so would be tiresome because then we'd need
     to substitute in types and coercions.
 
-
 7.  Give each dynamic CCall occurrence a fresh unique; this is
     rather like the cloning step above.
 
@@ -100,6 +99,12 @@ The goal of this pass is to prepare for code generation.
        
 9.  Replace (lazy e) by e.  See Note [lazyId magic] in MkId.lhs
 
+10. Convert (LitInteger i mkInteger) into the core representation
+    for the Integer i. Normally this uses the mkInteger Id, but if
+    we are using the integer-gmp implementation then there is a
+    special case where we use the S# constructor for Integers that
+    are in the range of Int.
+
 This is all done modulo type applications and abstractions, so that
 when type erasure is done for conversion to STG, we don't end up with
 any trivial or useless bindings.



_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to