[GHC] #7575: LLVM backend does not properly widen certain literal types in call expressions

GHC cvs-ghc at haskell.org
Wed Jan 23 09:55:16 CET 2013


#7575: LLVM backend does not properly widen certain literal types in call
expressions
-------------------------------+--------------------------------------------
Reporter:  thoughtpolice       |          Owner:                 
    Type:  bug                 |         Status:  new            
Priority:  normal              |      Component:  Compiler (LLVM)
 Version:  7.7                 |       Keywords:  llvm, codegen  
      Os:  Linux               |   Architecture:  arm            
 Failure:  Compile-time crash  |      Blockedby:                 
Blocking:  7589                |        Related:  #7571, #7574   
-------------------------------+--------------------------------------------

Comment(by davidterei@…):

 commit 1a703068117255592fb8d9d8d47a5d54640208d0
 {{{
 Author: David Terei <davidterei at gmail.com>
 Date:   Wed Jan 23 00:38:43 2013 -0800

     Fix our handling of literals and types in LLVM (#7575).

     This bug was introduced in the recent fix for #7571, that extended
 some
     existing infastructure in the LLVM backend that handled the conflict
     between LLVM's return type from comparison operations (i1) and what
 GHC
     expects (word). By extending it to handle literals though, we forced
 all
     literals to be i1 or word, breaking other code.

     This patch resolves this breakage and handles #7571 still, cleaning up
     the code for both a little. The overall approach is not ideal but
     changing that is left for the future.

  compiler/llvmGen/LlvmCodeGen/CodeGen.hs |   64
 ++++++++++++++-----------------
  1 files changed, 29 insertions(+), 35 deletions(-)
 }}}

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



More information about the ghc-tickets mailing list