[ORC] Add "wrap" and "unwrap" steps to ExecutorAddr toPtr/fromPtr.
authorLang Hames <lhames@gmail.com>
Fri, 26 Aug 2022 16:46:02 +0000 (09:46 -0700)
committerLang Hames <lhames@gmail.com>
Fri, 26 Aug 2022 19:32:44 +0000 (12:32 -0700)
commitf14cb494a34db6df9853d713c6027a476f030dbf
treeb1058cb23493e0f4b8e7d89d28f66a7c8a4f4ee1
parentfb0f44b31f3aed87996ea34c73d3c1fdfb69a6b0
[ORC] Add "wrap" and "unwrap" steps to ExecutorAddr toPtr/fromPtr.

The wrap/unwrap operations are applied to pointers after/before conversion to/from
raw addresses. They can be used to tag, untag, sign, or strip signing from
pointers. They currently default to 'rawPtr' (identity) on all platforms, but it
is expected that the default will be set based on the host architecture, e.g.
they would default to signing/stripping for arm64e.
llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h
llvm/unittests/ExecutionEngine/Orc/ExecutorAddressTest.cpp