MLIR 23.0.0git
LLVMInterfaces.h
Go to the documentation of this file.
1//===- LLVMInterfaces.h - LLVM Interfaces -----------------------*- 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// This file defines op interfaces for the LLVM dialect in MLIR.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef MLIR_DIALECT_LLVMIR_LLVMINTERFACES_H_
14#define MLIR_DIALECT_LLVMIR_LLVMINTERFACES_H_
15
17
18#include <type_traits>
19
20namespace mlir {
21
23class RewriterBase;
24
25namespace LLVM {
26namespace detail {
27
28/// Verifies the access groups attribute of memory operations that implement the
29/// access group interface.
30LogicalResult verifyAccessGroupOpInterface(Operation *op);
31
32/// Verifies the alias analysis attributes of memory operations that implement
33/// the alias analysis interface.
34LogicalResult verifyAliasAnalysisOpInterface(Operation *op);
35
36/// Verifies that the operation implementing the dereferenceable interface has
37/// exactly one result of LLVM pointer type.
38LogicalResult verifyDereferenceableOpInterface(Operation *op);
39
40} // namespace detail
41} // namespace LLVM
42} // namespace mlir
43
44#include "mlir/Dialect/LLVMIR/LLVMInterfaces.h.inc"
45
46#endif // MLIR_DIALECT_LLVMIR_LLVMINTERFACES_H_
Conversion from types to the LLVM IR dialect.
This class coordinates the application of a rewrite on a set of IR, providing a way for clients to tr...
LogicalResult verifyAliasAnalysisOpInterface(Operation *op)
Verifies the alias analysis attributes of memory operations that implement the alias analysis interfa...
LogicalResult verifyAccessGroupOpInterface(Operation *op)
Verifies the access groups attribute of memory operations that implement the access group interface.
LogicalResult verifyDereferenceableOpInterface(Operation *op)
Verifies that the operation implementing the dereferenceable interface has exactly one result of LLVM...
Include the generated interface declarations.