llvm-capstone/mlir/test/IR/test-func-insert-result.mlir
Fabian Schuiki 8066f22c46
[MLIR] Add argument insertion helpers for FunctionLike
Add helpers to facilitate adding arguments and results to operations
that implement the `FunctionLike` trait. These operations already have a
convenient argument and result *erasure* mechanism, but a corresopnding
utility for insertion is missing. This introduces such a utility.
2021-07-01 09:18:57 +02:00

38 lines
1.1 KiB
MLIR

// RUN: mlir-opt %s -test-func-insert-result -split-input-file | FileCheck %s
// CHECK: func private @f() -> (f32 {test.A})
func private @f() attributes {test.insert_results = [
[0, f32, {test.A}]]}
// -----
// CHECK: func private @f() -> (f32 {test.A}, f32 {test.B})
func private @f() -> (f32 {test.B}) attributes {test.insert_results = [
[0, f32, {test.A}]]}
// -----
// CHECK: func private @f() -> (f32 {test.A}, f32 {test.B})
func private @f() -> (f32 {test.A}) attributes {test.insert_results = [
[1, f32, {test.B}]]}
// -----
// CHECK: func private @f() -> (f32 {test.A}, f32 {test.B}, f32 {test.C})
func private @f() -> (f32 {test.A}, f32 {test.C}) attributes {test.insert_results = [
[1, f32, {test.B}]]}
// -----
// CHECK: func private @f() -> (f32 {test.A}, f32 {test.B}, f32 {test.C})
func private @f() -> (f32 {test.B}) attributes {test.insert_results = [
[0, f32, {test.A}],
[1, f32, {test.C}]]}
// -----
// CHECK: func private @f() -> (f32 {test.A}, f32 {test.B}, f32 {test.C})
func private @f() -> (f32 {test.C}) attributes {test.insert_results = [
[0, f32, {test.A}],
[0, f32, {test.B}]]}