[all-commits] [llvm/llvm-project] df5ea6: [mlir] Don't include the attribute self type in a ...

River Riddle via All-commits all-commits at lists.llvm.org
Sat Nov 12 15:06:06 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: df5ea69105189e71b47aaa96a9060863c4101109
      https://github.com/llvm/llvm-project/commit/df5ea69105189e71b47aaa96a9060863c4101109
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-11-12 (Sat, 12 Nov 2022)

  Changed paths:
    M mlir/docs/AttributesAndTypes.md
    M mlir/test/lib/Dialect/Test/TestAttrDefs.td
    M mlir/test/mlir-tblgen/attr-or-type-format-roundtrip.mlir
    M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp

  Log Message:
  -----------
  [mlir] Don't include the attribute self type in a `params` directive

The self type is handled separately from normal parameters, and
the use of the params directive currently breaks attributes that
want to use it (e.g. in a struct directive).

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


  Commit: e50941b8d7bad9af091286afe45403b554824ce3
      https://github.com/llvm/llvm-project/commit/e50941b8d7bad9af091286afe45403b554824ce3
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-11-12 (Sat, 12 Nov 2022)

  Changed paths:
    M mlir/include/mlir/IR/SubElementInterfaces.h
    M mlir/include/mlir/IR/SubElementInterfaces.td
    M mlir/lib/IR/SubElementInterfaces.cpp
    M mlir/lib/IR/SymbolTable.cpp

  Log Message:
  -----------
  [mlir] Add a new AttrTypeReplacer class to simplify sub element replacements

We currently only have the SubElement interface API for attribute/type
replacement, but this suffers from several issues; namely that it doesn't
allow caching across multiple replacements (very common), and also
creates a somewhat awkward/limited API. The new AttrTypeReplacer class
allows for registering replacements using a much cleaner API, similarly to
the TypeConverter class, removes a lot of manual interaction with the
sub element interfaces, and also better enables large scale replacements.

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


  Commit: 46fab767882d48d2dd46a497baa3197bf9a98ab2
      https://github.com/llvm/llvm-project/commit/46fab767882d48d2dd46a497baa3197bf9a98ab2
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-11-12 (Sat, 12 Nov 2022)

  Changed paths:
    M llvm/include/llvm/Support/MemoryBuffer.h
    M llvm/lib/Support/MemoryBuffer.cpp
    M llvm/unittests/Support/MemoryBufferTest.cpp

  Log Message:
  -----------
  [MemoryBuffer] Allow optionally specifying desired buffer alignment

Underlying data may have requirements/expectations/etc. about
the run-time alignment. WritableMemoryBuffer currently uses
a 16 byte alignment, which works for many situations but not all.
Allowing a desired alignment makes it easier to reuse WritableMemoryBuffer
in situations of special alignment, and also removes a problem when
opening files with special alignment constraints. Large files generally
get mmaped, which has ~page alignment, but small files go through
WritableMemoryBuffer which has the much smaller alignment guarantee.

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


  Commit: 858a6ec3af29a6483f013cc382de7860c0f33351
      https://github.com/llvm/llvm-project/commit/858a6ec3af29a6483f013cc382de7860c0f33351
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-11-12 (Sat, 12 Nov 2022)

  Changed paths:
    M mlir/include/mlir/Support/FileUtilities.h
    M mlir/lib/Support/FileUtilities.cpp

  Log Message:
  -----------
  [mlir] Add openInputFile overload that accepts the expected alignment

This just forwards to the alignment parameter on `MemoryBuffer::getFileOrSTDIN`.


Compare: https://github.com/llvm/llvm-project/compare/01f924d0e37a...858a6ec3af29


More information about the All-commits mailing list