aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorAmy Huang <akhuang@google.com>2023-06-22 11:36:30 -0700
committerAmy Huang <akhuang@google.com>2023-06-22 11:42:33 -0700
commit8ed7aa59f489715d39d32e72a787b8e75cfda151 (patch)
tree66d8d1db8756c2acfd93e426ff6cbe752a0d856b /clang/lib/CodeGen/CodeGenFunction.h
parent83d47ba15a1229a21aaca8a8d6a33e0e90aabfd4 (diff)
downloadllvm-8ed7aa59f489715d39d32e72a787b8e75cfda151.zip
llvm-8ed7aa59f489715d39d32e72a787b8e75cfda151.tar.gz
llvm-8ed7aa59f489715d39d32e72a787b8e75cfda151.tar.bz2
Revert "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."
Causes a clang crash (see crbug.com/1457256). This reverts commit 015049338d7e8e0e81f2ad2f94e5a43e2e3f5220.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.h14
1 files changed, 2 insertions, 12 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index 09a8c07..0f72059 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -1963,9 +1963,6 @@ private:
/// Check if the return value of this function requires sanitization.
bool requiresReturnValueCheck() const;
- bool isInAllocaArgument(CGCXXABI &ABI, QualType Ty);
- bool hasInAllocaArg(const CXXMethodDecl *MD);
-
llvm::BasicBlock *TerminateLandingPad = nullptr;
llvm::BasicBlock *TerminateHandler = nullptr;
llvm::SmallVector<llvm::BasicBlock *, 2> TrapBBs;
@@ -2228,17 +2225,10 @@ public:
void EmitBlockWithFallThrough(llvm::BasicBlock *BB, const Stmt *S);
void EmitForwardingCallToLambda(const CXXMethodDecl *LambdaCallOperator,
- CallArgList &CallArgs,
- const CGFunctionInfo *CallOpFnInfo = nullptr,
- llvm::Constant *CallOpFn = nullptr);
+ CallArgList &CallArgs);
void EmitLambdaBlockInvokeBody();
+ void EmitLambdaDelegatingInvokeBody(const CXXMethodDecl *MD);
void EmitLambdaStaticInvokeBody(const CXXMethodDecl *MD);
- void EmitLambdaDelegatingInvokeBody(const CXXMethodDecl *MD,
- CallArgList &CallArgs);
- void EmitLambdaInAllocaImplFn(const CXXMethodDecl *CallOp,
- const CGFunctionInfo **ImplFnInfo,
- llvm::Function **ImplFn);
- void EmitLambdaInAllocaCallOpBody(const CXXMethodDecl *MD);
void EmitLambdaVLACapture(const VariableArrayType *VAT, LValue LV) {
EmitStoreThroughLValue(RValue::get(VLASizeMap[VAT->getSizeExpr()]), LV);
}