<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp, branch users/chapuni/cov/single/condop</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>[VPlan] Make sure last IV increment value is available if needed.</title>
<updated>2025-01-06T22:40:41+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2025-01-06T22:40:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f9369cc602272796c15de1065a782f812e791df3'/>
<id>f9369cc602272796c15de1065a782f812e791df3</id>
<content type='text'>
Legalize extract-from-ends using uniform VPReplicateRecipe of wide
inductions to use regular VPReplicateRecipe, so the correct end value
is available.

Fixes https://github.com/llvm/llvm-project/issues/121745.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Legalize extract-from-ends using uniform VPReplicateRecipe of wide
inductions to use regular VPReplicateRecipe, so the correct end value
is available.

Fixes https://github.com/llvm/llvm-project/issues/121745.
</pre>
</div>
</content>
</entry>
<entry>
<title>[VPlan] Add and use debug location for VPScalarCastRecipe.</title>
<updated>2025-01-05T20:08:51+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2025-01-05T20:08:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f4230b4332262dffb0bd3b7a2f8d6deb2e96488e'/>
<id>f4230b4332262dffb0bd3b7a2f8d6deb2e96488e</id>
<content type='text'>
Update the recipe it always take a debug location and set it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update the recipe it always take a debug location and set it.
</pre>
</div>
</content>
</entry>
<entry>
<title>[VPlan] Remove loop region in optimizeForVFAndUF. (#108378)</title>
<updated>2025-01-05T15:50:42+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2025-01-05T15:50:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f48884ded884d982a7fd13394b0e93e6588f4143'/>
<id>f48884ded884d982a7fd13394b0e93e6588f4143</id>
<content type='text'>
Update optimizeForVFAndUF to completely remove the vector loop region
when possible. At the moment, we cannot remove the region if it contains

* widened IVs: the recipe is needed to generate the step vector
* reductions: ComputeReductionResults requires the reduction phi recipe
for codegen.

Both cases can be addressed by more explicit modeling.

The patch also includes a number of updates to allow executing VPlans
without a vector loop region.

Depends on https://github.com/llvm/llvm-project/pull/110004</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update optimizeForVFAndUF to completely remove the vector loop region
when possible. At the moment, we cannot remove the region if it contains

* widened IVs: the recipe is needed to generate the step vector
* reductions: ComputeReductionResults requires the reduction phi recipe
for codegen.

Both cases can be addressed by more explicit modeling.

The patch also includes a number of updates to allow executing VPlans
without a vector loop region.

Depends on https://github.com/llvm/llvm-project/pull/110004</pre>
</div>
</content>
</entry>
<entry>
<title>[VPlan] Fix crash with EVL tail folding intrinsic with no corresponding VP (#121542)</title>
<updated>2025-01-05T03:41:56+00:00</updated>
<author>
<name>Luke Lau</name>
<email>luke@igalia.com</email>
</author>
<published>2025-01-05T03:41:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7700695739d078eff01aad6f4d40c933419d08bc'/>
<id>7700695739d078eff01aad6f4d40c933419d08bc</id>
<content type='text'>
This fixes a crash when building SPEC CPU 2017 with EVL tail folding
when widening @llvm.log10 intrinsics.

@llvm.log10 and some other intrinsics don't have a corresponding VP
intrinsic, so this fixes the crash by removing the assert and bailing
instead.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a crash when building SPEC CPU 2017 with EVL tail folding
when widening @llvm.log10 intrinsics.

@llvm.log10 and some other intrinsics don't have a corresponding VP
intrinsic, so this fixes the crash by removing the assert and bailing
instead.</pre>
</div>
</content>
</entry>
<entry>
<title>[VPlan] Use removeDeadRecipes in optimizeForVFAndUF (NFCI)</title>
<updated>2025-01-02T20:10:46+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2025-01-02T20:10:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5f5792aedb1f8088836ccd1c0a924c5e0bbf35db'/>
<id>5f5792aedb1f8088836ccd1c0a924c5e0bbf35db</id>
<content type='text'>
Split off from https://github.com/llvm/llvm-project/pull/108378.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Split off from https://github.com/llvm/llvm-project/pull/108378.
</pre>
</div>
</content>
</entry>
<entry>
<title>[VPlan] Move simplifyRecipe(s) definitions up to allow re-use (NFC)</title>
<updated>2024-12-31T13:23:19+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2024-12-31T13:23:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ddef380cd6c30668cc6f6d952b4c045f724f8d57'/>
<id>ddef380cd6c30668cc6f6d952b4c045f724f8d57</id>
<content type='text'>
Move definitions to allow easy reuse in
https://github.com/llvm/llvm-project/pull/108378.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move definitions to allow easy reuse in
https://github.com/llvm/llvm-project/pull/108378.
</pre>
</div>
</content>
</entry>
<entry>
<title>[VPlan] Manage created blocks directly in VPlan. (NFC) (#120918)</title>
<updated>2024-12-30T12:08:12+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2024-12-30T12:08:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=16d19aaedf347f452c22c7254934753b19803d5d'/>
<id>16d19aaedf347f452c22c7254934753b19803d5d</id>
<content type='text'>
This patch changes the way blocks are managed by VPlan. Previously all
blocks reachable from entry would be cleaned up when a VPlan is
destroyed. With this patch, each VPlan keeps track of blocks created for
it in a list and this list is then used to delete all blocks in the list
when the VPlan is destroyed. To do so, block creation is funneled
through helpers in directly in VPlan.

The main advantage of doing so is it simplifies CFG transformations, as
those do not have to take care of deleting any blocks, just adjusting
the CFG. This helps to simplify
https://github.com/llvm/llvm-project/pull/108378 and
https://github.com/llvm/llvm-project/pull/106748.

This also simplifies handling of 'immutable' blocks a VPlan holds
references to, which at the moment only include the scalar header block.

PR: https://github.com/llvm/llvm-project/pull/120918</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch changes the way blocks are managed by VPlan. Previously all
blocks reachable from entry would be cleaned up when a VPlan is
destroyed. With this patch, each VPlan keeps track of blocks created for
it in a list and this list is then used to delete all blocks in the list
when the VPlan is destroyed. To do so, block creation is funneled
through helpers in directly in VPlan.

The main advantage of doing so is it simplifies CFG transformations, as
those do not have to take care of deleting any blocks, just adjusting
the CFG. This helps to simplify
https://github.com/llvm/llvm-project/pull/108378 and
https://github.com/llvm/llvm-project/pull/106748.

This also simplifies handling of 'immutable' blocks a VPlan holds
references to, which at the moment only include the scalar header block.

PR: https://github.com/llvm/llvm-project/pull/120918</pre>
</div>
</content>
</entry>
<entry>
<title>[VPlan] Replace else-if dyn_cast with cast (NFC).</title>
<updated>2024-12-23T19:46:22+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2024-12-23T19:46:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c7a777322dd8cc171cea9bbc8dbad14277b3587a'/>
<id>c7a777322dd8cc171cea9bbc8dbad14277b3587a</id>
<content type='text'>
The recipes handled here are either VPWidenIntrinsic or VPWidenCast, so
replace the else-if dyn_cast with a single else + cast.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The recipes handled here are either VPWidenIntrinsic or VPWidenCast, so
replace the else-if dyn_cast with a single else + cast.
</pre>
</div>
</content>
</entry>
<entry>
<title>[LV][VPlan] Initialize the variable 'VPID' of the createEVLRecipe (#120926)</title>
<updated>2024-12-23T01:23:22+00:00</updated>
<author>
<name>LiqinWeng</name>
<email>liqin.weng@spacemit.com</email>
</author>
<published>2024-12-23T01:23:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b1fab4f8491ae2c46ae77bcc21281296edfd458a'/>
<id>b1fab4f8491ae2c46ae77bcc21281296edfd458a</id>
<content type='text'>
Resolve the compilation error caused by the merge issue: #119510</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Resolve the compilation error caused by the merge issue: #119510</pre>
</div>
</content>
</entry>
<entry>
<title>[LV][VPlan] Extract the implementation of transform Recipe to EVLRecipe into a small function. NFC (#119510)</title>
<updated>2024-12-23T00:28:19+00:00</updated>
<author>
<name>LiqinWeng</name>
<email>liqin.weng@spacemit.com</email>
</author>
<published>2024-12-23T00:28:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8a51471d839d9ba8ea015ddd4c761d5c8946f881'/>
<id>8a51471d839d9ba8ea015ddd4c761d5c8946f881</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
