FLANG
LoopAnnotation.h
1//===-- Lower/Support/LoopAnnotation.h -- loop annotation attrs -*- 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// Helpers to lower Fortran `!dir$` loop directives to LLVM LoopAnnotationAttr.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef FORTRAN_LOWER_SUPPORT_LOOPANNOTATION_H
14#define FORTRAN_LOWER_SUPPORT_LOOPANNOTATION_H
15
16#include "mlir/Dialect/LLVMIR/LLVMAttrs.h"
17#include "mlir/IR/BuiltinTypes.h"
18#include "llvm/ADT/ArrayRef.h"
19#include "llvm/ADT/SmallVector.h"
20#include <cstdint>
21#include <optional>
22#include <tuple>
23
24namespace Fortran {
25namespace parser {
27} // namespace parser
28
29namespace lower {
30
34mlir::LLVM::LoopAnnotationAttr genLoopAnnotationAttr(
35 mlir::MLIRContext *context,
36 llvm::ArrayRef<const Fortran::parser::CompilerDirective *> dirs);
37
38} // namespace lower
39} // namespace Fortran
40
41#endif // FORTRAN_LOWER_SUPPORT_LOOPANNOTATION_H
Definition ParserActions.h:24
mlir::LLVM::LoopAnnotationAttr genLoopAnnotationAttr(mlir::MLIRContext *context, llvm::ArrayRef< const Fortran::parser::CompilerDirective * > dirs)
Definition LoopAnnotation.cpp:81
Definition check-expression.h:19
Definition bit-population-count.h:20
Definition parse-tree.h:3432