CGRAOmp  0.1
Classes | Namespaces | Macros
CGRAOmpPass.hpp File Reference
#include "llvm/IR/PassManager.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Function.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/IR/Value.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/Support/Error.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Support/FormatVariadic.h"
#include "CGRAModel.hpp"
#include <system_error>

Go to the source code of this file.

Classes

class  CGRAOmp::ModelManager
 An interface for each LLVM pass to get the target CGRAModel. It can be obtained as an analysis result of ModelManagerPass. More...
 
class  CGRAOmp::ModelManagerPass
 Module Pass to give the ModuleManager. More...
 
class  CGRAOmp::ModelManagerFunctionProxy
 A proxy to access model manager from function passes. More...
 
class  CGRAOmp::ModelManagerLoopProxy
 A proxy to access model manager from loop passes. More...
 
class  CGRAOmp::OmpKernelInfo
 A set of information regarding OpenMP target kernel. More...
 
struct  CGRAOmp::OmpKernelInfo::OffloadMetadata_t
 
class  CGRAOmp::OmpKernelAnalysisPass
 A module pass to find functions annotated as OpenMP kernels. More...
 
class  CGRAOmp::OmpScheduleInfo
 Bundled values related to OpenMP statinc scheduling. More...
 
class  CGRAOmp::OmpStaticShecudleAnalysis
 A function pass to analyze OpenMP static scheduling. More...
 
class  CGRAOmp::RemoveScheduleRuntimePass
 

Namespaces

 CGRAOmp
 

Macros

#define OMP_STATIC_INIT_SCHED   2
 
#define OMP_STATIC_INIT_PLASTITER   3
 
#define OMP_STATIC_INIT_PLOWER   4
 
#define OMP_STATIC_INIT_PUPPER   5
 
#define OMP_STATIC_INIT_PSTRIDE   6
 
#define OMP_STATIC_INIT_INCR   7
 
#define OMP_STATIC_INIT_CHUNK   8
 
#define OMP_STATIC_INIT_OPERAND_N   (OMP_STATIC_INIT_CHUNK + 1)
 
#define KERNEL_INFO_PREFIX   ".omp_offloading.entry"
 
#define OFFLOADINFO_METADATA_NAME   "omp_offload.info"
 
#define OUTLINED_FUNC_NAME_FMT   "__omp_offloading_{0:x-}_{1:x-}_{2}_l{3:d}"
 
#define ADD_FUNC_PASS(P)   (createModuleToFunctionPassAdaptor(P))
 
#define ADD_LOOP_PASS(P)   (createModuleToFunctionPassAdaptor(createFunctionToLoopPassAdaptor(P)))
 

Macro Definition Documentation

◆ ADD_FUNC_PASS

#define ADD_FUNC_PASS (   P)    (createModuleToFunctionPassAdaptor(P))

◆ ADD_LOOP_PASS

#define ADD_LOOP_PASS (   P)    (createModuleToFunctionPassAdaptor(createFunctionToLoopPassAdaptor(P)))

◆ KERNEL_INFO_PREFIX

#define KERNEL_INFO_PREFIX   ".omp_offloading.entry"

◆ OFFLOADINFO_METADATA_NAME

#define OFFLOADINFO_METADATA_NAME   "omp_offload.info"

◆ OMP_STATIC_INIT_CHUNK

#define OMP_STATIC_INIT_CHUNK   8

◆ OMP_STATIC_INIT_INCR

#define OMP_STATIC_INIT_INCR   7

◆ OMP_STATIC_INIT_OPERAND_N

#define OMP_STATIC_INIT_OPERAND_N   (OMP_STATIC_INIT_CHUNK + 1)

◆ OMP_STATIC_INIT_PLASTITER

#define OMP_STATIC_INIT_PLASTITER   3

◆ OMP_STATIC_INIT_PLOWER

#define OMP_STATIC_INIT_PLOWER   4

◆ OMP_STATIC_INIT_PSTRIDE

#define OMP_STATIC_INIT_PSTRIDE   6

◆ OMP_STATIC_INIT_PUPPER

#define OMP_STATIC_INIT_PUPPER   5

◆ OMP_STATIC_INIT_SCHED

#define OMP_STATIC_INIT_SCHED   2

◆ OUTLINED_FUNC_NAME_FMT

#define OUTLINED_FUNC_NAME_FMT   "__omp_offloading_{0:x-}_{1:x-}_{2}_l{3:d}"