<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/ExecutionEngine, branch users/nico/python-2</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>[JITLink] Include target addend in out-of-range error (#145423)</title>
<updated>2025-06-24T05:46:15+00:00</updated>
<author>
<name>Maksim Panchenko</name>
<email>maks@fb.com</email>
</author>
<published>2025-06-24T05:46:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0c33799e374a2f67ff7fefe624043254d4082534'/>
<id>0c33799e374a2f67ff7fefe624043254d4082534</id>
<content type='text'>
When JITLink reports an out-of-range error, the underlying reason could
be hidden from the user if it's due to an excessively large target
addend. Add non-zero target addend to the message for clarity.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When JITLink reports an out-of-range error, the underlying reason could
be hidden from the user if it's due to an excessively large target
addend. Add non-zero target addend to the message for clarity.</pre>
</div>
</content>
</entry>
<entry>
<title>[ORC] Apply MachO::CPU_SUBTYPE_MASK to comparison in getDylibInterfac… (#145154)</title>
<updated>2025-06-21T09:31:51+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-06-21T09:31:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d6a486c221c1a2d18e88ca39279bcf1675fe7723'/>
<id>d6a486c221c1a2d18e88ca39279bcf1675fe7723</id>
<content type='text'>
…eFromDylib.

When comparing CPU subtypes from slices in a MachO universal binary we
need to apply the MachO::CPU_SUBTYPE_MASK to mask out any flags in the
high bits, otherwise we might fail to correctly match a slice and return
a spurious "does not contain slice" error.

rdar://153913779</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
…eFromDylib.

When comparing CPU subtypes from slices in a MachO universal binary we
need to apply the MachO::CPU_SUBTYPE_MASK to mask out any flags in the
high bits, otherwise we might fail to correctly match a slice and return
a spurious "does not contain slice" error.

rdar://153913779</pre>
</div>
</content>
</entry>
<entry>
<title>[JITLink] [test] Add a trailing newline to a test file. NFC.</title>
<updated>2025-06-10T09:08:24+00:00</updated>
<author>
<name>Martin Storsjö</name>
<email>martin@martin.st</email>
</author>
<published>2025-06-10T09:08:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=902d6894f55a769d810032e3c056e597886f03fc'/>
<id>902d6894f55a769d810032e3c056e597886f03fc</id>
<content type='text'>
Otherwise, this shows up as an unrelated diff after editing the
file in some editors (like vim).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Otherwise, this shows up as an unrelated diff after editing the
file in some editors (like vim).
</pre>
</div>
</content>
</entry>
<entry>
<title>[JITLink] [test] Generalize UNSUPPORTED markings for Windows/arm64 (#142377)</title>
<updated>2025-06-10T09:06:29+00:00</updated>
<author>
<name>Martin Storsjö</name>
<email>martin@martin.st</email>
</author>
<published>2025-06-10T09:06:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f715ff4a9d63c00d6903ec876870e6111b50f2d1'/>
<id>f715ff4a9d63c00d6903ec876870e6111b50f2d1</id>
<content type='text'>
Don't needlessly specify the vendor field as "pc"; in MinGW
configurations, the vendor field is often "w64".</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Don't needlessly specify the vendor field as "pc"; in MinGW
configurations, the vendor field is often "w64".</pre>
</div>
</content>
</entry>
<entry>
<title>[JITLink] [test] Extend preexisting MinGW XFAILs to new tests (#142375)</title>
<updated>2025-06-10T09:05:16+00:00</updated>
<author>
<name>Martin Storsjö</name>
<email>martin@martin.st</email>
</author>
<published>2025-06-10T09:05:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9b282afb8ac1c810da684591c27faf6117e62e3b'/>
<id>9b282afb8ac1c810da684591c27faf6117e62e3b</id>
<content type='text'>
This extends the preexisting XFAILs from
4c642b62b99fa128c180f28278637b32be5e5576 to these new tests from
6fa8657a622173c177d863b763550de4d388f73c.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This extends the preexisting XFAILs from
4c642b62b99fa128c180f28278637b32be5e5576 to these new tests from
6fa8657a622173c177d863b763550de4d388f73c.</pre>
</div>
</content>
</entry>
<entry>
<title>[LLVM][Tests] remove %exeext from lli-child-target parameter. (#143077)</title>
<updated>2025-06-08T17:52:05+00:00</updated>
<author>
<name>jeremyd2019</name>
<email>github@jdrake.com</email>
</author>
<published>2025-06-08T17:52:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d34b392dade4f9f0ef981767a9a47504ba85d0af'/>
<id>d34b392dade4f9f0ef981767a9a47504ba85d0af</id>
<content type='text'>
Its presence seems to actively hinder the ToolSubst mechanism that was
supposed to fill in the path to the tool, which prevented these tests
from working on Cygwin.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Its presence seems to actively hinder the ToolSubst mechanism that was
supposed to fill in the path to the tool, which prevented these tests
from working on Cygwin.</pre>
</div>
</content>
</entry>
<entry>
<title>[RISCV] Remove -riscv-asm-relax-branches flag (#142855)</title>
<updated>2025-06-06T22:23:31+00:00</updated>
<author>
<name>Sam Elliott</name>
<email>quic_aelliott@quicinc.com</email>
</author>
<published>2025-06-06T22:23:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=65077c7ac75e18f92f409c05e0cc4d929d3f2145'/>
<id>65077c7ac75e18f92f409c05e0cc4d929d3f2145</id>
<content type='text'>
This flag has been superseded by `.option exact`, as the test updates
show.

Given the flag was always hidden, it makes sense to me to remove it, and
move tests that required it to use `.option exact`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This flag has been superseded by `.option exact`, as the test updates
show.

Given the flag was always hidden, it makes sense to me to remove it, and
move tests that required it to use `.option exact`.</pre>
</div>
</content>
</entry>
<entry>
<title>[JITLink] Disable the all-load- tests on Windows/arm64.</title>
<updated>2025-05-29T23:33:45+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-05-29T22:34:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fe40f97afe9f62456f42cb88e683e653513cf519'/>
<id>fe40f97afe9f62456f42cb88e683e653513cf519</id>
<content type='text'>
We don't have a JITLink Windows/arm64 backend yet, so disable these tests
there.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We don't have a JITLink Windows/arm64 backend yet, so disable these tests
there.
</pre>
</div>
</content>
</entry>
<entry>
<title>Re-apply "[ORC] Add optional context string to duplicate symbol definition..."</title>
<updated>2025-05-28T00:38:18+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-05-28T00:13:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e2d646226ce203fe2242f93afb9148c84fd5716a'/>
<id>e2d646226ce203fe2242f93afb9148c84fd5716a</id>
<content type='text'>
This reapplies b0979b8c65d, which was reverted in 370aecb9572 due to bot
failures. The failures were caused by typos in the testcase that are fixed in
this patch.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reapplies b0979b8c65d, which was reverted in 370aecb9572 due to bot
failures. The failures were caused by typos in the testcase that are fixed in
this patch.
</pre>
</div>
</content>
</entry>
<entry>
<title>[ORC] Refactor visit-members  in StaticLibraryDefinitionGenerator. (#141546)</title>
<updated>2025-05-27T10:58:53+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-05-27T10:58:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6fa8657a622173c177d863b763550de4d388f73c'/>
<id>6fa8657a622173c177d863b763550de4d388f73c</id>
<content type='text'>
This refactor was motivated by two bugs identified in out-of-tree
builds:

1. Some implementations of the VisitMembersFunction type (often used to	
implement special loading semantics, e.g. -all_load or -ObjC) were assuming
that buffers for archive members were null-terminated, which they are not in
general. This was triggering occasional assertions.

2. Archives may include multiple members with the same file name, e.g.
when constructed by appending files with the same name:
  % llvm-ar crs libfoo.a foo.o
  % llvm-ar q libfoo.a foo.o
  % llvm-ar t libfoo.a foo.o
  foo.o

   While confusing, these members may be safe to link (provided that they're
   individually valid and don't define duplicate symbols). In ORC however, the
   archive member name may be used to construct an ORC initializer symbol,
   which must also be unique. In that case the duplicate member names lead to a
   duplicate definition error even if the members define unrelated symbols.

In addition to these bugs, StaticLibraryDefinitionGenerator had grown a
collection of all member buffers (ObjectFilesMap), a BumpPtrAllocator
that was redundantly storing synthesized archive member names (these are
copied into the MemoryBuffers created for each Object, but were never
freed in the allocator), and a set of COFF-specific import files.

To fix the bugs above and simplify StaticLibraryDefinitionGenerator this
patch makes the following changes:

1. StaticLibraryDefinitionGenerator::VisitMembersFunction is generalized
   to take a reference to the containing archive, and the index of the
   member within the archive. It now returns an Expected&lt;bool&gt; indicating
   whether the member visited should be treated as loadable, not loadable,
   or as invalidating the entire archive.
2. A static StaticLibraryDefinitionGenerator::createMemberBuffer method
   is added which creates MemoryBuffers with unique names of the form
   `&lt;archive-name&gt;[&lt;index&gt;](&lt;member-name&gt;)`. This defers construction of
   member names until they're loaded, allowing the BumpPtrAllocator (with
   its redundant name storage) to be removed.
3. The ObjectFilesMap (symbol name -&gt; memory-buffer-ref) is replaced
   with a SymbolToMemberIndexMap (symbol name -&gt; index) which should be
   smaller and faster to construct.
4. The 'loadability' result from VisitMemberFunctions is now taken into
   consideration when building the SymbolToMemberIndexMap so that members
   that have already been loaded / filtered out can be skipped, and do not
   take up any ongoing space.
5. The COFF ImportedDynamicLibraries member is moved out into the
   COFFImportFileScanner utility, which can be used as a
   VisitMemberFunction.

This fixes the bugs described above; and should lower memory consumption
slightly, especially for archives with many files and / or symbol where
most files are eventually loaded.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This refactor was motivated by two bugs identified in out-of-tree
builds:

1. Some implementations of the VisitMembersFunction type (often used to	
implement special loading semantics, e.g. -all_load or -ObjC) were assuming
that buffers for archive members were null-terminated, which they are not in
general. This was triggering occasional assertions.

2. Archives may include multiple members with the same file name, e.g.
when constructed by appending files with the same name:
  % llvm-ar crs libfoo.a foo.o
  % llvm-ar q libfoo.a foo.o
  % llvm-ar t libfoo.a foo.o
  foo.o

   While confusing, these members may be safe to link (provided that they're
   individually valid and don't define duplicate symbols). In ORC however, the
   archive member name may be used to construct an ORC initializer symbol,
   which must also be unique. In that case the duplicate member names lead to a
   duplicate definition error even if the members define unrelated symbols.

In addition to these bugs, StaticLibraryDefinitionGenerator had grown a
collection of all member buffers (ObjectFilesMap), a BumpPtrAllocator
that was redundantly storing synthesized archive member names (these are
copied into the MemoryBuffers created for each Object, but were never
freed in the allocator), and a set of COFF-specific import files.

To fix the bugs above and simplify StaticLibraryDefinitionGenerator this
patch makes the following changes:

1. StaticLibraryDefinitionGenerator::VisitMembersFunction is generalized
   to take a reference to the containing archive, and the index of the
   member within the archive. It now returns an Expected&lt;bool&gt; indicating
   whether the member visited should be treated as loadable, not loadable,
   or as invalidating the entire archive.
2. A static StaticLibraryDefinitionGenerator::createMemberBuffer method
   is added which creates MemoryBuffers with unique names of the form
   `&lt;archive-name&gt;[&lt;index&gt;](&lt;member-name&gt;)`. This defers construction of
   member names until they're loaded, allowing the BumpPtrAllocator (with
   its redundant name storage) to be removed.
3. The ObjectFilesMap (symbol name -&gt; memory-buffer-ref) is replaced
   with a SymbolToMemberIndexMap (symbol name -&gt; index) which should be
   smaller and faster to construct.
4. The 'loadability' result from VisitMemberFunctions is now taken into
   consideration when building the SymbolToMemberIndexMap so that members
   that have already been loaded / filtered out can be skipped, and do not
   take up any ongoing space.
5. The COFF ImportedDynamicLibraries member is moved out into the
   COFFImportFileScanner utility, which can be used as a
   VisitMemberFunction.

This fixes the bugs described above; and should lower memory consumption
slightly, especially for archives with many files and / or symbol where
most files are eventually loaded.</pre>
</div>
</content>
</entry>
</feed>
