<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Transforms/Vectorize/VPlanConstruction.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>[VPlan] Create resume phis in scalar preheader early. (NFC) (#166099)</title>
<updated>2025-11-22T20:45:41+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2025-11-22T20:45:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=080ca902c6aaf1a1bf48df04a65ed163825b2006'/>
<id>080ca902c6aaf1a1bf48df04a65ed163825b2006</id>
<content type='text'>
Create phi recipes for scalar resume value up front in addInitialSkeleton during initial construction. This will allow moving the remaining code dealing with resume values to VPlan transforms/construction.

PR: https://github.com/llvm/llvm-project/pull/166099</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Create phi recipes for scalar resume value up front in addInitialSkeleton during initial construction. This will allow moving the remaining code dealing with resume values to VPlan transforms/construction.

PR: https://github.com/llvm/llvm-project/pull/166099</pre>
</div>
</content>
</entry>
<entry>
<title>[VPlan] Populate and use VPIRFlags from initial VPInstruction. (#168450)</title>
<updated>2025-11-18T15:15:14+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2025-11-18T15:15:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2befda2225a6c61d0308e536c19b066ab27bbf2a'/>
<id>2befda2225a6c61d0308e536c19b066ab27bbf2a</id>
<content type='text'>
Update VPlan to populate VPIRFlags during VPInstruction construction and
use it when creating widened recipes, instead of constructing VPIRFlags
from the underlying IR instruction each time. The VPRecipeWithIRFlags
constructor taking an underlying instruction and setting the flags based
on it has been removed.

This centralizes initial VPIRFlags creation and ensures flags are
consistently available throughout VPlan transformations and makes sure
we don't accidentally re-add flags from the underlying instruction that
already got dropped during transformations.

Follow-up to https://github.com/llvm/llvm-project/pull/167253, which did
the same for VPIRMetadata.

Should be NFC w.r.t. to the generated IR.

PR: https://github.com/llvm/llvm-project/pull/168450</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update VPlan to populate VPIRFlags during VPInstruction construction and
use it when creating widened recipes, instead of constructing VPIRFlags
from the underlying IR instruction each time. The VPRecipeWithIRFlags
constructor taking an underlying instruction and setting the flags based
on it has been removed.

This centralizes initial VPIRFlags creation and ensures flags are
consistently available throughout VPlan transformations and makes sure
we don't accidentally re-add flags from the underlying instruction that
already got dropped during transformations.

Follow-up to https://github.com/llvm/llvm-project/pull/167253, which did
the same for VPIRMetadata.

Should be NFC w.r.t. to the generated IR.

PR: https://github.com/llvm/llvm-project/pull/168450</pre>
</div>
</content>
</entry>
<entry>
<title>[VPlan] Populate and use VPIRMetadata from VPInstructions (NFC) (#167253)</title>
<updated>2025-11-17T21:28:49+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2025-11-17T21:28:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3cba379e3d9bd2f929f5625fe38d17c34f4b7bb7'/>
<id>3cba379e3d9bd2f929f5625fe38d17c34f4b7bb7</id>
<content type='text'>
Update VPlan to populate VPIRMetadata during VPInstruction construction
and use it when creating widened recipes, instead of constructing
VPIRMetadata from the underlying IR instruction each time.

This centralizes VPIRMetadata in VPInstructions and ensures metadata is
consistently available throughout VPlan transformations.

PR: https://github.com/llvm/llvm-project/pull/167253</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update VPlan to populate VPIRMetadata during VPInstruction construction
and use it when creating widened recipes, instead of constructing
VPIRMetadata from the underlying IR instruction each time.

This centralizes VPIRMetadata in VPInstructions and ensures metadata is
consistently available throughout VPlan transformations.

PR: https://github.com/llvm/llvm-project/pull/167253</pre>
</div>
</content>
</entry>
<entry>
<title>[VPlan] Replace VPIRMetadata::addMetadata with setMetadata. (NFC)</title>
<updated>2025-11-17T20:55:18+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2025-11-17T15:45:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=321b9d190b32c2c10bbd59761e34ef0305bdb954'/>
<id>321b9d190b32c2c10bbd59761e34ef0305bdb954</id>
<content type='text'>
Replace addMetadata with setMetadata, which sets metadata, updating
existing entries or adding a new entry otherwise.

This isn't strictly needed at the moment, but will be needed for
follow-up patches.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace addMetadata with setMetadata, which sets metadata, updating
existing entries or adding a new entry otherwise.

This isn't strictly needed at the moment, but will be needed for
follow-up patches.
</pre>
</div>
</content>
</entry>
<entry>
<title>[VPlan] Add findComputeReductionResult helper. (NFC)</title>
<updated>2025-11-13T23:20:54+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2025-11-13T23:20:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4e71530dcbb768ee302013bc49e231b292638c58'/>
<id>4e71530dcbb768ee302013bc49e231b292638c58</id>
<content type='text'>
Move utility to helper for re-use in follow-up patches.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move utility to helper for re-use in follow-up patches.
</pre>
</div>
</content>
</entry>
<entry>
<title>[VPlan] Remove unneeded getDefiningRecipe with isa/cast/dyn_cast. (NFC)</title>
<updated>2025-11-11T22:07:48+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2025-11-11T22:07:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=519cf3c2b8f25768916d97650f148a66db0bba6f'/>
<id>519cf3c2b8f25768916d97650f148a66db0bba6f</id>
<content type='text'>
Classof for most recipes directly supports VPValue, so there is no need
to call getDefiningRecipe when using isa/cast/dyn_cast.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Classof for most recipes directly supports VPValue, so there is no need
to call getDefiningRecipe when using isa/cast/dyn_cast.
</pre>
</div>
</content>
</entry>
<entry>
<title>[VPlan] Use VPInstructionWithType for casts in VPlan0. (NFC)</title>
<updated>2025-11-09T21:35:50+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2025-11-09T21:35:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d406c15fc8fc84efe8f7fd073afe64b21974e2c1'/>
<id>d406c15fc8fc84efe8f7fd073afe64b21974e2c1</id>
<content type='text'>
Use VPInstructionWithType for casts in VPlan0, to enable additional
analysis/transforms on VPlan0, and more accurate modeling in VPlan0.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use VPInstructionWithType for casts in VPlan0, to enable additional
analysis/transforms on VPlan0, and more accurate modeling in VPlan0.
</pre>
</div>
</content>
</entry>
<entry>
<title>[VPlan] Support multiple F(Max|Min)Num reductions. (#161735)</title>
<updated>2025-11-07T13:59:06+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2025-11-07T13:59:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3ee2f07e17f0c7d311f4401c415f351c644f4c5a'/>
<id>3ee2f07e17f0c7d311f4401c415f351c644f4c5a</id>
<content type='text'>
Generalize handleMaxMinNumReductions to handle any number of
F(Max|Min)Num reductions by collecting a vector of reductions to
convert.

We then add NaN checks for all of them, followed by adjusting the branch
controlling the vector loop region, and updating the resume phis.

Addresses a TODO from https://github.com/llvm/llvm-project/pull/148239

PR: https://github.com/llvm/llvm-project/pull/161735</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Generalize handleMaxMinNumReductions to handle any number of
F(Max|Min)Num reductions by collecting a vector of reductions to
convert.

We then add NaN checks for all of them, followed by adjusting the branch
controlling the vector loop region, and updating the resume phis.

Addresses a TODO from https://github.com/llvm/llvm-project/pull/148239

PR: https://github.com/llvm/llvm-project/pull/161735</pre>
</div>
</content>
</entry>
<entry>
<title>[VPlan] Add getConstantInt helpers for constant int creation (NFC).</title>
<updated>2025-11-01T04:13:01+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2025-11-01T04:12:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6e83937f398e5a2fffad8d59a280058d49738325'/>
<id>6e83937f398e5a2fffad8d59a280058d49738325</id>
<content type='text'>
Add getConstantInt helper methods to VPlan to simplify the common
pattern of creating constant integer live-ins.

Suggested as follow-up in
https://github.com/llvm/llvm-project/pull/164127.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add getConstantInt helper methods to VPlan to simplify the common
pattern of creating constant integer live-ins.

Suggested as follow-up in
https://github.com/llvm/llvm-project/pull/164127.
</pre>
</div>
</content>
</entry>
<entry>
<title>[VPlan] Clarify naming for helpers to create loop&amp;replicate regions (NFC)</title>
<updated>2025-10-21T19:41:54+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2025-10-21T19:41:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=82b59345fea7f450f314fead42520d591a1933b3'/>
<id>82b59345fea7f450f314fead42520d591a1933b3</id>
<content type='text'>
Split off to clarify naming, as suggested in
https://github.com/llvm/llvm-project/pull/156262.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Split off to clarify naming, as suggested in
https://github.com/llvm/llvm-project/pull/156262.
</pre>
</div>
</content>
</entry>
</feed>
