brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · d619eef Raw
36 lines · plain
1// RUN: mlir-opt %s -test-greedy-patterns="max-iterations=1" \2// RUN:     -allow-unregistered-dialect --split-input-file | FileCheck %s3 4// CHECK-LABEL: func @add_to_worklist_after_inplace_update()5func.func @add_to_worklist_after_inplace_update() {6  // The following op is updated in-place and should be added back to the7  // worklist of the GreedyPatternRewriteDriver (regardless of the value of8  // config.max_iterations).9 10  // CHECK: "test.any_attr_of_i32_str"() <{attr = 3 : i32}> : () -> ()11  "test.any_attr_of_i32_str"() {attr = 0 : i32} : () -> ()12  return13}14 15// -----16 17// CHECK-LABEL: func @add_ancestors_to_worklist()18func.func @add_ancestors_to_worklist() {19       // CHECK: "foo.maybe_eligible_op"() {eligible} : () -> index20  // CHECK-NEXT: "test.one_region_op"()21  "test.one_region_op"() ({22    %0 = "foo.maybe_eligible_op" () : () -> (index)23    "foo.yield"(%0) : (index) -> ()24  }) {hoist_eligible_ops}: () -> ()25  return26}27 28// -----29 30// There are no patterns in this test that apply to "test.symbol". This test is31// to ensure that symbols are not getting removed due to being "trivially dead"32// as part of a greedy rewrite. Symbols are never trivially dead.33 34// CHECK: "test.symbol"() <{sym_name = "foo"}>35"test.symbol"() <{sym_name = "foo"}> : () -> ()36