[project @ 2000-03-01 12:31:22 by sewardj]
authorsewardj <unknown>
Wed, 1 Mar 2000 12:31:22 +0000 (12:31 +0000)
committersewardj <unknown>
Wed, 1 Mar 2000 12:31:22 +0000 (12:31 +0000)
Temporarily disable Stix inlining whilst we figure out how to fix
obscure bugs in the register allocator.  With inlining off, everything
seems to work, and the compiler can boot itself, but when enabled,
inlining exposes a register allocation bug which causes
ghc/compiler/utils/FastString.lhs to be miscompiled on Linux (the big
arithmetic expressions for computing hash values).

ghc/compiler/nativeGen/AsmCodeGen.lhs

index e82bc8e..4d08b4a 100644 (file)
@@ -115,12 +115,12 @@ codeGen stixFinal
                              dynamic_codes
         text_prealloc  = vcat (intersperse (char ' ' $$ char ' ') docs_prealloc)
     in
-    -- trace (showSDoc text_prealloc) (
+    --trace (showSDoc text_prealloc) (
     returnUs (vcat (intersperse (char ' ' 
                                  $$ ptext SLIT("# ___stg_split_marker")
                                  $$ char ' ') 
                     docs))
-    -- )
+    --)
 \end{code}
 
 Top level code generator for a chunk of stix code.  For this part of
@@ -199,6 +199,7 @@ stixPeep :: [StixTree] -> [StixTree]
 -- second assignment would be substituted for, giving nonsense
 -- code.  As far as I can see, StixTemps are only ever assigned
 -- to once.  It would be nice to be sure!
+{-
 stixPeep ( t1@(StAssign pka (StReg (StixTemp u pk)) rhs)
          : t2
          : ts )
@@ -210,6 +211,12 @@ stixPeep ( t1@(StAssign pka (StReg (StixTemp u pk)) rhs)
 stixPeep (t1:t2:ts) = t1 : stixPeep (t2:ts)
 stixPeep [t1]       = [t1]
 stixPeep []         = []
+-}
+
+-- disable stix inlining until we figure out how to fix the
+-- latent bugs in the register allocator which are exposed by
+-- the inliner.
+stixPeep = id
 \end{code}
 
 For most nodes, just optimize the children.