<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/Transforms/SimplifyCFG/invoke.ll, 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>[SimplifyCFG] Regenerate test checks (NFC)</title>
<updated>2024-06-05T15:06:25+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2024-06-05T15:05:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=07b9d231ff9baa6473b0dd588a3ce5330d3e4871'/>
<id>07b9d231ff9baa6473b0dd588a3ce5330d3e4871</id>
<content type='text'>
The output for many of these slightly changed (mainly due to
switch indentation), so mass-regenerate them.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The output for many of these slightly changed (mainly due to
switch indentation), so mass-regenerate them.
</pre>
</div>
</content>
</entry>
<entry>
<title>[SimplifyCFG] Convert tests to opaque pointers (NFC)</title>
<updated>2022-12-14T14:14:12+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2022-12-14T13:40:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8979ae42769e529b0f6fce3268492ffb49bd54b9'/>
<id>8979ae42769e529b0f6fce3268492ffb49bd54b9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC] Port all runlines for SimplifyCFG pass tests to -passes syntax</title>
<updated>2022-12-05T18:12:20+00:00</updated>
<author>
<name>Roman Lebedev</name>
<email>lebedev.ri@gmail.com</email>
</author>
<published>2022-12-05T18:10:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d1d129356909af2f6fefd6f1b9335a39fe172e9a'/>
<id>d1d129356909af2f6fefd6f1b9335a39fe172e9a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Local] Don't remove invoke of non-willreturn function</title>
<updated>2022-05-30T13:37:46+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2022-05-30T13:37:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2e101cca690645d63ae4de1eb7b0e11d322448fd'/>
<id>2e101cca690645d63ae4de1eb7b0e11d322448fd</id>
<content type='text'>
The code was only checking for memory side-effects, but not for
divergence side-effects. Replace this with a generic check.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The code was only checking for memory side-effects, but not for
divergence side-effects. Replace this with a generic check.
</pre>
</div>
</content>
</entry>
<entry>
<title>[SimplifyCFG] Add test for invoke of nounwind non-willreturn function (NFC)</title>
<updated>2022-05-30T13:36:33+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2022-05-30T13:33:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1f1de06165bb39f66049cdc942151fc6ed193123'/>
<id>1f1de06165bb39f66049cdc942151fc6ed193123</id>
<content type='text'>
Test both the case with and without willreturn attribute.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Test both the case with and without willreturn attribute.
</pre>
</div>
</content>
</entry>
<entry>
<title>Reland [SimplifyCFG] `markAliveBlocks()`: recognize that normal dest of `invoke`d `noreturn` function is `unreachable`</title>
<updated>2022-02-04T23:58:19+00:00</updated>
<author>
<name>Roman Lebedev</name>
<email>lebedev.ri@gmail.com</email>
</author>
<published>2022-02-04T23:39:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=18ff1ec3c3c63889e476c5495647de41ac2870aa'/>
<id>18ff1ec3c3c63889e476c5495647de41ac2870aa</id>
<content type='text'>
As per LangRef's definition of `noreturn` attribute:
```
noreturn
  This function attribute indicates that the function never returns
  normally, hence through a return instruction.
  This produces undefined behavior at runtime if the function
  ever does dynamically return. nnotated functions may still
  raise an exception, i.a., nounwind is not implied.
```

So if we `invoke` a `noreturn` function, and the normal destination
of an invoke is not an `unreachable`, point it at the new `unreachable`
block.

The change/fix from the original commit is that we now actually create
the new block, and don't just repurpose the original block,
because said normal destination block could have other users.

This reverts commit db1176ce66cf276b45ac3b90ea6b5ce62de56be7,
relanding commit 598833c987593ce192fa827f162cae8c867c9d43.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As per LangRef's definition of `noreturn` attribute:
```
noreturn
  This function attribute indicates that the function never returns
  normally, hence through a return instruction.
  This produces undefined behavior at runtime if the function
  ever does dynamically return. nnotated functions may still
  raise an exception, i.a., nounwind is not implied.
```

So if we `invoke` a `noreturn` function, and the normal destination
of an invoke is not an `unreachable`, point it at the new `unreachable`
block.

The change/fix from the original commit is that we now actually create
the new block, and don't just repurpose the original block,
because said normal destination block could have other users.

This reverts commit db1176ce66cf276b45ac3b90ea6b5ce62de56be7,
relanding commit 598833c987593ce192fa827f162cae8c867c9d43.
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][SimplifyCFG] Add test w/ shared normal dest of a `noreturn` `invoke`d function</title>
<updated>2022-02-04T23:58:19+00:00</updated>
<author>
<name>Roman Lebedev</name>
<email>lebedev.ri@gmail.com</email>
</author>
<published>2022-02-04T23:38:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=67cb8fd75b55141da81fbc01ca5141ca3272acda'/>
<id>67cb8fd75b55141da81fbc01ca5141ca3272acda</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[SimplifyCFG] `markAliveBlocks()`: recognize that normal dest of `invoke`d `noreturn` function is `unreachable`"</title>
<updated>2022-02-04T23:30:20+00:00</updated>
<author>
<name>Roman Lebedev</name>
<email>lebedev.ri@gmail.com</email>
</author>
<published>2022-02-04T23:29:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=db1176ce66cf276b45ac3b90ea6b5ce62de56be7'/>
<id>db1176ce66cf276b45ac3b90ea6b5ce62de56be7</id>
<content type='text'>
The normal destination may have other uses.

This reverts commit 598833c987593ce192fa827f162cae8c867c9d43.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The normal destination may have other uses.

This reverts commit 598833c987593ce192fa827f162cae8c867c9d43.
</pre>
</div>
</content>
</entry>
<entry>
<title>[SimplifyCFG] `markAliveBlocks()`: recognize that normal dest of `invoke`d `noreturn` function is `unreachable`</title>
<updated>2022-02-04T23:15:07+00:00</updated>
<author>
<name>Roman Lebedev</name>
<email>lebedev.ri@gmail.com</email>
</author>
<published>2022-02-04T22:28:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=598833c987593ce192fa827f162cae8c867c9d43'/>
<id>598833c987593ce192fa827f162cae8c867c9d43</id>
<content type='text'>
As per LangRef's definition of `noreturn` attribute:
```
noreturn
  This function attribute indicates that the function never returns
  normally, hence through a return instruction.
  This produces undefined behavior at runtime if the function
  ever does dynamically return. nnotated functions may still
  raise an exception, i.a., nounwind is not implied.
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As per LangRef's definition of `noreturn` attribute:
```
noreturn
  This function attribute indicates that the function never returns
  normally, hence through a return instruction.
  This produces undefined behavior at runtime if the function
  ever does dynamically return. nnotated functions may still
  raise an exception, i.a., nounwind is not implied.
```
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][SimplifyCFG] Add test showing failure to drop normal dest of noreturn invoke</title>
<updated>2022-02-04T23:15:07+00:00</updated>
<author>
<name>Roman Lebedev</name>
<email>lebedev.ri@gmail.com</email>
</author>
<published>2022-02-04T22:27:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=75c1d1dab41709a9e0780ad2fbad23e46bfba4dd'/>
<id>75c1d1dab41709a9e0780ad2fbad23e46bfba4dd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
