diff options
author | Timothy Arceri <[email protected]> | 2018-07-07 12:09:26 +1000 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2018-08-29 16:02:05 +1000 |
commit | 5a6b04d94bd2ec175d485b71e8ae815efd778a8a (patch) | |
tree | 84bb156b4bd39e97bdd87e550e142db4b780c40f /src/compiler/nir/nir.h | |
parent | fef6325e587173f2146a8aab75847144d2f802ff (diff) |
nir: add complex_loop bool to loop info
In order to be sure loop_terminator_list is an accurate
representation of all the jumps in the loop we need to be sure we
didn't encounter any other complex behaviour such as continues,
nested breaks, etc during analysis.
This will be used in the following patch.
Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/compiler/nir/nir.h')
-rw-r--r-- | src/compiler/nir/nir.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index 009a6d60371..12cad6029cd 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -1801,6 +1801,12 @@ typedef struct { /* Unroll the loop regardless of its size */ bool force_unroll; + /* Does the loop contain complex loop terminators, continues or other + * complex behaviours? If this is true we can't rely on + * loop_terminator_list to be complete or accurate. + */ + bool complex_loop; + nir_loop_terminator *limiting_terminator; /* A list of loop_terminators terminating this loop. */ |