aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gen_il-internals.ads
diff options
context:
space:
mode:
authorBob Duff <duff@adacore.com>2021-08-12 16:49:16 -0400
committerPierre-Marie de Rodat <derodat@adacore.com>2021-10-01 06:13:39 +0000
commit3f561db7ca1fba70a90c3ff9f7682b7841585258 (patch)
tree632c7498e7dd06afbfad5bc717c05f2a695f68b9 /gcc/ada/gen_il-internals.ads
parent3a81dbb618e3ac6cd42ac6f296a96296e099ac1f (diff)
downloadgcc-3f561db7ca1fba70a90c3ff9f7682b7841585258.zip
gcc-3f561db7ca1fba70a90c3ff9f7682b7841585258.tar.gz
gcc-3f561db7ca1fba70a90c3ff9f7682b7841585258.tar.bz2
[Ada] More work on efficiency improvements
gcc/ada/ * table.ads (Table_Type): Remove "aliased"; no longer needed by Atree. Besides it contradicted the comment a few lines above, "-- Note: We do not make the table components aliased...". * types.ads: Move type Slot to Atree. * atree.ads: Move type Slot fromt Types to here. Move type Node_Header from Seinfo to here. * atree.adb: Avoid the need for aliased components of the Slots table. Instead of 'Access, use a getter and setter. Misc cleanups. (Print_Statistics): Print statistics about node and entity kind frequencies. Give 3 digit fractions instead of percentages. * (Get_Original_Node_Count, Set_Original_Node_Count): Statistics for calls to Original_Node and Set_Original_Node. (Original_Node, Set_Original_Node): Gather statistics by calling the above. (Print_Field_Statistics): Print Original_Node statistics. (Update_Kind_Statistics): Remove, and put all statistics gathering under "if Atree_Statistics_Enabled", which is a flag generated in Seinfo by Gen_IL. * gen_il-gen.adb (Compute_Field_Offsets): Choose offsets of Nkind, Ekind, and Homonym first. This causes a slight efficiency improvement. Misc cleanups. Do not generate Node_Header; it is now hand-written in Atree. When choosing the order in which to assign offsets, weight by the frequency of the node type, so the more common nodes get their field offsets assigned earlier. Add more special cases. (Compute_Type_Sizes): Remove this and related things. There was a comment: "At some point we can instrument Atree to print out accurate size statistics, and remove this code." We have Atree statistics, so we now remove this code. (Put_Seinfo): Generate Atree_Statistics_Enabled, which is equal to Statistics_Enabled. This allows Atree to say "if Atree_Statistics_Enabled then <gather statistics>" for efficiency. When Atree_Statistics_Enabled is False, the "if ..." will be optimized away. * gen_il-internals.ads (Type_Frequency): New table of kind frequencies. * gen_il-internals.adb: Minor comment improvement. * gen_il-fields.ads: Remove unused subtypes. Suppress style checks in the Type_Frequency table. If we regenerate this table (see -gnatd.A) we don't want to have to fiddle with casing. * impunit.adb: Minor. * sinfo-utils.adb: Minor. * debug.adb: Minor comment improvement.
Diffstat (limited to 'gcc/ada/gen_il-internals.ads')
-rw-r--r--gcc/ada/gen_il-internals.ads340
1 files changed, 340 insertions, 0 deletions
diff --git a/gcc/ada/gen_il-internals.ads b/gcc/ada/gen_il-internals.ads
index 11a9912..a811e0b4 100644
--- a/gcc/ada/gen_il-internals.ads
+++ b/gcc/ada/gen_il-internals.ads
@@ -277,4 +277,344 @@ package Gen_IL.Internals is
-- Return "Node" or "Entity" depending on whether Root = Node_Kind or
-- Entity_Kind.
+ pragma Style_Checks (Off);
+ -- We don't want warnings about wrong casing in the Type_Frequency table;
+ -- this table is not intended to be particularly readable.
+
+ -- The Type_Frequency table shows the frequency of nodes and entity kinds
+ -- printed by -gnatd.A for a large example. It is used in the field offset
+ -- computations for efficiency. Note that N_Defining_Identifier,
+ -- N_Defining_Operator_Symbol, and N_Defining_Character_Literal are set to
+ -- zero, because the Ekind is what matters for those.
+
+ Type_Frequency : constant array (Concrete_Type) of Type_Count :=
+ (N_Identifier => 3496964, -- (0.354) 7 slots
+ N_Defining_Identifier => 0, -- 1468484, -- (0.149) 8 slots
+ N_Integer_Literal => 455415, -- (0.046) 6 slots
+ E_In_Parameter => 391008, -- (0.040) 42 slots
+ N_Attribute_Reference => 330825, -- (0.033) 9 slots
+ N_Expanded_Name => 329509, -- (0.033) 8 slots
+ N_Selected_Component => 328862, -- (0.033) 8 slots
+ N_Parameter_Specification => 321313, -- (0.033) 7 slots
+ E_Void => 173019, -- (0.018) 59 slots
+ N_Explicit_Dereference => 155113, -- (0.016) 8 slots
+ N_Procedure_Call_Statement => 125403, -- (0.013) 8 slots
+ N_Object_Declaration => 115610, -- (0.012) 8 slots
+ E_Component => 108208, -- (0.011) 49 slots
+ N_Procedure_Specification => 106277, -- (0.011) 7 slots
+ E_Procedure => 104063, -- (0.011) 62 slots
+ N_Unchecked_Type_Conversion => 94477, -- (0.010) 7 slots
+ N_Range => 91413, -- (0.009) 6 slots
+ E_Function => 90035, -- (0.009) 62 slots
+ N_Handled_Sequence_Of_Statements => 87930, -- (0.009) 8 slots
+ N_Subprogram_Declaration => 85248, -- (0.009) 7 slots
+ N_Parameter_Association => 81464, -- (0.008) 8 slots
+ N_Indexed_Component => 80049, -- (0.008) 7 slots
+ N_Freeze_Entity => 79904, -- (0.008) 8 slots
+ N_Call_Marker => 79521, -- (0.008) 4 slots
+ N_Assignment_Statement => 76554, -- (0.008) 8 slots
+ N_Function_Specification => 76052, -- (0.008) 7 slots
+ N_Function_Call => 75028, -- (0.008) 9 slots
+ N_Op_Eq => 74874, -- (0.008) 8 slots
+ E_Constant => 66667, -- (0.007) 47 slots
+ N_If_Statement => 60066, -- (0.006) 8 slots
+ N_Component_Association => 54642, -- (0.006) 7 slots
+ N_Subprogram_Body => 53805, -- (0.005) 10 slots
+ N_Type_Conversion => 53383, -- (0.005) 7 slots
+ E_In_Out_Parameter => 52936, -- (0.005) 38 slots
+ N_Simple_Return_Statement => 52436, -- (0.005) 7 slots
+ N_Subtype_Indication => 49535, -- (0.005) 6 slots
+ N_Raise_Constraint_Error => 49069, -- (0.005) 6 slots
+ N_Null => 46850, -- (0.005) 5 slots
+ N_Itype_Reference => 45422, -- (0.005) 4 slots
+ E_Anonymous_Access_Type => 45149, -- (0.005) 44 slots
+ N_And_Then => 44721, -- (0.005) 8 slots
+ N_Block_Statement => 44328, -- (0.004) 10 slots
+ N_Subtype_Declaration => 43149, -- (0.004) 6 slots
+ N_Op_Not => 40531, -- (0.004) 7 slots
+ E_Array_Subtype => 40051, -- (0.004) 50 slots
+ N_Expression_With_Actions => 36726, -- (0.004) 7 slots
+ E_Access_Subprogram_Type => 36700, -- (0.004) 45 slots
+ E_Signed_Integer_Subtype => 36659, -- (0.004) 43 slots
+ N_String_Literal => 34815, -- (0.004) 7 slots
+ N_Aggregate => 33899, -- (0.003) 8 slots
+ N_Index_Or_Discriminant_Constraint => 33546, -- (0.003) 4 slots
+ E_Variable => 33102, -- (0.003) 55 slots
+ E_Block => 32829, -- (0.003) 58 slots
+ N_Op_Ne => 32127, -- (0.003) 8 slots
+ N_Pragma_Argument_Association => 31504, -- (0.003) 7 slots
+ N_Null_Statement => 30816, -- (0.003) 5 slots
+ N_Aspect_Specification => 29667, -- (0.003) 9 slots
+ N_Pragma => 28317, -- (0.003) 9 slots
+ N_Generic_Association => 26297, -- (0.003) 8 slots
+ N_Formal_Concrete_Subprogram_Declaration => 25843, -- (0.003) 6 slots
+ N_Op_Lt => 25328, -- (0.003) 8 slots
+ E_String_Literal_Subtype => 25272, -- (0.003) 48 slots
+ N_Full_Type_Declaration => 25258, -- (0.003) 7 slots
+ N_With_Clause => 24370, -- (0.002) 9 slots
+ N_Op_Add => 23839, -- (0.002) 8 slots
+ E_Subprogram_Body => 23790, -- (0.002) 42 slots
+ E_Return_Statement => 23098, -- (0.002) 51 slots
+ N_Or_Else => 22858, -- (0.002) 8 slots
+ N_Implicit_Label_Declaration => 21687, -- (0.002) 5 slots
+ N_Others_Choice => 21579, -- (0.002) 4 slots
+ E_Out_Parameter => 21513, -- (0.002) 38 slots
+ N_Op_Subtract => 21441, -- (0.002) 8 slots
+ N_Op_Ge => 21116, -- (0.002) 8 slots
+ N_Component_Definition => 21075, -- (0.002) 7 slots
+ N_Case_Statement_Alternative => 19664, -- (0.002) 8 slots
+ N_Loop_Statement => 19507, -- (0.002) 9 slots
+ E_Package => 19029, -- (0.002) 53 slots
+ N_Op_Gt => 18619, -- (0.002) 8 slots
+ N_Op_Le => 16564, -- (0.002) 8 slots
+ N_Formal_Object_Declaration => 16219, -- (0.002) 7 slots
+ E_Discriminant => 16091, -- (0.002) 56 slots
+ N_Component_Declaration => 15858, -- (0.002) 7 slots
+ N_Iteration_Scheme => 15719, -- (0.002) 8 slots
+ N_Access_To_Object_Definition => 14875, -- (0.002) 5 slots
+ E_Record_Subtype => 14569, -- (0.001) 52 slots
+ N_Generic_Subprogram_Declaration => 14320, -- (0.001) 7 slots
+ N_Package_Specification => 13323, -- (0.001) 8 slots
+ N_Exception_Handler => 12841, -- (0.001) 8 slots
+ E_Enumeration_Literal => 11608, -- (0.001) 42 slots
+ N_Subprogram_Renaming_Declaration => 10991, -- (0.001) 9 slots
+ N_In => 10794, -- (0.001) 8 slots
+ E_Allocator_Type => 10751, -- (0.001) 44 slots
+ E_General_Access_Type => 10451, -- (0.001) 44 slots
+ E_Generic_Procedure => 9837, -- (0.001) 41 slots
+ N_Package_Renaming_Declaration => 9395, -- (0.001) 8 slots
+ N_Access_Definition => 9388, -- (0.001) 6 slots
+ N_Qualified_Expression => 9012, -- (0.001) 7 slots
+ E_Enumeration_Subtype => 8560, -- (0.001) 46 slots
+ N_Allocator => 8474, -- (0.001) 8 slots
+ N_Package_Declaration => 8099, -- (0.001) 10 slots
+ N_Formal_Type_Declaration => 7964, -- (0.001) 7 slots
+ N_Exit_Statement => 7960, -- (0.001) 8 slots
+ N_Component_List => 7829, -- (0.001) 5 slots
+ N_Defining_Operator_Symbol => 0, -- 7525, -- (0.001) 8 slots
+ N_Case_Statement => 7271, -- (0.001) 7 slots
+ N_Expression_Function => 7242, -- (0.001) 9 slots
+ N_Loop_Parameter_Specification => 7042, -- (0.001) 7 slots
+ N_Character_Literal => 6842, -- (0.001) 7 slots
+ N_Op_Concat => 6565, -- (0.001) 8 slots
+ N_Not_In => 6341, -- (0.001) 8 slots
+ N_Label => 6133, -- (0.001) 9 slots
+ N_Goto_Statement => 6133, -- (0.001) 8 slots
+ E_Label => 6133, -- (0.001) 57 slots
+ E_Loop => 6008, -- (0.001) 41 slots
+ N_Generic_Package_Declaration => 5808, -- (0.001) 10 slots
+ N_If_Expression => 5800, -- (0.001) 7 slots
+ N_Record_Definition => 5628, -- (0.001) 7 slots
+ N_Slice => 5461, -- (0.001) 7 slots
+ N_Reference => 5332, -- (0.001) 7 slots
+ E_Generic_Package => 5268, -- (0.001) 59 slots
+ E_Record_Type => 4838, -- (0.000) 51 slots
+ N_Raise_Program_Error => 4675, -- (0.000) 6 slots
+ N_Raise_Statement => 4628, -- (0.000) 8 slots
+ N_Use_Type_Clause => 4487, -- (0.000) 9 slots
+ E_Array_Type => 4325, -- (0.000) 48 slots
+ E_Operator => 4308, -- (0.000) 55 slots
+ N_Freeze_Generic_Entity => 4249, -- (0.000) 4 slots
+ N_Constrained_Array_Definition => 4244, -- (0.000) 5 slots
+ N_Object_Renaming_Declaration => 4067, -- (0.000) 8 slots
+ N_Formal_Private_Type_Definition => 4018, -- (0.000) 8 slots
+ E_Loop_Parameter => 3870, -- (0.000) 38 slots
+ N_Real_Literal => 3759, -- (0.000) 7 slots
+ N_Attribute_Definition_Clause => 3724, -- (0.000) 8 slots
+ N_Exception_Renaming_Declaration => 3697, -- (0.000) 8 slots
+ E_Class_Wide_Type => 3674, -- (0.000) 48 slots
+ E_Exception => 3632, -- (0.000) 24 slots
+ N_Range_Constraint => 3506, -- (0.000) 4 slots
+ E_Access_Type => 3487, -- (0.000) 44 slots
+ E_Subprogram_Type => 3248, -- (0.000) 47 slots
+ N_Package_Instantiation => 3005, -- (0.000) 8 slots
+ E_Access_Attribute_Type => 2959, -- (0.000) 44 slots
+ N_Op_And => 2957, -- (0.000) 8 slots
+ E_Generic_In_Parameter => 2704, -- (0.000) 31 slots
+ N_Derived_Type_Definition => 2688, -- (0.000) 7 slots
+ N_Variant => 2535, -- (0.000) 8 slots
+ E_Record_Subtype_With_Private => 2327, -- (0.000) 50 slots
+ N_Private_Type_Declaration => 2287, -- (0.000) 6 slots
+ E_Private_Type => 1890, -- (0.000) 48 slots
+ N_Discriminant_Specification => 1864, -- (0.000) 7 slots
+ N_Procedure_Instantiation => 1659, -- (0.000) 8 slots
+ N_Op_Multiply => 1634, -- (0.000) 8 slots
+ E_Access_Subtype => 1606, -- (0.000) 44 slots
+ N_Defining_Program_Unit_Name => 1463, -- (0.000) 8 slots
+ N_Number_Declaration => 1461, -- (0.000) 7 slots
+ E_Named_Integer => 1430, -- (0.000) 19 slots
+ N_Use_Package_Clause => 1369, -- (0.000) 9 slots
+ N_Compilation_Unit_Aux => 1341, -- (0.000) 8 slots
+ N_Compilation_Unit => 1341, -- (0.000) 8 slots
+ N_Elsif_Part => 1331, -- (0.000) 7 slots
+ N_Operator_Symbol => 1305, -- (0.000) 7 slots
+ E_Limited_Private_Type => 1299, -- (0.000) 48 slots
+ E_Generic_Function => 1292, -- (0.000) 41 slots
+ E_Enumeration_Type => 1186, -- (0.000) 47 slots
+ N_Enumeration_Type_Definition => 1169, -- (0.000) 6 slots
+ N_Unchecked_Expression => 1112, -- (0.000) 7 slots
+ N_Op_Or => 1107, -- (0.000) 8 slots
+ N_Designator => 1100, -- (0.000) 9 slots
+ N_Formal_Discrete_Type_Definition => 1086, -- (0.000) 4 slots
+ N_Variant_Part => 1072, -- (0.000) 8 slots
+ N_Formal_Package_Declaration => 1047, -- (0.000) 8 slots
+ N_Quantified_Expression => 1033, -- (0.000) 8 slots
+ E_Record_Type_With_Private => 1017, -- (0.000) 51 slots
+ N_Package_Body => 999, -- (0.000) 9 slots
+ N_Unconstrained_Array_Definition => 973, -- (0.000) 5 slots
+ E_Private_Subtype => 971, -- (0.000) 48 slots
+ N_Incomplete_Type_Declaration => 863, -- (0.000) 6 slots
+ E_Incomplete_Type => 863, -- (0.000) 48 slots
+ N_Contract => 859, -- (0.000) 6 slots
+ E_Package_Body => 852, -- (0.000) 46 slots
+ N_Extended_Return_Statement => 801, -- (0.000) 8 slots
+ N_Op_Divide => 724, -- (0.000) 8 slots
+ N_Extension_Aggregate => 718, -- (0.000) 8 slots
+ N_Function_Instantiation => 642, -- (0.000) 8 slots
+ N_Exception_Declaration => 594, -- (0.000) 7 slots
+ N_Discriminant_Association => 552, -- (0.000) 7 slots
+ N_Iterator_Specification => 543, -- (0.000) 8 slots
+ N_Private_Extension_Declaration => 540, -- (0.000) 8 slots
+ N_Formal_Signed_Integer_Type_Definition => 512, -- (0.000) 4 slots
+ E_Modular_Integer_Subtype => 490, -- (0.000) 44 slots
+ N_Component_Clause => 468, -- (0.000) 7 slots
+ E_Signed_Integer_Type => 399, -- (0.000) 43 slots
+ N_Op_Minus => 356, -- (0.000) 7 slots
+ N_Raise_Expression => 337, -- (0.000) 8 slots
+ N_Case_Expression_Alternative => 336, -- (0.000) 8 slots
+ N_Op_Expon => 280, -- (0.000) 8 slots
+ N_Abstract_Subprogram_Declaration => 250, -- (0.000) 6 slots
+ E_Modular_Integer_Type => 232, -- (0.000) 44 slots
+ N_Modular_Type_Definition => 214, -- (0.000) 7 slots
+ N_Compound_Statement => 212, -- (0.000) 6 slots
+ N_Free_Statement => 209, -- (0.000) 8 slots
+ N_Record_Representation_Clause => 197, -- (0.000) 9 slots
+ N_Access_Procedure_Definition => 195, -- (0.000) 6 slots
+ E_Limited_Private_Subtype => 178, -- (0.000) 48 slots
+ N_Access_Function_Definition => 172, -- (0.000) 7 slots
+ N_Op_Mod => 163, -- (0.000) 8 slots
+ N_Validate_Unchecked_Conversion => 156, -- (0.000) 5 slots
+ E_Anonymous_Access_Subprogram_Type => 155, -- (0.000) 44 slots
+ N_Op_Rem => 147, -- (0.000) 8 slots
+ N_Formal_Incomplete_Type_Definition => 140, -- (0.000) 4 slots
+ N_Signed_Integer_Type_Definition => 137, -- (0.000) 6 slots
+ N_Case_Expression => 132, -- (0.000) 7 slots
+ N_Op_Plus => 129, -- (0.000) 7 slots
+ E_Incomplete_Subtype => 129, -- (0.000) 48 slots
+ N_Op_Abs => 119, -- (0.000) 7 slots
+ N_Op_Shift_Right => 109, -- (0.000) 8 slots
+ E_Floating_Point_Subtype => 94, -- (0.000) 43 slots
+ N_Op_Shift_Left => 72, -- (0.000) 8 slots
+ E_Floating_Point_Type => 59, -- (0.000) 43 slots
+ N_Formal_Derived_Type_Definition => 53, -- (0.000) 7 slots
+ N_Formal_Floating_Point_Definition => 40, -- (0.000) 4 slots
+ N_Defining_Character_Literal => 0, -- 36, -- (0.000) 8 slots
+ N_Formal_Modular_Type_Definition => 27, -- (0.000) 4 slots
+ E_Ordinary_Fixed_Point_Subtype => 23, -- (0.000) 44 slots
+ E_Abstract_State => 22, -- (0.000) 48 slots
+ E_Named_Real => 20, -- (0.000) 19 slots
+ N_Floating_Point_Definition => 19, -- (0.000) 6 slots
+ N_Subunit => 17, -- (0.000) 8 slots
+ N_Enumeration_Representation_Clause => 17, -- (0.000) 9 slots
+ N_Entry_Declaration => 17, -- (0.000) 7 slots
+ N_Subprogram_Body_Stub => 16, -- (0.000) 8 slots
+ N_Unused_At_Start => 15, -- (0.000) 4 slots
+ E_Entry => 14, -- (0.000) 42 slots
+ N_Formal_Ordinary_Fixed_Point_Definition => 12, -- (0.000) 4 slots
+ E_Class_Wide_Subtype => 9, -- (0.000) 52 slots
+ E_Protected_Subtype => 8, -- (0.000) 48 slots
+ E_Ordinary_Fixed_Point_Type => 8, -- (0.000) 44 slots
+ N_Op_Xor => 7, -- (0.000) 8 slots
+ E_Generic_In_Out_Parameter => 7, -- (0.000) 31 slots
+ N_Protected_Type_Declaration => 6, -- (0.000) 8 slots
+ N_Protected_Definition => 6, -- (0.000) 8 slots
+ N_Task_Type_Declaration => 4, -- (0.000) 8 slots
+ N_Task_Definition => 4, -- (0.000) 8 slots
+ N_Protected_Body => 4, -- (0.000) 9 slots
+ E_Task_Subtype => 4, -- (0.000) 50 slots
+ E_Protected_Type => 4, -- (0.000) 49 slots
+ E_Access_Protected_Subprogram_Type => 4, -- (0.000) 45 slots
+ N_Entry_Call_Statement => 3, -- (0.000) 8 slots
+ E_Task_Type => 3, -- (0.000) 50 slots
+ N_Raise_Storage_Error => 2, -- (0.000) 6 slots
+ N_Package_Body_Stub => 2, -- (0.000) 8 slots
+ N_Generic_Procedure_Renaming_Declaration => 2, -- (0.000) 8 slots
+ N_Task_Body => 1, -- (0.000) 10 slots
+ N_Single_Protected_Declaration => 1, -- (0.000) 8 slots
+ N_Real_Range_Specification => 1, -- (0.000) 6 slots
+ N_Ordinary_Fixed_Point_Definition => 1, -- (0.000) 6 slots
+ N_Error => 1, -- (0.000) 6 slots
+ N_Entry_Body_Formal_Part => 1, -- (0.000) 6 slots
+ N_Entry_Body => 1, -- (0.000) 10 slots
+ N_Empty => 1, -- (0.000) 6 slots
+ N_Delay_Relative_Statement => 1, -- (0.000) 7 slots
+ E_Protected_Body => 1, -- (0.000) 35 slots
+
+ Between_Concrete_Node_And_Concrete_Entity_Types => 0,
+
+ -- The rest had frequency 0 (i.e. no such nodes were created in the
+ -- example), but we set them to 1, so we won't lose information when
+ -- multiplying. We use "others", so that if new node types are added,
+ -- we don't have to modify the table; new node types are unlikely to
+ -- be very common.
+
+ others => 1
+ -- N_Variable_Reference_Marker => 0, (0.000) 4 slots
+ -- N_Unused_At_End => 0, (0.000) 4 slots
+ -- N_Triggering_Alternative => 0, (0.000) 6 slots
+ -- N_Timed_Entry_Call => 0, (0.000) 5 slots
+ -- N_Terminate_Alternative => 0, (0.000) 6 slots
+ -- N_Task_Body_Stub => 0, (0.000) 8 slots
+ -- N_Target_Name => 0, (0.000) 5 slots
+ -- N_Single_Task_Declaration => 0, (0.000) 8 slots
+ -- N_Selective_Accept => 0, (0.000) 5 slots
+ -- N_Scil_Membership_Test => 0, (0.000) 5 slots
+ -- N_Scil_Dispatch_Table_Tag_Init => 0, (0.000) 4 slots
+ -- N_Scil_Dispatching_Call => 0, (0.000) 6 slots
+ -- N_Return_When_Statement => 0, (0.000) 7 slots
+ -- N_Requeue_Statement => 0, (0.000) 8 slots
+ -- N_Raise_When_Statement => 0, (0.000) 8 slots
+ -- N_Push_Storage_Error_Label => 0, (0.000) 4 slots
+ -- N_Push_Program_Error_Label => 0, (0.000) 4 slots
+ -- N_Push_Constraint_Error_Label => 0, (0.000) 4 slots
+ -- N_Protected_Body_Stub => 0, (0.000) 8 slots
+ -- N_Pop_Storage_Error_Label => 0, (0.000) 4 slots
+ -- N_Pop_Program_Error_Label => 0, (0.000) 4 slots
+ -- N_Pop_Constraint_Error_Label => 0, (0.000) 4 slots
+ -- N_Op_Shift_Right_Arithmetic => 0, (0.000) 8 slots
+ -- N_Op_Rotate_Right => 0, (0.000) 8 slots
+ -- N_Op_Rotate_Left => 0, (0.000) 8 slots
+ -- N_Mod_Clause => 0, (0.000) 7 slots
+ -- N_Iterated_Element_Association => 0, (0.000) 8 slots
+ -- N_Iterated_Component_Association => 0, (0.000) 8 slots
+ -- N_Goto_When_Statement => 0, (0.000) 8 slots
+ -- N_Generic_Package_Renaming_Declaration => 0, (0.000) 8 slots
+ -- N_Generic_Function_Renaming_Declaration => 0, (0.000) 8 slots
+ -- N_Formal_Decimal_Fixed_Point_Definition => 0, (0.000) 4 slots
+ -- N_Formal_Abstract_Subprogram_Declaration => 0, (0.000) 6 slots
+ -- N_Entry_Index_Specification => 0, (0.000) 7 slots
+ -- N_Entry_Call_Alternative => 0, (0.000) 6 slots
+ -- N_Digits_Constraint => 0, (0.000) 6 slots
+ -- N_Delta_Constraint => 0, (0.000) 6 slots
+ -- N_Delta_Aggregate => 0, (0.000) 8 slots
+ -- N_Delay_Until_Statement => 0, (0.000) 7 slots
+ -- N_Delay_Alternative => 0, (0.000) 7 slots
+ -- N_Decimal_Fixed_Point_Definition => 0, (0.000) 6 slots
+ -- N_Conditional_Entry_Call => 0, (0.000) 5 slots
+ -- N_Code_Statement => 0, (0.000) 7 slots
+ -- N_At_Clause => 0, (0.000) 9 slots
+ -- N_Asynchronous_Select => 0, (0.000) 5 slots
+ -- N_Accept_Statement => 0, (0.000) 8 slots
+ -- N_Accept_Alternative => 0, (0.000) 8 slots
+ -- N_Abort_Statement => 0, (0.000) 4 slots
+ -- N_Abortable_Part => 0, (0.000) 5 slots
+ -- E_Task_Body => 0, (0.000) 39 slots
+ -- E_Exception_Type => 0, (0.000) 45 slots
+ -- E_Entry_Index_Parameter => 0, (0.000) 19 slots
+ -- E_Entry_Family => 0, (0.000) 42 slots
+ -- E_Decimal_Fixed_Point_Type => 0, (0.000) 52 slots
+ -- E_Decimal_Fixed_Point_Subtype => 0, (0.000) 52 slots
+ -- E_Anonymous_Access_Protected_Subprogram_Type => 0, (0.000) 45 slots
+ ); -- Type_Frequency
+
end Gen_IL.Internals;