Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Jun 2017 21:03:25 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r320013 - in vendor/llvm/dist: cmake/modules docs include/llvm/ADT include/llvm/Analysis include/llvm/BinaryFormat include/llvm/Bitcode include/llvm/CodeGen include/llvm/CodeGen/GlobalI...
Message-ID:  <201706162103.v5GL3PQc063335@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Fri Jun 16 21:03:24 2017
New Revision: 320013
URL: https://svnweb.freebsd.org/changeset/base/320013

Log:
  Vendor import of llvm trunk r305575:
  https://llvm.org/svn/llvm-project/llvm/trunk@305575

Added:
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/StringsAndChecksums.h   (contents, props changed)
  vendor/llvm/dist/include/llvm/Testing/
  vendor/llvm/dist/include/llvm/Testing/Support/
  vendor/llvm/dist/include/llvm/Testing/Support/Error.h   (contents, props changed)
  vendor/llvm/dist/include/llvm/Testing/Support/SupportHelpers.h   (contents, props changed)
  vendor/llvm/dist/lib/DebugInfo/CodeView/StringsAndChecksums.cpp   (contents, props changed)
  vendor/llvm/dist/lib/Fuzzer/test/inline-8bit-counters/
  vendor/llvm/dist/lib/Fuzzer/test/inline-8bit-counters.test
  vendor/llvm/dist/lib/Fuzzer/test/inline-8bit-counters/CMakeLists.txt   (contents, props changed)
  vendor/llvm/dist/lib/Testing/
  vendor/llvm/dist/lib/Testing/CMakeLists.txt   (contents, props changed)
  vendor/llvm/dist/lib/Testing/LLVMBuild.txt   (contents, props changed)
  vendor/llvm/dist/lib/Testing/Support/
  vendor/llvm/dist/lib/Testing/Support/CMakeLists.txt   (contents, props changed)
  vendor/llvm/dist/lib/Testing/Support/Error.cpp   (contents, props changed)
  vendor/llvm/dist/lib/Testing/Support/LLVMBuild.txt   (contents, props changed)
  vendor/llvm/dist/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp   (contents, props changed)
  vendor/llvm/dist/test/Analysis/ScalarEvolution/limit-depth.ll
  vendor/llvm/dist/test/Bitcode/DIExpression-minus-upgrade.ll
  vendor/llvm/dist/test/Bitcode/DIExpression-minus-upgrade.ll.bc   (contents, props changed)
  vendor/llvm/dist/test/Bitcode/upgrade-linker-options.ll
  vendor/llvm/dist/test/CodeGen/AArch64/fast-isel-sp-adjust.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/GlobalISel/legalize-add.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/always-uniform.ll
  vendor/llvm/dist/test/CodeGen/BPF/rodata_1.ll
  vendor/llvm/dist/test/CodeGen/BPF/rodata_2.ll
  vendor/llvm/dist/test/CodeGen/BPF/rodata_3.ll
  vendor/llvm/dist/test/CodeGen/BPF/rodata_4.ll
  vendor/llvm/dist/test/CodeGen/Hexagon/loop-idiom/pmpy-shiftconv-fail.ll
  vendor/llvm/dist/test/CodeGen/Hexagon/mulh.ll
  vendor/llvm/dist/test/CodeGen/Hexagon/mux-kill.mir
  vendor/llvm/dist/test/CodeGen/Hexagon/mux-kill2.mir
  vendor/llvm/dist/test/CodeGen/Hexagon/store-imm-stack-object.ll
  vendor/llvm/dist/test/CodeGen/Mips/brundef.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/licm-tocReg.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/ppc64-P9-mod.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/vec_revb.ll
  vendor/llvm/dist/test/CodeGen/X86/pr32368.ll
  vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets-dwp.x86_64.o   (contents, props changed)
  vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-test-zlib.o.elf-x86-64   (contents, props changed)
  vendor/llvm/dist/test/DebugInfo/PDB/Inputs/unknown-symbol.yaml
  vendor/llvm/dist/test/DebugInfo/PDB/pdb-unknown-symbol.test
  vendor/llvm/dist/test/DebugInfo/X86/double-declare.ll
  vendor/llvm/dist/test/DebugInfo/dwarfdump-str-offsets-dwp.test
  vendor/llvm/dist/test/Instrumentation/InstrProfiling/always_inline.ll
  vendor/llvm/dist/test/LTO/Resolution/X86/Inputs/dead-strip-fulllto.ll
  vendor/llvm/dist/test/LTO/Resolution/X86/dead-strip-fulllto.ll
  vendor/llvm/dist/test/LibDriver/use-paths.test
  vendor/llvm/dist/test/MC/AMDGPU/flat-gfx9.s   (contents, props changed)
  vendor/llvm/dist/test/MC/WebAssembly/external-func-address.ll
  vendor/llvm/dist/test/MC/WebAssembly/func-address.ll
  vendor/llvm/dist/test/ThinLTO/X86/cfi-icall.ll
  vendor/llvm/dist/test/Transforms/CodeExtractor/live_shrink.ll
  vendor/llvm/dist/test/Transforms/CodeExtractor/live_shrink_gep.ll
  vendor/llvm/dist/test/Transforms/CodeExtractor/live_shrink_hoist.ll
  vendor/llvm/dist/test/Transforms/CodeExtractor/live_shrink_multiple.ll
  vendor/llvm/dist/test/Transforms/CodeExtractor/live_shrink_unsafe.ll
  vendor/llvm/dist/test/Transforms/CrossDSOCFI/cfi_functions.ll
  vendor/llvm/dist/test/Transforms/EarlyCSE/pr33406.ll
  vendor/llvm/dist/test/Transforms/GVN/pr32314.ll
  vendor/llvm/dist/test/Transforms/LowerTypeTests/Inputs/import-icall.yaml
  vendor/llvm/dist/test/Transforms/LowerTypeTests/export-icall.ll
  vendor/llvm/dist/test/Transforms/LowerTypeTests/import-icall.ll
  vendor/llvm/dist/test/Transforms/RewriteStatepointsForGC/drop-invalid-metadata.ll
  vendor/llvm/dist/test/Transforms/Util/PredicateInfo/pr33456.ll
  vendor/llvm/dist/test/Transforms/Util/PredicateInfo/pr33457.ll
  vendor/llvm/dist/test/tools/llvm-cvtres/Inputs/combined.obj.coff   (contents, props changed)
  vendor/llvm/dist/test/tools/llvm-cvtres/Inputs/languages.rc
  vendor/llvm/dist/test/tools/llvm-cvtres/Inputs/languages.res   (contents, props changed)
  vendor/llvm/dist/test/tools/llvm-cvtres/Inputs/test_resource.obj.coff.arm   (contents, props changed)
  vendor/llvm/dist/test/tools/llvm-cvtres/Inputs/test_resource.obj.coff.x64   (contents, props changed)
  vendor/llvm/dist/test/tools/llvm-cvtres/combined.test
  vendor/llvm/dist/test/tools/llvm-cvtres/help.test
  vendor/llvm/dist/test/tools/llvm-cvtres/machine.test
  vendor/llvm/dist/test/tools/llvm-dwarfdump/X86/apple_names_verify_buckets.s   (contents, props changed)
  vendor/llvm/dist/tools/llvm-pdbutil/FormatUtil.cpp   (contents, props changed)
  vendor/llvm/dist/tools/llvm-pdbutil/FormatUtil.h   (contents, props changed)
  vendor/llvm/dist/tools/llvm-pdbutil/MinimalSymbolDumper.cpp   (contents, props changed)
  vendor/llvm/dist/tools/llvm-pdbutil/MinimalSymbolDumper.h   (contents, props changed)
  vendor/llvm/dist/tools/llvm-pdbutil/MinimalTypeDumper.cpp   (contents, props changed)
  vendor/llvm/dist/tools/llvm-pdbutil/MinimalTypeDumper.h   (contents, props changed)
  vendor/llvm/dist/tools/llvm-pdbutil/RawOutputStyle.cpp   (contents, props changed)
  vendor/llvm/dist/tools/llvm-pdbutil/RawOutputStyle.h   (contents, props changed)
  vendor/llvm/dist/unittests/Support/DynamicLibrary/ExportedFuncs.cxx   (contents, props changed)
Deleted:
  vendor/llvm/dist/test/CodeGen/PowerPC/testComparesinesll.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/testComparesineull.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/testComparesllnesll.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/testComparesllneull.ll
  vendor/llvm/dist/test/DebugInfo/PDB/pdb-yaml-types.test
  vendor/llvm/dist/test/tools/llvm-cvtres/basic.test
  vendor/llvm/dist/test/tools/llvm-pdbdump/raw-stream-data.test
  vendor/llvm/dist/tools/llvm-pdbutil/LLVMOutputStyle.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/LLVMOutputStyle.h
  vendor/llvm/dist/unittests/DebugInfo/CodeView/ErrorChecking.h
  vendor/llvm/dist/unittests/DebugInfo/PDB/ErrorChecking.h
Modified:
  vendor/llvm/dist/cmake/modules/TableGen.cmake
  vendor/llvm/dist/docs/BranchWeightMetadata.rst
  vendor/llvm/dist/docs/LangRef.rst
  vendor/llvm/dist/docs/Lexicon.rst
  vendor/llvm/dist/docs/Phabricator.rst
  vendor/llvm/dist/include/llvm/ADT/AllocatorList.h
  vendor/llvm/dist/include/llvm/ADT/ArrayRef.h
  vendor/llvm/dist/include/llvm/ADT/BreadthFirstIterator.h
  vendor/llvm/dist/include/llvm/ADT/DAGDeltaAlgorithm.h
  vendor/llvm/dist/include/llvm/ADT/DeltaAlgorithm.h
  vendor/llvm/dist/include/llvm/ADT/DenseMap.h
  vendor/llvm/dist/include/llvm/ADT/DenseMapInfo.h
  vendor/llvm/dist/include/llvm/ADT/DenseSet.h
  vendor/llvm/dist/include/llvm/ADT/DepthFirstIterator.h
  vendor/llvm/dist/include/llvm/ADT/EquivalenceClasses.h
  vendor/llvm/dist/include/llvm/ADT/FoldingSet.h
  vendor/llvm/dist/include/llvm/ADT/GraphTraits.h
  vendor/llvm/dist/include/llvm/ADT/ImmutableList.h
  vendor/llvm/dist/include/llvm/ADT/ImmutableMap.h
  vendor/llvm/dist/include/llvm/ADT/ImmutableSet.h
  vendor/llvm/dist/include/llvm/ADT/IndexedMap.h
  vendor/llvm/dist/include/llvm/ADT/IntervalMap.h
  vendor/llvm/dist/include/llvm/ADT/IntrusiveRefCntPtr.h
  vendor/llvm/dist/include/llvm/ADT/MapVector.h
  vendor/llvm/dist/include/llvm/ADT/Optional.h
  vendor/llvm/dist/include/llvm/ADT/PackedVector.h
  vendor/llvm/dist/include/llvm/ADT/PointerEmbeddedInt.h
  vendor/llvm/dist/include/llvm/ADT/PointerUnion.h
  vendor/llvm/dist/include/llvm/ADT/ScopedHashTable.h
  vendor/llvm/dist/include/llvm/ADT/SmallBitVector.h
  vendor/llvm/dist/include/llvm/ADT/SmallSet.h
  vendor/llvm/dist/include/llvm/ADT/StringExtras.h
  vendor/llvm/dist/include/llvm/ADT/Triple.h
  vendor/llvm/dist/include/llvm/ADT/ilist_base.h
  vendor/llvm/dist/include/llvm/ADT/ilist_iterator.h
  vendor/llvm/dist/include/llvm/ADT/ilist_node.h
  vendor/llvm/dist/include/llvm/ADT/iterator.h
  vendor/llvm/dist/include/llvm/ADT/simple_ilist.h
  vendor/llvm/dist/include/llvm/Analysis/MemorySSA.h
  vendor/llvm/dist/include/llvm/Analysis/ScalarEvolution.h
  vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfo.h
  vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfoImpl.h
  vendor/llvm/dist/include/llvm/Analysis/TypeMetadataUtils.h
  vendor/llvm/dist/include/llvm/Analysis/ValueTracking.h
  vendor/llvm/dist/include/llvm/BinaryFormat/ELF.h
  vendor/llvm/dist/include/llvm/Bitcode/BitcodeReader.h
  vendor/llvm/dist/include/llvm/Bitcode/BitcodeWriter.h
  vendor/llvm/dist/include/llvm/Bitcode/LLVMBitCodes.h
  vendor/llvm/dist/include/llvm/CodeGen/BasicTTIImpl.h
  vendor/llvm/dist/include/llvm/CodeGen/FunctionLoweringInfo.h
  vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
  vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
  vendor/llvm/dist/include/llvm/CodeGen/RuntimeLibcalls.h
  vendor/llvm/dist/include/llvm/CodeGen/SelectionDAG.h
  vendor/llvm/dist/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/CodeView.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/Formatters.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/SymbolRecord.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeIndex.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/DbiModuleList.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/InfoStream.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/PDBFile.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/PDBStringTable.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/PublicsStream.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/RawConstants.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/SymbolStream.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/TpiStreamBuilder.h
  vendor/llvm/dist/include/llvm/IR/Constants.h
  vendor/llvm/dist/include/llvm/IR/DebugInfoMetadata.h
  vendor/llvm/dist/include/llvm/IR/GlobalVariable.h
  vendor/llvm/dist/include/llvm/IR/IRBuilder.h
  vendor/llvm/dist/include/llvm/IR/InstrTypes.h
  vendor/llvm/dist/include/llvm/IR/Instructions.h
  vendor/llvm/dist/include/llvm/IR/IntrinsicInst.h
  vendor/llvm/dist/include/llvm/IR/Intrinsics.td
  vendor/llvm/dist/include/llvm/IR/ModuleSummaryIndex.h
  vendor/llvm/dist/include/llvm/IR/ModuleSummaryIndexYAML.h
  vendor/llvm/dist/include/llvm/IR/Operator.h
  vendor/llvm/dist/include/llvm/IR/PatternMatch.h
  vendor/llvm/dist/include/llvm/LTO/LTO.h
  vendor/llvm/dist/include/llvm/LTO/legacy/LTOModule.h
  vendor/llvm/dist/include/llvm/MC/MCSymbolWasm.h
  vendor/llvm/dist/include/llvm/MC/MCWasmObjectWriter.h
  vendor/llvm/dist/include/llvm/Object/ArchiveWriter.h
  vendor/llvm/dist/include/llvm/Object/WindowsResource.h
  vendor/llvm/dist/include/llvm/ObjectYAML/COFFYAML.h
  vendor/llvm/dist/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h
  vendor/llvm/dist/include/llvm/ObjectYAML/CodeViewYAMLTypes.h
  vendor/llvm/dist/include/llvm/Option/Arg.h
  vendor/llvm/dist/include/llvm/Option/ArgList.h
  vendor/llvm/dist/include/llvm/Option/OptSpecifier.h
  vendor/llvm/dist/include/llvm/Option/OptTable.h
  vendor/llvm/dist/include/llvm/Option/Option.h
  vendor/llvm/dist/include/llvm/Support/BinaryStreamArray.h
  vendor/llvm/dist/include/llvm/Support/DebugCounter.h
  vendor/llvm/dist/include/llvm/Support/FormatAdapters.h
  vendor/llvm/dist/include/llvm/Support/FormatCommon.h
  vendor/llvm/dist/include/llvm/Support/MathExtras.h
  vendor/llvm/dist/include/llvm/Support/ThreadPool.h
  vendor/llvm/dist/include/llvm/TableGen/Main.h
  vendor/llvm/dist/include/llvm/TableGen/Record.h
  vendor/llvm/dist/include/llvm/TableGen/SetTheory.h
  vendor/llvm/dist/include/llvm/TableGen/StringMatcher.h
  vendor/llvm/dist/include/llvm/Target/TargetLoweringObjectFile.h
  vendor/llvm/dist/include/llvm/Target/TargetRegisterInfo.h
  vendor/llvm/dist/include/llvm/Transforms/Scalar/GVNExpression.h
  vendor/llvm/dist/include/llvm/Transforms/Utils/CodeExtractor.h
  vendor/llvm/dist/include/llvm/Transforms/Utils/Mem2Reg.h
  vendor/llvm/dist/lib/Analysis/BasicAliasAnalysis.cpp
  vendor/llvm/dist/lib/Analysis/CallGraphSCCPass.cpp
  vendor/llvm/dist/lib/Analysis/DivergenceAnalysis.cpp
  vendor/llvm/dist/lib/Analysis/MemorySSA.cpp
  vendor/llvm/dist/lib/Analysis/ScalarEvolution.cpp
  vendor/llvm/dist/lib/Analysis/TargetTransformInfo.cpp
  vendor/llvm/dist/lib/Analysis/ValueTracking.cpp
  vendor/llvm/dist/lib/Bitcode/Reader/BitcodeReader.cpp
  vendor/llvm/dist/lib/Bitcode/Reader/MetadataLoader.cpp
  vendor/llvm/dist/lib/Bitcode/Writer/BitcodeWriter.cpp
  vendor/llvm/dist/lib/CMakeLists.txt
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.h
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfExpression.h
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
  vendor/llvm/dist/lib/CodeGen/CodeGenPrepare.cpp
  vendor/llvm/dist/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
  vendor/llvm/dist/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
  vendor/llvm/dist/lib/CodeGen/MachineBlockPlacement.cpp
  vendor/llvm/dist/lib/CodeGen/MachineLICM.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
  vendor/llvm/dist/lib/CodeGen/SplitKit.cpp
  vendor/llvm/dist/lib/CodeGen/StackColoring.cpp
  vendor/llvm/dist/lib/CodeGen/TargetLoweringBase.cpp
  vendor/llvm/dist/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/CMakeLists.txt
  vendor/llvm/dist/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/SymbolDumper.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/TypeDatabase.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/TypeIndex.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFContext.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFVerifier.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/InfoStream.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/PDBFile.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/PDBStringTable.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/PDBStringTableBuilder.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/PublicsStream.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/TpiHashing.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/UDTLayout.cpp
  vendor/llvm/dist/lib/Fuzzer/FuzzerDriver.cpp
  vendor/llvm/dist/lib/Fuzzer/FuzzerLoop.cpp
  vendor/llvm/dist/lib/Fuzzer/FuzzerTracePC.cpp
  vendor/llvm/dist/lib/Fuzzer/FuzzerTracePC.h
  vendor/llvm/dist/lib/Fuzzer/test/AbsNegAndConstant64Test.cpp
  vendor/llvm/dist/lib/Fuzzer/test/CMakeLists.txt
  vendor/llvm/dist/lib/Fuzzer/test/FourIndependentBranchesTest.cpp
  vendor/llvm/dist/lib/Fuzzer/test/FuzzerUnittest.cpp
  vendor/llvm/dist/lib/Fuzzer/test/ShrinkControlFlowTest.cpp
  vendor/llvm/dist/lib/Fuzzer/test/SimpleHashTest.cpp
  vendor/llvm/dist/lib/Fuzzer/test/SingleStrncmpTest.cpp
  vendor/llvm/dist/lib/Fuzzer/test/TableLookupTest.cpp
  vendor/llvm/dist/lib/Fuzzer/test/fuzzer-dirs.test
  vendor/llvm/dist/lib/Fuzzer/test/trace-pc/CMakeLists.txt
  vendor/llvm/dist/lib/IR/ConstantFold.cpp
  vendor/llvm/dist/lib/IR/ConstantsContext.h
  vendor/llvm/dist/lib/IR/DebugInfoMetadata.cpp
  vendor/llvm/dist/lib/IR/IRBuilder.cpp
  vendor/llvm/dist/lib/IR/Metadata.cpp
  vendor/llvm/dist/lib/IR/ModuleSummaryIndex.cpp
  vendor/llvm/dist/lib/IR/Verifier.cpp
  vendor/llvm/dist/lib/LLVMBuild.txt
  vendor/llvm/dist/lib/LTO/LTO.cpp
  vendor/llvm/dist/lib/LTO/LTOModule.cpp
  vendor/llvm/dist/lib/MC/MCParser/ELFAsmParser.cpp
  vendor/llvm/dist/lib/MC/MCSectionELF.cpp
  vendor/llvm/dist/lib/MC/WasmObjectWriter.cpp
  vendor/llvm/dist/lib/Object/ArchiveWriter.cpp
  vendor/llvm/dist/lib/Object/ELF.cpp
  vendor/llvm/dist/lib/Object/IRSymtab.cpp
  vendor/llvm/dist/lib/Object/WindowsResource.cpp
  vendor/llvm/dist/lib/ObjectYAML/COFFYAML.cpp
  vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
  vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
  vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLTypes.cpp
  vendor/llvm/dist/lib/ObjectYAML/ELFYAML.cpp
  vendor/llvm/dist/lib/Option/Arg.cpp
  vendor/llvm/dist/lib/Option/ArgList.cpp
  vendor/llvm/dist/lib/Option/OptTable.cpp
  vendor/llvm/dist/lib/Option/Option.cpp
  vendor/llvm/dist/lib/Passes/PassBuilder.cpp
  vendor/llvm/dist/lib/Support/BinaryStreamWriter.cpp
  vendor/llvm/dist/lib/Support/DebugCounter.cpp
  vendor/llvm/dist/lib/Support/FoldingSet.cpp
  vendor/llvm/dist/lib/Support/ThreadPool.cpp
  vendor/llvm/dist/lib/Support/Unix/Program.inc
  vendor/llvm/dist/lib/TableGen/Record.cpp
  vendor/llvm/dist/lib/TableGen/SetTheory.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64.td
  vendor/llvm/dist/lib/Target/AArch64/AArch64FastISel.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64ISelLowering.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64SchedFalkorDetails.td
  vendor/llvm/dist/lib/Target/AArch64/AArch64Subtarget.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64TargetTransformInfo.h
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
  vendor/llvm/dist/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/FLATInstructions.td
  vendor/llvm/dist/lib/Target/AMDGPU/SIISelLowering.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/SIInstrInfo.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/SIInstrInfo.td
  vendor/llvm/dist/lib/Target/ARM/ARMCallLowering.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMInstrVFP.td
  vendor/llvm/dist/lib/Target/ARM/ARMLegalizerInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMTargetTransformInfo.h
  vendor/llvm/dist/lib/Target/BPF/BPFAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/BPF/BPFISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/BPF/BPFInstrInfo.td
  vendor/llvm/dist/lib/Target/Hexagon/HexagonGenMux.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonPatterns.td
  vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetMachine.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsISelLowering.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsLongBranch.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsSEISelDAGToDAG.h
  vendor/llvm/dist/lib/Target/Mips/MipsSEISelLowering.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsSubtarget.h
  vendor/llvm/dist/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.h
  vendor/llvm/dist/lib/Target/PowerPC/PPCInstr64Bit.td
  vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.td
  vendor/llvm/dist/lib/Target/PowerPC/PPCInstrVSX.td
  vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.h
  vendor/llvm/dist/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCTargetTransformInfo.h
  vendor/llvm/dist/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
  vendor/llvm/dist/lib/Target/SystemZ/SystemZTargetTransformInfo.h
  vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h
  vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
  vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
  vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
  vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp
  vendor/llvm/dist/lib/Target/X86/X86InstrAVX512.td
  vendor/llvm/dist/lib/Target/X86/X86InstrFragmentsSIMD.td
  vendor/llvm/dist/lib/Target/X86/X86InstrInfo.cpp
  vendor/llvm/dist/lib/Transforms/IPO/CrossDSOCFI.cpp
  vendor/llvm/dist/lib/Transforms/IPO/Inliner.cpp
  vendor/llvm/dist/lib/Transforms/IPO/LowerTypeTests.cpp
  vendor/llvm/dist/lib/Transforms/IPO/PartialInlining.cpp
  vendor/llvm/dist/lib/Transforms/IPO/PassManagerBuilder.cpp
  vendor/llvm/dist/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCalls.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineInternal.h
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineShifts.cpp
  vendor/llvm/dist/lib/Transforms/Instrumentation/CMakeLists.txt
  vendor/llvm/dist/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
  vendor/llvm/dist/lib/Transforms/Instrumentation/InstrProfiling.cpp
  vendor/llvm/dist/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/EarlyCSE.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/GVNSink.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/NewGVN.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/SCCP.cpp
  vendor/llvm/dist/lib/Transforms/Utils/CodeExtractor.cpp
  vendor/llvm/dist/lib/Transforms/Utils/PredicateInfo.cpp
  vendor/llvm/dist/lib/Transforms/Utils/SimplifyIndVar.cpp
  vendor/llvm/dist/test/Assembler/diexpression.ll
  vendor/llvm/dist/test/Bitcode/DIExpression-deref.ll
  vendor/llvm/dist/test/Bitcode/DIGlobalVariableExpression.ll
  vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
  vendor/llvm/dist/test/CodeGen/AArch64/arm64-sincos.ll
  vendor/llvm/dist/test/CodeGen/AArch64/misched-fusion-aes.ll
  vendor/llvm/dist/test/CodeGen/AArch64/sincos-expansion.ll
  vendor/llvm/dist/test/CodeGen/AArch64/swifterror.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-flat.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-flat.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/cgp-addressing-modes-flat.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/code-object-metadata-kernel-debug-props.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/flat-address-space.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/flat_atomics.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/global_smrd_cfg.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/inserted-wait-states.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/limit-coalesce.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/rename-independent-subregs-invalid-mac-operands.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/waitcnt.mir
  vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
  vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-isel-divmod.ll
  vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-legalize-divmod.mir
  vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-unsupported.ll
  vendor/llvm/dist/test/CodeGen/ARM/cortex-a57-misched-vfma.ll
  vendor/llvm/dist/test/CodeGen/ARM/debug-info-blocks.ll
  vendor/llvm/dist/test/CodeGen/ARM/sincos.ll
  vendor/llvm/dist/test/CodeGen/ARM/swifterror.ll
  vendor/llvm/dist/test/CodeGen/Mips/2008-06-05-Carry.ll
  vendor/llvm/dist/test/CodeGen/Mips/dsp-patterns.ll
  vendor/llvm/dist/test/CodeGen/Mips/llcarry.ll
  vendor/llvm/dist/test/CodeGen/Mips/llvm-ir/add.ll
  vendor/llvm/dist/test/CodeGen/Mips/llvm-ir/sub.ll
  vendor/llvm/dist/test/CodeGen/Mips/longbranch.ll
  vendor/llvm/dist/test/CodeGen/Mips/madd-msub.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/atomic-2.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/atomics-constant.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/atomics-regression.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/logic-ops-on-compares.ll
  vendor/llvm/dist/test/CodeGen/SystemZ/fp-sincos-01.ll
  vendor/llvm/dist/test/CodeGen/X86/2012-01-11-split-cv.ll
  vendor/llvm/dist/test/CodeGen/X86/StackColoring.ll
  vendor/llvm/dist/test/CodeGen/X86/add-sub-nsw-nuw.ll
  vendor/llvm/dist/test/CodeGen/X86/addcarry.ll
  vendor/llvm/dist/test/CodeGen/X86/avx-vperm2x128.ll
  vendor/llvm/dist/test/CodeGen/X86/bt.ll
  vendor/llvm/dist/test/CodeGen/X86/cmov-into-branch.ll
  vendor/llvm/dist/test/CodeGen/X86/combine-64bit-vec-binop.ll
  vendor/llvm/dist/test/CodeGen/X86/element-wise-atomic-memory-intrinsics.ll
  vendor/llvm/dist/test/CodeGen/X86/fast-isel-select-sse.ll
  vendor/llvm/dist/test/CodeGen/X86/fp-logic-replace.ll
  vendor/llvm/dist/test/CodeGen/X86/fp-logic.ll
  vendor/llvm/dist/test/CodeGen/X86/fp-select-cmp-and.ll
  vendor/llvm/dist/test/CodeGen/X86/immediate_merging64.ll
  vendor/llvm/dist/test/CodeGen/X86/lea-opt-with-debug.mir
  vendor/llvm/dist/test/CodeGen/X86/loop-search.ll
  vendor/llvm/dist/test/CodeGen/X86/mask-negated-bool.ll
  vendor/llvm/dist/test/CodeGen/X86/memset-2.ll
  vendor/llvm/dist/test/CodeGen/X86/memset-nonzero.ll
  vendor/llvm/dist/test/CodeGen/X86/memset64-on-x86-32.ll
  vendor/llvm/dist/test/CodeGen/X86/negate-i1.ll
  vendor/llvm/dist/test/CodeGen/X86/negate-shift.ll
  vendor/llvm/dist/test/CodeGen/X86/negate.ll
  vendor/llvm/dist/test/CodeGen/X86/negative-sin.ll
  vendor/llvm/dist/test/CodeGen/X86/no-sse2-avg.ll
  vendor/llvm/dist/test/CodeGen/X86/not-and-simplify.ll
  vendor/llvm/dist/test/CodeGen/X86/pr13577.ll
  vendor/llvm/dist/test/CodeGen/X86/pr18014.ll
  vendor/llvm/dist/test/CodeGen/X86/rem.ll
  vendor/llvm/dist/test/CodeGen/X86/sar_fold64.ll
  vendor/llvm/dist/test/CodeGen/X86/select-with-and-or.ll
  vendor/llvm/dist/test/CodeGen/X86/sext-setcc-self.ll
  vendor/llvm/dist/test/CodeGen/X86/shift-pcmp.ll
  vendor/llvm/dist/test/CodeGen/X86/sincos-opt.ll
  vendor/llvm/dist/test/CodeGen/X86/sse-intrinsics-x86-upgrade.ll
  vendor/llvm/dist/test/CodeGen/X86/sse41-intrinsics-x86-upgrade.ll
  vendor/llvm/dist/test/CodeGen/X86/stack-folding-int-avx512.ll
  vendor/llvm/dist/test/CodeGen/X86/stack-folding-int-avx512vl.ll
  vendor/llvm/dist/test/CodeGen/X86/statepoint-live-in.ll
  vendor/llvm/dist/test/CodeGen/X86/swifterror.ll
  vendor/llvm/dist/test/CodeGen/X86/urem-i8-constant.ll
  vendor/llvm/dist/test/CodeGen/X86/urem-power-of-two.ll
  vendor/llvm/dist/test/CodeGen/X86/vec3.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-compare-combines.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-256-v16.ll
  vendor/llvm/dist/test/CodeGen/X86/vzero-excess.ll
  vendor/llvm/dist/test/CodeGen/X86/x86-interleaved-access.ll
  vendor/llvm/dist/test/DebugInfo/COFF/array-odr-violation.ll
  vendor/llvm/dist/test/DebugInfo/COFF/inlining-same-name.ll
  vendor/llvm/dist/test/DebugInfo/Generic/block-asan.ll
  vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets.s
  vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-test-zlib.cc
  vendor/llvm/dist/test/DebugInfo/MIR/ARM/split-superreg-complex.mir
  vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-debug-subsections.test
  vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-headers.test
  vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-merge-ids-and-types.test
  vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-mergeids.test
  vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-mergetypes.test
  vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-raw-blocks.test
  vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-raw-stream.test
  vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-readwrite.test
  vendor/llvm/dist/test/DebugInfo/X86/block-capture.ll
  vendor/llvm/dist/test/DebugInfo/X86/debug-info-block-captured-self.ll
  vendor/llvm/dist/test/DebugInfo/X86/debug-info-blocks.ll
  vendor/llvm/dist/test/DebugInfo/X86/dw_op_minus.ll
  vendor/llvm/dist/test/DebugInfo/X86/dw_op_minus_direct.ll
  vendor/llvm/dist/test/DebugInfo/X86/safestack-byval.ll
  vendor/llvm/dist/test/DebugInfo/X86/stack-value-dwarf2.ll
  vendor/llvm/dist/test/DebugInfo/X86/unattached-global.ll
  vendor/llvm/dist/test/DebugInfo/dwarfdump-zlib.test
  vendor/llvm/dist/test/Instrumentation/SanitizerCoverage/inline-8bit-counters.ll
  vendor/llvm/dist/test/LTO/Resolution/X86/symtab-elf.ll
  vendor/llvm/dist/test/LTO/Resolution/X86/symtab.ll
  vendor/llvm/dist/test/MC/AMDGPU/flat.s
  vendor/llvm/dist/test/MC/COFF/cv-compiler-info.ll
  vendor/llvm/dist/test/MC/COFF/linker-options.ll
  vendor/llvm/dist/test/MC/Disassembler/PowerPC/ppc64-encoding.txt
  vendor/llvm/dist/test/MC/Disassembler/PowerPC/ppc64le-encoding.txt
  vendor/llvm/dist/test/MC/ELF/section.s
  vendor/llvm/dist/test/MC/MachO/linker-options.ll
  vendor/llvm/dist/test/MC/PowerPC/ppc64-encoding.s
  vendor/llvm/dist/test/MC/WebAssembly/external-data.ll
  vendor/llvm/dist/test/Transforms/GlobalMerge/debug-info.ll
  vendor/llvm/dist/test/Transforms/Inline/always-inline.ll
  vendor/llvm/dist/test/Transforms/InstCombine/debuginfo-dce.ll
  vendor/llvm/dist/test/Transforms/InstCombine/element-atomic-memcpy-to-loads.ll
  vendor/llvm/dist/test/Transforms/InstCombine/ffs-1.ll
  vendor/llvm/dist/test/Transforms/InstCombine/lshr.ll
  vendor/llvm/dist/test/Transforms/InstCombine/onehot_merge.ll
  vendor/llvm/dist/test/Transforms/InstCombine/or-xor.ll
  vendor/llvm/dist/test/Transforms/InstCombine/select-with-bitwise-ops.ll
  vendor/llvm/dist/test/Transforms/InstCombine/shift.ll
  vendor/llvm/dist/test/Transforms/InstCombine/xor2.ll
  vendor/llvm/dist/test/Transforms/LoopIdiom/X86/unordered-atomic-memcpy.ll
  vendor/llvm/dist/test/Transforms/LoopIdiom/unordered-atomic-memcpy-noarch.ll
  vendor/llvm/dist/test/Transforms/PGOProfile/memop_size_opt.ll
  vendor/llvm/dist/test/Transforms/SLPVectorizer/X86/arith-add.ll
  vendor/llvm/dist/test/Transforms/SLPVectorizer/X86/arith-fp.ll
  vendor/llvm/dist/test/Transforms/SLPVectorizer/X86/arith-mul.ll
  vendor/llvm/dist/test/Transforms/SLPVectorizer/X86/arith-sub.ll
  vendor/llvm/dist/test/Transforms/SafeStack/X86/debug-loc.ll
  vendor/llvm/dist/test/Transforms/SafeStack/X86/debug-loc2.ll
  vendor/llvm/dist/test/Verifier/element-wise-atomic-memory-intrinsics.ll
  vendor/llvm/dist/test/lit.cfg
  vendor/llvm/dist/test/tools/llvm-cvtres/object.test
  vendor/llvm/dist/test/tools/llvm-cvtres/parse.test
  vendor/llvm/dist/test/tools/llvm-readobj/resources.test
  vendor/llvm/dist/tools/llvm-ar/llvm-ar.cpp
  vendor/llvm/dist/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
  vendor/llvm/dist/tools/llvm-cvtres/llvm-cvtres.cpp
  vendor/llvm/dist/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/CMakeLists.txt
  vendor/llvm/dist/tools/llvm-pdbutil/LinePrinter.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/LinePrinter.h
  vendor/llvm/dist/tools/llvm-pdbutil/PrettyClassLayoutGraphicalDumper.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/YAMLOutputStyle.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/llvm-pdbutil.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/llvm-pdbutil.h
  vendor/llvm/dist/tools/llvm-readobj/COFFDumper.cpp
  vendor/llvm/dist/tools/llvm-readobj/ELFDumper.cpp
  vendor/llvm/dist/tools/llvm-stress/llvm-stress.cpp
  vendor/llvm/dist/tools/obj2yaml/CMakeLists.txt
  vendor/llvm/dist/tools/obj2yaml/coff2yaml.cpp
  vendor/llvm/dist/tools/yaml2obj/CMakeLists.txt
  vendor/llvm/dist/tools/yaml2obj/yaml2coff.cpp
  vendor/llvm/dist/tools/yaml2obj/yaml2obj.cpp
  vendor/llvm/dist/unittests/ADT/SCCIteratorTest.cpp
  vendor/llvm/dist/unittests/ADT/SmallVectorTest.cpp
  vendor/llvm/dist/unittests/ADT/StringRefTest.cpp
  vendor/llvm/dist/unittests/CodeGen/LowLevelTypeTest.cpp
  vendor/llvm/dist/unittests/DebugInfo/CodeView/CMakeLists.txt
  vendor/llvm/dist/unittests/DebugInfo/CodeView/RandomAccessVisitorTest.cpp
  vendor/llvm/dist/unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp
  vendor/llvm/dist/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
  vendor/llvm/dist/unittests/DebugInfo/PDB/CMakeLists.txt
  vendor/llvm/dist/unittests/DebugInfo/PDB/HashTableTest.cpp
  vendor/llvm/dist/unittests/DebugInfo/PDB/MSFBuilderTest.cpp
  vendor/llvm/dist/unittests/DebugInfo/PDB/MappedBlockStreamTest.cpp
  vendor/llvm/dist/unittests/DebugInfo/PDB/StringTableBuilderTest.cpp
  vendor/llvm/dist/unittests/DebugInfo/PDB/TypeServerHandlerTest.cpp
  vendor/llvm/dist/unittests/IR/MetadataTest.cpp
  vendor/llvm/dist/unittests/IR/PatternMatch.cpp
  vendor/llvm/dist/unittests/MI/LiveIntervalTest.cpp
  vendor/llvm/dist/unittests/Support/BinaryStreamTest.cpp
  vendor/llvm/dist/unittests/Support/CMakeLists.txt
  vendor/llvm/dist/unittests/Support/CommandLineTest.cpp
  vendor/llvm/dist/unittests/Support/DynamicLibrary/CMakeLists.txt
  vendor/llvm/dist/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
  vendor/llvm/dist/unittests/Support/DynamicLibrary/PipSqueak.cxx
  vendor/llvm/dist/unittests/Support/DynamicLibrary/PipSqueak.h
  vendor/llvm/dist/unittests/Support/FormatVariadicTest.cpp
  vendor/llvm/dist/unittests/Target/AArch64/InstSizes.cpp
  vendor/llvm/dist/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
  vendor/llvm/dist/utils/TableGen/CodeGenDAGPatterns.cpp
  vendor/llvm/dist/utils/opt-viewer/opt-diff.py
  vendor/llvm/dist/utils/opt-viewer/opt-stats.py
  vendor/llvm/dist/utils/opt-viewer/opt-viewer.py
  vendor/llvm/dist/utils/release/test-release.sh
  vendor/llvm/dist/utils/update_test_checks.py

Modified: vendor/llvm/dist/cmake/modules/TableGen.cmake
==============================================================================
--- vendor/llvm/dist/cmake/modules/TableGen.cmake	Fri Jun 16 20:47:12 2017	(r320012)
+++ vendor/llvm/dist/cmake/modules/TableGen.cmake	Fri Jun 16 21:03:24 2017	(r320013)
@@ -35,38 +35,24 @@ function(tablegen project ofn)
   # a tablegen change, as cmake does not propagate file-level dependencies
   # of custom targets. See the following ticket for more information:
   # https://cmake.org/Bug/view.php?id=15858
-  # We could always have just one dependency on both the target and
-  # the file, but these 2 cases would produce cleaner cmake files.
-  if (${${project}_TABLEGEN_TARGET} STREQUAL ${${project}_TABLEGEN_EXE})
-    add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
-      # Generate tablegen output in a temporary file.
-      COMMAND ${${project}_TABLEGEN_EXE} ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR}
-      ${LLVM_TABLEGEN_FLAGS}
-      ${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
-      -o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
-      # The file in LLVM_TARGET_DEFINITIONS may be not in the current
-      # directory and local_tds may not contain it, so we must
-      # explicitly list it here:
-      DEPENDS ${${project}_TABLEGEN_TARGET} ${local_tds} ${global_tds}
-      ${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
-      COMMENT "Building ${ofn}..."
-      )
-  else()
-    add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
-      # Generate tablegen output in a temporary file.
-      COMMAND ${${project}_TABLEGEN_EXE} ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR}
-      ${LLVM_TABLEGEN_FLAGS}
-      ${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
-      -o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
-      # The file in LLVM_TARGET_DEFINITIONS may be not in the current
-      # directory and local_tds may not contain it, so we must
-      # explicitly list it here:
-      DEPENDS ${${project}_TABLEGEN_TARGET} ${${project}_TABLEGEN_EXE}
-        ${local_tds} ${global_tds}
-      ${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
-      COMMENT "Building ${ofn}..."
-      )
-  endif()
+  # The dependency on both, the target and the file, produces the same
+  # dependency twice in the result file when
+  # ("${${project}_TABLEGEN_TARGET}" STREQUAL "${${project}_TABLEGEN_EXE}")
+  # but lets us having smaller and cleaner code here.
+  add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
+    # Generate tablegen output in a temporary file.
+    COMMAND ${${project}_TABLEGEN_EXE} ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR}
+    ${LLVM_TABLEGEN_FLAGS}
+    ${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
+    -o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
+    # The file in LLVM_TARGET_DEFINITIONS may be not in the current
+    # directory and local_tds may not contain it, so we must
+    # explicitly list it here:
+    DEPENDS ${${project}_TABLEGEN_TARGET} ${${project}_TABLEGEN_EXE}
+      ${local_tds} ${global_tds}
+    ${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
+    COMMENT "Building ${ofn}..."
+    )
   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}
     # Only update the real output file if there are any differences.
     # This prevents recompilation of all the files depending on it if there

Modified: vendor/llvm/dist/docs/BranchWeightMetadata.rst
==============================================================================
--- vendor/llvm/dist/docs/BranchWeightMetadata.rst	Fri Jun 16 20:47:12 2017	(r320012)
+++ vendor/llvm/dist/docs/BranchWeightMetadata.rst	Fri Jun 16 21:03:24 2017	(r320013)
@@ -64,6 +64,20 @@ Branch weights are assigned to every destination.
     [ , i32 <LABEL_BRANCH_WEIGHT> ... ]
   }
 
+``CallInst``
+^^^^^^^^^^^^^^^^^^
+
+Calls may have branch weight metadata, containing the execution count of
+the call. It is currently used in SamplePGO mode only, to augment the
+block and entry counts which may not be accurate with sampling.
+
+.. code-block:: none
+
+  !0 = metadata !{
+    metadata !"branch_weights",
+    i32 <CALL_BRANCH_WEIGHT>
+  }
+
 Other
 ^^^^^
 

Modified: vendor/llvm/dist/docs/LangRef.rst
==============================================================================
--- vendor/llvm/dist/docs/LangRef.rst	Fri Jun 16 20:47:12 2017	(r320012)
+++ vendor/llvm/dist/docs/LangRef.rst	Fri Jun 16 21:03:24 2017	(r320013)
@@ -4033,26 +4033,26 @@ DICompileUnit
 """""""""""""
 
 ``DICompileUnit`` nodes represent a compile unit. The ``enums:``,
-``retainedTypes:``, ``subprograms:``, ``globals:``, ``imports:`` and ``macros:``
-fields are tuples containing the debug info to be emitted along with the compile
-unit, regardless of code optimizations (some nodes are only emitted if there are
-references to them from instructions). The ``debugInfoForProfiling:`` field is a
-boolean indicating whether or not line-table discriminators are updated to
-provide more-accurate debug info for profiling results.
+``retainedTypes:``, ``globals:``, ``imports:`` and ``macros:`` fields are tuples
+containing the debug info to be emitted along with the compile unit, regardless
+of code optimizations (some nodes are only emitted if there are references to
+them from instructions). The ``debugInfoForProfiling:`` field is a boolean
+indicating whether or not line-table discriminators are updated to provide
+more-accurate debug info for profiling results.
 
 .. code-block:: text
 
     !0 = !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang",
                         isOptimized: true, flags: "-O2", runtimeVersion: 2,
                         splitDebugFilename: "abc.debug", emissionKind: FullDebug,
-                        enums: !2, retainedTypes: !3, subprograms: !4,
-                        globals: !5, imports: !6, macros: !7, dwoId: 0x0abcd)
+                        enums: !2, retainedTypes: !3, globals: !4, imports: !5,
+                        macros: !6, dwoId: 0x0abcd)
 
 Compile unit descriptors provide the root scope for objects declared in a
-specific compilation unit. File descriptors are defined using this scope.
-These descriptors are collected by a named metadata ``!llvm.dbg.cu``. They
-keep track of subprograms, global variables, type information, and imported
-entities (declarations and namespaces).
+specific compilation unit. File descriptors are defined using this scope.  These
+descriptors are collected by a named metadata node ``!llvm.dbg.cu``. They keep
+track of global variables, type information, and imported entities (declarations
+and namespaces).
 
 .. _DIFile:
 
@@ -4326,8 +4326,8 @@ and ``scope:``.
                                 containingType: !4,
                                 virtuality: DW_VIRTUALITY_pure_virtual,
                                 virtualIndex: 10, flags: DIFlagPrototyped,
-                                isOptimized: true, templateParams: !5,
-                                declaration: !6, variables: !7)
+                                isOptimized: true, unit: !5, templateParams: !6,
+                                declaration: !7, variables: !8, thrownTypes: !9)
 
 .. _DILexicalBlock:
 
@@ -4404,7 +4404,12 @@ referenced LLVM variable relates to the source languag
 The current supported vocabulary is limited:
 
 - ``DW_OP_deref`` dereferences the top of the expression stack.
-- ``DW_OP_plus, 93`` adds ``93`` to the working expression.
+- ``DW_OP_plus`` pops the last two entries from the expression stack, adds
+  them together and appends the result to the expression stack.
+- ``DW_OP_minus`` pops the last two entries from the expression stack, subtracts
+  the last entry from the second last entry and appends the result to the
+  expression stack.
+- ``DW_OP_plus_uconst, 93`` adds ``93`` to the working expression.
 - ``DW_OP_LLVM_fragment, 16, 8`` specifies the offset and size (``16`` and ``8``
   here, respectively) of the variable fragment from the working expression. Note
   that contrary to DW_OP_bit_piece, the offset is describing the the location
@@ -4426,9 +4431,10 @@ combined with a concrete location.
 .. code-block:: llvm
 
     !0 = !DIExpression(DW_OP_deref)
-    !1 = !DIExpression(DW_OP_plus, 3)
+    !1 = !DIExpression(DW_OP_plus_uconst, 3)
+    !1 = !DIExpression(DW_OP_constu, 3, DW_OP_plus)
     !2 = !DIExpression(DW_OP_bit_piece, 3, 7)
-    !3 = !DIExpression(DW_OP_deref, DW_OP_plus, 3, DW_OP_LLVM_fragment, 3, 7)
+    !3 = !DIExpression(DW_OP_deref, DW_OP_constu, 3, DW_OP_plus, DW_OP_LLVM_fragment, 3, 7)
     !4 = !DIExpression(DW_OP_constu, 2, DW_OP_swap, DW_OP_xderef)
     !5 = !DIExpression(DW_OP_constu, 42, DW_OP_stack_value)
 
@@ -5186,6 +5192,72 @@ Example:
     !0 = !{i32* @a}
 
 
+'``prof``' Metadata
+^^^^^^^^^^^^^^^^^^^
+
+The ``prof`` metadata is used to record profile data in the IR.
+The first operand of the metadata node indicates the profile metadata
+type. There are currently 3 types:
+:ref:`branch_weights<prof_node_branch_weights>`,
+:ref:`function_entry_count<prof_node_function_entry_count>`, and
+:ref:`VP<prof_node_VP>`.
+
+.. _prof_node_branch_weights:
+
+branch_weights
+""""""""""""""
+
+Branch weight metadata attached to a branch, select, switch or call instruction
+represents the likeliness of the associated branch being taken.
+For more information, see :doc:`BranchWeightMetadata`.
+
+.. _prof_node_function_entry_count:
+
+function_entry_count
+""""""""""""""""""""
+
+Function entry count metadata can be attached to function definitions
+to record the number of times the function is called. Used with BFI
+information, it is also used to derive the basic block profile count.
+For more information, see :doc:`BranchWeightMetadata`.
+
+.. _prof_node_VP:
+
+VP
+""
+
+VP (value profile) metadata can be attached to instructions that have
+value profile information. Currently this is indirect calls (where it
+records the hottest callees) and calls to memory intrinsics such as memcpy,
+memmove, and memset (where it records the hottest byte lengths).
+
+Each VP metadata node contains "VP" string, then a uint32_t value for the value
+profiling kind, a uint64_t value for the total number of times the instruction
+is executed, followed by uint64_t value and execution count pairs.
+The value profiling kind is 0 for indirect call targets and 1 for memory
+operations. For indirect call targets, each profile value is a hash
+of the callee function name, and for memory operations each value is the
+byte length.
+
+Note that the value counts do not need to add up to the total count
+listed in the third operand (in practice only the top hottest values
+are tracked and reported).
+
+Indirect call example:
+
+.. code-block:: llvm
+
+    call void %f(), !prof !1
+    !1 = !{!"VP", i32 0, i64 1600, i64 7651369219802541373, i64 1030, i64 -4377547752858689819, i64 410}
+
+Note that the VP type is 0 (the second operand), which indicates this is
+an indirect call value profile data. The third operand indicates that the
+indirect call executed 1600 times. The 4th and 6th operands give the
+hashes of the 2 hottest target functions' names (this is the same hash used
+to represent function names in the profile database), and the 5th and 7th
+operands give the execution count that each of the respective prior target
+functions was called.
+
 Module Flags Metadata
 =====================
 
@@ -5352,40 +5424,6 @@ Some important flag interactions:
 -  A module with ``Objective-C Garbage Collection`` set to 0 cannot be
    merged with a module with ``Objective-C GC Only`` set to 6.
 
-Automatic Linker Flags Module Flags Metadata
---------------------------------------------
-
-Some targets support embedding flags to the linker inside individual object
-files. Typically this is used in conjunction with language extensions which
-allow source files to explicitly declare the libraries they depend on, and have
-these automatically be transmitted to the linker via object files.
-
-These flags are encoded in the IR using metadata in the module flags section,
-using the ``Linker Options`` key. The merge behavior for this flag is required
-to be ``AppendUnique``, and the value for the key is expected to be a metadata
-node which should be a list of other metadata nodes, each of which should be a
-list of metadata strings defining linker options.
-
-For example, the following metadata section specifies two separate sets of
-linker options, presumably to link against ``libz`` and the ``Cocoa``
-framework::
-
-    !0 = !{ i32 6, !"Linker Options",
-       !{
-          !{ !"-lz" },
-          !{ !"-framework", !"Cocoa" } } }
-    !llvm.module.flags = !{ !0 }
-
-The metadata encoding as lists of lists of options, as opposed to a collapsed
-list of options, is chosen so that the IR encoding can use multiple option
-strings to specify e.g., a single library, while still having that specifier be
-preserved as an atomic element that can be recognized by a target specific
-assembly writer or object file emitter.
-
-Each individual option is required to be either a valid option for the target's
-linker, or an option that is reserved by the target specific assembly writer or
-object file emitter. No other aspect of these options is defined by the IR.
-
 C type width Module Flags Metadata
 ----------------------------------
 
@@ -5422,6 +5460,37 @@ enum is the smallest type which can represent all of i
     !0 = !{i32 1, !"short_wchar", i32 1}
     !1 = !{i32 1, !"short_enum", i32 0}
 
+Automatic Linker Flags Named Metadata
+=====================================
+
+Some targets support embedding flags to the linker inside individual object
+files. Typically this is used in conjunction with language extensions which
+allow source files to explicitly declare the libraries they depend on, and have
+these automatically be transmitted to the linker via object files.
+
+These flags are encoded in the IR using named metadata with the name
+``!llvm.linker.options``. Each operand is expected to be a metadata node
+which should be a list of other metadata nodes, each of which should be a
+list of metadata strings defining linker options.
+
+For example, the following metadata section specifies two separate sets of
+linker options, presumably to link against ``libz`` and the ``Cocoa``
+framework::
+
+    !0 = !{ !"-lz" },
+    !1 = !{ !"-framework", !"Cocoa" } } }
+    !llvm.linker.options = !{ !0, !1 }
+
+The metadata encoding as lists of lists of options, as opposed to a collapsed
+list of options, is chosen so that the IR encoding can use multiple option
+strings to specify e.g., a single library, while still having that specifier be
+preserved as an atomic element that can be recognized by a target specific
+assembly writer or object file emitter.
+
+Each individual option is required to be either a valid option for the target's
+linker, or an option that is reserved by the target specific assembly writer or
+object file emitter. No other aspect of these options is defined by the IR.
+
 .. _intrinsicglobalvariables:
 
 Intrinsic Global Variables
@@ -13999,62 +14068,66 @@ Element Wise Atomic Memory Intrinsics
 These intrinsics are similar to the standard library memory intrinsics except
 that they perform memory transfer as a sequence of atomic memory accesses.
 
-.. _int_memcpy_element_atomic:
+.. _int_memcpy_element_unordered_atomic:
 
-'``llvm.memcpy.element.atomic``' Intrinsic
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+'``llvm.memcpy.element.unordered.atomic``' Intrinsic
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 Syntax:
 """""""
 
-This is an overloaded intrinsic. You can use ``llvm.memcpy.element.atomic`` on
+This is an overloaded intrinsic. You can use ``llvm.memcpy.element.unordered.atomic`` on
 any integer bit width and for different address spaces. Not all targets
 support all bit widths however.
 
 ::
 
-      declare void @llvm.memcpy.element.atomic.p0i8.p0i8(i8* <dest>, i8* <src>,
-                                              i64 <num_elements>, i32 <element_size>)
+      declare void @llvm.memcpy.element.unordered.atomic.p0i8.p0i8.i32(i8* <dest>,
+                                                                       i8* <src>,
+                                                                       i32 <len>,
+                                                                       i32 <element_size>)
+      declare void @llvm.memcpy.element.unordered.atomic.p0i8.p0i8.i64(i8* <dest>,
+                                                                       i8* <src>,
+                                                                       i64 <len>,
+                                                                       i32 <element_size>)
 
 Overview:
 """""""""
 
-The '``llvm.memcpy.element.atomic.*``' intrinsic performs copy of a block of 
-memory from the source location to the destination location as a sequence of
-unordered atomic memory accesses where each access is a multiple of
-``element_size`` bytes wide and aligned at an element size boundary. For example
-each element is accessed atomically in source and destination buffers.
+The '``llvm.memcpy.element.unordered.atomic.*``' intrinsic is a specialization of the
+'``llvm.memcpy.*``' intrinsic. It differs in that the ``dest`` and ``src`` are treated
+as arrays with elements that are exactly ``element_size`` bytes, and the copy between
+buffers uses a sequence of :ref:`unordered atomic <ordering>` load/store operations
+that are a positive integer multiple of the ``element_size`` in size.
 
 Arguments:
 """"""""""
 
-The first argument is a pointer to the destination, the second is a
-pointer to the source. The third argument is an integer argument
-specifying the number of elements to copy, the fourth argument is size of
-the single element in bytes.
+The first three arguments are the same as they are in the :ref:`@llvm.memcpy <int_memcpy>`
+intrinsic, with the added constraint that ``len`` is required to be a positive integer
+multiple of the ``element_size``. If ``len`` is not a positive integer multiple of
+``element_size``, then the behaviour of the intrinsic is undefined.
 
-``element_size`` should be a power of two, greater than zero and less than
-a target-specific atomic access size limit.
+``element_size`` must be a compile-time constant positive power of two no greater than
+target-specific atomic access size limit.
 
-For each of the input pointers ``align`` parameter attribute must be specified.
-It must be a power of two and greater than or equal to the ``element_size``.
-Caller guarantees that both the source and destination pointers are aligned to
-that boundary.
+For each of the input pointers ``align`` parameter attribute must be specified. It
+must be a power of two no less than the ``element_size``. Caller guarantees that
+both the source and destination pointers are aligned to that boundary.
 
 Semantics:
 """"""""""
 
-The '``llvm.memcpy.element.atomic.*``' intrinsic copies
-'``num_elements`` * ``element_size``' bytes of memory from the source location to
-the destination location. These locations are not allowed to overlap. Memory copy
-is performed as a sequence of unordered atomic memory accesses where each access
-is guaranteed to be a multiple of ``element_size`` bytes wide and aligned at an
-element size boundary.
+The '``llvm.memcpy.element.unordered.atomic.*``' intrinsic copies ``len`` bytes of
+memory from the source location to the destination location. These locations are not
+allowed to overlap. The memory copy is performed as a sequence of load/store operations
+where each access is guaranteed to be a multiple of ``element_size`` bytes wide and
+aligned at an ``element_size`` boundary. 
 
 The order of the copy is unspecified. The same value may be read from the source
 buffer many times, but only one write is issued to the destination buffer per
-element. It is well defined to have concurrent reads and writes to both source
-and destination provided those reads and writes are at least unordered atomic.
+element. It is well defined to have concurrent reads and writes to both source and
+destination provided those reads and writes are unordered atomic when specified.
 
 This intrinsic does not provide any additional ordering guarantees over those
 provided by a set of unordered loads from the source location and stores to the
@@ -14063,8 +14136,8 @@ destination.
 Lowering:
 """""""""
 
-In the most general case call to the '``llvm.memcpy.element.atomic.*``' is lowered
-to a call to the symbol ``__llvm_memcpy_element_atomic_*``. Where '*' is replaced
-with an actual element size.
+In the most general case call to the '``llvm.memcpy.element.unordered.atomic.*``' is
+lowered to a call to the symbol ``__llvm_memcpy_element_unordered_atomic_*``. Where '*'
+is replaced with an actual element size.
 
-Optimizer is allowed to inline memory copy when it's profitable to do so.
+The optimizer is allowed to inline the memory copy when it's profitable to do so.

Modified: vendor/llvm/dist/docs/Lexicon.rst
==============================================================================
--- vendor/llvm/dist/docs/Lexicon.rst	Fri Jun 16 20:47:12 2017	(r320012)
+++ vendor/llvm/dist/docs/Lexicon.rst	Fri Jun 16 21:03:24 2017	(r320013)
@@ -109,6 +109,13 @@ G
     Garbage Collection. The practice of using reachability analysis instead of
     explicit memory management to reclaim unused memory.
 
+**GVN**
+    Global Value Numbering. GVN is a pass that partitions values computed by a
+    function into congruence classes. Values ending up in the same congruence
+    class are guaranteed to be the same for every execution of the program.
+    In that respect, congruency is a compile-time approximation of equivalence
+    of values at runtime.
+
 H
 -
 

Modified: vendor/llvm/dist/docs/Phabricator.rst
==============================================================================
--- vendor/llvm/dist/docs/Phabricator.rst	Fri Jun 16 20:47:12 2017	(r320012)
+++ vendor/llvm/dist/docs/Phabricator.rst	Fri Jun 16 21:03:24 2017	(r320013)
@@ -54,7 +54,8 @@ reviewer understand your code.
 To get a full diff, use one of the following commands (or just use Arcanist
 to upload your patch):
 
-* ``git diff -U999999 other-branch``
+* ``git show HEAD -U999999 > mypatch.patch``
+* ``git format-patch -U999999 @{u}``
 * ``svn diff --diff-cmd=diff -x -U999999``
 
 To upload a new patch:

Modified: vendor/llvm/dist/include/llvm/ADT/AllocatorList.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/AllocatorList.h	Fri Jun 16 20:47:12 2017	(r320012)
+++ vendor/llvm/dist/include/llvm/ADT/AllocatorList.h	Fri Jun 16 21:03:24 2017	(r320013)
@@ -10,10 +10,16 @@
 #ifndef LLVM_ADT_ALLOCATORLIST_H
 #define LLVM_ADT_ALLOCATORLIST_H
 
+#include "llvm/ADT/ilist_node.h"
 #include "llvm/ADT/iterator.h"
 #include "llvm/ADT/simple_ilist.h"
 #include "llvm/Support/Allocator.h"
+#include <algorithm>
+#include <cassert>
+#include <cstddef>
+#include <iterator>
 #include <type_traits>
+#include <utility>
 
 namespace llvm {
 
@@ -39,7 +45,8 @@ template <class T, class AllocatorT> class AllocatorLi
     T V;
   };
 
-  typedef simple_ilist<Node> list_type;
+  using list_type = simple_ilist<Node>;
+
   list_type List;
 
   AllocatorT &getAlloc() { return *this; }
@@ -51,13 +58,17 @@ template <class T, class AllocatorT> class AllocatorLi
 
   struct Cloner {
     AllocatorList &AL;
+
     Cloner(AllocatorList &AL) : AL(AL) {}
+
     Node *operator()(const Node &N) const { return AL.create(N.V); }
   };
 
   struct Disposer {
     AllocatorList &AL;
+
     Disposer(AllocatorList &AL) : AL(AL) {}
+
     void operator()(Node *N) const {
       N->~Node();
       AL.getAlloc().Deallocate(N);
@@ -65,13 +76,13 @@ template <class T, class AllocatorT> class AllocatorLi
   };
 
 public:
-  typedef T value_type;
-  typedef T *pointer;
-  typedef T &reference;
-  typedef const T *const_pointer;
-  typedef const T &const_reference;
-  typedef typename list_type::size_type size_type;
-  typedef typename list_type::difference_type difference_type;
+  using value_type = T;
+  using pointer = T *;
+  using reference = T &;
+  using const_pointer = const T *;
+  using const_reference = const T &;
+  using size_type = typename list_type::size_type;
+  using difference_type = typename list_type::difference_type;
 
 private:
   template <class ValueT, class IteratorBase>
@@ -83,20 +94,18 @@ template <class T, class AllocatorT> class AllocatorLi
     friend class IteratorImpl;
     friend AllocatorList;
 
-    typedef iterator_adaptor_base<IteratorImpl<ValueT, IteratorBase>,
-                                  IteratorBase, std::bidirectional_iterator_tag,
-                                  ValueT>
-        base_type;
+    using base_type =
+        iterator_adaptor_base<IteratorImpl<ValueT, IteratorBase>, IteratorBase,
+                              std::bidirectional_iterator_tag, ValueT>;
 
   public:
-    typedef ValueT value_type;
-    typedef ValueT *pointer;
-    typedef ValueT &reference;
+    using value_type = ValueT;
+    using pointer = ValueT *;
+    using reference = ValueT &;
 
     IteratorImpl() = default;
     IteratorImpl(const IteratorImpl &) = default;
     IteratorImpl &operator=(const IteratorImpl &) = default;
-    ~IteratorImpl() = default;
 
     explicit IteratorImpl(const IteratorBase &I) : base_type(I) {}
 
@@ -106,6 +115,8 @@ template <class T, class AllocatorT> class AllocatorLi
                      OtherIteratorBase, IteratorBase>::value>::type * = nullptr)
         : base_type(X.wrapped()) {}
 
+    ~IteratorImpl() = default;
+
     reference operator*() const { return base_type::wrapped()->V; }
     pointer operator->() const { return &operator*(); }
 
@@ -118,30 +129,34 @@ template <class T, class AllocatorT> class AllocatorLi
   };
 
 public:
-  typedef IteratorImpl<T, typename list_type::iterator> iterator;
-  typedef IteratorImpl<T, typename list_type::reverse_iterator>
-      reverse_iterator;
-  typedef IteratorImpl<const T, typename list_type::const_iterator>
-      const_iterator;
-  typedef IteratorImpl<const T, typename list_type::const_reverse_iterator>
-      const_reverse_iterator;
+  using iterator = IteratorImpl<T, typename list_type::iterator>;
+  using reverse_iterator =
+      IteratorImpl<T, typename list_type::reverse_iterator>;
+  using const_iterator =
+      IteratorImpl<const T, typename list_type::const_iterator>;
+  using const_reverse_iterator =
+      IteratorImpl<const T, typename list_type::const_reverse_iterator>;
 
   AllocatorList() = default;
   AllocatorList(AllocatorList &&X)
       : AllocatorT(std::move(X.getAlloc())), List(std::move(X.List)) {}
+
   AllocatorList(const AllocatorList &X) {
     List.cloneFrom(X.List, Cloner(*this), Disposer(*this));
   }
+
   AllocatorList &operator=(AllocatorList &&X) {
     clear(); // Dispose of current nodes explicitly.
     List = std::move(X.List);
     getAlloc() = std::move(X.getAlloc());
     return *this;
   }
+
   AllocatorList &operator=(const AllocatorList &X) {
     List.cloneFrom(X.List, Cloner(*this), Disposer(*this));
     return *this;
   }
+
   ~AllocatorList() { clear(); }
 
   void swap(AllocatorList &RHS) {

Modified: vendor/llvm/dist/include/llvm/ADT/ArrayRef.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/ArrayRef.h	Fri Jun 16 20:47:12 2017	(r320012)
+++ vendor/llvm/dist/include/llvm/ADT/ArrayRef.h	Fri Jun 16 21:03:24 2017	(r320013)
@@ -1,4 +1,4 @@
-//===--- ArrayRef.h - Array Reference Wrapper -------------------*- C++ -*-===//
+//===- ArrayRef.h - Array Reference Wrapper ---------------------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
@@ -12,12 +12,21 @@
 
 #include "llvm/ADT/Hashing.h"
 #include "llvm/ADT/None.h"
-#include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/STLExtras.h"
+#include "llvm/Support/Compiler.h"
+#include <algorithm>
 #include <array>
+#include <cassert>
+#include <cstddef>
+#include <initializer_list>
+#include <iterator>
+#include <memory>
+#include <type_traits>
 #include <vector>
 
 namespace llvm {
+
   /// ArrayRef - Represent a constant reference to an array (0 or more elements
   /// consecutively in memory), i.e. a start pointer and a length.  It allows
   /// various APIs to take consecutive elements easily and conveniently.
@@ -32,28 +41,27 @@ namespace llvm {
   template<typename T>
   class LLVM_NODISCARD ArrayRef {
   public:
-    typedef const T *iterator;
-    typedef const T *const_iterator;
-    typedef size_t size_type;
+    using iterator = const T *;
+    using const_iterator = const T *;
+    using size_type = size_t;
+    using reverse_iterator = std::reverse_iterator<iterator>;
 
-    typedef std::reverse_iterator<iterator> reverse_iterator;
-
   private:
     /// The start of the array, in an external buffer.
-    const T *Data;
+    const T *Data = nullptr;
 
     /// The number of elements.
-    size_type Length;
+    size_type Length = 0;
 
   public:
     /// @name Constructors
     /// @{
 
     /// Construct an empty ArrayRef.
-    /*implicit*/ ArrayRef() : Data(nullptr), Length(0) {}
+    /*implicit*/ ArrayRef() = default;
 
     /// Construct an empty ArrayRef from None.
-    /*implicit*/ ArrayRef(NoneType) : Data(nullptr), Length(0) {}
+    /*implicit*/ ArrayRef(NoneType) {}
 
     /// Construct an ArrayRef from a single element.
     /*implicit*/ ArrayRef(const T &OneElt)
@@ -282,10 +290,9 @@ namespace llvm {
   template<typename T>
   class LLVM_NODISCARD MutableArrayRef : public ArrayRef<T> {
   public:
-    typedef T *iterator;
+    using iterator = T *;
+    using reverse_iterator = std::reverse_iterator<iterator>;
 
-    typedef std::reverse_iterator<iterator> reverse_iterator;
-
     /// Construct an empty MutableArrayRef.
     /*implicit*/ MutableArrayRef() : ArrayRef<T>() {}
 
@@ -416,19 +423,23 @@ namespace llvm {
   /// This is a MutableArrayRef that owns its array.
   template <typename T> class OwningArrayRef : public MutableArrayRef<T> {
   public:
-    OwningArrayRef() {}
+    OwningArrayRef() = default;
     OwningArrayRef(size_t Size) : MutableArrayRef<T>(new T[Size], Size) {}
+
     OwningArrayRef(ArrayRef<T> Data)
         : MutableArrayRef<T>(new T[Data.size()], Data.size()) {
       std::copy(Data.begin(), Data.end(), this->begin());
     }
+
     OwningArrayRef(OwningArrayRef &&Other) { *this = Other; }
+
     OwningArrayRef &operator=(OwningArrayRef &&Other) {
       delete[] this->data();
       this->MutableArrayRef<T>::operator=(Other);
       Other.MutableArrayRef<T>::operator=(MutableArrayRef<T>());
       return *this;
     }
+
     ~OwningArrayRef() { delete[] this->data(); }
   };
 
@@ -517,13 +528,14 @@ namespace llvm {
 
   // ArrayRefs can be treated like a POD type.
   template <typename T> struct isPodLike;
-  template <typename T> struct isPodLike<ArrayRef<T> > {
+  template <typename T> struct isPodLike<ArrayRef<T>> {
     static const bool value = true;
   };
 
   template <typename T> hash_code hash_value(ArrayRef<T> S) {
     return hash_combine_range(S.begin(), S.end());
   }
+
 } // end namespace llvm
 
 #endif // LLVM_ADT_ARRAYREF_H

Modified: vendor/llvm/dist/include/llvm/ADT/BreadthFirstIterator.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/BreadthFirstIterator.h	Fri Jun 16 20:47:12 2017	(r320012)
+++ vendor/llvm/dist/include/llvm/ADT/BreadthFirstIterator.h	Fri Jun 16 21:03:24 2017	(r320013)
@@ -25,7 +25,6 @@
 #include "llvm/ADT/iterator_range.h"
 #include <iterator>
 #include <queue>
-#include <set>
 #include <utility>
 
 namespace llvm {
@@ -49,13 +48,13 @@ template <class GraphT,
 class bf_iterator
     : public std::iterator<std::forward_iterator_tag, typename GT::NodeRef>,
       public bf_iterator_storage<SetType> {
-  typedef std::iterator<std::forward_iterator_tag, typename GT::NodeRef> super;
+  using super = std::iterator<std::forward_iterator_tag, typename GT::NodeRef>;
 
-  typedef typename GT::NodeRef NodeRef;
-  typedef typename GT::ChildIteratorType ChildItTy;
+  using NodeRef = typename GT::NodeRef;
+  using ChildItTy = typename GT::ChildIteratorType;
 
   // First element is the node reference, second is the next child to visit.
-  typedef std::pair<NodeRef, Optional<ChildItTy>> QueueElement;
+  using QueueElement = std::pair<NodeRef, Optional<ChildItTy>>;
 
   // Visit queue - used to maintain BFS ordering.
   // Optional<> because we need markers for levels.
@@ -109,7 +108,7 @@ class bf_iterator (private)
   }
 
 public:
-  typedef typename super::pointer pointer;
+  using pointer = typename super::pointer;
 
   // Provide static begin and end methods as our public "constructors"
   static bf_iterator begin(const GraphT &G) {

Modified: vendor/llvm/dist/include/llvm/ADT/DAGDeltaAlgorithm.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/DAGDeltaAlgorithm.h	Fri Jun 16 20:47:12 2017	(r320012)
+++ vendor/llvm/dist/include/llvm/ADT/DAGDeltaAlgorithm.h	Fri Jun 16 21:03:24 2017	(r320013)
@@ -1,4 +1,4 @@
-//===--- DAGDeltaAlgorithm.h - A DAG Minimization Algorithm ----*- C++ -*--===//
+//===- DAGDeltaAlgorithm.h - A DAG Minimization Algorithm ------*- C++ -*--===//
 //
 //                     The LLVM Compiler Infrastructure
 //
@@ -40,12 +40,12 @@ class DAGDeltaAlgorithm {
   virtual void anchor();
 
 public:
-  typedef unsigned change_ty;
-  typedef std::pair<change_ty, change_ty> edge_ty;
+  using change_ty = unsigned;
+  using edge_ty = std::pair<change_ty, change_ty>;
 
   // FIXME: Use a decent data structure.
-  typedef std::set<change_ty> changeset_ty;
-  typedef std::vector<changeset_ty> changesetlist_ty;
+  using changeset_ty = std::set<change_ty>;
+  using changesetlist_ty = std::vector<changeset_ty>;
 
 public:
   virtual ~DAGDeltaAlgorithm() = default;

Modified: vendor/llvm/dist/include/llvm/ADT/DeltaAlgorithm.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/DeltaAlgorithm.h	Fri Jun 16 20:47:12 2017	(r320012)
+++ vendor/llvm/dist/include/llvm/ADT/DeltaAlgorithm.h	Fri Jun 16 21:03:24 2017	(r320013)
@@ -1,4 +1,4 @@
-//===--- DeltaAlgorithm.h - A Set Minimization Algorithm -------*- C++ -*--===//
+//===- DeltaAlgorithm.h - A Set Minimization Algorithm ---------*- C++ -*--===//
 //
 //                     The LLVM Compiler Infrastructure
 //
@@ -35,10 +35,10 @@ namespace llvm {
 /// predicate.
 class DeltaAlgorithm {
 public:
-  typedef unsigned change_ty;
+  using change_ty = unsigned;
   // FIXME: Use a decent data structure.
-  typedef std::set<change_ty> changeset_ty;
-  typedef std::vector<changeset_ty> changesetlist_ty;
+  using changeset_ty = std::set<change_ty>;
+  using changesetlist_ty = std::vector<changeset_ty>;
 
 private:
   /// Cache of failed test results. Successful test results are never cached
@@ -90,4 +90,4 @@ class DeltaAlgorithm { (public)
 
 } // end namespace llvm
 
-#endif
+#endif // LLVM_ADT_DELTAALGORITHM_H

Modified: vendor/llvm/dist/include/llvm/ADT/DenseMap.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/DenseMap.h	Fri Jun 16 20:47:12 2017	(r320012)
+++ vendor/llvm/dist/include/llvm/ADT/DenseMap.h	Fri Jun 16 21:03:24 2017	(r320013)
@@ -25,8 +25,8 @@
 #include <cstddef>
 #include <cstring>
 #include <iterator>
-#include <limits>
 #include <new>
+#include <type_traits>
 #include <utility>
 
 namespace llvm {
@@ -57,14 +57,15 @@ class DenseMapBase : public DebugEpochBase {
   using const_arg_type_t = typename const_pointer_or_const_ref<T>::type;
 
 public:
-  typedef unsigned size_type;
-  typedef KeyT key_type;
-  typedef ValueT mapped_type;
-  typedef BucketT value_type;
+  using size_type = unsigned;
+  using key_type = KeyT;
+  using mapped_type = ValueT;
+  using value_type = BucketT;
 
-  typedef DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT> iterator;
-  typedef DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT, true>
-      const_iterator;
+  using iterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT>;
+  using const_iterator =
+      DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT, true>;
+
   inline iterator begin() {
     // When the map is empty, avoid the overhead of AdvancePastEmptyBuckets().
     return empty() ? end() : iterator(getBuckets(), getBucketsEnd(), *this);
@@ -387,15 +388,18 @@ class DenseMapBase : public DebugEpochBase {
   static unsigned getHashValue(const KeyT &Val) {
     return KeyInfoT::getHashValue(Val);
   }
+
   template<typename LookupKeyT>
   static unsigned getHashValue(const LookupKeyT &Val) {
     return KeyInfoT::getHashValue(Val);
   }
+
   static const KeyT getEmptyKey() {
     static_assert(std::is_base_of<DenseMapBase, DerivedT>::value,
                   "Must pass the derived type to this template!");
     return KeyInfoT::getEmptyKey();
   }
+
   static const KeyT getTombstoneKey() {
     return KeyInfoT::getTombstoneKey();
   }
@@ -404,39 +408,51 @@ class DenseMapBase : public DebugEpochBase {
   unsigned getNumEntries() const {
     return static_cast<const DerivedT *>(this)->getNumEntries();
   }
+
   void setNumEntries(unsigned Num) {
     static_cast<DerivedT *>(this)->setNumEntries(Num);
   }
+
   void incrementNumEntries() {
     setNumEntries(getNumEntries() + 1);
   }
+
   void decrementNumEntries() {
     setNumEntries(getNumEntries() - 1);
   }
+
   unsigned getNumTombstones() const {
     return static_cast<const DerivedT *>(this)->getNumTombstones();
   }
+
   void setNumTombstones(unsigned Num) {
     static_cast<DerivedT *>(this)->setNumTombstones(Num);
   }
+
   void incrementNumTombstones() {
     setNumTombstones(getNumTombstones() + 1);
   }
+
   void decrementNumTombstones() {
     setNumTombstones(getNumTombstones() - 1);
   }
+
   const BucketT *getBuckets() const {
     return static_cast<const DerivedT *>(this)->getBuckets();
   }
+
   BucketT *getBuckets() {
     return static_cast<DerivedT *>(this)->getBuckets();
   }
+
   unsigned getNumBuckets() const {
     return static_cast<const DerivedT *>(this)->getNumBuckets();
   }
+
   BucketT *getBucketsEnd() {
     return getBuckets() + getNumBuckets();
   }
+
   const BucketT *getBucketsEnd() const {
     return getBuckets() + getNumBuckets();
   }
@@ -587,10 +603,11 @@ template <typename KeyT, typename ValueT,
           typename BucketT = detail::DenseMapPair<KeyT, ValueT>>
 class DenseMap : public DenseMapBase<DenseMap<KeyT, ValueT, KeyInfoT, BucketT>,
                                      KeyT, ValueT, KeyInfoT, BucketT> {
+  friend class DenseMapBase<DenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
+
   // Lift some types from the dependent base class into this class for
   // simplicity of referring to them.
-  typedef DenseMapBase<DenseMap, KeyT, ValueT, KeyInfoT, BucketT> BaseT;
-  friend class DenseMapBase<DenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
+  using BaseT = DenseMapBase<DenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
 
   BucketT *Buckets;
   unsigned NumEntries;
@@ -705,6 +722,7 @@ class DenseMap : public DenseMapBase<DenseMap<KeyT, Va
   unsigned getNumEntries() const {
     return NumEntries;
   }
+
   void setNumEntries(unsigned Num) {
     NumEntries = Num;
   }
@@ -712,6 +730,7 @@ class DenseMap : public DenseMapBase<DenseMap<KeyT, Va
   unsigned getNumTombstones() const {
     return NumTombstones;
   }
+
   void setNumTombstones(unsigned Num) {
     NumTombstones = Num;
   }
@@ -743,10 +762,12 @@ class SmallDenseMap
     : public DenseMapBase<
           SmallDenseMap<KeyT, ValueT, InlineBuckets, KeyInfoT, BucketT>, KeyT,
           ValueT, KeyInfoT, BucketT> {
+  friend class DenseMapBase<SmallDenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
+
   // Lift some types from the dependent base class into this class for
   // simplicity of referring to them.
-  typedef DenseMapBase<SmallDenseMap, KeyT, ValueT, KeyInfoT, BucketT> BaseT;
-  friend class DenseMapBase<SmallDenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
+  using BaseT = DenseMapBase<SmallDenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
+
   static_assert(isPowerOf2_64(InlineBuckets),
                 "InlineBuckets must be a power of 2.");
 
@@ -972,6 +993,7 @@ class SmallDenseMap
   unsigned getNumEntries() const {
     return NumEntries;
   }
+
   void setNumEntries(unsigned Num) {
     // NumEntries is hardcoded to be 31 bits wide.
     assert(Num < (1U << 31) && "Cannot support more than 1<<31 entries");
@@ -981,6 +1003,7 @@ class SmallDenseMap
   unsigned getNumTombstones() const {
     return NumTombstones;
   }
+
   void setNumTombstones(unsigned Num) {
     NumTombstones = Num;
   }
@@ -992,15 +1015,18 @@ class SmallDenseMap
     // 'storage.buffer' static type is 'char *'.
     return reinterpret_cast<const BucketT *>(storage.buffer);
   }
+
   BucketT *getInlineBuckets() {
     return const_cast<BucketT *>(
       const_cast<const SmallDenseMap *>(this)->getInlineBuckets());
   }
+
   const LargeRep *getLargeRep() const {
     assert(!Small);
     // Note, same rule about aliasing as with getInlineBuckets.
     return reinterpret_cast<const LargeRep *>(storage.buffer);
   }
+
   LargeRep *getLargeRep() {
     return const_cast<LargeRep *>(
       const_cast<const SmallDenseMap *>(this)->getLargeRep());
@@ -1009,10 +1035,12 @@ class SmallDenseMap
   const BucketT *getBuckets() const {
     return Small ? getInlineBuckets() : getLargeRep()->Buckets;
   }
+
   BucketT *getBuckets() {

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



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