aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
diff options
context:
space:
mode:
authorHaojian Wu <hokein.wu@gmail.com>2024-06-06 07:28:02 +0200
committerGitHub <noreply@github.com>2024-06-06 07:28:02 +0200
commitf6c1e65ddfa9e1a07919104be543a1f9eccbb519 (patch)
tree85a92264a1fd7d6e8d002fe46ded4c9fb0c0acf9 /llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
parent68413219dba47104fef388364a9973b584126f42 (diff)
downloadllvm-f6c1e65ddfa9e1a07919104be543a1f9eccbb519.zip
llvm-f6c1e65ddfa9e1a07919104be543a1f9eccbb519.tar.gz
llvm-f6c1e65ddfa9e1a07919104be543a1f9eccbb519.tar.bz2
[clang] Implement a __is_bitwise_cloneable builtin type trait. (#86512)
This patch implements a `__is_bitwise_cloneable` builtin in clang. The builtin is used as a guard to check a type can be safely bitwise copied by memcpy. It's functionally similar to `__is_trivially_copyable`, but covers a wider range of types (e.g. classes with virtual functions). The compiler guarantees that after copy, the destination object has the same object representations as the source object. And it is up to user to guarantee that program semantic constraints are satisfied. Context: https://discourse.llvm.org/t/extension-for-creating-objects-via-memcpy
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp')
0 files changed, 0 insertions, 0 deletions