Facing the following error at step "--- Installing swiftpm ---" while building Apple Swift 5 toolchain on PowerPC64LE using the master branch:-
swift: /home/sar/swift-source/llvm/lib/Target/PowerPC/PPCISelLowering.cpp:12111: llvm::SDValue combineBVOfConsecutiveLoads(llvm::SDNode *, llvm::SelectionDAG &): Assertion `!(InputsAreConsecutiveLoads && InputsAreReverseConsecutive) && "The loads cannot be both consecutive and reverse consecutive."' failed.
Following fix was applied in order to run the swiftpm test suite on PowerPC64LE:-
diff --git a/Tests/BuildTests/BuildPlanTests.swift b/Tests/BuildTests/BuildPlanTests.swift
@@ -28,7 +28,7 @@ import PackageLoading
- let defaultTargetTriple: String = "ppc64le-unknown-linux"
+ let defaultTargetTriple: String = "powerpc64le-unknown-linux"
The detailed failure log is as under:-
--- Installing swiftpm ---
+ /home/sar/swift-source/swiftpm/Utilities/bootstrap --release --swiftc=/home/sar/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swiftc --sbt=/home/sar/swift-source/build/buildbot_linux/llbuild-linux-powerpc64le/bin/swift-build-tool --build=/home/sar/swift-source/build/buildbot_linux/swiftpm-linux-powerpc64le --link-llbuild --llbuild-source-dir=/home/sar/swift-source/llbuild --llbuild-build-dir=/home/sar/swift-source/build/buildbot_linux/llbuild-linux-powerpc64le --foundation=/home/sar/swift-source/build/buildbot_linux/foundation-linux-powerpc64le --libdispatch-source-dir=/home/sar/swift-source/swift-corelibs-libdispatch --libdispatch-build-dir=/home/sar/swift-source/build/buildbot_linux/libdispatch-linux-powerpc64le --xctest=/home/sar/swift-source/build/buildbot_linux/xctest-linux-powerpc64le --prefix=/home/sar/swift-source/swift-nightly-install//usr/ install
--- bootstrap: note: building runtime v4_2 target: PackageDescription4:
...
--- bootstrap: note: building self-hosted 'swift-build': env SWIFT_EXEC=/home/sar/swift-source/build/buildbot_linux/swiftpm-linux-powerpc64le/powerpc64le-unknown-linux/release/swiftc SWIFTPM_BUILD_DIR=/home/sar/swift-source/build/buildbot_linux/swiftpm-linux-powerpc64le SWIFTPM_BOOTSTRAP=1 /home/sar/swift-source/build/buildbot_linux/swiftpm-linux-powerpc64le/powerpc64le-unknown-linux/release/swift-build-stage1 --disable-sandbox -Xlinker -rpath -Xlinker $ORIGIN/../lib/swift/linux -Xswiftc -Xcc -Xswiftc -DSPM_BUILD_IDENT=bceba4d -Xswiftc -I/home/sar/swift-source/build/buildbot_linux/swiftpm-linux-powerpc64le/.bootstrap/lib/swift/linux/x86_64 -Xswiftc -Xcc -Xswiftc -F/home/sar/swift-source/build/buildbot_linux/swiftpm-linux-powerpc64le/.bootstrap/lib/swift/linux/x86_64 -Xswiftc -I/home/sar/swift-source/build/buildbot_linux/swiftpm-linux-powerpc64le/.bootstrap/lib/swift/linux/x86_64/dispatch -Xlinker -L/home/sar/swift-source/build/buildbot_linux/swiftpm-linux-powerpc64le/.bootstrap/lib/swift/linux -Xlinker -rpath -Xlinker /home/sar/swift-source/build/buildbot_linux/swiftpm-linux-powerpc64le/.bootstrap/lib/swift/linux -Xswiftc -I/home/sar/swift-source/build/buildbot_linux/llbuild-linux-powerpc64le/products/llbuildSwift -Xswiftc -I/home/sar/swift-source/llbuild/products/libllbuild/include -Xlinker -rpath -Xlinker $ORIGIN/../lib/swift/pm/llbuild -Xlinker -L/home/sar/swift-source/build/buildbot_linux/llbuild-linux-powerpc64le/lib -Xlinker -rpath -Xlinker /home/sar/swift-source/build/buildbot_linux/llbuild-linux-powerpc64le/lib -Xswiftc -enable-testing --configuration release --build-tests
[1/20] Compiling Swift Module 'TestSupport' (17 sources)
...
[20/21] Compiling Swift Module 'SwiftPMPackageTests' (1 sources)
--- bootstrap: note: installing swift-package: rsync -a /home/sar/swift-source/build/buildbot_linux/swiftpm-linux-powerpc64le/powerpc64le-unknown-linux/release/swift-package /home/sar/swift-source/swift-nightly-install//usr/bin
...
--- bootstrap: note: installing PackageDescription.swiftdoc: install -m 0644 /home/sar/swift-source/build/buildbot_linux/swiftpm-linux-powerpc64le/.bootstrap/lib/swift/pm/4/PackageDescription.swiftdoc /home/sar/swift-source/swift-nightly-install//usr/lib/swift/pm/4
...
/home/sar/swift-source/swift-nightly-install/usr/bin/swiftc -module-name SPMUtility -incremental -emit-dependencies -emit-module -emit-module-path /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/powerpc64le-unknown-linux/release/SPMUtility.swiftmodule -output-file-map /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/powerpc64le-unknown-linux/release/SPMUtility.build/output-file-map.json -parse-as-library -whole-module-optimization -num-threads 8 -c /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/ArgumentParser.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/ArgumentParserShellCompletion.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/BuildFlags.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/CollectionExtensions.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/Diagnostics.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/FSWatch.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/Git.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/InterruptHandler.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/PkgConfig.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/Platform.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/Process.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/ProgressAnimation.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/SimplePersistence.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/StringExtensions.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/StringMangling.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/URL.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/Verbosity.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/Version.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/Versioning.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/SPMUtility/misc.swift -I /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/powerpc64le-unknown-linux/release -target powerpc64le-unknown-linux -swift-version 4.2 -sdk / -O -j8 -DSWIFT_PACKAGE -Xcc -fmodule-map-file=/home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/clibc/include/module.modulemap -I /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/clibc/include -module-cache-path /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/powerpc64le-unknown-linux/release/ModuleCache -enable-testing
...
/home/sar/swift-source/swift-nightly-install/usr/bin/swiftc -module-name PackageLoading -incremental -emit-dependencies -emit-module -emit-module-path /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/powerpc64le-unknown-linux/release/PackageLoading.swiftmodule -output-file-map /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/powerpc64le-unknown-linux/release/PackageLoading.build/output-file-map.json -parse-as-library -whole-module-optimization -num-threads 8 -c /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/PackageLoading/Diagnostics.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/PackageLoading/ManifestBuilder.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/PackageLoading/ManifestLoader.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/PackageLoading/ModuleMapGenerator.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/PackageLoading/PackageBuilder.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/PackageLoading/PackageDescription4Loader.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/PackageLoading/Target+PkgConfig.swift /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/PackageLoading/ToolsVersionLoader.swift -I /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/powerpc64le-unknown-linux/release -target powerpc64le-unknown-linux -swift-version 4.2 -sdk / -O -j8 -DSWIFT_PACKAGE -Xcc -fmodule-map-file=/home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-llbuild/products/libllbuild/include/module.modulemap -I /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-llbuild/products/libllbuild/include -Xcc -fmodule-map-file=/home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/powerpc64le-unknown-linux/release/llbuildBuildSystem.build/module.modulemap -I /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-llbuild/lib/BuildSystem/include -Xcc -fmodule-map-file=/home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/powerpc64le-unknown-linux/release/llbuildCore.build/module.modulemap -I /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-llbuild/lib/Core/include -Xcc -fmodule-map-file=/home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/powerpc64le-unknown-linux/release/llbuildBasic.build/module.modulemap -I /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-llbuild/lib/Basic/include -Xcc -fmodule-map-file=/home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/powerpc64le-unknown-linux/release/llvmSupport.build/module.modulemap -I /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-llbuild/lib/llvm/Support/include -Xcc -fmodule-map-file=/home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/powerpc64le-unknown-linux/release/llvmDemangle.build/module.modulemap -I /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-llbuild/lib/llvm/Demangle/include -Xcc -fmodule-map-file=/home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/clibc/include/module.modulemap -I /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/checkouts/swift-package-manager/Sources/clibc/include -module-cache-path /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/powerpc64le-unknown-linux/release/ModuleCache -enable-testing
swift: /home/sar/swift-source/llvm/lib/Target/PowerPC/PPCISelLowering.cpp:12111: llvm::SDValue combineBVOfConsecutiveLoads(llvm::SDNode *, llvm::SelectionDAG &): Assertion `!(InputsAreConsecutiveLoads && InputsAreReverseConsecutive) && "The loads cannot be both consecutive and reverse consecutive."' failed.
Stack dump:
0. Running pass 'Function Pass Manager' on module '/home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le/powerpc64le-unknown-linux/release/LanguageServerProtocol.build/CancelRequest.swift.o'.
1. Running pass 'PowerPC DAG->DAG Pattern Instruction Selection' on function '@"$s22LanguageServerProtocol13HoverResponseV8contents5rangeAcA13MarkupContentV_SnyAA8PositionVGSgtcfC"'
#0 0x00000000152ebd28 PrintStackTraceSignalHandler(void*) (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x152ebd28)
#1 0x00000000152e8fc8 llvm::sys::RunSignalHandlers() (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x152e8fc8)
#2 0x00000000152ec3e8 SignalHandler(int) (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x152ec3e8)
#3 0x00003fff98e204d8 0x4d8 gsignal
#4 0x00003fff98e204d8
#5 0x00003fff98e204d8 abort (+0x4d8)
#6 0x00003fff9879ec90 (/lib/powerpc64le-linux-gnu/libc.so.6+0x3ec90)
#7 0x00003fff987a11f4 __assert_fail (/lib/powerpc64le-linux-gnu/libc.so.6+0x411f4)
#8 0x00003fff987941c0 llvm::PPCTargetLowering::DAGCombineBuildVector(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&) const (/lib/powerpc64le-linux-gnu/libc.so.6+0x341c0)
#9 0x00003fff987942b4 llvm::PPCTargetLowering::PerformDAGCombine(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&) const (/lib/powerpc64le-linux-gnu/libc.so.6+0x342b4)
#10 0x0000000011c77228 (anonymous namespace)::DAGCombiner::combine(llvm::SDNode*) (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x11c77228)
#11 0x0000000011c78e98 llvm::SelectionDAG::Combine(llvm::CombineLevel, llvm::AAResults*, llvm::CodeGenOpt::Level) (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x11c78e98)
#12 0x0000000011f758f8 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x11f758f8)
#13 0x0000000011f74130 llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void>, false, true>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void>, false, true>, bool&) (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x11f74130)
#14 0x00000000120fcffc llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x120fcffc)
#15 0x00000000120fc7d8 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x120fc7d8)
#16 0x00000000120faf74 (anonymous namespace)::PPCDAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x120faf74)
#17 0x00000000120f6c5c llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x120f6c5c)
#18 0x0000000011c0eea4 llvm::FPPassManager::runOnFunction(llvm::Function&) (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x11c0eea4)
#19 0x0000000012b079d4 llvm::FPPassManager::runOnModule(llvm::Module&) (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x12b079d4)
#20 0x00000000150f8180 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x150f8180)
#21 0x00000000150f85c4 llvm::legacy::PassManager::run(llvm::Module&) (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x150f85c4)
#22 0x00000000150f8ca4 swift::performLLVM(swift::IRGenOptions&, swift::DiagnosticEngine*, llvm::sys::SmartMutex<false>*, llvm::GlobalVariable*, llvm::Module*, llvm::TargetMachine*, swift::version::Version const&, llvm::StringRef, swift::UnifiedStatsReporter*) (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x150f8ca4)
#23 0x00000000150f9544 ThreadEntryPoint(swift::irgen::IRGenerator*, llvm::sys::SmartMutex<false>*, int) (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x150f9544)
#24 0x000000001026eb5c std::thread::_Impl<std::_Bind_simple<void (* (swift::irgen::IRGenerator*, llvm::sys::SmartMutex<false>*, int))(swift::irgen::IRGenerator*, llvm::sys::SmartMutex<false>*, int)> >::_M_run() (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x1026eb5c)
#25 0x0000000010274890 (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x10274890)
#26 0x00000000102764ac start_thread (/home/sar/swift-source/swift-nightly-install/usr/bin/swift+0x102764ac)
#27 0x00003fff98a44974 clone (/usr/lib/powerpc64le-linux-gnu/libstdc++.so.6+0xe4974)
/home/sar/swift-source/swift-nightly-install/usr/bin/swift[0x152ebd28]
/home/sar/swift-source/swift-nightly-install/usr/bin/swift[0x152e8fc8]
/home/sar/swift-source/swift-nightly-install/usr/bin/swift[0x152ec3e8]
[0x3fff98e204d8]
/lib/powerpc64le-linux-gnu/libc.so.6(gsignal+0x40)[0x3fff9879ec90]
/lib/powerpc64le-linux-gnu/libc.so.6(abort+0x2b4)[0x3fff987a11f4]
/lib/powerpc64le-linux-gnu/libc.so.6(+0x341c0)[0x3fff987941c0]
/lib/powerpc64le-linux-gnu/libc.so.6(__assert_fail+0x64)[0x3fff987942b4]
/home/sar/swift-source/swift-nightly-install/usr/bin/swift[0x11c77228]
...
/usr/lib/powerpc64le-linux-gnu/libstdc++.so.6(+0xe4974)[0x3fff98a44974]
/lib/powerpc64le-linux-gnu/libpthread.so.0(+0x8040)[0x3fff98dd8040]
/lib/powerpc64le-linux-gnu/libc.so.6(clone+0x98)[0x3fff98883bb0]
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal 6 (use -v to see invocation)
/home/sar/swift-source/swift-nightly-install/usr/bin/swift build --package-path /home/sar/swift-source/sourcekit-lsp --build-path /home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le --configuration release --verbose -Xswiftc -enable-testing -Xcxx -I -Xcxx /home/sar/swift-source/swift-nightly-install/usr/lib/swift
Traceback (most recent call last):
File "/home/sar/swift-source/sourcekit-lsp/Utilities/build-script-helper.py", line 80, in <module>
main()
File "/home/sar/swift-source/sourcekit-lsp/Utilities/build-script-helper.py", line 70, in main
swiftpm('build', swift_exec, swiftpm_args)
File "/home/sar/swift-source/sourcekit-lsp/Utilities/build-script-helper.py", line 14, in swiftpm
subprocess.check_call(cmd, env=env)
File "/usr/lib/python2.7/subprocess.py", line 541, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/sar/swift-source/swift-nightly-install/usr/bin/swift', 'build', '--package-path', '/home/sar/swift-source/sourcekit-lsp', '--build-path', '/home/sar/swift-source/build/buildbot_linux/sourcekitlsp-linux-powerpc64le', '--configuration', 'release', '--verbose', '-Xswiftc', '-enable-testing', '-Xcxx', '-I', '-Xcxx', '/home/sar/swift-source/swift-nightly-install/usr/lib/swift']' returned non-zero exit status 1
Building the standard library for: swift-stdlib-linux-powerpc64le
Running Swift tests for: check-swift-all-linux-powerpc64le check-swift-all-optimize-linux-powerpc64le
./utils/build-script: fatal error: command terminated with a non-zero exit status 1, aborting
./utils/build-script: fatal error: command terminated with a non-zero exit status 1, aborting