<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/orc-rt, branch users/makslevental/ptr-dialectpython</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[orc-rt] Add endian_read/write operations. (#166892)</title>
<updated>2025-11-07T07:25:04+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-11-07T07:25:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c8adbd7a8b469355d40e381bd4597a24ef651313'/>
<id>c8adbd7a8b469355d40e381bd4597a24ef651313</id>
<content type='text'>
The endian_read and endian_write operations read and write unsigned
integers stored in a given endianness.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The endian_read and endian_write operations read and write unsigned
integers stored in a given endianness.</pre>
</div>
</content>
</entry>
<entry>
<title>[orc-rt] Add ExecutorAddrRange::contains overload for ranges. (#163458)</title>
<updated>2025-10-14T21:39:49+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-10-14T21:39:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d098f19e0a7bcb259eaca634966f7ff0446443d5'/>
<id>d098f19e0a7bcb259eaca634966f7ff0446443d5</id>
<content type='text'>
Can be used to test that one address range is fully contained within
another. This is an orc-rt counterpart to aa731e19045, which added the
same operation to llvm::orc::ExecutorAddrRange.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Can be used to test that one address range is fully contained within
another. This is an orc-rt counterpart to aa731e19045, which added the
same operation to llvm::orc::ExecutorAddrRange.</pre>
</div>
</content>
</entry>
<entry>
<title>[orc-rt] Rename InitializeRequest variables after 7381558ef8b. NFCI.</title>
<updated>2025-10-13T09:21:05+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-10-13T09:05:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2ba960c40437593e9069b23d73a3867087284c11'/>
<id>2ba960c40437593e9069b23d73a3867087284c11</id>
<content type='text'>
7381558ef8b renamed the FinalizeRequest type to InitializeRequest. This commit
updates InitializeRequest variable names to follow suit ("FR"s become "IR"s).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
7381558ef8b renamed the FinalizeRequest type to InitializeRequest. This commit
updates InitializeRequest variable names to follow suit ("FR"s become "IR"s).
</pre>
</div>
</content>
</entry>
<entry>
<title>[orc-rt] Rename SimpleNativeMemoryMap finalize &amp; deallocate. NFCI. (#163114)</title>
<updated>2025-10-13T01:33:16+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-10-13T01:33:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7381558ef8b8639831dfdedf7edbd5e635afc85e'/>
<id>7381558ef8b8639831dfdedf7edbd5e635afc85e</id>
<content type='text'>
This commit renames the "finalize" operation to "initialize", and
"deallocate" to "deinitialize".

The new names are chosen to better fit the point of view of the
ORC-runtime and executor-process: After memory is *reserved* it can be
*initialized* with some content, and *deinitialized* to return that
memory to the reserved region.

This seems more understandable to me than the original scheme, which
named these operations after the controller-side JITLinkMemoryManager
operations that they partially implemented. I.e.
SimpleNativeMemoryMap::finalize implemented the final step of
JITLinkMemoryManager::finalize, initializing the memory in the executor;
and SimpleNativeMemoryMap::deallocate implemented the final step of
JITLinkMemoryManager::deallocate, running dealloc actions and releasing
the finalized region.

The proper way to think of the relationship between these operations now
is that:

1. The final step of finalization is to initialize the memory in the
executor.

2. The final step of deallocation is to deinitialize the memory in the
executor.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit renames the "finalize" operation to "initialize", and
"deallocate" to "deinitialize".

The new names are chosen to better fit the point of view of the
ORC-runtime and executor-process: After memory is *reserved* it can be
*initialized* with some content, and *deinitialized* to return that
memory to the reserved region.

This seems more understandable to me than the original scheme, which
named these operations after the controller-side JITLinkMemoryManager
operations that they partially implemented. I.e.
SimpleNativeMemoryMap::finalize implemented the final step of
JITLinkMemoryManager::finalize, initializing the memory in the executor;
and SimpleNativeMemoryMap::deallocate implemented the final step of
JITLinkMemoryManager::deallocate, running dealloc actions and releasing
the finalized region.

The proper way to think of the relationship between these operations now
is that:

1. The final step of finalization is to initialize the memory in the
executor.

2. The final step of deallocation is to deinitialize the memory in the
executor.</pre>
</div>
</content>
</entry>
<entry>
<title>[orc-rt] Add multi-addr dealloc/release to SimpleNativeMemoryMap. (#163025)</title>
<updated>2025-10-12T01:03:11+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-10-12T01:03:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d4a413797681426a921124d0c9b462fa7886fb76'/>
<id>d4a413797681426a921124d0c9b462fa7886fb76</id>
<content type='text'>
In an ORC JIT it's common for multiple memory regions to be deallocated
at once, e.g. when a ResourceTracker covering multiple object files is
removed. This commit adds SimpleNativeMemoryMap::deallocateMultiple and
SimpleNativeMemoryMap::releaseMultiple APIs that can be used to reduce
the number of calls (and consequently IPC messages in cross-process
setups) in these cases.

Adding these operations will make it easier to write an
llvm::orc::MemoryMapper class that can use SimpleNativeMemoryMap as a
backend.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In an ORC JIT it's common for multiple memory regions to be deallocated
at once, e.g. when a ResourceTracker covering multiple object files is
removed. This commit adds SimpleNativeMemoryMap::deallocateMultiple and
SimpleNativeMemoryMap::releaseMultiple APIs that can be used to reduce
the number of calls (and consequently IPC messages in cross-process
setups) in these cases.

Adding these operations will make it easier to write an
llvm::orc::MemoryMapper class that can use SimpleNativeMemoryMap as a
backend.</pre>
</div>
</content>
</entry>
<entry>
<title>[orc-rt] Add SPSExecutorAddr &lt;-&gt; T* serialization. (#162992)</title>
<updated>2025-10-11T11:24:03+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-10-11T11:24:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=28b3f2f04bf178a4813c16ca445cc01df233cb58'/>
<id>28b3f2f04bf178a4813c16ca445cc01df233cb58</id>
<content type='text'>
This replaces SPS transparent conversion for pointers. Transparent
conversion only applies to argument/return types, not nested types. We
want to be able to serialize / deserialize structs containing pointers.

We may need to replace this in the near future with a new SPSPointer tag
type, since SPSExecutorAddr is meant to be serialization for pure
addresses, and pointers may carry other information (e.g. tag bits), but
we can do that in a follow-up commit.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This replaces SPS transparent conversion for pointers. Transparent
conversion only applies to argument/return types, not nested types. We
want to be able to serialize / deserialize structs containing pointers.

We may need to replace this in the near future with a new SPSPointer tag
type, since SPSExecutorAddr is meant to be serialization for pure
addresses, and pointers may carry other information (e.g. tag bits), but
we can do that in a follow-up commit.</pre>
</div>
</content>
</entry>
<entry>
<title>[orc-rt] Align SimpleNativeMemoryMap Segment with LLVM type. (#162823)</title>
<updated>2025-10-10T23:33:28+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-10-10T23:33:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=27e2d5c46fab4a976a7700e0ced0cddd2cc58a13'/>
<id>27e2d5c46fab4a976a7700e0ced0cddd2cc58a13</id>
<content type='text'>
This commit aims to align SimpleNativeMemoryMap::FinalizeRequest::Segment with
llvm::orc::tpctypes::SegFinalizeRequest. This will simplify construction of a
new LLVM JITLinkMemoryManager that's capable of using SimpleNativeMemoryMap as
a backend.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit aims to align SimpleNativeMemoryMap::FinalizeRequest::Segment with
llvm::orc::tpctypes::SegFinalizeRequest. This will simplify construction of a
new LLVM JITLinkMemoryManager that's capable of using SimpleNativeMemoryMap as
a backend.</pre>
</div>
</content>
</entry>
<entry>
<title>[orc-rt] Enable span&lt;const char&gt; use in SPSWrapperFunctions. (#162792)</title>
<updated>2025-10-10T08:38:10+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-10-10T08:38:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ef4598fbc6038d47c33a1746e47885833cd69ade'/>
<id>ef4598fbc6038d47c33a1746e47885833cd69ade</id>
<content type='text'>
SPS deserialization for span&lt;const char&gt; produces a value that points
directly into the argument buffer for efficiency. This was broken by an
unnecessary std::move of the buffer inside WrapperFunction, which this
commit removes.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SPS deserialization for span&lt;const char&gt; produces a value that points
directly into the argument buffer for efficiency. This was broken by an
unnecessary std::move of the buffer inside WrapperFunction, which this
commit removes.</pre>
</div>
</content>
</entry>
<entry>
<title>[orc-rt] Remove (effectively) unused header orc-rt-c/orc-rt.h. NFCI.</title>
<updated>2025-10-09T03:32:31+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-10-09T03:14:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=822446d74aba5bda31f728f26444d7c03478157d'/>
<id>822446d74aba5bda31f728f26444d7c03478157d</id>
<content type='text'>
This header was a placeholder in the initial project check-in, but is not used.
Time to remove it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This header was a placeholder in the initial project check-in, but is not used.
Time to remove it.
</pre>
</div>
</content>
</entry>
<entry>
<title>[orc-rt] Add Session class. (#162590)</title>
<updated>2025-10-09T03:27:10+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-10-09T03:27:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ab7138154bc75be51189b834723bf9ad97a9fa7c'/>
<id>ab7138154bc75be51189b834723bf9ad97a9fa7c</id>
<content type='text'>
An orc-rt Session contains a JIT'd program, managing resources and
communicating with a remote JIT-controller instance (expected to be an
orc::ExecutionSession, though this is not required).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
An orc-rt Session contains a JIT'd program, managing resources and
communicating with a remote JIT-controller instance (expected to be an
orc::ExecutionSession, though this is not required).</pre>
</div>
</content>
</entry>
</feed>
