[Mlir-commits] [mlir] [MLIR][ROCm] Build mlir_rocm_runtime STANDALONE (PR #205651)
Fabian Mora
llvmlistbot at llvm.org
Wed Jun 24 15:58:26 PDT 2026
================
@@ -167,22 +171,25 @@ extern "C" void mgpuMemHostRegister(void *ptr, uint64_t sizeBytes) {
extern "C" void
mgpuMemHostRegisterMemRef(int64_t rank, StridedMemRefType<char, 1> *descriptor,
int64_t elementSizeBytes) {
-
- llvm::SmallVector<int64_t, 4> denseStrides(rank);
- llvm::ArrayRef<int64_t> sizes(descriptor->sizes, rank);
- llvm::ArrayRef<int64_t> strides(sizes.end(), rank);
-
- std::partial_sum(sizes.rbegin(), sizes.rend(), denseStrides.rbegin(),
- std::multiplies<int64_t>());
- auto sizeBytes = denseStrides.front() * elementSizeBytes;
-
// Only densely packed tensors are currently supported.
- std::rotate(denseStrides.begin(), denseStrides.begin() + 1,
- denseStrides.end());
- denseStrides.back() = 1;
- assert(strides == llvm::ArrayRef(denseStrides));
-
- auto ptr = descriptor->data + descriptor->offset * elementSizeBytes;
+#ifdef _WIN32
+ int64_t *denseStrides = (int64_t *)_alloca(rank * sizeof(int64_t));
+#else
+ int64_t *denseStrides = (int64_t *)alloca(rank * sizeof(int64_t));
----------------
fabianmcg wrote:
Prefer std::vector for portability.
https://github.com/llvm/llvm-project/pull/205651
More information about the Mlir-commits
mailing list