Commit Graph

5327 Commits

Author SHA1 Message Date
gingerBill 400348c925 Improve global array index to be on a per module basis 2025-02-25 15:06:13 +00:00
gingerBill 92f6d2745b Make lb_add_global_generated_from_procedure not use a global index but local to procedure 2025-02-25 15:01:12 +00:00
gingerBill 46c0910a77 Fix lb_add_global_generated_with_name 2025-02-25 14:59:59 +00:00
gingerBill fd6d7d412d Use more predictable object name 2025-02-25 14:55:33 +00:00
gingerBill 5aafbc7f30 Use more deterministic module names 2025-02-25 14:35:54 +00:00
gingerBill f9d85a7311 Try to make globally generated variables deterministic in name 2025-02-25 14:29:14 +00:00
gingerBill faaa05536f Support -show-timings for odin doc 2025-02-24 17:42:21 +00:00
gingerBill d0d5cf800e Fix nullptr check 2025-02-24 15:49:49 +00:00
gingerBill 344eb6cb42 Fix name canonicalization for doc writer 2025-02-24 15:44:38 +00:00
gingerBill f56a0a80d3 Use type hash for doc writer 2025-02-24 15:37:54 +00:00
gingerBill de70e6faa0 Use more type hashes where possible 2025-02-24 15:33:35 +00:00
gingerBill 83f1c879ec Canonicalize generated procedures (hasher/equal/map) 2025-02-24 15:18:27 +00:00
gingerBill 68731b2b50 Canonicalize global source code locations 2025-02-24 14:36:19 +00:00
gingerBill 2c86fadee1 More name canonicalization for globals 2025-02-24 14:28:24 +00:00
gingerBill f0f395c510 Fix canonicalization 2025-02-24 14:24:06 +00:00
gingerBill 46a8991d0f Canonicalize generated procedures 2025-02-24 14:19:02 +00:00
gingerBill 533f82da24 Fix #4822 2025-02-24 14:11:47 +00:00
gingerBill c2cafcbe14 Fix #4819 2025-02-24 14:07:39 +00:00
Barinzaya 4afedbc051 Added simd_extract_lsbs intrinsic as well.
Equivalent to the simd_extract_msbs intrinsic, except it extracts the
least significant bit of each element instead.
2025-02-24 08:49:57 -05:00
Barinzaya 33a3aab791 Added simd_extract_msbs intrinsic. 2025-02-24 08:39:32 -05:00
gingerBill d23453811d Improve semicolon checking rules when parsing 2025-02-24 13:13:36 +00:00
gingerBill ebda946d61 Move temporary array out of CheckerInfo 2025-02-22 18:12:43 +00:00
gingerBill de755f95ec Minor rearrange for parsing field lists 2025-02-22 17:58:14 +00:00
gingerBill 875dbf3140 Disallow syntax: proc(x,:T) 2025-02-22 17:56:42 +00:00
gingerBill 5bd43b94ec Improve error message for matrices with no rows or columns 2025-02-22 17:50:37 +00:00
gingerBill 748a771dad Allow indirection for swizzling on procedure parameters 2025-02-21 12:38:40 +00:00
gingerBill 55e0f945a1 Merge pull request #4860 from odin-lang/bill/typeid_hash_table
Change `typeid` definition to be based around the canonical type hash
2025-02-21 10:21:28 +00:00
Barinzaya 266e84103e Fixed an issue with SIMD vector equality.
Comparing SIMD vectors with `==` was checking that the mask of elements
that matched was not 0, meaning it succeeded if *any* element was equal,
rather than if *all* elements were equal.
2025-02-20 17:05:07 -05:00
gingerBill bf9f2e43bf Fix typeid size in LLVM 2025-02-20 18:47:41 +00:00
gingerBill e8c38e7427 Handle any correctly for 32-bit systems 2025-02-20 17:50:56 +00:00
gingerBill 614c0dd740 Fix typeid size for 32-bit platforms 2025-02-20 17:10:04 +00:00
gingerBill 5489a88983 Change typeid definition to be based around the canonical type hash
`typeid` used to be a fancy index with extra metadata stored on it. Now it is direct hash of the type.

This is safe to do in practice since any possible collisions are checked at compile time AND the chances of having a 1% collision are around 1 in 600K (see the Birthday Paradox).

Therefore accessing a `^Type_Info` is now a hash table lookup with linear probing. The table is twice the size than necessary so prevent too much probing due to an overly dense hash table.
2025-02-20 14:10:45 +00:00
gingerBill c25ac939d4 Add cast back 2025-02-20 13:27:18 +00:00
gingerBill 1d348318f2 Use PtrMap temporarily 2025-02-20 13:23:23 +00:00
gingerBill 0ab323012e Use TypeSet instead of PtrSet<Type *> 2025-02-20 11:12:59 +00:00
gingerBill 0946f6b48b Improve name canonicalization for some debuggers 2025-02-20 11:11:22 +00:00
gingerBill 90a973ccf6 Make debug symbols use the new name canonicalization rules 2025-02-20 10:27:59 +00:00
gingerBill 29456bcdea Move docs to the header 2025-02-19 11:12:32 +00:00
gingerBill 0bac34eec8 Number fields within procedures with a depth-first numbering system 2025-02-19 10:59:05 +00:00
gingerBill 827cd45f04 Add to check to fix crash 2025-02-18 17:12:58 +00:00
gingerBill 0482facdda Fix for weird builtin types 2025-02-18 15:26:59 +00:00
gingerBill e168cea670 Add offset for nested things 2025-02-18 15:17:04 +00:00
gingerBill 481745784f Remove debug print 2025-02-18 15:04:02 +00:00
gingerBill 04c1ff61f4 Update the comments 2025-02-18 15:03:49 +00:00
gingerBill 23efd1bd02 Add TypeWriter stream to allow for in-place hashing and string generation 2025-02-18 14:32:41 +00:00
gingerBill 19b59461b0 Use TypeSet for DeclInfo deps 2025-02-18 13:31:34 +00:00
gingerBill 721bcf2249 Minor code clean up 2025-02-18 13:24:08 +00:00
gingerBill d69eb57cfa Fix typos 2025-02-18 13:18:51 +00:00
gingerBill 4a29d9bb84 Simplify type info table construction 2025-02-17 16:29:42 +00:00
gingerBill b8f057951c Begin work on TypeSet 2025-02-17 13:46:17 +00:00