xref: /llvm-project/mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.h (revision edfefd7fc50b995c4dfd81d5f9db53c1a9e11580)
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 
16 #include "mlir/Dialect/LLVMIR/LLVMAttrs.h"
17 
18 namespace mlir {
19 namespace LLVM {
20 namespace detail {
21 
22 /// Verifies the access groups attribute of memory operations that implement the
23 /// access group interface.
24 LogicalResult verifyAccessGroupOpInterface(Operation *op);
25 
26 /// Verifies the alias analysis attributes of memory operations that implement
27 /// the alias analysis interface.
28 LogicalResult verifyAliasAnalysisOpInterface(Operation *op);
29 
30 } // namespace detail
31 } // namespace LLVM
32 } // namespace mlir
33 
34 #include "mlir/Dialect/LLVMIR/LLVMInterfaces.h.inc"
35 
36 #endif // MLIR_DIALECT_LLVMIR_LLVMINTERFACES_H_
37