mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
Have different categories for optimization passes
This commit is contained in:
@@ -49,7 +49,7 @@ del *.ilk > NUL 2> NUL
|
|||||||
|
|
||||||
cl %compiler_settings% "src\main.cpp" ^
|
cl %compiler_settings% "src\main.cpp" ^
|
||||||
/link %linker_settings% -OUT:%exe_name% ^
|
/link %linker_settings% -OUT:%exe_name% ^
|
||||||
&& odin run examples/demo/demo.odin -llvm-api
|
&& odin run examples/demo/demo.odin -llvm-api -keep-temp-files
|
||||||
if %errorlevel% neq 0 (
|
if %errorlevel% neq 0 (
|
||||||
goto end_of_build
|
goto end_of_build
|
||||||
)
|
)
|
||||||
|
|||||||
+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 {
|
struct lbProcedure {
|
||||||
|
u32 flags;
|
||||||
|
|
||||||
lbProcedure *parent;
|
lbProcedure *parent;
|
||||||
Array<lbProcedure *> children;
|
Array<lbProcedure *> children;
|
||||||
|
|
||||||
|
|||||||
@@ -3190,6 +3190,14 @@ i64 type_offset_of_from_selection(Type *type, Selection sel) {
|
|||||||
return offset;
|
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) {
|
gbString write_type_to_string(gbString str, Type *type) {
|
||||||
if (type == nullptr) {
|
if (type == nullptr) {
|
||||||
return gb_string_appendc(str, "<no type>");
|
return gb_string_appendc(str, "<no type>");
|
||||||
|
|||||||
Reference in New Issue
Block a user