diff options
-rw-r--r-- | testsuite/tests/perf/compiler/T13056.hs | 26 | ||||
-rw-r--r-- | testsuite/tests/perf/compiler/all.T | 10 |
2 files changed, 36 insertions, 0 deletions
diff --git a/testsuite/tests/perf/compiler/T13056.hs b/testsuite/tests/perf/compiler/T13056.hs new file mode 100644 index 0000000000..046e1b0747 --- /dev/null +++ b/testsuite/tests/perf/compiler/T13056.hs @@ -0,0 +1,26 @@ +{-# LANGUAGE DeriveDataTypeable #-} +{-# LANGUAGE DeriveGeneric #-} +{-# LANGUAGE DeriveFunctor #-} +{-# LANGUAGE DeriveFoldable #-} + +module Bug where +import Data.Typeable +import GHC.Generics +import Data.Data + +data Condition v = Condition + deriving (Functor, Foldable) + +data CondTree v c a = CondNode + { condTreeData :: a + , condTreeConstraints :: c + , condTreeComponents :: [CondBranch v c a] + } + deriving (Functor, Foldable) + +data CondBranch v c a = CondBranch + { condBranchCondition :: Condition v + , condBranchIfTrue :: CondTree v c a + , condBranchIfFalse :: Maybe (CondTree v c a) + } + deriving (Functor, Foldable) diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T index 2714e865c0..5d61ae397b 100644 --- a/testsuite/tests/perf/compiler/all.T +++ b/testsuite/tests/perf/compiler/all.T @@ -898,3 +898,13 @@ test('T12234', ], compile, ['']) + +test('T13056', + [ only_ways(['optasm']), + compiler_stats_num_field('bytes allocated', + [(wordsize(64), 1, 5), + # 2017-01-04 1 initial + ]), + ], + compile, + ['-O1']) |