Commit Graph

6693 Commits

Author SHA1 Message Date
Alex Martini
aac6d97f3f Merge pull request #40943 from amartini51/significand_exponent_56184186
Make pseudocode look less like real code.
2022-02-08 10:03:33 -08:00
Guillaume Lessard
71627b1b74 [stdlib] make some underscored functions internal 2022-02-05 10:43:54 -07:00
swift_jenkins
b730a41ac5 Merge remote-tracking branch 'origin/main' into next 2022-02-05 08:20:20 -08:00
Guillaume Lessard
1161f92bd7 Merge pull request #39529 from glessard/se-withMemoryRebound 2022-02-05 09:01:05 -07:00
Guillaume Lessard
3f67313cce [gardening] formatting adjustments 2022-02-04 16:26:11 -07:00
Guillaume Lessard
ba416cd008 [abi] forward calls made to the old withMemoryRebound symbols 2022-02-04 16:07:52 -07:00
Guillaume Lessard
2a9fa0c8dd [abi] make the compatibility symbols internal 2022-02-04 15:48:19 -07:00
swift_jenkins
c5f999fd72 Merge remote-tracking branch 'origin/main' into next 2022-02-04 11:40:36 -08:00
Kuba (Brecka) Mracek
1781715d58 constant_vprintf: Add a mode where prints are silenced when -DPRINT_DISABLED is present on the client side (#41177) 2022-02-04 11:38:00 -08:00
swift_jenkins
4ae6acb569 Merge remote-tracking branch 'origin/main' into next 2022-02-04 10:40:46 -08:00
Karoy Lorentey
8533b4295b Merge pull request #37424 from Lukasa/cb-fewer-checks-in-ubp
Remove as much checked math as possible from buffer pointers.
2022-02-04 10:40:24 -08:00
Guillaume Lessard
245426493c [stdlib] documentation clarifications 2022-02-03 20:02:33 -07:00
Guillaume Lessard
c24832677d [stdlib] add U[M]RBP.assumingMemoryBound 2022-02-03 20:02:33 -07:00
Guillaume Lessard
5403129588 [stdlib] add U[M]RBP.withMemoryRebound 2022-02-03 20:02:33 -07:00
Guillaume Lessard
3de1eace23 [stdlib] add U[M]RP.withMemoryRebound 2022-02-03 20:02:33 -07:00
Guillaume Lessard
5f5c75d21a [abi] preserve original implementations of withMemoryRebound 2022-02-03 20:02:33 -07:00
Karoy Lorentey
0a82ef8e13 Re-add debug-mode overflow check in index(_:,_offsetBy:limit:) 2022-02-03 11:40:41 -08:00
Karoy Lorentey
a3fdcfa43f Reword note on wrapping arithmetic 2022-02-03 11:39:44 -08:00
swift_jenkins
4fffb9301d Merge remote-tracking branch 'origin/main' into next 2022-02-02 18:00:48 -08:00
Karoy Lorentey
823e5d4e3e Merge pull request #41132 from lorentey/ObjectIdentifier-single-shot-hashing
[stdlib] Speed up `ObjectIdentifier`-keyed dictionaries
2022-02-02 17:47:19 -08:00
Guillaume Lessard
c2dfb94f88 [stdlib] update existing withMemoryRebound
- updated documentation and adjust implementations
2022-02-02 15:33:28 -07:00
swift_jenkins
885ce9d4d3 Merge remote-tracking branch 'origin/main' into next 2022-02-02 12:20:32 -08:00
Kuba (Brecka) Mracek
e6a1e23a9f Add SWIFT_STDLIB_ENABLE_VECTOR_TYPES to take away support for SIMD (#41149) 2022-02-02 12:06:45 -08:00
Karoy Lorentey
a72544fb77 [stdlib] Speed up ObjectIdentifier-keyed dictionaries
ObjectIdentifier is used relatively frequently as the Key type for dictionaries, so it makes sense for it to implement single-shot hashing. This will lead to a measurable speedup in lookup/insertion performance.

rdar://88339458
2022-02-01 11:34:40 -08:00
swift_jenkins
3462ae5f11 Merge remote-tracking branch 'origin/main' into next 2022-01-31 18:40:47 -08:00
swift-ci
89bb2b5db2 Merge pull request #41089 from philipturner/patch-27 2022-01-31 18:29:30 -08:00
swift_jenkins
914ab8fe8e Merge remote-tracking branch 'origin/main' into next 2022-01-29 11:21:17 -08:00
Philip Turner
80c97da156 Change argument label 2022-01-29 12:41:45 -05:00
Karoy Lorentey
aa3b48f432 [stdlib] Define platform version numbers for SwiftStdlib 5.6 2022-01-27 14:41:07 -08:00
swift_jenkins
41b4d4b034 Merge remote-tracking branch 'origin/main' into next 2022-01-21 12:01:38 -08:00
Alex Martini
d4109704dd Make pseudocode look less like real code.
There isn't actually an ** operator in Swift, so making the formula that
includes ** for exponentiation look like Swift can lead to confusion.

Fixes rdar://56184186
2022-01-20 15:07:23 -08:00
Thomas Roughton
70e9b96243 [stdlib] Make Range.init(_: ClosedRange<Bound>) inlinable
Currently, a simple function such as:

```swift
func makeSingleElementRange(n: Int) -> Range<Int> {
    return Range(n...n)
}
```

will result in the following assembly under optimisation:

```
output.makeSingleElementRange(n: Swift.Int) -> Swift.Range<Swift.Int>:
        sub     rsp, 40
        mov     qword ptr [rsp + 8], rdi
        mov     qword ptr [rsp + 16], rdi
        call    (lazy protocol witness table accessor for type Swift.Int and conformance Swift.Int : Swift.SignedInteger in Swift)
        mov     rcx, rax
        mov     rsi, qword ptr [rip + ($sSiN)@GOTPCREL]
        mov     rdx, qword ptr [rip + ($sSiSxsWP)@GOTPCREL]
        lea     rax, [rsp + 24]
        lea     rdi, [rsp + 8]
        call    ($sSnsSxRzSZ6StrideRpzrlEySnyxGSNyxGcfC)@PLT
        mov     rax, qword ptr [rsp + 24]
        mov     rdx, qword ptr [rsp + 32]
        add     rsp, 40
        ret
```

Mark the `init` as inlinable so these functions can be properly optimised.

Also add a missing line of documentation.
2022-01-16 15:09:03 +13:00
Guillaume Lessard
e24b9b46bc [nfc] document legacy ABI in the implementation of sort 2022-01-12 16:04:59 -07:00
swift_jenkins
368da5d9ee Merge remote-tracking branch 'origin/main' into next 2022-01-12 15:00:58 -08:00
Guillaume Lessard
a1e2ebb3a8 Merge pull request #40081 from HassanElDesouky/sort-optimization
[stdlib] Remove workaround for sort optimization
2022-01-12 15:58:16 -07:00
Hassan
6316555781 [stdlib] Remove workaround for sort optimization issue
Add discardableResult
2022-01-11 23:27:54 +02:00
swift_jenkins
764c642cc2 Merge remote-tracking branch 'origin/main' into next 2022-01-11 13:02:11 -08:00
Alejandro Alonso
6ca7366cd8 Merge pull request #40746 from Azoy/indic-grapheme-clusters
[stdlib] Implement the Indic grapheme breaking rules
2022-01-11 12:50:02 -08:00
swift_jenkins
1f810c12f7 Merge remote-tracking branch 'origin/main' into next 2022-01-10 11:01:39 -08:00
David Smith
12166a9c2d Optimize NSString->AnyHashable and String->AnyHashable 2022-01-08 02:33:51 -08:00
Alejandro Alonso
4a451829f8 Implement the Indic grapheme breaking rules 2022-01-05 16:18:54 -08:00
swift_jenkins
1993c9986a Merge remote-tracking branch 'origin/main' into next 2021-12-22 06:00:53 -08:00
Erik Eckstein
3d33f11e6c cmake/build-script: rename the libswift option to "bootstrapping"
In cmake, rename LIBSWIFT_BUILD_MODE to BOOTSTRAPPING_MODE.
Also, rename the lit feature "libswift" to "swift_in_compiler".
2021-12-22 11:31:52 +01:00
swift_jenkins
eea3e39edf Merge remote-tracking branch 'origin/main' into next 2021-12-21 19:21:32 -08:00
Doug Gregor
78e5846537 Add a feature for Builtin.assumeAlignment
Fixes rdar://86785846
2021-12-21 15:56:15 -08:00
swift_jenkins
e02d316b60 Merge remote-tracking branch 'origin/main' into next 2021-12-20 20:41:06 -08:00
Alejandro Alonso
76fbb3c139 Some fixes for scalar names 2021-12-20 13:51:45 -08:00
swift_jenkins
e67307e314 Merge remote-tracking branch 'origin/main' into next 2021-12-15 13:01:17 -08:00
Chris Adamson
59559ca0ce StdlibRef: Sequence.withContiguousStorageIfAvailable(_:) abstract needs a rewrite (#40334)
* First draft of incorporating material from #38891

* Apply suggestions from Alex's review

Co-authored-by: Alex Martini <amartini@apple.com>

* Rephrase suggested by Alex.

* Remove redundancy re: "don't replace buffer".

* Apply changes from editorial review.

* Apply Sequence edits (a3a3ff1) to MutableCollect'n

* Remove errant space.

Co-authored-by: Guillaume Lessard <glessard@users.noreply.github.com>

Co-authored-by: Chris Adamson <cadamson@apple.com>
Co-authored-by: Alex Martini <amartini@apple.com>
Co-authored-by: Guillaume Lessard <glessard@users.noreply.github.com>
2021-12-15 15:46:47 -05:00
Alex Martini
f1dfaaa663 Fix mentions of nonexistent 'end' parameter.
Follow-on to commit 4c82b7705c.
2021-12-13 11:00:44 -08:00