The revision refactors the repeated logic for extracting the storage
element type from a SPIR-V pointer type into a shared helper function.
This pattern was duplicated in AtomicRMWOpPattern, LoadOpPattern, and
StoreOpPattern.
The helper handles both Kernel capability (direct array/scalar) and
Vulkan (struct-wrapped array/runtime array) cases.
It is a follow-up for
f80205becd
Signed-off-by: hanhanW <hanhan0912@gmail.com>