[GHC] #7589: LLVM 3.2 Support

#7589: LLVM 3.2 Support -----------------------------+---------------------------------------------- Reporter: dterei | Owner: dterei Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.6.1 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: None/Unknown | Blockedby: Blocking: | Related: -----------------------------+---------------------------------------------- LLVM 3.2 is out as of mid December. We need to update the backend to support it. There seems to be a number of new bugs due to the change. With LLVM 3.1 we get the following testsuite failures: {{{ OVERALL SUMMARY for test run started at Mon Jan 14 21:42:32 PST 2013 3552 total tests, which gave rise to 13164 test cases, of which 0 caused framework failures 11606 were skipped 1515 expected passes 23 had missing libraries 15 expected failures 0 unexpected passes 5 unexpected failures Unexpected failures: * codeGen/should_run cgrun044 [exit code non-0] (optllvm) * concurrent/should_run 367_letnoescape [bad exit code] (optllvm) * numeric/should_run arith005 [bad stdout] (optllvm) typecheck/should_compile tc226 [exit code non-0] (optllvm) typecheck/should_compile tc235 [exit code non-0] (optllvm) }}} Where the failures marked with '*' are unique to the LLVM backend. With LLVM 3.2 we get the following: {{{ OVERALL SUMMARY for test run started at Tue Jan 15 16:02:01 PST 2013 3552 total tests, which gave rise to 13164 test cases, of which 0 caused framework failures 11606 were skipped 1512 expected passes 23 had missing libraries 15 expected failures 0 unexpected passes 8 unexpected failures Unexpected failures: ** codeGen/should_compile 1916 [exit code non-0] (optllvm) ** codeGen/should_run cgrun028 [exit code non-0] (optllvm) * codeGen/should_run cgrun044 [exit code non-0] (optllvm) * concurrent/should_run 367_letnoescape [bad exit code] (optllvm) * numeric/should_run arith005 [bad stdout] (optllvm) ** numeric/should_run numrun012 [exit code non-0] (optllvm) typecheck/should_compile tc226 [exit code non-0] (optllvm) typecheck/should_compile tc235 [exit code non-0] (optllvm) }}} Where failures marked with '*' are unique to the LLVM backend and failures marked with '**' are unique to LLVM 3.2 relative to 3.1. I believe bootstrapping with LLVM also fails now. However, that may be due to the change to the new-code-generator, and not of LLVM 3.1 -> 3.2. I'll create a separate ticket for that. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7589 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#7589: LLVM 3.2 Support ----------------------------------------+----------------------------------- Reporter: dterei | Owner: dterei Type: bug | Status: new Priority: normal | Component: Compiler (LLVM) Version: 7.7 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Incorrect result at runtime | Blockedby: Blocking: | Related: ----------------------------------------+----------------------------------- Changes (by dterei): * failure: None/Unknown => Incorrect result at runtime * version: 7.6.1 => 7.7 * component: Compiler => Compiler (LLVM) Old description:
LLVM 3.2 is out as of mid December. We need to update the backend to support it.
There seems to be a number of new bugs due to the change.
With LLVM 3.1 we get the following testsuite failures:
{{{
OVERALL SUMMARY for test run started at Mon Jan 14 21:42:32 PST 2013 3552 total tests, which gave rise to 13164 test cases, of which 0 caused framework failures 11606 were skipped
1515 expected passes 23 had missing libraries 15 expected failures 0 unexpected passes 5 unexpected failures
Unexpected failures: * codeGen/should_run cgrun044 [exit code non-0] (optllvm) * concurrent/should_run 367_letnoescape [bad exit code] (optllvm) * numeric/should_run arith005 [bad stdout] (optllvm) typecheck/should_compile tc226 [exit code non-0] (optllvm) typecheck/should_compile tc235 [exit code non-0] (optllvm) }}}
Where the failures marked with '*' are unique to the LLVM backend.
With LLVM 3.2 we get the following:
{{{ OVERALL SUMMARY for test run started at Tue Jan 15 16:02:01 PST 2013 3552 total tests, which gave rise to 13164 test cases, of which 0 caused framework failures 11606 were skipped
1512 expected passes 23 had missing libraries 15 expected failures 0 unexpected passes 8 unexpected failures
Unexpected failures: ** codeGen/should_compile 1916 [exit code non-0] (optllvm) ** codeGen/should_run cgrun028 [exit code non-0] (optllvm) * codeGen/should_run cgrun044 [exit code non-0] (optllvm) * concurrent/should_run 367_letnoescape [bad exit code] (optllvm) * numeric/should_run arith005 [bad stdout] (optllvm) ** numeric/should_run numrun012 [exit code non-0] (optllvm) typecheck/should_compile tc226 [exit code non-0] (optllvm) typecheck/should_compile tc235 [exit code non-0] (optllvm) }}}
Where failures marked with '*' are unique to the LLVM backend and failures marked with '**' are unique to LLVM 3.2 relative to 3.1.
I believe bootstrapping with LLVM also fails now. However, that may be due to the change to the new-code-generator, and not of LLVM 3.1 -> 3.2. I'll create a separate ticket for that.
New description: LLVM 3.2 is out as of mid December. We need to update the backend to support it. There seems to be a number of new bugs due to the change. With LLVM 3.1 we get the following testsuite failures: {{{ OVERALL SUMMARY for test run started at Mon Jan 14 21:42:32 PST 2013 3552 total tests, which gave rise to 13164 test cases, of which 0 caused framework failures 11606 were skipped 1515 expected passes 23 had missing libraries 15 expected failures 0 unexpected passes 5 unexpected failures Unexpected failures: * codeGen/should_run cgrun044 [exit code non-0] (optllvm) * concurrent/should_run 367_letnoescape [bad exit code] (optllvm) * numeric/should_run arith005 [bad stdout] (optllvm) typecheck/should_compile tc226 [exit code non-0] (optllvm) typecheck/should_compile tc235 [exit code non-0] (optllvm) }}} Where the failures marked with '*' are unique to the LLVM backend. With LLVM 3.2 we get the following: {{{ OVERALL SUMMARY for test run started at Tue Jan 15 16:02:01 PST 2013 3552 total tests, which gave rise to 13164 test cases, of which 0 caused framework failures 11606 were skipped 1512 expected passes 23 had missing libraries 15 expected failures 0 unexpected passes 8 unexpected failures Unexpected failures: ** codeGen/should_compile 1916 [exit code non-0] (optllvm) ** codeGen/should_run cgrun028 [exit code non-0] (optllvm) * codeGen/should_run cgrun044 [exit code non-0] (optllvm) * concurrent/should_run 367_letnoescape [bad exit code] (optllvm) * numeric/should_run arith005 [bad stdout] (optllvm) ** numeric/should_run numrun012 [exit code non-0] (optllvm) typecheck/should_compile tc226 [exit code non-0] (optllvm) typecheck/should_compile tc235 [exit code non-0] (optllvm) }}} Where failures marked with '*' are unique to the LLVM backend and failures marked with '**' are unique to LLVM 3.2 relative to 3.1. I believe bootstrapping with LLVM also fails now. However, that may be due to the change to the new-code-generator, and not of LLVM 3.1 -> 3.2. I'll create a separate ticket for that. '''NOTE''': These test suite results were all generated on Mac OS X 10.8. -- -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7589#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#7589: LLVM 3.2 Support ----------------------------------------+----------------------------------- Reporter: dterei | Owner: dterei Type: bug | Status: new Priority: normal | Component: Compiler (LLVM) Version: 7.7 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Incorrect result at runtime | Blockedby: Blocking: | Related: ----------------------------------------+----------------------------------- Description changed by dterei: Old description:
LLVM 3.2 is out as of mid December. We need to update the backend to support it.
There seems to be a number of new bugs due to the change.
With LLVM 3.1 we get the following testsuite failures:
{{{
OVERALL SUMMARY for test run started at Mon Jan 14 21:42:32 PST 2013 3552 total tests, which gave rise to 13164 test cases, of which 0 caused framework failures 11606 were skipped
1515 expected passes 23 had missing libraries 15 expected failures 0 unexpected passes 5 unexpected failures
Unexpected failures: * codeGen/should_run cgrun044 [exit code non-0] (optllvm) * concurrent/should_run 367_letnoescape [bad exit code] (optllvm) * numeric/should_run arith005 [bad stdout] (optllvm) typecheck/should_compile tc226 [exit code non-0] (optllvm) typecheck/should_compile tc235 [exit code non-0] (optllvm) }}}
Where the failures marked with '*' are unique to the LLVM backend.
With LLVM 3.2 we get the following:
{{{ OVERALL SUMMARY for test run started at Tue Jan 15 16:02:01 PST 2013 3552 total tests, which gave rise to 13164 test cases, of which 0 caused framework failures 11606 were skipped
1512 expected passes 23 had missing libraries 15 expected failures 0 unexpected passes 8 unexpected failures
Unexpected failures: ** codeGen/should_compile 1916 [exit code non-0] (optllvm) ** codeGen/should_run cgrun028 [exit code non-0] (optllvm) * codeGen/should_run cgrun044 [exit code non-0] (optllvm) * concurrent/should_run 367_letnoescape [bad exit code] (optllvm) * numeric/should_run arith005 [bad stdout] (optllvm) ** numeric/should_run numrun012 [exit code non-0] (optllvm) typecheck/should_compile tc226 [exit code non-0] (optllvm) typecheck/should_compile tc235 [exit code non-0] (optllvm) }}}
Where failures marked with '*' are unique to the LLVM backend and failures marked with '**' are unique to LLVM 3.2 relative to 3.1.
I believe bootstrapping with LLVM also fails now. However, that may be due to the change to the new-code-generator, and not of LLVM 3.1 -> 3.2. I'll create a separate ticket for that.
'''NOTE''': These test suite results were all generated on Mac OS X 10.8.
New description: LLVM 3.2 is out as of mid December. We need to update the backend to support it. There seems to be a number of new bugs due to the change. With LLVM 3.1 we get the following testsuite failures: {{{ OVERALL SUMMARY for test run started at Mon Jan 14 21:42:32 PST 2013 3552 total tests, which gave rise to 13164 test cases, of which 0 caused framework failures 11606 were skipped 1515 expected passes 23 had missing libraries 15 expected failures 0 unexpected passes 5 unexpected failures Unexpected failures: * codeGen/should_run cgrun044 [exit code non-0] (optllvm) * concurrent/should_run 367_letnoescape [bad exit code] (optllvm) * numeric/should_run arith005 [bad stdout] (optllvm) typecheck/should_compile tc226 [exit code non-0] (optllvm) typecheck/should_compile tc235 [exit code non-0] (optllvm) }}} Where the failures marked with '*' are unique to the LLVM backend. With LLVM 3.2 we get the following: {{{ OVERALL SUMMARY for test run started at Tue Jan 15 16:02:01 PST 2013 3552 total tests, which gave rise to 13164 test cases, of which 0 caused framework failures 11606 were skipped 1512 expected passes 23 had missing libraries 15 expected failures 0 unexpected passes 8 unexpected failures Unexpected failures: ** codeGen/should_compile 1916 [exit code non-0] (optllvm) ** codeGen/should_run cgrun028 [exit code non-0] (optllvm) * codeGen/should_run cgrun044 [exit code non-0] (optllvm) * concurrent/should_run 367_letnoescape [bad exit code] (optllvm) * numeric/should_run arith005 [bad stdout] (optllvm) ** numeric/should_run numrun012 [exit code non-0] (optllvm) typecheck/should_compile tc226 [exit code non-0] (optllvm) typecheck/should_compile tc235 [exit code non-0] (optllvm) }}} Where failures marked with '*' are unique to the LLVM backend and failures marked with '**' are unique to LLVM 3.2 relative to 3.1. I believe bootstrapping with LLVM also fails now. However, that may be due to the change to the new-code-generator, and not of LLVM 3.1 -> 3.2. I'll create a separate ticket for that. '''NOTE''': These test suite results were all generated on '''Mac OS X 10.8'''. -- -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7589#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#7589: LLVM 3.2 Support ----------------------------------------+----------------------------------- Reporter: dterei | Owner: dterei Type: bug | Status: new Priority: normal | Component: Compiler (LLVM) Version: 7.7 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Incorrect result at runtime | Blockedby: 7571, 7575, 7580, 7588 Blocking: | Related: ----------------------------------------+----------------------------------- Changes (by dterei): * blockedby: => 7571, 7575, 7580, 7588 -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7589#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#7589: LLVM 3.2 Support ----------------------------------------+----------------------------------- Reporter: dterei | Owner: dterei Type: bug | Status: new Priority: normal | Component: Compiler (LLVM) Version: 7.7 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Incorrect result at runtime | Blockedby: 7571, 7575, 7580, 7588 Blocking: | Related: ----------------------------------------+----------------------------------- Comment(by dterei): Both cgrun044 and arith005 are now fixed. LLVM 3.1 only has 367_letnoescape as a failure now. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7589#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#7589: LLVM 3.2 Support ----------------------------------------+----------------------------------- Reporter: dterei | Owner: dterei Type: bug | Status: new Priority: normal | Component: Compiler (LLVM) Version: 7.7 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Incorrect result at runtime | Blockedby: 7571, 7575, 7580, 7588 Blocking: | Related: ----------------------------------------+----------------------------------- Comment(by dterei): 367 isn't a big problem, its the yield feature recently added for non- allocating loops. LLVM optimizations currently defeat it though. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7589#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#7589: LLVM 3.2 Support ----------------------------------------+----------------------------------- Reporter: dterei | Owner: dterei Type: bug | Status: new Priority: normal | Component: Compiler (LLVM) Version: 7.7 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Incorrect result at runtime | Blockedby: 7571, 7575, 7580, 7588 Blocking: | Related: ----------------------------------------+----------------------------------- Comment(by dterei): So need to test on OSX, but on Linux x64 I get LLVM 3.2 working perfectly. Only failure is 367_letnoescape which fails on all LLVM versions. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7589#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#7589: LLVM 3.2 Support ----------------------------------------+----------------------------------- Reporter: dterei | Owner: dterei Type: bug | Status: new Priority: normal | Component: Compiler (LLVM) Version: 7.7 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Incorrect result at runtime | Blockedby: 7571, 7575, 7588 Blocking: | Related: ----------------------------------------+----------------------------------- Changes (by dterei): * blockedby: 7571, 7575, 7580, 7588 => 7571, 7575, 7588 -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7589#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#7589: LLVM 3.2 Support ----------------------------------------+----------------------------------- Reporter: dterei | Owner: dterei Type: bug | Status: new Priority: normal | Component: Compiler (LLVM) Version: 7.7 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Incorrect result at runtime | Blockedby: 7571, 7575 Blocking: | Related: ----------------------------------------+----------------------------------- Changes (by dterei): * blockedby: 7571, 7575, 7588 => 7571, 7575 -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7589#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#7589: LLVM 3.2 Support ----------------------------------------+----------------------------------- Reporter: dterei | Owner: dterei Type: bug | Status: new Priority: normal | Component: Compiler (LLVM) Version: 7.7 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Incorrect result at runtime | Blockedby: 7575 Blocking: | Related: ----------------------------------------+----------------------------------- Changes (by dterei): * blockedby: 7571, 7575 => 7575 -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7589#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#7589: LLVM 3.2 Support ---------------------------------+------------------------------------------ Reporter: dterei | Owner: dterei Type: bug | Status: closed Priority: normal | Component: Compiler (LLVM) Version: 7.7 | Resolution: fixed Keywords: | Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Incorrect result at runtime Blockedby: 7571, 7575 | Blocking: Related: | ---------------------------------+------------------------------------------ Changes (by dterei): * status: new => closed * resolution: => fixed * blockedby: 7575 => 7571, 7575 -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7589#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#7589: LLVM 3.2 Support ---------------------------------+------------------------------------------ Reporter: dterei | Owner: dterei Type: bug | Status: closed Priority: normal | Component: Compiler (LLVM) Version: 7.7 | Resolution: fixed Keywords: | Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Incorrect result at runtime Blockedby: 7571, 7575 | Blocking: Related: | ---------------------------------+------------------------------------------ Changes (by george.colpitts): * cc: george.colpitts@… (added) Comment: Will this fix be in the forthcoming Haskell Platform? It seems this was found in 7.6.1 and 7.7 but it's not clear to me if the fix has been or will be backported to 7.6.2 which I believe will be the basis for the next version of the Haskell Platform. Also Milestone is blank so I wasn't able to use that to answer my question. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7589#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC