Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Jun 2017 20:32:53 +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: r320374 - in vendor/llvm/dist: . cmake/modules docs docs/Proposals examples/Kaleidoscope/BuildingAJIT/Chapter1 examples/Kaleidoscope/BuildingAJIT/Chapter2 examples/Kaleidoscope/Building...
Message-ID:  <201706262032.v5QKWrTp098634@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Mon Jun 26 20:32:52 2017
New Revision: 320374
URL: https://svnweb.freebsd.org/changeset/base/320374

Log:
  Vendor import of llvm trunk r306325:
  https://llvm.org/svn/llvm-project/llvm/trunk@306325

Added:
  vendor/llvm/dist/include/llvm/CodeGen/MacroFusion.h   (contents, props changed)
  vendor/llvm/dist/include/llvm/CodeGen/SelectionDAGAddressAnalysis.h   (contents, props changed)
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeName.h   (contents, props changed)
  vendor/llvm/dist/include/llvm/Support/Solaris/
  vendor/llvm/dist/include/llvm/Support/Solaris/sys/
  vendor/llvm/dist/include/llvm/Support/Solaris/sys/regset.h   (contents, props changed)
  vendor/llvm/dist/lib/CodeGen/MacroFusion.cpp   (contents, props changed)
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp   (contents, props changed)
  vendor/llvm/dist/lib/DebugInfo/CodeView/TypeName.cpp   (contents, props changed)
  vendor/llvm/dist/lib/MC/MCWinCOFFStreamer.cpp   (contents, props changed)
  vendor/llvm/dist/lib/Target/AArch64/AArch64CondBrTuning.cpp   (contents, props changed)
  vendor/llvm/dist/lib/Target/ARM/ARMMacroFusion.cpp   (contents, props changed)
  vendor/llvm/dist/lib/Target/ARM/ARMMacroFusion.h   (contents, props changed)
  vendor/llvm/dist/test/Analysis/BasicAA/fallback-mayalias.ll
  vendor/llvm/dist/test/Analysis/CostModel/X86/interleaved-load-i8.ll
  vendor/llvm/dist/test/Analysis/CostModel/X86/interleaved-store-i8.ll
  vendor/llvm/dist/test/CodeGen/AArch64/atomic-ops-lse.ll
  vendor/llvm/dist/test/CodeGen/AArch64/cond-br-tuning.ll
  vendor/llvm/dist/test/CodeGen/AArch64/mergestores_noimplicitfloat.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/callee-frame-setup.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/combine-cond-add-sub.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/fold-operands-order.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/infer-addrpace-pipeline.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.amdgcn.implicit.buffer.ptr.hsa.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.amdgcn.implicit.buffer.ptr.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.load.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.store.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/sdwa-gfx9.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/sdwa-vop2-64bit.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/shrink-carry.mir
  vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-instruction-select-cmp.mir
  vendor/llvm/dist/test/CodeGen/ARM/misched-fusion-aes.ll
  vendor/llvm/dist/test/CodeGen/ARM/v6m-umul-with-overflow.ll
  vendor/llvm/dist/test/CodeGen/Hexagon/duplex-addi-global-imm.mir
  vendor/llvm/dist/test/CodeGen/Hexagon/expand-condsets-imm.mir
  vendor/llvm/dist/test/CodeGen/Hexagon/mux-kill1.mir
  vendor/llvm/dist/test/CodeGen/Hexagon/mux-kill3.mir
  vendor/llvm/dist/test/CodeGen/Hexagon/newvaluejump-kill.ll
  vendor/llvm/dist/test/CodeGen/Hexagon/stack-align-reset.ll
  vendor/llvm/dist/test/CodeGen/Hexagon/store-imm-large-stack.ll
  vendor/llvm/dist/test/CodeGen/Hexagon/vec-vararg-align.ll
  vendor/llvm/dist/test/CodeGen/MSP430/struct_layout.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/licm-remat.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/memcpy_dereferenceable.ll
  vendor/llvm/dist/test/CodeGen/SPARC/constructor.ll
  vendor/llvm/dist/test/CodeGen/SystemZ/frame-21.ll
  vendor/llvm/dist/test/CodeGen/SystemZ/int-cmp-54.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/ifcvt-neon-deprecated.mir
  vendor/llvm/dist/test/CodeGen/WebAssembly/offset-fastisel.ll
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/legalize-insert-vec256.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/legalize-insert-vec512.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-extract-vec256.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-extract-vec512.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-insert-vec256.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-insert-vec512.mir
  vendor/llvm/dist/test/CodeGen/X86/avx512-vec3-crash.ll
  vendor/llvm/dist/test/CodeGen/X86/combine-pmuldq.ll
  vendor/llvm/dist/test/CodeGen/X86/merge-consecutive-stores.ll
  vendor/llvm/dist/test/CodeGen/X86/non-value-mem-operand.mir
  vendor/llvm/dist/test/CodeGen/X86/pr15705.ll
  vendor/llvm/dist/test/CodeGen/X86/pr15981.ll
  vendor/llvm/dist/test/CodeGen/X86/pr33396.ll
  vendor/llvm/dist/test/CodeGen/X86/sbb.ll
  vendor/llvm/dist/test/CodeGen/X86/stack-probe-red-zone.ll
  vendor/llvm/dist/test/CodeGen/X86/stack-probes.ll
  vendor/llvm/dist/test/DebugInfo/MIR/AArch64/implicit-def-dead-scope.mir
  vendor/llvm/dist/test/DebugInfo/PDB/dbi-bytes.test
  vendor/llvm/dist/test/DebugInfo/PDB/module-bytes.test
  vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-raw-bytes.test
  vendor/llvm/dist/test/DebugInfo/PDB/tpi-bytes.test
  vendor/llvm/dist/test/DebugInfo/X86/partial-constant.ll
  vendor/llvm/dist/test/MC/AMDGPU/flat-global.s   (contents, props changed)
  vendor/llvm/dist/test/MC/AMDGPU/mtbuf.s   (contents, props changed)
  vendor/llvm/dist/test/MC/ARM/thumb2-beq-fixup.s   (contents, props changed)
  vendor/llvm/dist/test/MC/COFF/cross-section-relative-err.s   (contents, props changed)
  vendor/llvm/dist/test/MC/COFF/secrel32-undef.s   (contents, props changed)
  vendor/llvm/dist/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt   (contents, props changed)
  vendor/llvm/dist/test/MC/Disassembler/AMDGPU/mtbuf_vi.txt   (contents, props changed)
  vendor/llvm/dist/test/MC/Hexagon/duplex-addi-global-imm.s   (contents, props changed)
  vendor/llvm/dist/test/MC/Mips/mips-rdata.s   (contents, props changed)
  vendor/llvm/dist/test/MC/WebAssembly/stack-ptr.ll
  vendor/llvm/dist/test/ObjectYAML/wasm/weak_symbols.yaml
  vendor/llvm/dist/test/Transforms/GVN/PRE/phi-translate-2.ll
  vendor/llvm/dist/test/Transforms/IndVarSimplify/huge_muls.ll
  vendor/llvm/dist/test/Transforms/Inline/inline-probe-stack.ll
  vendor/llvm/dist/test/Transforms/Inline/inline-stack-probe-size.ll
  vendor/llvm/dist/test/Transforms/InstCombine/compare-3way.ll
  vendor/llvm/dist/test/Transforms/InstCombine/early_constfold_changes_IR.ll
  vendor/llvm/dist/test/Transforms/InstCombine/early_dce_clobbers_callgraph.ll
  vendor/llvm/dist/test/Transforms/InstCombine/pr33453.ll
  vendor/llvm/dist/test/Transforms/InterleavedAccess/X86/interleavedStore.ll
  vendor/llvm/dist/test/Transforms/LICM/strlen.ll
  vendor/llvm/dist/test/Transforms/LoopRotate/catchret.ll   (contents, props changed)
  vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/bin_power.ll
  vendor/llvm/dist/test/Transforms/LoopVectorize/AMDGPU/packed-math.ll
  vendor/llvm/dist/test/Transforms/LoopVectorize/tripcount.ll
  vendor/llvm/dist/test/Transforms/NewGVN/pr33461.ll
  vendor/llvm/dist/test/Transforms/PGOProfile/counter_promo.ll
  vendor/llvm/dist/test/Transforms/PGOProfile/counter_promo_exit_merge.ll
  vendor/llvm/dist/test/Transforms/PGOProfile/counter_promo_mexits.ll
  vendor/llvm/dist/test/Transforms/PGOProfile/memop_size_from_strlen.ll
  vendor/llvm/dist/test/Transforms/SLPVectorizer/AMDGPU/packed-math.ll
  vendor/llvm/dist/test/Transforms/SROA/non-integral-pointers.ll
  vendor/llvm/dist/test/tools/llvm-dwarfdump/X86/no_apple_names_verify_buckets.s   (contents, props changed)
  vendor/llvm/dist/test/tools/llvm-nm/X86/Inputs/Strip-ST.dylib.macho-x86_64   (contents, props changed)
  vendor/llvm/dist/test/tools/llvm-nm/X86/dyldinfo.test
  vendor/llvm/dist/test/tools/llvm-nm/wasm/weak-symbols.yaml
  vendor/llvm/dist/test/tools/llvm-objdump/AArch64/Inputs/kextbundle.macho-aarch64   (contents, props changed)
  vendor/llvm/dist/test/tools/llvm-objdump/AArch64/macho-kextbundle.test
  vendor/llvm/dist/test/tools/llvm-objdump/X86/Inputs/kextbundle.macho-x86_64   (contents, props changed)
  vendor/llvm/dist/test/tools/llvm-objdump/X86/macho-disassembly-kextbundle.test
  vendor/llvm/dist/test/tools/llvm-readobj/Inputs/coff-load-config-data-end.exe   (contents, props changed)
  vendor/llvm/dist/test/tools/llvm-readobj/Inputs/coff-load-config-x64.dll   (contents, props changed)
  vendor/llvm/dist/test/tools/llvm-readobj/Inputs/coff-load-config-x86.dll   (contents, props changed)
  vendor/llvm/dist/test/tools/llvm-readobj/coff-load-config.test
  vendor/llvm/dist/test/tools/obj2yaml/
  vendor/llvm/dist/test/tools/obj2yaml/invalid_input_file.test
  vendor/llvm/dist/tools/llvm-pdbutil/BytesOutputStyle.cpp   (contents, props changed)
  vendor/llvm/dist/tools/llvm-pdbutil/BytesOutputStyle.h   (contents, props changed)
  vendor/llvm/dist/tools/llvm-pdbutil/DumpOutputStyle.cpp   (contents, props changed)
  vendor/llvm/dist/tools/llvm-pdbutil/DumpOutputStyle.h   (contents, props changed)
  vendor/llvm/dist/unittests/Analysis/AliasSetTrackerTest.cpp   (contents, props changed)
Deleted:
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeDatabase.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h
  vendor/llvm/dist/include/llvm/Support/Solaris.h
  vendor/llvm/dist/lib/DebugInfo/CodeView/TypeDatabase.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/TypeDatabaseVisitor.cpp
  vendor/llvm/dist/lib/MC/WinCOFFStreamer.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/LoadCombine.cpp
  vendor/llvm/dist/test/CodeGen/Hexagon/mux-kill.mir
  vendor/llvm/dist/test/CodeGen/SystemZ/serialize-01.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/ifcvt-neon.ll
  vendor/llvm/dist/test/CodeGen/X86/2012-12-06-python27-miscompile.ll
  vendor/llvm/dist/test/MC/COFF/secidx-diagnostic.s
  vendor/llvm/dist/test/Transforms/LoadCombine/deadcode.ll
  vendor/llvm/dist/test/Transforms/LoadCombine/load-combine-aa.ll
  vendor/llvm/dist/test/Transforms/LoadCombine/load-combine-assume.ll
  vendor/llvm/dist/test/Transforms/LoadCombine/load-combine-negativegep.ll
  vendor/llvm/dist/test/Transforms/LoadCombine/load-combine.ll
  vendor/llvm/dist/test/Transforms/SLPVectorizer/AMDGPU/simplebb.ll
  vendor/llvm/dist/tools/llvm-cvtres/llvm-cvtres.h
  vendor/llvm/dist/tools/llvm-pdbutil/CompactTypeDumpVisitor.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/CompactTypeDumpVisitor.h
  vendor/llvm/dist/tools/llvm-pdbutil/RawOutputStyle.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/RawOutputStyle.h
Modified:
  vendor/llvm/dist/CMakeLists.txt
  vendor/llvm/dist/CODE_OWNERS.TXT
  vendor/llvm/dist/CREDITS.TXT
  vendor/llvm/dist/cmake/modules/AddLLVM.cmake
  vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake
  vendor/llvm/dist/cmake/modules/TableGen.cmake
  vendor/llvm/dist/docs/AMDGPUUsage.rst
  vendor/llvm/dist/docs/GetElementPtr.rst
  vendor/llvm/dist/docs/GoldPlugin.rst
  vendor/llvm/dist/docs/LangRef.rst
  vendor/llvm/dist/docs/Proposals/VectorizationPlan.rst
  vendor/llvm/dist/docs/XRay.rst
  vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h
  vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h
  vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
  vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
  vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter5/KaleidoscopeJIT.h
  vendor/llvm/dist/examples/Kaleidoscope/include/KaleidoscopeJIT.h
  vendor/llvm/dist/include/llvm-c/OrcBindings.h
  vendor/llvm/dist/include/llvm/ADT/APFloat.h
  vendor/llvm/dist/include/llvm/ADT/APInt.h
  vendor/llvm/dist/include/llvm/ADT/StringExtras.h
  vendor/llvm/dist/include/llvm/ADT/Triple.h
  vendor/llvm/dist/include/llvm/Analysis/LazyValueInfo.h
  vendor/llvm/dist/include/llvm/Analysis/Loads.h
  vendor/llvm/dist/include/llvm/Analysis/LoopInfoImpl.h
  vendor/llvm/dist/include/llvm/Analysis/ScalarEvolution.h
  vendor/llvm/dist/include/llvm/BinaryFormat/COFF.h
  vendor/llvm/dist/include/llvm/BinaryFormat/Dwarf.h
  vendor/llvm/dist/include/llvm/BinaryFormat/MachO.h
  vendor/llvm/dist/include/llvm/BinaryFormat/Wasm.h
  vendor/llvm/dist/include/llvm/CodeGen/DIE.h
  vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
  vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/Legalizer.h
  vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
  vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/Utils.h
  vendor/llvm/dist/include/llvm/CodeGen/LexicalScopes.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineBasicBlock.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineMemOperand.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineModuleInfoImpls.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineScheduler.h
  vendor/llvm/dist/include/llvm/CodeGen/RegisterScavenging.h
  vendor/llvm/dist/include/llvm/CodeGen/SelectionDAGNodes.h
  vendor/llvm/dist/include/llvm/Config/config.h.cmake
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/CVRecord.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/CodeView.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/EnumTables.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/SymbolRecord.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeSerializer.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeTableCollection.h
  vendor/llvm/dist/include/llvm/DebugInfo/DIContext.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFContext.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFRelocMap.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFUnit.h
  vendor/llvm/dist/include/llvm/DebugInfo/MSF/MSFBuilder.h
  vendor/llvm/dist/include/llvm/DebugInfo/MSF/MSFCommon.h
  vendor/llvm/dist/include/llvm/DebugInfo/MSF/MappedBlockStream.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/DIA/DIASession.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/IPDBSession.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/DbiStream.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/NativeCompilandSymbol.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/NativeExeSymbol.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/NativeSession.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/PDBFile.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/TpiStream.h
  vendor/llvm/dist/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h
  vendor/llvm/dist/include/llvm/DebugInfo/Symbolize/Symbolize.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/ExecutionEngine.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/GenericValue.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/JITEventListener.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/JITSymbol.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/CompileUtils.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/GlobalMappingLayer.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/LambdaResolver.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/OrcABISupport.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/RawByteChannel.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/RuntimeDyld.h
  vendor/llvm/dist/include/llvm/IR/Attributes.h
  vendor/llvm/dist/include/llvm/IR/Attributes.td
  vendor/llvm/dist/include/llvm/IR/BasicBlock.h
  vendor/llvm/dist/include/llvm/IR/ConstantRange.h
  vendor/llvm/dist/include/llvm/IR/DerivedUser.h
  vendor/llvm/dist/include/llvm/IR/InstrTypes.h
  vendor/llvm/dist/include/llvm/IR/Instruction.h
  vendor/llvm/dist/include/llvm/IR/Instructions.h
  vendor/llvm/dist/include/llvm/IR/IntrinsicsAMDGPU.td
  vendor/llvm/dist/include/llvm/IR/IntrinsicsX86.td
  vendor/llvm/dist/include/llvm/IR/Metadata.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/IR/Statepoint.h
  vendor/llvm/dist/include/llvm/IR/Value.h
  vendor/llvm/dist/include/llvm/InitializePasses.h
  vendor/llvm/dist/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
  vendor/llvm/dist/include/llvm/MC/MCAsmBackend.h
  vendor/llvm/dist/include/llvm/MC/MCAssembler.h
  vendor/llvm/dist/include/llvm/MC/MCFragment.h
  vendor/llvm/dist/include/llvm/MC/MCSection.h
  vendor/llvm/dist/include/llvm/MC/MCSymbolWasm.h
  vendor/llvm/dist/include/llvm/MC/MCValue.h
  vendor/llvm/dist/include/llvm/MC/MCWinCOFFObjectWriter.h
  vendor/llvm/dist/include/llvm/Object/COFF.h
  vendor/llvm/dist/include/llvm/Object/IRSymtab.h
  vendor/llvm/dist/include/llvm/Object/MachO.h
  vendor/llvm/dist/include/llvm/Object/Wasm.h
  vendor/llvm/dist/include/llvm/Object/WindowsResource.h
  vendor/llvm/dist/include/llvm/ObjectYAML/WasmYAML.h
  vendor/llvm/dist/include/llvm/Option/OptParser.td
  vendor/llvm/dist/include/llvm/Option/OptTable.h
  vendor/llvm/dist/include/llvm/Option/Option.h
  vendor/llvm/dist/include/llvm/ProfileData/Coverage/CoverageMapping.h
  vendor/llvm/dist/include/llvm/ProfileData/InstrProf.h
  vendor/llvm/dist/include/llvm/ProfileData/InstrProfReader.h
  vendor/llvm/dist/include/llvm/ProfileData/InstrProfWriter.h
  vendor/llvm/dist/include/llvm/ProfileData/SampleProf.h
  vendor/llvm/dist/include/llvm/ProfileData/SampleProfReader.h
  vendor/llvm/dist/include/llvm/Support/BinaryStreamReader.h
  vendor/llvm/dist/include/llvm/Support/BinaryStreamRef.h
  vendor/llvm/dist/include/llvm/Support/CachePruning.h
  vendor/llvm/dist/include/llvm/Support/DataExtractor.h
  vendor/llvm/dist/include/llvm/Support/Errno.h
  vendor/llvm/dist/include/llvm/Support/Error.h
  vendor/llvm/dist/include/llvm/Support/GCOV.h
  vendor/llvm/dist/include/llvm/Support/GenericDomTree.h
  vendor/llvm/dist/include/llvm/Support/GenericDomTreeConstruction.h
  vendor/llvm/dist/include/llvm/Support/GraphWriter.h
  vendor/llvm/dist/include/llvm/Support/Host.h
  vendor/llvm/dist/include/llvm/Support/Path.h
  vendor/llvm/dist/include/llvm/Support/TargetRegistry.h
  vendor/llvm/dist/include/llvm/Support/YAMLParser.h
  vendor/llvm/dist/include/llvm/Support/YAMLTraits.h
  vendor/llvm/dist/include/llvm/TableGen/Main.h
  vendor/llvm/dist/include/llvm/Target/GenericOpcodes.td
  vendor/llvm/dist/include/llvm/Target/TargetInstrInfo.h
  vendor/llvm/dist/include/llvm/Target/TargetLowering.h
  vendor/llvm/dist/include/llvm/Target/TargetOpcodes.def
  vendor/llvm/dist/include/llvm/Target/TargetRegisterInfo.h
  vendor/llvm/dist/include/llvm/Target/TargetSubtargetInfo.h
  vendor/llvm/dist/include/llvm/Testing/Support/Error.h
  vendor/llvm/dist/include/llvm/Transforms/IPO/PassManagerBuilder.h
  vendor/llvm/dist/include/llvm/Transforms/InstrProfiling.h
  vendor/llvm/dist/include/llvm/Transforms/Instrumentation.h
  vendor/llvm/dist/include/llvm/Transforms/Scalar.h
  vendor/llvm/dist/include/llvm/Transforms/Scalar/GVN.h
  vendor/llvm/dist/include/llvm/Transforms/Scalar/Reassociate.h
  vendor/llvm/dist/include/llvm/Transforms/Utils/Local.h
  vendor/llvm/dist/include/llvm/Transforms/Utils/LoopUtils.h
  vendor/llvm/dist/include/llvm/Transforms/Utils/OrderedInstructions.h
  vendor/llvm/dist/include/llvm/Transforms/Vectorize/LoopVectorize.h
  vendor/llvm/dist/include/llvm/module.modulemap
  vendor/llvm/dist/lib/Analysis/AliasSetTracker.cpp
  vendor/llvm/dist/lib/Analysis/AssumptionCache.cpp
  vendor/llvm/dist/lib/Analysis/BasicAliasAnalysis.cpp
  vendor/llvm/dist/lib/Analysis/CFLSteensAliasAnalysis.cpp
  vendor/llvm/dist/lib/Analysis/DemandedBits.cpp
  vendor/llvm/dist/lib/Analysis/InlineCost.cpp
  vendor/llvm/dist/lib/Analysis/InstructionSimplify.cpp
  vendor/llvm/dist/lib/Analysis/LazyValueInfo.cpp
  vendor/llvm/dist/lib/Analysis/Loads.cpp
  vendor/llvm/dist/lib/Analysis/MemoryDependenceAnalysis.cpp
  vendor/llvm/dist/lib/Analysis/ScalarEvolution.cpp
  vendor/llvm/dist/lib/Analysis/ScalarEvolutionExpander.cpp
  vendor/llvm/dist/lib/Analysis/TypeBasedAliasAnalysis.cpp
  vendor/llvm/dist/lib/Analysis/ValueTracking.cpp
  vendor/llvm/dist/lib/BinaryFormat/Magic.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DIE.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  vendor/llvm/dist/lib/CodeGen/CMakeLists.txt
  vendor/llvm/dist/lib/CodeGen/CodeGenPrepare.cpp
  vendor/llvm/dist/lib/CodeGen/GlobalISel/IRTranslator.cpp
  vendor/llvm/dist/lib/CodeGen/GlobalISel/InstructionSelector.cpp
  vendor/llvm/dist/lib/CodeGen/GlobalISel/Legalizer.cpp
  vendor/llvm/dist/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
  vendor/llvm/dist/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
  vendor/llvm/dist/lib/CodeGen/GlobalISel/Utils.cpp
  vendor/llvm/dist/lib/CodeGen/IfConversion.cpp
  vendor/llvm/dist/lib/CodeGen/ImplicitNullChecks.cpp
  vendor/llvm/dist/lib/CodeGen/LiveDebugVariables.cpp
  vendor/llvm/dist/lib/CodeGen/LiveDebugVariables.h
  vendor/llvm/dist/lib/CodeGen/MachineBasicBlock.cpp
  vendor/llvm/dist/lib/CodeGen/MachineInstr.cpp
  vendor/llvm/dist/lib/CodeGen/MachineModuleInfoImpls.cpp
  vendor/llvm/dist/lib/CodeGen/MachineScheduler.cpp
  vendor/llvm/dist/lib/CodeGen/RegisterScavenging.cpp
  vendor/llvm/dist/lib/CodeGen/RegisterUsageInfo.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/CMakeLists.txt
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/TargetLowering.cpp
  vendor/llvm/dist/lib/CodeGen/TargetRegisterInfo.cpp
  vendor/llvm/dist/lib/CodeGen/TargetSubtargetInfo.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/CMakeLists.txt
  vendor/llvm/dist/lib/DebugInfo/CodeView/CVTypeVisitor.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/EnumTables.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/SymbolDumper.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/TypeTableCollection.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFContext.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFFormValue.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFUnit.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFVerifier.cpp
  vendor/llvm/dist/lib/DebugInfo/MSF/MSFBuilder.cpp
  vendor/llvm/dist/lib/DebugInfo/MSF/MSFCommon.cpp
  vendor/llvm/dist/lib/DebugInfo/MSF/MappedBlockStream.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/DIA/DIASession.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/DbiStream.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/ModuleDebugStream.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/NamedStreamMap.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/NativeCompilandSymbol.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/NativeEnumModules.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/NativeExeSymbol.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/NativeSession.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/PDBFile.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/TpiStream.cpp
  vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcCBindings.cpp
  vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcCBindingsStack.h
  vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp
  vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
  vendor/llvm/dist/lib/IR/AsmWriter.cpp
  vendor/llvm/dist/lib/IR/AttributeImpl.h
  vendor/llvm/dist/lib/IR/Attributes.cpp
  vendor/llvm/dist/lib/IR/AutoUpgrade.cpp
  vendor/llvm/dist/lib/IR/BasicBlock.cpp
  vendor/llvm/dist/lib/IR/ConstantRange.cpp
  vendor/llvm/dist/lib/IR/Instructions.cpp
  vendor/llvm/dist/lib/IR/LLVMContextImpl.cpp
  vendor/llvm/dist/lib/IR/LLVMContextImpl.h
  vendor/llvm/dist/lib/IR/Metadata.cpp
  vendor/llvm/dist/lib/IR/Statepoint.cpp
  vendor/llvm/dist/lib/LTO/ThinLTOCodeGenerator.cpp
  vendor/llvm/dist/lib/MC/CMakeLists.txt
  vendor/llvm/dist/lib/MC/ELFObjectWriter.cpp
  vendor/llvm/dist/lib/MC/MCAssembler.cpp
  vendor/llvm/dist/lib/MC/MCFragment.cpp
  vendor/llvm/dist/lib/MC/MCSection.cpp
  vendor/llvm/dist/lib/MC/MCWasmStreamer.cpp
  vendor/llvm/dist/lib/MC/WasmObjectWriter.cpp
  vendor/llvm/dist/lib/MC/WinCOFFObjectWriter.cpp
  vendor/llvm/dist/lib/Object/COFFObjectFile.cpp
  vendor/llvm/dist/lib/Object/IRSymtab.cpp
  vendor/llvm/dist/lib/Object/MachOObjectFile.cpp
  vendor/llvm/dist/lib/Object/WasmObjectFile.cpp
  vendor/llvm/dist/lib/Object/WindowsResource.cpp
  vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
  vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLTypes.cpp
  vendor/llvm/dist/lib/ObjectYAML/WasmYAML.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/ProfileData/Coverage/CoverageMapping.cpp
  vendor/llvm/dist/lib/ProfileData/Coverage/CoverageMappingReader.cpp
  vendor/llvm/dist/lib/ProfileData/InstrProf.cpp
  vendor/llvm/dist/lib/ProfileData/InstrProfReader.cpp
  vendor/llvm/dist/lib/ProfileData/InstrProfWriter.cpp
  vendor/llvm/dist/lib/Support/APFloat.cpp
  vendor/llvm/dist/lib/Support/APInt.cpp
  vendor/llvm/dist/lib/Support/BinaryStreamReader.cpp
  vendor/llvm/dist/lib/Support/CachePruning.cpp
  vendor/llvm/dist/lib/Support/CommandLine.cpp
  vendor/llvm/dist/lib/Support/DataExtractor.cpp
  vendor/llvm/dist/lib/Support/GraphWriter.cpp
  vendor/llvm/dist/lib/Support/Triple.cpp
  vendor/llvm/dist/lib/Support/Unix/Host.inc
  vendor/llvm/dist/lib/Support/Unix/Memory.inc
  vendor/llvm/dist/lib/Support/Unix/Program.inc
  vendor/llvm/dist/lib/Support/Windows/Host.inc
  vendor/llvm/dist/lib/Support/YAMLParser.cpp
  vendor/llvm/dist/lib/Support/YAMLTraits.cpp
  vendor/llvm/dist/lib/Support/raw_ostream.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64.h
  vendor/llvm/dist/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64ISelLowering.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64InstrAtomics.td
  vendor/llvm/dist/lib/Target/AArch64/AArch64InstrInfo.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64InstrInfo.h
  vendor/llvm/dist/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64MacroFusion.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64MacroFusion.h
  vendor/llvm/dist/lib/Target/AArch64/AArch64RegisterBankInfo.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64SchedA57.td
  vendor/llvm/dist/lib/Target/AArch64/AArch64SchedFalkorDetails.td
  vendor/llvm/dist/lib/Target/AArch64/AArch64SchedKryoDetails.td
  vendor/llvm/dist/lib/Target/AArch64/AArch64TargetMachine.cpp
  vendor/llvm/dist/lib/Target/AArch64/CMakeLists.txt
  vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPU.td
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUISelLowering.h
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUInstrInfo.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUInstrInfo.td
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUSubtarget.h
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUTargetMachine.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/BUFInstructions.td
  vendor/llvm/dist/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
  vendor/llvm/dist/lib/Target/AMDGPU/FLATInstructions.td
  vendor/llvm/dist/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.h
  vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.h
  vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/Processors.td
  vendor/llvm/dist/lib/Target/AMDGPU/R600ISelLowering.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/SIDefines.h
  vendor/llvm/dist/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/SIFoldOperands.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/SIFrameLowering.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/SIFrameLowering.h
  vendor/llvm/dist/lib/Target/AMDGPU/SIISelLowering.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/SIISelLowering.h
  vendor/llvm/dist/lib/Target/AMDGPU/SIInstrInfo.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/SIInstrInfo.h
  vendor/llvm/dist/lib/Target/AMDGPU/SIInstrInfo.td
  vendor/llvm/dist/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/SIMachineFunctionInfo.h
  vendor/llvm/dist/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/SIRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/SIRegisterInfo.h
  vendor/llvm/dist/lib/Target/AMDGPU/SIShrinkInstructions.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
  vendor/llvm/dist/lib/Target/AMDGPU/VOP1Instructions.td
  vendor/llvm/dist/lib/Target/AMDGPU/VOP2Instructions.td
  vendor/llvm/dist/lib/Target/AMDGPU/VOPCInstructions.td
  vendor/llvm/dist/lib/Target/AMDGPU/VOPInstructions.td
  vendor/llvm/dist/lib/Target/ARM/ARM.td
  vendor/llvm/dist/lib/Target/ARM/ARMAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.h
  vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb2.td
  vendor/llvm/dist/lib/Target/ARM/ARMInstructionSelector.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMLegalizerInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMRegisterBankInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.h
  vendor/llvm/dist/lib/Target/ARM/ARMTargetMachine.cpp
  vendor/llvm/dist/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
  vendor/llvm/dist/lib/Target/ARM/CMakeLists.txt
  vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
  vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
  vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
  vendor/llvm/dist/lib/Target/BPF/BPFISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonExpandCondsets.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonFrameLowering.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonGenMux.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrInfo.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonNewValueJump.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonPeephole.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonSubtarget.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonSubtarget.h
  vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetMachine.cpp
  vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
  vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp
  vendor/llvm/dist/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp
  vendor/llvm/dist/lib/Target/MSP430/MSP430TargetMachine.cpp
  vendor/llvm/dist/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
  vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
  vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
  vendor/llvm/dist/lib/Target/Mips/Mips32r6InstrInfo.td
  vendor/llvm/dist/lib/Target/Mips/MipsISelLowering.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsLongBranch.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsSEISelLowering.cpp
  vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPC.h
  vendor/llvm/dist/lib/Target/PowerPC/PPCFrameLowering.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCInstr64Bit.td
  vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.h
  vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCTargetMachine.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCTargetMachine.h
  vendor/llvm/dist/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
  vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
  vendor/llvm/dist/lib/Target/Sparc/SparcTargetObjectFile.cpp
  vendor/llvm/dist/lib/Target/Sparc/SparcTargetObjectFile.h
  vendor/llvm/dist/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
  vendor/llvm/dist/lib/Target/SystemZ/SystemZFrameLowering.cpp
  vendor/llvm/dist/lib/Target/SystemZ/SystemZISelLowering.cpp
  vendor/llvm/dist/lib/Target/SystemZ/SystemZISelLowering.h
  vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrInfo.td
  vendor/llvm/dist/lib/Target/SystemZ/SystemZMachineScheduler.cpp
  vendor/llvm/dist/lib/Target/SystemZ/SystemZMachineScheduler.h
  vendor/llvm/dist/lib/Target/SystemZ/SystemZOperators.td
  vendor/llvm/dist/lib/Target/SystemZ/SystemZTargetMachine.h
  vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp
  vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
  vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
  vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
  vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
  vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
  vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
  vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
  vendor/llvm/dist/lib/Target/X86/AsmParser/X86AsmParser.cpp
  vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
  vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
  vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
  vendor/llvm/dist/lib/Target/X86/X86FrameLowering.cpp
  vendor/llvm/dist/lib/Target/X86/X86ISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp
  vendor/llvm/dist/lib/Target/X86/X86ISelLowering.h
  vendor/llvm/dist/lib/Target/X86/X86InstrAVX512.td
  vendor/llvm/dist/lib/Target/X86/X86InstrFragmentsSIMD.td
  vendor/llvm/dist/lib/Target/X86/X86InstrSSE.td
  vendor/llvm/dist/lib/Target/X86/X86InstructionSelector.cpp
  vendor/llvm/dist/lib/Target/X86/X86InterleavedAccess.cpp
  vendor/llvm/dist/lib/Target/X86/X86IntrinsicsInfo.h
  vendor/llvm/dist/lib/Target/X86/X86LegalizerInfo.cpp
  vendor/llvm/dist/lib/Target/X86/X86MacroFusion.cpp
  vendor/llvm/dist/lib/Target/X86/X86MacroFusion.h
  vendor/llvm/dist/lib/Target/X86/X86TargetMachine.cpp
  vendor/llvm/dist/lib/Target/X86/X86TargetObjectFile.cpp
  vendor/llvm/dist/lib/Target/X86/X86TargetObjectFile.h
  vendor/llvm/dist/lib/Target/X86/X86TargetTransformInfo.cpp
  vendor/llvm/dist/lib/Target/X86/X86TargetTransformInfo.h
  vendor/llvm/dist/lib/Testing/Support/LLVMBuild.txt
  vendor/llvm/dist/lib/ToolDrivers/llvm-lib/LibDriver.cpp
  vendor/llvm/dist/lib/Transforms/IPO/PassManagerBuilder.cpp
  vendor/llvm/dist/lib/Transforms/IPO/SampleProfile.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineAddSub.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCalls.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCasts.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCompares.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineInternal.h
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineSelect.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineShifts.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstructionCombining.cpp
  vendor/llvm/dist/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
  vendor/llvm/dist/lib/Transforms/Instrumentation/InstrProfiling.cpp
  vendor/llvm/dist/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/CMakeLists.txt
  vendor/llvm/dist/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/GVN.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/JumpThreading.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/LoopDeletion.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/LoopStrengthReduce.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/NewGVN.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/Reassociate.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/SCCP.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/SROA.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/Scalar.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/TailRecursionElimination.cpp
  vendor/llvm/dist/lib/Transforms/Utils/BuildLibCalls.cpp
  vendor/llvm/dist/lib/Transforms/Utils/Local.cpp
  vendor/llvm/dist/lib/Transforms/Utils/LoopSimplify.cpp
  vendor/llvm/dist/lib/Transforms/Utils/LoopUnrollRuntime.cpp
  vendor/llvm/dist/lib/Transforms/Utils/LoopUtils.cpp
  vendor/llvm/dist/lib/Transforms/Vectorize/LoopVectorize.cpp
  vendor/llvm/dist/lib/Transforms/Vectorize/SLPVectorizer.cpp
  vendor/llvm/dist/test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll
  vendor/llvm/dist/test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll
  vendor/llvm/dist/test/Analysis/BasicAA/bug.23540.ll
  vendor/llvm/dist/test/Analysis/BasicAA/bug.23626.ll
  vendor/llvm/dist/test/Analysis/BasicAA/constant-over-index.ll
  vendor/llvm/dist/test/Analysis/BasicAA/q.bad.ll
  vendor/llvm/dist/test/Analysis/BasicAA/returned.ll
  vendor/llvm/dist/test/Analysis/BasicAA/sequential-gep.ll
  vendor/llvm/dist/test/Analysis/BasicAA/struct-geps.ll
  vendor/llvm/dist/test/Analysis/BasicAA/zext.ll
  vendor/llvm/dist/test/Analysis/CostModel/X86/arith.ll
  vendor/llvm/dist/test/Analysis/LazyValueAnalysis/lvi-after-jumpthreading.ll
  vendor/llvm/dist/test/Analysis/TypeBasedAliasAnalysis/dynamic-indices.ll
  vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
  vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/call-translator.ll
  vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/legalize-combines.mir
  vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/no-regclass.mir
  vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/select-bitcast.mir
  vendor/llvm/dist/test/CodeGen/AArch64/arm64-early-ifcvt.ll
  vendor/llvm/dist/test/CodeGen/AArch64/arm64-neon-copy.ll
  vendor/llvm/dist/test/CodeGen/AArch64/arm64-shrink-v1i64.ll
  vendor/llvm/dist/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
  vendor/llvm/dist/test/CodeGen/AArch64/ldst-opt.ll
  vendor/llvm/dist/test/CodeGen/AArch64/ldst-opt.mir
  vendor/llvm/dist/test/CodeGen/AArch64/misched-fusion.ll
  vendor/llvm/dist/test/CodeGen/AArch64/reg-scavenge-frame.mir
  vendor/llvm/dist/test/CodeGen/AArch64/stack-guard-remat-bitcast.ll
  vendor/llvm/dist/test/CodeGen/AArch64/swiftself-scavenger.ll
  vendor/llvm/dist/test/CodeGen/AArch64/tbz-tbnz.ll
  vendor/llvm/dist/test/CodeGen/AArch64/thread-pointer.ll
  vendor/llvm/dist/test/CodeGen/AArch64/xray-attribute-instrumentation.ll
  vendor/llvm/dist/test/CodeGen/AArch64/xray-tail-call-sled.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/attr-amdgpu-num-sgpr.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/branch-relaxation.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/fneg.f16.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/fpext.f16.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/frame-index-elimination.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.SI.tbuffer.store.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.amdgcn.mqsad.pk.u16.u8.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.amdgcn.qsad.pk.u16.u8.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.rint.f16.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/merge-store-crash.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/merge-store-usedef.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/mubuf.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/scheduler-subrange-crash.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/sdwa-peephole.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/si-triv-disjoint-mem-access.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/spill-m0.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
  vendor/llvm/dist/test/CodeGen/ARM/2012-08-30-select.ll
  vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
  vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-isel.ll
  vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-legalizer.mir
  vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir
  vendor/llvm/dist/test/CodeGen/ARM/alloca-align.ll
  vendor/llvm/dist/test/CodeGen/ARM/constantfp.ll
  vendor/llvm/dist/test/CodeGen/ARM/execute-only-big-stack-frame.ll
  vendor/llvm/dist/test/CodeGen/ARM/fpoffset_overflow.mir
  vendor/llvm/dist/test/CodeGen/ARM/vector-promotion.ll
  vendor/llvm/dist/test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll
  vendor/llvm/dist/test/CodeGen/ARM/xray-armv7-attribute-instrumentation.ll
  vendor/llvm/dist/test/CodeGen/Generic/llc-start-stop.ll
  vendor/llvm/dist/test/CodeGen/Generic/print-machineinstrs.ll
  vendor/llvm/dist/test/CodeGen/Hexagon/mux-kill2.mir
  vendor/llvm/dist/test/CodeGen/MSP430/Inst16mm.ll
  vendor/llvm/dist/test/CodeGen/Mips/dins.ll
  vendor/llvm/dist/test/CodeGen/Mips/emergency-spill-slot-near-fp.ll
  vendor/llvm/dist/test/CodeGen/Mips/longbranch.ll
  vendor/llvm/dist/test/CodeGen/Mips/msa/3r_splat.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/2010-02-12-saveCR.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/complex-return.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/dyn-alloca-aligned.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/scavenging.mir
  vendor/llvm/dist/test/CodeGen/PowerPC/vsx-spill.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/vsx.ll
  vendor/llvm/dist/test/CodeGen/SystemZ/trap-02.ll
  vendor/llvm/dist/test/CodeGen/Thumb/large-stack.ll
  vendor/llvm/dist/test/CodeGen/WebAssembly/byval.ll
  vendor/llvm/dist/test/CodeGen/WebAssembly/reg-stackify.ll
  vendor/llvm/dist/test/CodeGen/WebAssembly/stack-alignment.ll
  vendor/llvm/dist/test/CodeGen/WebAssembly/userstack.ll
  vendor/llvm/dist/test/CodeGen/X86/2006-05-11-InstrSched.ll
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/add-scalar.ll
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/callingconv.ll
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/ext.ll
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/legalize-add-v256.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/legalize-add-v512.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/memop-scalar-x32.ll
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/memop-scalar.ll
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-memop-scalar-x32.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-memop-scalar.mir
  vendor/llvm/dist/test/CodeGen/X86/MergeConsecutiveStores.ll
  vendor/llvm/dist/test/CodeGen/X86/atom-fixup-lea3.ll
  vendor/llvm/dist/test/CodeGen/X86/avg.ll
  vendor/llvm/dist/test/CodeGen/X86/avx-intrinsics-x86-upgrade.ll
  vendor/llvm/dist/test/CodeGen/X86/avx-intrinsics-x86.ll
  vendor/llvm/dist/test/CodeGen/X86/avx-logic.ll
  vendor/llvm/dist/test/CodeGen/X86/avx-vperm2x128.ll
  vendor/llvm/dist/test/CodeGen/X86/avx2-intrinsics-x86-upgrade.ll
  vendor/llvm/dist/test/CodeGen/X86/avx2-logic.ll
  vendor/llvm/dist/test/CodeGen/X86/avx2-vbroadcast.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512-arith.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512-intrinsics-upgrade.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512-intrinsics.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512-logic.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512-mask-op.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512-round.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512bw-intrinsics.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512bwvl-intrinsics-upgrade.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512bwvl-intrinsics.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512vl-arith.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512vl-intrinsics.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512vl-logic.ll
  vendor/llvm/dist/test/CodeGen/X86/bitcast-i256.ll
  vendor/llvm/dist/test/CodeGen/X86/clear_upper_vector_element_bits.ll
  vendor/llvm/dist/test/CodeGen/X86/constructor.ll
  vendor/llvm/dist/test/CodeGen/X86/extract-store.ll
  vendor/llvm/dist/test/CodeGen/X86/full-lsr.ll
  vendor/llvm/dist/test/CodeGen/X86/hoist-spill.ll
  vendor/llvm/dist/test/CodeGen/X86/implicit-null-checks.mir
  vendor/llvm/dist/test/CodeGen/X86/insertelement-zero.ll
  vendor/llvm/dist/test/CodeGen/X86/insertps-combine.ll
  vendor/llvm/dist/test/CodeGen/X86/jump_sign.ll
  vendor/llvm/dist/test/CodeGen/X86/loop-strength-reduce4.ll
  vendor/llvm/dist/test/CodeGen/X86/machine-cse.ll
  vendor/llvm/dist/test/CodeGen/X86/madd.ll
  vendor/llvm/dist/test/CodeGen/X86/masked-iv-safe.ll
  vendor/llvm/dist/test/CodeGen/X86/masked_gather_scatter.ll
  vendor/llvm/dist/test/CodeGen/X86/memcmp.ll
  vendor/llvm/dist/test/CodeGen/X86/scavenger.mir
  vendor/llvm/dist/test/CodeGen/X86/select.ll
  vendor/llvm/dist/test/CodeGen/X86/shuffle-vs-trunc-128.ll
  vendor/llvm/dist/test/CodeGen/X86/shuffle-vs-trunc-256.ll
  vendor/llvm/dist/test/CodeGen/X86/splat-for-size.ll
  vendor/llvm/dist/test/CodeGen/X86/sse-scalar-fp-arith.ll
  vendor/llvm/dist/test/CodeGen/X86/sse2-intrinsics-x86-upgrade.ll
  vendor/llvm/dist/test/CodeGen/X86/sse2.ll
  vendor/llvm/dist/test/CodeGen/X86/sse3.ll
  vendor/llvm/dist/test/CodeGen/X86/vec_ctbits.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-blend.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-interleave.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-merge-store-fp-constants.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-128-v16.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-128-v2.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-128-v4.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-128-v8.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-256-v16.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-256-v32.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-256-v4.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-256-v8.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-masked.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-sse1.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-v1.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-v48.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-variable-128.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-variable-256.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-tzcnt-128.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-tzcnt-256.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-tzcnt-512.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-zmov.ll
  vendor/llvm/dist/test/CodeGen/X86/widen_arith-1.ll
  vendor/llvm/dist/test/CodeGen/X86/widen_arith-2.ll
  vendor/llvm/dist/test/CodeGen/X86/widen_arith-3.ll
  vendor/llvm/dist/test/CodeGen/X86/widen_arith-4.ll
  vendor/llvm/dist/test/CodeGen/X86/widen_arith-5.ll
  vendor/llvm/dist/test/CodeGen/X86/widen_arith-6.ll
  vendor/llvm/dist/test/CodeGen/X86/widen_cast-1.ll
  vendor/llvm/dist/test/CodeGen/X86/widen_cast-2.ll
  vendor/llvm/dist/test/CodeGen/X86/widen_cast-3.ll
  vendor/llvm/dist/test/CodeGen/X86/widen_cast-4.ll
  vendor/llvm/dist/test/CodeGen/X86/widen_conv-1.ll
  vendor/llvm/dist/test/CodeGen/X86/x86-interleaved-access.ll
  vendor/llvm/dist/test/CodeGen/X86/xray-attribute-instrumentation.ll
  vendor/llvm/dist/test/CodeGen/X86/xray-custom-log.ll
  vendor/llvm/dist/test/CodeGen/X86/xray-log-args.ll
  vendor/llvm/dist/test/CodeGen/X86/xray-tail-call-sled.ll
  vendor/llvm/dist/test/DebugInfo/COFF/globals.ll
  vendor/llvm/dist/test/DebugInfo/Generic/sugared-constants.ll
  vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets.s
  vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets.x86_64.o
  vendor/llvm/dist/test/DebugInfo/MIR/X86/bit-piece-dh.mir
  vendor/llvm/dist/test/DebugInfo/PDB/pdb-yaml-symbols.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/PDB/pdbdump-yaml-types.test
  vendor/llvm/dist/test/DebugInfo/X86/dbg-merge-loc-entry.ll
  vendor/llvm/dist/test/DebugInfo/X86/inlined-formal-parameter.ll
  vendor/llvm/dist/test/DebugInfo/X86/parameters.ll
  vendor/llvm/dist/test/DebugInfo/X86/pieces-3.ll
  vendor/llvm/dist/test/DebugInfo/X86/reference-argument.ll
  vendor/llvm/dist/test/DebugInfo/X86/this-stack_value.ll
  vendor/llvm/dist/test/DebugInfo/dwarfdump-str-offsets.test
  vendor/llvm/dist/test/MC/AArch64/label-arithmetic-diags-darwin.s
  vendor/llvm/dist/test/MC/AMDGPU/gfx7_asm_all.s
  vendor/llvm/dist/test/MC/AMDGPU/gfx8_asm_all.s
  vendor/llvm/dist/test/MC/AMDGPU/gfx9_asm_all.s
  vendor/llvm/dist/test/MC/AMDGPU/regression/bug28168.s
  vendor/llvm/dist/test/MC/AMDGPU/vop3-errs.s
  vendor/llvm/dist/test/MC/AMDGPU/vop3.s
  vendor/llvm/dist/test/MC/ARM/basic-thumb2-instructions.s
  vendor/llvm/dist/test/MC/ARM/elf-movt.s
  vendor/llvm/dist/test/MC/ARM/thumb-branches.s
  vendor/llvm/dist/test/MC/AsmParser/negativ_altmacro_expression.s
  vendor/llvm/dist/test/MC/COFF/bad-expr.s
  vendor/llvm/dist/test/MC/COFF/cross-section-relative.s
  vendor/llvm/dist/test/MC/COFF/diff.s
  vendor/llvm/dist/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt
  vendor/llvm/dist/test/MC/Disassembler/Mips/mips32r6/valid-mips32r6-el.txt
  vendor/llvm/dist/test/MC/Disassembler/Mips/mips32r6/valid-mips32r6.txt
  vendor/llvm/dist/test/MC/Disassembler/Mips/mips64r6/valid-mips64r6-el.txt
  vendor/llvm/dist/test/MC/Disassembler/Mips/mips64r6/valid-mips64r6.txt
  vendor/llvm/dist/test/MC/ELF/bad-expr.s
  vendor/llvm/dist/test/MC/ELF/bad-expr2.s
  vendor/llvm/dist/test/MC/Mips/mips-register-names-o32.s
  vendor/llvm/dist/test/MC/Mips/mips32r6/valid.s
  vendor/llvm/dist/test/MC/Mips/mips64-register-names-n32-n64.s
  vendor/llvm/dist/test/MC/Mips/mips64-register-names-o32.s
  vendor/llvm/dist/test/MC/Mips/mips64r6/valid.s
  vendor/llvm/dist/test/MC/WebAssembly/func-address.ll
  vendor/llvm/dist/test/MC/X86/macho-reloc-errors-x86_64.s
  vendor/llvm/dist/test/Object/obj2yaml.test
  vendor/llvm/dist/test/ObjectYAML/wasm/header_invalid_version.yaml
  vendor/llvm/dist/test/TableGen/GlobalISelEmitter.td
  vendor/llvm/dist/test/Transforms/CodeGenPrepare/X86/memcmp.ll
  vendor/llvm/dist/test/Transforms/CorrelatedValuePropagation/add.ll
  vendor/llvm/dist/test/Transforms/GVN/PRE/pre-gep-load.ll
  vendor/llvm/dist/test/Transforms/GVN/PRE/pre-load.ll
  vendor/llvm/dist/test/Transforms/InferFunctionAttrs/annotate.ll
  vendor/llvm/dist/test/Transforms/Inline/AArch64/switch.ll
  vendor/llvm/dist/test/Transforms/InstCombine/add.ll
  vendor/llvm/dist/test/Transforms/InstCombine/and-or-not.ll
  vendor/llvm/dist/test/Transforms/InstCombine/bitcast-bigendian.ll
  vendor/llvm/dist/test/Transforms/InstCombine/bitcast.ll
  vendor/llvm/dist/test/Transforms/InstCombine/ctpop.ll
  vendor/llvm/dist/test/Transforms/InstCombine/icmp-xor-signbit.ll
  vendor/llvm/dist/test/Transforms/InstCombine/intrinsics.ll
  vendor/llvm/dist/test/Transforms/InstCombine/logical-select.ll
  vendor/llvm/dist/test/Transforms/InstCombine/memcpy-from-global.ll
  vendor/llvm/dist/test/Transforms/InstCombine/or-xor.ll
  vendor/llvm/dist/test/Transforms/InstCombine/phi-select-constant.ll
  vendor/llvm/dist/test/Transforms/InstCombine/select-with-bitwise-ops.ll
  vendor/llvm/dist/test/Transforms/InstCombine/select.ll
  vendor/llvm/dist/test/Transforms/InstCombine/set.ll
  vendor/llvm/dist/test/Transforms/InstCombine/xor2.ll
  vendor/llvm/dist/test/Transforms/InterleavedAccess/X86/interleaved-accesses-64bits-avx.ll
  vendor/llvm/dist/test/Transforms/LoopDeletion/unreachable-loops.ll
  vendor/llvm/dist/test/Transforms/LoopSimplify/basictest.ll
  vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/canonical.ll
  vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/ivchain-X86.ll
  vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/lsr-expand-quadratic.ll
  vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/lsr-insns-1.ll
  vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/lsr-insns-2.ll
  vendor/llvm/dist/test/Transforms/LoopStrengthReduce/X86/nested-loop.ll
  vendor/llvm/dist/test/Transforms/LoopUnswitch/2011-11-18-SimpleSwitch.ll
  vendor/llvm/dist/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches-Threshold.ll
  vendor/llvm/dist/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches.ll
  vendor/llvm/dist/test/Transforms/LoopVectorize/X86/small-size.ll
  vendor/llvm/dist/test/Transforms/LowerTypeTests/export-icall.ll
  vendor/llvm/dist/test/Transforms/Reassociate/fast-ReassociateVector.ll
  vendor/llvm/dist/test/Transforms/Reassociate/xor_reassoc.ll
  vendor/llvm/dist/test/Transforms/SampleProfile/Inputs/einline.prof
  vendor/llvm/dist/test/Transforms/SampleProfile/early-inline.ll
  vendor/llvm/dist/test/Transforms/TailCallElim/reorder_load.ll
  vendor/llvm/dist/test/tools/llvm-dwarfdump/X86/apple_names_verify_buckets.s
  vendor/llvm/dist/test/tools/llvm-nm/wasm/exports.yaml
  vendor/llvm/dist/test/tools/llvm-objdump/X86/macho-info-plist.test
  vendor/llvm/dist/test/tools/llvm-objdump/X86/macho-objc-meta-data.test
  vendor/llvm/dist/test/tools/llvm-objdump/macho-exports-trie.test
  vendor/llvm/dist/tools/bugpoint/CMakeLists.txt
  vendor/llvm/dist/tools/bugpoint/LLVMBuild.txt
  vendor/llvm/dist/tools/bugpoint/bugpoint.cpp
  vendor/llvm/dist/tools/dsymutil/DwarfLinker.cpp
  vendor/llvm/dist/tools/lli/OrcLazyJIT.cpp
  vendor/llvm/dist/tools/lli/OrcLazyJIT.h
  vendor/llvm/dist/tools/llvm-cvtres/llvm-cvtres.cpp
  vendor/llvm/dist/tools/llvm-dwp/llvm-dwp.cpp
  vendor/llvm/dist/tools/llvm-nm/llvm-nm.cpp
  vendor/llvm/dist/tools/llvm-objdump/MachODump.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/Analyze.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/CMakeLists.txt
  vendor/llvm/dist/tools/llvm-pdbutil/Diff.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/LinePrinter.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/LinePrinter.h
  vendor/llvm/dist/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/llvm-pdbutil.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/llvm-pdbutil.h
  vendor/llvm/dist/tools/llvm-profdata/llvm-profdata.cpp
  vendor/llvm/dist/tools/llvm-readobj/COFFDumper.cpp
  vendor/llvm/dist/tools/llvm-readobj/ObjDumper.h
  vendor/llvm/dist/tools/llvm-readobj/llvm-readobj.cpp
  vendor/llvm/dist/tools/llvm-stress/llvm-stress.cpp
  vendor/llvm/dist/tools/obj2yaml/obj2yaml.cpp
  vendor/llvm/dist/tools/obj2yaml/wasm2yaml.cpp
  vendor/llvm/dist/tools/yaml2obj/yaml2wasm.cpp
  vendor/llvm/dist/unittests/ADT/StringExtrasTest.cpp
  vendor/llvm/dist/unittests/ADT/TripleTest.cpp
  vendor/llvm/dist/unittests/Analysis/CMakeLists.txt
  vendor/llvm/dist/unittests/BinaryFormat/TestFileMagic.cpp
  vendor/llvm/dist/unittests/DebugInfo/CodeView/RandomAccessVisitorTest.cpp
  vendor/llvm/dist/unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp
  vendor/llvm/dist/unittests/DebugInfo/DWARF/DWARFFormValueTest.cpp
  vendor/llvm/dist/unittests/DebugInfo/PDB/PDBApiTest.cpp
  vendor/llvm/dist/unittests/ExecutionEngine/Orc/LazyEmittingLayerTest.cpp
  vendor/llvm/dist/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp
  vendor/llvm/dist/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
  vendor/llvm/dist/unittests/ExecutionEngine/Orc/OrcTestCommon.h
  vendor/llvm/dist/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp
  vendor/llvm/dist/unittests/Option/OptionParsingTest.cpp
  vendor/llvm/dist/unittests/ProfileData/CoverageMappingTest.cpp
  vendor/llvm/dist/unittests/ProfileData/InstrProfTest.cpp
  vendor/llvm/dist/unittests/Support/CachePruningTest.cpp
  vendor/llvm/dist/unittests/Support/CommandLineTest.cpp
  vendor/llvm/dist/unittests/Support/ErrorTest.cpp
  vendor/llvm/dist/utils/TableGen/CodeGenDAGPatterns.cpp
  vendor/llvm/dist/utils/TableGen/CodeGenDAGPatterns.h
  vendor/llvm/dist/utils/TableGen/DAGISelMatcherGen.cpp
  vendor/llvm/dist/utils/TableGen/GlobalISelEmitter.cpp
  vendor/llvm/dist/utils/TableGen/OptParserEmitter.cpp
  vendor/llvm/dist/utils/opt-viewer/opt-stats.py
  vendor/llvm/dist/utils/opt-viewer/opt-viewer.py
  vendor/llvm/dist/utils/opt-viewer/optrecord.py
  vendor/llvm/dist/utils/release/test-release.sh

Modified: vendor/llvm/dist/CMakeLists.txt
==============================================================================
--- vendor/llvm/dist/CMakeLists.txt	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/CMakeLists.txt	Mon Jun 26 20:32:52 2017	(r320374)
@@ -94,7 +94,7 @@ if(CMAKE_HOST_APPLE AND APPLE)
         set(LIBTOOL_NO_WARNING_FLAG "-no_warning_for_no_symbols")
       endif()
     endif()
-    
+
     foreach(lang ${languages})
       set(CMAKE_${lang}_CREATE_STATIC_LIBRARY
         "${CMAKE_LIBTOOL} -static ${LIBTOOL_NO_WARNING_FLAG} -o <TARGET> \
@@ -570,6 +570,10 @@ if (LLVM_BUILD_STATIC)
   set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static")
 endif()
 
+# Override the default target with an environment variable named by LLVM_TARGET_TRIPLE_ENV.
+set(LLVM_TARGET_TRIPLE_ENV CACHE STRING "The name of environment variable to override default target. Disabled by blank.")
+mark_as_advanced(LLVM_TARGET_TRIPLE_ENV)
+
 # All options referred to from HandleLLVMOptions have to be specified
 # BEFORE this include, otherwise options will not be correctly set on
 # first cmake run
@@ -800,7 +804,8 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
 endif(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
 
 if( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )
-   SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include llvm/Support/Solaris.h")
+   # special hack for Solaris to handle crazy system sys/regset.h
+   include_directories("${LLVM_MAIN_INCLUDE_DIR}/llvm/Support/Solaris")
 endif( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )
 
 # Make sure we don't get -rdynamic in every binary. For those that need it,

Modified: vendor/llvm/dist/CODE_OWNERS.TXT
==============================================================================
--- vendor/llvm/dist/CODE_OWNERS.TXT	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/CODE_OWNERS.TXT	Mon Jun 26 20:32:52 2017	(r320374)
@@ -195,6 +195,7 @@ D: MemorySanitizer (LLVM part)
 
 N: Craig Topper
 E: craig.topper@gmail.com
+E: craig.topper@intel.com
 D: X86 Backend
 
 N: Ulrich Weigand

Modified: vendor/llvm/dist/CREDITS.TXT
==============================================================================
--- vendor/llvm/dist/CREDITS.TXT	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/CREDITS.TXT	Mon Jun 26 20:32:52 2017	(r320374)
@@ -220,7 +220,7 @@ W: http://randomhacks.net/
 D: llvm-config script
 
 N: Anton Korobeynikov
-E: asl@math.spbu.ru
+E: anton at korobeynikov dot info
 D: Mingw32 fixes, cross-compiling support, stdcall/fastcall calling conv.
 D: x86/linux PIC codegen, aliases, regparm/visibility attributes
 D: Switch lowering refactoring

Modified: vendor/llvm/dist/cmake/modules/AddLLVM.cmake
==============================================================================
--- vendor/llvm/dist/cmake/modules/AddLLVM.cmake	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/cmake/modules/AddLLVM.cmake	Mon Jun 26 20:32:52 2017	(r320374)
@@ -1133,6 +1133,19 @@ function(configure_lit_site_cfg input output)
 
   set(LIT_SITE_CFG_IN_HEADER  "## Autogenerated from ${input}\n## Do not edit!")
 
+  # Override config_target_triple (and the env)
+  if(LLVM_TARGET_TRIPLE_ENV)
+    # This is expanded into the heading.
+    string(CONCAT LIT_SITE_CFG_IN_HEADER "${LIT_SITE_CFG_IN_HEADER}\n\n"
+      "import os\n"
+      "target_env = \"${LLVM_TARGET_TRIPLE_ENV}\"\n"
+      "config.target_triple = config.environment[target_env] = os.environ.get(target_env, \"${TARGET_TRIPLE}\")\n"
+      )
+
+    # This is expanded to; config.target_triple = ""+config.target_triple+""
+    set(TARGET_TRIPLE "\"+config.target_triple+\"")
+  endif()
+
   configure_file(${input} ${output} @ONLY)
 endfunction()
 

Modified: vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake
==============================================================================
--- vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake	Mon Jun 26 20:32:52 2017	(r320374)
@@ -642,6 +642,9 @@ if(LLVM_USE_SANITIZER)
       append_common_sanitizer_flags()
       append("-fsanitize=address,undefined -fno-sanitize=vptr,function -fno-sanitize-recover=all"
               CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
+    elseif (LLVM_USE_SANITIZER STREQUAL "Leaks")
+      append_common_sanitizer_flags()
+      append("-fsanitize=leak" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
     else()
       message(FATAL_ERROR "Unsupported value of LLVM_USE_SANITIZER: ${LLVM_USE_SANITIZER}")
     endif()

Modified: vendor/llvm/dist/cmake/modules/TableGen.cmake
==============================================================================
--- vendor/llvm/dist/cmake/modules/TableGen.cmake	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/cmake/modules/TableGen.cmake	Mon Jun 26 20:32:52 2017	(r320374)
@@ -14,8 +14,31 @@ function(tablegen project ofn)
     message(FATAL_ERROR "${project}_TABLEGEN_EXE not set")
   endif()
 
-  file(GLOB local_tds "*.td")
-  file(GLOB_RECURSE global_tds "${LLVM_MAIN_INCLUDE_DIR}/llvm/*.td")
+  # Use depfile instead of globbing arbitrary *.td(s)
+  # DEPFILE is available for Ninja Generator with CMake>=3.7.
+  if(CMAKE_GENERATOR STREQUAL "Ninja" AND NOT CMAKE_VERSION VERSION_LESS 3.7)
+    # Make output path relative to build.ninja, assuming located on
+    # ${CMAKE_BINARY_DIR}.
+    # CMake emits build targets as relative paths but Ninja doesn't identify
+    # absolute path (in *.d) as relative path (in build.ninja)
+    # Note that tblgen is executed on ${CMAKE_BINARY_DIR} as working directory.
+    file(RELATIVE_PATH ofn_rel
+      ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/${ofn})
+    set(additional_cmdline
+      -o ${ofn_rel}.tmp
+      -d ${ofn_rel}.d
+      WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+      DEPFILE ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.d
+      )
+    set(local_tds)
+    set(global_tds)
+  else()
+    file(GLOB local_tds "*.td")
+    file(GLOB_RECURSE global_tds "${LLVM_MAIN_INCLUDE_DIR}/llvm/*.td")
+    set(additional_cmdline
+      -o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
+      )
+  endif()
 
   if (IS_ABSOLUTE ${LLVM_TARGET_DEFINITIONS})
     set(LLVM_TARGET_DEFINITIONS_ABSOLUTE ${LLVM_TARGET_DEFINITIONS})
@@ -44,7 +67,7 @@ function(tablegen project ofn)
     COMMAND ${${project}_TABLEGEN_EXE} ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR}
     ${LLVM_TABLEGEN_FLAGS}
     ${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
-    -o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
+    ${additional_cmdline}
     # 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:
@@ -104,7 +127,8 @@ macro(add_tablegen target project)
   set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
   set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
 
-  if(NOT XCODE)
+  # CMake-3.9 doesn't let compilation units depend on their dependent libraries.
+  if(NOT (CMAKE_GENERATOR STREQUAL "Ninja" AND NOT CMAKE_VERSION VERSION_LESS 3.9) AND NOT XCODE)
     # FIXME: It leaks to user, callee of add_tablegen.
     set(LLVM_ENABLE_OBJLIB ON)
   endif()

Modified: vendor/llvm/dist/docs/AMDGPUUsage.rst
==============================================================================
--- vendor/llvm/dist/docs/AMDGPUUsage.rst	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/docs/AMDGPUUsage.rst	Mon Jun 26 20:32:52 2017	(r320374)
@@ -587,7 +587,7 @@ Code Object Metadata
 The code object metadata is specified by the ``NT_AMD_AMDHSA_METADATA`` note
 record (see :ref:`amdgpu-note-records`).
 
-The metadata is specified as a YAML formated string (see [YAML]_ and
+The metadata is specified as a YAML formatted string (see [YAML]_ and
 :doc:`YamlIO`).
 
 The metadata is represented as a single YAML document comprised of the mapping
@@ -1031,11 +1031,11 @@ Global variable
   appropriate section according to if it has initialized data or is readonly.
 
   If the symbol is external then its section is ``STN_UNDEF`` and the loader
-  will resolve relocations using the defintion provided by another code object
+  will resolve relocations using the definition provided by another code object
   or explicitly defined by the runtime.
 
   All global symbols, whether defined in the compilation unit or external, are
-  accessed by the machine code indirectly throught a GOT table entry. This
+  accessed by the machine code indirectly through a GOT table entry. This
   allows them to be preemptable. The GOT table is only supported when the target
   triple OS is ``amdhsa`` (see :ref:`amdgpu-target-triples`).
 
@@ -1160,7 +1160,7 @@ Register Mapping
    Define DWARF register enumeration.
 
    If want to present a wavefront state then should expose vector registers as
-   64 wide (rather than per work-item view that LLVM uses). Either as seperate
+   64 wide (rather than per work-item view that LLVM uses). Either as separate
    registers, or a 64x4 byte single register. In either case use a new LANE op
    (akin to XDREF) to select the current lane usage in a location
    expression. This would also allow scalar register spilling to vector register
@@ -1653,7 +1653,7 @@ CP microcode requires the Kernel descritor to be alloc
                                                      ``COMPUTE_PGM_RSRC2.USER_SGPR``.
      6       1 bit   enable_trap_handler             Set to 1 if code contains a
                                                      TRAP instruction which
-                                                     requires a trap hander to
+                                                     requires a trap handler to
                                                      be enabled.
 
                                                      CP sets
@@ -2146,7 +2146,7 @@ This section describes the mapping of LLVM memory mode
 .. TODO
    Update when implementation complete.
 
-   Support more relaxed OpenCL memory model to be controled by environment
+   Support more relaxed OpenCL memory model to be controlled by environment
    component of target triple.
 
 The AMDGPU backend supports the memory synchronization scopes specified in
@@ -2201,7 +2201,7 @@ For GFX6-GFX9:
   can be reordered relative to each other, which can result in reordering the
   visibility of vector memory operations with respect to LDS operations of other
   wavefronts in the same work-group. A ``s_waitcnt lgkmcnt(0)`` is required to
-  ensure synchonization between LDS operations and vector memory operations
+  ensure synchronization between LDS operations and vector memory operations
   between waves of a work-group, but not between operations performed by the
   same wavefront.
 * The vector memory operations are performed as wavefront wide operations and
@@ -2226,7 +2226,7 @@ For GFX6-GFX9:
   scalar memory operations performed by waves executing in different work-groups
   (which may be executing on different CUs) of an agent can be reordered
   relative to each other. A ``s_waitcnt vmcnt(0)`` is required to ensure
-  synchonization between vector memory operations of different CUs. It ensures a
+  synchronization between vector memory operations of different CUs. It ensures a
   previous vector memory operation has completed before executing a subsequent
   vector memory or LDS operation and so can be used to meet the requirements of
   acquire and release.
@@ -2268,7 +2268,7 @@ and vector L1 caches are invalidated between kernel di
 constant address space data may change between kernel dispatch executions. See
 :ref:`amdgpu-amdhsa-memory-spaces`.
 
-The one exeception is if scalar writes are used to spill SGPR registers. In this
+The one execption is if scalar writes are used to spill SGPR registers. In this
 case the AMDGPU backend ensures the memory location used to spill is never
 accessed by vector memory operations at the same time. If scalar writes are used
 then a ``s_dcache_wb`` is inserted before the ``s_endpgm`` and before a function
@@ -3310,7 +3310,7 @@ table
                     be moved before the acquire.
                   - If a fence then same as load atomic, plus no preceding
                     associated fence-paired-atomic can be moved after the fence.
-     release      - If a store atomic/atomicrmw then no preceeding load/load
+     release      - If a store atomic/atomicrmw then no preceding load/load
                     atomic/store/ store atomic/atomicrmw/fence instruction can
                     be moved after the release.
                   - If a fence then same as store atomic, plus no following

Modified: vendor/llvm/dist/docs/GetElementPtr.rst
==============================================================================
--- vendor/llvm/dist/docs/GetElementPtr.rst	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/docs/GetElementPtr.rst	Mon Jun 26 20:32:52 2017	(r320374)
@@ -27,7 +27,7 @@ questions.
 What is the first index of the GEP instruction?
 -----------------------------------------------
 
-Quick answer: The index stepping through the first operand.
+Quick answer: The index stepping through the second operand.
 
 The confusion with the first index usually arises from thinking about the
 GetElementPtr instruction as if it was a C index operator. They aren't the
@@ -59,7 +59,7 @@ Sometimes this question gets rephrased as:
   won't be dereferenced?*
 
 The answer is simply because memory does not have to be accessed to perform the
-computation. The first operand to the GEP instruction must be a value of a
+computation. The second operand to the GEP instruction must be a value of a
 pointer type. The value of the pointer is provided directly to the GEP
 instruction as an operand without any need for accessing memory. It must,
 therefore be indexed and requires an index operand. Consider this example:
@@ -80,8 +80,8 @@ therefore be indexed and requires an index operand. Co
 
 In this "C" example, the front end compiler (Clang) will generate three GEP
 instructions for the three indices through "P" in the assignment statement.  The
-function argument ``P`` will be the first operand of each of these GEP
-instructions.  The second operand indexes through that pointer.  The third
+function argument ``P`` will be the second operand of each of these GEP
+instructions.  The third operand indexes through that pointer.  The fourth
 operand will be the field offset into the ``struct munger_struct`` type, for
 either the ``f1`` or ``f2`` field. So, in LLVM assembly the ``munge`` function
 looks like:
@@ -100,8 +100,8 @@ looks like:
     ret void
   }
 
-In each case the first operand is the pointer through which the GEP instruction
-starts. The same is true whether the first operand is an argument, allocated
+In each case the second operand is the pointer through which the GEP instruction
+starts. The same is true whether the second operand is an argument, allocated
 memory, or a global variable.
 
 To make this clear, let's consider a more obtuse example:
@@ -159,11 +159,11 @@ confusion:
    i32 }*``. That is, ``%MyStruct`` is a pointer to a structure containing a
    pointer to a ``float`` and an ``i32``.
 
-#. Point #1 is evidenced by noticing the type of the first operand of the GEP
+#. Point #1 is evidenced by noticing the type of the second operand of the GEP
    instruction (``%MyStruct``) which is ``{ float*, i32 }*``.
 
 #. The first index, ``i64 0`` is required to step over the global variable
-   ``%MyStruct``.  Since the first argument to the GEP instruction must always
+   ``%MyStruct``.  Since the second argument to the GEP instruction must always
    be a value of pointer type, the first index steps through that pointer. A
    value of 0 means 0 elements offset from that pointer.
 
@@ -267,7 +267,7 @@ in the IR. In the future, it will probably be outright
 What effect do address spaces have on GEPs?
 -------------------------------------------
 
-None, except that the address space qualifier on the first operand pointer type
+None, except that the address space qualifier on the second operand pointer type
 always matches the address space qualifier on the result type.
 
 How is GEP different from ``ptrtoint``, arithmetic, and ``inttoptr``?
@@ -526,7 +526,7 @@ instruction:
 #. The GEP instruction never accesses memory, it only provides pointer
    computations.
 
-#. The first operand to the GEP instruction is always a pointer and it must be
+#. The second operand to the GEP instruction is always a pointer and it must be
    indexed.
 
 #. There are no superfluous indices for the GEP instruction.

Modified: vendor/llvm/dist/docs/GoldPlugin.rst
==============================================================================
--- vendor/llvm/dist/docs/GoldPlugin.rst	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/docs/GoldPlugin.rst	Mon Jun 26 20:32:52 2017	(r320374)
@@ -7,7 +7,7 @@ Introduction
 
 Building with link time optimization requires cooperation from
 the system linker. LTO support on Linux systems requires that you use the
-`gold linker`_ which supports LTO via plugins. This is the same mechanism
+`gold linker`_ or ld.bfd from binutils >= 2.21.51.0.2, as they support LTO via plugins. This is the same mechanism
 used by the `GCC LTO`_ project.
 
 The LLVM gold plugin implements the gold plugin interface on top of
@@ -23,24 +23,22 @@ The LLVM gold plugin implements the gold plugin interf
 How to build it
 ===============
 
-You need to have gold with plugin support and build the LLVMgold plugin.
-Check whether you have gold running ``/usr/bin/ld -v``. It will report "GNU
-gold" or else "GNU ld" if not. If you have gold, check for plugin support
-by running ``/usr/bin/ld -plugin``. If it complains "missing argument" then
-you have plugin support. If not, such as an "unknown option" error then you
-will either need to build gold or install a version with plugin support.
+Check for plugin support by running ``/usr/bin/ld -plugin``. If it complains
+"missing argument" then you have plugin support. If not, such as an "unknown option"
+error then you will either need to build gold or install a recent version
+of ld.bfd with plugin support and then build gold plugin.
 
-* Download, configure and build gold with plugin support:
+* Download, configure and build ld.bfd with plugin support:
 
   .. code-block:: bash
 
      $ git clone --depth 1 git://sourceware.org/git/binutils-gdb.git binutils
      $ mkdir build
      $ cd build
-     $ ../binutils/configure --enable-gold --enable-plugins --disable-werror
-     $ make all-gold
+     $ ../binutils/configure --disable-werror # ld.bfd includes plugin support by default
+     $ make all-ld
 
-  That should leave you with ``build/gold/ld-new`` which supports
+  That should leave you with ``build/ld/ld-new`` which supports
   the ``-plugin`` option. Running ``make`` will additionally build
   ``build/binutils/ar`` and ``nm-new`` binaries supporting plugins.
 

Modified: vendor/llvm/dist/docs/LangRef.rst
==============================================================================
--- vendor/llvm/dist/docs/LangRef.rst	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/docs/LangRef.rst	Mon Jun 26 20:32:52 2017	(r320374)
@@ -1468,6 +1468,19 @@ example:
     This attribute by itself does not imply restrictions on
     inter-procedural optimizations.  All of the semantic effects the
     patching may have to be separately conveyed via the linkage type.
+``"probe-stack"``
+    This attribute indicates that the function will trigger a guard region
+    in the end of the stack. It ensures that accesses to the stack must be
+    no further apart than the size of the guard region to a previous
+    access of the stack. It takes one required string value, the name of
+    the stack probing function that will be called.
+
+    If a function that has a ``"probe-stack"`` attribute is inlined into
+    a function with another ``"probe-stack"`` attribute, the resulting
+    function has the ``"probe-stack"`` attribute of the caller. If a
+    function that has a ``"probe-stack"`` attribute is inlined into a
+    function that has no ``"probe-stack"`` attribute at all, the resulting
+    function has the ``"probe-stack"`` attribute of the callee.
 ``readnone``
     On a function, this attribute indicates that the function computes its
     result (or decides to unwind an exception) based strictly on its arguments,
@@ -1498,6 +1511,21 @@ example:
     On an argument, this attribute indicates that the function does not write
     through this pointer argument, even though it may write to the memory that
     the pointer points to.
+``"stack-probe-size"``
+    This attribute controls the behavior of stack probes: either
+    the ``"probe-stack"`` attribute, or ABI-required stack probes, if any.
+    It defines the size of the guard region. It ensures that if the function
+    may use more stack space than the size of the guard region, stack probing
+    sequence will be emitted. It takes one required integer value, which
+    is 4096 by default.
+
+    If a function that has a ``"stack-probe-size"`` attribute is inlined into
+    a function with another ``"stack-probe-size"`` attribute, the resulting
+    function has the ``"stack-probe-size"`` attribute that has the lower
+    numeric value. If a function that has a ``"stack-probe-size"`` attribute is
+    inlined into a function that has no ``"stack-probe-size"`` attribute
+    at all, the resulting function has the ``"stack-probe-size"`` attribute
+    of the callee.
 ``writeonly``
     On a function, this attribute indicates that the function may write to but
     does not read from memory.
@@ -1989,7 +2017,7 @@ A pointer value is *based* on another pointer value ac
 following rules:
 
 -  A pointer value formed from a ``getelementptr`` operation is *based*
-   on the first value operand of the ``getelementptr``.
+   on the second value operand of the ``getelementptr``.
 -  The result value of a ``bitcast`` is *based* on the operand of the
    ``bitcast``.
 -  A pointer value formed by an ``inttoptr`` is *based* on all pointer
@@ -3166,7 +3194,7 @@ The following is the syntax for constant expressions:
 ``getelementptr (TY, CSTPTR, IDX0, IDX1, ...)``, ``getelementptr inbounds (TY, CSTPTR, IDX0, IDX1, ...)``
     Perform the :ref:`getelementptr operation <i_getelementptr>` on
     constants. As with the :ref:`getelementptr <i_getelementptr>`
-    instruction, the index list may have zero or more indexes, which are
+    instruction, the index list may have one or more indexes, which are
     required to make sense for the type of "pointer to TY".
 ``select (COND, VAL1, VAL2)``
     Perform the :ref:`select operation <i_select>` on constants.
@@ -7805,7 +7833,7 @@ base address to start from. The remaining arguments ar
 that indicate which of the elements of the aggregate object are indexed.
 The interpretation of each index is dependent on the type being indexed
 into. The first index always indexes the pointer value given as the
-first argument, the second index indexes a value of the type pointed to
+second argument, the second index indexes a value of the type pointed to
 (not necessarily the value directly pointed to, since the first index
 can be non-zero), etc. The first type indexed into must be a pointer
 value, subsequent types can be arrays, vectors, and structs. Note that

Modified: vendor/llvm/dist/docs/Proposals/VectorizationPlan.rst
==============================================================================
--- vendor/llvm/dist/docs/Proposals/VectorizationPlan.rst	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/docs/Proposals/VectorizationPlan.rst	Mon Jun 26 20:32:52 2017	(r320374)
@@ -27,7 +27,7 @@ Vectorization Workflow
 VPlan-based vectorization involves three major steps, taking a "scenario-based
 approach" to vectorization planning:
 
-1. Legal Step: check if a loop can be legally vectorized; encode contraints and
+1. Legal Step: check if a loop can be legally vectorized; encode constraints and
    artifacts if so.
 2. Plan Step:
 

Modified: vendor/llvm/dist/docs/XRay.rst
==============================================================================
--- vendor/llvm/dist/docs/XRay.rst	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/docs/XRay.rst	Mon Jun 26 20:32:52 2017	(r320374)
@@ -150,7 +150,7 @@ variable, where we list down the options and their def
 | xray_logfile_base | ``const char*`` | ``xray-log.`` | Filename base for the  |
 |                   |                 |               | XRay logfile.          |
 +-------------------+-----------------+---------------+------------------------+
-| xray_fdr_log      | ``bool``        | ``false``     | Wheter to install the  |
+| xray_fdr_log      | ``bool``        | ``false``     | Whether to install the  |
 |                   |                 |               | Flight Data Recorder   |
 |                   |                 |               | (FDR) mode.            |
 +-------------------+-----------------+---------------+------------------------+

Modified: vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h
==============================================================================
--- vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h	Mon Jun 26 20:32:52 2017	(r320374)
@@ -40,11 +40,11 @@ class KaleidoscopeJIT {
 private:
   std::unique_ptr<TargetMachine> TM;
   const DataLayout DL;
-  RTDyldObjectLinkingLayer<> ObjectLayer;
-  IRCompileLayer<decltype(ObjectLayer)> CompileLayer;
+  RTDyldObjectLinkingLayer ObjectLayer;
+  IRCompileLayer<decltype(ObjectLayer), SimpleCompiler> CompileLayer;
 
 public:
-  using ModuleHandle = decltype(CompileLayer)::ModuleSetHandleT;
+  using ModuleHandle = decltype(CompileLayer)::ModuleHandleT;
 
   KaleidoscopeJIT()
       : TM(EngineBuilder().selectTarget()), DL(TM->createDataLayout()),
@@ -72,15 +72,11 @@ class KaleidoscopeJIT {
           return JITSymbol(nullptr);
         });
 
-    // Build a singleton module set to hold our module.
-    std::vector<std::unique_ptr<Module>> Ms;
-    Ms.push_back(std::move(M));
-
     // Add the set to the JIT with the resolver we created above and a newly
     // created SectionMemoryManager.
-    return CompileLayer.addModuleSet(std::move(Ms),
-                                     make_unique<SectionMemoryManager>(),
-                                     std::move(Resolver));
+    return CompileLayer.addModule(std::move(M),
+                                  make_unique<SectionMemoryManager>(),
+                                  std::move(Resolver));
   }
 
   JITSymbol findSymbol(const std::string Name) {
@@ -91,7 +87,7 @@ class KaleidoscopeJIT {
   }
 
   void removeModule(ModuleHandle H) {
-    CompileLayer.removeModuleSet(H);
+    CompileLayer.removeModule(H);
   }
 };
 

Modified: vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h
==============================================================================
--- vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h	Mon Jun 26 20:32:52 2017	(r320374)
@@ -44,22 +44,22 @@ class KaleidoscopeJIT {
 private:
   std::unique_ptr<TargetMachine> TM;
   const DataLayout DL;
-  RTDyldObjectLinkingLayer<> ObjectLayer;
-  IRCompileLayer<decltype(ObjectLayer)> CompileLayer;
+  RTDyldObjectLinkingLayer ObjectLayer;
+  IRCompileLayer<decltype(ObjectLayer), SimpleCompiler> CompileLayer;
 
   using OptimizeFunction =
-      std::function<std::unique_ptr<Module>(std::unique_ptr<Module>)>;
+      std::function<std::shared_ptr<Module>(std::shared_ptr<Module>)>;
 
   IRTransformLayer<decltype(CompileLayer), OptimizeFunction> OptimizeLayer;
 
 public:
-  using ModuleHandle = decltype(OptimizeLayer)::ModuleSetHandleT;
+  using ModuleHandle = decltype(OptimizeLayer)::ModuleHandleT;
 
   KaleidoscopeJIT()
       : TM(EngineBuilder().selectTarget()), DL(TM->createDataLayout()),
         CompileLayer(ObjectLayer, SimpleCompiler(*TM)),
         OptimizeLayer(CompileLayer,
-                      [this](std::unique_ptr<Module> M) {
+                      [this](std::shared_ptr<Module> M) {
                         return optimizeModule(std::move(M));
                       }) {
     llvm::sys::DynamicLibrary::LoadLibraryPermanently(nullptr);
@@ -85,15 +85,11 @@ class KaleidoscopeJIT {
           return JITSymbol(nullptr);
         });
 
-    // Build a singleton module set to hold our module.
-    std::vector<std::unique_ptr<Module>> Ms;
-    Ms.push_back(std::move(M));
-
     // Add the set to the JIT with the resolver we created above and a newly
     // created SectionMemoryManager.
-    return OptimizeLayer.addModuleSet(std::move(Ms),
-                                      make_unique<SectionMemoryManager>(),
-                                      std::move(Resolver));
+    return OptimizeLayer.addModule(std::move(M),
+                                   make_unique<SectionMemoryManager>(),
+                                   std::move(Resolver));
   }
 
   JITSymbol findSymbol(const std::string Name) {
@@ -104,11 +100,11 @@ class KaleidoscopeJIT {
   }
 
   void removeModule(ModuleHandle H) {
-    OptimizeLayer.removeModuleSet(H);
+    OptimizeLayer.removeModule(H);
   }
 
 private:
-  std::unique_ptr<Module> optimizeModule(std::unique_ptr<Module> M) {
+  std::shared_ptr<Module> optimizeModule(std::shared_ptr<Module> M) {
     // Create a function pass manager.
     auto FPM = llvm::make_unique<legacy::FunctionPassManager>(M.get());
 

Modified: vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
==============================================================================
--- vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h	Mon Jun 26 20:32:52 2017	(r320374)
@@ -47,11 +47,11 @@ class KaleidoscopeJIT {
 private:
   std::unique_ptr<TargetMachine> TM;
   const DataLayout DL;
-  RTDyldObjectLinkingLayer<> ObjectLayer;
-  IRCompileLayer<decltype(ObjectLayer)> CompileLayer;
+  RTDyldObjectLinkingLayer ObjectLayer;
+  IRCompileLayer<decltype(ObjectLayer), SimpleCompiler> CompileLayer;
 
   using OptimizeFunction =
-      std::function<std::unique_ptr<Module>(std::unique_ptr<Module>)>;
+      std::function<std::shared_ptr<Module>(std::shared_ptr<Module>)>;
 
   IRTransformLayer<decltype(CompileLayer), OptimizeFunction> OptimizeLayer;
 
@@ -59,13 +59,13 @@ class KaleidoscopeJIT {
   CompileOnDemandLayer<decltype(OptimizeLayer)> CODLayer;
 
 public:
-  using ModuleHandle = decltype(CODLayer)::ModuleSetHandleT;
+  using ModuleHandle = decltype(CODLayer)::ModuleHandleT;
 
   KaleidoscopeJIT()
       : TM(EngineBuilder().selectTarget()), DL(TM->createDataLayout()),
         CompileLayer(ObjectLayer, SimpleCompiler(*TM)),
         OptimizeLayer(CompileLayer,
-                      [this](std::unique_ptr<Module> M) {
+                      [this](std::shared_ptr<Module> M) {
                         return optimizeModule(std::move(M));
                       }),
         CompileCallbackManager(
@@ -98,15 +98,11 @@ class KaleidoscopeJIT {
           return JITSymbol(nullptr);
         });
 
-    // Build a singleton module set to hold our module.
-    std::vector<std::unique_ptr<Module>> Ms;
-    Ms.push_back(std::move(M));
-
     // Add the set to the JIT with the resolver we created above and a newly
     // created SectionMemoryManager.
-    return CODLayer.addModuleSet(std::move(Ms),
-                                 make_unique<SectionMemoryManager>(),
-                                 std::move(Resolver));
+    return CODLayer.addModule(std::move(M),
+                              make_unique<SectionMemoryManager>(),
+                              std::move(Resolver));
   }
 
   JITSymbol findSymbol(const std::string Name) {
@@ -117,11 +113,11 @@ class KaleidoscopeJIT {
   }
 
   void removeModule(ModuleHandle H) {
-    CODLayer.removeModuleSet(H);
+    CODLayer.removeModule(H);
   }
 
 private:
-  std::unique_ptr<Module> optimizeModule(std::unique_ptr<Module> M) {
+  std::shared_ptr<Module> optimizeModule(std::shared_ptr<Module> M) {
     // Create a function pass manager.
     auto FPM = llvm::make_unique<legacy::FunctionPassManager>(M.get());
 

Modified: vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
==============================================================================
--- vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h	Mon Jun 26 20:32:52 2017	(r320374)
@@ -73,11 +73,11 @@ class KaleidoscopeJIT {
 private:
   std::unique_ptr<TargetMachine> TM;
   const DataLayout DL;
-  RTDyldObjectLinkingLayer<> ObjectLayer;
-  IRCompileLayer<decltype(ObjectLayer)> CompileLayer;
+  RTDyldObjectLinkingLayer ObjectLayer;
+  IRCompileLayer<decltype(ObjectLayer), SimpleCompiler> CompileLayer;
 
   using OptimizeFunction =
-      std::function<std::unique_ptr<Module>(std::unique_ptr<Module>)>;
+      std::function<std::shared_ptr<Module>(std::shared_ptr<Module>)>;
 
   IRTransformLayer<decltype(CompileLayer), OptimizeFunction> OptimizeLayer;
 
@@ -85,14 +85,14 @@ class KaleidoscopeJIT {
   std::unique_ptr<IndirectStubsManager> IndirectStubsMgr;
 
 public:
-  using ModuleHandle = decltype(OptimizeLayer)::ModuleSetHandleT;
+  using ModuleHandle = decltype(OptimizeLayer)::ModuleHandleT;
 
   KaleidoscopeJIT()
       : TM(EngineBuilder().selectTarget()),
         DL(TM->createDataLayout()),
         CompileLayer(ObjectLayer, SimpleCompiler(*TM)),
         OptimizeLayer(CompileLayer,
-                      [this](std::unique_ptr<Module> M) {
+                      [this](std::shared_ptr<Module> M) {
                         return optimizeModule(std::move(M));
                       }),
         CompileCallbackMgr(
@@ -125,15 +125,11 @@ class KaleidoscopeJIT {
           return JITSymbol(nullptr);
         });
 
-    // Build a singleton module set to hold our module.
-    std::vector<std::unique_ptr<Module>> Ms;
-    Ms.push_back(std::move(M));
-
     // Add the set to the JIT with the resolver we created above and a newly
     // created SectionMemoryManager.
-    return OptimizeLayer.addModuleSet(std::move(Ms),
-                                      make_unique<SectionMemoryManager>(),
-                                      std::move(Resolver));
+    return OptimizeLayer.addModule(std::move(M),
+                                   make_unique<SectionMemoryManager>(),
+                                   std::move(Resolver));
   }
 
   Error addFunctionAST(std::unique_ptr<FunctionAST> FnAST) {
@@ -199,7 +195,7 @@ class KaleidoscopeJIT {
   }
 
   void removeModule(ModuleHandle H) {
-    OptimizeLayer.removeModuleSet(H);
+    OptimizeLayer.removeModule(H);
   }
 
 private:
@@ -210,7 +206,7 @@ class KaleidoscopeJIT {
     return MangledNameStream.str();
   }
 
-  std::unique_ptr<Module> optimizeModule(std::unique_ptr<Module> M) {
+  std::shared_ptr<Module> optimizeModule(std::shared_ptr<Module> M) {
     // Create a function pass manager.
     auto FPM = llvm::make_unique<legacy::FunctionPassManager>(M.get());
 

Modified: vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter5/KaleidoscopeJIT.h
==============================================================================
--- vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter5/KaleidoscopeJIT.h	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/examples/Kaleidoscope/BuildingAJIT/Chapter5/KaleidoscopeJIT.h	Mon Jun 26 20:32:52 2017	(r320374)
@@ -78,11 +78,11 @@ class KaleidoscopeJIT {
 private:
   std::unique_ptr<TargetMachine> TM;
   const DataLayout DL;
-  RTDyldObjectLinkingLayer<> ObjectLayer;
-  IRCompileLayer<decltype(ObjectLayer)> CompileLayer;
+  RTDyldObjectLinkingLayer ObjectLayer;
+  IRCompileLayer<decltype(ObjectLayer), SimpleCompiler> CompileLayer;
 
   using OptimizeFunction =
-      std::function<std::unique_ptr<Module>(std::unique_ptr<Module>)>;
+      std::function<std::shared_ptr<Module>(std::shared_ptr<Module>)>;
 
   IRTransformLayer<decltype(CompileLayer), OptimizeFunction> OptimizeLayer;
 
@@ -91,7 +91,7 @@ class KaleidoscopeJIT {
   MyRemote &Remote;
 
 public:
-  using ModuleHandle = decltype(OptimizeLayer)::ModuleSetHandleT;
+  using ModuleHandle = decltype(OptimizeLayer)::ModuleHandleT;
 
   KaleidoscopeJIT(MyRemote &Remote)
       : TM(EngineBuilder().selectTarget(Triple(Remote.getTargetTriple()), "",
@@ -99,7 +99,7 @@ class KaleidoscopeJIT {
         DL(TM->createDataLayout()),
         CompileLayer(ObjectLayer, SimpleCompiler(*TM)),
         OptimizeLayer(CompileLayer,
-                      [this](std::unique_ptr<Module> M) {
+                      [this](std::shared_ptr<Module> M) {
                         return optimizeModule(std::move(M));
                       }),
         Remote(Remote) {
@@ -153,15 +153,11 @@ class KaleidoscopeJIT {
       exit(1);
     }
 
-    // Build a singleton module set to hold our module.
-    std::vector<std::unique_ptr<Module>> Ms;
-    Ms.push_back(std::move(M));
-
     // Add the set to the JIT with the resolver we created above and a newly
     // created SectionMemoryManager.
-    return OptimizeLayer.addModuleSet(std::move(Ms),
-                                      std::move(MemMgr),
-                                      std::move(Resolver));
+    return OptimizeLayer.addModule(std::move(M),
+                                   std::move(MemMgr),
+                                   std::move(Resolver));
   }
 
   Error addFunctionAST(std::unique_ptr<FunctionAST> FnAST) {
@@ -231,7 +227,7 @@ class KaleidoscopeJIT {
   }
 
   void removeModule(ModuleHandle H) {
-    OptimizeLayer.removeModuleSet(H);
+    OptimizeLayer.removeModule(H);
   }
 
 private:
@@ -242,7 +238,7 @@ class KaleidoscopeJIT {
     return MangledNameStream.str();
   }
 
-  std::unique_ptr<Module> optimizeModule(std::unique_ptr<Module> M) {
+  std::shared_ptr<Module> optimizeModule(std::shared_ptr<Module> M) {
     // Create a function pass manager.
     auto FPM = llvm::make_unique<legacy::FunctionPassManager>(M.get());
 

Modified: vendor/llvm/dist/examples/Kaleidoscope/include/KaleidoscopeJIT.h
==============================================================================
--- vendor/llvm/dist/examples/Kaleidoscope/include/KaleidoscopeJIT.h	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/examples/Kaleidoscope/include/KaleidoscopeJIT.h	Mon Jun 26 20:32:52 2017	(r320374)
@@ -39,9 +39,9 @@ namespace orc {
 
 class KaleidoscopeJIT {
 public:
-  using ObjLayerT = RTDyldObjectLinkingLayer<>;
-  using CompileLayerT = IRCompileLayer<ObjLayerT>;
-  using ModuleHandleT = CompileLayerT::ModuleSetHandleT;
+  using ObjLayerT = RTDyldObjectLinkingLayer;
+  using CompileLayerT = IRCompileLayer<ObjLayerT, SimpleCompiler>;
+  using ModuleHandleT = CompileLayerT::ModuleHandleT;
 
   KaleidoscopeJIT()
       : TM(EngineBuilder().selectTarget()), DL(TM->createDataLayout()),
@@ -62,9 +62,9 @@ class KaleidoscopeJIT { (public)
           return JITSymbol(nullptr);
         },
         [](const std::string &S) { return nullptr; });
-    auto H = CompileLayer.addModuleSet(singletonSet(std::move(M)),
-                                       make_unique<SectionMemoryManager>(),
-                                       std::move(Resolver));
+    auto H = CompileLayer.addModule(std::move(M),
+                                    make_unique<SectionMemoryManager>(),
+                                    std::move(Resolver));
 
     ModuleHandles.push_back(H);
     return H;
@@ -72,7 +72,7 @@ class KaleidoscopeJIT { (public)
 
   void removeModule(ModuleHandleT H) {
     ModuleHandles.erase(find(ModuleHandles, H));
-    CompileLayer.removeModuleSet(H);
+    CompileLayer.removeModule(H);
   }
 
   JITSymbol findSymbol(const std::string Name) {
@@ -87,12 +87,6 @@ class KaleidoscopeJIT { (public)
       Mangler::getNameWithPrefix(MangledNameStream, Name, DL);
     }
     return MangledName;
-  }
-
-  template <typename T> static std::vector<T> singletonSet(T t) {
-    std::vector<T> Vec;
-    Vec.push_back(std::move(t));
-    return Vec;
   }
 
   JITSymbol findMangledSymbol(const std::string &Name) {

Modified: vendor/llvm/dist/include/llvm-c/OrcBindings.h
==============================================================================
--- vendor/llvm/dist/include/llvm-c/OrcBindings.h	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/include/llvm-c/OrcBindings.h	Mon Jun 26 20:32:52 2017	(r320374)
@@ -29,6 +29,8 @@
 extern "C" {
 #endif
 
+typedef struct LLVMOpaqueSharedModule *LLVMSharedModuleRef;
+typedef struct LLVMOpaqueSharedObjectBuffer *LLVMSharedObjectBufferRef;
 typedef struct LLVMOrcOpaqueJITStack *LLVMOrcJITStackRef;
 typedef uint32_t LLVMOrcModuleHandle;
 typedef uint64_t LLVMOrcTargetAddress;
@@ -39,6 +41,45 @@ typedef uint64_t (*LLVMOrcLazyCompileCallbackFn)(LLVMO
 typedef enum { LLVMOrcErrSuccess = 0, LLVMOrcErrGeneric } LLVMOrcErrorCode;
 
 /**
+ * Turn an LLVMModuleRef into an LLVMSharedModuleRef.
+ *
+ * The JIT uses shared ownership for LLVM modules, since it is generally
+ * difficult to know when the JIT will be finished with a module (and the JIT
+ * has no way of knowing when a user may be finished with one).
+ *
+ * Calling this method with an LLVMModuleRef creates a shared-pointer to the
+ * module, and returns a reference to this shared pointer.
+ *
+ * The shared module should be disposed when finished with by calling
+ * LLVMOrcDisposeSharedModule (not LLVMDisposeModule). The Module will be
+ * deleted when the last shared pointer owner relinquishes it.
+ */
+
+LLVMSharedModuleRef LLVMOrcMakeSharedModule(LLVMModuleRef Mod);
+
+/**
+ * Dispose of a shared module.
+ *
+ * The module should not be accessed after this call. The module will be
+ * deleted once all clients (including the JIT itself) have released their
+ * shared pointers.
+ */
+
+void LLVMOrcDisposeSharedModuleRef(LLVMSharedModuleRef SharedMod);
+
+/**
+ * Get an LLVMSharedObjectBufferRef from an LLVMMemoryBufferRef.
+ */
+LLVMSharedObjectBufferRef
+LLVMOrcMakeSharedObjectBuffer(LLVMMemoryBufferRef ObjBuffer);
+
+/**
+ * Dispose of a shared object buffer.
+ */
+void
+LLVMOrcDisposeSharedObjectBufferRef(LLVMSharedObjectBufferRef SharedObjBuffer);
+
+/**
  * Create an ORC JIT stack.
  *
  * The client owns the resulting stack, and must call OrcDisposeInstance(...)
@@ -95,7 +136,8 @@ LLVMOrcErrorCode LLVMOrcSetIndirectStubPointer(LLVMOrc
  * Add module to be eagerly compiled.
  */
 LLVMOrcModuleHandle
-LLVMOrcAddEagerlyCompiledIR(LLVMOrcJITStackRef JITStack, LLVMModuleRef Mod,
+LLVMOrcAddEagerlyCompiledIR(LLVMOrcJITStackRef JITStack,
+                            LLVMSharedModuleRef Mod,
                             LLVMOrcSymbolResolverFn SymbolResolver,
                             void *SymbolResolverCtx);
 
@@ -103,7 +145,8 @@ LLVMOrcAddEagerlyCompiledIR(LLVMOrcJITStackRef JITStac
  * Add module to be lazily compiled one function at a time.
  */
 LLVMOrcModuleHandle
-LLVMOrcAddLazilyCompiledIR(LLVMOrcJITStackRef JITStack, LLVMModuleRef Mod,
+LLVMOrcAddLazilyCompiledIR(LLVMOrcJITStackRef JITStack,
+                           LLVMSharedModuleRef Mod,
                            LLVMOrcSymbolResolverFn SymbolResolver,
                            void *SymbolResolverCtx);
 
@@ -111,7 +154,7 @@ LLVMOrcAddLazilyCompiledIR(LLVMOrcJITStackRef JITStack
  * Add an object file.
  */
 LLVMOrcModuleHandle LLVMOrcAddObjectFile(LLVMOrcJITStackRef JITStack,
-                                         LLVMObjectFileRef Obj,
+                                         LLVMSharedObjectBufferRef Obj,
                                          LLVMOrcSymbolResolverFn SymbolResolver,
                                          void *SymbolResolverCtx);
 

Modified: vendor/llvm/dist/include/llvm/ADT/APFloat.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/APFloat.h	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/include/llvm/ADT/APFloat.h	Mon Jun 26 20:32:52 2017	(r320374)
@@ -140,8 +140,8 @@ enum lostFraction { // Example of truncated bits:
 // implementation classes. This struct should not define any non-static data
 // members.
 struct APFloatBase {
-  // TODO remove this and use APInt typedef directly.
   typedef APInt::WordType integerPart;
+  static const unsigned integerPartWidth = APInt::APINT_BITS_PER_WORD;
 
   /// A signed type to represent a floating point numbers unbiased exponent.
   typedef signed short ExponentType;

Modified: vendor/llvm/dist/include/llvm/ADT/APInt.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/APInt.h	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/include/llvm/ADT/APInt.h	Mon Jun 26 20:32:52 2017	(r320374)
@@ -213,6 +213,12 @@ class LLVM_NODISCARD APInt { (private)
   /// out-of-line slow case for countLeadingZeros
   unsigned countLeadingZerosSlowCase() const LLVM_READONLY;
 
+  /// out-of-line slow case for countLeadingOnes.
+  unsigned countLeadingOnesSlowCase() const LLVM_READONLY;
+
+  /// out-of-line slow case for countTrailingZeros.
+  unsigned countTrailingZerosSlowCase() const LLVM_READONLY;
+
   /// out-of-line slow case for countTrailingOnes
   unsigned countTrailingOnesSlowCase() const LLVM_READONLY;
 
@@ -383,7 +389,7 @@ class LLVM_NODISCARD APInt { (private)
   bool isAllOnesValue() const {
     if (isSingleWord())
       return U.VAL == WORD_MAX >> (APINT_BITS_PER_WORD - BitWidth);
-    return countPopulationSlowCase() == BitWidth;
+    return countTrailingOnesSlowCase() == BitWidth;
   }
 
   /// \brief Determine if all bits are clear
@@ -408,7 +414,9 @@ class LLVM_NODISCARD APInt { (private)
   /// This checks to see if the value of this APInt is the maximum signed
   /// value for the APInt's bit width.
   bool isMaxSignedValue() const {
-    return !isNegative() && countPopulation() == BitWidth - 1;
+    if (isSingleWord())
+      return U.VAL == ((WordType(1) << (BitWidth - 1)) - 1);
+    return !isNegative() && countTrailingOnesSlowCase() == BitWidth - 1;
   }
 
   /// \brief Determine if this is the smallest unsigned value.
@@ -422,7 +430,9 @@ class LLVM_NODISCARD APInt { (private)
   /// This checks to see if the value of this APInt is the minimum signed
   /// value for the APInt's bit width.
   bool isMinSignedValue() const {
-    return isNegative() && isPowerOf2();
+    if (isSingleWord())
+      return U.VAL == (WordType(1) << (BitWidth - 1));
+    return isNegative() && countTrailingZerosSlowCase() == BitWidth - 1;
   }
 
   /// \brief Check if this APInt has an N-bits unsigned integer value.
@@ -1574,7 +1584,11 @@ class LLVM_NODISCARD APInt { (private)
   ///
   /// \returns 0 if the high order bit is not set, otherwise returns the number
   /// of 1 bits from the most significant to the least
-  unsigned countLeadingOnes() const LLVM_READONLY;
+  unsigned countLeadingOnes() const {
+    if (isSingleWord())
+      return llvm::countLeadingOnes(U.VAL << (APINT_BITS_PER_WORD - BitWidth));
+    return countLeadingOnesSlowCase();
+  }
 
   /// Computes the number of leading bits of this APInt that are equal to its
   /// sign bit.
@@ -1590,7 +1604,11 @@ class LLVM_NODISCARD APInt { (private)
   ///
   /// \returns BitWidth if the value is zero, otherwise returns the number of
   /// zeros from the least significant bit to the first one bit.
-  unsigned countTrailingZeros() const LLVM_READONLY;
+  unsigned countTrailingZeros() const {
+    if (isSingleWord())
+      return std::min(unsigned(llvm::countTrailingZeros(U.VAL)), BitWidth);
+    return countTrailingZerosSlowCase();
+  }
 
   /// \brief Count the number of trailing one bits.
   ///

Modified: vendor/llvm/dist/include/llvm/ADT/StringExtras.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/StringExtras.h	Mon Jun 26 20:17:48 2017	(r320373)
+++ vendor/llvm/dist/include/llvm/ADT/StringExtras.h	Mon Jun 26 20:32:52 2017	(r320374)
@@ -15,10 +15,12 @@
 #define LLVM_ADT_STRINGEXTRAS_H
 
 #include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/SmallString.h"
 #include "llvm/ADT/StringRef.h"
 #include <cassert>
 #include <cstddef>
 #include <cstdint>
+#include <cstdlib>
 #include <cstring>
 #include <iterator>
 #include <string>
@@ -127,6 +129,32 @@ static inline std::string fromHex(StringRef Input) {
 /// Returns true if the number was successfully converted, false otherwise.
 template <typename N> bool to_integer(StringRef S, N &Num, unsigned Base = 0) {
   return !S.getAsInteger(Base, Num);
+}
+
+namespace detail {

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



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