diff options
author | Florian Hahn <flo@fhahn.com> | 2025-02-08 13:33:46 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-08 13:33:46 +0000 |
commit | 6ff8a06de9ce125023e117014ce4dca8fcc391d7 (patch) | |
tree | 5ac5350e9adda798e495430cfe3567254d5bd9c0 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | df2e8ee7ae349364967a1a2d09f17b249a38c04d (diff) | |
download | llvm-6ff8a06de9ce125023e117014ce4dca8fcc391d7.zip llvm-6ff8a06de9ce125023e117014ce4dca8fcc391d7.tar.gz llvm-6ff8a06de9ce125023e117014ce4dca8fcc391d7.tar.bz2 |
[VPlan] Run recipe removal and simplification after optimizeForVFAndUF. (#125926)
Run recipe simplification and dead recipe removal after VPlan-based
unrolling and optimizeForVFAndUF, to clean up any redundant or dead
recipes introduced by them. Currently this is NFC, as it removes the
corresponding removeDeadRecipes run in optimizeForVFAndUF and no
additional simplifications kick in after unrolling yet. That is changing
with https://github.com/llvm/llvm-project/pull/123655.
Note that with this change, pattern-matching is now applied after
EVL-based recipes have been introduced.
Trying to match VPWidenEVLRecipe when not explicitly requested might
apply a pattern with 2 operands to one with 3 due to the extra EVL
operand and VPWidenEVLRecipe being a subclass of VPWidenRecipe.
To prevent this, update Recipe_match::match to only match
VPWidenEVLRecipe if it is in the requested recipe types (RecipeTy).
PR: https://github.com/llvm/llvm-project/pull/125926
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions