[frontend] Add support for disabling the "inline" keyword using
-fno-inline-functions. This behaves much like -fno-inline in gcc, but based on a discussion with Daniel it was decided that -fno-inline-functions should subsume -fno-inline. Please speak up if you object. The -fno-inline flag remains ignored. Final part of rdar://10972766 llvm-svn: 152754
This commit is contained in:
@@ -266,13 +266,14 @@ void CodeGenFunction::StartFunction(GlobalDecl GD, QualType RetTy,
|
||||
|
||||
// Pass inline keyword to optimizer if it appears explicitly on any
|
||||
// declaration.
|
||||
if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D))
|
||||
for (FunctionDecl::redecl_iterator RI = FD->redecls_begin(),
|
||||
RE = FD->redecls_end(); RI != RE; ++RI)
|
||||
if (RI->isInlineSpecified()) {
|
||||
Fn->addFnAttr(llvm::Attribute::InlineHint);
|
||||
break;
|
||||
}
|
||||
if (!CGM.getCodeGenOpts().NoInline)
|
||||
if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D))
|
||||
for (FunctionDecl::redecl_iterator RI = FD->redecls_begin(),
|
||||
RE = FD->redecls_end(); RI != RE; ++RI)
|
||||
if (RI->isInlineSpecified()) {
|
||||
Fn->addFnAttr(llvm::Attribute::InlineHint);
|
||||
break;
|
||||
}
|
||||
|
||||
if (getContext().getLangOpts().OpenCL) {
|
||||
// Add metadata for a kernel function.
|
||||
|
||||
Reference in New Issue
Block a user