================
@@ -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

Reply via email to