profile
viewpoint

apple/foundationdb 10078

FoundationDB - the open source, distributed, transactional key-value store

apple/darwin-xnu 8221

The Darwin Kernel (mirror)

apple/coremltools 1919

Core ML tools contain supporting tools for Core ML model conversion, editing, and validation.

apple/cups 1107

Official CUPS Sources

apple/ccs-calendarserver 373

The Calendar and Contacts Server.

apple/llvm-project 273

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. This fork is used to manage Apple’s stable releases of Clang as well as support the Swift project.

apple/example-package-dealer 229

Example package for use with the Swift Package Manager

apple/example-package-playingcard 214

Example package for use with the Swift Package Manager

apple/example-package-fisheryates 147

Example package for use with the Swift Package Manager

PullRequestReviewEvent

Pull request review commentapple/foundationdb

Fix FuzzApiCorrectness test failures

 ACTOR Future<Standalone<RangeResultRef>> SpecialKeySpace::checkRYWValid(SpecialK                                                                         KeySelector begin, KeySelector end,                                                                         GetRangeLimits limits, bool reverse) { 	ASSERT(ryw);+	state Future<Void> clientTimeout = delay(5.0); 	choose { 		when(Standalone<RangeResultRef> result = 		         wait(SpecialKeySpace::getRangeAggregationActor(sks, ryw, begin, end, limits, reverse))) { 			return result; 		} 		when(wait(ryw->resetFuture())) { throw internal_error(); }+		when(wait(clientTimeout)) { throw timed_out(); }

I'm not exactly sure what the timeout here is measuring or what bug is being fixed, but this is a slightly different behavior from other client timeouts which are controlled via option and use a different error. I was curious if you had any thoughts about why one would be preferred over the other.

sfc-gh-clin

comment created time in 2 minutes

PullRequestReviewEvent

Pull request review commentapple/servicetalk

Introduce HTTP content encoding H1 & H2

+/*+ * Copyright © 2020 Apple Inc. and the ServiceTalk project authors+ *+ * Licensed under the Apache License, Version 2.0 (the "License");+ * you may not use this file except in compliance with the License.+ * You may obtain a copy of the License at+ *+ *   http://www.apache.org/licenses/LICENSE-2.0+ *+ * Unless required by applicable law or agreed to in writing, software+ * distributed under the License is distributed on an "AS IS" BASIS,+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+ * See the License for the specific language governing permissions and+ * limitations under the License.+ */+package io.servicetalk.http.api;++import java.util.Collection;+import java.util.HashSet;+import java.util.Set;+import javax.annotation.Nullable;++import static java.util.Arrays.asList;+import static java.util.Collections.unmodifiableSet;+import static java.util.Objects.requireNonNull;++/**+ * Default available encoding implementations.+ * Encoding {@link #none()} is always supported regardless of the client or server settings.+ *+ * {@link #all()} is a set that includes all default encodings {@link #deflate()} and {@link #gzip()}.+ */+public final class ContentCodings {++    static final CharSequence GZIP_HEADER = "gzip";+    static final CharSequence DEFLATE_HEADER = "deflate";++    private static final ContentCoding NONE =+            new DefaultContentCoding("identity", new IdentityContentCodec());++    private static final ContentCoding GZIP =+            new DefaultContentCoding("gzip", new GzipContentCodec());++    private static final ContentCoding DEFLATE =+            new DefaultContentCoding("deflate", new DeflateContentCodec());++    private static final Set<ContentCoding> ALL =+            unmodifiableSet(new HashSet<>(asList(NONE, GZIP, DEFLATE)));++    private ContentCodings() {+    }++    /**+     * Returns the default, always supported 'identity' {@link ContentCoding}.+     * @return the default, always supported 'identity' {@link ContentCoding}+     */+    public static ContentCoding none() {+        return NONE;

Let's rename to identity in for both protocols. It helps reduce thinking when the name matches the header value.

tkountis

comment created time in 3 minutes

PullRequestReviewEvent

Pull request review commentapple/servicetalk

Introduce HTTP content encoding H1 & H2

+/*+ * Copyright © 2020 Apple Inc. and the ServiceTalk project authors+ *+ * Licensed under the Apache License, Version 2.0 (the "License");+ * you may not use this file except in compliance with the License.+ * You may obtain a copy of the License at+ *+ *   http://www.apache.org/licenses/LICENSE-2.0+ *+ * Unless required by applicable law or agreed to in writing, software+ * distributed under the License is distributed on an "AS IS" BASIS,+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+ * See the License for the specific language governing permissions and+ * limitations under the License.+ */+package io.servicetalk.http.api;++import io.servicetalk.buffer.api.Buffer;+import io.servicetalk.buffer.api.BufferAllocator;+import io.servicetalk.concurrent.api.Publisher;++/**+ * Codec used to encode and decode {@link Publisher} of {@link Buffer} parts.+ * This instance is shared therefore it must provide thread safety semantics.+ */+public interface ContentCodec {

I think we can merge streaming and non-streaming variants in a single interface and make the streaming variant in the way it applies the non-streaming method as a mapping function for each chunk. Some compression algorithms work in this way, like LZ4. It will reduce the need for implementing a streaming variant when it's not necessary, like for grpc.

Another way is to provide ContentCodec and StreamingContentCodec interfaces. The main idea is to make the compression/decompression logic protocol agnostic, without embedding the logic that manages headers, for cases if we have more protocols in the future. That way users will be able to reuse the codec algorithms without implementing a custom codec for each protocol.

tkountis

comment created time in 5 minutes

PullRequestReviewEvent

pull request commentapple/swift-package-manager

Cleanup PackageModel Module

Woohoo! So it was the fileprivate?

Thanks for your work on this! The code base will be a lot more approachable after the restructuring.

mattt

comment created time in 6 minutes

push eventapple/llvm-project

Duncan P. N. Exon Smith

commit sha b333d6e129f23d204cd3a44ffb9f3a69dc3e0bc9

lldb: Migrate to MemoryBufferRef for createFileID (after 51d1d585e5838ea0f02f1271f7543c4e43639969) I missed these two lldb users before deleting the `UnownedTag` API for `createFileID` in 51d1d585e5838ea0f02f1271f7543c4e43639969. This should fix the build.

view details

Nicolai Hähnle

commit sha 848a68a032d1c59274526abb3220714202d4757e

DomTree: Extract (mostly) read-only logic into type-erased base classes Avoid having to instantiate and compile a subset of the dominator tree logic separately for each node type. More importantly, this allows generic algorithms to be built on top of dominator trees without writing them as templates -- such algorithms can now use opaque CfgBlockRef and CfgInterface instead. A type-erased implementation of dominator trees could be written in terms of CfgInterface as well, but doing so would change the current trade-off: it would slightly reduce code size at the cost of a slight runtime overhead. This patch does not change the trade-off, as it only does type-erasure where basic blocks can be treated in a fully opaque way, i.e. it only moves methods that don't require iteration over CFG successors and predecessors. v5: - rename generic_{begin,end,children} back without the generic_ prefix and refer explictly to base class methods in NewGVN, which wants to mutate the order of dominator tree node children directly v6: - style change: iDom -> idom; it's arguable whether this is really invalid, since it is actually standard camelCase, but clang-tidy complains about it so... *shrug* - rename {to,from}Generic -> {wrap,unwrap}Ref Change-Id: Ib860dc04cf8bb093d8ed00be7def40d662213672 Differential Revision: https://reviews.llvm.org/D83089

view details

push time in 8 minutes

pull request commentapple/swift-package-manager

Cleanup PackageModel Module

@neonichu @abertelrud FYI: Build is passing now. Thanks for your help and patience reviewing this!

mattt

comment created time in 10 minutes

pull request commentapple/swift-package-manager

Add option to define custom scheme for generated xcode project

Thanks for the context; that's very helpful. Yes, the support for binary packages is currently somewhat incomplete, since it only supports XCFrameworks and not binaries for other platforms, and since, as you point out, there's no great way to create them.

Boris's suggestion should work, though, since xcodebuild can read SwiftPM packages and since it knows how to create XCFrameworks. You can get a list of scheme names from xcodebuild by using the -list option, which works even with plain packages. These names are derived from the package manifest contents, and you're right that there isn't currently a way to customize them (unless you open the package in Xcode can create a custom scheme, which then gets stored in a directory inside the package).

Generated projects were first added to SwiftPM as a stopgap until Xcode had native support for packages. The concern with adding functionality to generated projects is just it's a deprecated feature, and doesn't support all new features of SwiftPM such as resources. Over time, the hope is to have Xcode and other IDEs be able to simply open and build packages.

PycKamil

comment created time in 11 minutes

Pull request review commentapple/servicetalk

Introduce HTTP content encoding H1 & H2

+/*+ * Copyright © 2020 Apple Inc. and the ServiceTalk project authors+ *+ * Licensed under the Apache License, Version 2.0 (the "License");+ * you may not use this file except in compliance with the License.+ * You may obtain a copy of the License at+ *+ *   http://www.apache.org/licenses/LICENSE-2.0+ *+ * Unless required by applicable law or agreed to in writing, software+ * distributed under the License is distributed on an "AS IS" BASIS,+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+ * See the License for the specific language governing permissions and+ * limitations under the License.+ */+package io.servicetalk.http.api;++import io.servicetalk.buffer.api.Buffer;+import io.servicetalk.buffer.api.BufferAllocator;+import io.servicetalk.concurrent.api.Publisher;++/**+ * Codec used to encode and decode {@link Publisher} of {@link Buffer} parts.+ * This instance is shared therefore it must provide thread safety semantics.+ */+public interface ContentCodec {++    /**+     * Take a {@link Buffer} and encode its contents resulting in a {@link Buffer} with the encoded contents.+     *+     * @param headers the {@link HttpHeaders} to update content-encoding if needed+     * @param src the {@link Buffer} to encode+     * @param allocator the {@link BufferAllocator} to use for allocating auxiliary buffers or the returned buffer+     * @return {@link Buffer} the result buffer with the content encoded+     */+    default Buffer encode(HttpHeaders headers, Buffer src, BufferAllocator allocator) {+        return encode(headers, src, src.readerIndex(), src.readableBytes(), allocator);+    }++    /**+     * Take a {@link Buffer} and encode its contents resulting in a {@link Buffer} with the encoded contents.+     *+     * @param headers the {@link HttpHeaders} to update content-encoding if needed+     * @param src the {@link Buffer} to encode+     * @param offset the offset of the source to start reading from+     * @param length the total length available for reading+     * @param allocator the {@link BufferAllocator} to use for allocating auxiliary buffers or the returned buffer+     * @return {@link Buffer} the result buffer with the content encoded+     */+    Buffer encode(HttpHeaders headers, Buffer src, int offset, int length, BufferAllocator allocator);

Discussed offline, this looks like a leftover from intermediate work, we need only streaming API for HTTP.

tkountis

comment created time in 12 minutes

PullRequestReviewEvent

push eventapple/llvm-project

vnalamot

commit sha 89f7ccea6f6488c443655880229c54db1f180153

[AMDGPU] Remove getAllVGPR32() which cannot handle Accum VGPRs properly Remove getAllVGPR32() interface and update the SGPR spill code to use a proper method to get the relevant VGPR registers list. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D89806

view details

Ta-Wei Tu

commit sha 529ecd19df1ff7bcbf81a1151c3f7006dc268611

[NPM] port -unify-loop-exits to NPM Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D89774

view details

push time in 13 minutes

pull request commentapple/llvm-project

Add support for more OS types to AddClangModuleCompilationOptionsForS…

@swift-ci test

adrian-prantl

comment created time in 17 minutes

push eventapple/llvm-project

Duncan P. N. Exon Smith

commit sha 729d7d23282e9b00eaa7a5f35a4224929d73d3a4

FileManager: Test FileManager::getFileRef Add a test demonstrating `getFileRef`'s behaviour, which isn't obvious from code inspection when it's handling a redirected file. Differential Revision: https://reviews.llvm.org/D89469

view details

push time in 18 minutes

push eventapple/llvm-project

Duncan P. N. Exon Smith

commit sha 51d1d585e5838ea0f02f1271f7543c4e43639969

clang/Frontend: Use MemoryBufferRef in FrontendInputFile (and remove SourceManager::getBuffer) In order to drop the final callers to `SourceManager::getBuffer`, change `FrontendInputFile` to use `Optional<MemoryBufferRef>`. Also updated the "unowned" version of `SourceManager::createFileID` to take a `MemoryBufferRef` (it now calls `MemoryBuffer::getMemBuffer`, which creates a `MemoryBuffer` that does not own the buffer data). Differential Revision: https://reviews.llvm.org/D89427

view details

push time in 23 minutes

pull request commentapple/swift

Add support for calling C++ constructors

@swift-ci please test and merge.

martinboehme

comment created time in 24 minutes

pull request commentapple/swift

Add support for calling C++ constructors

@swift-ci please test and merge.

martinboehme

comment created time in 26 minutes

pull request commentapple/swift-package-manager

Improve sanitizer usage

@swift-ci please smoke test

keith

comment created time in 27 minutes

PullRequestReviewEvent

pull request commentapple/swift-package-manager

Improve sanitizer usage

Thanks @Keith, these are great fixes and improvements!

keith

comment created time in 27 minutes

pull request commentapple/swift

Add support for calling C++ constructors

Performance: -O

Regression OLD NEW DELTA RATIO
FlattenListFlatMap 3743 5255 +40.4% 0.71x (?)
 
Improvement OLD NEW DELTA RATIO
StringBuilderWithLongSubstring 1830 1670 -8.7% 1.10x (?)

Code size: -O

Performance: -Osize

Improvement OLD NEW DELTA RATIO
NSError 318 229 -28.0% 1.39x (?)

Code size: -Osize

Performance: -Onone

Regression OLD NEW DELTA RATIO
String.data.Medium 190 207 +8.9% 0.92x (?)
DictionaryBridgeToObjC_BulkAccess 198 213 +7.6% 0.93x (?)

Code size: -swiftlibs

<details> <summary><strong>How to read the data</strong></summary> The tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.

If you see any unexpected regressions, you should consider fixing the regressions before you merge the PR.

Noise: Sometimes the performance results (not code size!) contain false alarms. Unexpected regressions which are marked with '(?)' are probably noise. If you see regressions which you cannot explain you can try to run the benchmarks again. If regressions still show up, please consult with the performance team (@eeckstein). </details>

<details> <summary><strong>Hardware Overview</strong></summary>

  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

</details>

martinboehme

comment created time in 28 minutes

push eventapple/llvm-project

Ta-Wei Tu

commit sha 59286b36dfb5da3a73401f66d1fa8d65c7817f94

[NPM] Port -mergereturn to NPM Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D89781

view details

push time in 28 minutes

pull request commentapple/swift-package-manager

Add Build Success Message in Console

@swift-ci please smoke test

federicobucchi

comment created time in 29 minutes

PullRequestReviewEvent
PullRequestReviewEvent

startedapple/swift-syntax

started time in 33 minutes

push eventapple/llvm-project

Martin Liska

commit sha ad2be02a833e56f7fe280797280b219eb3312621

ASAN: Support detect_invalid_pointer_pairs=1 with detect_stack_use_after_return=1 Do not crash when AsanThread::GetStackVariableShadowStart does not find a variable for a pointer on a shadow stack. Differential Revision: https://reviews.llvm.org/D89552

view details

push time in 33 minutes

Pull request review commentapple/swift-package-manager

Add a customized GitRepositoryError and funnel all Git operations thr ough a method that throws one of those if the operation fails

 public class GitRepository: Repository, WorkingCheckout {         // FIXME: Audit behavior with off-branch tags in remote repositories, we         // may need to take a little more care here.         try queue.sync {-            try Process.checkNonZeroExit(-                args: Git.tool, "-C", path.pathString, "checkout", "-f", revision.identifier)+            try callGit("checkout", "-f", revision.identifier,+                failureMessage: "Couldn’t check out revision ‘\(revision.identifier)’")             try self.updateSubmoduleAndClean()         }     }      /// Initializes and updates the submodules, if any, and cleans left over the files and directories using git-clean.     private func updateSubmoduleAndClean() throws {-        try Process.checkNonZeroExit(args: Git.tool,-            "-C", path.pathString, "submodule", "update", "--init", "--recursive", environment: Git.environment)-        try Process.checkNonZeroExit(args: Git.tool,-            "-C", path.pathString, "clean", "-ffdx")+        try callGit("submodule", "update", "--init", "--recursive",+            failureMessage: "Couldn’t update repository submodules")+        try callGit("clean", "-ffdx",+            failureMessage: "Couldn’t clean repository submodules")     }      /// Returns true if a revision exists.     public func exists(revision: Revision) -> Bool {         return queue.sync {-            let result = try? Process.popen(-                args: Git.tool, "-C", path.pathString, "rev-parse", "--verify", revision.identifier)-            return result?.exitStatus == .terminated(code: 0)+            return (try? callGit("rev-parse", "--verify", revision.identifier)) != nil         }     }      public func checkout(newBranch: String) throws {-        precondition(isWorkingRepo, "This operation should run in a working repo.")+        precondition(isWorkingRepo, "This operation is only value in a working repository")

Yes indeed I did. Thanks for catching it!

abertelrud

comment created time in 35 minutes

PullRequestReviewEvent

pull request commentapple/swift

Fix destination for clang-builtin-headers-in-clang-resource-dir

Linux Toolchain (Ubuntu 16.04) Download Toolchain Git Sha - 89abc04445e8b79be3c48c93a6a61bf91b5d1f35

Install command tar zxf swift-PR-34364-468-ubuntu16.04.tar.gz More info

edymtt

comment created time in 36 minutes

pull request commentapple/swift-algorithms

Add "partiallySorted(count:)" to Collection

I made some benchmarks for us to analyze! I pitched this PR's heap implementation with @khanlou's, @timvermeulen 's quicksort version and the slower .sorted().prefix() as a base:

Screenshot 2020-10-20 at 18 21 03

If we fetch a small prefix (4) from an increasing array, then SmallestM will be a lot quicker with the others being similar to each other (although I might have made a mistake, because the first time I've ran this the quicksort one was faster than the heap one)

The interesting thing is what happens if you increase the size of the prefix instead of the size of the array (now a fixed 500k elements:)

Screenshot 2020-10-20 at 18 29 04

SmallestM is a lot faster in general, but if you try to prefix too many elements it will also become worse than sorting the entire array quicker than the other algorithms. Here's the same thing but with a smaller amount of elements (32k):

Screenshot 2020-10-20 at 19 08 13

The place where this cut happens gets smaller the larger the array is, but it looks like 10% is a good number in average. What came to my mind is that the best implementation would likely to be @khanlou's one with an additional logic that falls back to sorting the entire thing if you try to prefix more than 10% of the array. What are your thoughts on this?

rakaramos

comment created time in 40 minutes

pull request commentapple/llvm-project

[lldb][swift] Make swiftTest decorator not always skip

@swift-ci test

Teemperor

comment created time in 41 minutes

PR opened apple/foundationdb

Restore line that stores the data lag seconds of a storage server

This value is used to add a data lag message to status.

+1 -0

0 comment

1 changed file

pr created time in an hour

push eventapple/llvm-project

Lei Zhang

commit sha f2a06875b604c00cbe96e54363f4f5d28935d610

Wrap CfgTraitsFor in namespace llvm to please GCC 5

view details

push time in an hour

pull request commentapple/swift

Avoid introducing critical edges in SimplifyCFG

Performance: -O

Regression OLD NEW DELTA RATIO
SuffixSequence 171 1811 +959.1% 0.09x
SuffixSequenceLazy 171 1774 +937.4% 0.10x
FlattenListFlatMap 3383 18791 +455.5% 0.18x
SortIntPyramid 455 740 +62.6% 0.61x
SortAdjacentIntPyramids 640 945 +47.7% 0.68x
ArrayAppendSequence 500 670 +34.0% 0.75x
AngryPhonebook.ASCII2 109 142 +30.3% 0.77x (?)
ObjectiveCBridgeStubDataAppend 1820 2300 +26.4% 0.79x
DropWhileAnySeqCRangeIterLazy 55 69 +25.5% 0.80x
DropWhileAnySeqCntRangeLazy 55 69 +25.5% 0.80x
Data.init.Sequence.64kB.Count0.I 140 171 +22.1% 0.82x
RemoveWhereSwapInts 10 12 +20.0% 0.83x (?)
Data.init.Sequence.64kB.Count0 142 169 +19.0% 0.84x
DropWhileArrayLazy 49 58 +18.4% 0.84x
UTF8Decode_InitDecoding 144 170 +18.1% 0.85x
Data.append.Sequence.64kB.Count0 140 165 +17.9% 0.85x (?)
Data.append.Sequence.64kB.Count0.I 140 165 +17.9% 0.85x (?)
Data.append.Sequence.809B.Count0 205 240 +17.1% 0.85x (?)
ObjectiveCBridgeStubDateAccess 130 152 +16.9% 0.86x
Set.isDisjoint.Seq.Empty.Int 79 92 +16.5% 0.86x (?)
Data.append.Sequence.809B.Count0.I 212 246 +16.0% 0.86x (?)
UTF8Decode_InitFromCustom_contiguous 145 168 +15.9% 0.86x
DistinctClassFieldAccesses 183 212 +15.8% 0.86x (?)
Data.init.Sequence.809B.Count0 247 284 +15.0% 0.87x (?)
SuffixAnySequence 1631 1864 +14.3% 0.88x
Data.append.Sequence.64kB.Count0.RE 146 166 +13.7% 0.88x (?)
IterateData 871 990 +13.7% 0.88x (?)
Data.append.Sequence.64kB.Count0.RE.I 146 165 +13.0% 0.88x (?)
Data.init.Sequence.809B.Count0.I 247 279 +13.0% 0.89x (?)
Data.append.Sequence.809B.Count0.RE 219 245 +11.9% 0.89x
Set.isDisjoint.Seq.Int100 115 128 +11.3% 0.90x
NormalizedIterator_ascii 80 89 +11.2% 0.90x (?)
Set.isDisjoint.Seq.Int.Empty 46 51 +10.9% 0.90x (?)
DataSubscriptMedium 37 41 +10.8% 0.90x (?)
Data.init.Sequence.2049B.Count0.I 286 316 +10.5% 0.91x (?)
DictionarySwap 612 676 +10.5% 0.91x (?)
Data.init.Sequence.2047B.Count0.I 285 312 +9.5% 0.91x (?)
StringToDataSmall 550 600 +9.1% 0.92x (?)
Data.init.Sequence.511B.Count0.I 279 304 +9.0% 0.92x (?)
UTF8Decode_InitFromCustom_noncontiguous 274 298 +8.8% 0.92x (?)
Set.isSubset.Seq.Empty.Int 80 87 +8.7% 0.92x (?)
Set.isDisjoint.Empty.Int 86 93 +8.1% 0.92x (?)
Set.isDisjoint.Empty.Box 87 94 +8.0% 0.93x (?)
Set.isSuperset.Seq.Int.Empty 87 94 +8.0% 0.93x (?)
Set.isDisjoint.Seq.Empty.Box 87 94 +8.0% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
DropLastAnySequence 1483 347 -76.6% 4.27x
Data.append.Sequence.64kB.Count.RE.I 44 20 -54.5% 2.20x
Data.append.Sequence.64kB.Count.RE 44 20 -54.5% 2.20x
ArrayAppendLazyMap 1560 850 -45.5% 1.84x
RangeOverlapsClosedRange 115 74 -35.7% 1.55x
Data.append.Sequence.809B.Count.RE.I 91 59 -35.2% 1.54x
DataAppendSequence 8900 5900 -33.7% 1.51x
Data.append.Sequence.809B.Count.RE 89 60 -32.6% 1.48x
RemoveWhereSwapStrings 432 308 -28.7% 1.40x
SetSymmetricDifferenceInt100 145 107 -26.2% 1.36x
ArrayAppendLatin1Substring 25488 19296 -24.3% 1.32x
ArrayAppendUTF16Substring 24912 18900 -24.1% 1.32x
ArrayAppendAsciiSubstring 25452 19332 -24.0% 1.32x
SetSymmetricDifferenceInt50 140 118 -15.7% 1.19x (?)
ReversedBidirectional 11581 9990 -13.7% 1.16x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 880 760 -13.6% 1.16x
CharIndexing_punctuated_unicodeScalars 920 800 -13.0% 1.15x
DataCountMedium 17 15 -11.8% 1.13x (?)
CharIndexing_utf16_unicodeScalars 5080 4520 -11.0% 1.12x (?)
SetSymmetricDifferenceInt25 133 120 -9.8% 1.11x (?)
Calculator 158 143 -9.5% 1.10x (?)
DataSetCountMedium 220 200 -9.1% 1.10x (?)
AngryPhonebook.Strasse 140 128 -8.6% 1.09x (?)
AngryPhonebook.Armenian 155 143 -7.7% 1.08x (?)
AngryPhonebook.Cyrillic 167 155 -7.2% 1.08x (?)

Code size: -O

Regression OLD NEW DELTA RATIO
Suffix.o 20925 26085 +24.7% 0.80x
PrimsNonStrongRef.o 124508 131500 +5.6% 0.95x
StringRemoveDupes.o 5373 5485 +2.1% 0.98x
DictTest3.o 14973 15181 +1.4% 0.99x
UTF8Decode.o 23539 23827 +1.2% 0.99x
DictTest.o 13828 13972 +1.0% 0.99x
 
Improvement OLD NEW DELTA RATIO
main.o 57911 49415 -14.7% 1.17x
ObjectiveCBridgingStubs.o 16085 14101 -12.3% 1.14x
Mirror.o 10854 10086 -7.1% 1.08x
FlattenList.o 3914 3690 -5.7% 1.06x
RangeOverlaps.o 6038 5798 -4.0% 1.04x
DictTest4.o 15674 15226 -2.9% 1.03x
DropLast.o 20639 20142 -2.4% 1.02x
SortLettersInPlace.o 8038 7873 -2.1% 1.02x
ArrayAppend.o 22967 22543 -1.8% 1.02x
COWTree.o 10604 10428 -1.7% 1.02x
Prefix.o 15080 14888 -1.3% 1.01x
CSVParsing.o 53379 52723 -1.2% 1.01x
DropFirst.o 16932 16740 -1.1% 1.01x

Performance: -Osize

Regression OLD NEW DELTA RATIO
SuffixSequenceLazy 623 2089 +235.3% 0.30x
SuffixSequence 624 1971 +215.9% 0.32x
Data.init.Sequence.64kB.Count 29 58 +100.0% 0.50x
Data.init.Sequence.64kB.Count.I 30 59 +96.7% 0.51x
Data.init.Sequence.2047B.Count.I 54 101 +87.0% 0.53x
Data.init.Sequence.2049B.Count.I 54 101 +87.0% 0.53x
DropLastArrayLazy 5 9 +80.0% 0.56x
SuffixArray 5 9 +80.0% 0.56x
Data.init.Sequence.809B.Count.I 53 91 +71.7% 0.58x
Data.init.Sequence.809B.Count 54 91 +68.5% 0.59x
Set.isSuperset.Seq.Box25 119 194 +63.0% 0.61x
Data.init.Sequence.511B.Count.I 68 103 +51.5% 0.66x
Data.init.Sequence.513B.Count.I 67 101 +50.7% 0.66x
ParseInt.UInt64.Decimal 178 267 +50.0% 0.67x
Data.init.Sequence.64kB.Count.RE.I 20 30 +50.0% 0.67x
Data.init.Sequence.64kB.Count.RE 20 30 +50.0% 0.67x
RemoveWhereMoveInts 6 9 +50.0% 0.67x
Data.append.Sequence.64kB.Count0.I 134 200 +49.3% 0.67x
Data.init.Sequence.64kB.Count0 135 193 +43.0% 0.70x
Data.append.Sequence.64kB.Count0 135 191 +41.5% 0.71x
Data.append.Sequence.809B.Count0 198 274 +38.4% 0.72x
Data.init.Sequence.64kB.Count0.I 135 186 +37.8% 0.73x
Data.append.Sequence.809B.Count0.I 202 273 +35.1% 0.74x
UTF8Decode 255 342 +34.1% 0.75x
Data.init.Sequence.2049B.Count0.I 261 349 +33.7% 0.75x
Data.init.Sequence.2047B.Count0.I 259 345 +33.2% 0.75x
UTF8Decode_InitFromCustom_noncontiguous 304 401 +31.9% 0.76x
UTF8Decode_InitFromCustom_noncontiguous_ascii 761 994 +30.6% 0.77x
AngryPhonebook.ASCII2 109 142 +30.3% 0.77x
Data.init.Sequence.809B.Count.RE 47 61 +29.8% 0.77x
Dictionary4 155 200 +29.0% 0.78x
Data.init.Sequence.809B.Count.RE.I 47 59 +25.5% 0.80x
UTF8Decode_InitFromCustom_noncontiguous_ascii_as_ascii 872 1089 +24.9% 0.80x
Set.isDisjoint.Seq.Box0 492 608 +23.6% 0.81x
ObjectiveCBridgeStubDataAppend 1980 2380 +20.2% 0.83x (?)
ArrayPlusEqualSingleElementCollection 470 564 +20.0% 0.83x (?)
DropLastCountableRangeLazy 5 6 +20.0% 0.83x (?)
Set.isDisjoint.Seq.Box25 363 434 +19.6% 0.84x
Data.init.Sequence.809B.Count0.I 244 288 +18.0% 0.85x (?)
Set.isDisjoint.Seq.Empty.Box 81 95 +17.3% 0.85x
Data.init.Sequence.511B.Count0.I 267 313 +17.2% 0.85x (?)
Data.init.Sequence.513B.Count0.I 267 312 +16.9% 0.86x (?)
Data.init.Sequence.809B.Count0 247 286 +15.8% 0.86x (?)
Data.init.Sequence.809B.Count0.RE.I 240 275 +14.6% 0.87x (?)
UTF8Decode_InitDecoding 146 167 +14.4% 0.87x (?)
RangeOverlapsClosedRange 49 56 +14.3% 0.88x (?)
Data.init.Sequence.64kB.Count0.RE 134 153 +14.2% 0.88x
Data.init.Sequence.64kB.Count0.RE.I 135 154 +14.1% 0.88x
Data.init.Sequence.809B.Count0.RE 240 273 +13.7% 0.88x (?)
UTF8Decode_InitFromCustom_contiguous 147 167 +13.6% 0.88x (?)
ArrayInClass 900 1020 +13.3% 0.88x
StrToInt 1140 1290 +13.2% 0.88x
ParseInt.IntSmall.UncommonRadix 351 394 +12.3% 0.89x (?)
ParseInt.IntSmall.Decimal 321 359 +11.8% 0.89x
SuffixAnySequence 1836 2043 +11.3% 0.90x
DropLastAnySeqCntRange 441 487 +10.4% 0.91x (?)
Set.isDisjoint.Seq.Int100 116 128 +10.3% 0.91x (?)
Set.isSubset.Seq.Empty.Int 80 88 +10.0% 0.91x
Set.isDisjoint.Seq.Empty.Int 84 92 +9.5% 0.91x (?)
ConvertFloatingPoint.MockFloat64ToInt64 529 579 +9.5% 0.91x (?)
ParseInt.UInt64.Hex 373 406 +8.8% 0.92x
Set.isSuperset.Seq.Box0 194 211 +8.8% 0.92x (?)
DictionarySwap 612 664 +8.5% 0.92x (?)
NormalizedIterator_ascii 83 90 +8.4% 0.92x (?)
Set.isDisjoint.Empty.Int 86 93 +8.1% 0.92x
Data.append.Sequence.64kB.Count0.RE.I 136 147 +8.1% 0.93x (?)
Set.isDisjoint.Empty.Box 88 95 +8.0% 0.93x
Set.isSuperset.Seq.Int.Empty 88 95 +8.0% 0.93x
Set.isSuperset.Seq.Int0 119 128 +7.6% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
DropLastAnySequence 1767 477 -73.0% 3.70x
ConvertFloatingPoint.MockFloat64Exactly2 16 6 -62.5% 2.67x
DropFirstArrayLazy 26 13 -50.0% 2.00x
DropFirstArray 26 14 -46.2% 1.86x
ArrayAppendRepeatCol 850 510 -40.0% 1.67x
DataCreateMedium 6300 4100 -34.9% 1.54x
DataCountSmall 19 15 -21.1% 1.27x
SuffixCountableRangeLazy 5 4 -20.0% 1.25x (?)
DictionaryRemove 3910 3390 -13.3% 1.15x (?)
StringComparison_ascii 406 358 -11.8% 1.13x
ReversedBidirectional 13307 11819 -11.2% 1.13x
PrefixAnySeqCRangeIter 120 107 -10.8% 1.12x
PrefixAnySeqCntRange 120 107 -10.8% 1.12x
CharIndexing_ascii_unicodeScalars_Backwards 6680 5960 -10.8% 1.12x (?)
DataSubscriptSmall 19 17 -10.5% 1.12x (?)
DropFirstAnySeqCRangeIterLazy 143 128 -10.5% 1.12x (?)
CharIndexing_tweet_unicodeScalars_Backwards 13160 11800 -10.3% 1.12x (?)
AngryPhonebook.Strasse 142 128 -9.9% 1.11x (?)
DropFirstAnySeqCntRangeLazy 143 129 -9.8% 1.11x (?)
DropWhileAnySeqCRangeIterLazy 184 166 -9.8% 1.11x (?)
DropWhileAnySeqCntRangeLazy 184 166 -9.8% 1.11x (?)
SuffixAnyCollection 41 37 -9.8% 1.11x (?)
PrefixAnySeqCRangeIterLazy 134 121 -9.7% 1.11x
PrefixAnySeqCntRangeLazy 134 121 -9.7% 1.11x (?)
ArrayOfPOD 370 335 -9.5% 1.10x (?)
NibbleSort 2500 2270 -9.2% 1.10x (?)
PrefixAnyCollection 113 103 -8.8% 1.10x (?)
PrefixWhileAnyCollection 140 128 -8.6% 1.09x (?)
AngryPhonebook.Armenian 155 143 -7.7% 1.08x (?)
AngryPhonebook.Cyrillic 167 155 -7.2% 1.08x (?)
RemoveWhereSwapInts 15 14 -6.7% 1.07x (?)

Code size: -Osize

Regression OLD NEW DELTA RATIO
Suffix.o 19988 24709 +23.6% 0.81x
StaticArray.o 10825 11525 +6.5% 0.94x
StringRemoveDupes.o 4374 4519 +3.3% 0.97x
IterateData.o 1724 1777 +3.1% 0.97x
StrToInt.o 3360 3431 +2.1% 0.98x
RangeReplaceableCollectionPlusDefault.o 4305 4376 +1.6% 0.98x
DictTest.o 12034 12208 +1.4% 0.99x
PrimsNonStrongRef.o 92797 93990 +1.3% 0.99x
DropFirst.o 15891 16085 +1.2% 0.99x
DictTest3.o 13336 13475 +1.0% 0.99x
 
Improvement OLD NEW DELTA RATIO
ArrayOfPOD.o 3117 2904 -6.8% 1.07x
RecursiveOwnedParameter.o 1300 1232 -5.2% 1.06x
DropLast.o 19687 19069 -3.1% 1.03x
MonteCarloE.o 2702 2624 -2.9% 1.03x
Walsh.o 4018 3953 -1.6% 1.02x
Prefix.o 16287 16038 -1.5% 1.02x
ArrayInClass.o 4359 4296 -1.4% 1.01x
DiffingMyers.o 6178 6090 -1.4% 1.01x

Performance: -Onone

Regression OLD NEW DELTA RATIO
AngryPhonebook.ASCII2 110 144 +30.9% 0.76x
ArrayAppendLatin1 19754 24820 +25.6% 0.80x (?)
ArrayAppendAscii 19788 24684 +24.7% 0.80x
ArrayAppendAsciiSubstring 39384 48420 +22.9% 0.81x
ArrayAppendUTF16 19754 24072 +21.9% 0.82x
PopFrontArrayGeneric 3840 4660 +21.4% 0.82x (?)
ArrayAppendUTF16Substring 39312 47664 +21.2% 0.82x
ArrayAppendLatin1Substring 39888 48060 +20.5% 0.83x
ObjectiveCBridgeStubDataAppend 2540 3040 +19.7% 0.84x
UTF8Decode_InitFromCustom_contiguous 160 178 +11.2% 0.90x
UTF8Decode_InitDecoding 158 175 +10.8% 0.90x (?)
ObjectiveCBridgeStubDateAccess 4649 5033 +8.3% 0.92x (?)
ArrayInClass 2705 2915 +7.8% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
StringRemoveDupes 727 643 -11.6% 1.13x (?)
Dict.CopyKeyValue.16k 3589 3263 -9.1% 1.10x (?)
AngryPhonebook.Strasse 140 128 -8.6% 1.09x (?)
AngryPhonebook.Armenian 156 143 -8.3% 1.09x (?)
TwoSum 2802 2586 -7.7% 1.08x (?)
AngryPhonebook.Cyrillic 166 155 -6.6% 1.07x (?)

Code size: -swiftlibs

Improvement OLD NEW DELTA RATIO
libswiftFoundation.dylib 1327104 1310720 -1.2% 1.01x

<details> <summary><strong>How to read the data</strong></summary> The tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.

If you see any unexpected regressions, you should consider fixing the regressions before you merge the PR.

Noise: Sometimes the performance results (not code size!) contain false alarms. Unexpected regressions which are marked with '(?)' are probably noise. If you see regressions which you cannot explain you can try to run the benchmarks again. If regressions still show up, please consult with the performance team (@eeckstein). </details>

<details> <summary><strong>Hardware Overview</strong></summary>

  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: 6-Core Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

</details>

atrick

comment created time in an hour

push eventapple/llvm-project

Jianzhou Zhao

commit sha 91dc545bf24daa60c21c93039408061194dd0ab3

Set Huge Page mode on shadow regions based on no_huge_pages_for_shadow It turned out that at dynamic shared library mode, the memory access pattern can increase memory footprint significantly on OS when transparent hugepages (THP) are enabled. This could cause >70x memory overhead than running a static linked binary. For example, a static binary with RSS overhead 300M can use > 23G RSS if it is built dynamically. /proc/../smaps shows in 6204552 kB RSS 6141952 kB relates to AnonHugePages. Also such a high RSS happens in some rate: around 25% runs may use > 23G RSS, the rest uses in between 6-23G. I guess this may relate to how user memory is allocated and distributted across huge pages. THP is a trade-off between time and space. We have a flag no_huge_pages_for_shadow for sanitizer. It is true by default but DFSan did not follow this. Depending on if a target is built statically or dynamically, maybe Clang can set no_huge_pages_for_shadow accordingly after this change. But it still seems fine to follow the default setting of no_huge_pages_for_shadow. If time is an issue, and users are fine with high RSS, this flag can be set to false selectively.

view details

push time in an hour

push eventapple/swift

Artem Chikin

commit sha d7a6ded7aa73611b3b9c2ec02b408f5c1651754c

[Dependency Scanner] Do not escape strings in the scanner output When outputting strings for things like filenames, using `write_escaped` will result in Unicode characters being outputted with a full 3-character-octal or hex escape. Clients which expect a UTF-8 JSON output will not be able to parse such escape sequences.

view details

Artem Chikin

commit sha 792c4b7a496df0d5776a0ed3d8f2d2182ba41490

Merge pull request #34360 from artemcm/DoNotEscapeScannerOutputStrings [Dependency Scanner] Do not escape strings in the scanner output

view details

push time in an hour

PR merged apple/swift

[Dependency Scanner] Do not escape strings in the scanner output

When outputting strings for things like filenames, using write_escaped will result in Unicode characters being outputted with a full 3-character-octal or hex escape. Clients which expect a UTF-8 JSON output will not be able to parse such escape sequences.

+20 -4

6 comments

3 changed files

artemcm

pr closed time in an hour

Pull request review commentapple/swift

[Docs] Clarifies `ObjectIdentifier` guarantees

 /// /// In Swift, only class instances and metatypes have unique identities. There /// is no notion of identity for structs, enums, functions, or tuples.+///+/// `ObjectIdentifier` is only guaranteed to remain unique for the+/// lifetime of an object. When the instance gets deallocated, its object +/// identifier may be reused for a different object. (Internally, objects are+/// identified by their memory location.)+///+/// If you need an object identifier over the lifetime of an object, it may+/// be appropriate to provide a custom implementation of `Identifiable`.

I don't think this final paragraph is correct.

Firstly, it may be misleading, because a custom implementation of Identifiable won't directly affect ObjectIdentifier.

Secondly, it should say something more like "a unique object identifier over the lifetime of a program".

sunbohong

comment created time in an hour

PullRequestReviewEvent
PullRequestReviewEvent

push eventapple/llvm-project

Jonas Devlieghere

commit sha e6aba2ffcc757c682a109bcf1591b8e1a578d08c

[llvm] Make obj2yaml and yaml2obj LLVM utilities instead of tools For testing purposes I need a way to build and install FileCheck and yaml2obj. I had to choose between making FileCheck an LLVM tool and making obj2yaml and yaml2obj utilities. I think the distinction is rather arbitrary but my understanding is that tools are things meant for the toolchain while utilities are more used for things like testing, which is the case here. The functional difference is that these tools now end up in the ${LLVM_UTILS_INSTALL_DIR}, which defaults to the ${LLVM_TOOLS_INSTALL_DIR}. Unless you specified a different value or you added obj2yaml and yaml2obj to ${LLVM_TOOLCHAIN_TOOLS}, this patch shouldn't change anything. Differential revision: https://reviews.llvm.org/D89357 (cherry picked from commit 97b8e2c1f063529125a8d1604d2745878c016061)

view details

Jonas Devlieghere

commit sha 5ec381467b187c060595442dfb1756e38c6b1d9d

Merge pull request #1998 from JDevlieghere/🍒/bastille/97b8e2c1f063 [llvm] Make obj2yaml and yaml2obj LLVM utilities instead of tools

view details

git apple-llvm automerger

commit sha e0ff7577a5ca2dfc5b95cc1d7b8e6144e48de878

Merge commit '5ec381467b18' from apple/stable/20200714 into swift/main

view details

push time in an hour

pull request commentapple/swift-corelibs-foundation

[Windows] Make mach_absolute_time implementation consistent with libdispatch

Is this worth cherry-picking back to 5.3?

lxbndr

comment created time in an hour

push eventapple/llvm-project

Fangrui Song

commit sha 38b632c16e0fdfd5f5a69bcfd4aecf6f69ea0186

[ELF] --gdb-index: support --icf={safe,all} The combination has not been tested before. In the case of ICF, `e.section->getVA(0)` equals the start address of the output section. This can cause incorrect overlapping with the actual function at the start of the output section and potentially trigger a GDB internal error in `dw2_find_pc_sect_compunit_symtab` (presumably because: if a short address range incorrectly starts at the start address of the output section, GDB may pick it instead of the correct longer address range. When mapping an address within the long address range but out of the scope of the short address range, the routine may find nothing - while the code asserts that it can find something). Note that in the case of ICF there may be duplicate address range entries, but GDB appears to be fine with them. Reviewed By: grimar Differential Revision: https://reviews.llvm.org/D89751

view details

Martin Storsjö

commit sha b30e42922aeaeb70efbfcf7c2132dae21239a023

[libcxx] [test] Avoid conflicting definitions of _CRT_SECURE_NO_WARNINGS This is defined both by libcxx/utils/libcxx/test/config.py (for any windows target) and msvc_stdlib_force_include.h (when testing specifically the MSVC C++ library). The command line define (-D_CRT_SECURE_NO_WARNINGS) defines it to the value 1; change the header define to match that. Keeping both instances, to keep the fix for cases when not building in cases that don't use config.py. Also remove a comment about whether this can be removed; it can't at least be removed altogether - doing that breaks a number of tests that otherwise succeed. Differential Revision: https://reviews.llvm.org/D89588

view details

Martin Storsjö

commit sha 87d7c0009265951f988ea551203500ccfa141b15

[libcxx] [test] Fix path.modifiers/make_preferred for windows Use p.string() instead of p.native() for comparing with the expected value. Explicitly list the expected values for both posix and windos, even if the operation is an identity operation on posix. Differential Revision: https://reviews.llvm.org/D89532

view details

push time in an hour

pull request commentapple/swift-syntax

Make DiagnosticEngine thread safe

@swift-ci Please test

keith

comment created time in an hour

pull request commentapple/swift-syntax

Replace unevaluated gyb values in documentation comments

@swift-ci Please test

mattt

comment created time in an hour

pull request commentapple/swift-syntax

Replace unevaluated gyb values in documentation comments

@swift-ci please smoke test

mattt

comment created time in an hour

PR opened apple/swift-syntax

Replace unevaluated gyb values in documentation comments

Some of the documentation comments in SyntaxProtocol include unescaped GYB expressions (${node.name}), which appear to be a copy-paste error introduced in 65a49c426aeccfe8e5738a6fafad7c99ccaff6e5. This PR replaces them with the phrase "syntax node", to match the other documentation comments.

+3 -3

0 comment

1 changed file

pr created time in an hour

startedapple/darwin-xnu

started time in an hour

Pull request review commentapple/llvm-project

[lldb][swift] Make swiftTest decorator not always skip

 def skipIfAsan(func):     """Skip this test if the environment is set up to run LLDB *itself* under ASAN."""     return skipTestIfFn(is_running_under_asan)(func) -def _get_bool_config_skip_if_decorator(key):+def _get_bool_config(key):     config = lldb.SBDebugger.GetBuildConfiguration()     value_node = config.GetValueForKey(key)     fail_value = True # More likely to notice if something goes wrong-    have = value_node.GetValueForKey("value").GetBooleanValue(fail_value)+    return value_node.GetValueForKey("value").GetBooleanValue(fail_value)++def _get_bool_connfig_skip_if_decorator(key):

Interesting, because the tests on swift CI actually did run as expected: https://ci.swift.org/job/apple-llvm-project-pr-linux/1530/console

Teemperor

comment created time in an hour

PullRequestReviewEvent

pull request commentapple/swift

Add support for calling C++ constructors

Actually, thinking about it, that won't work because even if it does correctly merge the branches before benchmarking, the benchmark will be shown as "added" so, we won't be able to get any real data from it.

martinboehme

comment created time in an hour

Pull request review commentapple/llvm-project

[lldb][swift] Make swiftTest decorator not always skip

 def skipIfAsan(func):     """Skip this test if the environment is set up to run LLDB *itself* under ASAN."""     return skipTestIfFn(is_running_under_asan)(func) -def _get_bool_config_skip_if_decorator(key):+def _get_bool_config(key):     config = lldb.SBDebugger.GetBuildConfiguration()     value_node = config.GetValueForKey(key)     fail_value = True # More likely to notice if something goes wrong-    have = value_node.GetValueForKey("value").GetBooleanValue(fail_value)+    return value_node.GetValueForKey("value").GetBooleanValue(fail_value)++def _get_bool_connfig_skip_if_decorator(key):

it didn't work for me, I only noticed this because of python exceptions

Teemperor

comment created time in 2 hours

PullRequestReviewEvent

pull request commentapple/indexstore-db

[build-script-helper] make it run under Python 3

@swift-ci please test macOS

buttaface

comment created time in 2 hours

pull request commentapple/swift

Add support for calling C++ constructors

https://github.com/apple/swift/pull/32721 @swift-ci please benchmark.

martinboehme

comment created time in 2 hours

pull request commentapple/swift

Add support for calling C++ constructors

Thanks, @rjmccall. Given that you've both approved this PR, I'm going to go ahead and land it now.

Before it lands, I want to run the benchmarks, though. As much to test #32721 as anything else. Hopefully, this swift-ci incantation will work.

martinboehme

comment created time in 2 hours

startedapple/swift

started time in 2 hours

PullRequestReviewEvent

fork mattt/swift-syntax

SwiftPM package for SwiftSyntax library.

fork in 2 hours

push eventapple/llvm-project

Jianzhou Zhao

commit sha cc07fbe37dc82eeb3e6261a4c54f44b22cbb531d

Release pages to OS when setting 0 label This is a follow up patch of https://reviews.llvm.org/D88755. When set 0 label for an address range, we can release pages within the corresponding shadow address range to OS, and set only addresses outside the pages to be 0. Reviewed-by: morehouse, eugenis Differential Revision: https://reviews.llvm.org/D89199

view details

push time in 2 hours

PullRequestReviewEvent

push eventapple/llvm-project

Sean Silva

commit sha f4abd3ed6d95e66470a0c8cc132e61782896527a

[mlir] Add std.dynamic_tensor_from_elements bufferization. It's unfortunate that this requires adding a dependency on scf dialect to std bufferization (and hence all of std transforms). This is a bit perilous. We might want a lib/Transforms/Bufferize/ with a separate bufferization library per dialect? Differential Revision: https://reviews.llvm.org/D89667

view details

git apple-llvm automerger

commit sha 9eab42ac1485d04c24ee95ebbece661506d2da6b

Merge commit 'f4abd3ed6d95' from llvm.org/master into apple/main

view details

git apple-llvm automerger

commit sha 011393f6720fd814d820dd6ed7757aca89a0938a

Merge commit '9eab42ac1485' from apple/main into swift/next

view details

Sean Silva

commit sha 7885bf8b78e21a29e27c598e0aed602de8f15260

[mlir][DialectConversion] Fix recursive `clone` calls. The framework was not tracking ops created in any regions of the cloned op. Differential Revision: https://reviews.llvm.org/D89668

view details

Sean Silva

commit sha 57211fd239a3a3efe89f0b7091f86a167f8301ff

[mlir] Use dynamic_tensor_from_elements in shape.broadcast conversion Now, convert-shape-to-std doesn't internally create memrefs, which was previously a bit of a layering violation. The conversion to memrefs should logically happen as part of bufferization. Differential Revision: https://reviews.llvm.org/D89669

view details

git apple-llvm automerger

commit sha c330fc8bbddf2f7b42ba5bc1fe97c8fc0c6e8b13

Merge commit '7885bf8b78e2' from llvm.org/master into apple/main

view details

git apple-llvm automerger

commit sha 39fc79a04796b384ec81a3638f7c7fd0fd1d66ad

Merge commit '57211fd239a3' from llvm.org/master into apple/main

view details

git apple-llvm automerger

commit sha fd907e25eb07628450df846eb0b5c2761f40864d

Merge commit 'c330fc8bbddf' from apple/main into swift/next

view details

git apple-llvm automerger

commit sha 1a2bc543165edfdfaaeb88d5e81bd13c35474a0a

Merge commit '39fc79a04796' from apple/main into swift/next

view details

push time in 2 hours

fork tdavis-trak/swift-package-manager

The Package Manager for the Swift Programming Language

fork in 2 hours

Pull request review commentapple/swift

[Docs] Clarifies `ObjectIdentifier` guarantees

 /// In Swift, only class instances and metatypes have unique identities. There /// is no notion of identity for structs, enums, functions, or tuples. @frozen // trivial-implementation

Your documentation comment should be inserted above this @frozen attribute.

sunbohong

comment created time in 2 hours

PullRequestReviewEvent

startedapple/swift-algorithms

started time in 2 hours

Pull request review commentapple/swift-package-manager

Improve sanitizer usage

 import TSCBasic import TSCUtility  /// Available runtime sanitizers.-public enum Sanitizer: String, Encodable {+public enum Sanitizer: String, Encodable, CaseIterable {     case address     case thread     case undefined     case scudo +    public init(argument: String) throws {+        if let sanitizer = Sanitizer(rawValue: argument) {+            self = sanitizer+            return+        }++        for sanitizer in Sanitizer.allCases where sanitizer.shortName == argument {+            self = sanitizer+            return+        }++        throw ArgumentConversionError.custom("valid sanitizers: \(Sanitizer.formattedValues)")+    }++    /// All sanitizer options in a comma separated string+    public static var formattedValues: String {+        return Sanitizer.allCases.map(\.rawValue).joined(separator: ", ")+    }+

I've moved it, but note the extension has to be public to make this initializer a valid implementing of StringEnumArgument

keith

comment created time in 2 hours

PullRequestReviewEvent

push eventapple/llvm-project

Adrian Prantl

commit sha 47f0bb63e6dadade508bf044b8aaa2937ceee889

Only print validation warnings when actually triggering an assertion. (cherry picked from commit ef4906d6fda5f14597da3dac08891fe0e73572ee)

view details

adrian-prantl

commit sha be91b157243458ecb6464550065c0659559278a3

Merge pull request #1989 from adrian-prantl/less-verbose-next Only print validation warnings when actually triggering an assertion.

view details

push time in 2 hours

PR merged apple/llvm-project

Only print validation warnings when actually triggering an assertion.

(cherry picked from commit ef4906d6fda5f14597da3dac08891fe0e73572ee)

https://github.com/apple/llvm-project/pull/1988

+5 -5

0 comment

1 changed file

adrian-prantl

pr closed time in 2 hours

push eventapple/llvm-project

Adrian Prantl

commit sha ef4906d6fda5f14597da3dac08891fe0e73572ee

Only print validation warnings when actually triggering an assertion.

view details

adrian-prantl

commit sha 4308eeb286fe120996fce9a614dc4f208d4ad6f1

Merge pull request #1988 from adrian-prantl/less-verbose Only print validation warnings when actually triggering an assertion.

view details

push time in 2 hours

PR closed apple/llvm-project

Implement TypeSystemSwiftTypeRef::IsErrorType()

(cherry picked from commit 2bb0ce859ad3a370d728e9f8680f2b99f7b133b3)

https://github.com/apple/llvm-project/pull/1985

+35 -3

0 comment

5 changed files

adrian-prantl

pr closed time in 2 hours

push eventapple/swift

tbkka

commit sha c5176c031594e84726adf4994ef4da864762525b

Update swift-rpathize.py to work with Python 3.8 and Python 2.7 (#34332) * Update swift-rpathize.py to work with Python 3.8 and Python 2.7 In Python 2, str() is also a kind of bytes blob In Python 3, str() is a Unicode string that's unrelated * Avoid `l` as a variable name Python-lint correctly warns about single-character variables that can be confused with numbers

view details

push time in 2 hours

PR merged apple/swift

Update swift-rpathize.py to work with Python 3.8 and Python 2.7

Just need to explicitly convert the bytes blob into a real string before trying to pattern-match.

(In Python 2, str() and bytes are basically the same, so it's a lot more forgiving of such mixups.)

+2 -1

13 comments

1 changed file

tbkka

pr closed time in 2 hours

push eventapple/llvm-project

Yaxun (Sam) Liu

commit sha 7e561b62d2f2140fcacfcdf78c42f01181fe0df5

[NFC] Refactor DiagnosticBuilder and PartialDiagnostic PartialDiagnostic misses some functions compared to DiagnosticBuilder. This patch refactors DiagnosticBuilder and PartialDiagnostic, extracts the common functionality so that the streaming << operators are shared. Differential Revision: https://reviews.llvm.org/D84362

view details

Yaxun (Sam) Liu

commit sha 52bcd691cb1992187d022161e95977a9db371f51

Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions" This recommits 7f1f89ec8d9944559042bb6d3b1132eabe3409de and 40df06cdafc010002fc9cfe1dda73d689b7d27a6 with bug fixes for memory sanitizer failure and Tensile build failure.

view details

git apple-llvm automerger

commit sha b211a67e16939d821c2858885db2541950cd1d9d

Merge commit '7e561b62d2f2' from llvm.org/master into apple/main

view details

git apple-llvm automerger

commit sha 0115c94ceb5c78e92ce14a520f2627dbb619c704

Merge commit 'b211a67e1693' from apple/main into swift/next

view details

Sergei Trofimovich

commit sha 1eb812e06d0f02382f4e91bbc9b74029a7635bd6

[VE] Fix initializer visibility Before the change attempt to link libLTO.so against shared LLVM library failed as: ``` [ 76%] Linking CXX shared library ../../lib/libLTO.so ... /usr/bin/cmake -E cmake_link_script CMakeFiles/LTO.dir/link.txt --verbose=1 c++ -o ...libLTO.so.12git ...ibLLVM-12git.so ld: CMakeFiles/LTO.dir/lto.cpp.o: in function `llvm::InitializeAllTargetInfos()': include/llvm/Config/Targets.def:31: undefined reference to `LLVMInitializeVETargetInfo' ``` It happens because on linux llvm build system sets default symbol visibility to "hidden". The fix is to set visibility back to "default" for exported APIs with LLVM_EXTERNAL_VISIBILITY. Bug: https://bugs.llvm.org/show_bug.cgi?id=47847 Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D89633

view details

git apple-llvm automerger

commit sha b1d2562124ab4c79f397593e496b5c657cd9bdfc

Merge commit '1eb812e06d0f' from llvm.org/master into apple/main

view details

Alex Lorenz

commit sha bc9ec17528a8d5b8af2e0db83bd245642297c8f7

Merge commit '52bcd691cb19' from llvm.org/master into apple/main Conflicts: clang/lib/Sema/SemaStmt.cpp

view details

git apple-llvm automerger

commit sha b4aac86c839569f6e83bc91937c3482594257873

Merge commit '52bcd691cb19' from llvm.org/master into apple/main

view details

git apple-llvm automerger

commit sha 3ad4dde05ce82d18d885385fdffb122815a62472

Merge commit 'b4aac86c8395' from apple/main into swift/next

view details

git apple-llvm automerger

commit sha 5f4a38288e9d2d60f88d1cb5ff522df5bded0d0e

Merge commit 'b1d2562124ab' from apple/main into swift/next

view details

Jordan Rupprecht

commit sha 8a377f1e3cf4c26f609b1204f9ce1a340f7fb8d4

[NFC] Inline assertion-only variable

view details

git apple-llvm automerger

commit sha f3ddea338a55c256d936b3aa968d4cb97369882b

Merge commit '8a377f1e3cf4' from llvm.org/master into apple/main

view details

git apple-llvm automerger

commit sha 6f23fcac124ae6d017aaffc5b0b48a6cdd20d193

Merge commit 'f3ddea338a55' from apple/main into swift/next

view details

Walter Erquinigo

commit sha 8a203bb22d161d23c6b1195f85ae025e87f03bae

[trace] rename ThreadIntelPT into TraceTrace Renamed ThreadIntelPT to TreaceThread, making it a top-level class. I noticed that this class can and shuld work for any trace plugin and there's nothing intel-pt specific in it. With that TraceThread change, I was able to move most of the json file parsing logic to the base class TraceSessionFileParser, which makes adding new plug-ins easier. This originally was part of https://reviews.llvm.org/D89283 Differential Revision: https://reviews.llvm.org/D89408

view details

git apple-llvm automerger

commit sha c46fe353ff87562238b0690f61be850f970b9445

Merge commit '8a203bb22d16' from llvm.org/master into apple/main

view details

git apple-llvm automerger

commit sha d915cec3d7c346167b2145058c99b8abd4734089

Merge commit 'c46fe353ff87' from apple/main into swift/next

view details

Stanislav Mekhanoshin

commit sha 6ddadf99018bc5ef91dc57173eb0b8b42a7c6213

[AMDGPU] flat scratch ST addressing mode on gfx10 GFX10 enables third addressing mode for flat scratch instructions, an ST mode. In that mode both register operands are omitted and only swizzled offset is used in addition to flat_scratch base. Differential Revision: https://reviews.llvm.org/D89501

view details

git apple-llvm automerger

commit sha 6943d46cc07b90b69783341c9c844c4f701bf807

Merge commit '6ddadf99018b' from llvm.org/master into apple/main

view details

git apple-llvm automerger

commit sha 058e667578ca47cc8f66f450ce28df8818dfa49c

Merge commit '6943d46cc07b' from apple/main into swift/next

view details

Volodymyr Sapsai

commit sha 4000c9ee18ecebe3ff0f197af8c1fb434ad986e5

Reland "[Modules] Add stats to measure performance of building and loading modules." Measure amount of high-level or fixed-cost operations performed during building/loading modules and during header search. High-level operations like building a module or processing a .pcm file are motivated by previous issues where clang was re-building modules or re-reading .pcm files unnecessarily. Fixed-cost operations like `stat` calls are tracked because clang cannot change how long each operation takes but it can perform fewer of such operations to improve the compile time. Also tracking such stats over time can help us detect compile-time regressions. Added stats are more stable than the actual measured compilation time, so expect the detected regressions to be less noisy. On relanding drop stats in MemoryBuffer.cpp as their value is pretty low but affects a lot of clients and many of those aren't interested in modules and header search. rdar://problem/55715134 Reviewed By: aprantl, bruno Differential Revision: https://reviews.llvm.org/D86895

view details

push time in 2 hours

push eventapple/llvm-project

Sean Silva

commit sha f4abd3ed6d95e66470a0c8cc132e61782896527a

[mlir] Add std.dynamic_tensor_from_elements bufferization. It's unfortunate that this requires adding a dependency on scf dialect to std bufferization (and hence all of std transforms). This is a bit perilous. We might want a lib/Transforms/Bufferize/ with a separate bufferization library per dialect? Differential Revision: https://reviews.llvm.org/D89667

view details

git apple-llvm automerger

commit sha 9eab42ac1485d04c24ee95ebbece661506d2da6b

Merge commit 'f4abd3ed6d95' from llvm.org/master into apple/main

view details

Sean Silva

commit sha 7885bf8b78e21a29e27c598e0aed602de8f15260

[mlir][DialectConversion] Fix recursive `clone` calls. The framework was not tracking ops created in any regions of the cloned op. Differential Revision: https://reviews.llvm.org/D89668

view details

Sean Silva

commit sha 57211fd239a3a3efe89f0b7091f86a167f8301ff

[mlir] Use dynamic_tensor_from_elements in shape.broadcast conversion Now, convert-shape-to-std doesn't internally create memrefs, which was previously a bit of a layering violation. The conversion to memrefs should logically happen as part of bufferization. Differential Revision: https://reviews.llvm.org/D89669

view details

git apple-llvm automerger

commit sha c330fc8bbddf2f7b42ba5bc1fe97c8fc0c6e8b13

Merge commit '7885bf8b78e2' from llvm.org/master into apple/main

view details

git apple-llvm automerger

commit sha 39fc79a04796b384ec81a3638f7c7fd0fd1d66ad

Merge commit '57211fd239a3' from llvm.org/master into apple/main

view details

push time in 2 hours

PR opened apple/swift-algorithms

Fix stablePartition(subrange:by:) using subrange count instead of entire collection count.

Function stablePartition(subrange:by:) in Partition should not using the collection count which will cause bound error, but using subrange count.

Checklist

  • [x] I've added at least one test that validates that my change is working, if appropriate
  • [x] I've followed the code style of the rest of the project
  • [x] I've read the Contribution Guidelines
  • [ ] I've updated the documentation if necessary
+16 -1

0 comment

2 changed files

pr created time in 2 hours

startedapple/swift-algorithms

started time in 2 hours

pull request commentapple/swift

Fix destination for clang-builtin-headers-in-clang-resource-dir

@swift-ci Please Test Source Compatibility Release

edymtt

comment created time in 2 hours

startedapple/swift-algorithms

started time in 2 hours

pull request commentapple/swift

Fix destination for clang-builtin-headers-in-clang-resource-dir

@swift-ci Please Build Toolchain

edymtt

comment created time in 2 hours

pull request commentapple/swift

Fix destination for clang-builtin-headers-in-clang-resource-dir

@swift-ci please smoke test

edymtt

comment created time in 2 hours

PR opened apple/swift

Reviewers
Fix destination for clang-builtin-headers-in-clang-resource-dir

LLVM_LIBRARY_OUTPUT_INTDIR already points to the lib subdirectory of LLVM build folder.

Addresses rdar://70486284

+2 -2

0 comment

1 changed file

pr created time in 2 hours

pull request commentapple/swift-package-manager

Cleanup PackageModel Module

@swift-ci please smoke test

mattt

comment created time in 2 hours

push eventapple/llvm-project

Florian Hahn

commit sha 2e580102082293f9f80160bc86413e401c566d8f

[DSE] Do not scan users of memory terminators for further reads. isMemTerminator checks if the current def is a memory terminator that terminates the memory pointed to by DefLoc. We do not have to add any of their users to the worklist, because the follow-on users cannot read the memory in question. This leads to more stores eliminated in the presence of lifetime calls. Previously we added the users of those intrinsics to the worklist, limiting elimination. In terms of removed stores, this gives a nice boost on some benchmarks (MultiSource/SPEC2000/SPEC2006 on X86 with -flto -O3): Same hash: 205 (filtered out) Remaining: 32 Metric: dse.NumFastStores Program base patch diff test-suite...000/197.parser/197.parser.test 4.00 8.00 100.0% test-suite...rolangs-C++/family/family.test 4.00 7.00 75.0% test-suite...marks/7zip/7zip-benchmark.test 1722.00 2189.00 27.1% test-suite...CFP2000/177.mesa/177.mesa.test 30.00 38.00 26.7% test-suite :: External/Nurbs/nurbs.test 44.00 49.00 11.4% test-suite...lications/sqlite3/sqlite3.test 115.00 128.00 11.3% test-suite...006/447.dealII/447.dealII.test 2715.00 3013.00 11.0% test-suite...ProxyApps-C++/CLAMR/CLAMR.test 237.00 261.00 10.1% test-suite...tions/lambda-0.1.3/lambda.test 40.00 44.00 10.0% test-suite...3.xalancbmk/483.xalancbmk.test 1366.00 1475.00 8.0% test-suite...abench/jpeg/jpeg-6a/cjpeg.test 13.00 14.00 7.7% test-suite...oxyApps-C++/miniFE/miniFE.test 43.00 46.00 7.0% test-suite...lications/ClamAV/clamscan.test 230.00 246.00 7.0% test-suite...006/450.soplex/450.soplex.test 284.00 299.00 5.3% test-suite...nsumer-jpeg/consumer-jpeg.test 21.00 22.00 4.8%

view details

push time in 2 hours

Pull request review commentapple/swift-package-manager

Cleanup PackageModel Module

 public class SwiftTarget: Target {         )     } +    /// Create an executable Swift target from linux main test manifest file.+    public convenience init(linuxMain: AbsolutePath, name: String, dependencies: [Target.Dependency]) {+        // Look for the first swift test target and use the same swift version+        // for linux main target. This will need to change if we move to a model+        // where we allow per target swift language version build settings.+        let swiftTestTarget = dependencies.first {+            guard case .target(let target as SwiftTarget, _) = $0 else { return false }+            return target.type == .test+        }.flatMap { $0.target as? SwiftTarget }++        // FIXME: This is not very correct but doesn't matter much in practice.+        // We need to select the latest Swift language version that can+        // satisfy the current tools version but there is not a good way to+        // do that currently.+        let sources = Sources(paths: [linuxMain], root: linuxMain.parentDirectory)++        let platforms: [SupportedPlatform] = swiftTestTarget?.platforms ?? []++        let swiftVersion = swiftTestTarget?.swiftVersion ?? SwiftLanguageVersion(string: String(ToolsVersion.currentToolsVersion.major)) ?? .v4++        self.init(

Unintentional change, self.init from original super.init

mattt

comment created time in 2 hours

PullRequestReviewEvent

push eventapple/llvm-project

Yaxun (Sam) Liu

commit sha 7e561b62d2f2140fcacfcdf78c42f01181fe0df5

[NFC] Refactor DiagnosticBuilder and PartialDiagnostic PartialDiagnostic misses some functions compared to DiagnosticBuilder. This patch refactors DiagnosticBuilder and PartialDiagnostic, extracts the common functionality so that the streaming << operators are shared. Differential Revision: https://reviews.llvm.org/D84362

view details

Yaxun (Sam) Liu

commit sha 52bcd691cb1992187d022161e95977a9db371f51

Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions" This recommits 7f1f89ec8d9944559042bb6d3b1132eabe3409de and 40df06cdafc010002fc9cfe1dda73d689b7d27a6 with bug fixes for memory sanitizer failure and Tensile build failure.

view details

git apple-llvm automerger

commit sha b211a67e16939d821c2858885db2541950cd1d9d

Merge commit '7e561b62d2f2' from llvm.org/master into apple/main

view details

Sergei Trofimovich

commit sha 1eb812e06d0f02382f4e91bbc9b74029a7635bd6

[VE] Fix initializer visibility Before the change attempt to link libLTO.so against shared LLVM library failed as: ``` [ 76%] Linking CXX shared library ../../lib/libLTO.so ... /usr/bin/cmake -E cmake_link_script CMakeFiles/LTO.dir/link.txt --verbose=1 c++ -o ...libLTO.so.12git ...ibLLVM-12git.so ld: CMakeFiles/LTO.dir/lto.cpp.o: in function `llvm::InitializeAllTargetInfos()': include/llvm/Config/Targets.def:31: undefined reference to `LLVMInitializeVETargetInfo' ``` It happens because on linux llvm build system sets default symbol visibility to "hidden". The fix is to set visibility back to "default" for exported APIs with LLVM_EXTERNAL_VISIBILITY. Bug: https://bugs.llvm.org/show_bug.cgi?id=47847 Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D89633

view details

Alex Lorenz

commit sha bc9ec17528a8d5b8af2e0db83bd245642297c8f7

Merge commit '52bcd691cb19' from llvm.org/master into apple/main Conflicts: clang/lib/Sema/SemaStmt.cpp

view details

git apple-llvm automerger

commit sha b4aac86c839569f6e83bc91937c3482594257873

Merge commit '52bcd691cb19' from llvm.org/master into apple/main

view details

git apple-llvm automerger

commit sha b1d2562124ab4c79f397593e496b5c657cd9bdfc

Merge commit '1eb812e06d0f' from llvm.org/master into apple/main

view details

Jordan Rupprecht

commit sha 8a377f1e3cf4c26f609b1204f9ce1a340f7fb8d4

[NFC] Inline assertion-only variable

view details

git apple-llvm automerger

commit sha f3ddea338a55c256d936b3aa968d4cb97369882b

Merge commit '8a377f1e3cf4' from llvm.org/master into apple/main

view details

Walter Erquinigo

commit sha 8a203bb22d161d23c6b1195f85ae025e87f03bae

[trace] rename ThreadIntelPT into TraceTrace Renamed ThreadIntelPT to TreaceThread, making it a top-level class. I noticed that this class can and shuld work for any trace plugin and there's nothing intel-pt specific in it. With that TraceThread change, I was able to move most of the json file parsing logic to the base class TraceSessionFileParser, which makes adding new plug-ins easier. This originally was part of https://reviews.llvm.org/D89283 Differential Revision: https://reviews.llvm.org/D89408

view details

git apple-llvm automerger

commit sha c46fe353ff87562238b0690f61be850f970b9445

Merge commit '8a203bb22d16' from llvm.org/master into apple/main

view details

Stanislav Mekhanoshin

commit sha 6ddadf99018bc5ef91dc57173eb0b8b42a7c6213

[AMDGPU] flat scratch ST addressing mode on gfx10 GFX10 enables third addressing mode for flat scratch instructions, an ST mode. In that mode both register operands are omitted and only swizzled offset is used in addition to flat_scratch base. Differential Revision: https://reviews.llvm.org/D89501

view details

git apple-llvm automerger

commit sha 6943d46cc07b90b69783341c9c844c4f701bf807

Merge commit '6ddadf99018b' from llvm.org/master into apple/main

view details

Volodymyr Sapsai

commit sha 4000c9ee18ecebe3ff0f197af8c1fb434ad986e5

Reland "[Modules] Add stats to measure performance of building and loading modules." Measure amount of high-level or fixed-cost operations performed during building/loading modules and during header search. High-level operations like building a module or processing a .pcm file are motivated by previous issues where clang was re-building modules or re-reading .pcm files unnecessarily. Fixed-cost operations like `stat` calls are tracked because clang cannot change how long each operation takes but it can perform fewer of such operations to improve the compile time. Also tracking such stats over time can help us detect compile-time regressions. Added stats are more stable than the actual measured compilation time, so expect the detected regressions to be less noisy. On relanding drop stats in MemoryBuffer.cpp as their value is pretty low but affects a lot of clients and many of those aren't interested in modules and header search. rdar://problem/55715134 Reviewed By: aprantl, bruno Differential Revision: https://reviews.llvm.org/D86895

view details

git apple-llvm automerger

commit sha 7142313e18c4c8ec6f6371d4fa5a3661a4b5e76c

Merge commit '4000c9ee18ec' from llvm.org/master into apple/main

view details

Sean Silva

commit sha e3f5073a961076475c286a39a2cba2bf803eb32c

[mlir] Add some more std bufferize patterns. Add bufferizations for extract_element and tensor_from_elements. Differential Revision: https://reviews.llvm.org/D89594

view details

git apple-llvm automerger

commit sha 8c4aa8db124af29c219f9b22f834fd19d2b18fc9

Merge commit 'e3f5073a9610' from llvm.org/master into apple/main

view details

push time in 2 hours

pull request commentapple/swift

[Clang Importer] Do not rely on being able to always import Foundation on-demand

@swift-ci Please Test Source Compatibility

artemcm

comment created time in 2 hours

startedapple/cups

started time in 2 hours

more