clang 22.0.0git
CIRLoopOpInterface.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
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// Defines the interface to generically handle CIR loop operations.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef CLANG_CIR_INTERFACES_CIRLOOPOPINTERFACE_H
14#define CLANG_CIR_INTERFACES_CIRLOOPOPINTERFACE_H
15
16#include "llvm/ADT/APInt.h"
17#include "mlir/IR/BuiltinTypes.h"
18#include "mlir/IR/OpDefinition.h"
19#include "mlir/IR/Operation.h"
20#include "mlir/Interfaces/ControlFlowInterfaces.h"
21#include "mlir/Interfaces/LoopLikeInterface.h"
22
23using llvm::APInt;
24namespace cir {
25namespace detail {
26
27/// Verify invariants of the LoopOpInterface.
28mlir::LogicalResult verifyLoopOpInterface(::mlir::Operation *op);
29
30} // namespace detail
31} // namespace cir
32
33/// Include the tablegen'd interface declarations.
34#include "clang/CIR/Interfaces/CIRLoopOpInterface.h.inc"
35
36#endif // CLANG_CIR_INTERFACES_CIRLOOPOPINTERFACE_H
mlir::LogicalResult verifyLoopOpInterface(::mlir::Operation *op)
Verify invariants of the LoopOpInterface.