• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/clang/lib/CodeGen/

Lines Matching defs:emission

171 /// EmitVarDecl - This method handles emission of any variable declaration
189 // FIXME: We need to force the emission/use of a guard variable for
308 // Disable emission of the parent function for the OpenMP device codegen.
326 // If constant emission failed, then this should be a C++ static
1284 AutoVarEmission emission = EmitAutoVarAlloca(D);
1285 EmitAutoVarInit(emission);
1286 EmitAutoVarCleanups(emission);
1387 AutoVarEmission emission(D);
1390 emission.IsEscapingByRef = isEscapingByRef;
1443 emission.Addr = Address::invalid();
1444 assert(emission.wasEmittedAsGlobal());
1445 return emission;
1449 emission.IsConstantAggregate = true;
1478 emission.NRVOFlag = NRVOFlag.getPointer();
1525 emission.SizeForLifetimeMarkers =
1531 assert(!emission.useLifetimeMarkers());
1567 emission.Addr = address;
1568 emission.AllocaAddr = AllocaAddr;
1588 if (emission.useLifetimeMarkers())
1590 emission.getOriginalAllocatedAddress(),
1591 emission.getSizeForLifetimeMarkers());
1593 return emission;
1763 void CodeGenFunction::EmitAutoVarInit(const AutoVarEmission &emission) {
1764 assert(emission.Variable && "emission was not valid!");
1767 if (emission.wasEmittedAsGlobal()) return;
1769 const VarDecl &D = *emission.Variable;
1784 if (emission.IsEscapingByRef)
1785 emitByrefStructureInit(emission);
1793 LValue Dst = MakeAddrLValue(emission.getAllocatedAddress(), type);
1794 if (emission.IsEscapingByRef)
1804 Init && emission.IsEscapingByRef && isCapturedBy(D, Init);
1808 locIsByrefHeader ? emission.getObjectAddress(*this) : emission.Addr;
1824 if (emission.IsEscapingByRef && !locIsByrefHeader)
1834 if (emission.IsConstantAggregate ||
1863 if (!emission.IsConstantAggregate) {
1930 const CodeGenFunction::AutoVarEmission &emission,
1936 Address addr = emission.getObjectAddress(*this);
1938 const VarDecl *var = emission.Variable;
1949 // If there's an NRVO flag on the emission, we need a different
1951 if (emission.NRVOFlag) {
1955 emission.NRVOFlag);
1977 if (emission.NRVOFlag) {
1980 emission.NRVOFlag, type);
1996 void CodeGenFunction::EmitAutoVarCleanups(const AutoVarEmission &emission) {
1997 assert(emission.Variable && "emission was not valid!");
2000 if (emission.wasEmittedAsGlobal()) return;
2006 const VarDecl &D = *emission.Variable;
2010 emitAutoVarTypeCleanup(emission, dtorKind);
2032 if (emission.IsEscapingByRef &&
2035 if (emission.Variable->getType().isObjCGCWeak())
2037 enterByrefCleanup(NormalAndEHCleanup, emission.Addr, Flags,
2039 cxxDestructorCanThrow(emission.Variable->getType()));