[all-commits] [llvm/llvm-project] 1f88e6: [SLP]Fix/improve minbitwidth mapping to use TreeEn...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Thu Nov 30 06:38:15 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1f88e62db40950d48ee83ea31281689c54016709
      https://github.com/llvm/llvm-project/commit/1f88e62db40950d48ee83ea31281689c54016709
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll

  Log Message:
  -----------
  [SLP]Fix/improve minbitwidth mapping to use TreeEntry as a key.

Currently, MinBWs map uses Value* as a key and stores mapping for each
value to be demoted. It make is it hard to get the actual MinBWs value
for the buildvector scalars(constants), since same constant might be
  used in different nodes with the different MinBWs values/decisions.
Also, it consumes extra memory for the vectorized values/instructions
 from the same nodes.
Better to map actual nodes. It fixes the bitwidth data fetching for
buildvector scalars and improves memory consumption/analysis time for
other instructions.




More information about the All-commits mailing list