summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabor Greif <ggreif@gmail.com>2013-04-06 18:27:14 +0200
committerGabor Greif <ggreif@gmail.com>2013-04-06 18:27:14 +0200
commitc0fb187b3cc6722308b4d475151428778502e0dd (patch)
tree5f1435bcb2587e05174a933c613ede311fec85cb
parent9b3d4cdd26a9fbf0a1183185bedbe11925b1ddb4 (diff)
downloadhaskell-c0fb187b3cc6722308b4d475151428778502e0dd.tar.gz
Derive instance Eq for CmmNode
-rw-r--r--compiler/cmm/CmmNode.hs17
1 files changed, 3 insertions, 14 deletions
diff --git a/compiler/cmm/CmmNode.hs b/compiler/cmm/CmmNode.hs
index b3adefebde..61c0b80179 100644
--- a/compiler/cmm/CmmNode.hs
+++ b/compiler/cmm/CmmNode.hs
@@ -1,6 +1,7 @@
-- CmmNode type for representation using Hoopl graphs.
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
+{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS -fno-warn-tabs #-}
@@ -199,20 +200,8 @@ way is done in cmm/CmmOpt.hs currently. We should fix this!
---------------------------------------------
-- Eq instance of CmmNode
--- It is a shame GHC cannot infer it by itself :(
-
-instance Eq (CmmNode e x) where
- (CmmEntry a) == (CmmEntry a') = a==a'
- (CmmComment a) == (CmmComment a') = a==a'
- (CmmAssign a b) == (CmmAssign a' b') = a==a' && b==b'
- (CmmStore a b) == (CmmStore a' b') = a==a' && b==b'
- (CmmUnsafeForeignCall a b c) == (CmmUnsafeForeignCall a' b' c') = a==a' && b==b' && c==c'
- (CmmBranch a) == (CmmBranch a') = a==a'
- (CmmCondBranch a b c) == (CmmCondBranch a' b' c') = a==a' && b==b' && c==c'
- (CmmSwitch a b) == (CmmSwitch a' b') = a==a' && b==b'
- (CmmCall a b c d e f) == (CmmCall a' b' c' d' e' f') = a==a' && b==b' && c==c' && d==d' && e==e' && f==f'
- (CmmForeignCall a b c d e f) == (CmmForeignCall a' b' c' d' e' f') = a==a' && b==b' && c==c' && d==d' && e==e' && f==f'
- _ == _ = False
+
+deriving instance Eq (CmmNode e x)
----------------------------------------------
-- Hoopl instances of CmmNode