Date: Tue, 9 Jun 2015 19:06:32 +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: r284184 - in vendor/llvm/dist: . autoconf cmake/modules docs docs/CommandGuide docs/TableGen include/llvm include/llvm-c include/llvm/ADT include/llvm/Analysis include/llvm/Bitcode incl... Message-ID: <201506091906.t59J6W2a058870@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dim Date: Tue Jun 9 19:06:30 2015 New Revision: 284184 URL: https://svnweb.freebsd.org/changeset/base/284184 Log: Vendor import of llvm trunk r239412: https://llvm.org/svn/llvm-project/llvm/trunk@239412 Added: vendor/llvm/dist/include/llvm/Analysis/MemoryLocation.h (contents, props changed) vendor/llvm/dist/include/llvm/CodeGen/DIEValue.def vendor/llvm/dist/include/llvm/CodeGen/MIRParser/ vendor/llvm/dist/include/llvm/CodeGen/MIRParser/MIRParser.h (contents, props changed) vendor/llvm/dist/include/llvm/CodeGen/MIRYamlMapping.h (contents, props changed) vendor/llvm/dist/include/llvm/MC/MCSymbolCOFF.h (contents, props changed) vendor/llvm/dist/include/llvm/MC/MCSymbolELF.h (contents, props changed) vendor/llvm/dist/include/llvm/MC/MCSymbolMachO.h (contents, props changed) vendor/llvm/dist/include/llvm/Object/ArchiveWriter.h (contents, props changed) vendor/llvm/dist/include/llvm/Target/TargetRecip.h (contents, props changed) vendor/llvm/dist/lib/Analysis/MemoryLocation.cpp (contents, props changed) vendor/llvm/dist/lib/CodeGen/AsmPrinter/WinException.cpp (contents, props changed) vendor/llvm/dist/lib/CodeGen/AsmPrinter/WinException.h (contents, props changed) vendor/llvm/dist/lib/CodeGen/MIRParser/ vendor/llvm/dist/lib/CodeGen/MIRParser/CMakeLists.txt (contents, props changed) vendor/llvm/dist/lib/CodeGen/MIRParser/LLVMBuild.txt (contents, props changed) vendor/llvm/dist/lib/CodeGen/MIRParser/MIRParser.cpp (contents, props changed) vendor/llvm/dist/lib/CodeGen/MIRParser/Makefile (contents, props changed) vendor/llvm/dist/lib/CodeGen/MIRPrintingPass.cpp (contents, props changed) vendor/llvm/dist/lib/MC/MCSymbolELF.cpp (contents, props changed) vendor/llvm/dist/lib/Object/ArchiveWriter.cpp (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/HexagonIsetDx.td vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCCompound.cpp (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCShuffler.cpp (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCShuffler.h (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp (contents, props changed) vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.h (contents, props changed) vendor/llvm/dist/lib/Target/NVPTX/NVPTXLowerKernelArgs.cpp (contents, props changed) vendor/llvm/dist/lib/Target/TargetRecip.cpp (contents, props changed) vendor/llvm/dist/lib/Target/X86/X86InstrMPX.td vendor/llvm/dist/resources/ vendor/llvm/dist/test/Analysis/LoopAccessAnalysis/number-of-memchecks.ll vendor/llvm/dist/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll vendor/llvm/dist/test/Assembler/dicompileunit.ll vendor/llvm/dist/test/Assembler/diexpression.ll vendor/llvm/dist/test/Assembler/difile-escaped-chars.ll vendor/llvm/dist/test/Assembler/diglobalvariable.ll vendor/llvm/dist/test/Assembler/diimportedentity.ll vendor/llvm/dist/test/Assembler/dilexicalblock.ll vendor/llvm/dist/test/Assembler/dilocalvariable-arg-large.ll vendor/llvm/dist/test/Assembler/dilocalvariable.ll vendor/llvm/dist/test/Assembler/dilocation.ll vendor/llvm/dist/test/Assembler/dinamespace.ll vendor/llvm/dist/test/Assembler/diobjcproperty.ll vendor/llvm/dist/test/Assembler/disubprogram.ll vendor/llvm/dist/test/Assembler/disubrange-empty-array.ll vendor/llvm/dist/test/Assembler/disubroutinetype.ll vendor/llvm/dist/test/Assembler/ditemplateparameter.ll vendor/llvm/dist/test/Assembler/ditype-large-values.ll vendor/llvm/dist/test/Assembler/invalid-dicompileunit-language-bad.ll vendor/llvm/dist/test/Assembler/invalid-dicompileunit-language-overflow.ll vendor/llvm/dist/test/Assembler/invalid-dicompileunit-missing-language.ll vendor/llvm/dist/test/Assembler/invalid-dicompileunit-null-file.ll vendor/llvm/dist/test/Assembler/invalid-dicompositetype-missing-tag.ll vendor/llvm/dist/test/Assembler/invalid-diderivedtype-missing-basetype.ll vendor/llvm/dist/test/Assembler/invalid-diderivedtype-missing-tag.ll vendor/llvm/dist/test/Assembler/invalid-dienumerator-missing-name.ll vendor/llvm/dist/test/Assembler/invalid-dienumerator-missing-value.ll vendor/llvm/dist/test/Assembler/invalid-diexpression-large.ll vendor/llvm/dist/test/Assembler/invalid-diexpression-verify.ll vendor/llvm/dist/test/Assembler/invalid-difile-missing-directory.ll vendor/llvm/dist/test/Assembler/invalid-difile-missing-filename.ll vendor/llvm/dist/test/Assembler/invalid-diglobalvariable-empty-name.ll vendor/llvm/dist/test/Assembler/invalid-diglobalvariable-missing-name.ll vendor/llvm/dist/test/Assembler/invalid-diimportedentity-missing-scope.ll vendor/llvm/dist/test/Assembler/invalid-diimportedentity-missing-tag.ll vendor/llvm/dist/test/Assembler/invalid-dilexicalblock-missing-scope.ll vendor/llvm/dist/test/Assembler/invalid-dilexicalblock-null-scope.ll vendor/llvm/dist/test/Assembler/invalid-dilexicalblockfile-missing-discriminator.ll vendor/llvm/dist/test/Assembler/invalid-dilexicalblockfile-missing-scope.ll vendor/llvm/dist/test/Assembler/invalid-dilexicalblockfile-null-scope.ll vendor/llvm/dist/test/Assembler/invalid-dilocalvariable-arg-large.ll vendor/llvm/dist/test/Assembler/invalid-dilocalvariable-arg-negative.ll vendor/llvm/dist/test/Assembler/invalid-dilocalvariable-missing-scope.ll vendor/llvm/dist/test/Assembler/invalid-dilocalvariable-missing-tag.ll vendor/llvm/dist/test/Assembler/invalid-dilocalvariable-null-scope.ll vendor/llvm/dist/test/Assembler/invalid-dilocation-field-bad.ll vendor/llvm/dist/test/Assembler/invalid-dilocation-field-twice.ll vendor/llvm/dist/test/Assembler/invalid-dilocation-missing-scope-2.ll vendor/llvm/dist/test/Assembler/invalid-dilocation-missing-scope.ll vendor/llvm/dist/test/Assembler/invalid-dilocation-null-scope.ll vendor/llvm/dist/test/Assembler/invalid-dilocation-overflow-column.ll vendor/llvm/dist/test/Assembler/invalid-dilocation-overflow-line.ll vendor/llvm/dist/test/Assembler/invalid-dinamespace-missing-namespace.ll vendor/llvm/dist/test/Assembler/invalid-disubrange-count-large.ll vendor/llvm/dist/test/Assembler/invalid-disubrange-count-missing.ll vendor/llvm/dist/test/Assembler/invalid-disubrange-count-negative.ll vendor/llvm/dist/test/Assembler/invalid-disubrange-lowerBound-max.ll vendor/llvm/dist/test/Assembler/invalid-disubrange-lowerBound-min.ll vendor/llvm/dist/test/Assembler/invalid-disubroutinetype-missing-types.ll vendor/llvm/dist/test/Assembler/invalid-ditemplatetypeparameter-missing-type.ll vendor/llvm/dist/test/Assembler/invalid-ditemplatevalueparameter-missing-value.ll vendor/llvm/dist/test/Bitcode/Inputs/invalid-alias-type-mismatch.bc (contents, props changed) vendor/llvm/dist/test/Bitcode/Inputs/invalid-metadata-not-followed-named-node.bc (contents, props changed) vendor/llvm/dist/test/Bitcode/Inputs/invalid-vector-length.bc (contents, props changed) vendor/llvm/dist/test/CodeGen/AArch64/global-merge-ignore-single-use-minsize.ll vendor/llvm/dist/test/CodeGen/AArch64/special-reg.ll vendor/llvm/dist/test/CodeGen/ARM/ifcvt-callback.ll vendor/llvm/dist/test/CodeGen/ARM/jump-table-islands-split.ll vendor/llvm/dist/test/CodeGen/ARM/jump-table-islands.ll vendor/llvm/dist/test/CodeGen/ARM/special-reg-acore.ll vendor/llvm/dist/test/CodeGen/ARM/special-reg-mcore.ll vendor/llvm/dist/test/CodeGen/ARM/special-reg.ll vendor/llvm/dist/test/CodeGen/BPF/cc_args_be.ll vendor/llvm/dist/test/CodeGen/Hexagon/compound.ll vendor/llvm/dist/test/CodeGen/Hexagon/duplex.ll vendor/llvm/dist/test/CodeGen/Hexagon/relax.ll vendor/llvm/dist/test/CodeGen/MIR/lit.local.cfg vendor/llvm/dist/test/CodeGen/MIR/llvm-ir-error-reported.mir vendor/llvm/dist/test/CodeGen/MIR/llvmIR.mir vendor/llvm/dist/test/CodeGen/MIR/llvmIRMissing.mir vendor/llvm/dist/test/CodeGen/MIR/machine-function-missing-name.mir vendor/llvm/dist/test/CodeGen/MIR/machine-function.mir vendor/llvm/dist/test/CodeGen/Mips/Fast-ISel/bswap1.ll vendor/llvm/dist/test/CodeGen/Mips/Fast-ISel/div1.ll vendor/llvm/dist/test/CodeGen/Mips/Fast-ISel/memtest1.ll vendor/llvm/dist/test/CodeGen/Mips/Fast-ISel/mul1.ll vendor/llvm/dist/test/CodeGen/Mips/Fast-ISel/rem1.ll vendor/llvm/dist/test/CodeGen/Mips/Fast-ISel/sel1.ll vendor/llvm/dist/test/CodeGen/Mips/dynamic-stack-realignment.ll vendor/llvm/dist/test/CodeGen/NVPTX/globals_init.ll vendor/llvm/dist/test/CodeGen/NVPTX/lower-kernel-ptr-arg.ll vendor/llvm/dist/test/CodeGen/PowerPC/vsx-fma-sp.ll vendor/llvm/dist/test/CodeGen/R600/cgp-addressing-modes.ll vendor/llvm/dist/test/CodeGen/R600/subreg-eliminate-dead.ll vendor/llvm/dist/test/CodeGen/R600/trunc-store-f64-to-f16.ll vendor/llvm/dist/test/CodeGen/X86/asm-reject-reg-type-mismatch.ll vendor/llvm/dist/test/CodeGen/X86/avx512-shuffle.ll vendor/llvm/dist/test/CodeGen/X86/pr23603.ll vendor/llvm/dist/test/CodeGen/X86/pr23664.ll vendor/llvm/dist/test/CodeGen/X86/stack-folding-x86_64.ll vendor/llvm/dist/test/CodeGen/X86/statepoint-far-call.ll vendor/llvm/dist/test/CodeGen/X86/tailcallpic3.ll vendor/llvm/dist/test/CodeGen/X86/vec_shift8.ll vendor/llvm/dist/test/CodeGen/X86/vector-lzcnt-128.ll vendor/llvm/dist/test/CodeGen/X86/vector-lzcnt-256.ll vendor/llvm/dist/test/CodeGen/X86/vector-popcnt-128.ll vendor/llvm/dist/test/CodeGen/X86/vector-popcnt-256.ll vendor/llvm/dist/test/CodeGen/X86/vector-tzcnt-128.ll vendor/llvm/dist/test/CodeGen/X86/vector-tzcnt-256.ll vendor/llvm/dist/test/CodeGen/X86/win32-eh-states.ll vendor/llvm/dist/test/DebugInfo/Inputs/dwarfdump.elf-mips64-64-bit-dwarf (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/invalid.elf (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/invalid.elf.2 (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/invalid.elf.3 (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/test-multiple-macho.o (contents, props changed) vendor/llvm/dist/test/DebugInfo/Inputs/test-simple-macho.o (contents, props changed) vendor/llvm/dist/test/DebugInfo/X86/expressions.ll vendor/llvm/dist/test/DebugInfo/X86/inlined-indirect-value.ll vendor/llvm/dist/test/DebugInfo/debuglineinfo-macho.test vendor/llvm/dist/test/DebugInfo/dwarfdump-64-bit-dwarf.test vendor/llvm/dist/test/DebugInfo/dwarfdump-invalid.test vendor/llvm/dist/test/ExecutionEngine/RuntimeDyld/Mips/ vendor/llvm/dist/test/ExecutionEngine/RuntimeDyld/Mips/ELF_Mips64r2N64_PIC_relocations.s (contents, props changed) vendor/llvm/dist/test/ExecutionEngine/RuntimeDyld/Mips/ELF_O32_PIC_relocations.s (contents, props changed) vendor/llvm/dist/test/ExecutionEngine/RuntimeDyld/Mips/Inputs/ vendor/llvm/dist/test/ExecutionEngine/RuntimeDyld/Mips/Inputs/ExternalFunction.ll vendor/llvm/dist/test/ExecutionEngine/RuntimeDyld/Mips/lit.local.cfg vendor/llvm/dist/test/Instrumentation/AddressSanitizer/do-not-instrument-llvm-metadata-darwin.ll vendor/llvm/dist/test/Instrumentation/InstrProfiling/PR23499.ll vendor/llvm/dist/test/MC/AArch64/armv8.1a-atomic.s (contents, props changed) vendor/llvm/dist/test/MC/AArch64/case-insen-reg-names.s (contents, props changed) vendor/llvm/dist/test/MC/AsmParser/defsym.s (contents, props changed) vendor/llvm/dist/test/MC/AsmParser/defsym_error1.s (contents, props changed) vendor/llvm/dist/test/MC/AsmParser/defsym_error2.s (contents, props changed) vendor/llvm/dist/test/MC/COFF/cross-section-relative.s (contents, props changed) vendor/llvm/dist/test/MC/Disassembler/AArch64/armv8.1a-atomic.txt (contents, props changed) vendor/llvm/dist/test/MC/ELF/common-error3.s (contents, props changed) vendor/llvm/dist/test/MC/ELF/common-redeclare.s (contents, props changed) vendor/llvm/dist/test/MC/ELF/popsection.s (contents, props changed) vendor/llvm/dist/test/MC/Mips/relocation.s (contents, props changed) vendor/llvm/dist/test/MC/Mips/set-softfloat-hardfloat-bad.s (contents, props changed) vendor/llvm/dist/test/MC/Mips/set-softfloat-hardfloat.s (contents, props changed) vendor/llvm/dist/test/MC/PowerPC/st-other-crash.s (contents, props changed) vendor/llvm/dist/test/MC/X86/hex-immediates.s (contents, props changed) vendor/llvm/dist/test/MC/X86/mpx-encodings.s (contents, props changed) vendor/llvm/dist/test/Object/Inputs/macho-invalid-header (contents, props changed) vendor/llvm/dist/test/Object/Inputs/macho64-invalid-incomplete-segment-load-command (contents, props changed) vendor/llvm/dist/test/Object/Inputs/no-start-symbol.elf-x86_64 (contents, props changed) vendor/llvm/dist/test/Object/X86/no-start-symbol.test vendor/llvm/dist/test/Transforms/IndVarSimplify/exit_value_test2.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/exit_value_test3.ll vendor/llvm/dist/test/Transforms/InstCombine/load-bitcast32.ll vendor/llvm/dist/test/Transforms/InstCombine/load-bitcast64.ll vendor/llvm/dist/test/Transforms/InstCombine/pr23751.ll vendor/llvm/dist/test/Transforms/LoopUnroll/full-unroll-bad-cost.ll vendor/llvm/dist/test/Transforms/LoopVectorize/interleaved-accesses.ll vendor/llvm/dist/test/Transforms/LoopVectorize/zero-sized-pointee-crash.ll vendor/llvm/dist/test/Transforms/MergeFunc/linkonce_odr.ll vendor/llvm/dist/test/Transforms/RewriteStatepointsForGC/deref-pointers.ll vendor/llvm/dist/test/Transforms/SeparateConstOffsetFromGEP/R600/ vendor/llvm/dist/test/Transforms/SeparateConstOffsetFromGEP/R600/lit.local.cfg vendor/llvm/dist/test/Transforms/SeparateConstOffsetFromGEP/R600/split-gep-and-gvn-addrspace-addressing-modes.ll vendor/llvm/dist/test/Transforms/Sink/convergent.ll vendor/llvm/dist/test/tools/dsymutil/Inputs/frame-dw2.ll vendor/llvm/dist/test/tools/dsymutil/Inputs/frame-dw4.ll vendor/llvm/dist/test/tools/dsymutil/Inputs/frame.c (contents, props changed) vendor/llvm/dist/test/tools/dsymutil/X86/frame-1.test vendor/llvm/dist/test/tools/dsymutil/X86/frame-2.test vendor/llvm/dist/test/tools/dsymutil/yaml-object-address-rewrite.test vendor/llvm/dist/test/tools/llvm-objdump/invalid-input.test vendor/llvm/dist/tools/llvm-dwarfdump/fuzzer/ vendor/llvm/dist/tools/llvm-dwarfdump/fuzzer/CMakeLists.txt (contents, props changed) vendor/llvm/dist/tools/llvm-dwarfdump/fuzzer/llvm-dwarfdump-fuzzer.cpp (contents, props changed) Deleted: vendor/llvm/dist/include/llvm/CodeGen/MIR/ vendor/llvm/dist/include/llvm/MC/MCELF.h vendor/llvm/dist/include/llvm/MC/MCELFSymbolFlags.h vendor/llvm/dist/include/llvm/MC/MCMachOSymbolFlags.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/Win64Exception.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/Win64Exception.h vendor/llvm/dist/lib/CodeGen/MIR/ vendor/llvm/dist/lib/MC/MCELF.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXLowerStructArgs.cpp vendor/llvm/dist/test/Assembler/invalid-mdcompileunit-language-bad.ll vendor/llvm/dist/test/Assembler/invalid-mdcompileunit-language-overflow.ll vendor/llvm/dist/test/Assembler/invalid-mdcompileunit-missing-language.ll vendor/llvm/dist/test/Assembler/invalid-mdcompileunit-null-file.ll vendor/llvm/dist/test/Assembler/invalid-mdcompositetype-missing-tag.ll vendor/llvm/dist/test/Assembler/invalid-mdderivedtype-missing-basetype.ll vendor/llvm/dist/test/Assembler/invalid-mdderivedtype-missing-tag.ll vendor/llvm/dist/test/Assembler/invalid-mdenumerator-missing-name.ll vendor/llvm/dist/test/Assembler/invalid-mdenumerator-missing-value.ll vendor/llvm/dist/test/Assembler/invalid-mdexpression-large.ll vendor/llvm/dist/test/Assembler/invalid-mdexpression-verify.ll vendor/llvm/dist/test/Assembler/invalid-mdfile-missing-directory.ll vendor/llvm/dist/test/Assembler/invalid-mdfile-missing-filename.ll vendor/llvm/dist/test/Assembler/invalid-mdglobalvariable-empty-name.ll vendor/llvm/dist/test/Assembler/invalid-mdglobalvariable-missing-name.ll vendor/llvm/dist/test/Assembler/invalid-mdimportedentity-missing-scope.ll vendor/llvm/dist/test/Assembler/invalid-mdimportedentity-missing-tag.ll vendor/llvm/dist/test/Assembler/invalid-mdlexicalblock-missing-scope.ll vendor/llvm/dist/test/Assembler/invalid-mdlexicalblock-null-scope.ll vendor/llvm/dist/test/Assembler/invalid-mdlexicalblockfile-missing-discriminator.ll vendor/llvm/dist/test/Assembler/invalid-mdlexicalblockfile-missing-scope.ll vendor/llvm/dist/test/Assembler/invalid-mdlexicalblockfile-null-scope.ll vendor/llvm/dist/test/Assembler/invalid-mdlocalvariable-missing-scope.ll vendor/llvm/dist/test/Assembler/invalid-mdlocalvariable-missing-tag.ll vendor/llvm/dist/test/Assembler/invalid-mdlocalvariable-null-scope.ll vendor/llvm/dist/test/Assembler/invalid-mdlocation-field-bad.ll vendor/llvm/dist/test/Assembler/invalid-mdlocation-field-twice.ll vendor/llvm/dist/test/Assembler/invalid-mdlocation-missing-scope-2.ll vendor/llvm/dist/test/Assembler/invalid-mdlocation-missing-scope.ll vendor/llvm/dist/test/Assembler/invalid-mdlocation-null-scope.ll vendor/llvm/dist/test/Assembler/invalid-mdlocation-overflow-column.ll vendor/llvm/dist/test/Assembler/invalid-mdlocation-overflow-line.ll vendor/llvm/dist/test/Assembler/invalid-mdnamespace-missing-namespace.ll vendor/llvm/dist/test/Assembler/invalid-mdsubrange-count-large.ll vendor/llvm/dist/test/Assembler/invalid-mdsubrange-count-missing.ll vendor/llvm/dist/test/Assembler/invalid-mdsubrange-count-negative.ll vendor/llvm/dist/test/Assembler/invalid-mdsubrange-lowerBound-max.ll vendor/llvm/dist/test/Assembler/invalid-mdsubrange-lowerBound-min.ll vendor/llvm/dist/test/Assembler/invalid-mdsubroutinetype-missing-types.ll vendor/llvm/dist/test/Assembler/invalid-mdtemplatetypeparameter-missing-type.ll vendor/llvm/dist/test/Assembler/invalid-mdtemplatevalueparameter-missing-value.ll vendor/llvm/dist/test/Assembler/mdcompileunit.ll vendor/llvm/dist/test/Assembler/mdexpression.ll vendor/llvm/dist/test/Assembler/mdfile-escaped-chars.ll vendor/llvm/dist/test/Assembler/mdglobalvariable.ll vendor/llvm/dist/test/Assembler/mdimportedentity.ll vendor/llvm/dist/test/Assembler/mdlexicalblock.ll vendor/llvm/dist/test/Assembler/mdlocalvariable.ll vendor/llvm/dist/test/Assembler/mdlocation.ll vendor/llvm/dist/test/Assembler/mdnamespace.ll vendor/llvm/dist/test/Assembler/mdobjcproperty.ll vendor/llvm/dist/test/Assembler/mdsubprogram.ll vendor/llvm/dist/test/Assembler/mdsubrange-empty-array.ll vendor/llvm/dist/test/Assembler/mdsubroutinetype.ll vendor/llvm/dist/test/Assembler/mdtemplateparameter.ll vendor/llvm/dist/test/Assembler/mdtype-large-values.ll vendor/llvm/dist/test/CodeGen/Hexagon/calling-conv.ll vendor/llvm/dist/test/CodeGen/X86/vector-ctpop.ll vendor/llvm/dist/test/Instrumentation/AddressSanitizer/undecidable-dynamic-alloca-1.ll Modified: vendor/llvm/dist/CMakeLists.txt vendor/llvm/dist/autoconf/configure.ac vendor/llvm/dist/cmake/modules/AddOCaml.cmake vendor/llvm/dist/cmake/modules/TableGen.cmake vendor/llvm/dist/configure vendor/llvm/dist/docs/CommandGuide/llvm-profdata.rst vendor/llvm/dist/docs/LangRef.rst vendor/llvm/dist/docs/Lexicon.rst vendor/llvm/dist/docs/NVPTXUsage.rst vendor/llvm/dist/docs/TableGen/LangIntro.rst vendor/llvm/dist/docs/YamlIO.rst vendor/llvm/dist/include/llvm-c/Core.h vendor/llvm/dist/include/llvm-c/Support.h vendor/llvm/dist/include/llvm/ADT/APInt.h vendor/llvm/dist/include/llvm/ADT/Triple.h vendor/llvm/dist/include/llvm/Analysis/AliasAnalysis.h vendor/llvm/dist/include/llvm/Analysis/BlockFrequencyInfoImpl.h vendor/llvm/dist/include/llvm/Analysis/BranchProbabilityInfo.h vendor/llvm/dist/include/llvm/Analysis/CallGraph.h vendor/llvm/dist/include/llvm/Analysis/DependenceAnalysis.h vendor/llvm/dist/include/llvm/Analysis/LoopAccessAnalysis.h vendor/llvm/dist/include/llvm/Analysis/LoopInfo.h vendor/llvm/dist/include/llvm/Analysis/LoopInfoImpl.h vendor/llvm/dist/include/llvm/Analysis/PHITransAddr.h vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfo.h vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfoImpl.h vendor/llvm/dist/include/llvm/Bitcode/BitstreamReader.h vendor/llvm/dist/include/llvm/Bitcode/BitstreamWriter.h vendor/llvm/dist/include/llvm/CodeGen/BasicTTIImpl.h vendor/llvm/dist/include/llvm/CodeGen/CommandFlags.h vendor/llvm/dist/include/llvm/CodeGen/DIE.h vendor/llvm/dist/include/llvm/CodeGen/GCMetadata.h vendor/llvm/dist/include/llvm/CodeGen/LiveRangeEdit.h vendor/llvm/dist/include/llvm/CodeGen/MachineFrameInfo.h vendor/llvm/dist/include/llvm/CodeGen/MachineInstr.h vendor/llvm/dist/include/llvm/CodeGen/MachineLoopInfo.h vendor/llvm/dist/include/llvm/CodeGen/Passes.h vendor/llvm/dist/include/llvm/CodeGen/ScheduleDAGInstrs.h vendor/llvm/dist/include/llvm/CodeGen/SelectionDAG.h vendor/llvm/dist/include/llvm/CodeGen/WinEHFuncInfo.h vendor/llvm/dist/include/llvm/Config/config.h.in vendor/llvm/dist/include/llvm/DebugInfo/DIContext.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h vendor/llvm/dist/include/llvm/ExecutionEngine/RuntimeDyld.h vendor/llvm/dist/include/llvm/IR/InlineAsm.h vendor/llvm/dist/include/llvm/IR/Instructions.h vendor/llvm/dist/include/llvm/IR/Intrinsics.td vendor/llvm/dist/include/llvm/IR/IntrinsicsX86.td vendor/llvm/dist/include/llvm/IR/MDBuilder.h vendor/llvm/dist/include/llvm/IR/Value.h vendor/llvm/dist/include/llvm/InitializePasses.h vendor/llvm/dist/include/llvm/LTO/LTOCodeGenerator.h vendor/llvm/dist/include/llvm/MC/MCAsmBackend.h vendor/llvm/dist/include/llvm/MC/MCAsmInfo.h vendor/llvm/dist/include/llvm/MC/MCAsmLayout.h vendor/llvm/dist/include/llvm/MC/MCAssembler.h vendor/llvm/dist/include/llvm/MC/MCContext.h vendor/llvm/dist/include/llvm/MC/MCELFObjectWriter.h vendor/llvm/dist/include/llvm/MC/MCELFStreamer.h vendor/llvm/dist/include/llvm/MC/MCExpr.h vendor/llvm/dist/include/llvm/MC/MCInst.h vendor/llvm/dist/include/llvm/MC/MCInstPrinter.h vendor/llvm/dist/include/llvm/MC/MCInstrDesc.h vendor/llvm/dist/include/llvm/MC/MCLabel.h vendor/llvm/dist/include/llvm/MC/MCLinkerOptimizationHint.h vendor/llvm/dist/include/llvm/MC/MCMachObjectWriter.h vendor/llvm/dist/include/llvm/MC/MCObjectFileInfo.h vendor/llvm/dist/include/llvm/MC/MCObjectStreamer.h vendor/llvm/dist/include/llvm/MC/MCObjectWriter.h vendor/llvm/dist/include/llvm/MC/MCSection.h vendor/llvm/dist/include/llvm/MC/MCSectionELF.h vendor/llvm/dist/include/llvm/MC/MCStreamer.h vendor/llvm/dist/include/llvm/MC/MCSubtargetInfo.h vendor/llvm/dist/include/llvm/MC/MCSymbol.h vendor/llvm/dist/include/llvm/MC/MCWinCOFFStreamer.h vendor/llvm/dist/include/llvm/MC/SubtargetFeature.h vendor/llvm/dist/include/llvm/Object/COFF.h vendor/llvm/dist/include/llvm/Object/ELF.h vendor/llvm/dist/include/llvm/Object/ELFObjectFile.h vendor/llvm/dist/include/llvm/Object/ELFTypes.h vendor/llvm/dist/include/llvm/Object/Error.h vendor/llvm/dist/include/llvm/Object/MachO.h vendor/llvm/dist/include/llvm/Object/ObjectFile.h vendor/llvm/dist/include/llvm/Object/RelocVisitor.h vendor/llvm/dist/include/llvm/Support/COFF.h vendor/llvm/dist/include/llvm/Support/CommandLine.h vendor/llvm/dist/include/llvm/Support/Compiler.h vendor/llvm/dist/include/llvm/Support/ELFRelocs/Hexagon.def vendor/llvm/dist/include/llvm/Support/MathExtras.h vendor/llvm/dist/include/llvm/Support/TargetParser.h vendor/llvm/dist/include/llvm/Support/TargetRegistry.h vendor/llvm/dist/include/llvm/Support/YAMLTraits.h vendor/llvm/dist/include/llvm/TableGen/Record.h vendor/llvm/dist/include/llvm/TableGen/SetTheory.h vendor/llvm/dist/include/llvm/Target/Target.td vendor/llvm/dist/include/llvm/Target/TargetInstrInfo.h vendor/llvm/dist/include/llvm/Target/TargetLowering.h vendor/llvm/dist/include/llvm/Target/TargetOptions.h vendor/llvm/dist/include/llvm/Transforms/Scalar.h vendor/llvm/dist/lib/Analysis/AliasAnalysis.cpp vendor/llvm/dist/lib/Analysis/AliasAnalysisEvaluator.cpp vendor/llvm/dist/lib/Analysis/AliasSetTracker.cpp vendor/llvm/dist/lib/Analysis/BranchProbabilityInfo.cpp vendor/llvm/dist/lib/Analysis/CMakeLists.txt vendor/llvm/dist/lib/Analysis/DependenceAnalysis.cpp vendor/llvm/dist/lib/Analysis/InstructionSimplify.cpp vendor/llvm/dist/lib/Analysis/LoopAccessAnalysis.cpp vendor/llvm/dist/lib/Analysis/MemoryDependenceAnalysis.cpp vendor/llvm/dist/lib/Analysis/PHITransAddr.cpp vendor/llvm/dist/lib/Analysis/ScalarEvolutionExpander.cpp vendor/llvm/dist/lib/Analysis/TargetTransformInfo.cpp vendor/llvm/dist/lib/Analysis/ValueTracking.cpp vendor/llvm/dist/lib/AsmParser/LLLexer.cpp vendor/llvm/dist/lib/AsmParser/LLParser.cpp vendor/llvm/dist/lib/Bitcode/Reader/BitcodeReader.cpp vendor/llvm/dist/lib/CodeGen/AggressiveAntiDepBreaker.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/AddressPool.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinter.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/CMakeLists.txt vendor/llvm/dist/lib/CodeGen/AsmPrinter/DIE.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DIEHash.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DIEHash.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfExpression.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfExpression.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfFile.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfFile.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfUnit.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfUnit.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/WinCodeViewLineTables.cpp vendor/llvm/dist/lib/CodeGen/CMakeLists.txt vendor/llvm/dist/lib/CodeGen/CodeGenPrepare.cpp vendor/llvm/dist/lib/CodeGen/CriticalAntiDepBreaker.cpp vendor/llvm/dist/lib/CodeGen/EarlyIfConversion.cpp vendor/llvm/dist/lib/CodeGen/GlobalMerge.cpp vendor/llvm/dist/lib/CodeGen/IfConversion.cpp vendor/llvm/dist/lib/CodeGen/LLVMBuild.txt vendor/llvm/dist/lib/CodeGen/LLVMTargetMachine.cpp vendor/llvm/dist/lib/CodeGen/LiveIntervalAnalysis.cpp vendor/llvm/dist/lib/CodeGen/LiveRangeEdit.cpp vendor/llvm/dist/lib/CodeGen/MachineCopyPropagation.cpp vendor/llvm/dist/lib/CodeGen/MachineFunction.cpp vendor/llvm/dist/lib/CodeGen/MachineInstr.cpp vendor/llvm/dist/lib/CodeGen/MachineInstrBundle.cpp vendor/llvm/dist/lib/CodeGen/MachineLICM.cpp vendor/llvm/dist/lib/CodeGen/MachineModuleInfo.cpp vendor/llvm/dist/lib/CodeGen/MachineSink.cpp vendor/llvm/dist/lib/CodeGen/MachineTraceMetrics.cpp vendor/llvm/dist/lib/CodeGen/MachineVerifier.cpp vendor/llvm/dist/lib/CodeGen/Makefile vendor/llvm/dist/lib/CodeGen/Passes.cpp vendor/llvm/dist/lib/CodeGen/ProcessImplicitDefs.cpp vendor/llvm/dist/lib/CodeGen/RegisterCoalescer.cpp vendor/llvm/dist/lib/CodeGen/RegisterPressure.cpp vendor/llvm/dist/lib/CodeGen/RegisterScavenging.cpp vendor/llvm/dist/lib/CodeGen/ScheduleDAGInstrs.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/DAGCombiner.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAG.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/StatepointLowering.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/TargetLowering.cpp vendor/llvm/dist/lib/CodeGen/StackMaps.cpp vendor/llvm/dist/lib/CodeGen/TargetInstrInfo.cpp vendor/llvm/dist/lib/CodeGen/TargetLoweringBase.cpp vendor/llvm/dist/lib/CodeGen/TargetLoweringObjectFileImpl.cpp vendor/llvm/dist/lib/CodeGen/VirtRegMap.cpp vendor/llvm/dist/lib/CodeGen/WinEHPrepare.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFContext.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugLine.cpp vendor/llvm/dist/lib/ExecutionEngine/ExecutionEngine.cpp vendor/llvm/dist/lib/ExecutionEngine/ExecutionEngineBindings.cpp vendor/llvm/dist/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp vendor/llvm/dist/lib/ExecutionEngine/Interpreter/Execution.cpp vendor/llvm/dist/lib/ExecutionEngine/LLVMBuild.txt vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOI386.h vendor/llvm/dist/lib/Fuzzer/FuzzerInterface.h vendor/llvm/dist/lib/Fuzzer/FuzzerLoop.cpp vendor/llvm/dist/lib/Fuzzer/FuzzerTraceState.cpp vendor/llvm/dist/lib/IR/AsmWriter.cpp vendor/llvm/dist/lib/IR/ConstantFold.cpp vendor/llvm/dist/lib/IR/Core.cpp vendor/llvm/dist/lib/IR/Instructions.cpp vendor/llvm/dist/lib/IR/LLVMContext.cpp vendor/llvm/dist/lib/IR/LLVMContextImpl.h vendor/llvm/dist/lib/IR/LegacyPassManager.cpp vendor/llvm/dist/lib/IR/MDBuilder.cpp vendor/llvm/dist/lib/IR/Metadata.cpp vendor/llvm/dist/lib/IR/Type.cpp vendor/llvm/dist/lib/IR/Value.cpp vendor/llvm/dist/lib/LTO/LTOCodeGenerator.cpp vendor/llvm/dist/lib/MC/CMakeLists.txt vendor/llvm/dist/lib/MC/ConstantPools.cpp vendor/llvm/dist/lib/MC/ELFObjectWriter.cpp vendor/llvm/dist/lib/MC/MCAsmBackend.cpp vendor/llvm/dist/lib/MC/MCAsmInfo.cpp vendor/llvm/dist/lib/MC/MCAsmStreamer.cpp vendor/llvm/dist/lib/MC/MCAssembler.cpp vendor/llvm/dist/lib/MC/MCContext.cpp vendor/llvm/dist/lib/MC/MCDisassembler/MCExternalSymbolizer.cpp vendor/llvm/dist/lib/MC/MCDwarf.cpp vendor/llvm/dist/lib/MC/MCELFObjectTargetWriter.cpp vendor/llvm/dist/lib/MC/MCELFStreamer.cpp vendor/llvm/dist/lib/MC/MCExpr.cpp vendor/llvm/dist/lib/MC/MCInstPrinter.cpp vendor/llvm/dist/lib/MC/MCLinkerOptimizationHint.cpp vendor/llvm/dist/lib/MC/MCMachOStreamer.cpp vendor/llvm/dist/lib/MC/MCMachObjectTargetWriter.cpp vendor/llvm/dist/lib/MC/MCObjectFileInfo.cpp vendor/llvm/dist/lib/MC/MCObjectStreamer.cpp vendor/llvm/dist/lib/MC/MCObjectWriter.cpp vendor/llvm/dist/lib/MC/MCParser/AsmParser.cpp vendor/llvm/dist/lib/MC/MCParser/COFFAsmParser.cpp vendor/llvm/dist/lib/MC/MCParser/ELFAsmParser.cpp vendor/llvm/dist/lib/MC/MCSection.cpp vendor/llvm/dist/lib/MC/MCSectionCOFF.cpp vendor/llvm/dist/lib/MC/MCSectionELF.cpp vendor/llvm/dist/lib/MC/MCStreamer.cpp vendor/llvm/dist/lib/MC/MCSubtargetInfo.cpp vendor/llvm/dist/lib/MC/MCSymbol.cpp vendor/llvm/dist/lib/MC/MCWin64EH.cpp vendor/llvm/dist/lib/MC/MachObjectWriter.cpp vendor/llvm/dist/lib/MC/SubtargetFeature.cpp vendor/llvm/dist/lib/MC/WinCOFFObjectWriter.cpp vendor/llvm/dist/lib/MC/WinCOFFStreamer.cpp vendor/llvm/dist/lib/Object/Archive.cpp vendor/llvm/dist/lib/Object/CMakeLists.txt vendor/llvm/dist/lib/Object/COFFObjectFile.cpp vendor/llvm/dist/lib/Object/ELFObjectFile.cpp vendor/llvm/dist/lib/Object/Error.cpp vendor/llvm/dist/lib/Object/IRObjectFile.cpp vendor/llvm/dist/lib/Object/MachOObjectFile.cpp vendor/llvm/dist/lib/Object/MachOUniversal.cpp vendor/llvm/dist/lib/Object/Object.cpp vendor/llvm/dist/lib/Object/ObjectFile.cpp vendor/llvm/dist/lib/ProfileData/CoverageMappingReader.cpp vendor/llvm/dist/lib/Support/Debug.cpp vendor/llvm/dist/lib/Support/DynamicLibrary.cpp vendor/llvm/dist/lib/Support/SmallVector.cpp vendor/llvm/dist/lib/Support/TargetParser.cpp vendor/llvm/dist/lib/Support/Triple.cpp vendor/llvm/dist/lib/Support/YAMLTraits.cpp vendor/llvm/dist/lib/Support/raw_ostream.cpp vendor/llvm/dist/lib/TableGen/Record.cpp vendor/llvm/dist/lib/TableGen/TGParser.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64AsmPrinter.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64ISelLowering.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64ISelLowering.h vendor/llvm/dist/lib/Target/AArch64/AArch64InstrFormats.td vendor/llvm/dist/lib/Target/AArch64/AArch64InstrInfo.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64InstrInfo.h vendor/llvm/dist/lib/Target/AArch64/AArch64InstrInfo.td vendor/llvm/dist/lib/Target/AArch64/AArch64MCInstLower.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64RegisterInfo.td vendor/llvm/dist/lib/Target/AArch64/AArch64TargetMachine.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64TargetObjectFile.cpp vendor/llvm/dist/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp vendor/llvm/dist/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp vendor/llvm/dist/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp vendor/llvm/dist/lib/Target/AArch64/Disassembler/LLVMBuild.txt vendor/llvm/dist/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp vendor/llvm/dist/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.h vendor/llvm/dist/lib/Target/AArch64/LLVMBuild.txt vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp 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/AArch64MCCodeEmitter.cpp vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp vendor/llvm/dist/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp vendor/llvm/dist/lib/Target/AArch64/Utils/AArch64BaseInfo.h vendor/llvm/dist/lib/Target/ARM/ARM.h vendor/llvm/dist/lib/Target/ARM/ARMAsmPrinter.cpp vendor/llvm/dist/lib/Target/ARM/ARMAsmPrinter.h vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMConstantIslandPass.cpp vendor/llvm/dist/lib/Target/ARM/ARMISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.cpp vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.h vendor/llvm/dist/lib/Target/ARM/ARMInstrInfo.td vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb.td vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb2.td vendor/llvm/dist/lib/Target/ARM/ARMLoadStoreOptimizer.cpp vendor/llvm/dist/lib/Target/ARM/ARMMCInstLower.cpp vendor/llvm/dist/lib/Target/ARM/ARMTargetMachine.cpp vendor/llvm/dist/lib/Target/ARM/ARMTargetObjectFile.cpp vendor/llvm/dist/lib/Target/ARM/AsmParser/ARMAsmParser.cpp vendor/llvm/dist/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMAddressingModes.h vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMachORelocationInfo.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp vendor/llvm/dist/lib/Target/ARM/Thumb2ITBlockPass.cpp vendor/llvm/dist/lib/Target/ARM/Thumb2SizeReduction.cpp vendor/llvm/dist/lib/Target/BPF/BPFAsmPrinter.cpp vendor/llvm/dist/lib/Target/BPF/BPFMCInstLower.cpp vendor/llvm/dist/lib/Target/BPF/BPFTargetMachine.cpp vendor/llvm/dist/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp vendor/llvm/dist/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp vendor/llvm/dist/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h vendor/llvm/dist/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp vendor/llvm/dist/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h vendor/llvm/dist/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp vendor/llvm/dist/lib/Target/CMakeLists.txt vendor/llvm/dist/lib/Target/CppBackend/CPPBackend.cpp vendor/llvm/dist/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp vendor/llvm/dist/lib/Target/Hexagon/Hexagon.h vendor/llvm/dist/lib/Target/Hexagon/HexagonAsmPrinter.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonFrameLowering.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonISelLowering.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonISelLowering.h vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrFormats.td vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrFormatsV4.td vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrInfo.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrInfo.h vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrInfoV4.td vendor/llvm/dist/lib/Target/Hexagon/HexagonMCInstLower.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonOperands.td vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/CMakeLists.txt vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.h vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.h vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.h vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h vendor/llvm/dist/lib/Target/MSP430/InstPrinter/MSP430InstPrinter.cpp vendor/llvm/dist/lib/Target/MSP430/MCTargetDesc/LLVMBuild.txt vendor/llvm/dist/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp vendor/llvm/dist/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.h vendor/llvm/dist/lib/Target/MSP430/MSP430AsmPrinter.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430MCInstLower.cpp vendor/llvm/dist/lib/Target/Mips/AsmParser/MipsAsmParser.cpp vendor/llvm/dist/lib/Target/Mips/Disassembler/MipsDisassembler.cpp vendor/llvm/dist/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp vendor/llvm/dist/lib/Target/Mips/Mips64InstrInfo.td vendor/llvm/dist/lib/Target/Mips/MipsAsmPrinter.cpp vendor/llvm/dist/lib/Target/Mips/MipsFastISel.cpp vendor/llvm/dist/lib/Target/Mips/MipsFrameLowering.cpp vendor/llvm/dist/lib/Target/Mips/MipsFrameLowering.h vendor/llvm/dist/lib/Target/Mips/MipsISelLowering.cpp vendor/llvm/dist/lib/Target/Mips/MipsISelLowering.h vendor/llvm/dist/lib/Target/Mips/MipsInstrFormats.td vendor/llvm/dist/lib/Target/Mips/MipsMCInstLower.cpp vendor/llvm/dist/lib/Target/Mips/MipsRegisterInfo.cpp vendor/llvm/dist/lib/Target/Mips/MipsRegisterInfo.h vendor/llvm/dist/lib/Target/Mips/MipsSEFrameLowering.cpp vendor/llvm/dist/lib/Target/Mips/MipsSERegisterInfo.cpp vendor/llvm/dist/lib/Target/Mips/MipsTargetStreamer.h vendor/llvm/dist/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp vendor/llvm/dist/lib/Target/NVPTX/CMakeLists.txt vendor/llvm/dist/lib/Target/NVPTX/InstPrinter/NVPTXInstPrinter.cpp vendor/llvm/dist/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp vendor/llvm/dist/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.h vendor/llvm/dist/lib/Target/NVPTX/NVPTX.h vendor/llvm/dist/lib/Target/NVPTX/NVPTXAsmPrinter.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXAsmPrinter.h vendor/llvm/dist/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXISelLowering.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXISelLowering.h vendor/llvm/dist/lib/Target/NVPTX/NVPTXMCExpr.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXMCExpr.h vendor/llvm/dist/lib/Target/NVPTX/NVPTXTargetMachine.cpp vendor/llvm/dist/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp vendor/llvm/dist/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCAsmPrinter.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCFastISel.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.h vendor/llvm/dist/lib/Target/PowerPC/PPCInstrVSX.td vendor/llvm/dist/lib/Target/PowerPC/PPCMCInstLower.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCTargetObjectFile.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCTargetStreamer.h vendor/llvm/dist/lib/Target/R600/AMDGPU.h vendor/llvm/dist/lib/Target/R600/AMDGPUISelLowering.cpp vendor/llvm/dist/lib/Target/R600/AMDGPUISelLowering.h vendor/llvm/dist/lib/Target/R600/AMDGPUInstrInfo.cpp vendor/llvm/dist/lib/Target/R600/AMDGPUInstrInfo.h vendor/llvm/dist/lib/Target/R600/AMDGPUInstrInfo.td vendor/llvm/dist/lib/Target/R600/AMDGPUMCInstLower.cpp vendor/llvm/dist/lib/Target/R600/AMDGPUSubtarget.h vendor/llvm/dist/lib/Target/R600/AsmParser/AMDGPUAsmParser.cpp vendor/llvm/dist/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.cpp vendor/llvm/dist/lib/Target/R600/MCTargetDesc/AMDGPUAsmBackend.cpp vendor/llvm/dist/lib/Target/R600/MCTargetDesc/AMDGPUMCAsmInfo.cpp vendor/llvm/dist/lib/Target/R600/MCTargetDesc/AMDGPUMCAsmInfo.h vendor/llvm/dist/lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp vendor/llvm/dist/lib/Target/R600/R600Instructions.td vendor/llvm/dist/lib/Target/R600/SIISelLowering.cpp vendor/llvm/dist/lib/Target/R600/SIISelLowering.h vendor/llvm/dist/lib/Target/R600/SIInstructions.td vendor/llvm/dist/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp vendor/llvm/dist/lib/Target/Sparc/InstPrinter/SparcInstPrinter.cpp vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.h vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp vendor/llvm/dist/lib/Target/Sparc/SparcAsmPrinter.cpp vendor/llvm/dist/lib/Target/Sparc/SparcMCInstLower.cpp vendor/llvm/dist/lib/Target/Sparc/SparcTargetObjectFile.cpp vendor/llvm/dist/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp vendor/llvm/dist/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.cpp vendor/llvm/dist/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.h vendor/llvm/dist/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp vendor/llvm/dist/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp vendor/llvm/dist/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.h vendor/llvm/dist/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZAsmPrinter.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZISelLowering.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZISelLowering.h vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrInfo.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrInfo.h vendor/llvm/dist/lib/Target/SystemZ/SystemZMCInstLower.cpp vendor/llvm/dist/lib/Target/TargetLoweringObjectFile.cpp vendor/llvm/dist/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp vendor/llvm/dist/lib/Target/X86/AsmParser/X86AsmParser.cpp vendor/llvm/dist/lib/Target/X86/Disassembler/X86Disassembler.cpp vendor/llvm/dist/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h vendor/llvm/dist/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp vendor/llvm/dist/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86ELFRelocationInfo.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MachORelocationInfo.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp vendor/llvm/dist/lib/Target/X86/X86.td vendor/llvm/dist/lib/Target/X86/X86AsmPrinter.cpp vendor/llvm/dist/lib/Target/X86/X86FastISel.cpp vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp vendor/llvm/dist/lib/Target/X86/X86ISelLowering.h vendor/llvm/dist/lib/Target/X86/X86InstrAVX512.td vendor/llvm/dist/lib/Target/X86/X86InstrFormats.td vendor/llvm/dist/lib/Target/X86/X86InstrFragmentsSIMD.td vendor/llvm/dist/lib/Target/X86/X86InstrInfo.cpp vendor/llvm/dist/lib/Target/X86/X86InstrInfo.h vendor/llvm/dist/lib/Target/X86/X86InstrInfo.td vendor/llvm/dist/lib/Target/X86/X86InstrSSE.td vendor/llvm/dist/lib/Target/X86/X86IntrinsicsInfo.h vendor/llvm/dist/lib/Target/X86/X86MCInstLower.cpp vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.cpp vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.td 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/X86TargetObjectFile.cpp vendor/llvm/dist/lib/Target/X86/X86WinEHState.cpp vendor/llvm/dist/lib/Target/XCore/InstPrinter/XCoreInstPrinter.cpp vendor/llvm/dist/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.cpp vendor/llvm/dist/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.h vendor/llvm/dist/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp vendor/llvm/dist/lib/Target/XCore/XCoreAsmPrinter.cpp vendor/llvm/dist/lib/Target/XCore/XCoreISelLowering.cpp vendor/llvm/dist/lib/Target/XCore/XCoreISelLowering.h vendor/llvm/dist/lib/Target/XCore/XCoreMCInstLower.cpp vendor/llvm/dist/lib/Transforms/IPO/ArgumentPromotion.cpp vendor/llvm/dist/lib/Transforms/IPO/FunctionAttrs.cpp vendor/llvm/dist/lib/Transforms/IPO/MergeFunctions.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCompares.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineSelect.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstructionCombining.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/AddressSanitizer.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/InstrProfiling.cpp vendor/llvm/dist/lib/Transforms/ObjCARC/ObjCARCContract.cpp vendor/llvm/dist/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp vendor/llvm/dist/lib/Transforms/Scalar/DeadStoreElimination.cpp vendor/llvm/dist/lib/Transforms/Scalar/IndVarSimplify.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopStrengthReduce.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopUnrollPass.cpp vendor/llvm/dist/lib/Transforms/Scalar/MemCpyOptimizer.cpp vendor/llvm/dist/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp vendor/llvm/dist/lib/Transforms/Scalar/NaryReassociate.cpp vendor/llvm/dist/lib/Transforms/Scalar/PlaceSafepoints.cpp vendor/llvm/dist/lib/Transforms/Scalar/Reassociate.cpp vendor/llvm/dist/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp vendor/llvm/dist/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp vendor/llvm/dist/lib/Transforms/Scalar/SimplifyCFGPass.cpp vendor/llvm/dist/lib/Transforms/Scalar/Sink.cpp vendor/llvm/dist/lib/Transforms/Utils/LoopUtils.cpp vendor/llvm/dist/lib/Transforms/Utils/PromoteMemoryToRegister.cpp vendor/llvm/dist/lib/Transforms/Utils/SimplifyIndVar.cpp vendor/llvm/dist/lib/Transforms/Utils/ValueMapper.cpp vendor/llvm/dist/lib/Transforms/Vectorize/LoopVectorize.cpp vendor/llvm/dist/lib/Transforms/Vectorize/SLPVectorizer.cpp vendor/llvm/dist/test/Analysis/DependenceAnalysis/NonCanonicalizedSubscript.ll vendor/llvm/dist/test/Analysis/ValueTracking/memory-dereferenceable.ll vendor/llvm/dist/test/Assembler/getelementptr.ll vendor/llvm/dist/test/Assembler/metadata.ll vendor/llvm/dist/test/Bitcode/invalid.test vendor/llvm/dist/test/CodeGen/AArch64/arm64-ccmp.ll vendor/llvm/dist/test/CodeGen/AArch64/arm64-named-reg-alloc.ll vendor/llvm/dist/test/CodeGen/AArch64/arm64-named-reg-notareg.ll vendor/llvm/dist/test/CodeGen/AArch64/minmax.ll vendor/llvm/dist/test/CodeGen/ARM/atomic-ops-v8.ll vendor/llvm/dist/test/CodeGen/ARM/build-attributes.ll vendor/llvm/dist/test/CodeGen/ARM/jumptable-label.ll vendor/llvm/dist/test/CodeGen/ARM/ldrd.ll vendor/llvm/dist/test/CodeGen/ARM/named-reg-alloc.ll vendor/llvm/dist/test/CodeGen/ARM/named-reg-notareg.ll vendor/llvm/dist/test/CodeGen/BPF/alu8.ll vendor/llvm/dist/test/CodeGen/BPF/atomics.ll vendor/llvm/dist/test/CodeGen/BPF/basictest.ll vendor/llvm/dist/test/CodeGen/BPF/cc_args.ll vendor/llvm/dist/test/CodeGen/BPF/cc_ret.ll vendor/llvm/dist/test/CodeGen/BPF/ex1.ll vendor/llvm/dist/test/CodeGen/BPF/intrinsics.ll vendor/llvm/dist/test/CodeGen/BPF/load.ll vendor/llvm/dist/test/CodeGen/BPF/loops.ll vendor/llvm/dist/test/CodeGen/BPF/sanity.ll vendor/llvm/dist/test/CodeGen/BPF/setcc.ll vendor/llvm/dist/test/CodeGen/BPF/shifts.ll vendor/llvm/dist/test/CodeGen/BPF/sockex2.ll vendor/llvm/dist/test/CodeGen/Generic/stop-after.ll vendor/llvm/dist/test/CodeGen/Hexagon/args.ll vendor/llvm/dist/test/CodeGen/Hexagon/cext-valid-packet1.ll vendor/llvm/dist/test/CodeGen/Hexagon/cext-valid-packet2.ll vendor/llvm/dist/test/CodeGen/Hexagon/dualstore.ll vendor/llvm/dist/test/CodeGen/Hexagon/sube.ll vendor/llvm/dist/test/CodeGen/Mips/ehframe-indirect.ll vendor/llvm/dist/test/CodeGen/Mips/emergency-spill-slot-near-fp.ll vendor/llvm/dist/test/CodeGen/NVPTX/access-non-generic.ll vendor/llvm/dist/test/CodeGen/NVPTX/bug21465.ll vendor/llvm/dist/test/CodeGen/NVPTX/call-with-alloca-buffer.ll vendor/llvm/dist/test/CodeGen/NVPTX/pr13291-i1-store.ll vendor/llvm/dist/test/CodeGen/NVPTX/surf-read-cuda.ll vendor/llvm/dist/test/CodeGen/NVPTX/tex-read-cuda.ll vendor/llvm/dist/test/CodeGen/PowerPC/fma.ll vendor/llvm/dist/test/CodeGen/R600/coalescer_remat.ll vendor/llvm/dist/test/CodeGen/R600/codegen-prepare-addrmode-sext.ll vendor/llvm/dist/test/CodeGen/R600/fmul.ll vendor/llvm/dist/test/CodeGen/R600/half.ll vendor/llvm/dist/test/CodeGen/R600/imm.ll vendor/llvm/dist/test/CodeGen/R600/loop-address.ll vendor/llvm/dist/test/CodeGen/R600/loop-idiom.ll vendor/llvm/dist/test/CodeGen/R600/max.ll vendor/llvm/dist/test/CodeGen/R600/min.ll vendor/llvm/dist/test/CodeGen/R600/sext-in-reg.ll vendor/llvm/dist/test/CodeGen/R600/si-vector-hang.ll vendor/llvm/dist/test/CodeGen/R600/unroll.ll vendor/llvm/dist/test/CodeGen/R600/wrong-transalu-pos-fix.ll vendor/llvm/dist/test/CodeGen/Thumb2/constant-islands-jump-table.ll vendor/llvm/dist/test/CodeGen/Thumb2/float-ops.ll vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-tbh.ll vendor/llvm/dist/test/CodeGen/X86/avx-vperm2x128.ll vendor/llvm/dist/test/CodeGen/X86/avx2-vector-shifts.ll vendor/llvm/dist/test/CodeGen/X86/avx512-build-vector.ll vendor/llvm/dist/test/CodeGen/X86/avx512-intrinsics.ll vendor/llvm/dist/test/CodeGen/X86/avx512-vec-cmp.ll vendor/llvm/dist/test/CodeGen/X86/avx512vl-intrinsics.ll vendor/llvm/dist/test/CodeGen/X86/buildvec-insertvec.ll vendor/llvm/dist/test/CodeGen/X86/critical-anti-dep-breaker.ll vendor/llvm/dist/test/CodeGen/X86/machine-cp.ll vendor/llvm/dist/test/CodeGen/X86/pic.ll vendor/llvm/dist/test/CodeGen/X86/recip-fastmath.ll vendor/llvm/dist/test/CodeGen/X86/sibcall-win64.ll vendor/llvm/dist/test/CodeGen/X86/sqrt-fastmath.ll vendor/llvm/dist/test/CodeGen/X86/switch-or.ll vendor/llvm/dist/test/CodeGen/X86/switch.ll vendor/llvm/dist/test/CodeGen/X86/tail-call-got.ll vendor/llvm/dist/test/CodeGen/X86/tailcallpic1.ll vendor/llvm/dist/test/CodeGen/X86/vec_fp_to_int.ll vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-256-v4.ll vendor/llvm/dist/test/CodeGen/X86/vector-shuffle-512-v8.ll vendor/llvm/dist/test/CodeGen/X86/vector-zext.ll vendor/llvm/dist/test/CodeGen/X86/win32-eh.ll vendor/llvm/dist/test/DebugInfo/debuglineinfo.test vendor/llvm/dist/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/eh-lg-pic.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/eh-sm-pic.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/cross-module-sm-pic-a.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/multi-module-sm-pic-a.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll vendor/llvm/dist/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll vendor/llvm/dist/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll vendor/llvm/dist/test/ExecutionEngine/RuntimeDyld/X86/MachO_i386_DynNoPIC_relocations.s vendor/llvm/dist/test/Instrumentation/AddressSanitizer/instrument-dynamic-allocas.ll vendor/llvm/dist/test/MC/AArch64/basic-a64-diagnostics.s vendor/llvm/dist/test/MC/AArch64/basic-a64-instructions.s vendor/llvm/dist/test/MC/ARM/arm-elf-symver.s vendor/llvm/dist/test/MC/ARM/directive-arch-armv2.s vendor/llvm/dist/test/MC/ARM/directive-arch-armv2a.s vendor/llvm/dist/test/MC/ARM/directive-arch-armv3.s vendor/llvm/dist/test/MC/ARM/directive-arch-armv3m.s vendor/llvm/dist/test/MC/ARM/directive-fpu-multiple.s vendor/llvm/dist/test/MC/ARM/elf-movt.s vendor/llvm/dist/test/MC/COFF/cross-section-relative.ll vendor/llvm/dist/test/MC/Disassembler/AArch64/basic-a64-instructions.txt vendor/llvm/dist/test/MC/Disassembler/PowerPC/vsx.txt vendor/llvm/dist/test/MC/ELF/alias.s vendor/llvm/dist/test/MC/ELF/basic-elf-32.s vendor/llvm/dist/test/MC/ELF/basic-elf-64.s vendor/llvm/dist/test/MC/ELF/comdat-dup-group-name.s vendor/llvm/dist/test/MC/ELF/comdat.s vendor/llvm/dist/test/MC/ELF/empty.s vendor/llvm/dist/test/MC/ELF/got.s vendor/llvm/dist/test/MC/ELF/many-sections-2.s vendor/llvm/dist/test/MC/ELF/many-sections.s vendor/llvm/dist/test/MC/ELF/noexec.s vendor/llvm/dist/test/MC/ELF/reloc-same-name-section.s vendor/llvm/dist/test/MC/ELF/relocation-386.s vendor/llvm/dist/test/MC/ELF/relocation.s vendor/llvm/dist/test/MC/ELF/section-sym.s vendor/llvm/dist/test/MC/ELF/section-sym2.s vendor/llvm/dist/test/MC/ELF/strtab-suffix-opt.s vendor/llvm/dist/test/MC/ELF/symver.s vendor/llvm/dist/test/MC/ELF/undef.s vendor/llvm/dist/test/MC/ELF/weakref-reloc.s vendor/llvm/dist/test/MC/ELF/weakref.s vendor/llvm/dist/test/MC/Hexagon/inst_add.ll vendor/llvm/dist/test/MC/Hexagon/inst_cmp_eq.ll vendor/llvm/dist/test/MC/Hexagon/inst_cmp_eqi.ll vendor/llvm/dist/test/MC/Hexagon/inst_cmp_gt.ll vendor/llvm/dist/test/MC/Hexagon/inst_cmp_gti.ll vendor/llvm/dist/test/MC/Hexagon/inst_cmp_lt.ll vendor/llvm/dist/test/MC/Hexagon/inst_cmp_ugt.ll vendor/llvm/dist/test/MC/Hexagon/inst_cmp_ugti.ll vendor/llvm/dist/test/MC/Hexagon/inst_cmp_ult.ll vendor/llvm/dist/test/MC/Hexagon/inst_select.ll vendor/llvm/dist/test/MC/Hexagon/inst_sxtb.ll vendor/llvm/dist/test/MC/Hexagon/inst_sxth.ll vendor/llvm/dist/test/MC/Hexagon/inst_zxtb.ll vendor/llvm/dist/test/MC/Hexagon/inst_zxth.ll vendor/llvm/dist/test/MC/MachO/absolutize.s vendor/llvm/dist/test/MC/MachO/reloc-diff.s vendor/llvm/dist/test/MC/Mips/mips-expansions.s vendor/llvm/dist/test/MC/Mips/mips-pdr.s vendor/llvm/dist/test/MC/Mips/mips-relocations.s vendor/llvm/dist/test/MC/Mips/octeon-instructions.s vendor/llvm/dist/test/MC/Mips/set-push-pop-directives-bad.s vendor/llvm/dist/test/MC/Mips/set-push-pop-directives.s vendor/llvm/dist/test/MC/PowerPC/vsx.s vendor/llvm/dist/test/MC/X86/avx512-encodings.s vendor/llvm/dist/test/MC/X86/intel-syntax-avx512.s vendor/llvm/dist/test/MC/X86/intel-syntax.s vendor/llvm/dist/test/MC/X86/x86-64-avx512bw.s vendor/llvm/dist/test/MC/X86/x86-64-avx512bw_vl.s vendor/llvm/dist/test/MC/X86/x86-64-avx512dq.s vendor/llvm/dist/test/MC/X86/x86-64-avx512dq_vl.s vendor/llvm/dist/test/MC/X86/x86-64-avx512f_vl.s vendor/llvm/dist/test/Object/macho-invalid.test vendor/llvm/dist/test/Object/obj2yaml.test vendor/llvm/dist/test/Object/readobj-shared-object.test vendor/llvm/dist/test/Transforms/CorrelatedValuePropagation/select.ll vendor/llvm/dist/test/Transforms/GVN/unreachable_block_infinite_loop.ll vendor/llvm/dist/test/Transforms/IndVarSimplify/lcssa-preservation.ll vendor/llvm/dist/test/Transforms/InstCombine/fpcast.ll vendor/llvm/dist/test/Transforms/InstCombine/select.ll vendor/llvm/dist/test/Transforms/LoopUnroll/full-unroll-bad-geps.ll vendor/llvm/dist/test/Transforms/LoopUnroll/full-unroll-heuristics.ll vendor/llvm/dist/test/Transforms/LoopVectorize/AArch64/arbitrary-induction-step.ll vendor/llvm/dist/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll vendor/llvm/dist/test/Transforms/NaryReassociate/NVPTX/nary-gep.ll vendor/llvm/dist/test/Transforms/Reassociate/basictest.ll vendor/llvm/dist/test/Transforms/Reassociate/canonicalize-neg-const.ll vendor/llvm/dist/test/tools/dsymutil/X86/basic-linking-x86.test vendor/llvm/dist/test/tools/dsymutil/X86/basic-lto-linking-x86.test vendor/llvm/dist/test/tools/dsymutil/debug-map-parsing.test vendor/llvm/dist/test/tools/llvm-readobj/elf-dtflags.test vendor/llvm/dist/test/tools/llvm-readobj/sections-ext.test vendor/llvm/dist/tools/Makefile vendor/llvm/dist/tools/bugpoint/CrashDebugger.cpp vendor/llvm/dist/tools/bugpoint/Miscompilation.cpp vendor/llvm/dist/tools/dsymutil/CMakeLists.txt vendor/llvm/dist/tools/dsymutil/DebugMap.cpp vendor/llvm/dist/tools/dsymutil/DebugMap.h vendor/llvm/dist/tools/dsymutil/DwarfLinker.cpp vendor/llvm/dist/tools/dsymutil/MachODebugMapParser.cpp vendor/llvm/dist/tools/dsymutil/dsymutil.cpp vendor/llvm/dist/tools/dsymutil/dsymutil.h vendor/llvm/dist/tools/llc/CMakeLists.txt vendor/llvm/dist/tools/llc/LLVMBuild.txt vendor/llvm/dist/tools/llc/Makefile vendor/llvm/dist/tools/llc/llc.cpp vendor/llvm/dist/tools/lli/CMakeLists.txt vendor/llvm/dist/tools/lli/OrcLazyJIT.cpp vendor/llvm/dist/tools/lli/OrcLazyJIT.h vendor/llvm/dist/tools/lli/lli.cpp vendor/llvm/dist/tools/llvm-ar/llvm-ar.cpp vendor/llvm/dist/tools/llvm-cov/CodeCoverage.cpp vendor/llvm/dist/tools/llvm-cov/llvm-cov.cpp vendor/llvm/dist/tools/llvm-cxxdump/llvm-cxxdump.cpp vendor/llvm/dist/tools/llvm-dwarfdump/CMakeLists.txt vendor/llvm/dist/tools/llvm-lto/CMakeLists.txt vendor/llvm/dist/tools/llvm-lto/llvm-lto.cpp vendor/llvm/dist/tools/llvm-mc/llvm-mc.cpp vendor/llvm/dist/tools/llvm-nm/llvm-nm.cpp vendor/llvm/dist/tools/llvm-objdump/COFFDump.cpp vendor/llvm/dist/tools/llvm-objdump/MachODump.cpp vendor/llvm/dist/tools/llvm-objdump/llvm-objdump.cpp vendor/llvm/dist/tools/llvm-objdump/llvm-objdump.h vendor/llvm/dist/tools/llvm-pdbdump/LinePrinter.h vendor/llvm/dist/tools/llvm-readobj/COFFDumper.cpp vendor/llvm/dist/tools/llvm-readobj/ELFDumper.cpp vendor/llvm/dist/tools/llvm-readobj/Win64EHDumper.cpp vendor/llvm/dist/tools/llvm-rtdyld/llvm-rtdyld.cpp vendor/llvm/dist/tools/llvm-size/llvm-size.cpp vendor/llvm/dist/tools/llvm-symbolizer/LLVMSymbolize.cpp vendor/llvm/dist/tools/lto/CMakeLists.txt vendor/llvm/dist/tools/lto/lto.cpp vendor/llvm/dist/tools/macho-dump/macho-dump.cpp vendor/llvm/dist/tools/obj2yaml/coff2yaml.cpp vendor/llvm/dist/tools/obj2yaml/elf2yaml.cpp vendor/llvm/dist/tools/yaml2obj/yaml2elf.cpp vendor/llvm/dist/unittests/ADT/APIntTest.cpp vendor/llvm/dist/unittests/ADT/ArrayRefTest.cpp vendor/llvm/dist/unittests/ADT/TripleTest.cpp vendor/llvm/dist/unittests/CodeGen/DIEHashTest.cpp vendor/llvm/dist/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp vendor/llvm/dist/unittests/ExecutionEngine/MCJIT/MCJITTestBase.h vendor/llvm/dist/unittests/Support/YAMLIOTest.cpp vendor/llvm/dist/utils/FileCheck/FileCheck.cpp vendor/llvm/dist/utils/TableGen/AsmMatcherEmitter.cpp vendor/llvm/dist/utils/TableGen/AsmWriterEmitter.cpp vendor/llvm/dist/utils/TableGen/AsmWriterInst.cpp vendor/llvm/dist/utils/TableGen/CTagsEmitter.cpp vendor/llvm/dist/utils/TableGen/CallingConvEmitter.cpp vendor/llvm/dist/utils/TableGen/CodeGenDAGPatterns.cpp vendor/llvm/dist/utils/TableGen/CodeGenInstruction.cpp vendor/llvm/dist/utils/TableGen/CodeGenInstruction.h vendor/llvm/dist/utils/TableGen/CodeGenMapTable.cpp vendor/llvm/dist/utils/TableGen/CodeGenRegisters.cpp vendor/llvm/dist/utils/TableGen/CodeGenSchedule.cpp vendor/llvm/dist/utils/TableGen/CodeGenTarget.cpp vendor/llvm/dist/utils/TableGen/FixedLenDecoderEmitter.cpp vendor/llvm/dist/utils/TableGen/InstrInfoEmitter.cpp vendor/llvm/dist/utils/TableGen/IntrinsicEmitter.cpp vendor/llvm/dist/utils/TableGen/X86RecognizableInstr.cpp vendor/llvm/dist/utils/lit/lit/TestRunner.py vendor/llvm/dist/utils/lit/lit/TestingConfig.py vendor/llvm/dist/utils/release/tag.sh vendor/llvm/dist/utils/release/test-release.sh Modified: vendor/llvm/dist/CMakeLists.txt ============================================================================== --- vendor/llvm/dist/CMakeLists.txt Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/CMakeLists.txt Tue Jun 9 19:06:30 2015 (r284184) @@ -32,15 +32,23 @@ project(LLVM) set(LLVM_PARALLEL_COMPILE_JOBS "" CACHE STRING "Define the maximum number of concurrent compilation jobs.") if(LLVM_PARALLEL_COMPILE_JOBS) - set_property(GLOBAL APPEND PROPERTY JOB_POOLS compile_job_pool=${LLVM_PARALLEL_COMPILE_JOBS}) - set(CMAKE_JOB_POOL_COMPILE compile_job_pool) + if(CMAKE_VERSION VERSION_LESS 3.0 OR NOT CMAKE_MAKE_PROGRAM MATCHES "ninja$") + message(WARNING "Job pooling is only available with Ninja generators and CMake 3.0 and later.") + else() + set_property(GLOBAL APPEND PROPERTY JOB_POOLS compile_job_pool=${LLVM_PARALLEL_COMPILE_JOBS}) + set(CMAKE_JOB_POOL_COMPILE compile_job_pool) + endif() endif() set(LLVM_PARALLEL_LINK_JOBS "" CACHE STRING "Define the maximum number of concurrent link jobs.") if(LLVM_PARALLEL_LINK_JOBS) - set_property(GLOBAL APPEND PROPERTY JOB_POOLS link_job_pool=${LLVM_PARALLEL_LINK_JOBS}) - set(CMAKE_JOB_POOL_LINK link_job_pool) + if(CMAKE_VERSION VERSION_LESS 3.0 OR NOT CMAKE_MAKE_PROGRAM MATCHES "ninja$") + message(WARNING "Job pooling is only available with Ninja generators and CMake 3.0 and later.") + else() + set_property(GLOBAL APPEND PROPERTY JOB_POOLS link_job_pool=${LLVM_PARALLEL_LINK_JOBS}) + set(CMAKE_JOB_POOL_LINK link_job_pool) + endif() endif() # Add path for custom modules @@ -169,6 +177,7 @@ set(LLVM_INCLUDE_DIR ${CMAKE_CURRENT_BIN set(LLVM_ALL_TARGETS AArch64 ARM + BPF CppBackend Hexagon Mips Modified: vendor/llvm/dist/autoconf/configure.ac ============================================================================== --- vendor/llvm/dist/autoconf/configure.ac Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/autoconf/configure.ac Tue Jun 9 19:06:30 2015 (r284184) @@ -1337,6 +1337,13 @@ AC_ARG_WITH(default-sysroot, AC_DEFINE_UNQUOTED(DEFAULT_SYSROOT,"$withval", [Default <path> to all compiler invocations for --sysroot=<path>.]) +AC_ARG_WITH(clang-default-openmp-runtime, + AS_HELP_STRING([--with-clang-default-openmp-runtime], + [The default OpenMP runtime for Clang.]),, + withval="libgomp") +AC_DEFINE_UNQUOTED(CLANG_DEFAULT_OPENMP_RUNTIME,"$withval", + [Default OpenMP runtime used by -fopenmp.]) + dnl Allow linking of LLVM with GPLv3 binutils code. AC_ARG_WITH(binutils-include, AS_HELP_STRING([--with-binutils-include], Modified: vendor/llvm/dist/cmake/modules/AddOCaml.cmake ============================================================================== --- vendor/llvm/dist/cmake/modules/AddOCaml.cmake Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/cmake/modules/AddOCaml.cmake Tue Jun 9 19:06:30 2015 (r284184) @@ -149,7 +149,7 @@ function(add_ocaml_library name) "-I" "${LLVM_LIBRARY_DIR}/ocaml/" "-dump" "${bin}/${name}.odoc" ${ocaml_pkgs} ${ocaml_inputs} - DEPENDS ${ocaml_inputs} + DEPENDS ${ocaml_inputs} ${ocaml_outputs} COMMENT "Building OCaml documentation for ${name}" VERBATIM) Modified: vendor/llvm/dist/cmake/modules/TableGen.cmake ============================================================================== --- vendor/llvm/dist/cmake/modules/TableGen.cmake Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/cmake/modules/TableGen.cmake Tue Jun 9 19:06:30 2015 (r284184) @@ -94,7 +94,11 @@ macro(add_tablegen target project) if(LLVM_USE_HOST_TOOLS) if( ${${project}_TABLEGEN} STREQUAL "${target}" ) - set(${project}_TABLEGEN_EXE "${LLVM_NATIVE_BUILD}/bin/${target}") + if (NOT CMAKE_CONFIGURATION_TYPES) + set(${project}_TABLEGEN_EXE "${LLVM_NATIVE_BUILD}/bin/${target}") + else() + set(${project}_TABLEGEN_EXE "${LLVM_NATIVE_BUILD}/Release/bin/${target}") + endif() set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN_EXE} PARENT_SCOPE) add_custom_command(OUTPUT ${${project}_TABLEGEN_EXE} Modified: vendor/llvm/dist/configure ============================================================================== --- vendor/llvm/dist/configure Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/configure Tue Jun 9 19:06:30 2015 (r284184) @@ -1495,6 +1495,8 @@ Optional Packages: search for headers --with-gcc-toolchain Directory where gcc is installed. --with-default-sysroot Add --sysroot=<path> to all compiler invocations. + --with-clang-default-openmp-runtime + The default OpenMP runtime for Clang. --with-binutils-include Specify path to binutils/include/ containing plugin-api.h file for gold plugin. --with-bug-report-url Specify the URL where bug reports should be @@ -5948,6 +5950,20 @@ _ACEOF +# Check whether --with-clang-default-openmp-runtime was given. +if test "${with_clang_default_openmp_runtime+set}" = set; then + withval=$with_clang_default_openmp_runtime; +else + withval="libgomp" +fi + + +cat >>confdefs.h <<_ACEOF +#define CLANG_DEFAULT_OPENMP_RUNTIME "$withval" +_ACEOF + + + # Check whether --with-binutils-include was given. if test "${with_binutils_include+set}" = set; then withval=$with_binutils_include; Modified: vendor/llvm/dist/docs/CommandGuide/llvm-profdata.rst ============================================================================== --- vendor/llvm/dist/docs/CommandGuide/llvm-profdata.rst Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/docs/CommandGuide/llvm-profdata.rst Tue Jun 9 19:06:30 2015 (r284184) @@ -49,6 +49,28 @@ OPTIONS Specify the output file name. *Output* cannot be ``-`` as the resulting indexed profile data can't be written to standard output. +.. option:: -instr (default) + + Specify that the input profile is an instrumentation-based profile. + +.. option:: -sample + + Specify that the input profile is a sample-based profile. When using + sample-based profiles, the format of the generated file can be generated + in one of three ways: + + .. option:: -binary (default) + + Emit the profile using a binary encoding. + + .. option:: -text + + Emit the profile in text mode. + + .. option:: -gcc + + Emit the profile using GCC's gcov format (Not yet supported). + .. program:: llvm-profdata show .. _profdata-show: @@ -95,6 +117,14 @@ OPTIONS Specify the output file name. If *output* is ``-`` or it isn't specified, then the output is sent to standard output. +.. option:: -instr (default) + + Specify that the input profile is an instrumentation-based profile. + +.. option:: -sample + + Specify that the input profile is a sample-based profile. + EXIT STATUS ----------- Modified: vendor/llvm/dist/docs/LangRef.rst ============================================================================== --- vendor/llvm/dist/docs/LangRef.rst Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/docs/LangRef.rst Tue Jun 9 19:06:30 2015 (r284184) @@ -834,6 +834,11 @@ Named metadata is a collection of metada nodes <metadata>` (but not metadata strings) are the only valid operands for a named metadata. +#. Named metadata are represented as a string of characters with the + metadata prefix. The rules for metadata names are the same as for + identifiers, but quoted names are not allowed. ``"\xx"`` type escapes + are still valid, which allows any character to be part of a name. + Syntax:: ; Some unnamed metadata nodes, which are referenced by the named metadata. Modified: vendor/llvm/dist/docs/Lexicon.rst ============================================================================== --- vendor/llvm/dist/docs/Lexicon.rst Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/docs/Lexicon.rst Tue Jun 9 19:06:30 2015 (r284184) @@ -131,6 +131,10 @@ L **LCSSA** Loop-Closed Static Single Assignment Form +**LGTM** + "Looks Good To Me". In a review thread, this indicates that the + reviewer thinks that the patch is okay to commit. + **LICM** Loop Invariant Code Motion Modified: vendor/llvm/dist/docs/NVPTXUsage.rst ============================================================================== --- vendor/llvm/dist/docs/NVPTXUsage.rst Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/docs/NVPTXUsage.rst Tue Jun 9 19:06:30 2015 (r284184) @@ -168,10 +168,10 @@ These are overloaded intrinsics. You ca .. code-block:: llvm - declare i8* @llvm.nvvm.ptr.gen.to.global.p1i8.p0i8(i8 addrspace(1)*) - declare i8* @llvm.nvvm.ptr.gen.to.shared.p3i8.p0i8(i8 addrspace(3)*) - declare i8* @llvm.nvvm.ptr.gen.to.constant.p4i8.p0i8(i8 addrspace(4)*) - declare i8* @llvm.nvvm.ptr.gen.to.local.p5i8.p0i8(i8 addrspace(5)*) + declare i8 addrspace(1)* @llvm.nvvm.ptr.gen.to.global.p1i8.p0i8(i8*) + declare i8 addrspace(3)* @llvm.nvvm.ptr.gen.to.shared.p3i8.p0i8(i8*) + declare i8 addrspace(4)* @llvm.nvvm.ptr.gen.to.constant.p4i8.p0i8(i8*) + declare i8 addrspace(5)* @llvm.nvvm.ptr.gen.to.local.p5i8.p0i8(i8*) Overview: """"""""" Modified: vendor/llvm/dist/docs/TableGen/LangIntro.rst ============================================================================== --- vendor/llvm/dist/docs/TableGen/LangIntro.rst Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/docs/TableGen/LangIntro.rst Tue Jun 9 19:06:30 2015 (r284184) @@ -190,7 +190,7 @@ supported include: for 'a' in 'c.' This operation is analogous to $(subst) in GNU make. ``!foreach(a, b, c)`` - For each member 'b' of dag or list 'a' apply operator 'c.' 'b' is a dummy + For each member of dag or list 'b' apply operator 'c.' 'a' is a dummy variable that should be declared as a member variable of an instantiated class. This operation is analogous to $(foreach) in GNU make. Modified: vendor/llvm/dist/docs/YamlIO.rst ============================================================================== --- vendor/llvm/dist/docs/YamlIO.rst Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/docs/YamlIO.rst Tue Jun 9 19:06:30 2015 (r284184) @@ -798,6 +798,8 @@ add "static const bool flow = true;". Fo static const bool flow = true; } +Flow mappings are subject to line wrapping according to the Output object +configuration. Sequence ======== @@ -845,6 +847,8 @@ With the above, if you used MyList as th structures, then when converted to YAML, a flow sequence of integers will be used (e.g. [ 10, -3, 4 ]). +Flow sequences are subject to line wrapping according to the Output object +configuration. Utility Macros -------------- @@ -908,14 +912,14 @@ Output The llvm::yaml::Output class is used to generate a YAML document from your in-memory data structures, using traits defined on your data types. -To instantiate an Output object you need an llvm::raw_ostream, and optionally -a context pointer: +To instantiate an Output object you need an llvm::raw_ostream, an optional +context pointer and an optional wrapping column: .. code-block:: c++ class Output : public IO { public: - Output(llvm::raw_ostream &, void *context=NULL); + Output(llvm::raw_ostream &, void *context = NULL, int WrapColumn = 70); Once you have an Output object, you can use the C++ stream operator on it to write your native data as YAML. One thing to recall is that a YAML file @@ -924,6 +928,10 @@ streaming as YAML is a mapping, scalar, are generating one document and wraps the mapping output with "``---``" and trailing "``...``". +The WrapColumn parameter will cause the flow mappings and sequences to +line-wrap when they go over the supplied column. Pass 0 to completely +suppress the wrapping. + .. code-block:: c++ using llvm::yaml::Output; Modified: vendor/llvm/dist/include/llvm-c/Core.h ============================================================================== --- vendor/llvm/dist/include/llvm-c/Core.h Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/include/llvm-c/Core.h Tue Jun 9 19:06:30 2015 (r284184) @@ -998,6 +998,13 @@ unsigned LLVMCountStructElementTypes(LLV void LLVMGetStructElementTypes(LLVMTypeRef StructTy, LLVMTypeRef *Dest); /** + * Get the type of the element at a given index in the structure. + * + * @see llvm::StructType::getTypeAtIndex() + */ +LLVMTypeRef LLVMStructGetTypeAtIndex(LLVMTypeRef StructTy, unsigned i); + +/** * Determine whether a structure is packed. * * @see llvm::StructType::isPacked() Modified: vendor/llvm/dist/include/llvm-c/Support.h ============================================================================== --- vendor/llvm/dist/include/llvm-c/Support.h Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/include/llvm-c/Support.h Tue Jun 9 19:06:30 2015 (r284184) @@ -58,6 +58,24 @@ LLVMBool LLVMLoadLibraryPermanently(cons void LLVMParseCommandLineOptions(int argc, const char *const *argv, const char *Overview); +/** + * This function will search through all previously loaded dynamic + * libraries for the symbol \p symbolName. If it is found, the address of + * that symbol is returned. If not, null is returned. + * + * @see sys::DynamicLibrary::SearchForAddressOfSymbol() + */ +void *LLVMSearchForAddressOfSymbol(const char *symbolName); + +/** + * This functions permanently adds the symbol \p symbolName with the + * value \p symbolValue. These symbols are searched before any + * libraries. + * + * @see sys::DynamicLibrary::AddSymbol() + */ +void LLVMAddSymbol(const char *symbolName, void *symbolValue); + #ifdef __cplusplus } #endif Modified: vendor/llvm/dist/include/llvm/ADT/APInt.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/APInt.h Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/include/llvm/ADT/APInt.h Tue Jun 9 19:06:30 2015 (r284184) @@ -351,8 +351,7 @@ public: /// This checks to see if the value of this APInt is the maximum signed /// value for the APInt's bit width. bool isMaxSignedValue() const { - return BitWidth == 1 ? VAL == 0 - : !isNegative() && countPopulation() == BitWidth - 1; + return !isNegative() && countPopulation() == BitWidth - 1; } /// \brief Determine if this is the smallest unsigned value. @@ -366,7 +365,7 @@ public: /// This checks to see if the value of this APInt is the minimum signed /// value for the APInt's bit width. bool isMinSignedValue() const { - return BitWidth == 1 ? VAL == 1 : isNegative() && isPowerOf2(); + return isNegative() && isPowerOf2(); } /// \brief Check if this APInt has an N-bits unsigned integer value. Modified: vendor/llvm/dist/include/llvm/ADT/Triple.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/Triple.h Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/include/llvm/ADT/Triple.h Tue Jun 9 19:06:30 2015 (r284184) @@ -50,7 +50,8 @@ public: armeb, // ARM (big endian): armeb aarch64, // AArch64 (little endian): aarch64 aarch64_be, // AArch64 (big endian): aarch64_be - bpf, // eBPF or extended BPF or 64-bit BPF (little endian) + bpfel, // eBPF or extended BPF or 64-bit BPF (little endian) + bpfeb, // eBPF or extended BPF or 64-bit BPF (big endian) hexagon, // Hexagon: hexagon mips, // MIPS: mips, mipsallegrex mipsel, // MIPSEL: mipsel, mipsallegrexel @@ -255,6 +256,15 @@ public: /// getEnvironment - Get the parsed environment type of this triple. EnvironmentType getEnvironment() const { return Environment; } + /// \brief Parse the version number from the OS name component of the + /// triple, if present. + /// + /// For example, "fooos1.2.3" would return (1, 2, 3). + /// + /// If an entry is not defined, it will be returned as 0. + void getEnvironmentVersion(unsigned &Major, unsigned &Minor, + unsigned &Micro) const; + /// getFormat - Get the object format for this triple. ObjectFormatType getObjectFormat() const { return ObjectFormat; } Modified: vendor/llvm/dist/include/llvm/Analysis/AliasAnalysis.h ============================================================================== --- vendor/llvm/dist/include/llvm/Analysis/AliasAnalysis.h Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/include/llvm/Analysis/AliasAnalysis.h Tue Jun 9 19:06:30 2015 (r284184) @@ -40,6 +40,7 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/IR/CallSite.h" #include "llvm/IR/Metadata.h" +#include "llvm/Analysis/MemoryLocation.h" namespace llvm { @@ -82,7 +83,7 @@ public: /// UnknownSize - This is a special value which can be used with the /// size arguments in alias queries to indicate that the caller does not /// know the sizes of the potential memory references. - static uint64_t const UnknownSize = ~UINT64_C(0); + static uint64_t const UnknownSize = MemoryLocation::UnknownSize; /// getTargetLibraryInfo - Return a pointer to the current TargetLibraryInfo /// object, or null if no TargetLibraryInfo object is available. @@ -98,70 +99,9 @@ public: /// Alias Queries... /// - /// Location - A description of a memory location. - struct Location { - /// Ptr - The address of the start of the location. - const Value *Ptr; - /// Size - The maximum size of the location, in address-units, or - /// UnknownSize if the size is not known. Note that an unknown size does - /// not mean the pointer aliases the entire virtual address space, because - /// there are restrictions on stepping out of one object and into another. - /// See http://llvm.org/docs/LangRef.html#pointeraliasing - uint64_t Size; - /// AATags - The metadata nodes which describes the aliasing of the - /// location (each member is null if that kind of information is - /// unavailable).. - AAMDNodes AATags; - - explicit Location(const Value *P = nullptr, uint64_t S = UnknownSize, - const AAMDNodes &N = AAMDNodes()) - : Ptr(P), Size(S), AATags(N) {} - - Location getWithNewPtr(const Value *NewPtr) const { - Location Copy(*this); - Copy.Ptr = NewPtr; - return Copy; - } - - Location getWithNewSize(uint64_t NewSize) const { - Location Copy(*this); - Copy.Size = NewSize; - return Copy; - } - - Location getWithoutAATags() const { - Location Copy(*this); - Copy.AATags = AAMDNodes(); - return Copy; - } - - bool operator==(const AliasAnalysis::Location &Other) const { - return Ptr == Other.Ptr && Size == Other.Size && AATags == Other.AATags; - } - }; - - /// getLocation - Fill in Loc with information about the memory reference by - /// the given instruction. - Location getLocation(const LoadInst *LI); - Location getLocation(const StoreInst *SI); - Location getLocation(const VAArgInst *VI); - Location getLocation(const AtomicCmpXchgInst *CXI); - Location getLocation(const AtomicRMWInst *RMWI); - static Location getLocationForSource(const MemTransferInst *MTI); - static Location getLocationForDest(const MemIntrinsic *MI); - Location getLocation(const Instruction *Inst) { - if (auto *I = dyn_cast<LoadInst>(Inst)) - return getLocation(I); - else if (auto *I = dyn_cast<StoreInst>(Inst)) - return getLocation(I); - else if (auto *I = dyn_cast<VAArgInst>(Inst)) - return getLocation(I); - else if (auto *I = dyn_cast<AtomicCmpXchgInst>(Inst)) - return getLocation(I); - else if (auto *I = dyn_cast<AtomicRMWInst>(Inst)) - return getLocation(I); - llvm_unreachable("unsupported memory instruction"); - } + /// Legacy typedef for the AA location object. New code should use \c + /// MemoryLocation directly. + typedef MemoryLocation Location; /// Alias analysis result - Either we know for sure that it does not alias, we /// know for sure it must alias, or we don't know anything: The two pointers @@ -601,28 +541,6 @@ public: } }; -// Specialize DenseMapInfo for Location. -template<> -struct DenseMapInfo<AliasAnalysis::Location> { - static inline AliasAnalysis::Location getEmptyKey() { - return AliasAnalysis::Location(DenseMapInfo<const Value *>::getEmptyKey(), - 0); - } - static inline AliasAnalysis::Location getTombstoneKey() { - return AliasAnalysis::Location( - DenseMapInfo<const Value *>::getTombstoneKey(), 0); - } - static unsigned getHashValue(const AliasAnalysis::Location &Val) { - return DenseMapInfo<const Value *>::getHashValue(Val.Ptr) ^ - DenseMapInfo<uint64_t>::getHashValue(Val.Size) ^ - DenseMapInfo<AAMDNodes>::getHashValue(Val.AATags); - } - static bool isEqual(const AliasAnalysis::Location &LHS, - const AliasAnalysis::Location &RHS) { - return LHS == RHS; - } -}; - /// isNoAliasCall - Return true if this pointer is returned by a noalias /// function. bool isNoAliasCall(const Value *V); Modified: vendor/llvm/dist/include/llvm/Analysis/BlockFrequencyInfoImpl.h ============================================================================== --- vendor/llvm/dist/include/llvm/Analysis/BlockFrequencyInfoImpl.h Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/include/llvm/Analysis/BlockFrequencyInfoImpl.h Tue Jun 9 19:06:30 2015 (r284184) @@ -191,8 +191,8 @@ public: /// \brief Data about a loop. /// - /// Contains the data necessary to represent represent a loop as a - /// pseudo-node once it's packaged. + /// Contains the data necessary to represent a loop as a pseudo-node once it's + /// packaged. struct LoopData { typedef SmallVector<std::pair<BlockNode, BlockMass>, 4> ExitMap; typedef SmallVector<BlockNode, 4> NodeList; @@ -930,7 +930,7 @@ void BlockFrequencyInfoImpl<BT>::doFunct initializeRPOT(); initializeLoops(); - // Visit loops in post-order to find thelocal mass distribution, and then do + // Visit loops in post-order to find the local mass distribution, and then do // the full function. computeMassInLoops(); computeMassInFunction(); Modified: vendor/llvm/dist/include/llvm/Analysis/BranchProbabilityInfo.h ============================================================================== --- vendor/llvm/dist/include/llvm/Analysis/BranchProbabilityInfo.h Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/include/llvm/Analysis/BranchProbabilityInfo.h Tue Jun 9 19:06:30 2015 (r284184) @@ -47,6 +47,9 @@ public: void getAnalysisUsage(AnalysisUsage &AU) const override; bool runOnFunction(Function &F) override; + + void releaseMemory() override; + void print(raw_ostream &OS, const Module *M = nullptr) const override; /// \brief Get an edge's probability, relative to other out-edges of the Src. Modified: vendor/llvm/dist/include/llvm/Analysis/CallGraph.h ============================================================================== --- vendor/llvm/dist/include/llvm/Analysis/CallGraph.h Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/include/llvm/Analysis/CallGraph.h Tue Jun 9 19:06:30 2015 (r284184) @@ -230,7 +230,7 @@ public: void addCalledFunction(CallSite CS, CallGraphNode *M) { assert(!CS.getInstruction() || !CS.getCalledFunction() || !CS.getCalledFunction()->isIntrinsic()); - CalledFunctions.push_back(std::make_pair(CS.getInstruction(), M)); + CalledFunctions.emplace_back(CS.getInstruction(), M); M->AddRef(); } Modified: vendor/llvm/dist/include/llvm/Analysis/DependenceAnalysis.h ============================================================================== --- vendor/llvm/dist/include/llvm/Analysis/DependenceAnalysis.h Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/include/llvm/Analysis/DependenceAnalysis.h Tue Jun 9 19:06:30 2015 (r284184) @@ -41,6 +41,7 @@ #define LLVM_ANALYSIS_DEPENDENCEANALYSIS_H #include "llvm/ADT/SmallBitVector.h" +#include "llvm/ADT/ArrayRef.h" #include "llvm/IR/Instructions.h" #include "llvm/Pass.h" @@ -520,11 +521,11 @@ namespace llvm { /// in LoopNest. bool isLoopInvariant(const SCEV *Expression, const Loop *LoopNest) const; - /// Makes sure both subscripts (i.e. Pair->Src and Pair->Dst) share the same - /// integer type by sign-extending one of them when necessary. + /// Makes sure all subscript pairs share the same integer type by + /// sign-extending as necessary. /// Sign-extending a subscript is safe because getelementptr assumes the - /// array subscripts are signed. - void unifySubscriptType(Subscript *Pair); + /// array subscripts are signed. + void unifySubscriptType(ArrayRef<Subscript *> Pairs); /// removeMatchingExtensions - Examines a subscript pair. /// If the source and destination are identically sign (or zero) Modified: vendor/llvm/dist/include/llvm/Analysis/LoopAccessAnalysis.h ============================================================================== --- vendor/llvm/dist/include/llvm/Analysis/LoopAccessAnalysis.h Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/include/llvm/Analysis/LoopAccessAnalysis.h Tue Jun 9 19:06:30 2015 (r284184) @@ -345,6 +345,10 @@ public: /// to needsChecking. bool needsAnyChecking(const SmallVectorImpl<int> *PtrPartition) const; + /// \brief Returns the number of run-time checks required according to + /// needsChecking. + unsigned getNumberOfChecks(const SmallVectorImpl<int> *PtrPartition) const; + /// \brief Print the list run-time memory checks necessary. /// /// If \p PtrPartition is set, it contains the partition number for @@ -385,7 +389,10 @@ public: /// \brief Number of memchecks required to prove independence of otherwise /// may-alias pointers. - unsigned getNumRuntimePointerChecks() const { return NumComparisons; } + unsigned getNumRuntimePointerChecks( + const SmallVectorImpl<int> *PtrPartition = nullptr) const { + return PtrRtCheck.getNumberOfChecks(PtrPartition); + } /// Return true if the block BB needs to be predicated in order for the loop /// to be vectorized. @@ -460,10 +467,6 @@ private: /// loop-independent and loop-carried dependences between memory accesses. MemoryDepChecker DepChecker; - /// \brief Number of memchecks required to prove independence of otherwise - /// may-alias pointers - unsigned NumComparisons; - Loop *TheLoop; ScalarEvolution *SE; const DataLayout &DL; @@ -501,6 +504,11 @@ const SCEV *replaceSymbolicStrideSCEV(Sc const ValueToValueMap &PtrToStride, Value *Ptr, Value *OrigPtr = nullptr); +/// \brief Check the stride of the pointer and ensure that it does not wrap in +/// the address space. +int isStridedPtr(ScalarEvolution *SE, Value *Ptr, const Loop *Lp, + const ValueToValueMap &StridesMap); + /// \brief This analysis provides dependence information for the memory accesses /// of a loop. /// Modified: vendor/llvm/dist/include/llvm/Analysis/LoopInfo.h ============================================================================== --- vendor/llvm/dist/include/llvm/Analysis/LoopInfo.h Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/include/llvm/Analysis/LoopInfo.h Tue Jun 9 19:06:30 2015 (r284184) @@ -47,13 +47,6 @@ namespace llvm { template <typename IRUnitT> class AnalysisManager; class PreservedAnalyses; -template<typename T> -inline void RemoveFromVector(std::vector<T*> &V, T *N) { - typename std::vector<T*>::iterator I = std::find(V.begin(), V.end(), N); - assert(I != V.end() && "N is not in this list!"); - V.erase(I); -} - class DominatorTree; class LoopInfo; class Loop; @@ -324,7 +317,10 @@ public: /// current loop, updating the Blocks as appropriate. This does not update /// the mapping in the LoopInfo class. void removeBlockFromLoop(BlockT *BB) { - RemoveFromVector(Blocks, BB); + auto I = std::find(Blocks.begin(), Blocks.end(), BB); + assert(I != Blocks.end() && "N is not in this list!"); + Blocks.erase(I); + DenseBlockSet.erase(BB); } @@ -493,7 +489,7 @@ private: template<class BlockT, class LoopT> class LoopInfoBase { // BBMap - Mapping of basic blocks to the inner most loop they occur in - DenseMap<BlockT *, LoopT *> BBMap; + DenseMap<const BlockT *, LoopT *> BBMap; std::vector<LoopT *> TopLevelLoops; friend class LoopBase<BlockT, LoopT>; friend class LoopInfo; @@ -543,9 +539,7 @@ public: /// getLoopFor - Return the inner most loop that BB lives in. If a basic /// block is in no loop (for example the entry node), null is returned. /// - LoopT *getLoopFor(const BlockT *BB) const { - return BBMap.lookup(const_cast<BlockT*>(BB)); - } + LoopT *getLoopFor(const BlockT *BB) const { return BBMap.lookup(BB); } /// operator[] - same as getLoopFor... /// @@ -562,7 +556,7 @@ public: } // isLoopHeader - True if the block is a loop header node - bool isLoopHeader(BlockT *BB) const { + bool isLoopHeader(const BlockT *BB) const { const LoopT *L = getLoopFor(BB); return L && L->getHeader() == BB; } @@ -729,12 +723,6 @@ public: /// \brief Provide a name for the analysis for debugging and logging. static StringRef name() { return "LoopAnalysis"; } - LoopAnalysis() {} - LoopAnalysis(const LoopAnalysis &Arg) {} - LoopAnalysis(LoopAnalysis &&Arg) {} - LoopAnalysis &operator=(const LoopAnalysis &RHS) { return *this; } - LoopAnalysis &operator=(LoopAnalysis &&RHS) { return *this; } - LoopInfo run(Function &F, AnalysisManager<Function> *AM); }; Modified: vendor/llvm/dist/include/llvm/Analysis/LoopInfoImpl.h ============================================================================== --- vendor/llvm/dist/include/llvm/Analysis/LoopInfoImpl.h Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/include/llvm/Analysis/LoopInfoImpl.h Tue Jun 9 19:06:30 2015 (r284184) @@ -527,7 +527,7 @@ void LoopInfoBase<BlockT, LoopT>::verify // Verify that blocks are mapped to valid loops. #ifndef NDEBUG for (auto &Entry : BBMap) { - BlockT *BB = Entry.first; + const BlockT *BB = Entry.first; LoopT *L = Entry.second; assert(Loops.count(L) && "orphaned loop"); assert(L->contains(BB) && "orphaned block"); Added: vendor/llvm/dist/include/llvm/Analysis/MemoryLocation.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/llvm/dist/include/llvm/Analysis/MemoryLocation.h Tue Jun 9 19:06:30 2015 (r284184) @@ -0,0 +1,137 @@ +//===- MemoryLocation.h - Memory location descriptions ----------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +/// \file +/// This file provides utility analysis objects describing memory locations. +/// These are used both by the Alias Analysis infrastructure and more +/// specialized memory analysis layers. +/// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_ANALYSIS_MEMORYLOCATION_H +#define LLVM_ANALYSIS_MEMORYLOCATION_H + +#include "llvm/ADT/DenseMap.h" +#include "llvm/IR/CallSite.h" +#include "llvm/IR/Metadata.h" + +namespace llvm { + +class LoadInst; +class StoreInst; +class MemTransferInst; +class MemIntrinsic; + +/// Representation for a specific memory location. +/// +/// This abstraction can be used to represent a specific location in memory. +/// The goal of the location is to represent enough information to describe +/// abstract aliasing, modification, and reference behaviors of whatever +/// value(s) are stored in memory at the particular location. +/// +/// The primary user of this interface is LLVM's Alias Analysis, but other +/// memory analyses such as MemoryDependence can use it as well. +class MemoryLocation { +public: + /// UnknownSize - This is a special value which can be used with the + /// size arguments in alias queries to indicate that the caller does not + /// know the sizes of the potential memory references. + enum : uint64_t { UnknownSize = ~UINT64_C(0) }; + + /// The address of the start of the location. + const Value *Ptr; + + /// The maximum size of the location, in address-units, or + /// UnknownSize if the size is not known. + /// + /// Note that an unknown size does not mean the pointer aliases the entire + /// virtual address space, because there are restrictions on stepping out of + /// one object and into another. See + /// http://llvm.org/docs/LangRef.html#pointeraliasing + uint64_t Size; + + /// The metadata nodes which describes the aliasing of the location (each + /// member is null if that kind of information is unavailable). + AAMDNodes AATags; + + /// Return a location with information about the memory reference by the given + /// instruction. + static MemoryLocation get(const LoadInst *LI); + static MemoryLocation get(const StoreInst *SI); + static MemoryLocation get(const VAArgInst *VI); + static MemoryLocation get(const AtomicCmpXchgInst *CXI); + static MemoryLocation get(const AtomicRMWInst *RMWI); + static MemoryLocation get(const Instruction *Inst) { + if (auto *I = dyn_cast<LoadInst>(Inst)) + return get(I); + else if (auto *I = dyn_cast<StoreInst>(Inst)) + return get(I); + else if (auto *I = dyn_cast<VAArgInst>(Inst)) + return get(I); + else if (auto *I = dyn_cast<AtomicCmpXchgInst>(Inst)) + return get(I); + else if (auto *I = dyn_cast<AtomicRMWInst>(Inst)) + return get(I); + llvm_unreachable("unsupported memory instruction"); + } + + /// Return a location representing the source of a memory transfer. + static MemoryLocation getForSource(const MemTransferInst *MTI); + + /// Return a location representing the destination of a memory set or + /// transfer. + static MemoryLocation getForDest(const MemIntrinsic *MI); + + explicit MemoryLocation(const Value *Ptr = nullptr, + uint64_t Size = UnknownSize, + const AAMDNodes &AATags = AAMDNodes()) + : Ptr(Ptr), Size(Size), AATags(AATags) {} + + MemoryLocation getWithNewPtr(const Value *NewPtr) const { + MemoryLocation Copy(*this); + Copy.Ptr = NewPtr; + return Copy; + } + + MemoryLocation getWithNewSize(uint64_t NewSize) const { + MemoryLocation Copy(*this); + Copy.Size = NewSize; + return Copy; + } + + MemoryLocation getWithoutAATags() const { + MemoryLocation Copy(*this); + Copy.AATags = AAMDNodes(); + return Copy; + } + + bool operator==(const MemoryLocation &Other) const { + return Ptr == Other.Ptr && Size == Other.Size && AATags == Other.AATags; + } +}; + +// Specialize DenseMapInfo for MemoryLocation. +template <> struct DenseMapInfo<MemoryLocation> { + static inline MemoryLocation getEmptyKey() { + return MemoryLocation(DenseMapInfo<const Value *>::getEmptyKey(), 0); + } + static inline MemoryLocation getTombstoneKey() { + return MemoryLocation(DenseMapInfo<const Value *>::getTombstoneKey(), 0); + } + static unsigned getHashValue(const MemoryLocation &Val) { + return DenseMapInfo<const Value *>::getHashValue(Val.Ptr) ^ + DenseMapInfo<uint64_t>::getHashValue(Val.Size) ^ + DenseMapInfo<AAMDNodes>::getHashValue(Val.AATags); + } + static bool isEqual(const MemoryLocation &LHS, const MemoryLocation &RHS) { + return LHS == RHS; + } +}; +} + +#endif Modified: vendor/llvm/dist/include/llvm/Analysis/PHITransAddr.h ============================================================================== --- vendor/llvm/dist/include/llvm/Analysis/PHITransAddr.h Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/include/llvm/Analysis/PHITransAddr.h Tue Jun 9 19:06:30 2015 (r284184) @@ -75,12 +75,12 @@ public: bool IsPotentiallyPHITranslatable() const; /// PHITranslateValue - PHI translate the current address up the CFG from - /// CurBB to Pred, updating our state to reflect any needed changes. If the - /// dominator tree DT is non-null, the translated value must dominate + /// CurBB to Pred, updating our state to reflect any needed changes. If + /// 'MustDominate' is true, the translated value must dominate /// PredBB. This returns true on failure and sets Addr to null. bool PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, - const DominatorTree *DT); - + const DominatorTree *DT, bool MustDominate); + /// PHITranslateWithInsertion - PHI translate this value into the specified /// predecessor block, inserting a computation of the value if it is /// unavailable. Modified: vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfo.h ============================================================================== --- vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfo.h Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfo.h Tue Jun 9 19:06:30 2015 (r284184) @@ -221,19 +221,21 @@ public: /// Parameters that control the generic loop unrolling transformation. struct UnrollingPreferences { - /// The cost threshold for the unrolled loop, compared to - /// CodeMetrics.NumInsts aggregated over all basic blocks in the loop body. - /// The unrolling factor is set such that the unrolled loop body does not - /// exceed this cost. Set this to UINT_MAX to disable the loop body cost + /// The cost threshold for the unrolled loop. Should be relative to the + /// getUserCost values returned by this API, and the expectation is that + /// the unrolled loop's instructions when run through that interface should + /// not exceed this cost. However, this is only an estimate. Also, specific + /// loops may be unrolled even with a cost above this threshold if deemed + /// profitable. Set this to UINT_MAX to disable the loop body cost /// restriction. unsigned Threshold; - /// If complete unrolling could help other optimizations (e.g. InstSimplify) - /// to remove N% of instructions, then we can go beyond unroll threshold. - /// This value set the minimal percent for allowing that. - unsigned MinPercentOfOptimized; - /// The absolute cost threshold. We won't go beyond this even if complete - /// unrolling could result in optimizing out 90% of instructions. - unsigned AbsoluteThreshold; + /// If complete unrolling will reduce the cost of the loop below its + /// expected dynamic cost while rolled by this percentage, apply a discount + /// (below) to its unrolled cost. + unsigned PercentDynamicCostSavedThreshold; + /// The discount applied to the unrolled cost when the *dynamic* cost + /// savings of unrolling exceed the \c PercentDynamicCostSavedThreshold. + unsigned DynamicCostSavingsDiscount; /// The cost threshold for the unrolled loop when optimizing for size (set /// to UINT_MAX to disable). unsigned OptSizeThreshold; @@ -303,7 +305,8 @@ public: /// mode is legal for a load/store of any legal type. /// TODO: Handle pre/postinc as well. bool isLegalAddressingMode(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, - bool HasBaseReg, int64_t Scale) const; + bool HasBaseReg, int64_t Scale, + unsigned AddrSpace = 0) const; /// \brief Return true if the target works with masked instruction /// AVX2 allows masks for consecutive load and store for i32 and i64 elements. @@ -319,7 +322,8 @@ public: /// If the AM is not supported, it returns a negative value. /// TODO: Handle pre/postinc as well. int getScalingFactorCost(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, - bool HasBaseReg, int64_t Scale) const; + bool HasBaseReg, int64_t Scale, + unsigned AddrSpace = 0) const; /// \brief Return true if it's free to truncate a value of type Ty1 to type /// Ty2. e.g. On x86 it's free to truncate a i32 value in register EAX to i16 @@ -444,6 +448,20 @@ public: unsigned getMaskedMemoryOpCost(unsigned Opcode, Type *Src, unsigned Alignment, unsigned AddressSpace) const; + /// \return The cost of the interleaved memory operation. + /// \p Opcode is the memory operation code + /// \p VecTy is the vector type of the interleaved access. + /// \p Factor is the interleave factor + /// \p Indices is the indices for interleaved load members (as interleaved + /// load allows gaps) + /// \p Alignment is the alignment of the memory operation + /// \p AddressSpace is address space of the pointer. + unsigned getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy, + unsigned Factor, + ArrayRef<unsigned> Indices, + unsigned Alignment, + unsigned AddressSpace) const; + /// \brief Calculate the cost of performing a vector reduction. /// /// This is the cost of reducing the vector value of type \p Ty to a scalar @@ -539,12 +557,13 @@ public: virtual bool isLegalICmpImmediate(int64_t Imm) = 0; virtual bool isLegalAddressingMode(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, bool HasBaseReg, - int64_t Scale) = 0; + int64_t Scale, + unsigned AddrSpace) = 0; virtual bool isLegalMaskedStore(Type *DataType, int Consecutive) = 0; virtual bool isLegalMaskedLoad(Type *DataType, int Consecutive) = 0; virtual int getScalingFactorCost(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, bool HasBaseReg, - int64_t Scale) = 0; + int64_t Scale, unsigned AddrSpace) = 0; virtual bool isTruncateFree(Type *Ty1, Type *Ty2) = 0; virtual bool isProfitableToHoist(Instruction *I) = 0; virtual bool isTypeLegal(Type *Ty) = 0; @@ -582,6 +601,11 @@ public: virtual unsigned getMaskedMemoryOpCost(unsigned Opcode, Type *Src, unsigned Alignment, unsigned AddressSpace) = 0; + virtual unsigned getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy, + unsigned Factor, + ArrayRef<unsigned> Indices, + unsigned Alignment, + unsigned AddressSpace) = 0; virtual unsigned getReductionCost(unsigned Opcode, Type *Ty, bool IsPairwiseForm) = 0; virtual unsigned getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy, @@ -648,9 +672,10 @@ public: return Impl.isLegalICmpImmediate(Imm); } bool isLegalAddressingMode(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, - bool HasBaseReg, int64_t Scale) override { + bool HasBaseReg, int64_t Scale, + unsigned AddrSpace) override { return Impl.isLegalAddressingMode(Ty, BaseGV, BaseOffset, HasBaseReg, - Scale); + Scale, AddrSpace); } bool isLegalMaskedStore(Type *DataType, int Consecutive) override { return Impl.isLegalMaskedStore(DataType, Consecutive); @@ -659,8 +684,10 @@ public: return Impl.isLegalMaskedLoad(DataType, Consecutive); } int getScalingFactorCost(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, - bool HasBaseReg, int64_t Scale) override { - return Impl.getScalingFactorCost(Ty, BaseGV, BaseOffset, HasBaseReg, Scale); + bool HasBaseReg, int64_t Scale, + unsigned AddrSpace) override { + return Impl.getScalingFactorCost(Ty, BaseGV, BaseOffset, HasBaseReg, + Scale, AddrSpace); } bool isTruncateFree(Type *Ty1, Type *Ty2) override { return Impl.isTruncateFree(Ty1, Ty2); @@ -740,6 +767,14 @@ public: unsigned AddressSpace) override { return Impl.getMaskedMemoryOpCost(Opcode, Src, Alignment, AddressSpace); } + unsigned getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy, + unsigned Factor, + ArrayRef<unsigned> Indices, + unsigned Alignment, + unsigned AddressSpace) override { + return Impl.getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices, + Alignment, AddressSpace); + } unsigned getReductionCost(unsigned Opcode, Type *Ty, bool IsPairwiseForm) override { return Impl.getReductionCost(Opcode, Ty, IsPairwiseForm); Modified: vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfoImpl.h ============================================================================== --- vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfoImpl.h Tue Jun 9 19:04:55 2015 (r284183) +++ vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfoImpl.h Tue Jun 9 19:06:30 2015 (r284184) @@ -207,7 +207,8 @@ public: bool isLegalICmpImmediate(int64_t Imm) { return false; } bool isLegalAddressingMode(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, - bool HasBaseReg, int64_t Scale) { + bool HasBaseReg, int64_t Scale, + unsigned AddrSpace) { // Guess that only reg and reg+reg addressing is allowed. This heuristic is // taken from the implementation of LSR. return !BaseGV && BaseOffset == 0 && (Scale == 0 || Scale == 1); @@ -218,9 +219,10 @@ public: bool isLegalMaskedLoad(Type *DataType, int Consecutive) { return false; } int getScalingFactorCost(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, - bool HasBaseReg, int64_t Scale) { + bool HasBaseReg, int64_t Scale, unsigned AddrSpace) { // Guess that all legal addressing mode are free. - if (isLegalAddressingMode(Ty, BaseGV, BaseOffset, HasBaseReg, Scale)) *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201506091906.t59J6W2a058870>