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...
Ngie Cooper
ngie at FreeBSD.org
Fri Aug 25 02:48:36 UTC 2017
Author: ngie
Date: Fri Aug 25 02:48:31 2017
New Revision: 322871
URL: https://svnweb.freebsd.org/changeset/base/322871
Log:
MFhead at 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 <markj at FreeBSD.org>
+ */
+
+/*
+ * 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 <sys/cdefs.h>
#include <sys/time.h>
#include <sys/fs/zfs.h>
+#include <sys/vdev_impl.h>
#include <syslog.h>
@@ -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<char> 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<class _CharT, class _Traits, class _Allocator
basic_string<_CharT, _Traits, _Allocator>
operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, _CharT __y);
+_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS string operator+<char, char_traits<char>, allocator<char> >(char const*, string const&))
+
template <bool>
class _LIBCPP_TEMPLATE_VIS __basic_string_common
{
@@ -3999,7 +4001,6 @@ basic_string<_CharT, _Traits, _Allocator>::__subscript
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<char>)
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<wchar_t>)
-_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS string operator+<char, char_traits<char>, allocator<char> >(char const*, string const&))
#if _LIBCPP_STD_VER > 11
// Literal suffixes for basic_string [basic.string.literals]
Modified: projects/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 <typename BaseLayerT> class LazyEmittingLayer
llvm_unreachable("Invalid emit-state.");
}
- void removeModuleFromBaseLayer(BaseLayerT &BaseLayer) {
- if (EmitState != NotEmitted)
- BaseLayer.removeModule(Handle);
+ Error removeModuleFromBaseLayer(BaseLayerT& BaseLayer) {
+ return EmitState != NotEmitted ? BaseLayer.removeModule(Handle)
+ : Error::success();
}
void emitAndFinalize(BaseLayerT &BaseLayer) {
@@ -226,9 +226,9 @@ template <typename BaseLayerT> class LazyEmittingLayer
/// This method will free the memory associated with the given module, both
/// in this layer, and the base layer.
Error removeModule(ModuleHandleT H) {
- (*H)->removeModuleFromBaseLayer(BaseLayer);
+ Error Err = (*H)->removeModuleFromBaseLayer(BaseLayer);
ModuleList.erase(H);
- return Error::success();
+ return Err;
}
/// @brief Search for the given named symbol.
Modified: projects/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<COFFShortExport> 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<unsigned>
cl::desc("Maximum depth of recursive SExt/ZExt"),
cl::init(8));
+static cl::opt<unsigned>
+ MaxAddRecSize("scalar-evolution-max-add-rec-size", cl::Hidden,
+ cl::desc("Max coefficients in AddRec during evolving"),
+ cl::init(16));
+
//===----------------------------------------------------------------------===//
// SCEV class definitions
//===----------------------------------------------------------------------===//
@@ -2878,6 +2883,12 @@ const SCEV *ScalarEvolution::getMulExpr(SmallVectorImp
if (!OtherAddRec || OtherAddRec->getLoop() != AddRecLoop)
continue;
+ // Limit max number of arguments to avoid creation of unreasonably big
+ // SCEVAddRecs with very complex operands.
+ if (AddRec->getNumOperands() + OtherAddRec->getNumOperands() - 1 >
+ MaxAddRecSize)
+ continue;
+
bool Overflow = false;
Type *Ty = AddRec->getType();
bool LargerThan64Bits = getTypeSizeInBits(Ty) > 64;
@@ -7582,6 +7593,25 @@ const SCEV *ScalarEvolution::computeSCEVAtScope(const
const SCEV *BackedgeTakenCount = getBackedgeTakenCount(LI);
if (const SCEVConstant *BTCC =
dyn_cast<SCEVConstant>(BackedgeTakenCount)) {
+
+ // This trivial case can show up in some degenerate cases where
+ // the incoming IR has not yet been fully simplified.
+ if (BTCC->getValue()->isZero()) {
+ Value *InitValue = nullptr;
+ bool MultipleInitValues = false;
+ for (unsigned i = 0; i < PN->getNumIncomingValues(); i++) {
+ if (!LI->contains(PN->getIncomingBlock(i))) {
+ if (!InitValue)
+ InitValue = PN->getIncomingValue(i);
+ else if (InitValue != PN->getIncomingValue(i)) {
+ MultipleInitValues = true;
+ break;
+ }
+ }
+ if (!MultipleInitValues && InitValue)
+ return getSCEV(InitValue);
+ }
+ }
// Okay, we know how many times the containing loop executes. If
// this is a constant evolving PHI node, get the final value at
// the specified iteration number.
Modified: projects/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<bool> llvm::isImpliedCondition(const Value *L
unsigned Depth, AssumptionCache *AC,
const Instruction *CxtI,
const DominatorTree *DT) {
+ // Bail out when we hit the limit.
+ if (Depth == MaxDepth)
+ return None;
+
// A mismatch occurs when we compare a scalar cmp to a vector cmp, for example.
if (LHS->getType() != RHS->getType())
return None;
Modified: projects/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<StoreSDNode>(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<BuildVectorSDNode>(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<MemSDNode>(NewMemOp.getNode()) && "Expected a memop node");
- if (!OldLoad->hasAnyUseOfValue(1))
- return;
-
// The new memory operation must have the same position as the old load in
// terms of memory dependency. Create a TokenFactor for the old load and new
// memory operation and update uses of the old load's output chain to use that
// TokenFactor.
SDValue OldChain = SDValue(OldLoad, 1);
SDValue NewChain = SDValue(NewMemOp.getNode(), 1);
+ if (!OldLoad->hasAnyUseOfValue(1))
+ return NewChain;
+
SDValue TokenFactor =
getNode(ISD::TokenFactor, SDLoc(OldLoad), MVT::Other, OldChain, NewChain);
ReplaceAllUsesOfValueWith(OldChain, TokenFactor);
UpdateNodeOperands(TokenFactor.getNode(), OldChain, NewChain);
+ return TokenFactor;
}
//===----------------------------------------------------------------------===//
Modified: projects/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<unsigned, 8> SuperDeads;
@@ -452,7 +479,8 @@ void VirtRegRewriter::rewrite() {
// A virtual register kill refers to the whole register, so we may
// have to add <imp-use,kill> operands for the super-register. A
// partial redef always kills and redefines the super-register.
- if (MO.readsReg() && (MO.isDef() || MO.isKill()))
+ if ((MO.readsReg() && (MO.isDef() || MO.isKill())) ||
+ (MO.isDef() && subRegLiveThrough(*MI, PhysReg)))
SuperKills.push_back(PhysReg);
if (MO.isDef()) {
Modified: projects/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<MDString>(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<ConstantInt>(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<COFFShortExport> Exports,
- MachineTypes Machine) {
+ MachineTypes Machine, bool MakeWeakAliases) {
std::vector<NewArchiveMember> Members;
ObjectFactory OF(llvm::sys::path::filename(ImportName), Machine);
@@ -575,7 +575,7 @@ std::error_code writeImportLibrary(StringRef ImportNam
if (E.Private)
continue;
- if (E.isWeak()) {
+ if (E.isWeak() && MakeWeakAliases) {
Members.push_back(OF.createWeakExternal(E.Name, E.ExtName, false));
Members.push_back(OF.createWeakExternal(E.Name, E.ExtName, true));
continue;
@@ -587,7 +587,7 @@ std::error_code writeImportLibrary(StringRef ImportNam
if (E.Constant)
ImportType = IMPORT_CONST;
- StringRef SymbolName = E.isWeak() ? E.ExtName : E.Name;
+ StringRef SymbolName = E.SymbolName.empty() ? E.Name : E.SymbolName;
ImportNameType NameType = getNameType(SymbolName, E.Name, Machine);
Expected<std::string> Name = E.ExtName.empty()
? SymbolName
Modified: projects/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<dead>, rDestHi, rDesiredHi
+ // sbcs rTempReg<dead>, rDestHi, rDesiredHi
// bne .Ldone
unsigned LDREXD = IsThumb ? ARM::t2LDREXD : ARM::LDREXD;
MachineInstrBuilder MIB;
@@ -959,17 +943,17 @@ bool ARMExpandPseudo::ExpandCMP_SWAP_64(MachineBasicBl
LoadCmpBB->addSuccessor(StoreBB);
// .Lstore:
- // strexd rStatus, rNewLo, rNewHi, [rAddr]
- // cmp rStatus, #0
+ // strexd rTempReg, rNewLo, rNewHi, [rAddr]
+ // cmp rTempReg, #0
// bne .Lloadcmp
unsigned STREXD = IsThumb ? ARM::t2STREXD : ARM::STREXD;
- MIB = BuildMI(StoreBB, DL, TII->get(STREXD), StatusReg);
+ MIB = BuildMI(StoreBB, DL, TII->get(STREXD), TempReg);
addExclusiveRegPair(MIB, New, 0, IsThumb, TRI);
MIB.addReg(AddrReg).add(predOps(ARMCC::AL));
unsigned CMPri = IsThumb ? ARM::t2CMPri : ARM::CMPri;
BuildMI(StoreBB, DL, TII->get(CMPri))
- .addReg(StatusReg, getKillRegState(StatusDead))
+ .addReg(TempReg, RegState::Kill)
.addImm(0)
.add(predOps(ARMCC::AL));
BuildMI(StoreBB, DL, TII->get(Bcc))
Modified: projects/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<int> 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<int> 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<int> 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<int> 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 ***
More information about the svn-src-projects
mailing list