llvm-project/clang/lib/Sema
Douglas Gregor 290c93ec0d Implement a simple form of the C++ named return value optimization for
return statements. We perform NRVO only when all of the return
statements in the function return the same variable. Fixes some link
failures in Boost.Interprocess (which is relying on NRVO), and
probably improves performance for some C++ applications.

llvm-svn: 103867
2010-05-15 06:46:45 +00:00
..
AnalysisBasedWarnings.cpp Don't perform AnalysisBasedWarnings in Sema or run the static analyzer when a 2010-04-30 21:49:25 +00:00
AnalysisBasedWarnings.h Remove micro-optimization for not issueing CFG-based warnings for 'static inline' functions 2010-04-08 18:51:44 +00:00
CMakeLists.txt Unbreak CMake build. 2010-05-05 05:41:05 +00:00
CXXFieldCollector.h ActOnTagDefinitionError is supposed to 'unwind' ActOnTagStartDefinition, not 2010-03-17 19:25:57 +00:00
CodeCompleteConsumer.cpp Add raw_ostream operators to NamedDecl for convenience. Switch over all users of getNameAsString on a stream. 2010-04-17 09:33:03 +00:00
IdentifierResolver.cpp Optimize the implementation of IdDeclInfo pooling in the IdentifierResolver. 2010-02-15 19:38:00 +00:00
IdentifierResolver.h Eliminate dead code. 2010-01-02 21:44:36 +00:00
JumpDiagnostics.cpp Improve commentary on the indirect-goto jump scope checker and extract 2010-05-12 02:37:54 +00:00
Lookup.h Recommit r102215, this time being more careful to only set the "principal 2010-04-24 01:30:58 +00:00
Makefile Allow users to set CPPFLAGS and CXXFLAGS on the make command line. 2010-03-12 22:55:16 +00:00
ParseAST.cpp push some source location information down through the compiler, 2010-04-20 20:35:58 +00:00
Sema.cpp Implement semantic analysis and an AST representation for the named 2010-05-15 06:01:05 +00:00
Sema.h Implement semantic analysis and an AST representation for the named 2010-05-15 06:01:05 +00:00
SemaAccess.cpp An access is permitted if the current template instantiates to the appropriate 2010-05-04 05:11:27 +00:00
SemaAttr.cpp Rip out the last remaining implicit use of OverloadedFunctionDecl in Sema: 2009-12-02 08:25:40 +00:00
SemaCXXCast.cpp Rework when and how vtables are emitted, by tracking where vtables are 2010-05-13 16:44:06 +00:00
SemaCXXScopeSpec.cpp It turns out that basically every caller to RequireCompleteDeclContext 2010-05-01 00:40:08 +00:00
SemaChecking.cpp Rearchitect -Wconversion and -Wsign-compare. Instead of computing them 2010-05-06 08:58:33 +00:00
SemaCodeComplete.cpp Merged Elaborated and QualifiedName types. 2010-05-11 21:36:43 +00:00
SemaDecl.cpp Implement semantic analysis and an AST representation for the named 2010-05-15 06:01:05 +00:00
SemaDeclAttr.cpp Merged Elaborated and QualifiedName types. 2010-05-11 21:36:43 +00:00
SemaDeclCXX.cpp A vtable is used if the key function is defined... even if that key 2010-05-14 04:08:48 +00:00
SemaDeclObjC.cpp Implement new default property synthesis rules. Essentially, no longer 2010-05-14 18:35:57 +00:00
SemaExceptionSpec.cpp Reinstate my CodeModificationHint -> FixItHint renaming patch, without 2010-03-31 17:46:05 +00:00
SemaExpr.cpp Rework when and how vtables are emitted, by tracking where vtables are 2010-05-13 16:44:06 +00:00
SemaExprCXX.cpp Recognize when the named return value optimization applies in a 2010-05-15 00:13:29 +00:00
SemaExprObjC.cpp Objective-C++ Sema. Fix a bug in instantiation of receivers. 2010-05-13 17:19:25 +00:00
SemaInit.cpp Recognize when the named return value optimization applies in a 2010-05-15 00:13:29 +00:00
SemaInit.h Recognize when the named return value optimization applies in a 2010-05-15 00:13:29 +00:00
SemaLookup.cpp Make sure to search semantic scopes and appropriate template-parameter 2010-05-14 04:53:42 +00:00
SemaObjCProperty.cpp Recognize when the named return value optimization applies in a 2010-05-15 00:13:29 +00:00
SemaOverload.cpp Objective-C++ Sema. Support for conversion of a C++ 2010-05-12 23:29:11 +00:00
SemaOverload.h When printing an overload candidate that failed due to SFINAE, print a 2010-05-08 20:07:26 +00:00
SemaStmt.cpp Implement a simple form of the C++ named return value optimization for 2010-05-15 06:46:45 +00:00
SemaTemplate.cpp Revert r103770, "Added basic source locations to Elaborated and DependentName 2010-05-14 16:34:09 +00:00
SemaTemplate.h After performing template argument deduction for a function template, 2010-03-28 02:42:43 +00:00
SemaTemplateDeduction.cpp When performing template argument deduction, match Objective C pointers 2010-05-13 07:48:05 +00:00
SemaTemplateInstantiate.cpp Rework when and how vtables are emitted, by tracking where vtables are 2010-05-13 16:44:06 +00:00
SemaTemplateInstantiateDecl.cpp Whenever we instantiate a function definition or class, enter a new 2010-05-12 17:27:19 +00:00
SemaType.cpp Revert r103770, "Added basic source locations to Elaborated and DependentName 2010-05-14 16:34:09 +00:00
TargetAttributesSema.cpp Don't emit a warning about a dllimport attribute being used in a typedef 2010-02-21 05:12:56 +00:00
TargetAttributesSema.h Generalize target weirdness handling having proper layering in mind: 2010-01-10 12:58:08 +00:00
TreeTransform.h Revert r103770, "Added basic source locations to Elaborated and DependentName 2010-05-14 16:34:09 +00:00