MLIR-AIE
Classes | Namespaces | Macros | Functions
AIERT.h File Reference
#include "aie/Dialect/AIE/IR/AIEDialect.h"
#include "aie/Dialect/AIE/IR/AIEEnums.h"
#include "aie/Dialect/AIE/IR/AIETargetModel.h"
#include "xaiengine/xaiegbl_defs.h"
#include "xaiengine/xaie_txn.h"
#include "xaiengine/xaiegbl.h"
#include "llvm/Support/raw_ostream.h"
#include <map>
#include <optional>
#include <string>
+ Include dependency graph for AIERT.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  xilinx::AIE::AIERTControl
 

Namespaces

namespace  xilinx
 
namespace  xilinx::AIE
 Include the generated interface declarations.
 

Macros

#define AIERC_STR(x)   x, #x
 
#define SHOW_AIERT_ARGS(os, ...)   showAIEXRTArgs(os, #__VA_ARGS__, __VA_ARGS__)
 
#define TRY_XAIE_API_FATAL_ERROR(API, ...)
 
#define TRY_XAIE_API_EMIT_ERROR(OP, API, ...)
 
#define TRY_XAIE_API_LOGICAL_RESULT(API, ...)
 
#define XAIE_BASE_ADDR   0x40000000
 
#define XAIE_SHIM_ROW   0
 
#define XAIE_MEM_TILE_ROW_START   1
 
#define XAIE_PARTITION_BASE_ADDR   0x0
 
#define NPI_ADDR   0x0
 
#define NUM_LOCKS   16
 
#define EVEN_BD_NUM_START   0
 
#define ODD_BD_NUM_START   24
 

Functions

template<typename H1 >
llvm::raw_ostream & showAIEXRTArgs (llvm::raw_ostream &out, const char *label, H1 &&value)
 
template<typename H1 , typename... T>
llvm::raw_ostream & showAIEXRTArgs (llvm::raw_ostream &out, const char *label, H1 &&value, T &&...rest)
 
llvm::raw_ostream & operator<< (llvm::raw_ostream &os, const XAie_LocType &loc)
 
llvm::raw_ostream & operator<< (llvm::raw_ostream &os, const XAie_Lock &lock)
 
llvm::raw_ostream & operator<< (llvm::raw_ostream &os, const XAie_Packet &packet)
 

Macro Definition Documentation

◆ AIERC_STR

#define AIERC_STR (   x)    x, #x

Definition at line 31 of file AIERT.h.

◆ EVEN_BD_NUM_START

#define EVEN_BD_NUM_START   0

Definition at line 183 of file AIERT.h.

◆ NPI_ADDR

#define NPI_ADDR   0x0

Definition at line 181 of file AIERT.h.

◆ NUM_LOCKS

#define NUM_LOCKS   16

Definition at line 182 of file AIERT.h.

◆ ODD_BD_NUM_START

#define ODD_BD_NUM_START   24

Definition at line 184 of file AIERT.h.

◆ SHOW_AIERT_ARGS

#define SHOW_AIERT_ARGS (   os,
  ... 
)    showAIEXRTArgs(os, #__VA_ARGS__, __VA_ARGS__)

Definition at line 115 of file AIERT.h.

◆ TRY_XAIE_API_EMIT_ERROR

#define TRY_XAIE_API_EMIT_ERROR (   OP,
  API,
  ... 
)
Value:
do { \
LLVM_DEBUG(llvm::dbgs() << "trying XAIE API: " << #API << " with args: "); \
LLVM_DEBUG(SHOW_AIERT_ARGS(llvm::dbgs(), __VA_ARGS__)); \
LLVM_DEBUG(llvm::dbgs() << "\n"); \
if (auto r = API(__VA_ARGS__)) \
return OP.emitOpError() << #API " failed with " << AIERCTOSTR.at(r); \
} while (0)
#define SHOW_AIERT_ARGS(os,...)
Definition AIERT.h:115

Definition at line 131 of file AIERT.h.

◆ TRY_XAIE_API_FATAL_ERROR

#define TRY_XAIE_API_FATAL_ERROR (   API,
  ... 
)
Value:
do { \
LLVM_DEBUG(llvm::dbgs() << "trying XAIE API: " << #API << " with args: "); \
LLVM_DEBUG(SHOW_AIERT_ARGS(llvm::dbgs(), __VA_ARGS__)); \
LLVM_DEBUG(llvm::dbgs() << "\n"); \
if (auto r = API(__VA_ARGS__)) \
llvm::report_fatal_error(llvm::Twine(#API " failed with ") + \
AIERCTOSTR.at(r)); \
} while (0)

Definition at line 121 of file AIERT.h.

◆ TRY_XAIE_API_LOGICAL_RESULT

#define TRY_XAIE_API_LOGICAL_RESULT (   API,
  ... 
)
Value:
do { \
LLVM_DEBUG(llvm::dbgs() << "trying XAIE API: " << #API << " with args: "); \
LLVM_DEBUG(SHOW_AIERT_ARGS(llvm::dbgs(), __VA_ARGS__)); \
LLVM_DEBUG(llvm::dbgs() << "\n"); \
if (auto r = API(__VA_ARGS__)) { \
llvm::errs() << #API " failed with " << AIERCTOSTR.at(r); \
return failure(); \
} \
} while (0)

Definition at line 140 of file AIERT.h.

◆ XAIE_BASE_ADDR

#define XAIE_BASE_ADDR   0x40000000

Definition at line 176 of file AIERT.h.

◆ XAIE_MEM_TILE_ROW_START

#define XAIE_MEM_TILE_ROW_START   1

Definition at line 178 of file AIERT.h.

◆ XAIE_PARTITION_BASE_ADDR

#define XAIE_PARTITION_BASE_ADDR   0x0

Definition at line 179 of file AIERT.h.

◆ XAIE_SHIM_ROW

#define XAIE_SHIM_ROW   0

Definition at line 177 of file AIERT.h.

Function Documentation

◆ operator<<() [1/3]

llvm::raw_ostream & operator<< ( llvm::raw_ostream &  os,
const XAie_Lock &  lock 
)

Definition at line 42 of file AIERT.cpp.

◆ operator<<() [2/3]

llvm::raw_ostream & operator<< ( llvm::raw_ostream &  os,
const XAie_LocType &  loc 
)

Definition at line 36 of file AIERT.cpp.

◆ operator<<() [3/3]

llvm::raw_ostream & operator<< ( llvm::raw_ostream &  os,
const XAie_Packet &  packet 
)

Definition at line 48 of file AIERT.cpp.

◆ showAIEXRTArgs() [1/2]

template<typename H1 >
llvm::raw_ostream & showAIEXRTArgs ( llvm::raw_ostream &  out,
const char *  label,
H1 &&  value 
)

Definition at line 95 of file AIERT.h.

Referenced by showAIEXRTArgs().

◆ showAIEXRTArgs() [2/2]

template<typename H1 , typename... T>
llvm::raw_ostream & showAIEXRTArgs ( llvm::raw_ostream &  out,
const char *  label,
H1 &&  value,
T &&...  rest 
)

Definition at line 101 of file AIERT.h.

References showAIEXRTArgs().