From Midgard. These are surprisingly helpful.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4150>
#define bi_foreach_src(ins, v) \
for (unsigned v = 0; v < ARRAY_SIZE(ins->src); ++v)
+static inline bi_instruction *
+bi_prev_op(bi_instruction *ins)
+{
+ return list_last_entry(&(ins->link), bi_instruction, link);
+}
+
+static inline bi_instruction *
+bi_next_op(bi_instruction *ins)
+{
+ return list_first_entry(&(ins->link), bi_instruction, link);
+}
+
/* BIR manipulation */
bool bi_has_outmod(bi_instruction *ins);