aco: use VSKIP instead of branches in case of few instructions

This patch relaxes the conditions under which
we remove branch instructions. Additionally, it
introduces the use of VSKIP for GCN.

Removing the branches now happens especially
in these two situations:
- divergent breaks: the outer branch instruction can be removed
- optimized atomics: the branch condition is always true for one lane

Totals from 20846 (14.96% of 139391) affected shaders:
CodeSize: 156790560 -> 156294524 (-0.32%)
Instrs: 29870459 -> 29748936 (-0.41%)
Cycles: 1641405628 -> 1611934772 (-1.80%); split: -1.80%, +0.00%
VMEM: 4538623 -> 4536635 (-0.04%)
SMEM: 1318984 -> 1318787 (-0.01%)
Branches: 830286 -> 708791 (-14.63%)
Status Job ID Name Coverage
  Container
manual #10837023
aarch64 manual
arm_build
manual #10837026
windows shell 1809 mesa manual
windows_build_vs2019
manual #10837019
manual
x86_build-base
manual #10837022
manual
x86_test-base
 
  Container 2
created #10837040
android_build
created #10837032
i386_build
created #10837048
kernel+rootfs_amd64
created #10837051
aarch64
kernel+rootfs_arm64
created #10837054
aarch64
kernel+rootfs_armhf
created #10837034
ppc64el_build
created #10837037
s390x_build
created #10837030
x86_build
created #10837042
x86_test-gl
created #10837045
x86_test-vk
 
  Meson X86 64
created #10837069
meson-clang
created #10837073
meson-clover
created #10837062
meson-clover-testing
created #10837065
meson-gallium
created #10837066
meson-release
created #10837058
meson-testing
created #10837059
meson-testing-asan
created #10837077
meson-vulkan
 
  Build Misc
created #10837081
arm_test
created #10837085
meson-android
created #10837090
aarch64
meson-arm64
created #10837095
aarch64
meson-arm64-asan
created #10837099
aarch64
meson-arm64-build-test
created #10837086
aarch64
meson-armhf
created #10837103
meson-i386
created #10837111
meson-mingw32-x86_64
created #10837108
meson-ppc64el
 
  Amd
created #10837142
radv-fossils
created #10837122
amdgpu:codename:NAVY_FLOUNDER manual
radv-navy_flounder-traces
created #10837115
amdgpu:codename:NAVY_FLOUNDER manual
radv-navy_flounder-vkd3d-proton
created #10837130
polaris10 manual
radv_polaris10_vkcts
created #10837126
amdgpu:codename:RAVEN manual
radv-raven-traces
created #10837132
mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt
radv_stoney_vkcts:amd64 1/3
created #10837135
mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt
radv_stoney_vkcts:amd64 2/3
created #10837140
mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt
radv_stoney_vkcts:amd64 3/3
 
  Intel
created #10837146
anholt-g33 manual
i915-g33-deqp
created #10837149
anholt-g33 manual
i915-g33-khr-deqp
created #10837152
anholt-g33 manual
i915-g33-piglit
created #10837154
anholt-g33 manual
i915-g33-traces
created #10837189
mesa-ci-x86-64-lava-asus-C433TA-AJ0005-rammus manual
iris-amly-gles3
created #10837195
mesa-ci-x86-64-lava-asus-C433TA-AJ0005-rammus manual
iris-amly-gles31
created #10837158
mesa-ci-x86-64-lava-asus-C523NA-A20057-coral manual
iris-apl-gl
created #10837180
mesa-ci-x86-64-lava-hp-x360-12b-n4000-octopus manual
iris-glk-egl
created #10837173
mesa-ci-x86-64-lava-hp-x360-12b-n4000-octopus manual
iris-glk-gl
created #10837160
mesa-ci-x86-64-lava-hp-x360-12b-n4000-octopus manual
iris-glk-gles2
created #10837164
mesa-ci-x86-64-lava-hp-x360-12b-n4000-octopus manual
iris-glk-gles3
created #10837167
mesa-ci-x86-64-lava-hp-x360-12b-n4000-octopus manual
iris-glk-gles31
created #10837203
mesa-ci-x86-64-lava-hp-x360-12b-n4000-octopus manual
iris-glk-traces
created #10837208
mesa-ci-x86-64-lava-hp-x360-14-G1-sona manual
iris-kbl-traces
 
  Broadcom
created #10837214
igalia-rpi3 manual
vc4-rpi3-piglit-quick_gl:armhf 1/4
created #10837221
igalia-rpi3 manual
vc4-rpi3-piglit-quick_gl:armhf 2/4
created #10837226
igalia-rpi3 manual
vc4-rpi3-piglit-quick_gl:armhf 3/4
created #10837234
igalia-rpi3 manual
vc4-rpi3-piglit-quick_gl:armhf 4/4
created #10837246
igalia-rpi3 manual
vc4-rpi3-piglit-quick_shader:armhf 1/2
created #10837253
igalia-rpi3 manual
vc4-rpi3-piglit-quick_shader:armhf 2/2
 
  Freedreno
created #10837260
google-freedreno-db820c manual
a530_piglit_gl
created #10837265
google-freedreno-cheza manual
a630_gles_asan
created #10837269
google-freedreno-cheza manual
a630_vk_asan
 
  Layered Backends
created #10837276
manual
virgl-gles2-on-gles
created #10837288
manual
virgl-gles31-on-gles 1/2
created #10837292
manual
virgl-gles31-on-gles 2/2
created #10837282
manual
virgl-gles3-on-gles