WIP to add more overloads to optimize SIMD codegen on concrete types.
Here we do:
- init(repeating:)
- init(lowHalf:highHalf:)
These are always inlined, even in debug, since LLVM knows how to lower
them to one or two instructions on the targets that we care about.
Rename `Install-Platform` to `Install-SDK` as it adjusts the SDK layout.
This is something that we should work towards minimising and ensuring
that the install rules in CMake properly stage the files. In the mean
time, this allows us to properly structure the SDK.
Alter the parameters to avoid the explicit OS, extracting it from the
platform set provided. Additionally provide an SDK identifier to allow
us to handle the experimental SDKs as well.
Add support to emit the SDKSettings.json for the experimental SDK. This
ensures that the we have the settings available for the tools when using
this SDK.
Alter the PList and JSON to match contents. While the primary consumer
for the PList is SPM, this synchronises the two just in case. This is in
response to feedback from @jakepetroules.
This adjusts the experimental runtime build to include the overlay,
StringProcessing, Synchronization. This is a first step towards getting
a sufficient amount of the SDK overlay built so that we can start
statically linking a real world program (swift-driver).
The 64-bit ARM architecture spelling on FreeBSD is aarch64, not arm64.
This results in a build failure about a missing
`freebsd/arm64/swiftrt.o` while building the runtimes.
Previously, when invoking the script with match-timestamp, if the
refspec was absent, the find_rev_by_timestamp function would throw an
exception and the script would hang forever.
Here, it is first checked via `git rev-parse --verify $REFSPEC` that the
refspec actually exists in the target repo. If it does not, the refspec
is just omitted from the command, giving the latest commit before the
currently checked out one.
This tells build-script to build Swift-testing with WMO.
This results in a faster build products, but is also necessary for
configurations using the legacy swift driver, which would emit an
invalid swift interface in non-WMO builds.
Fixes: rdar://151357567
...we disabled in #81354
This requires a couple of supporting changes
* under Linux, do not cross compile LLVM when building for the host
architecture -- that will ensure that the compiler-rt build will use
the just built compiler and not the system one (which may not be
new enough for this purpose);
* provide sanitizer flags depending on the linker the just built compiler
will use -- this detection is brittle, so print a message advising the
user how to override this.
Addresses rdar://150849329
This enables `swift run` and `swift test` to use WasmKit when cross-compiling to Wasm with Swift SDKs that have toolsets pointing to WasmKit.
rdar://150382758
We currently cannot boostrap the toolchain with an early swift-driver.
Mark that we are using the old driver. Once the new experimental SDK is
packaged, we should be able to start building the early swift-driver
with static linking to use the bootstrapped driver.