SuccessChanges

Summary

  1. [NFC] fix missing SectionName declaration (details)
  2. [mlir] Correct 2 places that result in corrupted conversion rollbacks (details)
  3. [LLD][COFF] Avoid std::vector resizes during type merging (details)
  4. [NFC] Use correct ssa.copy spelling when referring to the intrinsic (details)
  5. [mlir][sparse] add vectorization strategies to sparse compiler (details)
Commit 33a8466531e68698dc735a0a8dcb97eb41b35ba6 by wlei
[NFC] fix missing SectionName declaration
The file was modifiedllvm/tools/llvm-profgen/PseudoProbe.h
Commit 3bd620d4504915615b8368b20eb9e5c34f3fb779 by tpopp
[mlir] Correct 2 places that result in corrupted conversion rollbacks

This corrects the last 2 issues caught by tests when causing dialect
conversion rollbacks to occur.

Differential Revision: https://reviews.llvm.org/D94623
The file was modifiedmlir/lib/Transforms/Utils/DialectConversion.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
Commit e7a371f9fd0076c187f4cd1a9c7546867faeb19b by alexandre.ganea
[LLD][COFF] Avoid std::vector resizes during type merging

Consistently saves approx. 0.6 sec (out of 18 sec) on a large output (400 MB EXE, 2 GB PDB).

Differential Revision: https://reviews.llvm.org/D94555
The file was modifiedlld/COFF/DebugTypes.cpp
Commit bb72adcaee7db0877e1cecb29d414003bf19ce02 by jeroen.dobbelaere
[NFC] Use correct ssa.copy spelling when referring to the intrinsic

Split out from D91250. Fixes wrong ssa_copy naming.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D94310
The file was modifiedllvm/docs/LangRef.rst
Commit f4f158b2f89e16ee7068d6292d2d46457d6932bb by ajcbik
[mlir][sparse] add vectorization strategies to sparse compiler

Similar to the parallelization strategies, the vectorization strategies
provide control on what loops should be vectorize. Unlike the parallel
strategies, only innermost loops are considered, but including reductions,
with the control of vectorizing dense loops only or dense and sparse loops.

The vectorized loops are always controlled by a vector mask to avoid
overrunning the iterations, but subsequent vector operation folding removes
redundant masks and replaces the operations with more efficient counterparts.
Similarly, we will rely on subsequent loop optimizations to further optimize
masking, e.g. using an unconditional full vector loop and scalar cleanup loop.

The current strategy already demonstrates a nice interaction between the
sparse compiler and all prior optimizations that went into the vector dialect.

Ongoing discussion at:
https://llvm.discourse.group/t/mlir-support-for-sparse-tensors/2020/10

Reviewed By: penpornk

Differential Revision: https://reviews.llvm.org/D94551
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was addedmlir/test/Dialect/Linalg/sparse_vector.mlir
The file was modifiedmlir/test/lib/Transforms/TestSparsification.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Sparsification.cpp