[llvm] LV/EVL: strip TailFoldingStyle::DataWithoutLaneMask (PR #93303)

Sjoerd Meijer via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 10 06:39:24 PDT 2024


sjoerdmeijer wrote:

This wasn't entirely clear to me from a quick look:

> TailFoldingStyle::DataWithoutLaneMask in LoopVectorize, introduced by https://github.com/llvm/llvm-project/commit/413a66f33984a4d484ac1ff0ba7c0ac39ffa3095

I.e., it doesn't seem to be introduced there, but perhaps it is not that important where exactly this happened. 

This is right:

> SelectionDAG automatically detects if a target supports the @llvm.get.active.lane.mask intrinsic

And was in place almost from the start when get.active.lane.mask was introduced, so that's why I don't know exactly what this comment is about:

      /// FIXME: Can this kind be removed now that SelectionDAGBuilder expands the
      /// active.lane.mask intrinsic when it is not natively supported?
      DataWithoutLaneMask,

This tail folding style calculates the mask in a particular way:

      /// Same as Data, but avoids using the get.active.lane.mask intrinsic to
      /// calculate the mask and instead implements this with a
      /// splat/stepvector/cmp.

And that is not exactly the same as the lowering of get.active.lane.mask when it is not supported?

So what I am trying to say is that DataWithoutLaneMask seems like a valid use case, so why do we need to remove it?

https://github.com/llvm/llvm-project/pull/93303


More information about the llvm-commits mailing list