From: Daniel Dunbar Date: Tue, 6 Mar 2012 23:52:37 +0000 (+0000) Subject: [AST] FunctionDecl::getBuiltinID() - Eliminate spurious calls to getASTContext X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=60d302a707fb35b9acf41bf5495296c4af947045;p=clang [AST] FunctionDecl::getBuiltinID() - Eliminate spurious calls to getASTContext -- which is very much not free -- in the common case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152165 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/Decl.cpp b/lib/AST/Decl.cpp index 03b2794c0e..1942e1e852 100644 --- a/lib/AST/Decl.cpp +++ b/lib/AST/Decl.cpp @@ -1796,11 +1796,14 @@ void FunctionDecl::setStorageClass(StorageClass SC) { /// value of type \c Builtin::ID if in the target-independent range /// \c [1,Builtin::First), or a target-specific builtin value. unsigned FunctionDecl::getBuiltinID() const { - ASTContext &Context = getASTContext(); - if (!getIdentifier() || !getIdentifier()->getBuiltinID()) + if (!getIdentifier()) return 0; unsigned BuiltinID = getIdentifier()->getBuiltinID(); + if (!BuiltinID) + return 0; + + ASTContext &Context = getASTContext(); if (!Context.BuiltinInfo.isPredefinedLibFunction(BuiltinID)) return BuiltinID;