Lines Matching defs:destroyer
501 CodeGenFunction::Destroyer *destroyer,
503 : addr(addr), type(type), destroyer(destroyer),
508 CodeGenFunction::Destroyer *destroyer;
516 CGF.emitDestroy(addr, type, destroyer, useEHCleanupForArray);
662 CodeGenFunction::Destroyer *destroyer =
668 CGF.pushDestroy(cleanupKind, addr, var.getType(), destroyer,
2085 CodeGenFunction::Destroyer *destroyer = nullptr;
2110 // Use the imprecise destroyer by default.
2112 destroyer = CodeGenFunction::destroyARCStrongImprecise;
2119 destroyer = CodeGenFunction::destroyNonTrivialCStruct;
2129 // If we haven't chosen a more specific destroyer, use the default.
2130 if (!destroyer) destroyer = getDestroyer(dtorKind);
2135 EHStack.pushCleanup<DestroyObject>(cleanupKind, addr, type, destroyer,
2189 case QualType::DK_none: llvm_unreachable("no destroyer for trivial dtor");
2224 QualType type, Destroyer *destroyer,
2227 destroyer, useEHCleanupForArray);
2242 CleanupKind cleanupKind, Address addr, QualType type, Destroyer *destroyer,
2246 pushDestroy(cleanupKind, addr, type, destroyer, useEHCleanupForArray);
2262 Destroyer *destroyer,
2272 pushDestroyAndDeferDeactivation(cleanupKind, addr, type, destroyer,
2278 cleanupKind, Address::invalid(), addr, type, destroyer,
2295 cleanupKind, SavedAddr, type, destroyer, useEHCleanupForArray);
2308 cleanupKind, ActiveFlagForLifetimeExt, SavedAddr, type, destroyer,
2318 /// \param destroyer - the function to call to destroy individual
2324 Destroyer *destroyer,
2328 return destroyer(*this, addr, type);
2349 emitArrayDestroy(begin, end, type, elementAlign, destroyer,
2359 /// \param destroyer - the function to call to destroy elements
2367 Destroyer *destroyer,
2398 destroyer);
2401 destroyer(*this, Address(element, llvmElementType, elementAlign),
2421 CodeGenFunction::Destroyer *destroyer) {
2446 CGF.emitArrayDestroy(begin, end, type, elementAlign, destroyer,
2463 CodeGenFunction::Destroyer *destroyer)
2465 ElementType(elementType), Destroyer(destroyer),
2488 CodeGenFunction::Destroyer *destroyer)
2490 ElementType(elementType), Destroyer(destroyer),
2511 Destroyer *destroyer) {
2514 elementAlign, destroyer);
2527 Destroyer *destroyer) {
2531 destroyer);