pan/bi: Add bi_{before,after}_clause cursors
Will be needed to insert spill code after scheduling once we have multiple instructions in a clause. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>
This commit is contained in:
parent
3ce67cb0d9
commit
ec0d0426d6
|
@ -785,6 +785,32 @@ bi_after_instr(bi_instr *instr)
|
|||
};
|
||||
}
|
||||
|
||||
static inline bi_instr *
|
||||
bi_first_instr_in_clause(bi_clause *clause)
|
||||
{
|
||||
bi_bundle bundle = clause->bundles[0];
|
||||
return bundle.fma ?: bundle.add;
|
||||
}
|
||||
|
||||
static inline bi_instr *
|
||||
bi_last_instr_in_clause(bi_clause *clause)
|
||||
{
|
||||
bi_bundle bundle = clause->bundles[clause->bundle_count - 1];
|
||||
return bundle.add ?: bundle.fma;
|
||||
}
|
||||
|
||||
static inline bi_cursor
|
||||
bi_before_clause(bi_clause *clause)
|
||||
{
|
||||
return bi_before_instr(bi_first_instr_in_clause(clause));
|
||||
}
|
||||
|
||||
static inline bi_cursor
|
||||
bi_after_clause(bi_clause *clause)
|
||||
{
|
||||
return bi_after_instr(bi_last_instr_in_clause(clause));
|
||||
}
|
||||
|
||||
/* IR builder in terms of cursor infrastructure */
|
||||
|
||||
typedef struct {
|
||||
|
|
Loading…
Reference in New Issue