svn commit: r251662 - in head: contrib/llvm/include/llvm contrib/llvm/include/llvm-c contrib/llvm/include/llvm-c/Transforms contrib/llvm/include/llvm/ADT contrib/llvm/include/llvm/Analysis contrib/...

Dimitry Andric dim at FreeBSD.org
Wed Jun 12 18:48:59 UTC 2013


Author: dim
Date: Wed Jun 12 18:48:53 2013
New Revision: 251662
URL: http://svnweb.freebsd.org/changeset/base/251662

Log:
  Upgrade our copy of llvm/clang to 3.3 release.
  
  Release notes are still in the works, these will follow soon.
  
  MFC after:	1 month

Added:
  head/contrib/llvm/include/llvm/DebugInfo/DWARFFormValue.h
     - copied unchanged from r251610, vendor/llvm/dist/include/llvm/DebugInfo/DWARFFormValue.h
  head/contrib/llvm/include/llvm/ExecutionEngine/ObjectCache.h
     - copied unchanged from r251610, vendor/llvm/dist/include/llvm/ExecutionEngine/ObjectCache.h
  head/contrib/llvm/include/llvm/Support/CBindingWrapping.h
     - copied unchanged from r251610, vendor/llvm/dist/include/llvm/Support/CBindingWrapping.h
  head/contrib/llvm/include/llvm/Support/Compression.h
     - copied unchanged from r251610, vendor/llvm/dist/include/llvm/Support/Compression.h
  head/contrib/llvm/lib/Support/Compression.cpp
     - copied unchanged from r251610, vendor/llvm/dist/lib/Support/Compression.cpp
  head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp
     - copied unchanged from r251610, vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp
  head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h
     - copied unchanged from r251610, vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h
  head/contrib/llvm/lib/Target/Mips/MicroMipsInstrFormats.td
     - copied unchanged from r251610, vendor/llvm/dist/lib/Target/Mips/MicroMipsInstrFormats.td
  head/contrib/llvm/lib/Target/Mips/MicroMipsInstrInfo.td
     - copied unchanged from r251610, vendor/llvm/dist/lib/Target/Mips/MicroMipsInstrInfo.td
  head/contrib/llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp
     - copied unchanged from r251610, vendor/llvm/dist/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp
  head/contrib/llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.h
     - copied unchanged from r251610, vendor/llvm/dist/lib/Target/Mips/MipsModuleISelDAGToDAG.h
  head/contrib/llvm/lib/Target/Mips/MipsOs16.cpp
     - copied unchanged from r251610, vendor/llvm/dist/lib/Target/Mips/MipsOs16.cpp
  head/contrib/llvm/lib/Target/Mips/MipsOs16.h
     - copied unchanged from r251610, vendor/llvm/dist/lib/Target/Mips/MipsOs16.h
  head/contrib/llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
     - copied unchanged from r251610, vendor/llvm/dist/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
  head/contrib/llvm/lib/Target/PowerPC/AsmParser/
     - copied from r251610, vendor/llvm/dist/lib/Target/PowerPC/AsmParser/
  head/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUELFObjectWriter.cpp
     - copied unchanged from r251610, vendor/llvm/dist/lib/Target/R600/MCTargetDesc/AMDGPUELFObjectWriter.cpp
  head/contrib/llvm/lib/Target/R600/R600Packetizer.cpp
     - copied unchanged from r251610, vendor/llvm/dist/lib/Target/R600/R600Packetizer.cpp
  head/contrib/llvm/lib/Target/R600/SIDefines.h
     - copied unchanged from r251610, vendor/llvm/dist/lib/Target/R600/SIDefines.h
  head/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcBaseInfo.h
     - copied unchanged from r251610, vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcBaseInfo.h
  head/contrib/llvm/lib/Target/SystemZ/
     - copied from r251610, vendor/llvm/dist/lib/Target/SystemZ/
  head/contrib/llvm/lib/Target/X86/X86FixupLEAs.cpp
     - copied unchanged from r251610, vendor/llvm/dist/lib/Target/X86/X86FixupLEAs.cpp
  head/contrib/llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
     - copied unchanged from r251610, vendor/llvm/dist/lib/Target/XCore/XCoreLowerThreadLocal.cpp
  head/contrib/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
     - copied unchanged from r251610, vendor/llvm/dist/lib/Transforms/Vectorize/SLPVectorizer.cpp
  head/contrib/llvm/lib/Transforms/Vectorize/VecUtils.cpp
     - copied unchanged from r251610, vendor/llvm/dist/lib/Transforms/Vectorize/VecUtils.cpp
  head/contrib/llvm/lib/Transforms/Vectorize/VecUtils.h
     - copied unchanged from r251610, vendor/llvm/dist/lib/Transforms/Vectorize/VecUtils.h
  head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsAArch64.def
     - copied unchanged from r251610, vendor/clang/dist/include/clang/Basic/BuiltinsAArch64.def
  head/contrib/llvm/tools/clang/include/clang/Basic/CapturedStmt.h
     - copied unchanged from r251610, vendor/clang/dist/include/clang/Basic/CapturedStmt.h
  head/contrib/llvm/tools/clang/include/clang/Lex/MacroArgs.h
     - copied unchanged from r251610, vendor/clang/dist/include/clang/Lex/MacroArgs.h
  head/contrib/llvm/tools/clang/lib/Format/BreakableToken.cpp
     - copied unchanged from r251610, vendor/clang/dist/lib/Format/BreakableToken.cpp
  head/contrib/llvm/tools/clang/lib/Format/BreakableToken.h
     - copied unchanged from r251610, vendor/clang/dist/lib/Format/BreakableToken.h
  head/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.cpp
     - copied unchanged from r251610, vendor/clang/dist/lib/Format/WhitespaceManager.cpp
  head/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.h
     - copied unchanged from r251610, vendor/clang/dist/lib/Format/WhitespaceManager.h
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AllocationDiagnostics.cpp
     - copied unchanged from r251610, vendor/clang/dist/lib/StaticAnalyzer/Checkers/AllocationDiagnostics.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AllocationDiagnostics.h
     - copied unchanged from r251610, vendor/clang/dist/lib/StaticAnalyzer/Checkers/AllocationDiagnostics.h
  head/lib/clang/include/clang/Parse/AttrExprArgs.inc   (contents, props changed)
Deleted:
  head/contrib/llvm/include/llvm/ADT/InMemoryStruct.h
  head/contrib/llvm/include/llvm/Object/MachOObject.h
  head/contrib/llvm/lib/DebugInfo/DWARFFormValue.h
  head/contrib/llvm/lib/Linker/Linker.cpp
  head/contrib/llvm/lib/Object/MachOObject.cpp
  head/contrib/llvm/lib/Target/PowerPC/AsmParser/CMakeLists.txt
  head/contrib/llvm/lib/Target/PowerPC/AsmParser/LLVMBuild.txt
  head/contrib/llvm/lib/Target/PowerPC/AsmParser/Makefile
  head/contrib/llvm/lib/Target/R600/AMDILPeepholeOptimizer.cpp
  head/contrib/llvm/lib/Target/SystemZ/AsmParser/CMakeLists.txt
  head/contrib/llvm/lib/Target/SystemZ/AsmParser/LLVMBuild.txt
  head/contrib/llvm/lib/Target/SystemZ/AsmParser/Makefile
  head/contrib/llvm/lib/Target/SystemZ/CMakeLists.txt
  head/contrib/llvm/lib/Target/SystemZ/InstPrinter/CMakeLists.txt
  head/contrib/llvm/lib/Target/SystemZ/InstPrinter/LLVMBuild.txt
  head/contrib/llvm/lib/Target/SystemZ/InstPrinter/Makefile
  head/contrib/llvm/lib/Target/SystemZ/LLVMBuild.txt
  head/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt
  head/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/LLVMBuild.txt
  head/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/Makefile
  head/contrib/llvm/lib/Target/SystemZ/Makefile
  head/contrib/llvm/lib/Target/SystemZ/TargetInfo/CMakeLists.txt
  head/contrib/llvm/lib/Target/SystemZ/TargetInfo/LLVMBuild.txt
  head/contrib/llvm/lib/Target/SystemZ/TargetInfo/Makefile
  head/contrib/llvm/tools/clang/lib/Lex/MacroArgs.h
Modified:
  head/contrib/llvm/include/llvm-c/Core.h
  head/contrib/llvm/include/llvm-c/ExecutionEngine.h
  head/contrib/llvm/include/llvm-c/Object.h
  head/contrib/llvm/include/llvm-c/Target.h
  head/contrib/llvm/include/llvm-c/TargetMachine.h
  head/contrib/llvm/include/llvm-c/Transforms/PassManagerBuilder.h
  head/contrib/llvm/include/llvm-c/Transforms/Vectorize.h
  head/contrib/llvm/include/llvm/ADT/ArrayRef.h
  head/contrib/llvm/include/llvm/ADT/DenseMap.h
  head/contrib/llvm/include/llvm/ADT/Hashing.h
  head/contrib/llvm/include/llvm/ADT/PointerIntPair.h
  head/contrib/llvm/include/llvm/ADT/StringRef.h
  head/contrib/llvm/include/llvm/ADT/Triple.h
  head/contrib/llvm/include/llvm/ADT/Twine.h
  head/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h
  head/contrib/llvm/include/llvm/Analysis/RegionInfo.h
  head/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h
  head/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h
  head/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h
  head/contrib/llvm/include/llvm/CodeGen/FastISel.h
  head/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h
  head/contrib/llvm/include/llvm/CodeGen/LiveInterval.h
  head/contrib/llvm/include/llvm/CodeGen/LiveRangeEdit.h
  head/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h
  head/contrib/llvm/include/llvm/CodeGen/MachineFunction.h
  head/contrib/llvm/include/llvm/CodeGen/MachineMemOperand.h
  head/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h
  head/contrib/llvm/include/llvm/CodeGen/MachineScheduler.h
  head/contrib/llvm/include/llvm/CodeGen/MachineTraceMetrics.h
  head/contrib/llvm/include/llvm/CodeGen/Passes.h
  head/contrib/llvm/include/llvm/CodeGen/RegAllocPBQP.h
  head/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h
  head/contrib/llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
  head/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h
  head/contrib/llvm/include/llvm/CodeGen/SelectionDAGISel.h
  head/contrib/llvm/include/llvm/CodeGen/SlotIndexes.h
  head/contrib/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
  head/contrib/llvm/include/llvm/CodeGen/ValueTypes.td
  head/contrib/llvm/include/llvm/DIBuilder.h
  head/contrib/llvm/include/llvm/DebugInfo.h
  head/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
  head/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
  head/contrib/llvm/include/llvm/ExecutionEngine/SectionMemoryManager.h
  head/contrib/llvm/include/llvm/IR/Argument.h
  head/contrib/llvm/include/llvm/IR/Attributes.h
  head/contrib/llvm/include/llvm/IR/BasicBlock.h
  head/contrib/llvm/include/llvm/IR/Constants.h
  head/contrib/llvm/include/llvm/IR/DataLayout.h
  head/contrib/llvm/include/llvm/IR/DerivedTypes.h
  head/contrib/llvm/include/llvm/IR/GlobalValue.h
  head/contrib/llvm/include/llvm/IR/IRBuilder.h
  head/contrib/llvm/include/llvm/IR/Intrinsics.h
  head/contrib/llvm/include/llvm/IR/IntrinsicsMips.td
  head/contrib/llvm/include/llvm/IR/IntrinsicsNVVM.td
  head/contrib/llvm/include/llvm/IR/IntrinsicsPowerPC.td
  head/contrib/llvm/include/llvm/IR/LLVMContext.h
  head/contrib/llvm/include/llvm/IR/MDBuilder.h
  head/contrib/llvm/include/llvm/IR/Module.h
  head/contrib/llvm/include/llvm/IR/Type.h
  head/contrib/llvm/include/llvm/IR/Use.h
  head/contrib/llvm/include/llvm/IR/Value.h
  head/contrib/llvm/include/llvm/InitializePasses.h
  head/contrib/llvm/include/llvm/LinkAllPasses.h
  head/contrib/llvm/include/llvm/Linker.h
  head/contrib/llvm/include/llvm/MC/MCAsmInfo.h
  head/contrib/llvm/include/llvm/MC/MCAssembler.h
  head/contrib/llvm/include/llvm/MC/MCELFObjectWriter.h
  head/contrib/llvm/include/llvm/MC/MCELFStreamer.h
  head/contrib/llvm/include/llvm/MC/MCExpr.h
  head/contrib/llvm/include/llvm/MC/MCInst.h
  head/contrib/llvm/include/llvm/MC/MCObjectFileInfo.h
  head/contrib/llvm/include/llvm/MC/MCObjectStreamer.h
  head/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h
  head/contrib/llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h
  head/contrib/llvm/include/llvm/MC/MCSection.h
  head/contrib/llvm/include/llvm/MC/MCSectionCOFF.h
  head/contrib/llvm/include/llvm/MC/MCSectionELF.h
  head/contrib/llvm/include/llvm/MC/MCSectionMachO.h
  head/contrib/llvm/include/llvm/MC/MCStreamer.h
  head/contrib/llvm/include/llvm/MC/MCTargetAsmParser.h
  head/contrib/llvm/include/llvm/MC/MCWinCOFFObjectWriter.h
  head/contrib/llvm/include/llvm/MC/MachineLocation.h
  head/contrib/llvm/include/llvm/MC/SubtargetFeature.h
  head/contrib/llvm/include/llvm/Object/Binary.h
  head/contrib/llvm/include/llvm/Object/ELF.h
  head/contrib/llvm/include/llvm/Object/MachO.h
  head/contrib/llvm/include/llvm/Object/ObjectFile.h
  head/contrib/llvm/include/llvm/Object/RelocVisitor.h
  head/contrib/llvm/include/llvm/PassManager.h
  head/contrib/llvm/include/llvm/PassRegistry.h
  head/contrib/llvm/include/llvm/Support/CodeGen.h
  head/contrib/llvm/include/llvm/Support/CommandLine.h
  head/contrib/llvm/include/llvm/Support/ELF.h
  head/contrib/llvm/include/llvm/Support/Endian.h
  head/contrib/llvm/include/llvm/Support/Host.h
  head/contrib/llvm/include/llvm/Support/MemoryBuffer.h
  head/contrib/llvm/include/llvm/Support/PatternMatch.h
  head/contrib/llvm/include/llvm/Support/Program.h
  head/contrib/llvm/include/llvm/Support/SourceMgr.h
  head/contrib/llvm/include/llvm/Target/Target.td
  head/contrib/llvm/include/llvm/Target/TargetCallingConv.h
  head/contrib/llvm/include/llvm/Target/TargetInstrInfo.h
  head/contrib/llvm/include/llvm/Target/TargetLowering.h
  head/contrib/llvm/include/llvm/Target/TargetMachine.h
  head/contrib/llvm/include/llvm/Target/TargetOptions.h
  head/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td
  head/contrib/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h
  head/contrib/llvm/include/llvm/Transforms/Utils/BlackList.h
  head/contrib/llvm/include/llvm/Transforms/Utils/Local.h
  head/contrib/llvm/include/llvm/Transforms/Vectorize.h
  head/contrib/llvm/lib/Analysis/Analysis.cpp
  head/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp
  head/contrib/llvm/lib/Analysis/ConstantFolding.cpp
  head/contrib/llvm/lib/Analysis/IPA/IPA.cpp
  head/contrib/llvm/lib/Analysis/InstructionSimplify.cpp
  head/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp
  head/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
  head/contrib/llvm/lib/Analysis/RegionInfo.cpp
  head/contrib/llvm/lib/Analysis/ScalarEvolution.cpp
  head/contrib/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
  head/contrib/llvm/lib/AsmParser/LLLexer.cpp
  head/contrib/llvm/lib/AsmParser/LLParser.cpp
  head/contrib/llvm/lib/AsmParser/LLToken.h
  head/contrib/llvm/lib/Bitcode/Reader/BitReader.cpp
  head/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
  head/contrib/llvm/lib/Bitcode/Writer/BitWriter.cpp
  head/contrib/llvm/lib/CodeGen/Analysis.cpp
  head/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  head/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
  head/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.cpp
  head/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.h
  head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
  head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
  head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  head/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
  head/contrib/llvm/lib/CodeGen/BasicTargetTransformInfo.cpp
  head/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp
  head/contrib/llvm/lib/CodeGen/CallingConvLower.cpp
  head/contrib/llvm/lib/CodeGen/CodeGen.cpp
  head/contrib/llvm/lib/CodeGen/IfConversion.cpp
  head/contrib/llvm/lib/CodeGen/InlineSpiller.cpp
  head/contrib/llvm/lib/CodeGen/IntrinsicLowering.cpp
  head/contrib/llvm/lib/CodeGen/LocalStackSlotAllocation.cpp
  head/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp
  head/contrib/llvm/lib/CodeGen/MachineBlockPlacement.cpp
  head/contrib/llvm/lib/CodeGen/MachineModuleInfo.cpp
  head/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp
  head/contrib/llvm/lib/CodeGen/MachineScheduler.cpp
  head/contrib/llvm/lib/CodeGen/MachineTraceMetrics.cpp
  head/contrib/llvm/lib/CodeGen/MachineVerifier.cpp
  head/contrib/llvm/lib/CodeGen/Passes.cpp
  head/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp
  head/contrib/llvm/lib/CodeGen/RegAllocBasic.cpp
  head/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp
  head/contrib/llvm/lib/CodeGen/RegAllocPBQP.cpp
  head/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp
  head/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
  head/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  head/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
  head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
  head/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  head/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  head/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  head/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
  head/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
  head/contrib/llvm/lib/CodeGen/ShrinkWrapping.cpp
  head/contrib/llvm/lib/CodeGen/TargetLoweringBase.cpp
  head/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
  head/contrib/llvm/lib/CodeGen/TargetOptionsImpl.cpp
  head/contrib/llvm/lib/CodeGen/TargetSchedule.cpp
  head/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
  head/contrib/llvm/lib/DebugInfo/DWARFCompileUnit.cpp
  head/contrib/llvm/lib/DebugInfo/DWARFContext.cpp
  head/contrib/llvm/lib/DebugInfo/DWARFContext.h
  head/contrib/llvm/lib/DebugInfo/DWARFDebugInfoEntry.cpp
  head/contrib/llvm/lib/DebugInfo/DWARFDebugInfoEntry.h
  head/contrib/llvm/lib/DebugInfo/DWARFFormValue.cpp
  head/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp
  head/contrib/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
  head/contrib/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
  head/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp
  head/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
  head/contrib/llvm/lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp
  head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
  head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
  head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h
  head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
  head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
  head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h
  head/contrib/llvm/lib/IR/AsmWriter.cpp
  head/contrib/llvm/lib/IR/AttributeImpl.h
  head/contrib/llvm/lib/IR/Attributes.cpp
  head/contrib/llvm/lib/IR/Constants.cpp
  head/contrib/llvm/lib/IR/ConstantsContext.h
  head/contrib/llvm/lib/IR/Core.cpp
  head/contrib/llvm/lib/IR/DIBuilder.cpp
  head/contrib/llvm/lib/IR/DataLayout.cpp
  head/contrib/llvm/lib/IR/DebugInfo.cpp
  head/contrib/llvm/lib/IR/Function.cpp
  head/contrib/llvm/lib/IR/Metadata.cpp
  head/contrib/llvm/lib/IR/PassManager.cpp
  head/contrib/llvm/lib/IR/Type.cpp
  head/contrib/llvm/lib/IR/Value.cpp
  head/contrib/llvm/lib/IR/Verifier.cpp
  head/contrib/llvm/lib/Linker/LinkModules.cpp
  head/contrib/llvm/lib/MC/MCAsmInfo.cpp
  head/contrib/llvm/lib/MC/MCAsmInfoCOFF.cpp
  head/contrib/llvm/lib/MC/MCAsmStreamer.cpp
  head/contrib/llvm/lib/MC/MCAssembler.cpp
  head/contrib/llvm/lib/MC/MCDwarf.cpp
  head/contrib/llvm/lib/MC/MCELFStreamer.cpp
  head/contrib/llvm/lib/MC/MCExpr.cpp
  head/contrib/llvm/lib/MC/MCMachOStreamer.cpp
  head/contrib/llvm/lib/MC/MCNullStreamer.cpp
  head/contrib/llvm/lib/MC/MCObjectFileInfo.cpp
  head/contrib/llvm/lib/MC/MCObjectStreamer.cpp
  head/contrib/llvm/lib/MC/MCParser/AsmParser.cpp
  head/contrib/llvm/lib/MC/MCParser/DarwinAsmParser.cpp
  head/contrib/llvm/lib/MC/MCParser/ELFAsmParser.cpp
  head/contrib/llvm/lib/MC/MCPureStreamer.cpp
  head/contrib/llvm/lib/MC/MCSectionCOFF.cpp
  head/contrib/llvm/lib/MC/MCSectionELF.cpp
  head/contrib/llvm/lib/MC/MCSectionMachO.cpp
  head/contrib/llvm/lib/MC/MCStreamer.cpp
  head/contrib/llvm/lib/MC/WinCOFFObjectWriter.cpp
  head/contrib/llvm/lib/Object/COFFObjectFile.cpp
  head/contrib/llvm/lib/Object/MachOObjectFile.cpp
  head/contrib/llvm/lib/Object/Object.cpp
  head/contrib/llvm/lib/Object/ObjectFile.cpp
  head/contrib/llvm/lib/Support/CommandLine.cpp
  head/contrib/llvm/lib/Support/DataExtractor.cpp
  head/contrib/llvm/lib/Support/FoldingSet.cpp
  head/contrib/llvm/lib/Support/Host.cpp
  head/contrib/llvm/lib/Support/LockFileManager.cpp
  head/contrib/llvm/lib/Support/PathV2.cpp
  head/contrib/llvm/lib/Support/Triple.cpp
  head/contrib/llvm/lib/Support/Unix/Memory.inc
  head/contrib/llvm/lib/Support/Unix/PathV2.inc
  head/contrib/llvm/lib/Support/Unix/Program.inc
  head/contrib/llvm/lib/Support/Unix/Signals.inc
  head/contrib/llvm/lib/Support/Windows/Program.inc
  head/contrib/llvm/lib/Support/Windows/Signals.inc
  head/contrib/llvm/lib/Support/YAMLParser.cpp
  head/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
  head/contrib/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
  head/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  head/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.h
  head/contrib/llvm/lib/Target/AArch64/AArch64InstrFormats.td
  head/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.td
  head/contrib/llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
  head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
  head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
  head/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
  head/contrib/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp
  head/contrib/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
  head/contrib/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
  head/contrib/llvm/lib/Target/ARM/ARM.td
  head/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
  head/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h
  head/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
  head/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
  head/contrib/llvm/lib/Target/ARM/ARMCallingConv.h
  head/contrib/llvm/lib/Target/ARM/ARMCallingConv.td
  head/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp
  head/contrib/llvm/lib/Target/ARM/ARMFrameLowering.cpp
  head/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
  head/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp
  head/contrib/llvm/lib/Target/ARM/ARMISelLowering.h
  head/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td
  head/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td
  head/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td
  head/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
  head/contrib/llvm/lib/Target/ARM/ARMMachineFunctionInfo.h
  head/contrib/llvm/lib/Target/ARM/ARMSubtarget.cpp
  head/contrib/llvm/lib/Target/ARM/ARMSubtarget.h
  head/contrib/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
  head/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
  head/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
  head/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp
  head/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.h
  head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
  head/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOp.h
  head/contrib/llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
  head/contrib/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
  head/contrib/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
  head/contrib/llvm/lib/Target/Hexagon/Hexagon.h
  head/contrib/llvm/lib/Target/Hexagon/Hexagon.td
  head/contrib/llvm/lib/Target/Hexagon/HexagonCFGOptimizer.cpp
  head/contrib/llvm/lib/Target/Hexagon/HexagonExpandPredSpillCode.cpp
  head/contrib/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
  head/contrib/llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
  head/contrib/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
  head/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
  head/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.h
  head/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
  head/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.h
  head/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.td
  head/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfoV3.td
  head/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfoV4.td
  head/contrib/llvm/lib/Target/Hexagon/HexagonMachineFunctionInfo.h
  head/contrib/llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
  head/contrib/llvm/lib/Target/Hexagon/HexagonPeephole.cpp
  head/contrib/llvm/lib/Target/Hexagon/HexagonRemoveSZExtArgs.cpp
  head/contrib/llvm/lib/Target/Hexagon/HexagonSplitTFRCondSets.cpp
  head/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
  head/contrib/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
  head/contrib/llvm/lib/Target/MBlaze/MBlazeISelDAGToDAG.cpp
  head/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.td
  head/contrib/llvm/lib/Target/Mangler.cpp
  head/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
  head/contrib/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
  head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
  head/contrib/llvm/lib/Target/Mips/Mips16ISelDAGToDAG.cpp
  head/contrib/llvm/lib/Target/Mips/Mips16ISelDAGToDAG.h
  head/contrib/llvm/lib/Target/Mips/Mips16ISelLowering.cpp
  head/contrib/llvm/lib/Target/Mips/Mips16RegisterInfo.cpp
  head/contrib/llvm/lib/Target/Mips/Mips64InstrInfo.td
  head/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.cpp
  head/contrib/llvm/lib/Target/Mips/MipsCodeEmitter.cpp
  head/contrib/llvm/lib/Target/Mips/MipsConstantIslandPass.cpp
  head/contrib/llvm/lib/Target/Mips/MipsDSPInstrFormats.td
  head/contrib/llvm/lib/Target/Mips/MipsDSPInstrInfo.td
  head/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp
  head/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp
  head/contrib/llvm/lib/Target/Mips/MipsISelLowering.h
  head/contrib/llvm/lib/Target/Mips/MipsInstrFormats.td
  head/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td
  head/contrib/llvm/lib/Target/Mips/MipsLongBranch.cpp
  head/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp
  head/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td
  head/contrib/llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
  head/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
  head/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h
  head/contrib/llvm/lib/Target/Mips/MipsSEISelLowering.cpp
  head/contrib/llvm/lib/Target/Mips/MipsSEISelLowering.h
  head/contrib/llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
  head/contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp
  head/contrib/llvm/lib/Target/Mips/MipsSubtarget.h
  head/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp
  head/contrib/llvm/lib/Target/Mips/MipsTargetMachine.h
  head/contrib/llvm/lib/Target/NVPTX/NVPTX.h
  head/contrib/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
  head/contrib/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
  head/contrib/llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
  head/contrib/llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
  head/contrib/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
  head/contrib/llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
  head/contrib/llvm/lib/Target/NVPTX/NVPTXSection.h
  head/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
  head/contrib/llvm/lib/Target/NVPTX/NVVMReflect.cpp
  head/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp
  head/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
  head/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCPredicates.cpp
  head/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCPredicates.h
  head/contrib/llvm/lib/Target/PowerPC/PPC.h
  head/contrib/llvm/lib/Target/PowerPC/PPC.td
  head/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
  head/contrib/llvm/lib/Target/PowerPC/PPCBranchSelector.cpp
  head/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
  head/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
  head/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
  head/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h
  head/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
  head/contrib/llvm/lib/Target/PowerPC/PPCInstrAltivec.td
  head/contrib/llvm/lib/Target/PowerPC/PPCInstrFormats.td
  head/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
  head/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.h
  head/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td
  head/contrib/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
  head/contrib/llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h
  head/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
  head/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.h
  head/contrib/llvm/lib/Target/PowerPC/PPCScheduleA2.td
  head/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
  head/contrib/llvm/lib/Target/R600/AMDGPU.h
  head/contrib/llvm/lib/Target/R600/AMDGPUAsmPrinter.cpp
  head/contrib/llvm/lib/Target/R600/AMDGPUAsmPrinter.h
  head/contrib/llvm/lib/Target/R600/AMDGPUCallingConv.td
  head/contrib/llvm/lib/Target/R600/AMDGPUISelLowering.h
  head/contrib/llvm/lib/Target/R600/AMDGPUInstructions.td
  head/contrib/llvm/lib/Target/R600/AMDGPUMachineFunction.cpp
  head/contrib/llvm/lib/Target/R600/AMDGPUSubtarget.cpp
  head/contrib/llvm/lib/Target/R600/AMDGPUSubtarget.h
  head/contrib/llvm/lib/Target/R600/AMDGPUTargetMachine.cpp
  head/contrib/llvm/lib/Target/R600/AMDILBase.td
  head/contrib/llvm/lib/Target/R600/AMDILDeviceInfo.cpp
  head/contrib/llvm/lib/Target/R600/AMDILISelDAGToDAG.cpp
  head/contrib/llvm/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.cpp
  head/contrib/llvm/lib/Target/R600/InstPrinter/AMDGPUInstPrinter.h
  head/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUAsmBackend.cpp
  head/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUMCAsmInfo.cpp
  head/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUMCTargetDesc.cpp
  head/contrib/llvm/lib/Target/R600/MCTargetDesc/AMDGPUMCTargetDesc.h
  head/contrib/llvm/lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp
  head/contrib/llvm/lib/Target/R600/Processors.td
  head/contrib/llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp
  head/contrib/llvm/lib/Target/R600/R600Defines.h
  head/contrib/llvm/lib/Target/R600/R600ISelLowering.cpp
  head/contrib/llvm/lib/Target/R600/R600InstrInfo.cpp
  head/contrib/llvm/lib/Target/R600/R600InstrInfo.h
  head/contrib/llvm/lib/Target/R600/R600Instructions.td
  head/contrib/llvm/lib/Target/R600/R600MachineFunctionInfo.h
  head/contrib/llvm/lib/Target/R600/R600RegisterInfo.td
  head/contrib/llvm/lib/Target/R600/R600Schedule.td
  head/contrib/llvm/lib/Target/R600/SIISelLowering.cpp
  head/contrib/llvm/lib/Target/R600/SIISelLowering.h
  head/contrib/llvm/lib/Target/R600/SIInstrFormats.td
  head/contrib/llvm/lib/Target/R600/SIInstrInfo.cpp
  head/contrib/llvm/lib/Target/R600/SIInstrInfo.h
  head/contrib/llvm/lib/Target/R600/SIInstrInfo.td
  head/contrib/llvm/lib/Target/R600/SIInstructions.td
  head/contrib/llvm/lib/Target/R600/SIIntrinsics.td
  head/contrib/llvm/lib/Target/R600/SIRegisterInfo.td
  head/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp
  head/contrib/llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
  head/contrib/llvm/lib/Target/Sparc/SparcCallingConv.td
  head/contrib/llvm/lib/Target/Sparc/SparcFrameLowering.cpp
  head/contrib/llvm/lib/Target/Sparc/SparcFrameLowering.h
  head/contrib/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp
  head/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp
  head/contrib/llvm/lib/Target/Sparc/SparcISelLowering.h
  head/contrib/llvm/lib/Target/Sparc/SparcInstr64Bit.td
  head/contrib/llvm/lib/Target/Sparc/SparcInstrFormats.td
  head/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.td
  head/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
  head/contrib/llvm/lib/Target/Sparc/SparcSubtarget.h
  head/contrib/llvm/lib/Target/Target.cpp
  head/contrib/llvm/lib/Target/TargetMachineC.cpp
  head/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
  head/contrib/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
  head/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
  head/contrib/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
  head/contrib/llvm/lib/Target/X86/X86.h
  head/contrib/llvm/lib/Target/X86/X86.td
  head/contrib/llvm/lib/Target/X86/X86CodeEmitter.cpp
  head/contrib/llvm/lib/Target/X86/X86FastISel.cpp
  head/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp
  head/contrib/llvm/lib/Target/X86/X86FrameLowering.h
  head/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
  head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
  head/contrib/llvm/lib/Target/X86/X86ISelLowering.h
  head/contrib/llvm/lib/Target/X86/X86InstrFormats.td
  head/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp
  head/contrib/llvm/lib/Target/X86/X86InstrInfo.td
  head/contrib/llvm/lib/Target/X86/X86InstrSSE.td
  head/contrib/llvm/lib/Target/X86/X86InstrShiftRotate.td
  head/contrib/llvm/lib/Target/X86/X86InstrSystem.td
  head/contrib/llvm/lib/Target/X86/X86SchedHaswell.td
  head/contrib/llvm/lib/Target/X86/X86SchedSandyBridge.td
  head/contrib/llvm/lib/Target/X86/X86Subtarget.cpp
  head/contrib/llvm/lib/Target/X86/X86Subtarget.h
  head/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp
  head/contrib/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
  head/contrib/llvm/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp
  head/contrib/llvm/lib/Target/XCore/InstPrinter/XCoreInstPrinter.cpp
  head/contrib/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp
  head/contrib/llvm/lib/Target/XCore/XCore.h
  head/contrib/llvm/lib/Target/XCore/XCoreAsmPrinter.cpp
  head/contrib/llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp
  head/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp
  head/contrib/llvm/lib/Target/XCore/XCoreISelLowering.h
  head/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td
  head/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.cpp
  head/contrib/llvm/lib/Target/XCore/XCoreTargetObjectFile.cpp
  head/contrib/llvm/lib/Transforms/IPO/ConstantMerge.cpp
  head/contrib/llvm/lib/Transforms/IPO/GlobalDCE.cpp
  head/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp
  head/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp
  head/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
  head/contrib/llvm/lib/Transforms/IPO/StripSymbols.cpp
  head/contrib/llvm/lib/Transforms/InstCombine/InstCombine.h
  head/contrib/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
  head/contrib/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
  head/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
  head/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
  head/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
  head/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
  head/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
  head/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
  head/contrib/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
  head/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
  head/contrib/llvm/lib/Transforms/Instrumentation/BlackList.cpp
  head/contrib/llvm/lib/Transforms/Instrumentation/Instrumentation.cpp
  head/contrib/llvm/lib/Transforms/ObjCARC/ObjCARC.cpp
  head/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
  head/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
  head/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp
  head/contrib/llvm/lib/Transforms/Scalar/GVN.cpp
  head/contrib/llvm/lib/Transforms/Scalar/GlobalMerge.cpp
  head/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp
  head/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp
  head/contrib/llvm/lib/Transforms/Scalar/SROA.cpp
  head/contrib/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp
  head/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp
  head/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp
  head/contrib/llvm/lib/Transforms/Utils/Local.cpp
  head/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
  head/contrib/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
  head/contrib/llvm/lib/Transforms/Utils/Utils.cpp
  head/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp
  head/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  head/contrib/llvm/lib/Transforms/Vectorize/Vectorize.cpp
  head/contrib/llvm/tools/bugpoint/BugDriver.cpp
  head/contrib/llvm/tools/clang/include/clang-c/Index.h
  head/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h
  head/contrib/llvm/tools/clang/include/clang/AST/ASTUnresolvedSet.h
  head/contrib/llvm/tools/clang/include/clang/AST/CommentCommands.td
  head/contrib/llvm/tools/clang/include/clang/AST/CommentLexer.h
  head/contrib/llvm/tools/clang/include/clang/AST/Decl.h
  head/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h
  head/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h
  head/contrib/llvm/tools/clang/include/clang/AST/DeclFriend.h
  head/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h
  head/contrib/llvm/tools/clang/include/clang/AST/EvaluatedExprVisitor.h
  head/contrib/llvm/tools/clang/include/clang/AST/Expr.h
  head/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h
  head/contrib/llvm/tools/clang/include/clang/AST/ExprObjC.h
  head/contrib/llvm/tools/clang/include/clang/AST/Mangle.h
  head/contrib/llvm/tools/clang/include/clang/AST/RawCommentList.h
  head/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h
  head/contrib/llvm/tools/clang/include/clang/AST/Stmt.h
  head/contrib/llvm/tools/clang/include/clang/AST/Type.h
  head/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def
  head/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  head/contrib/llvm/tools/clang/include/clang/Basic/Attr.td
  head/contrib/llvm/tools/clang/include/clang/Basic/CommentOptions.h
  head/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td
  head/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h
  head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticASTKinds.td
  head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommentKinds.td
  head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td
  head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td
  head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td
  head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td
  head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.def
  head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td
  head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td
  head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSerializationKinds.td
  head/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h
  head/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def
  head/contrib/llvm/tools/clang/include/clang/Basic/OnDiskHashTable.h
  head/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h
  head/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h
  head/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td
  head/contrib/llvm/tools/clang/include/clang/Basic/TargetBuiltins.h
  head/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h
  head/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def
  head/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td
  head/contrib/llvm/tools/clang/include/clang/Driver/ArgList.h
  head/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td
  head/contrib/llvm/tools/clang/include/clang/Driver/Driver.h
  head/contrib/llvm/tools/clang/include/clang/Driver/Options.td
  head/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h
  head/contrib/llvm/tools/clang/include/clang/Format/Format.h
  head/contrib/llvm/tools/clang/include/clang/Frontend/ChainedDiagnosticConsumer.h
  head/contrib/llvm/tools/clang/include/clang/Frontend/ChainedIncludesSource.h
  head/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def
  head/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h
  head/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h
  head/contrib/llvm/tools/clang/include/clang/Frontend/LogDiagnosticPrinter.h
  head/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnosticBuffer.h
  head/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h
  head/contrib/llvm/tools/clang/include/clang/Frontend/VerifyDiagnosticConsumer.h
  head/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h
  head/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h
  head/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h
  head/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h
  head/contrib/llvm/tools/clang/include/clang/Parse/Parser.h
  head/contrib/llvm/tools/clang/include/clang/Rewrite/Frontend/FixItRewriter.h
  head/contrib/llvm/tools/clang/include/clang/Sema/AttributeList.h
  head/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h
  head/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h
  head/contrib/llvm/tools/clang/include/clang/Sema/ObjCMethodList.h
  head/contrib/llvm/tools/clang/include/clang/Sema/Ownership.h
  head/contrib/llvm/tools/clang/include/clang/Sema/ScopeInfo.h
  head/contrib/llvm/tools/clang/include/clang/Sema/Sema.h
  head/contrib/llvm/tools/clang/include/clang/Sema/Template.h
  head/contrib/llvm/tools/clang/include/clang/Sema/TemplateDeduction.h
  head/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h
  head/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h
  head/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h
  head/contrib/llvm/tools/clang/include/clang/Serialization/GlobalModuleIndex.h
  head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
  head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
  head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h
  head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h
  head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
  head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
  head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
  head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
  head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
  head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
  head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
  head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
  head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
  head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
  head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistration.h
  head/contrib/llvm/tools/clang/lib/ARCMigrate/ARCMT.cpp
  head/contrib/llvm/tools/clang/lib/ARCMigrate/TransAPIUses.cpp
  head/contrib/llvm/tools/clang/lib/ARCMigrate/TransRetainReleaseDealloc.cpp
  head/contrib/llvm/tools/clang/lib/ARCMigrate/Transforms.h
  head/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp
  head/contrib/llvm/tools/clang/lib/AST/ASTDumper.cpp
  head/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp
  head/contrib/llvm/tools/clang/lib/AST/Comment.cpp
  head/contrib/llvm/tools/clang/lib/AST/CommentLexer.cpp
  head/contrib/llvm/tools/clang/lib/AST/CommentParser.cpp
  head/contrib/llvm/tools/clang/lib/AST/Decl.cpp
  head/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp
  head/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp
  head/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp
  head/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp
  head/contrib/llvm/tools/clang/lib/AST/Expr.cpp
  head/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp
  head/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp
  head/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp
  head/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp
  head/contrib/llvm/tools/clang/lib/AST/MicrosoftCXXABI.cpp
  head/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp
  head/contrib/llvm/tools/clang/lib/AST/RawCommentList.cpp
  head/contrib/llvm/tools/clang/lib/AST/Stmt.cpp
  head/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp
  head/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp
  head/contrib/llvm/tools/clang/lib/AST/Type.cpp
  head/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp
  head/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.cpp
  head/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp
  head/contrib/llvm/tools/clang/lib/Analysis/ThreadSafety.cpp
  head/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp
  head/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp
  head/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp
  head/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp
  head/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
  head/contrib/llvm/tools/clang/lib/Basic/Version.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/ABIInfo.h
  head/contrib/llvm/tools/clang/lib/CodeGen/CGAtomic.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.h
  head/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h
  head/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGRTTI.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h
  head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h
  head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.h
  head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h
  head/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp
  head/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp
  head/contrib/llvm/tools/clang/lib/Driver/ArgList.cpp
  head/contrib/llvm/tools/clang/lib/Driver/Driver.cpp
  head/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.h
  head/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp
  head/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp
  head/contrib/llvm/tools/clang/lib/Driver/ToolChains.h
  head/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
  head/contrib/llvm/tools/clang/lib/Driver/WindowsToolChain.cpp
  head/contrib/llvm/tools/clang/lib/Edit/EditedSource.cpp
  head/contrib/llvm/tools/clang/lib/Format/Format.cpp
  head/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.cpp
  head/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.h
  head/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.cpp
  head/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.h
  head/contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp
  head/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp
  head/contrib/llvm/tools/clang/lib/Frontend/ChainedIncludesSource.cpp
  head/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp
  head/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp
  head/contrib/llvm/tools/clang/lib/Frontend/DiagnosticRenderer.cpp
  head/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp
  head/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp
  head/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp
  head/contrib/llvm/tools/clang/lib/Frontend/LogDiagnosticPrinter.cpp
  head/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp
  head/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
  head/contrib/llvm/tools/clang/lib/Frontend/TextDiagnostic.cpp
  head/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticBuffer.cpp
  head/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp
  head/contrib/llvm/tools/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
  head/contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp
  head/contrib/llvm/tools/clang/lib/Headers/avxintrin.h
  head/contrib/llvm/tools/clang/lib/Headers/emmintrin.h
  head/contrib/llvm/tools/clang/lib/Headers/stddef.h
  head/contrib/llvm/tools/clang/lib/Headers/stdint.h
  head/contrib/llvm/tools/clang/lib/Headers/xopintrin.h
  head/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp
  head/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp
  head/contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp
  head/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp
  head/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp
  head/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp
  head/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp
  head/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp
  head/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp
  head/contrib/llvm/tools/clang/lib/Lex/TokenLexer.cpp
  head/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp
  head/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp
  head/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp
  head/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp
  head/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp
  head/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp
  head/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp
  head/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp
  head/contrib/llvm/tools/clang/lib/Parse/ParsePragma.h
  head/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp
  head/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp
  head/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp
  head/contrib/llvm/tools/clang/lib/Parse/Parser.cpp
  head/contrib/llvm/tools/clang/lib/Rewrite/Frontend/FixItRewriter.cpp
  head/contrib/llvm/tools/clang/lib/Rewrite/Frontend/InclusionRewriter.cpp
  head/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp
  head/contrib/llvm/tools/clang/lib/Sema/AttributeList.cpp
  head/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp
  head/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp
  head/contrib/llvm/tools/clang/lib/Sema/Sema.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaExprMember.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaOpenMP.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaPseudoObject.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp
  head/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp
  head/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h
  head/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp
  head/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp
  head/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp
  head/contrib/llvm/tools/clang/lib/Serialization/ASTReaderInternals.h
  head/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp
  head/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp
  head/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp
  head/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp
  head/contrib/llvm/tools/clang/lib/Serialization/GlobalModuleIndex.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/Checkers.td
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Environment.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SVals.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Store.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
  head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp
  head/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp
  head/contrib/llvm/tools/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
  head/contrib/llvm/tools/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
  head/contrib/llvm/tools/clang/utils/TableGen/NeonEmitter.cpp
  head/contrib/llvm/tools/clang/utils/TableGen/TableGen.cpp
  head/contrib/llvm/tools/clang/utils/TableGen/TableGenBackends.h
  head/contrib/llvm/tools/llc/llc.cpp
  head/contrib/llvm/tools/llvm-as/llvm-as.cpp
  head/contrib/llvm/tools/llvm-dis/llvm-dis.cpp
  head/contrib/llvm/tools/llvm-extract/llvm-extract.cpp
  head/contrib/llvm/tools/llvm-link/llvm-link.cpp
  head/contrib/llvm/tools/llvm-mc/llvm-mc.cpp
  head/contrib/llvm/tools/llvm-objdump/MachODump.cpp
  head/contrib/llvm/tools/llvm-objdump/llvm-objdump.cpp
  head/contrib/llvm/tools/llvm-ranlib/llvm-ranlib.cpp
  head/contrib/llvm/tools/llvm-readobj/COFFDumper.cpp
  head/contrib/llvm/tools/llvm-readobj/ELFDumper.cpp
  head/contrib/llvm/tools/llvm-readobj/MachODumper.cpp
  head/contrib/llvm/tools/llvm-readobj/ObjDumper.h
  head/contrib/llvm/tools/llvm-readobj/llvm-readobj.cpp
  head/contrib/llvm/tools/llvm-readobj/llvm-readobj.h
  head/contrib/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
  head/contrib/llvm/tools/macho-dump/macho-dump.cpp
  head/contrib/llvm/tools/opt/opt.cpp
  head/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp
  head/contrib/llvm/utils/TableGen/CodeGenSchedule.cpp
  head/contrib/llvm/utils/TableGen/CodeGenSchedule.h
  head/contrib/llvm/utils/TableGen/SubtargetEmitter.cpp
  head/contrib/llvm/utils/TableGen/X86RecognizableInstr.cpp
  head/lib/clang/clang.build.mk
  head/lib/clang/include/clang/Basic/Version.inc
  head/lib/clang/include/llvm/Config/config.h
  head/lib/clang/include/llvm/Config/llvm-config.h
  head/lib/clang/libclangparse/Makefile
  head/lib/clang/libclangstaticanalyzercheckers/Makefile
  head/lib/clang/libllvmarmdesc/Makefile
  head/lib/clang/libllvmlinker/Makefile
  head/lib/clang/libllvmmipscodegen/Makefile
  head/lib/clang/libllvmobject/Makefile
  head/lib/clang/libllvmsupport/Makefile
  head/lib/clang/libllvmvectorize/Makefile
  head/lib/clang/libllvmx86codegen/Makefile
  head/usr.bin/clang/clang/clang.1
  head/usr.bin/clang/llc/llc.1
  head/usr.bin/clang/llvm-objdump/Makefile
  head/usr.bin/clang/llvm-rtdyld/Makefile
  head/usr.bin/clang/opt/opt.1
Directory Properties:
  head/contrib/llvm/   (props changed)
  head/contrib/llvm/tools/clang/   (props changed)

Modified: head/contrib/llvm/include/llvm-c/Core.h
==============================================================================
--- head/contrib/llvm/include/llvm-c/Core.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm-c/Core.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -18,13 +18,6 @@
 #include "llvm/Support/DataTypes.h"
 
 #ifdef __cplusplus
-
-/* Need these includes to support the LLVM 'cast' template for the C++ 'wrap' 
-   and 'unwrap' conversion functions. */
-#include "llvm/IR/IRBuilder.h"
-#include "llvm/IR/Module.h"
-#include "llvm/PassRegistry.h"
-
 extern "C" {
 #endif
 
@@ -60,11 +53,6 @@ extern "C" {
  * with C++ due to name mangling. So in addition to C, this interface enables
  * tools written in such languages.
  *
- * When included into a C++ source file, also declares 'wrap' and 'unwrap'
- * helpers to perform opaque reference<-->pointer conversions. These helpers
- * are shorter and more tightly typed than writing the casts by hand when
- * authoring bindings. In assert builds, they will do runtime type checking.
- *
  * @{
  */
 
@@ -352,6 +340,63 @@ typedef enum {
   LLVMLandingPadFilter    /**< A filter clause  */
 } LLVMLandingPadClauseTy;
 
+typedef enum {
+  LLVMNotThreadLocal = 0,
+  LLVMGeneralDynamicTLSModel,
+  LLVMLocalDynamicTLSModel,
+  LLVMInitialExecTLSModel,
+  LLVMLocalExecTLSModel
+} LLVMThreadLocalMode;
+
+typedef enum {
+  LLVMAtomicOrderingNotAtomic = 0, /**< A load or store which is not atomic */
+  LLVMAtomicOrderingUnordered = 1, /**< Lowest level of atomicity, guarantees
+                                     somewhat sane results, lock free. */
+  LLVMAtomicOrderingMonotonic = 2, /**< guarantees that if you take all the 
+                                     operations affecting a specific address, 
+                                     a consistent ordering exists */
+  LLVMAtomicOrderingAcquire = 4, /**< Acquire provides a barrier of the sort 
+                                   necessary to acquire a lock to access other 
+                                   memory with normal loads and stores. */
+  LLVMAtomicOrderingRelease = 5, /**< Release is similar to Acquire, but with 
+                                   a barrier of the sort necessary to release 
+                                   a lock. */
+  LLVMAtomicOrderingAcquireRelease = 6, /**< provides both an Acquire and a 
+                                          Release barrier (for fences and 
+                                          operations which both read and write
+                                           memory). */
+  LLVMAtomicOrderingSequentiallyConsistent = 7 /**< provides Acquire semantics 
+                                                 for loads and Release 
+                                                 semantics for stores. 
+                                                 Additionally, it guarantees 
+                                                 that a total ordering exists 
+                                                 between all 
+                                                 SequentiallyConsistent 
+                                                 operations. */
+} LLVMAtomicOrdering;
+
+typedef enum {
+    LLVMAtomicRMWBinOpXchg, /**< Set the new value and return the one old */
+    LLVMAtomicRMWBinOpAdd, /**< Add a value and return the old one */
+    LLVMAtomicRMWBinOpSub, /**< Subtract a value and return the old one */
+    LLVMAtomicRMWBinOpAnd, /**< And a value and return the old one */
+    LLVMAtomicRMWBinOpNand, /**< Not-And a value and return the old one */
+    LLVMAtomicRMWBinOpOr, /**< OR a value and return the old one */
+    LLVMAtomicRMWBinOpXor, /**< Xor a value and return the old one */
+    LLVMAtomicRMWBinOpMax, /**< Sets the value if it's greater than the
+                             original using a signed comparison and return 
+                             the old one */
+    LLVMAtomicRMWBinOpMin, /**< Sets the value if it's Smaller than the
+                             original using a signed comparison and return 
+                             the old one */
+    LLVMAtomicRMWBinOpUMax, /**< Sets the value if it's greater than the
+                             original using an unsigned comparison and return 
+                             the old one */
+    LLVMAtomicRMWBinOpUMin /**< Sets the value if it's greater than the
+                             original using an unsigned comparison  and return 
+                             the old one */
+} LLVMAtomicRMWBinOp;
+
 /**
  * @}
  */
@@ -1057,24 +1102,24 @@ LLVMTypeRef LLVMX86MMXType(void);
         macro(SwitchInst)                   \
         macro(UnreachableInst)              \
         macro(ResumeInst)                   \
-    macro(UnaryInstruction)                 \
-      macro(AllocaInst)                     \
-      macro(CastInst)                       \
-        macro(BitCastInst)                  \
-        macro(FPExtInst)                    \
-        macro(FPToSIInst)                   \
-        macro(FPToUIInst)                   \
-        macro(FPTruncInst)                  \
-        macro(IntToPtrInst)                 \
-        macro(PtrToIntInst)                 \
-        macro(SExtInst)                     \
-        macro(SIToFPInst)                   \
-        macro(TruncInst)                    \
-        macro(UIToFPInst)                   \
-        macro(ZExtInst)                     \
-      macro(ExtractValueInst)               \
-      macro(LoadInst)                       \
-      macro(VAArgInst)
+      macro(UnaryInstruction)               \
+        macro(AllocaInst)                   \
+        macro(CastInst)                     \
+          macro(BitCastInst)                \
+          macro(FPExtInst)                  \
+          macro(FPToSIInst)                 \
+          macro(FPToUIInst)                 \
+          macro(FPTruncInst)                \
+          macro(IntToPtrInst)               \
+          macro(PtrToIntInst)               \
+          macro(SExtInst)                   \
+          macro(SIToFPInst)                 \
+          macro(TruncInst)                  \
+          macro(UIToFPInst)                 \
+          macro(ZExtInst)                   \
+        macro(ExtractValueInst)             \
+        macro(LoadInst)                     \
+        macro(VAArgInst)
 
 /**
  * @defgroup LLVMCCoreValueGeneral General APIs
@@ -1606,6 +1651,10 @@ LLVMBool LLVMIsThreadLocal(LLVMValueRef 
 void LLVMSetThreadLocal(LLVMValueRef GlobalVar, LLVMBool IsThreadLocal);
 LLVMBool LLVMIsGlobalConstant(LLVMValueRef GlobalVar);
 void LLVMSetGlobalConstant(LLVMValueRef GlobalVar, LLVMBool IsConstant);
+LLVMThreadLocalMode LLVMGetThreadLocalMode(LLVMValueRef GlobalVar);
+void LLVMSetThreadLocalMode(LLVMValueRef GlobalVar, LLVMThreadLocalMode Mode);
+LLVMBool LLVMIsExternallyInitialized(LLVMValueRef GlobalVar);
+void LLVMSetExternallyInitialized(LLVMValueRef GlobalVar, LLVMBool IsExtInit);
 
 /**
  * @}
@@ -1694,6 +1743,13 @@ void LLVMSetGC(LLVMValueRef Fn, const ch
 void LLVMAddFunctionAttr(LLVMValueRef Fn, LLVMAttribute PA);
 
 /**
+ * Add a target-dependent attribute to a fuction
+ * @see llvm::AttrBuilder::addAttribute()
+ */
+void LLVMAddTargetDependentFunctionAttr(LLVMValueRef Fn, const char *A,
+                                        const char *V);
+
+/**
  * Obtain an attribute from a function.
  *
  * @see llvm::Function::getAttributes()
@@ -2515,6 +2571,10 @@ LLVMValueRef LLVMBuildIsNotNull(LLVMBuil
                                 const char *Name);
 LLVMValueRef LLVMBuildPtrDiff(LLVMBuilderRef, LLVMValueRef LHS,
                               LLVMValueRef RHS, const char *Name);
+LLVMValueRef LLVMBuildAtomicRMW(LLVMBuilderRef B,LLVMAtomicRMWBinOp op,  
+                                LLVMValueRef PTR, LLVMValueRef Val, 
+                                LLVMAtomicOrdering ordering, 
+                                LLVMBool singleThread);
 
 /**
  * @}
@@ -2560,6 +2620,8 @@ LLVMMemoryBufferRef LLVMCreateMemoryBuff
 LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRangeCopy(const char *InputData,
                                                               size_t InputDataLength,
                                                               const char *BufferName);
+const char *LLVMGetBufferStart(LLVMMemoryBufferRef MemBuf);
+size_t LLVMGetBufferSize(LLVMMemoryBufferRef MemBuf);
 void LLVMDisposeMemoryBuffer(LLVMMemoryBufferRef MemBuf);
 
 /**
@@ -2669,100 +2731,6 @@ LLVMBool LLVMIsMultithreaded();
 
 #ifdef __cplusplus
 }
-
-namespace llvm {
-  class MemoryBuffer;
-  class PassManagerBase;
-  
-  #define DEFINE_SIMPLE_CONVERSION_FUNCTIONS(ty, ref)   \
-    inline ty *unwrap(ref P) {                          \
-      return reinterpret_cast<ty*>(P);                  \
-    }                                                   \
-                                                        \
-    inline ref wrap(const ty *P) {                      \
-      return reinterpret_cast<ref>(const_cast<ty*>(P)); \
-    }
-  
-  #define DEFINE_ISA_CONVERSION_FUNCTIONS(ty, ref)  \
-    DEFINE_SIMPLE_CONVERSION_FUNCTIONS(ty, ref)         \
-                                                        \
-    template<typename T>                                \
-    inline T *unwrap(ref P) {                           \
-      return cast<T>(unwrap(P));                        \
-    }
-  
-  #define DEFINE_STDCXX_CONVERSION_FUNCTIONS(ty, ref)   \
-    DEFINE_SIMPLE_CONVERSION_FUNCTIONS(ty, ref)         \
-                                                        \
-    template<typename T>                                \
-    inline T *unwrap(ref P) {                           \
-      T *Q = (T*)unwrap(P);                             \
-      assert(Q && "Invalid cast!");                     \
-      return Q;                                         \
-    }
-  
-  DEFINE_ISA_CONVERSION_FUNCTIONS   (Type,               LLVMTypeRef          )
-  DEFINE_ISA_CONVERSION_FUNCTIONS   (Value,              LLVMValueRef         )
-  DEFINE_SIMPLE_CONVERSION_FUNCTIONS(Module,             LLVMModuleRef        )
-  DEFINE_SIMPLE_CONVERSION_FUNCTIONS(BasicBlock,         LLVMBasicBlockRef    )
-  DEFINE_SIMPLE_CONVERSION_FUNCTIONS(IRBuilder<>,        LLVMBuilderRef       )
-  DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer,       LLVMMemoryBufferRef  )
-  DEFINE_SIMPLE_CONVERSION_FUNCTIONS(LLVMContext,        LLVMContextRef       )
-  DEFINE_SIMPLE_CONVERSION_FUNCTIONS(Use,                LLVMUseRef           )
-  DEFINE_STDCXX_CONVERSION_FUNCTIONS(PassManagerBase,    LLVMPassManagerRef   )
-  DEFINE_STDCXX_CONVERSION_FUNCTIONS(PassRegistry,       LLVMPassRegistryRef  )
-  /* LLVMModuleProviderRef exists for historical reasons, but now just holds a
-   * Module.
-   */
-  inline Module *unwrap(LLVMModuleProviderRef MP) {
-    return reinterpret_cast<Module*>(MP);
-  }
-  
-  #undef DEFINE_STDCXX_CONVERSION_FUNCTIONS
-  #undef DEFINE_ISA_CONVERSION_FUNCTIONS
-  #undef DEFINE_SIMPLE_CONVERSION_FUNCTIONS
-
-  /* Specialized opaque context conversions.
-   */
-  inline LLVMContext **unwrap(LLVMContextRef* Tys) {
-    return reinterpret_cast<LLVMContext**>(Tys);
-  }
-  
-  inline LLVMContextRef *wrap(const LLVMContext **Tys) {
-    return reinterpret_cast<LLVMContextRef*>(const_cast<LLVMContext**>(Tys));
-  }
-  
-  /* Specialized opaque type conversions.
-   */
-  inline Type **unwrap(LLVMTypeRef* Tys) {
-    return reinterpret_cast<Type**>(Tys);
-  }
-  
-  inline LLVMTypeRef *wrap(Type **Tys) {
-    return reinterpret_cast<LLVMTypeRef*>(const_cast<Type**>(Tys));
-  }
-  
-  /* Specialized opaque value conversions.
-   */ 
-  inline Value **unwrap(LLVMValueRef *Vals) {
-    return reinterpret_cast<Value**>(Vals);
-  }
-  
-  template<typename T>
-  inline T **unwrap(LLVMValueRef *Vals, unsigned Length) {
-    #ifdef DEBUG
-    for (LLVMValueRef *I = Vals, *E = Vals + Length; I != E; ++I)
-      cast<T>(*I);
-    #endif
-    (void)Length;
-    return reinterpret_cast<T**>(Vals);
-  }
-  
-  inline LLVMValueRef *wrap(const Value **Vals) {
-    return reinterpret_cast<LLVMValueRef*>(const_cast<Value**>(Vals));
-  }
-}
-
 #endif /* !defined(__cplusplus) */
 
 #endif /* !defined(LLVM_C_CORE_H) */

Modified: head/contrib/llvm/include/llvm-c/ExecutionEngine.h
==============================================================================
--- head/contrib/llvm/include/llvm-c/ExecutionEngine.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm-c/ExecutionEngine.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -21,6 +21,7 @@
 
 #include "llvm-c/Core.h"
 #include "llvm-c/Target.h"
+#include "llvm-c/TargetMachine.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -34,11 +35,19 @@ extern "C" {
  */
 
 void LLVMLinkInJIT(void);
+void LLVMLinkInMCJIT(void);
 void LLVMLinkInInterpreter(void);
 
 typedef struct LLVMOpaqueGenericValue *LLVMGenericValueRef;
 typedef struct LLVMOpaqueExecutionEngine *LLVMExecutionEngineRef;
 
+struct LLVMMCJITCompilerOptions {
+  unsigned OptLevel;
+  LLVMCodeModel CodeModel;
+  LLVMBool NoFramePointerElim;
+  LLVMBool EnableFastISel;
+};
+
 /*===-- Operations on generic values --------------------------------------===*/
 
 LLVMGenericValueRef LLVMCreateGenericValueOfInt(LLVMTypeRef Ty,
@@ -75,6 +84,31 @@ LLVMBool LLVMCreateJITCompilerForModule(
                                         unsigned OptLevel,
                                         char **OutError);
 
+void LLVMInitializeMCJITCompilerOptions(
+  struct LLVMMCJITCompilerOptions *Options, size_t SizeOfOptions);
+
+/**
+ * Create an MCJIT execution engine for a module, with the given options. It is
+ * the responsibility of the caller to ensure that all fields in Options up to
+ * the given SizeOfOptions are initialized. It is correct to pass a smaller
+ * value of SizeOfOptions that omits some fields. The canonical way of using
+ * this is:
+ *
+ * LLVMMCJITCompilerOptions options;
+ * LLVMInitializeMCJITCompilerOptions(&options, sizeof(options));
+ * ... fill in those options you care about
+ * LLVMCreateMCJITCompilerForModule(&jit, mod, &options, sizeof(options),
+ *                                  &error);
+ *
+ * Note that this is also correct, though possibly suboptimal:
+ *
+ * LLVMCreateMCJITCompilerForModule(&jit, mod, 0, 0, &error);
+ */
+LLVMBool LLVMCreateMCJITCompilerForModule(
+  LLVMExecutionEngineRef *OutJIT, LLVMModuleRef M,
+  struct LLVMMCJITCompilerOptions *Options, size_t SizeOfOptions,
+  char **OutError);
+
 /** Deprecated: Use LLVMCreateExecutionEngineForModule instead. */
 LLVMBool LLVMCreateExecutionEngine(LLVMExecutionEngineRef *OutEE,
                                    LLVMModuleProviderRef MP,
@@ -123,7 +157,8 @@ LLVMBool LLVMRemoveModuleProvider(LLVMEx
 LLVMBool LLVMFindFunction(LLVMExecutionEngineRef EE, const char *Name,
                           LLVMValueRef *OutFn);
 
-void *LLVMRecompileAndRelinkFunction(LLVMExecutionEngineRef EE, LLVMValueRef Fn);
+void *LLVMRecompileAndRelinkFunction(LLVMExecutionEngineRef EE,
+                                     LLVMValueRef Fn);
 
 LLVMTargetDataRef LLVMGetExecutionEngineTargetData(LLVMExecutionEngineRef EE);
 
@@ -137,27 +172,7 @@ void *LLVMGetPointerToGlobal(LLVMExecuti
  */
 
 #ifdef __cplusplus
-}
-
-namespace llvm {
-  struct GenericValue;
-  class ExecutionEngine;
-  
-  #define DEFINE_SIMPLE_CONVERSION_FUNCTIONS(ty, ref)   \
-    inline ty *unwrap(ref P) {                          \
-      return reinterpret_cast<ty*>(P);                  \
-    }                                                   \
-                                                        \
-    inline ref wrap(const ty *P) {                      \
-      return reinterpret_cast<ref>(const_cast<ty*>(P)); \
-    }
-  
-  DEFINE_SIMPLE_CONVERSION_FUNCTIONS(GenericValue,    LLVMGenericValueRef   )
-  DEFINE_SIMPLE_CONVERSION_FUNCTIONS(ExecutionEngine, LLVMExecutionEngineRef)
-  
-  #undef DEFINE_SIMPLE_CONVERSION_FUNCTIONS
-}
-  
+}  
 #endif /* defined(__cplusplus) */
 
 #endif

Modified: head/contrib/llvm/include/llvm-c/Object.h
==============================================================================
--- head/contrib/llvm/include/llvm-c/Object.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm-c/Object.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -23,8 +23,6 @@
 #include "llvm/Config/llvm-config.h"
 
 #ifdef __cplusplus
-#include "llvm/Object/ObjectFile.h"
-
 extern "C" {
 #endif
 
@@ -99,50 +97,6 @@ const char *LLVMGetRelocationValueString
 
 #ifdef __cplusplus
 }
-
-namespace llvm {
-  namespace object {
-    inline ObjectFile *unwrap(LLVMObjectFileRef OF) {
-      return reinterpret_cast<ObjectFile*>(OF);
-    }
-
-    inline LLVMObjectFileRef wrap(const ObjectFile *OF) {
-      return reinterpret_cast<LLVMObjectFileRef>(const_cast<ObjectFile*>(OF));
-    }
-
-    inline section_iterator *unwrap(LLVMSectionIteratorRef SI) {
-      return reinterpret_cast<section_iterator*>(SI);
-    }
-
-    inline LLVMSectionIteratorRef
-    wrap(const section_iterator *SI) {
-      return reinterpret_cast<LLVMSectionIteratorRef>
-        (const_cast<section_iterator*>(SI));
-    }
-
-    inline symbol_iterator *unwrap(LLVMSymbolIteratorRef SI) {
-      return reinterpret_cast<symbol_iterator*>(SI);
-    }
-
-    inline LLVMSymbolIteratorRef
-    wrap(const symbol_iterator *SI) {
-      return reinterpret_cast<LLVMSymbolIteratorRef>
-        (const_cast<symbol_iterator*>(SI));
-    }
-
-    inline relocation_iterator *unwrap(LLVMRelocationIteratorRef SI) {
-      return reinterpret_cast<relocation_iterator*>(SI);
-    }
-
-    inline LLVMRelocationIteratorRef
-    wrap(const relocation_iterator *SI) {
-      return reinterpret_cast<LLVMRelocationIteratorRef>
-        (const_cast<relocation_iterator*>(SI));
-    }
-
-  }
-}
-
 #endif /* defined(__cplusplus) */
 
 #endif

Modified: head/contrib/llvm/include/llvm-c/Target.h
==============================================================================
--- head/contrib/llvm/include/llvm-c/Target.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm-c/Target.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -235,29 +235,6 @@ void LLVMDisposeTargetData(LLVMTargetDat
 
 #ifdef __cplusplus
 }
-
-namespace llvm {
-  class DataLayout;
-  class TargetLibraryInfo;
-
-  inline DataLayout *unwrap(LLVMTargetDataRef P) {
-    return reinterpret_cast<DataLayout*>(P);
-  }
-  
-  inline LLVMTargetDataRef wrap(const DataLayout *P) {
-    return reinterpret_cast<LLVMTargetDataRef>(const_cast<DataLayout*>(P));
-  }
-
-  inline TargetLibraryInfo *unwrap(LLVMTargetLibraryInfoRef P) {
-    return reinterpret_cast<TargetLibraryInfo*>(P);
-  }
-
-  inline LLVMTargetLibraryInfoRef wrap(const TargetLibraryInfo *P) {
-    TargetLibraryInfo *X = const_cast<TargetLibraryInfo*>(P);
-    return reinterpret_cast<LLVMTargetLibraryInfoRef>(X);
-  }
-}
-
 #endif /* defined(__cplusplus) */
 
 #endif

Modified: head/contrib/llvm/include/llvm-c/TargetMachine.h
==============================================================================
--- head/contrib/llvm/include/llvm-c/TargetMachine.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm-c/TargetMachine.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -25,7 +25,7 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
-typedef struct LLVMTargetMachine *LLVMTargetMachineRef;
+typedef struct LLVMOpaqueTargetMachine *LLVMTargetMachineRef;
 typedef struct LLVMTarget *LLVMTargetRef;
 
 typedef enum {
@@ -114,30 +114,11 @@ LLVMTargetDataRef LLVMGetTargetMachineDa
 LLVMBool LLVMTargetMachineEmitToFile(LLVMTargetMachineRef T, LLVMModuleRef M,
   char *Filename, LLVMCodeGenFileType codegen, char **ErrorMessage);
 
-
-
-
+/** Compile the LLVM IR stored in \p M and store the result in \p OutMemBuf. */
+LLVMBool LLVMTargetMachineEmitToMemoryBuffer(LLVMTargetMachineRef T, LLVMModuleRef M,
+  LLVMCodeGenFileType codegen, char** ErrorMessage, LLVMMemoryBufferRef *OutMemBuf);
 #ifdef __cplusplus
 }
-
-namespace llvm {
-  class TargetMachine;
-  class Target;
-
-  inline TargetMachine *unwrap(LLVMTargetMachineRef P) {
-    return reinterpret_cast<TargetMachine*>(P);
-  }
-  inline Target *unwrap(LLVMTargetRef P) {
-    return reinterpret_cast<Target*>(P);
-  }
-  inline LLVMTargetMachineRef wrap(const TargetMachine *P) {
-    return reinterpret_cast<LLVMTargetMachineRef>(
-      const_cast<TargetMachine*>(P));
-  }
-  inline LLVMTargetRef wrap(const Target * P) {
-    return reinterpret_cast<LLVMTargetRef>(const_cast<Target*>(P));
-  }
-}
 #endif
 
 #endif

Modified: head/contrib/llvm/include/llvm-c/Transforms/PassManagerBuilder.h
==============================================================================
--- head/contrib/llvm/include/llvm-c/Transforms/PassManagerBuilder.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm-c/Transforms/PassManagerBuilder.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -86,16 +86,6 @@ void LLVMPassManagerBuilderPopulateLTOPa
 
 #ifdef __cplusplus
 }
-
-namespace llvm {
-  inline PassManagerBuilder *unwrap(LLVMPassManagerBuilderRef P) {
-    return reinterpret_cast<PassManagerBuilder*>(P);
-  }
-
-  inline LLVMPassManagerBuilderRef wrap(PassManagerBuilder *P) {
-    return reinterpret_cast<LLVMPassManagerBuilderRef>(P);
-  }
-}
 #endif
 
 #endif

Modified: head/contrib/llvm/include/llvm-c/Transforms/Vectorize.h
==============================================================================
--- head/contrib/llvm/include/llvm-c/Transforms/Vectorize.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm-c/Transforms/Vectorize.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -39,6 +39,9 @@ void LLVMAddBBVectorizePass(LLVMPassMana
 /** See llvm::createLoopVectorizePass function. */
 void LLVMAddLoopVectorizePass(LLVMPassManagerRef PM);
 
+/** See llvm::createSLPVectorizerPass function. */
+void LLVMAddSLPVectorizePass(LLVMPassManagerRef PM);
+
 /**
  * @}
  */

Modified: head/contrib/llvm/include/llvm/ADT/ArrayRef.h
==============================================================================
--- head/contrib/llvm/include/llvm/ADT/ArrayRef.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm/ADT/ArrayRef.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -10,6 +10,7 @@
 #ifndef LLVM_ADT_ARRAYREF_H
 #define LLVM_ADT_ARRAYREF_H
 
+#include "llvm/ADT/None.h"
 #include "llvm/ADT/SmallVector.h"
 #include <vector>
 
@@ -49,6 +50,9 @@ namespace llvm {
     /// Construct an empty ArrayRef.
     /*implicit*/ ArrayRef() : Data(0), Length(0) {}
 
+    /// Construct an empty ArrayRef from None.
+    /*implicit*/ ArrayRef(NoneType) : Data(0), Length(0) {}
+
     /// Construct an ArrayRef from a single element.
     /*implicit*/ ArrayRef(const T &OneElt)
       : Data(&OneElt), Length(1) {}
@@ -174,9 +178,12 @@ namespace llvm {
   public:
     typedef T *iterator;
 
-    /// Construct an empty ArrayRef.
+    /// Construct an empty MutableArrayRef.
     /*implicit*/ MutableArrayRef() : ArrayRef<T>() {}
 
+    /// Construct an empty MutableArrayRef from None.
+    /*implicit*/ MutableArrayRef(NoneType) : ArrayRef<T>() {}
+
     /// Construct an MutableArrayRef from a single element.
     /*implicit*/ MutableArrayRef(T &OneElt) : ArrayRef<T>(OneElt) {}
 

Modified: head/contrib/llvm/include/llvm/ADT/DenseMap.h
==============================================================================
--- head/contrib/llvm/include/llvm/ADT/DenseMap.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm/ADT/DenseMap.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -618,7 +618,7 @@ public:
     unsigned OldNumBuckets = NumBuckets;
     BucketT *OldBuckets = Buckets;
 
-    allocateBuckets(std::max<unsigned>(64, NextPowerOf2(AtLeast-1)));
+    allocateBuckets(std::max<unsigned>(64, static_cast<unsigned>(NextPowerOf2(AtLeast-1))));
     assert(Buckets);
     if (!OldBuckets) {
       this->BaseT::initEmpty();

Modified: head/contrib/llvm/include/llvm/ADT/Hashing.h
==============================================================================
--- head/contrib/llvm/include/llvm/ADT/Hashing.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm/ADT/Hashing.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -151,7 +151,7 @@ namespace detail {
 inline uint64_t fetch64(const char *p) {
   uint64_t result;
   memcpy(&result, p, sizeof(result));
-  if (sys::isBigEndianHost())
+  if (sys::IsBigEndianHost)
     return sys::SwapByteOrder(result);
   return result;
 }
@@ -159,7 +159,7 @@ inline uint64_t fetch64(const char *p) {
 inline uint32_t fetch32(const char *p) {
   uint32_t result;
   memcpy(&result, p, sizeof(result));
-  if (sys::isBigEndianHost())
+  if (sys::IsBigEndianHost)
     return sys::SwapByteOrder(result);
   return result;
 }

Modified: head/contrib/llvm/include/llvm/ADT/PointerIntPair.h
==============================================================================
--- head/contrib/llvm/include/llvm/ADT/PointerIntPair.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm/ADT/PointerIntPair.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -29,7 +29,7 @@ struct DenseMapInfo;
 /// on the number of bits available according to PointerLikeTypeTraits for the
 /// type.
 ///
-/// Note that PointerIntPair always puts the Int part in the highest bits
+/// Note that PointerIntPair always puts the IntVal part in the highest bits
 /// possible.  For example, PointerIntPair<void*, 1, bool> will put the bit for
 /// the bool into bit #2, not bit #0, which allows the low two bits to be used
 /// for something else.  For example, this allows:
@@ -57,13 +57,13 @@ class PointerIntPair {
   };
 public:
   PointerIntPair() : Value(0) {}
-  PointerIntPair(PointerTy Ptr, IntType Int) {
+  PointerIntPair(PointerTy PtrVal, IntType IntVal) {
     assert(IntBits <= PtrTraits::NumLowBitsAvailable &&
            "PointerIntPair formed with integer size too large for pointer");
-    setPointerAndInt(Ptr, Int);
+    setPointerAndInt(PtrVal, IntVal);
   }
-  explicit PointerIntPair(PointerTy Ptr) {
-    initWithPointer(Ptr);
+  explicit PointerIntPair(PointerTy PtrVal) {
+    initWithPointer(PtrVal);
   }
 
   PointerTy getPointer() const {
@@ -75,41 +75,41 @@ public:
     return (IntType)((Value >> IntShift) & IntMask);
   }
 
-  void setPointer(PointerTy Ptr) {
-    intptr_t PtrVal
-      = reinterpret_cast<intptr_t>(PtrTraits::getAsVoidPointer(Ptr));
-    assert((PtrVal & ((1 << PtrTraits::NumLowBitsAvailable)-1)) == 0 &&
+  void setPointer(PointerTy PtrVal) {
+    intptr_t PtrWord
+      = reinterpret_cast<intptr_t>(PtrTraits::getAsVoidPointer(PtrVal));
+    assert((PtrWord & ((1 << PtrTraits::NumLowBitsAvailable)-1)) == 0 &&
            "Pointer is not sufficiently aligned");
     // Preserve all low bits, just update the pointer.
-    Value = PtrVal | (Value & ~PointerBitMask);
+    Value = PtrWord | (Value & ~PointerBitMask);
   }
 
-  void setInt(IntType Int) {
-    intptr_t IntVal = Int;
-    assert(IntVal < (1 << IntBits) && "Integer too large for field");
+  void setInt(IntType IntVal) {
+    intptr_t IntWord = static_cast<intptr_t>(IntVal);
+    assert(IntWord < (1 << IntBits) && "Integer too large for field");
     
     // Preserve all bits other than the ones we are updating.
     Value &= ~ShiftedIntMask;     // Remove integer field.
-    Value |= IntVal << IntShift;  // Set new integer.
+    Value |= IntWord << IntShift;  // Set new integer.
   }
 
-  void initWithPointer(PointerTy Ptr) {
-    intptr_t PtrVal
-      = reinterpret_cast<intptr_t>(PtrTraits::getAsVoidPointer(Ptr));
-    assert((PtrVal & ((1 << PtrTraits::NumLowBitsAvailable)-1)) == 0 &&
+  void initWithPointer(PointerTy PtrVal) {
+    intptr_t PtrWord
+      = reinterpret_cast<intptr_t>(PtrTraits::getAsVoidPointer(PtrVal));
+    assert((PtrWord & ((1 << PtrTraits::NumLowBitsAvailable)-1)) == 0 &&
            "Pointer is not sufficiently aligned");
-    Value = PtrVal;
+    Value = PtrWord;
   }
 
-  void setPointerAndInt(PointerTy Ptr, IntType Int) {
-    intptr_t PtrVal
-      = reinterpret_cast<intptr_t>(PtrTraits::getAsVoidPointer(Ptr));
-    assert((PtrVal & ((1 << PtrTraits::NumLowBitsAvailable)-1)) == 0 &&
+  void setPointerAndInt(PointerTy PtrVal, IntType IntVal) {
+    intptr_t PtrWord
+      = reinterpret_cast<intptr_t>(PtrTraits::getAsVoidPointer(PtrVal));
+    assert((PtrWord & ((1 << PtrTraits::NumLowBitsAvailable)-1)) == 0 &&
            "Pointer is not sufficiently aligned");
-    intptr_t IntVal = Int;
-    assert(IntVal < (1 << IntBits) && "Integer too large for field");
+    intptr_t IntWord = static_cast<intptr_t>(IntVal);
+    assert(IntWord < (1 << IntBits) && "Integer too large for field");
 
-    Value = PtrVal | (IntVal << IntShift);
+    Value = PtrWord | (IntWord << IntShift);
   }
 
   PointerTy const *getAddrOfPointer() const {

Modified: head/contrib/llvm/include/llvm/ADT/StringRef.h
==============================================================================
--- head/contrib/llvm/include/llvm/ADT/StringRef.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm/ADT/StringRef.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -260,7 +260,7 @@ namespace llvm {
 
     /// Find the first character in the string that is \p C, or npos if not
     /// found. Same as find.
-    size_type find_first_of(char C, size_t From = 0) const {
+    size_t find_first_of(char C, size_t From = 0) const {
       return find(C, From);
     }
 
@@ -268,21 +268,21 @@ namespace llvm {
     /// not found.
     ///
     /// Complexity: O(size() + Chars.size())
-    size_type find_first_of(StringRef Chars, size_t From = 0) const;
+    size_t find_first_of(StringRef Chars, size_t From = 0) const;
 
     /// Find the first character in the string that is not \p C or npos if not
     /// found.
-    size_type find_first_not_of(char C, size_t From = 0) const;
+    size_t find_first_not_of(char C, size_t From = 0) const;
 
     /// Find the first character in the string that is not in the string
     /// \p Chars, or npos if not found.
     ///
     /// Complexity: O(size() + Chars.size())
-    size_type find_first_not_of(StringRef Chars, size_t From = 0) const;
+    size_t find_first_not_of(StringRef Chars, size_t From = 0) const;
 
     /// Find the last character in the string that is \p C, or npos if not
     /// found.
-    size_type find_last_of(char C, size_t From = npos) const {
+    size_t find_last_of(char C, size_t From = npos) const {
       return rfind(C, From);
     }
 
@@ -290,17 +290,17 @@ namespace llvm {
     /// found.
     ///
     /// Complexity: O(size() + Chars.size())
-    size_type find_last_of(StringRef Chars, size_t From = npos) const;
+    size_t find_last_of(StringRef Chars, size_t From = npos) const;
 
     /// Find the last character in the string that is not \p C, or npos if not
     /// found.
-    size_type find_last_not_of(char C, size_t From = npos) const;
+    size_t find_last_not_of(char C, size_t From = npos) const;
 
     /// Find the last character in the string that is not in \p Chars, or
     /// npos if not found.
     ///
     /// Complexity: O(size() + Chars.size())
-    size_type find_last_not_of(StringRef Chars, size_t From = npos) const;
+    size_t find_last_not_of(StringRef Chars, size_t From = npos) const;
 
     /// @}
     /// @name Helpful Algorithms
@@ -390,14 +390,14 @@ namespace llvm {
 
     /// Return a StringRef equal to 'this' but with the first \p N elements
     /// dropped.
-    StringRef drop_front(unsigned N = 1) const {
+    StringRef drop_front(size_t N = 1) const {
       assert(size() >= N && "Dropping more elements than exist");
       return substr(N);
     }
 
     /// Return a StringRef equal to 'this' but with the last \p N elements
     /// dropped.
-    StringRef drop_back(unsigned N = 1) const {
+    StringRef drop_back(size_t N = 1) const {
       assert(size() >= N && "Dropping more elements than exist");
       return substr(0, size()-N);
     }

Modified: head/contrib/llvm/include/llvm/ADT/Triple.h
==============================================================================
--- head/contrib/llvm/include/llvm/ADT/Triple.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm/ADT/Triple.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -43,7 +43,7 @@ public:
   enum ArchType {
     UnknownArch,
 
-    arm,     // ARM; arm, armv.*, xscale
+    arm,     // ARM: arm, armv.*, xscale
     aarch64, // AArch64: aarch64
     hexagon, // Hexagon: hexagon
     mips,    // MIPS: mips, mipsallegrex
@@ -56,6 +56,7 @@ public:
     r600,    // R600: AMD GPUs HD2XXX - HD6XXX
     sparc,   // Sparc: sparc
     sparcv9, // Sparcv9: Sparcv9
+    systemz, // SystemZ: s390x
     tce,     // TCE (http://tce.cs.tut.fi/): tce
     thumb,   // Thumb: thumb, thumbv.*
     x86,     // X86: i[3-9]86

Modified: head/contrib/llvm/include/llvm/ADT/Twine.h
==============================================================================
--- head/contrib/llvm/include/llvm/ADT/Twine.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm/ADT/Twine.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -236,7 +236,7 @@ namespace llvm {
     /// getLHSKind - Get the NodeKind of the left-hand side.
     NodeKind getLHSKind() const { return (NodeKind) LHSKind; }
 
-    /// getRHSKind - Get the NodeKind of the left-hand side.
+    /// getRHSKind - Get the NodeKind of the right-hand side.
     NodeKind getRHSKind() const { return (NodeKind) RHSKind; }
 
     /// printOneChild - Print one child from a twine.

Modified: head/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h
==============================================================================
--- head/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -146,14 +146,6 @@ static inline CallInst *isFreeCall(Value
 bool getObjectSize(const Value *Ptr, uint64_t &Size, const DataLayout *TD,
                    const TargetLibraryInfo *TLI, bool RoundToAlign = false);
 
-/// \brief Compute the size of the underlying object pointed by Ptr. Returns
-/// true and the object size in Size if successful, and false otherwise.
-/// If RoundToAlign is true, then Size is rounded up to the aligment of allocas,
-/// byval arguments, and global variables.
-bool getUnderlyingObjectSize(const Value *Ptr, uint64_t &Size,
-                             const DataLayout *TD, const TargetLibraryInfo *TLI,
-                             bool RoundToAlign = false);
-
 
 
 typedef std::pair<APInt, APInt> SizeOffsetType;
@@ -163,14 +155,12 @@ typedef std::pair<APInt, APInt> SizeOffs
 class ObjectSizeOffsetVisitor
   : public InstVisitor<ObjectSizeOffsetVisitor, SizeOffsetType> {
 
-  typedef DenseMap<const Value*, SizeOffsetType> CacheMapTy;
-
   const DataLayout *TD;
   const TargetLibraryInfo *TLI;
   bool RoundToAlign;
   unsigned IntTyBits;
   APInt Zero;
-  CacheMapTy CacheMap;
+  SmallPtrSet<Instruction *, 8> SeenInsts;
 
   APInt align(APInt Size, uint64_t Align);
 

Modified: head/contrib/llvm/include/llvm/Analysis/RegionInfo.h
==============================================================================
--- head/contrib/llvm/include/llvm/Analysis/RegionInfo.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm/Analysis/RegionInfo.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -266,6 +266,24 @@ public:
   /// @param BB  The new exit basic block of the region.
   void replaceExit(BasicBlock *BB);
 
+  /// @brief Recursively replace the entry basic block of the region.
+  ///
+  /// This function replaces the entry basic block with a new basic block. It
+  /// also updates all child regions that have the same entry basic block as
+  /// this region.
+  ///
+  /// @param NewEntry The new entry basic block.
+  void replaceEntryRecursive(BasicBlock *NewEntry);
+
+  /// @brief Recursively replace the exit basic block of the region.
+  ///
+  /// This function replaces the exit basic block with a new basic block. It
+  /// also updates all child regions that have the same exit basic block as
+  /// this region.
+  ///
+  /// @param NewExit The new exit basic block.
+  void replaceExitRecursive(BasicBlock *NewExit);
+
   /// @brief Get the exit BasicBlock of the Region.
   /// @return The exit BasicBlock of the Region, NULL if this is the TopLevel
   ///         Region.

Modified: head/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h
==============================================================================
--- head/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -453,7 +453,8 @@ namespace llvm {
     ExitLimit ComputeExitLimitFromCond(const Loop *L,
                                        Value *ExitCond,
                                        BasicBlock *TBB,
-                                       BasicBlock *FBB);
+                                       BasicBlock *FBB,
+                                       bool IsSubExpr);
 
     /// ComputeExitLimitFromICmp - Compute the number of times the backedge of
     /// the specified loop will execute if its exit condition were a conditional
@@ -461,7 +462,8 @@ namespace llvm {
     ExitLimit ComputeExitLimitFromICmp(const Loop *L,
                                        ICmpInst *ExitCond,
                                        BasicBlock *TBB,
-                                       BasicBlock *FBB);
+                                       BasicBlock *FBB,
+                                       bool IsSubExpr);
 
     /// ComputeLoadConstantCompareExitLimit - Given an exit condition
     /// of 'icmp op load X, cst', try to see if we can compute the
@@ -483,7 +485,7 @@ namespace llvm {
     /// HowFarToZero - Return the number of times an exit condition comparing
     /// the specified value to zero will execute.  If not computable, return
     /// CouldNotCompute.
-    ExitLimit HowFarToZero(const SCEV *V, const Loop *L);
+    ExitLimit HowFarToZero(const SCEV *V, const Loop *L, bool IsSubExpr);
 
     /// HowFarToNonZero - Return the number of times an exit condition checking
     /// the specified value for nonzero will execute.  If not computable, return
@@ -495,7 +497,7 @@ namespace llvm {
     /// computable, return CouldNotCompute. isSigned specifies whether the
     /// less-than is signed.
     ExitLimit HowManyLessThans(const SCEV *LHS, const SCEV *RHS,
-                               const Loop *L, bool isSigned);
+                               const Loop *L, bool isSigned, bool IsSubExpr);
 
     /// getPredecessorWithUniqueSuccessorForBB - Return a predecessor of BB
     /// (which may not be an immediate predecessor) which has exactly one

Modified: head/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h
==============================================================================
--- head/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -25,6 +25,7 @@ namespace llvm {
   class BlockAddress;
   class GCStrategy;
   class Constant;
+  class ConstantArray;
   class GCMetadataPrinter;
   class GlobalValue;
   class GlobalVariable;
@@ -134,6 +135,9 @@ namespace llvm {
     /// getDataLayout - Return information about data layout.
     const DataLayout &getDataLayout() const;
 
+    /// getTargetTriple - Return the target triple string.
+    StringRef getTargetTriple() const;
+
     /// getCurrentSection() - Return the current section we are emitting to.
     const MCSection *getCurrentSection() const;
 
@@ -480,7 +484,7 @@ namespace llvm {
     void EmitJumpTableEntry(const MachineJumpTableInfo *MJTI,
                             const MachineBasicBlock *MBB,
                             unsigned uid) const;
-    void EmitLLVMUsedList(const Constant *List);
+    void EmitLLVMUsedList(const ConstantArray *InitList);
     void EmitXXStructorList(const Constant *List, bool isCtor);
     GCMetadataPrinter *GetOrCreateGCPrinter(GCStrategy *C);
   };

Modified: head/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h
==============================================================================
--- head/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h	Wed Jun 12 18:08:11 2013	(r251661)
+++ head/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h	Wed Jun 12 18:48:53 2013	(r251662)
@@ -163,8 +163,56 @@ private:
 
   unsigned StackOffset;
   SmallVector<uint32_t, 16> UsedRegs;
-  unsigned FirstByValReg;
-  bool FirstByValRegValid;
+
+  // ByValInfo and SmallVector<ByValInfo, 4> ByValRegs:
+  //
+  // Vector of ByValInfo instances (ByValRegs) is introduced for byval registers
+  // tracking.
+  // Or, in another words it tracks byval parameters that are stored in
+  // general purpose registers.
+  //
+  // For 4 byte stack alignment,
+  // instance index means byval parameter number in formal
+  // arguments set. Assume, we have some "struct_type" with size = 4 bytes,
+  // then, for function "foo":
+  //
+  // i32 foo(i32 %p, %struct_type* %r, i32 %s, %struct_type* %t)
+  //
+  // ByValRegs[0] describes how "%r" is stored (Begin == r1, End == r2)
+  // ByValRegs[1] describes how "%t" is stored (Begin == r3, End == r4).
+  //
+  // In case of 8 bytes stack alignment,
+  // ByValRegs may also contain information about wasted registers.
+  // In function shown above, r3 would be wasted according to AAPCS rules.
+  // And in that case ByValRegs[1].Waste would be "true".
+  // ByValRegs vector size still would be 2,
+  // while "%t" goes to the stack: it wouldn't be described in ByValRegs.
+  //
+  // Supposed use-case for this collection:
+  // 1. Initially ByValRegs is empty, InRegsParamsProceed is 0.
+  // 2. HandleByVal fillups ByValRegs.
+  // 3. Argument analysis (LowerFormatArguments, for example). After
+  // some byval argument was analyzed, InRegsParamsProceed is increased.
+  struct ByValInfo {
+    ByValInfo(unsigned B, unsigned E, bool IsWaste = false) :
+      Begin(B), End(E), Waste(IsWaste) {}
+    // First register allocated for current parameter.
+    unsigned Begin;
+
+    // First after last register allocated for current parameter.
+    unsigned End;
+
+    // Means that current range of registers doesn't belong to any
+    // parameters. It was wasted due to stack alignment rules.
+    // For more information see:
+    // AAPCS, 5.5 Parameter Passing, Stage C, C.3.
+    bool Waste;
+  };
+  SmallVector<ByValInfo, 4 > ByValRegs;
+
+  // InRegsParamsProceed - shows how many instances of ByValRegs was proceed
+  // during argument analysis.

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


More information about the svn-src-all mailing list