28 lines · cpp
1//===-- Pointer.cpp -- generate pointer runtime API calls------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include "flang/Optimizer/Builder/Runtime/Pointer.h"10#include "flang/Optimizer/Builder/FIRBuilder.h"11#include "flang/Optimizer/Builder/Runtime/RTBuilder.h"12#include "flang/Runtime/pointer.h"13 14using namespace Fortran::runtime;15 16void fir::runtime::genPointerAssociateScalar(fir::FirOpBuilder &builder,17 mlir::Location loc,18 mlir::Value desc,19 mlir::Value target) {20 mlir::func::FuncOp func{21 fir::runtime::getRuntimeFunc<mkRTKey(PointerAssociateScalar)>(loc,22 builder)};23 mlir::FunctionType fTy{func.getFunctionType()};24 llvm::SmallVector<mlir::Value> args{25 fir::runtime::createArguments(builder, loc, fTy, desc, target)};26 fir::CallOp::create(builder, loc, func, args);27}28