// RUN: mlir-opt %s -split-input-file --verify-roundtrip | FileCheck %s // CHECK: llvm.mlir.ifunc external @ifunc : !llvm.func, !llvm.ptr @resolver llvm.mlir.ifunc @ifunc : !llvm.func, !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, !llvm.ptr @resolver {dso_local} llvm.mlir.ifunc linkonce_odr hidden @ifunc : !llvm.func, !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, !llvm.ptr @resolver {dso_local} llvm.mlir.ifunc private @ifunc : !llvm.func, !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, !llvm.ptr @resolver llvm.mlir.ifunc weak @ifunc : !llvm.func, !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 }