-
Notifications
You must be signed in to change notification settings - Fork 11.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[LV][EVL] Support in-loop reduction using tail folding with EVL. #90184
Merged
Merged
Changes from all commits
Commits
Show all changes
52 commits
Select commit
Hold shift + click to select a range
c392aad
Utils support
Mel-Chen cf0b2c1
Enable lit test case
Mel-Chen 1b929c5
Remove the constraint for reductions
Mel-Chen a7ba2d5
update test case
Mel-Chen 370831f
The initial implementation modeled after VPWidenLoadEVLRecipe.
Mel-Chen be76dc5
Add test case for ordered reduction
Mel-Chen 7e6d46d
Add test case for all reduction kinds
Mel-Chen 749f221
Block FMinimum and FMaximum
Mel-Chen b412a6f
remove clone function
Mel-Chen 83d5d2e
Add VPlan test
Mel-Chen d1cb428
Move utils to VectorBuilder
Mel-Chen 7a4324a
Revert "Utils support"
Mel-Chen 716903e
Fix comments format
Mel-Chen 2fd9862
Allow null underlyInstr
Mel-Chen f8522df
Implement mayWriteToMemory, mayReadFromMemory and mayHaveSideEffects
Mel-Chen ba308c0
Update llvm/lib/IR/VectorBuilder.cpp
Mel-Chen 7206394
Enable vp fminimum and fmaximum
Mel-Chen 3b041bf
Revert "Block FMinimum and FMaximum"
Mel-Chen 69e5fa2
Add assertion for AnyOf
Mel-Chen 1c1f8de
Add test case for anyof
Mel-Chen fe2a2c6
Add test case for conditional reduction
Mel-Chen b051f98
Add test case for recipe dump
Mel-Chen 906981b
Add test case for intermediate store
Mel-Chen dfd6f84
Remove redundant code
Mel-Chen a2d5f3f
Split test cases
Mel-Chen 7b14c80
Remove mask(CondOp) if the mask equals header mask.
Mel-Chen 996d0c7
Refine recipe print
Mel-Chen 44931f5
Replace fatal error with assert.
Mel-Chen 57f8486
Add conditional reduction test cases with widenInduction.
Mel-Chen 73f8bfa
mis-vectctorized after #92092.
Mel-Chen ea080d9
Refine comments.
Mel-Chen 72c079d
Refine the code of recipe replacement.
Mel-Chen 95387e6
Support type inference for VPReductionRecipe and VPReductionEVLRecipe
Mel-Chen 84fe7ba
Introduce ExplicitVectorLengthMask recipe for out-loop reduction.
Mel-Chen cb4e661
Revert "Introduce ExplicitVectorLengthMask recipe for out-loop reduct…
Mel-Chen 7ff54a2
Drop the EVL style vplan because of outloop reduction.
Mel-Chen fdaf774
Inherit VPReductionRecipe.
Mel-Chen 1ad4f50
Add virtual and override for getCondOp()
Mel-Chen 0b3e344
Private RecurrenceDescriptor and ordered bool.
Mel-Chen 192fcbb
Refine WidenInduction check.
Mel-Chen 9abd2e1
Rename IncludeWidenInduction to ContainsWidenInductions
Mel-Chen ea173fb
Rename IncludeOutloopReduction to ContainsOutLoopReductions
Mel-Chen 7329881
Rebase and update test cases.
Mel-Chen 3b32a4e
Remove the check for the number of definations
Mel-Chen b0b5009
Replace the #definition check with isa<>.
Mel-Chen 0f28142
Fix the bug from unit tests.
Mel-Chen f98d740
Refine vectorBuilder
Mel-Chen e3960ac
Rebase and update test cases.
Mel-Chen c85020f
Remove lambda
Mel-Chen 20f6383
Manually implement classof of VPReductionRecipe.
Mel-Chen 35bf9d0
Add isConditional for VPreductionRecipe.
Mel-Chen 16eb2ab
Unify the format of file include.
Mel-Chen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a layering violation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for pointing out this issue. I opened #99276 to fix it. Please take a look, thanks a lot.