diff options
author | Amy Huang <akhuang@google.com> | 2023-06-22 11:36:30 -0700 |
---|---|---|
committer | Amy Huang <akhuang@google.com> | 2023-06-22 11:42:33 -0700 |
commit | 8ed7aa59f489715d39d32e72a787b8e75cfda151 (patch) | |
tree | 66d8d1db8756c2acfd93e426ff6cbe752a0d856b /clang/lib/CodeGen/CodeGenFunction.h | |
parent | 83d47ba15a1229a21aaca8a8d6a33e0e90aabfd4 (diff) | |
download | llvm-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.h | 14 |
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); } |