[all-commits] [llvm/llvm-project] f4a368: [mlir:PassOptions] Fix parsing of nested option va...

River Riddle via All-commits all-commits at lists.llvm.org
Wed Jan 26 21:38:11 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f4a368689f34a8ae779e96097e4b18958f1659fa
      https://github.com/llvm/llvm-project/commit/f4a368689f34a8ae779e96097e4b18958f1659fa
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-01-26 (Wed, 26 Jan 2022)

  Changed paths:
    M mlir/lib/Pass/PassRegistry.cpp
    M mlir/test/Pass/pipeline-options-parsing.mlir

  Log Message:
  -----------
  [mlir:PassOptions] Fix parsing of nested option values/better handle escaping

The option parser currently does not properly handle nested options, meaning that
in some cases we can print pass pipelines that we can't actually parse back in. For example,
from #52885 we currently can't parse in inliner pipelines that have nested pipeline strings.

This commit adds handling for string values (e.g. "...") and nested options
(e.g. `foo{baz{bar=10 pizza=11}}`).

Fixes #52885

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


  Commit: e3cd80ea9f0ac0d04f537feb70d8f9a1c7875863
      https://github.com/llvm/llvm-project/commit/e3cd80ea9f0ac0d04f537feb70d8f9a1c7875863
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-01-26 (Wed, 26 Jan 2022)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/IR/FunctionInterfaces.h
    M mlir/include/mlir/IR/FunctionInterfaces.td
    M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/lib/IR/FunctionInterfaces.cpp
    M mlir/test/lib/IR/TestFunc.cpp

  Log Message:
  -----------
  [mlir:Function][NFC] Use BitVector instead of ArrayRef for indices when removing arguments/results

We already convert to BitVector internally, and other APIs (namely Operation::eraseOperands)
already use BitVector as well. Switching over provides a common format between
API and also reduces the amount of format conversions necessary.

Fixes #53325

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


  Commit: d10d49dce492a16dc5ed1ff53590b64b4dcfb1d9
      https://github.com/llvm/llvm-project/commit/d10d49dce492a16dc5ed1ff53590b64b4dcfb1d9
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-01-26 (Wed, 26 Jan 2022)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
    M mlir/include/mlir/IR/Block.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/IR/FunctionInterfaces.h
    M mlir/include/mlir/IR/FunctionInterfaces.td
    M mlir/include/mlir/IR/Operation.h
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/include/mlir/Support/LLVM.h
    M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
    M mlir/lib/IR/Block.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/lib/IR/FunctionInterfaces.cpp
    M mlir/lib/IR/OperationSupport.cpp
    M mlir/test/lib/IR/TestFunc.cpp
    M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp
    M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp
    M mlir/unittests/IR/OperationSupportTest.cpp

  Log Message:
  -----------
  [mlir][NFC] Add a using for llvm::BitVector to LLVM.h

BitVector is becoming widespread enough that we should add a proper using.

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


  Commit: 6842ec42f665f38bc744e3c576004bc1fd36ad9d
      https://github.com/llvm/llvm-project/commit/6842ec42f665f38bc744e3c576004bc1fd36ad9d
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-01-26 (Wed, 26 Jan 2022)

  Changed paths:
    M mlir/docs/Tutorials/Toy/Ch-7.md
    M mlir/examples/toy/Ch2/mlir/Dialect.cpp
    M mlir/examples/toy/Ch3/mlir/Dialect.cpp
    M mlir/examples/toy/Ch4/mlir/Dialect.cpp
    M mlir/examples/toy/Ch5/mlir/Dialect.cpp
    M mlir/examples/toy/Ch6/mlir/Dialect.cpp
    M mlir/examples/toy/Ch7/mlir/Dialect.cpp
    M mlir/include/mlir/IR/Diagnostics.h
    M mlir/include/mlir/IR/OpImplementation.h
    M mlir/include/mlir/Parser/AsmParserState.h
    M mlir/include/mlir/Support/LLVM.h
    M mlir/include/mlir/TableGen/AttrOrTypeDef.h
    M mlir/include/mlir/TableGen/Builder.h
    M mlir/include/mlir/TableGen/Operator.h
    M mlir/include/mlir/TableGen/Pattern.h
    M mlir/include/mlir/TableGen/Predicate.h
    M mlir/include/mlir/Tools/PDLL/AST/Diagnostic.h
    M mlir/include/mlir/Tools/PDLL/AST/Nodes.h
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/DLTI/DLTI.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/Transforms/SerializeToHsaco.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/PDL/IR/PDLTypes.cpp
    M mlir/lib/Dialect/Quant/IR/TypeParser.cpp
    M mlir/lib/Dialect/SCF/SCF.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
    M mlir/lib/Dialect/Vector/VectorOps.cpp
    M mlir/lib/ExecutionEngine/JitRunner.cpp
    M mlir/lib/IR/Diagnostics.cpp
    M mlir/lib/IR/FunctionImplementation.cpp
    M mlir/lib/IR/Operation.cpp
    M mlir/lib/Parser/AffineParser.cpp
    M mlir/lib/Parser/AsmParserImpl.h
    M mlir/lib/Parser/AsmParserState.cpp
    M mlir/lib/Parser/AttributeParser.cpp
    M mlir/lib/Parser/DialectSymbolParser.cpp
    M mlir/lib/Parser/Lexer.cpp
    M mlir/lib/Parser/Lexer.h
    M mlir/lib/Parser/Parser.cpp
    M mlir/lib/Parser/Parser.h
    M mlir/lib/Parser/ParserState.h
    M mlir/lib/Parser/Token.cpp
    M mlir/lib/Parser/Token.h
    M mlir/lib/Parser/TypeParser.cpp
    M mlir/lib/Pass/PassRegistry.cpp
    M mlir/lib/Support/MlirOptMain.cpp
    M mlir/lib/Support/ToolUtilities.cpp
    M mlir/lib/TableGen/AttrOrTypeDef.cpp
    M mlir/lib/TableGen/Builder.cpp
    M mlir/lib/TableGen/Operator.cpp
    M mlir/lib/TableGen/Predicate.cpp
    M mlir/lib/Tools/PDLL/AST/Nodes.cpp
    M mlir/lib/Tools/PDLL/Parser/Lexer.cpp
    M mlir/lib/Tools/PDLL/Parser/Lexer.h
    M mlir/lib/Tools/PDLL/Parser/Parser.cpp
    M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
    M mlir/lib/Translation/Translation.cpp
    M mlir/test/lib/Dialect/Test/TestDialect.cpp
    M mlir/tools/mlir-pdll/mlir-pdll.cpp
    M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
    M mlir/tools/mlir-tblgen/FormatGen.cpp
    M mlir/tools/mlir-tblgen/FormatGen.h
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp
    M mlir/tools/mlir-tblgen/RewriterGen.cpp
    M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp

  Log Message:
  -----------
  [mlir][NFC] Add a using for llvm::SMLoc/llvm::SMRange to LLVM.h

These are used pervasively during parsing.

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


Compare: https://github.com/llvm/llvm-project/compare/f3e1f44340dc...6842ec42f665


More information about the All-commits mailing list