Skip to content
  1. May 28, 2020
  2. May 27, 2020
  3. May 26, 2020
    • Nicolas Vasilache's avatar
      [mlir][Vector] Add more vector.contract -> outerproduct lowerings and fix... · ba10daa8
      Nicolas Vasilache authored
      [mlir][Vector] Add more vector.contract -> outerproduct lowerings and fix vector.contract type inference.
      
      This revision expands the types of vector contractions that can be lowered to vector.outerproduct.
      All 8 permutation cases are support.
      The idiomatic manipulation of AffineMap written declaratively makes this straightforward.
      
      In the process a bug with the vector.contract verifier was uncovered.
      The vector shape verification part of the contract op is rewritten to use AffineMap composition.
      One bug in the vector `ops.mlir` test is fixed and a new case not yet captured is added
      to the vector`invalid.mlir` test.
      
      Differential Revision: https://reviews.llvm.org/D80393
      ba10daa8
    • Christian Sigg's avatar
      [MLIR] Helper class referencing MemRefType to unify runner implementations. · 222e0e58
      Christian Sigg authored
      Summary:
      Add DynamicMemRefType which can reference one of the statically ranked StridedMemRefType or a UnrankedMemRefType so that runner utils only need to be implemented once.
      
      There is definitely room for more clean up and unification, but I will keep that for follow-ups.
      
      Reviewers: nicolasvasilache
      
      Reviewed By: nicolasvasilache
      
      Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, stephenneuendorffer, Joonsoo, grosul1, frgossen, Kayjukh, jurahul, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D80513
      222e0e58
    • Nicolas Vasilache's avatar
      [mlir][Vector] Add vector contraction to outerproduct lowering · 9578a54f
      Nicolas Vasilache authored
      This revision adds the additional lowering and exposes the patterns at a finer granularity for better programmatic reuse. The unit test makes use of the finer grained pattern for simpler checks.
      
      As the ContractionOpLowering is exposed programmatically, cleanup opportunities appear and static class methods are turned into free functions with static visibility.
      
      Differential Revision: https://reviews.llvm.org/D80375
      9578a54f
  4. May 25, 2020
    • Benjamin Kramer's avatar
      Make mlir::Value's bool conversion operator explicit · a9b5edc5
      Benjamin Kramer authored
      This still allows `if (value)` while requiring an explicit cast when not
      in a boolean context. This means things like `std::set<Value>` will no
      longer compile.
      
      Differential Revision: https://reviews.llvm.org/D80497
      a9b5edc5
    • Jacques Pienaar's avatar
      [mlir] Expand operand adapter to take attributes · 4b8632e1
      Jacques Pienaar authored
      * Enables using with more variadic sized operands;
      * Generate convenience accessors for attributes;
        - The accessor are named the same as their name in ODS and returns attribute
          type (not convenience type) and no derived attributes.
      
      This is first step to changing adapter to support verifying argument
      constraints before the op is even created. This does not change the name of
      adaptor nor does it require it except for ops with variadic operands to keep this change smaller.
      
      Considered creating separate adapter but decided against that given operands also require attributes in general (and definitely for verification of operands and attributes).
      
      Differential Revision: https://reviews.llvm.org/D80420
      4b8632e1
  5. May 21, 2020
  6. May 20, 2020
Loading