<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/IR/Operator.cpp, branch main</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>[NFC][LLVM][IR] Cleanup namespace usage in LLVM IR cpp files (#166477)</title>
<updated>2025-11-05T19:06:22+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2025-11-05T19:06:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=37fff6e17ee29e790f850f6e133d14a73c08a0f8'/>
<id>37fff6e17ee29e790f850f6e133d14a73c08a0f8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[IR] Fix accumulateConstantOffset() on zero-index GEP</title>
<updated>2024-12-04T16:17:58+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2024-12-04T16:14:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b79007d8a6fed51ec2e06aeaec31968122cfcd09'/>
<id>b79007d8a6fed51ec2e06aeaec31968122cfcd09</id>
<content type='text'>
These are degenerate but not malformed, so make sure we don't
crash.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are degenerate but not malformed, so make sure we don't
crash.
</pre>
</div>
</content>
</entry>
<entry>
<title>[LLVM][IR] When evaluating GEP offsets don't assume ConstantInt is a scalar. (#117162)</title>
<updated>2024-12-04T12:45:30+00:00</updated>
<author>
<name>Paul Walker</name>
<email>paul.walker@arm.com</email>
</author>
<published>2024-12-04T12:45:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a88653a2cd4f22ff2ac4cb25214caf3e5fd27aff'/>
<id>a88653a2cd4f22ff2ac4cb25214caf3e5fd27aff</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Operator] Truncate large type sizes in GEP calculations</title>
<updated>2024-11-21T14:00:43+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2024-11-21T13:58:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=cc70e12ebdacd09d5e4e124df81af6e9626be7d7'/>
<id>cc70e12ebdacd09d5e4e124df81af6e9626be7d7</id>
<content type='text'>
If the size is larger than the index width, truncate it instead
of asserting.

Longer-term we should consider rejecting types larger than the
index size in the verifier, though this is probably tricky in
practice (it's address space dependent, and types are owned by
the context, not the module).

Fixes https://github.com/llvm/llvm-project/issues/116960.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the size is larger than the index width, truncate it instead
of asserting.

Longer-term we should consider rejecting types larger than the
index size in the verifier, though this is probably tricky in
practice (it's address space dependent, and types are owned by
the context, not the module).

Fixes https://github.com/llvm/llvm-project/issues/116960.
</pre>
</div>
</content>
</entry>
<entry>
<title>[IR] Add support for `samesign` in `Operator::hasPoisonGeneratingFlags` (#112358)</title>
<updated>2024-10-15T15:07:16+00:00</updated>
<author>
<name>Yingwei Zheng</name>
<email>dtcxzyw2333@gmail.com</email>
</author>
<published>2024-10-15T15:07:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9b7491e8669126180253480821d5addde34874d0'/>
<id>9b7491e8669126180253480821d5addde34874d0</id>
<content type='text'>
Fix https://github.com/llvm/llvm-project/issues/112356.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix https://github.com/llvm/llvm-project/issues/112356.</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC] Use initial-stack-allocations for more data structures (#110544)</title>
<updated>2024-09-30T22:15:18+00:00</updated>
<author>
<name>Jeremy Morse</name>
<email>jeremy.morse@sony.com</email>
</author>
<published>2024-09-30T22:15:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=96f37ae45310885e09195be09d9c05e1c1dff86b'/>
<id>96f37ae45310885e09195be09d9c05e1c1dff86b</id>
<content type='text'>
This replaces some of the most frequent offenders of using a DenseMap that
cause a malloc, where the typical element-count is small enough to fit in
an initial stack allocation.

Most of these are fairly obvious, one to highlight is the collectOffset
method of GEP instructions: if there's a GEP, of course it's going to have
at least one offset, but every time we've called collectOffset we end up
calling malloc as well for the DenseMap in the MapVector.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This replaces some of the most frequent offenders of using a DenseMap that
cause a malloc, where the typical element-count is small enough to fit in
an initial stack allocation.

Most of these are fairly obvious, one to highlight is the collectOffset
method of GEP instructions: if there's a GEP, of course it's going to have
at least one offset, but every time we've called collectOffset we end up
calling malloc as well for the DenseMap in the MapVector.</pre>
</div>
</content>
</entry>
<entry>
<title>[IR] Add getelementptr nusw and nuw flags (#90824)</title>
<updated>2024-05-27T14:05:17+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2024-05-27T14:05:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8cdecd4d3aedea7bc5f27d1f69da216100cb2815'/>
<id>8cdecd4d3aedea7bc5f27d1f69da216100cb2815</id>
<content type='text'>
This implements the `nusw` and `nuw` flags for `getelementptr` as
proposed at
https://discourse.llvm.org/t/rfc-add-nusw-and-nuw-flags-for-getelementptr/78672.

The three possible flags are encapsulated in the new `GEPNoWrapFlags`
class. Currently this class has a ctor from bool, interpreted as the
InBounds flag. This ctor should be removed in the future, as code gets
migrated to handle all flags.

There are a few places annotated with `TODO(gep_nowrap)`, where I've had
to touch code but opted to not infer or precisely preserve the new
flags, so as to keep this as NFC as possible and make sure any changes
of that kind get test coverage when they are made.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This implements the `nusw` and `nuw` flags for `getelementptr` as
proposed at
https://discourse.llvm.org/t/rfc-add-nusw-and-nuw-flags-for-getelementptr/78672.

The three possible flags are encapsulated in the new `GEPNoWrapFlags`
class. Currently this class has a ctor from bool, interpreted as the
InBounds flag. This ctor should be removed in the future, as code gets
migrated to handle all flags.

There are a few places annotated with `TODO(gep_nowrap)`, where I've had
to touch code but opted to not infer or precisely preserve the new
flags, so as to keep this as NFC as possible and make sure any changes
of that kind get test coverage when they are made.</pre>
</div>
</content>
</entry>
<entry>
<title>[IR] Drop poison-generating return attributes when necessary (#89138)</title>
<updated>2024-04-18T06:27:36+00:00</updated>
<author>
<name>Andreas Jonson</name>
<email>andjo403@hotmail.com</email>
</author>
<published>2024-04-18T06:27:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ff3523f67b858b87ed4f72d143a1ab3634ae1db7'/>
<id>ff3523f67b858b87ed4f72d143a1ab3634ae1db7</id>
<content type='text'>
Rename has/dropPoisonGeneratingFlagsOrMetadata to
has/dropPoisonGeneratingAnnotations and make it also handle
nonnull, align and range return attributes on calls, similar
to the existing handling for !nonnull, !align and !range metadata.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rename has/dropPoisonGeneratingFlagsOrMetadata to
has/dropPoisonGeneratingAnnotations and make it also handle
nonnull, align and range return attributes on calls, similar
to the existing handling for !nonnull, !align and !range metadata.</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for `nneg` flag with `uitofp`</title>
<updated>2024-04-09T23:12:33+00:00</updated>
<author>
<name>Noah Goldstein</name>
<email>goldstein.w.n@gmail.com</email>
</author>
<published>2024-03-20T21:46:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9170e3857521324c096240bf38877e0ffe1a402e'/>
<id>9170e3857521324c096240bf38877e0ffe1a402e</id>
<content type='text'>
As noted when #82404 was pushed (canonicalizing `sitofp` -&gt; `uitofp`),
different signedness on fp casts can have dramatic performance
implications on different backends.

So, it makes to create a reliable means for the backend to pick its
cast signedness if either are correct.

Further, this allows us to start canonicalizing `sitofp`- &gt; `uitofp`
which may easy middle end analysis.

Closes #86141
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As noted when #82404 was pushed (canonicalizing `sitofp` -&gt; `uitofp`),
different signedness on fp casts can have dramatic performance
implications on different backends.

So, it makes to create a reliable means for the backend to pick its
cast signedness if either are correct.

Further, this allows us to start canonicalizing `sitofp`- &gt; `uitofp`
which may easy middle end analysis.

Closes #86141
</pre>
</div>
</content>
</entry>
<entry>
<title>[IR] Fix crashes caused by #85592 (#87169)</title>
<updated>2024-04-02T07:49:31+00:00</updated>
<author>
<name>elhewaty</name>
<email>mohamedatef1698@gmail.com</email>
</author>
<published>2024-04-02T07:49:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fa8dc363506893eb9371dd3b7590f41fa9a7174a'/>
<id>fa8dc363506893eb9371dd3b7590f41fa9a7174a</id>
<content type='text'>
This patch fixes the crash caused by the pull request:
https://github.com/llvm/llvm-project/pull/85592</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes the crash caused by the pull request:
https://github.com/llvm/llvm-project/pull/85592</pre>
</div>
</content>
</entry>
</feed>
