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

Lines Matching refs:copy

55 /// Build the helper function to copy a block.
69 /// Represents a type of copy/destroy operation that should be performed for an
103 // String for the copy helper.
107 // Merge the strings for the copy helper and dispose helper.
151 // concatenate the copy and dispose strings.
179 /// void *copy_func_helper_decl; // optional copy helper.
224 // Optional copy/dispose helpers.
266 // If either the copy helper or the dispose helper has internal linkage,
306 /// descriptor provides copy and dispose helper functions
308 /// object with a nontrivial destructor or copy constructor
397 // Maintain semantics for classes with non-trivial dtors or copy ctors.
574 // We have to copy/dispose of the __block reference.
615 // Block pointers require copy/dispose. So do Objective-C pointers.
627 // So do types that require non-trivial copy construction.
634 // So do C structs that require non-trivial copy construction or
970 // If we have a copy constructor, evaluate that into the block field.
986 // If it's a reference variable, copy the reference into the block field.
990 // If type is const-qualified, copy the value into the block field.
998 // block copy.
1001 // we should never need to do a block-copy when initializing a local
1013 // Otherwise, fake up a POD copy into the block field.
1643 // If it's a block pointer, we have to copy the block and assign that to
1746 // flags are the same for copy and dispose.
1782 // If CaptureStrKind::Merged is passed, check both the copy expression
1813 // If CaptureStrKind::Merged is passed, use the copy constructor string.
1817 // The underscore is necessary here because non-trivial copy constructor
1879 // Calls to _Block_object_dispose along the EH path in the copy helper
1907 /// Generate the copy-helper function for a block closure object:
1910 /// bit-copy of 'src'.
1913 /// it should not be confused with a 'byref copy helper', which moves
1988 // If there's an explicit copy expression, we do that.
1989 assert(CI.getCopyExpr() && "copy expression for variable is missing");
1996 // If this is a C struct that requires non-trivial copy construction,
1997 // emit a call to its copy constructor.
2192 /// Emits the copy/dispose helper functions for a __block object of id type.
2228 /// Emits the copy/dispose helpers for an ARC __block __weak variable.
2248 /// Emits the copy/dispose helpers for an ARC __block __strong variable
2284 /// Emits the copy/dispose helpers for an ARC __block __strong
2293 // Do the copy with objc_retainBlock; that's all that
2297 llvm::Value *copy = CGF.EmitARCRetainBlock(oldValue, /*mandatory*/ true);
2298 CGF.Builder.CreateStore(copy, destField);
2311 /// Emits the copy/dispose helpers for a __block variable with a
2312 /// nontrivial copy constructor or destructor.
2340 /// Emits the copy/dispose helpers for a __block variable that is a non-trivial
2439 /// Build the copy helper for a __block variable.
2510 /// Lazily build the copy and dispose helpers for a __block variable
2526 T *copy = new (CGM.getContext()) T(std::forward<T>(generator));
2527 CGM.ByrefHelpersCache.InsertNode(copy, insertPos);
2528 return copy;
2531 /// Build the copy and dispose helpers for the given __block variable
2560 // destructly move or destroy, build the copy and dispose helpers.