
#12808: For primitive (Addr#) operations, Loop Invariant Code Flow not lifted outside the loop... -------------------------------------+------------------------------------- Reporter: GordonBGood | Owner: Type: bug | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): As I understand it, these movements could not sensibly be hoisted at the Core level, or could they? I'm failing to see how the code at the top lines up with the Cmm you are showing. Maybe show STG code too, and say how they match up? If we can do the floating in Core, that would be better! If the opportunity only gets exposed when we are in Cmm, I wonder if it's worth our doing this in Cmm, or whether it's best left to LLVM? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12808#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler