[all-commits] [llvm/llvm-project] b7382e: [MLIR] Extend Symbol verification to reject public...

Rahul Joshi via All-commits all-commits at lists.llvm.org
Mon Nov 16 16:06:20 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: b7382ed3fea08da27530a6d6d53f168fc704e4c4
      https://github.com/llvm/llvm-project/commit/b7382ed3fea08da27530a6d6d53f168fc704e4c4
  Author: Rahul Joshi <jurahul at google.com>
  Date:   2020-11-16 (Mon, 16 Nov 2020)

  Changed paths:
    M mlir/docs/SymbolsAndSymbolTables.md
    M mlir/include/mlir/IR/Function.h
    M mlir/include/mlir/IR/SymbolInterfaces.td
    M mlir/integration_test/Dialect/Linalg/CPU/matmul-vs-matvec.mlir
    M mlir/integration_test/Dialect/Linalg/CPU/rank-reducing-subview.mlir
    M mlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-call.mlir
    M mlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-ncw-call.mlir
    M mlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-nwc-call.mlir
    M mlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-call.mlir
    M mlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-nchw-call.mlir
    M mlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-nhwc-call.mlir
    M mlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-call.mlir
    M mlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-ncdhw-call.mlir
    M mlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-ndhwc-call.mlir
    M mlir/integration_test/Dialect/Linalg/CPU/test-elementwise.mlir
    M mlir/integration_test/Dialect/Linalg/CPU/test-tensor-e2e.mlir
    M mlir/integration_test/Dialect/Linalg/CPU/test-tensor-matmul.mlir
    M mlir/integration_test/Dialect/Vector/CPU/test-transfer-to-loops.mlir
    M mlir/integration_test/Dialect/Vector/CPU/test-vector-distribute.mlir
    M mlir/integration_test/Sparse/CPU/matrix-market-example.mlir
    M mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
    M mlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
    M mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
    M mlir/test/Analysis/test-callgraph.mlir
    M mlir/test/Conversion/AffineToStandard/lower-affine.mlir
    M mlir/test/Conversion/SCFToStandard/convert-to-cfg.mlir
    M mlir/test/Conversion/StandardToLLVM/calling-convention.mlir
    M mlir/test/Conversion/StandardToLLVM/convert-funcs.mlir
    M mlir/test/Conversion/StandardToLLVM/convert-static-memref-ops.mlir
    M mlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir
    M mlir/test/Conversion/StandardToLLVM/invalid.mlir
    M mlir/test/Dialect/Affine/loop-unswitch.mlir
    M mlir/test/Dialect/Affine/simplify-affine-structures.mlir
    M mlir/test/Dialect/GPU/async-region.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/Linalg/bufferize.mlir
    M mlir/test/Dialect/SCF/canonicalize.mlir
    M mlir/test/Dialect/SPIRV/types.mlir
    M mlir/test/Dialect/Standard/func-bufferize.mlir
    M mlir/test/IR/affine-map.mlir
    M mlir/test/IR/core-ops.mlir
    M mlir/test/IR/invalid-func-op.mlir
    M mlir/test/IR/locations.mlir
    M mlir/test/IR/parser.mlir
    M mlir/test/IR/test-func-erase-result.mlir
    M mlir/test/IR/test-func-set-type.mlir
    M mlir/test/IR/test-symbol-rauw.mlir
    M mlir/test/IR/test-symbol-uses.mlir
    M mlir/test/IR/traits.mlir
    M mlir/test/Pass/dynamic-pipeline-fail-on-parent.mlir
    M mlir/test/Pass/dynamic-pipeline-nested.mlir
    M mlir/test/Transforms/buffer-results-to-out-params.mlir
    M mlir/test/Transforms/decompose-call-graph-types.mlir
    M mlir/test/Transforms/inlining.mlir
    M mlir/test/Transforms/normalize-memrefs.mlir
    M mlir/test/Transforms/sccp-callgraph.mlir
    M mlir/test/Transforms/sccp.mlir
    M mlir/test/Transforms/test-convert-call-op.mlir
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/Transforms/test-symbol-dce.mlir
    M mlir/test/mlir-cpu-runner/async-group.mlir
    M mlir/test/mlir-cpu-runner/async.mlir
    M mlir/test/mlir-cpu-runner/bare_ptr_call_conv.mlir
    M mlir/test/mlir-cpu-runner/global_memref.mlir
    M mlir/test/mlir-cpu-runner/memref_reinterpret_cast.mlir
    M mlir/test/mlir-cpu-runner/memref_reshape.mlir
    M mlir/test/mlir-cpu-runner/sgemm_naive_codegen.mlir
    M mlir/test/mlir-cpu-runner/unranked_memref.mlir
    M mlir/test/mlir-cpu-runner/utils.mlir
    M mlir/test/mlir-cuda-runner/all-reduce-and.mlir
    M mlir/test/mlir-cuda-runner/all-reduce-max.mlir
    M mlir/test/mlir-cuda-runner/all-reduce-min.mlir
    M mlir/test/mlir-cuda-runner/all-reduce-op.mlir
    M mlir/test/mlir-cuda-runner/all-reduce-or.mlir
    M mlir/test/mlir-cuda-runner/all-reduce-region.mlir
    M mlir/test/mlir-cuda-runner/all-reduce-xor.mlir
    M mlir/test/mlir-cuda-runner/gpu-to-cubin.mlir
    M mlir/test/mlir-cuda-runner/multiple-all-reduce.mlir
    M mlir/test/mlir-cuda-runner/shuffle.mlir
    M mlir/test/mlir-cuda-runner/two-modules.mlir
    M mlir/test/mlir-rocm-runner/gpu-to-hsaco.mlir
    M mlir/test/mlir-rocm-runner/vecadd.mlir
    M mlir/test/mlir-rocm-runner/vector-transferops.mlir
    M mlir/test/mlir-spirv-cpu-runner/double.mlir
    M mlir/test/mlir-spirv-cpu-runner/simple_add.mlir
    M mlir/test/mlir-vulkan-runner/addf.mlir
    M mlir/test/mlir-vulkan-runner/addi.mlir
    M mlir/test/mlir-vulkan-runner/addi8.mlir
    M mlir/test/mlir-vulkan-runner/mulf.mlir
    M mlir/test/mlir-vulkan-runner/subf.mlir
    M mlir/test/mlir-vulkan-runner/time.mlir
    M mlir/unittests/Pass/AnalysisManagerTest.cpp
    M mlir/unittests/Pass/PassManagerTest.cpp

  Log Message:
  -----------
  [MLIR] Extend Symbol verification to reject public symbol declarations.

- Extend the Symbol interface with `isDeclaration` to identify operations that declare
  a symbol as opposed to define it.
- Extend verification to disallow public declarations as per the discussion in
   https://llvm.discourse.group/t/rfc-symbol-definition-declaration-x-visibility-checks/2140
- Adopt the new interface for `FuncOp` and fix test and code to not have/create public
  function declarations.

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




More information about the All-commits mailing list