[Mesa-dev] [PATCH 1/3] glsl: don't drop intructions from unreachable terminators continue branch
Matt Turner
mattst88 at gmail.com
Thu Sep 14 22:45:17 UTC 2017
On Wed, Sep 13, 2017 at 9:47 PM, Timothy Arceri <tarceri at itsqueeze.com> wrote:
> These instruction will be executed on every iteration of the loop
> we cannot drop them.
> ---
> src/compiler/glsl/loop_analysis.h | 7 +++++++
> src/compiler/glsl/loop_controls.cpp | 15 +++++++++++++++
> src/compiler/glsl/loop_unroll.cpp | 7 -------
> 3 files changed, 22 insertions(+), 7 deletions(-)
>
> diff --git a/src/compiler/glsl/loop_analysis.h b/src/compiler/glsl/loop_analysis.h
> index 2894c6359b..0e1bfd8142 100644
> --- a/src/compiler/glsl/loop_analysis.h
> +++ b/src/compiler/glsl/loop_analysis.h
> @@ -27,20 +27,27 @@
>
> #include "ir.h"
> #include "util/hash_table.h"
>
> /**
> * Analyze and classify all variables used in all loops in the instruction list
> */
> extern class loop_state *
> analyze_loop_variables(exec_list *instructions);
>
> +static inline bool
> +is_break(ir_instruction *ir)
> +{
> + return ir != NULL && ir->ir_type == ir_type_loop_jump &&
> + ((ir_loop_jump *) ir)->is_break();
Please indent this expression to align vertically with ir != NULL
More information about the mesa-dev
mailing list