ir3/spill: Fix simplify_phi_nodes with multiple loop nesting

Once we simplified a phi node, we never updated the definition it points
to, which meant that it could become out of date if that definition were
also simplified, and we didn't check that when rewriting sources. That
could happen when there are multiple nested loops with phi nodes at the
header.

Fix it by updating the phi's pointer. Since we always update sources
after visiting the definition it points to, when we go to rewrite a
source, if that source points to a simplified phi, the phi's pointer
can't be pointing to a simplified phi because we already visited the phi
earlier in the pass and updated it, or else it's been simplified in the
meantime and this isn't the last pass. This way we don't need to
keep recursing when rewriting sources.
109 jobs for ir3-cp-subgroup-fix
latest
Status Name Job ID Coverage
  Container
created debian/android_build #16140358
passed debian/arm_build #16140362
aarch64 manual

00:00:16

passed debian/arm_test #16140367

00:00:15

created debian/i386_build #16140355
created debian/ppc64el_build #16140356
created debian/s390x_build #16140357
created debian/x86_build #16140354
manual debian/x86_build-base #16140353
manual
manual debian/x86_test-base #16140359
manual
created debian/x86_test-gl #16140360
created debian/x86_test-vk #16140361
manual fedora/x86_build #16140363
manual
created kernel+rootfs_amd64 #16140364
passed kernel+rootfs_arm64 #16140365
aarch64

00:01:46

passed kernel+rootfs_armhf #16140366
aarch64

00:00:50

manual windows_build_vs2019 #16140368
windows shell 1809 mesa manual
 
  Build X86 64
created debian-clang #16140375
created debian-clover #16140376
created debian-clover-testing #16140371
created debian-gallium #16140372
created debian-release #16140373
created debian-testing #16140369
created debian-testing-asan #16140370
created debian-vulkan #16140377
created fedora-release #16140374
 
  Build Misc
created debian-android #16140378
passed debian-arm64 #16140380
aarch64

00:01:54

passed debian-arm64-asan #16140381
aarch64

00:09:33

passed debian-arm64-build-test #16140382
aarch64

00:01:49

passed debian-armhf #16140379
aarch64

00:01:59

created debian-i386 #16140383
created debian-mingw32-x86_64 #16140384
 
  Amd
created radv-navy_flounder-traces #16140386
amdgpu:codename:NAVY_FLOUNDER manual
created radv-navy_flounder-vkd3d-proton #16140385
amdgpu:codename:NAVY_FLOUNDER manual
created radv_polaris10_vkcts #16140388
polaris10 manual
created radv-raven-traces #16140387
amdgpu:codename:RAVEN manual
 
  Intel
created i915-g33-deqp #16140389
anholt-g33 manual
created i915-g33-piglit #16140390
anholt-g33 manual
created i915-g33-traces #16140391
anholt-g33 manual
created iris-amly-deqp 1/3 #16140395
mesa-ci-x86-64-lava-asus-C433TA-AJ0005-rammus manual
created iris-amly-deqp 2/3 #16140396
mesa-ci-x86-64-lava-asus-C433TA-AJ0005-rammus manual
created iris-amly-deqp 3/3 #16140397
mesa-ci-x86-64-lava-asus-C433TA-AJ0005-rammus manual
created iris-amly-egl #16140404
mesa-ci-x86-64-lava-asus-C433TA-AJ0005-rammus manual
created iris-amly-piglit 1/3 #16140405
mesa-ci-x86-64-lava-asus-C433TA-AJ0005-rammus manual
created iris-amly-piglit 2/3 #16140406
mesa-ci-x86-64-lava-asus-C433TA-AJ0005-rammus manual
created iris-amly-piglit 3/3 #16140407
mesa-ci-x86-64-lava-asus-C433TA-AJ0005-rammus manual
created iris-amly-traces #16140409
mesa-ci-x86-64-lava-asus-C433TA-AJ0005-rammus manual
created iris-cml-deqp 1/2 #16140402
mesa-ci-x86-64-lava-asus-C436FA-flip-hatch manual
created iris-cml-deqp 2/2 #16140403
mesa-ci-x86-64-lava-asus-C436FA-flip-hatch manual
created iris-cml-traces #16140412
mesa-ci-x86-64-lava-asus-C436FA-flip-hatch manual
created iris-glk-deqp 1/2 #16140392
mesa-ci-x86-64-lava-hp-x360-12b-ca0010nr-n4020-octopus manual
created iris-glk-deqp 2/2 #16140393
mesa-ci-x86-64-lava-hp-x360-12b-ca0010nr-n4020-octopus manual
created iris-glk-egl #16140394
mesa-ci-x86-64-lava-hp-x360-12b-ca0010nr-n4020-octopus manual
created iris-glk-traces #16140408
mesa-ci-x86-64-lava-hp-x360-12b-ca0010nr-n4020-octopus manual
created iris-kbl-deqp 1/3 #16140398
mesa-ci-x86-64-lava-hp-x360-14-G1-sona manual
created iris-kbl-deqp 2/3 #16140399
mesa-ci-x86-64-lava-hp-x360-14-G1-sona manual
created iris-kbl-deqp 3/3 #16140400
mesa-ci-x86-64-lava-hp-x360-14-G1-sona manual
created iris-kbl-traces #16140410
mesa-ci-x86-64-lava-hp-x360-14-G1-sona manual
created iris-whl-deqp #16140401
mesa-ci-x86-64-lava-dell-latitude-5400-4305U-sarien manual
created iris-whl-traces #16140411
mesa-ci-x86-64-lava-dell-latitude-5400-4305U-sarien manual
 
  Arm
created panfrost-g52-piglit-gl:arm64 1/2 #16140413
mesa-ci-x86-64-lava-meson-g12b-a311d-khadas-vim3 manual
created panfrost-g52-piglit-gl:arm64 2/2 #16140414
mesa-ci-x86-64-lava-meson-g12b-a311d-khadas-vim3 manual
 
  Broadcom
manual vc4-rpi3-piglit-quick_gl:armhf 1/4 #16140415
igalia-rpi3 manual
manual vc4-rpi3-piglit-quick_gl:armhf 2/4 #16140416
igalia-rpi3 manual
manual vc4-rpi3-piglit-quick_gl:armhf 3/4 #16140417
igalia-rpi3 manual
manual vc4-rpi3-piglit-quick_gl:armhf 4/4 #16140418
igalia-rpi3 manual
manual vc4-rpi3-piglit-quick_shader:armhf 1/2 #16140419
igalia-rpi3 manual
manual vc4-rpi3-piglit-quick_shader:armhf 2/2 #16140420
igalia-rpi3 manual
 
  Freedreno
passed a306_gl 1/5 #16140421
google-freedreno-db410c

00:09:19

passed a306_gl 2/5 #16140422
google-freedreno-db410c

00:09:44

passed a306_gl 3/5 #16140423
google-freedreno-db410c

00:09:33

passed a306_gl 4/5 #16140424
google-freedreno-db410c

00:08:48

passed a306_gl 5/5 #16140425
google-freedreno-db410c

00:08:54

passed a306-traces #16140426
google-freedreno-db410c

00:02:03

manual a530_gl 1/5 #16140427
google-freedreno-db820c manual
manual a530_gl 2/5 #16140428
google-freedreno-db820c manual
manual a530_gl 3/5 #16140429
google-freedreno-db820c manual
manual a530_gl 4/5 #16140430
google-freedreno-db820c manual
manual a530_gl 5/5 #16140431
google-freedreno-db820c manual
manual a530_piglit_gl #16140432
google-freedreno-db820c manual
manual a530_piglit_shader 1/2 #16140433
google-freedreno-db820c manual
manual a530_piglit_shader 2/2 #16140434
google-freedreno-db820c manual
manual a530-traces #16140435
google-freedreno-db820c manual
created a618_vk 1/7 #16140436
mesa-ci-x86-64-lava-sc7180-trogdor-lazor-limozeen
created a618_vk 2/7 #16140437
mesa-ci-x86-64-lava-sc7180-trogdor-lazor-limozeen
created a618_vk 3/7 #16140438
mesa-ci-x86-64-lava-sc7180-trogdor-lazor-limozeen
created a618_vk 4/7 #16140439
mesa-ci-x86-64-lava-sc7180-trogdor-lazor-limozeen
created a618_vk 5/7 #16140440
mesa-ci-x86-64-lava-sc7180-trogdor-lazor-limozeen
created a618_vk 6/7 #16140441
mesa-ci-x86-64-lava-sc7180-trogdor-lazor-limozeen
created a618_vk 7/7 #16140442
mesa-ci-x86-64-lava-sc7180-trogdor-lazor-limozeen
created a618_vk_full 1/2 #16140443
mesa-ci-x86-64-lava-sc7180-trogdor-lazor-limozeen manual
created a618_vk_full 2/2 #16140444
mesa-ci-x86-64-lava-sc7180-trogdor-lazor-limozeen manual
passed a630_egl #16140449
google-freedreno-cheza

00:02:28

passed a630_gl 1/4 #16140445
google-freedreno-cheza

00:06:29

passed a630_gl 2/4 #16140446
google-freedreno-cheza

00:07:10

passed a630_gl 3/4 #16140447
google-freedreno-cheza

00:06:08

passed a630_gl 4/4 #16140448
google-freedreno-cheza

00:06:55

manual a630_gles_asan #16140450
google-freedreno-cheza manual
passed a630_piglit #16140457
google-freedreno-cheza

00:08:09

passed a630-traces #16140458
google-freedreno-cheza

00:03:31

failed a630-traces-restricted #16140459
google-freedreno-cheza allowed to fail

00:03:17

passed a630_vk 1/3 #16140451
google-freedreno-cheza

00:09:10

passed a630_vk 2/3 #16140452
google-freedreno-cheza

00:10:24

passed a630_vk 3/3 #16140453
google-freedreno-cheza

00:10:44

manual a630_vk_asan #16140456
google-freedreno-cheza manual
manual a630_vk_full 1/2 #16140454
google-freedreno-cheza manual
manual a630_vk_full 2/2 #16140455
google-freedreno-cheza manual
 
  Etnaviv
manual gc2000_gles2 #16140460
etnaviv-gc2000 manual
manual gc2000_piglit #16140461
etnaviv-gc2000 manual
 
Name Stage Failure
failed
a630-traces-restricted Freedreno
Uploading artifacts...
results/: found 32 matching files and directories

WARNING: serial*.txt: no matching files
Uploading artifacts as "archive" to coordinator... ok
id=16140459 responseStatus=201 Created token=kRgjGcE2
Uploading artifacts...
results/junit.xml: found 1 matching files and directories

Uploading artifacts as "junit" to coordinator... ok
id=16140459 responseStatus=201 Created token=kRgjGcE2
Cleaning up file based variables
ERROR: Job failed: exit code 1