tree 1fd881efe3b2bdb180b963c0b74323118d5625b2
parent 29e09aff633bee49ddb744558877b52be868a325
author Nathan Gauër <brioche@google.com> 1746629605 +0000
committer GitHub <noreply@github.com> 1746629605 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJoG3PlCRC1aQ7uu5UhlAAAAhQQACyXfwOt8ZhMgj4Am39PjHFN
 hD9Rm/rQW37YddnYFm5RI/aQUi8PvvIptsaTFMtT2CHd6UUjlKG0aSLnrTFEjDdE
 yxzFSbqdtT6wyOPSBo/YNixDfiUzJgwiyGSf+Vf94o79/ZAqSzUoO7XDf1rA5s+h
 ctK4n+wA5TRy6hU17euzrh+HqmcwJfXnnZeh7NA1hY0PdHVRUTiwDuykv4/3t96e
 DbYeAUoUnoW3yK4jtuR4ecS80ZvFBa3hW4aDC3dHfBvZv9/cLbq0BTllnrZy+PFt
 QeaNhjdQWw2R0yOV3dbcUKcVRmfqNSk7PKYIKe6u9wrEyk7rX4bBAREYySI6e3qJ
 8x+TwO0V4l3zdkK37JZD134cBx2YDTf7L57mI4ajhZ9yWodNCMRioUqG0Qm1PJZj
 QHa1ZW9xc7Jl7ry+ObZUTt0Nc5vqHkr+1v/lv8h4hf8HPwiP0G6WjR93Ad3noqhO
 ZRLwAsK/KtLGKcgWpWvQnQY2K+wRCrA2PFo08HikAkL4VNIHa8W5BFkbamFcUgqH
 B2gsl4RK0rqCfl13vMUtyZMbSZMzw5Av2asM73fGkkvgmYzkxD+3sPQOSMYdWo4k
 6LW1p/gDuUlUoN+CbauLTACYDVdwev88tl/cWOly62TGogWa+fkTahez9Rpd4WXy
 gtG+kfcC16ymrTLAjC49
 =zwqB
 -----END PGP SIGNATURE-----
 

[SPIR-V] Add InferAddrSpaces pass to the backend (#137766)

This commit enables a pass in the backend which propagates the addrspace
of the pointers down to the last use, making sure the addrspace remains
consistent, and thus stripping any addrspacecast. This is required to
lower LLVM-IR to logical SPIR-V, which does not support generic
pointers.

This is now required as HLSL emits several address spaces, and thus
addrspacecasts in some cases:

Example 1: resource access

```llvm
%handle = tail call target("spirv.VulkanBuffer", ...)
%rptr = @llvm.spv.resource.getpointer(%handle, ...);
%cptr = addrspacecast ptr addrspace(11) %rptr to ptr
%fptr = load i32, ptr %cptr
```

Example 2: object methods

```llvm
define void @objectMethod(ptr %this) {
}

define void @foo(ptr addrspace(11) %object) {
  call void @objectMethod(ptr addrspacecast(addrspace(11) %object to ptr));
}
```