//===- Block.h - MLIR Block Class -------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file defines the Block class. // //===----------------------------------------------------------------------===// #ifndef MLIR_IR_BLOCK_H #define MLIR_IR_BLOCK_H #include "mlir/IR/BlockSupport.h" #include "mlir/IR/Visitors.h" namespace llvm { class BitVector; class raw_ostream; } // namespace llvm namespace mlir { class TypeRange; template <typename ValueRangeT> class ValueTypeRange; /// `Block` represents an ordered list of `Operation`s. class alignas(8) Block : public IRObjectWithUseList<BlockOperand>, public llvm::ilist_node_with_parent<Block, Region> { … }; raw_ostream &operator<<(raw_ostream &, Block &); } // namespace mlir #endif // MLIR_IR_BLOCK_H