1 // PR tree-optimization/80032
2 // { dg-do compile { target c++11 } }
3 // { dg-options "-O2" }
4 // If DCE removes too many CLOBBERs then stack usage goes through the
5 // roof as stack slots can no longer be shared.
6 // { dg-additional-options "-Wstack-usage=200" { target x86_64-*-* i?86-*-* } }
14 enum DataStore { candidate };
16 using d = api::DataStore;
21 class ManagedObjectConst {
23 ManagedObjectConst(const ManagedObjectConst &);
24 bool isFieldDefault(a, d) const;
25 ADataContainer &getFieldDefault(a, d) const;
31 FieldInfo(ManagedObjectConst, a, d);
34 b compare(const FieldInfo &, const ADataContainer &);
35 class ManagedObject : public ManagedObjectConst {};
38 void FN(ManagedObject &k, const BitMask &) {
39 if (!k.isFieldDefault(8, d::candidate) &&
40 !compare(FieldInfo(k, 11, d::candidate),
41 k.getFieldDefault(11, d::candidate)) == c)
43 if (!k.isFieldDefault(8, d::candidate) &&
44 !compare(FieldInfo(k, 11, d::candidate),
45 k.getFieldDefault(11, d::candidate)) == c)
47 if (!k.isFieldDefault(8, d::candidate) &&
48 !compare(FieldInfo(k, 11, d::candidate),
49 k.getFieldDefault(11, d::candidate)) == c)
51 if (!k.isFieldDefault(8, d::candidate) &&
52 !compare(FieldInfo(k, 11, d::candidate),
53 k.getFieldDefault(11, d::candidate)) == c)
55 if (!k.isFieldDefault(8, d::candidate) &&
56 !compare(FieldInfo(k, 11, d::candidate),
57 k.getFieldDefault(11, d::candidate)) == c)
59 if (!k.isFieldDefault(8, d::candidate) &&
60 !compare(FieldInfo(k, 11, d::candidate),
61 k.getFieldDefault(11, d::candidate)) == c)
63 if (!k.isFieldDefault(8, d::candidate) &&
64 !compare(FieldInfo(k, 11, d::candidate),
65 k.getFieldDefault(11, d::candidate)) == c)
67 if (!k.isFieldDefault(8, d::candidate) &&
68 !compare(FieldInfo(k, 11, d::candidate),
69 k.getFieldDefault(11, d::candidate)) == c)
71 if (!k.isFieldDefault(8, d::candidate) &&
72 !compare(FieldInfo(k, 11, d::candidate),
73 k.getFieldDefault(11, d::candidate)) == c)
75 if (!k.isFieldDefault(8, d::candidate) &&
76 !compare(FieldInfo(k, 11, d::candidate),
77 k.getFieldDefault(11, d::candidate)) == c)
79 if (!k.isFieldDefault(8, d::candidate) &&
80 !compare(FieldInfo(k, 11, d::candidate),
81 k.getFieldDefault(11, d::candidate)) == c)
83 if (!k.isFieldDefault(8, d::candidate) &&
84 !compare(FieldInfo(k, 11, d::candidate),
85 k.getFieldDefault(11, d::candidate)) == c)
87 if (!k.isFieldDefault(8, d::candidate) &&
88 !compare(FieldInfo(k, 11, d::candidate),
89 k.getFieldDefault(11, d::candidate)) == c)
91 if (!k.isFieldDefault(8, d::candidate) &&
92 !compare(FieldInfo(k, 11, d::candidate),
93 k.getFieldDefault(11, d::candidate)) == c)
95 if (!k.isFieldDefault(8, d::candidate) &&
96 !compare(FieldInfo(k, 11, d::candidate),
97 k.getFieldDefault(11, d::candidate)) == c)
99 if (!k.isFieldDefault(8, d::candidate) &&
100 !compare(FieldInfo(k, 11, d::candidate),
101 k.getFieldDefault(11, d::candidate)) == c)
103 if (!k.isFieldDefault(8, d::candidate) &&
104 !compare(FieldInfo(k, 11, d::candidate),
105 k.getFieldDefault(11, d::candidate)) == c)
107 if (!k.isFieldDefault(8, d::candidate) &&
108 !compare(FieldInfo(k, 11, d::candidate),
109 k.getFieldDefault(11, d::candidate)) == c)
111 if (!k.isFieldDefault(8, d::candidate) &&
112 !compare(FieldInfo(k, 11, d::candidate),
113 k.getFieldDefault(11, d::candidate)) == c)
115 if (!k.isFieldDefault(8, d::candidate) &&
116 !compare(FieldInfo(k, 11, d::candidate),
117 k.getFieldDefault(11, d::candidate)) == c)