Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Aug 2017 11:56:48 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r322747 - in projects/bsd_rdma_4_9: . bin/cat bin/chmod bin/date bin/dd bin/echo bin/expr bin/ln bin/ls bin/mv bin/pax bin/pkill bin/pwait bin/sh bin/sh/tests bin/sh/tests/invocation bi...
Message-ID:  <201708211156.v7LBumFp078895@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hselasky
Date: Mon Aug 21 11:56:47 2017
New Revision: 322747
URL: https://svnweb.freebsd.org/changeset/base/322747

Log:
  Merge ^/head r322398 through r322746.

Added:
  projects/bsd_rdma_4_9/bin/sh/tests/invocation/
     - copied from r322746, head/bin/sh/tests/invocation/
  projects/bsd_rdma_4_9/contrib/gcc/config/riscv/
     - copied from r322746, head/contrib/gcc/config/riscv/
  projects/bsd_rdma_4_9/lib/libcasper/services/tests/
     - copied from r322746, head/lib/libcasper/services/tests/
  projects/bsd_rdma_4_9/lib/libcasper/tests/
     - copied from r322746, head/lib/libcasper/tests/
  projects/bsd_rdma_4_9/share/man/man4/wmt.4
     - copied unchanged from r322746, head/share/man/man4/wmt.4
  projects/bsd_rdma_4_9/sys/amd64/include/sgx.h
     - copied unchanged from r322746, head/sys/amd64/include/sgx.h
  projects/bsd_rdma_4_9/sys/amd64/include/sgxreg.h
     - copied unchanged from r322746, head/sys/amd64/include/sgxreg.h
  projects/bsd_rdma_4_9/sys/amd64/sgx/
     - copied from r322746, head/sys/amd64/sgx/
  projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/asm/msr.h
     - copied unchanged from r322746, head/sys/compat/linuxkpi/common/include/asm/msr.h
  projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/atomic.h
     - copied unchanged from r322746, head/sys/compat/linuxkpi/common/include/linux/atomic.h
  projects/bsd_rdma_4_9/sys/dev/iicbus/ds13rtc.c
     - copied unchanged from r322746, head/sys/dev/iicbus/ds13rtc.c
  projects/bsd_rdma_4_9/sys/dev/usb/input/wmt.c
     - copied unchanged from r322746, head/sys/dev/usb/input/wmt.c
  projects/bsd_rdma_4_9/sys/modules/i2c/ds13rtc/
     - copied from r322746, head/sys/modules/i2c/ds13rtc/
  projects/bsd_rdma_4_9/sys/modules/i2c/s35390a/
     - copied from r322746, head/sys/modules/i2c/s35390a/
  projects/bsd_rdma_4_9/sys/modules/sgx/
     - copied from r322746, head/sys/modules/sgx/
  projects/bsd_rdma_4_9/sys/modules/sgx_linux/
     - copied from r322746, head/sys/modules/sgx_linux/
  projects/bsd_rdma_4_9/sys/modules/usb/wmt/
     - copied from r322746, head/sys/modules/usb/wmt/
  projects/bsd_rdma_4_9/tests/Makefile.inc0
     - copied unchanged from r322746, head/tests/Makefile.inc0
  projects/bsd_rdma_4_9/tests/etc/Makefile.inc
     - copied unchanged from r322746, head/tests/etc/Makefile.inc
  projects/bsd_rdma_4_9/tests/sys/geom/class/Makefile.inc
     - copied unchanged from r322746, head/tests/sys/geom/class/Makefile.inc
  projects/bsd_rdma_4_9/tests/sys/pjdfstest/Makefile.inc
     - copied unchanged from r322746, head/tests/sys/pjdfstest/Makefile.inc
  projects/bsd_rdma_4_9/tests/sys/pjdfstest/tests/Makefile.inc
     - copied unchanged from r322746, head/tests/sys/pjdfstest/tests/Makefile.inc
  projects/bsd_rdma_4_9/tools/build/options/WITHOUT_MAKE_CHECK_USE_SANDBOX
     - copied unchanged from r322746, head/tools/build/options/WITHOUT_MAKE_CHECK_USE_SANDBOX
Deleted:
  projects/bsd_rdma_4_9/contrib/gcc/config/riscv64/
  projects/bsd_rdma_4_9/contrib/zstd/examples/
  projects/bsd_rdma_4_9/sys/dev/iicbus/ds133x.c
  projects/bsd_rdma_4_9/sys/dev/iicbus/ds1374.c
Modified:
  projects/bsd_rdma_4_9/Makefile
  projects/bsd_rdma_4_9/Makefile.inc1
  projects/bsd_rdma_4_9/Makefile.libcompat
  projects/bsd_rdma_4_9/UPDATING
  projects/bsd_rdma_4_9/bin/cat/Makefile
  projects/bsd_rdma_4_9/bin/chmod/Makefile
  projects/bsd_rdma_4_9/bin/date/Makefile
  projects/bsd_rdma_4_9/bin/dd/Makefile
  projects/bsd_rdma_4_9/bin/echo/Makefile
  projects/bsd_rdma_4_9/bin/expr/Makefile
  projects/bsd_rdma_4_9/bin/ln/Makefile
  projects/bsd_rdma_4_9/bin/ls/Makefile
  projects/bsd_rdma_4_9/bin/mv/Makefile
  projects/bsd_rdma_4_9/bin/pax/Makefile
  projects/bsd_rdma_4_9/bin/pkill/Makefile
  projects/bsd_rdma_4_9/bin/pkill/pkill.c
  projects/bsd_rdma_4_9/bin/pwait/Makefile
  projects/bsd_rdma_4_9/bin/sh/Makefile
  projects/bsd_rdma_4_9/bin/sh/tests/Makefile
  projects/bsd_rdma_4_9/bin/sleep/Makefile
  projects/bsd_rdma_4_9/bin/test/Makefile
  projects/bsd_rdma_4_9/contrib/binutils/bfd/ecoff.c
  projects/bsd_rdma_4_9/contrib/binutils/gas/config/tc-mips.c
  projects/bsd_rdma_4_9/contrib/libc++/include/string
  projects/bsd_rdma_4_9/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h
  projects/bsd_rdma_4_9/contrib/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
  projects/bsd_rdma_4_9/contrib/llvm/include/llvm/Object/COFFImportFile.h
  projects/bsd_rdma_4_9/contrib/llvm/lib/Analysis/ScalarEvolution.cpp
  projects/bsd_rdma_4_9/contrib/llvm/lib/Analysis/ValueTracking.cpp
  projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/VirtRegMap.cpp
  projects/bsd_rdma_4_9/contrib/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
  projects/bsd_rdma_4_9/contrib/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
  projects/bsd_rdma_4_9/contrib/llvm/lib/Object/COFFImportFile.cpp
  projects/bsd_rdma_4_9/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
  projects/bsd_rdma_4_9/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
  projects/bsd_rdma_4_9/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td
  projects/bsd_rdma_4_9/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
  projects/bsd_rdma_4_9/contrib/llvm/lib/Target/X86/X86InstrAVX512.td
  projects/bsd_rdma_4_9/contrib/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
  projects/bsd_rdma_4_9/contrib/llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
  projects/bsd_rdma_4_9/contrib/llvm/lib/Transforms/Scalar/BDCE.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/include/clang-c/Index.h
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/include/clang/AST/Decl.h
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/include/clang/Driver/Options.td
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/Mips.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/ToolChains/Clang.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/ToolChains/CrossWindows.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/ToolChains/CrossWindows.h
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/ToolChains/Darwin.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/ToolChains/Darwin.h
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.h
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/ToolChains/MSVC.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/ToolChains/MSVC.h
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/ToolChains/MinGW.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/ToolChains/MinGW.h
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/ToolChains/NetBSD.h
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/lld/COFF/Driver.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/lld/ELF/Driver.cpp
  projects/bsd_rdma_4_9/contrib/llvm/tools/lld/ELF/Options.td
  projects/bsd_rdma_4_9/contrib/llvm/tools/llvm-objdump/llvm-objdump.cpp
  projects/bsd_rdma_4_9/contrib/mdocml/lib.in
  projects/bsd_rdma_4_9/etc/mtree/BSD.tests.dist
  projects/bsd_rdma_4_9/etc/periodic/daily/200.backup-passwd
  projects/bsd_rdma_4_9/etc/periodic/daily/Makefile
  projects/bsd_rdma_4_9/etc/rc.d/Makefile
  projects/bsd_rdma_4_9/gnu/usr.bin/binutils/Makefile.inc0
  projects/bsd_rdma_4_9/gnu/usr.bin/binutils/ld/Makefile.arm
  projects/bsd_rdma_4_9/gnu/usr.bin/binutils/libbfd/Makefile.arm
  projects/bsd_rdma_4_9/gnu/usr.bin/cc/Makefile.inc
  projects/bsd_rdma_4_9/gnu/usr.bin/cc/Makefile.tgt
  projects/bsd_rdma_4_9/gnu/usr.bin/gdb/Makefile.inc
  projects/bsd_rdma_4_9/gnu/usr.bin/gdb/libgdb/Makefile
  projects/bsd_rdma_4_9/lib/atf/libatf-c++/Makefile
  projects/bsd_rdma_4_9/lib/atf/libatf-c/Makefile
  projects/bsd_rdma_4_9/lib/clang/include/clang/Basic/Version.inc
  projects/bsd_rdma_4_9/lib/clang/include/lld/Config/Version.inc
  projects/bsd_rdma_4_9/lib/clang/include/llvm/Support/VCSRevision.h
  projects/bsd_rdma_4_9/lib/libarchive/Makefile
  projects/bsd_rdma_4_9/lib/libc/Makefile
  projects/bsd_rdma_4_9/lib/libc/i386/Makefile.inc
  projects/bsd_rdma_4_9/lib/libc/stdlib/set_constraint_handler_s.c
  projects/bsd_rdma_4_9/lib/libc/string/memset_s.c
  projects/bsd_rdma_4_9/lib/libc/sys/getsockopt.2
  projects/bsd_rdma_4_9/lib/libc/sys/shmget.2
  projects/bsd_rdma_4_9/lib/libc/tests/string/memset_s_test.c
  projects/bsd_rdma_4_9/lib/libc/x86/sys/__vdso_gettc.c
  projects/bsd_rdma_4_9/lib/libcam/Makefile
  projects/bsd_rdma_4_9/lib/libcasper/Makefile
  projects/bsd_rdma_4_9/lib/libcasper/services/Makefile
  projects/bsd_rdma_4_9/lib/libcasper/services/cap_dns/Makefile
  projects/bsd_rdma_4_9/lib/libcasper/services/cap_dns/tests/dns_test.c
  projects/bsd_rdma_4_9/lib/libcasper/services/cap_grp/Makefile
  projects/bsd_rdma_4_9/lib/libcasper/services/cap_grp/tests/grp_test.c
  projects/bsd_rdma_4_9/lib/libcasper/services/cap_pwd/Makefile
  projects/bsd_rdma_4_9/lib/libcasper/services/cap_pwd/tests/pwd_test.c
  projects/bsd_rdma_4_9/lib/libcasper/services/cap_sysctl/Makefile
  projects/bsd_rdma_4_9/lib/libcasper/services/cap_sysctl/tests/Makefile
  projects/bsd_rdma_4_9/lib/libcasper/services/cap_sysctl/tests/sysctl_test.c
  projects/bsd_rdma_4_9/lib/libcompiler_rt/Makefile.inc
  projects/bsd_rdma_4_9/lib/libcrypt/Makefile
  projects/bsd_rdma_4_9/lib/libfetch/common.c
  projects/bsd_rdma_4_9/lib/libkvm/Makefile
  projects/bsd_rdma_4_9/lib/libmp/Makefile
  projects/bsd_rdma_4_9/lib/libnv/Makefile
  projects/bsd_rdma_4_9/lib/libpathconv/Makefile
  projects/bsd_rdma_4_9/lib/libproc/Makefile
  projects/bsd_rdma_4_9/lib/librt/Makefile
  projects/bsd_rdma_4_9/lib/libsbuf/Makefile
  projects/bsd_rdma_4_9/lib/libthr/Makefile
  projects/bsd_rdma_4_9/lib/libutil/Makefile
  projects/bsd_rdma_4_9/lib/libutil/kinfo_getvmmap.3
  projects/bsd_rdma_4_9/lib/libxo/Makefile
  projects/bsd_rdma_4_9/lib/msun/Makefile
  projects/bsd_rdma_4_9/lib/ncurses/ncurses/termcap.c
  projects/bsd_rdma_4_9/libexec/atf/atf-check/Makefile
  projects/bsd_rdma_4_9/libexec/atf/atf-sh/Makefile
  projects/bsd_rdma_4_9/libexec/rtld-elf/Makefile
  projects/bsd_rdma_4_9/release/packages/kernel.ucl
  projects/bsd_rdma_4_9/release/packages/runtime.ucl
  projects/bsd_rdma_4_9/release/release.sh
  projects/bsd_rdma_4_9/sbin/devd/Makefile
  projects/bsd_rdma_4_9/sbin/dhclient/Makefile
  projects/bsd_rdma_4_9/sbin/growfs/Makefile
  projects/bsd_rdma_4_9/sbin/ifconfig/Makefile
  projects/bsd_rdma_4_9/sbin/mdconfig/Makefile
  projects/bsd_rdma_4_9/sbin/pfctl/Makefile
  projects/bsd_rdma_4_9/sbin/route/route.8
  projects/bsd_rdma_4_9/share/examples/Makefile
  projects/bsd_rdma_4_9/share/man/man4/Makefile
  projects/bsd_rdma_4_9/share/man/man4/bge.4
  projects/bsd_rdma_4_9/share/man/man4/ena.4
  projects/bsd_rdma_4_9/share/man/man4/pfsync.4
  projects/bsd_rdma_4_9/share/man/man4/sa.4
  projects/bsd_rdma_4_9/share/man/man4/usb_quirk.4
  projects/bsd_rdma_4_9/share/man/man5/src.conf.5
  projects/bsd_rdma_4_9/share/man/man9/Makefile
  projects/bsd_rdma_4_9/share/man/man9/config_intrhook.9
  projects/bsd_rdma_4_9/share/man/man9/sbuf.9
  projects/bsd_rdma_4_9/share/misc/bsd-family-tree
  projects/bsd_rdma_4_9/share/mk/bsd.README
  projects/bsd_rdma_4_9/share/mk/bsd.cpu.mk
  projects/bsd_rdma_4_9/share/mk/bsd.crunchgen.mk
  projects/bsd_rdma_4_9/share/mk/bsd.lib.mk
  projects/bsd_rdma_4_9/share/mk/bsd.links.mk
  projects/bsd_rdma_4_9/share/mk/bsd.opts.mk
  projects/bsd_rdma_4_9/share/mk/bsd.own.mk
  projects/bsd_rdma_4_9/share/mk/bsd.prog.mk
  projects/bsd_rdma_4_9/share/mk/src.opts.mk
  projects/bsd_rdma_4_9/share/mk/suite.test.mk
  projects/bsd_rdma_4_9/share/mk/sys.mk
  projects/bsd_rdma_4_9/share/zoneinfo/Makefile
  projects/bsd_rdma_4_9/sys/amd64/amd64/minidump_machdep.c
  projects/bsd_rdma_4_9/sys/amd64/amd64/trap.c
  projects/bsd_rdma_4_9/sys/amd64/include/cpufunc.h
  projects/bsd_rdma_4_9/sys/amd64/include/intr_machdep.h
  projects/bsd_rdma_4_9/sys/arm/arm/minidump_machdep.c
  projects/bsd_rdma_4_9/sys/arm/arm/sc_machdep.c
  projects/bsd_rdma_4_9/sys/arm/at91/at91_pmc.c
  projects/bsd_rdma_4_9/sys/arm/conf/GENERIC
  projects/bsd_rdma_4_9/sys/arm/conf/NOTES
  projects/bsd_rdma_4_9/sys/arm64/arm64/debug_monitor.c
  projects/bsd_rdma_4_9/sys/arm64/arm64/gic_v3.c
  projects/bsd_rdma_4_9/sys/arm64/arm64/gic_v3_fdt.c
  projects/bsd_rdma_4_9/sys/arm64/arm64/gicv3_its.c
  projects/bsd_rdma_4_9/sys/arm64/arm64/machdep.c
  projects/bsd_rdma_4_9/sys/arm64/arm64/minidump_machdep.c
  projects/bsd_rdma_4_9/sys/arm64/arm64/mp_machdep.c
  projects/bsd_rdma_4_9/sys/arm64/arm64/vfp.c
  projects/bsd_rdma_4_9/sys/arm64/include/machdep.h
  projects/bsd_rdma_4_9/sys/boot/common/part.c
  projects/bsd_rdma_4_9/sys/boot/efi/include/efi.h
  projects/bsd_rdma_4_9/sys/boot/efi/loader/arch/amd64/trap.c
  projects/bsd_rdma_4_9/sys/boot/fdt/dts/arm/bcm2835.dtsi
  projects/bsd_rdma_4_9/sys/boot/fdt/dts/arm/bcm2836.dtsi
  projects/bsd_rdma_4_9/sys/cam/cam_iosched.c
  projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/abd.h
  projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
  projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/device.h
  projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/list.h
  projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/src/linux_rcu.c
  projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/src/linux_tasklet.c
  projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/src/linux_work.c
  projects/bsd_rdma_4_9/sys/conf/NOTES
  projects/bsd_rdma_4_9/sys/conf/files
  projects/bsd_rdma_4_9/sys/conf/files.arm64
  projects/bsd_rdma_4_9/sys/conf/kern.post.mk
  projects/bsd_rdma_4_9/sys/crypto/aesni/aesni_ghash.c
  projects/bsd_rdma_4_9/sys/crypto/aesni/aesni_wrap.c
  projects/bsd_rdma_4_9/sys/ddb/db_textdump.c
  projects/bsd_rdma_4_9/sys/dev/cxgbe/adapter.h
  projects/bsd_rdma_4_9/sys/dev/cxgbe/common/t4_hw.c
  projects/bsd_rdma_4_9/sys/dev/cxgbe/t4_main.c
  projects/bsd_rdma_4_9/sys/dev/cxgbe/tom/t4_listen.c
  projects/bsd_rdma_4_9/sys/dev/extres/hwreset/hwreset.h
  projects/bsd_rdma_4_9/sys/dev/hyperv/include/hyperv.h
  projects/bsd_rdma_4_9/sys/dev/hyperv/netvsc/hn_nvs.c
  projects/bsd_rdma_4_9/sys/dev/hyperv/netvsc/hn_nvs.h
  projects/bsd_rdma_4_9/sys/dev/hyperv/netvsc/hn_rndis.c
  projects/bsd_rdma_4_9/sys/dev/hyperv/netvsc/hn_rndis.h
  projects/bsd_rdma_4_9/sys/dev/hyperv/netvsc/if_hn.c
  projects/bsd_rdma_4_9/sys/dev/hyperv/netvsc/if_hnreg.h
  projects/bsd_rdma_4_9/sys/dev/hyperv/netvsc/if_hnvar.h
  projects/bsd_rdma_4_9/sys/dev/hyperv/pcib/vmbus_pcib.c
  projects/bsd_rdma_4_9/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
  projects/bsd_rdma_4_9/sys/dev/hyperv/storvsc/hv_vstorage.h
  projects/bsd_rdma_4_9/sys/dev/hyperv/utilities/hv_kvp.c
  projects/bsd_rdma_4_9/sys/dev/hyperv/utilities/vmbus_timesync.c
  projects/bsd_rdma_4_9/sys/dev/hyperv/vmbus/amd64/hyperv_machdep.c
  projects/bsd_rdma_4_9/sys/dev/hyperv/vmbus/hyperv.c
  projects/bsd_rdma_4_9/sys/dev/hyperv/vmbus/vmbus.c
  projects/bsd_rdma_4_9/sys/dev/hyperv/vmbus/vmbus_et.c
  projects/bsd_rdma_4_9/sys/dev/iicbus/nxprtc.c
  projects/bsd_rdma_4_9/sys/dev/iicbus/s35390a.c
  projects/bsd_rdma_4_9/sys/dev/nvme/nvme.c
  projects/bsd_rdma_4_9/sys/dev/pci/pci_host_generic.h
  projects/bsd_rdma_4_9/sys/dev/qlnx/qlnxe/qlnx_def.h
  projects/bsd_rdma_4_9/sys/dev/qlnx/qlnxe/qlnx_os.c
  projects/bsd_rdma_4_9/sys/dev/qlnx/qlnxe/qlnx_ver.h
  projects/bsd_rdma_4_9/sys/dev/safe/safe.c
  projects/bsd_rdma_4_9/sys/dev/syscons/scterm-teken.c
  projects/bsd_rdma_4_9/sys/dev/syscons/syscons.c
  projects/bsd_rdma_4_9/sys/dev/syscons/syscons.h
  projects/bsd_rdma_4_9/sys/dev/usb/quirk/usb_quirk.c
  projects/bsd_rdma_4_9/sys/dev/usb/quirk/usb_quirk.h
  projects/bsd_rdma_4_9/sys/dev/usb/usb_hid.c
  projects/bsd_rdma_4_9/sys/dev/usb/usbhid.h
  projects/bsd_rdma_4_9/sys/dev/vt/vt_core.c
  projects/bsd_rdma_4_9/sys/dev/xen/timer/timer.c
  projects/bsd_rdma_4_9/sys/fs/nfsclient/nfs_clbio.c
  projects/bsd_rdma_4_9/sys/fs/nfsclient/nfs_clnode.c
  projects/bsd_rdma_4_9/sys/fs/nfsclient/nfs_clport.c
  projects/bsd_rdma_4_9/sys/fs/nfsclient/nfs_clsubs.c
  projects/bsd_rdma_4_9/sys/fs/nfsclient/nfs_clvnops.c
  projects/bsd_rdma_4_9/sys/fs/nfsclient/nfsnode.h
  projects/bsd_rdma_4_9/sys/geom/journal/g_journal.c
  projects/bsd_rdma_4_9/sys/i386/i386/exception.s
  projects/bsd_rdma_4_9/sys/i386/i386/minidump_machdep.c
  projects/bsd_rdma_4_9/sys/i386/include/intr_machdep.h
  projects/bsd_rdma_4_9/sys/isa/rtc.h
  projects/bsd_rdma_4_9/sys/isa/syscons_isa.c
  projects/bsd_rdma_4_9/sys/kern/kern_dump.c
  projects/bsd_rdma_4_9/sys/kern/kern_ktr.c
  projects/bsd_rdma_4_9/sys/kern/kern_sendfile.c
  projects/bsd_rdma_4_9/sys/kern/kern_shutdown.c
  projects/bsd_rdma_4_9/sys/kern/subr_autoconf.c
  projects/bsd_rdma_4_9/sys/kern/subr_blist.c
  projects/bsd_rdma_4_9/sys/kern/subr_intr.c
  projects/bsd_rdma_4_9/sys/kern/subr_sbuf.c
  projects/bsd_rdma_4_9/sys/kern/subr_smp.c
  projects/bsd_rdma_4_9/sys/kern/vfs_bio.c
  projects/bsd_rdma_4_9/sys/kern/vfs_subr.c
  projects/bsd_rdma_4_9/sys/libkern/x86/crc32_sse42.c
  projects/bsd_rdma_4_9/sys/mips/atheros/if_arge.c
  projects/bsd_rdma_4_9/sys/mips/conf/XLP.hints
  projects/bsd_rdma_4_9/sys/mips/conf/XLR
  projects/bsd_rdma_4_9/sys/mips/conf/XLR64
  projects/bsd_rdma_4_9/sys/mips/conf/XLRN32
  projects/bsd_rdma_4_9/sys/mips/conf/std.XLP
  projects/bsd_rdma_4_9/sys/mips/mips/minidump_machdep.c
  projects/bsd_rdma_4_9/sys/mips/mips/sc_machdep.c
  projects/bsd_rdma_4_9/sys/mips/rmi/xlr_i2c.c
  projects/bsd_rdma_4_9/sys/modules/Makefile
  projects/bsd_rdma_4_9/sys/modules/armv8crypto/Makefile
  projects/bsd_rdma_4_9/sys/modules/dtb/rpi/Makefile
  projects/bsd_rdma_4_9/sys/modules/i2c/Makefile
  projects/bsd_rdma_4_9/sys/modules/qlnx/qlnxe/Makefile
  projects/bsd_rdma_4_9/sys/modules/usb/Makefile
  projects/bsd_rdma_4_9/sys/net/bpf.c
  projects/bsd_rdma_4_9/sys/net/if_vlan.c
  projects/bsd_rdma_4_9/sys/netinet/tcp_usrreq.c
  projects/bsd_rdma_4_9/sys/powerpc/powerpc/sc_machdep.c
  projects/bsd_rdma_4_9/sys/sparc64/sparc64/dump_machdep.c
  projects/bsd_rdma_4_9/sys/sparc64/sparc64/pmap.c
  projects/bsd_rdma_4_9/sys/sys/blist.h
  projects/bsd_rdma_4_9/sys/sys/conf.h
  projects/bsd_rdma_4_9/sys/sys/consio.h
  projects/bsd_rdma_4_9/sys/sys/gtaskqueue.h
  projects/bsd_rdma_4_9/sys/sys/kernel.h
  projects/bsd_rdma_4_9/sys/sys/kerneldump.h
  projects/bsd_rdma_4_9/sys/sys/sbuf.h
  projects/bsd_rdma_4_9/sys/sys/taskqueue.h
  projects/bsd_rdma_4_9/sys/sys/vnode.h
  projects/bsd_rdma_4_9/sys/teken/sequences
  projects/bsd_rdma_4_9/sys/teken/teken.h
  projects/bsd_rdma_4_9/sys/teken/teken_subr_compat.h
  projects/bsd_rdma_4_9/sys/vm/vm_glue.c
  projects/bsd_rdma_4_9/sys/vm/vm_kern.c
  projects/bsd_rdma_4_9/sys/vm/vm_object.c
  projects/bsd_rdma_4_9/sys/vm/vm_object.h
  projects/bsd_rdma_4_9/sys/vm/vm_page.c
  projects/bsd_rdma_4_9/sys/vm/vm_page.h
  projects/bsd_rdma_4_9/sys/x86/acpica/srat.c
  projects/bsd_rdma_4_9/sys/x86/cpufreq/hwpstate.c
  projects/bsd_rdma_4_9/sys/x86/isa/atrtc.c
  projects/bsd_rdma_4_9/sys/x86/x86/intr_machdep.c
  projects/bsd_rdma_4_9/sys/x86/x86/mp_x86.c
  projects/bsd_rdma_4_9/tests/Makefile
  projects/bsd_rdma_4_9/tests/sys/Makefile.inc
  projects/bsd_rdma_4_9/tools/build/mk/OptionalObsoleteFiles.inc
  projects/bsd_rdma_4_9/usr.bin/apply/Makefile
  projects/bsd_rdma_4_9/usr.bin/basename/Makefile
  projects/bsd_rdma_4_9/usr.bin/bsdcat/Makefile
  projects/bsd_rdma_4_9/usr.bin/calendar/Makefile
  projects/bsd_rdma_4_9/usr.bin/calendar/calendars/calendar.freebsd
  projects/bsd_rdma_4_9/usr.bin/cmp/Makefile
  projects/bsd_rdma_4_9/usr.bin/col/Makefile
  projects/bsd_rdma_4_9/usr.bin/comm/Makefile
  projects/bsd_rdma_4_9/usr.bin/compress/Makefile
  projects/bsd_rdma_4_9/usr.bin/cpio/Makefile
  projects/bsd_rdma_4_9/usr.bin/csplit/Makefile
  projects/bsd_rdma_4_9/usr.bin/cut/Makefile
  projects/bsd_rdma_4_9/usr.bin/diff/Makefile
  projects/bsd_rdma_4_9/usr.bin/diff3/Makefile
  projects/bsd_rdma_4_9/usr.bin/dirname/Makefile
  projects/bsd_rdma_4_9/usr.bin/du/Makefile
  projects/bsd_rdma_4_9/usr.bin/file2c/Makefile
  projects/bsd_rdma_4_9/usr.bin/getconf/Makefile
  projects/bsd_rdma_4_9/usr.bin/grep/Makefile
  projects/bsd_rdma_4_9/usr.bin/grep/util.c
  projects/bsd_rdma_4_9/usr.bin/gzip/Makefile
  projects/bsd_rdma_4_9/usr.bin/hexdump/Makefile
  projects/bsd_rdma_4_9/usr.bin/ident/Makefile
  projects/bsd_rdma_4_9/usr.bin/indent/Makefile
  projects/bsd_rdma_4_9/usr.bin/join/Makefile
  projects/bsd_rdma_4_9/usr.bin/jot/Makefile
  projects/bsd_rdma_4_9/usr.bin/lastcomm/Makefile
  projects/bsd_rdma_4_9/usr.bin/limits/Makefile
  projects/bsd_rdma_4_9/usr.bin/m4/Makefile
  projects/bsd_rdma_4_9/usr.bin/mkesdb/yacc.y
  projects/bsd_rdma_4_9/usr.bin/mkimg/Makefile
  projects/bsd_rdma_4_9/usr.bin/mt/mt.1
  projects/bsd_rdma_4_9/usr.bin/ncal/Makefile
  projects/bsd_rdma_4_9/usr.bin/pr/Makefile
  projects/bsd_rdma_4_9/usr.bin/printf/Makefile
  projects/bsd_rdma_4_9/usr.bin/procstat/Makefile
  projects/bsd_rdma_4_9/usr.bin/sdiff/Makefile
  projects/bsd_rdma_4_9/usr.bin/sed/Makefile
  projects/bsd_rdma_4_9/usr.bin/soelim/Makefile
  projects/bsd_rdma_4_9/usr.bin/stat/Makefile
  projects/bsd_rdma_4_9/usr.bin/tail/Makefile
  projects/bsd_rdma_4_9/usr.bin/tar/Makefile
  projects/bsd_rdma_4_9/usr.bin/timeout/Makefile
  projects/bsd_rdma_4_9/usr.bin/tr/Makefile
  projects/bsd_rdma_4_9/usr.bin/truncate/Makefile
  projects/bsd_rdma_4_9/usr.bin/uniq/Makefile
  projects/bsd_rdma_4_9/usr.bin/units/Makefile
  projects/bsd_rdma_4_9/usr.bin/units/units.1
  projects/bsd_rdma_4_9/usr.bin/uudecode/Makefile
  projects/bsd_rdma_4_9/usr.bin/uuencode/Makefile
  projects/bsd_rdma_4_9/usr.bin/xargs/Makefile
  projects/bsd_rdma_4_9/usr.bin/xinstall/Makefile
  projects/bsd_rdma_4_9/usr.bin/xo/Makefile
  projects/bsd_rdma_4_9/usr.bin/yacc/Makefile
  projects/bsd_rdma_4_9/usr.sbin/bluetooth/bthidcontrol/sdp.c
  projects/bsd_rdma_4_9/usr.sbin/bluetooth/bthidd/bthid_config.h
  projects/bsd_rdma_4_9/usr.sbin/bluetooth/bthidd/bthidd.conf.sample
  projects/bsd_rdma_4_9/usr.sbin/bluetooth/bthidd/bthidd.h
  projects/bsd_rdma_4_9/usr.sbin/bluetooth/bthidd/hid.c
  projects/bsd_rdma_4_9/usr.sbin/bluetooth/bthidd/lexer.l
  projects/bsd_rdma_4_9/usr.sbin/bluetooth/bthidd/parser.y
  projects/bsd_rdma_4_9/usr.sbin/bluetooth/bthidd/server.c
  projects/bsd_rdma_4_9/usr.sbin/bluetooth/bthidd/session.c
  projects/bsd_rdma_4_9/usr.sbin/bootparamd/bootparamd/bootparamd.c
  projects/bsd_rdma_4_9/usr.sbin/bootparamd/callbootd/callbootd.c
  projects/bsd_rdma_4_9/usr.sbin/chown/Makefile
  projects/bsd_rdma_4_9/usr.sbin/cpucontrol/cpucontrol.8
  projects/bsd_rdma_4_9/usr.sbin/etcupdate/Makefile
  projects/bsd_rdma_4_9/usr.sbin/extattr/Makefile
  projects/bsd_rdma_4_9/usr.sbin/fstyp/Makefile
  projects/bsd_rdma_4_9/usr.sbin/makefs/Makefile
  projects/bsd_rdma_4_9/usr.sbin/newsyslog/Makefile
  projects/bsd_rdma_4_9/usr.sbin/nmtree/Makefile
  projects/bsd_rdma_4_9/usr.sbin/pw/Makefile
  projects/bsd_rdma_4_9/usr.sbin/pw/pw_user.c
  projects/bsd_rdma_4_9/usr.sbin/pw/tests/pw_useradd_test.sh
  projects/bsd_rdma_4_9/usr.sbin/pw/tests/pw_usermod_test.sh
  projects/bsd_rdma_4_9/usr.sbin/rpcbind/Makefile
  projects/bsd_rdma_4_9/usr.sbin/sa/Makefile
  projects/bsd_rdma_4_9/usr.sbin/vidcontrol/vidcontrol.1
  projects/bsd_rdma_4_9/usr.sbin/vidcontrol/vidcontrol.c
Directory Properties:
  projects/bsd_rdma_4_9/   (props changed)
  projects/bsd_rdma_4_9/contrib/binutils/   (props changed)
  projects/bsd_rdma_4_9/contrib/compiler-rt/   (props changed)
  projects/bsd_rdma_4_9/contrib/gcc/   (props changed)
  projects/bsd_rdma_4_9/contrib/libc++/   (props changed)
  projects/bsd_rdma_4_9/contrib/llvm/   (props changed)
  projects/bsd_rdma_4_9/contrib/llvm/tools/clang/   (props changed)
  projects/bsd_rdma_4_9/contrib/llvm/tools/lld/   (props changed)
  projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/   (props changed)
  projects/bsd_rdma_4_9/contrib/mdocml/   (props changed)
  projects/bsd_rdma_4_9/contrib/zstd/   (props changed)
  projects/bsd_rdma_4_9/gnu/usr.bin/binutils/   (props changed)
  projects/bsd_rdma_4_9/gnu/usr.bin/gdb/   (props changed)
  projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/   (props changed)

Modified: projects/bsd_rdma_4_9/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -221,7 +221,7 @@ SUB_MAKE= `test -x ${MYMAKE} && echo ${MYMAKE} || echo
 SUB_MAKE= ${MAKE} -m ${.CURDIR}/share/mk
 .endif
 
-_MAKE=	PATH=${PATH} MAKE_CMD=${MAKE} ${SUB_MAKE} -f Makefile.inc1 \
+_MAKE=	PATH=${PATH} MAKE_CMD="${MAKE}" ${SUB_MAKE} -f Makefile.inc1 \
 	TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH}
 
 # Only allow meta mode for the whitelisted targets.  See META_TGT_WHITELIST
@@ -245,12 +245,17 @@ _MAKE+=	MK_META_MODE=no
 .endif	# !exists(/dev/filemon) && !defined(NO_FILEMON)
 .endif	# !defined(_CAN_USE_META_MODE)
 
-# Guess machine architecture from machine type, and vice versa.
+# Guess target architecture from target type, and vice versa, based on
+# historic FreeBSD practice of tending to have TARGET == TARGET_ARCH
+# expanding to TARGET == TARGET_CPUARCH in recent times, with known
+# exceptions.
 .if !defined(TARGET_ARCH) && defined(TARGET)
+# T->TA mapping is usually TARGET with arm64 the odd man out
 _TARGET_ARCH=	${TARGET:S/arm64/aarch64/}
 .elif !defined(TARGET) && defined(TARGET_ARCH) && \
     ${TARGET_ARCH} != ${MACHINE_ARCH}
-_TARGET=		${TARGET_ARCH:C/mips(n32|64)?(el)?(hf)?/mips/:C/arm(v6)?(eb)?/arm/:C/aarch64/arm64/:C/powerpc64/powerpc/:C/powerpcspe/powerpc/:C/riscv64(sf)?/riscv/}
+# TA->T mapping is accidentally CPUARCH with aarch64 the odd man out
+_TARGET=	${TARGET_ARCH:${__TO_CPUARCH}:C/aarch64/arm64/}
 .endif
 .if defined(TARGET) && !defined(_TARGET)
 _TARGET=${TARGET}

Modified: projects/bsd_rdma_4_9/Makefile.inc1
==============================================================================
--- projects/bsd_rdma_4_9/Makefile.inc1	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/Makefile.inc1	Mon Aug 21 11:56:47 2017	(r322747)
@@ -346,6 +346,12 @@ SVN=   ${_P}/${_S}
 . endfor
 .endif
 SVNFLAGS?=	-r HEAD
+.if !defined(VCS_REVISION) && empty(VCS_REVISION)
+_VCS_REVISION?=	$$(eval ${SVNVERSION_CMD} ${SRCDIR})
+. if !empty(_VCS_REVISION)
+VCS_REVISION=	$$(echo r${_VCS_REVISION})
+. endif
+.endif
 
 .if !defined(OSRELDATE)
 .if exists(/usr/include/osreldate.h)
@@ -1493,20 +1499,24 @@ packagekernel: .PHONY
 	    @${DESTDIR}/${DISTDIR}/kernel.meta | \
 	    ${XZ_CMD} > ${PACKAGEDIR}/kernel.txz
 .endif
+.if ${MK_DEBUG_FILES} != "no"
 	cd ${DESTDIR}/${DISTDIR}/kernel; \
 	    tar cvf - --include '*/*/*.debug' \
 	    @${DESTDIR}/${DISTDIR}/kernel.meta | \
 	    ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel-dbg.txz
+.endif
 .if ${BUILDKERNELS:[#]} > 1 && ${NO_INSTALLEXTRAKERNELS} != "yes"
 .for _kernel in ${BUILDKERNELS:[2..-1]}
 	cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
 	    tar cvf - --exclude '*.debug' \
 	    @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \
 	    ${XZ_CMD} > ${PACKAGEDIR}/kernel.${_kernel}.txz
+.if ${MK_DEBUG_FILES} != "no"
 	cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
 	    tar cvf - --include '*/*/*.debug' \
 	    @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \
 	    ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}-dbg.txz
+.endif
 .endfor
 .endif
 .else
@@ -1515,17 +1525,21 @@ packagekernel: .PHONY
 	    tar cvf - --exclude '*.debug' . | \
 	    ${XZ_CMD} > ${PACKAGEDIR}/kernel.txz
 .endif
+.if ${MK_DEBUG_FILES} != "no"
 	cd ${DESTDIR}/${DISTDIR}/kernel; \
 	    tar cvf - --include '*/*/*.debug' $$(eval find .) | \
 	    ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel-dbg.txz
+.endif
 .if ${BUILDKERNELS:[#]} > 1 && ${NO_INSTALLEXTRAKERNELS} != "yes"
 .for _kernel in ${BUILDKERNELS:[2..-1]}
 	cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
 	    tar cvf - --exclude '*.debug' . | \
 	    ${XZ_CMD} > ${PACKAGEDIR}/kernel.${_kernel}.txz
+.if ${MK_DEBUG_FILES} != "no"
 	cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
 	    tar cvf - --include '*/*/*.debug' $$(eval find .) | \
 	    ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}-dbg.txz
+.endif
 .endfor
 .endif
 .endif
@@ -1618,9 +1632,9 @@ create-world-package-${pkgname}: .PHONY
 	@awk -F\" ' \
 		/^name/ { printf("===> Creating %s-", $$2); next } \
 		/^version/ { print $$2; next } \
-		' ${WSTAGEDIR}/${pkgname}.ucl ;
+		' ${WSTAGEDIR}/${pkgname}.ucl
 	@if [ "${pkgname}" == "runtime" ]; then \
-		sed -i '' -e "s/%KERNCONF%/${INSTALLKERNEL:tl}/" ${WSTAGEDIR}/${pkgname}.ucl ; \
+		sed -i '' -e "s/%VCS_REVISION%/${VCS_REVISION}/" ${WSTAGEDIR}/${pkgname}.ucl ; \
 	fi
 	${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \
 		create -M ${WSTAGEDIR}/${pkgname}.ucl \
@@ -1632,7 +1646,10 @@ create-world-package-${pkgname}: .PHONY
 create-kernel-packages:	.PHONY
 _default_flavor=	-default
 .if exists(${KSTAGEDIR}/kernel.meta)
-. for flavor in "" -debug
+. if ${MK_DEBUG_FILES} != "no"
+_debug=-debug
+. endif
+. for flavor in "" ${_debug}
 create-kernel-packages: create-kernel-packages-flavor${flavor:C,^""$,${_default_flavor},}
 create-kernel-packages-flavor${flavor:C,^""$,${_default_flavor},}: _pkgbootstrap .PHONY
 	@cd ${KSTAGEDIR}/${DISTDIR} ; \
@@ -1647,6 +1664,7 @@ create-kernel-packages-flavor${flavor:C,^""$,${_defaul
 		-e "s/%DESC%/FreeBSD ${INSTALLKERNEL} kernel ${flavor}/" \
 		-e "s/%CAP_MKDB_ENDIAN%/$${cap_arg}/g" \
 		-e "s/%PWD_MKDB_ENDIAN%/$${pwd_arg}/g" \
+		-e "s/ %VCS_REVISION%/${VCS_REVISION}/" \
 		${SRCDIR}/release/packages/kernel.ucl \
 		> ${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.ucl ; \
 	awk -F\" ' \
@@ -1663,7 +1681,10 @@ create-kernel-packages-flavor${flavor:C,^""$,${_defaul
 .if ${BUILDKERNELS:[#]} > 1 && ${NO_INSTALLEXTRAKERNELS} != "yes"
 . for _kernel in ${BUILDKERNELS:[2..-1]}
 .  if exists(${KSTAGEDIR}/kernel.${_kernel}.meta)
-.   for flavor in "" -debug
+.   if ${MK_DEBUG_FILES} != "no"
+_debug=-debug
+.   endif
+.   for flavor in "" ${_debug}
 create-kernel-packages: create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}-${_kernel}
 create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}-${_kernel}: _pkgbootstrap .PHONY
 	@cd ${KSTAGEDIR}/kernel.${_kernel} ; \
@@ -1678,6 +1699,7 @@ create-kernel-packages-extra-flavor${flavor:C,^""$,${_
 		-e "s/%DESC%/FreeBSD ${_kernel} kernel ${flavor}/" \
 		-e "s/%CAP_MKDB_ENDIAN%/$${cap_arg}/g" \
 		-e "s/%PWD_MKDB_ENDIAN%/$${pwd_arg}/g" \
+		-e "s/ %VCS_REVISION%/${VCS_REVISION}/" \
 		${SRCDIR}/release/packages/kernel.ucl \
 		> ${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl ; \
 	awk -F\" ' \

Modified: projects/bsd_rdma_4_9/Makefile.libcompat
==============================================================================
--- projects/bsd_rdma_4_9/Makefile.libcompat	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/Makefile.libcompat	Mon Aug 21 11:56:47 2017	(r322747)
@@ -179,7 +179,7 @@ build${libcompat}: .PHONY
 .endfor
 	${_+_}cd ${.CURDIR}; \
 	    ${LIBCOMPATWMAKE} -f Makefile.inc1 -DNO_FSCHG libraries
-.if ${libcompat} == "32"
+.if ${libcompat} == "32" && !defined(NO_RTLD)
 .for _t in ${_obj} all
 	${_+_}cd ${.CURDIR}/libexec/rtld-elf; PROG=ld-elf32.so.1 ${LIBCOMPATWMAKE} \
 	    -DNO_FSCHG DIRPRFX=libexec/rtld-elf/ ${_t}
@@ -192,7 +192,7 @@ distribute${libcompat} install${libcompat}: .PHONY
 .for _dir in ${_LC_LIBDIRS.yes}
 	${_+_}cd ${.CURDIR}/${_dir}; ${LIBCOMPATIMAKE} ${.TARGET:S/${libcompat}$//}
 .endfor
-.if ${libcompat} == "32"
+.if ${libcompat} == "32" && !defined(NO_RTLD)
 	${_+_}cd ${.CURDIR}/libexec/rtld-elf; \
 	    PROG=ld-elf32.so.1 ${LIBCOMPATIMAKE} ${.TARGET:S/32$//}
 	${_+_}cd ${.CURDIR}/usr.bin/ldd; PROG=ldd32 ${LIBCOMPATIMAKE} \

Modified: projects/bsd_rdma_4_9/UPDATING
==============================================================================
--- projects/bsd_rdma_4_9/UPDATING	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/UPDATING	Mon Aug 21 11:56:47 2017	(r322747)
@@ -51,6 +51,27 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
 
 ****************************** SPECIAL WARNING: ******************************
 
+20170814:
+	"make check" behavior (made in ^/head@r295380) has been changed to
+	execute from a limited sandbox, as opposed to executing from
+	${TESTSDIR}.
+
+	Behavioral changes:
+	- The "beforecheck" and "aftercheck" targets are now specified.
+	- ${CHECKDIR} (added in commit noted above) has been removed.
+	- Legacy behavior can be enabled by setting
+	  WITHOUT_MAKE_CHECK_USE_SANDBOX in src.conf(5) or the environment.
+
+	If the limited sandbox mode is enabled, "make check" will execute
+	"make distribution", then install, execute the tests, and clean up the
+	sandbox if successful.
+
+	The "make distribution" and "make install" targets are typically run as
+	root to set appropriate permissions and ownership at installation time.
+	The end-user should set "WITH_INSTALL_AS_USER" in src.conf(5) or the
+	environment if executing "make check" with limited sandbox mode using
+	an unprivileged user.
+
 20170808:
 	Since the switch to GPT disk labels, fsck for UFS/FFS has been
 	unable to automatically find alternate superblocks. As of r322297,

Modified: projects/bsd_rdma_4_9/bin/cat/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/bin/cat/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/cat/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -6,6 +6,7 @@
 PACKAGE=runtime
 PROG=	cat
 
+HAS_TESTS=
 SUBDIR.${MK_TESTS}+= tests
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/bin/chmod/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/bin/chmod/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/chmod/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -6,6 +6,7 @@
 PACKAGE=runtime
 PROG=	chmod
 
+HAS_TESTS=
 SUBDIR.${MK_TESTS}+=	tests
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/bin/date/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/bin/date/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/date/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -7,6 +7,7 @@ PACKAGE=runtime
 PROG=	date
 SRCS=	date.c netdate.c vary.c
 
+HAS_TESTS=
 SUBDIR.${MK_TESTS}+= tests
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/bin/dd/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/bin/dd/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/dd/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -38,6 +38,7 @@ test: ${PROG} gen
 
 	@rm -f gen 1M_zeroes* obs_zeroes
 
+HAS_TESTS=
 SUBDIR.${MK_TESTS}+= tests
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/bin/echo/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/bin/echo/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/echo/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -6,6 +6,7 @@
 PACKAGE=runtime
 PROG=	echo
 
+HAS_TESTS=
 SUBDIR.${MK_TESTS}+= tests
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/bin/expr/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/bin/expr/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/expr/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -12,6 +12,7 @@ CFLAGS+= -fwrapv
 
 NO_WMISSING_VARIABLE_DECLARATIONS=
 
+HAS_TESTS=
 SUBDIR.${MK_TESTS}+= tests
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/bin/ln/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/bin/ln/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/ln/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -10,6 +10,7 @@ MAN=	ln.1 symlink.7
 LINKS=	${BINDIR}/ln ${BINDIR}/link
 MLINKS=	ln.1 link.1
 
+HAS_TESTS=
 SUBDIR.${MK_TESTS}+= tests
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/bin/ls/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/bin/ls/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/ls/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -14,6 +14,7 @@ CFLAGS+= -DCOLORLS
 LIBADD+=	termcapw
 .endif
 
+HAS_TESTS=
 SUBDIR.${MK_TESTS}+= tests
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/bin/mv/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/bin/mv/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/mv/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -6,6 +6,7 @@
 PACKAGE=runtime
 PROG=	mv
 
+HAS_TESTS=
 SUBDIR.${MK_TESTS}+= tests
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/bin/pax/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/bin/pax/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/pax/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -33,6 +33,7 @@ SRCS=	ar_io.c ar_subs.c buf_subs.c cache.c cpio.c file
 	gen_subs.c getoldopt.c options.c pat_rep.c pax.c sel_subs.c \
 	tables.c tar.c tty_subs.c
 
+HAS_TESTS=
 SUBDIR.${MK_TESTS}+= tests
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/bin/pkill/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/bin/pkill/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/pkill/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -19,6 +19,7 @@ MLINKS=	pkill.1 pgrep.1
 SYMLINKS=	../..${BINDIR}/pkill /usr/bin/pkill
 SYMLINKS+=	../..${BINDIR}/pgrep /usr/bin/pgrep
 
+HAS_TESTS=
 SUBDIR.${MK_TESTS}+= tests
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/bin/pkill/pkill.c
==============================================================================
--- projects/bsd_rdma_4_9/bin/pkill/pkill.c	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/pkill/pkill.c	Mon Aug 21 11:56:47 2017	(r322747)
@@ -568,6 +568,8 @@ main(int argc, char **argv)
 			continue;
 		rv |= (*action)(kp);
 	}
+	if (rv && pgrep)
+		putchar('\n');
 	if (!did_action && !pgrep && longfmt)
 		fprintf(stderr,
 		    "No matching processes belonging to you were found\n");

Modified: projects/bsd_rdma_4_9/bin/pwait/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/bin/pwait/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/pwait/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -5,6 +5,7 @@
 PACKAGE=runtime
 PROG=	pwait
 
+HAS_TESTS=
 SUBDIR.${MK_TESTS}+=	tests
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/bin/sh/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/bin/sh/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/sh/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -64,6 +64,7 @@ syntax.c syntax.h: mksyntax
 token.h: mktokens
 	sh ${.CURDIR}/mktokens
 
+HAS_TESTS=
 SUBDIR.${MK_TESTS}+= tests
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/bin/sh/tests/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/bin/sh/tests/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/sh/tests/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -6,6 +6,7 @@ TESTS_SUBDIRS+=	builtins
 TESTS_SUBDIRS+=	errors
 TESTS_SUBDIRS+=	execution
 TESTS_SUBDIRS+=	expansion
+TESTS_SUBDIRS+=	invocation
 TESTS_SUBDIRS+=	parameters
 TESTS_SUBDIRS+=	parser
 TESTS_SUBDIRS+=	set-e

Modified: projects/bsd_rdma_4_9/bin/sleep/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/bin/sleep/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/sleep/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -6,6 +6,7 @@
 PACKAGE=runtime
 PROG=	sleep
 
+HAS_TESTS=
 SUBDIR.${MK_TESTS}+= tests
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/bin/test/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/bin/test/Makefile	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/bin/test/Makefile	Mon Aug 21 11:56:47 2017	(r322747)
@@ -8,6 +8,7 @@ PROG=	test
 LINKS=	${BINDIR}/test ${BINDIR}/[
 MLINKS=	test.1 [.1
 
+HAS_TESTS=
 SUBDIR.${MK_TESTS}+= tests
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/contrib/binutils/bfd/ecoff.c
==============================================================================
--- projects/bsd_rdma_4_9/contrib/binutils/bfd/ecoff.c	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/binutils/bfd/ecoff.c	Mon Aug 21 11:56:47 2017	(r322747)
@@ -1878,7 +1878,7 @@ _bfd_ecoff_sizeof_headers (bfd *abfd,
   ret = (bfd_coff_filhsz (abfd)
 	 + bfd_coff_aoutsz (abfd)
 	 + c * bfd_coff_scnhsz (abfd));
-  return BFD_ALIGN (ret, 16);
+  return (int) BFD_ALIGN (ret, 16);
 }
 
 /* Get the contents of a section.  */

Modified: projects/bsd_rdma_4_9/contrib/binutils/gas/config/tc-mips.c
==============================================================================
--- projects/bsd_rdma_4_9/contrib/binutils/gas/config/tc-mips.c	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/binutils/gas/config/tc-mips.c	Mon Aug 21 11:56:47 2017	(r322747)
@@ -2920,7 +2920,7 @@ append_insn (struct mips_cl_insn *ip, expressionS *add
 	     instruction.  May want to add this support in the future.  */
 	}
       /* Never set the bit for $0, which is always zero.  */
-      mips_gprmask &= ~1 << 0;
+      mips_gprmask &= ~(1 << 0);
     }
   else
     {
@@ -3310,7 +3310,7 @@ macro_end (void)
 	     warning now.  */
 	  const char *msg = macro_warning (subtype);
 	  if (msg != 0)
-	    as_warn (msg);
+	    as_warn ("%s", msg);
 	}
       else
 	{
@@ -14463,7 +14463,7 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT asec
 	{
 	  const char *msg = macro_warning (fragp->fr_subtype);
 	  if (msg != 0)
-	    as_warn_where (fragp->fr_file, fragp->fr_line, msg);
+	    as_warn_where (fragp->fr_file, fragp->fr_line, "%s", msg);
 	}
 
       /* Go through all the fixups for the first sequence.  Disable them

Modified: projects/bsd_rdma_4_9/contrib/libc++/include/string
==============================================================================
--- projects/bsd_rdma_4_9/contrib/libc++/include/string	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/libc++/include/string	Mon Aug 21 11:56:47 2017	(r322747)
@@ -556,6 +556,8 @@ template<class _CharT, class _Traits, class _Allocator
 basic_string<_CharT, _Traits, _Allocator>
 operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, _CharT __y);
 
+_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS string operator+<char, char_traits<char>, allocator<char> >(char const*, string const&))
+
 template <bool>
 class _LIBCPP_TEMPLATE_VIS __basic_string_common
 {
@@ -3999,7 +4001,6 @@ basic_string<_CharT, _Traits, _Allocator>::__subscript
 
 _LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<char>)
 _LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<wchar_t>)
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS string operator+<char, char_traits<char>, allocator<char> >(char const*, string const&))
 
 #if _LIBCPP_STD_VER > 11 
 // Literal suffixes for basic_string [basic.string.literals]

Modified: projects/bsd_rdma_4_9/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h
==============================================================================
--- projects/bsd_rdma_4_9/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h	Mon Aug 21 11:56:47 2017	(r322747)
@@ -1220,8 +1220,9 @@ class SelectionDAG { (public)
   /// If an existing load has uses of its chain, create a token factor node with
   /// that chain and the new memory node's chain and update users of the old
   /// chain to the token factor. This ensures that the new memory node will have
-  /// the same relative memory dependency position as the old load.
-  void makeEquivalentMemoryOrdering(LoadSDNode *Old, SDValue New);
+  /// the same relative memory dependency position as the old load. Returns the
+  /// new merged load chain.
+  SDValue makeEquivalentMemoryOrdering(LoadSDNode *Old, SDValue New);
 
   /// Topological-sort the AllNodes list and a
   /// assign a unique node id for each node in the DAG based on their

Modified: projects/bsd_rdma_4_9/contrib/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
==============================================================================
--- projects/bsd_rdma_4_9/contrib/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h	Mon Aug 21 11:56:47 2017	(r322747)
@@ -94,9 +94,9 @@ template <typename BaseLayerT> class LazyEmittingLayer
       llvm_unreachable("Invalid emit-state.");
     }
 
-    void removeModuleFromBaseLayer(BaseLayerT &BaseLayer) {
-      if (EmitState != NotEmitted)
-        BaseLayer.removeModule(Handle);
+    Error removeModuleFromBaseLayer(BaseLayerT& BaseLayer) {
+      return EmitState != NotEmitted ? BaseLayer.removeModule(Handle)
+                                     : Error::success();
     }
 
     void emitAndFinalize(BaseLayerT &BaseLayer) {
@@ -226,9 +226,9 @@ template <typename BaseLayerT> class LazyEmittingLayer
   ///   This method will free the memory associated with the given module, both
   /// in this layer, and the base layer.
   Error removeModule(ModuleHandleT H) {
-    (*H)->removeModuleFromBaseLayer(BaseLayer);
+    Error Err = (*H)->removeModuleFromBaseLayer(BaseLayer);
     ModuleList.erase(H);
-    return Error::success();
+    return Err;
   }
 
   /// @brief Search for the given named symbol.

Modified: projects/bsd_rdma_4_9/contrib/llvm/include/llvm/Object/COFFImportFile.h
==============================================================================
--- projects/bsd_rdma_4_9/contrib/llvm/include/llvm/Object/COFFImportFile.h	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/llvm/include/llvm/Object/COFFImportFile.h	Mon Aug 21 11:56:47 2017	(r322747)
@@ -73,6 +73,7 @@ class COFFImportFile : public SymbolicFile { (private)
 struct COFFShortExport {
   std::string Name;
   std::string ExtName;
+  std::string SymbolName;
 
   uint16_t Ordinal = 0;
   bool Noname = false;
@@ -98,7 +99,8 @@ struct COFFShortExport {
 std::error_code writeImportLibrary(StringRef ImportName,
                                    StringRef Path,
                                    ArrayRef<COFFShortExport> Exports,
-                                   COFF::MachineTypes Machine);
+                                   COFF::MachineTypes Machine,
+                                   bool MakeWeakAliases);
 
 } // namespace object
 } // namespace llvm

Modified: projects/bsd_rdma_4_9/contrib/llvm/lib/Analysis/ScalarEvolution.cpp
==============================================================================
--- projects/bsd_rdma_4_9/contrib/llvm/lib/Analysis/ScalarEvolution.cpp	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/llvm/lib/Analysis/ScalarEvolution.cpp	Mon Aug 21 11:56:47 2017	(r322747)
@@ -162,6 +162,11 @@ static cl::opt<unsigned>
                 cl::desc("Maximum depth of recursive SExt/ZExt"),
                 cl::init(8));
 
+static cl::opt<unsigned>
+    MaxAddRecSize("scalar-evolution-max-add-rec-size", cl::Hidden,
+                  cl::desc("Max coefficients in AddRec during evolving"),
+                  cl::init(16));
+
 //===----------------------------------------------------------------------===//
 //                           SCEV class definitions
 //===----------------------------------------------------------------------===//
@@ -2878,6 +2883,12 @@ const SCEV *ScalarEvolution::getMulExpr(SmallVectorImp
       if (!OtherAddRec || OtherAddRec->getLoop() != AddRecLoop)
         continue;
 
+      // Limit max number of arguments to avoid creation of unreasonably big
+      // SCEVAddRecs with very complex operands.
+      if (AddRec->getNumOperands() + OtherAddRec->getNumOperands() - 1 >
+          MaxAddRecSize)
+        continue;
+
       bool Overflow = false;
       Type *Ty = AddRec->getType();
       bool LargerThan64Bits = getTypeSizeInBits(Ty) > 64;
@@ -7582,6 +7593,25 @@ const SCEV *ScalarEvolution::computeSCEVAtScope(const 
             const SCEV *BackedgeTakenCount = getBackedgeTakenCount(LI);
             if (const SCEVConstant *BTCC =
                   dyn_cast<SCEVConstant>(BackedgeTakenCount)) {
+
+              // This trivial case can show up in some degenerate cases where
+              // the incoming IR has not yet been fully simplified.
+              if (BTCC->getValue()->isZero()) {
+                Value *InitValue = nullptr;
+                bool MultipleInitValues = false;
+                for (unsigned i = 0; i < PN->getNumIncomingValues(); i++) {
+                  if (!LI->contains(PN->getIncomingBlock(i))) {
+                    if (!InitValue)
+                      InitValue = PN->getIncomingValue(i);
+                    else if (InitValue != PN->getIncomingValue(i)) {
+                      MultipleInitValues = true;
+                      break;
+                    }
+                  }
+                  if (!MultipleInitValues && InitValue)
+                    return getSCEV(InitValue);
+                }
+              }
               // Okay, we know how many times the containing loop executes.  If
               // this is a constant evolving PHI node, get the final value at
               // the specified iteration number.

Modified: projects/bsd_rdma_4_9/contrib/llvm/lib/Analysis/ValueTracking.cpp
==============================================================================
--- projects/bsd_rdma_4_9/contrib/llvm/lib/Analysis/ValueTracking.cpp	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/llvm/lib/Analysis/ValueTracking.cpp	Mon Aug 21 11:56:47 2017	(r322747)
@@ -4458,6 +4458,10 @@ Optional<bool> llvm::isImpliedCondition(const Value *L
                                         unsigned Depth, AssumptionCache *AC,
                                         const Instruction *CxtI,
                                         const DominatorTree *DT) {
+  // Bail out when we hit the limit.
+  if (Depth == MaxDepth)
+    return None;
+
   // A mismatch occurs when we compare a scalar cmp to a vector cmp, for example.
   if (LHS->getType() != RHS->getType())
     return None;

Modified: projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
==============================================================================
--- projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp	Mon Aug 21 11:56:47 2017	(r322747)
@@ -302,7 +302,21 @@ SDValue DAGTypeLegalizer::ScalarizeVecRes_SCALAR_TO_VE
 }
 
 SDValue DAGTypeLegalizer::ScalarizeVecRes_VSELECT(SDNode *N) {
-  SDValue Cond = GetScalarizedVector(N->getOperand(0));
+  SDValue Cond = N->getOperand(0);
+  EVT OpVT = Cond.getValueType();
+  SDLoc DL(N);
+  // The vselect result and true/value operands needs scalarizing, but it's
+  // not a given that the Cond does. For instance, in AVX512 v1i1 is legal.
+  // See the similar logic in ScalarizeVecRes_VSETCC
+  if (getTypeAction(OpVT) == TargetLowering::TypeScalarizeVector) {
+    Cond = GetScalarizedVector(Cond);
+  } else {
+    EVT VT = OpVT.getVectorElementType();
+    Cond = DAG.getNode(
+        ISD::EXTRACT_VECTOR_ELT, DL, VT, Cond,
+        DAG.getConstant(0, DL, TLI.getVectorIdxTy(DAG.getDataLayout())));
+  }
+
   SDValue LHS = GetScalarizedVector(N->getOperand(1));
   TargetLowering::BooleanContent ScalarBool =
       TLI.getBooleanContents(false, false);

Modified: projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
==============================================================================
--- projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp	Mon Aug 21 11:56:47 2017	(r322747)
@@ -7262,22 +7262,23 @@ void SelectionDAG::TransferDbgValues(SDValue From, SDV
     AddDbgValue(I, ToNode, false);
 }
 
-void SelectionDAG::makeEquivalentMemoryOrdering(LoadSDNode *OldLoad,
-                                                SDValue NewMemOp) {
+SDValue SelectionDAG::makeEquivalentMemoryOrdering(LoadSDNode *OldLoad,
+                                                   SDValue NewMemOp) {
   assert(isa<MemSDNode>(NewMemOp.getNode()) && "Expected a memop node");
-  if (!OldLoad->hasAnyUseOfValue(1))
-    return;
-
   // The new memory operation must have the same position as the old load in
   // terms of memory dependency. Create a TokenFactor for the old load and new
   // memory operation and update uses of the old load's output chain to use that
   // TokenFactor.
   SDValue OldChain = SDValue(OldLoad, 1);
   SDValue NewChain = SDValue(NewMemOp.getNode(), 1);
+  if (!OldLoad->hasAnyUseOfValue(1))
+    return NewChain;
+
   SDValue TokenFactor =
       getNode(ISD::TokenFactor, SDLoc(OldLoad), MVT::Other, OldChain, NewChain);
   ReplaceAllUsesOfValueWith(OldChain, TokenFactor);
   UpdateNodeOperands(TokenFactor.getNode(), OldChain, NewChain);
+  return TokenFactor;
 }
 
 //===----------------------------------------------------------------------===//

Modified: projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/VirtRegMap.cpp
==============================================================================
--- projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/VirtRegMap.cpp	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/VirtRegMap.cpp	Mon Aug 21 11:56:47 2017	(r322747)
@@ -180,6 +180,7 @@ class VirtRegRewriter : public MachineFunctionPass {
   void addLiveInsForSubRanges(const LiveInterval &LI, unsigned PhysReg) const;
   void handleIdentityCopy(MachineInstr &MI) const;
   void expandCopyBundle(MachineInstr &MI) const;
+  bool subRegLiveThrough(const MachineInstr &MI, unsigned SuperPhysReg) const;
 
 public:
   static char ID;
@@ -415,6 +416,32 @@ void VirtRegRewriter::expandCopyBundle(MachineInstr &M
   }
 }
 
+/// Check whether (part of) \p SuperPhysReg is live through \p MI.
+/// \pre \p MI defines a subregister of a virtual register that
+/// has been assigned to \p SuperPhysReg.
+bool VirtRegRewriter::subRegLiveThrough(const MachineInstr &MI,
+                                        unsigned SuperPhysReg) const {
+  SlotIndex MIIndex = LIS->getInstructionIndex(MI);
+  SlotIndex BeforeMIUses = MIIndex.getBaseIndex();
+  SlotIndex AfterMIDefs = MIIndex.getBoundaryIndex();
+  for (MCRegUnitIterator Unit(SuperPhysReg, TRI); Unit.isValid(); ++Unit) {
+    const LiveRange &UnitRange = LIS->getRegUnit(*Unit);
+    // If the regunit is live both before and after MI,
+    // we assume it is live through.
+    // Generally speaking, this is not true, because something like
+    // "RU = op RU" would match that description.
+    // However, we know that we are trying to assess whether
+    // a def of a virtual reg, vreg, is live at the same time of RU.
+    // If we are in the "RU = op RU" situation, that means that vreg
+    // is defined at the same time as RU (i.e., "vreg, RU = op RU").
+    // Thus, vreg and RU interferes and vreg cannot be assigned to
+    // SuperPhysReg. Therefore, this situation cannot happen.
+    if (UnitRange.liveAt(AfterMIDefs) && UnitRange.liveAt(BeforeMIUses))
+      return true;
+  }
+  return false;
+}
+
 void VirtRegRewriter::rewrite() {
   bool NoSubRegLiveness = !MRI->subRegLivenessEnabled();
   SmallVector<unsigned, 8> SuperDeads;
@@ -452,7 +479,8 @@ void VirtRegRewriter::rewrite() {
             // A virtual register kill refers to the whole register, so we may
             // have to add <imp-use,kill> operands for the super-register.  A
             // partial redef always kills and redefines the super-register.
-            if (MO.readsReg() && (MO.isDef() || MO.isKill()))
+            if ((MO.readsReg() && (MO.isDef() || MO.isKill())) ||
+                (MO.isDef() && subRegLiveThrough(*MI, PhysReg)))
               SuperKills.push_back(PhysReg);
 
             if (MO.isDef()) {

Modified: projects/bsd_rdma_4_9/contrib/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
==============================================================================
--- projects/bsd_rdma_4_9/contrib/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp	Mon Aug 21 11:56:47 2017	(r322747)
@@ -134,13 +134,13 @@ dumpDWARFv5StringOffsetsSection(raw_ostream &OS, Strin
       uint64_t StringOffset =
           StrOffsetExt.getRelocatedValue(EntrySize, &Offset);
       if (Format == DWARF32) {
-        OS << format("%8.8x ", StringOffset);
         uint32_t StringOffset32 = (uint32_t)StringOffset;
+        OS << format("%8.8x ", StringOffset32);
         const char *S = StrData.getCStr(&StringOffset32);
         if (S)
           OS << format("\"%s\"", S);
       } else
-        OS << format("%16.16x ", StringOffset);
+        OS << format("%16.16" PRIx64 " ", StringOffset);
       OS << "\n";
     }
   }

Modified: projects/bsd_rdma_4_9/contrib/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
==============================================================================
--- projects/bsd_rdma_4_9/contrib/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp	Mon Aug 21 11:56:47 2017	(r322747)
@@ -196,7 +196,7 @@ unsigned DWARFVerifier::verifyDebugInfoAttribute(const
         ++NumErrors;
         OS << "error: DW_AT_stmt_list offset is beyond .debug_line "
               "bounds: "
-           << format("0x%08" PRIx32, *SectionOffset) << "\n";
+           << format("0x%08" PRIx64, *SectionOffset) << "\n";
         Die.dump(OS, 0);
         OS << "\n";
       }
@@ -234,7 +234,7 @@ unsigned DWARFVerifier::verifyDebugInfoForm(const DWAR
       if (CUOffset >= CUSize) {
         ++NumErrors;
         OS << "error: " << FormEncodingString(Form) << " CU offset "
-           << format("0x%08" PRIx32, CUOffset)
+           << format("0x%08" PRIx64, CUOffset)
            << " is invalid (must be less than CU size of "
            << format("0x%08" PRIx32, CUSize) << "):\n";
         Die.dump(OS, 0);
@@ -366,7 +366,7 @@ void DWARFVerifier::verifyDebugLineRows() {
       if (Row.Address < PrevAddress) {
         ++NumDebugLineErrors;
         OS << "error: .debug_line["
-           << format("0x%08" PRIx32,
+           << format("0x%08" PRIx64,
                      *toSectionOffset(Die.find(DW_AT_stmt_list)))
            << "] row[" << RowIndex
            << "] decreases in address from previous row:\n";
@@ -381,7 +381,7 @@ void DWARFVerifier::verifyDebugLineRows() {
       if (Row.File > MaxFileIndex) {
         ++NumDebugLineErrors;
         OS << "error: .debug_line["
-           << format("0x%08" PRIx32,
+           << format("0x%08" PRIx64,
                      *toSectionOffset(Die.find(DW_AT_stmt_list)))
            << "][" << RowIndex << "] has invalid file index " << Row.File
            << " (valid values are [1," << MaxFileIndex << "]):\n";

Modified: projects/bsd_rdma_4_9/contrib/llvm/lib/Object/COFFImportFile.cpp
==============================================================================
--- projects/bsd_rdma_4_9/contrib/llvm/lib/Object/COFFImportFile.cpp	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/llvm/lib/Object/COFFImportFile.cpp	Mon Aug 21 11:56:47 2017	(r322747)
@@ -557,7 +557,7 @@ NewArchiveMember ObjectFactory::createWeakExternal(Str
 
 std::error_code writeImportLibrary(StringRef ImportName, StringRef Path,
                                    ArrayRef<COFFShortExport> Exports,
-                                   MachineTypes Machine) {
+                                   MachineTypes Machine, bool MakeWeakAliases) {
 
   std::vector<NewArchiveMember> Members;
   ObjectFactory OF(llvm::sys::path::filename(ImportName), Machine);
@@ -575,7 +575,7 @@ std::error_code writeImportLibrary(StringRef ImportNam
     if (E.Private)
       continue;
 
-    if (E.isWeak()) {
+    if (E.isWeak() && MakeWeakAliases) {
       Members.push_back(OF.createWeakExternal(E.Name, E.ExtName, false));
       Members.push_back(OF.createWeakExternal(E.Name, E.ExtName, true));
       continue;
@@ -587,7 +587,7 @@ std::error_code writeImportLibrary(StringRef ImportNam
     if (E.Constant)
       ImportType = IMPORT_CONST;
 
-    StringRef SymbolName = E.isWeak() ? E.ExtName : E.Name;
+    StringRef SymbolName = E.SymbolName.empty() ? E.Name : E.SymbolName;
     ImportNameType NameType = getNameType(SymbolName, E.Name, Machine);
     Expected<std::string> Name = E.ExtName.empty()
                                      ? SymbolName

Modified: projects/bsd_rdma_4_9/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
==============================================================================
--- projects/bsd_rdma_4_9/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp	Mon Aug 21 11:56:47 2017	(r322747)
@@ -388,6 +388,10 @@ static unsigned isMatchingStore(MachineInstr &LoadInst
 }
 
 static unsigned getPreIndexedOpcode(unsigned Opc) {
+  // FIXME: We don't currently support creating pre-indexed loads/stores when
+  // the load or store is the unscaled version.  If we decide to perform such an
+  // optimization in the future the cases for the unscaled loads/stores will
+  // need to be added here.
   switch (Opc) {
   default:
     llvm_unreachable("Opcode has no pre-indexed equivalent!");
@@ -451,32 +455,42 @@ static unsigned getPostIndexedOpcode(unsigned Opc) {
   default:
     llvm_unreachable("Opcode has no post-indexed wise equivalent!");
   case AArch64::STRSui:
+  case AArch64::STURSi:
     return AArch64::STRSpost;
   case AArch64::STRDui:
+  case AArch64::STURDi:
     return AArch64::STRDpost;
   case AArch64::STRQui:
+  case AArch64::STURQi:
     return AArch64::STRQpost;
   case AArch64::STRBBui:
     return AArch64::STRBBpost;
   case AArch64::STRHHui:
     return AArch64::STRHHpost;
   case AArch64::STRWui:
+  case AArch64::STURWi:
     return AArch64::STRWpost;
   case AArch64::STRXui:
+  case AArch64::STURXi:
     return AArch64::STRXpost;
   case AArch64::LDRSui:
+  case AArch64::LDURSi:
     return AArch64::LDRSpost;
   case AArch64::LDRDui:
+  case AArch64::LDURDi:
     return AArch64::LDRDpost;
   case AArch64::LDRQui:
+  case AArch64::LDURQi:
     return AArch64::LDRQpost;
   case AArch64::LDRBBui:
     return AArch64::LDRBBpost;
   case AArch64::LDRHHui:
     return AArch64::LDRHHpost;
   case AArch64::LDRWui:
+  case AArch64::LDURWi:
     return AArch64::LDRWpost;
   case AArch64::LDRXui:
+  case AArch64::LDURXi:
     return AArch64::LDRXpost;
   case AArch64::LDRSWui:
     return AArch64::LDRSWpost;
@@ -1694,8 +1708,9 @@ bool AArch64LoadStoreOpt::optimizeBlock(MachineBasicBl
         ++NumPostFolded;
         break;
       }
-      // Don't know how to handle pre/post-index versions, so move to the next
-      // instruction.
+
+      // Don't know how to handle unscaled pre/post-index versions below, so
+      // move to the next instruction.
       if (TII->isUnscaledLdSt(Opc)) {
         ++MBBI;
         break;

Modified: projects/bsd_rdma_4_9/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
==============================================================================
--- projects/bsd_rdma_4_9/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp	Mon Aug 21 11:56:47 2017	(r322747)
@@ -769,8 +769,7 @@ bool ARMExpandPseudo::ExpandCMP_SWAP(MachineBasicBlock
   MachineInstr &MI = *MBBI;
   DebugLoc DL = MI.getDebugLoc();
   const MachineOperand &Dest = MI.getOperand(0);
-  unsigned StatusReg = MI.getOperand(1).getReg();
-  bool StatusDead = MI.getOperand(1).isDead();
+  unsigned TempReg = MI.getOperand(1).getReg();
   // Duplicating undef operands into 2 instructions does not guarantee the same
   // value on both; However undef should be replaced by xzr anyway.
   assert(!MI.getOperand(2).isUndef() && "cannot handle undef");
@@ -797,23 +796,9 @@ bool ARMExpandPseudo::ExpandCMP_SWAP(MachineBasicBlock
   }
 
   // .Lloadcmp:
-  //     mov wStatus, #0
   //     ldrex rDest, [rAddr]
   //     cmp rDest, rDesired
   //     bne .Ldone
-  if (!StatusDead) {
-    if (IsThumb) {
-      BuildMI(LoadCmpBB, DL, TII->get(ARM::tMOVi8), StatusReg)
-        .addDef(ARM::CPSR, RegState::Dead)
-        .addImm(0)
-        .add(predOps(ARMCC::AL));
-    } else {
-      BuildMI(LoadCmpBB, DL, TII->get(ARM::MOVi), StatusReg)
-        .addImm(0)
-        .add(predOps(ARMCC::AL))
-        .add(condCodeOp());
-    }
-  }
 
   MachineInstrBuilder MIB;
   MIB = BuildMI(LoadCmpBB, DL, TII->get(LdrexOp), Dest.getReg());
@@ -836,10 +821,10 @@ bool ARMExpandPseudo::ExpandCMP_SWAP(MachineBasicBlock
   LoadCmpBB->addSuccessor(StoreBB);
 
   // .Lstore:
-  //     strex rStatus, rNew, [rAddr]
-  //     cmp rStatus, #0
+  //     strex rTempReg, rNew, [rAddr]
+  //     cmp rTempReg, #0
   //     bne .Lloadcmp
-  MIB = BuildMI(StoreBB, DL, TII->get(StrexOp), StatusReg)
+  MIB = BuildMI(StoreBB, DL, TII->get(StrexOp), TempReg)
     .addReg(NewReg)
     .addReg(AddrReg);
   if (StrexOp == ARM::t2STREX)
@@ -848,7 +833,7 @@ bool ARMExpandPseudo::ExpandCMP_SWAP(MachineBasicBlock
 
   unsigned CMPri = IsThumb ? ARM::t2CMPri : ARM::CMPri;
   BuildMI(StoreBB, DL, TII->get(CMPri))
-      .addReg(StatusReg, getKillRegState(StatusDead))
+      .addReg(TempReg, RegState::Kill)
       .addImm(0)
       .add(predOps(ARMCC::AL));
   BuildMI(StoreBB, DL, TII->get(Bcc))
@@ -904,8 +889,7 @@ bool ARMExpandPseudo::ExpandCMP_SWAP_64(MachineBasicBl
   MachineInstr &MI = *MBBI;
   DebugLoc DL = MI.getDebugLoc();
   MachineOperand &Dest = MI.getOperand(0);
-  unsigned StatusReg = MI.getOperand(1).getReg();
-  bool StatusDead = MI.getOperand(1).isDead();
+  unsigned TempReg = MI.getOperand(1).getReg();
   // Duplicating undef operands into 2 instructions does not guarantee the same
   // value on both; However undef should be replaced by xzr anyway.
   assert(!MI.getOperand(2).isUndef() && "cannot handle undef");
@@ -931,7 +915,7 @@ bool ARMExpandPseudo::ExpandCMP_SWAP_64(MachineBasicBl
   // .Lloadcmp:
   //     ldrexd rDestLo, rDestHi, [rAddr]
   //     cmp rDestLo, rDesiredLo
-  //     sbcs rStatus<dead>, rDestHi, rDesiredHi
+  //     sbcs rTempReg<dead>, rDestHi, rDesiredHi
   //     bne .Ldone
   unsigned LDREXD = IsThumb ? ARM::t2LDREXD : ARM::LDREXD;
   MachineInstrBuilder MIB;
@@ -959,17 +943,17 @@ bool ARMExpandPseudo::ExpandCMP_SWAP_64(MachineBasicBl
   LoadCmpBB->addSuccessor(StoreBB);
 
   // .Lstore:
-  //     strexd rStatus, rNewLo, rNewHi, [rAddr]
-  //     cmp rStatus, #0
+  //     strexd rTempReg, rNewLo, rNewHi, [rAddr]
+  //     cmp rTempReg, #0
   //     bne .Lloadcmp
   unsigned STREXD = IsThumb ? ARM::t2STREXD : ARM::STREXD;
-  MIB = BuildMI(StoreBB, DL, TII->get(STREXD), StatusReg);
+  MIB = BuildMI(StoreBB, DL, TII->get(STREXD), TempReg);
   addExclusiveRegPair(MIB, New, 0, IsThumb, TRI);
   MIB.addReg(AddrReg).add(predOps(ARMCC::AL));
 
   unsigned CMPri = IsThumb ? ARM::t2CMPri : ARM::CMPri;
   BuildMI(StoreBB, DL, TII->get(CMPri))
-      .addReg(StatusReg, getKillRegState(StatusDead))
+      .addReg(TempReg, RegState::Kill)
       .addImm(0)
       .add(predOps(ARMCC::AL));
   BuildMI(StoreBB, DL, TII->get(Bcc))

Modified: projects/bsd_rdma_4_9/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td
==============================================================================
--- projects/bsd_rdma_4_9/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td	Mon Aug 21 11:56:47 2017	(r322747)
@@ -6053,21 +6053,21 @@ def SPACE : PseudoInst<(outs GPR:$Rd), (ins i32imm:$si
 // significantly more naive than the standard expansion: we conservatively
 // assume seq_cst, strong cmpxchg and omit clrex on failure.
 
-let Constraints = "@earlyclobber $Rd,@earlyclobber $status",
+let Constraints = "@earlyclobber $Rd,@earlyclobber $temp",
     mayLoad = 1, mayStore = 1 in {
-def CMP_SWAP_8 : PseudoInst<(outs GPR:$Rd, GPR:$status),
+def CMP_SWAP_8 : PseudoInst<(outs GPR:$Rd, GPR:$temp),
                             (ins GPR:$addr, GPR:$desired, GPR:$new),
                             NoItinerary, []>, Sched<[]>;
 
-def CMP_SWAP_16 : PseudoInst<(outs GPR:$Rd, GPR:$status),
+def CMP_SWAP_16 : PseudoInst<(outs GPR:$Rd, GPR:$temp),
                              (ins GPR:$addr, GPR:$desired, GPR:$new),
                              NoItinerary, []>, Sched<[]>;
 
-def CMP_SWAP_32 : PseudoInst<(outs GPR:$Rd, GPR:$status),
+def CMP_SWAP_32 : PseudoInst<(outs GPR:$Rd, GPR:$temp),
                              (ins GPR:$addr, GPR:$desired, GPR:$new),
                              NoItinerary, []>, Sched<[]>;
 
-def CMP_SWAP_64 : PseudoInst<(outs GPRPair:$Rd, GPR:$status),
+def CMP_SWAP_64 : PseudoInst<(outs GPRPair:$Rd, GPR:$temp),
                              (ins GPR:$addr, GPRPair:$desired, GPRPair:$new),
                              NoItinerary, []>, Sched<[]>;
 }

Modified: projects/bsd_rdma_4_9/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
==============================================================================
--- projects/bsd_rdma_4_9/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp	Mon Aug 21 11:51:40 2017	(r322746)
+++ projects/bsd_rdma_4_9/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp	Mon Aug 21 11:56:47 2017	(r322747)
@@ -419,6 +419,11 @@ X86TargetLowering::X86TargetLowering(const X86TargetMa
     setOperationAction(ISD::SELECT, VT, Custom);
     setOperationAction(ISD::SETCC,  VT, Custom);
   }
+
+  // Custom action for SELECT MMX and expand action for SELECT_CC MMX
+  setOperationAction(ISD::SELECT, MVT::x86mmx, Custom);
+  setOperationAction(ISD::SELECT_CC, MVT::x86mmx, Expand);
+
   setOperationAction(ISD::EH_RETURN       , MVT::Other, Custom);
   // NOTE: EH_SJLJ_SETJMP/_LONGJMP supported here is NOT intended to support
   // SjLj exception handling but a light-weight setjmp/longjmp replacement to
@@ -1383,7 +1388,7 @@ X86TargetLowering::X86TargetLowering(const X86TargetMa
     // (result) is 256-bit but the source is 512-bit wide.
     // 128-bit was made Custom under AVX1.
     for (auto VT : { MVT::v32i8, MVT::v16i16, MVT::v8i32, MVT::v4i64,
-                     MVT::v8f32, MVT::v4f64 })
+                     MVT::v8f32, MVT::v4f64, MVT::v1i1 })
       setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Custom);
     for (auto VT : { MVT::v2i1, MVT::v4i1, MVT::v8i1,
                      MVT::v16i1, MVT::v32i1, MVT::v64i1 })
@@ -14570,6 +14575,21 @@ static SDValue LowerEXTRACT_SUBVECTOR(SDValue Op, cons
   unsigned IdxVal = cast<ConstantSDNode>(Idx)->getZExtValue();
   MVT ResVT = Op.getSimpleValueType();
 
+  // When v1i1 is legal a scalarization of a vselect with a vXi1 Cond
+  // would result with: v1i1 = extract_subvector(vXi1, idx).
+  // Lower these into extract_vector_elt which is already selectable.
+  if (ResVT == MVT::v1i1) {
+    assert(Subtarget.hasAVX512() &&
+           "Boolean EXTRACT_SUBVECTOR requires AVX512");
+
+    MVT EltVT = ResVT.getVectorElementType();
+    const TargetLowering &TLI = DAG.getTargetLoweringInfo();
+    MVT LegalVT =
+        (TLI.getTypeToTransformTo(*DAG.getContext(), EltVT)).getSimpleVT();
+    SDValue Res = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, LegalVT, In, Idx);
+    return DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, ResVT, Res);
+  }
+
   assert((In.getSimpleValueType().is256BitVector() ||
           In.getSimpleValueType().is512BitVector()) &&
          "Can only extract from 256-bit or 512-bit vectors");
@@ -20651,8 +20671,8 @@ static SDValue LowerINTRINSIC_W_CHAIN(SDValue Op, cons
   }
   // ADC/ADCX/SBB
   case ADX: {
-    SDVTList CFVTs = DAG.getVTList(Op->getValueType(0), MVT::Other);
-    SDVTList VTs = DAG.getVTList(Op.getOperand(3)->getValueType(0), MVT::Other);
+    SDVTList CFVTs = DAG.getVTList(Op->getValueType(0), MVT::i32);
+    SDVTList VTs = DAG.getVTList(Op.getOperand(3)->getValueType(0), MVT::i32);
     SDValue GenCF = DAG.getNode(X86ISD::ADD, dl, CFVTs, Op.getOperand(2),
                                 DAG.getConstant(-1, dl, MVT::i8));
     SDValue Res = DAG.getNode(IntrData->Opc0, dl, VTs, Op.getOperand(3),
@@ -30663,6 +30683,14 @@ static SDValue combineSelect(SDNode *N, SelectionDAG &

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201708211156.v7LBumFp078895>