mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 15:40:11 +01:00
nir: Add a couple helpers for phis and cursors
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8872>
This commit is contained in:
parent
6dfdde149e
commit
6413e67591
1 changed files with 23 additions and 0 deletions
|
|
@ -2700,6 +2700,19 @@ nir_block_ends_in_jump(nir_block *block)
|
|||
#define nir_foreach_instr_reverse_safe(instr, block) \
|
||||
foreach_list_typed_reverse_safe(nir_instr, instr, node, &(block)->instr_list)
|
||||
|
||||
static inline nir_phi_instr *
|
||||
nir_block_last_phi_instr(nir_block *block)
|
||||
{
|
||||
nir_phi_instr *last_phi = NULL;
|
||||
nir_foreach_instr(instr, block) {
|
||||
if (instr->type == nir_instr_type_phi)
|
||||
last_phi = nir_instr_as_phi(instr);
|
||||
else
|
||||
return last_phi;
|
||||
}
|
||||
return last_phi;
|
||||
}
|
||||
|
||||
typedef enum {
|
||||
nir_selection_control_none = 0x0,
|
||||
nir_selection_control_flatten = 0x1,
|
||||
|
|
@ -3662,6 +3675,16 @@ nir_after_instr(nir_instr *instr)
|
|||
return cursor;
|
||||
}
|
||||
|
||||
static inline nir_cursor
|
||||
nir_before_block_after_phis(nir_block *block)
|
||||
{
|
||||
nir_phi_instr *last_phi = nir_block_last_phi_instr(block);
|
||||
if (last_phi)
|
||||
return nir_after_instr(&last_phi->instr);
|
||||
else
|
||||
return nir_before_block(block);
|
||||
}
|
||||
|
||||
static inline nir_cursor
|
||||
nir_after_block_before_jump(nir_block *block)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue