[PATCH] D79987: [DAG] SimplifyDemandedVectorElts Bug fix for rG7cb5a51f386d

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 1 02:05:48 PDT 2020


RKSimon added a comment.

In D79987#2065834 <https://reviews.llvm.org/D79987#2065834>, @yubing wrote:

> In D79987#2065821 <https://reviews.llvm.org/D79987#2065821>, @RKSimon wrote:
>
> > @yubing I think my fixes for PR45974 have addressed this now - please can you confirm?
>
>
> Yeah, I've seen that bugfix and it works for my testcase. Thanks, Simon~
>  Besides, I am wondering in why we call SimplifyMultipleUseDemandedBits behind SimplifyDemandedVectorElts for X86ISD::VBROADCAST in SimplifyDemandedVectorEltsForTargetNode. Is that also correct calling SimplifyMultipleUseDemandedBits before SimplifyDemandedVectorElts ?


SimplifyMultipleUseDemandedBits is very limited as it only deals with bypassing the immediate SDValue (despite its name it handles bits + elts demand masks). SimplifyDemandedBitsForTargetNode/SimplifyDemandedVectorElts are much more capable as they can keep recursing up the DAG looking for a simplification until they reach the maximum depth limit, so it much more likely it will find a simplification and SimplifyMultipleUseDemandedBits tends to be only for cleanup (as it can ignore most OneUse limitations).


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D79987/new/

https://reviews.llvm.org/D79987





More information about the llvm-commits mailing list