This patch is a subpart of D125768 intented to make the review easier.
The Address struct represents a pointer but also adds compile time knowledge
like alignment or temporal/non-temporal that helps with downstream instruction
selection.
Paths
| Differential D125966
[libc][mem*] Address facility + test enum support ClosedPublic Authored by gchatelet on May 19 2022, 4:13 AM.
Details
Summary This patch is a subpart of D125768 intented to make the review easier. The Address struct represents a pointer but also adds compile time knowledge
Diff Detail
Event TimelineHerald added projects: Restricted Project, Restricted Project. · View Herald TranscriptMay 19 2022, 4:13 AM
This revision is now accepted and ready to land.May 31 2022, 5:36 AM This revision was landed with ongoing or failed builds.Jun 1 2022, 2:10 AM Closed by commit rG4cbfd2e7ebb5: [libc][mem*] Address facility + test enum support (authored by gchatelet). · Explain Why This revision was automatically updated to reflect the committed changes. gchatelet mentioned this in D125768: [libc] Non-temporal memory function support.Jun 1 2022, 3:57 AM
Revision Contents
Diff 433041 libc/src/__support/CPP/TypeTraits.h
libc/src/string/memory_utils/address.h
libc/test/src/string/memory_utils/CMakeLists.txt
libc/test/src/string/memory_utils/address_test.cpp
libc/utils/UnitTest/LibcTest.h
|
DeferredStaticAssert for consistency ? Note that as duscussed offline, I would much rather prefer consistency with c++, i.e. renaming everything to cpp::conditional_t instead of cpp:ConditionalType.