Commit Graph
319 Commits
Author SHA1 Message Date
gingerBill bb7496a2fc Add intrinsics.count_trailing_ones and intrinsics.count_leading_ones 2026-02-02 14:28:16 +00:00
gingerBill 2608f92fee Use std::atomic for Ast.viral_state_flags and Ast_Ident.entity 2026-02-02 10:48:30 +00:00
gingerBill 92bef45781 Fix #6183 2026-01-27 09:44:52 +00:00
Franz Hoeltermann ac35e0336b Fix indentation 2026-01-14 10:42:43 +01:00
Franz c64fad8ef7 Add warning for size_of(&x) expressions 2026-01-14 00:43:06 +01:00
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