MLIR-AIE
1.4.5.dev
include
aie
Dialect
XLLVM
XLLVMDialect.h
Go to the documentation of this file.
1
/* Copyright (C) 2024 Advanced Micro Devices, Inc.
2
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception */
3
4
//===- XLLVMDialect.h - External LLVM (xllvm) dialect --------------C++ -*-===//
5
//
6
//===----------------------------------------------------------------------===//
7
//
8
// This file defines the XLLVM dialect, containing LLVM intrinsic operations
9
// for an external LLVM compiler.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef AIE_DIALECT_XLLVM_XLLVMDIALECT_H
14
#define AIE_DIALECT_XLLVM_XLLVMDIALECT_H
15
16
#include "mlir/Bytecode/BytecodeOpInterface.h"
17
#include "mlir/Dialect/LLVMIR/LLVMAttrs.h"
18
#include "mlir/Dialect/LLVMIR/LLVMInterfaces.h"
19
#include "mlir/Dialect/LLVMIR/LLVMTypes.h"
20
#include "mlir/IR/BuiltinOps.h"
21
#include "mlir/IR/Dialect.h"
22
#include "mlir/IR/OpDefinition.h"
23
#include "mlir/IR/OpImplementation.h"
24
#include "mlir/IR/TypeSupport.h"
25
#include "mlir/IR/Types.h"
26
#include "mlir/Interfaces/CallInterfaces.h"
27
#include "mlir/Interfaces/ControlFlowInterfaces.h"
28
#include "mlir/Interfaces/FunctionInterfaces.h"
29
#include "mlir/Interfaces/InferTypeOpInterface.h"
30
#include "mlir/Interfaces/SideEffectInterfaces.h"
31
#include "mlir/Support/ThreadLocalCache.h"
32
#include "mlir/Transforms/Mem2Reg.h"
33
#include "llvm/ADT/PointerEmbeddedInt.h"
34
#include "llvm/IR/DerivedTypes.h"
35
#include "llvm/IR/LLVMContext.h"
36
#include "llvm/IR/Module.h"
37
#include "llvm/IR/Type.h"
38
39
#define GET_OP_CLASSES
40
#include "aie/Dialect/XLLVM/IR/XLLVMOps.h.inc"
41
42
#include "aie/Dialect/XLLVM/IR/XLLVMDialect.h.inc"
43
44
namespace
llvm
{
45
46
class
CallInst;
47
class
IRBuilderBase;
48
class
StringRef;
49
50
}
// namespace llvm
51
52
namespace
mlir
{
53
54
class
Operation;
55
56
namespace
LLVM
{
57
class
ModuleTranslation;
58
}
// namespace LLVM
59
60
}
// namespace mlir
61
62
namespace
xilinx::xllvm
{
63
64
llvm::CallInst *
createExternalLLVMIntrinsicCall
(
65
llvm::IRBuilderBase &builder,
66
mlir::LLVM::ModuleTranslation &moduleTranslation, mlir::Operation *intrOp,
67
llvm::StringRef intrinsicName);
68
69
}
// namespace xilinx::xllvm
70
71
#endif
// AIE_DIALECT_XLLVM_XLLVMDIALECT_H
llvm
Definition
AIEDialect.h:570
mlir::LLVM
Definition
XLLVMDialect.h:56
mlir
Definition
AIEVecToLLVM.h:16
xilinx::xllvm
Definition
XLLVMDialect.h:62
xilinx::xllvm::createExternalLLVMIntrinsicCall
llvm::CallInst * createExternalLLVMIntrinsicCall(llvm::IRBuilderBase &builder, mlir::LLVM::ModuleTranslation &moduleTranslation, mlir::Operation *intrOp, llvm::StringRef intrinsicName)
Generated by
1.15.0