intel,nir: Re-materialize abs/neg at their uses

This doesn't do much now because of source modifiers but it helps cut
down some of the hurt if we disable them.

Shader-db results on ICL:

    total instructions in shared programs: 16043198 -> 16043199 (<.01%)
    instructions in affected programs: 2003 -> 2004 (0.05%)
    helped: 4
    HURT: 3
    helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
    helped stats (rel) min: 0.24% max: 0.24% x̄: 0.24% x̃: 0.24%
    HURT stats (abs)   min: 1 max: 2 x̄: 1.67 x̃: 2
    HURT stats (rel)   min: 0.43% max: 3.85% x̄: 2.71% x̃: 3.85%
    95% mean confidence interval for instructions value: -1.21 1.50
    95% mean confidence interval for instructions %-change: -0.78% 2.82%
    Inconclusive result (value mean confidence interval includes 0).

    total cycles in shared programs: 334767171 -> 334755641 (<.01%)
    cycles in affected programs: 77138954 -> 77127424 (-0.01%)
    helped: 394
    HURT: 107
    helped stats (abs) min: 1 max: 1050 x̄: 53.50 x̃: 20
    helped stats (rel) min: <.01% max: 18.65% x̄: 0.35% x̃: 0.06%
    HURT stats (abs)   min: 1 max: 1860 x̄: 89.24 x̃: 20
    HURT stats (rel)   min: <.01% max: 19.24% x̄: 1.03% x̃: 0.08%
    95% mean confidence interval for cycles value: -38.16 -7.87
    95% mean confidence interval for cycles %-change: -0.28% 0.17%
    Inconclusive result (%-change mean confidence interval includes 0).
48 jobs for !4625 with review/nir-remat
latest detached
Status Job ID Name Coverage
  Container
manual arm_build #2333986
aarch64 manual
manual arm_test #2333987
aarch64 manual
manual windows_build_vs2019 #2333988
windows shell 1809 mesa manual
manual x86_build #2333982
manual
manual x86_build_old #2333985
manual
manual x86_test-gl #2333983
manual
manual x86_test-vk #2333984
manual
 
  Meson X86 64
created meson-clang #2333992
created meson-classic #2333991
created meson-clover #2333993
created meson-clover-old-llvm #2333994
created meson-gallium #2333990
created meson-testing #2333989
created meson-vulkan #2333995
 
  Scons
created scons-win64 #2333996
allowed to fail
 
  Meson Misc
created meson-arm64 #2333998
aarch64
created meson-arm64-build-test #2333999
aarch64
created meson-armhf #2333997
aarch64
created meson-i386 #2334001
created meson-mingw32-x86_64 #2334004
created meson-ppc64el #2334003
kvm
created meson-s390x #2334002
kvm
created meson-windows-vs2019 #2334000
windows docker 1809 mesa
 
  Llvmpipe
created llvmpipe-gles2 #2334008
created llvmpipe-traces #2334009
created piglit-glslparser #2334006
created piglit-quick_gl #2334005
created piglit-quick_shader #2334007
 
  Softpipe
created softpipe-gles2 #2334010
created softpipe-gles31 1/4 #2334013
created softpipe-gles3 1/2 #2334011
created softpipe-gles31 2/4 #2334014
created softpipe-gles31 3/4 #2334015
created softpipe-gles31 4/4 #2334016
created softpipe-gles3 2/2 #2334012
 
  Freedreno
created arm64_a306_gles2 #2334020
google-freedreno-db410c
created arm64_a530_gles2 #2334021
google-freedreno-db820c
created arm64_a630_gles2 #2334017
mesa-cheza
created arm64_a630_gles3 #2334019
mesa-cheza
created arm64_a630_gles31 #2334018
mesa-cheza
 
  Panfrost
created panfrost-t720-gles2:arm64 #2334022
mesa-ci-aarch64-lava-collabora
created panfrost-t760-gles2:armhf #2334023
mesa-ci-aarch64-lava-collabora
created panfrost-t860-gles2:arm64 #2334024
mesa-ci-aarch64-lava-collabora
created panfrost-t860-gles3:arm64 #2334025
mesa-ci-aarch64-lava-collabora
 
  Radv
created radv-fossils #2334026
 
  Lima
created lima-mali400-test:armhf 1/2 #2334027
mesa-ci-aarch64-lava-baylibre
created lima-mali400-test:armhf 2/2 #2334028
mesa-ci-aarch64-lava-baylibre
created lima-mali450-test:arm64 #2334029
mesa-ci-aarch64-lava-baylibre