================ @@ -184,37 +189,94 @@ class OpenACCClauseCIREmitter final mlir::Location beginLoc; mlir::Value varValue; llvm::StringRef name; + llvm::SmallVector<mlir::Value> bounds; }; + mlir::Value createBound(mlir::Location boundLoc, mlir::Value lowerBound, + mlir::Value upperBound, mlir::Value extent) { + // Arrays always have a start-idx of 0. + mlir::Value startIdx = createConstantInt(boundLoc, 64, 0); + // TODO: OpenACC: It isn't clear that stride would ever be anything other + // than '1'? We emit the type of the reference 'correctly' as far as I ---------------- razvanlupusoru wrote:
I think it is OK to remove the TODO here. I agree both with the choice to have stride as '1' and not specified in bytes. The acc dialect permits non-1 stride because not all languages have contiguous arrays. And in particular, I imagine if CIR allowed native representation of non-contiguous array views - taking advantage of this functionality would be necessary. https://github.com/llvm/llvm-project/pull/140971 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits