summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@apple.com>2012-03-14 23:32:11 +0000
committerChad Rosier <mcrosier@apple.com>2012-03-14 23:32:11 +0000
commit883b2579aa1677abdbae07341fc78a930e9ae88a (patch)
tree9a6cca2a3adad2d6bb1486f1250690349442373c /clang/lib/CodeGen/CodeGenFunction.cpp
parent01401cec0001a37790f7178ddc82364e59d96a90 (diff)
downloadbcm5719-llvm-883b2579aa1677abdbae07341fc78a930e9ae88a.tar.gz
bcm5719-llvm-883b2579aa1677abdbae07341fc78a930e9ae88a.zip
[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
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp
index b80ceddbe37..06e90b66485 100644
--- a/clang/lib/CodeGen/CodeGenFunction.cpp
+++ b/clang/lib/CodeGen/CodeGenFunction.cpp
@@ -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.
OpenPOWER on IntegriCloud