On Fri, Jul 8, 2016 at 3:18 PM, Matt Turner <matts...@gmail.com> wrote: > 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 <dav...@davmac.org> > --- > I took Ian's suggestion to add get_head_raw() and get_tail_raw() methods > and use them in place of head_sentinel.next and tail_sentinel.prev. > > src/compiler/glsl/ast.h | 4 +- > src/compiler/glsl/ast_function.cpp | 22 +-- > src/compiler/glsl/ast_to_hir.cpp | 6 +- > src/compiler/glsl/ast_type.cpp | 2 +- > src/compiler/glsl/glsl_parser_extras.cpp | 6 +- > src/compiler/glsl/ir.cpp | 8 +- > src/compiler/glsl/ir_clone.cpp | 2 +- > src/compiler/glsl/ir_constant_expression.cpp | 2 +- > src/compiler/glsl/ir_function.cpp | 14 +- > src/compiler/glsl/ir_reader.cpp | 4 +- > src/compiler/glsl/ir_validate.cpp | 4 +- > src/compiler/glsl/list.h | 184 > ++++++++++++--------- > src/compiler/glsl/lower_distance.cpp | 4 +- > src/compiler/glsl/lower_jumps.cpp | 2 +- > src/compiler/glsl/lower_packed_varyings.cpp | 8 +- > src/compiler/glsl/lower_tess_level.cpp | 4 +- > src/compiler/glsl/opt_conditional_discard.cpp | 6 +- > src/compiler/glsl/opt_dead_builtin_varyings.cpp | 2 +- > src/compiler/glsl/opt_dead_code.cpp | 2 +- > src/compiler/glsl/opt_flatten_nested_if_blocks.cpp | 2 +- > src/compiler/nir/nir.h | 4 +- > src/compiler/nir/nir_opt_gcm.c | 2 +- > src/mesa/drivers/dri/i965/brw_cfg.h | 2 +- > src/mesa/drivers/dri/i965/brw_fs_builder.h | 2 +- > src/mesa/drivers/dri/i965/brw_vec4_builder.h | 2 +- > 25 files changed, 164 insertions(+), 136 deletions(-) > > diff --git a/src/compiler/glsl/ast.h b/src/compiler/glsl/ast.h > index 06c7b03..fa5a731 100644 > --- a/src/compiler/glsl/ast.h > +++ b/src/compiler/glsl/ast.h > @@ -346,8 +346,8 @@ public: > > bool is_single_dimension() const > { > - return this->array_dimensions.tail_pred->prev != NULL && > - this->array_dimensions.tail_pred->prev->is_head_sentinel(); > + return this->array_dimensions.get_tail_raw()->prev != NULL && > + this->array_dimensions.get_tail_raw()->is_head_sentinel();
There's a missing ->prev on this line. Fixed locally, and passes Jenkins. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev