brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 0208b92 Raw
43 lines · plain
1// RUN: mlir-translate -mlir-to-cpp %s | FileCheck --match-full-lines %s2 3// CHECK: int32_t bar(int32_t [[V1:[^ ]*]]);4emitc.declare_func @bar5// CHECK:       int32_t bar(int32_t [[V1:[^ ]*]]) {6// CHECK-NEXT:      return [[V1]];7// CHECK-NEXT:  }8emitc.func @bar(%arg0: i32) -> i32 {9    emitc.return %arg0 : i3210}11 12 13// CHECK: static inline int32_t foo(int32_t [[V1:[^ ]*]]);14emitc.declare_func @foo15// CHECK: static inline int32_t foo(int32_t [[V1:[^ ]*]]) {16emitc.func @foo(%arg0: i32) -> i32 attributes {specifiers = ["static","inline"]} {17    emitc.return %arg0 : i3218}19 20 21// CHECK: void array_arg(int32_t [[V2:[^ ]*]][3]);22emitc.declare_func @array_arg23// CHECK: void array_arg(int32_t  [[V2:[^ ]*]][3]) {24emitc.func @array_arg(%arg0: !emitc.array<3xi32>) {25    emitc.return26}27 28// CHECK: int32_t foo1(int32_t [[V1:[^ ]*]]);29emitc.declare_func @foo130// CHECK: int32_t foo2(int32_t [[V1]]);31emitc.declare_func @foo232// CHECK: int32_t foo1(int32_t [[V1]]) {33emitc.func @foo1(%arg0: i32) -> i32 {34    // CHECK-NOT: int32_t [[V1]] = 0;35    %0 = "emitc.constant"() <{value = 0 : i32}> : () -> i3236    // CHECK: return [[V1]];37    emitc.return %arg0 : i3238}39// CHECK: int32_t foo2(int32_t [[V1]]) {40emitc.func @foo2(%arg0: i32) -> i32 {41    // CHECK: return [[V1]];42    emitc.return %arg0 : i3243}