Merge pull request #11830 from jketema/frontend-update

C++: Changes for frontend update
This commit is contained in:
Jeroen Ketema
2023-01-10 14:01:46 +01:00
committed by GitHub
16 changed files with 9876 additions and 1015 deletions

View File

@@ -0,0 +1,11 @@
class BuiltinType extends @builtintype {
string toString() { none() }
}
from BuiltinType type, string name, int kind, int kind_new, int size, int sign, int alignment
where
builtintypes(type, name, kind, size, sign, alignment) and
if type instanceof @float16 or type instanceof @complex_float16
then kind_new = 2
else kind_new = kind
select type, name, kind_new, size, sign, alignment

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@
description: Introduce (_Complex) _Float16 type
compatibility: backwards
builtintypes.rel: run builtintypes.qlo

View File

@@ -816,6 +816,12 @@ private predicate floatingPointTypeMapping(
or
// _Float128x
kind = 50 and base = 2 and domain = TRealDomain() and realKind = 50 and extended = true
or
// _Float16
kind = 52 and base = 2 and domain = TRealDomain() and realKind = 52 and extended = false
or
// _Complex _Float16
kind = 53 and base = 2 and domain = TComplexDomain() and realKind = 52 and extended = false
}
/**

View File

@@ -610,6 +610,8 @@ case @builtintype.kind of
| 49 = @std_float128 // _Float128
| 50 = @float128x // _Float128x
| 51 = @char8_t
| 52 = @float16 // _Float16
| 53 = @complex_float16 // _Complex _Float16
;
builtintypes(

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
description: Introduce (_Complex) _Float16 type
compatibility: full

View File

@@ -7,7 +7,7 @@
| value_categories.cpp:38:5:38:5 | (reference dereference) | int | lvalue |
| value_categories.cpp:38:5:38:9 | ... = ... | int | lvalue |
| value_categories.cpp:42:12:42:12 | (reference dereference) | int | lvalue |
| value_categories.cpp:52:19:52:33 | (reference dereference) | int | xvalue |
| value_categories.cpp:52:31:52:33 | (reference dereference) | int | xvalue |
| value_categories.cpp:57:5:57:6 | (reference dereference) | int | lvalue |
| value_categories.cpp:57:5:57:10 | ... = ... | int | lvalue |
| value_categories.cpp:62:12:62:33 | static_cast<int>... | int | xvalue |

View File

@@ -3140,9 +3140,9 @@
| ir.cpp:688:24:688:38 | ChiTotal | total:m685_4 |
| ir.cpp:688:24:688:38 | SideEffect | ~m685_4 |
| ir.cpp:688:24:688:38 | Unary | r688_3 |
| ir.cpp:688:24:688:41 | StoreValue | r688_8 |
| ir.cpp:688:24:688:41 | Unary | r688_6 |
| ir.cpp:688:24:688:41 | Unary | r688_7 |
| ir.cpp:688:39:688:41 | StoreValue | r688_8 |
| ir.cpp:688:39:688:41 | Unary | r688_6 |
| ir.cpp:688:39:688:41 | Unary | r688_7 |
| ir.cpp:691:6:691:20 | ChiPartial | partial:m691_3 |
| ir.cpp:691:6:691:20 | ChiTotal | total:m691_2 |
| ir.cpp:691:6:691:20 | SideEffect | m691_3 |
@@ -7393,8 +7393,8 @@
| ir.cpp:1594:42:1594:47 | ChiTotal | total:m1587_6 |
| ir.cpp:1594:42:1594:47 | SideEffect | ~m1587_6 |
| ir.cpp:1594:42:1594:47 | Unary | r1594_4 |
| ir.cpp:1594:42:1594:50 | StoreValue | r1594_11 |
| ir.cpp:1594:42:1594:50 | Unary | r1594_10 |
| ir.cpp:1594:48:1594:50 | StoreValue | r1594_11 |
| ir.cpp:1594:48:1594:50 | Unary | r1594_10 |
| ir.cpp:1595:15:1595:15 | Address | &:r1595_1 |
| ir.cpp:1595:19:1595:40 | Address | &:r1595_2 |
| ir.cpp:1595:19:1595:40 | Address | &:r1595_2 |
@@ -7407,8 +7407,8 @@
| ir.cpp:1595:42:1595:47 | ChiTotal | total:m1594_6 |
| ir.cpp:1595:42:1595:47 | SideEffect | ~m1594_6 |
| ir.cpp:1595:42:1595:47 | Unary | r1595_4 |
| ir.cpp:1595:42:1595:50 | StoreValue | r1595_11 |
| ir.cpp:1595:42:1595:50 | Unary | r1595_10 |
| ir.cpp:1595:48:1595:50 | StoreValue | r1595_11 |
| ir.cpp:1595:48:1595:50 | Unary | r1595_10 |
| ir.cpp:1596:15:1596:15 | Address | &:r1596_1 |
| ir.cpp:1596:19:1596:40 | Address | &:r1596_2 |
| ir.cpp:1596:19:1596:40 | Address | &:r1596_2 |
@@ -7421,8 +7421,8 @@
| ir.cpp:1596:42:1596:47 | ChiTotal | total:m1595_6 |
| ir.cpp:1596:42:1596:47 | SideEffect | ~m1595_6 |
| ir.cpp:1596:42:1596:47 | Unary | r1596_4 |
| ir.cpp:1596:42:1596:50 | StoreValue | r1596_11 |
| ir.cpp:1596:42:1596:50 | Unary | r1596_10 |
| ir.cpp:1596:48:1596:50 | StoreValue | r1596_11 |
| ir.cpp:1596:48:1596:50 | Unary | r1596_10 |
| ir.cpp:1597:9:1597:9 | Address | &:r1597_2 |
| ir.cpp:1597:9:1597:9 | Address | &:r1597_4 |
| ir.cpp:1597:9:1597:9 | Load | m1595_12 |
@@ -7663,8 +7663,8 @@
| ir.cpp:1661:42:1661:47 | ChiTotal | total:m1660_9 |
| ir.cpp:1661:42:1661:47 | SideEffect | ~m1660_9 |
| ir.cpp:1661:42:1661:47 | Unary | r1661_6 |
| ir.cpp:1661:42:1661:50 | StoreValue | r1661_13 |
| ir.cpp:1661:42:1661:50 | Unary | r1661_12 |
| ir.cpp:1661:48:1661:50 | StoreValue | r1661_13 |
| ir.cpp:1661:48:1661:50 | Unary | r1661_12 |
| ir.cpp:1662:16:1662:17 | Address | &:r1662_1 |
| ir.cpp:1662:21:1662:42 | Address | &:r1662_2 |
| ir.cpp:1662:21:1662:42 | Address | &:r1662_4 |
@@ -7680,8 +7680,8 @@
| ir.cpp:1662:44:1662:49 | ChiTotal | total:m1661_8 |
| ir.cpp:1662:44:1662:49 | SideEffect | ~m1661_8 |
| ir.cpp:1662:44:1662:49 | Unary | r1662_6 |
| ir.cpp:1662:44:1662:52 | StoreValue | r1662_13 |
| ir.cpp:1662:44:1662:52 | Unary | r1662_12 |
| ir.cpp:1662:50:1662:52 | StoreValue | r1662_13 |
| ir.cpp:1662:50:1662:52 | Unary | r1662_12 |
| ir.cpp:1663:9:1663:9 | Address | &:r1663_2 |
| ir.cpp:1663:9:1663:9 | Address | &:r1663_4 |
| ir.cpp:1663:9:1663:9 | Load | m1660_15 |
@@ -8815,8 +8815,8 @@
| smart_ptr.cpp:12:20:12:27 | ChiTotal | total:m10_8 |
| smart_ptr.cpp:12:20:12:27 | Load | m12_8 |
| smart_ptr.cpp:12:20:12:27 | SideEffect | ~m10_8 |
| smart_ptr.cpp:12:20:12:28 | Load | m11_9 |
| smart_ptr.cpp:12:20:12:28 | StoreValue | r12_7 |
| smart_ptr.cpp:12:24:12:28 | Load | m11_9 |
| smart_ptr.cpp:12:24:12:28 | StoreValue | r12_7 |
| smart_ptr.cpp:12:25:12:26 | Arg(0) | 0:r12_5 |
| smart_ptr.cpp:12:25:12:26 | Unary | r12_4 |
| smart_ptr.cpp:17:6:17:24 | ChiPartial | partial:m17_3 |

View File

@@ -1,4 +1,5 @@
| file://:0:0:0:0 | Cl<char, Sa, Sb> * |
| file://:0:0:0:0 | _Complex _Float16 |
| file://:0:0:0:0 | _Complex __float128 |
| file://:0:0:0:0 | _Complex double |
| file://:0:0:0:0 | _Complex float |
@@ -6,6 +7,7 @@
| file://:0:0:0:0 | _Decimal32 |
| file://:0:0:0:0 | _Decimal64 |
| file://:0:0:0:0 | _Decimal128 |
| file://:0:0:0:0 | _Float16 |
| file://:0:0:0:0 | _Float32 |
| file://:0:0:0:0 | _Float32x |
| file://:0:0:0:0 | _Float64 |

View File

@@ -19,6 +19,7 @@
| file://:0:0:0:0 | StructWithDef && | 8 |
| file://:0:0:0:0 | UnionWithDef & | 8 |
| file://:0:0:0:0 | UnionWithDef && | 8 |
| file://:0:0:0:0 | _Complex _Float16 | 4 |
| file://:0:0:0:0 | _Complex __float128 | 32 |
| file://:0:0:0:0 | _Complex double | 16 |
| file://:0:0:0:0 | _Complex float | 8 |
@@ -26,12 +27,13 @@
| file://:0:0:0:0 | _Decimal32 | 4 |
| file://:0:0:0:0 | _Decimal64 | 8 |
| file://:0:0:0:0 | _Decimal128 | 16 |
| file://:0:0:0:0 | _Float16 | 2 |
| file://:0:0:0:0 | _Float32 | 4 |
| file://:0:0:0:0 | _Float32x | 8 |
| file://:0:0:0:0 | _Float64 | 8 |
| file://:0:0:0:0 | _Float64x | 16 |
| file://:0:0:0:0 | _Float128 | 16 |
| file://:0:0:0:0 | _Float128x | 16 |
| file://:0:0:0:0 | _Float128x | 32 |
| file://:0:0:0:0 | _Imaginary double | 8 |
| file://:0:0:0:0 | _Imaginary float | 4 |
| file://:0:0:0:0 | _Imaginary long double | 16 |

View File

@@ -1,6 +1,7 @@
| file://:0:0:0:0 | ..()(..) | ..()(..) |
| file://:0:0:0:0 | ..(*)(..) | ..(*)(..) |
| file://:0:0:0:0 | Tmpl<T> | Tmpl<T> |
| file://:0:0:0:0 | _Complex _Float16 | _Complex _Float16 |
| file://:0:0:0:0 | _Complex __float128 | _Complex __float128 |
| file://:0:0:0:0 | _Complex double | _Complex double |
| file://:0:0:0:0 | _Complex float | _Complex float |
@@ -8,6 +9,7 @@
| file://:0:0:0:0 | _Decimal32 | _Decimal32 |
| file://:0:0:0:0 | _Decimal64 | _Decimal64 |
| file://:0:0:0:0 | _Decimal128 | _Decimal128 |
| file://:0:0:0:0 | _Float16 | _Float16 |
| file://:0:0:0:0 | _Float32 | _Float32 |
| file://:0:0:0:0 | _Float32x | _Float32x |
| file://:0:0:0:0 | _Float64 | _Float64 |

View File

@@ -1,5 +1,6 @@
| ..()(..) | RoutineType | | | | |
| ..(*)(..) | FunctionPointerType | | ..()(..) | | |
| _Complex _Float16 | BinaryFloatingPointType, ComplexNumberType | | | | |
| _Complex __float128 | BinaryFloatingPointType, ComplexNumberType | | | | |
| _Complex double | BinaryFloatingPointType, ComplexNumberType | | | | |
| _Complex float | BinaryFloatingPointType, ComplexNumberType | | | | |
@@ -7,6 +8,7 @@
| _Decimal32 | Decimal32Type | | | | |
| _Decimal64 | Decimal64Type | | | | |
| _Decimal128 | Decimal128Type | | | | |
| _Float16 | BinaryFloatingPointType, RealNumberType | | | | |
| _Float32 | BinaryFloatingPointType, RealNumberType | | | | |
| _Float32x | BinaryFloatingPointType, RealNumberType | | | | |
| _Float64 | BinaryFloatingPointType, RealNumberType | | | | |