brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 0fc13ca Raw
62 lines · plain
1// RUN: mlir-pdll %s -I %S -split-input-file -x mlir | FileCheck %s2 3//===----------------------------------------------------------------------===//4// EraseStmt5//===----------------------------------------------------------------------===//6 7// CHECK: pdl.pattern @EraseStmt8// CHECK: %[[OP:.*]] = operation9// CHECK: rewrite %[[OP]]10// CHECK:   erase %[[OP]]11Pattern EraseStmt => erase op<>;12 13// -----14 15// CHECK: pdl.pattern @EraseStmtNested16// CHECK: %[[OP:.*]] = operation17// CHECK: rewrite %[[OP]]18// CHECK:   erase %[[OP]]19Pattern EraseStmtNested => rewrite root: Op with { erase root; };20 21// -----22 23//===----------------------------------------------------------------------===//24// ReplaceStmt25//===----------------------------------------------------------------------===//26 27// CHECK: pdl.pattern @ReplaceStmt28// CHECK: %[[OPERANDS:.*]] = operands29// CHECK: %[[OP:.*]] = operation(%[[OPERANDS]]30// CHECK: rewrite %[[OP]]31// CHECK:   replace %[[OP]] with(%[[OPERANDS]] : !pdl.range<value>)32Pattern ReplaceStmt => replace op<>(operands: ValueRange) with operands;33 34// -----35 36// CHECK: pdl.pattern @ReplaceStmtNested37// CHECK: %[[OPERANDS:.*]] = operands38// CHECK: %[[OP:.*]] = operation(%[[OPERANDS]]39// CHECK: rewrite %[[OP]]40// CHECK:   replace %[[OP]] with(%[[OPERANDS]] : !pdl.range<value>)41Pattern ReplaceStmtNested {42  let root = op<>(operands: ValueRange);43  rewrite root with { replace root with operands; };44}45 46// -----47 48//===----------------------------------------------------------------------===//49// RewriteStmt50//===----------------------------------------------------------------------===//51 52// CHECK: pdl.pattern @RewriteStmtNested53// CHECK: %[[OP:.*]] = operation54// CHECK: rewrite %[[OP]]55// CHECK:   erase %[[OP]]56Pattern RewriteStmtNested {57  rewrite root: Op with {58    rewrite root with { erase root; };59  };60}61 62