FLANG
Inquiry.h
1//===-- Inquiry.h - generate inquiry 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_INQUIRY_H
10#define FORTRAN_OPTIMIZER_BUILDER_RUNTIME_INQUIRY_H
11
12namespace mlir {
13class Value;
14class Location;
15} // namespace mlir
16
17namespace fir {
18class FirOpBuilder;
19}
20
21namespace fir::runtime {
22
24mlir::Value genLboundDim(fir::FirOpBuilder &builder, mlir::Location loc,
25 mlir::Value array, mlir::Value dim);
26
28void genLbound(fir::FirOpBuilder &builder, mlir::Location loc,
29 mlir::Value resultAddr, mlir::Value arrayt, mlir::Value kind);
30
34void genUbound(fir::FirOpBuilder &builder, mlir::Location loc,
35 mlir::Value resultBox, mlir::Value array, mlir::Value kind);
36
40void genShape(fir::FirOpBuilder &builder, mlir::Location loc,
41 mlir::Value resultAddr, mlir::Value arrayt, mlir::Value kind);
42
45mlir::Value genSize(fir::FirOpBuilder &builder, mlir::Location loc,
46 mlir::Value array);
47
50mlir::Value genSizeDim(fir::FirOpBuilder &builder, mlir::Location loc,
51 mlir::Value array, mlir::Value dim);
52
54mlir::Value genIsContiguous(fir::FirOpBuilder &builder, mlir::Location loc,
55 mlir::Value array);
56
57} // namespace fir::runtime
58#endif // FORTRAN_OPTIMIZER_BUILDER_RUNTIME_INQUIRY_H
Definition: FIRBuilder.h:55
Definition: AbstractConverter.h:31
@ Value
Lower argument to a value. Mainly intended for scalar arguments.
Definition: AbstractConverter.h:27