From: sewardj Date: Fri, 1 Feb 2002 16:32:33 +0000 (+0000) Subject: [project @ 2002-02-01 16:32:33 by sewardj] X-Git-Tag: Approximately_9120_patches~188 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=a8a87fbe0980850234563e62ef751a0f5e8b36d5;p=ghc-hetmet.git [project @ 2002-02-01 16:32:33 by sewardj] Some stuff I forgot. --- diff --git a/ghc/docs/comm/the-beast/ncg.html b/ghc/docs/comm/the-beast/ncg.html index 0dea3e2..cfef919 100644 --- a/ghc/docs/comm/the-beast/ncg.html +++ b/ghc/docs/comm/the-beast/ncg.html @@ -435,7 +435,7 @@ bit code as simply as possible. To this end, I used the simplified getRegister scheme described above, in which iselExpr64generates its results into two vregs which can always safely be modified afterwards. - +

Virtual registers are, unsurprisingly, distinguished by their Uniques. There is a small difficulty in how to know what the vreg for the upper 32 bits of a value is, given the vreg @@ -635,6 +635,16 @@ some unnecessary reg-reg moves. The reason is explained in a comment in the code. +

Duplicate implementation for many STG macros

+ +This has been discussed at length already. It has caused a couple of +nasty bugs due to subtle untracked divergence in the macro +translations. The macro-expander really should be pushed up into the +Abstract C phase, so the problem can't happen. +

+Doing so would have the added benefit that the NCG could be used to +compile more "ways" -- well, at least the 'p' profiling way. +

How to debug the NCG without losing your sanity/hair/cool