[clang] [CIR][OpenACC] Implement pointer/array recipe destructors (PR #160189)
Razvan Lupusoru via cfe-commits
cfe-commits at lists.llvm.org
Wed Sep 24 08:49:55 PDT 2025
https://github.com/razvanlupusoru approved this pull request.
Thank you Erich for the comments showing type of array. That helped! The changes look great to me!
A few semi-relevant comments:
- I noticed you use the upperbound instead of extent in the recipes - despite the fact that only extent is filled in in the bounds used in the `acc.private` operations. I am guessing you will be relying on the promise I made (but not yet implemented) - https://mlir.llvm.org/docs/Dialects/OpenACCDialect/#accget_upperbound-accgetupperboundop
- It is expected that you are not using stride from `acc.bounds` (since OpenACC spec does not actually allow stride). We currently do use this in flang because the language can express non-contiguous array views. I am imagining that if ever mdspan was natively represented in compiler as some sort of built-in type, then using stride would be necessary.
- I noticed you collapse multi-dimension arrays into a single loop. I imagine normal declarations do not result in non-contiguous arrays. However, does your semantics checking verify for contiguous sections in the case when acc bounds are used?
https://github.com/llvm/llvm-project/pull/160189
More information about the cfe-commits
mailing list