[all-commits] [llvm/llvm-project] f7b104: [TLI] SimplifyMultipleUseDemandedBits - remove ins...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Mon Feb 6 01:55:33 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f7b10467b63f09ab74e67d4002b3e11601091882
https://github.com/llvm/llvm-project/commit/f7b10467b63f09ab74e67d4002b3e11601091882
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-02-06 (Mon, 06 Feb 2023)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
M llvm/test/CodeGen/X86/horizontal-sum.ll
M llvm/test/CodeGen/X86/oddshuffles.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
Log Message:
-----------
[TLI] SimplifyMultipleUseDemandedBits - remove insert_subvector(undef, x, 0) fold
SimplifyMultipleUseDemandedBits shouldn't be creating general nodes on the fly, it should mainly just peek through them (although we do currently allow creation of new bitcasts and constant folding).
This is mostly a win - by avoiding new nodes we avoid a lot of hasOneUse limitations inside x86 shuffle combining - the main regressions I've noticed are where we've ended up with multiple insert_subvector(undef, x, 0) nodes, widening x to different vector widths - that should hopefully be improved when we remove the last of the vector widening from combineX86ShufflesRecursively for Issue #45319
More information about the All-commits
mailing list