aco: move VMEM instructions below descriptor loads

This is to prevent sequences like:
   a = descriptor_load()
   vmem(a)
   b = descriptor_load()
   vmem(b)
and instead create:
   a = descriptor_load()
   b = descriptor_load()
   vmem(a)
   vmem(b)

fossil-db (Navi):
Totals from 108732 (78.34% of 138791) affected shaders:
SGPRs: 5813529 -> 6320493 (+8.72%); split: -0.12%, +8.84%
VGPRs: 4157736 -> 4157752 (+0.00%); split: -0.03%, +0.03%
CodeSize: 265292988 -> 264014500 (-0.48%); split: -0.51%, +0.02%
MaxWaves: 1560741 -> 1560968 (+0.01%); split: +0.02%, -0.01%
Instrs: 51206869 -> 50885773 (-0.63%); split: -0.66%, +0.03%
Cycles: 1729367212 -> 1727750068 (-0.09%); split: -0.10%, +0.00%
VMEM: 42553651 -> 39970550 (-6.07%); split: +0.12%, -6.19%
SMEM: 7068340 -> 8045390 (+13.82%); split: +15.45%, -1.63%
VClause: 1123189 -> 1123518 (+0.03%); split: -0.54%, +0.57%
SClause: 2157376 -> 2055942 (-4.70%); split: -5.46%, +0.76%
Copies: 3820367 -> 3835023 (+0.38%); split: -0.19%, +0.57%
Branches: 1115624 -> 1115629 (+0.00%); split: -0.00%, +0.00%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
103 jobs for aco_gpr_limit
latest
Status Job ID Name Coverage
  Container
manual #7191814
aarch64 manual
arm_build
manual #7191815
manual
arm_test-base
manual #7191816
windows shell 1809 mesa manual
windows_build_vs2019
manual #7191812
manual
x86_build-base
manual #7191813
manual
x86_test-base
 
  Container 2
created #7191824
android_build
created #7191827
arm64_test
created #7191828
armhf_test
created #7191821
i386_build
created #7191817
kernel+rootfs_amd64
created #7191818
aarch64
kernel+rootfs_arm64
created #7191819
aarch64
kernel+rootfs_armhf
created #7191822
ppc64el_build
created #7191823
s390x_build
created #7191820
x86_build
created #7191825
x86_test-gl
created #7191826
x86_test-vk
 
  Meson X86 64
created #7191834
meson-clang
created #7191835
meson-clover
created #7191831
meson-clover-testing
created #7191832
meson-gallium
created #7191833
meson-release
created #7191829
meson-testing
created #7191830
meson-testing-asan
created #7191836
meson-vulkan
 
  Build Misc
created #7191837
meson-android
created #7191839
aarch64
meson-arm64
created #7191840
aarch64
meson-arm64-build-test
created #7191838
aarch64
meson-armhf
created #7191843
meson-i386
created #7191846
meson-mingw32-x86_64
created #7191845
kvm
meson-ppc64el
created #7191844
kvm
meson-s390x
created #7191841
windows docker 1809 mesa
meson-windows-vs2019
created #7191842
allowed to fail
scons-win64
 
  Amd
created #7191847
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-gles31:amd64
created #7191848
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-traces:amd64
created #7191852
radv-fossils
created #7191849
polaris10 manual
radv-polaris10-traces
created #7191851
polaris10 manual
radv_polaris10_vkcts
created #7191850
raven manual
radv-raven-traces
 
  Arm
created #7191858
mesa-ci-aarch64-lava-collabora
panfrost-g52-gles2:arm64
created #7191859
mesa-ci-aarch64-lava-collabora
panfrost-g52-gles3:arm64
created #7191853
mesa-ci-aarch64-lava-collabora
panfrost-t720-gles2:arm64
created #7191854
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles2:arm64
created #7191855
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles3:arm64 1/2
created #7191856
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles3:arm64 2/2
created #7191857
mesa-ci-aarch64-lava-collabora
panfrost-t860-traces:arm64
 
  Broadcom
created #7191860
igalia-rpi3
vc4-rpi3-gles2:armhf 1/4
created #7191861
igalia-rpi3
vc4-rpi3-gles2:armhf 2/4
created #7191862
igalia-rpi3
vc4-rpi3-gles2:armhf 3/4
created #7191863
igalia-rpi3
vc4-rpi3-gles2:armhf 4/4
created #7191864
igalia-rpi3 manual
vc4-rpi3-piglit-quick_gl:armhf
created #7191865
igalia-rpi3 manual
vc4-rpi3-piglit-quick_shader:armhf
 
  Freedreno
created #7191877
google-freedreno-db410c
arm64_a306_gles2
created #7191878
google-freedreno-db410c
arm64_a306_gles3 1/3
created #7191879
google-freedreno-db410c
arm64_a306_gles3 2/3
created #7191880
google-freedreno-db410c
arm64_a306_gles3 3/3
created #7191881
google-freedreno-db410c
arm64_a306_gles3_options
created #7191882
google-freedreno-db820c
arm64_a530_gles2 1/2
created #7191883
google-freedreno-db820c
arm64_a530_gles2 2/2
created #7191884
google-freedreno-db820c
arm64_a530_gles3
created #7191885
google-freedreno-db820c
arm64_a530_gles31
created #7191886
google-freedreno-db820c manual
arm64_a530_piglit_gl
created #7191887
google-freedreno-db820c manual
arm64_a530_piglit_shader
created #7191870
google-freedreno-cheza
arm64_a630_gl
created #7191867
google-freedreno-cheza
arm64_a630_gles2
created #7191869
google-freedreno-cheza
arm64_a630_gles3
created #7191868
google-freedreno-cheza
arm64_a630_gles31
created #7191871
google-freedreno-cheza
arm64_a630_gles_others
created #7191875
google-freedreno-cheza manual
arm64_a630_piglit_gl
created #7191876
google-freedreno-cheza manual
arm64_a630_piglit_shader
created #7191866
google-freedreno-cheza
arm64-a630-traces
created #7191872
google-freedreno-cheza
arm64_a630_vk 1/2
created #7191873
google-freedreno-cheza
arm64_a630_vk 2/2
created #7191874
google-freedreno-cheza
arm64_a630_vk_sysmem
 
  Software Renderer
created #7191901
lavapipe-vk
created #7191893
llvmpipe-gles2
created #7191888
llvmpipe-piglit-cl
created #7191890
llvmpipe-piglit-glslparser
created #7191889
llvmpipe-piglit-quick_gl
created #7191891
llvmpipe-piglit-quick_shader
created #7191892
llvmpipe-traces
created #7191898
softpipe-asan-gles31
created #7191900
softpipe-gl
created #7191894
softpipe-gles2
created #7191895
softpipe-gles3
created #7191896
softpipe-gles31 1/2
created #7191897
softpipe-gles31 2/2
created #7191899
softpipe-piglit-quick
 
  Layered Backends
created #7191902
windows docker 1809 mesa
test-d3d12-windows
created #7191908
virgl-gl30-on-gl
created #7191909
virgl-gl31-on-gl
created #7191910
virgl-gl32-on-gl
created #7191904
virgl-gles2-on-gl
created #7191911
manual
virgl-gles2-on-gles
created #7191906
virgl-gles31-on-gl 1/2
created #7191907
virgl-gles31-on-gl 2/2
created #7191913
manual
virgl-gles31-on-gles 1/2
created #7191914
manual
virgl-gles31-on-gles 2/2
created #7191905
virgl-gles3-on-gl
created #7191912
manual
virgl-gles3-on-gles
created #7191903
virgl-traces