Support present modifier in defaultmap by adding an extra dimension
for ImplicitMap. Therefore, we now create OMPMapClause in ActOnOpenMPExecutableDirective
based on both maptype and maptype-modifier.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
I now only update target_defaultmap_messages test since I'm not sure what I've done is correct for the new version. Will add all other defaultmap_messages tests once corrected the stuff I added in target_defaultmap_messages.
clang/lib/Sema/SemaOpenMP.cpp | ||
---|---|---|
3310 | Add a reference to the OpenMP standard, section and related text. | |
3492 | Why need to add an empty SourceLocation? | |
18600–18601 | You can make it StringRef | |
18602 | Same, StringRef | |
18614–18628 | StringRef | |
clang/test/OpenMP/target_defaultmap_codegen.cpp | ||
1557 | Add in a separate test file | |
clang/test/OpenMP/target_defaultmap_messages.cpp | ||
5 | Why this line is changed? |
clang/lib/Sema/SemaOpenMP.cpp | ||
---|---|---|
3492 | I'm doing this since there is no actual location for present modifier. Maybe I should just pass llvm::None to ActOnOpenMPMapClause. |
clang/lib/Sema/SemaOpenMP.cpp | ||
---|---|---|
3492 | Could you store the original location of the present modifier and add a real source location rather. Better to use correct locations when possible, it may help with the debug info emission |
clang/test/OpenMP/target_defaultmap_codegen_01.cpp | ||
---|---|---|
1522–1523 | This is because, in SemaOpenMP line 5176, I'm invoking ActOnOpenMPMapClause in a fixed order. The outer dimension of the 2-dim for loop is the variable category of defaultmap (scalar -> aggregate -> pointer), therefore, 4096 (aggregate, Vector) is not happening after 4 (scalar, a). | |
1523–1524 | Going to fix this, thanks. |
Add a reference to the OpenMP standard, section and related text.