[all-commits] [llvm/llvm-project] bbf4af: [X86][SSE] Remove XFormVExtractWithShuffleIntoLoad...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Tue Nov 19 04:02:07 PST 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: bbf4af3109d1958d69c3c1f2af78870207928f4b
https://github.com/llvm/llvm-project/commit/bbf4af3109d1958d69c3c1f2af78870207928f4b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2019-11-19 (Tue, 19 Nov 2019)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/2011-05-09-loaduse.ll
M llvm/test/CodeGen/X86/extractelement-load.ll
M llvm/test/CodeGen/X86/insertps-combine.ll
M llvm/test/CodeGen/X86/vec_extract.ll
Log Message:
-----------
[X86][SSE] Remove XFormVExtractWithShuffleIntoLoad to prevent legalization infinite loops (PR43971)
As detailed in PR43971/D70267, the use of XFormVExtractWithShuffleIntoLoad causes issues where we end up in infinite loops of extract(targetshuffle(vecload)) -> extract(shuffle(vecload)) -> extract(vecload) -> extract(targetshuffle(vecload)), there are just too many legalization checks at every stage that we can't guarantee that extract(shuffle(vecload)) -> scalarload can occur.
At the moment we see a number of minor regressions as we don't fold extract(shuffle(vecload)) -> scalarload before legal ops, these can be addressed in future patches and extension of X86ISelLowering's combineExtractWithShuffle.
More information about the All-commits
mailing list