Restart LLVM IR SSA generation

This is the third go and I'm going for it!
This commit is contained in:
gingerBill
2016-07-30 00:09:30 +01:00
parent 32ab8fcf99
commit 776dc0e8f1
20 changed files with 1843 additions and 507 deletions
+24 -13
View File
@@ -51,21 +51,32 @@ struct BasicType {
};
#define TYPE_KINDS \
TYPE_KIND(Invalid), \
TYPE_KIND(Basic), \
TYPE_KIND(Array), \
TYPE_KIND(Slice), \
TYPE_KIND(Structure), \
TYPE_KIND(Pointer), \
TYPE_KIND(Named), \
TYPE_KIND(Alias), \
TYPE_KIND(Tuple), \
TYPE_KIND(Procedure), \
TYPE_KIND(Count),
enum TypeKind {
Type_Invalid,
Type_Basic,
Type_Array,
Type_Slice,
Type_Structure,
Type_Pointer,
Type_Named,
Type_Alias,
Type_Tuple,
Type_Procedure,
Type_Count,
#define TYPE_KIND(k) GB_JOIN2(Type_, k)
TYPE_KINDS
#undef TYPE_KIND
};
String const type_strings[] = {
#define TYPE_KIND(k) {cast(u8 *)#k, gb_size_of(#k)-1}
TYPE_KINDS
#undef TYPE_KIND
};
struct Type {
TypeKind kind;
union {