Commit Graph

24055 Commits

Author SHA1 Message Date
Ryan Liptak 104f4053a2 std.mem: Rename splitFull/tokenizeFull to splitSequence/tokenizeSequence
I think this makes the name less ambiguous and more obvious that the suffix applies to the `delimiter`.
2023-05-13 13:45:05 -07:00
Ryan Liptak 2129f28953 Update all std.mem.split calls to their appropriate function
Everywhere that can now use `splitScalar` should get a nice little performance boost.
2023-05-13 13:45:05 -07:00
Ryan Liptak 815e53b147 Update all std.mem.tokenize calls to their appropriate function
Everywhere that can now use `tokenizeScalar` should get a nice little performance boost.
2023-05-13 13:45:04 -07:00
Ryan Liptak ce9f3ec990 Fix SplitIterator and TokenIterator type instantiation 2023-05-13 13:43:50 -07:00
Ryan Liptak 9da3a9733d std.mem: Split tokenize into 3 versions by delimiter type: full, any, and scalar
This allows users to choose which version they need for their particular use case, as the previous default (now the 'any' version) was (1) not always the desired type of delimiter and (2) performed worse than the scalar version if the delimiter was a single item.
2023-05-13 13:43:50 -07:00
Ryan Liptak bda645d911 std.mem: Split split and splitBackwards into 3 versions by delimiter type: full, any, and scalar
This allows users to choose which version they need for their particular use case, as the previous default (now the 'full' version) was (1) not always the desired type of delimiter and (2) performed worse than the scalar version if the delimiter was a single item.
2023-05-13 13:43:50 -07:00
Loris Cro bc17b38788 Merge pull request #15692 from linusg/autodoc-input-event
autodoc: Start search on any search input event, not just keydown
2023-05-13 21:19:51 +02:00
Simon A. Nielsen Knights 4697b30ba0 add application/tar+gzip unblocking sr.ht packages 2023-05-13 12:11:23 -07:00
Josh Wolfe 018b743c7a std: Rewrite low-level json api to support streaming (#15602) 2023-05-13 14:31:53 -04:00
David CARLIER c7bf8bab38 std.os: adding linux's sched_setaffinity and its wrapper 2023-05-13 21:18:18 +03:00
Linus Groh bebb6a45a5 autodoc: Start search on any search input event, not just keydown 2023-05-13 17:52:13 +01:00
xdBronch 4652729217 std.simd.suggestVectorSizeForCpu: fix missing argument in body 2023-05-13 13:35:50 +03:00
Veikka Tuominen 68bacad804 Merge pull request #15643 from Vexu/fixes
make `@call` compile errors match regular calls
2023-05-13 12:52:16 +03:00
David CARLIER 6f418c11e1 linux adding some NUMA support 2023-05-13 12:13:02 +03:00
David CARLIER cceadf52ba std.c: further darwin's host statistics data 2023-05-13 11:55:43 +03:00
Andrew Kelley 88d275199c Merge pull request #15240 from Snektron/spirv-basic
spirv: attempting to get the 'basic' behavior tests running
2023-05-12 14:46:20 -07:00
David CARLIER 6547d23312 std.c: adding basic darwin's host_statistics data. 2023-05-12 20:20:31 +03:00
Veikka Tuominen 5aa9628de3 Sema: handle recursive inferred errors better in analyzeIsNonErrComptimeOnly
Closes #15669
2023-05-12 14:59:26 +03:00
Jonta 3062f9b02a Fix typo in langref
- 768 -> 786
- The link seems to be correct
- The link-text points to a seemingly unrelated issue
2023-05-12 13:39:30 +03:00
shwqf e46d7a3699 Optimize access of array member in a structure. 2023-05-12 09:04:03 +03:00
Andrew Kelley 8de2f77f3b remove the compiler-rt README file
What's the point of this file? It has way too much information and it
attracts contribution churn.

Somebody else should maintain this somewhere else.
2023-05-11 17:40:50 -07:00
InKryption 3c2841c202 std.math.atan: fix mistyped magic constant
Co-authored-by: WiserOrb <diego99.masotti@gmail.com>
2023-05-11 15:56:42 -07:00
mlugg 214f2fc395 Liveness: simplify logic
`branch_deaths` was a relic from before I had a full understanding of
AIR's control flow structure, and so was unnecessary. This change
simplifies Liveness, fixes a bug exposed by #15235, and likely improves
performance (due to cloning hashmaps less often).
2023-05-12 00:01:52 +03:00
Andrew Kelley 6c41d43519 Merge pull request #15641 from jacobly0/cache-race
Cache: fix race condition
2023-05-11 12:51:56 -07:00
Ali Chraghi d61dc3a5a2 spirv: lower store_safe, trunc and trap 2023-05-11 20:31:52 +02:00
Ali Chraghi ccc490ef68 setup spirv backend in behavior tests 2023-05-11 20:31:52 +02:00
Robin Voetter e26d8d0604 spirv: make decl deps a hash map instead of an arraylist
The same declaration can be added to the dependency set multiple
times, and in this case we still need to emit it once. By making
this list a hash map instead, we can do that quite easily.

This commit also introduces some additional debug logging regarding
decls.
2023-05-11 20:31:51 +02:00
Robin Voetter d961b11cde spirv: lower wrap_optional
This implements the wrap_optional AIR instruction.
2023-05-11 20:31:51 +02:00
Robin Voetter 6c16465d45 spirv: lower air optional_payload
Implements lowering the AIR tag optional_payload.

Also fixes an issue with lowering constant ints.
2023-05-11 20:31:51 +02:00
Robin Voetter 83ab1ba8fd spirv: lower air is_null, is_non_null
Implements AIR lowering for is_null and is_non_null tags.

Additionally this cleans up and centralizes the logic to convert from 'direct'
representation to 'indirect' representation and vice-versa. The related functions,
as well as the functions that use it, are all moved near eachother so that the
conversion logic remains in a central place. Extracting/inserting fields
and loading/storing pointers should go through these functions.
2023-05-11 20:31:51 +02:00
Robin Voetter 435a5660ce spirv: fix invalid code generated by br-with-value
The result-id and result-type-id of the OpPhi used to merge the
break values was not properly emitted, as some of the operands
were not written out. This caused an invalid spir-v module.
2023-05-11 20:31:51 +02:00
Robin Voetter f62735d98c spirv: lower air wrap_errunion_err 2023-05-11 20:31:51 +02:00
Robin Voetter 78c44d63da spirv: lower air unwrap_error_union_err 2023-05-11 20:31:50 +02:00
Robin Voetter 0bae2caaf3 spirv: lower air try
Implements code generation for the try air tag. This commit also adds
a utility `errorUnionLayout` function that helps keeping the layout
of a spir-v error union consistent.
2023-05-11 20:31:50 +02:00
Robin Voetter dfecf89d06 spirv: fix OpFunctionCall parameters interleaving with insts
resolve() is now able to emit instructions. If usage of this function is
interleaved with calls to emitRaw() and writeOperand(), then an
instruction may get inserted between operands, causing an invalid module.
The solution here is to just perform a temporary allocation.
2023-05-11 20:31:50 +02:00
Robin Voetter 5d896a6cc6 spirv: fix use-after-realloc in resolveType()
The pointer to a slot in a hash map was fetched before a recursive call.
If the hash map's size changed during the recursive call, this would write
to an invalid pointer.

The solution is to use an index instead of a pointer. Note that care must be
taken that resolved types (from the type_cahce) must not be accessed, as they
might be incomplete during this operation.
2023-05-11 20:31:50 +02:00
Robin Voetter 5e62ba1347 opencl: define size of C types
Define the size of the c types according the OpenCL specification.

Note that OpenCL does not define the size of long double. Clang generates
fp128, even though there is no extension that allows such types. The
llvm-spirv translator simply crashes.
2023-05-11 20:31:50 +02:00
Gregory Mullen aa9ea61216 Add tc{set,get}pgrp to std.os.linux 2023-05-11 19:43:06 +03:00
Andrew Kelley 7f7bd206dc Merge pull request #15519 from dweiller/issue-15482
Optimize lowering of `s[start..][0..len]`
2023-05-11 08:59:44 -07:00
Loris Cro 5512455974 Merge pull request #15637 from der-teufel-programming/autodoc-layouts
autodoc: Add layout to Struct and Union to handle packed and extern
2023-05-11 17:46:29 +02:00
Loris Cro 8ece99083f Merge pull request #15545 from r00ster91/autodocthing
autodoc: make help modal toggleable and allow entering "?" in search
2023-05-11 17:44:55 +02:00
Andrew Kelley 3bb3d39fb4 Merge pull request #15487 from truemedian/http-tests
std.http: more http fixes, add standalone http server test
2023-05-11 08:37:42 -07:00
Andrew Kelley 5569e6b49d Merge pull request #15639 from jacobly0/signed-mod
llvm/cbe: fix signed `@mod`/`@divFloor` computations
2023-05-11 08:36:33 -07:00
Andrew Kelley c857959372 Merge pull request #15640 from jacobly0/min-max
llvm: fix `@max`/`@min` of unsupported float types
2023-05-11 08:35:08 -07:00
Veikka Tuominen 0958d5d7db Sema: fix crash when generating anon name on invalid code
Closes #15615
2023-05-11 17:23:06 +03:00
Veikka Tuominen c0102ac1c8 Sema: add error for resolving inferred error set of generic function
Closes #14991
2023-05-11 17:23:06 +03:00
Veikka Tuominen f0fdaf32d3 fix incorrect use of mutable pointers to temporary values 2023-05-11 17:23:06 +03:00
Veikka Tuominen d761e6cc7d fix formatting in darwin.zig 2023-05-11 14:59:19 +03:00
Veikka Tuominen 67afd2a470 Sema: make @call compile errors match regular calls
Closes #15642
2023-05-11 12:23:57 +03:00
Veikka Tuominen 73f283e3e2 Sema: fix nested call debug info
Closes #15631
2023-05-11 12:23:57 +03:00