svn commit: r320013 - in vendor/llvm/dist: cmake/modules docs include/llvm/ADT include/llvm/Analysis include/llvm/BinaryFormat include/llvm/Bitcode include/llvm/CodeGen include/llvm/CodeGen/GlobalI...
Dimitry Andric
dim at FreeBSD.org
Fri Jun 16 21:03:28 UTC 2017
Author: dim
Date: Fri Jun 16 21:03:24 2017
New Revision: 320013
URL: https://svnweb.freebsd.org/changeset/base/320013
Log:
Vendor import of llvm trunk r305575:
https://llvm.org/svn/llvm-project/llvm/trunk@305575
Added:
vendor/llvm/dist/include/llvm/DebugInfo/CodeView/StringsAndChecksums.h (contents, props changed)
vendor/llvm/dist/include/llvm/Testing/
vendor/llvm/dist/include/llvm/Testing/Support/
vendor/llvm/dist/include/llvm/Testing/Support/Error.h (contents, props changed)
vendor/llvm/dist/include/llvm/Testing/Support/SupportHelpers.h (contents, props changed)
vendor/llvm/dist/lib/DebugInfo/CodeView/StringsAndChecksums.cpp (contents, props changed)
vendor/llvm/dist/lib/Fuzzer/test/inline-8bit-counters/
vendor/llvm/dist/lib/Fuzzer/test/inline-8bit-counters.test
vendor/llvm/dist/lib/Fuzzer/test/inline-8bit-counters/CMakeLists.txt (contents, props changed)
vendor/llvm/dist/lib/Testing/
vendor/llvm/dist/lib/Testing/CMakeLists.txt (contents, props changed)
vendor/llvm/dist/lib/Testing/LLVMBuild.txt (contents, props changed)
vendor/llvm/dist/lib/Testing/Support/
vendor/llvm/dist/lib/Testing/Support/CMakeLists.txt (contents, props changed)
vendor/llvm/dist/lib/Testing/Support/Error.cpp (contents, props changed)
vendor/llvm/dist/lib/Testing/Support/LLVMBuild.txt (contents, props changed)
vendor/llvm/dist/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp (contents, props changed)
vendor/llvm/dist/test/Analysis/ScalarEvolution/limit-depth.ll
vendor/llvm/dist/test/Bitcode/DIExpression-minus-upgrade.ll
vendor/llvm/dist/test/Bitcode/DIExpression-minus-upgrade.ll.bc (contents, props changed)
vendor/llvm/dist/test/Bitcode/upgrade-linker-options.ll
vendor/llvm/dist/test/CodeGen/AArch64/fast-isel-sp-adjust.ll
vendor/llvm/dist/test/CodeGen/AMDGPU/GlobalISel/legalize-add.mir
vendor/llvm/dist/test/CodeGen/AMDGPU/always-uniform.ll
vendor/llvm/dist/test/CodeGen/BPF/rodata_1.ll
vendor/llvm/dist/test/CodeGen/BPF/rodata_2.ll
vendor/llvm/dist/test/CodeGen/BPF/rodata_3.ll
vendor/llvm/dist/test/CodeGen/BPF/rodata_4.ll
vendor/llvm/dist/test/CodeGen/Hexagon/loop-idiom/pmpy-shiftconv-fail.ll
vendor/llvm/dist/test/CodeGen/Hexagon/mulh.ll
vendor/llvm/dist/test/CodeGen/Hexagon/mux-kill.mir
vendor/llvm/dist/test/CodeGen/Hexagon/mux-kill2.mir
vendor/llvm/dist/test/CodeGen/Hexagon/store-imm-stack-object.ll
vendor/llvm/dist/test/CodeGen/Mips/brundef.ll
vendor/llvm/dist/test/CodeGen/PowerPC/licm-tocReg.ll
vendor/llvm/dist/test/CodeGen/PowerPC/ppc64-P9-mod.ll
vendor/llvm/dist/test/CodeGen/PowerPC/vec_revb.ll
vendor/llvm/dist/test/CodeGen/X86/pr32368.ll
vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets-dwp.x86_64.o (contents, props changed)
vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-test-zlib.o.elf-x86-64 (contents, props changed)
vendor/llvm/dist/test/DebugInfo/PDB/Inputs/unknown-symbol.yaml
vendor/llvm/dist/test/DebugInfo/PDB/pdb-unknown-symbol.test
vendor/llvm/dist/test/DebugInfo/X86/double-declare.ll
vendor/llvm/dist/test/DebugInfo/dwarfdump-str-offsets-dwp.test
vendor/llvm/dist/test/Instrumentation/InstrProfiling/always_inline.ll
vendor/llvm/dist/test/LTO/Resolution/X86/Inputs/dead-strip-fulllto.ll
vendor/llvm/dist/test/LTO/Resolution/X86/dead-strip-fulllto.ll
vendor/llvm/dist/test/LibDriver/use-paths.test
vendor/llvm/dist/test/MC/AMDGPU/flat-gfx9.s (contents, props changed)
vendor/llvm/dist/test/MC/WebAssembly/external-func-address.ll
vendor/llvm/dist/test/MC/WebAssembly/func-address.ll
vendor/llvm/dist/test/ThinLTO/X86/cfi-icall.ll
vendor/llvm/dist/test/Transforms/CodeExtractor/live_shrink.ll
vendor/llvm/dist/test/Transforms/CodeExtractor/live_shrink_gep.ll
vendor/llvm/dist/test/Transforms/CodeExtractor/live_shrink_hoist.ll
vendor/llvm/dist/test/Transforms/CodeExtractor/live_shrink_multiple.ll
vendor/llvm/dist/test/Transforms/CodeExtractor/live_shrink_unsafe.ll
vendor/llvm/dist/test/Transforms/CrossDSOCFI/cfi_functions.ll
vendor/llvm/dist/test/Transforms/EarlyCSE/pr33406.ll
vendor/llvm/dist/test/Transforms/GVN/pr32314.ll
vendor/llvm/dist/test/Transforms/LowerTypeTests/Inputs/import-icall.yaml
vendor/llvm/dist/test/Transforms/LowerTypeTests/export-icall.ll
vendor/llvm/dist/test/Transforms/LowerTypeTests/import-icall.ll
vendor/llvm/dist/test/Transforms/RewriteStatepointsForGC/drop-invalid-metadata.ll
vendor/llvm/dist/test/Transforms/Util/PredicateInfo/pr33456.ll
vendor/llvm/dist/test/Transforms/Util/PredicateInfo/pr33457.ll
vendor/llvm/dist/test/tools/llvm-cvtres/Inputs/combined.obj.coff (contents, props changed)
vendor/llvm/dist/test/tools/llvm-cvtres/Inputs/languages.rc
vendor/llvm/dist/test/tools/llvm-cvtres/Inputs/languages.res (contents, props changed)
vendor/llvm/dist/test/tools/llvm-cvtres/Inputs/test_resource.obj.coff.arm (contents, props changed)
vendor/llvm/dist/test/tools/llvm-cvtres/Inputs/test_resource.obj.coff.x64 (contents, props changed)
vendor/llvm/dist/test/tools/llvm-cvtres/combined.test
vendor/llvm/dist/test/tools/llvm-cvtres/help.test
vendor/llvm/dist/test/tools/llvm-cvtres/machine.test
vendor/llvm/dist/test/tools/llvm-dwarfdump/X86/apple_names_verify_buckets.s (contents, props changed)
vendor/llvm/dist/tools/llvm-pdbutil/FormatUtil.cpp (contents, props changed)
vendor/llvm/dist/tools/llvm-pdbutil/FormatUtil.h (contents, props changed)
vendor/llvm/dist/tools/llvm-pdbutil/MinimalSymbolDumper.cpp (contents, props changed)
vendor/llvm/dist/tools/llvm-pdbutil/MinimalSymbolDumper.h (contents, props changed)
vendor/llvm/dist/tools/llvm-pdbutil/MinimalTypeDumper.cpp (contents, props changed)
vendor/llvm/dist/tools/llvm-pdbutil/MinimalTypeDumper.h (contents, props changed)
vendor/llvm/dist/tools/llvm-pdbutil/RawOutputStyle.cpp (contents, props changed)
vendor/llvm/dist/tools/llvm-pdbutil/RawOutputStyle.h (contents, props changed)
vendor/llvm/dist/unittests/Support/DynamicLibrary/ExportedFuncs.cxx (contents, props changed)
Deleted:
vendor/llvm/dist/test/CodeGen/PowerPC/testComparesinesll.ll
vendor/llvm/dist/test/CodeGen/PowerPC/testComparesineull.ll
vendor/llvm/dist/test/CodeGen/PowerPC/testComparesllnesll.ll
vendor/llvm/dist/test/CodeGen/PowerPC/testComparesllneull.ll
vendor/llvm/dist/test/DebugInfo/PDB/pdb-yaml-types.test
vendor/llvm/dist/test/tools/llvm-cvtres/basic.test
vendor/llvm/dist/test/tools/llvm-pdbdump/raw-stream-data.test
vendor/llvm/dist/tools/llvm-pdbutil/LLVMOutputStyle.cpp
vendor/llvm/dist/tools/llvm-pdbutil/LLVMOutputStyle.h
vendor/llvm/dist/unittests/DebugInfo/CodeView/ErrorChecking.h
vendor/llvm/dist/unittests/DebugInfo/PDB/ErrorChecking.h
Modified:
vendor/llvm/dist/cmake/modules/TableGen.cmake
vendor/llvm/dist/docs/BranchWeightMetadata.rst
vendor/llvm/dist/docs/LangRef.rst
vendor/llvm/dist/docs/Lexicon.rst
vendor/llvm/dist/docs/Phabricator.rst
vendor/llvm/dist/include/llvm/ADT/AllocatorList.h
vendor/llvm/dist/include/llvm/ADT/ArrayRef.h
vendor/llvm/dist/include/llvm/ADT/BreadthFirstIterator.h
vendor/llvm/dist/include/llvm/ADT/DAGDeltaAlgorithm.h
vendor/llvm/dist/include/llvm/ADT/DeltaAlgorithm.h
vendor/llvm/dist/include/llvm/ADT/DenseMap.h
vendor/llvm/dist/include/llvm/ADT/DenseMapInfo.h
vendor/llvm/dist/include/llvm/ADT/DenseSet.h
vendor/llvm/dist/include/llvm/ADT/DepthFirstIterator.h
vendor/llvm/dist/include/llvm/ADT/EquivalenceClasses.h
vendor/llvm/dist/include/llvm/ADT/FoldingSet.h
vendor/llvm/dist/include/llvm/ADT/GraphTraits.h
vendor/llvm/dist/include/llvm/ADT/ImmutableList.h
vendor/llvm/dist/include/llvm/ADT/ImmutableMap.h
vendor/llvm/dist/include/llvm/ADT/ImmutableSet.h
vendor/llvm/dist/include/llvm/ADT/IndexedMap.h
vendor/llvm/dist/include/llvm/ADT/IntervalMap.h
vendor/llvm/dist/include/llvm/ADT/IntrusiveRefCntPtr.h
vendor/llvm/dist/include/llvm/ADT/MapVector.h
vendor/llvm/dist/include/llvm/ADT/Optional.h
vendor/llvm/dist/include/llvm/ADT/PackedVector.h
vendor/llvm/dist/include/llvm/ADT/PointerEmbeddedInt.h
vendor/llvm/dist/include/llvm/ADT/PointerUnion.h
vendor/llvm/dist/include/llvm/ADT/ScopedHashTable.h
vendor/llvm/dist/include/llvm/ADT/SmallBitVector.h
vendor/llvm/dist/include/llvm/ADT/SmallSet.h
vendor/llvm/dist/include/llvm/ADT/StringExtras.h
vendor/llvm/dist/include/llvm/ADT/Triple.h
vendor/llvm/dist/include/llvm/ADT/ilist_base.h
vendor/llvm/dist/include/llvm/ADT/ilist_iterator.h
vendor/llvm/dist/include/llvm/ADT/ilist_node.h
vendor/llvm/dist/include/llvm/ADT/iterator.h
vendor/llvm/dist/include/llvm/ADT/simple_ilist.h
vendor/llvm/dist/include/llvm/Analysis/MemorySSA.h
vendor/llvm/dist/include/llvm/Analysis/ScalarEvolution.h
vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfo.h
vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfoImpl.h
vendor/llvm/dist/include/llvm/Analysis/TypeMetadataUtils.h
vendor/llvm/dist/include/llvm/Analysis/ValueTracking.h
vendor/llvm/dist/include/llvm/BinaryFormat/ELF.h
vendor/llvm/dist/include/llvm/Bitcode/BitcodeReader.h
vendor/llvm/dist/include/llvm/Bitcode/BitcodeWriter.h
vendor/llvm/dist/include/llvm/Bitcode/LLVMBitCodes.h
vendor/llvm/dist/include/llvm/CodeGen/BasicTTIImpl.h
vendor/llvm/dist/include/llvm/CodeGen/FunctionLoweringInfo.h
vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
vendor/llvm/dist/include/llvm/CodeGen/RuntimeLibcalls.h
vendor/llvm/dist/include/llvm/CodeGen/SelectionDAG.h
vendor/llvm/dist/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
vendor/llvm/dist/include/llvm/DebugInfo/CodeView/CodeView.h
vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h
vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h
vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h
vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h
vendor/llvm/dist/include/llvm/DebugInfo/CodeView/Formatters.h
vendor/llvm/dist/include/llvm/DebugInfo/CodeView/SymbolRecord.h
vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeIndex.h
vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h
vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/DbiModuleList.h
vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h
vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/InfoStream.h
vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h
vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/PDBFile.h
vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/PDBStringTable.h
vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/PublicsStream.h
vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/RawConstants.h
vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/SymbolStream.h
vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/TpiStreamBuilder.h
vendor/llvm/dist/include/llvm/IR/Constants.h
vendor/llvm/dist/include/llvm/IR/DebugInfoMetadata.h
vendor/llvm/dist/include/llvm/IR/GlobalVariable.h
vendor/llvm/dist/include/llvm/IR/IRBuilder.h
vendor/llvm/dist/include/llvm/IR/InstrTypes.h
vendor/llvm/dist/include/llvm/IR/Instructions.h
vendor/llvm/dist/include/llvm/IR/IntrinsicInst.h
vendor/llvm/dist/include/llvm/IR/Intrinsics.td
vendor/llvm/dist/include/llvm/IR/ModuleSummaryIndex.h
vendor/llvm/dist/include/llvm/IR/ModuleSummaryIndexYAML.h
vendor/llvm/dist/include/llvm/IR/Operator.h
vendor/llvm/dist/include/llvm/IR/PatternMatch.h
vendor/llvm/dist/include/llvm/LTO/LTO.h
vendor/llvm/dist/include/llvm/LTO/legacy/LTOModule.h
vendor/llvm/dist/include/llvm/MC/MCSymbolWasm.h
vendor/llvm/dist/include/llvm/MC/MCWasmObjectWriter.h
vendor/llvm/dist/include/llvm/Object/ArchiveWriter.h
vendor/llvm/dist/include/llvm/Object/WindowsResource.h
vendor/llvm/dist/include/llvm/ObjectYAML/COFFYAML.h
vendor/llvm/dist/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h
vendor/llvm/dist/include/llvm/ObjectYAML/CodeViewYAMLTypes.h
vendor/llvm/dist/include/llvm/Option/Arg.h
vendor/llvm/dist/include/llvm/Option/ArgList.h
vendor/llvm/dist/include/llvm/Option/OptSpecifier.h
vendor/llvm/dist/include/llvm/Option/OptTable.h
vendor/llvm/dist/include/llvm/Option/Option.h
vendor/llvm/dist/include/llvm/Support/BinaryStreamArray.h
vendor/llvm/dist/include/llvm/Support/DebugCounter.h
vendor/llvm/dist/include/llvm/Support/FormatAdapters.h
vendor/llvm/dist/include/llvm/Support/FormatCommon.h
vendor/llvm/dist/include/llvm/Support/MathExtras.h
vendor/llvm/dist/include/llvm/Support/ThreadPool.h
vendor/llvm/dist/include/llvm/TableGen/Main.h
vendor/llvm/dist/include/llvm/TableGen/Record.h
vendor/llvm/dist/include/llvm/TableGen/SetTheory.h
vendor/llvm/dist/include/llvm/TableGen/StringMatcher.h
vendor/llvm/dist/include/llvm/Target/TargetLoweringObjectFile.h
vendor/llvm/dist/include/llvm/Target/TargetRegisterInfo.h
vendor/llvm/dist/include/llvm/Transforms/Scalar/GVNExpression.h
vendor/llvm/dist/include/llvm/Transforms/Utils/CodeExtractor.h
vendor/llvm/dist/include/llvm/Transforms/Utils/Mem2Reg.h
vendor/llvm/dist/lib/Analysis/BasicAliasAnalysis.cpp
vendor/llvm/dist/lib/Analysis/CallGraphSCCPass.cpp
vendor/llvm/dist/lib/Analysis/DivergenceAnalysis.cpp
vendor/llvm/dist/lib/Analysis/MemorySSA.cpp
vendor/llvm/dist/lib/Analysis/ScalarEvolution.cpp
vendor/llvm/dist/lib/Analysis/TargetTransformInfo.cpp
vendor/llvm/dist/lib/Analysis/ValueTracking.cpp
vendor/llvm/dist/lib/Bitcode/Reader/BitcodeReader.cpp
vendor/llvm/dist/lib/Bitcode/Reader/MetadataLoader.cpp
vendor/llvm/dist/lib/Bitcode/Writer/BitcodeWriter.cpp
vendor/llvm/dist/lib/CMakeLists.txt
vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.h
vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfExpression.h
vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
vendor/llvm/dist/lib/CodeGen/CodeGenPrepare.cpp
vendor/llvm/dist/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
vendor/llvm/dist/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
vendor/llvm/dist/lib/CodeGen/MachineBlockPlacement.cpp
vendor/llvm/dist/lib/CodeGen/MachineLICM.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
vendor/llvm/dist/lib/CodeGen/SplitKit.cpp
vendor/llvm/dist/lib/CodeGen/StackColoring.cpp
vendor/llvm/dist/lib/CodeGen/TargetLoweringBase.cpp
vendor/llvm/dist/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
vendor/llvm/dist/lib/DebugInfo/CodeView/CMakeLists.txt
vendor/llvm/dist/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp
vendor/llvm/dist/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp
vendor/llvm/dist/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp
vendor/llvm/dist/lib/DebugInfo/CodeView/SymbolDumper.cpp
vendor/llvm/dist/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
vendor/llvm/dist/lib/DebugInfo/CodeView/TypeDatabase.cpp
vendor/llvm/dist/lib/DebugInfo/CodeView/TypeIndex.cpp
vendor/llvm/dist/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFContext.cpp
vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFVerifier.cpp
vendor/llvm/dist/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
vendor/llvm/dist/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp
vendor/llvm/dist/lib/DebugInfo/PDB/Native/InfoStream.cpp
vendor/llvm/dist/lib/DebugInfo/PDB/Native/PDBFile.cpp
vendor/llvm/dist/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
vendor/llvm/dist/lib/DebugInfo/PDB/Native/PDBStringTable.cpp
vendor/llvm/dist/lib/DebugInfo/PDB/Native/PDBStringTableBuilder.cpp
vendor/llvm/dist/lib/DebugInfo/PDB/Native/PublicsStream.cpp
vendor/llvm/dist/lib/DebugInfo/PDB/Native/TpiHashing.cpp
vendor/llvm/dist/lib/DebugInfo/PDB/UDTLayout.cpp
vendor/llvm/dist/lib/Fuzzer/FuzzerDriver.cpp
vendor/llvm/dist/lib/Fuzzer/FuzzerLoop.cpp
vendor/llvm/dist/lib/Fuzzer/FuzzerTracePC.cpp
vendor/llvm/dist/lib/Fuzzer/FuzzerTracePC.h
vendor/llvm/dist/lib/Fuzzer/test/AbsNegAndConstant64Test.cpp
vendor/llvm/dist/lib/Fuzzer/test/CMakeLists.txt
vendor/llvm/dist/lib/Fuzzer/test/FourIndependentBranchesTest.cpp
vendor/llvm/dist/lib/Fuzzer/test/FuzzerUnittest.cpp
vendor/llvm/dist/lib/Fuzzer/test/ShrinkControlFlowTest.cpp
vendor/llvm/dist/lib/Fuzzer/test/SimpleHashTest.cpp
vendor/llvm/dist/lib/Fuzzer/test/SingleStrncmpTest.cpp
vendor/llvm/dist/lib/Fuzzer/test/TableLookupTest.cpp
vendor/llvm/dist/lib/Fuzzer/test/fuzzer-dirs.test
vendor/llvm/dist/lib/Fuzzer/test/trace-pc/CMakeLists.txt
vendor/llvm/dist/lib/IR/ConstantFold.cpp
vendor/llvm/dist/lib/IR/ConstantsContext.h
vendor/llvm/dist/lib/IR/DebugInfoMetadata.cpp
vendor/llvm/dist/lib/IR/IRBuilder.cpp
vendor/llvm/dist/lib/IR/Metadata.cpp
vendor/llvm/dist/lib/IR/ModuleSummaryIndex.cpp
vendor/llvm/dist/lib/IR/Verifier.cpp
vendor/llvm/dist/lib/LLVMBuild.txt
vendor/llvm/dist/lib/LTO/LTO.cpp
vendor/llvm/dist/lib/LTO/LTOModule.cpp
vendor/llvm/dist/lib/MC/MCParser/ELFAsmParser.cpp
vendor/llvm/dist/lib/MC/MCSectionELF.cpp
vendor/llvm/dist/lib/MC/WasmObjectWriter.cpp
vendor/llvm/dist/lib/Object/ArchiveWriter.cpp
vendor/llvm/dist/lib/Object/ELF.cpp
vendor/llvm/dist/lib/Object/IRSymtab.cpp
vendor/llvm/dist/lib/Object/WindowsResource.cpp
vendor/llvm/dist/lib/ObjectYAML/COFFYAML.cpp
vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLTypes.cpp
vendor/llvm/dist/lib/ObjectYAML/ELFYAML.cpp
vendor/llvm/dist/lib/Option/Arg.cpp
vendor/llvm/dist/lib/Option/ArgList.cpp
vendor/llvm/dist/lib/Option/OptTable.cpp
vendor/llvm/dist/lib/Option/Option.cpp
vendor/llvm/dist/lib/Passes/PassBuilder.cpp
vendor/llvm/dist/lib/Support/BinaryStreamWriter.cpp
vendor/llvm/dist/lib/Support/DebugCounter.cpp
vendor/llvm/dist/lib/Support/FoldingSet.cpp
vendor/llvm/dist/lib/Support/ThreadPool.cpp
vendor/llvm/dist/lib/Support/Unix/Program.inc
vendor/llvm/dist/lib/TableGen/Record.cpp
vendor/llvm/dist/lib/TableGen/SetTheory.cpp
vendor/llvm/dist/lib/Target/AArch64/AArch64.td
vendor/llvm/dist/lib/Target/AArch64/AArch64FastISel.cpp
vendor/llvm/dist/lib/Target/AArch64/AArch64ISelLowering.cpp
vendor/llvm/dist/lib/Target/AArch64/AArch64SchedFalkorDetails.td
vendor/llvm/dist/lib/Target/AArch64/AArch64Subtarget.cpp
vendor/llvm/dist/lib/Target/AArch64/AArch64TargetTransformInfo.h
vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp
vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
vendor/llvm/dist/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
vendor/llvm/dist/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
vendor/llvm/dist/lib/Target/AMDGPU/FLATInstructions.td
vendor/llvm/dist/lib/Target/AMDGPU/SIISelLowering.cpp
vendor/llvm/dist/lib/Target/AMDGPU/SIInstrInfo.cpp
vendor/llvm/dist/lib/Target/AMDGPU/SIInstrInfo.td
vendor/llvm/dist/lib/Target/ARM/ARMCallLowering.cpp
vendor/llvm/dist/lib/Target/ARM/ARMInstrVFP.td
vendor/llvm/dist/lib/Target/ARM/ARMLegalizerInfo.cpp
vendor/llvm/dist/lib/Target/ARM/ARMTargetTransformInfo.h
vendor/llvm/dist/lib/Target/BPF/BPFAsmPrinter.cpp
vendor/llvm/dist/lib/Target/BPF/BPFISelDAGToDAG.cpp
vendor/llvm/dist/lib/Target/BPF/BPFInstrInfo.td
vendor/llvm/dist/lib/Target/Hexagon/HexagonGenMux.cpp
vendor/llvm/dist/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
vendor/llvm/dist/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
vendor/llvm/dist/lib/Target/Hexagon/HexagonPatterns.td
vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetMachine.cpp
vendor/llvm/dist/lib/Target/Mips/MipsISelLowering.cpp
vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.cpp
vendor/llvm/dist/lib/Target/Mips/MipsLongBranch.cpp
vendor/llvm/dist/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
vendor/llvm/dist/lib/Target/Mips/MipsSEISelDAGToDAG.h
vendor/llvm/dist/lib/Target/Mips/MipsSEISelLowering.cpp
vendor/llvm/dist/lib/Target/Mips/MipsSubtarget.h
vendor/llvm/dist/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.cpp
vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.h
vendor/llvm/dist/lib/Target/PowerPC/PPCInstr64Bit.td
vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.cpp
vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.td
vendor/llvm/dist/lib/Target/PowerPC/PPCInstrVSX.td
vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.cpp
vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.h
vendor/llvm/dist/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
vendor/llvm/dist/lib/Target/PowerPC/PPCTargetTransformInfo.h
vendor/llvm/dist/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
vendor/llvm/dist/lib/Target/SystemZ/SystemZTargetTransformInfo.h
vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h
vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp
vendor/llvm/dist/lib/Target/X86/X86InstrAVX512.td
vendor/llvm/dist/lib/Target/X86/X86InstrFragmentsSIMD.td
vendor/llvm/dist/lib/Target/X86/X86InstrInfo.cpp
vendor/llvm/dist/lib/Transforms/IPO/CrossDSOCFI.cpp
vendor/llvm/dist/lib/Transforms/IPO/Inliner.cpp
vendor/llvm/dist/lib/Transforms/IPO/LowerTypeTests.cpp
vendor/llvm/dist/lib/Transforms/IPO/PartialInlining.cpp
vendor/llvm/dist/lib/Transforms/IPO/PassManagerBuilder.cpp
vendor/llvm/dist/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCalls.cpp
vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineInternal.h
vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineShifts.cpp
vendor/llvm/dist/lib/Transforms/Instrumentation/CMakeLists.txt
vendor/llvm/dist/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
vendor/llvm/dist/lib/Transforms/Instrumentation/InstrProfiling.cpp
vendor/llvm/dist/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
vendor/llvm/dist/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
vendor/llvm/dist/lib/Transforms/Scalar/EarlyCSE.cpp
vendor/llvm/dist/lib/Transforms/Scalar/GVNSink.cpp
vendor/llvm/dist/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
vendor/llvm/dist/lib/Transforms/Scalar/NewGVN.cpp
vendor/llvm/dist/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
vendor/llvm/dist/lib/Transforms/Scalar/SCCP.cpp
vendor/llvm/dist/lib/Transforms/Utils/CodeExtractor.cpp
vendor/llvm/dist/lib/Transforms/Utils/PredicateInfo.cpp
vendor/llvm/dist/lib/Transforms/Utils/SimplifyIndVar.cpp
vendor/llvm/dist/test/Assembler/diexpression.ll
vendor/llvm/dist/test/Bitcode/DIExpression-deref.ll
vendor/llvm/dist/test/Bitcode/DIGlobalVariableExpression.ll
vendor/llvm/dist/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
vendor/llvm/dist/test/CodeGen/AArch64/arm64-sincos.ll
vendor/llvm/dist/test/CodeGen/AArch64/misched-fusion-aes.ll
vendor/llvm/dist/test/CodeGen/AArch64/sincos-expansion.ll
vendor/llvm/dist/test/CodeGen/AArch64/swifterror.ll
vendor/llvm/dist/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-flat.mir
vendor/llvm/dist/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-flat.mir
vendor/llvm/dist/test/CodeGen/AMDGPU/cgp-addressing-modes-flat.ll
vendor/llvm/dist/test/CodeGen/AMDGPU/code-object-metadata-kernel-debug-props.ll
vendor/llvm/dist/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
vendor/llvm/dist/test/CodeGen/AMDGPU/flat-address-space.ll
vendor/llvm/dist/test/CodeGen/AMDGPU/flat_atomics.ll
vendor/llvm/dist/test/CodeGen/AMDGPU/global_smrd_cfg.ll
vendor/llvm/dist/test/CodeGen/AMDGPU/inserted-wait-states.mir
vendor/llvm/dist/test/CodeGen/AMDGPU/limit-coalesce.mir
vendor/llvm/dist/test/CodeGen/AMDGPU/rename-independent-subregs-invalid-mac-operands.mir
vendor/llvm/dist/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
vendor/llvm/dist/test/CodeGen/AMDGPU/waitcnt.mir
vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-isel-divmod.ll
vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-legalize-divmod.mir
vendor/llvm/dist/test/CodeGen/ARM/GlobalISel/arm-unsupported.ll
vendor/llvm/dist/test/CodeGen/ARM/cortex-a57-misched-vfma.ll
vendor/llvm/dist/test/CodeGen/ARM/debug-info-blocks.ll
vendor/llvm/dist/test/CodeGen/ARM/sincos.ll
vendor/llvm/dist/test/CodeGen/ARM/swifterror.ll
vendor/llvm/dist/test/CodeGen/Mips/2008-06-05-Carry.ll
vendor/llvm/dist/test/CodeGen/Mips/dsp-patterns.ll
vendor/llvm/dist/test/CodeGen/Mips/llcarry.ll
vendor/llvm/dist/test/CodeGen/Mips/llvm-ir/add.ll
vendor/llvm/dist/test/CodeGen/Mips/llvm-ir/sub.ll
vendor/llvm/dist/test/CodeGen/Mips/longbranch.ll
vendor/llvm/dist/test/CodeGen/Mips/madd-msub.ll
vendor/llvm/dist/test/CodeGen/PowerPC/atomic-2.ll
vendor/llvm/dist/test/CodeGen/PowerPC/atomics-constant.ll
vendor/llvm/dist/test/CodeGen/PowerPC/atomics-regression.ll
vendor/llvm/dist/test/CodeGen/PowerPC/logic-ops-on-compares.ll
vendor/llvm/dist/test/CodeGen/SystemZ/fp-sincos-01.ll
vendor/llvm/dist/test/CodeGen/X86/2012-01-11-split-cv.ll
vendor/llvm/dist/test/CodeGen/X86/StackColoring.ll
vendor/llvm/dist/test/CodeGen/X86/add-sub-nsw-nuw.ll
vendor/llvm/dist/test/CodeGen/X86/addcarry.ll
vendor/llvm/dist/test/CodeGen/X86/avx-vperm2x128.ll
vendor/llvm/dist/test/CodeGen/X86/bt.ll
vendor/llvm/dist/test/CodeGen/X86/cmov-into-branch.ll
vendor/llvm/dist/test/CodeGen/X86/combine-64bit-vec-binop.ll
vendor/llvm/dist/test/CodeGen/X86/element-wise-atomic-memory-intrinsics.ll
vendor/llvm/dist/test/CodeGen/X86/fast-isel-select-sse.ll
vendor/llvm/dist/test/CodeGen/X86/fp-logic-replace.ll
vendor/llvm/dist/test/CodeGen/X86/fp-logic.ll
vendor/llvm/dist/test/CodeGen/X86/fp-select-cmp-and.ll
vendor/llvm/dist/test/CodeGen/X86/immediate_merging64.ll
vendor/llvm/dist/test/CodeGen/X86/lea-opt-with-debug.mir
vendor/llvm/dist/test/CodeGen/X86/loop-search.ll
vendor/llvm/dist/test/CodeGen/X86/mask-negated-bool.ll
vendor/llvm/dist/test/CodeGen/X86/memset-2.ll
vendor/llvm/dist/test/CodeGen/X86/memset-nonzero.ll
vendor/llvm/dist/test/CodeGen/X86/memset64-on-x86-32.ll
vendor/llvm/dist/test/CodeGen/X86/negate-i1.ll
vendor/llvm/dist/test/CodeGen/X86/negate-shift.ll
vendor/llvm/dist/test/CodeGen/X86/negate.ll
vendor/llvm/dist/test/CodeGen/X86/negative-sin.ll
vendor/llvm/dist/test/CodeGen/X86/no-sse2-avg.ll
vendor/llvm/dist/test/CodeGen/X86/not-and-simplify.ll
vendor/llvm/dist/test/CodeGen/X86/pr13577.ll
vendor/llvm/dist/test/CodeGen/X86/pr18014.ll
vendor/llvm/dist/test/CodeGen/X86/rem.ll
vendor/llvm/dist/test/CodeGen/X86/sar_fold64.ll
vendor/llvm/dist/test/CodeGen/X86/select-with-and-or.ll
vendor/llvm/dist/test/CodeGen/X86/sext-setcc-self.ll
vendor/llvm/dist/test/CodeGen/X86/shift-pcmp.ll
vendor/llvm/dist/test/CodeGen/X86/sincos-opt.ll
vendor/llvm/dist/test/CodeGen/X86/sse-intrinsics-x86-upgrade.ll
vendor/llvm/dist/test/CodeGen/X86/sse41-intrinsics-x86-upgrade.ll
vendor/llvm/dist/test/CodeGen/X86/stack-folding-int-avx512.ll
vendor/llvm/dist/test/CodeGen/X86/stack-folding-int-avx512vl.ll
vendor/llvm/dist/test/CodeGen/X86/statepoint-live-in.ll
vendor/llvm/dist/test/CodeGen/X86/swifterror.ll
vendor/llvm/dist/test/CodeGen/X86/urem-i8-constant.ll
vendor/llvm/dist/test/CodeGen/X86/urem-power-of-two.ll
vendor/llvm/dist/test/CodeGen/X86/vec3.ll
vendor/llvm/dist/test/CodeGen/X86/vector-compare-combines.ll
vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-256-v16.ll
vendor/llvm/dist/test/CodeGen/X86/vzero-excess.ll
vendor/llvm/dist/test/CodeGen/X86/x86-interleaved-access.ll
vendor/llvm/dist/test/DebugInfo/COFF/array-odr-violation.ll
vendor/llvm/dist/test/DebugInfo/COFF/inlining-same-name.ll
vendor/llvm/dist/test/DebugInfo/Generic/block-asan.ll
vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-str-offsets.s
vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump-test-zlib.cc
vendor/llvm/dist/test/DebugInfo/MIR/ARM/split-superreg-complex.mir
vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-debug-subsections.test
vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-headers.test
vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-merge-ids-and-types.test
vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-mergeids.test
vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-mergetypes.test
vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-raw-blocks.test
vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-raw-stream.test
vendor/llvm/dist/test/DebugInfo/PDB/pdbdump-readwrite.test
vendor/llvm/dist/test/DebugInfo/X86/block-capture.ll
vendor/llvm/dist/test/DebugInfo/X86/debug-info-block-captured-self.ll
vendor/llvm/dist/test/DebugInfo/X86/debug-info-blocks.ll
vendor/llvm/dist/test/DebugInfo/X86/dw_op_minus.ll
vendor/llvm/dist/test/DebugInfo/X86/dw_op_minus_direct.ll
vendor/llvm/dist/test/DebugInfo/X86/safestack-byval.ll
vendor/llvm/dist/test/DebugInfo/X86/stack-value-dwarf2.ll
vendor/llvm/dist/test/DebugInfo/X86/unattached-global.ll
vendor/llvm/dist/test/DebugInfo/dwarfdump-zlib.test
vendor/llvm/dist/test/Instrumentation/SanitizerCoverage/inline-8bit-counters.ll
vendor/llvm/dist/test/LTO/Resolution/X86/symtab-elf.ll
vendor/llvm/dist/test/LTO/Resolution/X86/symtab.ll
vendor/llvm/dist/test/MC/AMDGPU/flat.s
vendor/llvm/dist/test/MC/COFF/cv-compiler-info.ll
vendor/llvm/dist/test/MC/COFF/linker-options.ll
vendor/llvm/dist/test/MC/Disassembler/PowerPC/ppc64-encoding.txt
vendor/llvm/dist/test/MC/Disassembler/PowerPC/ppc64le-encoding.txt
vendor/llvm/dist/test/MC/ELF/section.s
vendor/llvm/dist/test/MC/MachO/linker-options.ll
vendor/llvm/dist/test/MC/PowerPC/ppc64-encoding.s
vendor/llvm/dist/test/MC/WebAssembly/external-data.ll
vendor/llvm/dist/test/Transforms/GlobalMerge/debug-info.ll
vendor/llvm/dist/test/Transforms/Inline/always-inline.ll
vendor/llvm/dist/test/Transforms/InstCombine/debuginfo-dce.ll
vendor/llvm/dist/test/Transforms/InstCombine/element-atomic-memcpy-to-loads.ll
vendor/llvm/dist/test/Transforms/InstCombine/ffs-1.ll
vendor/llvm/dist/test/Transforms/InstCombine/lshr.ll
vendor/llvm/dist/test/Transforms/InstCombine/onehot_merge.ll
vendor/llvm/dist/test/Transforms/InstCombine/or-xor.ll
vendor/llvm/dist/test/Transforms/InstCombine/select-with-bitwise-ops.ll
vendor/llvm/dist/test/Transforms/InstCombine/shift.ll
vendor/llvm/dist/test/Transforms/InstCombine/xor2.ll
vendor/llvm/dist/test/Transforms/LoopIdiom/X86/unordered-atomic-memcpy.ll
vendor/llvm/dist/test/Transforms/LoopIdiom/unordered-atomic-memcpy-noarch.ll
vendor/llvm/dist/test/Transforms/PGOProfile/memop_size_opt.ll
vendor/llvm/dist/test/Transforms/SLPVectorizer/X86/arith-add.ll
vendor/llvm/dist/test/Transforms/SLPVectorizer/X86/arith-fp.ll
vendor/llvm/dist/test/Transforms/SLPVectorizer/X86/arith-mul.ll
vendor/llvm/dist/test/Transforms/SLPVectorizer/X86/arith-sub.ll
vendor/llvm/dist/test/Transforms/SafeStack/X86/debug-loc.ll
vendor/llvm/dist/test/Transforms/SafeStack/X86/debug-loc2.ll
vendor/llvm/dist/test/Verifier/element-wise-atomic-memory-intrinsics.ll
vendor/llvm/dist/test/lit.cfg
vendor/llvm/dist/test/tools/llvm-cvtres/object.test
vendor/llvm/dist/test/tools/llvm-cvtres/parse.test
vendor/llvm/dist/test/tools/llvm-readobj/resources.test
vendor/llvm/dist/tools/llvm-ar/llvm-ar.cpp
vendor/llvm/dist/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
vendor/llvm/dist/tools/llvm-cvtres/llvm-cvtres.cpp
vendor/llvm/dist/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
vendor/llvm/dist/tools/llvm-pdbutil/CMakeLists.txt
vendor/llvm/dist/tools/llvm-pdbutil/LinePrinter.cpp
vendor/llvm/dist/tools/llvm-pdbutil/LinePrinter.h
vendor/llvm/dist/tools/llvm-pdbutil/PrettyClassLayoutGraphicalDumper.cpp
vendor/llvm/dist/tools/llvm-pdbutil/YAMLOutputStyle.cpp
vendor/llvm/dist/tools/llvm-pdbutil/llvm-pdbutil.cpp
vendor/llvm/dist/tools/llvm-pdbutil/llvm-pdbutil.h
vendor/llvm/dist/tools/llvm-readobj/COFFDumper.cpp
vendor/llvm/dist/tools/llvm-readobj/ELFDumper.cpp
vendor/llvm/dist/tools/llvm-stress/llvm-stress.cpp
vendor/llvm/dist/tools/obj2yaml/CMakeLists.txt
vendor/llvm/dist/tools/obj2yaml/coff2yaml.cpp
vendor/llvm/dist/tools/yaml2obj/CMakeLists.txt
vendor/llvm/dist/tools/yaml2obj/yaml2coff.cpp
vendor/llvm/dist/tools/yaml2obj/yaml2obj.cpp
vendor/llvm/dist/unittests/ADT/SCCIteratorTest.cpp
vendor/llvm/dist/unittests/ADT/SmallVectorTest.cpp
vendor/llvm/dist/unittests/ADT/StringRefTest.cpp
vendor/llvm/dist/unittests/CodeGen/LowLevelTypeTest.cpp
vendor/llvm/dist/unittests/DebugInfo/CodeView/CMakeLists.txt
vendor/llvm/dist/unittests/DebugInfo/CodeView/RandomAccessVisitorTest.cpp
vendor/llvm/dist/unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp
vendor/llvm/dist/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
vendor/llvm/dist/unittests/DebugInfo/PDB/CMakeLists.txt
vendor/llvm/dist/unittests/DebugInfo/PDB/HashTableTest.cpp
vendor/llvm/dist/unittests/DebugInfo/PDB/MSFBuilderTest.cpp
vendor/llvm/dist/unittests/DebugInfo/PDB/MappedBlockStreamTest.cpp
vendor/llvm/dist/unittests/DebugInfo/PDB/StringTableBuilderTest.cpp
vendor/llvm/dist/unittests/DebugInfo/PDB/TypeServerHandlerTest.cpp
vendor/llvm/dist/unittests/IR/MetadataTest.cpp
vendor/llvm/dist/unittests/IR/PatternMatch.cpp
vendor/llvm/dist/unittests/MI/LiveIntervalTest.cpp
vendor/llvm/dist/unittests/Support/BinaryStreamTest.cpp
vendor/llvm/dist/unittests/Support/CMakeLists.txt
vendor/llvm/dist/unittests/Support/CommandLineTest.cpp
vendor/llvm/dist/unittests/Support/DynamicLibrary/CMakeLists.txt
vendor/llvm/dist/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
vendor/llvm/dist/unittests/Support/DynamicLibrary/PipSqueak.cxx
vendor/llvm/dist/unittests/Support/DynamicLibrary/PipSqueak.h
vendor/llvm/dist/unittests/Support/FormatVariadicTest.cpp
vendor/llvm/dist/unittests/Target/AArch64/InstSizes.cpp
vendor/llvm/dist/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
vendor/llvm/dist/utils/TableGen/CodeGenDAGPatterns.cpp
vendor/llvm/dist/utils/opt-viewer/opt-diff.py
vendor/llvm/dist/utils/opt-viewer/opt-stats.py
vendor/llvm/dist/utils/opt-viewer/opt-viewer.py
vendor/llvm/dist/utils/release/test-release.sh
vendor/llvm/dist/utils/update_test_checks.py
Modified: vendor/llvm/dist/cmake/modules/TableGen.cmake
==============================================================================
--- vendor/llvm/dist/cmake/modules/TableGen.cmake Fri Jun 16 20:47:12 2017 (r320012)
+++ vendor/llvm/dist/cmake/modules/TableGen.cmake Fri Jun 16 21:03:24 2017 (r320013)
@@ -35,38 +35,24 @@ function(tablegen project ofn)
# a tablegen change, as cmake does not propagate file-level dependencies
# of custom targets. See the following ticket for more information:
# https://cmake.org/Bug/view.php?id=15858
- # We could always have just one dependency on both the target and
- # the file, but these 2 cases would produce cleaner cmake files.
- if (${${project}_TABLEGEN_TARGET} STREQUAL ${${project}_TABLEGEN_EXE})
- add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
- # Generate tablegen output in a temporary file.
- COMMAND ${${project}_TABLEGEN_EXE} ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR}
- ${LLVM_TABLEGEN_FLAGS}
- ${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
- -o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
- # The file in LLVM_TARGET_DEFINITIONS may be not in the current
- # directory and local_tds may not contain it, so we must
- # explicitly list it here:
- DEPENDS ${${project}_TABLEGEN_TARGET} ${local_tds} ${global_tds}
- ${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
- COMMENT "Building ${ofn}..."
- )
- else()
- add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
- # Generate tablegen output in a temporary file.
- COMMAND ${${project}_TABLEGEN_EXE} ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR}
- ${LLVM_TABLEGEN_FLAGS}
- ${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
- -o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
- # The file in LLVM_TARGET_DEFINITIONS may be not in the current
- # directory and local_tds may not contain it, so we must
- # explicitly list it here:
- DEPENDS ${${project}_TABLEGEN_TARGET} ${${project}_TABLEGEN_EXE}
- ${local_tds} ${global_tds}
- ${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
- COMMENT "Building ${ofn}..."
- )
- endif()
+ # The dependency on both, the target and the file, produces the same
+ # dependency twice in the result file when
+ # ("${${project}_TABLEGEN_TARGET}" STREQUAL "${${project}_TABLEGEN_EXE}")
+ # but lets us having smaller and cleaner code here.
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
+ # Generate tablegen output in a temporary file.
+ COMMAND ${${project}_TABLEGEN_EXE} ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR}
+ ${LLVM_TABLEGEN_FLAGS}
+ ${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
+ -o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
+ # The file in LLVM_TARGET_DEFINITIONS may be not in the current
+ # directory and local_tds may not contain it, so we must
+ # explicitly list it here:
+ DEPENDS ${${project}_TABLEGEN_TARGET} ${${project}_TABLEGEN_EXE}
+ ${local_tds} ${global_tds}
+ ${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
+ COMMENT "Building ${ofn}..."
+ )
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${ofn}
# Only update the real output file if there are any differences.
# This prevents recompilation of all the files depending on it if there
Modified: vendor/llvm/dist/docs/BranchWeightMetadata.rst
==============================================================================
--- vendor/llvm/dist/docs/BranchWeightMetadata.rst Fri Jun 16 20:47:12 2017 (r320012)
+++ vendor/llvm/dist/docs/BranchWeightMetadata.rst Fri Jun 16 21:03:24 2017 (r320013)
@@ -64,6 +64,20 @@ Branch weights are assigned to every destination.
[ , i32 <LABEL_BRANCH_WEIGHT> ... ]
}
+``CallInst``
+^^^^^^^^^^^^^^^^^^
+
+Calls may have branch weight metadata, containing the execution count of
+the call. It is currently used in SamplePGO mode only, to augment the
+block and entry counts which may not be accurate with sampling.
+
+.. code-block:: none
+
+ !0 = metadata !{
+ metadata !"branch_weights",
+ i32 <CALL_BRANCH_WEIGHT>
+ }
+
Other
^^^^^
Modified: vendor/llvm/dist/docs/LangRef.rst
==============================================================================
--- vendor/llvm/dist/docs/LangRef.rst Fri Jun 16 20:47:12 2017 (r320012)
+++ vendor/llvm/dist/docs/LangRef.rst Fri Jun 16 21:03:24 2017 (r320013)
@@ -4033,26 +4033,26 @@ DICompileUnit
"""""""""""""
``DICompileUnit`` nodes represent a compile unit. The ``enums:``,
-``retainedTypes:``, ``subprograms:``, ``globals:``, ``imports:`` and ``macros:``
-fields are tuples containing the debug info to be emitted along with the compile
-unit, regardless of code optimizations (some nodes are only emitted if there are
-references to them from instructions). The ``debugInfoForProfiling:`` field is a
-boolean indicating whether or not line-table discriminators are updated to
-provide more-accurate debug info for profiling results.
+``retainedTypes:``, ``globals:``, ``imports:`` and ``macros:`` fields are tuples
+containing the debug info to be emitted along with the compile unit, regardless
+of code optimizations (some nodes are only emitted if there are references to
+them from instructions). The ``debugInfoForProfiling:`` field is a boolean
+indicating whether or not line-table discriminators are updated to provide
+more-accurate debug info for profiling results.
.. code-block:: text
!0 = !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang",
isOptimized: true, flags: "-O2", runtimeVersion: 2,
splitDebugFilename: "abc.debug", emissionKind: FullDebug,
- enums: !2, retainedTypes: !3, subprograms: !4,
- globals: !5, imports: !6, macros: !7, dwoId: 0x0abcd)
+ enums: !2, retainedTypes: !3, globals: !4, imports: !5,
+ macros: !6, dwoId: 0x0abcd)
Compile unit descriptors provide the root scope for objects declared in a
-specific compilation unit. File descriptors are defined using this scope.
-These descriptors are collected by a named metadata ``!llvm.dbg.cu``. They
-keep track of subprograms, global variables, type information, and imported
-entities (declarations and namespaces).
+specific compilation unit. File descriptors are defined using this scope. These
+descriptors are collected by a named metadata node ``!llvm.dbg.cu``. They keep
+track of global variables, type information, and imported entities (declarations
+and namespaces).
.. _DIFile:
@@ -4326,8 +4326,8 @@ and ``scope:``.
containingType: !4,
virtuality: DW_VIRTUALITY_pure_virtual,
virtualIndex: 10, flags: DIFlagPrototyped,
- isOptimized: true, templateParams: !5,
- declaration: !6, variables: !7)
+ isOptimized: true, unit: !5, templateParams: !6,
+ declaration: !7, variables: !8, thrownTypes: !9)
.. _DILexicalBlock:
@@ -4404,7 +4404,12 @@ referenced LLVM variable relates to the source languag
The current supported vocabulary is limited:
- ``DW_OP_deref`` dereferences the top of the expression stack.
-- ``DW_OP_plus, 93`` adds ``93`` to the working expression.
+- ``DW_OP_plus`` pops the last two entries from the expression stack, adds
+ them together and appends the result to the expression stack.
+- ``DW_OP_minus`` pops the last two entries from the expression stack, subtracts
+ the last entry from the second last entry and appends the result to the
+ expression stack.
+- ``DW_OP_plus_uconst, 93`` adds ``93`` to the working expression.
- ``DW_OP_LLVM_fragment, 16, 8`` specifies the offset and size (``16`` and ``8``
here, respectively) of the variable fragment from the working expression. Note
that contrary to DW_OP_bit_piece, the offset is describing the the location
@@ -4426,9 +4431,10 @@ combined with a concrete location.
.. code-block:: llvm
!0 = !DIExpression(DW_OP_deref)
- !1 = !DIExpression(DW_OP_plus, 3)
+ !1 = !DIExpression(DW_OP_plus_uconst, 3)
+ !1 = !DIExpression(DW_OP_constu, 3, DW_OP_plus)
!2 = !DIExpression(DW_OP_bit_piece, 3, 7)
- !3 = !DIExpression(DW_OP_deref, DW_OP_plus, 3, DW_OP_LLVM_fragment, 3, 7)
+ !3 = !DIExpression(DW_OP_deref, DW_OP_constu, 3, DW_OP_plus, DW_OP_LLVM_fragment, 3, 7)
!4 = !DIExpression(DW_OP_constu, 2, DW_OP_swap, DW_OP_xderef)
!5 = !DIExpression(DW_OP_constu, 42, DW_OP_stack_value)
@@ -5186,6 +5192,72 @@ Example:
!0 = !{i32* @a}
+'``prof``' Metadata
+^^^^^^^^^^^^^^^^^^^
+
+The ``prof`` metadata is used to record profile data in the IR.
+The first operand of the metadata node indicates the profile metadata
+type. There are currently 3 types:
+:ref:`branch_weights<prof_node_branch_weights>`,
+:ref:`function_entry_count<prof_node_function_entry_count>`, and
+:ref:`VP<prof_node_VP>`.
+
+.. _prof_node_branch_weights:
+
+branch_weights
+""""""""""""""
+
+Branch weight metadata attached to a branch, select, switch or call instruction
+represents the likeliness of the associated branch being taken.
+For more information, see :doc:`BranchWeightMetadata`.
+
+.. _prof_node_function_entry_count:
+
+function_entry_count
+""""""""""""""""""""
+
+Function entry count metadata can be attached to function definitions
+to record the number of times the function is called. Used with BFI
+information, it is also used to derive the basic block profile count.
+For more information, see :doc:`BranchWeightMetadata`.
+
+.. _prof_node_VP:
+
+VP
+""
+
+VP (value profile) metadata can be attached to instructions that have
+value profile information. Currently this is indirect calls (where it
+records the hottest callees) and calls to memory intrinsics such as memcpy,
+memmove, and memset (where it records the hottest byte lengths).
+
+Each VP metadata node contains "VP" string, then a uint32_t value for the value
+profiling kind, a uint64_t value for the total number of times the instruction
+is executed, followed by uint64_t value and execution count pairs.
+The value profiling kind is 0 for indirect call targets and 1 for memory
+operations. For indirect call targets, each profile value is a hash
+of the callee function name, and for memory operations each value is the
+byte length.
+
+Note that the value counts do not need to add up to the total count
+listed in the third operand (in practice only the top hottest values
+are tracked and reported).
+
+Indirect call example:
+
+.. code-block:: llvm
+
+ call void %f(), !prof !1
+ !1 = !{!"VP", i32 0, i64 1600, i64 7651369219802541373, i64 1030, i64 -4377547752858689819, i64 410}
+
+Note that the VP type is 0 (the second operand), which indicates this is
+an indirect call value profile data. The third operand indicates that the
+indirect call executed 1600 times. The 4th and 6th operands give the
+hashes of the 2 hottest target functions' names (this is the same hash used
+to represent function names in the profile database), and the 5th and 7th
+operands give the execution count that each of the respective prior target
+functions was called.
+
Module Flags Metadata
=====================
@@ -5352,40 +5424,6 @@ Some important flag interactions:
- A module with ``Objective-C Garbage Collection`` set to 0 cannot be
merged with a module with ``Objective-C GC Only`` set to 6.
-Automatic Linker Flags Module Flags Metadata
---------------------------------------------
-
-Some targets support embedding flags to the linker inside individual object
-files. Typically this is used in conjunction with language extensions which
-allow source files to explicitly declare the libraries they depend on, and have
-these automatically be transmitted to the linker via object files.
-
-These flags are encoded in the IR using metadata in the module flags section,
-using the ``Linker Options`` key. The merge behavior for this flag is required
-to be ``AppendUnique``, and the value for the key is expected to be a metadata
-node which should be a list of other metadata nodes, each of which should be a
-list of metadata strings defining linker options.
-
-For example, the following metadata section specifies two separate sets of
-linker options, presumably to link against ``libz`` and the ``Cocoa``
-framework::
-
- !0 = !{ i32 6, !"Linker Options",
- !{
- !{ !"-lz" },
- !{ !"-framework", !"Cocoa" } } }
- !llvm.module.flags = !{ !0 }
-
-The metadata encoding as lists of lists of options, as opposed to a collapsed
-list of options, is chosen so that the IR encoding can use multiple option
-strings to specify e.g., a single library, while still having that specifier be
-preserved as an atomic element that can be recognized by a target specific
-assembly writer or object file emitter.
-
-Each individual option is required to be either a valid option for the target's
-linker, or an option that is reserved by the target specific assembly writer or
-object file emitter. No other aspect of these options is defined by the IR.
-
C type width Module Flags Metadata
----------------------------------
@@ -5422,6 +5460,37 @@ enum is the smallest type which can represent all of i
!0 = !{i32 1, !"short_wchar", i32 1}
!1 = !{i32 1, !"short_enum", i32 0}
+Automatic Linker Flags Named Metadata
+=====================================
+
+Some targets support embedding flags to the linker inside individual object
+files. Typically this is used in conjunction with language extensions which
+allow source files to explicitly declare the libraries they depend on, and have
+these automatically be transmitted to the linker via object files.
+
+These flags are encoded in the IR using named metadata with the name
+``!llvm.linker.options``. Each operand is expected to be a metadata node
+which should be a list of other metadata nodes, each of which should be a
+list of metadata strings defining linker options.
+
+For example, the following metadata section specifies two separate sets of
+linker options, presumably to link against ``libz`` and the ``Cocoa``
+framework::
+
+ !0 = !{ !"-lz" },
+ !1 = !{ !"-framework", !"Cocoa" } } }
+ !llvm.linker.options = !{ !0, !1 }
+
+The metadata encoding as lists of lists of options, as opposed to a collapsed
+list of options, is chosen so that the IR encoding can use multiple option
+strings to specify e.g., a single library, while still having that specifier be
+preserved as an atomic element that can be recognized by a target specific
+assembly writer or object file emitter.
+
+Each individual option is required to be either a valid option for the target's
+linker, or an option that is reserved by the target specific assembly writer or
+object file emitter. No other aspect of these options is defined by the IR.
+
.. _intrinsicglobalvariables:
Intrinsic Global Variables
@@ -13999,62 +14068,66 @@ Element Wise Atomic Memory Intrinsics
These intrinsics are similar to the standard library memory intrinsics except
that they perform memory transfer as a sequence of atomic memory accesses.
-.. _int_memcpy_element_atomic:
+.. _int_memcpy_element_unordered_atomic:
-'``llvm.memcpy.element.atomic``' Intrinsic
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+'``llvm.memcpy.element.unordered.atomic``' Intrinsic
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Syntax:
"""""""
-This is an overloaded intrinsic. You can use ``llvm.memcpy.element.atomic`` on
+This is an overloaded intrinsic. You can use ``llvm.memcpy.element.unordered.atomic`` on
any integer bit width and for different address spaces. Not all targets
support all bit widths however.
::
- declare void @llvm.memcpy.element.atomic.p0i8.p0i8(i8* <dest>, i8* <src>,
- i64 <num_elements>, i32 <element_size>)
+ declare void @llvm.memcpy.element.unordered.atomic.p0i8.p0i8.i32(i8* <dest>,
+ i8* <src>,
+ i32 <len>,
+ i32 <element_size>)
+ declare void @llvm.memcpy.element.unordered.atomic.p0i8.p0i8.i64(i8* <dest>,
+ i8* <src>,
+ i64 <len>,
+ i32 <element_size>)
Overview:
"""""""""
-The '``llvm.memcpy.element.atomic.*``' intrinsic performs copy of a block of
-memory from the source location to the destination location as a sequence of
-unordered atomic memory accesses where each access is a multiple of
-``element_size`` bytes wide and aligned at an element size boundary. For example
-each element is accessed atomically in source and destination buffers.
+The '``llvm.memcpy.element.unordered.atomic.*``' intrinsic is a specialization of the
+'``llvm.memcpy.*``' intrinsic. It differs in that the ``dest`` and ``src`` are treated
+as arrays with elements that are exactly ``element_size`` bytes, and the copy between
+buffers uses a sequence of :ref:`unordered atomic <ordering>` load/store operations
+that are a positive integer multiple of the ``element_size`` in size.
Arguments:
""""""""""
-The first argument is a pointer to the destination, the second is a
-pointer to the source. The third argument is an integer argument
-specifying the number of elements to copy, the fourth argument is size of
-the single element in bytes.
+The first three arguments are the same as they are in the :ref:`@llvm.memcpy <int_memcpy>`
+intrinsic, with the added constraint that ``len`` is required to be a positive integer
+multiple of the ``element_size``. If ``len`` is not a positive integer multiple of
+``element_size``, then the behaviour of the intrinsic is undefined.
-``element_size`` should be a power of two, greater than zero and less than
-a target-specific atomic access size limit.
+``element_size`` must be a compile-time constant positive power of two no greater than
+target-specific atomic access size limit.
-For each of the input pointers ``align`` parameter attribute must be specified.
-It must be a power of two and greater than or equal to the ``element_size``.
-Caller guarantees that both the source and destination pointers are aligned to
-that boundary.
+For each of the input pointers ``align`` parameter attribute must be specified. It
+must be a power of two no less than the ``element_size``. Caller guarantees that
+both the source and destination pointers are aligned to that boundary.
Semantics:
""""""""""
-The '``llvm.memcpy.element.atomic.*``' intrinsic copies
-'``num_elements`` * ``element_size``' bytes of memory from the source location to
-the destination location. These locations are not allowed to overlap. Memory copy
-is performed as a sequence of unordered atomic memory accesses where each access
-is guaranteed to be a multiple of ``element_size`` bytes wide and aligned at an
-element size boundary.
+The '``llvm.memcpy.element.unordered.atomic.*``' intrinsic copies ``len`` bytes of
+memory from the source location to the destination location. These locations are not
+allowed to overlap. The memory copy is performed as a sequence of load/store operations
+where each access is guaranteed to be a multiple of ``element_size`` bytes wide and
+aligned at an ``element_size`` boundary.
The order of the copy is unspecified. The same value may be read from the source
buffer many times, but only one write is issued to the destination buffer per
-element. It is well defined to have concurrent reads and writes to both source
-and destination provided those reads and writes are at least unordered atomic.
+element. It is well defined to have concurrent reads and writes to both source and
+destination provided those reads and writes are unordered atomic when specified.
This intrinsic does not provide any additional ordering guarantees over those
provided by a set of unordered loads from the source location and stores to the
@@ -14063,8 +14136,8 @@ destination.
Lowering:
"""""""""
-In the most general case call to the '``llvm.memcpy.element.atomic.*``' is lowered
-to a call to the symbol ``__llvm_memcpy_element_atomic_*``. Where '*' is replaced
-with an actual element size.
+In the most general case call to the '``llvm.memcpy.element.unordered.atomic.*``' is
+lowered to a call to the symbol ``__llvm_memcpy_element_unordered_atomic_*``. Where '*'
+is replaced with an actual element size.
-Optimizer is allowed to inline memory copy when it's profitable to do so.
+The optimizer is allowed to inline the memory copy when it's profitable to do so.
Modified: vendor/llvm/dist/docs/Lexicon.rst
==============================================================================
--- vendor/llvm/dist/docs/Lexicon.rst Fri Jun 16 20:47:12 2017 (r320012)
+++ vendor/llvm/dist/docs/Lexicon.rst Fri Jun 16 21:03:24 2017 (r320013)
@@ -109,6 +109,13 @@ G
Garbage Collection. The practice of using reachability analysis instead of
explicit memory management to reclaim unused memory.
+**GVN**
+ Global Value Numbering. GVN is a pass that partitions values computed by a
+ function into congruence classes. Values ending up in the same congruence
+ class are guaranteed to be the same for every execution of the program.
+ In that respect, congruency is a compile-time approximation of equivalence
+ of values at runtime.
+
H
-
Modified: vendor/llvm/dist/docs/Phabricator.rst
==============================================================================
--- vendor/llvm/dist/docs/Phabricator.rst Fri Jun 16 20:47:12 2017 (r320012)
+++ vendor/llvm/dist/docs/Phabricator.rst Fri Jun 16 21:03:24 2017 (r320013)
@@ -54,7 +54,8 @@ reviewer understand your code.
To get a full diff, use one of the following commands (or just use Arcanist
to upload your patch):
-* ``git diff -U999999 other-branch``
+* ``git show HEAD -U999999 > mypatch.patch``
+* ``git format-patch -U999999 @{u}``
* ``svn diff --diff-cmd=diff -x -U999999``
To upload a new patch:
Modified: vendor/llvm/dist/include/llvm/ADT/AllocatorList.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/AllocatorList.h Fri Jun 16 20:47:12 2017 (r320012)
+++ vendor/llvm/dist/include/llvm/ADT/AllocatorList.h Fri Jun 16 21:03:24 2017 (r320013)
@@ -10,10 +10,16 @@
#ifndef LLVM_ADT_ALLOCATORLIST_H
#define LLVM_ADT_ALLOCATORLIST_H
+#include "llvm/ADT/ilist_node.h"
#include "llvm/ADT/iterator.h"
#include "llvm/ADT/simple_ilist.h"
#include "llvm/Support/Allocator.h"
+#include <algorithm>
+#include <cassert>
+#include <cstddef>
+#include <iterator>
#include <type_traits>
+#include <utility>
namespace llvm {
@@ -39,7 +45,8 @@ template <class T, class AllocatorT> class AllocatorLi
T V;
};
- typedef simple_ilist<Node> list_type;
+ using list_type = simple_ilist<Node>;
+
list_type List;
AllocatorT &getAlloc() { return *this; }
@@ -51,13 +58,17 @@ template <class T, class AllocatorT> class AllocatorLi
struct Cloner {
AllocatorList &AL;
+
Cloner(AllocatorList &AL) : AL(AL) {}
+
Node *operator()(const Node &N) const { return AL.create(N.V); }
};
struct Disposer {
AllocatorList &AL;
+
Disposer(AllocatorList &AL) : AL(AL) {}
+
void operator()(Node *N) const {
N->~Node();
AL.getAlloc().Deallocate(N);
@@ -65,13 +76,13 @@ template <class T, class AllocatorT> class AllocatorLi
};
public:
- typedef T value_type;
- typedef T *pointer;
- typedef T &reference;
- typedef const T *const_pointer;
- typedef const T &const_reference;
- typedef typename list_type::size_type size_type;
- typedef typename list_type::difference_type difference_type;
+ using value_type = T;
+ using pointer = T *;
+ using reference = T &;
+ using const_pointer = const T *;
+ using const_reference = const T &;
+ using size_type = typename list_type::size_type;
+ using difference_type = typename list_type::difference_type;
private:
template <class ValueT, class IteratorBase>
@@ -83,20 +94,18 @@ template <class T, class AllocatorT> class AllocatorLi
friend class IteratorImpl;
friend AllocatorList;
- typedef iterator_adaptor_base<IteratorImpl<ValueT, IteratorBase>,
- IteratorBase, std::bidirectional_iterator_tag,
- ValueT>
- base_type;
+ using base_type =
+ iterator_adaptor_base<IteratorImpl<ValueT, IteratorBase>, IteratorBase,
+ std::bidirectional_iterator_tag, ValueT>;
public:
- typedef ValueT value_type;
- typedef ValueT *pointer;
- typedef ValueT &reference;
+ using value_type = ValueT;
+ using pointer = ValueT *;
+ using reference = ValueT &;
IteratorImpl() = default;
IteratorImpl(const IteratorImpl &) = default;
IteratorImpl &operator=(const IteratorImpl &) = default;
- ~IteratorImpl() = default;
explicit IteratorImpl(const IteratorBase &I) : base_type(I) {}
@@ -106,6 +115,8 @@ template <class T, class AllocatorT> class AllocatorLi
OtherIteratorBase, IteratorBase>::value>::type * = nullptr)
: base_type(X.wrapped()) {}
+ ~IteratorImpl() = default;
+
reference operator*() const { return base_type::wrapped()->V; }
pointer operator->() const { return &operator*(); }
@@ -118,30 +129,34 @@ template <class T, class AllocatorT> class AllocatorLi
};
public:
- typedef IteratorImpl<T, typename list_type::iterator> iterator;
- typedef IteratorImpl<T, typename list_type::reverse_iterator>
- reverse_iterator;
- typedef IteratorImpl<const T, typename list_type::const_iterator>
- const_iterator;
- typedef IteratorImpl<const T, typename list_type::const_reverse_iterator>
- const_reverse_iterator;
+ using iterator = IteratorImpl<T, typename list_type::iterator>;
+ using reverse_iterator =
+ IteratorImpl<T, typename list_type::reverse_iterator>;
+ using const_iterator =
+ IteratorImpl<const T, typename list_type::const_iterator>;
+ using const_reverse_iterator =
+ IteratorImpl<const T, typename list_type::const_reverse_iterator>;
AllocatorList() = default;
AllocatorList(AllocatorList &&X)
: AllocatorT(std::move(X.getAlloc())), List(std::move(X.List)) {}
+
AllocatorList(const AllocatorList &X) {
List.cloneFrom(X.List, Cloner(*this), Disposer(*this));
}
+
AllocatorList &operator=(AllocatorList &&X) {
clear(); // Dispose of current nodes explicitly.
List = std::move(X.List);
getAlloc() = std::move(X.getAlloc());
return *this;
}
+
AllocatorList &operator=(const AllocatorList &X) {
List.cloneFrom(X.List, Cloner(*this), Disposer(*this));
return *this;
}
+
~AllocatorList() { clear(); }
void swap(AllocatorList &RHS) {
Modified: vendor/llvm/dist/include/llvm/ADT/ArrayRef.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/ArrayRef.h Fri Jun 16 20:47:12 2017 (r320012)
+++ vendor/llvm/dist/include/llvm/ADT/ArrayRef.h Fri Jun 16 21:03:24 2017 (r320013)
@@ -1,4 +1,4 @@
-//===--- ArrayRef.h - Array Reference Wrapper -------------------*- C++ -*-===//
+//===- ArrayRef.h - Array Reference Wrapper ---------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -12,12 +12,21 @@
#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/None.h"
-#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/STLExtras.h"
+#include "llvm/Support/Compiler.h"
+#include <algorithm>
#include <array>
+#include <cassert>
+#include <cstddef>
+#include <initializer_list>
+#include <iterator>
+#include <memory>
+#include <type_traits>
#include <vector>
namespace llvm {
+
/// ArrayRef - Represent a constant reference to an array (0 or more elements
/// consecutively in memory), i.e. a start pointer and a length. It allows
/// various APIs to take consecutive elements easily and conveniently.
@@ -32,28 +41,27 @@ namespace llvm {
template<typename T>
class LLVM_NODISCARD ArrayRef {
public:
- typedef const T *iterator;
- typedef const T *const_iterator;
- typedef size_t size_type;
+ using iterator = const T *;
+ using const_iterator = const T *;
+ using size_type = size_t;
+ using reverse_iterator = std::reverse_iterator<iterator>;
- typedef std::reverse_iterator<iterator> reverse_iterator;
-
private:
/// The start of the array, in an external buffer.
- const T *Data;
+ const T *Data = nullptr;
/// The number of elements.
- size_type Length;
+ size_type Length = 0;
public:
/// @name Constructors
/// @{
/// Construct an empty ArrayRef.
- /*implicit*/ ArrayRef() : Data(nullptr), Length(0) {}
+ /*implicit*/ ArrayRef() = default;
/// Construct an empty ArrayRef from None.
- /*implicit*/ ArrayRef(NoneType) : Data(nullptr), Length(0) {}
+ /*implicit*/ ArrayRef(NoneType) {}
/// Construct an ArrayRef from a single element.
/*implicit*/ ArrayRef(const T &OneElt)
@@ -282,10 +290,9 @@ namespace llvm {
template<typename T>
class LLVM_NODISCARD MutableArrayRef : public ArrayRef<T> {
public:
- typedef T *iterator;
+ using iterator = T *;
+ using reverse_iterator = std::reverse_iterator<iterator>;
- typedef std::reverse_iterator<iterator> reverse_iterator;
-
/// Construct an empty MutableArrayRef.
/*implicit*/ MutableArrayRef() : ArrayRef<T>() {}
@@ -416,19 +423,23 @@ namespace llvm {
/// This is a MutableArrayRef that owns its array.
template <typename T> class OwningArrayRef : public MutableArrayRef<T> {
public:
- OwningArrayRef() {}
+ OwningArrayRef() = default;
OwningArrayRef(size_t Size) : MutableArrayRef<T>(new T[Size], Size) {}
+
OwningArrayRef(ArrayRef<T> Data)
: MutableArrayRef<T>(new T[Data.size()], Data.size()) {
std::copy(Data.begin(), Data.end(), this->begin());
}
+
OwningArrayRef(OwningArrayRef &&Other) { *this = Other; }
+
OwningArrayRef &operator=(OwningArrayRef &&Other) {
delete[] this->data();
this->MutableArrayRef<T>::operator=(Other);
Other.MutableArrayRef<T>::operator=(MutableArrayRef<T>());
return *this;
}
+
~OwningArrayRef() { delete[] this->data(); }
};
@@ -517,13 +528,14 @@ namespace llvm {
// ArrayRefs can be treated like a POD type.
template <typename T> struct isPodLike;
- template <typename T> struct isPodLike<ArrayRef<T> > {
+ template <typename T> struct isPodLike<ArrayRef<T>> {
static const bool value = true;
};
template <typename T> hash_code hash_value(ArrayRef<T> S) {
return hash_combine_range(S.begin(), S.end());
}
+
} // end namespace llvm
#endif // LLVM_ADT_ARRAYREF_H
Modified: vendor/llvm/dist/include/llvm/ADT/BreadthFirstIterator.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/BreadthFirstIterator.h Fri Jun 16 20:47:12 2017 (r320012)
+++ vendor/llvm/dist/include/llvm/ADT/BreadthFirstIterator.h Fri Jun 16 21:03:24 2017 (r320013)
@@ -25,7 +25,6 @@
#include "llvm/ADT/iterator_range.h"
#include <iterator>
#include <queue>
-#include <set>
#include <utility>
namespace llvm {
@@ -49,13 +48,13 @@ template <class GraphT,
class bf_iterator
: public std::iterator<std::forward_iterator_tag, typename GT::NodeRef>,
public bf_iterator_storage<SetType> {
- typedef std::iterator<std::forward_iterator_tag, typename GT::NodeRef> super;
+ using super = std::iterator<std::forward_iterator_tag, typename GT::NodeRef>;
- typedef typename GT::NodeRef NodeRef;
- typedef typename GT::ChildIteratorType ChildItTy;
+ using NodeRef = typename GT::NodeRef;
+ using ChildItTy = typename GT::ChildIteratorType;
// First element is the node reference, second is the next child to visit.
- typedef std::pair<NodeRef, Optional<ChildItTy>> QueueElement;
+ using QueueElement = std::pair<NodeRef, Optional<ChildItTy>>;
// Visit queue - used to maintain BFS ordering.
// Optional<> because we need markers for levels.
@@ -109,7 +108,7 @@ class bf_iterator (private)
}
public:
- typedef typename super::pointer pointer;
+ using pointer = typename super::pointer;
// Provide static begin and end methods as our public "constructors"
static bf_iterator begin(const GraphT &G) {
Modified: vendor/llvm/dist/include/llvm/ADT/DAGDeltaAlgorithm.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/DAGDeltaAlgorithm.h Fri Jun 16 20:47:12 2017 (r320012)
+++ vendor/llvm/dist/include/llvm/ADT/DAGDeltaAlgorithm.h Fri Jun 16 21:03:24 2017 (r320013)
@@ -1,4 +1,4 @@
-//===--- DAGDeltaAlgorithm.h - A DAG Minimization Algorithm ----*- C++ -*--===//
+//===- DAGDeltaAlgorithm.h - A DAG Minimization Algorithm ------*- C++ -*--===//
//
// The LLVM Compiler Infrastructure
//
@@ -40,12 +40,12 @@ class DAGDeltaAlgorithm {
virtual void anchor();
public:
- typedef unsigned change_ty;
- typedef std::pair<change_ty, change_ty> edge_ty;
+ using change_ty = unsigned;
+ using edge_ty = std::pair<change_ty, change_ty>;
// FIXME: Use a decent data structure.
- typedef std::set<change_ty> changeset_ty;
- typedef std::vector<changeset_ty> changesetlist_ty;
+ using changeset_ty = std::set<change_ty>;
+ using changesetlist_ty = std::vector<changeset_ty>;
public:
virtual ~DAGDeltaAlgorithm() = default;
Modified: vendor/llvm/dist/include/llvm/ADT/DeltaAlgorithm.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/DeltaAlgorithm.h Fri Jun 16 20:47:12 2017 (r320012)
+++ vendor/llvm/dist/include/llvm/ADT/DeltaAlgorithm.h Fri Jun 16 21:03:24 2017 (r320013)
@@ -1,4 +1,4 @@
-//===--- DeltaAlgorithm.h - A Set Minimization Algorithm -------*- C++ -*--===//
+//===- DeltaAlgorithm.h - A Set Minimization Algorithm ---------*- C++ -*--===//
//
// The LLVM Compiler Infrastructure
//
@@ -35,10 +35,10 @@ namespace llvm {
/// predicate.
class DeltaAlgorithm {
public:
- typedef unsigned change_ty;
+ using change_ty = unsigned;
// FIXME: Use a decent data structure.
- typedef std::set<change_ty> changeset_ty;
- typedef std::vector<changeset_ty> changesetlist_ty;
+ using changeset_ty = std::set<change_ty>;
+ using changesetlist_ty = std::vector<changeset_ty>;
private:
/// Cache of failed test results. Successful test results are never cached
@@ -90,4 +90,4 @@ class DeltaAlgorithm { (public)
} // end namespace llvm
-#endif
+#endif // LLVM_ADT_DELTAALGORITHM_H
Modified: vendor/llvm/dist/include/llvm/ADT/DenseMap.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/DenseMap.h Fri Jun 16 20:47:12 2017 (r320012)
+++ vendor/llvm/dist/include/llvm/ADT/DenseMap.h Fri Jun 16 21:03:24 2017 (r320013)
@@ -25,8 +25,8 @@
#include <cstddef>
#include <cstring>
#include <iterator>
-#include <limits>
#include <new>
+#include <type_traits>
#include <utility>
namespace llvm {
@@ -57,14 +57,15 @@ class DenseMapBase : public DebugEpochBase {
using const_arg_type_t = typename const_pointer_or_const_ref<T>::type;
public:
- typedef unsigned size_type;
- typedef KeyT key_type;
- typedef ValueT mapped_type;
- typedef BucketT value_type;
+ using size_type = unsigned;
+ using key_type = KeyT;
+ using mapped_type = ValueT;
+ using value_type = BucketT;
- typedef DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT> iterator;
- typedef DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT, true>
- const_iterator;
+ using iterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT>;
+ using const_iterator =
+ DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT, true>;
+
inline iterator begin() {
// When the map is empty, avoid the overhead of AdvancePastEmptyBuckets().
return empty() ? end() : iterator(getBuckets(), getBucketsEnd(), *this);
@@ -387,15 +388,18 @@ class DenseMapBase : public DebugEpochBase {
static unsigned getHashValue(const KeyT &Val) {
return KeyInfoT::getHashValue(Val);
}
+
template<typename LookupKeyT>
static unsigned getHashValue(const LookupKeyT &Val) {
return KeyInfoT::getHashValue(Val);
}
+
static const KeyT getEmptyKey() {
static_assert(std::is_base_of<DenseMapBase, DerivedT>::value,
"Must pass the derived type to this template!");
return KeyInfoT::getEmptyKey();
}
+
static const KeyT getTombstoneKey() {
return KeyInfoT::getTombstoneKey();
}
@@ -404,39 +408,51 @@ class DenseMapBase : public DebugEpochBase {
unsigned getNumEntries() const {
return static_cast<const DerivedT *>(this)->getNumEntries();
}
+
void setNumEntries(unsigned Num) {
static_cast<DerivedT *>(this)->setNumEntries(Num);
}
+
void incrementNumEntries() {
setNumEntries(getNumEntries() + 1);
}
+
void decrementNumEntries() {
setNumEntries(getNumEntries() - 1);
}
+
unsigned getNumTombstones() const {
return static_cast<const DerivedT *>(this)->getNumTombstones();
}
+
void setNumTombstones(unsigned Num) {
static_cast<DerivedT *>(this)->setNumTombstones(Num);
}
+
void incrementNumTombstones() {
setNumTombstones(getNumTombstones() + 1);
}
+
void decrementNumTombstones() {
setNumTombstones(getNumTombstones() - 1);
}
+
const BucketT *getBuckets() const {
return static_cast<const DerivedT *>(this)->getBuckets();
}
+
BucketT *getBuckets() {
return static_cast<DerivedT *>(this)->getBuckets();
}
+
unsigned getNumBuckets() const {
return static_cast<const DerivedT *>(this)->getNumBuckets();
}
+
BucketT *getBucketsEnd() {
return getBuckets() + getNumBuckets();
}
+
const BucketT *getBucketsEnd() const {
return getBuckets() + getNumBuckets();
}
@@ -587,10 +603,11 @@ template <typename KeyT, typename ValueT,
typename BucketT = detail::DenseMapPair<KeyT, ValueT>>
class DenseMap : public DenseMapBase<DenseMap<KeyT, ValueT, KeyInfoT, BucketT>,
KeyT, ValueT, KeyInfoT, BucketT> {
+ friend class DenseMapBase<DenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
+
// Lift some types from the dependent base class into this class for
// simplicity of referring to them.
- typedef DenseMapBase<DenseMap, KeyT, ValueT, KeyInfoT, BucketT> BaseT;
- friend class DenseMapBase<DenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
+ using BaseT = DenseMapBase<DenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
BucketT *Buckets;
unsigned NumEntries;
@@ -705,6 +722,7 @@ class DenseMap : public DenseMapBase<DenseMap<KeyT, Va
unsigned getNumEntries() const {
return NumEntries;
}
+
void setNumEntries(unsigned Num) {
NumEntries = Num;
}
@@ -712,6 +730,7 @@ class DenseMap : public DenseMapBase<DenseMap<KeyT, Va
unsigned getNumTombstones() const {
return NumTombstones;
}
+
void setNumTombstones(unsigned Num) {
NumTombstones = Num;
}
@@ -743,10 +762,12 @@ class SmallDenseMap
: public DenseMapBase<
SmallDenseMap<KeyT, ValueT, InlineBuckets, KeyInfoT, BucketT>, KeyT,
ValueT, KeyInfoT, BucketT> {
+ friend class DenseMapBase<SmallDenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
+
// Lift some types from the dependent base class into this class for
// simplicity of referring to them.
- typedef DenseMapBase<SmallDenseMap, KeyT, ValueT, KeyInfoT, BucketT> BaseT;
- friend class DenseMapBase<SmallDenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
+ using BaseT = DenseMapBase<SmallDenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
+
static_assert(isPowerOf2_64(InlineBuckets),
"InlineBuckets must be a power of 2.");
@@ -972,6 +993,7 @@ class SmallDenseMap
unsigned getNumEntries() const {
return NumEntries;
}
+
void setNumEntries(unsigned Num) {
// NumEntries is hardcoded to be 31 bits wide.
assert(Num < (1U << 31) && "Cannot support more than 1<<31 entries");
@@ -981,6 +1003,7 @@ class SmallDenseMap
unsigned getNumTombstones() const {
return NumTombstones;
}
+
void setNumTombstones(unsigned Num) {
NumTombstones = Num;
}
@@ -992,15 +1015,18 @@ class SmallDenseMap
// 'storage.buffer' static type is 'char *'.
return reinterpret_cast<const BucketT *>(storage.buffer);
}
+
BucketT *getInlineBuckets() {
return const_cast<BucketT *>(
const_cast<const SmallDenseMap *>(this)->getInlineBuckets());
}
+
const LargeRep *getLargeRep() const {
assert(!Small);
// Note, same rule about aliasing as with getInlineBuckets.
return reinterpret_cast<const LargeRep *>(storage.buffer);
}
+
LargeRep *getLargeRep() {
return const_cast<LargeRep *>(
const_cast<const SmallDenseMap *>(this)->getLargeRep());
@@ -1009,10 +1035,12 @@ class SmallDenseMap
const BucketT *getBuckets() const {
return Small ? getInlineBuckets() : getLargeRep()->Buckets;
}
+
BucketT *getBuckets() {
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-vendor
mailing list