aboutsummaryrefslogtreecommitdiff
path: root/src/check_builtin.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add `intrinsics.type_is_cstring` and `intrinsics.type_is_cstring16`bill/new-slice-sortgingerBill2025-10-091-0/+4
|
* Automatically emit objc_msgSend calls when calling imported or implemented ↵Harold Brenes2025-09-291-3/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Minor clean up of permanent/temporary arena usagegingerBill2025-09-101-13/+13
|
* Merge pull request #5547 from harold-b/hb.objc_block_intrinsicgingerBill2025-08-071-0/+224
|\ | | | | Implements the Apple block ABI.2010.3.16 natively via `objc_block` intrinsic
| * Implementes the block ABI.2010.3.16 natively via the `objc_block` intrinsic ↵Harold Brenes2025-08-061-0/+224
| | | | | | | | | | | | and the `Objc_Block` builtin type. See: https://clang.llvm.org/docs/Block-ABI-Apple.html
* | Fix typobill/utf16-stringsgingerBill2025-08-071-1/+1
| |
* | Add `intrinsics.type_canonical_name`gingerBill2025-08-071-0/+16
|/
* Merge branch 'master' into bill/utf16-stringsgingerBill2025-08-051-0/+2
|\
| * Add `intrinsics.type_is_nearly_simple_compare`gingerBill2025-08-041-0/+2
| |
* | Cache const `string16` in LLVMgingerBill2025-08-021-4/+9
| |
* | `for in string16`; Support `string16` across coregingerBill2025-08-021-1/+5
| |
* | Begin supporting `string16` across the core librarygingerBill2025-08-021-0/+2
| |
* | Add `string16` and `cstring16` (UTF-16 based strings)gingerBill2025-08-021-1/+8
|/
* move to checker error, rather than panicColin Davidson2025-07-291-0/+8
|
* switch to read_cycle_counter_frequency from arm64_read_cycle_counter_freq, ↵Colin Davidson2025-07-291-1/+1
| | | | trap on invalid arch
* use the correct frequency for the arm tsc timerColin Davidson2025-07-281-0/+1
|
* Merge pull request #5442 from jon-lipstate/table_lookupgingerBill2025-07-221-0/+52
|\ | | | | table lookup simd intrinsic
| * cleanup langauge / errors about table vs swizzleJon Lipstate2025-07-161-16/+16
| |
| * rename table_lookup to runtime_swizzleJon Lipstate2025-07-161-2/+2
| |
| * table lookup intrinsicJon Lipstate2025-07-051-0/+52
| |
* | add did you mean for card/lenJon Lipstate2025-07-161-1/+5
| |
* | Add union kind assertion to enum_constant_entity_cmpFourteenBrush2025-07-111-3/+6
| |
* | Fix BigInt leakingFourteenBrush2025-07-111-0/+2
| |
* | Allocate temp array instead of sorting in placeFourteenBrush2025-07-111-2/+2
| |
* | Add type_enum_is_contiguous intrinsicFourteenBrush2025-07-111-0/+48
|/
* Add check_all scriptsJeroen van Rijn2025-06-161-0/+5
|
* Add `intrinsics.type_is_bit_field` prociarkn2025-06-061-0/+2
|
* Fix #5265Jeroen van Rijn2025-06-031-1/+1
|
* Show quaternion arguments in `wxyz` order, instead of `xyzw`, in mismatched ↵Feoramund2025-06-011-1/+1
| | | | | | | | 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.
* Make `quaternion` untyped values convert to first typed value foundFeoramund2025-06-011-10/+12
| | | | | This fixes an issue (#2079) where a typed argument could cause the construction to fail on the basis of failed untyped -> typed conversion.
* Fix `quaternion` construction causing compiler crashFeoramund2025-06-011-0/+1
| | | | | Previously, a construction of `quaternion(real=0, real=1, real=2, real=3)` could crash the compiler.
* add: type_integer_to_* error messages0xrsp2025-05-151-6/+3
|
* new compiler intrinsics type_integer_to_unsigned,type_integer_to_signed0xrsp2025-05-151-0/+84
|
* Handle "untyped" casegingerBill2025-05-121-1/+9
|
* Add `compress_values`gingerBill2025-05-121-0/+180
|
* Merge pull request #5064 from harold-b/hb/objc-classesgingerBill2025-05-081-3/+57
|\ | | | | Add support for Objective-C class implementation
| * Prevent multiple uses of the same Objective-C class nameHarold Brenes2025-05-031-2/+2
| |
| * Implement all checker specification for Objective-C class implementations ↵Harold Brenes2025-05-031-24/+4
| | | | | | | | and `objc_ivar_get` intrinsic
| * Name fixesHarold Brenes2025-04-301-3/+3
| |
| * Fix indentationsHarold Brenes2025-04-271-72/+72
| | | | | | | | Fix Objective-C wrapper procs not forwarding return value
| * Fix styling issuesHarold Brenes2025-04-271-5/+4
| |
| * Add initial support for Objective-C class implementationHarold Brenes2025-04-201-1/+76
| |
* | Added alternate reduce-add/reduce-mul intrinsics.Barinzaya2025-05-051-0/+4
| | | | | | | | | | | | | | | | | | | | 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).
* | Fix `type_union_tag_offset` when all members are zero sizedJeroen van Rijn2025-05-051-3/+4
| |
* | Add `intrinsics.simd_indices`gingerBill2025-05-051-0/+31
|/
* Allow intrinsics.type_elem_type(simd_vector) to return the element type.Jeroen van Rijn2025-04-111-0/+1
| | | | Make `type_elem_type(#simd[4]f32)` return `f32`, same as it would for `[4]f32`.
* Fix #4949gingerBill2025-03-241-0/+7
|
* Fix #4962gingerBill2025-03-241-5/+9
|
* Added simd_extract_lsbs intrinsic as well.Barinzaya2025-02-241-0/+1
| | | | | Equivalent to the simd_extract_msbs intrinsic, except it extracts the least significant bit of each element instead.
* Added simd_extract_msbs intrinsic.Barinzaya2025-02-241-0/+32
|