Skip to content

[stdlib] Add fast paths for generic floating-point-to-integer conversion #33889

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

xwu
Copy link
Collaborator

@xwu xwu commented Sep 10, 2020

Here, we use a similar approach as that in #33826 to create some fast paths for conversion of generic floating-point values to integers.

With the slightly different design of the integer protocols, it's necessary to create concrete implementations of the required initializer (hence their addition to IntegerTypes.swift.gyb). These ultimately call the protocol extension method Self._convert as a fallback; for conversion from any floating-point values of known format, however, the fast paths here would apply.

@xwu
Copy link
Collaborator Author

xwu commented Sep 10, 2020

/cc @troughton

@xwu xwu requested a review from stephentyrone September 10, 2020 19:05
@xwu
Copy link
Collaborator Author

xwu commented Sep 10, 2020

@stephentyrone What do you think of this approach?

@xwu xwu force-pushed the create-integers-quickly branch 2 times, most recently from 3f94c64 to a4ab537 Compare September 10, 2020 20:13
@xwu
Copy link
Collaborator Author

xwu commented Sep 10, 2020

@swift-ci test

@xwu
Copy link
Collaborator Author

xwu commented Sep 11, 2020

@nkcsgexi I'm not sure if you're the person to ask about this, but since you've worked on the ABI checker recently, perhaps you'd know:

This change is failing the ABI stability check because there's now a concrete implementation of a protocol requirement, where previously these types used the default implementation; the ABI checker wants an availability annotation. However, if I add an availability annotation, then there will be an error when compiling because the compiler wants the concrete implementation to be unconditionally available everywhere. What is the ABI-stable way to override a default implementation of a protocol requirement? Is this just a false positive, and if so, how would I silence the checker?

@nkcsgexi
Copy link
Contributor

@xwu this doesn't seem to be a false positive to me because the compiler also confirmed that the concrete implementation should be unconditionally everywhere, which cannot be true since it's a new definition. @lorentey , what would you recommend for overriding a default implementation of a protocol requirement in an ABI stable way?

@stephentyrone
Copy link
Contributor

The new concrete implementations will have to be marked @_alwaysEmitIntoClient.

@xwu

This comment has been minimized.

@xwu

This comment has been minimized.

@xwu
Copy link
Collaborator Author

xwu commented Sep 16, 2020

@swift-ci test macOS platform

@xwu
Copy link
Collaborator Author

xwu commented Sep 16, 2020

@swift-ci benchmark

@swift-ci
Copy link
Contributor

Performance: -O

Regression OLD NEW DELTA RATIO
ArraySetElement 294 328 +11.6% 0.90x (?)
 
Improvement OLD NEW DELTA RATIO
ConvertFloatingPoint.MockFloat64ToInt64 514 212 -58.8% 2.42x
Dictionary4 199 153 -23.1% 1.30x
Dictionary4OfObjects 229 185 -19.2% 1.24x
StringHasPrefixAscii 1170 1060 -9.4% 1.10x (?)

Code size: -O

Improvement OLD NEW DELTA RATIO
FloatingPointConversion.o 27007 26319 -2.5% 1.03x

Performance: -Osize

Regression OLD NEW DELTA RATIO
FlattenListLoop 1052 1320 +25.5% 0.80x (?)
 
Improvement OLD NEW DELTA RATIO
ConvertFloatingPoint.MockFloat64ToInt64 565 214 -62.1% 2.64x
CharacterLiteralsLarge 71 63 -11.3% 1.13x (?)
DataAppendSequence 6700 6100 -9.0% 1.10x (?)

Code size: -Osize

Improvement OLD NEW DELTA RATIO
FloatingPointConversion.o 25738 24906 -3.2% 1.03x

Performance: -Onone

Regression OLD NEW DELTA RATIO
DataAppendDataSmallToSmall 2800 3020 +7.9% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
ConvertFloatingPoint.MockFloat64ToInt64 49496 26420 -46.6% 1.87x

Code size: -swiftlibs

How to read the data 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).

Hardware Overview
  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

@xwu

This comment has been minimized.

@xwu xwu marked this pull request as ready for review September 16, 2020 23:09
@xwu
Copy link
Collaborator Author

xwu commented Sep 16, 2020

@swift-ci test Linux platform

@swiftlang swiftlang deleted a comment from swift-ci Sep 16, 2020
@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 100848e80d0ed351ab118d645cb2db7f096ea4eb

@xwu
Copy link
Collaborator Author

xwu commented Sep 17, 2020

Wow, using @_alwaysEmitIntoClient allows compilation, but I can't tell if it is ABI breaking because it crashes the compiler while it's compiling a floating-point benchmark for iOS, indicating that some invariant is quite broken. I'm not even sure who to tag about this. @lorentey @nkcsgexi?

<unknown>:0: error: fatal error encountered during compilation; please file a bug report with your project and the crash log
19:53:37 <unknown>:0: note: Not supported instr: <MCInst 0 <MCOperand Reg:196> <MCOperand Reg:194> <MCOperand Expr:(LBB214_34)> <MCOperand Reg:195> <MCOperand Expr:(LBB214_35)>>
19:53:37 PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
19:53:37 Stack dump:
19:53:37 0.	Program arguments: /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/buildbot_incremental/swift-macosx-x86_64/bin/swift-frontend -frontend -c /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/swift/benchmark/single-source/FloatingPointConversion.swift -emit-module-path /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0/FloatingPointConversion.swiftmodule -emit-module-doc-path /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0/FloatingPointConversion.swiftdoc -emit-module-source-info-path /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0/FloatingPointConversion.swiftsourceinfo -target arm64-apple-ios8.0 -Xllvm -aarch64-use-tbi -enable-objc-interop -sdk /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk -I /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/swift/benchmark/utils/ObjectiveCTests -I /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/swift/benchmark/utils/LibProc -I /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0 -F /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/../../../Developer/Library/Frameworks -g -swift-version 4 -Onone -enable-anonymous-context-mangled-names -Xllvm -align-module-to-page-size -target-sdk-version 14.0 -parse-as-library -module-name FloatingPointConversion -o /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0/FloatingPointConversion.o 
19:53:37 1.	Apple Swift version 5.3-dev (LLVM ad20a737523d72b, Swift 4b735c762596655)
19:53:37 2.	Running pass 'Function Pass Manager' on module '/Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0/FloatingPointConversion.o'.
19:53:37 3.	Running pass 'AArch64 Assembly Printer' on function '@"$ss5Int64V10_uncheckedABx_tcSBRzlufC"'
19:53:37 0  swift-frontend           0x00000001144d31e5 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
19:53:37 1  swift-frontend           0x00000001144d2128 llvm::sys::RunSignalHandlers() + 248
19:53:37 2  swift-frontend           0x00000001144d37c6 SignalHandler(int) + 262
19:53:37 3  libsystem_platform.dylib 0x00007fff7371e5fd _sigtramp + 29
19:53:37 4  libsystem_platform.dylib 0x00007ffedffb3360 _sigtramp + 18446744071235521920
19:53:37 5  libsystem_c.dylib        0x00007fff735f0808 abort + 120
19:53:37 6  swift-frontend           0x000000010fcb1875 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*)::$_1::__invoke(void*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) + 725
19:53:37 7  swift-frontend           0x00000001144395b4 llvm::report_fatal_error(llvm::Twine const&, bool) + 260
19:53:37 8  swift-frontend           0x000000011443967b llvm::report_fatal_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) + 27
19:53:37 9  swift-frontend           0x00000001116b055d (anonymous namespace)::AArch64MCCodeEmitter::getBinaryCodeForInstr(llvm::MCInst const&, llvm::SmallVectorImpl<llvm::MCFixup>&, llvm::MCSubtargetInfo const&) const + 64653
19:53:37 10 swift-frontend           0x00000001116a05e2 (anonymous namespace)::AArch64MCCodeEmitter::encodeInstruction(llvm::MCInst const&, llvm::raw_ostream&, llvm::SmallVectorImpl<llvm::MCFixup>&, llvm::MCSubtargetInfo const&) const + 2178
19:53:37 11 swift-frontend           0x00000001141fb54b (anonymous namespace)::MCMachOStreamer::emitInstToData(llvm::MCInst const&, llvm::MCSubtargetInfo const&) + 219
19:53:37 12 swift-frontend           0x0000000114201524 llvm::MCObjectStreamer::emitInstruction(llvm::MCInst const&, llvm::MCSubtargetInfo const&) + 260
19:53:37 13 swift-frontend           0x00000001114bce95 (anonymous namespace)::AArch64AsmPrinter::emitInstruction(llvm::MachineInstr const*) + 10613
19:53:37 14 swift-frontend           0x0000000111976907 llvm::AsmPrinter::emitFunctionBody() + 2935
19:53:37 15 swift-frontend           0x00000001114b72e0 (anonymous namespace)::AArch64AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) + 528
19:53:37 16 swift-frontend           0x000000011229dacd llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 333
19:53:37 17 swift-frontend           0x0000000114357491 llvm::FPPassManager::runOnFunction(llvm::Function&) + 1201
19:53:37 18 swift-frontend           0x000000011435d498 llvm::FPPassManager::runOnModule(llvm::Module&) + 72
19:53:37 19 swift-frontend           0x0000000114357a9e llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1102
19:53:37 20 swift-frontend           0x000000010ff66193 swift::compileAndWriteLLVM(llvm::Module*, llvm::TargetMachine*, swift::IRGenOptions const&, swift::UnifiedStatsReporter*, swift::DiagnosticEngine&, llvm::raw_pwrite_stream&, llvm::sys::SmartMutex<false>*) + 387
19:53:37 21 swift-frontend           0x000000010ff65cdc swift::performLLVM(swift::IRGenOptions const&, swift::DiagnosticEngine&, llvm::sys::SmartMutex<false>*, llvm::GlobalVariable*, llvm::Module*, llvm::TargetMachine*, llvm::StringRef, swift::UnifiedStatsReporter*) + 3196
19:53:37 22 swift-frontend           0x000000010fcb86e4 performCompileStepsPostSILGen(swift::CompilerInstance&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, int&, swift::FrontendObserver*) + 3124
19:53:37 23 swift-frontend           0x000000010fcb788c performCompileStepsPostSema(swift::CompilerInstance&, int&, swift::FrontendObserver*) + 636
19:53:37 24 swift-frontend           0x000000010fcaff21 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 4625
19:53:37 25 swift-frontend           0x000000010fc4a41e main + 846
19:53:37 26 libdyld.dylib            0x00007fff73521cc9 start + 1
19:53:37 27 libdyld.dylib            0x0000000000000027 start + 18446603338581402463
19:53:37 /bin/sh: line 1:  5702 Abort trap: 6           /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/buildbot_incremental/swift-macosx-x86_64/bin/swiftc -c -target arm64-apple-ios8.0 -Onone -Xllvm -align-module-to-page-size -g -I /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/swift/benchmark/utils/ObjectiveCTests -I /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/swift/benchmark/utils/LibProc -F /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/../../../Developer/Library/Frameworks -sdk /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk -no-link-objc-runtime -swift-version 4 -parse-as-library -whole-module-optimization -module-name FloatingPointConversion -emit-module-path /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0/FloatingPointConversion.swiftmodule -I /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0 -o /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0/FloatingPointConversion.o /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/swift/benchmark/single-source/FloatingPointConversion.swift

@swift-ci

This comment has been minimized.

@xwu xwu changed the base branch from master to main September 24, 2020 03:01
@xwu xwu force-pushed the create-integers-quickly branch from 100848e to 5dbe1a9 Compare March 19, 2021 23:50
@xwu
Copy link
Collaborator Author

xwu commented Mar 19, 2021

@swift-ci smoke test macOS platform

@xwu
Copy link
Collaborator Author

xwu commented Mar 19, 2021

@swift-ci smoke test Linux platform

@xwu
Copy link
Collaborator Author

xwu commented Mar 19, 2021

Let's see if the mysterious compiler problem has improved any in six months...

@xwu
Copy link
Collaborator Author

xwu commented Mar 19, 2021

@swift-ci benchmark

@swift-ci
Copy link
Contributor

Performance: -O

Regression OLD NEW DELTA RATIO
StringBuilderWithLongSubstring 1410 1700 +20.6% 0.83x (?)
StringToDataEmpty 650 700 +7.7% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
ConvertFloatingPoint.MockFloat64ToInt64 699 251 -64.1% 2.78x
LessSubstringSubstring 38 35 -7.9% 1.09x (?)
EqualStringSubstring 38 35 -7.9% 1.09x (?)
EqualSubstringString 38 35 -7.9% 1.09x
LessSubstringSubstringGenericComparable 38 35 -7.9% 1.09x
DictionaryKeysContainsCocoa 26 24 -7.7% 1.08x (?)

Code size: -O

Improvement OLD NEW DELTA RATIO
FloatingPointConversion.o 31441 30753 -2.2% 1.02x

Performance: -Osize

Regression OLD NEW DELTA RATIO
NSError 154 216 +40.3% 0.71x (?)
StringBuilderWithLongSubstring 1470 1620 +10.2% 0.91x (?)
ObjectiveCBridgeFromNSArrayAnyObject 17300 18700 +8.1% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
ConvertFloatingPoint.MockFloat64ToInt64 785 262 -66.6% 3.00x
LessSubstringSubstring 38 35 -7.9% 1.09x (?)
EqualSubstringSubstring 38 35 -7.9% 1.09x (?)
EqualStringSubstring 38 35 -7.9% 1.09x
EqualSubstringSubstringGenericEquatable 38 35 -7.9% 1.09x (?)
EqualSubstringString 38 35 -7.9% 1.09x (?)
LessSubstringSubstringGenericComparable 38 35 -7.9% 1.09x
String.data.LargeUnicode 103 96 -6.8% 1.07x (?)

Code size: -Osize

Improvement OLD NEW DELTA RATIO
FloatingPointConversion.o 34893 34258 -1.8% 1.02x

Performance: -Onone

Regression OLD NEW DELTA RATIO
Set.isStrictSuperset.Seq.Empty.Int 1271 1470 +15.7% 0.86x (?)
SuffixArrayLazy 13718 15341 +11.8% 0.89x (?)
StringBuilderWithLongSubstring 4000 4470 +11.7% 0.89x (?)
PrefixArrayLazy 41036 45561 +11.0% 0.90x (?)
DropFirstArrayLazy 40858 45357 +11.0% 0.90x (?)
DropLastArrayLazy 13675 15100 +10.4% 0.91x (?)
StringUTF16SubstringBuilder 11480 12630 +10.0% 0.91x (?)
StringToDataMedium 5750 6200 +7.8% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
ConvertFloatingPoint.MockFloat64ToInt64 46562 24837 -46.7% 1.87x

Code size: -swiftlibs

How to read the data 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).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 8-Core Intel Xeon E5
  Processor Speed: 3 GHz
  Number of Processors: 1
  Total Number of Cores: 8
  L2 Cache (per Core): 256 KB
  L3 Cache: 25 MB
  Memory: 32 GB

@xwu

This comment has been minimized.

@xwu
Copy link
Collaborator Author

xwu commented Mar 20, 2021

Woohoo! Love that tincture of time. Seems whatever compiler invariant was being violated to prevent benchmarks from even compiling is now a thing of the past.

Pinging @stephentyrone for any further comments :)

Mmm, spoke too soon, it seems. Forgot that it takes running the full set of tests to produce the error:

<unknown>:0: error: fatal error encountered during compilation; please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the project
01:50:22 <unknown>:0: note: Not supported instr: <MCInst 0 <MCOperand Reg:196> <MCOperand Reg:196> <MCOperand Expr:(LBB357_36)> <MCOperand Reg:197> <MCOperand Expr:(LBB357_37)>>
01:50:22 Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the project and the crash backtrace.
01:50:22 Stack dump:
01:50:22 0.	Program arguments: /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/swift-macosx-x86_64/bin/swift-frontend -frontend -c /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/swift/benchmark/single-source/FloatingPointConversion.swift -emit-module-path /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0/FloatingPointConversion.swiftmodule -emit-module-doc-path /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0/FloatingPointConversion.swiftdoc -emit-module-source-info-path /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0/FloatingPointConversion.swiftsourceinfo -target arm64-apple-ios8.0 -Xllvm -aarch64-use-tbi -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.3.sdk -I /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/swift/benchmark/utils/ObjectiveCTests -I /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/swift/benchmark/utils/LibProc -I /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0 -F /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.3.sdk/../../../Developer/Library/Frameworks -g -swift-version 4 -Onone -enable-anonymous-context-mangled-names -Xllvm -align-module-to-page-size -target-sdk-version 14.3 -parse-as-library -module-name FloatingPointConversion -o /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0/FloatingPointConversion.o
01:50:22 1.	Apple Swift version 5.5-dev (LLVM d890ae6d708cef6, Swift c8a00db5f55e547)
01:50:22 2.	Running pass 'Function Pass Manager' on module '/Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0/FloatingPointConversion.o'.
01:50:22 3.	Running pass 'AArch64 Assembly Printer' on function '@"$ss5Int64V10_uncheckedABx_tcSBRzlufC"'
01:50:22 Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
01:50:22 0  swift-frontend           0x000000010a590007 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 39
01:50:22 1  swift-frontend           0x000000010a58ee98 llvm::sys::RunSignalHandlers() + 248
01:50:22 2  swift-frontend           0x000000010a590636 SignalHandler(int) + 262
01:50:22 3  libsystem_platform.dylib 0x00007fff683455fd _sigtramp + 29
01:50:22 4  libsystem_platform.dylib 0x00007ffeea38ad18 _sigtramp + 18446744071595906872
01:50:22 5  libsystem_c.dylib        0x00007fff6821b808 abort + 120
01:50:22 6  swift-frontend           0x0000000105920915 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*)::$_2::__invoke(void*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) + 725
01:50:22 7  swift-frontend           0x000000010a4ee14b llvm::report_fatal_error(llvm::Twine const&, bool) + 267
01:50:22 8  swift-frontend           0x000000010a4ee21b llvm::report_fatal_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) + 27
01:50:22 9  swift-frontend           0x0000000107505e5f (anonymous namespace)::AArch64MCCodeEmitter::getBinaryCodeForInstr(llvm::MCInst const&, llvm::SmallVectorImpl<llvm::MCFixup>&, llvm::MCSubtargetInfo const&) const + 65759
01:50:22 10 swift-frontend           0x00000001074f5a8c (anonymous namespace)::AArch64MCCodeEmitter::encodeInstruction(llvm::MCInst const&, llvm::raw_ostream&, llvm::SmallVectorImpl<llvm::MCFixup>&, llvm::MCSubtargetInfo const&) const + 2524
01:50:22 11 swift-frontend           0x000000010a28adc5 (anonymous namespace)::MCMachOStreamer::emitInstToData(llvm::MCInst const&, llvm::MCSubtargetInfo const&) + 229
01:50:22 12 swift-frontend           0x000000010a2919f7 llvm::MCObjectStreamer::emitInstruction(llvm::MCInst const&, llvm::MCSubtargetInfo const&) + 263
01:50:22 13 swift-frontend           0x00000001072d570b (anonymous namespace)::AArch64AsmPrinter::emitInstruction(llvm::MachineInstr const*) + 9211
01:50:22 14 swift-frontend           0x0000000107807d01 llvm::AsmPrinter::emitFunctionBody() + 2801
01:50:22 15 swift-frontend           0x00000001072d112c (anonymous namespace)::AArch64AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) + 220
01:50:22 16 swift-frontend           0x000000010816ebfd llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 333
01:50:22 17 swift-frontend           0x000000010a401982 llvm::FPPassManager::runOnFunction(llvm::Function&) + 1202
01:50:22 18 swift-frontend           0x000000010a407a28 llvm::FPPassManager::runOnModule(llvm::Module&) + 72
01:50:22 19 swift-frontend           0x000000010a401fae llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1102
01:50:22 20 swift-frontend           0x0000000105d7c353 swift::compileAndWriteLLVM(llvm::Module*, llvm::TargetMachine*, swift::IRGenOptions const&, swift::UnifiedStatsReporter*, swift::DiagnosticEngine&, llvm::raw_pwrite_stream&, llvm::sys::SmartMutex<false>*) + 387
01:50:22 21 swift-frontend           0x0000000105d7be9f swift::performLLVM(swift::IRGenOptions const&, swift::DiagnosticEngine&, llvm::sys::SmartMutex<false>*, llvm::GlobalVariable*, llvm::Module*, llvm::TargetMachine*, llvm::StringRef, swift::UnifiedStatsReporter*) + 3215
01:50:22 22 swift-frontend           0x000000010592b229 performCompileStepsPostSILGen(swift::CompilerInstance&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, int&, swift::FrontendObserver*) + 2601
01:50:22 23 swift-frontend           0x000000010592a5bd performCompileStepsPostSema(swift::CompilerInstance&, int&, swift::FrontendObserver*) + 685
01:50:22 24 swift-frontend           0x000000010591ed54 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 4852
01:50:22 25 swift-frontend           0x0000000105873d87 main + 519
01:50:22 26 libdyld.dylib            0x00007fff6814ccc9 start + 1
01:50:22 27 libdyld.dylib            0x0000000000000027 start + 18446603338769970015
01:50:22 /bin/sh: line 1: 84172 Abort trap: 6           /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/swift-macosx-x86_64/bin/swiftc -c -target arm64-apple-ios8.0 -Onone -Xllvm -align-module-to-page-size -g -I /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/swift/benchmark/utils/ObjectiveCTests -I /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/swift/benchmark/utils/LibProc -F /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.3.sdk/../../../Developer/Library/Frameworks -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.3.sdk -no-link-objc-runtime -swift-version 4 -parse-as-library -whole-module-optimization -module-name FloatingPointConversion -emit-module-path /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0/FloatingPointConversion.swiftmodule -I /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0 -o /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/buildbot_incremental/swift-macosx-x86_64/benchmark/Onone-arm64-apple-ios8.0/FloatingPointConversion.o /Users/buildnode/jenkins/workspace/swift-PR-macos/branch-main/swift/benchmark/single-source/FloatingPointConversion.swift

@xwu
Copy link
Collaborator Author

xwu commented Mar 20, 2021

@swift-ci test

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - e643485

@lorentey
Copy link
Member

@swift-ci test macOS platform

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - e643485

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants