Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Jun 2015 19:12:53 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r284236 - in projects/clang-trunk: contrib/llvm/include/llvm contrib/llvm/include/llvm-c contrib/llvm/include/llvm/ADT contrib/llvm/include/llvm/Analysis contrib/llvm/include/llvm/Bitco...
Message-ID:  <201506101912.t5AJCrTJ009697@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Wed Jun 10 19:12:52 2015
New Revision: 284236
URL: https://svnweb.freebsd.org/changeset/base/284236

Log:
  Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
  r239412.

Added:
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/MemoryLocation.h
     - copied unchanged from r284189, vendor/llvm/dist/include/llvm/Analysis/MemoryLocation.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/DIEValue.def
     - copied unchanged from r284189, vendor/llvm/dist/include/llvm/CodeGen/DIEValue.def
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/MIRParser/
     - copied from r284189, vendor/llvm/dist/include/llvm/CodeGen/MIRParser/
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/MIRYamlMapping.h
     - copied unchanged from r284189, vendor/llvm/dist/include/llvm/CodeGen/MIRYamlMapping.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCSymbolCOFF.h
     - copied unchanged from r284189, vendor/llvm/dist/include/llvm/MC/MCSymbolCOFF.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCSymbolELF.h
     - copied unchanged from r284189, vendor/llvm/dist/include/llvm/MC/MCSymbolELF.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCSymbolMachO.h
     - copied unchanged from r284189, vendor/llvm/dist/include/llvm/MC/MCSymbolMachO.h
  projects/clang-trunk/contrib/llvm/include/llvm/Object/ArchiveWriter.h
     - copied unchanged from r284189, vendor/llvm/dist/include/llvm/Object/ArchiveWriter.h
  projects/clang-trunk/contrib/llvm/include/llvm/Target/TargetRecip.h
     - copied unchanged from r284189, vendor/llvm/dist/include/llvm/Target/TargetRecip.h
  projects/clang-trunk/contrib/llvm/lib/Analysis/MemoryLocation.cpp
     - copied unchanged from r284189, vendor/llvm/dist/lib/Analysis/MemoryLocation.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/WinException.cpp
     - copied unchanged from r284189, vendor/llvm/dist/lib/CodeGen/AsmPrinter/WinException.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/WinException.h
     - copied unchanged from r284189, vendor/llvm/dist/lib/CodeGen/AsmPrinter/WinException.h
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MIRParser/
     - copied from r284189, vendor/llvm/dist/lib/CodeGen/MIRParser/
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MIRPrintingPass.cpp
     - copied unchanged from r284189, vendor/llvm/dist/lib/CodeGen/MIRPrintingPass.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCSymbolELF.cpp
     - copied unchanged from r284189, vendor/llvm/dist/lib/MC/MCSymbolELF.cpp
  projects/clang-trunk/contrib/llvm/lib/Object/ArchiveWriter.cpp
     - copied unchanged from r284189, vendor/llvm/dist/lib/Object/ArchiveWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonIsetDx.td
     - copied unchanged from r284189, vendor/llvm/dist/lib/Target/Hexagon/HexagonIsetDx.td
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCompound.cpp
     - copied unchanged from r284189, vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCCompound.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp
     - copied unchanged from r284189, vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCShuffler.cpp
     - copied unchanged from r284189, vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCShuffler.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCShuffler.h
     - copied unchanged from r284189, vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCShuffler.h
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp
     - copied unchanged from r284189, vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.h
     - copied unchanged from r284189, vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.h
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXLowerKernelArgs.cpp
     - copied unchanged from r284189, vendor/llvm/dist/lib/Target/NVPTX/NVPTXLowerKernelArgs.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/TargetRecip.cpp
     - copied unchanged from r284189, vendor/llvm/dist/lib/Target/TargetRecip.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86InstrMPX.td
     - copied unchanged from r284189, vendor/llvm/dist/lib/Target/X86/X86InstrMPX.td
  projects/clang-trunk/contrib/llvm/resources/
     - copied from r284189, vendor/llvm/dist/resources/
  projects/clang-trunk/contrib/llvm/tools/llvm-dwarfdump/LLVMBuild.txt
     - copied, changed from r234285, vendor/llvm/dist/tools/llvm-dwarfdump/LLVMBuild.txt
  projects/clang-trunk/contrib/llvm/tools/llvm-dwarfdump/fuzzer/
     - copied from r284189, vendor/llvm/dist/tools/llvm-dwarfdump/fuzzer/
  projects/clang-trunk/lib/clang/libllvmmirparser/
  projects/clang-trunk/lib/clang/libllvmmirparser/Makefile   (contents, props changed)
Deleted:
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/MIR/
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCELF.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCELFSymbolFlags.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCMachOSymbolFlags.h
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/Win64Exception.h
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MIR/
  projects/clang-trunk/contrib/llvm/lib/MC/MCELF.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXLowerStructArgs.cpp
Modified:
  projects/clang-trunk/contrib/llvm/include/llvm-c/Core.h
  projects/clang-trunk/contrib/llvm/include/llvm-c/Support.h
  projects/clang-trunk/contrib/llvm/include/llvm/ADT/APInt.h
  projects/clang-trunk/contrib/llvm/include/llvm/ADT/Triple.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/CallGraph.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/DependenceAnalysis.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopAccessAnalysis.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopInfoImpl.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/PHITransAddr.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/TargetTransformInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
  projects/clang-trunk/contrib/llvm/include/llvm/Bitcode/BitstreamReader.h
  projects/clang-trunk/contrib/llvm/include/llvm/Bitcode/BitstreamWriter.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/BasicTTIImpl.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/CommandFlags.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/DIE.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/GCMetadata.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/LiveRangeEdit.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/MachineInstr.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/MachineLoopInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/Passes.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/WinEHFuncInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/DebugInfo/DIContext.h
  projects/clang-trunk/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
  projects/clang-trunk/contrib/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
  projects/clang-trunk/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
  projects/clang-trunk/contrib/llvm/include/llvm/IR/InlineAsm.h
  projects/clang-trunk/contrib/llvm/include/llvm/IR/Instructions.h
  projects/clang-trunk/contrib/llvm/include/llvm/IR/Intrinsics.td
  projects/clang-trunk/contrib/llvm/include/llvm/IR/IntrinsicsX86.td
  projects/clang-trunk/contrib/llvm/include/llvm/IR/MDBuilder.h
  projects/clang-trunk/contrib/llvm/include/llvm/IR/Value.h
  projects/clang-trunk/contrib/llvm/include/llvm/InitializePasses.h
  projects/clang-trunk/contrib/llvm/include/llvm/LTO/LTOCodeGenerator.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCAsmBackend.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCAsmInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCAsmLayout.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCAssembler.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCContext.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCELFObjectWriter.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCELFStreamer.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCExpr.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCInst.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCInstPrinter.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCInstrDesc.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCLabel.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCLinkerOptimizationHint.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCMachObjectWriter.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCObjectFileInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCObjectStreamer.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCObjectWriter.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCSection.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCSectionELF.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCStreamer.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCSubtargetInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCSymbol.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCWinCOFFStreamer.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/SubtargetFeature.h
  projects/clang-trunk/contrib/llvm/include/llvm/Object/COFF.h
  projects/clang-trunk/contrib/llvm/include/llvm/Object/ELF.h
  projects/clang-trunk/contrib/llvm/include/llvm/Object/ELFObjectFile.h
  projects/clang-trunk/contrib/llvm/include/llvm/Object/ELFTypes.h
  projects/clang-trunk/contrib/llvm/include/llvm/Object/Error.h
  projects/clang-trunk/contrib/llvm/include/llvm/Object/MachO.h
  projects/clang-trunk/contrib/llvm/include/llvm/Object/ObjectFile.h
  projects/clang-trunk/contrib/llvm/include/llvm/Object/RelocVisitor.h
  projects/clang-trunk/contrib/llvm/include/llvm/Support/COFF.h
  projects/clang-trunk/contrib/llvm/include/llvm/Support/CommandLine.h
  projects/clang-trunk/contrib/llvm/include/llvm/Support/Compiler.h
  projects/clang-trunk/contrib/llvm/include/llvm/Support/ELFRelocs/Hexagon.def
  projects/clang-trunk/contrib/llvm/include/llvm/Support/MathExtras.h
  projects/clang-trunk/contrib/llvm/include/llvm/Support/TargetParser.h
  projects/clang-trunk/contrib/llvm/include/llvm/Support/TargetRegistry.h
  projects/clang-trunk/contrib/llvm/include/llvm/Support/YAMLTraits.h
  projects/clang-trunk/contrib/llvm/include/llvm/TableGen/Record.h
  projects/clang-trunk/contrib/llvm/include/llvm/TableGen/SetTheory.h
  projects/clang-trunk/contrib/llvm/include/llvm/Target/Target.td
  projects/clang-trunk/contrib/llvm/include/llvm/Target/TargetInstrInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/Target/TargetLowering.h
  projects/clang-trunk/contrib/llvm/include/llvm/Target/TargetOptions.h
  projects/clang-trunk/contrib/llvm/include/llvm/Transforms/Scalar.h
  projects/clang-trunk/contrib/llvm/lib/Analysis/AliasAnalysis.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/AliasSetTracker.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/BranchProbabilityInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/DependenceAnalysis.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/InstructionSimplify.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/LoopAccessAnalysis.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/PHITransAddr.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/TargetTransformInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/ValueTracking.cpp
  projects/clang-trunk/contrib/llvm/lib/AsmParser/LLLexer.cpp
  projects/clang-trunk/contrib/llvm/lib/AsmParser/LLParser.cpp
  projects/clang-trunk/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/DIEHash.h
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfFile.h
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/WinCodeViewLineTables.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/EarlyIfConversion.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/GlobalMerge.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/IfConversion.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/LiveRangeEdit.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MachineCopyPropagation.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MachineFunction.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MachineInstr.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MachineInstrBundle.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MachineLICM.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MachineModuleInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MachineSink.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MachineTraceMetrics.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MachineVerifier.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/Passes.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/ProcessImplicitDefs.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/RegisterPressure.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/StackMaps.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/TargetInstrInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/TargetLoweringBase.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/VirtRegMap.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/WinEHPrepare.cpp
  projects/clang-trunk/contrib/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
  projects/clang-trunk/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOI386.h
  projects/clang-trunk/contrib/llvm/lib/IR/AsmWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/IR/ConstantFold.cpp
  projects/clang-trunk/contrib/llvm/lib/IR/Core.cpp
  projects/clang-trunk/contrib/llvm/lib/IR/Instructions.cpp
  projects/clang-trunk/contrib/llvm/lib/IR/LLVMContext.cpp
  projects/clang-trunk/contrib/llvm/lib/IR/LLVMContextImpl.h
  projects/clang-trunk/contrib/llvm/lib/IR/LegacyPassManager.cpp
  projects/clang-trunk/contrib/llvm/lib/IR/MDBuilder.cpp
  projects/clang-trunk/contrib/llvm/lib/IR/Metadata.cpp
  projects/clang-trunk/contrib/llvm/lib/IR/Type.cpp
  projects/clang-trunk/contrib/llvm/lib/IR/Value.cpp
  projects/clang-trunk/contrib/llvm/lib/LTO/LTOCodeGenerator.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/ConstantPools.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/ELFObjectWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCAsmBackend.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCAsmInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCAsmStreamer.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCAssembler.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCContext.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCDisassembler/MCExternalSymbolizer.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCDwarf.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCELFObjectTargetWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCELFStreamer.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCExpr.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCInstPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCLinkerOptimizationHint.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCMachOStreamer.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCMachObjectTargetWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCObjectFileInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCObjectStreamer.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCObjectWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCParser/AsmParser.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCParser/COFFAsmParser.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCParser/ELFAsmParser.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCSection.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCSectionCOFF.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCSectionELF.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCStreamer.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCSubtargetInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCSymbol.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCWin64EH.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MachObjectWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/SubtargetFeature.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/WinCOFFObjectWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/WinCOFFStreamer.cpp
  projects/clang-trunk/contrib/llvm/lib/Object/Archive.cpp
  projects/clang-trunk/contrib/llvm/lib/Object/COFFObjectFile.cpp
  projects/clang-trunk/contrib/llvm/lib/Object/ELFObjectFile.cpp
  projects/clang-trunk/contrib/llvm/lib/Object/Error.cpp
  projects/clang-trunk/contrib/llvm/lib/Object/IRObjectFile.cpp
  projects/clang-trunk/contrib/llvm/lib/Object/MachOObjectFile.cpp
  projects/clang-trunk/contrib/llvm/lib/Object/MachOUniversal.cpp
  projects/clang-trunk/contrib/llvm/lib/Object/Object.cpp
  projects/clang-trunk/contrib/llvm/lib/Object/ObjectFile.cpp
  projects/clang-trunk/contrib/llvm/lib/ProfileData/CoverageMappingReader.cpp
  projects/clang-trunk/contrib/llvm/lib/Support/Debug.cpp
  projects/clang-trunk/contrib/llvm/lib/Support/DynamicLibrary.cpp
  projects/clang-trunk/contrib/llvm/lib/Support/SmallVector.cpp
  projects/clang-trunk/contrib/llvm/lib/Support/TargetParser.cpp
  projects/clang-trunk/contrib/llvm/lib/Support/Triple.cpp
  projects/clang-trunk/contrib/llvm/lib/Support/YAMLTraits.cpp
  projects/clang-trunk/contrib/llvm/lib/Support/raw_ostream.cpp
  projects/clang-trunk/contrib/llvm/lib/TableGen/Record.cpp
  projects/clang-trunk/contrib/llvm/lib/TableGen/TGParser.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64InstrFormats.td
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.td
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.td
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.h
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARM.h
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.h
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMISelLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMMCInstLower.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAddressingModes.h
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMachORelocationInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/BPF/BPFAsmPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/BPF/BPFMCInstLower.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/BPF/BPFTargetMachine.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h
  projects/clang-trunk/contrib/llvm/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/CppBackend/CPPBackend.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/Hexagon.h
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormats.td
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormatsV4.td
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfoV4.td
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonMCInstLower.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonOperands.td
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.h
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
  projects/clang-trunk/contrib/llvm/lib/Target/MSP430/InstPrinter/MSP430InstPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/MSP430/MSP430MCInstLower.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/Mips64InstrInfo.td
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsFastISel.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsFrameLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsFrameLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsISelLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsInstrFormats.td
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsMCInstLower.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsSERegisterInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsTargetStreamer.h
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/InstPrinter/NVPTXInstPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTX.h
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXMCExpr.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXMCExpr.h
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCFastISel.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCInstrVSX.td
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCTargetObjectFile.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCTargetStreamer.h
  projects/clang-trunk/contrib/llvm/lib/Target/R600/AMDGPU.h
  projects/clang-trunk/contrib/llvm/lib/Target/R600/AMDGPUISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/R600/AMDGPUISelLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/R600/AMDGPUInstrInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/R600/AMDGPUInstrInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/R600/AMDGPUInstrInfo.td
  projects/clang-trunk/contrib/llvm/lib/Target/R600/AMDGPUMCInstLower.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/R600/AMDGPUSubtarget.h
  projects/clang-trunk/contrib/llvm/lib/Target/R600/AsmParser/AMDGPUAsmParser.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUAsmBackend.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUMCAsmInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUMCAsmInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/R600/R600Instructions.td
  projects/clang-trunk/contrib/llvm/lib/Target/R600/SIISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/R600/SIISelLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/R600/SIInstructions.td
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp   (contents, props changed)
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/InstPrinter/SparcInstPrinter.cpp   (contents, props changed)
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/SparcMCInstLower.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.h
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/SystemZMCInstLower.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h
  projects/clang-trunk/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/MCTargetDesc/X86ELFRelocationInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MachORelocationInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86.td
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86AsmPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86FastISel.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86ISelLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86InstrAVX512.td
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86InstrFormats.td
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86InstrInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86InstrInfo.td
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86InstrSSE.td
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86IntrinsicsInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86RegisterInfo.td
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86Subtarget.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86Subtarget.h
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86TargetObjectFile.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86WinEHState.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/InstPrinter/XCoreInstPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/XCoreAsmPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/XCoreISelLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/XCoreMCInstLower.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/IPO/FunctionAttrs.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/NaryReassociate.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/Sink.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Utils/LoopUtils.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
  projects/clang-trunk/contrib/llvm/tools/bugpoint/CrashDebugger.cpp
  projects/clang-trunk/contrib/llvm/tools/bugpoint/Miscompilation.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/Decl.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Analysis/CFG.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/CLCompatOptions.td
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/Options.td
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/Types.def
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearchOptions.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/Lexer.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/MacroInfo.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/PTHManager.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorOptions.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/Lookup.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/Sema.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Tooling/Core/Replacement.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/ARCMigrate/ObjCMT.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/Stmt.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Diagnostics.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/SourceLocation.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGCall.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGLoopInfo.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/Driver.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/MSVCToolChain.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/ToolChains.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/Tools.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/Types.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/BreakableToken.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/Format.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/FormatToken.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticBuffer.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/altivec.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/ammintrin.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/module.modulemap
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/PTHLexer.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Tooling/CompilationDatabase.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Tooling/Core/Replacement.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/utils/TableGen/NeonEmitter.cpp
  projects/clang-trunk/contrib/llvm/tools/llc/llc.cpp
  projects/clang-trunk/contrib/llvm/tools/lli/OrcLazyJIT.cpp
  projects/clang-trunk/contrib/llvm/tools/lli/OrcLazyJIT.h
  projects/clang-trunk/contrib/llvm/tools/lli/lli.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-ar/llvm-ar.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-cov/CodeCoverage.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-cov/llvm-cov.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-lto/llvm-lto.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-mc/llvm-mc.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-nm/llvm-nm.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-objdump/COFFDump.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-objdump/MachODump.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-objdump/llvm-objdump.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-objdump/llvm-objdump.h
  projects/clang-trunk/contrib/llvm/tools/llvm-pdbdump/LinePrinter.h
  projects/clang-trunk/contrib/llvm/tools/llvm-readobj/COFFDumper.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-readobj/ELFDumper.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-readobj/Win64EHDumper.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-symbolizer/LLVMSymbolize.cpp
  projects/clang-trunk/contrib/llvm/tools/macho-dump/macho-dump.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/AsmWriterInst.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/CTagsEmitter.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/CallingConvEmitter.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/CodeGenInstruction.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/CodeGenInstruction.h
  projects/clang-trunk/contrib/llvm/utils/TableGen/CodeGenMapTable.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/CodeGenRegisters.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/CodeGenSchedule.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/CodeGenTarget.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/InstrInfoEmitter.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/IntrinsicEmitter.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/X86RecognizableInstr.cpp
  projects/clang-trunk/lib/clang/Makefile
  projects/clang-trunk/lib/clang/include/clang/Basic/Version.inc
  projects/clang-trunk/lib/clang/include/clang/Config/config.h
  projects/clang-trunk/lib/clang/include/llvm/Config/config.h
  projects/clang-trunk/lib/clang/libllvmanalysis/Makefile
  projects/clang-trunk/lib/clang/libllvmasmprinter/Makefile
  projects/clang-trunk/lib/clang/libllvmcodegen/Makefile
  projects/clang-trunk/lib/clang/libllvmmc/Makefile
  projects/clang-trunk/lib/clang/libllvmobject/Makefile
  projects/clang-trunk/lib/clang/libllvmtarget/Makefile
  projects/clang-trunk/usr.bin/clang/llc/Makefile
Directory Properties:
  projects/clang-trunk/contrib/llvm/   (props changed)
  projects/clang-trunk/contrib/llvm/tools/clang/   (props changed)
  projects/clang-trunk/contrib/llvm/tools/llvm-dwarfdump/   (props changed)
  projects/clang-trunk/contrib/llvm/tools/llvm-lto/   (props changed)

Modified: projects/clang-trunk/contrib/llvm/include/llvm-c/Core.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm-c/Core.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm-c/Core.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -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: projects/clang-trunk/contrib/llvm/include/llvm-c/Support.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm-c/Support.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm-c/Support.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -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: projects/clang-trunk/contrib/llvm/include/llvm/ADT/APInt.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/ADT/APInt.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/ADT/APInt.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -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: projects/clang-trunk/contrib/llvm/include/llvm/ADT/Triple.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/ADT/Triple.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/ADT/Triple.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -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: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -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: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -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: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -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: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/CallGraph.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/CallGraph.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/CallGraph.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -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: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/DependenceAnalysis.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/DependenceAnalysis.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/DependenceAnalysis.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -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: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopAccessAnalysis.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopAccessAnalysis.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopAccessAnalysis.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -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: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopInfo.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopInfo.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopInfo.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -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: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopInfoImpl.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopInfoImpl.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopInfoImpl.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -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");

Copied: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/MemoryLocation.h (from r284189, vendor/llvm/dist/include/llvm/Analysis/MemoryLocation.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/MemoryLocation.h	Wed Jun 10 19:12:52 2015	(r284236, copy of r284189, vendor/llvm/dist/include/llvm/Analysis/MemoryLocation.h)
@@ -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: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/PHITransAddr.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/PHITransAddr.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/PHITransAddr.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -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: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/TargetTransformInfo.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/TargetTransformInfo.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/TargetTransformInfo.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -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: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -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))
+    if (isLegalAddressingMode(Ty, BaseGV, BaseOffset, HasBaseReg,
+                              Scale, AddrSpace))
       return 0;
     return -1;
   }
@@ -300,6 +302,14 @@ public:
     return 1;
   }
 
+  unsigned getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy,
+                                      unsigned Factor,
+                                      ArrayRef<unsigned> Indices,
+                                      unsigned Alignment,
+                                      unsigned AddressSpace) {
+    return 1;
+  }
+
   unsigned getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
                                  ArrayRef<Type *> Tys) {
     return 1;

Modified: projects/clang-trunk/contrib/llvm/include/llvm/Bitcode/BitstreamReader.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Bitcode/BitstreamReader.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Bitcode/BitstreamReader.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -113,7 +113,7 @@ public:
       return *const_cast<BlockInfo*>(BI);
 
     // Otherwise, add a new record.
-    BlockInfoRecords.push_back(BlockInfo());
+    BlockInfoRecords.emplace_back();
     BlockInfoRecords.back().BlockID = BlockID;
     return BlockInfoRecords.back();
   }

Modified: projects/clang-trunk/contrib/llvm/include/llvm/Bitcode/BitstreamWriter.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Bitcode/BitstreamWriter.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Bitcode/BitstreamWriter.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -215,7 +215,7 @@ public:
 
     // Push the outer block's abbrev set onto the stack, start out with an
     // empty abbrev set.
-    BlockScope.push_back(Block(OldCodeSize, BlockSizeWordIndex));
+    BlockScope.emplace_back(OldCodeSize, BlockSizeWordIndex);
     BlockScope.back().PrevAbbrevs.swap(CurAbbrevs);
 
     // If there is a blockinfo for this BlockID, add all the predefined abbrevs
@@ -503,7 +503,7 @@ private:
       return *BI;
 
     // Otherwise, add a new record.
-    BlockInfoRecords.push_back(BlockInfo());
+    BlockInfoRecords.emplace_back();
     BlockInfoRecords.back().BlockID = BlockID;
     return BlockInfoRecords.back();
   }

Modified: projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/BasicTTIImpl.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/BasicTTIImpl.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/BasicTTIImpl.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -125,23 +125,24 @@ public:
   }
 
   bool isLegalAddressingMode(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset,
-                             bool HasBaseReg, int64_t Scale) {
+                             bool HasBaseReg, int64_t Scale,
+                             unsigned AddrSpace) {
     TargetLoweringBase::AddrMode AM;
     AM.BaseGV = BaseGV;
     AM.BaseOffs = BaseOffset;
     AM.HasBaseReg = HasBaseReg;
     AM.Scale = Scale;
-    return getTLI()->isLegalAddressingMode(AM, Ty);
+    return getTLI()->isLegalAddressingMode(AM, Ty, AddrSpace);
   }
 
   int getScalingFactorCost(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset,
-                           bool HasBaseReg, int64_t Scale) {
+                           bool HasBaseReg, int64_t Scale, unsigned AddrSpace) {
     TargetLoweringBase::AddrMode AM;
     AM.BaseGV = BaseGV;
     AM.BaseOffs = BaseOffset;
     AM.HasBaseReg = HasBaseReg;
     AM.Scale = Scale;
-    return getTLI()->getScalingFactorCost(AM, Ty);
+    return getTLI()->getScalingFactorCost(AM, Ty, AddrSpace);
   }
 
   bool isTruncateFree(Type *Ty1, Type *Ty2) {
@@ -522,6 +523,73 @@ public:
     return Cost;
   }
 
+  unsigned getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy,
+                                      unsigned Factor,
+                                      ArrayRef<unsigned> Indices,
+                                      unsigned Alignment,
+                                      unsigned AddressSpace) {
+    VectorType *VT = dyn_cast<VectorType>(VecTy);
+    assert(VT && "Expect a vector type for interleaved memory op");
+
+    unsigned NumElts = VT->getNumElements();
+    assert(Factor > 1 && NumElts % Factor == 0 && "Invalid interleave factor");
+
+    unsigned NumSubElts = NumElts / Factor;
+    VectorType *SubVT = VectorType::get(VT->getElementType(), NumSubElts);
+
+    // Firstly, the cost of load/store operation.
+    unsigned Cost = getMemoryOpCost(Opcode, VecTy, Alignment, AddressSpace);
+
+    // Then plus the cost of interleave operation.
+    if (Opcode == Instruction::Load) {
+      // The interleave cost is similar to extract sub vectors' elements
+      // from the wide vector, and insert them into sub vectors.
+      //
+      // E.g. An interleaved load of factor 2 (with one member of index 0):
+      //      %vec = load <8 x i32>, <8 x i32>* %ptr
+      //      %v0 = shuffle %vec, undef, <0, 2, 4, 6>         ; Index 0
+      // The cost is estimated as extract elements at 0, 2, 4, 6 from the
+      // <8 x i32> vector and insert them into a <4 x i32> vector.
+
+      assert(Indices.size() <= Factor &&
+             "Interleaved memory op has too many members");
+      for (unsigned Index : Indices) {
+        assert(Index < Factor && "Invalid index for interleaved memory op");
+
+        // Extract elements from loaded vector for each sub vector.
+        for (unsigned i = 0; i < NumSubElts; i++)
+          Cost += getVectorInstrCost(Instruction::ExtractElement, VT,
+                                     Index + i * Factor);
+      }
+
+      unsigned InsSubCost = 0;
+      for (unsigned i = 0; i < NumSubElts; i++)
+        InsSubCost += getVectorInstrCost(Instruction::InsertElement, SubVT, i);
+
+      Cost += Indices.size() * InsSubCost;
+    } else {
+      // The interleave cost is extract all elements from sub vectors, and
+      // insert them into the wide vector.
+      //
+      // E.g. An interleaved store of factor 2:
+      //      %v0_v1 = shuffle %v0, %v1, <0, 4, 1, 5, 2, 6, 3, 7>
+      //      store <8 x i32> %interleaved.vec, <8 x i32>* %ptr
+      // The cost is estimated as extract all elements from both <4 x i32>
+      // vectors and insert into the <8 x i32> vector.
+
+      unsigned ExtSubCost = 0;
+      for (unsigned i = 0; i < NumSubElts; i++)
+        ExtSubCost += getVectorInstrCost(Instruction::ExtractElement, SubVT, i);
+
+      Cost += Factor * ExtSubCost;
+
+      for (unsigned i = 0; i < NumElts; i++)
+        Cost += getVectorInstrCost(Instruction::InsertElement, VT, i);
+    }
+
+    return Cost;
+  }
+
   unsigned getIntrinsicInstrCost(Intrinsic::ID IID, Type *RetTy,
                                  ArrayRef<Type *> Tys) {
     unsigned ISD = 0;

Modified: projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/CommandFlags.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/CommandFlags.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/CommandFlags.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -24,6 +24,7 @@
 #include "llvm/Support/Host.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Target/TargetOptions.h"
+#include "llvm/Target/TargetRecip.h"
 #include <string>
 using namespace llvm;
 
@@ -152,6 +153,12 @@ FuseFPOps("fp-contract",
                          "Only fuse FP ops when the result won't be effected."),
               clEnumValEnd));
 
+cl::list<std::string>
+ReciprocalOps("recip",
+  cl::CommaSeparated,
+  cl::desc("Choose reciprocal operation types and parameters."),
+  cl::value_desc("all,none,default,divf,!vec-sqrtd,vec-divd:0,sqrt:9..."));
+
 cl::opt<bool>
 DontPlaceZerosInBSS("nozero-initialized-in-bss",
               cl::desc("Don't place zero-initialized symbols into bss section"),
@@ -230,6 +237,7 @@ static inline TargetOptions InitTargetOp
   TargetOptions Options;
   Options.LessPreciseFPMADOption = EnableFPMAD;
   Options.AllowFPOpFusion = FuseFPOps;
+  Options.Reciprocals = TargetRecip(ReciprocalOps);
   Options.UnsafeFPMath = EnableUnsafeFPMath;
   Options.NoInfsFPMath = EnableNoInfsFPMath;
   Options.NoNaNsFPMath = EnableNoNaNsFPMath;

Modified: projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/DIE.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/DIE.h	Wed Jun 10 19:07:08 2015	(r284235)
+++ projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/DIE.h	Wed Jun 10 19:12:52 2015	(r284236)
@@ -105,153 +105,13 @@ public:
 };
 
 //===--------------------------------------------------------------------===//
-/// DIE - A structured debug information entry.  Has an abbreviation which
-/// describes its organization.
-class DIEValue;
-
-class DIE {
-protected:
-  /// Offset - Offset in debug info section.
-  ///
-  unsigned Offset;
-
-  /// Size - Size of instance + children.
-  ///
-  unsigned Size;
-
-  /// Abbrev - Buffer for constructing abbreviation.
-  ///
-  DIEAbbrev Abbrev;
-
-  /// Children DIEs.
-  ///
-  // This can't be a vector<DIE> because pointer validity is requirent for the
-  // Parent pointer and DIEEntry.
-  // It can't be a list<DIE> because some clients need pointer validity before
-  // the object has been added to any child list
-  // (eg: DwarfUnit::constructVariableDIE). These aren't insurmountable, but may
-  // be more convoluted than beneficial.
-  std::vector<std::unique_ptr<DIE>> Children;
-
-  DIE *Parent;
-
-  /// Attribute values.
-  ///
-  SmallVector<DIEValue *, 12> Values;
-
-protected:
-  DIE()
-      : Offset(0), Size(0), Abbrev((dwarf::Tag)0, dwarf::DW_CHILDREN_no),
-        Parent(nullptr) {}
-
-public:
-  explicit DIE(dwarf::Tag Tag)
-      : Offset(0), Size(0), Abbrev((dwarf::Tag)Tag, dwarf::DW_CHILDREN_no),
-        Parent(nullptr) {}
-
-  // Accessors.
-  DIEAbbrev &getAbbrev() { return Abbrev; }
-  const DIEAbbrev &getAbbrev() const { return Abbrev; }
-  unsigned getAbbrevNumber() const { return Abbrev.getNumber(); }
-  dwarf::Tag getTag() const { return Abbrev.getTag(); }
-  unsigned getOffset() const { return Offset; }
-  unsigned getSize() const { return Size; }
-  const std::vector<std::unique_ptr<DIE>> &getChildren() const {
-    return Children;
-  }
-  const SmallVectorImpl<DIEValue *> &getValues() const { return Values; }
-  DIE *getParent() const { return Parent; }
-  /// Climb up the parent chain to get the compile or type unit DIE this DIE
-  /// belongs to.
-  const DIE *getUnit() const;
-  /// Similar to getUnit, returns null when DIE is not added to an
-  /// owner yet.
-  const DIE *getUnitOrNull() const;
-  void setOffset(unsigned O) { Offset = O; }
-  void setSize(unsigned S) { Size = S; }
-
-  /// addValue - Add a value and attributes to a DIE.
-  ///
-  void addValue(dwarf::Attribute Attribute, dwarf::Form Form, DIEValue *Value) {
-    Abbrev.AddAttribute(Attribute, Form);

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



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