mirror of
https://github.com/Ed94/Odin.git
synced 2026-07-15 23:51:25 -07:00
Have different categories for optimization passes
This commit is contained in:
+461
-196
File diff suppressed because it is too large
Load Diff
@@ -164,8 +164,13 @@ struct lbTargetList {
|
||||
};
|
||||
|
||||
|
||||
enum lbProcedureFlag : u32 {
|
||||
lbProcedureFlag_WithoutMemcpyPass = 1<<0,
|
||||
};
|
||||
|
||||
struct lbProcedure {
|
||||
u32 flags;
|
||||
|
||||
lbProcedure *parent;
|
||||
Array<lbProcedure *> children;
|
||||
|
||||
|
||||
@@ -3190,6 +3190,14 @@ i64 type_offset_of_from_selection(Type *type, Selection sel) {
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
Type *get_struct_field_type(Type *t, isize index) {
|
||||
t = base_type(type_deref(t));
|
||||
GB_ASSERT(t->kind == Type_Struct);
|
||||
return t->Struct.fields[index]->type;
|
||||
}
|
||||
|
||||
|
||||
gbString write_type_to_string(gbString str, Type *type) {
|
||||
if (type == nullptr) {
|
||||
return gb_string_appendc(str, "<no type>");
|
||||
|
||||
Reference in New Issue
Block a user