- for (p = p->prev; p; p = p->prev) {
- n = (ir_mode *)p->contents;
- nn = next_obstack_adr(&modes, n, sizeof(*n));
- for (; (char *)nn < p->limit;) {
- assert(is_mode(n));
- if (modes_are_equal(n, m))
- return n;
-
- n = nn;
- nn = next_obstack_adr(&modes, n, sizeof(*n));
- }
+#ifdef FIRM_STATISTICS
+/* return the mode index, only needed for statistics */
+int stat_find_mode_index(const ir_mode *m) {
+ int i;
+ for (i = ARR_LEN(mode_list) - 1; i >= 0; --i) {
+ ir_mode *n = mode_list[i];
+ if (modes_are_equal(n, m))
+ return i;