Skip to content
  1. Oct 27, 2020
    • River Riddle's avatar
      [mlir][NFC] Move around the code related to PatternRewriting to improve layering · b6eb26fd
      River Riddle authored
      There are several pieces of pattern rewriting infra in IR/ that really shouldn't be there. This revision moves those pieces to a better location such that they are easier to evolve in the future(e.g. with PDL). More concretely this revision does the following:
      
      * Create a Transforms/GreedyPatternRewriteDriver.h and move the apply*andFold methods there.
      The definitions for these methods are already in Transforms/ so it doesn't make sense for the declarations to be in IR.
      
      * Create a new lib/Rewrite library and move PatternApplicator there.
      This new library will be focused on applying rewrites, and will also include compiling rewrites with PDL.
      
      Differential Revision: https://reviews.llvm.org/D89103
      b6eb26fd
  2. Jul 09, 2020
    • Stella Laurenzo's avatar
      Initial boiler-plate for python bindings. · 722475a3
      Stella Laurenzo authored
      Summary:
      * Native '_mlir' extension module.
      * Python mlir/__init__.py trampoline module.
      * Lit test that checks a message.
      * Uses some cmake configurations that have worked for me in the past but likely needs further elaboration.
      
      Subscribers: mgorny, mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, stephenneuendorffer, Joonsoo, grosul1, Kayjukh, jurahul, msifontes
      
      Tags: #mlir
      
      Differential Revision: https://reviews.llvm.org/D83279
      722475a3
  3. Jul 08, 2020
    • Mauricio Sifontes's avatar
      Create the MLIR Reduce framework · ec04ce46
      Mauricio Sifontes authored
      Create the framework and testing environment for MLIR Reduce - a tool
      with the objective to reduce large test cases into smaller ones while
      preserving their interesting behavior.
      
      Implement the functionality to parse command line arguments, parse the
      MLIR test cases into modules and run the interestingness tests on
      the modules.
      
      Reviewed By: jpienaar
      
      Differential Revision: https://reviews.llvm.org/D82803
      ec04ce46
  4. Jul 07, 2020
  5. Apr 10, 2020
  6. Apr 07, 2020
    • Stella Laurenzo's avatar
      Remove FxpMathOps dialect and Quantizer tool. · f5deb087
      Stella Laurenzo authored
      Summary:
      * Removal of FxpMathOps was discussed on the mailing list.
      * Will send a courtesy note about also removing the Quantizer (which had some dependencies on FxpMathOps).
      * These were only ever used for experimental purposes and we know how to get them back from history as needed.
      * There is a new proposal for more generalized quantization tooling, so moving these older experiments out of the way helps clean things up.
      
      Subscribers: mgorny, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, grosul1, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D77479
      f5deb087
  7. Mar 10, 2020
  8. Aug 21, 2019
  9. Aug 20, 2019
  10. Aug 19, 2019
  11. Jul 25, 2019
  12. Jul 16, 2019
  13. Jun 20, 2019
    • Alex Zinenko's avatar
      Convert a nest affine loops to a GPU kernel · ee6f84ae
      Alex Zinenko authored
      This converts entire loops into threads/blocks.  No check on the size of the
      block or grid, or on the validity of parallelization is performed, it is under
      the responsibility of the caller to strip-mine the loops and to perform the
      dependence analysis before calling the conversion.
      
      PiperOrigin-RevId: 253189268
      ee6f84ae
  14. Jun 02, 2019
    • Lei Zhang's avatar
      [spirv] Start the SPIR-V dialect · fba1d50b
      Lei Zhang authored
          This CL sets up the basic structure for a SPIR-V dialect: operation
          definition specification, dialect registration, testing, etc.
          A single op, FMul, is defined and tested to showcase.
      
          The SPIR-V dialect aims to be a simple proxy for the SPIR-V binary format
          to enable straightforward and lightweight conversion from/to the binary
          format. Ops in this dialect should stay as the same semantic level and
          try to be a mechanical mapping to the corresponding SPIR-V instructions;
          but they can deviate representationally to allow using MLIR mechanisms.
      
      --
      
      PiperOrigin-RevId: 250040830
      fba1d50b
    • Alex Zinenko's avatar
      Move SDBM infrastructure into a new SDBM dialect · 6804cf24
      Alex Zinenko authored
          We now have sufficient extensibility in dialects to move attribute components
          such as SDBM out of the core IR into a dedicated dialect and make them
          optional.  Introduce an SDBM dialect and move the code.  This is a mostly
          non-functional change.
      
      --
      
      PiperOrigin-RevId: 249244802
      6804cf24
    • Stella Laurenzo's avatar
      Upstream the Quantizer tool (part 4). · 5065839d
      Stella Laurenzo authored
          This adds the basic passes needed and ties them into mlir-opt. Also adds two specific unit tests that exercise them.
      
          Next step is a standalone quantizer tool and additional cleanup.
          Tested:
            ninja check-mlir
      
      --
      
      PiperOrigin-RevId: 249167690
      5065839d
  15. May 20, 2019
    • Stella Laurenzo's avatar
      Move Quantization -> Dialect/QuantOps, FxpMathOps -> Dialect/FxpMathOps. · d4dcf7de
      Stella Laurenzo authored
          Adding the additional layer of directory was discussed offline and matches the Target/ tree. The names match the defacto convention we seem to be following where the C++ namespace is ^(.+)Ops/$ matched against the directory name.
      
          This is in preparation for patching the Quantizer into this tree, which would have been confusing without moving the Quantization dialect to its more proper home. It is left to others to move other dialects if desired.
      
          Tested:
            ninja check-mlir
      
      --
      
      PiperOrigin-RevId: 248171982
      d4dcf7de
  16. May 06, 2019
    • Alex Zinenko's avatar
      Start GPU Dialect · aae8a744
      Alex Zinenko authored
          Define a new dialect related to GPU kernels.  Currently, it only contains a
          single operation for launching a kernel on a three-dimensional grid of thread
          blocks, following a model similar to that of CUDA.  In particular, the body of
          the kernel contains operations executed by each thread and uses region
          arguments to accept thread and block identifiers (similar to how the loop body
          region accepts the induction value).
      
      --
      
      PiperOrigin-RevId: 245713728
      aae8a744
  17. Apr 18, 2019
    • Nicolas Vasilache's avatar
      Start a Linalg dialect · 8370cc74
      Nicolas Vasilache authored
          This CL starts implementing a Linalg dialect with the objective of supporting
          optimizing compilation of loops and library calls for a subset of common linear
          algebra operations.
      
          This CL starts by simply adding a linalg.range type and an operation with the
          proper roundtripping test.
      
      --
      
      PiperOrigin-RevId: 244189468
      8370cc74
  18. Apr 04, 2019
  19. Mar 30, 2019
Loading