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
