diff options
| author | gingerBill <bill@gingerbill.org> | 2021-04-22 00:04:47 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-04-22 00:04:47 +0100 |
| commit | 65551ba8fb862a9caef97b3c84b17baa7715bbb6 (patch) | |
| tree | 633209b38e096e50172463c3aa7b67703ef3336c /src/entity.cpp | |
| parent | c7d92562c2d8a168687c4dbfc9c31e8797a2365d (diff) | |
Add `optimization_mode` attribute for procedures
Allowed modes: "none", "minimal", "size", "speed"
Currently: none == minimal and size == speed
Diffstat (limited to 'src/entity.cpp')
| -rw-r--r-- | src/entity.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/entity.cpp b/src/entity.cpp index 633576e25..d1f4c78e6 100644 --- a/src/entity.cpp +++ b/src/entity.cpp @@ -99,6 +99,14 @@ enum EntityConstantFlags : u32 { EntityConstantFlag_ImplicitEnumValue = 1<<0, }; +enum ProcedureOptimizationMode : u32 { + ProcedureOptimizationMode_Default, + ProcedureOptimizationMode_None, + ProcedureOptimizationMode_Minimal, + ProcedureOptimizationMode_Size, + ProcedureOptimizationMode_Speed, +}; + // An Entity is a named "thing" in the language struct Entity { EntityKind kind; @@ -165,6 +173,7 @@ struct Entity { DeferredProcedure deferred_procedure; bool is_foreign; bool is_export; + ProcedureOptimizationMode optimization_mode; } Procedure; struct { Array<Entity *> entities; |