Lines Matching defs:destroyer
478 CodeGenFunction::Destroyer *destroyer,
480 : addr(addr), type(type), destroyer(destroyer),
485 CodeGenFunction::Destroyer *destroyer;
493 CGF.emitDestroy(addr, type, destroyer, useEHCleanupForArray);
639 CodeGenFunction::Destroyer *destroyer =
645 CGF.pushDestroy(cleanupKind, addr, var.getType(), destroyer,
2122 CodeGenFunction::Destroyer *destroyer = nullptr;
2147 // Use the imprecise destroyer by default.
2149 destroyer = CodeGenFunction::destroyARCStrongImprecise;
2156 destroyer = CodeGenFunction::destroyNonTrivialCStruct;
2166 // If we haven't chosen a more specific destroyer, use the default.
2167 if (!destroyer) destroyer = getDestroyer(dtorKind);
2172 EHStack.pushCleanup<DestroyObject>(cleanupKind, addr, type, destroyer,
2226 case QualType::DK_none: llvm_unreachable("no destroyer for trivial dtor");
2261 QualType type, Destroyer *destroyer,
2264 destroyer, useEHCleanupForArray);
2279 CleanupKind cleanupKind, Address addr, QualType type, Destroyer *destroyer,
2283 pushDestroy(cleanupKind, addr, type, destroyer, useEHCleanupForArray);
2299 Destroyer *destroyer,
2309 pushDestroyAndDeferDeactivation(cleanupKind, addr, type, destroyer,
2315 cleanupKind, Address::invalid(), addr, type, destroyer,
2332 cleanupKind, SavedAddr, type, destroyer, useEHCleanupForArray);
2345 cleanupKind, ActiveFlagForLifetimeExt, SavedAddr, type, destroyer,
2355 /// \param destroyer - the function to call to destroy individual
2361 Destroyer *destroyer,
2365 return destroyer(*this, addr, type);
2386 emitArrayDestroy(begin, end, type, elementAlign, destroyer,
2396 /// \param destroyer - the function to call to destroy elements
2404 Destroyer *destroyer,
2435 destroyer);
2438 destroyer(*this, Address(element, llvmElementType, elementAlign),
2458 CodeGenFunction::Destroyer *destroyer) {
2483 CGF.emitArrayDestroy(begin, end, type, elementAlign, destroyer,
2500 CodeGenFunction::Destroyer *destroyer)
2502 ElementType(elementType), Destroyer(destroyer),
2525 CodeGenFunction::Destroyer *destroyer)
2527 ElementType(elementType), Destroyer(destroyer),
2548 Destroyer *destroyer) {
2551 elementAlign, destroyer);
2564 Destroyer *destroyer) {
2568 destroyer);