diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-08-03 19:08:24 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-08-03 19:08:24 +0000 |
commit | 898f030f70411496ef9450fab7b4bb0da1eda33b (patch) | |
tree | 618951d7ff0c96a40f53b198b323a4854c3250ff /llvm/lib/Analysis/CodeMetrics.cpp | |
parent | 4031d9f80e67c4e36c233e1c390dabed994e9316 (diff) | |
download | llvm-898f030f70411496ef9450fab7b4bb0da1eda33b.zip llvm-898f030f70411496ef9450fab7b4bb0da1eda33b.tar.gz llvm-898f030f70411496ef9450fab7b4bb0da1eda33b.tar.bz2 |
[X86][SSE] Enable target shuffle combining to combine multiple shuffle inputs.
We currently only support combining target shuffles that consist of a single source input (plus elements known to be undef/zero).
This patch generalizes the recursive combining of the target shuffle to collect all the inputs, merging any duplicates along the way, into a full set of src ops and its shuffle mask.
We uncover a number of cases where we have failed to combine a unary shuffle because the input has been duplicated and separated during lowering.
This will allow us to combine to 2-input shuffles in a future patch.
Differential Revision: https://reviews.llvm.org/D22859
llvm-svn: 277631
Diffstat (limited to 'llvm/lib/Analysis/CodeMetrics.cpp')
0 files changed, 0 insertions, 0 deletions