Add a rule for (plusAddr# x 0) == x; fixes #7284
authorIan Lynagh <ian@well-typed.com>
Sun, 21 Oct 2012 13:48:29 +0000 (14:48 +0100)
committerIan Lynagh <ian@well-typed.com>
Sun, 21 Oct 2012 13:48:29 +0000 (14:48 +0100)
compiler/prelude/PrelRules.lhs

index baa50f8..dcfb530 100644 (file)
@@ -241,6 +241,8 @@ primOpRules nm WordLtOp   = mkRelOpRule nm (<)  [ boundsCmp Lt ]
 primOpRules nm WordEqOp   = mkRelOpRule nm (==) [ litEq True ]
 primOpRules nm WordNeOp   = mkRelOpRule nm (/=) [ litEq False ]
 
+primOpRules nm AddrAddOp  = mkPrimOpRule nm 2 [ rightIdentityDynFlags zeroi ]
+
 primOpRules nm SeqOp      = mkPrimOpRule nm 4 [ seqRule ]
 primOpRules nm SparkOp    = mkPrimOpRule nm 4 [ sparkRule ]