Implements the OMPIRBuilder portion for the
Interop directive.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Event Timeline
clang/lib/CodeGen/CGStmtOpenMP.cpp | ||
---|---|---|
6310–6311 | This code can be removed. | |
6328 | bool | |
6329 | hasClausesOfKind should be better | |
6334 | EmitLValue(C->getInteropVar()).getPointer(*this);. | |
6344–6345 | EmitLValue(C->getInteropVar()).getPointer(*this);. | |
6350–6351 | EmitLValue(C->getInteropVar()).getPointer(*this);. | |
6355–6358 | Is this allowed at all? If not, better to turn it into an assert. | |
clang/test/OpenMP/interop_irbuilder.cpp | ||
2 | Actual codegen checks are missing |
you need to squash your commits locally and update this revision with a single commit/diff.
clang/lib/CodeGen/CGStmtOpenMP.cpp | ||
---|---|---|
6302–6355 | This is not how assertions work. assert(EXPR && "MESSAGE"); |
clang/lib/CodeGen/CGStmtOpenMP.cpp | ||
---|---|---|
6330–6331 | This code is common for all if-else braches, move out of the conditional blocks? | |
6335–6336 | Can we have anything else rather than C->getIsTargetSync() here? If no, then it should look like this: if (C->getIsTarget()) { InteropType = llvm::omp::OMPInteropType::Target; } else { assert(C->getIsTargetSync() && "Expected ..."); InteropType = llvm::omp::OMPInteropType::TargetSync; } |
LGTM,
please rebase on top of trunk and use ConstantInt::get(Int32, 0) instead of the APInt way.
This code can be removed.