r310134 - Revert "[OPENMP] Fix for pacify buildbots, NFC."
Alexey Bataev via cfe-commits
cfe-commits at lists.llvm.org
Fri Aug 4 14:26:25 PDT 2017
Author: abataev
Date: Fri Aug 4 14:26:25 2017
New Revision: 310134
URL: http://llvm.org/viewvc/llvm-project?rev=310134&view=rev
Log:
Revert "[OPENMP] Fix for pacify buildbots, NFC."
This reverts commit r310120.
Modified:
cfe/trunk/lib/CodeGen/CGStmtOpenMP.cpp
Modified: cfe/trunk/lib/CodeGen/CGStmtOpenMP.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGStmtOpenMP.cpp?rev=310134&r1=310133&r2=310134&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGStmtOpenMP.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGStmtOpenMP.cpp Fri Aug 4 14:26:25 2017
@@ -320,7 +320,10 @@ static std::pair<llvm::Function *, bool>
ArgType, ImplicitParamDecl::Other);
Args.emplace_back(Arg);
// Do not cast arguments if we emit function with non-original types.
- TargetArgs.emplace_back(CGM.getOpenMPRuntime().translateParameter(FD, Arg));
+ TargetArgs.emplace_back(
+ FO.UIntPtrCastRequired
+ ? Arg
+ : CGM.getOpenMPRuntime().translateParameter(FD, Arg));
++I;
}
Args.append(
@@ -444,11 +447,15 @@ CodeGenFunction::GenerateOpenMPCapturedS
FunctionArgList Args;
llvm::DenseMap<const Decl *, std::pair<const VarDecl *, Address>> LocalAddrs;
llvm::DenseMap<const Decl *, std::pair<const Expr *, llvm::Value *>> VLASizes;
- FunctionOptions FO(&S, !NeedWrapperFunction, /*RegisterCastedArgsOnly=*/false,
- CapturedStmtInfo->getHelperName(),
- [](CodeGenFunction &CGF, const VarDecl *VD, Address Addr) {
- CGF.setAddrOfLocalVar(VD, Addr);
- });
+ FunctionOptions FO(
+ &S, !NeedWrapperFunction, /*RegisterCastedArgsOnly=*/false,
+ CapturedStmtInfo->getHelperName(),
+ [NeedWrapperFunction](CodeGenFunction &CGF, const VarDecl *VD,
+ Address Addr) {
+ assert(NeedWrapperFunction && "Function should not be called if "
+ "wrapper function is not required.");
+ CGF.setAddrOfLocalVar(VD, Addr);
+ });
llvm::Function *F;
bool HasUIntPtrArgs;
std::tie(F, HasUIntPtrArgs) = emitOutlinedFunctionPrologue(
@@ -470,12 +477,11 @@ CodeGenFunction::GenerateOpenMPCapturedS
SmallString<256> Buffer;
llvm::raw_svector_ostream Out(Buffer);
Out << "__nondebug_wrapper_" << CapturedStmtInfo->getHelperName();
- FunctionOptions WrapperFO(
- &S, /*UIntPtrCastRequired=*/true,
- /*RegisterCastedArgsOnly=*/true, Out.str(),
- [](CodeGenFunction &CGF, const VarDecl *VD, Address Addr) {
- CGF.setAddrOfLocalVar(VD, Addr);
- });
+ FunctionOptions WrapperFO(&S, /*UIntPtrCastRequired=*/true,
+ /*RegisterCastedArgsOnly=*/true, Out.str(),
+ [](CodeGenFunction &, const VarDecl *, Address) {
+ llvm_unreachable("Function should not be called");
+ });
CodeGenFunction WrapperCGF(CGM, /*suppressNewContext=*/true);
WrapperCGF.disableDebugInfo();
Args.clear();
More information about the cfe-commits
mailing list