<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Transforms/Scalar/LoopPredication.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>[Transforms] Remove unused includes (NFC) (#115263)</title>
<updated>2024-11-07T18:58:58+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2024-11-07T18:58:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b02e5bc5b1be9d94689ebe1cf1244b7da540fb19'/>
<id>b02e5bc5b1be9d94689ebe1cf1244b7da540fb19</id>
<content type='text'>
Identified with misc-include-cleaner.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Identified with misc-include-cleaner.</pre>
</div>
</content>
</entry>
<entry>
<title>[LLVM] Add `Intrinsic::getDeclarationIfExists` (#112428)</title>
<updated>2024-10-16T14:21:10+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2024-10-16T14:21:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6924fc03260370876f7091ba06cdc350989ac3c5'/>
<id>6924fc03260370876f7091ba06cdc350989ac3c5</id>
<content type='text'>
Add `Intrinsic::getDeclarationIfExists` to lookup an existing
declaration of an intrinsic in a `Module`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add `Intrinsic::getDeclarationIfExists` to lookup an existing
declaration of an intrinsic in a `Module`.</pre>
</div>
</content>
</entry>
<entry>
<title>[SCEV] Use const SCEV * explicitly in more places.</title>
<updated>2024-08-03T19:10:01+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2024-08-03T19:10:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=edf46f365cf4e7caccd7459ac1a6912de5096857'/>
<id>edf46f365cf4e7caccd7459ac1a6912de5096857</id>
<content type='text'>
Use const SCEV * explicitly in more places to prepare for
https://github.com/llvm/llvm-project/pull/91961. Split off as suggested.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use const SCEV * explicitly in more places to prepare for
https://github.com/llvm/llvm-project/pull/91961. Split off as suggested.
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[IR][NFC] Update IRBuilder to use InsertPosition (#96497)"</title>
<updated>2024-06-24T17:00:22+00:00</updated>
<author>
<name>Stephen Tozer</name>
<email>stephen.tozer@sony.com</email>
</author>
<published>2024-06-24T16:59:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d75f9dd1d29b332bdc51346de63cbc04646354d7'/>
<id>d75f9dd1d29b332bdc51346de63cbc04646354d7</id>
<content type='text'>
Reverts the above commit, as it updates a common header function and
did not update all callsites:

  https://lab.llvm.org/buildbot/#/builders/29/builds/382

This reverts commit 6481dc57612671ebe77fe9c34214fba94e1b3b27.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reverts the above commit, as it updates a common header function and
did not update all callsites:

  https://lab.llvm.org/buildbot/#/builders/29/builds/382

This reverts commit 6481dc57612671ebe77fe9c34214fba94e1b3b27.
</pre>
</div>
</content>
</entry>
<entry>
<title>[IR][NFC] Update IRBuilder to use InsertPosition (#96497)</title>
<updated>2024-06-24T16:27:43+00:00</updated>
<author>
<name>Stephen Tozer</name>
<email>stephen.tozer@sony.com</email>
</author>
<published>2024-06-24T16:27:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6481dc57612671ebe77fe9c34214fba94e1b3b27'/>
<id>6481dc57612671ebe77fe9c34214fba94e1b3b27</id>
<content type='text'>
Uses the new InsertPosition class (added in #94226) to simplify some of
the IRBuilder interface, and removes the need to pass a BasicBlock
alongside a BasicBlock::iterator, using the fact that we can now get the
parent basic block from the iterator even if it points to the sentinel.
This patch removes the BasicBlock argument from each constructor or call
to setInsertPoint.

This has no functional effect, but later on as we look to remove the
`Instruction *InsertBefore` argument from instruction-creation
(discussed
[here](https://discourse.llvm.org/t/psa-instruction-constructors-changing-to-iterator-only-insertion/77845)),
this will simplify the process by allowing us to deprecate the
InsertPosition constructor directly and catch all the cases where we use
instructions rather than iterators.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Uses the new InsertPosition class (added in #94226) to simplify some of
the IRBuilder interface, and removes the need to pass a BasicBlock
alongside a BasicBlock::iterator, using the fact that we can now get the
parent basic block from the iterator even if it points to the sentinel.
This patch removes the BasicBlock argument from each constructor or call
to setInsertPoint.

This has no functional effect, but later on as we look to remove the
`Instruction *InsertBefore` argument from instruction-creation
(discussed
[here](https://discourse.llvm.org/t/psa-instruction-constructors-changing-to-iterator-only-insertion/77845)),
this will simplify the process by allowing us to deprecate the
InsertPosition constructor directly and catch all the cases where we use
instructions rather than iterators.</pre>
</div>
</content>
</entry>
<entry>
<title>[NewPM] Remove LoopPredicationLegacyPass (#72944)</title>
<updated>2023-11-21T08:52:46+00:00</updated>
<author>
<name>Aiden Grossman</name>
<email>agrossman154@yahoo.com</email>
</author>
<published>2023-11-21T08:52:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=13663310c63d20a03a18a4197bb0032e722baefe'/>
<id>13663310c63d20a03a18a4197bb0032e722baefe</id>
<content type='text'>
This pass isn't used/tested upstream anywhere, so remove it.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This pass isn't used/tested upstream anywhere, so remove it.</pre>
</div>
</content>
</entry>
<entry>
<title>[LoopPredication] Fix division by zero in case of zero branch weights (#66506)</title>
<updated>2023-09-19T01:38:29+00:00</updated>
<author>
<name>Danila Malyutin</name>
<email>danilaml@users.noreply.github.com</email>
</author>
<published>2023-09-19T01:38:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a668c0f687f9029c3171c757e1fa5df891eb7558'/>
<id>a668c0f687f9029c3171c757e1fa5df891eb7558</id>
<content type='text'>
Treat the case where all branch weights are zero as if there was no
profile.
Fixes #66382</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Treat the case where all branch weights are zero as if there was no
profile.
Fixes #66382</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Fix duplicate word typos. NFC</title>
<updated>2023-09-02T01:25:16+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2023-09-02T01:25:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=111fcb0df02db3db8bed1d5db6d911b7ce544d92'/>
<id>111fcb0df02db3db8bed1d5db6d911b7ce544d92</id>
<content type='text'>
Those fixes were taken from https://reviews.llvm.org/D137338
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Those fixes were taken from https://reviews.llvm.org/D137338
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][GuardUtils] Add util to extract widenable conditions</title>
<updated>2023-08-18T15:36:05+00:00</updated>
<author>
<name>Aleksandr Popov</name>
<email>a.popov.tmb@gmail.com</email>
</author>
<published>2023-08-18T15:36:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d6e7c162e1df3736d8e2b3610a831b7cfa5be99b'/>
<id>d6e7c162e1df3736d8e2b3610a831b7cfa5be99b</id>
<content type='text'>
This is the next preparation patch to support widenable conditions
widening instead of branches widening.

We've added parseWidenableGuard util which parses guard condition and
collects all checks existing in the expression tree: D157276

Here we are adding util which walks similar way through the expression
tree but looks up for widenable condition without collecting the checks.
Therefore llvm::extractWidenableCondition could parse widenable branches
with arbitrary position of widenable condition in the expression tree.

llvm::parseWidenableBranch which is we are going to get rid of is being
replaced by llvm::extractWidenableCondition where it's possible.

Reviewed By: anna

Differential Revision: https://reviews.llvm.org/D157529
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is the next preparation patch to support widenable conditions
widening instead of branches widening.

We've added parseWidenableGuard util which parses guard condition and
collects all checks existing in the expression tree: D157276

Here we are adding util which walks similar way through the expression
tree but looks up for widenable condition without collecting the checks.
Therefore llvm::extractWidenableCondition could parse widenable branches
with arbitrary position of widenable condition in the expression tree.

llvm::parseWidenableBranch which is we are going to get rid of is being
replaced by llvm::extractWidenableCondition where it's possible.

Reviewed By: anna

Differential Revision: https://reviews.llvm.org/D157529
</pre>
</div>
</content>
</entry>
<entry>
<title>[LoopPredication] Rework assumes of widened conditions</title>
<updated>2023-08-18T12:35:46+00:00</updated>
<author>
<name>Aleksandr Popov</name>
<email>a.popov.tmb@gmail.com</email>
</author>
<published>2023-08-18T12:35:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1b87882228b0371212753781a363d4addd1bafa7'/>
<id>1b87882228b0371212753781a363d4addd1bafa7</id>
<content type='text'>
Currently after widening br(WC &amp;&amp; (c1 &amp;&amp; c2)) we insert assume of
(c1 &amp;&amp; c2) which is joined to WC by And operation.
But we are going to support more flexible form of widenable branches
where WC could be placed arbitrary in the expression tree, e.g:
br(c1 &amp;&amp; (c2 &amp;&amp; WC)).
In that case we won't have (c1 &amp;&amp; c2) in the IR. So we need to add
explicit (c1 &amp;&amp; c2) and then create an assumption of it.

Reviewed By: anna

Differential Revision: https://reviews.llvm.org/D157502
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently after widening br(WC &amp;&amp; (c1 &amp;&amp; c2)) we insert assume of
(c1 &amp;&amp; c2) which is joined to WC by And operation.
But we are going to support more flexible form of widenable branches
where WC could be placed arbitrary in the expression tree, e.g:
br(c1 &amp;&amp; (c2 &amp;&amp; WC)).
In that case we won't have (c1 &amp;&amp; c2) in the IR. So we need to add
explicit (c1 &amp;&amp; c2) and then create an assumption of it.

Reviewed By: anna

Differential Revision: https://reviews.llvm.org/D157502
</pre>
</div>
</content>
</entry>
</feed>
