#5567: LLVM: Improve alias analysis / performance ---------------------------------+------------------------------------------ Reporter: dterei | Owner: dterei Type: task | Status: new Priority: normal | Milestone: 7.6.1 Component: Compiler (LLVM) | Version: Keywords: | Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Runtime performance bug Difficulty: | Testcase: Blockedby: | Blocking: Related: | ---------------------------------+------------------------------------------
Comment(by dterei): OK, tried this benchmark: {{{ module Main(main) where import Data.Array.Base import Data.Array.IO import Data.Array.MArray main :: IO () main = do arr <- newArray_ (0, 200) go arr 2 0 100 go :: IOUArray Int Int -> Int -> Int -> Int -> IO () go arr stride x y | x < y = do unsafeWrite arr (x * stride) 1337 go arr stride (x + 1) y | otherwise = return () }}} And not working as I seem to be adding the TBAA info wrong. I think we need an unknown type (for pointers loaded from RX registers) that doesn't alias Sp. -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5567#comment:6> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler _______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs