FLANG
LowLevelIntrinsics.h
1//===-- LowLevelIntrinsics.h ------------------------------------*- 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// Coding style: https://mlir.llvm.org/getting_started/DeveloperGuide/
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef FLANG_OPTIMIZER_BUILDER_LOWLEVELINTRINSICS_H
14#define FLANG_OPTIMIZER_BUILDER_LOWLEVELINTRINSICS_H
15
16namespace mlir {
17namespace func {
18class FuncOp;
19} // namespace func
20} // namespace mlir
21namespace fir {
22class FirOpBuilder;
23}
24
25namespace fir::factory {
26
28mlir::func::FuncOp getLlvmMemcpy(FirOpBuilder &builder);
29
31mlir::func::FuncOp getLlvmMemmove(FirOpBuilder &builder);
32
34mlir::func::FuncOp getLlvmMemset(FirOpBuilder &builder);
35
37mlir::func::FuncOp getRealloc(FirOpBuilder &builder);
38
40mlir::func::FuncOp getLlvmGetRounding(FirOpBuilder &builder);
41
43mlir::func::FuncOp getLlvmSetRounding(FirOpBuilder &builder);
44
46mlir::func::FuncOp getLlvmInitTrampoline(FirOpBuilder &builder);
47
49mlir::func::FuncOp getLlvmAdjustTrampoline(FirOpBuilder &builder);
50
52mlir::func::FuncOp getFeclearexcept(FirOpBuilder &builder);
53
55mlir::func::FuncOp getFedisableexcept(FirOpBuilder &builder);
56
58mlir::func::FuncOp getFeenableexcept(FirOpBuilder &builder);
59
61mlir::func::FuncOp getFegetexcept(FirOpBuilder &builder);
62
64mlir::func::FuncOp getFeraiseexcept(FirOpBuilder &builder);
65
67mlir::func::FuncOp getFetestexcept(FirOpBuilder &builder);
68
69} // namespace fir::factory
70
71#endif // FLANG_OPTIMIZER_BUILDER_LOWLEVELINTRINSICS_H
Definition: BoxValue.h:445
mlir::func::FuncOp getFeclearexcept(FirOpBuilder &builder)
Get the libm (fenv.h) feclearexcept function.
Definition: LowLevelIntrinsics.cpp:96
mlir::func::FuncOp getLlvmSetRounding(FirOpBuilder &builder)
Get the llvm.set.rounding intrinsic.
Definition: LowLevelIntrinsics.cpp:71
mlir::func::FuncOp getLlvmMemmove(FirOpBuilder &builder)
Get the LLVM intrinsic for memmove. Use the 64 bit version.
Definition: LowLevelIntrinsics.cpp:34
mlir::func::FuncOp getLlvmInitTrampoline(FirOpBuilder &builder)
Get the llvm.init.trampoline intrinsic.
Definition: LowLevelIntrinsics.cpp:80
mlir::func::FuncOp getFedisableexcept(FirOpBuilder &builder)
Get the libm (fenv.h) fedisableexcept function.
Definition: LowLevelIntrinsics.cpp:105
mlir::func::FuncOp getLlvmMemcpy(FirOpBuilder &builder)
Get the LLVM intrinsic for memcpy. Use the 64 bit version.
Definition: LowLevelIntrinsics.cpp:24
mlir::func::FuncOp getLlvmAdjustTrampoline(FirOpBuilder &builder)
Get the llvm.adjust.trampoline intrinsic.
Definition: LowLevelIntrinsics.cpp:89
mlir::func::FuncOp getFegetexcept(FirOpBuilder &builder)
Get the libm (fenv.h) fegetexcept function.
Definition: LowLevelIntrinsics.cpp:121
mlir::func::FuncOp getFeenableexcept(FirOpBuilder &builder)
Get the libm (fenv.h) feenableexcept function.
Definition: LowLevelIntrinsics.cpp:113
mlir::func::FuncOp getLlvmGetRounding(FirOpBuilder &builder)
Get the llvm.get.rounding intrinsic.
Definition: LowLevelIntrinsics.cpp:62
mlir::func::FuncOp getLlvmMemset(FirOpBuilder &builder)
Get the LLVM intrinsic for memset. Use the 64 bit version.
Definition: LowLevelIntrinsics.cpp:44
mlir::func::FuncOp getRealloc(FirOpBuilder &builder)
Get the C standard library realloc function.
Definition: LowLevelIntrinsics.cpp:54
mlir::func::FuncOp getFeraiseexcept(FirOpBuilder &builder)
Get the libm (fenv.h) feraiseexcept function.
Definition: LowLevelIntrinsics.cpp:128
mlir::func::FuncOp getFetestexcept(FirOpBuilder &builder)
Get the libm (fenv.h) fetestexcept function.
Definition: LowLevelIntrinsics.cpp:136
Definition: AbstractConverter.h:31
Definition: AbstractConverter.h:27