mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-15 04:00:56 +00:00
8066f22c46
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.
38 lines
1.1 KiB
MLIR
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}]]}
|