svn commit: r321756 - in projects/runtime-coverage: . contrib/ipfilter contrib/libarchive/libarchive contrib/llvm/include/llvm/CodeGen/GlobalISel contrib/llvm/include/llvm/Support contrib/llvm/incl...

Ngie Cooper ngie at FreeBSD.org
Mon Jul 31 04:20:27 UTC 2017


Author: ngie
Date: Mon Jul 31 04:20:21 2017
New Revision: 321756
URL: https://svnweb.freebsd.org/changeset/base/321756

Log:
  MFhead at r321755

Added:
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslparseop.c
     - copied unchanged from r321755, head/sys/contrib/dev/acpica/compiler/aslparseop.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/dispatcher/dspkginit.c
     - copied unchanged from r321755, head/sys/contrib/dev/acpica/components/dispatcher/dspkginit.c
  projects/runtime-coverage/sys/dev/iicbus/nxprtc.c
     - copied unchanged from r321755, head/sys/dev/iicbus/nxprtc.c
Deleted:
  projects/runtime-coverage/sys/dev/iicbus/pcf8563.c
  projects/runtime-coverage/sys/dev/iicbus/pcf8563reg.h
  projects/runtime-coverage/sys/net/flowtable.c
  projects/runtime-coverage/sys/net/flowtable.h
  projects/runtime-coverage/usr.bin/netstat/flowtable.c
Modified:
  projects/runtime-coverage/Makefile
  projects/runtime-coverage/Makefile.inc1
  projects/runtime-coverage/UPDATING
  projects/runtime-coverage/contrib/ipfilter/arc4random.c
  projects/runtime-coverage/contrib/libarchive/libarchive/archive_cryptor_private.h
  projects/runtime-coverage/contrib/libarchive/libarchive/archive_write_set_format_ar.c
  projects/runtime-coverage/contrib/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
  projects/runtime-coverage/contrib/llvm/include/llvm/Support/CommandLine.h
  projects/runtime-coverage/contrib/llvm/include/llvm/Support/TargetRegistry.h
  projects/runtime-coverage/contrib/llvm/include/llvm/Transforms/Utils/LoopUtils.h
  projects/runtime-coverage/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp
  projects/runtime-coverage/contrib/llvm/lib/CodeGen/InlineSpiller.cpp
  projects/runtime-coverage/contrib/llvm/lib/CodeGen/RegAllocBase.cpp
  projects/runtime-coverage/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  projects/runtime-coverage/contrib/llvm/lib/Option/OptTable.cpp
  projects/runtime-coverage/contrib/llvm/lib/Support/CommandLine.cpp
  projects/runtime-coverage/contrib/llvm/lib/Support/ErrorHandling.cpp
  projects/runtime-coverage/contrib/llvm/lib/Support/TargetRegistry.cpp
  projects/runtime-coverage/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  projects/runtime-coverage/contrib/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp
  projects/runtime-coverage/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.td
  projects/runtime-coverage/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
  projects/runtime-coverage/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ14.td
  projects/runtime-coverage/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
  projects/runtime-coverage/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
  projects/runtime-coverage/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp
  projects/runtime-coverage/contrib/llvm/lib/Transforms/Utils/LoopUtils.cpp
  projects/runtime-coverage/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
  projects/runtime-coverage/contrib/llvm/tools/clang/include/clang/AST/Type.h
  projects/runtime-coverage/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp
  projects/runtime-coverage/contrib/llvm/tools/clang/lib/AST/Type.cpp
  projects/runtime-coverage/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp
  projects/runtime-coverage/contrib/llvm/tools/clang/lib/Basic/Version.cpp
  projects/runtime-coverage/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.cpp
  projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/Driver.cpp
  projects/runtime-coverage/contrib/llvm/tools/clang/lib/Headers/unwind.h
  projects/runtime-coverage/contrib/llvm/tools/clang/lib/Lex/ScratchBuffer.cpp
  projects/runtime-coverage/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp
  projects/runtime-coverage/contrib/llvm/tools/clang/tools/clang-format/ClangFormat.cpp
  projects/runtime-coverage/contrib/llvm/tools/lld/COFF/Config.h
  projects/runtime-coverage/contrib/llvm/tools/lld/COFF/Driver.cpp
  projects/runtime-coverage/contrib/llvm/tools/lld/ELF/InputFiles.cpp
  projects/runtime-coverage/contrib/llvm/tools/lld/ELF/InputFiles.h
  projects/runtime-coverage/contrib/llvm/tools/lld/ELF/SymbolTable.cpp
  projects/runtime-coverage/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/ObjCPass.cpp
  projects/runtime-coverage/contrib/llvm/tools/lldb/include/lldb/API/SBAttachInfo.h
  projects/runtime-coverage/contrib/llvm/tools/lldb/include/lldb/API/SBBreakpoint.h
  projects/runtime-coverage/contrib/llvm/tools/lldb/include/lldb/API/SBProcess.h
  projects/runtime-coverage/etc/rc.d/nfsd
  projects/runtime-coverage/lib/clang/include/clang/Basic/Version.inc
  projects/runtime-coverage/lib/clang/include/clang/Config/config.h
  projects/runtime-coverage/lib/clang/include/lld/Config/Version.inc
  projects/runtime-coverage/lib/clang/include/llvm/Support/VCSRevision.h
  projects/runtime-coverage/lib/clang/libllvm/Makefile
  projects/runtime-coverage/lib/libc/x86/sys/__vdso_gettc.c
  projects/runtime-coverage/lib/libprocstat/libprocstat.3
  projects/runtime-coverage/libexec/rtld-elf/rtld.c
  projects/runtime-coverage/release/arm/BANANAPI.conf
  projects/runtime-coverage/release/arm/CUBIEBOARD2.conf
  projects/runtime-coverage/sbin/umount/umount.8
  projects/runtime-coverage/sbin/umount/umount.c
  projects/runtime-coverage/share/man/man4/rtwn.4
  projects/runtime-coverage/share/man/man9/taskqueue.9
  projects/runtime-coverage/sys/amd64/amd64/genassym.c
  projects/runtime-coverage/sys/amd64/linux/linux_sysvec.c
  projects/runtime-coverage/sys/amd64/linux32/linux32_sysvec.c
  projects/runtime-coverage/sys/arm/allwinner/clkng/ccu_a64.c
  projects/runtime-coverage/sys/arm/arm/mpcore_timer.c
  projects/runtime-coverage/sys/arm/arm/pmap-v6.c
  projects/runtime-coverage/sys/arm/conf/GENERIC
  projects/runtime-coverage/sys/arm/freescale/imx/imx_i2c.c
  projects/runtime-coverage/sys/arm/include/pte-v6.h
  projects/runtime-coverage/sys/arm/mv/mv_machdep.c
  projects/runtime-coverage/sys/boot/efi/libefi/efinet.c
  projects/runtime-coverage/sys/cam/ata/ata_da.c
  projects/runtime-coverage/sys/compat/linux/linux_vdso.c
  projects/runtime-coverage/sys/compat/linux/linux_vdso.h
  projects/runtime-coverage/sys/compat/linuxkpi/common/src/linux_hrtimer.c
  projects/runtime-coverage/sys/conf/NOTES
  projects/runtime-coverage/sys/conf/files
  projects/runtime-coverage/sys/conf/options
  projects/runtime-coverage/sys/contrib/dev/acpica/acpica_prep.sh
  projects/runtime-coverage/sys/contrib/dev/acpica/changes.txt
  projects/runtime-coverage/sys/contrib/dev/acpica/common/acfileio.c
  projects/runtime-coverage/sys/contrib/dev/acpica/common/adisasm.c
  projects/runtime-coverage/sys/contrib/dev/acpica/common/adwalk.c
  projects/runtime-coverage/sys/contrib/dev/acpica/common/ahpredef.c
  projects/runtime-coverage/sys/contrib/dev/acpica/common/ahtable.c
  projects/runtime-coverage/sys/contrib/dev/acpica/common/dmtable.c
  projects/runtime-coverage/sys/contrib/dev/acpica/common/dmtbinfo.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslanalyze.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslbtypes.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslcodegen.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslcompile.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslcompiler.h
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslcompiler.l
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslcstyle.y
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/asldefine.h
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslerror.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslexternal.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslfold.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslglobal.h
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslhelp.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslhelpers.y
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslkeywords.y
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/asllength.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/asllisting.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslload.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/asllookup.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslmap.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslmapoutput.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslmessages.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslmessages.h
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslmethod.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/asloffset.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslopcodes.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslopt.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/asloptions.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslpld.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslpredef.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslprimaries.y
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslprintf.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslresource.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslresources.y
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslrules.y
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslstartup.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslsupport.y
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/asltokens.y
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/asltransform.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/asltree.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/asltypes.h
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslutils.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslwalks.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/aslxref.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/cvcompiler.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/cvdisasm.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/cvparser.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/dtcompile.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/dtcompiler.h
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/dttemplate.h
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/dtutils.c
  projects/runtime-coverage/sys/contrib/dev/acpica/compiler/prmacros.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/debugger/dbdisply.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/disassembler/dmopcode.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/dispatcher/dsfield.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/dispatcher/dsobject.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/executer/excreate.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/executer/exdump.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/executer/exmisc.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/executer/exoparg2.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/hardware/hwregs.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/namespace/nsaccess.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/namespace/nsarguments.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/namespace/nsinit.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/namespace/nsnames.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/namespace/nsprepkg.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/parser/psloop.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/parser/psobject.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/resources/rsxface.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/tables/tbdata.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/tables/tbinstal.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/tables/tbutils.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/tables/tbxface.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/tables/tbxfload.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/utilities/uthex.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/utilities/utmath.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/utilities/utmisc.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/utilities/utobject.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/utilities/utresrc.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/utilities/utstate.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/utilities/utstrtoul64.c
  projects/runtime-coverage/sys/contrib/dev/acpica/components/utilities/uttrack.c
  projects/runtime-coverage/sys/contrib/dev/acpica/include/acapps.h
  projects/runtime-coverage/sys/contrib/dev/acpica/include/acdisasm.h
  projects/runtime-coverage/sys/contrib/dev/acpica/include/acdispat.h
  projects/runtime-coverage/sys/contrib/dev/acpica/include/aclocal.h
  projects/runtime-coverage/sys/contrib/dev/acpica/include/acnames.h
  projects/runtime-coverage/sys/contrib/dev/acpica/include/acobject.h
  projects/runtime-coverage/sys/contrib/dev/acpica/include/acpi.h
  projects/runtime-coverage/sys/contrib/dev/acpica/include/acpixf.h
  projects/runtime-coverage/sys/contrib/dev/acpica/include/actables.h
  projects/runtime-coverage/sys/contrib/dev/acpica/include/actbl.h
  projects/runtime-coverage/sys/contrib/dev/acpica/include/actbl2.h
  projects/runtime-coverage/sys/contrib/dev/acpica/include/actypes.h
  projects/runtime-coverage/sys/contrib/dev/acpica/include/acutils.h
  projects/runtime-coverage/sys/contrib/dev/acpica/include/platform/acenv.h
  projects/runtime-coverage/sys/contrib/dev/acpica/include/platform/acfreebsd.h
  projects/runtime-coverage/sys/contrib/dev/acpica/include/platform/acgcc.h
  projects/runtime-coverage/sys/dev/acpica/acpi.c
  projects/runtime-coverage/sys/dev/bnxt/if_bnxt.c
  projects/runtime-coverage/sys/dev/cxgbe/iw_cxgbe/cm.c
  projects/runtime-coverage/sys/dev/etherswitch/e6000sw/e6000sw.c
  projects/runtime-coverage/sys/dev/etherswitch/e6000sw/e6000swreg.h
  projects/runtime-coverage/sys/dev/ichwd/ichwd.c
  projects/runtime-coverage/sys/dev/iicbus/ds1307.c
  projects/runtime-coverage/sys/dev/iicbus/ds1307reg.h
  projects/runtime-coverage/sys/dev/isp/isp.c
  projects/runtime-coverage/sys/dev/ixl/ixl_txrx.c
  projects/runtime-coverage/sys/dev/ksyms/ksyms.c
  projects/runtime-coverage/sys/dev/mmc/mmc.c
  projects/runtime-coverage/sys/dev/mpr/mpr.c
  projects/runtime-coverage/sys/dev/mpr/mpr_pci.c
  projects/runtime-coverage/sys/dev/mpr/mpr_sas_lsi.c
  projects/runtime-coverage/sys/dev/mpr/mpr_table.c
  projects/runtime-coverage/sys/dev/mpr/mpr_table.h
  projects/runtime-coverage/sys/dev/mpr/mprvar.h
  projects/runtime-coverage/sys/dev/mps/mps.c
  projects/runtime-coverage/sys/dev/mps/mps_pci.c
  projects/runtime-coverage/sys/dev/mps/mps_sas_lsi.c
  projects/runtime-coverage/sys/dev/mps/mps_table.c
  projects/runtime-coverage/sys/dev/mps/mps_table.h
  projects/runtime-coverage/sys/dev/mps/mpsvar.h
  projects/runtime-coverage/sys/dev/ow/owc_gpiobus.c
  projects/runtime-coverage/sys/dev/rtwn/if_rtwnreg.h
  projects/runtime-coverage/sys/dev/rtwn/rtl8188e/r88e_rx.c
  projects/runtime-coverage/sys/dev/rtwn/usb/rtwn_usb_attach.c
  projects/runtime-coverage/sys/dev/rtwn/usb/rtwn_usb_ep.c
  projects/runtime-coverage/sys/dev/rtwn/usb/rtwn_usb_rx.c
  projects/runtime-coverage/sys/dev/rtwn/usb/rtwn_usb_var.h
  projects/runtime-coverage/sys/dev/sdhci/sdhci.c
  projects/runtime-coverage/sys/dev/sdhci/sdhci.h
  projects/runtime-coverage/sys/dev/sdhci/sdhci_acpi.c
  projects/runtime-coverage/sys/dev/sdhci/sdhci_pci.c
  projects/runtime-coverage/sys/dev/uart/uart_bus_pci.c
  projects/runtime-coverage/sys/dev/usb/wlan/if_rsu.c
  projects/runtime-coverage/sys/dev/usb/wlan/if_zyd.c
  projects/runtime-coverage/sys/dev/virtio/network/if_vtnetvar.h
  projects/runtime-coverage/sys/fs/nfs/nfs_commonkrpc.c
  projects/runtime-coverage/sys/fs/nfs/nfs_commonsubs.c
  projects/runtime-coverage/sys/fs/nfs/nfscl.h
  projects/runtime-coverage/sys/fs/nfsclient/nfs_clbio.c
  projects/runtime-coverage/sys/fs/nfsclient/nfs_clport.c
  projects/runtime-coverage/sys/fs/nfsclient/nfs_clrpcops.c
  projects/runtime-coverage/sys/fs/nfsclient/nfs_clstate.c
  projects/runtime-coverage/sys/fs/nfsclient/nfs_clvfsops.c
  projects/runtime-coverage/sys/fs/nfsclient/nfs_clvnops.c
  projects/runtime-coverage/sys/fs/nfsclient/nfsmount.h
  projects/runtime-coverage/sys/i386/i386/genassym.c
  projects/runtime-coverage/sys/i386/linux/linux_sysvec.c
  projects/runtime-coverage/sys/kern/kern_linker.c
  projects/runtime-coverage/sys/kern/kern_mutex.c
  projects/runtime-coverage/sys/kern/kern_sig.c
  projects/runtime-coverage/sys/kern/subr_pctrie.c
  projects/runtime-coverage/sys/kern/subr_rtc.c
  projects/runtime-coverage/sys/kern/subr_taskqueue.c
  projects/runtime-coverage/sys/mips/conf/TL-WDR4300
  projects/runtime-coverage/sys/net/if_stf.c
  projects/runtime-coverage/sys/net/iflib.c
  projects/runtime-coverage/sys/net/iflib.h
  projects/runtime-coverage/sys/net/route.c
  projects/runtime-coverage/sys/netinet/cc/cc_cubic.c
  projects/runtime-coverage/sys/netinet/ip_output.c
  projects/runtime-coverage/sys/netinet6/ip6_output.c
  projects/runtime-coverage/sys/nfs/nfs_nfssvc.c
  projects/runtime-coverage/sys/nfs/nfssvc.h
  projects/runtime-coverage/sys/sys/ata.h
  projects/runtime-coverage/sys/sys/clock.h
  projects/runtime-coverage/sys/sys/copyright.h
  projects/runtime-coverage/sys/sys/param.h
  projects/runtime-coverage/sys/sys/pctrie.h
  projects/runtime-coverage/sys/sys/taskqueue.h
  projects/runtime-coverage/sys/sys/time.h
  projects/runtime-coverage/tests/sys/geom/class/gate/ggate_test.sh
  projects/runtime-coverage/tools/tools/nanobsd/defaults.sh
  projects/runtime-coverage/tools/tools/nanobsd/legacy.sh
  projects/runtime-coverage/usr.bin/netstat/Makefile
  projects/runtime-coverage/usr.bin/netstat/main.c
  projects/runtime-coverage/usr.bin/netstat/netstat.h
  projects/runtime-coverage/usr.bin/w/w.c
  projects/runtime-coverage/usr.sbin/acpi/acpidb/Makefile
  projects/runtime-coverage/usr.sbin/acpi/iasl/Makefile
  projects/runtime-coverage/usr.sbin/bhyve/pci_e82545.c
  projects/runtime-coverage/usr.sbin/bhyve/vga.c   (contents, props changed)
  projects/runtime-coverage/usr.sbin/binmiscctl/binmiscctl.c
  projects/runtime-coverage/usr.sbin/bsdinstall/scripts/zfsboot
  projects/runtime-coverage/usr.sbin/mpsutil/mps_cmd.c
  projects/runtime-coverage/usr.sbin/prometheus_sysctl_exporter/prometheus_sysctl_exporter.c
Directory Properties:
  projects/runtime-coverage/   (props changed)
  projects/runtime-coverage/contrib/compiler-rt/   (props changed)
  projects/runtime-coverage/contrib/ipfilter/   (props changed)
  projects/runtime-coverage/contrib/libarchive/   (props changed)
  projects/runtime-coverage/contrib/libc++/   (props changed)
  projects/runtime-coverage/contrib/llvm/   (props changed)
  projects/runtime-coverage/contrib/llvm/tools/clang/   (props changed)
  projects/runtime-coverage/contrib/llvm/tools/lld/   (props changed)
  projects/runtime-coverage/contrib/llvm/tools/lldb/   (props changed)
  projects/runtime-coverage/sys/contrib/dev/acpica/   (props changed)

Modified: projects/runtime-coverage/Makefile
==============================================================================
--- projects/runtime-coverage/Makefile	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/Makefile	Mon Jul 31 04:20:21 2017	(r321756)
@@ -441,14 +441,22 @@ TARGET_ARCHES_${target}?= ${target}
 
 MAKE_PARAMS_riscv?=	CROSS_TOOLCHAIN=riscv64-gcc
 
-# XXX Remove riscv from universe if the required toolchain package is missing.
-.if !exists(/usr/local/share/toolchains/riscv64-gcc.mk) && ${TARGETS:Mriscv}
-_UNIVERSE_TARGETS:= ${_UNIVERSE_TARGETS:Nriscv}
-universe: universe_riscv_skip .PHONY
-universe_epilogue: universe_riscv_skip .PHONY
-universe_riscv_skip: universe_prologue .PHONY
-	@echo ">> riscv skipped - install riscv64-xtoolchain-gcc port or package to build"
+# XXX Remove architectures only supported by external toolchain from universe
+# if required toolchain packages are missing.
+TOOLCHAINS_riscv=	riscv64
+.for target in riscv
+.if ${_UNIVERSE_TARGETS:M${target}}
+.for toolchain in ${TOOLCHAINS_${target}}
+.if !exists(/usr/local/share/toolchains/${toolchain}-gcc.mk)
+_UNIVERSE_TARGETS:= ${_UNIVERSE_TARGETS:N${target}}
+universe: universe_${toolchain}_skip .PHONY
+universe_epilogue: universe_${toolchain}_skip .PHONY
+universe_${toolchain}_skip: universe_prologue .PHONY
+	@echo ">> ${target} skipped - install ${toolchain}-xtoolchain-gcc port or package to build"
 .endif
+.endfor
+.endif
+.endfor
 
 .if defined(UNIVERSE_TARGET)
 MAKE_JUST_WORLDS=	YES

Modified: projects/runtime-coverage/Makefile.inc1
==============================================================================
--- projects/runtime-coverage/Makefile.inc1	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/Makefile.inc1	Mon Jul 31 04:20:21 2017	(r321756)
@@ -624,8 +624,7 @@ XCFLAGS+=	-isystem ${WORLDTMP}/usr/include -L${WORLDTM
 # combined with --sysroot.
 XCFLAGS+=	-B${WORLDTMP}/usr/lib
 # Force using libc++ for external GCC.
-# XXX: This should be checking MK_GNUCXX == no
-.if ${X_COMPILER_VERSION} >= 40800
+.if ${X_COMPILER_TYPE} == gcc && ${X_COMPILER_VERSION} >= 40800
 XCXXFLAGS+=	-isystem ${WORLDTMP}/usr/include/c++/v1 -std=c++11 \
 		-nostdinc++
 .endif

Modified: projects/runtime-coverage/UPDATING
==============================================================================
--- projects/runtime-coverage/UPDATING	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/UPDATING	Mon Jul 31 04:20:21 2017	(r321756)
@@ -51,6 +51,13 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
 
 ****************************** SPECIAL WARNING: ******************************
 
+20170728:
+	As of r321665, an NFSv4 server configuration that services
+	Kerberos mounts or clients that do not support the uid/gid in
+	owner/owner_group string capability, must explicitly enable
+	the nfsuserd daemon by adding nfsuserd_enable="YES" to the
+	machine's /etc/rc.conf file.
+
 20170722:
 	Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 5.0.0.
 	Please see the 20141231 entry below for information about prerequisites

Modified: projects/runtime-coverage/contrib/ipfilter/arc4random.c
==============================================================================
--- projects/runtime-coverage/contrib/ipfilter/arc4random.c	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/ipfilter/arc4random.c	Mon Jul 31 04:20:21 2017	(r321756)
@@ -109,9 +109,9 @@ arc4_randomstir (void)
 	/*
 	 * Throw away the first N words of output, as suggested in the
 	 * paper "Weaknesses in the Key Scheduling Algorithm of RC4"
-	 * by Fluher, Mantin, and Shamir.  (N = 256 in our case.)
+	 * by Fluher, Mantin, and Shamir.  (N = 768 in our case.)
 	 */
-	for (n = 0; n < 256*4; n++)
+	for (n = 0; n < 768*4; n++)
 		arc4_randbyte();
 	MUTEX_EXIT(&arc4_mtx);
 }

Modified: projects/runtime-coverage/contrib/libarchive/libarchive/archive_cryptor_private.h
==============================================================================
--- projects/runtime-coverage/contrib/libarchive/libarchive/archive_cryptor_private.h	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/libarchive/libarchive/archive_cryptor_private.h	Mon Jul 31 04:20:21 2017	(r321756)
@@ -64,7 +64,7 @@ typedef struct {
 } archive_crypto_ctx;
 
 #elif defined(_WIN32) && !defined(__CYGWIN__) && defined(HAVE_BCRYPT_H)
-#include <Bcrypt.h>
+#include <bcrypt.h>
 
 /* Common in other bcrypt implementations, but missing from VS2008. */
 #ifndef BCRYPT_SUCCESS

Modified: projects/runtime-coverage/contrib/libarchive/libarchive/archive_write_set_format_ar.c
==============================================================================
--- projects/runtime-coverage/contrib/libarchive/libarchive/archive_write_set_format_ar.c	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/libarchive/libarchive/archive_write_set_format_ar.c	Mon Jul 31 04:20:21 2017	(r321756)
@@ -374,13 +374,14 @@ archive_write_ar_data(struct archive_write *a, const v
 			return (ARCHIVE_WARN);
 		}
 
-		ar->strtab = (char *)malloc(s);
+		ar->strtab = (char *)malloc(s + 1);
 		if (ar->strtab == NULL) {
 			archive_set_error(&a->archive, ENOMEM,
 			    "Can't allocate strtab buffer");
 			return (ARCHIVE_FATAL);
 		}
-		strncpy(ar->strtab, buff, s);
+		memcpy(ar->strtab, buff, s);
+		ar->strtab[s] = '\0';
 		ar->has_strtab = 1;
 	}
 

Modified: projects/runtime-coverage/contrib/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
==============================================================================
--- projects/runtime-coverage/contrib/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h	Mon Jul 31 04:20:21 2017	(r321756)
@@ -40,7 +40,8 @@ class TargetRegisterInfo;
 /// This is convenient because std::bitset does not have a constructor
 /// with an initializer list of set bits.
 ///
-/// Each InstructionSelector subclass should define a PredicateBitset class with:
+/// Each InstructionSelector subclass should define a PredicateBitset class
+/// with:
 ///   const unsigned MAX_SUBTARGET_PREDICATES = 192;
 ///   using PredicateBitset = PredicateBitsetImpl<MAX_SUBTARGET_PREDICATES>;
 /// and updating the constant to suit the target. Tablegen provides a suitable
@@ -102,7 +103,8 @@ enum {
   /// - OpIdx - Operand index
   /// - Expected integer
   GIM_CheckConstantInt,
-  /// Check the operand is a specific literal integer (i.e. MO.isImm() or MO.isCImm() is true).
+  /// Check the operand is a specific literal integer (i.e. MO.isImm() or
+  /// MO.isCImm() is true).
   /// - InsnID - Instruction ID
   /// - OpIdx - Operand index
   /// - Expected integer

Modified: projects/runtime-coverage/contrib/llvm/include/llvm/Support/CommandLine.h
==============================================================================
--- projects/runtime-coverage/contrib/llvm/include/llvm/Support/CommandLine.h	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/include/llvm/Support/CommandLine.h	Mon Jul 31 04:20:21 2017	(r321756)
@@ -66,15 +66,12 @@ bool ParseCommandLineOptions(int argc, const char *con
 void ParseEnvironmentOptions(const char *progName, const char *envvar,
                              const char *Overview = "");
 
-// Function pointer type for printing version information.
-using VersionPrinterTy = std::function<void(raw_ostream &)>;
-
 ///===---------------------------------------------------------------------===//
 /// SetVersionPrinter - Override the default (LLVM specific) version printer
 ///                     used to print out the version when --version is given
 ///                     on the command line. This allows other systems using the
 ///                     CommandLine utilities to print their own version string.
-void SetVersionPrinter(VersionPrinterTy func);
+void SetVersionPrinter(void (*func)());
 
 ///===---------------------------------------------------------------------===//
 /// AddExtraVersionPrinter - Add an extra printer to use in addition to the
@@ -83,7 +80,7 @@ void SetVersionPrinter(VersionPrinterTy func);
 ///                          which will be called after the basic LLVM version
 ///                          printing is complete. Each can then add additional
 ///                          information specific to the tool.
-void AddExtraVersionPrinter(VersionPrinterTy func);
+void AddExtraVersionPrinter(void (*func)());
 
 // PrintOptionValues - Print option values.
 // With -print-options print the difference between option values and defaults.

Modified: projects/runtime-coverage/contrib/llvm/include/llvm/Support/TargetRegistry.h
==============================================================================
--- projects/runtime-coverage/contrib/llvm/include/llvm/Support/TargetRegistry.h	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/include/llvm/Support/TargetRegistry.h	Mon Jul 31 04:20:21 2017	(r321756)
@@ -599,7 +599,7 @@ struct TargetRegistry {
 
   /// printRegisteredTargetsForVersion - Print the registered targets
   /// appropriately for inclusion in a tool's version output.
-  static void printRegisteredTargetsForVersion(raw_ostream &OS);
+  static void printRegisteredTargetsForVersion();
 
   /// @name Registry Access
   /// @{

Modified: projects/runtime-coverage/contrib/llvm/include/llvm/Transforms/Utils/LoopUtils.h
==============================================================================
--- projects/runtime-coverage/contrib/llvm/include/llvm/Transforms/Utils/LoopUtils.h	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/include/llvm/Transforms/Utils/LoopUtils.h	Mon Jul 31 04:20:21 2017	(r321756)
@@ -531,8 +531,10 @@ Value *createTargetReduction(IRBuilder<> &B, const Tar
 
 /// Get the intersection (logical and) of all of the potential IR flags
 /// of each scalar operation (VL) that will be converted into a vector (I).
+/// If OpValue is non-null, we only consider operations similar to OpValue
+/// when intersecting.
 /// Flag set: NSW, NUW, exact, and all of fast-math.
-void propagateIRFlags(Value *I, ArrayRef<Value *> VL);
+void propagateIRFlags(Value *I, ArrayRef<Value *> VL, Value *OpValue = nullptr);
 
 } // end namespace llvm
 

Modified: projects/runtime-coverage/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -4016,14 +4016,18 @@ static bool IsOperandAMemoryOperand(CallInst *CI, Inli
   return true;
 }
 
+// Max number of memory uses to look at before aborting the search to conserve
+// compile time.
+static constexpr int MaxMemoryUsesToScan = 20;
+
 /// Recursively walk all the uses of I until we find a memory use.
 /// If we find an obviously non-foldable instruction, return true.
 /// Add the ultimately found memory instructions to MemoryUses.
 static bool FindAllMemoryUses(
     Instruction *I,
     SmallVectorImpl<std::pair<Instruction *, unsigned>> &MemoryUses,
-    SmallPtrSetImpl<Instruction *> &ConsideredInsts,
-    const TargetLowering &TLI, const TargetRegisterInfo &TRI) {
+    SmallPtrSetImpl<Instruction *> &ConsideredInsts, const TargetLowering &TLI,
+    const TargetRegisterInfo &TRI, int SeenInsts = 0) {
   // If we already considered this instruction, we're done.
   if (!ConsideredInsts.insert(I).second)
     return false;
@@ -4036,8 +4040,12 @@ static bool FindAllMemoryUses(
 
   // Loop over all the uses, recursively processing them.
   for (Use &U : I->uses()) {
-    Instruction *UserI = cast<Instruction>(U.getUser());
+    // Conservatively return true if we're seeing a large number or a deep chain
+    // of users. This avoids excessive compilation times in pathological cases.
+    if (SeenInsts++ >= MaxMemoryUsesToScan)
+      return true;
 
+    Instruction *UserI = cast<Instruction>(U.getUser());
     if (LoadInst *LI = dyn_cast<LoadInst>(UserI)) {
       MemoryUses.push_back(std::make_pair(LI, U.getOperandNo()));
       continue;
@@ -4082,7 +4090,8 @@ static bool FindAllMemoryUses(
       continue;
     }
 
-    if (FindAllMemoryUses(UserI, MemoryUses, ConsideredInsts, TLI, TRI))
+    if (FindAllMemoryUses(UserI, MemoryUses, ConsideredInsts, TLI, TRI,
+                          SeenInsts))
       return true;
   }
 

Modified: projects/runtime-coverage/contrib/llvm/lib/CodeGen/InlineSpiller.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/CodeGen/InlineSpiller.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/CodeGen/InlineSpiller.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -643,8 +643,11 @@ void InlineSpiller::reMaterializeAll() {
       Edit->eraseVirtReg(Reg);
       continue;
     }
-    assert((LIS.hasInterval(Reg) && !LIS.getInterval(Reg).empty()) &&
-           "Reg with empty interval has reference");
+
+    assert(LIS.hasInterval(Reg) &&
+           (!LIS.getInterval(Reg).empty() || !MRI.reg_nodbg_empty(Reg)) &&
+           "Empty and not used live-range?!");
+
     RegsToSpill[ResultPos++] = Reg;
   }
   RegsToSpill.erase(RegsToSpill.begin() + ResultPos, RegsToSpill.end());

Modified: projects/runtime-coverage/contrib/llvm/lib/CodeGen/RegAllocBase.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/CodeGen/RegAllocBase.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/CodeGen/RegAllocBase.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -133,18 +133,19 @@ void RegAllocBase::allocatePhysRegs() {
     if (AvailablePhysReg)
       Matrix->assign(*VirtReg, AvailablePhysReg);
 
-    for (VirtRegVec::iterator I = SplitVRegs.begin(), E = SplitVRegs.end();
-         I != E; ++I) {
-      LiveInterval *SplitVirtReg = &LIS->getInterval(*I);
+    for (unsigned Reg : SplitVRegs) {
+      assert(LIS->hasInterval(Reg));
+
+      LiveInterval *SplitVirtReg = &LIS->getInterval(Reg);
       assert(!VRM->hasPhys(SplitVirtReg->reg) && "Register already assigned");
       if (MRI->reg_nodbg_empty(SplitVirtReg->reg)) {
+        assert(SplitVirtReg->empty() && "Non-empty but used interval");
         DEBUG(dbgs() << "not queueing unused  " << *SplitVirtReg << '\n');
         aboutToRemoveInterval(*SplitVirtReg);
         LIS->removeInterval(SplitVirtReg->reg);
         continue;
       }
       DEBUG(dbgs() << "queuing new interval: " << *SplitVirtReg << "\n");
-      assert(!SplitVirtReg->empty() && "expecting non-empty interval");
       assert(TargetRegisterInfo::isVirtualRegister(SplitVirtReg->reg) &&
              "expect split value in virtual register");
       enqueue(SplitVirtReg);

Modified: projects/runtime-coverage/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -2965,7 +2965,12 @@ static inline bool isSETCCorConvertedSETCC(SDValue N) 
   else if (N.getOpcode() == ISD::SIGN_EXTEND)
     N = N.getOperand(0);
 
-  return (N.getOpcode() == ISD::SETCC);
+  if (isLogicalMaskOp(N.getOpcode()))
+    return isSETCCorConvertedSETCC(N.getOperand(0)) &&
+           isSETCCorConvertedSETCC(N.getOperand(1));
+
+  return (N.getOpcode() == ISD::SETCC ||
+          ISD::isBuildVectorOfConstantSDNodes(N.getNode()));
 }
 #endif
 
@@ -2973,28 +2978,20 @@ static inline bool isSETCCorConvertedSETCC(SDValue N) 
 // to ToMaskVT if needed with vector extension or truncation.
 SDValue DAGTypeLegalizer::convertMask(SDValue InMask, EVT MaskVT,
                                       EVT ToMaskVT) {
-  LLVMContext &Ctx = *DAG.getContext();
-
   // Currently a SETCC or a AND/OR/XOR with two SETCCs are handled.
-  unsigned InMaskOpc = InMask->getOpcode();
-
   // FIXME: This code seems to be too restrictive, we might consider
   // generalizing it or dropping it.
-  assert((InMaskOpc == ISD::SETCC ||
-          ISD::isBuildVectorOfConstantSDNodes(InMask.getNode()) ||
-          (isLogicalMaskOp(InMaskOpc) &&
-           isSETCCorConvertedSETCC(InMask->getOperand(0)) &&
-           isSETCCorConvertedSETCC(InMask->getOperand(1)))) &&
-         "Unexpected mask argument.");
+  assert(isSETCCorConvertedSETCC(InMask) && "Unexpected mask argument.");
 
   // Make a new Mask node, with a legal result VT.
   SmallVector<SDValue, 4> Ops;
   for (unsigned i = 0; i < InMask->getNumOperands(); ++i)
     Ops.push_back(InMask->getOperand(i));
-  SDValue Mask = DAG.getNode(InMaskOpc, SDLoc(InMask), MaskVT, Ops);
+  SDValue Mask = DAG.getNode(InMask->getOpcode(), SDLoc(InMask), MaskVT, Ops);
 
   // If MaskVT has smaller or bigger elements than ToMaskVT, a vector sign
   // extend or truncate is needed.
+  LLVMContext &Ctx = *DAG.getContext();
   unsigned MaskScalarBits = MaskVT.getScalarSizeInBits();
   unsigned ToMaskScalBits = ToMaskVT.getScalarSizeInBits();
   if (MaskScalarBits < ToMaskScalBits) {

Modified: projects/runtime-coverage/contrib/llvm/lib/Option/OptTable.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/Option/OptTable.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/Option/OptTable.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -235,7 +235,9 @@ OptTable::findByPrefix(StringRef Cur, unsigned short D
       continue;
 
     for (int I = 0; In.Prefixes[I]; I++) {
-      std::string S = std::string(In.Prefixes[I]) + std::string(In.Name);
+      std::string S = std::string(In.Prefixes[I]) + std::string(In.Name) + "\t";
+      if (In.HelpText)
+        S += In.HelpText;
       if (StringRef(S).startswith(Cur))
         Ret.push_back(S);
     }

Modified: projects/runtime-coverage/contrib/llvm/lib/Support/CommandLine.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/Support/CommandLine.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/Support/CommandLine.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -2039,9 +2039,9 @@ void CommandLineParser::printOptionValues() {
     Opts[i].second->printOptionValue(MaxArgLen, PrintAllOptions);
 }
 
-static VersionPrinterTy OverrideVersionPrinter = nullptr;
+static void (*OverrideVersionPrinter)() = nullptr;
 
-static std::vector<VersionPrinterTy> *ExtraVersionPrinters = nullptr;
+static std::vector<void (*)()> *ExtraVersionPrinters = nullptr;
 
 namespace {
 class VersionPrinter {
@@ -2081,7 +2081,7 @@ class VersionPrinter { (public)
       return;
 
     if (OverrideVersionPrinter != nullptr) {
-      OverrideVersionPrinter(outs());
+      (*OverrideVersionPrinter)();
       exit(0);
     }
     print();
@@ -2090,8 +2090,10 @@ class VersionPrinter { (public)
     // information.
     if (ExtraVersionPrinters != nullptr) {
       outs() << '\n';
-      for (auto I : *ExtraVersionPrinters)
-        I(outs());
+      for (std::vector<void (*)()>::iterator I = ExtraVersionPrinters->begin(),
+                                             E = ExtraVersionPrinters->end();
+           I != E; ++I)
+        (*I)();
     }
 
     exit(0);
@@ -2129,11 +2131,11 @@ void cl::PrintHelpMessage(bool Hidden, bool Categorize
 /// Utility function for printing version number.
 void cl::PrintVersionMessage() { VersionPrinterInstance.print(); }
 
-void cl::SetVersionPrinter(VersionPrinterTy func) { OverrideVersionPrinter = func; }
+void cl::SetVersionPrinter(void (*func)()) { OverrideVersionPrinter = func; }
 
-void cl::AddExtraVersionPrinter(VersionPrinterTy func) {
+void cl::AddExtraVersionPrinter(void (*func)()) {
   if (!ExtraVersionPrinters)
-    ExtraVersionPrinters = new std::vector<VersionPrinterTy>;
+    ExtraVersionPrinters = new std::vector<void (*)()>;
 
   ExtraVersionPrinters->push_back(func);
 }

Modified: projects/runtime-coverage/contrib/llvm/lib/Support/ErrorHandling.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/Support/ErrorHandling.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/Support/ErrorHandling.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -169,7 +169,8 @@ void llvm::report_bad_alloc_error(const char *Reason, 
   // Don't call the normal error handler. It may allocate memory. Directly write
   // an OOM to stderr and abort.
   char OOMMessage[] = "LLVM ERROR: out of memory\n";
-  (void)::write(2, OOMMessage, strlen(OOMMessage));
+  ssize_t written = ::write(2, OOMMessage, strlen(OOMMessage));
+  (void)written;
   abort();
 #endif
 }

Modified: projects/runtime-coverage/contrib/llvm/lib/Support/TargetRegistry.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/Support/TargetRegistry.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/Support/TargetRegistry.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -114,7 +114,7 @@ static int TargetArraySortFn(const std::pair<StringRef
   return LHS->first.compare(RHS->first);
 }
 
-void TargetRegistry::printRegisteredTargetsForVersion(raw_ostream &OS) {
+void TargetRegistry::printRegisteredTargetsForVersion() {
   std::vector<std::pair<StringRef, const Target*> > Targets;
   size_t Width = 0;
   for (const auto &T : TargetRegistry::targets()) {
@@ -123,6 +123,7 @@ void TargetRegistry::printRegisteredTargetsForVersion(
   }
   array_pod_sort(Targets.begin(), Targets.end(), TargetArraySortFn);
 
+  raw_ostream &OS = outs();
   OS << "  Registered Targets:\n";
   for (unsigned i = 0, e = Targets.size(); i != e; ++i) {
     OS << "    " << Targets[i].first;

Modified: projects/runtime-coverage/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -2889,9 +2889,12 @@ void AArch64TargetLowering::saveVarArgRegisters(CCStat
   unsigned GPRSaveSize = 8 * (NumGPRArgRegs - FirstVariadicGPR);
   int GPRIdx = 0;
   if (GPRSaveSize != 0) {
-    if (IsWin64)
+    if (IsWin64) {
       GPRIdx = MFI.CreateFixedObject(GPRSaveSize, -(int)GPRSaveSize, false);
-    else
+      if (GPRSaveSize & 15)
+        // The extra size here, if triggered, will always be 8.
+        MFI.CreateFixedObject(16 - (GPRSaveSize & 15), -(int)alignTo(GPRSaveSize, 16), false);
+    } else
       GPRIdx = MFI.CreateStackObject(GPRSaveSize, 8, false);
 
     SDValue FIN = DAG.getFrameIndex(GPRIdx, PtrVT);

Modified: projects/runtime-coverage/contrib/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -297,6 +297,11 @@ void AMDGPUInstPrinter::printRegOperand(unsigned RegNo
   case AMDGPU::FLAT_SCR_HI:
     O << "flat_scratch_hi";
     return;
+  case AMDGPU::FP_REG:
+  case AMDGPU::SP_REG:
+  case AMDGPU::SCRATCH_WAVE_OFFSET_REG:
+  case AMDGPU::PRIVATE_RSRC_REG:
+    llvm_unreachable("pseudo-register should not ever be emitted");
   default:
     break;
   }

Modified: projects/runtime-coverage/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.td
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.td	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.td	Mon Jul 31 04:20:21 2017	(r321756)
@@ -274,8 +274,7 @@ def VGPR_512 : RegisterTuples<[sub0, sub1, sub2, sub3,
 def SReg_32_XM0_XEXEC : RegisterClass<"AMDGPU", [i32, f32, i16, f16, v2i16, v2f16], 32,
   (add SGPR_32, VCC_LO, VCC_HI, FLAT_SCR_LO, FLAT_SCR_HI,
    TTMP_32, TMA_LO, TMA_HI, TBA_LO, TBA_HI, SRC_SHARED_BASE, SRC_SHARED_LIMIT,
-   SRC_PRIVATE_BASE, SRC_PRIVATE_LIMIT,
-   FP_REG, SP_REG, SCRATCH_WAVE_OFFSET_REG)> {
+   SRC_PRIVATE_BASE, SRC_PRIVATE_LIMIT)> {
   let AllocationPriority = 7;
 }
 

Modified: projects/runtime-coverage/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -61,14 +61,6 @@ static unsigned adjustFixupValue(unsigned Kind, uint64
   case Sparc::fixup_sparc_lo10:
     return Value & 0x3ff;
 
-  case Sparc::fixup_sparc_tls_ldo_hix22:
-  case Sparc::fixup_sparc_tls_le_hix22:
-    return (~Value >> 10) & 0x3fffff;
-
-  case Sparc::fixup_sparc_tls_ldo_lox10:
-  case Sparc::fixup_sparc_tls_le_lox10:
-    return (~(~Value & 0x3ff)) & 0x1fff;
-
   case Sparc::fixup_sparc_h44:
     return (Value >> 22) & 0x3fffff;
 
@@ -83,6 +75,13 @@ static unsigned adjustFixupValue(unsigned Kind, uint64
 
   case Sparc::fixup_sparc_hm:
     return (Value >> 32) & 0x3ff;
+
+  case Sparc::fixup_sparc_tls_ldo_hix22:
+  case Sparc::fixup_sparc_tls_le_hix22:
+  case Sparc::fixup_sparc_tls_ldo_lox10:
+  case Sparc::fixup_sparc_tls_le_lox10:
+    assert(Value == 0 && "Sparc TLS relocs expect zero Value");
+    return 0;
 
   case Sparc::fixup_sparc_tls_gd_add:
   case Sparc::fixup_sparc_tls_gd_call:

Modified: projects/runtime-coverage/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ14.td
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ14.td	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ14.td	Mon Jul 31 04:20:21 2017	(r321756)
@@ -455,10 +455,10 @@ def : InstRW<[FXa, LSU, Lat8], (instregex "MH(Y)?$")>;
 def : InstRW<[FXa2, Lat6, GroupAlone], (instregex "M(L)?R$")>;
 def : InstRW<[FXa2, LSU, Lat10, GroupAlone], (instregex "M(FY|L)?$")>;
 def : InstRW<[FXa, LSU, Lat8], (instregex "MGH$")>;
-def : InstRW<[FXa, LSU, Lat12, GroupAlone], (instregex "MG$")>;
-def : InstRW<[FXa, Lat8, GroupAlone], (instregex "MGRK$")>;
-def : InstRW<[FXa, LSU, Lat9, GroupAlone], (instregex "MSC$")>;
-def : InstRW<[FXa, LSU, Lat11, GroupAlone], (instregex "MSGC$")>;
+def : InstRW<[FXa, FXa, LSU, Lat12, GroupAlone], (instregex "MG$")>;
+def : InstRW<[FXa, FXa, Lat8, GroupAlone], (instregex "MGRK$")>;
+def : InstRW<[FXa, LSU, Lat9], (instregex "MSC$")>;
+def : InstRW<[FXa, LSU, Lat11], (instregex "MSGC$")>;
 def : InstRW<[FXa, Lat5], (instregex "MSRKC$")>;
 def : InstRW<[FXa, Lat7], (instregex "MSGRKC$")>;
 
@@ -620,7 +620,7 @@ def : InstRW<[FXa, Lat30], (instregex "(PCC|PPNO|PRNO)
 
 def : InstRW<[LSU], (instregex "LGG$")>;
 def : InstRW<[LSU, Lat5], (instregex "LLGFSG$")>;
-def : InstRW<[LSU, Lat30, GroupAlone], (instregex "(L|ST)GSC$")>;
+def : InstRW<[LSU, Lat30], (instregex "(L|ST)GSC$")>;
 
 //===----------------------------------------------------------------------===//
 // Decimal arithmetic
@@ -708,7 +708,7 @@ def : InstRW<[FXb, LSU, Lat5], (instregex "NTSTG$")>;
 // Processor assist
 //===----------------------------------------------------------------------===//
 
-def : InstRW<[FXb], (instregex "PPA$")>;
+def : InstRW<[FXb, GroupAlone], (instregex "PPA$")>;
 
 //===----------------------------------------------------------------------===//
 // Miscellaneous Instructions.
@@ -1276,9 +1276,9 @@ def : InstRW<[VecXsPm], (instregex "VESRL(B|F|G|H)?$")
 def : InstRW<[VecXsPm], (instregex "VESRLV(B|F|G|H)?$")>;
 
 def : InstRW<[VecXsPm], (instregex "VSL(DB)?$")>;
-def : InstRW<[VecXsPm, VecXsPm, Lat8], (instregex "VSLB$")>;
+def : InstRW<[VecXsPm], (instregex "VSLB$")>;
 def : InstRW<[VecXsPm], (instregex "VSR(A|L)$")>;
-def : InstRW<[VecXsPm, VecXsPm, Lat8], (instregex "VSR(A|L)B$")>;
+def : InstRW<[VecXsPm], (instregex "VSR(A|L)B$")>;
 
 def : InstRW<[VecXsPm], (instregex "VSB(I|IQ|CBI|CBIQ)?$")>;
 def : InstRW<[VecXsPm], (instregex "VSCBI(B|F|G|H|Q)?$")>;
@@ -1435,9 +1435,9 @@ def : InstRW<[VecStr, Lat5], (instregex "VSTRCZ(B|F|H)
 // Vector: Packed-decimal instructions
 //===----------------------------------------------------------------------===//
 
-def : InstRW<[VecDF, VecDF, Lat10, GroupAlone], (instregex "VLIP$")>;
-def : InstRW<[VecDFX, LSU, Lat12, GroupAlone], (instregex "VPKZ$")>;
-def : InstRW<[VecDFX, FXb, LSU, Lat12, GroupAlone], (instregex "VUPKZ$")>;
+def : InstRW<[VecDF, VecDF, Lat10], (instregex "VLIP$")>;
+def : InstRW<[VecDFX, LSU, GroupAlone], (instregex "VPKZ$")>;
+def : InstRW<[VecDFX, FXb, LSU, Lat12, BeginGroup], (instregex "VUPKZ$")>;
 def : InstRW<[VecDF, VecDF, FXb, Lat20, GroupAlone], (instregex "VCVB(G)?$")>;
 def : InstRW<[VecDF, VecDF, FXb, Lat20, GroupAlone], (instregex "VCVD(G)?$")>;
 def : InstRW<[VecDFX], (instregex "V(A|S)P$")>;

Modified: projects/runtime-coverage/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -1055,7 +1055,10 @@ static bool foldMaskAndShiftToScale(SelectionDAG &DAG,
 
   // Scale the leading zero count down based on the actual size of the value.
   // Also scale it down based on the size of the shift.
-  MaskLZ -= (64 - X.getSimpleValueType().getSizeInBits()) + ShiftAmt;
+  unsigned ScaleDown = (64 - X.getSimpleValueType().getSizeInBits()) + ShiftAmt;
+  if (MaskLZ < ScaleDown)
+    return true;
+  MaskLZ -= ScaleDown;
 
   // The final check is to ensure that any masked out high bits of X are
   // already known to be zero. Otherwise, the mask has a semantic impact

Modified: projects/runtime-coverage/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -1672,8 +1672,8 @@ X86TargetLowering::X86TargetLowering(const X86TargetMa
 
   // TODO: These control memcmp expansion in CGP and could be raised higher, but
   // that needs to benchmarked and balanced with the potential use of vector
-  // load/store types (PR33329).
-  MaxLoadsPerMemcmp = 4;
+  // load/store types (PR33329, PR33914).
+  MaxLoadsPerMemcmp = 2;
   MaxLoadsPerMemcmpOptSize = 2;
 
   // Set loop alignment to 2^ExperimentalPrefLoopAlignment bytes (default: 2^4).
@@ -22022,8 +22022,9 @@ static SDValue LowerScalarImmediateShift(SDValue Op, S
         return getTargetVShiftByConstNode(X86Opc, dl, VT, R, ShiftAmt, DAG);
 
       // i64 SRA needs to be performed as partial shifts.
-      if ((VT == MVT::v2i64 || (Subtarget.hasInt256() && VT == MVT::v4i64)) &&
-          Op.getOpcode() == ISD::SRA && !Subtarget.hasXOP())
+      if (((!Subtarget.hasXOP() && VT == MVT::v2i64) ||
+           (Subtarget.hasInt256() && VT == MVT::v4i64)) &&
+          Op.getOpcode() == ISD::SRA)
         return ArithmeticShiftRight64(ShiftAmt);
 
       if (VT == MVT::v16i8 ||

Modified: projects/runtime-coverage/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -64,6 +64,11 @@ ImplicationSearchThreshold(
            "condition to use to thread over a weaker condition"),
   cl::init(3), cl::Hidden);
 
+static cl::opt<bool> PrintLVIAfterJumpThreading(
+    "print-lvi-after-jump-threading",
+    cl::desc("Print the LazyValueInfo cache after JumpThreading"), cl::init(false),
+    cl::Hidden);
+
 namespace {
   /// This pass performs 'jump threading', which looks at blocks that have
   /// multiple predecessors and multiple successors.  If one or more of the
@@ -93,9 +98,10 @@ namespace {
     bool runOnFunction(Function &F) override;
 
     void getAnalysisUsage(AnalysisUsage &AU) const override {
+      if (PrintLVIAfterJumpThreading)
+        AU.addRequired<DominatorTreeWrapperPass>();
       AU.addRequired<AAResultsWrapperPass>();
       AU.addRequired<LazyValueInfoWrapperPass>();
-      AU.addPreserved<LazyValueInfoWrapperPass>();
       AU.addPreserved<GlobalsAAWrapperPass>();
       AU.addRequired<TargetLibraryInfoWrapperPass>();
     }
@@ -137,8 +143,14 @@ bool JumpThreading::runOnFunction(Function &F) {
     BFI.reset(new BlockFrequencyInfo(F, *BPI, LI));
   }
 
-  return Impl.runImpl(F, TLI, LVI, AA, HasProfileData, std::move(BFI),
-                      std::move(BPI));
+  bool Changed = Impl.runImpl(F, TLI, LVI, AA, HasProfileData, std::move(BFI),
+                              std::move(BPI));
+  if (PrintLVIAfterJumpThreading) {
+    dbgs() << "LVI for function '" << F.getName() << "':\n";
+    LVI->printLVI(F, getAnalysis<DominatorTreeWrapperPass>().getDomTree(),
+                  dbgs());
+  }
+  return Changed;
 }
 
 PreservedAnalyses JumpThreadingPass::run(Function &F,
@@ -231,13 +243,15 @@ bool JumpThreadingPass::runImpl(Function &F, TargetLib
       // Can't thread an unconditional jump, but if the block is "almost
       // empty", we can replace uses of it with uses of the successor and make
       // this dead.
-      // We should not eliminate the loop header either, because eliminating
-      // a loop header might later prevent LoopSimplify from transforming nested
-      // loops into simplified form.
+      // We should not eliminate the loop header or latch either, because
+      // eliminating a loop header or latch might later prevent LoopSimplify
+      // from transforming nested loops into simplified form. We will rely on
+      // later passes in backend to clean up empty blocks.
       if (BI && BI->isUnconditional() &&
           BB != &BB->getParent()->getEntryBlock() &&
           // If the terminator is the only non-phi instruction, try to nuke it.
-          BB->getFirstNonPHIOrDbg()->isTerminator() && !LoopHeaders.count(BB)) {
+          BB->getFirstNonPHIOrDbg()->isTerminator() && !LoopHeaders.count(BB) &&
+          !LoopHeaders.count(BI->getSuccessor(0))) {
         // FIXME: It is always conservatively correct to drop the info
         // for a block even if it doesn't get erased.  This isn't totally
         // awesome, but it allows us to use AssertingVH to prevent nasty

Modified: projects/runtime-coverage/contrib/llvm/lib/Transforms/Utils/LoopUtils.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/Transforms/Utils/LoopUtils.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/Transforms/Utils/LoopUtils.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -1376,16 +1376,21 @@ Value *llvm::createTargetReduction(IRBuilder<> &Builde
   }
 }
 
-void llvm::propagateIRFlags(Value *I, ArrayRef<Value *> VL) {
-  if (auto *VecOp = dyn_cast<Instruction>(I)) {
-    if (auto *I0 = dyn_cast<Instruction>(VL[0])) {
-      // VecOVp is initialized to the 0th scalar, so start counting from index
-      // '1'.
-      VecOp->copyIRFlags(I0);
-      for (int i = 1, e = VL.size(); i < e; ++i) {
-        if (auto *Scalar = dyn_cast<Instruction>(VL[i]))
-          VecOp->andIRFlags(Scalar);
-      }
-    }
+void llvm::propagateIRFlags(Value *I, ArrayRef<Value *> VL, Value *OpValue) {
+  auto *VecOp = dyn_cast<Instruction>(I);
+  if (!VecOp)
+    return;
+  auto *Intersection = (OpValue == nullptr) ? dyn_cast<Instruction>(VL[0])
+                                            : dyn_cast<Instruction>(OpValue);
+  if (!Intersection)
+    return;
+  const unsigned Opcode = Intersection->getOpcode();
+  VecOp->copyIRFlags(Intersection);
+  for (auto *V : VL) {
+    auto *Instr = dyn_cast<Instruction>(V);
+    if (!Instr)
+      continue;
+    if (OpValue == nullptr || Opcode == Instr->getOpcode())
+      VecOp->andIRFlags(V);
   }
 }

Modified: projects/runtime-coverage/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -5656,20 +5656,22 @@ static bool TryToMergeLandingPad(LandingPadInst *LPad,
 bool SimplifyCFGOpt::SimplifyUncondBranch(BranchInst *BI,
                                           IRBuilder<> &Builder) {
   BasicBlock *BB = BI->getParent();
+  BasicBlock *Succ = BI->getSuccessor(0);
 
   if (SinkCommon && SinkThenElseCodeToEnd(BI))
     return true;
 
   // If the Terminator is the only non-phi instruction, simplify the block.
-  // if LoopHeader is provided, check if the block is a loop header
-  // (This is for early invocations before loop simplify and vectorization
-  // to keep canonical loop forms for nested loops.
-  // These blocks can be eliminated when the pass is invoked later
-  // in the back-end.)
+  // if LoopHeader is provided, check if the block or its successor is a loop
+  // header (This is for early invocations before loop simplify and
+  // vectorization to keep canonical loop forms for nested loops. These blocks
+  // can be eliminated when the pass is invoked later in the back-end.)
+  bool NeedCanonicalLoop =
+      !LateSimplifyCFG &&
+      (LoopHeaders && (LoopHeaders->count(BB) || LoopHeaders->count(Succ)));
   BasicBlock::iterator I = BB->getFirstNonPHIOrDbg()->getIterator();
   if (I->isTerminator() && BB != &BB->getParent()->getEntryBlock() &&
-      (!LoopHeaders || !LoopHeaders->count(BB)) &&
-      TryToSimplifyUncondBranchFromEmptyBlock(BB))
+      !NeedCanonicalLoop && TryToSimplifyUncondBranchFromEmptyBlock(BB))
     return true;
 
   // If the only instruction in the block is a seteq/setne comparison

Modified: projects/runtime-coverage/contrib/llvm/tools/clang/include/clang/AST/Type.h
==============================================================================
--- projects/runtime-coverage/contrib/llvm/tools/clang/include/clang/AST/Type.h	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/tools/clang/include/clang/AST/Type.h	Mon Jul 31 04:20:21 2017	(r321756)
@@ -1752,6 +1752,7 @@ class Type : public ExtQualsTypeCommonBase { (public)
   bool isTemplateTypeParmType() const;          // C++ template type parameter
   bool isNullPtrType() const;                   // C++11 std::nullptr_t
   bool isAlignValT() const;                     // C++17 std::align_val_t
+  bool isStdByteType() const;                   // C++17 std::byte
   bool isAtomicType() const;                    // C11 _Atomic()
 
 #define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \

Modified: projects/runtime-coverage/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -1388,6 +1388,15 @@ static Stmt::StmtClass DecodeOperatorCall(const CXXOpe
   llvm_unreachable("Invalid overloaded operator expression");
 }
 
+#if defined(_MSC_VER)
+#if _MSC_VER == 1911
+// Work around https://developercommunity.visualstudio.com/content/problem/84002/clang-cl-when-built-with-vc-2017-crashes-cause-vc.html
+// MSVC 2017 update 3 miscompiles this function, and a clang built with it
+// will crash in stage 2 of a bootstrap build.
+#pragma optimize("", off)
+#endif
+#endif
+
 void StmtProfiler::VisitCXXOperatorCallExpr(const CXXOperatorCallExpr *S) {
   if (S->isTypeDependent()) {
     // Type-dependent operator calls are profiled like their underlying
@@ -1419,6 +1428,12 @@ void StmtProfiler::VisitCXXOperatorCallExpr(const CXXO
   VisitCallExpr(S);
   ID.AddInteger(S->getOperator());
 }
+
+#if defined(_MSC_VER)
+#if _MSC_VER == 1911
+#pragma optimize("", on)
+#endif
+#endif
 
 void StmtProfiler::VisitCXXMemberCallExpr(const CXXMemberCallExpr *S) {
   VisitCallExpr(S);

Modified: projects/runtime-coverage/contrib/llvm/tools/clang/lib/AST/Type.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/tools/clang/lib/AST/Type.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/tools/clang/lib/AST/Type.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -2313,6 +2313,15 @@ bool Type::isAlignValT() const {
   return false;
 }
 
+bool Type::isStdByteType() const {
+  if (auto *ET = getAs<EnumType>()) {
+    auto *II = ET->getDecl()->getIdentifier();
+    if (II && II->isStr("byte") && ET->getDecl()->isInStdNamespace())
+      return true;
+  }
+  return false;
+}
+
 bool Type::isPromotableIntegerType() const {
   if (const BuiltinType *BT = getAs<BuiltinType>())
     switch (BT->getKind()) {

Modified: projects/runtime-coverage/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -516,7 +516,7 @@ std::vector<std::string> DiagnosticIDs::getDiagnosticF
     std::string Diag(DiagGroupNames + I + 1, DiagGroupNames[I]);
     I += DiagGroupNames[I] + 1;
     Res.push_back("-W" + Diag);
-    Res.push_back("-Wno" + Diag);
+    Res.push_back("-Wno-" + Diag);
   }
 
   return Res;

Modified: projects/runtime-coverage/contrib/llvm/tools/clang/lib/Basic/Version.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/tools/clang/lib/Basic/Version.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/tools/clang/lib/Basic/Version.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -36,7 +36,7 @@ std::string getClangRepositoryPath() {
 
   // If the SVN_REPOSITORY is empty, try to use the SVN keyword. This helps us
   // pick up a tag in an SVN export, for example.
-  StringRef SVNRepository("$URL: https://llvm.org/svn/llvm-project/cfe/trunk/lib/Basic/Version.cpp $");
+  StringRef SVNRepository("$URL: https://llvm.org/svn/llvm-project/cfe/branches/release_50/lib/Basic/Version.cpp $");
   if (URL.empty()) {
     URL = SVNRepository.slice(SVNRepository.find(':'),
                               SVNRepository.find("/lib/Basic"));

Modified: projects/runtime-coverage/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -139,6 +139,12 @@ CodeGenTBAA::getTBAAInfo(QualType QTy) {
     }
   }
 
+  // C++1z [basic.lval]p10: "If a program attempts to access the stored value of
+  // an object through a glvalue of other than one of the following types the
+  // behavior is undefined: [...] a char, unsigned char, or std::byte type."
+  if (Ty->isStdByteType())
+    return MetadataCache[Ty] = getChar();
+
   // Handle pointers.
   // TODO: Implement C++'s type "similarity" and consider dis-"similar"
   // pointers distinct.

Modified: projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/Driver.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/Driver.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/Driver.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -69,7 +69,6 @@
 #include "llvm/Support/PrettyStackTrace.h"
 #include "llvm/Support/Process.h"
 #include "llvm/Support/Program.h"
-#include "llvm/Support/TargetRegistry.h"
 #include "llvm/Support/raw_ostream.h"
 #include <map>
 #include <memory>
@@ -1193,10 +1192,6 @@ bool Driver::HandleImmediateArgs(const Compilation &C)
   if (C.getArgs().hasArg(options::OPT__version)) {
     // Follow gcc behavior and use stdout for --version and stderr for -v.
     PrintVersion(C, llvm::outs());
-
-    // Print registered targets.
-    llvm::outs() << '\n';
-    llvm::TargetRegistry::printRegisteredTargetsForVersion(llvm::outs());
     return false;
   }
 
@@ -1299,7 +1294,7 @@ bool Driver::HandleImmediateArgs(const Compilation &C)
     std::sort(SuggestedCompletions.begin(), SuggestedCompletions.end(),
               [](StringRef A, StringRef B) { return A.compare_lower(B) < 0; });
 
-    llvm::outs() << llvm::join(SuggestedCompletions, " ") << '\n';
+    llvm::outs() << llvm::join(SuggestedCompletions, "\n") << '\n';
     return false;
   }
 

Modified: projects/runtime-coverage/contrib/llvm/tools/clang/lib/Headers/unwind.h
==============================================================================
--- projects/runtime-coverage/contrib/llvm/tools/clang/lib/Headers/unwind.h	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/tools/clang/lib/Headers/unwind.h	Mon Jul 31 04:20:21 2017	(r321756)
@@ -76,7 +76,13 @@ typedef intptr_t _sleb128_t;
 typedef uintptr_t _uleb128_t;
 
 struct _Unwind_Context;
+#if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) || defined(__ARM_DWARF_EH___))
+struct _Unwind_Control_Block;
+typedef struct _Unwind_Control_Block _Unwind_Exception; /* Alias */
+#else
 struct _Unwind_Exception;
+typedef struct _Unwind_Exception _Unwind_Exception;
+#endif
 typedef enum {
   _URC_NO_REASON = 0,
 #if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) && \
@@ -109,8 +115,42 @@ typedef enum {
 } _Unwind_Action;
 
 typedef void (*_Unwind_Exception_Cleanup_Fn)(_Unwind_Reason_Code,
-                                             struct _Unwind_Exception *);
+                                             _Unwind_Exception *);
 
+#if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) || defined(__ARM_DWARF_EH___))
+typedef struct _Unwind_Control_Block _Unwind_Control_Block;
+typedef uint32_t _Unwind_EHT_Header;
+
+struct _Unwind_Control_Block {
+  uint64_t exception_class;
+  void (*exception_cleanup)(_Unwind_Reason_Code, _Unwind_Control_Block *);
+  /* unwinder cache (private fields for the unwinder's use) */
+  struct {
+    uint32_t reserved1; /* forced unwind stop function, 0 if not forced */
+    uint32_t reserved2; /* personality routine */
+    uint32_t reserved3; /* callsite */
+    uint32_t reserved4; /* forced unwind stop argument */
+    uint32_t reserved5;
+  } unwinder_cache;
+  /* propagation barrier cache (valid after phase 1) */
+  struct {
+    uint32_t sp;
+    uint32_t bitpattern[5];
+  } barrier_cache;
+  /* cleanup cache (preserved over cleanup) */
+  struct {
+    uint32_t bitpattern[4];
+  } cleanup_cache;
+  /* personality cache (for personality's benefit) */
+  struct {
+    uint32_t fnstart;         /* function start address */
+    _Unwind_EHT_Header *ehtp; /* pointer to EHT entry header word */
+    uint32_t additional;      /* additional data */
+    uint32_t reserved1;
+  } pr_cache;
+  long long int : 0; /* force alignment of next item to 8-byte boundary */
+};
+#else
 struct _Unwind_Exception {
   _Unwind_Exception_Class exception_class;
   _Unwind_Exception_Cleanup_Fn exception_cleanup;
@@ -120,23 +160,24 @@ struct _Unwind_Exception {
    * aligned".  GCC has interpreted this to mean "use the maximum useful
    * alignment for the target"; so do we. */
 } __attribute__((__aligned__));
+#endif
 
 typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn)(int, _Unwind_Action,
                                                _Unwind_Exception_Class,
-                                               struct _Unwind_Exception *,
+                                               _Unwind_Exception *,
                                                struct _Unwind_Context *,
                                                void *);
 
-typedef _Unwind_Reason_Code (*_Unwind_Personality_Fn)(
-    int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
-    struct _Unwind_Context *);
+typedef _Unwind_Reason_Code (*_Unwind_Personality_Fn)(int, _Unwind_Action,
+                                                      _Unwind_Exception_Class,
+                                                      _Unwind_Exception *,
+                                                      struct _Unwind_Context *);
 typedef _Unwind_Personality_Fn __personality_routine;
 
 typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn)(struct _Unwind_Context *,
                                                 void *);
 
-#if defined(__arm__) && !defined(__APPLE__)
-
+#if defined(__arm__) && !(defined(__USING_SJLJ_EXCEPTIONS__) || defined(__ARM_DWARF_EH___))
 typedef enum {
   _UVRSC_CORE = 0,        /* integer register */
   _UVRSC_VFP = 1,         /* vfp */
@@ -158,14 +199,12 @@ typedef enum {
   _UVRSR_FAILED = 2
 } _Unwind_VRS_Result;
 
-#if !defined(__USING_SJLJ_EXCEPTIONS__) && !defined(__ARM_DWARF_EH__)
 typedef uint32_t _Unwind_State;
 #define _US_VIRTUAL_UNWIND_FRAME  ((_Unwind_State)0)
 #define _US_UNWIND_FRAME_STARTING ((_Unwind_State)1)
 #define _US_UNWIND_FRAME_RESUME   ((_Unwind_State)2)
 #define _US_ACTION_MASK           ((_Unwind_State)3)
 #define _US_FORCE_UNWIND          ((_Unwind_State)8)
-#endif
 
 _Unwind_VRS_Result _Unwind_VRS_Get(struct _Unwind_Context *__context,
   _Unwind_VRS_RegClass __regclass,
@@ -224,14 +263,13 @@ _Unwind_Ptr _Unwind_GetRegionStart(struct _Unwind_Cont
 
 /* DWARF EH functions; currently not available on Darwin/ARM */
 #if !defined(__APPLE__) || !defined(__arm__)
+_Unwind_Reason_Code _Unwind_RaiseException(_Unwind_Exception *);
+_Unwind_Reason_Code _Unwind_ForcedUnwind(_Unwind_Exception *, _Unwind_Stop_Fn,
+                                         void *);
+void _Unwind_DeleteException(_Unwind_Exception *);
+void _Unwind_Resume(_Unwind_Exception *);
+_Unwind_Reason_Code _Unwind_Resume_or_Rethrow(_Unwind_Exception *);
 
-_Unwind_Reason_Code _Unwind_RaiseException(struct _Unwind_Exception *);
-_Unwind_Reason_Code _Unwind_ForcedUnwind(struct _Unwind_Exception *,
-                                         _Unwind_Stop_Fn, void *);
-void _Unwind_DeleteException(struct _Unwind_Exception *);
-void _Unwind_Resume(struct _Unwind_Exception *);
-_Unwind_Reason_Code _Unwind_Resume_or_Rethrow(struct _Unwind_Exception *);
-
 #endif
 
 _Unwind_Reason_Code _Unwind_Backtrace(_Unwind_Trace_Fn, void *);
@@ -241,11 +279,11 @@ typedef struct SjLj_Function_Context *_Unwind_Function
 
 void _Unwind_SjLj_Register(_Unwind_FunctionContext_t);
 void _Unwind_SjLj_Unregister(_Unwind_FunctionContext_t);
-_Unwind_Reason_Code _Unwind_SjLj_RaiseException(struct _Unwind_Exception *);
-_Unwind_Reason_Code _Unwind_SjLj_ForcedUnwind(struct _Unwind_Exception *,
+_Unwind_Reason_Code _Unwind_SjLj_RaiseException(_Unwind_Exception *);
+_Unwind_Reason_Code _Unwind_SjLj_ForcedUnwind(_Unwind_Exception *,
                                               _Unwind_Stop_Fn, void *);
-void _Unwind_SjLj_Resume(struct _Unwind_Exception *);
-_Unwind_Reason_Code _Unwind_SjLj_Resume_or_Rethrow(struct _Unwind_Exception *);
+void _Unwind_SjLj_Resume(_Unwind_Exception *);
+_Unwind_Reason_Code _Unwind_SjLj_Resume_or_Rethrow(_Unwind_Exception *);
 
 void *_Unwind_FindEnclosingFunction(void *);
 

Modified: projects/runtime-coverage/contrib/llvm/tools/clang/lib/Lex/ScratchBuffer.cpp
==============================================================================
--- projects/runtime-coverage/contrib/llvm/tools/clang/lib/Lex/ScratchBuffer.cpp	Mon Jul 31 03:59:07 2017	(r321755)
+++ projects/runtime-coverage/contrib/llvm/tools/clang/lib/Lex/ScratchBuffer.cpp	Mon Jul 31 04:20:21 2017	(r321756)
@@ -35,6 +35,14 @@ SourceLocation ScratchBuffer::getToken(const char *Buf
                                        const char *&DestPtr) {
   if (BytesUsed+Len+2 > ScratchBufSize)
     AllocScratchBuffer(Len+2);
+  else {
+    // Clear out the source line cache if it's already been computed.
+    // FIXME: Allow this to be incrementally extended.
+    auto *ContentCache = const_cast<SrcMgr::ContentCache *>(
+        SourceMgr.getSLocEntry(SourceMgr.getFileID(BufferStartLoc))
+                 .getFile().getContentCache());
+    ContentCache->SourceLineCache = nullptr;
+  }
 
   // Prefix the token with a \n, so that it looks like it is the first thing on
   // its own virtual line in caret diagnostics.

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


More information about the svn-src-projects mailing list