Lines Matching refs:optimizations
56 # used by by any optimizations that are not bit-for-bit exact. It should not,
96 optimizations = [
298 optimizations.extend([
326 optimizations.extend([
359 optimizations.extend([
379 # Always lower inexact ffma, because it will be fused back by late optimizations (nir_opt_algebraic_late).
435 optimizations.extend([
452 optimizations.extend([
461 optimizations.extend([
471 optimizations.extend([
484 optimizations.extend([
495 optimizations.extend([
528 # This helps some shaders because, after some optimizations, they end up
602 # Some optimizations (below) convert things like (a < b || c < b) into
603 # (min(a, c) < b). However, this interfers with the previous optimizations
734 optimizations.extend([
741 optimizations.extend([
748 optimizations.extend([
766 optimizations.extend([
790 # representing this in the optimizations other than the usual ~.
830 # to prevent other optimizations from ruining the "NaN clensing" property
883 optimizations.extend([
913 # optimizations from replacing either of the comparisons with the
953 optimizations.extend([
979 optimizations.extend([
998 optimizations.extend([
1008 optimizations.extend([
1028 optimizations.extend([
1046 optimizations.extend([
1237 # Shift optimizations
1580 optimizations.extend([(('extract_u8', (op, 'a@16', 8), 0), ('extract_u8', a, 1))])
1581 optimizations.extend([(('extract_u8', (op, 'a@32', 8 * i), 0), ('extract_u8', a, i)) for i in range(1, 4)])
1582 optimizations.extend([(('extract_u8', (op, 'a@64', 8 * i), 0), ('extract_u8', a, i)) for i in range(1, 8)])
1584 optimizations.extend([(('extract_u8', ('extract_u16', a, 1), 0), ('extract_u8', a, 2))])
1589 optimizations.extend([((op, ('ishl', 'a@16', 8), 1), (op, a, 0))])
1590 optimizations.extend([((op, ('ishl', 'a@32', 24 - 8 * i), 3), (op, a, i)) for i in range(2, -1, -1)])
1591 optimizations.extend([((op, ('ishl', 'a@64', 56 - 8 * i), 7), (op, a, i)) for i in range(6, -1, -1)])
1593 optimizations.extend([
1708 # A couple optimizations are applied.
2014 optimizations += [
2026 optimizations.append((('inot', ('ior(is_used_once)', (left, a, b), (right, c, d))),
2028 optimizations.append((('inot', ('iand(is_used_once)', (left, a, b), (right, c, d))),
2036 optimizations.append(((f2bN, ('b2f', aN)), a))
2037 optimizations.append(((i2bN, ('b2i', aN)), a))
2047 optimizations.append(((x2yN, (b2x, a)), (b2y, a)))
2054 optimizations.append(((x2xN, aN), a))
2069 optimizations.append(((x2xN, (y2yM, a)), (y2yN, a)))
2086 optimizations.append(((x2xN, (x2xM, aP)), (x2xN, a)))
2088 # The N == M case is handled by other optimizations
2095 optimizations += [
2123 # optimizations to drop the no-op casts which this may generate.)
2129 optimizations += [
2153 optimizations += [
2173 optimizations += [
2201 optimizations += [
2207 optimizations += [
2215 optimizations += [
2291 optimizations += [
2317 optimizations += [(bitfield_reverse_ue4('x@32'), ('bitfield_reverse', 'x'), '!options->lower_bitfield_reverse')]
2318 optimizations += [(bitfield_reverse_cp2077('x@32'), ('bitfield_reverse', 'x'), '!options->lower_bitfield_reverse')]
2323 optimizations += [
2334 optimizations += [
2339 # Add optimizations to handle the case where the result of a ternary is
2352 optimizations += [
2358 optimizations += [
2374 # Other optimizations will rearrange the constants.
2376 optimizations += [
2388 optimizations += [
2392 # Some optimizations for ir3-specific instructions.
2393 optimizations += [
2408 optimizations += [
2418 optimizations += [
2426 optimizations += [
2434 optimizations += [
2439 optimizations += [
2443 optimizations.extend([
2449 # This section contains optimizations to propagate downsizing conversions of
2460 # require vectorize_vec2_16bit, so we predicate the optimizations on that flag
2480 optimizations += [
2485 optimizations += [
2489 # This section contains "late" optimizations that should be run before
2490 # creating ffmas and calling regular optimizations for the final time.
2492 # with the regular optimizations.
2514 # This section contains "late" optimizations that should be run after the
2515 # regular optimizations have finished. Optimizations should go here if
2572 # optimization loop can prevent other optimizations.
2601 # These are duplicated from the main optimizations table. The late
2687 # Putting this in 'optimizations' interferes with the bcsel(a, op(b, c),
2829 # This must be done in late optimizations, because we need normal optimizations to
2898 print(nir_algebraic.AlgebraicPass("nir_opt_algebraic", optimizations).render())