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>