Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Aug 2015 18:31:13 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r286684 - 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:  <201508121831.t7CIVDJ5068100@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Wed Aug 12 18:31:11 2015
New Revision: 286684
URL: https://svnweb.freebsd.org/changeset/base/286684

Log:
  Update llvm/clang to r242221.

Added:
  projects/clang-trunk/contrib/llvm/include/llvm/IR/IntrinsicsWebAssembly.td
     - copied unchanged from r286428, vendor/llvm/dist/include/llvm/IR/IntrinsicsWebAssembly.td
  projects/clang-trunk/contrib/llvm/include/llvm/Transforms/Utils/LoopVersioning.h
     - copied unchanged from r286428, vendor/llvm/dist/include/llvm/Transforms/Utils/LoopVersioning.h
  projects/clang-trunk/contrib/llvm/lib/MC/MCSchedule.cpp
     - copied unchanged from r286428, vendor/llvm/dist/lib/MC/MCSchedule.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/BitTracker.cpp
     - copied unchanged from r286428, vendor/llvm/dist/lib/Target/Hexagon/BitTracker.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/BitTracker.h
     - copied unchanged from r286428, vendor/llvm/dist/lib/Target/Hexagon/BitTracker.h
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonBitTracker.cpp
     - copied unchanged from r286428, vendor/llvm/dist/lib/Target/Hexagon/HexagonBitTracker.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonBitTracker.h
     - copied unchanged from r286428, vendor/llvm/dist/lib/Target/Hexagon/HexagonBitTracker.h
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
     - copied unchanged from r286428, vendor/llvm/dist/lib/Target/Hexagon/HexagonCommonGEP.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
     - copied unchanged from r286428, vendor/llvm/dist/lib/Target/Hexagon/HexagonGenExtract.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
     - copied unchanged from r286428, vendor/llvm/dist/lib/Target/Hexagon/HexagonGenInsert.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonGenPredicate.cpp
     - copied unchanged from r286428, vendor/llvm/dist/lib/Target/Hexagon/HexagonGenPredicate.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrCall.td
     - copied unchanged from r286428, vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrCall.td
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrConv.td
     - copied unchanged from r286428, vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrConv.td
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrFloat.td
     - copied unchanged from r286428, vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrFloat.td
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td
     - copied unchanged from r286428, vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrInteger.td
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
     - copied unchanged from r286428, vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
  projects/clang-trunk/contrib/llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
     - copied unchanged from r286428, vendor/llvm/dist/lib/Transforms/IPO/ElimAvailExtern.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Utils/LoopVersioning.cpp
     - copied unchanged from r286428, vendor/llvm/dist/lib/Transforms/Utils/LoopVersioning.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/CodeGen/ObjectFilePCHContainerOperations.h
     - copied unchanged from r286428, vendor/clang/dist/include/clang/CodeGen/ObjectFilePCHContainerOperations.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
     - copied unchanged from r286428, vendor/clang/dist/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
Deleted:
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/JumpInstrTableInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/Utils/LLVMBuild.txt
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/Utils/Makefile
  projects/clang-trunk/contrib/llvm/lib/Target/MSP430/MSP430SelectionDAGInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/MSP430/MSP430SelectionDAGInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsSelectionDAGInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/SparcSelectionDAGInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/SparcSelectionDAGInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/CMakeLists.txt
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/InstPrinter/CMakeLists.txt
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/InstPrinter/LLVMBuild.txt
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/InstPrinter/Makefile
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/LLVMBuild.txt
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/CMakeLists.txt
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/LLVMBuild.txt
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/Makefile
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/Makefile
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/TargetInfo/CMakeLists.txt
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/TargetInfo/LLVMBuild.txt
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/TargetInfo/Makefile
Modified:
  projects/clang-trunk/contrib/llvm/include/llvm-c/Core.h
  projects/clang-trunk/contrib/llvm/include/llvm-c/Object.h
  projects/clang-trunk/contrib/llvm/include/llvm-c/lto.h
  projects/clang-trunk/contrib/llvm/include/llvm/ADT/APFloat.h
  projects/clang-trunk/contrib/llvm/include/llvm/ADT/Triple.h
  projects/clang-trunk/contrib/llvm/include/llvm/ADT/edit_distance.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/ConstantFolding.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/DominanceFrontier.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/IVUsers.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/InstructionSimplify.h
  projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LibCallSemantics.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/RegionInfo.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/Analysis/VectorUtils.h
  projects/clang-trunk/contrib/llvm/include/llvm/Bitcode/LLVMBitCodes.h
  projects/clang-trunk/contrib/llvm/include/llvm/Bitcode/ReaderWriter.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/Analysis.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/ISDOpcodes.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/LiveIntervalUnion.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/LiveRegMatrix.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/MIRYamlMapping.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/MachineConstantPool.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/MachineDominators.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/MachineFunction.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/MachineLoopInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/MachineRegionInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/Passes.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/RegisterPressure.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/StackMaps.h
  projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/WinEHFuncInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
  projects/clang-trunk/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
  projects/clang-trunk/contrib/llvm/include/llvm/IR/Attributes.h
  projects/clang-trunk/contrib/llvm/include/llvm/IR/CallSite.h
  projects/clang-trunk/contrib/llvm/include/llvm/IR/DIBuilder.h
  projects/clang-trunk/contrib/llvm/include/llvm/IR/DebugInfoMetadata.h
  projects/clang-trunk/contrib/llvm/include/llvm/IR/Dominators.h
  projects/clang-trunk/contrib/llvm/include/llvm/IR/Function.h
  projects/clang-trunk/contrib/llvm/include/llvm/IR/GlobalValue.h
  projects/clang-trunk/contrib/llvm/include/llvm/IR/IRBuilder.h
  projects/clang-trunk/contrib/llvm/include/llvm/IR/Instruction.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/IntrinsicsPowerPC.td
  projects/clang-trunk/contrib/llvm/include/llvm/IR/IntrinsicsX86.td
  projects/clang-trunk/contrib/llvm/include/llvm/IR/Operator.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/LinkAllPasses.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCContext.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCDwarf.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCInstrDesc.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCSchedule.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/MCSymbolMachO.h
  projects/clang-trunk/contrib/llvm/include/llvm/MC/MCTargetOptions.h
  projects/clang-trunk/contrib/llvm/include/llvm/Object/Archive.h
  projects/clang-trunk/contrib/llvm/include/llvm/Object/ArchiveWriter.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/ELFYAML.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/Object/SymbolicFile.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/OnDiskHashTable.h
  projects/clang-trunk/contrib/llvm/include/llvm/Support/TargetRegistry.h
  projects/clang-trunk/contrib/llvm/include/llvm/Support/raw_ostream.h
  projects/clang-trunk/contrib/llvm/include/llvm/TableGen/Record.h
  projects/clang-trunk/contrib/llvm/include/llvm/Target/Target.td
  projects/clang-trunk/contrib/llvm/include/llvm/Target/TargetFrameLowering.h
  projects/clang-trunk/contrib/llvm/include/llvm/Target/TargetLowering.h
  projects/clang-trunk/contrib/llvm/include/llvm/Target/TargetMachine.h
  projects/clang-trunk/contrib/llvm/include/llvm/Target/TargetOpcodes.h
  projects/clang-trunk/contrib/llvm/include/llvm/Target/TargetSelectionDAGInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/Target/TargetSubtargetInfo.h
  projects/clang-trunk/contrib/llvm/include/llvm/Transforms/IPO.h
  projects/clang-trunk/contrib/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h
  projects/clang-trunk/contrib/llvm/include/llvm/Transforms/Utils/Cloning.h
  projects/clang-trunk/contrib/llvm/lib/Analysis/AliasAnalysis.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/AliasDebugger.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/AliasSetTracker.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/ConstantFolding.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/IPA/GlobalsModRef.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/IPA/InlineCost.cpp
  projects/clang-trunk/contrib/llvm/lib/Analysis/IVUsers.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/NoAliasAnalysis.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/Analysis/VectorUtils.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/AsmParser/LLToken.h
  projects/clang-trunk/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
  projects/clang-trunk/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/Analysis.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/WinCodeViewLineTables.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/WinCodeViewLineTables.h
  projects/clang-trunk/contrib/llvm/lib/CodeGen/AsmPrinter/WinException.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/BasicTargetTransformInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/ExecutionDepsFix.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/GlobalMerge.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/ImplicitNullChecks.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/LiveRegMatrix.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MIRParser/MILexer.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MIRParser/MILexer.h
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MIRParser/MIParser.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MIRParser/MIParser.h
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MIRParser/MIRParser.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MIRPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MachineDominators.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MachineFunction.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MachineModuleInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/MachineTraceMetrics.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/Passes.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/RegAllocFast.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/RegisterPressure.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.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/SelectionDAGBuilder.h
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.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/SelectionDAG/TargetSelectionDAGInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/StackMaps.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/StackProtector.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/TargetLoweringBase.cpp
  projects/clang-trunk/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.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/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOAArch64.h
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOARM.h
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOI386.h
  projects/clang-trunk/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h
  projects/clang-trunk/contrib/llvm/lib/IR/Attributes.cpp
  projects/clang-trunk/contrib/llvm/lib/IR/AutoUpgrade.cpp
  projects/clang-trunk/contrib/llvm/lib/IR/BasicBlock.cpp
  projects/clang-trunk/contrib/llvm/lib/IR/Core.cpp
  projects/clang-trunk/contrib/llvm/lib/IR/DIBuilder.cpp
  projects/clang-trunk/contrib/llvm/lib/IR/Dominators.cpp
  projects/clang-trunk/contrib/llvm/lib/IR/Value.cpp
  projects/clang-trunk/contrib/llvm/lib/IR/Verifier.cpp
  projects/clang-trunk/contrib/llvm/lib/LTO/LTOModule.cpp
  projects/clang-trunk/contrib/llvm/lib/LibDriver/LibDriver.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/MCDisassembler/MCExternalSymbolizer.cpp
  projects/clang-trunk/contrib/llvm/lib/MC/MCInstrDesc.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/Object/Archive.cpp
  projects/clang-trunk/contrib/llvm/lib/Object/ArchiveWriter.cpp
  projects/clang-trunk/contrib/llvm/lib/Object/COFFObjectFile.cpp
  projects/clang-trunk/contrib/llvm/lib/Object/ELFYAML.cpp
  projects/clang-trunk/contrib/llvm/lib/Object/MachOObjectFile.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/Support/APFloat.cpp
  projects/clang-trunk/contrib/llvm/lib/Support/CommandLine.cpp
  projects/clang-trunk/contrib/llvm/lib/Support/Triple.cpp
  projects/clang-trunk/contrib/llvm/lib/TableGen/Record.cpp
  projects/clang-trunk/contrib/llvm/lib/TableGen/SetTheory.cpp
  projects/clang-trunk/contrib/llvm/lib/TableGen/TGParser.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64CallingConvention.td
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64FastISel.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.h
  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/AArch64InstrInfo.td
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64Subtarget.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/AMDGPU.td
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/R600ISelLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.td
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/SIInstructions.td
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/SIPrepareScratchRegs.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARM.td
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMCallingConv.td
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMFrameLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMFrameLowering.h
  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/ARMLoadStoreOptimizer.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMSubtarget.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMSubtarget.h
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/ARMTargetTransformInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/BPF/BPFFrameLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/BPF/BPFFrameLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/BPF/BPFISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/BPF/BPFSubtarget.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/CppBackend/CPPBackend.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/CppBackend/CPPTargetMachine.h
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonFrameLowering.h
  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/HexagonRegisterInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/MSP430/MSP430Subtarget.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/MSP430/MSP430Subtarget.h
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/Mips16FrameLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/Mips16FrameLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/Mips16ISelDAGToDAG.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/Mips16ISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsFastISel.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp
  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/MipsSEFrameLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsSEFrameLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsSEISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsSubtarget.h
  projects/clang-trunk/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.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/NVPTXLowerAggrCopies.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCCallingConv.td
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCFastISel.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.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/PPCInstrInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCInstrVSX.td
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCScheduleP7.td
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCScheduleP8.td
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.h
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.h
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/SparcFrameLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/SparcFrameLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/SparcISelLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/SparcInstrAliases.td
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.td
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.td
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/SparcSubtarget.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/Sparc/SparcSubtarget.h
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/SystemZFrameLowering.h
  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/SystemZRegisterInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/SystemZSubtarget.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/TargetMachine.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/TargetSubtargetInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/README.txt
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrAtomics.td
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrFormats.td
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.td
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/X86/InstPrinter/X86InstComments.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/MCTargetDesc/X86ELFRelocationInfo.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/Utils/X86ShuffleDecode.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86FastISel.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86FrameLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.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/X86InstrControl.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.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/X86MachineFunctionInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86SelectionDAGInfo.h
  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/X86TargetTransformInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86TargetTransformInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/X86/X86WinEHState.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/XCoreFrameLowering.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/XCoreFrameLowering.h
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/XCoreISelDAGToDAG.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/XCoreRegisterInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/XCoreSelectionDAGInfo.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/XCoreSelectionDAGInfo.h
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/XCoreSubtarget.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.cpp
  projects/clang-trunk/contrib/llvm/lib/Target/XCore/XCoreTargetTransformInfo.h
  projects/clang-trunk/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/IPO/ExtractGV.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/IPO/IPO.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/InstCombine/InstCombineInternal.h
  projects/clang-trunk/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/GVN.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/LICM.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/LoopDistribute.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/LoopInterchange.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Scalar/SROA.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Utils/Local.cpp
  projects/clang-trunk/contrib/llvm/lib/Transforms/Utils/LoopSimplify.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/clang/include/clang-c/BuildSystem.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/DataRecursiveASTVisitor.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ExprObjC.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/Type.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/Attr.td
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/AttrDocs.td
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsPPC.def
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/Action.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/CLCompatOptions.td
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/Driver.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/Job.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/Options.td
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/SanitizerArgs.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/Types.def
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/Types.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Format/Format.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Parse/Parser.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/Sema.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/Template.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h
  projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerRegistry.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/ASTDumper.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/Decl.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/DeclObjC.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/Expr.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/Type.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Parser.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/Module.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/Sanitizers.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/TargetInfo.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/CGAtomic.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayout.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.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/ItaniumCXXABI.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/Action.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/Driver.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/Job.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/MSVCToolChain.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/MinGWToolChain.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.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/Types.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/Format.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/FormatToken.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/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/CreateInvocationFromCommandLine.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/PCHContainerOperations.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/Intrin.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/altivec.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/avx512vlbwintrin.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.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/Parse/ParseDecl.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/Parser.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/CodeCompleteConsumer.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/DeclSpec.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/SemaDecl.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaExprMember.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaOpenMP.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaPseudoObject.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaStmt.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/SemaTemplateInstantiate.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ASTReaderInternals.h
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerRegistry.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/tools/driver/cc1_main.cpp
  projects/clang-trunk/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp
  projects/clang-trunk/contrib/llvm/tools/llc/llc.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-ar/llvm-ar.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-cxxdump/llvm-cxxdump.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-readobj/ARMWinEHPrinter.cpp
  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/ObjDumper.h
  projects/clang-trunk/contrib/llvm/tools/llvm-readobj/StreamWriter.h
  projects/clang-trunk/contrib/llvm/tools/llvm-readobj/Win64EHDumper.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-readobj/llvm-readobj.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-stress/llvm-stress.cpp
  projects/clang-trunk/contrib/llvm/tools/llvm-symbolizer/LLVMSymbolize.cpp
  projects/clang-trunk/contrib/llvm/tools/opt/opt.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/RegisterInfoEmitter.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/SubtargetEmitter.cpp
  projects/clang-trunk/contrib/llvm/utils/TableGen/X86DisassemblerTables.cpp
  projects/clang-trunk/lib/clang/include/clang/Basic/Version.inc
  projects/clang-trunk/lib/clang/libclangcodegen/Makefile
  projects/clang-trunk/lib/clang/libclangstaticanalyzercore/Makefile
  projects/clang-trunk/lib/clang/libllvmipo/Makefile
  projects/clang-trunk/lib/clang/libllvmmc/Makefile
  projects/clang-trunk/lib/clang/libllvmmipscodegen/Makefile
  projects/clang-trunk/lib/clang/libllvmpowerpccodegen/Makefile
  projects/clang-trunk/lib/clang/libllvmsparccodegen/Makefile
  projects/clang-trunk/lib/clang/libllvmtransformutils/Makefile
  projects/clang-trunk/usr.bin/clang/bugpoint/Makefile
  projects/clang-trunk/usr.bin/clang/clang/Makefile
  projects/clang-trunk/usr.bin/clang/lli/Makefile
  projects/clang-trunk/usr.bin/clang/llvm-cxxdump/Makefile
  projects/clang-trunk/usr.bin/clang/llvm-dis/Makefile
  projects/clang-trunk/usr.bin/clang/llvm-extract/Makefile
  projects/clang-trunk/usr.bin/clang/llvm-link/Makefile
  projects/clang-trunk/usr.bin/clang/llvm-mc/Makefile
  projects/clang-trunk/usr.bin/clang/llvm-nm/Makefile
  projects/clang-trunk/usr.bin/clang/llvm-objdump/Makefile
  projects/clang-trunk/usr.bin/clang/llvm-rtdyld/Makefile
Directory Properties:
  projects/clang-trunk/contrib/llvm/   (props changed)
  projects/clang-trunk/contrib/llvm/tools/clang/   (props changed)

Modified: projects/clang-trunk/contrib/llvm/include/llvm-c/Core.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm-c/Core.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm-c/Core.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -1888,6 +1888,20 @@ LLVMValueRef LLVMAddAlias(LLVMModuleRef 
 void LLVMDeleteFunction(LLVMValueRef Fn);
 
 /**
+ * Obtain the personality function attached to the function.
+ *
+ * @see llvm::Function::getPersonalityFn()
+ */
+LLVMValueRef LLVMGetPersonalityFn(LLVMValueRef Fn);
+
+/**
+ * Set the personality function attached to the function.
+ *
+ * @see llvm::Function::setPersonalityFn()
+ */
+void LLVMSetPersonalityFn(LLVMValueRef Fn, LLVMValueRef PersonalityFn);
+
+/**
  * Obtain the ID number from a function instance.
  *
  * @see llvm::Function::getIntrinsicID()

Modified: projects/clang-trunk/contrib/llvm/include/llvm-c/Object.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm-c/Object.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm-c/Object.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -81,7 +81,6 @@ uint64_t LLVMGetSymbolAddress(LLVMSymbol
 uint64_t LLVMGetSymbolSize(LLVMSymbolIteratorRef SI);
 
 // RelocationRef accessors
-uint64_t LLVMGetRelocationAddress(LLVMRelocationIteratorRef RI);
 uint64_t LLVMGetRelocationOffset(LLVMRelocationIteratorRef RI);
 LLVMSymbolIteratorRef LLVMGetRelocationSymbol(LLVMRelocationIteratorRef RI);
 uint64_t LLVMGetRelocationType(LLVMRelocationIteratorRef RI);

Modified: projects/clang-trunk/contrib/llvm/include/llvm-c/lto.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm-c/lto.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm-c/lto.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -40,7 +40,7 @@ typedef bool lto_bool_t;
  * @{
  */
 
-#define LTO_API_VERSION 16
+#define LTO_API_VERSION 17
 
 /**
  * \since prior to LTO_API_VERSION=3
@@ -63,7 +63,8 @@ typedef enum {
     LTO_SYMBOL_SCOPE_PROTECTED             = 0x00002000,
     LTO_SYMBOL_SCOPE_DEFAULT               = 0x00001800,
     LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN = 0x00002800,
-    LTO_SYMBOL_COMDAT                      = 0x00004000
+    LTO_SYMBOL_COMDAT                      = 0x00004000,
+    LTO_SYMBOL_ALIAS                       = 0x00008000
 } lto_symbol_attributes;
 
 /**

Modified: projects/clang-trunk/contrib/llvm/include/llvm/ADT/APFloat.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/ADT/APFloat.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/ADT/APFloat.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -276,6 +276,10 @@ public:
   /// \param isIEEE   - If 128 bit number, select between PPC and IEEE
   static APFloat getAllOnesValue(unsigned BitWidth, bool isIEEE = false);
 
+  /// Returns the size of the floating point number (in bits) in the given
+  /// semantics.
+  static unsigned getSizeInBits(const fltSemantics &Sem);
+
   /// @}
 
   /// Used to insert APFloat objects, or objects that contain APFloat objects,

Modified: projects/clang-trunk/contrib/llvm/include/llvm/ADT/Triple.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/ADT/Triple.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/ADT/Triple.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -569,6 +569,22 @@ public:
   ///          architecture if no such variant can be found.
   llvm::Triple get64BitArchVariant() const;
 
+  /// Form a triple with a big endian variant of the current architecture.
+  ///
+  /// This can be used to move across "families" of architectures where useful.
+  ///
+  /// \returns A new triple with a big endian architecture or an unknown
+  ///          architecture if no such variant can be found.
+  llvm::Triple getBigEndianArchVariant() const;
+
+  /// Form a triple with a little endian variant of the current architecture.
+  ///
+  /// This can be used to move across "families" of architectures where useful.
+  ///
+  /// \returns A new triple with a little endian architecture or an unknown
+  ///          architecture if no such variant can be found.
+  llvm::Triple getLittleEndianArchVariant() const;
+
   /// Get the (LLVM) name of the minimum ARM CPU for the arch we are targeting.
   ///
   /// \param Arch the architecture name (e.g., "armv7s"). If it is an empty

Modified: projects/clang-trunk/contrib/llvm/include/llvm/ADT/edit_distance.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/ADT/edit_distance.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/ADT/edit_distance.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -50,50 +50,51 @@ unsigned ComputeEditDistance(ArrayRef<T>
   //   http://en.wikipedia.org/wiki/Levenshtein_distance
   //
   // Although the algorithm is typically described using an m x n
-  // array, only two rows are used at a time, so this implementation
-  // just keeps two separate vectors for those two rows.
+  // array, only one row plus one element are used at a time, so this
+  // implementation just keeps one vector for the row.  To update one entry,
+  // only the entries to the left, top, and top-left are needed.  The left
+  // entry is in Row[x-1], the top entry is what's in Row[x] from the last
+  // iteration, and the top-left entry is stored in Previous.
   typename ArrayRef<T>::size_type m = FromArray.size();
   typename ArrayRef<T>::size_type n = ToArray.size();
 
   const unsigned SmallBufferSize = 64;
   unsigned SmallBuffer[SmallBufferSize];
   std::unique_ptr<unsigned[]> Allocated;
-  unsigned *Previous = SmallBuffer;
-  if (2*(n + 1) > SmallBufferSize) {
-    Previous = new unsigned [2*(n+1)];
-    Allocated.reset(Previous);
+  unsigned *Row = SmallBuffer;
+  if (n + 1 > SmallBufferSize) {
+    Row = new unsigned[n + 1];
+    Allocated.reset(Row);
   }
-  unsigned *Current = Previous + (n + 1);
 
-  for (unsigned i = 0; i <= n; ++i)
-    Previous[i] = i;
+  for (unsigned i = 1; i <= n; ++i)
+    Row[i] = i;
 
   for (typename ArrayRef<T>::size_type y = 1; y <= m; ++y) {
-    Current[0] = y;
-    unsigned BestThisRow = Current[0];
+    Row[0] = y;
+    unsigned BestThisRow = Row[0];
 
+    unsigned Previous = y - 1;
     for (typename ArrayRef<T>::size_type x = 1; x <= n; ++x) {
+      int OldRow = Row[x];
       if (AllowReplacements) {
-        Current[x] = std::min(
-            Previous[x-1] + (FromArray[y-1] == ToArray[x-1] ? 0u : 1u),
-            std::min(Current[x-1], Previous[x])+1);
+        Row[x] = std::min(
+            Previous + (FromArray[y-1] == ToArray[x-1] ? 0u : 1u),
+            std::min(Row[x-1], Row[x])+1);
       }
       else {
-        if (FromArray[y-1] == ToArray[x-1]) Current[x] = Previous[x-1];
-        else Current[x] = std::min(Current[x-1], Previous[x]) + 1;
+        if (FromArray[y-1] == ToArray[x-1]) Row[x] = Previous;
+        else Row[x] = std::min(Row[x-1], Row[x]) + 1;
       }
-      BestThisRow = std::min(BestThisRow, Current[x]);
+      Previous = OldRow;
+      BestThisRow = std::min(BestThisRow, Row[x]);
     }
 
     if (MaxEditDistance && BestThisRow > MaxEditDistance)
       return MaxEditDistance + 1;
-
-    unsigned *tmp = Current;
-    Current = Previous;
-    Previous = tmp;
   }
 
-  unsigned Result = Previous[n];
+  unsigned Result = Row[n];
   return Result;
 }
 

Modified: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -211,6 +211,8 @@ public:
     /// (if it has any) are non-volatile loads from objects pointed to by its
     /// pointer-typed arguments, with arbitrary offsets.
     ///
+    /// This property corresponds to the LLVM IR 'argmemonly' attribute combined
+    /// with 'readonly' attribute.
     /// This property corresponds to the IntrReadArgMem LLVM intrinsic flag.
     OnlyReadsArgumentPointees = ArgumentPointees | Ref,
 
@@ -218,6 +220,7 @@ public:
     /// function (if it has any) are non-volatile loads and stores from objects
     /// pointed to by its pointer-typed arguments, with arbitrary offsets.
     ///
+    /// This property corresponds to the LLVM IR 'argmemonly' attribute.
     /// This property corresponds to the IntrReadWriteArgMem LLVM intrinsic flag.
     OnlyAccessesArgumentPointees = ArgumentPointees | ModRef,
 
@@ -518,14 +521,6 @@ public:
   ///
   virtual void deleteValue(Value *V);
 
-  /// copyValue - This method should be used whenever a preexisting value in the
-  /// program is copied or cloned, introducing a new value.  Note that analysis
-  /// implementations should tolerate clients that use this method to introduce
-  /// the same value multiple times: if the analysis already knows about a
-  /// value, it should ignore the request.
-  ///
-  virtual void copyValue(Value *From, Value *To);
-
   /// addEscapingUse - This method should be used whenever an escaping use is
   /// added to a pointer value.  Analysis implementations may either return
   /// conservative responses for that value in the future, or may recompute
@@ -541,7 +536,6 @@ public:
   /// above, and it provided as a helper to simplify client code.
   ///
   void replaceWithNewValue(Value *Old, Value *New) {
-    copyValue(Old, New);
     deleteValue(Old);
   }
 };

Modified: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/ConstantFolding.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/ConstantFolding.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/ConstantFolding.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -72,6 +72,17 @@ namespace llvm {
 Constant *ConstantFoldInsertValueInstruction(Constant *Agg, Constant *Val,
                                              ArrayRef<unsigned> Idxs);
 
+/// \brief Attempt to constant fold an extractvalue instruction with the
+/// specified operands and indices.  The constant result is returned if
+/// successful; if not, null is returned.
+Constant *ConstantFoldExtractValueInstruction(Constant *Agg,
+                                              ArrayRef<unsigned> Idxs);
+
+/// \brief Attempt to constant fold an extractelement instruction with the
+/// specified operands and indices.  The constant result is returned if
+/// successful; if not, null is returned.
+Constant *ConstantFoldExtractElementInstruction(Constant *Val, Constant *Idx);
+
 /// ConstantFoldLoadFromConstPtr - Return the value that a load from C would
 /// produce if it is constant and determinable.  If this is not determinable,
 /// return null.

Modified: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/DominanceFrontier.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/DominanceFrontier.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/DominanceFrontier.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -202,8 +202,8 @@ public:
   void dump() const;
 };
 
-EXTERN_TEMPLATE_INSTANTIATION(class DominanceFrontierBase<BasicBlock>);
-EXTERN_TEMPLATE_INSTANTIATION(class ForwardDominanceFrontierBase<BasicBlock>);
+extern template class DominanceFrontierBase<BasicBlock>;
+extern template class ForwardDominanceFrontierBase<BasicBlock>;
 
 } // End llvm namespace
 

Modified: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/IVUsers.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/IVUsers.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/IVUsers.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -21,6 +21,7 @@
 
 namespace llvm {
 
+class AssumptionCache;
 class DominatorTree;
 class Instruction;
 class Value;
@@ -119,15 +120,19 @@ private:
 class IVUsers : public LoopPass {
   friend class IVStrideUse;
   Loop *L;
+  AssumptionCache *AC;
   LoopInfo *LI;
   DominatorTree *DT;
   ScalarEvolution *SE;
-  SmallPtrSet<Instruction*,16> Processed;
+  SmallPtrSet<Instruction*, 16> Processed;
 
   /// IVUses - A list of all tracked IV uses of induction variable expressions
   /// we are interested in.
   ilist<IVStrideUse> IVUses;
 
+  // Ephemeral values used by @llvm.assume in this function.
+  SmallPtrSet<const Value *, 32> EphValues;
+
   void getAnalysisUsage(AnalysisUsage &AU) const override;
 
   bool runOnLoop(Loop *L, LPPassManager &LPM) override;

Modified: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/InstructionSimplify.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/InstructionSimplify.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/InstructionSimplify.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -212,7 +212,7 @@ namespace llvm {
   /// SimplifyFCmpInst - Given operands for an FCmpInst, see if we can
   /// fold the result.  If not, this returns null.
   Value *SimplifyFCmpInst(unsigned Predicate, Value *LHS, Value *RHS,
-                          const DataLayout &DL,
+                          FastMathFlags FMF, const DataLayout &DL,
                           const TargetLibraryInfo *TLI = nullptr,
                           const DominatorTree *DT = nullptr,
                           AssumptionCache *AC = nullptr,
@@ -244,6 +244,24 @@ namespace llvm {
                                  AssumptionCache *AC = nullptr,
                                  const Instruction *CxtI = nullptr);
 
+  /// \brief Given operands for an ExtractValueInst, see if we can fold the
+  /// result.  If not, this returns null.
+  Value *SimplifyExtractValueInst(Value *Agg, ArrayRef<unsigned> Idxs,
+                                  const DataLayout &DL,
+                                  const TargetLibraryInfo *TLI = nullptr,
+                                  const DominatorTree *DT = nullptr,
+                                  AssumptionCache *AC = nullptr,
+                                  const Instruction *CxtI = nullptr);
+
+  /// \brief Given operands for an ExtractElementInst, see if we can fold the
+  /// result.  If not, this returns null.
+  Value *SimplifyExtractElementInst(Value *Vec, Value *Idx,
+                                    const DataLayout &DL,
+                                    const TargetLibraryInfo *TLI = nullptr,
+                                    const DominatorTree *DT = nullptr,
+                                    AssumptionCache *AC = nullptr,
+                                    const Instruction *CxtI = nullptr);
+
   /// SimplifyTruncInst - Given operands for an TruncInst, see if we can fold
   /// the result.  If not, this returns null.
   Value *SimplifyTruncInst(Value *Op, Type *Ty, const DataLayout &DL,

Modified: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LibCallSemantics.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LibCallSemantics.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LibCallSemantics.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -206,6 +206,18 @@ class InvokeInst;
     llvm_unreachable("invalid enum");
   }
 
+  /// \brief Return true if this personality may be safely removed if there
+  /// are no invoke instructions remaining in the current function.
+  inline bool isNoOpWithoutInvoke(EHPersonality Pers) {
+    switch (Pers) {
+    case EHPersonality::Unknown:
+      return false;
+    // All known personalities currently have this behavior
+    default: return true;
+    }
+    llvm_unreachable("invalid enum");
+  }
+
   bool canSimplifyInvokeNoUnwind(const Function *F);
 
 } // end namespace llvm

Modified: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopAccessAnalysis.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopAccessAnalysis.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopAccessAnalysis.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -292,6 +292,133 @@ private:
   bool couldPreventStoreLoadForward(unsigned Distance, unsigned TypeByteSize);
 };
 
+/// \brief Holds information about the memory runtime legality checks to verify
+/// that a group of pointers do not overlap.
+class RuntimePointerChecking {
+public:
+  struct PointerInfo {
+    /// Holds the pointer value that we need to check.
+    TrackingVH<Value> PointerValue;
+    /// Holds the pointer value at the beginning of the loop.
+    const SCEV *Start;
+    /// Holds the pointer value at the end of the loop.
+    const SCEV *End;
+    /// Holds the information if this pointer is used for writing to memory.
+    bool IsWritePtr;
+    /// Holds the id of the set of pointers that could be dependent because of a
+    /// shared underlying object.
+    unsigned DependencySetId;
+    /// Holds the id of the disjoint alias set to which this pointer belongs.
+    unsigned AliasSetId;
+    /// SCEV for the access.
+    const SCEV *Expr;
+
+    PointerInfo(Value *PointerValue, const SCEV *Start, const SCEV *End,
+                bool IsWritePtr, unsigned DependencySetId, unsigned AliasSetId,
+                const SCEV *Expr)
+        : PointerValue(PointerValue), Start(Start), End(End),
+          IsWritePtr(IsWritePtr), DependencySetId(DependencySetId),
+          AliasSetId(AliasSetId), Expr(Expr) {}
+  };
+
+  RuntimePointerChecking(ScalarEvolution *SE) : Need(false), SE(SE) {}
+
+  /// Reset the state of the pointer runtime information.
+  void reset() {
+    Need = false;
+    Pointers.clear();
+  }
+
+  /// Insert a pointer and calculate the start and end SCEVs.
+  void insert(Loop *Lp, Value *Ptr, bool WritePtr, unsigned DepSetId,
+              unsigned ASId, const ValueToValueMap &Strides);
+
+  /// \brief No run-time memory checking is necessary.
+  bool empty() const { return Pointers.empty(); }
+
+  /// A grouping of pointers. A single memcheck is required between
+  /// two groups.
+  struct CheckingPtrGroup {
+    /// \brief Create a new pointer checking group containing a single
+    /// pointer, with index \p Index in RtCheck.
+    CheckingPtrGroup(unsigned Index, RuntimePointerChecking &RtCheck)
+        : RtCheck(RtCheck), High(RtCheck.Pointers[Index].End),
+          Low(RtCheck.Pointers[Index].Start) {
+      Members.push_back(Index);
+    }
+
+    /// \brief Tries to add the pointer recorded in RtCheck at index
+    /// \p Index to this pointer checking group. We can only add a pointer
+    /// to a checking group if we will still be able to get
+    /// the upper and lower bounds of the check. Returns true in case
+    /// of success, false otherwise.
+    bool addPointer(unsigned Index);
+
+    /// Constitutes the context of this pointer checking group. For each
+    /// pointer that is a member of this group we will retain the index
+    /// at which it appears in RtCheck.
+    RuntimePointerChecking &RtCheck;
+    /// The SCEV expression which represents the upper bound of all the
+    /// pointers in this group.
+    const SCEV *High;
+    /// The SCEV expression which represents the lower bound of all the
+    /// pointers in this group.
+    const SCEV *Low;
+    /// Indices of all the pointers that constitute this grouping.
+    SmallVector<unsigned, 2> Members;
+  };
+
+  /// \brief Groups pointers such that a single memcheck is required
+  /// between two different groups. This will clear the CheckingGroups vector
+  /// and re-compute it. We will only group dependecies if \p UseDependencies
+  /// is true, otherwise we will create a separate group for each pointer.
+  void groupChecks(MemoryDepChecker::DepCandidates &DepCands,
+                   bool UseDependencies);
+
+  /// \brief Decide if we need to add a check between two groups of pointers,
+  /// according to needsChecking.
+  bool needsChecking(const CheckingPtrGroup &M, const CheckingPtrGroup &N,
+                     const SmallVectorImpl<int> *PtrPartition) const;
+
+  /// \brief Return true if any pointer requires run-time checking according
+  /// 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
+  /// pointers (-1 if the pointer belongs to multiple partitions).  In this
+  /// case omit checks between pointers belonging to the same partition.
+  void print(raw_ostream &OS, unsigned Depth = 0,
+             const SmallVectorImpl<int> *PtrPartition = nullptr) const;
+
+  /// This flag indicates if we need to add the runtime check.
+  bool Need;
+
+  /// Information about the pointers that may require checking.
+  SmallVector<PointerInfo, 2> Pointers;
+
+  /// Holds a partitioning of pointers into "check groups".
+  SmallVector<CheckingPtrGroup, 2> CheckingGroups;
+
+private:
+  /// \brief Decide whether we need to issue a run-time check for pointer at
+  /// index \p I and \p J to prove their independence.
+  ///
+  /// If \p PtrPartition is set, it contains the partition number for
+  /// pointers (-1 if the pointer belongs to multiple partitions).  In this
+  /// case omit checks between pointers belonging to the same partition.
+  bool needsChecking(unsigned I, unsigned J,
+                     const SmallVectorImpl<int> *PtrPartition) const;
+
+  /// Holds a pointer to the ScalarEvolution analysis.
+  ScalarEvolution *SE;
+};
+
 /// \brief Drive the analysis of memory accesses in the loop
 ///
 /// This class is responsible for analyzing the memory accesses of a loop.  It
@@ -308,72 +435,6 @@ private:
 /// RuntimePointerCheck class.
 class LoopAccessInfo {
 public:
-  /// This struct holds information about the memory runtime legality check that
-  /// a group of pointers do not overlap.
-  struct RuntimePointerCheck {
-    RuntimePointerCheck() : Need(false) {}
-
-    /// Reset the state of the pointer runtime information.
-    void reset() {
-      Need = false;
-      Pointers.clear();
-      Starts.clear();
-      Ends.clear();
-      IsWritePtr.clear();
-      DependencySetId.clear();
-      AliasSetId.clear();
-    }
-
-    /// Insert a pointer and calculate the start and end SCEVs.
-    void insert(ScalarEvolution *SE, Loop *Lp, Value *Ptr, bool WritePtr,
-                unsigned DepSetId, unsigned ASId,
-                const ValueToValueMap &Strides);
-
-    /// \brief No run-time memory checking is necessary.
-    bool empty() const { return Pointers.empty(); }
-
-    /// \brief Decide whether we need to issue a run-time check for pointer at
-    /// index \p I and \p J to prove their independence.
-    ///
-    /// If \p PtrPartition is set, it contains the partition number for
-    /// pointers (-1 if the pointer belongs to multiple partitions).  In this
-    /// case omit checks between pointers belonging to the same partition.
-    bool needsChecking(unsigned I, unsigned J,
-                       const SmallVectorImpl<int> *PtrPartition) const;
-
-    /// \brief Return true if any pointer requires run-time checking according
-    /// 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
-    /// pointers (-1 if the pointer belongs to multiple partitions).  In this
-    /// case omit checks between pointers belonging to the same partition.
-    void print(raw_ostream &OS, unsigned Depth = 0,
-               const SmallVectorImpl<int> *PtrPartition = nullptr) const;
-
-    /// This flag indicates if we need to add the runtime check.
-    bool Need;
-    /// Holds the pointers that we need to check.
-    SmallVector<TrackingVH<Value>, 2> Pointers;
-    /// Holds the pointer value at the beginning of the loop.
-    SmallVector<const SCEV*, 2> Starts;
-    /// Holds the pointer value at the end of the loop.
-    SmallVector<const SCEV*, 2> Ends;
-    /// Holds the information if this pointer is used for writing to memory.
-    SmallVector<bool, 2> IsWritePtr;
-    /// Holds the id of the set of pointers that could be dependent because of a
-    /// shared underlying object.
-    SmallVector<unsigned, 2> DependencySetId;
-    /// Holds the id of the disjoint alias set to which this pointer belongs.
-    SmallVector<unsigned, 2> AliasSetId;
-  };
-
   LoopAccessInfo(Loop *L, ScalarEvolution *SE, const DataLayout &DL,
                  const TargetLibraryInfo *TLI, AliasAnalysis *AA,
                  DominatorTree *DT, LoopInfo *LI,
@@ -383,15 +444,15 @@ public:
   /// no memory dependence cycles.
   bool canVectorizeMemory() const { return CanVecMem; }
 
-  const RuntimePointerCheck *getRuntimePointerCheck() const {
-    return &PtrRtCheck;
+  const RuntimePointerChecking *getRuntimePointerChecking() const {
+    return &PtrRtChecking;
   }
 
   /// \brief Number of memchecks required to prove independence of otherwise
   /// may-alias pointers.
   unsigned getNumRuntimePointerChecks(
     const SmallVectorImpl<int> *PtrPartition = nullptr) const {
-    return PtrRtCheck.getNumberOfChecks(PtrPartition);
+    return PtrRtChecking.getNumberOfChecks(PtrPartition);
   }
 
   /// Return true if the block BB needs to be predicated in order for the loop
@@ -461,7 +522,7 @@ private:
 
   /// We need to check that all of the pointers in this list are disjoint
   /// at runtime.
-  RuntimePointerCheck PtrRtCheck;
+  RuntimePointerChecking PtrRtChecking;
 
   /// \brief the Memory Dependence Checker which can determine the
   /// loop-independent and loop-carried dependences between memory accesses.

Modified: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopInfo.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopInfo.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/LoopInfo.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -347,9 +347,7 @@ raw_ostream& operator<<(raw_ostream &OS,
 }
 
 // Implementation in LoopInfoImpl.h
-#ifdef __GNUC__
-__extension__ extern template class LoopBase<BasicBlock, Loop>;
-#endif
+extern template class LoopBase<BasicBlock, Loop>;
 
 class Loop : public LoopBase<BasicBlock, Loop> {
 public:
@@ -633,9 +631,7 @@ public:
 };
 
 // Implementation in LoopInfoImpl.h
-#ifdef __GNUC__
-__extension__ extern template class LoopInfoBase<BasicBlock, Loop>;
-#endif
+extern template class LoopInfoBase<BasicBlock, Loop>;
 
 class LoopInfo : public LoopInfoBase<BasicBlock, Loop> {
   typedef LoopInfoBase<BasicBlock, Loop> BaseT;

Modified: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/RegionInfo.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/RegionInfo.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/RegionInfo.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -902,9 +902,9 @@ inline raw_ostream &operator<<(raw_ostre
     return OS << Node.template getNodeAs<BlockT>()->getName();
 }
 
-EXTERN_TEMPLATE_INSTANTIATION(class RegionBase<RegionTraits<Function>>);
-EXTERN_TEMPLATE_INSTANTIATION(class RegionNodeBase<RegionTraits<Function>>);
-EXTERN_TEMPLATE_INSTANTIATION(class RegionInfoBase<RegionTraits<Function>>);
+extern template class RegionBase<RegionTraits<Function>>;
+extern template class RegionNodeBase<RegionTraits<Function>>;
+extern template class RegionInfoBase<RegionTraits<Function>>;
 
 } // End llvm namespace
 #endif

Modified: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/TargetTransformInfo.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/TargetTransformInfo.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/TargetTransformInfo.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -69,7 +69,7 @@ public:
   ///
   /// The TTI implementation will reflect the information in the DataLayout
   /// provided if non-null.
-  explicit TargetTransformInfo(const DataLayout *DL);
+  explicit TargetTransformInfo(const DataLayout &DL);
 
   // Provide move semantics.
   TargetTransformInfo(TargetTransformInfo &&Arg);
@@ -541,7 +541,7 @@ private:
 class TargetTransformInfo::Concept {
 public:
   virtual ~Concept() = 0;
-
+  virtual const DataLayout &getDataLayout() const = 0;
   virtual unsigned getOperationCost(unsigned Opcode, Type *Ty, Type *OpTy) = 0;
   virtual unsigned getGEPCost(const Value *Ptr,
                               ArrayRef<const Value *> Operands) = 0;
@@ -636,6 +636,10 @@ public:
   Model(T Impl) : Impl(std::move(Impl)) {}
   ~Model() override {}
 
+  const DataLayout &getDataLayout() const override {
+    return Impl.getDataLayout();
+  }
+
   unsigned getOperationCost(unsigned Opcode, Type *Ty, Type *OpTy) override {
     return Impl.getOperationCost(Opcode, Ty, OpTy);
   }

Modified: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -30,26 +30,17 @@ class TargetTransformInfoImplBase {
 protected:
   typedef TargetTransformInfo TTI;
 
-  const DataLayout *DL;
+  const DataLayout &DL;
 
-  explicit TargetTransformInfoImplBase(const DataLayout *DL)
-      : DL(DL) {}
+  explicit TargetTransformInfoImplBase(const DataLayout &DL) : DL(DL) {}
 
 public:
   // Provide value semantics. MSVC requires that we spell all of these out.
   TargetTransformInfoImplBase(const TargetTransformInfoImplBase &Arg)
       : DL(Arg.DL) {}
-  TargetTransformInfoImplBase(TargetTransformInfoImplBase &&Arg)
-      : DL(std::move(Arg.DL)) {}
-  TargetTransformInfoImplBase &
-  operator=(const TargetTransformInfoImplBase &RHS) {
-    DL = RHS.DL;
-    return *this;
-  }
-  TargetTransformInfoImplBase &operator=(TargetTransformInfoImplBase &&RHS) {
-    DL = std::move(RHS.DL);
-    return *this;
-  }
+  TargetTransformInfoImplBase(TargetTransformInfoImplBase &&Arg) : DL(Arg.DL) {}
+
+  const DataLayout &getDataLayout() const { return DL; }
 
   unsigned getOperationCost(unsigned Opcode, Type *Ty, Type *OpTy) {
     switch (Opcode) {
@@ -70,28 +61,22 @@ public:
       return TTI::TCC_Basic;
 
     case Instruction::IntToPtr: {
-      if (!DL)
-        return TTI::TCC_Basic;
-
       // An inttoptr cast is free so long as the input is a legal integer type
       // which doesn't contain values outside the range of a pointer.
       unsigned OpSize = OpTy->getScalarSizeInBits();
-      if (DL->isLegalInteger(OpSize) &&
-          OpSize <= DL->getPointerTypeSizeInBits(Ty))
+      if (DL.isLegalInteger(OpSize) &&
+          OpSize <= DL.getPointerTypeSizeInBits(Ty))
         return TTI::TCC_Free;
 
       // Otherwise it's not a no-op.
       return TTI::TCC_Basic;
     }
     case Instruction::PtrToInt: {
-      if (!DL)
-        return TTI::TCC_Basic;
-
       // A ptrtoint cast is free so long as the result is large enough to store
       // the pointer, and a legal integer type.
       unsigned DestSize = Ty->getScalarSizeInBits();
-      if (DL->isLegalInteger(DestSize) &&
-          DestSize >= DL->getPointerTypeSizeInBits(OpTy))
+      if (DL.isLegalInteger(DestSize) &&
+          DestSize >= DL.getPointerTypeSizeInBits(OpTy))
         return TTI::TCC_Free;
 
       // Otherwise it's not a no-op.
@@ -100,7 +85,7 @@ public:
     case Instruction::Trunc:
       // trunc to a native type is free (assuming the target has compare and
       // shift-right of the same width).
-      if (DL && DL->isLegalInteger(DL->getTypeSizeInBits(Ty)))
+      if (DL.isLegalInteger(DL.getTypeSizeInBits(Ty)))
         return TTI::TCC_Free;
 
       return TTI::TCC_Basic;
@@ -353,8 +338,7 @@ private:
   typedef TargetTransformInfoImplBase BaseT;
 
 protected:
-  explicit TargetTransformInfoImplCRTPBase(const DataLayout *DL)
-      : BaseT(DL) {}
+  explicit TargetTransformInfoImplCRTPBase(const DataLayout &DL) : BaseT(DL) {}
 
 public:
   // Provide value semantics. MSVC requires that we spell all of these out.
@@ -362,16 +346,6 @@ public:
       : BaseT(static_cast<const BaseT &>(Arg)) {}
   TargetTransformInfoImplCRTPBase(TargetTransformInfoImplCRTPBase &&Arg)
       : BaseT(std::move(static_cast<BaseT &>(Arg))) {}
-  TargetTransformInfoImplCRTPBase &
-  operator=(const TargetTransformInfoImplCRTPBase &RHS) {
-    BaseT::operator=(static_cast<const BaseT &>(RHS));
-    return *this;
-  }
-  TargetTransformInfoImplCRTPBase &
-  operator=(TargetTransformInfoImplCRTPBase &&RHS) {
-    BaseT::operator=(std::move(static_cast<BaseT &>(RHS)));
-    return *this;
-  }
 
   using BaseT::getCallCost;
 

Modified: projects/clang-trunk/contrib/llvm/include/llvm/Analysis/VectorUtils.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Analysis/VectorUtils.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Analysis/VectorUtils.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -20,6 +20,12 @@
 
 namespace llvm {
 
+class GetElementPtrInst;
+class Loop;
+class ScalarEvolution;
+class Type;
+class Value;
+
 /// \brief Identify if the intrinsic is trivially vectorizable.
 /// This method returns true if the intrinsic's argument types are all
 /// scalars for the scalar form of the intrinsic and all vectors for
@@ -51,6 +57,28 @@ Intrinsic::ID checkBinaryFloatSignature(
 /// its intrinsic ID, in case it does not found it return not_intrinsic.
 Intrinsic::ID getIntrinsicIDForCall(CallInst *CI, const TargetLibraryInfo *TLI);
 
+/// \brief Find the operand of the GEP that should be checked for consecutive
+/// stores. This ignores trailing indices that have no effect on the final
+/// pointer.
+unsigned getGEPInductionOperand(const GetElementPtrInst *Gep);
+
+/// \brief If the argument is a GEP, then returns the operand identified by 
+/// getGEPInductionOperand. However, if there is some other non-loop-invariant 
+/// operand, it returns that instead.
+Value *stripGetElementPtr(Value *Ptr, ScalarEvolution *SE, Loop *Lp);
+
+/// \brief If a value has only one user that is a CastInst, return it.
+Value *getUniqueCastUse(Value *Ptr, Loop *Lp, Type *Ty);
+
+/// \brief Get the stride of a pointer access in a loop. Looks for symbolic
+/// strides "a[i*stride]". Returns the symbolic stride, or null otherwise.
+Value *getStrideFromPointer(Value *Ptr, ScalarEvolution *SE, Loop *Lp);
+
+/// \brief Given a vector and an element number, see if the scalar value is
+/// already around as a register, for example if it were inserted then extracted
+/// from the vector.
+Value *findScalarElement(Value *V, unsigned EltNo);
+
 } // llvm namespace
 
 #endif

Modified: projects/clang-trunk/contrib/llvm/include/llvm/Bitcode/LLVMBitCodes.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Bitcode/LLVMBitCodes.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Bitcode/LLVMBitCodes.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -407,6 +407,7 @@ namespace bitc {
     ATTR_KIND_DEREFERENCEABLE_OR_NULL = 42,
     ATTR_KIND_CONVERGENT = 43,
     ATTR_KIND_SAFESTACK = 44,
+    ATTR_KIND_ARGMEMONLY = 45
   };
 
   enum ComdatSelectionKindCodes {

Modified: projects/clang-trunk/contrib/llvm/include/llvm/Bitcode/ReaderWriter.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/Bitcode/ReaderWriter.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/Bitcode/ReaderWriter.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -146,7 +146,7 @@ namespace llvm {
   }
 
   const std::error_category &BitcodeErrorCategory();
-  enum class BitcodeError { InvalidBitcodeSignature, CorruptedBitcode };
+  enum class BitcodeError { InvalidBitcodeSignature = 1, CorruptedBitcode };
   inline std::error_code make_error_code(BitcodeError E) {
     return std::error_code(static_cast<int>(E), BitcodeErrorCategory());
   }

Modified: projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/Analysis.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/Analysis.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/Analysis.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -64,7 +64,7 @@ inline unsigned ComputeLinearIndex(Type 
 /// If Offsets is non-null, it points to a vector to be filled in
 /// with the in-memory offsets of each of the individual values.
 ///
-void ComputeValueVTs(const TargetLowering &TLI, Type *Ty,
+void ComputeValueVTs(const TargetLowering &TLI, const DataLayout &DL, Type *Ty,
                      SmallVectorImpl<EVT> &ValueVTs,
                      SmallVectorImpl<uint64_t> *Offsets = nullptr,
                      uint64_t StartingOffset = 0);

Modified: projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/BasicTTIImpl.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/BasicTTIImpl.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/BasicTTIImpl.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -91,8 +91,10 @@ private:
   }
 
 protected:
-  explicit BasicTTIImplBase(const TargetMachine *TM)
-      : BaseT(TM->getDataLayout()) {}
+  explicit BasicTTIImplBase(const TargetMachine *TM, const DataLayout &DL)
+      : BaseT(DL) {}
+
+  using TargetTransformInfoImplBase::DL;
 
 public:
   // Provide value semantics. MSVC requires that we spell all of these out.
@@ -100,14 +102,6 @@ public:
       : BaseT(static_cast<const BaseT &>(Arg)) {}
   BasicTTIImplBase(BasicTTIImplBase &&Arg)
       : BaseT(std::move(static_cast<BaseT &>(Arg))) {}
-  BasicTTIImplBase &operator=(const BasicTTIImplBase &RHS) {
-    BaseT::operator=(static_cast<const BaseT &>(RHS));
-    return *this;
-  }
-  BasicTTIImplBase &operator=(BasicTTIImplBase &&RHS) {
-    BaseT::operator=(std::move(static_cast<BaseT &>(RHS)));
-    return *this;
-  }
 
   /// \name Scalar TTI Implementations
   /// @{
@@ -132,7 +126,7 @@ public:
     AM.BaseOffs = BaseOffset;
     AM.HasBaseReg = HasBaseReg;
     AM.Scale = Scale;
-    return getTLI()->isLegalAddressingMode(AM, Ty, AddrSpace);
+    return getTLI()->isLegalAddressingMode(DL, AM, Ty, AddrSpace);
   }
 
   int getScalingFactorCost(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset,
@@ -142,7 +136,7 @@ public:
     AM.BaseOffs = BaseOffset;
     AM.HasBaseReg = HasBaseReg;
     AM.Scale = Scale;
-    return getTLI()->getScalingFactorCost(AM, Ty, AddrSpace);
+    return getTLI()->getScalingFactorCost(DL, AM, Ty, AddrSpace);
   }
 
   bool isTruncateFree(Type *Ty1, Type *Ty2) {
@@ -154,7 +148,7 @@ public:
   }
 
   bool isTypeLegal(Type *Ty) {
-    EVT VT = getTLI()->getValueType(Ty);
+    EVT VT = getTLI()->getValueType(DL, Ty);
     return getTLI()->isTypeLegal(VT);
   }
 
@@ -192,7 +186,7 @@ public:
 
   bool haveFastSqrt(Type *Ty) {
     const TargetLoweringBase *TLI = getTLI();
-    EVT VT = TLI->getValueType(Ty);
+    EVT VT = TLI->getValueType(DL, Ty);
     return TLI->isTypeLegal(VT) &&
            TLI->isOperationLegalOrCustom(ISD::FSQRT, VT);
   }
@@ -282,7 +276,7 @@ public:
   /// \name Vector TTI Implementations
   /// @{
 
-  unsigned getNumberOfRegisters(bool Vector) { return 1; }
+  unsigned getNumberOfRegisters(bool Vector) { return Vector ? 0 : 1; }
 
   unsigned getRegisterBitWidth(bool Vector) { return 32; }
 
@@ -299,7 +293,7 @@ public:
     int ISD = TLI->InstructionOpcodeToISD(Opcode);
     assert(ISD && "Invalid opcode");
 
-    std::pair<unsigned, MVT> LT = TLI->getTypeLegalizationCost(Ty);
+    std::pair<unsigned, MVT> LT = TLI->getTypeLegalizationCost(DL, Ty);
 
     bool IsFloat = Ty->getScalarType()->isFloatingPointTy();
     // Assume that floating point arithmetic operations cost twice as much as
@@ -349,9 +343,8 @@ public:
     const TargetLoweringBase *TLI = getTLI();
     int ISD = TLI->InstructionOpcodeToISD(Opcode);
     assert(ISD && "Invalid opcode");
-
-    std::pair<unsigned, MVT> SrcLT = TLI->getTypeLegalizationCost(Src);
-    std::pair<unsigned, MVT> DstLT = TLI->getTypeLegalizationCost(Dst);
+    std::pair<unsigned, MVT> SrcLT = TLI->getTypeLegalizationCost(DL, Src);
+    std::pair<unsigned, MVT> DstLT = TLI->getTypeLegalizationCost(DL, Dst);
 
     // Check for NOOP conversions.
     if (SrcLT.first == DstLT.first &&
@@ -455,8 +448,7 @@ public:
       if (CondTy->isVectorTy())
         ISD = ISD::VSELECT;
     }
-
-    std::pair<unsigned, MVT> LT = TLI->getTypeLegalizationCost(ValTy);
+    std::pair<unsigned, MVT> LT = TLI->getTypeLegalizationCost(DL, ValTy);
 
     if (!(ValTy->isVectorTy() && !LT.second.isVector()) &&
         !TLI->isOperationExpand(ISD, LT.second)) {
@@ -485,7 +477,7 @@ public:
 
   unsigned getVectorInstrCost(unsigned Opcode, Type *Val, unsigned Index) {
     std::pair<unsigned, MVT> LT =
-        getTLI()->getTypeLegalizationCost(Val->getScalarType());
+        getTLI()->getTypeLegalizationCost(DL, Val->getScalarType());
 
     return LT.first;
   }
@@ -493,7 +485,7 @@ public:
   unsigned getMemoryOpCost(unsigned Opcode, Type *Src, unsigned Alignment,
                            unsigned AddressSpace) {
     assert(!Src->isVoidTy() && "Invalid type");
-    std::pair<unsigned, MVT> LT = getTLI()->getTypeLegalizationCost(Src);
+    std::pair<unsigned, MVT> LT = getTLI()->getTypeLegalizationCost(DL, Src);
 
     // Assuming that all loads of legal types cost 1.
     unsigned Cost = LT.first;
@@ -504,7 +496,7 @@ public:
       // itself. Unless the corresponding extending load or truncating store is
       // legal, then this will scalarize.
       TargetLowering::LegalizeAction LA = TargetLowering::Expand;
-      EVT MemVT = getTLI()->getValueType(Src, true);
+      EVT MemVT = getTLI()->getValueType(DL, Src, true);
       if (MemVT.isSimple() && MemVT != MVT::Other) {
         if (Opcode == Instruction::Store)
           LA = getTLI()->getTruncStoreAction(LT.second, MemVT.getSimpleVT());
@@ -700,7 +692,7 @@ public:
     }
 
     const TargetLoweringBase *TLI = getTLI();
-    std::pair<unsigned, MVT> LT = TLI->getTypeLegalizationCost(RetTy);
+    std::pair<unsigned, MVT> LT = TLI->getTypeLegalizationCost(DL, RetTy);
 
     if (TLI->isOperationLegalOrPromote(ISD, LT.second)) {
       // The operation is legal. Assume it costs 1.
@@ -771,7 +763,7 @@ public:
   }
 
   unsigned getNumberOfParts(Type *Tp) {
-    std::pair<unsigned, MVT> LT = getTLI()->getTypeLegalizationCost(Tp);
+    std::pair<unsigned, MVT> LT = getTLI()->getTypeLegalizationCost(DL, Tp);
     return LT.first;
   }
 
@@ -816,18 +808,6 @@ public:
   BasicTTIImpl(BasicTTIImpl &&Arg)
       : BaseT(std::move(static_cast<BaseT &>(Arg))), ST(std::move(Arg.ST)),
         TLI(std::move(Arg.TLI)) {}
-  BasicTTIImpl &operator=(const BasicTTIImpl &RHS) {
-    BaseT::operator=(static_cast<const BaseT &>(RHS));
-    ST = RHS.ST;
-    TLI = RHS.TLI;
-    return *this;
-  }
-  BasicTTIImpl &operator=(BasicTTIImpl &&RHS) {
-    BaseT::operator=(std::move(static_cast<BaseT &>(RHS)));
-    ST = std::move(RHS.ST);
-    TLI = std::move(RHS.TLI);
-    return *this;
-  }
 };
 
 }

Modified: projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/CommandFlags.h
==============================================================================
--- projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/CommandFlags.h	Wed Aug 12 18:23:08 2015	(r286683)
+++ projects/clang-trunk/contrib/llvm/include/llvm/CodeGen/CommandFlags.h	Wed Aug 12 18:31:11 2015	(r286684)
@@ -206,6 +206,10 @@ cl::opt<std::string> StartAfter("start-a
                           cl::value_desc("pass-name"),
                           cl::init(""));
 
+cl::opt<std::string>
+    RunPass("run-pass", cl::desc("Run compiler only for one specific pass"),
+            cl::value_desc("pass-name"), cl::init(""));
+
 cl::opt<bool> DataSections("data-sections",
                            cl::desc("Emit data into separate sections"),
                            cl::init(false));

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



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