<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/Transforms/Float2Int, 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>Reapply: [Float2Int] Resolve FIXME: Pick the smallest legal type that fits (#86337)</title>
<updated>2024-03-25T16:53:38+00:00</updated>
<author>
<name>AtariDreams</name>
<email>83477269+AtariDreams@users.noreply.github.com</email>
</author>
<published>2024-03-25T16:53:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7b3e943dfc6355488a57a7feaa125f4879ba7537'/>
<id>7b3e943dfc6355488a57a7feaa125f4879ba7537</id>
<content type='text'>
Originally reverted because of a bug in Range that is now fixed
(#86041), we can reland this commit. Tests have been added to ensure the
miscompile that caused the revert does not happen again.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Originally reverted because of a bug in Range that is now fixed
(#86041), we can reland this commit. Tests have been added to ensure the
miscompile that caused the revert does not happen again.</pre>
</div>
</content>
</entry>
<entry>
<title>[ConstantRange] Fix off by 1 bugs in UIToFP and SIToFP handling. (#86041)</title>
<updated>2024-03-21T16:25:13+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@sifive.com</email>
</author>
<published>2024-03-21T16:25:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=12836467b76c56872b4c22a6fd44bcda696ea720'/>
<id>12836467b76c56872b4c22a6fd44bcda696ea720</id>
<content type='text'>
We were passing the min and max values of the range to the ConstantRange
constructor, but the constructor expects the upper bound to 1 more than
the max value so we need to add 1.

We also need to use getNonEmpty so that passing 0, 0 to the constructor
creates a full range rather than an empty range. And passing smin,
smax+1 doesn't cause an assertion.

I believe this fixes at least some of the reason #79158 was reverted.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We were passing the min and max values of the range to the ConstantRange
constructor, but the constructor expects the upper bound to 1 more than
the max value so we need to add 1.

We also need to use getNonEmpty so that passing 0, 0 to the constructor
creates a full range rather than an empty range. And passing smin,
smax+1 doesn't cause an assertion.

I believe this fixes at least some of the reason #79158 was reverted.</pre>
</div>
</content>
</entry>
<entry>
<title>[Float2Int] Pre-commit test for SIToFP/UIToFP ConstantRange bug. NFC</title>
<updated>2024-03-21T15:41:02+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@sifive.com</email>
</author>
<published>2024-03-21T00:05:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6295e677220bb6ec1fa8abe2f4a94b513b91b786'/>
<id>6295e677220bb6ec1fa8abe2f4a94b513b91b786</id>
<content type='text'>
The range for these operations is being constructed without the
maximum value for the range due to an incorrect usage of the
ConstantRange constructor.

This causes Float2Int to think the range for 'uitofp i1' only
contains 0 instead of 0 and 1.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The range for these operations is being constructed without the
maximum value for the range due to an incorrect usage of the
ConstantRange constructor.

This causes Float2Int to think the range for 'uitofp i1' only
contains 0 instead of 0 and 1.
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[Float2Int] Resolve FIXME: Pick the smallest legal type that fits" (#85843)</title>
<updated>2024-03-19T19:15:30+00:00</updated>
<author>
<name>alexfh</name>
<email>alexfh@google.com</email>
</author>
<published>2024-03-19T19:15:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a6e231bb2a7924f4269e6735d29a54b2318cd16c'/>
<id>a6e231bb2a7924f4269e6735d29a54b2318cd16c</id>
<content type='text'>
Reverts llvm/llvm-project#79158, which causes a miscompile. See
https://github.com/llvm/llvm-project/pull/79158#issuecomment-2007842032</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reverts llvm/llvm-project#79158, which causes a miscompile. See
https://github.com/llvm/llvm-project/pull/79158#issuecomment-2007842032</pre>
</div>
</content>
</entry>
<entry>
<title>[Float2Int] Resolve FIXME: Pick the smallest legal type that fits (#79158)</title>
<updated>2024-03-13T08:23:04+00:00</updated>
<author>
<name>AtariDreams</name>
<email>83477269+AtariDreams@users.noreply.github.com</email>
</author>
<published>2024-03-13T08:23:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=06c06e15f45acd3ea24756978629f1d78724870e'/>
<id>06c06e15f45acd3ea24756978629f1d78724870e</id>
<content type='text'>
Pick the type based on the smallest bit-width possible, using
DataLayout.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pick the type based on the smallest bit-width possible, using
DataLayout.</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC] Port all Float2Int tests to `-passes=` syntax</title>
<updated>2022-12-07T23:38:43+00:00</updated>
<author>
<name>Roman Lebedev</name>
<email>lebedev.ri@gmail.com</email>
</author>
<published>2022-12-07T23:27:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=77f2db23d040f721c02ba149146fd6b009a34700'/>
<id>77f2db23d040f721c02ba149146fd6b009a34700</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Float2Int] Make sure dependent ranges are calculated first (PR54669)</title>
<updated>2022-04-04T08:18:39+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2022-04-01T10:28:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c0cc98251a453e2850c25adb10a3fd6b3e86a2e8'/>
<id>c0cc98251a453e2850c25adb10a3fd6b3e86a2e8</id>
<content type='text'>
The range calculation in walkForwards() assumes that the ranges of
the operands have already been calculated. With the used visit
order, this is not necessarily the case when there are multiple
roots. (There is nothing guaranteeing that instructions are visited
in topological order.)

Fix this by queuing instructions for reprocessing if the operand
ranges haven't been calculated yet.

Fixes https://github.com/llvm/llvm-project/issues/54669.

Differential Revision: https://reviews.llvm.org/D122817
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The range calculation in walkForwards() assumes that the ranges of
the operands have already been calculated. With the used visit
order, this is not necessarily the case when there are multiple
roots. (There is nothing guaranteeing that instructions are visited
in topological order.)

Fix this by queuing instructions for reprocessing if the operand
ranges haven't been calculated yet.

Fixes https://github.com/llvm/llvm-project/issues/54669.

Differential Revision: https://reviews.llvm.org/D122817
</pre>
</div>
</content>
</entry>
<entry>
<title>[Float2Int] Add test for PR54669 (NFC)</title>
<updated>2022-04-01T10:27:37+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2022-04-01T10:27:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a9d4a7ad80e5f948eb073e1df0f1ca8a304d225f'/>
<id>a9d4a7ad80e5f948eb073e1df0f1ca8a304d225f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[NewPM][test] Strickly use -passes in some more lit tests</title>
<updated>2021-10-20T15:06:47+00:00</updated>
<author>
<name>Bjorn Pettersson</name>
<email>bjorn.a.pettersson@ericsson.com</email>
</author>
<published>2021-10-20T15:06:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3d152bc49ddc87350eb1c588b083b24858bf6d51'/>
<id>3d152bc49ddc87350eb1c588b083b24858bf6d51</id>
<content type='text'>
Removed/replaced RUN lines using legacy PM syntax in favor of using
-passes in lit tests for Float2Int, MetaRenamer, StripDeadPrototypes
and StripSymbols.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Removed/replaced RUN lines using legacy PM syntax in favor of using
-passes in lit tests for Float2Int, MetaRenamer, StripDeadPrototypes
and StripSymbols.
</pre>
</div>
</content>
</entry>
<entry>
<title>[Float2Int] avoid crashing on unreachable code (PR38502)</title>
<updated>2019-09-19T16:31:17+00:00</updated>
<author>
<name>Sanjay Patel</name>
<email>spatel@rotateright.com</email>
</author>
<published>2019-09-19T16:31:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=13e71ce69319d7acdd0e8d57b31c09545d9f2a45'/>
<id>13e71ce69319d7acdd0e8d57b31c09545d9f2a45</id>
<content type='text'>
In the example from:
https://bugs.llvm.org/show_bug.cgi?id=38502
...we hit infinite looping/crashing because we have non-standard IR -
an instruction operand is used before defined.
This and other unusual constructs are allowed in unreachable blocks,
so avoid the problem by using DominatorTree to step around landmines.

Differential Revision: https://reviews.llvm.org/D67766

llvm-svn: 372339
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the example from:
https://bugs.llvm.org/show_bug.cgi?id=38502
...we hit infinite looping/crashing because we have non-standard IR -
an instruction operand is used before defined.
This and other unusual constructs are allowed in unreachable blocks,
so avoid the problem by using DominatorTree to step around landmines.

Differential Revision: https://reviews.llvm.org/D67766

llvm-svn: 372339
</pre>
</div>
</content>
</entry>
</feed>
