Revert "Add support for attribute 'noescape'."
This reverts commit r313722.
It looks like compiler-rt/lib/tsan/rtl/tsan_libdispatch_mac.cc cannot be
compiled because some of the functions declared in the file do not match
the ones in the SDK headers (which are annotated with 'noescape').
llvm-svn: 313725
diff --git a/clang/lib/CodeGen/CGCall.cpp b/clang/lib/CodeGen/CGCall.cpp
index a432c3c..c6988b5 100644
--- a/clang/lib/CodeGen/CGCall.cpp
+++ b/clang/lib/CodeGen/CGCall.cpp
@@ -455,15 +455,11 @@
CodeGenTypes::arrangeObjCMessageSendSignature(const ObjCMethodDecl *MD,
QualType receiverType) {
SmallVector<CanQualType, 16> argTys;
- SmallVector<FunctionProtoType::ExtParameterInfo, 4> extParamInfos(2);
argTys.push_back(Context.getCanonicalParamType(receiverType));
argTys.push_back(Context.getCanonicalParamType(Context.getObjCSelType()));
// FIXME: Kill copy?
for (const auto *I : MD->parameters()) {
argTys.push_back(Context.getCanonicalParamType(I->getType()));
- auto extParamInfo = FunctionProtoType::ExtParameterInfo().withIsNoEscape(
- I->hasAttr<NoEscapeAttr>());
- extParamInfos.push_back(extParamInfo);
}
FunctionType::ExtInfo einfo;
@@ -479,7 +475,7 @@
return arrangeLLVMFunctionInfo(
GetReturnType(MD->getReturnType()), /*instanceMethod=*/false,
- /*chainCall=*/false, argTys, einfo, extParamInfos, required);
+ /*chainCall=*/false, argTys, einfo, {}, required);
}
const CGFunctionInfo &
@@ -2097,9 +2093,6 @@
break;
}
- if (FI.getExtParameterInfo(ArgNo).isNoEscape())
- Attrs.addAttribute(llvm::Attribute::NoCapture);
-
if (Attrs.hasAttributes()) {
unsigned FirstIRArg, NumIRArgs;
std::tie(FirstIRArg, NumIRArgs) = IRFunctionArgs.getIRArgs(ArgNo);