projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
i965/fs: Make resolve_source_modifiers consistent with the vec4 version
[mesa.git]
/
src
/
mesa
/
drivers
/
dri
/
i965
/
brw_cfg.h
diff --git
a/src/mesa/drivers/dri/i965/brw_cfg.h
b/src/mesa/drivers/dri/i965/brw_cfg.h
index 3b1bd16194cc98ada1d0f32a3e6e76c4fafbf327..a09491781e6015757594c2e2db93666ef9a3841a 100644
(file)
--- a/
src/mesa/drivers/dri/i965/brw_cfg.h
+++ b/
src/mesa/drivers/dri/i965/brw_cfg.h
@@
-60,7
+60,7
@@
struct bblock_t {
bool is_successor_of(const bblock_t *block) const;
bool can_combine_with(const bblock_t *that) const;
void combine_with(bblock_t *that);
bool is_successor_of(const bblock_t *block) const;
bool can_combine_with(const bblock_t *that) const;
void combine_with(bblock_t *that);
- void dump(backend_
visitor *v
) const;
+ void dump(backend_
shader *s
) const;
backend_instruction *start();
const backend_instruction *start() const;
backend_instruction *start();
const backend_instruction *start() const;
@@
-81,6
+81,7
@@
struct bblock_t {
struct exec_node link;
struct cfg_t *cfg;
struct exec_node link;
struct cfg_t *cfg;
+ struct bblock_t *idom;
int start_ip;
int end_ip;
int start_ip;
int end_ip;
@@
-269,8
+270,12
@@
struct cfg_t {
bblock_t *new_block();
void set_next_block(bblock_t **cur, bblock_t *block, int ip);
void make_block_array();
bblock_t *new_block();
void set_next_block(bblock_t **cur, bblock_t *block, int ip);
void make_block_array();
+ void calculate_idom();
+ static bblock_t *intersect(bblock_t *b1, bblock_t *b2);
- void dump(backend_visitor *v) const;
+ void dump(backend_shader *s);
+ void dump_cfg();
+ void dump_domtree();
#endif
void *mem_ctx;
#endif
void *mem_ctx;
@@
-278,6
+283,8
@@
struct cfg_t {
struct exec_list block_list;
struct bblock_t **blocks;
int num_blocks;
struct exec_list block_list;
struct bblock_t **blocks;
int num_blocks;
+
+ bool idom_dirty;
};
/* Note that this is implemented with a double for loop -- break will
};
/* Note that this is implemented with a double for loop -- break will
@@
-297,6
+304,9
@@
struct cfg_t {
#define foreach_block(__block, __cfg) \
foreach_list_typed (bblock_t, __block, link, &(__cfg)->block_list)
#define foreach_block(__block, __cfg) \
foreach_list_typed (bblock_t, __block, link, &(__cfg)->block_list)
+#define foreach_block_reverse(__block, __cfg) \
+ foreach_list_typed_reverse (bblock_t, __block, link, &(__cfg)->block_list)
+
#define foreach_block_safe(__block, __cfg) \
foreach_list_typed_safe (bblock_t, __block, link, &(__cfg)->block_list)
#define foreach_block_safe(__block, __cfg) \
foreach_list_typed_safe (bblock_t, __block, link, &(__cfg)->block_list)