Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion dev_tools/pylibs/edgifc/spec_files/0.44.json
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,18 @@
"0x4": "GenConstant"
}
},
"EdgFloatType": {
"size": 4,
"values": {
"0x0": "Float16",
"0x1": "Fp16",
"0x2": "Float32x",
"0x3": "Float64x",
"0x4": "Float80",
"0x5": "Float128",
"0x6": "StdBfloat16"
}
},
"ExpansionMode": {
"size": 1,
"values": {
Expand Down Expand Up @@ -1153,7 +1165,8 @@
"bitwidth": 5,
"non_null": true,
"values": {
"0x0": "EdgTypeSubstituted"
"0x0": "EdgTypeSubstituted",
"0x1": "EdgTypeFloat"
}
},
"Expr": {
Expand Down Expand Up @@ -2362,6 +2375,12 @@
"initializer": "EdgTokenCacheOffset"
}
},
"EdgTypeFloat": {
"padding": 0,
"fields": {
"kind": "EdgFloatTypeSort"
}
},
"EdgTypeSubstituted": {
"padding": 0,
"fields": {
Expand Down Expand Up @@ -4636,6 +4655,7 @@
".edg.token.complex.textual": "EdgTokenTextual",
".edg.trait.class-template-definition": "EdgTraitClassTemplateDefinition",
".edg.trait.function-definition": "EdgTraitFunctionDefinition",
".edg.type.float": "EdgTypeFloat",
".edg.type.substitued": "EdgTypeSubstituted",
".msvc.trait.decl-attrs": "TraitMsvcDeclAttrs",
".msvc.trait.named-function-parameters": "TraitMsvcFuncParams",
Expand Down
94 changes: 92 additions & 2 deletions src/ifc_map.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ Exceptions.
See https://edgcpp.org/LICENSE.txt for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
*/

/*

ifc_map.h -- Types for IFC-based modules.
Expand Down Expand Up @@ -950,6 +949,21 @@ struct an_ifc_encoded_edg_extension_type_offset : Implicit_numeric_entry<
}; /* an_ifc_encoded_edg_extension_type_offset */


enum an_ifc_encoded_edg_float_type_sort_0_44 : uint32_t;
using an_ifc_encoded_edg_float_type_sort_storage = uint32_t;


/*
The universal representation for an IFC EncodedEdgFloatTypeSort.
*/
struct an_ifc_encoded_edg_float_type_sort : Implicit_numeric_entry<
an_ifc_encoded_edg_float_type_sort_storage> {
using storage_type = an_ifc_encoded_edg_float_type_sort_storage;
using base_type = Implicit_numeric_entry<storage_type>;
using base_type::Implicit_numeric_entry;
}; /* an_ifc_encoded_edg_float_type_sort */


enum an_ifc_encoded_edg_heap_complex_token_offset_0_43 : uint32_t;
using an_ifc_encoded_edg_heap_complex_token_offset_storage = uint32_t;

Expand Down Expand Up @@ -3242,6 +3256,28 @@ enum an_ifc_edg_expr_sort : uint32_t {
}; /* an_ifc_edg_expr_sort */


enum an_ifc_edg_float_type_sort_0_44 : uint32_t {
ifc_0_44_efts_float16 = 0,
ifc_0_44_efts_fp16 = 1,
ifc_0_44_efts_float32x = 2,
ifc_0_44_efts_float64x = 3,
ifc_0_44_efts_float80 = 4,
ifc_0_44_efts_float128 = 5,
ifc_0_44_efts_std_bfloat16 = 6
}; /* an_ifc_edg_float_type_sort_0_44 */


enum an_ifc_edg_float_type_sort : uint32_t {
ifc_efts_float128,
ifc_efts_float16,
ifc_efts_float32x,
ifc_efts_float64x,
ifc_efts_float80,
ifc_efts_fp16,
ifc_efts_std_bfloat16
}; /* an_ifc_edg_float_type_sort */


enum an_ifc_edg_template_argument_sort_0_43 : uint32_t {
ifc_0_43_etas_edg_template_argument_type = 0,
ifc_0_43_etas_edg_template_argument_non_type = 1,
Expand All @@ -3261,7 +3297,14 @@ enum an_ifc_edg_type_sort_0_43 : uint32_t {
}; /* an_ifc_edg_type_sort_0_43 */


enum an_ifc_edg_type_sort_0_44 : uint32_t {
ifc_0_44_ets_edg_type_substituted = 0,
ifc_0_44_ets_edg_type_float = 1
}; /* an_ifc_edg_type_sort_0_44 */


enum an_ifc_edg_type_sort : uint32_t {
ifc_ets_edg_type_float,
ifc_ets_edg_type_substituted
}; /* an_ifc_edg_type_sort */

Expand Down Expand Up @@ -6011,6 +6054,7 @@ two instances are equivalent, return FALSE; otherwise return TRUE.


enum an_ifc_edg_type_index_0_43 : uint32_t {};
enum an_ifc_edg_type_index_0_44 : uint32_t {};


/*
Expand Down Expand Up @@ -10957,6 +11001,14 @@ struct an_ifc_edg_extension_expr :
|-------|--------------|---------|------|
| value | EdgTypeIndex | 0.43 | 4 |
|-------|--------------|---------|------|

|---------------------------------------|
| EdgExtensionType - 0.44 (4 bytes) |
|-------|--------------|---------|------|
| Name | Type | Version | Size |
|-------|--------------|---------|------|
| value | EdgTypeIndex | 0.44 | 4 |
|-------|--------------|---------|------|
*/
enum an_ifc_edg_extension_type_part : uint8_t {};
using an_ifc_edg_extension_type_storage = an_ifc_edg_extension_type_part[4];
Expand Down Expand Up @@ -11437,6 +11489,36 @@ struct an_ifc_edg_trait_function_definition :
}; /* an_ifc_edg_trait_function_definition */


/*
|------------------------------------------|
| EdgTypeFloat - 0.44 (4 bytes) |
|------|------------------|---------|------|
| Name | Type | Version | Size |
|------|------------------|---------|------|
| kind | EdgFloatTypeSort | 0.44 | 4 |
|------|------------------|---------|------|
*/
enum an_ifc_edg_type_float_part : uint8_t {};
using an_ifc_edg_type_float_storage = an_ifc_edg_type_float_part[4];
#if USE_MMAP_FOR_MODULES
using an_ifc_edg_type_float_bytes = const an_ifc_edg_type_float_storage*;
#else /* !USE_MMAP_FOR_MODULES */
using an_ifc_edg_type_float_bytes = an_ifc_edg_type_float_storage;
#endif /* USE_MMAP_FOR_MODULES */
/*
The universal representation of an IFC EdgTypeFloat node.

The representation is declared as a derived struct of Byte_buffer_entry rather
than simply an alias of the instantiation to improve the debugger experience.
*/
struct an_ifc_edg_type_float :
Byte_buffer_entry<an_ifc_edg_type_float_storage> {
using storage_type = an_ifc_edg_type_float_storage;
using base_type = Byte_buffer_entry<storage_type>;
using base_type::Byte_buffer_entry;
}; /* an_ifc_edg_type_float */


/*
|----------------------------------------------------------------|
| EdgTypeSubstituted - 0.43 (12 bytes) |
Expand Down Expand Up @@ -23163,6 +23245,7 @@ enum an_ifc_partition_kind : uint32_t {
ifc_pk_edg_token_complex_textual,
ifc_pk_edg_trait_class_template_definition,
ifc_pk_edg_trait_function_definition,
ifc_pk_edg_type_float,
ifc_pk_edg_type_substitued,
ifc_pk_msvc_trait_decl_attrs,
ifc_pk_msvc_trait_named_function_parameters,
Expand Down Expand Up @@ -23485,7 +23568,7 @@ enum an_ifc_partition_kind : uint32_t {
}; /* an_ifc_partition_kind */


#define IFC_PARTITION_COUNT 337
#define IFC_PARTITION_COUNT 338

/*
A method for mapping partition names to an_ifc_partition_kind values. Used
Expand Down Expand Up @@ -23522,6 +23605,7 @@ EXTERN an_ifc_partition_map ifc_partition_map[IFC_PARTITION_COUNT]
{ ".edg.trait.class-template-definition",
ifc_pk_edg_trait_class_template_definition },
{ ".edg.trait.function-definition", ifc_pk_edg_trait_function_definition },
{ ".edg.type.float", ifc_pk_edg_type_float },
{ ".edg.type.substitued", ifc_pk_edg_type_substitued },
{ ".msvc.trait.decl-attrs", ifc_pk_msvc_trait_decl_attrs },
{ ".msvc.trait.named-function-parameters",
Expand Down Expand Up @@ -23865,3 +23949,9 @@ END_DISABLE_GCC_WARNING_MAYBE_UNITIALIZED
/* Conditionally close the "edg" namespace. */
END_EDG_NAMESPACE

/*
Part of the EDG Compiler Project, under the Apache License v2.0 with LLVM
Exceptions.
See https://edgcpp.org/LICENSE.txt for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
*/
Loading
Loading