41 lines · plain
1// RUN: mlir-opt %s -split-input-file --verify-roundtrip | FileCheck %s2 3// CHECK: llvm.mlir.ifunc external @ifunc : !llvm.func<f32 (i64)>, !llvm.ptr @resolver4llvm.mlir.ifunc @ifunc : !llvm.func<f32 (i64)>, !llvm.ptr @resolver5llvm.func @resolver() -> !llvm.ptr {6 %0 = llvm.mlir.constant(333 : i64) : i647 %1 = llvm.inttoptr %0 : i64 to !llvm.ptr8 llvm.return %1 : !llvm.ptr9}10 11// -----12 13// CHECK: llvm.mlir.ifunc linkonce_odr hidden @ifunc : !llvm.func<f32 (i64)>, !llvm.ptr @resolver {dso_local}14llvm.mlir.ifunc linkonce_odr hidden @ifunc : !llvm.func<f32 (i64)>, !llvm.ptr @resolver {dso_local}15llvm.func @resolver() -> !llvm.ptr {16 %0 = llvm.mlir.constant(333 : i64) : i6417 %1 = llvm.inttoptr %0 : i64 to !llvm.ptr18 llvm.return %1 : !llvm.ptr19}20 21// -----22 23// CHECK: llvm.mlir.ifunc private @ifunc : !llvm.func<f32 (i64)>, !llvm.ptr @resolver {dso_local}24llvm.mlir.ifunc private @ifunc : !llvm.func<f32 (i64)>, !llvm.ptr @resolver {dso_local}25llvm.func @resolver() -> !llvm.ptr {26 %0 = llvm.mlir.constant(333 : i64) : i6427 %1 = llvm.inttoptr %0 : i64 to !llvm.ptr28 llvm.return %1 : !llvm.ptr29}30 31// -----32 33// CHECK: llvm.mlir.ifunc weak @ifunc : !llvm.func<f32 (i64)>, !llvm.ptr @resolver34llvm.mlir.ifunc weak @ifunc : !llvm.func<f32 (i64)>, !llvm.ptr @resolver35llvm.func @resolver() -> !llvm.ptr {36 %0 = llvm.mlir.constant(333 : i64) : i6437 %1 = llvm.inttoptr %0 : i64 to !llvm.ptr38 llvm.return %1 : !llvm.ptr39}40 41