Changeset View
Changeset View
Standalone View
Standalone View
mlir/test/IR/visitors.mlir
Show All 12 Lines | scf.for %i = %c1 to %c10 step %c1 { | ||||
%cond = "use0"(%i) : (index) -> (i1) | %cond = "use0"(%i) : (index) -> (i1) | ||||
scf.if %cond { | scf.if %cond { | ||||
"use1"(%i) : (index) -> () | "use1"(%i) : (index) -> () | ||||
} else { | } else { | ||||
"use2"(%i) : (index) -> () | "use2"(%i) : (index) -> () | ||||
} | } | ||||
"use3"(%i) : (index) -> () | "use3"(%i) : (index) -> () | ||||
} | } | ||||
"dummy"(%c0) ({ | |||||
"dummy"() : () -> () | |||||
}) : (index) -> () | |||||
return | return | ||||
} | } | ||||
// CHECK-LABEL: Op pre-order visit | // CHECK-LABEL: Op pre-order visits | ||||
// CHECK: Visiting op 'builtin.module' | // CHECK: Visiting op 'builtin.module' | ||||
// CHECK: Visiting op 'builtin.func' | // CHECK: Visiting op 'builtin.func' | ||||
// CHECK: Visiting op 'scf.for' | // CHECK: Visiting op 'scf.for' | ||||
// CHECK: Visiting op 'use0' | // CHECK: Visiting op 'use0' | ||||
// CHECK: Visiting op 'scf.if' | // CHECK: Visiting op 'scf.if' | ||||
// CHECK: Visiting op 'use1' | // CHECK: Visiting op 'use1' | ||||
// CHECK: Visiting op 'use2' | // CHECK: Visiting op 'use2' | ||||
// CHECK: Visiting op 'use3' | // CHECK: Visiting op 'use3' | ||||
// CHECK: Visiting op 'std.return' | // CHECK: Visiting op 'std.return' | ||||
// CHECK-LABEL: Op name pre-order visits | |||||
// CHECK: Visiting op 'dummy' with 1 operand | |||||
// CHECK: Visiting op 'dummy' with 0 operand | |||||
// CHECK-LABEL: Block pre-order visits | // CHECK-LABEL: Block pre-order visits | ||||
// CHECK: Visiting block ^bb0 from region 0 from operation 'builtin.module' | // CHECK: Visiting block ^bb0 from region 0 from operation 'builtin.module' | ||||
// CHECK: Visiting block ^bb0 from region 0 from operation 'builtin.func' | // CHECK: Visiting block ^bb0 from region 0 from operation 'builtin.func' | ||||
// CHECK: Visiting block ^bb0 from region 0 from operation 'scf.for' | // CHECK: Visiting block ^bb0 from region 0 from operation 'scf.for' | ||||
// CHECK: Visiting block ^bb0 from region 0 from operation 'scf.if' | // CHECK: Visiting block ^bb0 from region 0 from operation 'scf.if' | ||||
// CHECK: Visiting block ^bb0 from region 1 from operation 'scf.if' | // CHECK: Visiting block ^bb0 from region 1 from operation 'scf.if' | ||||
// CHECK-LABEL: Region pre-order visits | // CHECK-LABEL: Region pre-order visits | ||||
Show All 9 Lines | |||||
// CHECK: Visiting op 'use2' | // CHECK: Visiting op 'use2' | ||||
// CHECK: Visiting op 'scf.if' | // CHECK: Visiting op 'scf.if' | ||||
// CHECK: Visiting op 'use3' | // CHECK: Visiting op 'use3' | ||||
// CHECK: Visiting op 'scf.for' | // CHECK: Visiting op 'scf.for' | ||||
// CHECK: Visiting op 'std.return' | // CHECK: Visiting op 'std.return' | ||||
// CHECK: Visiting op 'builtin.func' | // CHECK: Visiting op 'builtin.func' | ||||
// CHECK: Visiting op 'builtin.module' | // CHECK: Visiting op 'builtin.module' | ||||
// CHECK-LABEL: Op name post-order visits | |||||
// CHECK: Visiting op 'dummy' with 0 operand | |||||
// CHECK: Visiting op 'dummy' with 1 operand | |||||
// CHECK-LABEL: Block post-order visits | // CHECK-LABEL: Block post-order visits | ||||
// CHECK: Visiting block ^bb0 from region 0 from operation 'scf.if' | // CHECK: Visiting block ^bb0 from region 0 from operation 'scf.if' | ||||
// CHECK: Visiting block ^bb0 from region 1 from operation 'scf.if' | // CHECK: Visiting block ^bb0 from region 1 from operation 'scf.if' | ||||
// CHECK: Visiting block ^bb0 from region 0 from operation 'scf.for' | // CHECK: Visiting block ^bb0 from region 0 from operation 'scf.for' | ||||
// CHECK: Visiting block ^bb0 from region 0 from operation 'builtin.func' | // CHECK: Visiting block ^bb0 from region 0 from operation 'builtin.func' | ||||
// CHECK: Visiting block ^bb0 from region 0 from operation 'builtin.module' | // CHECK: Visiting block ^bb0 from region 0 from operation 'builtin.module' | ||||
// CHECK-LABEL: Region post-order visits | // CHECK-LABEL: Region post-order visits | ||||
// CHECK: Visiting region 0 from operation 'scf.if' | // CHECK: Visiting region 0 from operation 'scf.if' | ||||
// CHECK: Visiting region 1 from operation 'scf.if' | // CHECK: Visiting region 1 from operation 'scf.if' | ||||
// CHECK: Visiting region 0 from operation 'scf.for' | // CHECK: Visiting region 0 from operation 'scf.for' | ||||
// CHECK: Visiting region 0 from operation 'builtin.func' | // CHECK: Visiting region 0 from operation 'builtin.func' | ||||
// CHECK: Visiting region 0 from operation 'builtin.module' | // CHECK: Visiting region 0 from operation 'builtin.module' | ||||
// CHECK-LABEL: Op pre-order erasures | // CHECK-LABEL: Op pre-order erasures | ||||
// CHECK: Erasing op 'scf.for' | // CHECK: Erasing op 'scf.for' | ||||
// CHECK: Erasing op 'std.return' | // CHECK: Erasing op 'std.return' | ||||
// CHECK-LABEL: Op name pre-order erasures | |||||
// CHECK: Erasing op 'dummy' with 1 operand | |||||
// CHECK-NOT: Erasing op 'dummy' with 0 operand | |||||
// CHECK-LABEL: Block pre-order erasures | // CHECK-LABEL: Block pre-order erasures | ||||
// CHECK: Erasing block ^bb0 from region 0 from operation 'scf.for' | // CHECK: Erasing block ^bb0 from region 0 from operation 'scf.for' | ||||
// CHECK-LABEL: Op post-order erasures (skip) | // CHECK-LABEL: Op post-order erasures (skip) | ||||
// CHECK: Erasing op 'use0' | // CHECK: Erasing op 'use0' | ||||
// CHECK: Erasing op 'use1' | // CHECK: Erasing op 'use1' | ||||
// CHECK: Erasing op 'use2' | // CHECK: Erasing op 'use2' | ||||
// CHECK: Erasing op 'scf.if' | // CHECK: Erasing op 'scf.if' | ||||
// CHECK: Erasing op 'use3' | // CHECK: Erasing op 'use3' | ||||
// CHECK: Erasing op 'scf.for' | // CHECK: Erasing op 'scf.for' | ||||
// CHECK: Erasing op 'std.return' | // CHECK: Erasing op 'std.return' | ||||
// CHECK-LABEL: Op name post-order erasures (skip) | |||||
// CHECK: Erasing op 'dummy' with 0 operand | |||||
// CHECK: Erasing op 'dummy' with 1 operand | |||||
// CHECK-LABEL: Block post-order erasures (skip) | // CHECK-LABEL: Block post-order erasures (skip) | ||||
// CHECK: Erasing block ^bb0 from region 0 from operation 'scf.if' | // CHECK: Erasing block ^bb0 from region 0 from operation 'scf.if' | ||||
// CHECK: Erasing block ^bb0 from region 1 from operation 'scf.if' | // CHECK: Erasing block ^bb0 from region 1 from operation 'scf.if' | ||||
// CHECK: Erasing block ^bb0 from region 0 from operation 'scf.for' | // CHECK: Erasing block ^bb0 from region 0 from operation 'scf.for' | ||||
// CHECK-LABEL: Op post-order erasures (no skip) | // CHECK-LABEL: Op post-order erasures (no skip) | ||||
// CHECK: Erasing op 'use0' | // CHECK: Erasing op 'use0' | ||||
// CHECK: Erasing op 'use1' | // CHECK: Erasing op 'use1' | ||||
// CHECK: Erasing op 'use2' | // CHECK: Erasing op 'use2' | ||||
// CHECK: Erasing op 'scf.if' | // CHECK: Erasing op 'scf.if' | ||||
// CHECK: Erasing op 'use3' | // CHECK: Erasing op 'use3' | ||||
// CHECK: Erasing op 'scf.for' | // CHECK: Erasing op 'scf.for' | ||||
// CHECK: Erasing op 'std.return' | // CHECK: Erasing op 'std.return' | ||||
// CHECK: Erasing op 'builtin.func' | // CHECK: Erasing op 'builtin.func' | ||||
// CHECK: Erasing op 'builtin.module' | // CHECK: Erasing op 'builtin.module' | ||||
// CHECK-LABEL: Op name post-order erasures (no skip) | |||||
// CHECK: Erasing op 'dummy' with 0 operand | |||||
// CHECK: Erasing op 'dummy' with 1 operand | |||||
// CHECK-LABEL: Block post-order erasures (no skip) | // CHECK-LABEL: Block post-order erasures (no skip) | ||||
// CHECK: Erasing block ^bb0 from region 0 from operation 'scf.if' | // CHECK: Erasing block ^bb0 from region 0 from operation 'scf.if' | ||||
// CHECK: Erasing block ^bb0 from region 1 from operation 'scf.if' | // CHECK: Erasing block ^bb0 from region 1 from operation 'scf.if' | ||||
// CHECK: Erasing block ^bb0 from region 0 from operation 'scf.for' | // CHECK: Erasing block ^bb0 from region 0 from operation 'scf.for' | ||||
// CHECK: Erasing block ^bb0 from region 0 from operation 'builtin.func' | // CHECK: Erasing block ^bb0 from region 0 from operation 'builtin.func' | ||||
// CHECK: Erasing block ^bb0 from region 0 from operation 'builtin.module' | // CHECK: Erasing block ^bb0 from region 0 from operation 'builtin.module' | ||||
// ----- | // ----- | ||||
▲ Show 20 Lines • Show All 99 Lines • Show Last 20 Lines |