MLIR 22.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
18namespace mlir {
19
21class RewriterBase;
22
23namespace LLVM {
24namespace detail {
25
26/// Verifies the access groups attribute of memory operations that implement the
27/// access group interface.
28LogicalResult verifyAccessGroupOpInterface(Operation *op);
29
30/// Verifies the alias analysis attributes of memory operations that implement
31/// the alias analysis interface.
32LogicalResult verifyAliasAnalysisOpInterface(Operation *op);
33
34/// Verifies that the operation implementing the dereferenceable interface has
35/// exactly one result of LLVM pointer type.
36LogicalResult verifyDereferenceableOpInterface(Operation *op);
37
38} // namespace detail
39} // namespace LLVM
40} // namespace mlir
41
42#include "mlir/Dialect/LLVMIR/LLVMInterfaces.h.inc"
43
44#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.