FLANG
Allocatable.h
1//===-- Allocatable.h - generate Allocatable runtime API calls---*- C++ -*-===//
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-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef FORTRAN_OPTIMIZER_BUILDER_RUNTIME_ALLOCATABLE_H
10#define FORTRAN_OPTIMIZER_BUILDER_RUNTIME_ALLOCATABLE_H
11
12#include "mlir/IR/Value.h"
13
14namespace mlir {
15class Location;
16} // namespace mlir
17
18namespace fir {
19class FirOpBuilder;
20}
21
22namespace fir::runtime {
23
29mlir::Value genMoveAlloc(fir::FirOpBuilder &builder, mlir::Location loc,
30 mlir::Value to, mlir::Value from, mlir::Value hasStat,
31 mlir::Value errMsg);
32
38void genAllocatableApplyMold(fir::FirOpBuilder &builder, mlir::Location loc,
39 mlir::Value desc, mlir::Value mold, int rank);
40
44void genAllocatableSetBounds(fir::FirOpBuilder &builder, mlir::Location loc,
45 mlir::Value desc, mlir::Value dimIndex,
46 mlir::Value lowerBound, mlir::Value upperBound);
47
50void genAllocatableAllocate(fir::FirOpBuilder &builder, mlir::Location loc,
51 mlir::Value desc, mlir::Value hasStat = {},
52 mlir::Value errMsg = {});
53
54} // namespace fir::runtime
55#endif // FORTRAN_OPTIMIZER_BUILDER_RUNTIME_ALLOCATABLE_H
Definition: FIRBuilder.h:55
Definition: AbstractConverter.h:31
Definition: AbstractConverter.h:27