Only strip invariant.load from special pointers (#57386)
Other backends (in this case NVPTX) require that `invariant.load`
metadata is maintained to generate non-coherent loads.
Currently, we unconditionally strip that metadata from all loads,
since our other uses of it may have become invalid.
x-ref: https://github.com/llvm/llvm-project/pull/112834
https://github.com/JuliaGPU/CUDA.jl/issues/2531
---------
Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com>