summaryrefslogtreecommitdiff
path: root/src/passes/TupleOptimization.cpp
Commit message (Collapse)AuthorAgeFilesLines
* TupleOptimization: Handle copies of different types in unreachable code (#5956)Alon Zakai2023-09-181-4/+12
|
* Add a simple tuple optimization pass (#5937)Alon Zakai2023-09-141-0/+359
In some cases tuples are obviously not needed, such as when they are only used in local operations and make/extract. Such tuples are not used as return values or in control flow structures, so we might as well lower them to individual locals per lane, which other passes can optimize a lot better. I believe LLVM does the same with its own tuples: it lowers them as much as possible, leaving only necessary ones. Fixes #5923