nir: Unroll loops with multiplication and left shift incrementation

Calculate number of iterations for loops, where incrementation is done
by multiplication.

Multiplication by  power of two may  be transformed to left  shift for
integers, thereof requires separate algorithm.

No shader-db changes were observed.

Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com>
38 jobs for !1935 with opt_loop-unroll-mult in 35 minutes and 18 seconds (queued for 4 seconds)
latest detached
Status Job ID Name Coverage
  Containers
passed #623397
debian

00:00:20

passed #623398
aarch64
test-container:arm64

00:00:19

 
  Build
passed #623401
meson-arm64

00:05:07

passed #623400
meson-armhf

00:02:24

passed #623403
meson-clang

00:07:44

passed #623406
meson-clover

00:08:24

passed #623408
meson-i386

00:03:48

passed #623399
meson-main

00:10:16

passed #623402
meson-swr-glvnd

00:06:44

passed #623407
meson-vulkan

00:01:33

passed #623410
scons-llvm

00:03:16

passed #623409
scons-nollvm

00:03:31

passed #623404
scons-swr

00:05:42

passed #623405
scons-win64

00:07:36

 
  Test
passed #623431
db410c
arm64_a306_gles2 1/4

00:09:40

passed #623432
db410c
arm64_a306_gles2 2/4

00:06:06

passed #623433
db410c
arm64_a306_gles2 3/4

00:04:09

passed #623434
db410c
arm64_a306_gles2 4/4

00:04:31

passed #623420
mesa-cheza
arm64_a630_gles2

00:04:58

passed #623421
mesa-cheza
arm64_a630_gles31 1/4

00:06:10

passed #623422
mesa-cheza
arm64_a630_gles31 2/4

00:07:36

passed #623423
mesa-cheza
arm64_a630_gles31 3/4

00:07:31

passed #623424
mesa-cheza
arm64_a630_gles31 4/4

00:07:10

passed #623425
mesa-cheza
arm64_a630_gles3 1/6

00:04:39

passed #623426
mesa-cheza
arm64_a630_gles3 2/6

00:04:27

passed #623427
mesa-cheza
arm64_a630_gles3 3/6

00:04:30

passed #623428
mesa-cheza
arm64_a630_gles3 4/6

00:04:31

passed #623429
mesa-cheza
arm64_a630_gles3 5/6

00:04:47

passed #623430
mesa-cheza
arm64_a630_gles3 6/6

00:04:18

passed #623411
test-llvmpipe-gles2 1/4

00:03:36

passed #623412
test-llvmpipe-gles2 2/4

00:04:19

passed #623413
test-llvmpipe-gles2 3/4

00:04:23

passed #623414
test-llvmpipe-gles2 4/4

00:03:39

passed #623415
test-softpipe-gles2 1/4

00:01:03

passed #623416
test-softpipe-gles2 2/4

00:01:37

passed #623417
test-softpipe-gles2 3/4

00:00:56

passed #623418
test-softpipe-gles2 4/4

00:01:02

passed #623419
test-softpipe-gles3-limited

00:02:34