Searched refs:NRVO (Results 1 - 6 of 6) sorted by relevance

/external/clang/lib/Sema/
H A DScope.cpp88 NRVO.setPointerAndInt(nullptr, 0);
116 if (VarDecl *Candidate = NRVO.getPointer()) {
124 if (NRVO.getInt())
126 else if (NRVO.getPointer())
127 getParent()->addNRVOCandidate(NRVO.getPointer());
213 if (NRVO.getInt())
214 OS << "NRVO not allowed";
215 else if (NRVO.getPointer())
216 OS << "NRVO candidate : (clang::VarDecl*)" << NRVO
[all...]
H A DSemaInit.cpp2677 return LocAndNRVO.NRVO;
5352 // If the entity allows NRVO, mark the construction as elidable
/external/clang/include/clang/Sema/
H A DScope.h187 /// A lattice consisting of undefined, a single NRVO candidate variable in
189 llvm::PointerIntPair<VarDecl *, 1, bool> NRVO; member in class:clang::Scope
424 if (NRVO.getInt())
426 if (NRVO.getPointer() == nullptr) {
427 NRVO.setPointer(VD);
430 if (NRVO.getPointer() != VD)
435 NRVO.setInt(1);
436 NRVO.setPointer(nullptr);
H A DInitialization.h117 /// named return value optimization (NRVO).
118 bool NRVO; member in struct:clang::InitializedEntity::LN
172 bool NRVO = false)
176 LocAndNRVO.NRVO = NRVO;
242 QualType Type, bool NRVO) {
243 return InitializedEntity(EK_Result, ReturnLoc, Type, NRVO);
247 QualType Type, bool NRVO) {
248 return InitializedEntity(EK_BlockElement, BlockVarLoc, Type, NRVO);
253 QualType Type, bool NRVO) {
241 InitializeResult(SourceLocation ReturnLoc, QualType Type, bool NRVO) argument
246 InitializeBlock(SourceLocation BlockVarLoc, QualType Type, bool NRVO) argument
252 InitializeException(SourceLocation ThrowLoc, QualType Type, bool NRVO) argument
[all...]
/external/clang/lib/CodeGen/
H A DCGDecl.cpp393 bool NRVO = flags.isForNormalCleanup() && NRVOFlag; variable
396 if (NRVO) {
397 // If we exited via NRVO, we skip the destructor call.
410 if (NRVO) CGF.EmitBlock(SkipDtorBB);
848 bool NRVO = getLangOpts().ElideConstructors && local
865 // If the variable's a const type, and it's neither an NRVO
868 if (CGM.getCodeGenOpts().MergeAllConstants && !NRVO && !isByRef &&
882 // unless it's an NRVO variable.
885 if (NRVO) {
893 // Create a flag that is used to indicate when the NRVO wa
[all...]
/external/clang/include/clang/AST/
H A DDecl.h705 /// (NRVO).
1120 /// return value optimization (NRVO).
1122 /// The named return value optimization (NRVO) works by marking certain
1123 /// non-volatile local variables of class type as NRVO objects. These
1127 /// each return that returns the NRVO object will have this variable as its
1128 /// NRVO candidate.
1130 void setNRVOVariable(bool NRVO) { VarDeclBits.NRVOVariable = NRVO; }

Completed in 4038 milliseconds