
#8275: Loopification breaks profiling ----------------------------------------+---------------------------------- Reporter: jstolarek | Owner: Type: bug | Status: new Priority: high | Milestone: 7.8.1 Component: Profiling | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Building GHC failed | Unknown/Multiple Test Case: | Difficulty: Unknown Blocking: | Blocked By: 8456 | Related Tickets: ----------------------------------------+---------------------------------- Comment (by parcs): Replying to [comment:40 simonmar]:
The fix looks right to me, thanks. (we should never be referring to global regs explicity except during copy-in or copy-out, so it was just a bug before.)
I don't know whether it's necessary to re-run the LDV code after looping. Not doing so certainly does not cause a segfault, anyway.
Yes, it is necessary to do this. Remember that looping should behave in exactly the same way as making a recursive call to the function. Could someone look into this please?
Okay, I optimistically pushed a pair of commits to make the LDV coderun after looping. It involved eliminating another explicit use of `nodeReg` and then moving the LDV code below the self-loop label. Is this fine? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8275#comment:42 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler