Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:NRVO

437       bool NRVO = flags.isForNormalCleanup() && NRVOFlag;
440 if (NRVO) {
441 // If we exited via NRVO, we skip the destructor call.
442 llvm::BasicBlock *RunDtorBB = CGF.createBasicBlock("nrvo.unused");
443 SkipDtorBB = CGF.createBasicBlock("nrvo.skipdtor");
445 CGF.Builder.CreateFlagLoad(NRVOFlag, "nrvo.val");
455 if (NRVO) CGF.EmitBlock(SkipDtorBB);
958 bool NRVO = getLangOpts().ElideConstructors &&
975 // If the variable's a const type, and it's neither an NRVO
978 if (CGM.getCodeGenOpts().MergeAllConstants && !NRVO && !isByRef &&
993 // unless it's an NRVO variable.
995 if (NRVO) {
1003 // Create a flag that is used to indicate when the NRVO was applied
1004 // to this variable. Set it to zero to indicate that NRVO was not
1008 CreateTempAlloca(Zero->getType(), CharUnits::One(), "nrvo");
1012 // Record the NRVO flag for this variable.
1333 // If there's an NRVO flag on the emission, we need a different