Polygeist icon indicating copy to clipboard operation
Polygeist copied to clipboard

Question: Support for differentiating between volatile and non-volatile memory operations

Open nayakajay opened this issue 8 months ago • 1 comments

Hi,

After lowering a CUDA program to mlir format using cgeist, I wanted to run some analysis on memory operations. I want to differentiate memory operations which are 'volatile.'

__global__ void test(volatile int* a, int* b) {
     a[some_idx] = data();
     b[another_idx] = data();
}

For example, I want to differentiate stores to array a and b as volatile has special semantics in CUDA. In the LLVM IR, it is possible (isVolatile method). Can something similar be achieved here?

nayakajay avatar Jul 01 '24 04:07 nayakajay