[clang] [llvm] [mlir] [NVPTX] Add support for Shared Cluster Memory address space. (PR #135444)
Alex MacLean via llvm-commits
llvm-commits at lists.llvm.org
Sat Apr 19 10:25:35 PDT 2025
================
@@ -3019,8 +3019,26 @@ SDValue NVPTXTargetLowering::LowerADDRSPACECAST(SDValue Op,
unsigned SrcAS = N->getSrcAddressSpace();
unsigned DestAS = N->getDestAddressSpace();
if (SrcAS != llvm::ADDRESS_SPACE_GENERIC &&
- DestAS != llvm::ADDRESS_SPACE_GENERIC)
+ DestAS != llvm::ADDRESS_SPACE_GENERIC) {
+ // Shared and SharedCluster can be converted to each other through generic
+ // space
+ if ((SrcAS == llvm::ADDRESS_SPACE_SHARED &&
+ DestAS == llvm::ADDRESS_SPACE_SHARED_CLUSTER) ||
+ (SrcAS == llvm::ADDRESS_SPACE_SHARED_CLUSTER &&
+ DestAS == llvm::ADDRESS_SPACE_SHARED)) {
+ const MVT GenerictVT =
+ getPointerTy(DAG.getDataLayout(), ADDRESS_SPACE_GENERIC);
+ const MVT OutputVT = getPointerTy(DAG.getDataLayout(), DestAS);
----------------
AlexMaclean wrote:
Just use `Op.getValueType()`
https://github.com/llvm/llvm-project/pull/135444
More information about the llvm-commits
mailing list