[GHC] #5208: Unroll array copy/clone primops in the native and LLVM code generators

GHC cvs-ghc at haskell.org
Thu Jun 9 18:39:21 CEST 2011


#5208: Unroll array copy/clone primops in the native and LLVM code generators
---------------------------------+------------------------------------------
    Reporter:  tibbe             |        Owner:              
        Type:  feature request   |       Status:  patch       
    Priority:  normal            |    Milestone:              
   Component:  Compiler          |      Version:  7.1         
    Keywords:                    |     Testcase:              
   Blockedby:                    |   Difficulty:              
          Os:  Unknown/Multiple  |     Blocking:              
Architecture:  Unknown/Multiple  |      Failure:  None/Unknown
---------------------------------+------------------------------------------

Comment(by dterei):

 Replying to [comment:9 tibbe]:
 > Probably. I will make it a top-level constant for now. Ideally each
 architecture should have its own limit and I'd like to see a common place
 to but architecture specific configuration. The memcpy unrolling
 optimization should ideally be written once and reused on all
 architectures. This requires that we abstract over move instructions and
 the like. This is what LLVM does. It significantly reduces implementation
 effort.

 OK. I'm not sure if it would be worth the effort given we only have two
 backends (X86 and SPARC) and only really X86 is used.

 > Here's what I suggest: I'll work on improving the tests and fix the
 minor things. The bigger things (like movabs) are additional optimizations
 on top of the current ones so I suggest we save those for separate
 patches.

 Sounds good to me!

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



More information about the Glasgow-haskell-bugs mailing list