From owner-svn-src-projects@freebsd.org Fri Aug 25 02:48:36 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5340DDED91A for ; Fri, 25 Aug 2017 02:48:36 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CF5236F93B; Fri, 25 Aug 2017 02:48:35 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7P2mZtn023523; Fri, 25 Aug 2017 02:48:35 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7P2mVTV023490; Fri, 25 Aug 2017 02:48:31 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201708250248.v7P2mVTV023490@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Fri, 25 Aug 2017 02:48:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322871 - in projects/runtime-coverage: . bin/pkill cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/llquantize cddl/contrib/opensolaris/lib/libdtrace/common cddl/contrib/opensolaris... X-SVN-Group: projects X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: in projects/runtime-coverage: . bin/pkill cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/llquantize cddl/contrib/opensolaris/lib/libdtrace/common cddl/contrib/opensolaris/lib/libzfs/common cddl/u... X-SVN-Commit-Revision: 322871 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Aug 2017 02:48:36 -0000 Author: ngie Date: Fri Aug 25 02:48:31 2017 New Revision: 322871 URL: https://svnweb.freebsd.org/changeset/base/322871 Log: MFhead@r322870 Added: projects/runtime-coverage/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_MAGTOOBIG.offbyone.d - copied unchanged from r322870, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_MAGTOOBIG.offbyone.d projects/runtime-coverage/contrib/zstd/lib/common/compiler.h - copied unchanged from r322870, head/contrib/zstd/lib/common/compiler.h projects/runtime-coverage/contrib/zstd/tests/files/ - copied from r322870, head/contrib/zstd/tests/files/ projects/runtime-coverage/contrib/zstd/tests/fuzz/ - copied from r322870, head/contrib/zstd/tests/fuzz/ projects/runtime-coverage/contrib/zstd/tests/poolTests.c - copied unchanged from r322870, head/contrib/zstd/tests/poolTests.c projects/runtime-coverage/lib/clang/Makefile.inc - copied unchanged from r322870, head/lib/clang/Makefile.inc projects/runtime-coverage/lib/libc/amd64/sys/amd64_detect_rdfsgsbase.c - copied unchanged from r322870, head/lib/libc/amd64/sys/amd64_detect_rdfsgsbase.c projects/runtime-coverage/lib/libc/amd64/sys/amd64_detect_rdfsgsbase.h - copied unchanged from r322870, head/lib/libc/amd64/sys/amd64_detect_rdfsgsbase.h projects/runtime-coverage/share/man/man4/mlx5ib.4 - copied unchanged from r322870, head/share/man/man4/mlx5ib.4 projects/runtime-coverage/sys/compat/linuxkpi/common/include/asm/msr.h - copied unchanged from r322870, head/sys/compat/linuxkpi/common/include/asm/msr.h projects/runtime-coverage/sys/compat/linuxkpi/common/include/linux/atomic.h - copied unchanged from r322870, head/sys/compat/linuxkpi/common/include/linux/atomic.h projects/runtime-coverage/sys/dev/mlx5/mlx5_ib/ - copied from r322870, head/sys/dev/mlx5/mlx5_ib/ projects/runtime-coverage/sys/modules/mlx5ib/ - copied from r322870, head/sys/modules/mlx5ib/ Deleted: projects/runtime-coverage/contrib/zstd/PATENTS projects/runtime-coverage/contrib/zstd/tests/pool.c Modified: projects/runtime-coverage/Makefile.inc1 projects/runtime-coverage/bin/pkill/pkill.c projects/runtime-coverage/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cc.c projects/runtime-coverage/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h projects/runtime-coverage/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c projects/runtime-coverage/cddl/usr.sbin/dtrace/tests/common/llquantize/Makefile projects/runtime-coverage/cddl/usr.sbin/zfsd/zfsd_event.cc projects/runtime-coverage/contrib/compiler-rt/lib/builtins/arm/aeabi_dcmp.S projects/runtime-coverage/contrib/compiler-rt/lib/builtins/arm/aeabi_fcmp.S projects/runtime-coverage/contrib/compiler-rt/lib/esan/esan_sideline_linux.cpp projects/runtime-coverage/contrib/compiler-rt/lib/profile/InstrProfilingNameVar.c projects/runtime-coverage/contrib/libc++/include/string projects/runtime-coverage/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h projects/runtime-coverage/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h projects/runtime-coverage/contrib/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h projects/runtime-coverage/contrib/llvm/include/llvm/Object/COFFImportFile.h projects/runtime-coverage/contrib/llvm/lib/Analysis/ScalarEvolution.cpp projects/runtime-coverage/contrib/llvm/lib/Analysis/ValueTracking.cpp projects/runtime-coverage/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h projects/runtime-coverage/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp projects/runtime-coverage/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/runtime-coverage/contrib/llvm/lib/CodeGen/VirtRegMap.cpp projects/runtime-coverage/contrib/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp projects/runtime-coverage/contrib/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp projects/runtime-coverage/contrib/llvm/lib/IR/AutoUpgrade.cpp projects/runtime-coverage/contrib/llvm/lib/Object/COFFImportFile.cpp projects/runtime-coverage/contrib/llvm/lib/Object/COFFModuleDefinition.cpp projects/runtime-coverage/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp projects/runtime-coverage/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp projects/runtime-coverage/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/runtime-coverage/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td projects/runtime-coverage/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/runtime-coverage/contrib/llvm/lib/Target/X86/X86InstrAVX512.td projects/runtime-coverage/contrib/llvm/lib/Target/X86/X86SchedSandyBridge.td projects/runtime-coverage/contrib/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp projects/runtime-coverage/contrib/llvm/lib/ToolDrivers/llvm-dlltool/Options.td projects/runtime-coverage/contrib/llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp projects/runtime-coverage/contrib/llvm/lib/Transforms/Scalar/BDCE.cpp projects/runtime-coverage/contrib/llvm/lib/Transforms/Scalar/LowerAtomic.cpp projects/runtime-coverage/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp projects/runtime-coverage/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp projects/runtime-coverage/contrib/llvm/tools/clang/include/clang-c/Index.h projects/runtime-coverage/contrib/llvm/tools/clang/include/clang/AST/Decl.h projects/runtime-coverage/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h projects/runtime-coverage/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/runtime-coverage/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td projects/runtime-coverage/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td projects/runtime-coverage/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td projects/runtime-coverage/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/runtime-coverage/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/runtime-coverage/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h projects/runtime-coverage/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def projects/runtime-coverage/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h projects/runtime-coverage/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/Mips.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/ToolChains/Clang.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/ToolChains/CrossWindows.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/ToolChains/CrossWindows.h projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/ToolChains/Darwin.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/ToolChains/Darwin.h projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.h projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/ToolChains/MSVC.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/ToolChains/MSVC.h projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/ToolChains/MinGW.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/ToolChains/MinGW.h projects/runtime-coverage/contrib/llvm/tools/clang/lib/Driver/ToolChains/NetBSD.h projects/runtime-coverage/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Headers/unwind.h projects/runtime-coverage/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp projects/runtime-coverage/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp projects/runtime-coverage/contrib/llvm/tools/lld/COFF/Driver.cpp projects/runtime-coverage/contrib/llvm/tools/lld/ELF/Driver.cpp projects/runtime-coverage/contrib/llvm/tools/lld/ELF/Options.td projects/runtime-coverage/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp projects/runtime-coverage/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContext_x86.h projects/runtime-coverage/contrib/llvm/tools/llvm-objdump/llvm-objdump.cpp projects/runtime-coverage/contrib/netbsd-tests/usr.bin/grep/t_grep.sh projects/runtime-coverage/contrib/top/loadavg.h projects/runtime-coverage/contrib/zstd/CONTRIBUTING.md projects/runtime-coverage/contrib/zstd/Makefile projects/runtime-coverage/contrib/zstd/NEWS projects/runtime-coverage/contrib/zstd/README.md projects/runtime-coverage/contrib/zstd/circle.yml projects/runtime-coverage/contrib/zstd/doc/educational_decoder/harness.c projects/runtime-coverage/contrib/zstd/doc/educational_decoder/zstd_decompress.c projects/runtime-coverage/contrib/zstd/doc/educational_decoder/zstd_decompress.h projects/runtime-coverage/contrib/zstd/doc/zstd_compression_format.md projects/runtime-coverage/contrib/zstd/doc/zstd_manual.html projects/runtime-coverage/contrib/zstd/lib/common/bitstream.h projects/runtime-coverage/contrib/zstd/lib/common/error_private.c projects/runtime-coverage/contrib/zstd/lib/common/error_private.h projects/runtime-coverage/contrib/zstd/lib/common/fse.h projects/runtime-coverage/contrib/zstd/lib/common/fse_decompress.c projects/runtime-coverage/contrib/zstd/lib/common/huf.h projects/runtime-coverage/contrib/zstd/lib/common/mem.h projects/runtime-coverage/contrib/zstd/lib/common/pool.c projects/runtime-coverage/contrib/zstd/lib/common/pool.h projects/runtime-coverage/contrib/zstd/lib/common/threading.h projects/runtime-coverage/contrib/zstd/lib/common/xxhash.c projects/runtime-coverage/contrib/zstd/lib/common/zstd_common.c projects/runtime-coverage/contrib/zstd/lib/common/zstd_errors.h projects/runtime-coverage/contrib/zstd/lib/common/zstd_internal.h projects/runtime-coverage/contrib/zstd/lib/compress/fse_compress.c projects/runtime-coverage/contrib/zstd/lib/compress/huf_compress.c projects/runtime-coverage/contrib/zstd/lib/compress/zstd_compress.c projects/runtime-coverage/contrib/zstd/lib/compress/zstd_opt.h projects/runtime-coverage/contrib/zstd/lib/compress/zstdmt_compress.c projects/runtime-coverage/contrib/zstd/lib/compress/zstdmt_compress.h projects/runtime-coverage/contrib/zstd/lib/decompress/huf_decompress.c projects/runtime-coverage/contrib/zstd/lib/decompress/zstd_decompress.c projects/runtime-coverage/contrib/zstd/lib/deprecated/zbuff.h projects/runtime-coverage/contrib/zstd/lib/deprecated/zbuff_common.c projects/runtime-coverage/contrib/zstd/lib/deprecated/zbuff_compress.c projects/runtime-coverage/contrib/zstd/lib/deprecated/zbuff_decompress.c projects/runtime-coverage/contrib/zstd/lib/dictBuilder/cover.c projects/runtime-coverage/contrib/zstd/lib/dictBuilder/zdict.c projects/runtime-coverage/contrib/zstd/lib/dictBuilder/zdict.h projects/runtime-coverage/contrib/zstd/lib/legacy/zstd_legacy.h projects/runtime-coverage/contrib/zstd/lib/legacy/zstd_v01.c projects/runtime-coverage/contrib/zstd/lib/legacy/zstd_v01.h projects/runtime-coverage/contrib/zstd/lib/legacy/zstd_v02.c projects/runtime-coverage/contrib/zstd/lib/legacy/zstd_v02.h projects/runtime-coverage/contrib/zstd/lib/legacy/zstd_v03.c projects/runtime-coverage/contrib/zstd/lib/legacy/zstd_v03.h projects/runtime-coverage/contrib/zstd/lib/legacy/zstd_v04.c projects/runtime-coverage/contrib/zstd/lib/legacy/zstd_v04.h projects/runtime-coverage/contrib/zstd/lib/legacy/zstd_v05.c projects/runtime-coverage/contrib/zstd/lib/legacy/zstd_v05.h projects/runtime-coverage/contrib/zstd/lib/legacy/zstd_v06.c projects/runtime-coverage/contrib/zstd/lib/legacy/zstd_v06.h projects/runtime-coverage/contrib/zstd/lib/legacy/zstd_v07.c projects/runtime-coverage/contrib/zstd/lib/legacy/zstd_v07.h projects/runtime-coverage/contrib/zstd/lib/zstd.h projects/runtime-coverage/contrib/zstd/programs/.gitignore projects/runtime-coverage/contrib/zstd/programs/Makefile projects/runtime-coverage/contrib/zstd/programs/README.md projects/runtime-coverage/contrib/zstd/programs/bench.c projects/runtime-coverage/contrib/zstd/programs/bench.h projects/runtime-coverage/contrib/zstd/programs/datagen.c projects/runtime-coverage/contrib/zstd/programs/datagen.h projects/runtime-coverage/contrib/zstd/programs/dibio.c projects/runtime-coverage/contrib/zstd/programs/dibio.h projects/runtime-coverage/contrib/zstd/programs/fileio.c projects/runtime-coverage/contrib/zstd/programs/fileio.h projects/runtime-coverage/contrib/zstd/programs/platform.h projects/runtime-coverage/contrib/zstd/programs/util.h projects/runtime-coverage/contrib/zstd/programs/zstd.1 projects/runtime-coverage/contrib/zstd/programs/zstd.1.md projects/runtime-coverage/contrib/zstd/programs/zstdcli.c projects/runtime-coverage/contrib/zstd/tests/Makefile projects/runtime-coverage/contrib/zstd/tests/datagencli.c projects/runtime-coverage/contrib/zstd/tests/decodecorpus.c projects/runtime-coverage/contrib/zstd/tests/fullbench.c projects/runtime-coverage/contrib/zstd/tests/fuzzer.c projects/runtime-coverage/contrib/zstd/tests/invalidDictionaries.c projects/runtime-coverage/contrib/zstd/tests/legacy.c projects/runtime-coverage/contrib/zstd/tests/longmatch.c projects/runtime-coverage/contrib/zstd/tests/namespaceTest.c projects/runtime-coverage/contrib/zstd/tests/paramgrill.c projects/runtime-coverage/contrib/zstd/tests/playTests.sh projects/runtime-coverage/contrib/zstd/tests/roundTripCrash.c projects/runtime-coverage/contrib/zstd/tests/symbols.c projects/runtime-coverage/contrib/zstd/tests/zbufftest.c projects/runtime-coverage/contrib/zstd/tests/zstreamtest.c projects/runtime-coverage/contrib/zstd/zlibWrapper/examples/zwrapbench.c projects/runtime-coverage/contrib/zstd/zlibWrapper/gzcompatibility.h projects/runtime-coverage/contrib/zstd/zlibWrapper/gzlib.c projects/runtime-coverage/contrib/zstd/zlibWrapper/gzread.c projects/runtime-coverage/contrib/zstd/zlibWrapper/gzwrite.c projects/runtime-coverage/contrib/zstd/zlibWrapper/zstd_zlibwrapper.c projects/runtime-coverage/contrib/zstd/zlibWrapper/zstd_zlibwrapper.h projects/runtime-coverage/etc/periodic/daily/200.backup-passwd projects/runtime-coverage/etc/periodic/security/100.chksetuid projects/runtime-coverage/etc/periodic/security/110.neggrpperm projects/runtime-coverage/etc/periodic/security/security.functions projects/runtime-coverage/kerberos5/libexec/kpasswdd/Makefile projects/runtime-coverage/lib/clang/include/clang/Basic/Version.inc projects/runtime-coverage/lib/clang/include/lld/Config/Version.inc projects/runtime-coverage/lib/clang/include/llvm/Support/VCSRevision.h projects/runtime-coverage/lib/libc/amd64/sys/Makefile.inc projects/runtime-coverage/lib/libc/amd64/sys/amd64_get_fsbase.c projects/runtime-coverage/lib/libc/amd64/sys/amd64_get_gsbase.c projects/runtime-coverage/lib/libc/amd64/sys/amd64_set_fsbase.c projects/runtime-coverage/lib/libc/amd64/sys/amd64_set_gsbase.c projects/runtime-coverage/lib/libc/mips/Symbol.map projects/runtime-coverage/lib/libcompiler_rt/Makefile.inc projects/runtime-coverage/release/tools/gce.conf projects/runtime-coverage/share/man/man4/Makefile projects/runtime-coverage/share/man/man4/ddb.4 projects/runtime-coverage/share/man/man7/tests.7 projects/runtime-coverage/share/mk/bsd.lib.mk projects/runtime-coverage/share/mk/bsd.prog.mk projects/runtime-coverage/share/mk/bsd.sys.mk projects/runtime-coverage/sys/amd64/amd64/cpu_switch.S projects/runtime-coverage/sys/amd64/amd64/exception.S projects/runtime-coverage/sys/amd64/amd64/machdep.c projects/runtime-coverage/sys/amd64/amd64/ptrace_machdep.c projects/runtime-coverage/sys/amd64/amd64/sys_machdep.c projects/runtime-coverage/sys/amd64/amd64/trap.c projects/runtime-coverage/sys/amd64/amd64/vm_machdep.c projects/runtime-coverage/sys/amd64/include/asmacros.h projects/runtime-coverage/sys/amd64/include/pcb.h projects/runtime-coverage/sys/amd64/vmm/intel/vmx_msr.c projects/runtime-coverage/sys/arm/arm/sc_machdep.c projects/runtime-coverage/sys/arm64/arm64/genassym.c projects/runtime-coverage/sys/arm64/arm64/pmap.c projects/runtime-coverage/sys/arm64/arm64/swtch.S projects/runtime-coverage/sys/arm64/arm64/vm_machdep.c projects/runtime-coverage/sys/arm64/include/pcb.h projects/runtime-coverage/sys/arm64/include/proc.h projects/runtime-coverage/sys/boot/fdt/dts/arm/zedboard.dts projects/runtime-coverage/sys/boot/fdt/dts/arm/zybo.dts projects/runtime-coverage/sys/cam/cam_iosched.c projects/runtime-coverage/sys/cam/cam_iosched.h projects/runtime-coverage/sys/cam/cam_xpt.c projects/runtime-coverage/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h projects/runtime-coverage/sys/compat/linuxkpi/common/include/linux/device.h projects/runtime-coverage/sys/compat/linuxkpi/common/include/linux/fs.h projects/runtime-coverage/sys/compat/linuxkpi/common/include/linux/kobject.h projects/runtime-coverage/sys/compat/linuxkpi/common/include/linux/list.h projects/runtime-coverage/sys/compat/linuxkpi/common/include/linux/lockdep.h projects/runtime-coverage/sys/compat/linuxkpi/common/include/linux/module.h projects/runtime-coverage/sys/compat/linuxkpi/common/src/linux_pci.c projects/runtime-coverage/sys/compat/linuxkpi/common/src/linux_rcu.c projects/runtime-coverage/sys/conf/files projects/runtime-coverage/sys/conf/newvers.sh projects/runtime-coverage/sys/dev/isp/isp_freebsd.c projects/runtime-coverage/sys/dev/ixgbe/if_ixv.c projects/runtime-coverage/sys/dev/qlnx/qlnxe/qlnx_os.c projects/runtime-coverage/sys/dev/qlxgbe/README.txt projects/runtime-coverage/sys/dev/qlxgbe/ql_boot.c projects/runtime-coverage/sys/dev/qlxgbe/ql_def.h projects/runtime-coverage/sys/dev/qlxgbe/ql_fw.c projects/runtime-coverage/sys/dev/qlxgbe/ql_glbl.h projects/runtime-coverage/sys/dev/qlxgbe/ql_hw.c projects/runtime-coverage/sys/dev/qlxgbe/ql_hw.h projects/runtime-coverage/sys/dev/qlxgbe/ql_inline.h projects/runtime-coverage/sys/dev/qlxgbe/ql_ioctl.c projects/runtime-coverage/sys/dev/qlxgbe/ql_isr.c projects/runtime-coverage/sys/dev/qlxgbe/ql_minidump.c projects/runtime-coverage/sys/dev/qlxgbe/ql_os.c projects/runtime-coverage/sys/dev/qlxgbe/ql_os.h projects/runtime-coverage/sys/dev/qlxgbe/ql_reset.c projects/runtime-coverage/sys/dev/qlxgbe/ql_ver.h projects/runtime-coverage/sys/dev/syscons/scterm-teken.c projects/runtime-coverage/sys/dev/syscons/syscons.c projects/runtime-coverage/sys/dev/syscons/syscons.h projects/runtime-coverage/sys/fs/nfsclient/nfs_clbio.c projects/runtime-coverage/sys/fs/nfsclient/nfs_clnode.c projects/runtime-coverage/sys/fs/nfsclient/nfs_clport.c projects/runtime-coverage/sys/fs/nfsclient/nfs_clsubs.c projects/runtime-coverage/sys/fs/nfsclient/nfs_clvnops.c projects/runtime-coverage/sys/fs/nfsclient/nfsnode.h projects/runtime-coverage/sys/i386/i386/exception.s projects/runtime-coverage/sys/isa/syscons_isa.c projects/runtime-coverage/sys/kern/kern_cpuset.c projects/runtime-coverage/sys/kern/subr_smp.c projects/runtime-coverage/sys/kern/subr_turnstile.c projects/runtime-coverage/sys/kern/uipc_sockbuf.c projects/runtime-coverage/sys/kern/uipc_socket.c projects/runtime-coverage/sys/kern/vfs_subr.c projects/runtime-coverage/sys/mips/mips/exception.S projects/runtime-coverage/sys/mips/mips/sc_machdep.c projects/runtime-coverage/sys/modules/Makefile projects/runtime-coverage/sys/modules/qlxgbe/Makefile projects/runtime-coverage/sys/net/iflib.c projects/runtime-coverage/sys/net/route.h projects/runtime-coverage/sys/netinet/tcp_input.c projects/runtime-coverage/sys/netinet/tcp_stacks/fastpath.c projects/runtime-coverage/sys/netipsec/ipsec.c projects/runtime-coverage/sys/netipsec/ipsec.h projects/runtime-coverage/sys/netipsec/ipsec6.h projects/runtime-coverage/sys/netipsec/ipsec_output.c projects/runtime-coverage/sys/powerpc/powerpc/sc_machdep.c projects/runtime-coverage/sys/sys/consio.h projects/runtime-coverage/sys/sys/param.h projects/runtime-coverage/sys/sys/smp.h projects/runtime-coverage/sys/sys/vnode.h projects/runtime-coverage/sys/ufs/ffs/ffs_softdep.c projects/runtime-coverage/sys/x86/acpica/srat.c projects/runtime-coverage/sys/x86/cpufreq/hwpstate.c projects/runtime-coverage/sys/x86/x86/identcpu.c projects/runtime-coverage/sys/x86/x86/mp_x86.c projects/runtime-coverage/tools/regression/sockets/accf_data_attach/accf_data_attach.c projects/runtime-coverage/usr.bin/clang/Makefile.inc projects/runtime-coverage/usr.bin/grep/grep.c projects/runtime-coverage/usr.bin/grep/grep.h projects/runtime-coverage/usr.bin/grep/util.c projects/runtime-coverage/usr.sbin/camdd/camdd.c projects/runtime-coverage/usr.sbin/chown/tests/chown_test.sh projects/runtime-coverage/usr.sbin/ctladm/ctladm.c Directory Properties: projects/runtime-coverage/ (props changed) projects/runtime-coverage/cddl/ (props changed) projects/runtime-coverage/cddl/contrib/opensolaris/ (props changed) projects/runtime-coverage/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/runtime-coverage/contrib/compiler-rt/ (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/contrib/netbsd-tests/ (props changed) projects/runtime-coverage/contrib/top/ (props changed) projects/runtime-coverage/contrib/zstd/ (props changed) projects/runtime-coverage/sys/cddl/contrib/opensolaris/ (props changed) Modified: projects/runtime-coverage/Makefile.inc1 ============================================================================== --- projects/runtime-coverage/Makefile.inc1 Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/Makefile.inc1 Fri Aug 25 02:48:31 2017 (r322871) @@ -558,7 +558,7 @@ TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ # cross-tools stage XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ - MK_GDB=no MK_TESTS=no + MK_GDB=no MK_LLD_IS_LD=${MK_LLD_BOOTSTRAP} MK_TESTS=no # kernel-tools stage KTMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ Modified: projects/runtime-coverage/bin/pkill/pkill.c ============================================================================== --- projects/runtime-coverage/bin/pkill/pkill.c Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/bin/pkill/pkill.c Fri Aug 25 02:48:31 2017 (r322871) @@ -568,7 +568,7 @@ main(int argc, char **argv) continue; rv |= (*action)(kp); } - if (rv && pgrep) + if (rv && pgrep && !quiet) putchar('\n'); if (!did_action && !pgrep && longfmt) fprintf(stderr, Copied: projects/runtime-coverage/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_MAGTOOBIG.offbyone.d (from r322870, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_MAGTOOBIG.offbyone.d) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/runtime-coverage/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_MAGTOOBIG.offbyone.d Fri Aug 25 02:48:31 2017 (r322871, copy of r322870, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_MAGTOOBIG.offbyone.d) @@ -0,0 +1,25 @@ +/* + * This file and its contents are supplied under the terms of the + * Common Development and Distribution License ("CDDL"), version 1.0. + * You may only use this file in accordance with the terms version + * 1.0 of the CDDL. + * + * A full copy of the text of the CDDL should have accompanied this + * source. A copy of the CDDL is also available via the Internet at + * http://www.illumos.org/license/CDDL. + */ + +/* + * Copyright 2017 Mark Johnston + */ + +/* + * A regression test for FreeBSD r322773. 100^9 fits in 64 bits, but + * llquantize() will create buckets up to 100^{10}, which does not fit. + */ + +BEGIN +{ + @ = llquantize(0, 100, 0, 9, 100); + exit(0); +} Modified: projects/runtime-coverage/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cc.c ============================================================================== --- projects/runtime-coverage/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cc.c Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cc.c Fri Aug 25 02:48:31 2017 (r322871) @@ -1503,7 +1503,7 @@ dt_compile_agg(dtrace_hdl_t *dtp, dt_node_t *dnp, dtra "divide a power of the factor\n"); } - for (i = 0, order = 1; i < args[2].value; i++) { + for (i = 0, order = 1; i <= args[2].value + 1; i++) { if (order * args[0].value > order) { order *= args[0].value; continue; @@ -1511,7 +1511,7 @@ dt_compile_agg(dtrace_hdl_t *dtp, dt_node_t *dnp, dtra dnerror(dnp, D_LLQUANT_MAGTOOBIG, "llquantize( ) " "factor (%d) raised to power of high magnitude " - "(%d) overflows 64-bits\n", args[0].value, + "(%d) plus 1 overflows 64-bits\n", args[0].value, args[2].value); } Modified: projects/runtime-coverage/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h ============================================================================== --- projects/runtime-coverage/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Fri Aug 25 02:48:31 2017 (r322871) @@ -772,6 +772,7 @@ extern int zpool_in_use(libzfs_handle_t *, int, pool_s * Label manipulation. */ extern int zpool_read_label(int, nvlist_t **); +extern int zpool_read_all_labels(int, nvlist_t **); extern int zpool_clear_label(int); /* is this zvol valid for use as a dump device? */ Modified: projects/runtime-coverage/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c ============================================================================== --- projects/runtime-coverage/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c Fri Aug 25 02:48:31 2017 (r322871) @@ -914,6 +914,65 @@ zpool_read_label(int fd, nvlist_t **config) return (0); } +/* + * Given a file descriptor, read the label information and return an nvlist + * describing the configuration, if there is one. + * returns the number of valid labels found + */ +int +zpool_read_all_labels(int fd, nvlist_t **config) +{ + struct stat64 statbuf; + int l; + vdev_label_t *label; + uint64_t state, txg, size; + int nlabels = 0; + + *config = NULL; + + if (fstat64(fd, &statbuf) == -1) + return (0); + size = P2ALIGN_TYPED(statbuf.st_size, sizeof (vdev_label_t), uint64_t); + + if ((label = malloc(sizeof (vdev_label_t))) == NULL) + return (0); + + for (l = 0; l < VDEV_LABELS; l++) { + nvlist_t *temp = NULL; + + /* TODO: use aio_read so we can read al 4 labels in parallel */ + if (pread64(fd, label, sizeof (vdev_label_t), + label_offset(size, l)) != sizeof (vdev_label_t)) + continue; + + if (nvlist_unpack(label->vl_vdev_phys.vp_nvlist, + sizeof (label->vl_vdev_phys.vp_nvlist), &temp, 0) != 0) + continue; + + if (nvlist_lookup_uint64(temp, ZPOOL_CONFIG_POOL_STATE, + &state) != 0 || state > POOL_STATE_L2CACHE) { + nvlist_free(temp); + temp = NULL; + continue; + } + + if (state != POOL_STATE_SPARE && state != POOL_STATE_L2CACHE && + (nvlist_lookup_uint64(temp, ZPOOL_CONFIG_POOL_TXG, + &txg) != 0 || txg == 0)) { + nvlist_free(temp); + temp = NULL; + continue; + } + if (temp) + *config = temp; + + nlabels++; + } + + free(label); + return (nlabels); +} + typedef struct rdsk_node { char *rn_name; int rn_dfd; Modified: projects/runtime-coverage/cddl/usr.sbin/dtrace/tests/common/llquantize/Makefile ============================================================================== --- projects/runtime-coverage/cddl/usr.sbin/dtrace/tests/common/llquantize/Makefile Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/cddl/usr.sbin/dtrace/tests/common/llquantize/Makefile Fri Aug 25 02:48:31 2017 (r322871) @@ -22,6 +22,7 @@ ${PACKAGE}FILES= \ err.D_LLQUANT_LOWVAL.d \ err.D_LLQUANT_MAGRANGE.d \ err.D_LLQUANT_MAGTOOBIG.d \ + err.D_LLQUANT_MAGTOOBIG.offbyone.d \ err.D_LLQUANT_NSTEPMATCH.d \ err.D_LLQUANT_NSTEPTYPE.d \ err.D_LLQUANT_NSTEPVAL.d \ Modified: projects/runtime-coverage/cddl/usr.sbin/zfsd/zfsd_event.cc ============================================================================== --- projects/runtime-coverage/cddl/usr.sbin/zfsd/zfsd_event.cc Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/cddl/usr.sbin/zfsd/zfsd_event.cc Fri Aug 25 02:48:31 2017 (r322871) @@ -36,6 +36,7 @@ #include #include #include +#include #include @@ -93,6 +94,7 @@ DevfsEvent::ReadLabel(int devFd, bool &inUse, bool &de pool_state_t poolState; char *poolName; boolean_t b_inuse; + int nlabels; inUse = false; degraded = false; @@ -105,8 +107,16 @@ DevfsEvent::ReadLabel(int devFd, bool &inUse, bool &de if (poolName != NULL) free(poolName); - if (zpool_read_label(devFd, &devLabel) != 0 - || devLabel == NULL) + nlabels = zpool_read_all_labels(devFd, &devLabel); + /* + * If we find a disk with fewer than the maximum number of + * labels, it might be the whole disk of a partitioned disk + * where ZFS resides on a partition. In that case, we should do + * nothing and wait for the partition to appear. Or, the disk + * might be damaged. In that case, zfsd should do nothing and + * wait for the sysadmin to decide. + */ + if (nlabels != VDEV_LABELS || devLabel == NULL) return (NULL); try { Modified: projects/runtime-coverage/contrib/compiler-rt/lib/builtins/arm/aeabi_dcmp.S ============================================================================== --- projects/runtime-coverage/contrib/compiler-rt/lib/builtins/arm/aeabi_dcmp.S Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/compiler-rt/lib/builtins/arm/aeabi_dcmp.S Fri Aug 25 02:48:31 2017 (r322871) @@ -18,11 +18,20 @@ // } // } +#if defined(COMPILER_RT_ARMHF_TARGET) +# define CONVERT_DCMP_ARGS_TO_DF2_ARGS \ + vmov d0, r0, r1 SEPARATOR \ + vmov d1, r2, r3 +#else +# define CONVERT_DCMP_ARGS_TO_DF2_ARGS +#endif + #define DEFINE_AEABI_DCMP(cond) \ .syntax unified SEPARATOR \ .p2align 2 SEPARATOR \ DEFINE_COMPILERRT_FUNCTION(__aeabi_dcmp ## cond) \ push { r4, lr } SEPARATOR \ + CONVERT_DCMP_ARGS_TO_DF2_ARGS SEPARATOR \ bl SYMBOL_NAME(__ ## cond ## df2) SEPARATOR \ cmp r0, #0 SEPARATOR \ b ## cond 1f SEPARATOR \ Modified: projects/runtime-coverage/contrib/compiler-rt/lib/builtins/arm/aeabi_fcmp.S ============================================================================== --- projects/runtime-coverage/contrib/compiler-rt/lib/builtins/arm/aeabi_fcmp.S Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/compiler-rt/lib/builtins/arm/aeabi_fcmp.S Fri Aug 25 02:48:31 2017 (r322871) @@ -18,11 +18,20 @@ // } // } +#if defined(COMPILER_RT_ARMHF_TARGET) +# define CONVERT_FCMP_ARGS_TO_SF2_ARGS \ + vmov s0, r0 SEPARATOR \ + vmov s1, r1 +#else +# define CONVERT_FCMP_ARGS_TO_SF2_ARGS +#endif + #define DEFINE_AEABI_FCMP(cond) \ .syntax unified SEPARATOR \ .p2align 2 SEPARATOR \ DEFINE_COMPILERRT_FUNCTION(__aeabi_fcmp ## cond) \ push { r4, lr } SEPARATOR \ + CONVERT_FCMP_ARGS_TO_SF2_ARGS SEPARATOR \ bl SYMBOL_NAME(__ ## cond ## sf2) SEPARATOR \ cmp r0, #0 SEPARATOR \ b ## cond 1f SEPARATOR \ Modified: projects/runtime-coverage/contrib/compiler-rt/lib/esan/esan_sideline_linux.cpp ============================================================================== --- projects/runtime-coverage/contrib/compiler-rt/lib/esan/esan_sideline_linux.cpp Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/compiler-rt/lib/esan/esan_sideline_linux.cpp Fri Aug 25 02:48:31 2017 (r322871) @@ -70,7 +70,7 @@ int SidelineThread::runSideline(void *Arg) { // Set up a signal handler on an alternate stack for safety. InternalScopedBuffer StackMap(SigAltStackSize); - struct sigaltstack SigAltStack; + stack_t SigAltStack; SigAltStack.ss_sp = StackMap.data(); SigAltStack.ss_size = SigAltStackSize; SigAltStack.ss_flags = 0; Modified: projects/runtime-coverage/contrib/compiler-rt/lib/profile/InstrProfilingNameVar.c ============================================================================== --- projects/runtime-coverage/contrib/compiler-rt/lib/profile/InstrProfilingNameVar.c Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/compiler-rt/lib/profile/InstrProfilingNameVar.c Fri Aug 25 02:48:31 2017 (r322871) @@ -1,11 +1,11 @@ -//===- InstrProfilingNameVar.c - profile name variable setup --------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// +/*===- InstrProfilingNameVar.c - profile name variable setup -------------===*\ +|* +|* The LLVM Compiler Infrastructure +|* +|* This file is distributed under the University of Illinois Open Source +|* License. See LICENSE.TXT for details. +|* +\*===----------------------------------------------------------------------===*/ #include "InstrProfiling.h" Modified: projects/runtime-coverage/contrib/libc++/include/string ============================================================================== --- projects/runtime-coverage/contrib/libc++/include/string Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/libc++/include/string Fri Aug 25 02:48:31 2017 (r322871) @@ -556,6 +556,8 @@ template operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, _CharT __y); +_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS string operator+, allocator >(char const*, string const&)) + template 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) _LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string) -_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS string operator+, allocator >(char const*, string const&)) #if _LIBCPP_STD_VER > 11 // Literal suffixes for basic_string [basic.string.literals] Modified: projects/runtime-coverage/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h ============================================================================== --- projects/runtime-coverage/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h Fri Aug 25 02:48:31 2017 (r322871) @@ -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/runtime-coverage/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h ============================================================================== --- projects/runtime-coverage/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h Fri Aug 25 02:48:31 2017 (r322871) @@ -85,7 +85,10 @@ namespace ISD { /// If N is a BUILD_VECTOR node whose elements are all the same constant or /// undefined, return true and return the constant value in \p SplatValue. - bool isConstantSplatVector(const SDNode *N, APInt &SplatValue); + /// This sets \p SplatValue to the smallest possible splat unless AllowShrink + /// is set to false. + bool isConstantSplatVector(const SDNode *N, APInt &SplatValue, + bool AllowShrink = true); /// Return true if the specified node is a BUILD_VECTOR where all of the /// elements are ~0 or undef. Modified: projects/runtime-coverage/contrib/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h ============================================================================== --- projects/runtime-coverage/contrib/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h Fri Aug 25 02:48:31 2017 (r322871) @@ -94,9 +94,9 @@ template 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 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/runtime-coverage/contrib/llvm/include/llvm/Object/COFFImportFile.h ============================================================================== --- projects/runtime-coverage/contrib/llvm/include/llvm/Object/COFFImportFile.h Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/include/llvm/Object/COFFImportFile.h Fri Aug 25 02:48:31 2017 (r322871) @@ -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 Exports, - COFF::MachineTypes Machine); + COFF::MachineTypes Machine, + bool MakeWeakAliases); } // namespace object } // namespace llvm Modified: projects/runtime-coverage/contrib/llvm/lib/Analysis/ScalarEvolution.cpp ============================================================================== --- projects/runtime-coverage/contrib/llvm/lib/Analysis/ScalarEvolution.cpp Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/lib/Analysis/ScalarEvolution.cpp Fri Aug 25 02:48:31 2017 (r322871) @@ -162,6 +162,11 @@ static cl::opt cl::desc("Maximum depth of recursive SExt/ZExt"), cl::init(8)); +static cl::opt + 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(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/runtime-coverage/contrib/llvm/lib/Analysis/ValueTracking.cpp ============================================================================== --- projects/runtime-coverage/contrib/llvm/lib/Analysis/ValueTracking.cpp Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/lib/Analysis/ValueTracking.cpp Fri Aug 25 02:48:31 2017 (r322871) @@ -4458,6 +4458,10 @@ Optional 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/runtime-coverage/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h ============================================================================== --- projects/runtime-coverage/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h Fri Aug 25 02:48:31 2017 (r322871) @@ -627,6 +627,7 @@ class LLVM_LIBRARY_VISIBILITY DAGTypeLegalizer { (priv SDValue ScalarizeVecOp_CONCAT_VECTORS(SDNode *N); SDValue ScalarizeVecOp_EXTRACT_VECTOR_ELT(SDNode *N); SDValue ScalarizeVecOp_VSELECT(SDNode *N); + SDValue ScalarizeVecOp_VSETCC(SDNode *N); SDValue ScalarizeVecOp_STORE(StoreSDNode *N, unsigned OpNo); SDValue ScalarizeVecOp_FP_ROUND(SDNode *N, unsigned OpNo); Modified: projects/runtime-coverage/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp ============================================================================== --- projects/runtime-coverage/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp Fri Aug 25 02:48:31 2017 (r322871) @@ -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); @@ -470,6 +484,9 @@ bool DAGTypeLegalizer::ScalarizeVectorOperand(SDNode * case ISD::VSELECT: Res = ScalarizeVecOp_VSELECT(N); break; + case ISD::SETCC: + Res = ScalarizeVecOp_VSETCC(N); + break; case ISD::STORE: Res = ScalarizeVecOp_STORE(cast(N), OpNo); break; @@ -544,6 +561,36 @@ SDValue DAGTypeLegalizer::ScalarizeVecOp_VSELECT(SDNod return DAG.getNode(ISD::SELECT, SDLoc(N), VT, ScalarCond, N->getOperand(1), N->getOperand(2)); +} + +/// If the operand is a vector that needs to be scalarized then the +/// result must be v1i1, so just convert to a scalar SETCC and wrap +/// with a scalar_to_vector since the res type is legal if we got here +SDValue DAGTypeLegalizer::ScalarizeVecOp_VSETCC(SDNode *N) { + assert(N->getValueType(0).isVector() && + N->getOperand(0).getValueType().isVector() && + "Operand types must be vectors"); + assert(N->getValueType(0) == MVT::v1i1 && "Expected v1i1 type"); + + EVT VT = N->getValueType(0); + SDValue LHS = GetScalarizedVector(N->getOperand(0)); + SDValue RHS = GetScalarizedVector(N->getOperand(1)); + + EVT OpVT = N->getOperand(0).getValueType(); + EVT NVT = VT.getVectorElementType(); + SDLoc DL(N); + // Turn it into a scalar SETCC. + SDValue Res = DAG.getNode(ISD::SETCC, DL, MVT::i1, LHS, RHS, + N->getOperand(2)); + + // Vectors may have a different boolean contents to scalars. Promote the + // value appropriately. + ISD::NodeType ExtendCode = + TargetLowering::getExtendForContent(TLI.getBooleanContents(OpVT)); + + Res = DAG.getNode(ExtendCode, DL, NVT, Res); + + return DAG.getNode(ISD::SCALAR_TO_VECTOR, DL, VT, Res); } /// If the value to store is a vector that needs to be scalarized, it must be Modified: projects/runtime-coverage/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp ============================================================================== --- projects/runtime-coverage/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Fri Aug 25 02:48:31 2017 (r322871) @@ -116,7 +116,8 @@ bool ConstantFPSDNode::isValueValidForType(EVT VT, // ISD Namespace //===----------------------------------------------------------------------===// -bool ISD::isConstantSplatVector(const SDNode *N, APInt &SplatVal) { +bool ISD::isConstantSplatVector(const SDNode *N, APInt &SplatVal, + bool AllowShrink) { auto *BV = dyn_cast(N); if (!BV) return false; @@ -124,9 +125,11 @@ bool ISD::isConstantSplatVector(const SDNode *N, APInt APInt SplatUndef; unsigned SplatBitSize; bool HasUndefs; - EVT EltVT = N->getValueType(0).getVectorElementType(); - return BV->isConstantSplat(SplatVal, SplatUndef, SplatBitSize, HasUndefs) && - EltVT.getSizeInBits() >= SplatBitSize; + unsigned EltSize = N->getValueType(0).getVectorElementType().getSizeInBits(); + unsigned MinSplatBits = AllowShrink ? 0 : EltSize; + return BV->isConstantSplat(SplatVal, SplatUndef, SplatBitSize, HasUndefs, + MinSplatBits) && + EltSize >= SplatBitSize; } // FIXME: AllOnes and AllZeros duplicate a lot of code. Could these be @@ -7262,22 +7265,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(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/runtime-coverage/contrib/llvm/lib/CodeGen/VirtRegMap.cpp ============================================================================== --- projects/runtime-coverage/contrib/llvm/lib/CodeGen/VirtRegMap.cpp Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/lib/CodeGen/VirtRegMap.cpp Fri Aug 25 02:48:31 2017 (r322871) @@ -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 SuperDeads; @@ -452,7 +479,8 @@ void VirtRegRewriter::rewrite() { // A virtual register kill refers to the whole register, so we may // have to add 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/runtime-coverage/contrib/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp ============================================================================== --- projects/runtime-coverage/contrib/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp Fri Aug 25 02:48:31 2017 (r322871) @@ -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/runtime-coverage/contrib/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp ============================================================================== --- projects/runtime-coverage/contrib/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp Fri Aug 25 02:48:31 2017 (r322871) @@ -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/runtime-coverage/contrib/llvm/lib/IR/AutoUpgrade.cpp ============================================================================== --- projects/runtime-coverage/contrib/llvm/lib/IR/AutoUpgrade.cpp Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/lib/IR/AutoUpgrade.cpp Fri Aug 25 02:48:31 2017 (r322871) @@ -2239,14 +2239,14 @@ bool llvm::UpgradeDebugInfo(Module &M) { } bool llvm::UpgradeModuleFlags(Module &M) { - const NamedMDNode *ModFlags = M.getModuleFlagsMetadata(); + NamedMDNode *ModFlags = M.getModuleFlagsMetadata(); if (!ModFlags) return false; - bool HasObjCFlag = false, HasClassProperties = false; + bool HasObjCFlag = false, HasClassProperties = false, Changed = false; for (unsigned I = 0, E = ModFlags->getNumOperands(); I != E; ++I) { MDNode *Op = ModFlags->getOperand(I); - if (Op->getNumOperands() < 2) + if (Op->getNumOperands() != 3) continue; MDString *ID = dyn_cast_or_null(Op->getOperand(1)); if (!ID) @@ -2255,7 +2255,24 @@ bool llvm::UpgradeModuleFlags(Module &M) { HasObjCFlag = true; if (ID->getString() == "Objective-C Class Properties") HasClassProperties = true; + // Upgrade PIC/PIE Module Flags. The module flag behavior for these two + // field was Error and now they are Max. + if (ID->getString() == "PIC Level" || ID->getString() == "PIE Level") { + if (auto *Behavior = + mdconst::dyn_extract_or_null(Op->getOperand(0))) { + if (Behavior->getLimitedValue() == Module::Error) { + Type *Int32Ty = Type::getInt32Ty(M.getContext()); + Metadata *Ops[3] = { + ConstantAsMetadata::get(ConstantInt::get(Int32Ty, Module::Max)), + MDString::get(M.getContext(), ID->getString()), + Op->getOperand(2)}; + ModFlags->setOperand(I, MDNode::get(M.getContext(), Ops)); + Changed = true; + } + } + } } + // "Objective-C Class Properties" is recently added for Objective-C. We // upgrade ObjC bitcodes to contain a "Objective-C Class Properties" module // flag of value 0, so we can correclty downgrade this flag when trying to @@ -2264,9 +2281,10 @@ bool llvm::UpgradeModuleFlags(Module &M) { if (HasObjCFlag && !HasClassProperties) { M.addModuleFlag(llvm::Module::Override, "Objective-C Class Properties", (uint32_t)0); - return true; + Changed = true; } - return false; + + return Changed; } static bool isOldLoopArgument(Metadata *MD) { Modified: projects/runtime-coverage/contrib/llvm/lib/Object/COFFImportFile.cpp ============================================================================== --- projects/runtime-coverage/contrib/llvm/lib/Object/COFFImportFile.cpp Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/lib/Object/COFFImportFile.cpp Fri Aug 25 02:48:31 2017 (r322871) @@ -557,7 +557,7 @@ NewArchiveMember ObjectFactory::createWeakExternal(Str std::error_code writeImportLibrary(StringRef ImportName, StringRef Path, ArrayRef Exports, - MachineTypes Machine) { + MachineTypes Machine, bool MakeWeakAliases) { std::vector 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 Name = E.ExtName.empty() ? SymbolName Modified: projects/runtime-coverage/contrib/llvm/lib/Object/COFFModuleDefinition.cpp ============================================================================== --- projects/runtime-coverage/contrib/llvm/lib/Object/COFFModuleDefinition.cpp Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/lib/Object/COFFModuleDefinition.cpp Fri Aug 25 02:48:31 2017 (r322871) @@ -232,7 +232,13 @@ class Parser { (private) for (;;) { read(); if (Tok.K == Identifier && Tok.Value[0] == '@') { - Tok.Value.drop_front().getAsInteger(10, E.Ordinal); + if (Tok.Value.drop_front().getAsInteger(10, E.Ordinal)) { + // Not an ordinal modifier at all, but the next export (fastcall + // decorated) - complete the current one. + unget(); + Info.Exports.push_back(E); + return Error::success(); + } read(); if (Tok.K == KwNoname) { E.Noname = true; Modified: projects/runtime-coverage/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp ============================================================================== --- projects/runtime-coverage/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp Fri Aug 25 02:48:31 2017 (r322871) @@ -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/runtime-coverage/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp ============================================================================== --- projects/runtime-coverage/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp Fri Aug 25 02:48:31 2017 (r322871) @@ -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, rDestHi, rDesiredHi + // sbcs rTempReg, 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/runtime-coverage/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp ============================================================================== --- projects/runtime-coverage/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp Fri Aug 25 02:41:01 2017 (r322870) +++ projects/runtime-coverage/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp Fri Aug 25 02:48:31 2017 (r322871) @@ -5901,7 +5901,10 @@ static bool isVUZPMask(ArrayRef M, EVT VT, unsign return false; for (unsigned i = 0; i < M.size(); i += NumElts) { - WhichResult = M[i] == 0 ? 0 : 1; + if (M.size() == NumElts * 2) + WhichResult = i / NumElts; + else + WhichResult = M[i] == 0 ? 0 : 1; for (unsigned j = 0; j < NumElts; ++j) { if (M[i+j] >= 0 && (unsigned) M[i+j] != 2 * j + WhichResult) return false; @@ -5932,7 +5935,10 @@ static bool isVUZP_v_undef_Mask(ArrayRef M, EVT V unsigned Half = NumElts / 2; for (unsigned i = 0; i < M.size(); i += NumElts) { - WhichResult = M[i] == 0 ? 0 : 1; + if (M.size() == NumElts * 2) + WhichResult = i / NumElts; + else + WhichResult = M[i] == 0 ? 0 : 1; for (unsigned j = 0; j < NumElts; j += Half) { unsigned Idx = WhichResult; for (unsigned k = 0; k < Half; ++k) { @@ -5972,7 +5978,10 @@ static bool isVZIPMask(ArrayRef M, EVT VT, unsign return false; for (unsigned i = 0; i < M.size(); i += NumElts) { - WhichResult = M[i] == 0 ? 0 : 1; + if (M.size() == NumElts * 2) + WhichResult = i / NumElts; + else + WhichResult = M[i] == 0 ? 0 : 1; unsigned Idx = WhichResult * NumElts / 2; for (unsigned j = 0; j < NumElts; j += 2) { if ((M[i+j] >= 0 && (unsigned) M[i+j] != Idx) || @@ -6005,7 +6014,10 @@ static bool isVZIP_v_undef_Mask(ArrayRef M, EVT V return false; for (unsigned i = 0; i < M.size(); i += NumElts) { - WhichResult = M[i] == 0 ? 0 : 1; + if (M.size() == NumElts * 2) + WhichResult = i / NumElts; + else + WhichResult = M[i] == 0 ? 0 : 1; *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***