[PATCH] D11361: [OpenMP] Target directive host codegen
Alexey Bataev via cfe-commits
cfe-commits at lists.llvm.org
Sun Aug 16 20:49:08 PDT 2015
ABataev added inline comments.
================
Comment at: lib/CodeGen/CGExpr.cpp:1969
@@ -1945,3 +1968,3 @@
else
- return EmitCapturedFieldLValue(*this, CapturedStmtInfo->lookup(VD),
- CapturedStmtInfo->getContextValue());
+ return EmitCapturedValue(*this, CapturedStmtInfo->lookup(VD),
+ CapturedStmtInfo->getContextValue());
----------------
Samuel, why you don't want to capture all used variables in CapturedDecl instead of creating ImplicitParamDecl for each captured variable? Also, you will solve possible trouble with VLAs automatically using CapturedDecl.
================
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:2953
@@ +2952,3 @@
+ BasePointer = Pointer = LV.getAddress();
+ uint64_t SizeVal = CGM.getContext().getTypeSize(ri->getType()) / 8;
+ Size = CGF.Builder.getInt64(SizeVal);
----------------
Use CGM.getContext().getTypeSizeInChars() instead of CGM.getContext().getTypeSize() / 8.
================
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:2954
@@ +2953,3 @@
+ uint64_t SizeVal = CGM.getContext().getTypeSize(ri->getType()) / 8;
+ Size = CGF.Builder.getInt64(SizeVal);
+
----------------
Maybe llvm::ConstantInt::get(CGF.SizeTy, SizeVal)?
================
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:2963
@@ +2962,3 @@
+ uint64_t SizeVal =
+ CGM.getContext().getTypeSize(PtrTy->getPointeeType()) / 8;
+ Size = CGF.Builder.getInt64(SizeVal);
----------------
Use CGM.getContext().getTypeSizeInChars() instead of CGM.getContext().getTypeSize() / 8.
================
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:2980
@@ +2979,3 @@
+ uint64_t ElementTypeSize =
+ CGM.getContext().getTypeSize(ElementType) / 8;
+ Size = CGF.Builder.getInt64(ElementTypeSize);
----------------
The same
================
Comment at: lib/CodeGen/CGStmtOpenMP.cpp:2144-2145
@@ +2143,4 @@
+ auto *ThisRef = LocalDeclMap[*pi];
+ LValue Addr = LValue::MakeAddr(ThisRef, ri->getType(), CharUnits(),
+ CGM.getContext());
+ CXXThisValue = EmitLoadOfLValue(Addr, CS.getLocStart()).getScalarVal();
----------------
MakeNaturalAlignAddrLValue(ThisRef, ri->getType())?
================
Comment at: lib/CodeGen/CGStmtOpenMP.cpp:2147
@@ +2146,3 @@
+ CXXThisValue = EmitLoadOfLValue(Addr, CS.getLocStart()).getScalarVal();
+ ;
+ continue;
----------------
Extra semicolon
http://reviews.llvm.org/D11361
More information about the cfe-commits
mailing list