
#11649: LLVM code generator produces mal-formed LLVM blocks -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 8.0.1-rc2 (CodeGen) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): This simpler testcase reproduces the issue on ARM, {{{#!hs {-# LANGUAGE NoImplicitPrelude #-} module Test where import GHC.Base data U1 p = U1 instance Functor U1 where fmap f U1 = U1 instance Applicative U1 where pure _ = U1 U1 <*> U1 = U1 instance Alternative U1 where empty = U1 U1 <|> U1 = U1 }}} {{{ $ inplace/bin/ghc-stage1 Test.hs -O -fforce-recomp [1 of 1] Compiling Test ( Test.hs, Test.o ) Entry block to function must not have predecessors! label %cPR /home/ben/ghc/roots/llvm-3.7/bin/opt: /tmp/ghc26431_0/ghc_2.ll: error: input module is broken! `opt' failed in phase `LLVM Optimiser'. (Exit code: 1) }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11649#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler