[GHC] #7830: Error: operand out of range

GHC ghc-devs at haskell.org
Tue Sep 15 16:36:08 UTC 2015


#7830: Error: operand out of range
-------------------------------------+-------------------------------------
        Reporter:  erikd             |                   Owner:
            Type:  bug               |                  Status:  new
        Priority:  highest           |               Milestone:  8.0.1
       Component:  Compiler          |                 Version:  7.8.1-rc1
      Resolution:                    |                Keywords:
Operating System:  Linux             |            Architecture:  powerpc
 Type of failure:  Installing GHC    |               Test Case:
  failed                             |
      Blocked By:                    |                Blocking:
 Related Tickets:                    |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by trommler):

 Replying to [comment:26 trommler]:
 > This looks like code spilling registers onto the stack. But why are the
 offsets so large? Could you attach the entire assembler file?

 This looks suspicious:
 {{{
 .Lc138b:
         addi    1, 1, -28336
 }}}

 I wonder why GHC allocates ~3500 spill slots (of size 8 bytes each) on top
 of the roughly 2000 that are allocated in the RTS before we enter Haskell
 land in `StgCRun`.
 >
 > I tried to reproduce on powerpc64 HEAD but compile failed to typecheck
 in package uualib. I'll try to reproduce with the commit  you mentioned in
 comment:24.
 I cannot reproduce the issue on powerpc64 even though it has the same
 16-bit displacement restriction.

 I did a `perf` build, perhaps that makes a difference?! Did you use a
 `build.mk` file?

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/7830#comment:33>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list