diff options
author | Matt Turner <[email protected]> | 2016-06-27 14:42:57 -0700 |
---|---|---|
committer | Matt Turner <[email protected]> | 2016-07-26 12:12:27 -0700 |
commit | d1f6f656973a2e18641441e3c97b30799a82de52 (patch) | |
tree | 9865209c0ac9013e682cde4862ed254a3e1c9a68 /src/mesa/drivers | |
parent | 5d76690f170de9acc541aa6b4a507ccd20a78158 (diff) |
glsl: Separate overlapping sentinel nodes in exec_list.
I do appreciate the cleverness, but unfortunately it prevents a lot more
cleverness in the form of additional compiler optimizations brought on
by -fstrict-aliasing.
No difference in OglBatch7 (n=20).
Co-authored-by: Davin McCall <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_cfg.h | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_builder.h | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4_builder.h | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_cfg.h b/src/mesa/drivers/dri/i965/brw_cfg.h index 1c90eab5eba..b8af40f725f 100644 --- a/src/mesa/drivers/dri/i965/brw_cfg.h +++ b/src/mesa/drivers/dri/i965/brw_cfg.h @@ -333,7 +333,7 @@ struct cfg_t { foreach_in_list(__type, __inst, &(__block)->instructions) #define foreach_inst_in_block_safe(__type, __inst, __block) \ - for (__type *__inst = (__type *)__block->instructions.head, \ + for (__type *__inst = (__type *)__block->instructions.head_sentinel.next, \ *__next = (__type *)__inst->next; \ __next != NULL; \ __inst = __next, \ diff --git a/src/mesa/drivers/dri/i965/brw_fs_builder.h b/src/mesa/drivers/dri/i965/brw_fs_builder.h index 8e434844ddb..483672fbd96 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_builder.h +++ b/src/mesa/drivers/dri/i965/brw_fs_builder.h @@ -101,7 +101,7 @@ namespace brw { fs_builder at_end() const { - return at(NULL, (exec_node *)&shader->instructions.tail); + return at(NULL, (exec_node *)&shader->instructions.tail_sentinel); } /** diff --git a/src/mesa/drivers/dri/i965/brw_vec4_builder.h b/src/mesa/drivers/dri/i965/brw_vec4_builder.h index d25a87a81c0..dab6e0377fe 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_builder.h +++ b/src/mesa/drivers/dri/i965/brw_vec4_builder.h @@ -95,7 +95,7 @@ namespace brw { vec4_builder at_end() const { - return at(NULL, (exec_node *)&shader->instructions.tail); + return at(NULL, (exec_node *)&shader->instructions.tail_sentinel); } /** |