gingerBill
d380b0877d
Add intrinsics.type_is_superset_of
2025-11-17 10:03:05 +00:00
gingerBill
074a8d7df5
constant_truncate -> constant_trunc to be consistent with other intrinsics
2025-10-30 09:37:09 +00:00
gingerBill
99520d82fd
Add intrinsics.constant_(floor|truncate|ceil|round)
2025-10-30 08:52:21 +00:00
gingerBill
13ddf66cc9
Fix declaration of type_is_bit_field
2025-10-30 08:39:22 +00:00
gingerBill
26b3a4d182
Handle concatenation at the end
2025-10-10 12:09:41 +01:00
gingerBill
1387c3d311
Remove unneeded type expression
2025-10-10 12:04:22 +01:00
gingerBill
24bc044d78
Support fixed-length arrays for intrinsics.concatenate
2025-10-10 12:00:44 +01:00
gingerBill
5e12532eba
Add basic type inference to the arguments
2025-10-10 11:50:02 +01:00
gingerBill
061b14e164
Allow intrinsics.concatenate to be variadic
2025-10-10 11:48:18 +01:00
gingerBill
1572ed57b6
Add intrinsics.concatenate
2025-10-10 11:40:36 +01:00
gingerBill
adc44312bf
const string -> constant string
2025-10-09 10:36:50 +01:00
gingerBill
a60058259d
Allow intrinsics.type_union_tag_offset with maybe-like unions
2025-10-09 10:25:48 +01:00
gingerBill
41c523faa5
Add intrinsics.type_is_raw_union
2025-10-09 10:10:49 +01:00
gingerBill
e001e402c2
Add intrinsics.type_is_cstring and intrinsics.type_is_cstring16
2025-10-09 09:55:14 +01:00
Harold Brenes
5af13f5d53
Automatically emit objc_msgSend calls when calling imported or implemented Objective-C methods
...
- Add intrinsics.objc_super()
- Emit objc_msgSendSuper2 calls when an objc method call is combined with objc_super(self)
- Fix objc_block return value ABI for large struct returns
- Fix objc_implement method wrappers bad ABI for large struct returns and indirect args
- Simplify parameter forwarding for objc_imlpement methods
- Add intrinsics.objc_instancetype to mimi Objective-C instancetype* returns
This facilitates returning the correct type on subclasses when calling mehtods
such as `alloc`, `init`, `retain`, etc.
- Refactor Objective-C class implementations generation so that hierarchies are properly initialized
- Better codegen for context passing with ivar-based autocontext
- Allow @superclass on imported objc-c objects
- Better codegen for block forwarding invoker, arguments are forwarded directly
2025-09-29 20:37:48 -04:00
gingerBill
21b1173076
Minor clean up of permanent/temporary arena usage
2025-09-10 18:20:20 +01:00
gingerBill
a0e9a98d61
Merge pull request #5547 from harold-b/hb.objc_block_intrinsic
...
Implements the Apple block ABI.2010.3.16 natively via `objc_block` intrinsic
2025-08-07 16:08:38 +01:00
gingerBill
3de300d2f9
Fix typo
2025-08-07 12:38:15 +01:00
gingerBill
34b4b84b64
Add intrinsics.type_canonical_name
2025-08-07 12:34:41 +01:00
Harold Brenes
9d8e15b3af
Implementes the block ABI.2010.3.16 natively via the objc_block intrinsic and the Objc_Block builtin type.
...
See: https://clang.llvm.org/docs/Block-ABI-Apple.html
2025-08-06 20:27:31 -04:00
gingerBill
eae43f1225
Merge branch 'master' into bill/utf16-strings
2025-08-05 15:07:06 +01:00
gingerBill
c910b5e583
Add intrinsics.type_is_nearly_simple_compare
2025-08-04 12:13:30 +01:00
gingerBill
620bf162a0
Cache const string16 in LLVM
2025-08-02 12:32:18 +01:00
gingerBill
bb4bc316a4
for in string16; Support string16 across core
2025-08-02 12:20:35 +01:00
gingerBill
ae02d3d02d
Begin supporting string16 across the core library
2025-08-02 11:55:16 +01:00
gingerBill
2561427dd3
Add string16 and cstring16 (UTF-16 based strings)
2025-08-02 11:00:15 +01:00
Colin Davidson
4d9fdf5bd3
move to checker error, rather than panic
2025-07-29 13:09:05 -07:00
Colin Davidson
9a2e6fff48
switch to read_cycle_counter_frequency from arm64_read_cycle_counter_freq, trap on invalid arch
2025-07-29 12:21:46 -07:00
Colin Davidson
1848e0df05
use the correct frequency for the arm tsc timer
2025-07-28 15:10:42 -07:00
gingerBill
19a075211f
Merge pull request #5442 from jon-lipstate/table_lookup
...
table lookup simd intrinsic
2025-07-22 11:14:54 +01:00
Jon Lipstate
6c81df82a6
cleanup langauge / errors about table vs swizzle
2025-07-16 23:43:41 -07:00
Jon Lipstate
3e5de5f705
add did you mean for card/len
2025-07-16 23:23:11 -07:00
Jon Lipstate
ecd41b155d
rename table_lookup to runtime_swizzle
2025-07-16 21:54:24 -07:00
FourteenBrush
980370a24b
Add union kind assertion to enum_constant_entity_cmp
2025-07-11 21:23:21 +02:00
FourteenBrush
2dd0b75289
Fix BigInt leaking
2025-07-11 21:07:28 +02:00
FourteenBrush
64bb0d1c7d
Allocate temp array instead of sorting in place
2025-07-11 19:38:01 +02:00
FourteenBrush
8cbf75c928
Add type_enum_is_contiguous intrinsic
2025-07-11 17:03:49 +02:00
Jon Lipstate
019084a17f
table lookup intrinsic
2025-07-05 13:55:14 -07:00
Jeroen van Rijn
29d9a12491
Add check_all scripts
2025-06-16 22:26:24 +02:00
iarkn
3152be01b9
Add intrinsics.type_is_bit_field proc
2025-06-06 16:01:13 +02:00
Jeroen van Rijn
82dfb43663
Fix #5265
2025-06-03 11:18:11 +02:00
Feoramund
7996f89410
Show quaternion arguments in wxyz order, instead of xyzw, in mismatched type error
...
This is in accordance with the other error and makes sense with how
quaternions are printed with `real`/`w` coming first, then the
imaginaries, which are the `ijk`/`xyz` parts.
2025-06-01 14:36:38 -04:00
Feoramund
b70d2b156a
Make quaternion untyped values convert to first typed value found
...
This fixes an issue (#2079 ) where a typed argument could cause the
construction to fail on the basis of failed untyped -> typed conversion.
2025-06-01 14:35:53 -04:00
Feoramund
705ae3f343
Fix quaternion construction causing compiler crash
...
Previously, a construction of `quaternion(real=0, real=1, real=2,
real=3)` could crash the compiler.
2025-06-01 13:35:22 -04:00
0xrsp
649cad2f1b
add: type_integer_to_* error messages
2025-05-15 01:12:06 +09:30
0xrsp
ea806f1d5e
new compiler intrinsics type_integer_to_unsigned,type_integer_to_signed
2025-05-15 01:00:40 +09:30
gingerBill
d2d5c40e76
Handle "untyped" case
2025-05-12 16:49:59 +01:00
gingerBill
d2d4ac8120
Add compress_values
2025-05-12 15:29:43 +01:00
gingerBill
92df892f25
Merge pull request #5064 from harold-b/hb/objc-classes
...
Add support for Objective-C class implementation
2025-05-08 12:58:33 +01:00
Barinzaya
dd5b7852ce
Added alternate reduce-add/reduce-mul intrinsics.
...
The new reduce_add/reduce_mul procs perform the corresponding arithmetic
reduction in different orders than sequential order. These alternative
orders can often offer better SIMD hardware utilization.
Two different orders are added: pair-wise (operating on pairs of
adjacent elements) or bisection-wise (operating element-wise on the
first and last N/2 elements of the vector).
2025-05-05 16:38:45 -04:00