
#7571: LLVM codegen does not handle integer literals in branch conditionals. ---------------------------------+------------------------------------------ Reporter: thoughtpolice | Owner: thoughtpolice Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler (LLVM) | Version: 7.7 Keywords: llvm, codegen | Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Compile-time crash Difficulty: Unknown | Testcase: Blockedby: 7573 | Blocking: Related: #7574, #7575 | ---------------------------------+------------------------------------------ Changes (by simonmar): * difficulty: => Unknown Comment: Ok by me. I think we should clarify that `CmmCondBranch` can have an arbitrary expression as the conditional, and it should be a word-sized integral with non-zero meaning true. The alternative is to declare that the argument to `CmmCondBranch` must be a conditional, but I think that would be worse: we wouldn't be able to unconditionally rewrite "1 == 2" to zero everywhere, we would probably need dummy "ALWAYS" and "NEVER" conditionals. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7571#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler