SpirvShader: Optimize pointer OOB masking
SpirvShader: Optimize pointer OOB masking

Reduces the amount of LLVM IR produced when the limits are compile-time known.

Reduces full test execution time of dEQP-VK.ubo.random.all_out_of_order_offsets.45 by about half.

For dEQP-VK.ubo.random.all_shared_buffer.48:
• Reduces number of pre-opt LLVM IR instructions by about 40%.
• Reduces full test execution time by about 30%

Bug: b/135609394
Change-Id: I3c46d56910bb8373a355ab8d570d3093944afc84
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33053
Reviewed-by: Chris Forbes <c3279c50043e18e9442c1ae071cafa0e7a4ca967@google.com>
Reviewed-by: Nicolas Capens <51edc787c30f24c4904e8ffbb5523c3a9f7a451d@google.com>
Tested-by: Ben Clayton <1f693eb7158dc33015048c09d6712f74dabddf79@google.com>
Kokoro-Presubmit: kokoro <2ac7b1f3fa578934c95181d4272be0d3bca00121@google.com>

google/swiftshader,google/swiftshader,bkaradzic/SwiftShader,bkaradzic/SwiftShader,google/swiftshader,bkaradzic/SwiftShader,bkaradzic/SwiftShader,bkaradzic/SwiftShader