[all-commits] [llvm/llvm-project] 6403e1: [mlir] add a dynamic user-after-parent-freed trans...

ftynse via All-commits all-commits at lists.llvm.org
Fri Jun 10 04:05:49 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6403e1b12a61dd7dd2682916afdec6b0a8049c10
      https://github.com/llvm/llvm-project/commit/6403e1b12a61dd7dd2682916afdec6b0a8049c10
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2022-06-10 (Fri, 10 Jun 2022)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
    M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
    A mlir/test/Dialect/Transform/expensive-checks.mlir
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
    M mlir/test/lib/Dialect/Transform/TestTransformDialectInterpreter.cpp

  Log Message:
  -----------
  [mlir] add a dynamic user-after-parent-freed transform dialect check

In the transform dialect, a transform IR handle may be pointing to a payload IR
operation that is an ancestor of another payload IR operation pointed to by
another handle. If such a "parent" handle is consumed by a transformation, this
indicates that the associated operation is likely rewritten, which in turn
means that the "child" handle may now be associated with a dangling pointer or
a pointer to a different operation than originally. Add a handle invalidation
mechanism to guard against such situations by reporting errors at runtime.

Reviewed By: springerm

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




More information about the All-commits mailing list