1#ifndef PROTEUS_FRONTEND_TYPEMAP_HPP
2#define PROTEUS_FRONTEND_TYPEMAP_HPP
4#include <llvm/IR/DerivedTypes.h>
5#include <llvm/IR/LLVMContext.h>
6#include <llvm/IR/Type.h>
16 static Type *
get(llvm::LLVMContext &Ctx) {
return Type::getVoidTy(Ctx); }
22 static Type *
get(llvm::LLVMContext &Ctx) {
return Type::getFloatTy(Ctx); }
28 static Type *
get(llvm::LLVMContext &Ctx) {
return Type::getDoubleTy(Ctx); }
34 static Type *
get(llvm::LLVMContext &Ctx) {
return Type::getInt64Ty(Ctx); }
40 static Type *
get(llvm::LLVMContext &Ctx) {
return Type::getInt32Ty(Ctx); }
48 static Type *
get(llvm::LLVMContext &Ctx) {
return Type::getInt32Ty(Ctx); }
56 static Type *
get(llvm::LLVMContext &Ctx) {
57 return PointerType::getUnqual(Ctx);
61 return Type::getInt32Ty(Ctx);
65template <>
struct TypeMap<unsigned int *> {
66 static Type *
get(llvm::LLVMContext &Ctx) {
67 return PointerType::getUnqual(Ctx);
71 return Type::getInt32Ty(Ctx);
76 static Type *
get(llvm::LLVMContext &Ctx) {
return Type::getInt1Ty(Ctx); }
82 static Type *
get(llvm::LLVMContext &Ctx) {
83 return PointerType::getUnqual(Ctx);
87 return Type::getDoubleTy(Ctx);
92 static Type *
get(llvm::LLVMContext &Ctx) {
93 return PointerType::getUnqual(Ctx);
97 return Type::getDoubleTy(Ctx);
102 static Type *
get(llvm::LLVMContext &Ctx) {
103 return PointerType::getUnqual(Ctx);
107 return Type::getFloatTy(Ctx);
Definition CppJitModule.cpp:21
static Type * get(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:76
static Type * getPointerElemType(llvm::LLVMContext &)
Definition TypeMap.hpp:78
static Type * getPointerElemType(llvm::LLVMContext &)
Definition TypeMap.hpp:30
static Type * get(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:28
static Type * getPointerElemType(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:96
static Type * get(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:92
static Type * getPointerElemType(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:86
static Type * get(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:82
static Type * getPointerElemType(llvm::LLVMContext &)
Definition TypeMap.hpp:24
static Type * get(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:22
static Type * getPointerElemType(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:106
static Type * get(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:102
static bool isSigned()
Definition TypeMap.hpp:44
static Type * get(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:40
static Type * getPointerElemType(llvm::LLVMContext &)
Definition TypeMap.hpp:42
static Type * getPointerElemType(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:60
static Type * get(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:56
static Type * get(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:34
static Type * getPointerElemType(llvm::LLVMContext &)
Definition TypeMap.hpp:36
static Type * get(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:48
static Type * getPointerElemType(llvm::LLVMContext &)
Definition TypeMap.hpp:50
static bool isSigned()
Definition TypeMap.hpp:52
static Type * get(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:66
static Type * getPointerElemType(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:70
static Type * get(llvm::LLVMContext &Ctx)
Definition TypeMap.hpp:16
static Type * getPointerElemType(llvm::LLVMContext &)
Definition TypeMap.hpp:18
Definition TypeMap.hpp:13