> Perhaps instead of passing array of { void *hostaddr; size_t length; char > kind; } > and length we could pass 3 arrays and length (the same for all of them). > I can see 2 advantages of doing that: > 1) the sizes are often constant and the kinds are always constant, so > we could often allocate those last 2 or just last array in .rodata, wouldn't > need to initialize it dynamically > 2) for the host fallback, we could just pass the first array unmodified as > the .omp_target_data structure, no need to copy the host addresses Agree with both points, very nice idea.
Michael > Jakub