
#8205: the 'impossible' happened : expectJust block_order ----------------------------------------+---------------------------------- Reporter: erikd | Owner: jstolarek Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | 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: | Related Tickets: ----------------------------------------+---------------------------------- Changes (by jstolarek): * cc: kazu@… (added) Comment: OK, I understand why this happens only on some systems. This is related to splliting proc points, which is turned on by this piece of code in !CmmPipeline: {{{ splitting_proc_points = hscTarget dflags /= HscAsm || not (tablesNextToCode dflags) || -- Note [inconsistent-pic-reg] usingInconsistentPicReg usingInconsistentPicReg = case (platformArch platform, platformOS platform, gopt Opt_PIC dflags) of (ArchX86, OSDarwin, pic) -> pic (ArchPPC, OSDarwin, pic) -> pic _ -> False }}} If I turn on splitting proc-points by simply setting `splitting_proc_points = True` I still can't reproduce the bug because Cmm is transformed in a different way on my architecture (namely, cFXS block is not removed). I have an idea how to fix this, but this will be speculative. Kazu, I will need your help in testing the patch once it is ready. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8205#comment:18 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler