[PATCH] D73555: [SVE] Fix bug in simplification of scalable vector instructions
    Simon Pilgrim via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Mon Feb  3 13:24:11 PST 2020
    
    
  
RKSimon added inline comments.
================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:169
                                    APInt &DemandedLHS, APInt &DemandedRHS) {
+  // The length of scalable vectors is unknown at compile time, thus we
+  // cannot check their values
----------------
ctetreau wrote:
> RKSimon wrote:
> > ctetreau wrote:
> > > @RKSimon This is the new code added. It modifies your recent patch, so I figured you'd like to review it.
> > Would it be viable to set all DemandedLHS/DemandedRHS instead so we can still handle all element cases?
> The problem is that for scalable vectors, we don't know how many elements there are. For a scalable vector, getVectorNumElements() returns the minimum number of elements there can be. If we have <vscale x 4 x i32>, it will return 4, which is the number of elements that would be in the vector if vscale = 1. But the value of vscale isn't known until runtime, so this doesn't really help us.
OK, it's a shame we can't do anything in this case. No more comments.
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73555/new/
https://reviews.llvm.org/D73555
    
    
More information about the llvm-commits
mailing list