The code was just reimplementing itertools.combinations_with_replacement in a less efficient way.
This does change the order of the results slightly, but it should be ok. Signed-off-by: Mathieu Bridon <boche...@daitauha.fr> --- src/compiler/nir/nir_opt_algebraic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py index ac53d77383..e770a61d9f 100644 --- a/src/compiler/nir/nir_opt_algebraic.py +++ b/src/compiler/nir/nir_opt_algebraic.py @@ -723,7 +723,7 @@ optimizations = [ invert = OrderedDict([('feq', 'fne'), ('fne', 'feq'), ('fge', 'flt'), ('flt', 'fge')]) -for left, right in list(itertools.combinations(invert.keys(), 2)) + zip(invert.keys(), invert.keys()): +for left, right in itertools.combinations_with_replacement(invert.keys(), 2): optimizations.append((('inot', ('ior(is_used_once)', (left, a, b), (right, c, d))), ('iand', (invert[left], a, b), (invert[right], c, d)))) optimizations.append((('inot', ('iand(is_used_once)', (left, a, b), (right, c, d))), -- 2.17.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev