glsl: replace 'x + (-x)' with constant 0

This fixes a hang in shadertoy for radeonsi where a buffer was initialized with:

   value -= value

with value being undefined.
In this case LLVM replace the operation with an assignment to NaN.

Cc: 19.1 19.2 <mesa-stable@lists.freedesktop.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111241
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
22 jobs for !1681 with fix_111241 in 109 minutes and 59 seconds (queued for 46 seconds)
detached
Status Name Job ID Coverage
  Containers Build
passed debian #551890

00:00:22

 
  Build+Test
passed meson-arm64 #551899

00:03:30

passed meson-armhf #551898

00:03:42

passed meson-clang #551892

00:09:45

passed meson-clover #551896

00:11:37

passed meson-i386 #551900

00:03:23

passed meson-main #551895

00:11:27

passed meson-swr-glvnd #551891

00:05:48

passed meson-vulkan #551897

00:03:43

passed scons-llvm #551902

00:04:48

passed scons-nollvm #551901

00:05:17

passed scons-swr #551893

00:09:42

passed scons-win64 #551894

00:10:54

 
  Test
passed test-llvmpipe-gles2 1/4 #551903

00:03:32

passed test-llvmpipe-gles2 2/4 #551904

00:04:15

passed test-llvmpipe-gles2 3/4 #551905

00:03:29

passed test-llvmpipe-gles2 4/4 #551906

00:04:12

passed test-softpipe-gles2 1/4 #551907

00:01:32

passed test-softpipe-gles2 2/4 #551908

00:01:34

passed test-softpipe-gles2 3/4 #551909

00:01:22

passed test-softpipe-gles2 4/4 #551910

00:01:38

passed test-softpipe-gles3-limited #551911

00:04:17