If the base is used in a map clause and later we have a memberexpr with
this base, and the member is a pointer, and this pointer is dereferenced
anyhow (subscript, array section, dereference, etc.), such components
should be considered as overlapped, otherwise it may lead to incorrect
size computations, since we try to map a pointee as a part of the whole
struct, which is not true for the pointer members.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
This will eliminate some IRS and it works okay with me. Thanks! But I don't know enough about this domain, please wait for some time to see if others may command on it.
clang/test/OpenMP/target_map_codegen_29.cpp | ||
---|---|---|
86 | So instead generate map for individual pointer field, just generate one for each base with whole struct size. Make sense. |
So instead generate map for individual pointer field, just generate one for each base with whole struct size. Make sense.