In much of the libomptarget interface we have an ident_t object now, if
it is not null we can use it to improve the profile output. For now, we
simply use the ident_t "source information string" as generated by the
FE.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
LGTM.
openmp/libomptarget/include/SourceInfo.h | ||
---|---|---|
75–76 | This comment might not relate to this patch. I'm just wondering, this header file should be a totally new file. Why the code is not using LLVM style? |
openmp/libomptarget/include/SourceInfo.h | ||
---|---|---|
75–76 | Is there anything wrong with it besides the variable names? I just forgot that LLVM uses Pascal case for its variables when I wrote it. |
openmp/libomptarget/include/SourceInfo.h | ||
---|---|---|
75–76 | Yeah, those variable and type names. |
openmp/libomptarget/include/SourceInfo.h | ||
---|---|---|
75–76 | The ident_t type name is just to be compatible with the rest of libomp and I made map_var_info_t as an alias to mimic that. I could fix the variable names real quick. |
openmp/libomptarget/include/SourceInfo.h | ||
---|---|---|
75–76 | That would be perfect! |
One I could split off (if (arg_num) x 2), and one accidental reformat, the rest is "part of the profiling".
The loc might now be available in places it is not used, which is generally speaking not a problem.
Here is how a profile now can look like:
openmp/libomptarget/src/omptarget.cpp | ||
---|---|---|
217 | I see some inconsistency here. targetDataMapper is an internal libomptarget function (not an API function) and yet it is getting profiled. Same for targetDataContiguous and targetDataNonContiguous. The other 3 internal data-related functions targetDataBegin, targetDataEnd and targetDataUpdate are not. Is this intentional? |
openmp/libomptarget/src/omptarget.cpp | ||
---|---|---|
217 | Kind of. There are a few options:
Long story short, we can discuss this in the meeting at some point and I'm happy for improvement patches :) |
This comment might not relate to this patch. I'm just wondering, this header file should be a totally new file. Why the code is not using LLVM style?