[X86] SimplifyDemandedVectorEltsForTargetNode - remove identity target shuffles befor...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 29 Sep 2018 18:15:26 +0000 (18:15 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 29 Sep 2018 18:15:26 +0000 (18:15 +0000)
commita2efe82b8160e9e72b94899cdcee21c7a6ec3797
treed1f1cfea5ef792de431bad9dd2d71180af67da1e
parent845789e823c5a57bcd5b3a0284b3d51dfe9ec9d7
[X86] SimplifyDemandedVectorEltsForTargetNode - remove identity target shuffles before simplifying inputs

By removing demanded target shuffles that simplify to zero/undef/identity before simplifying its inputs we improve chances of further simplification, as only the immediate parent user of the combined is added back to the work list - this still doesn't help us if its passed through other ops though (bitcasts....).

llvm-svn: 343390
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/dagcombine-cse.ll
llvm/test/CodeGen/X86/oddshuffles.ll