@@ -667,11 +667,7 @@ CodeGenFunction::GenerateOpenMPCapturedStmtFunction(const CapturedStmt &S,
667
667
I->second .first ? I->second .first ->getType () : Arg->getType (),
668
668
AlignmentSource::Decl);
669
669
if (LV.getType ()->isAnyComplexType ())
670
- LV.setAddress (WrapperCGF.Builder .CreatePointerBitCastOrAddrSpaceCast (
671
- LV.getAddress (WrapperCGF),
672
- PI->getType ()->getPointerTo (
673
- LV.getAddress (WrapperCGF).getAddressSpace ()),
674
- PI->getType ()));
670
+ LV.setAddress (LV.getAddress (WrapperCGF).withElementType (PI->getType ()));
675
671
CallArg = WrapperCGF.EmitLoadOfScalar (LV, S.getBeginLoc ());
676
672
} else {
677
673
auto EI = VLASizes.find (Arg);
@@ -4828,8 +4824,6 @@ void CodeGenFunction::EmitOMPTaskBasedDirective(
4828
4824
}
4829
4825
auto *CopyFnTy = llvm::FunctionType::get (CGF.Builder .getVoidTy (),
4830
4826
ParamTypes, /* isVarArg=*/ false );
4831
- CopyFn = CGF.Builder .CreatePointerBitCastOrAddrSpaceCast (
4832
- CopyFn, CopyFnTy->getPointerTo ());
4833
4827
CGF.CGM .getOpenMPRuntime ().emitOutlinedFunctionCall (
4834
4828
CGF, S.getBeginLoc (), {CopyFnTy, CopyFn}, CallArgs);
4835
4829
for (const auto &Pair : LastprivateDstsOrigs) {
@@ -5115,8 +5109,6 @@ void CodeGenFunction::EmitOMPTargetTaskBasedDirective(
5115
5109
}
5116
5110
auto *CopyFnTy = llvm::FunctionType::get (CGF.Builder .getVoidTy (),
5117
5111
ParamTypes, /* isVarArg=*/ false );
5118
- CopyFn = CGF.Builder .CreatePointerBitCastOrAddrSpaceCast (
5119
- CopyFn, CopyFnTy->getPointerTo ());
5120
5112
CGF.CGM .getOpenMPRuntime ().emitOutlinedFunctionCall (
5121
5113
CGF, S.getBeginLoc (), {CopyFnTy, CopyFn}, CallArgs);
5122
5114
for (const auto &Pair : PrivatePtrs) {
0 commit comments