33 lines
624 B
C
33 lines
624 B
C
![]() |
#ifndef TDL_INCLUDE_IR_CONTEXT_IMPL_H
|
||
|
#define TDL_INCLUDE_IR_CONTEXT_IMPL_H
|
||
|
|
||
|
#include <memory>
|
||
|
#include <map>
|
||
|
#include "ir/type.h"
|
||
|
|
||
|
namespace tdl{
|
||
|
namespace ir{
|
||
|
|
||
|
class context;
|
||
|
|
||
|
/* Context impl */
|
||
|
class context_impl {
|
||
|
public:
|
||
|
// constructors
|
||
|
context_impl(context &ctx);
|
||
|
|
||
|
public:
|
||
|
// primitive types
|
||
|
type void_ty, label_ty, half_ty, float_ty, double_ty;
|
||
|
// derived types
|
||
|
integer_type int1_ty, int8_ty, int16_ty, int32_ty, int64_ty, int128_ty;
|
||
|
// Pointer types
|
||
|
std::map<std::pair<type*, unsigned>, pointer_type*> ptr_tys;
|
||
|
std::map<std::pair<type*,std::vector<unsigned>>, tile_type*> tile_tys;
|
||
|
};
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#endif
|