[all-commits] [llvm/llvm-project] 45ebe3: [X86][AVX] Pad small shuffle inputs in combineX86S...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Sun May 31 04:46:20 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 45ebe38ffc40bb7221fc587bfb4481cf7f53ebbc
https://github.com/llvm/llvm-project/commit/45ebe38ffc40bb7221fc587bfb4481cf7f53ebbc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2020-05-31 (Sun, 31 May 2020)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86][AVX] Pad small shuffle inputs in combineX86ShufflesRecursively
As detailed on PR45974 and D79987, getFauxShuffleMask is creating nodes on the fly to create shuffles with inputs the same size as the result, causing problems for hasOneUse() checks in later simplification stages.
Currently only combineX86ShufflesRecursively benefits from these widened inputs so I've begun moving the functionality there, and out of getFauxShuffleMask. This allows us to remove the widening from VBROADCAST and *EXTEND* faux shuffle cases.
This just leaves the INSERT_SUBVECTOR case in getFauxShuffleMask still creating nodes, which will require more extensive refactoring.
More information about the All-commits
mailing list