summaryrefslogtreecommitdiffstats
path: root/src/compiler/glsl/ast_type.cpp
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/compiler/glsl/ast_type.cpp
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/compiler/glsl/ast_type.cpp')
-rw-r--r--src/compiler/glsl/ast_type.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/glsl/ast_type.cpp b/src/compiler/glsl/ast_type.cpp
index 1372ff7..d34d641 100644
--- a/src/compiler/glsl/ast_type.cpp
+++ b/src/compiler/glsl/ast_type.cpp
@@ -688,8 +688,8 @@ ast_layout_expression::process_qualifier_constant(struct _mesa_glsl_parse_state
if (!can_be_zero)
min_value = 1;
- for (exec_node *node = layout_const_expressions.head;
- !node->is_tail_sentinel(); node = node->next) {
+ for (exec_node *node = layout_const_expressions.get_head_raw();
+ !node->is_tail_sentinel(); node = node->next) {
exec_list dummy_instructions;
ast_node *const_expression = exec_node_data(ast_node, node, link);