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>
This commit is contained in:
@@ -1609,13 +1609,13 @@ typedef struct {
|
||||
ATTRIBUTE_RETURNS_NONNULL static inline nir_block *
|
||||
nir_start_block(nir_function_impl *impl)
|
||||
{
|
||||
return (nir_block *) impl->body.head;
|
||||
return (nir_block *) impl->body.head_sentinel.next;
|
||||
}
|
||||
|
||||
ATTRIBUTE_RETURNS_NONNULL static inline nir_block *
|
||||
nir_impl_last_block(nir_function_impl *impl)
|
||||
{
|
||||
return (nir_block *) impl->body.tail_pred;
|
||||
return (nir_block *) impl->body.tail_sentinel.prev;
|
||||
}
|
||||
|
||||
static inline nir_cf_node *
|
||||
|
Reference in New Issue
Block a user