This is to fix runtime problem for member data used in target region.
The problem is happened when base class member field is used in target region , the size is wrong, cause runtime to fail. Currently the size of calculation is depended on index of field, since field is in base class, the calculation is wrong. According OpenMP 5.2 148:21: If the target construct is within a class non-static member function, and a variable is an accessible data member of the object for which the non-static data member function is invoked, the variable is treated as if the this[:1] expression had appeared in a map clause with a map-type of tofrom. One way to fix this is emitting code to generate this[:1] instead only when class has any base class. Differential Revision: https://reviews.llvm.org/D141350
Loading
Please sign in to comment