summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gmail.com>2016-06-27 14:42:57 -0700
committerMatt Turner <mattst88@gmail.com>2016-07-26 12:12:27 -0700
commitd1f6f656973a2e18641441e3c97b30799a82de52 (patch)
tree9865209c0ac9013e682cde4862ed254a3e1c9a68 /src/mesa/drivers/dri/i965
parent5d76690f170de9acc541aa6b4a507ccd20a78158 (diff)
downloadexternal_mesa3d-d1f6f656973a2e18641441e3c97b30799a82de52.zip
external_mesa3d-d1f6f656973a2e18641441e3c97b30799a82de52.tar.gz
external_mesa3d-d1f6f656973a2e18641441e3c97b30799a82de52.tar.bz2
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 <davmac@davmac.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965')
-rw-r--r--src/mesa/drivers/dri/i965/brw_cfg.h2
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_builder.h2
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_builder.h2
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 1c90eab..b8af40f 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 8e43484..483672f 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 d25a87a..dab6e03 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);
}
/**