Lines Matching refs:rr
94 #define for_rr(start, i) for (i = start; i < num; i++) if (rr[i].res >= 0)
97 static void disable(struct result *rr, int i, int src)
100 rr[i].res = -1;
104 static void one_bit_all(struct result *rr, int num, int mask)
113 if (rr[k].res != rr[first].res)
116 rr[first].dontcare = mask_of(ARRAY_SIZE(bits)) & ~mask;
119 disable(rr, k, k);
124 static void neighbour_same(struct result *rr, int num, int mask)
128 if (!(k & mask) || (rr[k].dontcare & mask))
133 if (rr[other].res == rr[k].res && rr[other].msg == rr[k].msg) {
134 disable(rr, other, k);
135 rr[k].dontcare |= mask;
140 void optimizer(struct result *rr, int num)
145 one_bit_all(rr, num, i);
147 neighbour_same(rr, num, i);
166 struct result *rr = calloc(sizeof(struct result), 1U << ARRAY_SIZE(bits));
171 rr[num].res = mce_severity(&m, tolerant, &rr[num].msg);
176 optimizer(rr, num);
195 if (mask & rr[i].dontcare) {
207 struct rname *rname = &rnames[rr[i].res];
208 if ((unsigned)rr[i].res >= ARRAY_SIZE(rnames))
212 assert(rr[i].msg != NULL);
213 printf("<td>%s</td>", rr[i].msg);