Bump a few more performance regressions from Type-indexed Typeable
[ghc.git] / testsuite / tests / perf / compiler / T9233a.hs
1 module T9233a where
2
3
4 data X = X {
5 f1 :: String,
6 f2 :: !Bool,
7 f3 :: !Bool,
8 f4 :: !Bool,
9 f5 :: !Bool,
10 f6 :: !Bool,
11 f7 :: !Bool,
12 f8 :: !Bool,
13 f9 :: !Bool,
14 f10 :: !Bool,
15 f11 :: !Bool,
16 f12 :: !Bool,
17 f13 :: !Bool,
18 f14 :: !Bool,
19 f15 :: !Bool,
20 f16 :: !Bool,
21 f17 :: !Bool,
22 f18 :: !Bool,
23 f19 :: !Bool,
24 f20 :: !Bool,
25 f21 :: !Bool,
26 f22 :: !Bool,
27 f23 :: !Bool,
28 f24 :: !Bool,
29 f25 :: !Bool,
30 f26 :: !Bool,
31 f27 :: !Bool,
32 f28 :: !Bool,
33 f29 :: !Bool,
34 f30 :: !Bool,
35 f31 :: !Bool,
36 f32 :: !Bool,
37 f33 :: !Bool,
38 f34 :: !Bool,
39 f35 :: !Bool,
40 f36 :: !Bool,
41 f37 :: !Bool,
42 f38 :: !Bool,
43 f39 :: !Bool,
44 f40 :: !Bool,
45 f41 :: !Bool,
46 f42 :: !Bool,
47 f43 :: !Bool,
48 f44 :: !Bool,
49 f45 :: !Bool,
50 f46 :: !Bool,
51 f47 :: !Bool,
52 f48 :: !Bool,
53 f49 :: !Bool,
54 f50 :: !Bool,
55 f51 :: !Bool,
56 f52 :: !Bool,
57 f53 :: !Bool,
58 f54 :: !Bool,
59 f55 :: !Bool,
60 f56 :: !Bool,
61 f57 :: !Bool,
62 f58 :: !Bool,
63 f59 :: !Bool,
64 f60 :: !Bool,
65 f61 :: !Bool,
66 f62 :: !Bool,
67 f63 :: !Bool,
68 f64 :: !Bool,
69 f65 :: !Bool,
70 f66 :: !Bool,
71 f67 :: !Bool,
72 f68 :: !Bool,
73 f69 :: !Bool,
74 f70 :: !Bool,
75 f71 :: !Bool,
76 f72 :: !Bool,
77 f73 :: !Bool,
78 f74 :: !Bool,
79 f75 :: !Bool,
80 f76 :: !Bool,
81 f77 :: !Bool,
82 f78 :: !Bool,
83 f79 :: !Bool,
84 f80 :: !Bool,
85 f81 :: !Bool,
86 f82 :: !Bool,
87 f83 :: !Bool,
88 f84 :: !Bool,
89 f85 :: !Bool,
90 f86 :: !Bool,
91 f87 :: !Bool,
92 f88 :: !Bool,
93 f89 :: !Bool,
94 f90 :: !Bool,
95 f91 :: !Bool,
96 f92 :: !Bool,
97 f93 :: !Bool,
98 f94 :: !Bool,
99 f95 :: !Bool,
100 f96 :: !Bool,
101 f97 :: !Bool,
102 f98 :: !Bool,
103 f99 :: !Bool,
104 f100 :: !Bool
105 }
106
107 data Options = Options {
108 flags :: !X,
109 o2 :: !Bool,
110 o3 :: !Bool,
111 o4 :: !Bool,
112 o5 :: !Bool,
113 o6 :: !Bool,
114 o7 :: !Bool,
115 o8 :: !Bool,
116 o9 :: !Bool,
117 o10 :: !Bool,
118 o11 :: !Bool,
119 o12 :: !Bool
120 }
121
122 splitComma :: String -> String
123 splitComma _ = "a"
124 {-# NOINLINE splitComma #-}
125
126 getOpt :: Monad m => [String -> Options -> m Options] -> m ()
127 getOpt _ = return ()
128 {-# NOINLINE getOpt #-}