intel/cfg: Add first/last_block helpers
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4447>
This commit is contained in:

committed by
Marge Bot

parent
64e3b8d66b
commit
eb5a10ff63
@@ -310,6 +310,11 @@ struct cfg_t {
|
|||||||
|
|
||||||
void remove_block(bblock_t *block);
|
void remove_block(bblock_t *block);
|
||||||
|
|
||||||
|
bblock_t *first_block();
|
||||||
|
const bblock_t *first_block() const;
|
||||||
|
bblock_t *last_block();
|
||||||
|
const bblock_t *last_block() const;
|
||||||
|
|
||||||
bblock_t *new_block();
|
bblock_t *new_block();
|
||||||
void set_next_block(bblock_t **cur, bblock_t *block, int ip);
|
void set_next_block(bblock_t **cur, bblock_t *block, int ip);
|
||||||
void make_block_array();
|
void make_block_array();
|
||||||
@@ -328,6 +333,56 @@ struct cfg_t {
|
|||||||
unsigned cycle_count;
|
unsigned cycle_count;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static inline struct bblock_t *
|
||||||
|
cfg_first_block(struct cfg_t *cfg)
|
||||||
|
{
|
||||||
|
return (struct bblock_t *)exec_list_get_head(&cfg->block_list);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline const struct bblock_t *
|
||||||
|
cfg_first_block_const(const struct cfg_t *cfg)
|
||||||
|
{
|
||||||
|
return (const struct bblock_t *)exec_list_get_head_const(&cfg->block_list);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline struct bblock_t *
|
||||||
|
cfg_last_block(struct cfg_t *cfg)
|
||||||
|
{
|
||||||
|
return (struct bblock_t *)exec_list_get_tail(&cfg->block_list);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline const struct bblock_t *
|
||||||
|
cfg_last_block_const(const struct cfg_t *cfg)
|
||||||
|
{
|
||||||
|
return (const struct bblock_t *)exec_list_get_tail_const(&cfg->block_list);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
inline bblock_t *
|
||||||
|
cfg_t::first_block()
|
||||||
|
{
|
||||||
|
return cfg_first_block(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
const inline bblock_t *
|
||||||
|
cfg_t::first_block() const
|
||||||
|
{
|
||||||
|
return cfg_first_block_const(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bblock_t *
|
||||||
|
cfg_t::last_block()
|
||||||
|
{
|
||||||
|
return cfg_last_block(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
const inline bblock_t *
|
||||||
|
cfg_t::last_block() const
|
||||||
|
{
|
||||||
|
return cfg_last_block_const(this);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Note that this is implemented with a double for loop -- break will
|
/* Note that this is implemented with a double for loop -- break will
|
||||||
* break from the inner loop only!
|
* break from the inner loop only!
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user