Stephen Canon
ee9b38ca22
Use an explicit unsigned comparison for span index checks ( #83150 )
...
LLVM ought to be able to do this transformation for us, but it currently fails to do so. We can code around it easily enough. https://github.com/swiftlang/swift/pull/83172 has a better long-term fix.
2025-07-21 16:06:17 -04:00
Guillaume Lessard
b72c4422b8
Merge pull request #81637 from glessard/rdar147780495-OutputSpan-updates
...
[SE-0485] OutputSpan and OutputRawSpan
2025-07-17 14:14:52 -07:00
Guillaume Lessard
2e0c0fea7c
[test] OutputRawSpan tests
2025-07-16 17:15:27 -07:00
Andrew Sukach
4cf7940226
Add missing symbols for Fedora 41
2025-07-16 08:20:34 -07:00
Guillaume Lessard
2689ef31e1
Merge pull request #82959 from glessard/rdar155474776-extracting
...
[stdlib] Implementation for SE-0488
2025-07-15 13:59:00 -07:00
Guillaume Lessard
51eebe1836
[test] fix test of InlineArray initializer
2025-07-14 23:04:49 -07:00
Guillaume Lessard
fa87b3b944
[stdlib] remove bulk-update from MutableRawSpan per SE-0485
2025-07-14 23:04:49 -07:00
Guillaume Lessard
923a6e5292
[stdlib] remove bulk-update from MutableSpan per SE-0485
2025-07-14 23:04:48 -07:00
Guillaume Lessard
97a0bd743a
[stdlib] rename MutableRawSpan.extracting functions
2025-07-14 23:04:48 -07:00
Guillaume Lessard
6439a32997
[stdlib] rename MutableSpan.extracting functions
2025-07-14 23:04:48 -07:00
Guillaume Lessard
5f5e6b68c9
[stdlib] make OutputSpan changes from SE-0485
2025-07-14 23:04:47 -07:00
Guillaume Lessard
5895a64d52
[test] simplify OutputSpan-InlineArray test
2025-07-14 23:04:47 -07:00
Guillaume Lessard
733a261b28
[stdlib] InlineArray consumed by OutputSpan
2025-07-14 23:04:46 -07:00
Guillaume Lessard
1d776a6b06
[stdlib] in-place initializer for InlineArray
2025-07-14 23:04:46 -07:00
Guillaume Lessard
f50ae1b499
[test] OutputSpan tests
2025-07-14 23:04:46 -07:00
Guillaume Lessard
1e3d26f8a6
[stdlib] rename RawSpan.extracting functions
2025-07-09 17:36:35 -07:00
Guillaume Lessard
dd833569e0
[stdlib] rename Span.extracting functions
2025-07-09 17:25:27 -07:00
Guillaume Lessard
7e2697276a
Merge pull request #82851 from glessard/rdar154331399-makeReallyContiguous
...
[stdlib] Make String.makeContiguousUTF8() strictly true
2025-07-09 08:11:30 -07:00
Guillaume Lessard
3dfdd87097
[test] small string compatibility for 32-bit targets
2025-07-08 13:58:00 -07:00
Guillaume Lessard
fe6a8fac39
Merge pull request #82866 from glessard/rdar155275054-default-inits-allspans
...
[stdlib] Default initializers for Span-family types
2025-07-08 09:46:14 -07:00
Guillaume Lessard
368f54771a
[test] immortal no-parameter Span initializers
2025-07-07 18:06:49 -07:00
Guillaume Lessard
987fedf46a
[stdlibUnittest] generalize expectNil(_:)
2025-07-01 15:16:49 -07:00
Guillaume Lessard
db664fbff4
[test] shorten a 32-bit small string (sometimes)
2025-06-26 13:18:57 -07:00
Guillaume Lessard
044e53f3b2
[test] adjust String span tests
2025-06-23 18:38:33 -07:00
michael-yuji
cf2f7154a5
Merge pull request #77836 from michael-yuji/mchiu/freebsd
...
[FreeBSD] Adding FreeBSD support
2025-06-18 19:59:48 -07:00
(null)
aaf283258b
Merge branch 'main' into mchiu/freebsd
2025-06-17 15:41:57 -04:00
(null)
d6811260a9
Merge commit '665515c781999a81094bbe4f8302a7cb1a6a6b39' into mchiu/freebsd
2025-06-17 15:12:23 -04:00
Guillaume Lessard
0433cd292c
[stdlib] add UMBP.mutableSpan accessor
2025-06-16 22:28:21 -07:00
Guillaume Lessard
f952ca5988
[stdlib] add URMBP.mutableBytes accessor
2025-06-16 22:28:21 -07:00
Stephen Canon
bf558a376a
Further relax concrete simd ir tests ( #82242 )
...
It turns out that on some targets we generate a call to initialize a
SIMD vector from a Builtin.Vec, even though everything is transparent,
so the checks for the return using a specific value were too fragile.
rdar://153260158
2025-06-16 20:16:05 -04:00
Stephen Canon
b67050b61d
SIMD test IR not ASM ( #82078 )
2025-06-12 14:38:04 -07:00
Evan Wilde
b2d34ceea2
Merge pull request #82113 from etcwilde/ewilde/fedora-41-symbols
...
Add missing symbols for Fedora41
2025-06-10 11:32:41 -07:00
Stephen Canon
c30fc23013
Stop testing FP16 assembly codegen for now ( #82045 )
...
Older iOS / watchOS targets do not default to having armv8.2 FP16 enabled, so FileCheck was failing when building for those because we didn't have the "right" assembly pattern. Stop testing Float16 compare codegen for now. I'll restore it with an IR test instead of assembly.
Resolves <rdar://152418752>
2025-06-09 13:35:09 -04:00
Evan Wilde
66a4e52a87
Add missing symbols for Fedora41
...
Fixing the linux symbol check to unblock nightly packages.
2025-06-09 09:33:53 -07:00
Guillaume Lessard
694e94b360
[test] remove repetitions
2025-06-07 07:48:34 -07:00
Guillaume Lessard
8a2ff96521
[test] UTF8Span from inline-stored Substring instances
2025-06-07 07:48:33 -07:00
Guillaume Lessard
bc59aedc3f
[test] UTF8Span from inline-stored String instances
2025-06-07 07:48:33 -07:00
Guillaume Lessard
3a96d085c7
Merge pull request #82064 from glessard/generalize-expectNotNil
...
[stdlibUnittest] generalize `expectNotNil(_:)`
2025-06-06 22:04:59 -07:00
Guillaume Lessard
5895077382
[stdlibUnittest] generalize expectNotNil(_:)
...
Generalizes it for non-copyable and non-escapable values.
2025-06-06 09:14:27 -07:00
Karoy Lorentey
e47397730b
Merge pull request #81458 from lorentey/range-contains-perf
...
[stdlib] Mark `contains` methods on `Range/ClosedRange` transparent
2025-06-06 04:12:18 -07:00
Karoy Lorentey
ff3cf98a2d
[stdlib] ClosedRange.contains: Leave this force-inlined, not transparent
...
Making it transparent evidently induces new retain/release traffic in Array’s subscript, even though I can find no indication that `ClosedRange.contains` is ever called by that code path. Oh well.
2025-06-05 19:42:20 -07:00
Mykola (Nickolas) Pokhylets
87e536ebec
Merge pull request #80440 from nickolas-pohilets/mpokhylets/weak-let
2025-06-05 09:59:33 +02:00
Karoy Lorentey
487bacabc0
[stdlib] Delete transparent ~= overload; mark the regular one always-inlined instead
...
The new overload messes up diagnostics too much.
2025-06-04 17:02:54 -07:00
Karoy Lorentey
a6ae23d472
[test] Add rudimentary test for transparent bounds checking helpers
2025-06-04 17:02:53 -07:00
Karoy Lorentey
0826ac6067
[test] Verify that [Closed]Range.contains and Range.~= get inlined even in unoptimized builds
2025-06-04 17:02:52 -07:00
Pavel Yaskevich
b189b8a320
Merge pull request #81936 from xedin/improve-optional-wrappedValue-mismatch-diagnostics
...
[CSSimplify] Fix `matchDeepEqualityTypes` to allow fixing of optionals
2025-06-03 09:19:50 -07:00
Pavel Yaskevich
4132aa04f9
[Tests] NFC: Update all of the test-cases improved by changes to generic argument mismatch handling
2025-06-03 00:49:06 -07:00
Michael Chiu
7bbafc599d
Merge branch 'main' into mchiu/freebsd
2025-06-02 13:33:18 -04:00
Stephen Canon
d49dd182ed
Simd float concrete comparisons ( #81892 )
...
There's no reason for these to ever be calls, so they should be
transparent instead of just aEIC. Also adds concrete versions of
comparisons with scalars, and filecheck tests to make sure these
generate 1-2 instruction sequences in release on arm64 (x86_64 is a
little trickier to test due to frame pointers, but if we get the right
codgen on arm64, in practice we do well on x86_64 for these too).
Also makes filecheck patterns for repeating initializers a bit more
robust.
2025-06-01 20:35:15 -07:00
Stephen Canon
4007e445c5
Add doc comments for some concrete SIMD overloads. ( #81890 )
...
Also removed concrete SIMDMask(lowHalf:highHalf:) init, as there is no
corresponding generic operation; it was added in error.
2025-06-01 09:20:25 -04:00