mirror of
https://github.com/odin-lang/Odin.git
synced 2026-04-18 20:40:28 +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" ^
|
||||
/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 (
|
||||
goto end_of_build
|
||||
)
|
||||
|
||||
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