Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Jul 2017 13:22:03 +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: r320533 - in vendor/llvm/dist: . bindings/ocaml/target docs docs/CommandGuide include/llvm include/llvm-c/Transforms include/llvm/Analysis include/llvm/BinaryFormat include/llvm/Bitcode...
Message-ID:  <201707011322.v61DM3V7021898@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Sat Jul  1 13:22:02 2017
New Revision: 320533
URL: https://svnweb.freebsd.org/changeset/base/320533

Log:
  Vendor import of llvm trunk r306956:
  https://llvm.org/svn/llvm-project/llvm/trunk@306956

Added:
  vendor/llvm/dist/docs/Docker.rst
  vendor/llvm/dist/include/llvm/Analysis/CFLAliasAnalysisUtils.h   (contents, props changed)
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h   (contents, props changed)
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDataExtractor.cpp   (contents, props changed)
  vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp   (contents, props changed)
  vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp   (contents, props changed)
  vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.h   (contents, props changed)
  vendor/llvm/dist/lib/Target/ARM/ARMScheduleM3.td
  vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrSystem.td
  vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/legalize-extracts.mir
  vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/legalize-undef.mir
  vendor/llvm/dist/test/CodeGen/AArch64/ccmp-successor-probs.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/alignbit-pat.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/combine-and-sext-bool.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/fold-fmul-to-neg-abs.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/misched-killflags.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/rename-independent-subregs-mac-operands.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/sdwa-peephole-instr.mir
  vendor/llvm/dist/test/CodeGen/AMDGPU/setcc-sext.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/spill-to-smem-m0.ll
  vendor/llvm/dist/test/CodeGen/ARM/cmpxchg-O0-be.ll
  vendor/llvm/dist/test/CodeGen/BPF/remove_truncate_1.ll
  vendor/llvm/dist/test/CodeGen/BPF/remove_truncate_2.ll
  vendor/llvm/dist/test/CodeGen/Hexagon/addrmode-keepdeadphis.mir
  vendor/llvm/dist/test/CodeGen/Hexagon/expand-condsets-undefvni.ll
  vendor/llvm/dist/test/CodeGen/Hexagon/expand-vselect-kill.ll
  vendor/llvm/dist/test/CodeGen/Hexagon/fpelim-basic.ll
  vendor/llvm/dist/test/CodeGen/Hexagon/jt-in-text.ll
  vendor/llvm/dist/test/CodeGen/Hexagon/newvaluejump-kill2.mir
  vendor/llvm/dist/test/CodeGen/Hexagon/regalloc-liveout-undef.mir
  vendor/llvm/dist/test/CodeGen/PowerPC/merge_stores_dereferenceable.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/tls_get_addr_fence1.mir
  vendor/llvm/dist/test/CodeGen/PowerPC/tls_get_addr_fence2.mir
  vendor/llvm/dist/test/CodeGen/Thumb2/ifcvt-no-branch-predictor.ll
  vendor/llvm/dist/test/CodeGen/WebAssembly/exception.ll
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/and-scalar.ll
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/fadd-scalar.ll
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/fdiv-scalar.ll
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/fmul-scalar.ll
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/fsub-scalar.ll
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/legalize-and-scalar.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/legalize-fadd-scalar.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/legalize-fdiv-scalar.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/legalize-fmul-scalar.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/legalize-fsub-scalar.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/legalize-or-scalar.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/legalize-xor-scalar.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/or-scalar.ll
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-and-scalar.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-fadd-scalar.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-fdiv-scalar.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-fmul-scalar.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-fsub-scalar.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-merge-vec256.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-merge-vec512.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-or-scalar.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-xor-scalar.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/xor-scalar.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll
  vendor/llvm/dist/test/CodeGen/X86/bswap-wide-int.ll
  vendor/llvm/dist/test/CodeGen/X86/peephole-recurrence.mir
  vendor/llvm/dist/test/CodeGen/X86/vector-truncate-combine.ll
  vendor/llvm/dist/test/DebugInfo/COFF/lines-bb-start.ll
  vendor/llvm/dist/test/LTO/Resolution/X86/Inputs/comdat-mixed-lto.ll
  vendor/llvm/dist/test/LTO/Resolution/X86/comdat-mixed-lto.ll
  vendor/llvm/dist/test/MC/AArch64/coff-basic.ll
  vendor/llvm/dist/test/MC/Mips/macro-dla-bad.s   (contents, props changed)
  vendor/llvm/dist/test/MC/Mips/macro-dla-pic.s   (contents, props changed)
  vendor/llvm/dist/test/MC/WebAssembly/weak-alias.ll
  vendor/llvm/dist/test/MC/WebAssembly/weak.ll
  vendor/llvm/dist/test/MC/X86/signed-coff-pcrel.s   (contents, props changed)
  vendor/llvm/dist/test/Object/X86/irsymtab-asm.ll
  vendor/llvm/dist/test/Object/X86/irsymtab-bad-alias.ll
  vendor/llvm/dist/test/Object/X86/irsymtab.ll
  vendor/llvm/dist/test/Object/X86/yaml-elf-x86-rel-broken.yaml
  vendor/llvm/dist/test/Transforms/CodeExtractor/BlockAddressReference.ll
  vendor/llvm/dist/test/Transforms/CodeExtractor/BlockAddressSelfReference.ll
  vendor/llvm/dist/test/Transforms/CodeGenPrepare/nonintegral.ll
  vendor/llvm/dist/test/Transforms/ConstantHoisting/ARM/gep-struct-index.ll
  vendor/llvm/dist/test/Transforms/Inline/AArch64/inline-target-attr.ll
  vendor/llvm/dist/test/Transforms/Inline/inline-cold-callsite-pgo.ll
  vendor/llvm/dist/test/Transforms/Inline/pr33637.ll
  vendor/llvm/dist/test/Transforms/InstCombine/clamp-to-minmax.ll
  vendor/llvm/dist/test/Transforms/InstCombine/extractinsert-tbaa.ll
  vendor/llvm/dist/test/Transforms/JumpThreading/range-compare.ll
  vendor/llvm/dist/test/Transforms/LICM/dropped-tbaa.ll
  vendor/llvm/dist/test/Transforms/LoopUnroll/AArch64/falkor-prefetch.ll
  vendor/llvm/dist/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
  vendor/llvm/dist/test/Transforms/LoopUnroll/unroll-maxcount.ll
  vendor/llvm/dist/test/Transforms/Reassociate/erase_inst_made_change.ll
  vendor/llvm/dist/test/Transforms/SLPVectorizer/X86/limit.ll
  vendor/llvm/dist/test/Transforms/SimplifyCFG/Hexagon/
  vendor/llvm/dist/test/Transforms/SimplifyCFG/Hexagon/lit.local.cfg
  vendor/llvm/dist/test/Transforms/SimplifyCFG/Hexagon/switch-to-lookup-table.ll
  vendor/llvm/dist/test/tools/llvm-cvtres/symbols.test
  vendor/llvm/dist/test/tools/llvm-dwarfdump/X86/apple_names_verify_data.s   (contents, props changed)
  vendor/llvm/dist/test/tools/llvm-dwarfdump/X86/apple_names_verify_form.s   (contents, props changed)
  vendor/llvm/dist/test/tools/llvm-dwarfdump/X86/apple_names_verify_num_atoms.s   (contents, props changed)
  vendor/llvm/dist/test/tools/llvm-dwarfdump/X86/no_apple_names_verify.s   (contents, props changed)
  vendor/llvm/dist/test/tools/llvm-nm/X86/demangle.ll
  vendor/llvm/dist/test/tools/llvm-objdump/ARM/invalid-instruction.s   (contents, props changed)
  vendor/llvm/dist/test/tools/llvm-objdump/WebAssembly/lit.local.cfg
  vendor/llvm/dist/test/tools/llvm-objdump/WebAssembly/relocations.test
  vendor/llvm/dist/test/tools/llvm-pdbdump/partial-type-stream.test
  vendor/llvm/dist/test/tools/llvm-readobj/Inputs/trivial.obj.coff-arm64   (contents, props changed)
  vendor/llvm/dist/unittests/Support/ErrnoTest.cpp   (contents, props changed)
  vendor/llvm/dist/utils/docker/
  vendor/llvm/dist/utils/docker/README
  vendor/llvm/dist/utils/docker/build_docker_image.sh   (contents, props changed)
  vendor/llvm/dist/utils/docker/debian8/
  vendor/llvm/dist/utils/docker/debian8/build/
  vendor/llvm/dist/utils/docker/debian8/build/Dockerfile
  vendor/llvm/dist/utils/docker/debian8/release/
  vendor/llvm/dist/utils/docker/debian8/release/Dockerfile
  vendor/llvm/dist/utils/docker/example/
  vendor/llvm/dist/utils/docker/example/build/
  vendor/llvm/dist/utils/docker/example/build/Dockerfile
  vendor/llvm/dist/utils/docker/example/release/
  vendor/llvm/dist/utils/docker/example/release/Dockerfile
  vendor/llvm/dist/utils/docker/nvidia-cuda/
  vendor/llvm/dist/utils/docker/nvidia-cuda/build/
  vendor/llvm/dist/utils/docker/nvidia-cuda/build/Dockerfile
  vendor/llvm/dist/utils/docker/nvidia-cuda/release/
  vendor/llvm/dist/utils/docker/nvidia-cuda/release/Dockerfile
  vendor/llvm/dist/utils/docker/scripts/
  vendor/llvm/dist/utils/docker/scripts/build_install_llvm.sh   (contents, props changed)
  vendor/llvm/dist/utils/opt-viewer/optpmap.py   (contents, props changed)
Deleted:
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/ModuleDebugStreamBuilder.h
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/ModuleDebugStreamBuilder.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/SITypeRewriter.cpp
  vendor/llvm/dist/lib/Transforms/Vectorize/BBVectorize.cpp
  vendor/llvm/dist/test/CodeGen/AMDGPU/rename-independent-subregs-invalid-mac-operands.mir
  vendor/llvm/dist/test/CodeGen/ARM/Windows/no-arm-mode.ll
  vendor/llvm/dist/test/CodeGen/Hexagon/frame.ll
  vendor/llvm/dist/test/MC/AVR/out-of-range-fixups/adiw-fail.s
  vendor/llvm/dist/test/MC/AVR/out-of-range-fixups/in-fail.s
  vendor/llvm/dist/test/MC/AVR/out-of-range-fixups/lds-fail.s
  vendor/llvm/dist/test/MC/AVR/out-of-range-fixups/sbi-fail.s
  vendor/llvm/dist/test/Transforms/BBVectorize/X86/cmp-types.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/X86/loop1.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/X86/pr15289.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/X86/sh-rec.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/X86/sh-rec2.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/X86/sh-rec3.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/X86/sh-types.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/X86/simple-int.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/X86/simple-ldstr.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/X86/simple.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/X86/vs-cast.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/X86/wr-aliases.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/cycle.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/func-alias.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/ld1.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/lit.local.cfg
  vendor/llvm/dist/test/Transforms/BBVectorize/loop1.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/mem-op-depth.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/metadata.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/no-ldstr-conn.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/req-depth.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/search-limit.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/simple-int.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/simple-ldstr-ptrs.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/simple-ldstr.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/simple-sel.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/simple-tst.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/simple.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/simple3.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/vector-sel.ll
  vendor/llvm/dist/test/Transforms/BBVectorize/xcore/no-vector-registers.ll
  vendor/llvm/dist/test/tools/llvm-dwarfdump/X86/apple_names_verify_buckets.s
  vendor/llvm/dist/test/tools/llvm-dwarfdump/X86/no_apple_names_verify_buckets.s
Modified:
  vendor/llvm/dist/CMakeLists.txt
  vendor/llvm/dist/CODE_OWNERS.TXT
  vendor/llvm/dist/CREDITS.TXT
  vendor/llvm/dist/bindings/ocaml/target/target_ocaml.c
  vendor/llvm/dist/docs/CMake.rst
  vendor/llvm/dist/docs/CommandGuide/llvm-nm.rst
  vendor/llvm/dist/docs/ReleaseNotes.rst
  vendor/llvm/dist/docs/XRay.rst
  vendor/llvm/dist/docs/index.rst
  vendor/llvm/dist/include/llvm-c/Transforms/Vectorize.h
  vendor/llvm/dist/include/llvm/Analysis/AliasSetTracker.h
  vendor/llvm/dist/include/llvm/Analysis/CFLAndersAliasAnalysis.h
  vendor/llvm/dist/include/llvm/Analysis/CFLSteensAliasAnalysis.h
  vendor/llvm/dist/include/llvm/Analysis/IteratedDominanceFrontier.h
  vendor/llvm/dist/include/llvm/Analysis/MemorySSA.h
  vendor/llvm/dist/include/llvm/Analysis/OptimizationDiagnosticInfo.h
  vendor/llvm/dist/include/llvm/Analysis/RegionInfo.h
  vendor/llvm/dist/include/llvm/Analysis/RegionInfoImpl.h
  vendor/llvm/dist/include/llvm/Analysis/RegionIterator.h
  vendor/llvm/dist/include/llvm/Analysis/ScalarEvolution.h
  vendor/llvm/dist/include/llvm/Analysis/ScalarEvolutionExpressions.h
  vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfo.h
  vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfoImpl.h
  vendor/llvm/dist/include/llvm/BinaryFormat/COFF.h
  vendor/llvm/dist/include/llvm/BinaryFormat/Dwarf.h
  vendor/llvm/dist/include/llvm/BinaryFormat/Wasm.h
  vendor/llvm/dist/include/llvm/Bitcode/BitcodeReader.h
  vendor/llvm/dist/include/llvm/Bitcode/BitcodeWriter.h
  vendor/llvm/dist/include/llvm/Bitcode/LLVMBitCodes.h
  vendor/llvm/dist/include/llvm/CodeGen/BasicTTIImpl.h
  vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/CallLowering.h
  vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/IRTranslator.h
  vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
  vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
  vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/RegBankSelect.h
  vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h
  vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/Types.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h
  vendor/llvm/dist/include/llvm/CodeGen/MachinePassRegistry.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineScheduler.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineValueType.h
  vendor/llvm/dist/include/llvm/CodeGen/MacroFusion.h
  vendor/llvm/dist/include/llvm/CodeGen/PseudoSourceValue.h
  vendor/llvm/dist/include/llvm/CodeGen/SelectionDAGAddressAnalysis.h
  vendor/llvm/dist/include/llvm/CodeGen/SelectionDAGNodes.h
  vendor/llvm/dist/include/llvm/CodeGen/TargetPassConfig.h
  vendor/llvm/dist/include/llvm/CodeGen/ValueTypes.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/CVSymbolVisitor.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugCrossExSubsection.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugCrossImpSubsection.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSymbolRVASubsection.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/EnumTables.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/Formatters.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/StringsAndChecksums.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/SymbolRecord.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/SymbolSerializer.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/SymbolVisitorCallbackPipeline.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/SymbolVisitorCallbacks.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeRecord.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeSerializer.h
  vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeServerHandler.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFContext.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.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/DWARFDebugRangeList.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h
  vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFUnit.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/IPDBDataStream.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/IPDBEnumChildren.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/DbiModuleList.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/Hash.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/HashTable.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/NamedStreamMap.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/PDB.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/PDBExtras.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/PDBTypes.h
  vendor/llvm/dist/include/llvm/DebugInfo/PDB/UDTLayout.h
  vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h
  vendor/llvm/dist/include/llvm/IR/Argument.h
  vendor/llvm/dist/include/llvm/IR/BasicBlock.h
  vendor/llvm/dist/include/llvm/IR/Constant.h
  vendor/llvm/dist/include/llvm/IR/Constants.h
  vendor/llvm/dist/include/llvm/IR/DerivedTypes.h
  vendor/llvm/dist/include/llvm/IR/Dominators.h
  vendor/llvm/dist/include/llvm/IR/Function.h
  vendor/llvm/dist/include/llvm/IR/GlobalAlias.h
  vendor/llvm/dist/include/llvm/IR/GlobalIFunc.h
  vendor/llvm/dist/include/llvm/IR/GlobalIndirectSymbol.h
  vendor/llvm/dist/include/llvm/IR/GlobalObject.h
  vendor/llvm/dist/include/llvm/IR/GlobalVariable.h
  vendor/llvm/dist/include/llvm/IR/InlineAsm.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/IntrinsicInst.h
  vendor/llvm/dist/include/llvm/IR/IntrinsicsWebAssembly.td
  vendor/llvm/dist/include/llvm/IR/LLVMContext.h
  vendor/llvm/dist/include/llvm/IR/LegacyPassNameParser.h
  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/User.h
  vendor/llvm/dist/include/llvm/InitializePasses.h
  vendor/llvm/dist/include/llvm/LinkAllPasses.h
  vendor/llvm/dist/include/llvm/MC/MCAsmBackend.h
  vendor/llvm/dist/include/llvm/MC/MCWinCOFFObjectWriter.h
  vendor/llvm/dist/include/llvm/Object/Archive.h
  vendor/llvm/dist/include/llvm/Object/COFF.h
  vendor/llvm/dist/include/llvm/Object/COFFImportFile.h
  vendor/llvm/dist/include/llvm/Object/ELFObjectFile.h
  vendor/llvm/dist/include/llvm/Object/IRObjectFile.h
  vendor/llvm/dist/include/llvm/Object/IRSymtab.h
  vendor/llvm/dist/include/llvm/Object/MachOUniversal.h
  vendor/llvm/dist/include/llvm/Object/ObjectFile.h
  vendor/llvm/dist/include/llvm/Object/SymbolicFile.h
  vendor/llvm/dist/include/llvm/Object/Wasm.h
  vendor/llvm/dist/include/llvm/ObjectYAML/COFFYAML.h
  vendor/llvm/dist/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h
  vendor/llvm/dist/include/llvm/ObjectYAML/CodeViewYAMLSymbols.h
  vendor/llvm/dist/include/llvm/ObjectYAML/CodeViewYAMLTypes.h
  vendor/llvm/dist/include/llvm/ObjectYAML/DWARFEmitter.h
  vendor/llvm/dist/include/llvm/ObjectYAML/DWARFYAML.h
  vendor/llvm/dist/include/llvm/ObjectYAML/ELFYAML.h
  vendor/llvm/dist/include/llvm/ObjectYAML/MachOYAML.h
  vendor/llvm/dist/include/llvm/ObjectYAML/ObjectYAML.h
  vendor/llvm/dist/include/llvm/ObjectYAML/WasmYAML.h
  vendor/llvm/dist/include/llvm/ObjectYAML/YAML.h
  vendor/llvm/dist/include/llvm/Passes/PassBuilder.h
  vendor/llvm/dist/include/llvm/ProfileData/Coverage/CoverageMapping.h
  vendor/llvm/dist/include/llvm/ProfileData/InstrProf.h
  vendor/llvm/dist/include/llvm/Support/CMakeLists.txt
  vendor/llvm/dist/include/llvm/Support/Errno.h
  vendor/llvm/dist/include/llvm/Support/GenericDomTree.h
  vendor/llvm/dist/include/llvm/Support/GenericDomTreeConstruction.h
  vendor/llvm/dist/include/llvm/Support/TargetParser.h
  vendor/llvm/dist/include/llvm/Support/YAMLParser.h
  vendor/llvm/dist/include/llvm/Support/YAMLTraits.h
  vendor/llvm/dist/include/llvm/Target/GenericOpcodes.td
  vendor/llvm/dist/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
  vendor/llvm/dist/include/llvm/Target/TargetLowering.h
  vendor/llvm/dist/include/llvm/Target/TargetOpcodes.def
  vendor/llvm/dist/include/llvm/Transforms/IPO/PassManagerBuilder.h
  vendor/llvm/dist/include/llvm/Transforms/SampleProfile.h
  vendor/llvm/dist/include/llvm/Transforms/Scalar/ConstantHoisting.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/Utils/PredicateInfo.h
  vendor/llvm/dist/include/llvm/Transforms/Utils/ValueMapper.h
  vendor/llvm/dist/include/llvm/Transforms/Vectorize.h
  vendor/llvm/dist/lib/Analysis/CFLAndersAliasAnalysis.cpp
  vendor/llvm/dist/lib/Analysis/CFLSteensAliasAnalysis.cpp
  vendor/llvm/dist/lib/Analysis/InlineCost.cpp
  vendor/llvm/dist/lib/Analysis/IteratedDominanceFrontier.cpp
  vendor/llvm/dist/lib/Analysis/MemoryBuiltins.cpp
  vendor/llvm/dist/lib/Analysis/OptimizationDiagnosticInfo.cpp
  vendor/llvm/dist/lib/Analysis/RegionInfo.cpp
  vendor/llvm/dist/lib/Analysis/ScalarEvolution.cpp
  vendor/llvm/dist/lib/Analysis/TargetTransformInfo.cpp
  vendor/llvm/dist/lib/Analysis/TypeBasedAliasAnalysis.cpp
  vendor/llvm/dist/lib/BinaryFormat/Magic.cpp
  vendor/llvm/dist/lib/Bitcode/Reader/BitcodeReader.cpp
  vendor/llvm/dist/lib/Bitcode/Writer/BitcodeWriter.cpp
  vendor/llvm/dist/lib/Bitcode/Writer/LLVMBuild.txt
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/CodeViewDebug.h
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfUnit.h
  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/LegalizerHelper.cpp
  vendor/llvm/dist/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
  vendor/llvm/dist/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
  vendor/llvm/dist/lib/CodeGen/GlobalISel/RegBankSelect.cpp
  vendor/llvm/dist/lib/CodeGen/LiveRangeCalc.cpp
  vendor/llvm/dist/lib/CodeGen/LiveRangeCalc.h
  vendor/llvm/dist/lib/CodeGen/MIRParser/MIParser.cpp
  vendor/llvm/dist/lib/CodeGen/MachineOptimizationRemarkEmitter.cpp
  vendor/llvm/dist/lib/CodeGen/MacroFusion.cpp
  vendor/llvm/dist/lib/CodeGen/PeepholeOptimizer.cpp
  vendor/llvm/dist/lib/CodeGen/RegAllocGreedy.cpp
  vendor/llvm/dist/lib/CodeGen/RegisterCoalescer.cpp
  vendor/llvm/dist/lib/CodeGen/RenameIndependentSubregs.cpp
  vendor/llvm/dist/lib/CodeGen/ScheduleDAGInstrs.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  vendor/llvm/dist/lib/CodeGen/TargetPassConfig.cpp
  vendor/llvm/dist/lib/CodeGen/TwoAddressInstructionPass.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/DebugChecksumsSubsection.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/DebugCrossExSubsection.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/DebugCrossImpSubsection.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/DebugInlineeLinesSubsection.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/DebugLinesSubsection.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/DebugSymbolRVASubsection.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/EnumTables.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/Formatters.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/StringsAndChecksums.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/SymbolSerializer.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
  vendor/llvm/dist/lib/DebugInfo/CodeView/TypeSerializer.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/CMakeLists.txt
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFContext.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp
  vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDie.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/PDB/Native/DbiModuleList.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/Hash.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/Native/HashTable.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/NativeEnumModules.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/PDB.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/PDBExtras.cpp
  vendor/llvm/dist/lib/DebugInfo/PDB/UDTLayout.cpp
  vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
  vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
  vendor/llvm/dist/lib/IR/Constants.cpp
  vendor/llvm/dist/lib/IR/Dominators.cpp
  vendor/llvm/dist/lib/IR/LLVMContext.cpp
  vendor/llvm/dist/lib/IR/LLVMContextImpl.h
  vendor/llvm/dist/lib/LTO/LTO.cpp
  vendor/llvm/dist/lib/MC/MCAssembler.cpp
  vendor/llvm/dist/lib/MC/WasmObjectWriter.cpp
  vendor/llvm/dist/lib/Object/CMakeLists.txt
  vendor/llvm/dist/lib/Object/COFFObjectFile.cpp
  vendor/llvm/dist/lib/Object/IRSymtab.cpp
  vendor/llvm/dist/lib/Object/WasmObjectFile.cpp
  vendor/llvm/dist/lib/Object/WindowsResource.cpp
  vendor/llvm/dist/lib/ObjectYAML/COFFYAML.cpp
  vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
  vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
  vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLTypes.cpp
  vendor/llvm/dist/lib/ObjectYAML/DWARFEmitter.cpp
  vendor/llvm/dist/lib/ObjectYAML/DWARFYAML.cpp
  vendor/llvm/dist/lib/ObjectYAML/ELFYAML.cpp
  vendor/llvm/dist/lib/ObjectYAML/MachOYAML.cpp
  vendor/llvm/dist/lib/ObjectYAML/ObjectYAML.cpp
  vendor/llvm/dist/lib/ObjectYAML/WasmYAML.cpp
  vendor/llvm/dist/lib/ObjectYAML/YAML.cpp
  vendor/llvm/dist/lib/Passes/PassBuilder.cpp
  vendor/llvm/dist/lib/ProfileData/Coverage/CoverageMapping.cpp
  vendor/llvm/dist/lib/ProfileData/InstrProf.cpp
  vendor/llvm/dist/lib/Support/AMDGPUCodeObjectMetadata.cpp
  vendor/llvm/dist/lib/Support/Host.cpp
  vendor/llvm/dist/lib/Support/MemoryBuffer.cpp
  vendor/llvm/dist/lib/Support/TargetParser.cpp
  vendor/llvm/dist/lib/Support/Unix/Path.inc
  vendor/llvm/dist/lib/Support/Unix/Process.inc
  vendor/llvm/dist/lib/Target/AArch64/AArch64CondBrTuning.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64ConditionalCompares.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64ISelLowering.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64InstrInfo.td
  vendor/llvm/dist/lib/Target/AArch64/AArch64InstructionSelector.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64LegalizerInfo.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64MCInstLower.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64MCInstLower.h
  vendor/llvm/dist/lib/Target/AArch64/AArch64RegisterInfo.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64SchedThunderX2T99.td
  vendor/llvm/dist/lib/Target/AArch64/AArch64TargetMachine.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64TargetMachine.h
  vendor/llvm/dist/lib/Target/AArch64/AArch64TargetObjectFile.h
  vendor/llvm/dist/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  vendor/llvm/dist/lib/Target/AArch64/AArch64TargetTransformInfo.h
  vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
  vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
  vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
  vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64FixupKinds.h
  vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
  vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
  vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
  vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h
  vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/CMakeLists.txt
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPU.h
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPU.td
  vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.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/CMakeLists.txt
  vendor/llvm/dist/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/SIISelLowering.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/SIInstrInfo.cpp
  vendor/llvm/dist/lib/Target/AMDGPU/SIInstrInfo.td
  vendor/llvm/dist/lib/Target/AMDGPU/SIInstructions.td
  vendor/llvm/dist/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
  vendor/llvm/dist/lib/Target/ARM/ARM.td
  vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb.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/ARMRegisterInfo.td
  vendor/llvm/dist/lib/Target/ARM/ARMSchedule.td
  vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.h
  vendor/llvm/dist/lib/Target/ARM/ARMTargetMachine.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMTargetMachine.h
  vendor/llvm/dist/lib/Target/ARM/ARMTargetObjectFile.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMTargetObjectFile.h
  vendor/llvm/dist/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
  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/ARMFixupKinds.h
  vendor/llvm/dist/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
  vendor/llvm/dist/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
  vendor/llvm/dist/lib/Target/BPF/BPFISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonFrameLowering.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonFrameLowering.h
  vendor/llvm/dist/lib/Target/Hexagon/HexagonISelLowering.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrInfo.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonNewValueJump.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonOptAddrMode.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetMachine.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetObjectFile.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetObjectFile.h
  vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
  vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetTransformInfo.h
  vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
  vendor/llvm/dist/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
  vendor/llvm/dist/lib/Target/Mips/MicroMips64r6InstrInfo.td
  vendor/llvm/dist/lib/Target/Mips/Mips64InstrInfo.td
  vendor/llvm/dist/lib/Target/Mips/MipsDelaySlotFiller.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsISelLowering.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsSEISelDAGToDAG.h
  vendor/llvm/dist/lib/Target/Mips/MipsSEISelLowering.cpp
  vendor/llvm/dist/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
  vendor/llvm/dist/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
  vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
  vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
  vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPC.h
  vendor/llvm/dist/lib/Target/PowerPC/PPCCTRLoops.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCTargetMachine.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCTargetMachine.h
  vendor/llvm/dist/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCTargetTransformInfo.h
  vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
  vendor/llvm/dist/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
  vendor/llvm/dist/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
  vendor/llvm/dist/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
  vendor/llvm/dist/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.h
  vendor/llvm/dist/lib/Target/SystemZ/README.txt
  vendor/llvm/dist/lib/Target/SystemZ/SystemZ.td
  vendor/llvm/dist/lib/Target/SystemZ/SystemZFeatures.td
  vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrFormats.td
  vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrInfo.td
  vendor/llvm/dist/lib/Target/SystemZ/SystemZRegisterInfo.td
  vendor/llvm/dist/lib/Target/SystemZ/SystemZScheduleZ13.td
  vendor/llvm/dist/lib/Target/SystemZ/SystemZScheduleZ196.td
  vendor/llvm/dist/lib/Target/SystemZ/SystemZScheduleZEC12.td
  vendor/llvm/dist/lib/Target/SystemZ/SystemZSubtarget.cpp
  vendor/llvm/dist/lib/Target/SystemZ/SystemZSubtarget.h
  vendor/llvm/dist/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
  vendor/llvm/dist/lib/Target/SystemZ/SystemZTargetTransformInfo.h
  vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrControl.td
  vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
  vendor/llvm/dist/lib/Target/X86/AsmParser/X86AsmParser.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/X86.td
  vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp
  vendor/llvm/dist/lib/Target/X86/X86InstrAVX512.td
  vendor/llvm/dist/lib/Target/X86/X86InstructionSelector.cpp
  vendor/llvm/dist/lib/Target/X86/X86LegalizerInfo.cpp
  vendor/llvm/dist/lib/Target/X86/X86Subtarget.cpp
  vendor/llvm/dist/lib/Target/X86/X86Subtarget.h
  vendor/llvm/dist/lib/Target/X86/X86TargetMachine.cpp
  vendor/llvm/dist/lib/Target/X86/X86TargetMachine.h
  vendor/llvm/dist/lib/Transforms/Coroutines/CoroInstr.h
  vendor/llvm/dist/lib/Transforms/IPO/PassManagerBuilder.cpp
  vendor/llvm/dist/lib/Transforms/IPO/SampleProfile.cpp
  vendor/llvm/dist/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCalls.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCompares.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineInternal.h
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineSelect.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstructionCombining.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/ConstantHoisting.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/LoopUnrollPass.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/NewGVN.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/Reassociate.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/SROA.cpp
  vendor/llvm/dist/lib/Transforms/Utils/CodeExtractor.cpp
  vendor/llvm/dist/lib/Transforms/Utils/LoopUnrollRuntime.cpp
  vendor/llvm/dist/lib/Transforms/Utils/LoopUtils.cpp
  vendor/llvm/dist/lib/Transforms/Utils/LowerMemIntrinsics.cpp
  vendor/llvm/dist/lib/Transforms/Utils/OrderedInstructions.cpp
  vendor/llvm/dist/lib/Transforms/Utils/PredicateInfo.cpp
  vendor/llvm/dist/lib/Transforms/Utils/SimplifyCFG.cpp
  vendor/llvm/dist/lib/Transforms/Utils/SimplifyIndVar.cpp
  vendor/llvm/dist/lib/Transforms/Vectorize/CMakeLists.txt
  vendor/llvm/dist/lib/Transforms/Vectorize/LoopVectorize.cpp
  vendor/llvm/dist/lib/Transforms/Vectorize/SLPVectorizer.cpp
  vendor/llvm/dist/lib/Transforms/Vectorize/Vectorize.cpp
  vendor/llvm/dist/test/Analysis/Dominators/2006-10-02-BreakCritEdges.ll
  vendor/llvm/dist/test/Analysis/ScalarEvolution/limit-depth.ll
  vendor/llvm/dist/test/Bitcode/thinlto-alias.ll
  vendor/llvm/dist/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
  vendor/llvm/dist/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
  vendor/llvm/dist/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
  vendor/llvm/dist/test/Bitcode/thinlto-function-summary-callgraph.ll
  vendor/llvm/dist/test/Bitcode/thinlto-function-summary-refgraph.ll
  vendor/llvm/dist/test/Bitcode/thinlto-function-summary.ll
  vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/arm64-fallback.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/irtranslator-exceptions.ll
  vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/legalize-combines.mir
  vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/legalize-exceptions.ll
  vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/select-trunc.mir
  vendor/llvm/dist/test/CodeGen/AArch64/arm64-ccmp.ll
  vendor/llvm/dist/test/CodeGen/AArch64/arm64-spill-remarks.ll
  vendor/llvm/dist/test/CodeGen/AArch64/cond-br-tuning.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/bug-vopc-commute.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/code-object-metadata-from-llvm-ir-full.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/combine-cond-add-sub.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.SI.load.dword.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/llvm.SI.tbuffer.store.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/mubuf.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/ret_jump.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/scheduler-subrange-crash.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/select-vectors.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/sgpr-copy.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/shift-and-i64-ubfe.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/shift-i64-opts.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/si-lod-bias.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/si-sgpr-spill.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/si-spill-cf.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/smrd.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/split-smrd.ll
  vendor/llvm/dist/test/CodeGen/AMDGPU/vgpr-spill-emergency-stack-slot.ll
  vendor/llvm/dist/test/CodeGen/ARM/2012-10-18-PR14099-ByvalFrameAddress.ll
  vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir
  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/Windows/chkstk-movw-movt-isel.ll
  vendor/llvm/dist/test/CodeGen/ARM/Windows/tls.ll
  vendor/llvm/dist/test/CodeGen/ARM/alloca.ll
  vendor/llvm/dist/test/CodeGen/ARM/arg-copy-elide.ll
  vendor/llvm/dist/test/CodeGen/ARM/arm-abi-attr.ll
  vendor/llvm/dist/test/CodeGen/ARM/arm-and-tst-peephole.ll
  vendor/llvm/dist/test/CodeGen/ARM/arm-position-independence-jump-table.ll
  vendor/llvm/dist/test/CodeGen/ARM/arm-shrink-wrapping-linux.ll
  vendor/llvm/dist/test/CodeGen/ARM/atomic-cmpxchg.ll
  vendor/llvm/dist/test/CodeGen/ARM/bool-ext-inc.ll
  vendor/llvm/dist/test/CodeGen/ARM/cmpxchg-weak.ll
  vendor/llvm/dist/test/CodeGen/ARM/code-placement.ll
  vendor/llvm/dist/test/CodeGen/ARM/constantfp.ll
  vendor/llvm/dist/test/CodeGen/ARM/cortex-a57-misched-basic.ll
  vendor/llvm/dist/test/CodeGen/ARM/cortexr52-misched-basic.ll
  vendor/llvm/dist/test/CodeGen/ARM/ctor_order.ll
  vendor/llvm/dist/test/CodeGen/ARM/ctors_dtors.ll
  vendor/llvm/dist/test/CodeGen/ARM/cttz.ll
  vendor/llvm/dist/test/CodeGen/ARM/cttz_vector.ll
  vendor/llvm/dist/test/CodeGen/ARM/cxx-tlscc.ll
  vendor/llvm/dist/test/CodeGen/ARM/execute-only-big-stack-frame.ll
  vendor/llvm/dist/test/CodeGen/ARM/execute-only-section.ll
  vendor/llvm/dist/test/CodeGen/ARM/execute-only.ll
  vendor/llvm/dist/test/CodeGen/ARM/fp16-promote.ll
  vendor/llvm/dist/test/CodeGen/ARM/fp16-v3.ll
  vendor/llvm/dist/test/CodeGen/ARM/ifcvt7.ll
  vendor/llvm/dist/test/CodeGen/ARM/illegal-bitfield-loadstore.ll
  vendor/llvm/dist/test/CodeGen/ARM/indirectbr.ll
  vendor/llvm/dist/test/CodeGen/ARM/jump-table-islands.ll
  vendor/llvm/dist/test/CodeGen/ARM/jump-table-tbh.ll
  vendor/llvm/dist/test/CodeGen/ARM/ldm-stm-i256.ll
  vendor/llvm/dist/test/CodeGen/ARM/legalize-unaligned-load.ll
  vendor/llvm/dist/test/CodeGen/ARM/long-setcc.ll
  vendor/llvm/dist/test/CodeGen/ARM/long_shift.ll
  vendor/llvm/dist/test/CodeGen/ARM/misched-fusion-aes.ll
  vendor/llvm/dist/test/CodeGen/ARM/select_const.ll
  vendor/llvm/dist/test/CodeGen/ARM/shift-i64.ll
  vendor/llvm/dist/test/CodeGen/ARM/ssp-data-layout.ll
  vendor/llvm/dist/test/CodeGen/ARM/str_pre-2.ll
  vendor/llvm/dist/test/CodeGen/ARM/swifterror.ll
  vendor/llvm/dist/test/CodeGen/ARM/thumb2-it-block.ll
  vendor/llvm/dist/test/CodeGen/ARM/vcgt.ll
  vendor/llvm/dist/test/CodeGen/ARM/vector-DAGCombine.ll
  vendor/llvm/dist/test/CodeGen/ARM/vext.ll
  vendor/llvm/dist/test/CodeGen/ARM/vfp.ll
  vendor/llvm/dist/test/CodeGen/ARM/vld1.ll
  vendor/llvm/dist/test/CodeGen/ARM/vld2.ll
  vendor/llvm/dist/test/CodeGen/ARM/vld3.ll
  vendor/llvm/dist/test/CodeGen/ARM/vld4.ll
  vendor/llvm/dist/test/CodeGen/ARM/vlddup.ll
  vendor/llvm/dist/test/CodeGen/ARM/vldlane.ll
  vendor/llvm/dist/test/CodeGen/ARM/vpadd.ll
  vendor/llvm/dist/test/CodeGen/ARM/vst1.ll
  vendor/llvm/dist/test/CodeGen/ARM/vst4.ll
  vendor/llvm/dist/test/CodeGen/ARM/vstlane.ll
  vendor/llvm/dist/test/CodeGen/ARM/vuzp.ll
  vendor/llvm/dist/test/CodeGen/Hexagon/newvaluejump2.ll
  vendor/llvm/dist/test/CodeGen/MIR/Generic/multiRunPass.mir
  vendor/llvm/dist/test/CodeGen/Mips/2008-06-05-Carry.ll
  vendor/llvm/dist/test/CodeGen/Mips/dsp-patterns.ll
  vendor/llvm/dist/test/CodeGen/Mips/llcarry.ll
  vendor/llvm/dist/test/CodeGen/Mips/llvm-ir/add.ll
  vendor/llvm/dist/test/CodeGen/Mips/llvm-ir/sub.ll
  vendor/llvm/dist/test/CodeGen/Mips/madd-msub.ll
  vendor/llvm/dist/test/CodeGen/NVPTX/lower-aggr-copies.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/anon_aggr.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/floatPSA.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/memcmp.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/memcmpIR.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/ppc64-align-long-double.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/tls.ll
  vendor/llvm/dist/test/CodeGen/Thumb/long-setcc.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/constant-islands-new-island.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-ifcvt2.ll
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/regbankselect-X86_64.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-add.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-constant.mir
  vendor/llvm/dist/test/CodeGen/X86/GlobalISel/select-sub.mir
  vendor/llvm/dist/test/CodeGen/X86/atom-call-reg-indirect.ll
  vendor/llvm/dist/test/CodeGen/X86/atom-fixup-lea2.ll
  vendor/llvm/dist/test/CodeGen/X86/atom-sched.ll
  vendor/llvm/dist/test/CodeGen/X86/avx2-arith.ll
  vendor/llvm/dist/test/CodeGen/X86/avx2-cmp.ll
  vendor/llvm/dist/test/CodeGen/X86/avx2-conversions.ll
  vendor/llvm/dist/test/CodeGen/X86/avx2-fma-fneg-combine.ll
  vendor/llvm/dist/test/CodeGen/X86/avx2-gather.ll
  vendor/llvm/dist/test/CodeGen/X86/avx2-logic.ll
  vendor/llvm/dist/test/CodeGen/X86/avx2-phaddsub.ll
  vendor/llvm/dist/test/CodeGen/X86/avx2-shift.ll
  vendor/llvm/dist/test/CodeGen/X86/avx2-vector-shifts.ll
  vendor/llvm/dist/test/CodeGen/X86/avx2-vperm.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512-arith.ll
  vendor/llvm/dist/test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
  vendor/llvm/dist/test/CodeGen/X86/bswap-vector.ll
  vendor/llvm/dist/test/CodeGen/X86/compress_expand.ll
  vendor/llvm/dist/test/CodeGen/X86/cpus.ll
  vendor/llvm/dist/test/CodeGen/X86/fp128-cast.ll
  vendor/llvm/dist/test/CodeGen/X86/insertelement-zero.ll
  vendor/llvm/dist/test/CodeGen/X86/lower-vec-shift.ll
  vendor/llvm/dist/test/CodeGen/X86/lower-vec-shuffle-bug.ll
  vendor/llvm/dist/test/CodeGen/X86/masked_memop.ll
  vendor/llvm/dist/test/CodeGen/X86/memcmp.ll
  vendor/llvm/dist/test/CodeGen/X86/palignr.ll
  vendor/llvm/dist/test/CodeGen/X86/sbb.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-512-v16.ll
  vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-512-v8.ll
  vendor/llvm/dist/test/CodeGen/X86/x86-interleaved-access.ll
  vendor/llvm/dist/test/DebugInfo/COFF/local-variables.ll
  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/dwarfdump-accel.test
  vendor/llvm/dist/test/Feature/optnone-opt.ll
  vendor/llvm/dist/test/Instrumentation/MemorySanitizer/msan_basic.ll
  vendor/llvm/dist/test/MC/AMDGPU/code-object-metadata-kernel-args.s
  vendor/llvm/dist/test/MC/AMDGPU/code-object-metadata-kernel-attrs.s
  vendor/llvm/dist/test/MC/Disassembler/SystemZ/insns.txt
  vendor/llvm/dist/test/MC/Mips/micromips64r6/valid.s
  vendor/llvm/dist/test/MC/Mips/mips3/valid.s
  vendor/llvm/dist/test/MC/Mips/mips4/valid.s
  vendor/llvm/dist/test/MC/Mips/mips5/valid.s
  vendor/llvm/dist/test/MC/Mips/mips64/valid.s
  vendor/llvm/dist/test/MC/Mips/mips64r2/valid.s
  vendor/llvm/dist/test/MC/Mips/mips64r3/valid.s
  vendor/llvm/dist/test/MC/Mips/mips64r5/valid.s
  vendor/llvm/dist/test/MC/Mips/mips64r6/valid.s
  vendor/llvm/dist/test/MC/SystemZ/insn-bad-z196.s
  vendor/llvm/dist/test/MC/SystemZ/insn-bad-zEC12.s
  vendor/llvm/dist/test/MC/SystemZ/insn-bad.s
  vendor/llvm/dist/test/MC/SystemZ/insn-good-z196.s
  vendor/llvm/dist/test/MC/SystemZ/insn-good-zEC12.s
  vendor/llvm/dist/test/MC/SystemZ/insn-good.s
  vendor/llvm/dist/test/MC/SystemZ/regs-bad.s
  vendor/llvm/dist/test/MC/SystemZ/regs-good.s
  vendor/llvm/dist/test/MC/WebAssembly/unnamed-data.ll
  vendor/llvm/dist/test/MC/X86/intel-syntax-bitwise-ops.s
  vendor/llvm/dist/test/ObjectYAML/wasm/weak_symbols.yaml
  vendor/llvm/dist/test/Other/new-pm-defaults.ll
  vendor/llvm/dist/test/Other/new-pm-thinlto-defaults.ll
  vendor/llvm/dist/test/ThinLTO/X86/autoupgrade.ll
  vendor/llvm/dist/test/Transforms/CodeGenPrepare/X86/memcmp.ll
  vendor/llvm/dist/test/Transforms/Inline/inline-cold-callsite.ll
  vendor/llvm/dist/test/Transforms/Inline/optimization-remarks-yaml.ll
  vendor/llvm/dist/test/Transforms/InstCombine/and-or-not.ll
  vendor/llvm/dist/test/Transforms/InstCombine/ffs-1.ll
  vendor/llvm/dist/test/Transforms/InstCombine/icmp.ll
  vendor/llvm/dist/test/Transforms/InstCombine/logical-select.ll
  vendor/llvm/dist/test/Transforms/InstCombine/max-of-nots.ll
  vendor/llvm/dist/test/Transforms/InstCombine/memmove.ll
  vendor/llvm/dist/test/Transforms/InstCombine/memset.ll
  vendor/llvm/dist/test/Transforms/InstCombine/mul.ll
  vendor/llvm/dist/test/Transforms/InstCombine/or-xor.ll
  vendor/llvm/dist/test/Transforms/InstCombine/select-cmp-cttz-ctlz.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/InterleavedAccess/AArch64/interleaved-accesses.ll
  vendor/llvm/dist/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
  vendor/llvm/dist/test/Transforms/LoopVectorize/first-order-recurrence.ll
  vendor/llvm/dist/test/Transforms/LoopVectorize/if-conversion.ll
  vendor/llvm/dist/test/Transforms/LoopVectorize/minmax_reduction.ll
  vendor/llvm/dist/test/Transforms/LoopVectorize/small-loop.ll
  vendor/llvm/dist/test/Transforms/LowerTypeTests/export-icall.ll
  vendor/llvm/dist/test/Transforms/SROA/alloca-address-space.ll
  vendor/llvm/dist/test/Transforms/SROA/preserve-nonnull.ll
  vendor/llvm/dist/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll
  vendor/llvm/dist/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll
  vendor/llvm/dist/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
  vendor/llvm/dist/test/tools/llvm-nm/wasm/weak-symbols.yaml
  vendor/llvm/dist/test/tools/llvm-readobj/file-headers.test
  vendor/llvm/dist/test/tools/llvm-readobj/peplus.test
  vendor/llvm/dist/test/tools/llvm-readobj/symbols.test
  vendor/llvm/dist/tools/bugpoint/ToolRunner.cpp
  vendor/llvm/dist/tools/dsymutil/DwarfLinker.cpp
  vendor/llvm/dist/tools/llc/llc.cpp
  vendor/llvm/dist/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
  vendor/llvm/dist/tools/llvm-lto2/CMakeLists.txt
  vendor/llvm/dist/tools/llvm-lto2/LLVMBuild.txt
  vendor/llvm/dist/tools/llvm-lto2/llvm-lto2.cpp
  vendor/llvm/dist/tools/llvm-nm/CMakeLists.txt
  vendor/llvm/dist/tools/llvm-nm/llvm-nm.cpp
  vendor/llvm/dist/tools/llvm-objdump/llvm-objdump.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/DumpOutputStyle.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/DumpOutputStyle.h
  vendor/llvm/dist/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/MinimalSymbolDumper.h
  vendor/llvm/dist/tools/llvm-pdbutil/MinimalTypeDumper.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/PdbYaml.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/llvm-pdbutil.cpp
  vendor/llvm/dist/tools/llvm-pdbutil/llvm-pdbutil.h
  vendor/llvm/dist/tools/llvm-readobj/COFFDumper.cpp
  vendor/llvm/dist/tools/llvm-readobj/WasmDumper.cpp
  vendor/llvm/dist/tools/obj2yaml/wasm2yaml.cpp
  vendor/llvm/dist/tools/opt/opt.cpp
  vendor/llvm/dist/tools/yaml2obj/yaml2wasm.cpp
  vendor/llvm/dist/unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp
  vendor/llvm/dist/unittests/DebugInfo/DWARF/CMakeLists.txt
  vendor/llvm/dist/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
  vendor/llvm/dist/unittests/DebugInfo/DWARF/DWARFFormValueTest.cpp
  vendor/llvm/dist/unittests/DebugInfo/DWARF/DwarfGenerator.h
  vendor/llvm/dist/unittests/IR/DominatorTreeTest.cpp
  vendor/llvm/dist/unittests/ProfileData/CoverageMappingTest.cpp
  vendor/llvm/dist/unittests/Support/CMakeLists.txt
  vendor/llvm/dist/unittests/Support/YAMLIOTest.cpp
  vendor/llvm/dist/utils/TableGen/CodeGenDAGPatterns.cpp
  vendor/llvm/dist/utils/TableGen/CodeGenRegisters.cpp
  vendor/llvm/dist/utils/TableGen/CodeGenRegisters.h
  vendor/llvm/dist/utils/TableGen/CodeGenSchedule.cpp
  vendor/llvm/dist/utils/TableGen/DAGISelMatcher.h
  vendor/llvm/dist/utils/TableGen/GlobalISelEmitter.cpp
  vendor/llvm/dist/utils/TableGen/RegisterInfoEmitter.cpp
  vendor/llvm/dist/utils/TableGen/SubtargetEmitter.cpp
  vendor/llvm/dist/utils/lit/lit/formats/__init__.py
  vendor/llvm/dist/utils/lit/lit/formats/base.py
  vendor/llvm/dist/utils/lit/lit/formats/googletest.py
  vendor/llvm/dist/utils/lit/lit/formats/shtest.py
  vendor/llvm/dist/utils/lit/lit/run.py
  vendor/llvm/dist/utils/lit/lit/util.py
  vendor/llvm/dist/utils/opt-viewer/opt-diff.py
  vendor/llvm/dist/utils/opt-viewer/opt-stats.py
  vendor/llvm/dist/utils/opt-viewer/opt-viewer.py
  vendor/llvm/dist/utils/opt-viewer/optrecord.py

Modified: vendor/llvm/dist/CMakeLists.txt
==============================================================================
--- vendor/llvm/dist/CMakeLists.txt	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/CMakeLists.txt	Sat Jul  1 13:22:02 2017	(r320533)
@@ -206,7 +206,7 @@ endif()
 include(VersionFromVCS)
 
 option(LLVM_APPEND_VC_REV
-  "Append the version control system revision id to LLVM version" OFF)
+  "Embed the version control system revision id in LLVM" ON)
 
 if( LLVM_APPEND_VC_REV )
   add_version_info_from_vcs(PACKAGE_VERSION)

Modified: vendor/llvm/dist/CODE_OWNERS.TXT
==============================================================================
--- vendor/llvm/dist/CODE_OWNERS.TXT	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/CODE_OWNERS.TXT	Sat Jul  1 13:22:02 2017	(r320533)
@@ -70,7 +70,7 @@ D: Branch weights and BlockFrequencyInfo
 
 N: Hal Finkel
 E: hfinkel@anl.gov
-D: BBVectorize, the loop reroller, alias analysis and the PowerPC target
+D: The loop reroller, alias analysis and the PowerPC target
 
 N: Dan Gohman
 E: sunfish@mozilla.com

Modified: vendor/llvm/dist/CREDITS.TXT
==============================================================================
--- vendor/llvm/dist/CREDITS.TXT	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/CREDITS.TXT	Sat Jul  1 13:22:02 2017	(r320533)
@@ -318,11 +318,12 @@ D: Support for implicit TLS model used with MS VC runt
 D: Dumping of Win64 EH structures
 
 N: Takumi Nakamura
+I: chapuni
 E: geek4civic@gmail.com
 E: chapuni@hf.rim.or.jp
-D: Cygwin and MinGW support.
-D: Win32 tweaks.
-S: Yokohama, Japan
+D: Maintaining the Git monorepo
+W: https://github.com/llvm-project/
+S: Ebina, Japan
 
 N: Edward O'Callaghan
 E: eocallaghan@auroraux.org

Modified: vendor/llvm/dist/bindings/ocaml/target/target_ocaml.c
==============================================================================
--- vendor/llvm/dist/bindings/ocaml/target/target_ocaml.c	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/bindings/ocaml/target/target_ocaml.c	Sat Jul  1 13:22:02 2017	(r320533)
@@ -77,7 +77,7 @@ CAMLprim value llvm_datalayout_pointer_size(value DL) 
 
 /* Llvm.llcontext -> DataLayout.t -> Llvm.lltype */
 CAMLprim LLVMTypeRef llvm_datalayout_intptr_type(LLVMContextRef C, value DL) {
-  return LLVMIntPtrTypeInContext(C, DataLayout_val(DL));;
+  return LLVMIntPtrTypeInContext(C, DataLayout_val(DL));
 }
 
 /* int -> DataLayout.t -> int */

Modified: vendor/llvm/dist/docs/CMake.rst
==============================================================================
--- vendor/llvm/dist/docs/CMake.rst	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/docs/CMake.rst	Sat Jul  1 13:22:02 2017	(r320533)
@@ -247,9 +247,10 @@ LLVM-specific variables
   tests.
 
 **LLVM_APPEND_VC_REV**:BOOL
-  Append version control revision info (svn revision number or Git revision id)
-  to LLVM version string (stored in the PACKAGE_VERSION macro). For this to work
-  cmake must be invoked before the build. Defaults to OFF.
+  Embed version control revision info (svn revision number or Git revision id).
+  This is used among other things in the LLVM version string (stored in the
+  PACKAGE_VERSION macro). For this to work cmake must be invoked before the
+  build. Defaults to ON.
 
 **LLVM_ENABLE_THREADS**:BOOL
   Build with threads support, if available. Defaults to ON.

Modified: vendor/llvm/dist/docs/CommandGuide/llvm-nm.rst
==============================================================================
--- vendor/llvm/dist/docs/CommandGuide/llvm-nm.rst	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/docs/CommandGuide/llvm-nm.rst	Sat Jul  1 13:22:02 2017	(r320533)
@@ -134,9 +134,6 @@ OPTIONS
 BUGS
 ----
 
- * :program:`llvm-nm` cannot demangle C++ mangled names, like GNU :program:`nm`
-   can.
-
  * :program:`llvm-nm` does not support the full set of arguments that GNU
    :program:`nm` does.
 

Added: vendor/llvm/dist/docs/Docker.rst
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/llvm/dist/docs/Docker.rst	Sat Jul  1 13:22:02 2017	(r320533)
@@ -0,0 +1,205 @@
+=========================================
+A guide to Dockerfiles for building LLVM
+=========================================
+
+Introduction
+============
+You can find a number of sources to build docker images with LLVM components in
+``llvm/utils/docker``. They can be used by anyone who wants to build the docker
+images for their own use, or as a starting point for someone who wants to write
+their own Dockerfiles.
+
+We currently provide Dockerfiles with ``debian8`` and ``nvidia-cuda`` base images.
+We also provide an ``example`` image, which contains placeholders that one would need
+to fill out in order to produce Dockerfiles for a new docker image.
+
+Why?
+----
+Docker images provide a way to produce binary distributions of
+software inside a controlled environment. Having Dockerfiles to builds docker images
+inside LLVM repo makes them much more discoverable than putting them into any other
+place.
+
+Docker basics
+-------------
+If you've never heard about Docker before, you might find this section helpful
+to get a very basic explanation of it.
+`Docker <https://www.docker.com/>`_ is a popular solution for running programs in
+an isolated and reproducible environment, especially to maintain releases for
+software deployed to large distributed fleets.
+It uses linux kernel namespaces and cgroups to provide a lightweight isolation
+inside currently running linux kernel.
+A single active instance of dockerized environment is called a *docker
+container*.
+A snapshot of a docker container filesystem is called a *docker image*.
+One can start a container from a prebuilt docker image.
+
+Docker images are built from a so-called *Dockerfile*, a source file written in
+a specialized language that defines instructions to be used when build
+the docker image (see `official
+documentation <https://docs.docker.com/engine/reference/builder/>`_ for more
+details). A minimal Dockerfile typically contains a base image and a number
+of RUN commands that have to be executed to build the image. When building a new
+image, docker will first download your base image, mount its filesystem as
+read-only and then add a writable overlay on top of it to keep track of all
+filesystem modifications, performed while building your image. When the build
+process is finished, a diff between your image's final filesystem state and the
+base image's filesystem is stored in the resulting image.
+
+Overview
+========
+The ``llvm/utils/docker`` folder contains Dockerfiles and simple bash scripts to
+serve as a basis for anyone who wants to create their own Docker image with
+LLVM components, compiled from sources. The sources are checked out from the
+upstream svn repository when building the image.
+
+Inside each subfolder we host Dockerfiles for two images:
+
+- ``build/`` image is used to compile LLVM, it installs a system compiler and all
+  build dependencies of LLVM. After the build process is finished, the build
+  image will have an archive with compiled components at ``/tmp/clang.tar.gz``.
+- ``release/`` image usually only contains LLVM components, compiled by the
+  ``build/`` image, and also libstdc++ and binutils to make image minimally
+  useful for C++ development. The assumption is that you usually want clang to
+  be one of the provided components.
+
+To build both of those images, use ``build_docker_image.sh`` script.
+It will checkout LLVM sources and build clang in the ``build`` container, copy results
+of the build to the local filesystem and then build the ``release`` container using
+those. The ``build_docker_image.sh`` accepts a list of LLVM repositories to
+checkout, and arguments for CMake invocation.
+
+If you want to write your own docker image, start with an ``example/`` subfolder.
+It provides incomplete Dockerfiles with (very few) FIXMEs explaining the steps
+you need to take in order to make your Dockerfiles functional.
+
+Usage
+=====
+The ``llvm/utils/build_docker_image.sh`` script provides a rather high degree of
+control on how to run the build. It allows you to specify the projects to
+checkout from svn and provide a list of CMake arguments to use during when
+building LLVM inside docker container.
+
+Here's a very simple example of getting a docker image with clang binary,
+compiled by the system compiler in the debian8 image:
+
+.. code-block:: bash
+
+    ./llvm/utils/docker/build_docker_image.sh \
+	--source debian8 \
+	--docker-repository clang-debian8 --docker-tag "staging" \
+	-- \
+	-p clang -i install-clang -i install-clang-headers \
+	-- \
+	-DCMAKE_BUILD_TYPE=Release
+
+Note there are two levels of ``--`` indirection. First one separates
+``build_docker_image.sh`` arguments from ``llvm/utils/build_install_llvm.sh``
+arguments. Second one separates CMake arguments from ``build_install_llvm.sh``
+arguments. Note that build like that doesn't use a 2-stage build process that
+you probably want for clang. Running a 2-stage build is a little more intricate,
+this command will do that:
+
+.. code-block:: bash
+
+    # Run a 2-stage build.
+    #   LLVM_TARGETS_TO_BUILD=Native is to reduce stage1 compile time.
+    #   Options, starting with BOOTSTRAP_* are passed to stage2 cmake invocation.
+    ./build_docker_image.sh \
+	--source debian8 \
+	--docker-repository clang-debian8 --docker-tag "staging" \
+	-- \
+	-p clang -i stage2-install-clang -i stage2-install-clang-headers \
+	-- \
+	-DLLVM_TARGETS_TO_BUILD=Native -DCMAKE_BUILD_TYPE=Release \
+	-DBOOTSTRAP_CMAKE_BUILD_TYPE=Release \
+	-DCLANG_ENABLE_BOOTSTRAP=ON -DCLANG_BOOTSTRAP_TARGETS="install-clang;install-clang-headers"
+	
+This will produce two images, a release image ``clang-debian8:staging`` and a
+build image ``clang-debian8-build:staging`` from the latest upstream revision.
+After the image is built you can run bash inside a container based on your
+image like this:
+
+.. code-block:: bash
+
+    docker run -ti clang-debian8:staging bash
+
+Now you can run bash commands as you normally would:
+
+.. code-block:: bash
+
+    root@80f351b51825:/# clang -v
+    clang version 5.0.0 (trunk 305064)
+    Target: x86_64-unknown-linux-gnu
+    Thread model: posix
+    InstalledDir: /bin
+    Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
+    Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.4
+    Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
+    Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.2
+    Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
+    Candidate multilib: .;@m64
+    Selected multilib: .;@m64
+
+
+Which image should I choose?
+============================
+We currently provide two images: debian8-based and nvidia-cuda-based. They
+differ in the base image that they use, i.e. they have a different set of
+preinstalled binaries. Debian8 is very minimal, nvidia-cuda is larger, but has
+preinstalled CUDA libraries and allows to access a GPU, installed on your
+machine.
+
+If you need a minimal linux distribution with only clang and libstdc++ included,
+you should try debian8-based image.
+
+If you want to use CUDA libraries and have access to a GPU on your machine,
+you should choose nvidia-cuda-based image and use `nvidia-docker
+<https://github.com/NVIDIA/nvidia-docker>`_ to run your docker containers. Note
+that you don't need nvidia-docker to build the images, but you need it in order
+to have an access to GPU from a docker container that is running the built
+image.
+
+If you have a different use-case, you could create your own image based on
+``example/`` folder.
+
+Any docker image can be built and run using only the docker binary, i.e. you can
+run debian8 build on Fedora or any other Linux distribution. You don't need to
+install CMake, compilers or any other clang dependencies. It is all handled
+during the build process inside Docker's isolated environment.
+
+Stable build
+============
+If you want a somewhat recent and somewhat stable build, use the
+``branches/google/stable`` branch, i.e. the following command will produce a
+debian8-based image using the latest ``google/stable`` sources for you:
+
+.. code-block:: bash
+
+    ./llvm/utils/docker/build_docker_image.sh \
+	-s debian8 --d clang-debian8 -t "staging" \
+	-- \
+	--branch branches/google/stable \
+	-p clang -i install-clang -i install-clang-headers \
+	-- \
+	-DCMAKE_BUILD_TYPE=Release
+
+
+Minimizing docker image size
+============================
+Due to Docker restrictions we use two images (i.e., build and release folders)
+for the release image to be as small as possible. It's much easier to achieve
+that using two images, because Docker would store a filesystem layer for each
+command in the  Dockerfile, i.e. if you install some packages in one command,
+then remove  those in a separate command, the size of the resulting image will
+still be proportinal to the size of an image with installed packages.
+Therefore, we strive to provide a very simple release image which only copies
+compiled clang and does not do anything else.
+
+Docker 1.13 added a ``--squash`` flag that allows to flatten the layers of the
+image, i.e. remove the parts that were actually deleted. That is an easier way
+to produce the smallest images possible by using just a single image. We do not
+use it because as of today the flag is in experimental stage and not everyone
+may have the latest docker version available. When the flag is out of
+experimental stage, we should investigate replacing two images approach with
+just a single image, built using ``--squash`` flag.

Modified: vendor/llvm/dist/docs/ReleaseNotes.rst
==============================================================================
--- vendor/llvm/dist/docs/ReleaseNotes.rst	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/docs/ReleaseNotes.rst	Sat Jul  1 13:22:02 2017	(r320533)
@@ -54,9 +54,10 @@ Non-comprehensive list of changes in this release
   its nature as a general purpose PDB manipulation / diagnostics tool that does
   more than just dumping contents.
   
+* The ``BBVectorize`` pass has been removed. It was fully replaced and no
+  longer used back in 2014 but we didn't get around to removing it. Now it is
+  gone. The SLP vectorizer is the suggested non-loop vectorization pass.
 
-* ... next change ...
-
 .. NOTE
    If you would like to document a larger change, then you can add a
    subsection about it right here. You can copy the following boilerplate
@@ -106,6 +107,15 @@ Changes to the OCaml bindings
 -----------------------------
 
  During this release ...
+
+
+Changes to the C API
+--------------------
+
+* Deprecated the ``LLVMAddBBVectorizePass`` interface since the ``BBVectorize``
+  pass has been removed. It is now a no-op and will be removed in the next
+  release. Use ``LLVMAddSLPVectorizePass`` instead to get the supported SLP
+  vectorizer.
 
 
 External Open Source Projects Using LLVM 5

Modified: vendor/llvm/dist/docs/XRay.rst
==============================================================================
--- vendor/llvm/dist/docs/XRay.rst	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/docs/XRay.rst	Sat Jul  1 13:22:02 2017	(r320533)
@@ -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``     | Whether to install the  |
+| xray_fdr_log      | ``bool``        | ``false``     | Whether to install the |
 |                   |                 |               | Flight Data Recorder   |
 |                   |                 |               | (FDR) mode.            |
 +-------------------+-----------------+---------------+------------------------+

Modified: vendor/llvm/dist/docs/index.rst
==============================================================================
--- vendor/llvm/dist/docs/index.rst	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/docs/index.rst	Sat Jul  1 13:22:02 2017	(r320533)
@@ -91,6 +91,7 @@ representation.
    CompileCudaWithLLVM
    ReportingGuide
    Benchmarking
+   Docker
 
 :doc:`GettingStarted`
    Discusses how to get up and running quickly with the LLVM infrastructure.
@@ -160,6 +161,9 @@ representation.
 :doc:`Frontend/PerformanceTips`
    A collection of tips for frontend authors on how to generate IR 
    which LLVM is able to effectively optimize.
+
+:doc:`Docker`
+   A reference for using Dockerfiles provided with LLVM.
 
 
 Programming Documentation

Modified: vendor/llvm/dist/include/llvm-c/Transforms/Vectorize.h
==============================================================================
--- vendor/llvm/dist/include/llvm-c/Transforms/Vectorize.h	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/include/llvm-c/Transforms/Vectorize.h	Sat Jul  1 13:22:02 2017	(r320533)
@@ -33,7 +33,7 @@ extern "C" {
  * @{
  */
 
-/** See llvm::createBBVectorizePass function. */
+/** DEPRECATED - Use LLVMAddSLPVectorizePass */
 void LLVMAddBBVectorizePass(LLVMPassManagerRef PM);
 
 /** See llvm::createLoopVectorizePass function. */

Modified: vendor/llvm/dist/include/llvm/Analysis/AliasSetTracker.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Analysis/AliasSetTracker.h	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/include/llvm/Analysis/AliasSetTracker.h	Sat Jul  1 13:22:02 2017	(r320533)
@@ -69,10 +69,15 @@ class AliasSet : public ilist_node<AliasSet> {
       if (AAInfo == DenseMapInfo<AAMDNodes>::getEmptyKey())
         // We don't have a AAInfo yet. Set it to NewAAInfo.
         AAInfo = NewAAInfo;
-      else if (AAInfo != NewAAInfo)
-        // NewAAInfo conflicts with AAInfo.
-        AAInfo = DenseMapInfo<AAMDNodes>::getTombstoneKey();
-
+      else {
+        AAMDNodes Intersection(AAInfo.intersect(NewAAInfo));
+        if (!Intersection) {
+          // NewAAInfo conflicts with AAInfo.
+          AAInfo = DenseMapInfo<AAMDNodes>::getTombstoneKey();
+          return SizeChanged;
+        }
+        AAInfo = Intersection;
+      }
       return SizeChanged;
     }
 

Added: vendor/llvm/dist/include/llvm/Analysis/CFLAliasAnalysisUtils.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/llvm/dist/include/llvm/Analysis/CFLAliasAnalysisUtils.h	Sat Jul  1 13:22:02 2017	(r320533)
@@ -0,0 +1,58 @@
+//=- CFLAliasAnalysisUtils.h - Utilities for CFL Alias Analysis ----*- C++-*-=//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+// \file
+// These are the utilities/helpers used by the CFL Alias Analyses available in
+// tree, i.e. Steensgaard's and Andersens'.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_ANALYSIS_CFLALIASANALYSISUTILS_H
+#define LLVM_ANALYSIS_CFLALIASANALYSISUTILS_H
+
+#include "llvm/IR/Function.h"
+#include "llvm/IR/ValueHandle.h"
+
+namespace llvm {
+namespace cflaa {
+
+template <typename AAResult> struct FunctionHandle final : public CallbackVH {
+  FunctionHandle(Function *Fn, AAResult *Result)
+      : CallbackVH(Fn), Result(Result) {
+    assert(Fn != nullptr);
+    assert(Result != nullptr);
+  }
+
+  void deleted() override { removeSelfFromCache(); }
+  void allUsesReplacedWith(Value *) override { removeSelfFromCache(); }
+
+private:
+  AAResult *Result;
+
+  void removeSelfFromCache() {
+    assert(Result != nullptr);
+    auto *Val = getValPtr();
+    Result->evict(cast<Function>(Val));
+    setValPtr(nullptr);
+  }
+};
+
+static inline const Function *parentFunctionOfValue(const Value *Val) {
+  if (auto *Inst = dyn_cast<Instruction>(Val)) {
+    auto *Bb = Inst->getParent();
+    return Bb->getParent();
+  }
+
+  if (auto *Arg = dyn_cast<Argument>(Val))
+    return Arg->getParent();
+  return nullptr;
+} // namespace cflaa
+} // namespace llvm
+}
+
+#endif // LLVM_ANALYSIS_CFLALIASANALYSISUTILS_H

Modified: vendor/llvm/dist/include/llvm/Analysis/CFLAndersAliasAnalysis.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Analysis/CFLAndersAliasAnalysis.h	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/include/llvm/Analysis/CFLAndersAliasAnalysis.h	Sat Jul  1 13:22:02 2017	(r320533)
@@ -18,8 +18,8 @@
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/Optional.h"
 #include "llvm/Analysis/AliasAnalysis.h"
+#include "llvm/Analysis/CFLAliasAnalysisUtils.h"
 #include "llvm/IR/Function.h"
-#include "llvm/IR/ValueHandle.h"
 #include "llvm/Pass.h"
 #include <forward_list>
 
@@ -47,7 +47,7 @@ class CFLAndersAAResult : public AAResultBase<CFLAnder
     return false;
   }
   /// Evict the given function from cache
-  void evict(const Function &Fn);
+  void evict(const Function *Fn);
 
   /// \brief Get the alias summary for the given function
   /// Return nullptr if the summary is not found or not available
@@ -57,27 +57,6 @@ class CFLAndersAAResult : public AAResultBase<CFLAnder
   AliasResult alias(const MemoryLocation &, const MemoryLocation &);
 
 private:
-  struct FunctionHandle final : public CallbackVH {
-    FunctionHandle(Function *Fn, CFLAndersAAResult *Result)
-        : CallbackVH(Fn), Result(Result) {
-      assert(Fn != nullptr);
-      assert(Result != nullptr);
-    }
-
-    void deleted() override { removeSelfFromCache(); }
-    void allUsesReplacedWith(Value *) override { removeSelfFromCache(); }
-
-  private:
-    CFLAndersAAResult *Result;
-
-    void removeSelfFromCache() {
-      assert(Result != nullptr);
-      auto *Val = getValPtr();
-      Result->evict(*cast<Function>(Val));
-      setValPtr(nullptr);
-    }
-  };
-
   /// \brief Ensures that the given function is available in the cache.
   /// Returns the appropriate entry from the cache.
   const Optional<FunctionInfo> &ensureCached(const Function &);
@@ -97,7 +76,7 @@ class CFLAndersAAResult : public AAResultBase<CFLAnder
   /// that simply has empty sets.
   DenseMap<const Function *, Optional<FunctionInfo>> Cache;
 
-  std::forward_list<FunctionHandle> Handles;
+  std::forward_list<cflaa::FunctionHandle<CFLAndersAAResult>> Handles;
 };
 
 /// Analysis pass providing a never-invalidated alias analysis result.

Modified: vendor/llvm/dist/include/llvm/Analysis/CFLSteensAliasAnalysis.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Analysis/CFLSteensAliasAnalysis.h	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/include/llvm/Analysis/CFLSteensAliasAnalysis.h	Sat Jul  1 13:22:02 2017	(r320533)
@@ -19,6 +19,7 @@
 #include "llvm/ADT/None.h"
 #include "llvm/ADT/Optional.h"
 #include "llvm/Analysis/AliasAnalysis.h"
+#include "llvm/Analysis/CFLAliasAnalysisUtils.h"
 #include "llvm/IR/Function.h"
 #include "llvm/IR/Module.h"
 #include "llvm/IR/ValueHandle.h"
@@ -85,27 +86,6 @@ class CFLSteensAAResult : public AAResultBase<CFLSteen
   }
 
 private:
-  struct FunctionHandle final : public CallbackVH {
-    FunctionHandle(Function *Fn, CFLSteensAAResult *Result)
-        : CallbackVH(Fn), Result(Result) {
-      assert(Fn != nullptr);
-      assert(Result != nullptr);
-    }
-
-    void deleted() override { removeSelfFromCache(); }
-    void allUsesReplacedWith(Value *) override { removeSelfFromCache(); }
-
-  private:
-    CFLSteensAAResult *Result;
-
-    void removeSelfFromCache() {
-      assert(Result != nullptr);
-      auto *Val = getValPtr();
-      Result->evict(cast<Function>(Val));
-      setValPtr(nullptr);
-    }
-  };
-
   const TargetLibraryInfo &TLI;
 
   /// \brief Cached mapping of Functions to their StratifiedSets.
@@ -114,7 +94,7 @@ class CFLSteensAAResult : public AAResultBase<CFLSteen
   /// have any kind of recursion, it is discernable from a function
   /// that simply has empty sets.
   DenseMap<Function *, Optional<FunctionInfo>> Cache;
-  std::forward_list<FunctionHandle> Handles;
+  std::forward_list<cflaa::FunctionHandle<CFLSteensAAResult>> Handles;
 
   FunctionInfo buildSetsFrom(Function *F);
 };

Modified: vendor/llvm/dist/include/llvm/Analysis/IteratedDominanceFrontier.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Analysis/IteratedDominanceFrontier.h	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/include/llvm/Analysis/IteratedDominanceFrontier.h	Sat Jul  1 13:22:02 2017	(r320533)
@@ -86,7 +86,6 @@ class IDFCalculator { (public)
 private:
   DominatorTreeBase<BasicBlock> &DT;
   bool useLiveIn;
-  DenseMap<DomTreeNode *, unsigned> DomLevels;
   const SmallPtrSetImpl<BasicBlock *> *LiveInBlocks;
   const SmallPtrSetImpl<BasicBlock *> *DefBlocks;
 };

Modified: vendor/llvm/dist/include/llvm/Analysis/MemorySSA.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Analysis/MemorySSA.h	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/include/llvm/Analysis/MemorySSA.h	Sat Jul  1 13:22:02 2017	(r320533)
@@ -139,7 +139,7 @@ class MemoryAccess (public)
 
   // Methods for support type inquiry through isa, cast, and
   // dyn_cast
-  static inline bool classof(const Value *V) {
+  static bool classof(const Value *V) {
     unsigned ID = V->getValueID();
     return ID == MemoryUseVal || ID == MemoryPhiVal || ID == MemoryDefVal;
   }
@@ -241,7 +241,7 @@ class MemoryUseOrDef : public MemoryAccess { (public)
   /// \brief Get the access that produces the memory state used by this Use.
   MemoryAccess *getDefiningAccess() const { return getOperand(0); }
 
-  static inline bool classof(const Value *MA) {
+  static bool classof(const Value *MA) {
     return MA->getValueID() == MemoryUseVal || MA->getValueID() == MemoryDefVal;
   }
 
@@ -297,7 +297,7 @@ class MemoryUse final : public MemoryUseOrDef { (publi
   // allocate space for exactly one operand
   void *operator new(size_t s) { return User::operator new(s, 1); }
 
-  static inline bool classof(const Value *MA) {
+  static bool classof(const Value *MA) {
     return MA->getValueID() == MemoryUseVal;
   }
 
@@ -353,7 +353,7 @@ class MemoryDef final : public MemoryUseOrDef { (publi
   // allocate space for exactly one operand
   void *operator new(size_t s) { return User::operator new(s, 1); }
 
-  static inline bool classof(const Value *MA) {
+  static bool classof(const Value *MA) {
     return MA->getValueID() == MemoryDefVal;
   }
 
@@ -526,7 +526,7 @@ class MemoryPhi final : public MemoryAccess { (public)
     return getIncomingValue(Idx);
   }
 
-  static inline bool classof(const Value *V) {
+  static bool classof(const Value *V) {
     return V->getValueID() == MemoryPhiVal;
   }
 

Modified: vendor/llvm/dist/include/llvm/Analysis/OptimizationDiagnosticInfo.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Analysis/OptimizationDiagnosticInfo.h	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/include/llvm/Analysis/OptimizationDiagnosticInfo.h	Sat Jul  1 13:22:02 2017	(r320533)
@@ -34,7 +34,7 @@ class Value;
 ///
 /// It allows reporting when optimizations are performed and when they are not
 /// along with the reasons for it.  Hotness information of the corresponding
-/// code region can be included in the remark if DiagnosticHotnessRequested is
+/// code region can be included in the remark if DiagnosticsHotnessRequested is
 /// enabled in the LLVM context.
 class OptimizationRemarkEmitter {
 public:
@@ -45,10 +45,10 @@ class OptimizationRemarkEmitter { (public)
   /// analysis pass).
   ///
   /// Note that this ctor has a very different cost depending on whether
-  /// F->getContext().getDiagnosticHotnessRequested() is on or not.  If it's off
+  /// F->getContext().getDiagnosticsHotnessRequested() is on or not.  If it's off
   /// the operation is free.
   ///
-  /// Whereas if DiagnosticHotnessRequested is on, it is fairly expensive
+  /// Whereas if DiagnosticsHotnessRequested is on, it is fairly expensive
   /// operation since BFI and all its required analyses are computed.  This is
   /// for example useful for CGSCC passes that can't use function analyses
   /// passes in the old PM.

Modified: vendor/llvm/dist/include/llvm/Analysis/RegionInfo.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Analysis/RegionInfo.h	Sat Jul  1 13:03:02 2017	(r320532)
+++ vendor/llvm/dist/include/llvm/Analysis/RegionInfo.h	Sat Jul  1 13:22:02 2017	(r320533)
@@ -37,18 +37,38 @@
 #ifndef LLVM_ANALYSIS_REGIONINFO_H
 #define LLVM_ANALYSIS_REGIONINFO_H
 
+#include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/DepthFirstIterator.h"
+#include "llvm/ADT/GraphTraits.h"
 #include "llvm/ADT/PointerIntPair.h"
 #include "llvm/ADT/iterator_range.h"
-#include "llvm/IR/CFG.h"
+#include "llvm/IR/BasicBlock.h"
 #include "llvm/IR/Dominators.h"
 #include "llvm/IR/PassManager.h"
+#include "llvm/Pass.h"
+#include "llvm/Support/raw_ostream.h"
+#include <algorithm>
+#include <cassert>
 #include <map>
 #include <memory>
 #include <set>
+#include <string>
+#include <type_traits>
+#include <vector>
 
 namespace llvm {
 
+class DominanceFrontier;
+class DominatorTree;
+class Loop;
+class LoopInfo;
+struct PostDominatorTree;
+class Region;
+template <class RegionTr> class RegionBase;
+class RegionInfo;
+template <class RegionTr> class RegionInfoBase;
+class RegionNode;
+
 // Class to be specialized for different users of RegionInfo
 // (i.e. BasicBlocks or MachineBasicBlocks). This is only to avoid needing to
 // pass around an unreasonable number of template parameters.
@@ -59,37 +79,23 @@ struct RegionTraits {
   // RegionT
   // RegionNodeT
   // RegionInfoT
-  typedef typename FuncT_::UnknownRegionTypeError BrokenT;
+  using BrokenT = typename FuncT_::UnknownRegionTypeError;
 };
 
-class DominatorTree;
-class DominanceFrontier;
-class Loop;
-class LoopInfo;
-struct PostDominatorTree;
-class raw_ostream;
-class Region;
-template <class RegionTr>
-class RegionBase;
-class RegionNode;
-class RegionInfo;
-template <class RegionTr>
-class RegionInfoBase;
-
 template <>
 struct RegionTraits<Function> {
-  typedef Function FuncT;
-  typedef BasicBlock BlockT;
-  typedef Region RegionT;
-  typedef RegionNode RegionNodeT;
-  typedef RegionInfo RegionInfoT;
-  typedef DominatorTree DomTreeT;
-  typedef DomTreeNode DomTreeNodeT;
-  typedef DominanceFrontier DomFrontierT;
-  typedef PostDominatorTree PostDomTreeT;
-  typedef Instruction InstT;
-  typedef Loop LoopT;
-  typedef LoopInfo LoopInfoT;
+  using FuncT = Function;
+  using BlockT = BasicBlock;
+  using RegionT = Region;
+  using RegionNodeT = RegionNode;
+  using RegionInfoT = RegionInfo;
+  using DomTreeT = DominatorTree;
+  using DomTreeNodeT = DomTreeNode;
+  using DomFrontierT = DominanceFrontier;
+  using PostDomTreeT = PostDominatorTree;
+  using InstT = Instruction;
+  using LoopT = Loop;
+  using LoopInfoT = LoopInfo;
 
   static unsigned getNumSuccessors(BasicBlock *BB) {
     return BB->getTerminator()->getNumSuccessors();
@@ -113,13 +119,10 @@ class RegionNodeBase {
   friend class RegionBase<Tr>;
 
 public:
-  typedef typename Tr::BlockT BlockT;
-  typedef typename Tr::RegionT RegionT;
+  using BlockT = typename Tr::BlockT;
+  using RegionT = typename Tr::RegionT;
 
 private:
-  RegionNodeBase(const RegionNodeBase &) = delete;
-  const RegionNodeBase &operator=(const RegionNodeBase &) = delete;
-
   /// This is the entry basic block that starts this region node.  If this is a
   /// BasicBlock RegionNode, then entry is just the basic block, that this
   /// RegionNode represents.  Otherwise it is the entry of this (Sub)RegionNode.
@@ -150,6 +153,9 @@ class RegionNodeBase {
       : entry(Entry, isSubRegion), parent(Parent) {}
 
 public:
+  RegionNodeBase(const RegionNodeBase &) = delete;
+  RegionNodeBase &operator=(const RegionNodeBase &) = delete;
+
   /// @brief Get the parent Region of this RegionNode.
   ///
   /// The parent Region is the Region this RegionNode belongs to. If for
@@ -247,25 +253,23 @@ class RegionNodeBase {
 /// tree, the second one creates a graphical representation using graphviz.
 template <class Tr>
 class RegionBase : public RegionNodeBase<Tr> {
-  typedef typename Tr::FuncT FuncT;
-  typedef typename Tr::BlockT BlockT;
-  typedef typename Tr::RegionInfoT RegionInfoT;
-  typedef typename Tr::RegionT RegionT;
-  typedef typename Tr::RegionNodeT RegionNodeT;
-  typedef typename Tr::DomTreeT DomTreeT;
-  typedef typename Tr::LoopT LoopT;
-  typedef typename Tr::LoopInfoT LoopInfoT;
-  typedef typename Tr::InstT InstT;
-
-  typedef GraphTraits<BlockT *> BlockTraits;
-  typedef GraphTraits<Inverse<BlockT *>> InvBlockTraits;
-  typedef typename BlockTraits::ChildIteratorType SuccIterTy;
-  typedef typename InvBlockTraits::ChildIteratorType PredIterTy;
-
   friend class RegionInfoBase<Tr>;
-  RegionBase(const RegionBase &) = delete;
-  const RegionBase &operator=(const RegionBase &) = delete;
+ 
+  using FuncT = typename Tr::FuncT;
+  using BlockT = typename Tr::BlockT;
+  using RegionInfoT = typename Tr::RegionInfoT;
+  using RegionT = typename Tr::RegionT;
+  using RegionNodeT = typename Tr::RegionNodeT;
+  using DomTreeT = typename Tr::DomTreeT;
+  using LoopT = typename Tr::LoopT;
+  using LoopInfoT = typename Tr::LoopInfoT;
+  using InstT = typename Tr::InstT;
 
+  using BlockTraits = GraphTraits<BlockT *>;
+  using InvBlockTraits = GraphTraits<Inverse<BlockT *>>;
+  using SuccIterTy = typename BlockTraits::ChildIteratorType;
+  using PredIterTy = typename InvBlockTraits::ChildIteratorType;
+
   // Information necessary to manage this Region.
   RegionInfoT *RI;
   DomTreeT *DT;
@@ -274,12 +278,12 @@ class RegionBase : public RegionNodeBase<Tr> {
   // (The entry BasicBlock is part of RegionNode)
   BlockT *exit;
 
-  typedef std::vector<std::unique_ptr<RegionT>> RegionSet;
+  using RegionSet = std::vector<std::unique_ptr<RegionT>>;
 
   // The subregions of this region.
   RegionSet children;
 
-  typedef std::map<BlockT *, std::unique_ptr<RegionNodeT>> BBNodeMapT;
+  using BBNodeMapT = std::map<BlockT *, std::unique_ptr<RegionNodeT>>;
 
   // Save the BasicBlock RegionNodes that are element of this Region.
   mutable BBNodeMapT BBNodeMap;
@@ -308,6 +312,9 @@ class RegionBase : public RegionNodeBase<Tr> {
   RegionBase(BlockT *Entry, BlockT *Exit, RegionInfoT *RI, DomTreeT *DT,
              RegionT *Parent = nullptr);
 
+  RegionBase(const RegionBase &) = delete;
+  RegionBase &operator=(const RegionBase &) = delete;
+
   /// Delete the Region and all its subregions.
   ~RegionBase();
 
@@ -543,8 +550,8 @@ class RegionBase : public RegionNodeBase<Tr> {
   ///
   /// These iterators iterator over all subregions of this Region.
   //@{
-  typedef typename RegionSet::iterator iterator;
-  typedef typename RegionSet::const_iterator const_iterator;
+  using iterator = typename RegionSet::iterator;
+  using const_iterator = typename RegionSet::const_iterator;
 
   iterator begin() { return children.begin(); }
   iterator end() { return children.end(); }
@@ -563,12 +570,13 @@ class RegionBase : public RegionNodeBase<Tr> {
   class block_iterator_wrapper
       : public df_iterator<
             typename std::conditional<IsConst, const BlockT, BlockT>::type *> {
-    typedef df_iterator<
-        typename std::conditional<IsConst, const BlockT, BlockT>::type *> super;
+    using super =
+        df_iterator<
+            typename std::conditional<IsConst, const BlockT, BlockT>::type *>;
 
   public:
-    typedef block_iterator_wrapper<IsConst> Self;
-    typedef typename super::value_type value_type;
+    using Self = block_iterator_wrapper<IsConst>;
+    using value_type = typename super::value_type;
 
     // Construct the begin iterator.
     block_iterator_wrapper(value_type Entry, value_type Exit)
@@ -592,8 +600,8 @@ class RegionBase : public RegionNodeBase<Tr> {
     }
   };
 
-  typedef block_iterator_wrapper<false> block_iterator;
-  typedef block_iterator_wrapper<true> const_block_iterator;
+  using block_iterator = block_iterator_wrapper<false>;
+  using const_block_iterator = block_iterator_wrapper<true>;
 
   block_iterator block_begin() { return block_iterator(getEntry(), getExit()); }
 
@@ -604,8 +612,8 @@ class RegionBase : public RegionNodeBase<Tr> {
   }
   const_block_iterator block_end() const { return const_block_iterator(); }
 
-  typedef iterator_range<block_iterator> block_range;
-  typedef iterator_range<const_block_iterator> const_block_range;
+  using block_range = iterator_range<block_iterator>;
+  using const_block_range = iterator_range<const_block_iterator>;
 
   /// @brief Returns a range view of the basic blocks in the region.
   inline block_range blocks() {
@@ -626,14 +634,14 @@ class RegionBase : public RegionNodeBase<Tr> {
   /// are direct children of this Region. It does not iterate over any
   /// RegionNodes that are also element of a subregion of this Region.
   //@{
-  typedef df_iterator<RegionNodeT *, df_iterator_default_set<RegionNodeT *>,
-                      false, GraphTraits<RegionNodeT *>>
-      element_iterator;
+  using element_iterator =
+      df_iterator<RegionNodeT *, df_iterator_default_set<RegionNodeT *>, false,
+                  GraphTraits<RegionNodeT *>>;
 
-  typedef df_iterator<const RegionNodeT *,
-                      df_iterator_default_set<const RegionNodeT *>, false,
-                      GraphTraits<const RegionNodeT *>>
-      const_element_iterator;
+  using const_element_iterator =
+      df_iterator<const RegionNodeT *,
+                  df_iterator_default_set<const RegionNodeT *>, false,
+                  GraphTraits<const RegionNodeT *>>;
 
   element_iterator element_begin();
   element_iterator element_end();
@@ -661,36 +669,34 @@ inline raw_ostream &operator<<(raw_ostream &OS, const 
 /// Tree.
 template <class Tr>
 class RegionInfoBase {
-  typedef typename Tr::BlockT BlockT;
-  typedef typename Tr::FuncT FuncT;
-  typedef typename Tr::RegionT RegionT;
-  typedef typename Tr::RegionInfoT RegionInfoT;
-  typedef typename Tr::DomTreeT DomTreeT;
-  typedef typename Tr::DomTreeNodeT DomTreeNodeT;
-  typedef typename Tr::PostDomTreeT PostDomTreeT;
-  typedef typename Tr::DomFrontierT DomFrontierT;
-  typedef GraphTraits<BlockT *> BlockTraits;
-  typedef GraphTraits<Inverse<BlockT *>> InvBlockTraits;
-  typedef typename BlockTraits::ChildIteratorType SuccIterTy;
-  typedef typename InvBlockTraits::ChildIteratorType PredIterTy;
-
   friend class RegionInfo;
   friend class MachineRegionInfo;
-  typedef DenseMap<BlockT *, BlockT *> BBtoBBMap;
-  typedef DenseMap<BlockT *, RegionT *> BBtoRegionMap;
 
-  RegionInfoBase();
-  virtual ~RegionInfoBase();
+  using BlockT = typename Tr::BlockT;
+  using FuncT = typename Tr::FuncT;
+  using RegionT = typename Tr::RegionT;
+  using RegionInfoT = typename Tr::RegionInfoT;
+  using DomTreeT = typename Tr::DomTreeT;
+  using DomTreeNodeT = typename Tr::DomTreeNodeT;
+  using PostDomTreeT = typename Tr::PostDomTreeT;
+  using DomFrontierT = typename Tr::DomFrontierT;
+  using BlockTraits = GraphTraits<BlockT *>;
+  using InvBlockTraits = GraphTraits<Inverse<BlockT *>>;
+  using SuccIterTy = typename BlockTraits::ChildIteratorType;
+  using PredIterTy = typename InvBlockTraits::ChildIteratorType;
 
-  RegionInfoBase(const RegionInfoBase &) = delete;
-  const RegionInfoBase &operator=(const RegionInfoBase &) = delete;
+  using BBtoBBMap = DenseMap<BlockT *, BlockT *>;
+  using BBtoRegionMap = DenseMap<BlockT *, RegionT *>;
 
+  RegionInfoBase();
+
   RegionInfoBase(RegionInfoBase &&Arg)
     : DT(std::move(Arg.DT)), PDT(std::move(Arg.PDT)), DF(std::move(Arg.DF)),
       TopLevelRegion(std::move(Arg.TopLevelRegion)),
       BBtoRegion(std::move(Arg.BBtoRegion)) {
     Arg.wipe();
   }
+
   RegionInfoBase &operator=(RegionInfoBase &&RHS) {
     DT = std::move(RHS.DT);
     PDT = std::move(RHS.PDT);
@@ -701,12 +707,14 @@ class RegionInfoBase {
     return *this;
   }
 
+  virtual ~RegionInfoBase();
+
   DomTreeT *DT;
   PostDomTreeT *PDT;
   DomFrontierT *DF;
 
   /// The top level region.
-  RegionT *TopLevelRegion;
+  RegionT *TopLevelRegion = nullptr;
 
   /// Map every BB to the smallest region, that contains BB.
   BBtoRegionMap BBtoRegion;
@@ -785,6 +793,9 @@ class RegionInfoBase {
   void calculate(FuncT &F);
 
 public:
+  RegionInfoBase(const RegionInfoBase &) = delete;
+  RegionInfoBase &operator=(const RegionInfoBase &) = delete;
+
   static bool VerifyRegionInfo;
   static typename RegionT::PrintStyle printStyle;
 
@@ -887,21 +898,22 @@ class Region : public RegionBase<RegionTraits<Function
 
 class RegionInfo : public RegionInfoBase<RegionTraits<Function>> {
 public:
-  typedef RegionInfoBase<RegionTraits<Function>> Base;
+  using Base = RegionInfoBase<RegionTraits<Function>>;
 
   explicit RegionInfo();
 
-  ~RegionInfo() override;
-
   RegionInfo(RegionInfo &&Arg) : Base(std::move(static_cast<Base &>(Arg))) {
     updateRegionTree(*this, TopLevelRegion);
   }
+
   RegionInfo &operator=(RegionInfo &&RHS) {
     Base::operator=(std::move(static_cast<Base &>(RHS)));
     updateRegionTree(*this, TopLevelRegion);
     return *this;
   }
 
+  ~RegionInfo() override;
+
   /// Handle invalidation explicitly.
   bool invalidate(Function &F, const PreservedAnalyses &PA,
                   FunctionAnalysisManager::Invalidator &);
@@ -931,8 +943,8 @@ class RegionInfoPass : public FunctionPass {
 
 public:
   static char ID;
-  explicit RegionInfoPass();
 
+  explicit RegionInfoPass();

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



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