From 65551ba8fb862a9caef97b3c84b17baa7715bbb6 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Thu, 22 Apr 2021 00:04:47 +0100 Subject: Add `optimization_mode` attribute for procedures Allowed modes: "none", "minimal", "size", "speed" Currently: none == minimal and size == speed --- src/entity.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/entity.cpp') 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 entities; -- cgit v1.2.3