Skip to content
  • Dorit Nuzman's avatar
    [IAI,LV] Add support for vectorizing predicated strided accesses using masked · 81743689
    Dorit Nuzman authored
    interleave-group
    
    The vectorizer currently does not attempt to create interleave-groups that
    contain predicated loads/stores; predicated strided accesses can currently be
    vectorized only using masked gather/scatter or scalarization. This patch makes
    predicated loads/stores candidates for forming interleave-groups during the
    Loop-Vectorizer's analysis, and adds the proper support for masked-interleave-
    groups to the Loop-Vectorizer's planning and transformation stages. The patch
    also extends the TTI API to allow querying the cost of masked interleave groups
    (which each target can control); Targets that support masked vector loads/
    stores may choose to enable this feature and allow vectorizing predicated
    strided loads/stores using masked wide loads/stores and shuffles.
    
    Reviewers: Ayal, hsaito, dcaballe, fhahn, javed.absar
    
    Reviewed By: Ayal
    
    Differential Revision: https://reviews.llvm.org/D53011
    
    llvm-svn: 344472
    81743689