[all-commits] [llvm/llvm-project] 1dfb9a: [mlir][sparse] LICM for SparseTensorReader::readCOO

wren romano via All-commits all-commits at lists.llvm.org
Fri Dec 2 11:13:52 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1dfb9a64f1f0fd24eefb19a2ed0b1ae3039db413
      https://github.com/llvm/llvm-project/commit/1dfb9a64f1f0fd24eefb19a2ed0b1ae3039db413
  Author: wren romano <2998727+wrengr at users.noreply.github.com>
  Date:   2022-12-02 (Fri, 02 Dec 2022)

  Changed paths:
    M mlir/include/mlir/ExecutionEngine/SparseTensor/File.h

  Log Message:
  -----------
  [mlir][sparse] LICM for SparseTensorReader::readCOO

This commit performs two related changes.  First we adjust `readCOOValue` to take the `IsPattern` bool as a template parameter rather than a function argument.  Second we factor `readCOOLoop` out from `readCOO`, and template it on `IsPattern` and `IsSymmetric`.  Together this moves all the assertions and header-dependent conditionals out of the main for-loop of `readCOO`.  The only remaining conditional is in the `IsSymmetric=true` variant: checking whether the element is on the diagonal or not (which cannot be lifted out of the loop).

Depends On D138363

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D138365




More information about the All-commits mailing list