blob: 33e21bab0d51b5fdbcad3726a90cf983ab4cc841 [file] [edit]
// RUN: mlir-opt %s -split-input-file --verify-roundtrip | FileCheck %s
// CHECK: llvm.mlir.ifunc external @ifunc : !llvm.func<f32 (i64)>, !llvm.ptr @resolver
llvm.mlir.ifunc @ifunc : !llvm.func<f32 (i64)>, !llvm.ptr @resolver
llvm.func @resolver() -> !llvm.ptr {
%0 = llvm.mlir.constant(333 : i64) : i64
%1 = llvm.inttoptr %0 : i64 to !llvm.ptr
llvm.return %1 : !llvm.ptr
}
// -----
// CHECK: llvm.mlir.ifunc linkonce_odr hidden @ifunc : !llvm.func<f32 (i64)>, !llvm.ptr @resolver {dso_local}
llvm.mlir.ifunc linkonce_odr hidden @ifunc : !llvm.func<f32 (i64)>, !llvm.ptr @resolver {dso_local}
llvm.func @resolver() -> !llvm.ptr {
%0 = llvm.mlir.constant(333 : i64) : i64
%1 = llvm.inttoptr %0 : i64 to !llvm.ptr
llvm.return %1 : !llvm.ptr
}
// -----
// CHECK: llvm.mlir.ifunc private @ifunc : !llvm.func<f32 (i64)>, !llvm.ptr @resolver {dso_local}
llvm.mlir.ifunc private @ifunc : !llvm.func<f32 (i64)>, !llvm.ptr @resolver {dso_local}
llvm.func @resolver() -> !llvm.ptr {
%0 = llvm.mlir.constant(333 : i64) : i64
%1 = llvm.inttoptr %0 : i64 to !llvm.ptr
llvm.return %1 : !llvm.ptr
}
// -----
// CHECK: llvm.mlir.ifunc weak @ifunc : !llvm.func<f32 (i64)>, !llvm.ptr @resolver
llvm.mlir.ifunc weak @ifunc : !llvm.func<f32 (i64)>, !llvm.ptr @resolver
llvm.func @resolver() -> !llvm.ptr {
%0 = llvm.mlir.constant(333 : i64) : i64
%1 = llvm.inttoptr %0 : i64 to !llvm.ptr
llvm.return %1 : !llvm.ptr
}