[GHC] #10699: Regression: panic with custom rewrite rules on primops

GHC ghc-devs at haskell.org
Tue Jul 28 21:44:17 UTC 2015


#10699: Regression: panic with custom rewrite rules on primops
-------------------------------------+-------------------------------------
        Reporter:  thomie            |                   Owner:
            Type:  bug               |                  Status:  closed
        Priority:  normal            |               Milestone:
       Component:  Compiler          |                 Version:  7.10.2-rc2
      Resolution:  invalid           |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |               Test Case:
      Blocked By:                    |                Blocking:
 Related Tickets:  #10555            |  Differential Revisions:
-------------------------------------+-------------------------------------
Changes (by simonpj):

 * status:  new => closed
 * resolution:   => invalid


Comment:

 As you point out, rule "double commute left" will rewrite
 {{{
 (a *## b) *## (c *## d)
 --->
 (c *## d) *## (a *## b)
 }}}
 and the rewrites will go on forever.  And that is just what is happening
 here; it happens in the RHS of rules "double **4".

 GHE feels free to use rules A,B,C to rewrite the RHS of another rule D.
 After all, if rule D fires, the RHS would immediately be rewritten by
 A,B,C, so we may as well do it in advance.

 So I claim this is a bug in rule "double commute left" and not in HGC.
 Yell you if you disagree.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10699#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list