sfantao added a comment.
Hi Alexey,
Thanks for the review!
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:4692-4694
@@ +4691,5 @@
+ llvm::Value *ElemSize;
+ if (auto *PTy = BaseTy->getAs()) {
+ElemSize = CGF.getTypeSize(PTy->getPointeeType().getCanonicalType());
ABataev accepted this revision.
This revision is now accepted and ready to land.
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:4421-4423
@@ +4420,5 @@
+ llvm::Value *ElemSize;
+ if (auto *PTy = BaseTy->getAs()) {
+ElemSize = CGF.getTypeSize(PTy->getPointeeType().ge
sfantao added a comment.
Hi Alexey,
Thanks for the review!
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:4393-4431
@@ +4392,41 @@
+/// retrieved from the provided map clause expression.
+DeclarationMapInfoEntry(const Expr *MCE, OpenMPMapClauseKind MapType,
+
ABataev added inline comments.
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:4393-4431
@@ +4392,41 @@
+/// retrieved from the provided map clause expression.
+DeclarationMapInfoEntry(const Expr *MCE, OpenMPMapClauseKind MapType,
+OpenMPMapClauseKi
sfantao added a comment.
Ping!
http://reviews.llvm.org/D16749
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sfantao added a comment.
In http://reviews.llvm.org/D16749#378969, @ABataev wrote:
> Samuel, this is true for device part of codegen. But what about host? If
> this code must be executed on host, will it be handled correctly?
Hi Alexey,
Yes, it will be handled correctly. The map clause doesn
Samuel, this is true for device part of codegen. But what about host? If
this code must be executed on host, will it be handled correctly?
Best regards,
Alexey Bataev
=
Software Engineer
Intel Compiler Team
18.03.2016 23:03, Samuel Antao пишет:
> sfantao added a comment.
>
> Hi Alexe
sfantao added a comment.
Hi Alexey,
I am sorry but I don't think I am following. So in your example:
#pragma omp target map(to: this->A)
[]()->void {++A}();
the map clause is going to make sure the runtime library allocates the section
of `this` that contains A and that is what is used in
sfantao added a comment.
Hi Alexey,
I am afraid I don't understand what you are trying to accomplish with this. I
was unable to compile your patch as is, I think what you intended is something
like this:
// If we are mapping a field of 'this' we attempt to generate a
// OMPCapturedExprDec
ABataev added a comment.
Samuel, I have a patch that improves handling of map clauses with data members.
Unfortunately, I cannot commit it because I can't create tests for it. Please,
apply this patch to your map clause codegen changes. It uses common technique
for handling non-static data memb
ABataev added a comment.
Samuel, this will be captured. But foo() will use original A. This cannot be
changed.
But Inside the region all reference to this->A will be replaced by the
CapturedDecl A. It will allow proper codegen for inner captured contexts.
For example, such code won't be handled
sfantao added a comment.
Ping!
http://reviews.llvm.org/D16749
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sfantao added inline comments.
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:3901-3932
@@ +3900,34 @@
+// Reference types are ignored for mapping purposes.
+if (auto *RefTy = ExprTy->getAs())
+ ExprTy = RefTy->getPointeeType().getCanonicalType();
+
+// Given that an
ABataev added inline comments.
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:3901-3932
@@ +3900,34 @@
+// Reference types are ignored for mapping purposes.
+if (auto *RefTy = ExprTy->getAs())
+ ExprTy = RefTy->getPointeeType().getCanonicalType();
+
+// Given that an
sfantao added a comment.
Hi Alexey,
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:3901-3932
@@ +3900,34 @@
+// Reference types are ignored for mapping purposes.
+if (auto *RefTy = ExprTy->getAs())
+ ExprTy = RefTy->getPointeeType().getCanonicalType();
+
+// Given
ABataev added inline comments.
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:3901-3932
@@ +3900,34 @@
+// Reference types are ignored for mapping purposes.
+if (auto *RefTy = ExprTy->getAs())
+ ExprTy = RefTy->getPointeeType().getCanonicalType();
+
+// Given that an
sfantao added a comment.
Hi Alexey,
Thanks for the feedback!
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:3901-3932
@@ +3900,34 @@
+// Reference types are ignored for mapping purposes.
+if (auto *RefTy = ExprTy->getAs())
+ ExprTy = RefTy->getPointeeType().getCanonic
ABataev added inline comments.
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:3901-3932
@@ +3900,34 @@
+// Reference types are ignored for mapping purposes.
+if (auto *RefTy = ExprTy->getAs())
+ ExprTy = RefTy->getPointeeType().getCanonicalType();
+
+// Given that an
sfantao marked an inline comment as done.
Comment at: test/OpenMP/target_map_codegen.cpp:1705
@@ +1704,3 @@
+ // CK19-DAG: [[SEC000]] = getelementptr {{.*}}[4 x [5 x [6 x i32]]]*
[[VAR0]], i{{.+}} 0, i{{.+}} 1
+
+ // CK19: call void [[CALL25:@.+]]([4 x [5 x [6 x i32]]]* {{[^,]+
sfantao marked an inline comment as done.
sfantao added a comment.
Hi Alexey,
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:3901-3932
@@ +3900,34 @@
+// Reference types are ignored for mapping purposes.
+if (auto *RefTy = ExprTy->getAs())
+ ExprTy = RefTy->getPointeeT
ABataev added inline comments.
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:3901-3932
@@ +3900,34 @@
+// Reference types are ignored for mapping purposes.
+if (auto *RefTy = ExprTy->getAs())
+ ExprTy = RefTy->getPointeeType().getCanonicalType();
+
+// Given that an
sfantao added a comment.
Hi Alexey,
Thanks for the review!
Comment at: lib/CodeGen/CGExpr.cpp:2937-2943
@@ -2936,2 +2936,9 @@
QualType BaseTy = Base.getType();
+ // If the base is a pointer, we actually need to compute the offset in the
+ // pointee.
+ if (BaseTy->isAnyPo
ABataev added inline comments.
Comment at: lib/CodeGen/CGExpr.cpp:2937-2943
@@ -2936,2 +2936,9 @@
QualType BaseTy = Base.getType();
+ // If the base is a pointer, we actually need to compute the offset in the
+ // pointee.
+ if (BaseTy->isAnyPointerType()) {
+auto RBase
sfantao added a comment.
Ping!
http://reviews.llvm.org/D16749
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
24 matches
Mail list logo