[GHC] #14528: LLVM's CallAnalyzer Breaks

#14528: LLVM's CallAnalyzer Breaks -------------------------------------+------------------------------------- Reporter: kavon | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.1 (LLVM) | Keywords: inline | Operating System: Unknown/Multiple Architecture: | Type of failure: Compile-time Unknown/Multiple | crash or panic Test Case: | Blocked By: Blocking: 11295 | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- I found this issue while working on #11295. It seems that after first running `-mem2reg -inline` on some nofib programs, such as `imaginary/integrate` and `real/lift` (using `llvm-link` to roll the IR files together), running another pass that depends on LLVM's CallAnalyzer will cause `opt` to overflow the stack. For example, here are some pass sequences that break `opt` when optimizing `integrate`: * `-mem2reg -inline -gvn` * `-mem2reg -inline -instcombine` * `-mem2reg -inline -early-cse` This happens in LLVM 5 and tip-of-tree (LLVM 6). It probably is present in LLVM 4 as well. I'm working on putting together a reduced test case to report a bug to LLVM developers. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14528 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14528: LLVM's CallAnalyzer Breaks -------------------------------------+------------------------------------- Reporter: kavon | Owner: kavon Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (LLVM) | Version: 8.2.1 Resolution: | Keywords: inline Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: 11295 Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by kavon): * owner: (none) => kavon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14528#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14528: LLVM's CallAnalyzer Breaks -------------------------------------+------------------------------------- Reporter: kavon | Owner: kavon Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (LLVM) | Version: 8.2.1 Resolution: | Keywords: inline Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: 11295 Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by kavon): * Attachment "even_simpler.ll" added. significantly reduced program that exhibits the same crashing behavior while determining InlineCost. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14528 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14528: LLVM's CallAnalyzer Breaks -------------------------------------+------------------------------------- Reporter: kavon | Owner: kavon Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (LLVM) | Version: 8.2.1 Resolution: | Keywords: inline Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: 11295 Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by kavon): Reported here: https://bugs.llvm.org/show_bug.cgi?id=35469 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14528#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC