OSDN Git Service

Fix eglGetDisplay(EGL_DEFAULT_DISPLAY) on Linux.
authorNicolas Capens <capn@google.com>
Mon, 17 Nov 2014 04:28:38 +0000 (23:28 -0500)
committerNicolas Capens <capn@google.com>
Mon, 17 Nov 2014 04:28:38 +0000 (23:28 -0500)
src/LLVM/LLVM.cbp
src/OpenGL/libEGL/Display.cpp
src/OpenGL/libEGL/libEGL.cbp
src/OpenGL/libGLESv2/libGLESv2.cbp
tests/third_party/PowerVR/Examples/Beginner/01_HelloAPI/OGLES2/Build/OGLES2HelloAPI.cbp

index 61e417d..0a79fce 100644 (file)
@@ -86,6 +86,7 @@
                        </Target>
                </Build>
                <Compiler>
+                       <Add option="-std=c++11" />
                        <Add option="-Wall" />
                        <Add option="-fexceptions" />
                        <Add option="-fno-operator-names" />
                        <Add directory="./include/" />
                        <Add directory="./lib/Target/X86" />
                </Compiler>
-               <Unit filename="./include/llvm-c/Analysis.h" />
-               <Unit filename="./include/llvm-c/BitReader.h" />
-               <Unit filename="./include/llvm-c/BitWriter.h" />
-               <Unit filename="./include/llvm-c/Core.h" />
-               <Unit filename="./include/llvm-c/Disassembler.h" />
-               <Unit filename="./include/llvm-c/EnhancedDisassembly.h" />
-               <Unit filename="./include/llvm-c/ExecutionEngine.h" />
-               <Unit filename="./include/llvm-c/Initialization.h" />
-               <Unit filename="./include/llvm-c/LinkTimeOptimizer.h" />
-               <Unit filename="./include/llvm-c/Object.h" />
-               <Unit filename="./include/llvm-c/Target.h" />
-               <Unit filename="./include/llvm-c/Transforms/IPO.h" />
-               <Unit filename="./include/llvm-c/Transforms/PassManagerBuilder.h" />
-               <Unit filename="./include/llvm-c/Transforms/Scalar.h" />
-               <Unit filename="./include/llvm-c/lto.h" />
-               <Unit filename="./include/llvm/ADT/APFloat.h" />
-               <Unit filename="./include/llvm/ADT/APInt.h" />
-               <Unit filename="./include/llvm/ADT/APSInt.h" />
-               <Unit filename="./include/llvm/ADT/ArrayRef.h" />
-               <Unit filename="./include/llvm/ADT/BitVector.h" />
-               <Unit filename="./include/llvm/ADT/DAGDeltaAlgorithm.h" />
-               <Unit filename="./include/llvm/ADT/DeltaAlgorithm.h" />
-               <Unit filename="./include/llvm/ADT/DenseMap.h" />
-               <Unit filename="./include/llvm/ADT/DenseMapInfo.h" />
-               <Unit filename="./include/llvm/ADT/DenseSet.h" />
-               <Unit filename="./include/llvm/ADT/DepthFirstIterator.h" />
-               <Unit filename="./include/llvm/ADT/EquivalenceClasses.h" />
-               <Unit filename="./include/llvm/ADT/FoldingSet.h" />
-               <Unit filename="./include/llvm/ADT/GraphTraits.h" />
-               <Unit filename="./include/llvm/ADT/ImmutableIntervalMap.h" />
-               <Unit filename="./include/llvm/ADT/ImmutableList.h" />
-               <Unit filename="./include/llvm/ADT/ImmutableMap.h" />
-               <Unit filename="./include/llvm/ADT/ImmutableSet.h" />
-               <Unit filename="./include/llvm/ADT/InMemoryStruct.h" />
-               <Unit filename="./include/llvm/ADT/IndexedMap.h" />
-               <Unit filename="./include/llvm/ADT/IntEqClasses.h" />
-               <Unit filename="./include/llvm/ADT/IntervalMap.h" />
-               <Unit filename="./include/llvm/ADT/IntrusiveRefCntPtr.h" />
-               <Unit filename="./include/llvm/ADT/NullablePtr.h" />
-               <Unit filename="./include/llvm/ADT/Optional.h" />
-               <Unit filename="./include/llvm/ADT/OwningPtr.h" />
-               <Unit filename="./include/llvm/ADT/PackedVector.h" />
-               <Unit filename="./include/llvm/ADT/PointerIntPair.h" />
-               <Unit filename="./include/llvm/ADT/PointerUnion.h" />
-               <Unit filename="./include/llvm/ADT/PostOrderIterator.h" />
-               <Unit filename="./include/llvm/ADT/PriorityQueue.h" />
-               <Unit filename="./include/llvm/ADT/SCCIterator.h" />
-               <Unit filename="./include/llvm/ADT/STLExtras.h" />
-               <Unit filename="./include/llvm/ADT/ScopedHashTable.h" />
-               <Unit filename="./include/llvm/ADT/SetOperations.h" />
-               <Unit filename="./include/llvm/ADT/SetVector.h" />
-               <Unit filename="./include/llvm/ADT/SmallBitVector.h" />
-               <Unit filename="./include/llvm/ADT/SmallPtrSet.h" />
-               <Unit filename="./include/llvm/ADT/SmallSet.h" />
-               <Unit filename="./include/llvm/ADT/SmallString.h" />
-               <Unit filename="./include/llvm/ADT/SmallVector.h" />
-               <Unit filename="./include/llvm/ADT/SparseBitVector.h" />
-               <Unit filename="./include/llvm/ADT/Statistic.h" />
-               <Unit filename="./include/llvm/ADT/StringExtras.h" />
-               <Unit filename="./include/llvm/ADT/StringMap.h" />
-               <Unit filename="./include/llvm/ADT/StringRef.h" />
-               <Unit filename="./include/llvm/ADT/StringSet.h" />
-               <Unit filename="./include/llvm/ADT/StringSwitch.h" />
-               <Unit filename="./include/llvm/ADT/TinyPtrVector.h" />
-               <Unit filename="./include/llvm/ADT/Trie.h" />
-               <Unit filename="./include/llvm/ADT/Triple.h" />
-               <Unit filename="./include/llvm/ADT/Twine.h" />
-               <Unit filename="./include/llvm/ADT/UniqueVector.h" />
-               <Unit filename="./include/llvm/ADT/ValueMap.h" />
-               <Unit filename="./include/llvm/ADT/VectorExtras.h" />
-               <Unit filename="./include/llvm/ADT/ilist.h" />
-               <Unit filename="./include/llvm/ADT/ilist_node.h" />
-               <Unit filename="./include/llvm/Analysis/AliasAnalysis.h" />
-               <Unit filename="./include/llvm/Analysis/AliasSetTracker.h" />
-               <Unit filename="./include/llvm/Analysis/BlockFrequencyImpl.h" />
-               <Unit filename="./include/llvm/Analysis/BlockFrequencyInfo.h" />
-               <Unit filename="./include/llvm/Analysis/BranchProbabilityInfo.h" />
-               <Unit filename="./include/llvm/Analysis/CFGPrinter.h" />
-               <Unit filename="./include/llvm/Analysis/CallGraph.h" />
-               <Unit filename="./include/llvm/Analysis/CaptureTracking.h" />
-               <Unit filename="./include/llvm/Analysis/CodeMetrics.h" />
-               <Unit filename="./include/llvm/Analysis/ConstantFolding.h" />
-               <Unit filename="./include/llvm/Analysis/ConstantsScanner.h" />
-               <Unit filename="./include/llvm/Analysis/DIBuilder.h" />
-               <Unit filename="./include/llvm/Analysis/DOTGraphTraitsPass.h" />
-               <Unit filename="./include/llvm/Analysis/DebugInfo.h" />
-               <Unit filename="./include/llvm/Analysis/DomPrinter.h" />
-               <Unit filename="./include/llvm/Analysis/DominanceFrontier.h" />
-               <Unit filename="./include/llvm/Analysis/DominatorInternals.h" />
-               <Unit filename="./include/llvm/Analysis/Dominators.h" />
-               <Unit filename="./include/llvm/Analysis/FindUsedTypes.h" />
-               <Unit filename="./include/llvm/Analysis/IVUsers.h" />
-               <Unit filename="./include/llvm/Analysis/InlineCost.h" />
-               <Unit filename="./include/llvm/Analysis/InstructionSimplify.h" />
-               <Unit filename="./include/llvm/Analysis/Interval.h" />
-               <Unit filename="./include/llvm/Analysis/IntervalIterator.h" />
-               <Unit filename="./include/llvm/Analysis/IntervalPartition.h" />
-               <Unit filename="./include/llvm/Analysis/LazyValueInfo.h" />
-               <Unit filename="./include/llvm/Analysis/LibCallAliasAnalysis.h" />
-               <Unit filename="./include/llvm/Analysis/LibCallSemantics.h" />
-               <Unit filename="./include/llvm/Analysis/Lint.h" />
-               <Unit filename="./include/llvm/Analysis/Loads.h" />
-               <Unit filename="./include/llvm/Analysis/LoopDependenceAnalysis.h" />
-               <Unit filename="./include/llvm/Analysis/LoopInfo.h" />
-               <Unit filename="./include/llvm/Analysis/LoopIterator.h" />
-               <Unit filename="./include/llvm/Analysis/LoopPass.h" />
-               <Unit filename="./include/llvm/Analysis/MemoryBuiltins.h" />
-               <Unit filename="./include/llvm/Analysis/MemoryDependenceAnalysis.h" />
-               <Unit filename="./include/llvm/Analysis/PHITransAddr.h" />
-               <Unit filename="./include/llvm/Analysis/Passes.h" />
-               <Unit filename="./include/llvm/Analysis/PathNumbering.h" />
-               <Unit filename="./include/llvm/Analysis/PathProfileInfo.h" />
-               <Unit filename="./include/llvm/Analysis/PostDominators.h" />
-               <Unit filename="./include/llvm/Analysis/ProfileInfo.h" />
-               <Unit filename="./include/llvm/Analysis/ProfileInfoLoader.h" />
-               <Unit filename="./include/llvm/Analysis/ProfileInfoTypes.h" />
-               <Unit filename="./include/llvm/Analysis/RegionInfo.h" />
-               <Unit filename="./include/llvm/Analysis/RegionIterator.h" />
-               <Unit filename="./include/llvm/Analysis/RegionPass.h" />
-               <Unit filename="./include/llvm/Analysis/RegionPrinter.h" />
-               <Unit filename="./include/llvm/Analysis/ScalarEvolution.h" />
-               <Unit filename="./include/llvm/Analysis/ScalarEvolutionExpander.h" />
-               <Unit filename="./include/llvm/Analysis/ScalarEvolutionExpressions.h" />
-               <Unit filename="./include/llvm/Analysis/ScalarEvolutionNormalization.h" />
-               <Unit filename="./include/llvm/Analysis/SparsePropagation.h" />
-               <Unit filename="./include/llvm/Analysis/Trace.h" />
-               <Unit filename="./include/llvm/Analysis/ValueTracking.h" />
-               <Unit filename="./include/llvm/Analysis/Verifier.h" />
-               <Unit filename="./include/llvm/Argument.h" />
-               <Unit filename="./include/llvm/Assembly/AssemblyAnnotationWriter.h" />
-               <Unit filename="./include/llvm/Assembly/Parser.h" />
-               <Unit filename="./include/llvm/Assembly/PrintModulePass.h" />
-               <Unit filename="./include/llvm/Assembly/Writer.h" />
-               <Unit filename="./include/llvm/Attributes.h" />
-               <Unit filename="./include/llvm/AutoUpgrade.h" />
-               <Unit filename="./include/llvm/BasicBlock.h" />
-               <Unit filename="./include/llvm/Bitcode/Archive.h" />
-               <Unit filename="./include/llvm/Bitcode/BitCodes.h" />
-               <Unit filename="./include/llvm/Bitcode/BitstreamReader.h" />
-               <Unit filename="./include/llvm/Bitcode/BitstreamWriter.h" />
-               <Unit filename="./include/llvm/Bitcode/LLVMBitCodes.h" />
-               <Unit filename="./include/llvm/Bitcode/ReaderWriter.h" />
-               <Unit filename="./include/llvm/CallGraphSCCPass.h" />
-               <Unit filename="./include/llvm/CallingConv.h" />
-               <Unit filename="./include/llvm/CodeGen/Analysis.h" />
-               <Unit filename="./include/llvm/CodeGen/AsmPrinter.h" />
-               <Unit filename="./include/llvm/CodeGen/BinaryObject.h" />
-               <Unit filename="./include/llvm/CodeGen/CalcSpillWeights.h" />
-               <Unit filename="./include/llvm/CodeGen/CallingConvLower.h" />
-               <Unit filename="./include/llvm/CodeGen/EdgeBundles.h" />
-               <Unit filename="./include/llvm/CodeGen/FastISel.h" />
-               <Unit filename="./include/llvm/CodeGen/FunctionLoweringInfo.h" />
-               <Unit filename="./include/llvm/CodeGen/GCMetadata.h" />
-               <Unit filename="./include/llvm/CodeGen/GCMetadataPrinter.h" />
-               <Unit filename="./include/llvm/CodeGen/GCStrategy.h" />
-               <Unit filename="./include/llvm/CodeGen/GCs.h" />
-               <Unit filename="./include/llvm/CodeGen/ISDOpcodes.h" />
-               <Unit filename="./include/llvm/CodeGen/IntrinsicLowering.h" />
-               <Unit filename="./include/llvm/CodeGen/JITCodeEmitter.h" />
-               <Unit filename="./include/llvm/CodeGen/LatencyPriorityQueue.h" />
-               <Unit filename="./include/llvm/CodeGen/LexicalScopes.h" />
-               <Unit filename="./include/llvm/CodeGen/LinkAllAsmWriterComponents.h" />
-               <Unit filename="./include/llvm/CodeGen/LinkAllCodegenComponents.h" />
-               <Unit filename="./include/llvm/CodeGen/LiveInterval.h" />
-               <Unit filename="./include/llvm/CodeGen/LiveIntervalAnalysis.h" />
-               <Unit filename="./include/llvm/CodeGen/LiveStackAnalysis.h" />
-               <Unit filename="./include/llvm/CodeGen/LiveVariables.h" />
-               <Unit filename="./include/llvm/CodeGen/MachORelocation.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineBasicBlock.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineBlockFrequencyInfo.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineBranchProbabilityInfo.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineCodeEmitter.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineCodeInfo.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineConstantPool.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineDominators.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineFrameInfo.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineFunction.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineFunctionAnalysis.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineFunctionPass.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineInstr.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineInstrBuilder.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineJumpTableInfo.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineLoopInfo.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineLoopRanges.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineMemOperand.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineModuleInfo.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineModuleInfoImpls.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineOperand.h" />
-               <Unit filename="./include/llvm/CodeGen/MachinePassRegistry.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineRegisterInfo.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineRelocation.h" />
-               <Unit filename="./include/llvm/CodeGen/MachineSSAUpdater.h" />
-               <Unit filename="./include/llvm/CodeGen/ObjectCodeEmitter.h" />
-               <Unit filename="./include/llvm/CodeGen/PBQP/Graph.h" />
-               <Unit filename="./include/llvm/CodeGen/PBQP/HeuristicBase.h" />
-               <Unit filename="./include/llvm/CodeGen/PBQP/HeuristicSolver.h" />
-               <Unit filename="./include/llvm/CodeGen/PBQP/Heuristics/Briggs.h" />
-               <Unit filename="./include/llvm/CodeGen/PBQP/Math.h" />
-               <Unit filename="./include/llvm/CodeGen/PBQP/Solution.h" />
-               <Unit filename="./include/llvm/CodeGen/Passes.h" />
-               <Unit filename="./include/llvm/CodeGen/ProcessImplicitDefs.h" />
-               <Unit filename="./include/llvm/CodeGen/PseudoSourceValue.h" />
-               <Unit filename="./include/llvm/CodeGen/RegAllocPBQP.h" />
-               <Unit filename="./include/llvm/CodeGen/RegAllocRegistry.h" />
-               <Unit filename="./include/llvm/CodeGen/RegisterScavenging.h" />
-               <Unit filename="./include/llvm/CodeGen/RuntimeLibcalls.h" />
-               <Unit filename="./include/llvm/CodeGen/ScheduleDAG.h" />
-               <Unit filename="./include/llvm/CodeGen/ScheduleHazardRecognizer.h" />
-               <Unit filename="./include/llvm/CodeGen/SchedulerRegistry.h" />
-               <Unit filename="./include/llvm/CodeGen/ScoreboardHazardRecognizer.h" />
-               <Unit filename="./include/llvm/CodeGen/SelectionDAG.h" />
-               <Unit filename="./include/llvm/CodeGen/SelectionDAGISel.h" />
-               <Unit filename="./include/llvm/CodeGen/SelectionDAGNodes.h" />
-               <Unit filename="./include/llvm/CodeGen/SlotIndexes.h" />
-               <Unit filename="./include/llvm/CodeGen/TargetLoweringObjectFileImpl.h" />
-               <Unit filename="./include/llvm/CodeGen/ValueTypes.h" />
-               <Unit filename="./include/llvm/Config/config.h" />
-               <Unit filename="./include/llvm/Config/llvm-config.h" />
-               <Unit filename="./include/llvm/Constant.h" />
-               <Unit filename="./include/llvm/Constants.h" />
-               <Unit filename="./include/llvm/DebugInfo/DIContext.h" />
-               <Unit filename="./include/llvm/DebugInfoProbe.h" />
-               <Unit filename="./include/llvm/DefaultPasses.h" />
-               <Unit filename="./include/llvm/DerivedTypes.h" />
-               <Unit filename="./include/llvm/ExecutionEngine/ExecutionEngine.h" />
-               <Unit filename="./include/llvm/ExecutionEngine/GenericValue.h" />
-               <Unit filename="./include/llvm/ExecutionEngine/Interpreter.h" />
-               <Unit filename="./include/llvm/ExecutionEngine/JIT.h" />
-               <Unit filename="./include/llvm/ExecutionEngine/JITEventListener.h" />
-               <Unit filename="./include/llvm/ExecutionEngine/JITMemoryManager.h" />
-               <Unit filename="./include/llvm/ExecutionEngine/MCJIT.h" />
-               <Unit filename="./include/llvm/ExecutionEngine/RuntimeDyld.h" />
-               <Unit filename="./include/llvm/Function.h" />
-               <Unit filename="./include/llvm/GVMaterializer.h" />
-               <Unit filename="./include/llvm/GlobalAlias.h" />
-               <Unit filename="./include/llvm/GlobalValue.h" />
-               <Unit filename="./include/llvm/GlobalVariable.h" />
-               <Unit filename="./include/llvm/InitializePasses.h" />
-               <Unit filename="./include/llvm/InlineAsm.h" />
-               <Unit filename="./include/llvm/InstrTypes.h" />
-               <Unit filename="./include/llvm/Instruction.h" />
-               <Unit filename="./include/llvm/Instructions.h" />
-               <Unit filename="./include/llvm/IntrinsicInst.h" />
-               <Unit filename="./include/llvm/Intrinsics.h" />
-               <Unit filename="./include/llvm/LLVMContext.h" />
-               <Unit filename="./include/llvm/LinkAllPasses.h" />
-               <Unit filename="./include/llvm/LinkAllVMCore.h" />
-               <Unit filename="./include/llvm/Linker.h" />
-               <Unit filename="./include/llvm/MC/EDInstInfo.h" />
-               <Unit filename="./include/llvm/MC/MCAsmBackend.h" />
-               <Unit filename="./include/llvm/MC/MCAsmInfo.h" />
-               <Unit filename="./include/llvm/MC/MCAsmInfoCOFF.h" />
-               <Unit filename="./include/llvm/MC/MCAsmInfoDarwin.h" />
-               <Unit filename="./include/llvm/MC/MCAsmLayout.h" />
-               <Unit filename="./include/llvm/MC/MCAssembler.h" />
-               <Unit filename="./include/llvm/MC/MCAtom.h" />
-               <Unit filename="./include/llvm/MC/MCCodeEmitter.h" />
-               <Unit filename="./include/llvm/MC/MCCodeGenInfo.h" />
-               <Unit filename="./include/llvm/MC/MCContext.h" />
-               <Unit filename="./include/llvm/MC/MCDirectives.h" />
-               <Unit filename="./include/llvm/MC/MCDisassembler.h" />
-               <Unit filename="./include/llvm/MC/MCDwarf.h" />
-               <Unit filename="./include/llvm/MC/MCELFObjectWriter.h" />
-               <Unit filename="./include/llvm/MC/MCELFSymbolFlags.h" />
-               <Unit filename="./include/llvm/MC/MCExpr.h" />
-               <Unit filename="./include/llvm/MC/MCFixup.h" />
-               <Unit filename="./include/llvm/MC/MCFixupKindInfo.h" />
-               <Unit filename="./include/llvm/MC/MCInst.h" />
-               <Unit filename="./include/llvm/MC/MCInstPrinter.h" />
-               <Unit filename="./include/llvm/MC/MCInstrAnalysis.h" />
-               <Unit filename="./include/llvm/MC/MCInstrDesc.h" />
-               <Unit filename="./include/llvm/MC/MCInstrInfo.h" />
-               <Unit filename="./include/llvm/MC/MCInstrItineraries.h" />
-               <Unit filename="./include/llvm/MC/MCLabel.h" />
-               <Unit filename="./include/llvm/MC/MCMachOSymbolFlags.h" />
-               <Unit filename="./include/llvm/MC/MCMachObjectWriter.h" />
-               <Unit filename="./include/llvm/MC/MCModule.h" />
-               <Unit filename="./include/llvm/MC/MCObjectFileInfo.h" />
-               <Unit filename="./include/llvm/MC/MCObjectStreamer.h" />
-               <Unit filename="./include/llvm/MC/MCObjectWriter.h" />
-               <Unit filename="./include/llvm/MC/MCParser/AsmCond.h" />
-               <Unit filename="./include/llvm/MC/MCParser/AsmLexer.h" />
-               <Unit filename="./include/llvm/MC/MCParser/MCAsmLexer.h" />
-               <Unit filename="./include/llvm/MC/MCParser/MCAsmParser.h" />
-               <Unit filename="./include/llvm/MC/MCParser/MCAsmParserExtension.h" />
-               <Unit filename="./include/llvm/MC/MCParser/MCParsedAsmOperand.h" />
-               <Unit filename="./include/llvm/MC/MCRegisterInfo.h" />
-               <Unit filename="./include/llvm/MC/MCSection.h" />
-               <Unit filename="./include/llvm/MC/MCSectionCOFF.h" />
-               <Unit filename="./include/llvm/MC/MCSectionELF.h" />
-               <Unit filename="./include/llvm/MC/MCSectionMachO.h" />
-               <Unit filename="./include/llvm/MC/MCStreamer.h" />
-               <Unit filename="./include/llvm/MC/MCSubtargetInfo.h" />
-               <Unit filename="./include/llvm/MC/MCSymbol.h" />
-               <Unit filename="./include/llvm/MC/MCTargetAsmLexer.h" />
-               <Unit filename="./include/llvm/MC/MCTargetAsmParser.h" />
-               <Unit filename="./include/llvm/MC/MCValue.h" />
-               <Unit filename="./include/llvm/MC/MCWin64EH.h" />
-               <Unit filename="./include/llvm/MC/MachineLocation.h" />
-               <Unit filename="./include/llvm/MC/SectionKind.h" />
-               <Unit filename="./include/llvm/MC/SubtargetFeature.h" />
-               <Unit filename="./include/llvm/Metadata.h" />
-               <Unit filename="./include/llvm/Module.h" />
-               <Unit filename="./include/llvm/Object/Archive.h" />
-               <Unit filename="./include/llvm/Object/Binary.h" />
-               <Unit filename="./include/llvm/Object/COFF.h" />
-               <Unit filename="./include/llvm/Object/Error.h" />
-               <Unit filename="./include/llvm/Object/MachO.h" />
-               <Unit filename="./include/llvm/Object/MachOFormat.h" />
-               <Unit filename="./include/llvm/Object/MachOObject.h" />
-               <Unit filename="./include/llvm/Object/ObjectFile.h" />
-               <Unit filename="./include/llvm/OperandTraits.h" />
-               <Unit filename="./include/llvm/Operator.h" />
-               <Unit filename="./include/llvm/Pass.h" />
-               <Unit filename="./include/llvm/PassAnalysisSupport.h" />
-               <Unit filename="./include/llvm/PassManager.h" />
-               <Unit filename="./include/llvm/PassManagers.h" />
-               <Unit filename="./include/llvm/PassRegistry.h" />
-               <Unit filename="./include/llvm/PassSupport.h" />
-               <Unit filename="./include/llvm/Support/AIXDataTypesFix.h" />
-               <Unit filename="./include/llvm/Support/AlignOf.h" />
-               <Unit filename="./include/llvm/Support/Allocator.h" />
-               <Unit filename="./include/llvm/Support/Atomic.h" />
-               <Unit filename="./include/llvm/Support/BlockFrequency.h" />
-               <Unit filename="./include/llvm/Support/BranchProbability.h" />
-               <Unit filename="./include/llvm/Support/CFG.h" />
-               <Unit filename="./include/llvm/Support/COFF.h" />
-               <Unit filename="./include/llvm/Support/CallSite.h" />
-               <Unit filename="./include/llvm/Support/Capacity.h" />
-               <Unit filename="./include/llvm/Support/Casting.h" />
-               <Unit filename="./include/llvm/Support/CodeGen.h" />
-               <Unit filename="./include/llvm/Support/CommandLine.h" />
-               <Unit filename="./include/llvm/Support/Compiler.h" />
-               <Unit filename="./include/llvm/Support/ConstantFolder.h" />
-               <Unit filename="./include/llvm/Support/ConstantRange.h" />
-               <Unit filename="./include/llvm/Support/CrashRecoveryContext.h" />
-               <Unit filename="./include/llvm/Support/DOTGraphTraits.h" />
-               <Unit filename="./include/llvm/Support/DataExtractor.h" />
-               <Unit filename="./include/llvm/Support/DataFlow.h" />
-               <Unit filename="./include/llvm/Support/DataTypes.h" />
-               <Unit filename="./include/llvm/Support/Debug.h" />
-               <Unit filename="./include/llvm/Support/DebugLoc.h" />
-               <Unit filename="./include/llvm/Support/Disassembler.h" />
-               <Unit filename="./include/llvm/Support/Dwarf.h" />
-               <Unit filename="./include/llvm/Support/DynamicLibrary.h" />
-               <Unit filename="./include/llvm/Support/ELF.h" />
-               <Unit filename="./include/llvm/Support/Endian.h" />
-               <Unit filename="./include/llvm/Support/Errno.h" />
-               <Unit filename="./include/llvm/Support/ErrorHandling.h" />
-               <Unit filename="./include/llvm/Support/FEnv.h" />
-               <Unit filename="./include/llvm/Support/FileSystem.h" />
-               <Unit filename="./include/llvm/Support/FileUtilities.h" />
-               <Unit filename="./include/llvm/Support/Format.h" />
-               <Unit filename="./include/llvm/Support/FormattedStream.h" />
-               <Unit filename="./include/llvm/Support/GCOV.h" />
-               <Unit filename="./include/llvm/Support/GetElementPtrTypeIterator.h" />
-               <Unit filename="./include/llvm/Support/GraphWriter.h" />
-               <Unit filename="./include/llvm/Support/Host.h" />
-               <Unit filename="./include/llvm/Support/IRBuilder.h" />
-               <Unit filename="./include/llvm/Support/IRReader.h" />
-               <Unit filename="./include/llvm/Support/IncludeFile.h" />
-               <Unit filename="./include/llvm/Support/InstIterator.h" />
-               <Unit filename="./include/llvm/Support/InstVisitor.h" />
-               <Unit filename="./include/llvm/Support/LeakDetector.h" />
-               <Unit filename="./include/llvm/Support/MachO.h" />
-               <Unit filename="./include/llvm/Support/ManagedStatic.h" />
-               <Unit filename="./include/llvm/Support/MathExtras.h" />
-               <Unit filename="./include/llvm/Support/Memory.h" />
-               <Unit filename="./include/llvm/Support/MemoryBuffer.h" />
-               <Unit filename="./include/llvm/Support/MemoryObject.h" />
-               <Unit filename="./include/llvm/Support/Mutex.h" />
-               <Unit filename="./include/llvm/Support/MutexGuard.h" />
-               <Unit filename="./include/llvm/Support/NoFolder.h" />
-               <Unit filename="./include/llvm/Support/OutputBuffer.h" />
-               <Unit filename="./include/llvm/Support/PassNameParser.h" />
-               <Unit filename="./include/llvm/Support/Path.h" />
-               <Unit filename="./include/llvm/Support/PathV1.h" />
-               <Unit filename="./include/llvm/Support/PathV2.h" />
-               <Unit filename="./include/llvm/Support/PatternMatch.h" />
-               <Unit filename="./include/llvm/Support/PluginLoader.h" />
-               <Unit filename="./include/llvm/Support/PointerLikeTypeTraits.h" />
-               <Unit filename="./include/llvm/Support/PredIteratorCache.h" />
-               <Unit filename="./include/llvm/Support/PrettyStackTrace.h" />
-               <Unit filename="./include/llvm/Support/Process.h" />
-               <Unit filename="./include/llvm/Support/Program.h" />
-               <Unit filename="./include/llvm/Support/RWMutex.h" />
-               <Unit filename="./include/llvm/Support/Recycler.h" />
-               <Unit filename="./include/llvm/Support/RecyclingAllocator.h" />
-               <Unit filename="./include/llvm/Support/Registry.h" />
-               <Unit filename="./include/llvm/Support/RegistryParser.h" />
-               <Unit filename="./include/llvm/Support/SMLoc.h" />
-               <Unit filename="./include/llvm/Support/Signals.h" />
-               <Unit filename="./include/llvm/Support/Solaris.h" />
-               <Unit filename="./include/llvm/Support/SourceMgr.h" />
-               <Unit filename="./include/llvm/Support/StringPool.h" />
-               <Unit filename="./include/llvm/Support/SwapByteOrder.h" />
-               <Unit filename="./include/llvm/Support/SystemUtils.h" />
-               <Unit filename="./include/llvm/Support/TargetFolder.h" />
-               <Unit filename="./include/llvm/Support/TargetRegistry.h" />
-               <Unit filename="./include/llvm/Support/TargetSelect.h" />
-               <Unit filename="./include/llvm/Support/ThreadLocal.h" />
-               <Unit filename="./include/llvm/Support/Threading.h" />
-               <Unit filename="./include/llvm/Support/TimeValue.h" />
-               <Unit filename="./include/llvm/Support/Timer.h" />
-               <Unit filename="./include/llvm/Support/ToolOutputFile.h" />
-               <Unit filename="./include/llvm/Support/TypeBuilder.h" />
-               <Unit filename="./include/llvm/Support/Valgrind.h" />
-               <Unit filename="./include/llvm/Support/ValueHandle.h" />
-               <Unit filename="./include/llvm/Support/Win64EH.h" />
-               <Unit filename="./include/llvm/Support/circular_raw_ostream.h" />
-               <Unit filename="./include/llvm/Support/raw_os_ostream.h" />
-               <Unit filename="./include/llvm/Support/raw_ostream.h" />
-               <Unit filename="./include/llvm/Support/system_error.h" />
-               <Unit filename="./include/llvm/Support/type_traits.h" />
-               <Unit filename="./include/llvm/SymbolTableListTraits.h" />
-               <Unit filename="./include/llvm/TableGen/Error.h" />
-               <Unit filename="./include/llvm/TableGen/Main.h" />
-               <Unit filename="./include/llvm/TableGen/Record.h" />
-               <Unit filename="./include/llvm/TableGen/TableGenAction.h" />
-               <Unit filename="./include/llvm/TableGen/TableGenBackend.h" />
-               <Unit filename="./include/llvm/Target/Mangler.h" />
-               <Unit filename="./include/llvm/Target/TargetCallingConv.h" />
-               <Unit filename="./include/llvm/Target/TargetData.h" />
-               <Unit filename="./include/llvm/Target/TargetELFWriterInfo.h" />
-               <Unit filename="./include/llvm/Target/TargetFrameLowering.h" />
-               <Unit filename="./include/llvm/Target/TargetInstrInfo.h" />
-               <Unit filename="./include/llvm/Target/TargetIntrinsicInfo.h" />
-               <Unit filename="./include/llvm/Target/TargetJITInfo.h" />
-               <Unit filename="./include/llvm/Target/TargetLibraryInfo.h" />
-               <Unit filename="./include/llvm/Target/TargetLowering.h" />
-               <Unit filename="./include/llvm/Target/TargetLoweringObjectFile.h" />
-               <Unit filename="./include/llvm/Target/TargetMachine.h" />
-               <Unit filename="./include/llvm/Target/TargetOpcodes.h" />
-               <Unit filename="./include/llvm/Target/TargetOptions.h" />
-               <Unit filename="./include/llvm/Target/TargetRegisterInfo.h" />
-               <Unit filename="./include/llvm/Target/TargetSelectionDAGInfo.h" />
-               <Unit filename="./include/llvm/Target/TargetSubtargetInfo.h" />
-               <Unit filename="./include/llvm/Transforms/IPO.h" />
-               <Unit filename="./include/llvm/Transforms/IPO/InlinerPass.h" />
-               <Unit filename="./include/llvm/Transforms/IPO/PassManagerBuilder.h" />
-               <Unit filename="./include/llvm/Transforms/Instrumentation.h" />
-               <Unit filename="./include/llvm/Transforms/Scalar.h" />
-               <Unit filename="./include/llvm/Transforms/Utils/AddrModeMatcher.h" />
-               <Unit filename="./include/llvm/Transforms/Utils/BasicBlockUtils.h" />
-               <Unit filename="./include/llvm/Transforms/Utils/BasicInliner.h" />
-               <Unit filename="./include/llvm/Transforms/Utils/BuildLibCalls.h" />
-               <Unit filename="./include/llvm/Transforms/Utils/Cloning.h" />
-               <Unit filename="./include/llvm/Transforms/Utils/FunctionUtils.h" />
-               <Unit filename="./include/llvm/Transforms/Utils/Local.h" />
-               <Unit filename="./include/llvm/Transforms/Utils/PromoteMemToReg.h" />
-               <Unit filename="./include/llvm/Transforms/Utils/SSAUpdater.h" />
-               <Unit filename="./include/llvm/Transforms/Utils/SSAUpdaterImpl.h" />
-               <Unit filename="./include/llvm/Transforms/Utils/SimplifyIndVar.h" />
-               <Unit filename="./include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h" />
-               <Unit filename="./include/llvm/Transforms/Utils/UnrollLoop.h" />
-               <Unit filename="./include/llvm/Transforms/Utils/ValueMapper.h" />
-               <Unit filename="./include/llvm/Type.h" />
-               <Unit filename="./include/llvm/Use.h" />
-               <Unit filename="./include/llvm/User.h" />
-               <Unit filename="./include/llvm/Value.h" />
-               <Unit filename="./include/llvm/ValueSymbolTable.h" />
-               <Unit filename="./lib/Analysis/AliasAnalysis.cpp" />
-               <Unit filename="./lib/Analysis/AliasSetTracker.cpp" />
-               <Unit filename="./lib/Analysis/BasicAliasAnalysis.cpp" />
-               <Unit filename="./lib/Analysis/BranchProbabilityInfo.cpp" />
-               <Unit filename="./lib/Analysis/CaptureTracking.cpp" />
-               <Unit filename="./lib/Analysis/ConstantFolding.cpp" />
-               <Unit filename="./lib/Analysis/DIBuilder.cpp" />
-               <Unit filename="./lib/Analysis/DebugInfo.cpp" />
-               <Unit filename="./lib/Analysis/IVUsers.cpp" />
-               <Unit filename="./lib/Analysis/InstructionSimplify.cpp" />
-               <Unit filename="./lib/Analysis/Loads.cpp" />
-               <Unit filename="./lib/Analysis/LoopInfo.cpp" />
-               <Unit filename="./lib/Analysis/LoopPass.cpp" />
-               <Unit filename="./lib/Analysis/MemoryBuiltins.cpp" />
-               <Unit filename="./lib/Analysis/MemoryDependenceAnalysis.cpp" />
-               <Unit filename="./lib/Analysis/NoAliasAnalysis.cpp" />
-               <Unit filename="./lib/Analysis/PHITransAddr.cpp" />
-               <Unit filename="./lib/Analysis/PathNumbering.cpp" />
-               <Unit filename="./lib/Analysis/ProfileInfo.cpp" />
-               <Unit filename="./lib/Analysis/ScalarEvolution.cpp" />
-               <Unit filename="./lib/Analysis/ScalarEvolutionExpander.cpp" />
-               <Unit filename="./lib/Analysis/ScalarEvolutionNormalization.cpp" />
-               <Unit filename="./lib/Analysis/TypeBasedAliasAnalysis.cpp" />
-               <Unit filename="./lib/Analysis/ValueTracking.cpp" />
-               <Unit filename="./lib/CodeGen/AggressiveAntiDepBreaker.cpp" />
-               <Unit filename="./lib/CodeGen/AggressiveAntiDepBreaker.h" />
-               <Unit filename="./lib/CodeGen/AllocationOrder.cpp" />
-               <Unit filename="./lib/CodeGen/AllocationOrder.h" />
-               <Unit filename="./lib/CodeGen/Analysis.cpp" />
-               <Unit filename="./lib/CodeGen/AntiDepBreaker.h" />
-               <Unit filename="./lib/CodeGen/BranchFolding.cpp" />
-               <Unit filename="./lib/CodeGen/BranchFolding.h" />
-               <Unit filename="./lib/CodeGen/CalcSpillWeights.cpp" />
-               <Unit filename="./lib/CodeGen/CallingConvLower.cpp" />
-               <Unit filename="./lib/CodeGen/CodePlacementOpt.cpp" />
-               <Unit filename="./lib/CodeGen/CriticalAntiDepBreaker.cpp" />
-               <Unit filename="./lib/CodeGen/CriticalAntiDepBreaker.h" />
-               <Unit filename="./lib/CodeGen/DeadMachineInstructionElim.cpp" />
-               <Unit filename="./lib/CodeGen/DwarfEHPrepare.cpp" />
-               <Unit filename="./lib/CodeGen/ELF.h" />
-               <Unit filename="./lib/CodeGen/ELFCodeEmitter.cpp" />
-               <Unit filename="./lib/CodeGen/ELFCodeEmitter.h" />
-               <Unit filename="./lib/CodeGen/ELFWriter.cpp" />
-               <Unit filename="./lib/CodeGen/ELFWriter.h" />
-               <Unit filename="./lib/CodeGen/EdgeBundles.cpp" />
-               <Unit filename="./lib/CodeGen/ExecutionDepsFix.cpp" />
-               <Unit filename="./lib/CodeGen/ExpandISelPseudos.cpp" />
-               <Unit filename="./lib/CodeGen/ExpandPostRAPseudos.cpp" />
-               <Unit filename="./lib/CodeGen/GCMetadata.cpp" />
-               <Unit filename="./lib/CodeGen/GCStrategy.cpp" />
-               <Unit filename="./lib/CodeGen/InlineSpiller.cpp" />
-               <Unit filename="./lib/CodeGen/InterferenceCache.cpp" />
-               <Unit filename="./lib/CodeGen/InterferenceCache.h" />
-               <Unit filename="./lib/CodeGen/IntrinsicLowering.cpp" />
-               <Unit filename="./lib/CodeGen/LLVMTargetMachine.cpp" />
-               <Unit filename="./lib/CodeGen/LatencyPriorityQueue.cpp" />
-               <Unit filename="./lib/CodeGen/LexicalScopes.cpp" />
-               <Unit filename="./lib/CodeGen/LiveDebugVariables.cpp" />
-               <Unit filename="./lib/CodeGen/LiveDebugVariables.h" />
-               <Unit filename="./lib/CodeGen/LiveInterval.cpp" />
-               <Unit filename="./lib/CodeGen/LiveIntervalAnalysis.cpp" />
-               <Unit filename="./lib/CodeGen/LiveIntervalUnion.cpp" />
-               <Unit filename="./lib/CodeGen/LiveIntervalUnion.h" />
-               <Unit filename="./lib/CodeGen/LiveRangeCalc.cpp" />
-               <Unit filename="./lib/CodeGen/LiveRangeCalc.h" />
-               <Unit filename="./lib/CodeGen/LiveRangeEdit.cpp" />
-               <Unit filename="./lib/CodeGen/LiveRangeEdit.h" />
-               <Unit filename="./lib/CodeGen/LiveStackAnalysis.cpp" />
-               <Unit filename="./lib/CodeGen/LiveVariables.cpp" />
-               <Unit filename="./lib/CodeGen/LocalStackSlotAllocation.cpp" />
-               <Unit filename="./lib/CodeGen/MachineBasicBlock.cpp" />
-               <Unit filename="./lib/CodeGen/MachineCSE.cpp" />
-               <Unit filename="./lib/CodeGen/MachineDominators.cpp" />
-               <Unit filename="./lib/CodeGen/MachineFunction.cpp" />
-               <Unit filename="./lib/CodeGen/MachineFunctionAnalysis.cpp" />
-               <Unit filename="./lib/CodeGen/MachineFunctionPass.cpp" />
-               <Unit filename="./lib/CodeGen/MachineFunctionPrinterPass.cpp" />
-               <Unit filename="./lib/CodeGen/MachineInstr.cpp" />
-               <Unit filename="./lib/CodeGen/MachineLICM.cpp" />
-               <Unit filename="./lib/CodeGen/MachineLoopInfo.cpp" />
-               <Unit filename="./lib/CodeGen/MachineModuleInfo.cpp" />
-               <Unit filename="./lib/CodeGen/MachineModuleInfoImpls.cpp" />
-               <Unit filename="./lib/CodeGen/MachinePassRegistry.cpp" />
-               <Unit filename="./lib/CodeGen/MachineRegisterInfo.cpp" />
-               <Unit filename="./lib/CodeGen/MachineSSAUpdater.cpp" />
-               <Unit filename="./lib/CodeGen/MachineSink.cpp" />
-               <Unit filename="./lib/CodeGen/MachineVerifier.cpp" />
-               <Unit filename="./lib/CodeGen/ObjectCodeEmitter.cpp" />
-               <Unit filename="./lib/CodeGen/OptimizePHIs.cpp" />
-               <Unit filename="./lib/CodeGen/PHIElimination.cpp" />
-               <Unit filename="./lib/CodeGen/PHIEliminationUtils.cpp" />
-               <Unit filename="./lib/CodeGen/PHIEliminationUtils.h" />
-               <Unit filename="./lib/CodeGen/Passes.cpp" />
-               <Unit filename="./lib/CodeGen/PeepholeOptimizer.cpp" />
-               <Unit filename="./lib/CodeGen/PostRASchedulerList.cpp" />
-               <Unit filename="./lib/CodeGen/ProcessImplicitDefs.cpp" />
-               <Unit filename="./lib/CodeGen/PrologEpilogInserter.cpp" />
-               <Unit filename="./lib/CodeGen/PrologEpilogInserter.h" />
-               <Unit filename="./lib/CodeGen/PseudoSourceValue.cpp" />
-               <Unit filename="./lib/CodeGen/RegAllocBase.h" />
-               <Unit filename="./lib/CodeGen/RegAllocBasic.cpp" />
-               <Unit filename="./lib/CodeGen/RegAllocFast.cpp" />
-               <Unit filename="./lib/CodeGen/RegAllocGreedy.cpp" />
-               <Unit filename="./lib/CodeGen/RegAllocLinearScan.cpp" />
-               <Unit filename="./lib/CodeGen/RegisterClassInfo.cpp" />
-               <Unit filename="./lib/CodeGen/RegisterClassInfo.h" />
-               <Unit filename="./lib/CodeGen/RegisterCoalescer.cpp" />
-               <Unit filename="./lib/CodeGen/RegisterCoalescer.h" />
-               <Unit filename="./lib/CodeGen/RegisterScavenging.cpp" />
-               <Unit filename="./lib/CodeGen/RenderMachineFunction.cpp" />
-               <Unit filename="./lib/CodeGen/RenderMachineFunction.h" />
-               <Unit filename="./lib/CodeGen/ScheduleDAG.cpp" />
-               <Unit filename="./lib/CodeGen/ScheduleDAGEmit.cpp" />
-               <Unit filename="./lib/CodeGen/ScheduleDAGInstrs.cpp" />
-               <Unit filename="./lib/CodeGen/ScheduleDAGInstrs.h" />
-               <Unit filename="./lib/CodeGen/ScheduleDAGPrinter.cpp" />
-               <Unit filename="./lib/CodeGen/ScoreboardHazardRecognizer.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/DAGCombiner.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/FastISel.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/InstrEmitter.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/InstrEmitter.h" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/LegalizeDAG.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/LegalizeTypes.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/LegalizeTypes.h" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/SDNodeDbgValue.h" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/SDNodeOrdering.h" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/SelectionDAG.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/TargetLowering.cpp" />
-               <Unit filename="./lib/CodeGen/SelectionDAG/TargetSelectionDAGInfo.cpp" />
-               <Unit filename="./lib/CodeGen/ShrinkWrapping.cpp" />
-               <Unit filename="./lib/CodeGen/SjLjEHPrepare.cpp" />
-               <Unit filename="./lib/CodeGen/SlotIndexes.cpp" />
-               <Unit filename="./lib/CodeGen/SpillPlacement.cpp" />
-               <Unit filename="./lib/CodeGen/SpillPlacement.h" />
-               <Unit filename="./lib/CodeGen/Spiller.cpp" />
-               <Unit filename="./lib/CodeGen/Spiller.h" />
-               <Unit filename="./lib/CodeGen/SplitKit.cpp" />
-               <Unit filename="./lib/CodeGen/SplitKit.h" />
-               <Unit filename="./lib/CodeGen/Splitter.h" />
-               <Unit filename="./lib/CodeGen/StackProtector.cpp" />
-               <Unit filename="./lib/CodeGen/StackSlotColoring.cpp" />
-               <Unit filename="./lib/CodeGen/StrongPHIElimination.cpp" />
-               <Unit filename="./lib/CodeGen/TailDuplication.cpp" />
-               <Unit filename="./lib/CodeGen/TargetInstrInfoImpl.cpp" />
-               <Unit filename="./lib/CodeGen/TargetLoweringObjectFileImpl.cpp" />
-               <Unit filename="./lib/CodeGen/TwoAddressInstructionPass.cpp" />
-               <Unit filename="./lib/CodeGen/UnreachableBlockElim.cpp" />
-               <Unit filename="./lib/CodeGen/VirtRegMap.cpp" />
-               <Unit filename="./lib/CodeGen/VirtRegMap.h" />
-               <Unit filename="./lib/CodeGen/VirtRegRewriter.cpp" />
-               <Unit filename="./lib/CodeGen/VirtRegRewriter.h" />
-               <Unit filename="./lib/ExecutionEngine/ExecutionEngine.cpp" />
-               <Unit filename="./lib/ExecutionEngine/JIT/Intercept.cpp" />
-               <Unit filename="./lib/ExecutionEngine/JIT/JIT.cpp" />
-               <Unit filename="./lib/ExecutionEngine/JIT/JIT.h" />
-               <Unit filename="./lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp" />
-               <Unit filename="./lib/ExecutionEngine/JIT/JITDebugRegisterer.h" />
-               <Unit filename="./lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp" />
-               <Unit filename="./lib/ExecutionEngine/JIT/JITDwarfEmitter.h" />
-               <Unit filename="./lib/ExecutionEngine/JIT/JITEmitter.cpp" />
-               <Unit filename="./lib/ExecutionEngine/JIT/JITMemoryManager.cpp" />
-               <Unit filename="./lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp" />
-               <Unit filename="./lib/ExecutionEngine/TargetSelect.cpp" />
-               <Unit filename="./lib/MC/ELFObjectWriter.cpp" />
-               <Unit filename="./lib/MC/ELFObjectWriter.h" />
-               <Unit filename="./lib/MC/MCAsmBackend.cpp" />
-               <Unit filename="./lib/MC/MCAsmInfo.cpp" />
-               <Unit filename="./lib/MC/MCAsmInfoCOFF.cpp" />
-               <Unit filename="./lib/MC/MCAsmInfoDarwin.cpp" />
-               <Unit filename="./lib/MC/MCAsmStreamer.cpp" />
-               <Unit filename="./lib/MC/MCAssembler.cpp" />
-               <Unit filename="./lib/MC/MCCodeEmitter.cpp" />
-               <Unit filename="./lib/MC/MCCodeGenInfo.cpp" />
-               <Unit filename="./lib/MC/MCContext.cpp" />
-               <Unit filename="./lib/MC/MCDwarf.cpp" />
-               <Unit filename="./lib/MC/MCELF.cpp" />
-               <Unit filename="./lib/MC/MCELF.h" />
-               <Unit filename="./lib/MC/MCELFObjectTargetWriter.cpp" />
-               <Unit filename="./lib/MC/MCELFStreamer.cpp" />
-               <Unit filename="./lib/MC/MCELFStreamer.h" />
-               <Unit filename="./lib/MC/MCExpr.cpp" />
-               <Unit filename="./lib/MC/MCInst.cpp" />
-               <Unit filename="./lib/MC/MCInstPrinter.cpp" />
-               <Unit filename="./lib/MC/MCInstrAnalysis.cpp" />
-               <Unit filename="./lib/MC/MCLoggingStreamer.cpp" />
-               <Unit filename="./lib/MC/MCMachOStreamer.cpp" />
-               <Unit filename="./lib/MC/MCMachObjectTargetWriter.cpp" />
-               <Unit filename="./lib/MC/MCNullStreamer.cpp" />
-               <Unit filename="./lib/MC/MCObjectFileInfo.cpp" />
-               <Unit filename="./lib/MC/MCObjectStreamer.cpp" />
-               <Unit filename="./lib/MC/MCObjectWriter.cpp" />
-               <Unit filename="./lib/MC/MCSection.cpp" />
-               <Unit filename="./lib/MC/MCSectionCOFF.cpp" />
-               <Unit filename="./lib/MC/MCSectionELF.cpp" />
-               <Unit filename="./lib/MC/MCSectionMachO.cpp" />
-               <Unit filename="./lib/MC/MCStreamer.cpp" />
-               <Unit filename="./lib/MC/MCSubtargetInfo.cpp" />
-               <Unit filename="./lib/MC/MCSymbol.cpp" />
-               <Unit filename="./lib/MC/MCWin64EH.cpp" />
-               <Unit filename="./lib/MC/MachObjectWriter.cpp" />
-               <Unit filename="./lib/MC/SubtargetFeature.cpp" />
-               <Unit filename="./lib/MC/WinCOFFObjectWriter.cpp" />
-               <Unit filename="./lib/MC/WinCOFFStreamer.cpp" />
-               <Unit filename="./lib/Support/APFloat.cpp" />
-               <Unit filename="./lib/Support/APInt.cpp" />
-               <Unit filename="./lib/Support/Allocator.cpp" />
-               <Unit filename="./lib/Support/Atomic.cpp" />
-               <Unit filename="./lib/Support/BlockFrequency.cpp" />
-               <Unit filename="./lib/Support/BranchProbability.cpp" />
-               <Unit filename="./lib/Support/CommandLine.cpp" />
-               <Unit filename="./lib/Support/ConstantRange.cpp" />
-               <Unit filename="./lib/Support/CrashRecoveryContext.cpp" />
-               <Unit filename="./lib/Support/DAGDeltaAlgorithm.cpp" />
-               <Unit filename="./lib/Support/DataExtractor.cpp" />
-               <Unit filename="./lib/Support/Debug.cpp" />
-               <Unit filename="./lib/Support/DeltaAlgorithm.cpp" />
-               <Unit filename="./lib/Support/Disassembler.cpp" />
-               <Unit filename="./lib/Support/Dwarf.cpp" />
-               <Unit filename="./lib/Support/DynamicLibrary.cpp" />
-               <Unit filename="./lib/Support/Errno.cpp" />
-               <Unit filename="./lib/Support/ErrorHandling.cpp" />
-               <Unit filename="./lib/Support/FileUtilities.cpp" />
-               <Unit filename="./lib/Support/FoldingSet.cpp" />
-               <Unit filename="./lib/Support/FormattedStream.cpp" />
-               <Unit filename="./lib/Support/GraphWriter.cpp" />
-               <Unit filename="./lib/Support/Host.cpp" />
-               <Unit filename="./lib/Support/IncludeFile.cpp" />
-               <Unit filename="./lib/Support/IntEqClasses.cpp" />
-               <Unit filename="./lib/Support/IntervalMap.cpp" />
-               <Unit filename="./lib/Support/IsInf.cpp" />
-               <Unit filename="./lib/Support/IsNAN.cpp" />
-               <Unit filename="./lib/Support/ManagedStatic.cpp" />
-               <Unit filename="./lib/Support/Memory.cpp" />
-               <Unit filename="./lib/Support/MemoryBuffer.cpp" />
-               <Unit filename="./lib/Support/MemoryObject.cpp" />
-               <Unit filename="./lib/Support/Mutex.cpp" />
-               <Unit filename="./lib/Support/Path.cpp" />
-               <Unit filename="./lib/Support/PathV2.cpp" />
-               <Unit filename="./lib/Support/PrettyStackTrace.cpp" />
-               <Unit filename="./lib/Support/Process.cpp" />
-               <Unit filename="./lib/Support/Program.cpp" />
-               <Unit filename="./lib/Support/RWMutex.cpp" />
-               <Unit filename="./lib/Support/SearchForAddressOfSpecialSymbol.cpp" />
-               <Unit filename="./lib/Support/Signals.cpp" />
-               <Unit filename="./lib/Support/SmallPtrSet.cpp" />
-               <Unit filename="./lib/Support/SmallVector.cpp" />
-               <Unit filename="./lib/Support/SourceMgr.cpp" />
-               <Unit filename="./lib/Support/Statistic.cpp" />
-               <Unit filename="./lib/Support/StringExtras.cpp" />
-               <Unit filename="./lib/Support/StringMap.cpp" />
-               <Unit filename="./lib/Support/StringPool.cpp" />
-               <Unit filename="./lib/Support/StringRef.cpp" />
-               <Unit filename="./lib/Support/SystemUtils.cpp" />
-               <Unit filename="./lib/Support/TargetRegistry.cpp" />
-               <Unit filename="./lib/Support/ThreadLocal.cpp" />
-               <Unit filename="./lib/Support/Threading.cpp" />
-               <Unit filename="./lib/Support/TimeValue.cpp" />
-               <Unit filename="./lib/Support/Timer.cpp" />
-               <Unit filename="./lib/Support/ToolOutputFile.cpp" />
-               <Unit filename="./lib/Support/Triple.cpp" />
-               <Unit filename="./lib/Support/Twine.cpp" />
-               <Unit filename="./lib/Support/Unix/Unix.h" />
-               <Unit filename="./lib/Support/Valgrind.cpp" />
-               <Unit filename="./lib/Support/Windows/Windows.h" />
-               <Unit filename="./lib/Support/circular_raw_ostream.cpp" />
-               <Unit filename="./lib/Support/raw_os_ostream.cpp" />
-               <Unit filename="./lib/Support/raw_ostream.cpp" />
-               <Unit filename="./lib/Support/system_error.cpp" />
-               <Unit filename="./lib/TableGen/Error.cpp" />
-               <Unit filename="./lib/TableGen/Main.cpp" />
-               <Unit filename="./lib/TableGen/Record.cpp" />
-               <Unit filename="./lib/TableGen/TGLexer.cpp" />
-               <Unit filename="./lib/TableGen/TGLexer.h" />
-               <Unit filename="./lib/TableGen/TGParser.cpp" />
-               <Unit filename="./lib/TableGen/TGParser.h" />
-               <Unit filename="./lib/TableGen/TableGenBackend.cpp" />
-               <Unit filename="./lib/Target/ARM/MCTargetDesc/ARMFixupKinds.h" />
-               <Unit filename="./lib/Target/Mangler.cpp" />
-               <Unit filename="./lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h" />
-               <Unit filename="./lib/Target/TargetData.cpp" />
-               <Unit filename="./lib/Target/TargetELFWriterInfo.cpp" />
-               <Unit filename="./lib/Target/TargetFrameLowering.cpp" />
-               <Unit filename="./lib/Target/TargetInstrInfo.cpp" />
-               <Unit filename="./lib/Target/TargetLibraryInfo.cpp" />
-               <Unit filename="./lib/Target/TargetLoweringObjectFile.cpp" />
-               <Unit filename="./lib/Target/TargetMachine.cpp" />
-               <Unit filename="./lib/Target/TargetRegisterInfo.cpp" />
-               <Unit filename="./lib/Target/TargetSubtargetInfo.cpp" />
-               <Unit filename="./lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h" />
-               <Unit filename="./lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp" />
-               <Unit filename="./lib/Target/X86/InstPrinter/X86ATTInstPrinter.h" />
-               <Unit filename="./lib/Target/X86/InstPrinter/X86InstComments.cpp" />
-               <Unit filename="./lib/Target/X86/InstPrinter/X86InstComments.h" />
-               <Unit filename="./lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp" />
-               <Unit filename="./lib/Target/X86/InstPrinter/X86IntelInstPrinter.h" />
-               <Unit filename="./lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp" />
-               <Unit filename="./lib/Target/X86/MCTargetDesc/X86BaseInfo.h" />
-               <Unit filename="./lib/Target/X86/MCTargetDesc/X86FixupKinds.h" />
-               <Unit filename="./lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp" />
-               <Unit filename="./lib/Target/X86/MCTargetDesc/X86MCAsmInfo.h" />
-               <Unit filename="./lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp" />
-               <Unit filename="./lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp" />
-               <Unit filename="./lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h" />
-               <Unit filename="./lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp" />
-               <Unit filename="./lib/Target/X86/TargetInfo/X86TargetInfo.cpp" />
-               <Unit filename="./lib/Target/X86/Utils/X86ShuffleDecode.cpp" />
-               <Unit filename="./lib/Target/X86/Utils/X86ShuffleDecode.h" />
-               <Unit filename="./lib/Target/X86/X86.h" />
-               <Unit filename="./lib/Target/X86/X86AsmPrinter.h" />
-               <Unit filename="./lib/Target/X86/X86COFFMachineModuleInfo.h" />
-               <Unit filename="./lib/Target/X86/X86CodeEmitter.cpp" />
-               <Unit filename="./lib/Target/X86/X86ELFWriterInfo.cpp" />
-               <Unit filename="./lib/Target/X86/X86ELFWriterInfo.h" />
-               <Unit filename="./lib/Target/X86/X86FastISel.cpp" />
-               <Unit filename="./lib/Target/X86/X86FloatingPoint.cpp" />
-               <Unit filename="./lib/Target/X86/X86FrameLowering.cpp" />
-               <Unit filename="./lib/Target/X86/X86FrameLowering.h" />
-               <Unit filename="./lib/Target/X86/X86ISelDAGToDAG.cpp" />
-               <Unit filename="./lib/Target/X86/X86ISelLowering.cpp" />
-               <Unit filename="./lib/Target/X86/X86ISelLowering.h" />
-               <Unit filename="./lib/Target/X86/X86InstrBuilder.h" />
-               <Unit filename="./lib/Target/X86/X86InstrInfo.cpp" />
-               <Unit filename="./lib/Target/X86/X86InstrInfo.h" />
-               <Unit filename="./lib/Target/X86/X86JITInfo.cpp" />
-               <Unit filename="./lib/Target/X86/X86JITInfo.h" />
-               <Unit filename="./lib/Target/X86/X86MCInstLower.h" />
-               <Unit filename="./lib/Target/X86/X86MachineFunctionInfo.h" />
-               <Unit filename="./lib/Target/X86/X86RegisterInfo.cpp" />
-               <Unit filename="./lib/Target/X86/X86RegisterInfo.h" />
-               <Unit filename="./lib/Target/X86/X86Relocations.h" />
-               <Unit filename="./lib/Target/X86/X86SelectionDAGInfo.cpp" />
-               <Unit filename="./lib/Target/X86/X86SelectionDAGInfo.h" />
-               <Unit filename="./lib/Target/X86/X86Subtarget.cpp" />
-               <Unit filename="./lib/Target/X86/X86Subtarget.h" />
-               <Unit filename="./lib/Target/X86/X86TargetMachine.cpp" />
-               <Unit filename="./lib/Target/X86/X86TargetMachine.h" />
-               <Unit filename="./lib/Target/X86/X86TargetObjectFile.cpp" />
-               <Unit filename="./lib/Target/X86/X86TargetObjectFile.h" />
-               <Unit filename="./lib/Target/X86/X86VZeroUpper.cpp" />
-               <Unit filename="./lib/Transforms/InstCombine/InstCombine.h" />
-               <Unit filename="./lib/Transforms/InstCombine/InstCombineAddSub.cpp" />
-               <Unit filename="./lib/Transforms/InstCombine/InstCombineAndOrXor.cpp" />
-               <Unit filename="./lib/Transforms/InstCombine/InstCombineCalls.cpp" />
-               <Unit filename="./lib/Transforms/InstCombine/InstCombineCasts.cpp" />
-               <Unit filename="./lib/Transforms/InstCombine/InstCombineCompares.cpp" />
-               <Unit filename="./lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp" />
-               <Unit filename="./lib/Transforms/InstCombine/InstCombineMulDivRem.cpp" />
-               <Unit filename="./lib/Transforms/InstCombine/InstCombinePHI.cpp" />
-               <Unit filename="./lib/Transforms/InstCombine/InstCombineSelect.cpp" />
-               <Unit filename="./lib/Transforms/InstCombine/InstCombineShifts.cpp" />
-               <Unit filename="./lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp" />
-               <Unit filename="./lib/Transforms/InstCombine/InstCombineVectorOps.cpp" />
-               <Unit filename="./lib/Transforms/InstCombine/InstCombineWorklist.h" />
-               <Unit filename="./lib/Transforms/InstCombine/InstructionCombining.cpp" />
-               <Unit filename="./lib/Transforms/Scalar/ADCE.cpp" />
-               <Unit filename="./lib/Transforms/Scalar/CodeGenPrepare.cpp" />
-               <Unit filename="./lib/Transforms/Scalar/DeadStoreElimination.cpp" />
-               <Unit filename="./lib/Transforms/Scalar/GVN.cpp" />
-               <Unit filename="./lib/Transforms/Scalar/LICM.cpp" />
-               <Unit filename="./lib/Transforms/Scalar/LoopStrengthReduce.cpp" />
-               <Unit filename="./lib/Transforms/Scalar/Reassociate.cpp" />
-               <Unit filename="./lib/Transforms/Scalar/Reg2Mem.cpp" />
-               <Unit filename="./lib/Transforms/Scalar/SCCP.cpp" />
-               <Unit filename="./lib/Transforms/Scalar/ScalarReplAggregates.cpp" />
-               <Unit filename="./lib/Transforms/Scalar/SimplifyCFGPass.cpp" />
-               <Unit filename="./lib/Transforms/Utils/AddrModeMatcher.cpp" />
-               <Unit filename="./lib/Transforms/Utils/BasicBlockUtils.cpp" />
-               <Unit filename="./lib/Transforms/Utils/BreakCriticalEdges.cpp" />
-               <Unit filename="./lib/Transforms/Utils/BuildLibCalls.cpp" />
-               <Unit filename="./lib/Transforms/Utils/DemoteRegToStack.cpp" />
-               <Unit filename="./lib/Transforms/Utils/InstructionNamer.cpp" />
-               <Unit filename="./lib/Transforms/Utils/LCSSA.cpp" />
-               <Unit filename="./lib/Transforms/Utils/Local.cpp" />
-               <Unit filename="./lib/Transforms/Utils/LoopSimplify.cpp" />
-               <Unit filename="./lib/Transforms/Utils/LowerInvoke.cpp" />
-               <Unit filename="./lib/Transforms/Utils/LowerSwitch.cpp" />
-               <Unit filename="./lib/Transforms/Utils/PromoteMemoryToRegister.cpp" />
-               <Unit filename="./lib/Transforms/Utils/SSAUpdater.cpp" />
-               <Unit filename="./lib/Transforms/Utils/SimplifyCFG.cpp" />
-               <Unit filename="./lib/Transforms/Utils/UnifyFunctionExitNodes.cpp" />
-               <Unit filename="./lib/VMCore/AsmWriter.cpp" />
-               <Unit filename="./lib/VMCore/Attributes.cpp" />
-               <Unit filename="./lib/VMCore/BasicBlock.cpp" />
-               <Unit filename="./lib/VMCore/ConstantFold.cpp" />
-               <Unit filename="./lib/VMCore/ConstantFold.h" />
-               <Unit filename="./lib/VMCore/Constants.cpp" />
-               <Unit filename="./lib/VMCore/ConstantsContext.h" />
-               <Unit filename="./lib/VMCore/DebugInfoProbe.cpp" />
-               <Unit filename="./lib/VMCore/DebugLoc.cpp" />
-               <Unit filename="./lib/VMCore/Dominators.cpp" />
-               <Unit filename="./lib/VMCore/Function.cpp" />
-               <Unit filename="./lib/VMCore/Globals.cpp" />
-               <Unit filename="./lib/VMCore/IRBuilder.cpp" />
-               <Unit filename="./lib/VMCore/InlineAsm.cpp" />
-               <Unit filename="./lib/VMCore/Instruction.cpp" />
-               <Unit filename="./lib/VMCore/Instructions.cpp" />
-               <Unit filename="./lib/VMCore/IntrinsicInst.cpp" />
-               <Unit filename="./lib/VMCore/LLVMContext.cpp" />
-               <Unit filename="./lib/VMCore/LLVMContextImpl.cpp" />
-               <Unit filename="./lib/VMCore/LLVMContextImpl.h" />
-               <Unit filename="./lib/VMCore/LeakDetector.cpp" />
-               <Unit filename="./lib/VMCore/LeaksContext.h" />
-               <Unit filename="./lib/VMCore/Metadata.cpp" />
-               <Unit filename="./lib/VMCore/Module.cpp" />
-               <Unit filename="./lib/VMCore/Pass.cpp" />
-               <Unit filename="./lib/VMCore/PassManager.cpp" />
-               <Unit filename="./lib/VMCore/PassRegistry.cpp" />
-               <Unit filename="./lib/VMCore/PrintModulePass.cpp" />
-               <Unit filename="./lib/VMCore/SymbolTableListTraitsImpl.h" />
-               <Unit filename="./lib/VMCore/Type.cpp" />
-               <Unit filename="./lib/VMCore/Use.cpp" />
-               <Unit filename="./lib/VMCore/User.cpp" />
-               <Unit filename="./lib/VMCore/Value.cpp" />
-               <Unit filename="./lib/VMCore/ValueSymbolTable.cpp" />
-               <Unit filename="./lib/VMCore/ValueTypes.cpp" />
-               <Unit filename="./lib/VMCore/Verifier.cpp" />
+               <Unit filename="include/llvm-c/Analysis.h" />
+               <Unit filename="include/llvm-c/BitReader.h" />
+               <Unit filename="include/llvm-c/BitWriter.h" />
+               <Unit filename="include/llvm-c/Core.h" />
+               <Unit filename="include/llvm-c/Disassembler.h" />
+               <Unit filename="include/llvm-c/EnhancedDisassembly.h" />
+               <Unit filename="include/llvm-c/ExecutionEngine.h" />
+               <Unit filename="include/llvm-c/Initialization.h" />
+               <Unit filename="include/llvm-c/LinkTimeOptimizer.h" />
+               <Unit filename="include/llvm-c/Object.h" />
+               <Unit filename="include/llvm-c/Target.h" />
+               <Unit filename="include/llvm-c/Transforms/IPO.h" />
+               <Unit filename="include/llvm-c/Transforms/PassManagerBuilder.h" />
+               <Unit filename="include/llvm-c/Transforms/Scalar.h" />
+               <Unit filename="include/llvm-c/lto.h" />
+               <Unit filename="include/llvm/ADT/APFloat.h" />
+               <Unit filename="include/llvm/ADT/APInt.h" />
+               <Unit filename="include/llvm/ADT/APSInt.h" />
+               <Unit filename="include/llvm/ADT/ArrayRef.h" />
+               <Unit filename="include/llvm/ADT/BitVector.h" />
+               <Unit filename="include/llvm/ADT/DAGDeltaAlgorithm.h" />
+               <Unit filename="include/llvm/ADT/DeltaAlgorithm.h" />
+               <Unit filename="include/llvm/ADT/DenseMap.h" />
+               <Unit filename="include/llvm/ADT/DenseMapInfo.h" />
+               <Unit filename="include/llvm/ADT/DenseSet.h" />
+               <Unit filename="include/llvm/ADT/DepthFirstIterator.h" />
+               <Unit filename="include/llvm/ADT/EquivalenceClasses.h" />
+               <Unit filename="include/llvm/ADT/FoldingSet.h" />
+               <Unit filename="include/llvm/ADT/GraphTraits.h" />
+               <Unit filename="include/llvm/ADT/ImmutableIntervalMap.h" />
+               <Unit filename="include/llvm/ADT/ImmutableList.h" />
+               <Unit filename="include/llvm/ADT/ImmutableMap.h" />
+               <Unit filename="include/llvm/ADT/ImmutableSet.h" />
+               <Unit filename="include/llvm/ADT/InMemoryStruct.h" />
+               <Unit filename="include/llvm/ADT/IndexedMap.h" />
+               <Unit filename="include/llvm/ADT/IntEqClasses.h" />
+               <Unit filename="include/llvm/ADT/IntervalMap.h" />
+               <Unit filename="include/llvm/ADT/IntrusiveRefCntPtr.h" />
+               <Unit filename="include/llvm/ADT/NullablePtr.h" />
+               <Unit filename="include/llvm/ADT/Optional.h" />
+               <Unit filename="include/llvm/ADT/OwningPtr.h" />
+               <Unit filename="include/llvm/ADT/PackedVector.h" />
+               <Unit filename="include/llvm/ADT/PointerIntPair.h" />
+               <Unit filename="include/llvm/ADT/PointerUnion.h" />
+               <Unit filename="include/llvm/ADT/PostOrderIterator.h" />
+               <Unit filename="include/llvm/ADT/PriorityQueue.h" />
+               <Unit filename="include/llvm/ADT/SCCIterator.h" />
+               <Unit filename="include/llvm/ADT/STLExtras.h" />
+               <Unit filename="include/llvm/ADT/ScopedHashTable.h" />
+               <Unit filename="include/llvm/ADT/SetOperations.h" />
+               <Unit filename="include/llvm/ADT/SetVector.h" />
+               <Unit filename="include/llvm/ADT/SmallBitVector.h" />
+               <Unit filename="include/llvm/ADT/SmallPtrSet.h" />
+               <Unit filename="include/llvm/ADT/SmallSet.h" />
+               <Unit filename="include/llvm/ADT/SmallString.h" />
+               <Unit filename="include/llvm/ADT/SmallVector.h" />
+               <Unit filename="include/llvm/ADT/SparseBitVector.h" />
+               <Unit filename="include/llvm/ADT/Statistic.h" />
+               <Unit filename="include/llvm/ADT/StringExtras.h" />
+               <Unit filename="include/llvm/ADT/StringMap.h" />
+               <Unit filename="include/llvm/ADT/StringRef.h" />
+               <Unit filename="include/llvm/ADT/StringSet.h" />
+               <Unit filename="include/llvm/ADT/StringSwitch.h" />
+               <Unit filename="include/llvm/ADT/TinyPtrVector.h" />
+               <Unit filename="include/llvm/ADT/Trie.h" />
+               <Unit filename="include/llvm/ADT/Triple.h" />
+               <Unit filename="include/llvm/ADT/Twine.h" />
+               <Unit filename="include/llvm/ADT/UniqueVector.h" />
+               <Unit filename="include/llvm/ADT/ValueMap.h" />
+               <Unit filename="include/llvm/ADT/VectorExtras.h" />
+               <Unit filename="include/llvm/ADT/ilist.h" />
+               <Unit filename="include/llvm/ADT/ilist_node.h" />
+               <Unit filename="include/llvm/Analysis/AliasAnalysis.h" />
+               <Unit filename="include/llvm/Analysis/AliasSetTracker.h" />
+               <Unit filename="include/llvm/Analysis/BlockFrequencyImpl.h" />
+               <Unit filename="include/llvm/Analysis/BlockFrequencyInfo.h" />
+               <Unit filename="include/llvm/Analysis/BranchProbabilityInfo.h" />
+               <Unit filename="include/llvm/Analysis/CFGPrinter.h" />
+               <Unit filename="include/llvm/Analysis/CallGraph.h" />
+               <Unit filename="include/llvm/Analysis/CaptureTracking.h" />
+               <Unit filename="include/llvm/Analysis/CodeMetrics.h" />
+               <Unit filename="include/llvm/Analysis/ConstantFolding.h" />
+               <Unit filename="include/llvm/Analysis/ConstantsScanner.h" />
+               <Unit filename="include/llvm/Analysis/DIBuilder.h" />
+               <Unit filename="include/llvm/Analysis/DOTGraphTraitsPass.h" />
+               <Unit filename="include/llvm/Analysis/DebugInfo.h" />
+               <Unit filename="include/llvm/Analysis/DomPrinter.h" />
+               <Unit filename="include/llvm/Analysis/DominanceFrontier.h" />
+               <Unit filename="include/llvm/Analysis/DominatorInternals.h" />
+               <Unit filename="include/llvm/Analysis/Dominators.h" />
+               <Unit filename="include/llvm/Analysis/FindUsedTypes.h" />
+               <Unit filename="include/llvm/Analysis/IVUsers.h" />
+               <Unit filename="include/llvm/Analysis/InlineCost.h" />
+               <Unit filename="include/llvm/Analysis/InstructionSimplify.h" />
+               <Unit filename="include/llvm/Analysis/Interval.h" />
+               <Unit filename="include/llvm/Analysis/IntervalIterator.h" />
+               <Unit filename="include/llvm/Analysis/IntervalPartition.h" />
+               <Unit filename="include/llvm/Analysis/LazyValueInfo.h" />
+               <Unit filename="include/llvm/Analysis/LibCallAliasAnalysis.h" />
+               <Unit filename="include/llvm/Analysis/LibCallSemantics.h" />
+               <Unit filename="include/llvm/Analysis/Lint.h" />
+               <Unit filename="include/llvm/Analysis/Loads.h" />
+               <Unit filename="include/llvm/Analysis/LoopDependenceAnalysis.h" />
+               <Unit filename="include/llvm/Analysis/LoopInfo.h" />
+               <Unit filename="include/llvm/Analysis/LoopIterator.h" />
+               <Unit filename="include/llvm/Analysis/LoopPass.h" />
+               <Unit filename="include/llvm/Analysis/MemoryBuiltins.h" />
+               <Unit filename="include/llvm/Analysis/MemoryDependenceAnalysis.h" />
+               <Unit filename="include/llvm/Analysis/PHITransAddr.h" />
+               <Unit filename="include/llvm/Analysis/Passes.h" />
+               <Unit filename="include/llvm/Analysis/PathNumbering.h" />
+               <Unit filename="include/llvm/Analysis/PathProfileInfo.h" />
+               <Unit filename="include/llvm/Analysis/PostDominators.h" />
+               <Unit filename="include/llvm/Analysis/ProfileInfo.h" />
+               <Unit filename="include/llvm/Analysis/ProfileInfoLoader.h" />
+               <Unit filename="include/llvm/Analysis/ProfileInfoTypes.h" />
+               <Unit filename="include/llvm/Analysis/RegionInfo.h" />
+               <Unit filename="include/llvm/Analysis/RegionIterator.h" />
+               <Unit filename="include/llvm/Analysis/RegionPass.h" />
+               <Unit filename="include/llvm/Analysis/RegionPrinter.h" />
+               <Unit filename="include/llvm/Analysis/ScalarEvolution.h" />
+               <Unit filename="include/llvm/Analysis/ScalarEvolutionExpander.h" />
+               <Unit filename="include/llvm/Analysis/ScalarEvolutionExpressions.h" />
+               <Unit filename="include/llvm/Analysis/ScalarEvolutionNormalization.h" />
+               <Unit filename="include/llvm/Analysis/SparsePropagation.h" />
+               <Unit filename="include/llvm/Analysis/Trace.h" />
+               <Unit filename="include/llvm/Analysis/ValueTracking.h" />
+               <Unit filename="include/llvm/Analysis/Verifier.h" />
+               <Unit filename="include/llvm/Argument.h" />
+               <Unit filename="include/llvm/Assembly/AssemblyAnnotationWriter.h" />
+               <Unit filename="include/llvm/Assembly/Parser.h" />
+               <Unit filename="include/llvm/Assembly/PrintModulePass.h" />
+               <Unit filename="include/llvm/Assembly/Writer.h" />
+               <Unit filename="include/llvm/Attributes.h" />
+               <Unit filename="include/llvm/AutoUpgrade.h" />
+               <Unit filename="include/llvm/BasicBlock.h" />
+               <Unit filename="include/llvm/Bitcode/Archive.h" />
+               <Unit filename="include/llvm/Bitcode/BitCodes.h" />
+               <Unit filename="include/llvm/Bitcode/BitstreamReader.h" />
+               <Unit filename="include/llvm/Bitcode/BitstreamWriter.h" />
+               <Unit filename="include/llvm/Bitcode/LLVMBitCodes.h" />
+               <Unit filename="include/llvm/Bitcode/ReaderWriter.h" />
+               <Unit filename="include/llvm/CallGraphSCCPass.h" />
+               <Unit filename="include/llvm/CallingConv.h" />
+               <Unit filename="include/llvm/CodeGen/Analysis.h" />
+               <Unit filename="include/llvm/CodeGen/AsmPrinter.h" />
+               <Unit filename="include/llvm/CodeGen/BinaryObject.h" />
+               <Unit filename="include/llvm/CodeGen/CalcSpillWeights.h" />
+               <Unit filename="include/llvm/CodeGen/CallingConvLower.h" />
+               <Unit filename="include/llvm/CodeGen/EdgeBundles.h" />
+               <Unit filename="include/llvm/CodeGen/FastISel.h" />
+               <Unit filename="include/llvm/CodeGen/FunctionLoweringInfo.h" />
+               <Unit filename="include/llvm/CodeGen/GCMetadata.h" />
+               <Unit filename="include/llvm/CodeGen/GCMetadataPrinter.h" />
+               <Unit filename="include/llvm/CodeGen/GCStrategy.h" />
+               <Unit filename="include/llvm/CodeGen/GCs.h" />
+               <Unit filename="include/llvm/CodeGen/ISDOpcodes.h" />
+               <Unit filename="include/llvm/CodeGen/IntrinsicLowering.h" />
+               <Unit filename="include/llvm/CodeGen/JITCodeEmitter.h" />
+               <Unit filename="include/llvm/CodeGen/LatencyPriorityQueue.h" />
+               <Unit filename="include/llvm/CodeGen/LexicalScopes.h" />
+               <Unit filename="include/llvm/CodeGen/LinkAllAsmWriterComponents.h" />
+               <Unit filename="include/llvm/CodeGen/LinkAllCodegenComponents.h" />
+               <Unit filename="include/llvm/CodeGen/LiveInterval.h" />
+               <Unit filename="include/llvm/CodeGen/LiveIntervalAnalysis.h" />
+               <Unit filename="include/llvm/CodeGen/LiveStackAnalysis.h" />
+               <Unit filename="include/llvm/CodeGen/LiveVariables.h" />
+               <Unit filename="include/llvm/CodeGen/MachORelocation.h" />
+               <Unit filename="include/llvm/CodeGen/MachineBasicBlock.h" />
+               <Unit filename="include/llvm/CodeGen/MachineBlockFrequencyInfo.h" />
+               <Unit filename="include/llvm/CodeGen/MachineBranchProbabilityInfo.h" />
+               <Unit filename="include/llvm/CodeGen/MachineCodeEmitter.h" />
+               <Unit filename="include/llvm/CodeGen/MachineCodeInfo.h" />
+               <Unit filename="include/llvm/CodeGen/MachineConstantPool.h" />
+               <Unit filename="include/llvm/CodeGen/MachineDominators.h" />
+               <Unit filename="include/llvm/CodeGen/MachineFrameInfo.h" />
+               <Unit filename="include/llvm/CodeGen/MachineFunction.h" />
+               <Unit filename="include/llvm/CodeGen/MachineFunctionAnalysis.h" />
+               <Unit filename="include/llvm/CodeGen/MachineFunctionPass.h" />
+               <Unit filename="include/llvm/CodeGen/MachineInstr.h" />
+               <Unit filename="include/llvm/CodeGen/MachineInstrBuilder.h" />
+               <Unit filename="include/llvm/CodeGen/MachineJumpTableInfo.h" />
+               <Unit filename="include/llvm/CodeGen/MachineLoopInfo.h" />
+               <Unit filename="include/llvm/CodeGen/MachineLoopRanges.h" />
+               <Unit filename="include/llvm/CodeGen/MachineMemOperand.h" />
+               <Unit filename="include/llvm/CodeGen/MachineModuleInfo.h" />
+               <Unit filename="include/llvm/CodeGen/MachineModuleInfoImpls.h" />
+               <Unit filename="include/llvm/CodeGen/MachineOperand.h" />
+               <Unit filename="include/llvm/CodeGen/MachinePassRegistry.h" />
+               <Unit filename="include/llvm/CodeGen/MachineRegisterInfo.h" />
+               <Unit filename="include/llvm/CodeGen/MachineRelocation.h" />
+               <Unit filename="include/llvm/CodeGen/MachineSSAUpdater.h" />
+               <Unit filename="include/llvm/CodeGen/ObjectCodeEmitter.h" />
+               <Unit filename="include/llvm/CodeGen/PBQP/Graph.h" />
+               <Unit filename="include/llvm/CodeGen/PBQP/HeuristicBase.h" />
+               <Unit filename="include/llvm/CodeGen/PBQP/HeuristicSolver.h" />
+               <Unit filename="include/llvm/CodeGen/PBQP/Heuristics/Briggs.h" />
+               <Unit filename="include/llvm/CodeGen/PBQP/Math.h" />
+               <Unit filename="include/llvm/CodeGen/PBQP/Solution.h" />
+               <Unit filename="include/llvm/CodeGen/Passes.h" />
+               <Unit filename="include/llvm/CodeGen/ProcessImplicitDefs.h" />
+               <Unit filename="include/llvm/CodeGen/PseudoSourceValue.h" />
+               <Unit filename="include/llvm/CodeGen/RegAllocPBQP.h" />
+               <Unit filename="include/llvm/CodeGen/RegAllocRegistry.h" />
+               <Unit filename="include/llvm/CodeGen/RegisterScavenging.h" />
+               <Unit filename="include/llvm/CodeGen/RuntimeLibcalls.h" />
+               <Unit filename="include/llvm/CodeGen/ScheduleDAG.h" />
+               <Unit filename="include/llvm/CodeGen/ScheduleHazardRecognizer.h" />
+               <Unit filename="include/llvm/CodeGen/SchedulerRegistry.h" />
+               <Unit filename="include/llvm/CodeGen/ScoreboardHazardRecognizer.h" />
+               <Unit filename="include/llvm/CodeGen/SelectionDAG.h" />
+               <Unit filename="include/llvm/CodeGen/SelectionDAGISel.h" />
+               <Unit filename="include/llvm/CodeGen/SelectionDAGNodes.h" />
+               <Unit filename="include/llvm/CodeGen/SlotIndexes.h" />
+               <Unit filename="include/llvm/CodeGen/TargetLoweringObjectFileImpl.h" />
+               <Unit filename="include/llvm/CodeGen/ValueTypes.h" />
+               <Unit filename="include/llvm/Config/config.h" />
+               <Unit filename="include/llvm/Config/llvm-config.h" />
+               <Unit filename="include/llvm/Constant.h" />
+               <Unit filename="include/llvm/Constants.h" />
+               <Unit filename="include/llvm/DebugInfo/DIContext.h" />
+               <Unit filename="include/llvm/DebugInfoProbe.h" />
+               <Unit filename="include/llvm/DefaultPasses.h" />
+               <Unit filename="include/llvm/DerivedTypes.h" />
+               <Unit filename="include/llvm/ExecutionEngine/ExecutionEngine.h" />
+               <Unit filename="include/llvm/ExecutionEngine/GenericValue.h" />
+               <Unit filename="include/llvm/ExecutionEngine/Interpreter.h" />
+               <Unit filename="include/llvm/ExecutionEngine/JIT.h" />
+               <Unit filename="include/llvm/ExecutionEngine/JITEventListener.h" />
+               <Unit filename="include/llvm/ExecutionEngine/JITMemoryManager.h" />
+               <Unit filename="include/llvm/ExecutionEngine/MCJIT.h" />
+               <Unit filename="include/llvm/ExecutionEngine/RuntimeDyld.h" />
+               <Unit filename="include/llvm/Function.h" />
+               <Unit filename="include/llvm/GVMaterializer.h" />
+               <Unit filename="include/llvm/GlobalAlias.h" />
+               <Unit filename="include/llvm/GlobalValue.h" />
+               <Unit filename="include/llvm/GlobalVariable.h" />
+               <Unit filename="include/llvm/InitializePasses.h" />
+               <Unit filename="include/llvm/InlineAsm.h" />
+               <Unit filename="include/llvm/InstrTypes.h" />
+               <Unit filename="include/llvm/Instruction.h" />
+               <Unit filename="include/llvm/Instructions.h" />
+               <Unit filename="include/llvm/IntrinsicInst.h" />
+               <Unit filename="include/llvm/Intrinsics.h" />
+               <Unit filename="include/llvm/LLVMContext.h" />
+               <Unit filename="include/llvm/LinkAllPasses.h" />
+               <Unit filename="include/llvm/LinkAllVMCore.h" />
+               <Unit filename="include/llvm/Linker.h" />
+               <Unit filename="include/llvm/MC/EDInstInfo.h" />
+               <Unit filename="include/llvm/MC/MCAsmBackend.h" />
+               <Unit filename="include/llvm/MC/MCAsmInfo.h" />
+               <Unit filename="include/llvm/MC/MCAsmInfoCOFF.h" />
+               <Unit filename="include/llvm/MC/MCAsmInfoDarwin.h" />
+               <Unit filename="include/llvm/MC/MCAsmLayout.h" />
+               <Unit filename="include/llvm/MC/MCAssembler.h" />
+               <Unit filename="include/llvm/MC/MCAtom.h" />
+               <Unit filename="include/llvm/MC/MCCodeEmitter.h" />
+               <Unit filename="include/llvm/MC/MCCodeGenInfo.h" />
+               <Unit filename="include/llvm/MC/MCContext.h" />
+               <Unit filename="include/llvm/MC/MCDirectives.h" />
+               <Unit filename="include/llvm/MC/MCDisassembler.h" />
+               <Unit filename="include/llvm/MC/MCDwarf.h" />
+               <Unit filename="include/llvm/MC/MCELFObjectWriter.h" />
+               <Unit filename="include/llvm/MC/MCELFSymbolFlags.h" />
+               <Unit filename="include/llvm/MC/MCExpr.h" />
+               <Unit filename="include/llvm/MC/MCFixup.h" />
+               <Unit filename="include/llvm/MC/MCFixupKindInfo.h" />
+               <Unit filename="include/llvm/MC/MCInst.h" />
+               <Unit filename="include/llvm/MC/MCInstPrinter.h" />
+               <Unit filename="include/llvm/MC/MCInstrAnalysis.h" />
+               <Unit filename="include/llvm/MC/MCInstrDesc.h" />
+               <Unit filename="include/llvm/MC/MCInstrInfo.h" />
+               <Unit filename="include/llvm/MC/MCInstrItineraries.h" />
+               <Unit filename="include/llvm/MC/MCLabel.h" />
+               <Unit filename="include/llvm/MC/MCMachOSymbolFlags.h" />
+               <Unit filename="include/llvm/MC/MCMachObjectWriter.h" />
+               <Unit filename="include/llvm/MC/MCModule.h" />
+               <Unit filename="include/llvm/MC/MCObjectFileInfo.h" />
+               <Unit filename="include/llvm/MC/MCObjectStreamer.h" />
+               <Unit filename="include/llvm/MC/MCObjectWriter.h" />
+               <Unit filename="include/llvm/MC/MCParser/AsmCond.h" />
+               <Unit filename="include/llvm/MC/MCParser/AsmLexer.h" />
+               <Unit filename="include/llvm/MC/MCParser/MCAsmLexer.h" />
+               <Unit filename="include/llvm/MC/MCParser/MCAsmParser.h" />
+               <Unit filename="include/llvm/MC/MCParser/MCAsmParserExtension.h" />
+               <Unit filename="include/llvm/MC/MCParser/MCParsedAsmOperand.h" />
+               <Unit filename="include/llvm/MC/MCRegisterInfo.h" />
+               <Unit filename="include/llvm/MC/MCSection.h" />
+               <Unit filename="include/llvm/MC/MCSectionCOFF.h" />
+               <Unit filename="include/llvm/MC/MCSectionELF.h" />
+               <Unit filename="include/llvm/MC/MCSectionMachO.h" />
+               <Unit filename="include/llvm/MC/MCStreamer.h" />
+               <Unit filename="include/llvm/MC/MCSubtargetInfo.h" />
+               <Unit filename="include/llvm/MC/MCSymbol.h" />
+               <Unit filename="include/llvm/MC/MCTargetAsmLexer.h" />
+               <Unit filename="include/llvm/MC/MCTargetAsmParser.h" />
+               <Unit filename="include/llvm/MC/MCValue.h" />
+               <Unit filename="include/llvm/MC/MCWin64EH.h" />
+               <Unit filename="include/llvm/MC/MachineLocation.h" />
+               <Unit filename="include/llvm/MC/SectionKind.h" />
+               <Unit filename="include/llvm/MC/SubtargetFeature.h" />
+               <Unit filename="include/llvm/Metadata.h" />
+               <Unit filename="include/llvm/Module.h" />
+               <Unit filename="include/llvm/Object/Archive.h" />
+               <Unit filename="include/llvm/Object/Binary.h" />
+               <Unit filename="include/llvm/Object/COFF.h" />
+               <Unit filename="include/llvm/Object/Error.h" />
+               <Unit filename="include/llvm/Object/MachO.h" />
+               <Unit filename="include/llvm/Object/MachOFormat.h" />
+               <Unit filename="include/llvm/Object/MachOObject.h" />
+               <Unit filename="include/llvm/Object/ObjectFile.h" />
+               <Unit filename="include/llvm/OperandTraits.h" />
+               <Unit filename="include/llvm/Operator.h" />
+               <Unit filename="include/llvm/Pass.h" />
+               <Unit filename="include/llvm/PassAnalysisSupport.h" />
+               <Unit filename="include/llvm/PassManager.h" />
+               <Unit filename="include/llvm/PassManagers.h" />
+               <Unit filename="include/llvm/PassRegistry.h" />
+               <Unit filename="include/llvm/PassSupport.h" />
+               <Unit filename="include/llvm/Support/AIXDataTypesFix.h" />
+               <Unit filename="include/llvm/Support/AlignOf.h" />
+               <Unit filename="include/llvm/Support/Allocator.h" />
+               <Unit filename="include/llvm/Support/Atomic.h" />
+               <Unit filename="include/llvm/Support/BlockFrequency.h" />
+               <Unit filename="include/llvm/Support/BranchProbability.h" />
+               <Unit filename="include/llvm/Support/CFG.h" />
+               <Unit filename="include/llvm/Support/COFF.h" />
+               <Unit filename="include/llvm/Support/CallSite.h" />
+               <Unit filename="include/llvm/Support/Capacity.h" />
+               <Unit filename="include/llvm/Support/Casting.h" />
+               <Unit filename="include/llvm/Support/CodeGen.h" />
+               <Unit filename="include/llvm/Support/CommandLine.h" />
+               <Unit filename="include/llvm/Support/Compiler.h" />
+               <Unit filename="include/llvm/Support/ConstantFolder.h" />
+               <Unit filename="include/llvm/Support/ConstantRange.h" />
+               <Unit filename="include/llvm/Support/CrashRecoveryContext.h" />
+               <Unit filename="include/llvm/Support/DOTGraphTraits.h" />
+               <Unit filename="include/llvm/Support/DataExtractor.h" />
+               <Unit filename="include/llvm/Support/DataFlow.h" />
+               <Unit filename="include/llvm/Support/DataTypes.h" />
+               <Unit filename="include/llvm/Support/Debug.h" />
+               <Unit filename="include/llvm/Support/DebugLoc.h" />
+               <Unit filename="include/llvm/Support/Disassembler.h" />
+               <Unit filename="include/llvm/Support/Dwarf.h" />
+               <Unit filename="include/llvm/Support/DynamicLibrary.h" />
+               <Unit filename="include/llvm/Support/ELF.h" />
+               <Unit filename="include/llvm/Support/Endian.h" />
+               <Unit filename="include/llvm/Support/Errno.h" />
+               <Unit filename="include/llvm/Support/ErrorHandling.h" />
+               <Unit filename="include/llvm/Support/FEnv.h" />
+               <Unit filename="include/llvm/Support/FileSystem.h" />
+               <Unit filename="include/llvm/Support/FileUtilities.h" />
+               <Unit filename="include/llvm/Support/Format.h" />
+               <Unit filename="include/llvm/Support/FormattedStream.h" />
+               <Unit filename="include/llvm/Support/GCOV.h" />
+               <Unit filename="include/llvm/Support/GetElementPtrTypeIterator.h" />
+               <Unit filename="include/llvm/Support/GraphWriter.h" />
+               <Unit filename="include/llvm/Support/Host.h" />
+               <Unit filename="include/llvm/Support/IRBuilder.h" />
+               <Unit filename="include/llvm/Support/IRReader.h" />
+               <Unit filename="include/llvm/Support/IncludeFile.h" />
+               <Unit filename="include/llvm/Support/InstIterator.h" />
+               <Unit filename="include/llvm/Support/InstVisitor.h" />
+               <Unit filename="include/llvm/Support/LeakDetector.h" />
+               <Unit filename="include/llvm/Support/MachO.h" />
+               <Unit filename="include/llvm/Support/ManagedStatic.h" />
+               <Unit filename="include/llvm/Support/MathExtras.h" />
+               <Unit filename="include/llvm/Support/Memory.h" />
+               <Unit filename="include/llvm/Support/MemoryBuffer.h" />
+               <Unit filename="include/llvm/Support/MemoryObject.h" />
+               <Unit filename="include/llvm/Support/Mutex.h" />
+               <Unit filename="include/llvm/Support/MutexGuard.h" />
+               <Unit filename="include/llvm/Support/NoFolder.h" />
+               <Unit filename="include/llvm/Support/OutputBuffer.h" />
+               <Unit filename="include/llvm/Support/PassNameParser.h" />
+               <Unit filename="include/llvm/Support/Path.h" />
+               <Unit filename="include/llvm/Support/PathV1.h" />
+               <Unit filename="include/llvm/Support/PathV2.h" />
+               <Unit filename="include/llvm/Support/PatternMatch.h" />
+               <Unit filename="include/llvm/Support/PluginLoader.h" />
+               <Unit filename="include/llvm/Support/PointerLikeTypeTraits.h" />
+               <Unit filename="include/llvm/Support/PredIteratorCache.h" />
+               <Unit filename="include/llvm/Support/PrettyStackTrace.h" />
+               <Unit filename="include/llvm/Support/Process.h" />
+               <Unit filename="include/llvm/Support/Program.h" />
+               <Unit filename="include/llvm/Support/RWMutex.h" />
+               <Unit filename="include/llvm/Support/Recycler.h" />
+               <Unit filename="include/llvm/Support/RecyclingAllocator.h" />
+               <Unit filename="include/llvm/Support/Registry.h" />
+               <Unit filename="include/llvm/Support/RegistryParser.h" />
+               <Unit filename="include/llvm/Support/SMLoc.h" />
+               <Unit filename="include/llvm/Support/Signals.h" />
+               <Unit filename="include/llvm/Support/Solaris.h" />
+               <Unit filename="include/llvm/Support/SourceMgr.h" />
+               <Unit filename="include/llvm/Support/StringPool.h" />
+               <Unit filename="include/llvm/Support/SwapByteOrder.h" />
+               <Unit filename="include/llvm/Support/SystemUtils.h" />
+               <Unit filename="include/llvm/Support/TargetFolder.h" />
+               <Unit filename="include/llvm/Support/TargetRegistry.h" />
+               <Unit filename="include/llvm/Support/TargetSelect.h" />
+               <Unit filename="include/llvm/Support/ThreadLocal.h" />
+               <Unit filename="include/llvm/Support/Threading.h" />
+               <Unit filename="include/llvm/Support/TimeValue.h" />
+               <Unit filename="include/llvm/Support/Timer.h" />
+               <Unit filename="include/llvm/Support/ToolOutputFile.h" />
+               <Unit filename="include/llvm/Support/TypeBuilder.h" />
+               <Unit filename="include/llvm/Support/Valgrind.h" />
+               <Unit filename="include/llvm/Support/ValueHandle.h" />
+               <Unit filename="include/llvm/Support/Win64EH.h" />
+               <Unit filename="include/llvm/Support/circular_raw_ostream.h" />
+               <Unit filename="include/llvm/Support/raw_os_ostream.h" />
+               <Unit filename="include/llvm/Support/raw_ostream.h" />
+               <Unit filename="include/llvm/Support/system_error.h" />
+               <Unit filename="include/llvm/Support/type_traits.h" />
+               <Unit filename="include/llvm/SymbolTableListTraits.h" />
+               <Unit filename="include/llvm/TableGen/Error.h" />
+               <Unit filename="include/llvm/TableGen/Main.h" />
+               <Unit filename="include/llvm/TableGen/Record.h" />
+               <Unit filename="include/llvm/TableGen/TableGenAction.h" />
+               <Unit filename="include/llvm/TableGen/TableGenBackend.h" />
+               <Unit filename="include/llvm/Target/Mangler.h" />
+               <Unit filename="include/llvm/Target/TargetCallingConv.h" />
+               <Unit filename="include/llvm/Target/TargetData.h" />
+               <Unit filename="include/llvm/Target/TargetELFWriterInfo.h" />
+               <Unit filename="include/llvm/Target/TargetFrameLowering.h" />
+               <Unit filename="include/llvm/Target/TargetInstrInfo.h" />
+               <Unit filename="include/llvm/Target/TargetIntrinsicInfo.h" />
+               <Unit filename="include/llvm/Target/TargetJITInfo.h" />
+               <Unit filename="include/llvm/Target/TargetLibraryInfo.h" />
+               <Unit filename="include/llvm/Target/TargetLowering.h" />
+               <Unit filename="include/llvm/Target/TargetLoweringObjectFile.h" />
+               <Unit filename="include/llvm/Target/TargetMachine.h" />
+               <Unit filename="include/llvm/Target/TargetOpcodes.h" />
+               <Unit filename="include/llvm/Target/TargetOptions.h" />
+               <Unit filename="include/llvm/Target/TargetRegisterInfo.h" />
+               <Unit filename="include/llvm/Target/TargetSelectionDAGInfo.h" />
+               <Unit filename="include/llvm/Target/TargetSubtargetInfo.h" />
+               <Unit filename="include/llvm/Transforms/IPO.h" />
+               <Unit filename="include/llvm/Transforms/IPO/InlinerPass.h" />
+               <Unit filename="include/llvm/Transforms/IPO/PassManagerBuilder.h" />
+               <Unit filename="include/llvm/Transforms/Instrumentation.h" />
+               <Unit filename="include/llvm/Transforms/Scalar.h" />
+               <Unit filename="include/llvm/Transforms/Utils/AddrModeMatcher.h" />
+               <Unit filename="include/llvm/Transforms/Utils/BasicBlockUtils.h" />
+               <Unit filename="include/llvm/Transforms/Utils/BasicInliner.h" />
+               <Unit filename="include/llvm/Transforms/Utils/BuildLibCalls.h" />
+               <Unit filename="include/llvm/Transforms/Utils/Cloning.h" />
+               <Unit filename="include/llvm/Transforms/Utils/FunctionUtils.h" />
+               <Unit filename="include/llvm/Transforms/Utils/Local.h" />
+               <Unit filename="include/llvm/Transforms/Utils/PromoteMemToReg.h" />
+               <Unit filename="include/llvm/Transforms/Utils/SSAUpdater.h" />
+               <Unit filename="include/llvm/Transforms/Utils/SSAUpdaterImpl.h" />
+               <Unit filename="include/llvm/Transforms/Utils/SimplifyIndVar.h" />
+               <Unit filename="include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h" />
+               <Unit filename="include/llvm/Transforms/Utils/UnrollLoop.h" />
+               <Unit filename="include/llvm/Transforms/Utils/ValueMapper.h" />
+               <Unit filename="include/llvm/Type.h" />
+               <Unit filename="include/llvm/Use.h" />
+               <Unit filename="include/llvm/User.h" />
+               <Unit filename="include/llvm/Value.h" />
+               <Unit filename="include/llvm/ValueSymbolTable.h" />
+               <Unit filename="lib/Analysis/AliasAnalysis.cpp" />
+               <Unit filename="lib/Analysis/AliasSetTracker.cpp" />
+               <Unit filename="lib/Analysis/BasicAliasAnalysis.cpp" />
+               <Unit filename="lib/Analysis/BranchProbabilityInfo.cpp" />
+               <Unit filename="lib/Analysis/CaptureTracking.cpp" />
+               <Unit filename="lib/Analysis/ConstantFolding.cpp" />
+               <Unit filename="lib/Analysis/DIBuilder.cpp" />
+               <Unit filename="lib/Analysis/DebugInfo.cpp" />
+               <Unit filename="lib/Analysis/IVUsers.cpp" />
+               <Unit filename="lib/Analysis/InstructionSimplify.cpp" />
+               <Unit filename="lib/Analysis/Loads.cpp" />
+               <Unit filename="lib/Analysis/LoopInfo.cpp" />
+               <Unit filename="lib/Analysis/LoopPass.cpp" />
+               <Unit filename="lib/Analysis/MemoryBuiltins.cpp" />
+               <Unit filename="lib/Analysis/MemoryDependenceAnalysis.cpp" />
+               <Unit filename="lib/Analysis/NoAliasAnalysis.cpp" />
+               <Unit filename="lib/Analysis/PHITransAddr.cpp" />
+               <Unit filename="lib/Analysis/PathNumbering.cpp" />
+               <Unit filename="lib/Analysis/ProfileInfo.cpp" />
+               <Unit filename="lib/Analysis/ScalarEvolution.cpp" />
+               <Unit filename="lib/Analysis/ScalarEvolutionExpander.cpp" />
+               <Unit filename="lib/Analysis/ScalarEvolutionNormalization.cpp" />
+               <Unit filename="lib/Analysis/TypeBasedAliasAnalysis.cpp" />
+               <Unit filename="lib/Analysis/ValueTracking.cpp" />
+               <Unit filename="lib/CodeGen/AggressiveAntiDepBreaker.cpp" />
+               <Unit filename="lib/CodeGen/AggressiveAntiDepBreaker.h" />
+               <Unit filename="lib/CodeGen/AllocationOrder.cpp" />
+               <Unit filename="lib/CodeGen/AllocationOrder.h" />
+               <Unit filename="lib/CodeGen/Analysis.cpp" />
+               <Unit filename="lib/CodeGen/AntiDepBreaker.h" />
+               <Unit filename="lib/CodeGen/BranchFolding.cpp" />
+               <Unit filename="lib/CodeGen/BranchFolding.h" />
+               <Unit filename="lib/CodeGen/CalcSpillWeights.cpp" />
+               <Unit filename="lib/CodeGen/CallingConvLower.cpp" />
+               <Unit filename="lib/CodeGen/CodePlacementOpt.cpp" />
+               <Unit filename="lib/CodeGen/CriticalAntiDepBreaker.cpp" />
+               <Unit filename="lib/CodeGen/CriticalAntiDepBreaker.h" />
+               <Unit filename="lib/CodeGen/DeadMachineInstructionElim.cpp" />
+               <Unit filename="lib/CodeGen/DwarfEHPrepare.cpp" />
+               <Unit filename="lib/CodeGen/ELF.h" />
+               <Unit filename="lib/CodeGen/ELFCodeEmitter.cpp" />
+               <Unit filename="lib/CodeGen/ELFCodeEmitter.h" />
+               <Unit filename="lib/CodeGen/ELFWriter.cpp" />
+               <Unit filename="lib/CodeGen/ELFWriter.h" />
+               <Unit filename="lib/CodeGen/EdgeBundles.cpp" />
+               <Unit filename="lib/CodeGen/ExecutionDepsFix.cpp" />
+               <Unit filename="lib/CodeGen/ExpandISelPseudos.cpp" />
+               <Unit filename="lib/CodeGen/ExpandPostRAPseudos.cpp" />
+               <Unit filename="lib/CodeGen/GCMetadata.cpp" />
+               <Unit filename="lib/CodeGen/GCStrategy.cpp" />
+               <Unit filename="lib/CodeGen/InlineSpiller.cpp" />
+               <Unit filename="lib/CodeGen/InterferenceCache.cpp" />
+               <Unit filename="lib/CodeGen/InterferenceCache.h" />
+               <Unit filename="lib/CodeGen/IntrinsicLowering.cpp" />
+               <Unit filename="lib/CodeGen/LLVMTargetMachine.cpp" />
+               <Unit filename="lib/CodeGen/LatencyPriorityQueue.cpp" />
+               <Unit filename="lib/CodeGen/LexicalScopes.cpp" />
+               <Unit filename="lib/CodeGen/LiveDebugVariables.cpp" />
+               <Unit filename="lib/CodeGen/LiveDebugVariables.h" />
+               <Unit filename="lib/CodeGen/LiveInterval.cpp" />
+               <Unit filename="lib/CodeGen/LiveIntervalAnalysis.cpp" />
+               <Unit filename="lib/CodeGen/LiveIntervalUnion.cpp" />
+               <Unit filename="lib/CodeGen/LiveIntervalUnion.h" />
+               <Unit filename="lib/CodeGen/LiveRangeCalc.cpp" />
+               <Unit filename="lib/CodeGen/LiveRangeCalc.h" />
+               <Unit filename="lib/CodeGen/LiveRangeEdit.cpp" />
+               <Unit filename="lib/CodeGen/LiveRangeEdit.h" />
+               <Unit filename="lib/CodeGen/LiveStackAnalysis.cpp" />
+               <Unit filename="lib/CodeGen/LiveVariables.cpp" />
+               <Unit filename="lib/CodeGen/LocalStackSlotAllocation.cpp" />
+               <Unit filename="lib/CodeGen/MachineBasicBlock.cpp" />
+               <Unit filename="lib/CodeGen/MachineCSE.cpp" />
+               <Unit filename="lib/CodeGen/MachineDominators.cpp" />
+               <Unit filename="lib/CodeGen/MachineFunction.cpp" />
+               <Unit filename="lib/CodeGen/MachineFunctionAnalysis.cpp" />
+               <Unit filename="lib/CodeGen/MachineFunctionPass.cpp" />
+               <Unit filename="lib/CodeGen/MachineFunctionPrinterPass.cpp" />
+               <Unit filename="lib/CodeGen/MachineInstr.cpp" />
+               <Unit filename="lib/CodeGen/MachineLICM.cpp" />
+               <Unit filename="lib/CodeGen/MachineLoopInfo.cpp" />
+               <Unit filename="lib/CodeGen/MachineModuleInfo.cpp" />
+               <Unit filename="lib/CodeGen/MachineModuleInfoImpls.cpp" />
+               <Unit filename="lib/CodeGen/MachinePassRegistry.cpp" />
+               <Unit filename="lib/CodeGen/MachineRegisterInfo.cpp" />
+               <Unit filename="lib/CodeGen/MachineSSAUpdater.cpp" />
+               <Unit filename="lib/CodeGen/MachineSink.cpp" />
+               <Unit filename="lib/CodeGen/MachineVerifier.cpp" />
+               <Unit filename="lib/CodeGen/ObjectCodeEmitter.cpp" />
+               <Unit filename="lib/CodeGen/OptimizePHIs.cpp" />
+               <Unit filename="lib/CodeGen/PHIElimination.cpp" />
+               <Unit filename="lib/CodeGen/PHIEliminationUtils.cpp" />
+               <Unit filename="lib/CodeGen/PHIEliminationUtils.h" />
+               <Unit filename="lib/CodeGen/Passes.cpp" />
+               <Unit filename="lib/CodeGen/PeepholeOptimizer.cpp" />
+               <Unit filename="lib/CodeGen/PostRASchedulerList.cpp" />
+               <Unit filename="lib/CodeGen/ProcessImplicitDefs.cpp" />
+               <Unit filename="lib/CodeGen/PrologEpilogInserter.cpp" />
+               <Unit filename="lib/CodeGen/PrologEpilogInserter.h" />
+               <Unit filename="lib/CodeGen/PseudoSourceValue.cpp" />
+               <Unit filename="lib/CodeGen/RegAllocBase.h" />
+               <Unit filename="lib/CodeGen/RegAllocBasic.cpp" />
+               <Unit filename="lib/CodeGen/RegAllocFast.cpp" />
+               <Unit filename="lib/CodeGen/RegAllocGreedy.cpp" />
+               <Unit filename="lib/CodeGen/RegAllocLinearScan.cpp" />
+               <Unit filename="lib/CodeGen/RegisterClassInfo.cpp" />
+               <Unit filename="lib/CodeGen/RegisterClassInfo.h" />
+               <Unit filename="lib/CodeGen/RegisterCoalescer.cpp" />
+               <Unit filename="lib/CodeGen/RegisterCoalescer.h" />
+               <Unit filename="lib/CodeGen/RegisterScavenging.cpp" />
+               <Unit filename="lib/CodeGen/RenderMachineFunction.cpp" />
+               <Unit filename="lib/CodeGen/RenderMachineFunction.h" />
+               <Unit filename="lib/CodeGen/ScheduleDAG.cpp" />
+               <Unit filename="lib/CodeGen/ScheduleDAGEmit.cpp" />
+               <Unit filename="lib/CodeGen/ScheduleDAGInstrs.cpp" />
+               <Unit filename="lib/CodeGen/ScheduleDAGInstrs.h" />
+               <Unit filename="lib/CodeGen/ScheduleDAGPrinter.cpp" />
+               <Unit filename="lib/CodeGen/ScoreboardHazardRecognizer.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/DAGCombiner.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/FastISel.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/InstrEmitter.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/InstrEmitter.h" />
+               <Unit filename="lib/CodeGen/SelectionDAG/LegalizeDAG.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/LegalizeTypes.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/LegalizeTypes.h" />
+               <Unit filename="lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/SDNodeDbgValue.h" />
+               <Unit filename="lib/CodeGen/SelectionDAG/SDNodeOrdering.h" />
+               <Unit filename="lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h" />
+               <Unit filename="lib/CodeGen/SelectionDAG/SelectionDAG.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h" />
+               <Unit filename="lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/TargetLowering.cpp" />
+               <Unit filename="lib/CodeGen/SelectionDAG/TargetSelectionDAGInfo.cpp" />
+               <Unit filename="lib/CodeGen/ShrinkWrapping.cpp" />
+               <Unit filename="lib/CodeGen/SjLjEHPrepare.cpp" />
+               <Unit filename="lib/CodeGen/SlotIndexes.cpp" />
+               <Unit filename="lib/CodeGen/SpillPlacement.cpp" />
+               <Unit filename="lib/CodeGen/SpillPlacement.h" />
+               <Unit filename="lib/CodeGen/Spiller.cpp" />
+               <Unit filename="lib/CodeGen/Spiller.h" />
+               <Unit filename="lib/CodeGen/SplitKit.cpp" />
+               <Unit filename="lib/CodeGen/SplitKit.h" />
+               <Unit filename="lib/CodeGen/Splitter.h" />
+               <Unit filename="lib/CodeGen/StackProtector.cpp" />
+               <Unit filename="lib/CodeGen/StackSlotColoring.cpp" />
+               <Unit filename="lib/CodeGen/StrongPHIElimination.cpp" />
+               <Unit filename="lib/CodeGen/TailDuplication.cpp" />
+               <Unit filename="lib/CodeGen/TargetInstrInfoImpl.cpp" />
+               <Unit filename="lib/CodeGen/TargetLoweringObjectFileImpl.cpp" />
+               <Unit filename="lib/CodeGen/TwoAddressInstructionPass.cpp" />
+               <Unit filename="lib/CodeGen/UnreachableBlockElim.cpp" />
+               <Unit filename="lib/CodeGen/VirtRegMap.cpp" />
+               <Unit filename="lib/CodeGen/VirtRegMap.h" />
+               <Unit filename="lib/CodeGen/VirtRegRewriter.cpp" />
+               <Unit filename="lib/CodeGen/VirtRegRewriter.h" />
+               <Unit filename="lib/ExecutionEngine/ExecutionEngine.cpp" />
+               <Unit filename="lib/ExecutionEngine/JIT/Intercept.cpp" />
+               <Unit filename="lib/ExecutionEngine/JIT/JIT.cpp" />
+               <Unit filename="lib/ExecutionEngine/JIT/JIT.h" />
+               <Unit filename="lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp" />
+               <Unit filename="lib/ExecutionEngine/JIT/JITDebugRegisterer.h" />
+               <Unit filename="lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp" />
+               <Unit filename="lib/ExecutionEngine/JIT/JITDwarfEmitter.h" />
+               <Unit filename="lib/ExecutionEngine/JIT/JITEmitter.cpp" />
+               <Unit filename="lib/ExecutionEngine/JIT/JITMemoryManager.cpp" />
+               <Unit filename="lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp" />
+               <Unit filename="lib/ExecutionEngine/TargetSelect.cpp" />
+               <Unit filename="lib/MC/ELFObjectWriter.cpp" />
+               <Unit filename="lib/MC/ELFObjectWriter.h" />
+               <Unit filename="lib/MC/MCAsmBackend.cpp" />
+               <Unit filename="lib/MC/MCAsmInfo.cpp" />
+               <Unit filename="lib/MC/MCAsmInfoCOFF.cpp" />
+               <Unit filename="lib/MC/MCAsmInfoDarwin.cpp" />
+               <Unit filename="lib/MC/MCAsmStreamer.cpp" />
+               <Unit filename="lib/MC/MCAssembler.cpp" />
+               <Unit filename="lib/MC/MCCodeEmitter.cpp" />
+               <Unit filename="lib/MC/MCCodeGenInfo.cpp" />
+               <Unit filename="lib/MC/MCContext.cpp" />
+               <Unit filename="lib/MC/MCDwarf.cpp" />
+               <Unit filename="lib/MC/MCELF.cpp" />
+               <Unit filename="lib/MC/MCELF.h" />
+               <Unit filename="lib/MC/MCELFObjectTargetWriter.cpp" />
+               <Unit filename="lib/MC/MCELFStreamer.cpp" />
+               <Unit filename="lib/MC/MCELFStreamer.h" />
+               <Unit filename="lib/MC/MCExpr.cpp" />
+               <Unit filename="lib/MC/MCInst.cpp" />
+               <Unit filename="lib/MC/MCInstPrinter.cpp" />
+               <Unit filename="lib/MC/MCInstrAnalysis.cpp" />
+               <Unit filename="lib/MC/MCLoggingStreamer.cpp" />
+               <Unit filename="lib/MC/MCMachOStreamer.cpp" />
+               <Unit filename="lib/MC/MCMachObjectTargetWriter.cpp" />
+               <Unit filename="lib/MC/MCNullStreamer.cpp" />
+               <Unit filename="lib/MC/MCObjectFileInfo.cpp" />
+               <Unit filename="lib/MC/MCObjectStreamer.cpp" />
+               <Unit filename="lib/MC/MCObjectWriter.cpp" />
+               <Unit filename="lib/MC/MCSection.cpp" />
+               <Unit filename="lib/MC/MCSectionCOFF.cpp" />
+               <Unit filename="lib/MC/MCSectionELF.cpp" />
+               <Unit filename="lib/MC/MCSectionMachO.cpp" />
+               <Unit filename="lib/MC/MCStreamer.cpp" />
+               <Unit filename="lib/MC/MCSubtargetInfo.cpp" />
+               <Unit filename="lib/MC/MCSymbol.cpp" />
+               <Unit filename="lib/MC/MCWin64EH.cpp" />
+               <Unit filename="lib/MC/MachObjectWriter.cpp" />
+               <Unit filename="lib/MC/SubtargetFeature.cpp" />
+               <Unit filename="lib/MC/WinCOFFObjectWriter.cpp" />
+               <Unit filename="lib/MC/WinCOFFStreamer.cpp" />
+               <Unit filename="lib/Support/APFloat.cpp" />
+               <Unit filename="lib/Support/APInt.cpp" />
+               <Unit filename="lib/Support/Allocator.cpp" />
+               <Unit filename="lib/Support/Atomic.cpp" />
+               <Unit filename="lib/Support/BlockFrequency.cpp" />
+               <Unit filename="lib/Support/BranchProbability.cpp" />
+               <Unit filename="lib/Support/CommandLine.cpp" />
+               <Unit filename="lib/Support/ConstantRange.cpp" />
+               <Unit filename="lib/Support/CrashRecoveryContext.cpp" />
+               <Unit filename="lib/Support/DAGDeltaAlgorithm.cpp" />
+               <Unit filename="lib/Support/DataExtractor.cpp" />
+               <Unit filename="lib/Support/Debug.cpp" />
+               <Unit filename="lib/Support/DeltaAlgorithm.cpp" />
+               <Unit filename="lib/Support/Disassembler.cpp" />
+               <Unit filename="lib/Support/Dwarf.cpp" />
+               <Unit filename="lib/Support/DynamicLibrary.cpp" />
+               <Unit filename="lib/Support/Errno.cpp" />
+               <Unit filename="lib/Support/ErrorHandling.cpp" />
+               <Unit filename="lib/Support/FileUtilities.cpp" />
+               <Unit filename="lib/Support/FoldingSet.cpp" />
+               <Unit filename="lib/Support/FormattedStream.cpp" />
+               <Unit filename="lib/Support/GraphWriter.cpp" />
+               <Unit filename="lib/Support/Host.cpp" />
+               <Unit filename="lib/Support/IncludeFile.cpp" />
+               <Unit filename="lib/Support/IntEqClasses.cpp" />
+               <Unit filename="lib/Support/IntervalMap.cpp" />
+               <Unit filename="lib/Support/IsInf.cpp" />
+               <Unit filename="lib/Support/IsNAN.cpp" />
+               <Unit filename="lib/Support/ManagedStatic.cpp" />
+               <Unit filename="lib/Support/Memory.cpp" />
+               <Unit filename="lib/Support/MemoryBuffer.cpp" />
+               <Unit filename="lib/Support/MemoryObject.cpp" />
+               <Unit filename="lib/Support/Mutex.cpp" />
+               <Unit filename="lib/Support/Path.cpp" />
+               <Unit filename="lib/Support/PathV2.cpp" />
+               <Unit filename="lib/Support/PrettyStackTrace.cpp" />
+               <Unit filename="lib/Support/Process.cpp" />
+               <Unit filename="lib/Support/Program.cpp" />
+               <Unit filename="lib/Support/RWMutex.cpp" />
+               <Unit filename="lib/Support/SearchForAddressOfSpecialSymbol.cpp" />
+               <Unit filename="lib/Support/Signals.cpp" />
+               <Unit filename="lib/Support/SmallPtrSet.cpp" />
+               <Unit filename="lib/Support/SmallVector.cpp" />
+               <Unit filename="lib/Support/SourceMgr.cpp" />
+               <Unit filename="lib/Support/Statistic.cpp" />
+               <Unit filename="lib/Support/StringExtras.cpp" />
+               <Unit filename="lib/Support/StringMap.cpp" />
+               <Unit filename="lib/Support/StringPool.cpp" />
+               <Unit filename="lib/Support/StringRef.cpp" />
+               <Unit filename="lib/Support/SystemUtils.cpp" />
+               <Unit filename="lib/Support/TargetRegistry.cpp" />
+               <Unit filename="lib/Support/ThreadLocal.cpp" />
+               <Unit filename="lib/Support/Threading.cpp" />
+               <Unit filename="lib/Support/TimeValue.cpp" />
+               <Unit filename="lib/Support/Timer.cpp" />
+               <Unit filename="lib/Support/ToolOutputFile.cpp" />
+               <Unit filename="lib/Support/Triple.cpp" />
+               <Unit filename="lib/Support/Twine.cpp" />
+               <Unit filename="lib/Support/Unix/Unix.h" />
+               <Unit filename="lib/Support/Valgrind.cpp" />
+               <Unit filename="lib/Support/Windows/Windows.h" />
+               <Unit filename="lib/Support/circular_raw_ostream.cpp" />
+               <Unit filename="lib/Support/raw_os_ostream.cpp" />
+               <Unit filename="lib/Support/raw_ostream.cpp" />
+               <Unit filename="lib/Support/system_error.cpp" />
+               <Unit filename="lib/TableGen/Error.cpp" />
+               <Unit filename="lib/TableGen/Main.cpp" />
+               <Unit filename="lib/TableGen/Record.cpp" />
+               <Unit filename="lib/TableGen/TGLexer.cpp" />
+               <Unit filename="lib/TableGen/TGLexer.h" />
+               <Unit filename="lib/TableGen/TGParser.cpp" />
+               <Unit filename="lib/TableGen/TGParser.h" />
+               <Unit filename="lib/TableGen/TableGenBackend.cpp" />
+               <Unit filename="lib/Target/ARM/MCTargetDesc/ARMFixupKinds.h" />
+               <Unit filename="lib/Target/Mangler.cpp" />
+               <Unit filename="lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h" />
+               <Unit filename="lib/Target/TargetData.cpp" />
+               <Unit filename="lib/Target/TargetELFWriterInfo.cpp" />
+               <Unit filename="lib/Target/TargetFrameLowering.cpp" />
+               <Unit filename="lib/Target/TargetInstrInfo.cpp" />
+               <Unit filename="lib/Target/TargetLibraryInfo.cpp" />
+               <Unit filename="lib/Target/TargetLoweringObjectFile.cpp" />
+               <Unit filename="lib/Target/TargetMachine.cpp" />
+               <Unit filename="lib/Target/TargetRegisterInfo.cpp" />
+               <Unit filename="lib/Target/TargetSubtargetInfo.cpp" />
+               <Unit filename="lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h" />
+               <Unit filename="lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp" />
+               <Unit filename="lib/Target/X86/InstPrinter/X86ATTInstPrinter.h" />
+               <Unit filename="lib/Target/X86/InstPrinter/X86InstComments.cpp" />
+               <Unit filename="lib/Target/X86/InstPrinter/X86InstComments.h" />
+               <Unit filename="lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp" />
+               <Unit filename="lib/Target/X86/InstPrinter/X86IntelInstPrinter.h" />
+               <Unit filename="lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp" />
+               <Unit filename="lib/Target/X86/MCTargetDesc/X86BaseInfo.h" />
+               <Unit filename="lib/Target/X86/MCTargetDesc/X86FixupKinds.h" />
+               <Unit filename="lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp" />
+               <Unit filename="lib/Target/X86/MCTargetDesc/X86MCAsmInfo.h" />
+               <Unit filename="lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp" />
+               <Unit filename="lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp" />
+               <Unit filename="lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h" />
+               <Unit filename="lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp" />
+               <Unit filename="lib/Target/X86/TargetInfo/X86TargetInfo.cpp" />
+               <Unit filename="lib/Target/X86/Utils/X86ShuffleDecode.cpp" />
+               <Unit filename="lib/Target/X86/Utils/X86ShuffleDecode.h" />
+               <Unit filename="lib/Target/X86/X86.h" />
+               <Unit filename="lib/Target/X86/X86AsmPrinter.h" />
+               <Unit filename="lib/Target/X86/X86COFFMachineModuleInfo.h" />
+               <Unit filename="lib/Target/X86/X86CodeEmitter.cpp" />
+               <Unit filename="lib/Target/X86/X86ELFWriterInfo.cpp" />
+               <Unit filename="lib/Target/X86/X86ELFWriterInfo.h" />
+               <Unit filename="lib/Target/X86/X86FastISel.cpp" />
+               <Unit filename="lib/Target/X86/X86FloatingPoint.cpp" />
+               <Unit filename="lib/Target/X86/X86FrameLowering.cpp" />
+               <Unit filename="lib/Target/X86/X86FrameLowering.h" />
+               <Unit filename="lib/Target/X86/X86ISelDAGToDAG.cpp" />
+               <Unit filename="lib/Target/X86/X86ISelLowering.cpp" />
+               <Unit filename="lib/Target/X86/X86ISelLowering.h" />
+               <Unit filename="lib/Target/X86/X86InstrBuilder.h" />
+               <Unit filename="lib/Target/X86/X86InstrInfo.cpp" />
+               <Unit filename="lib/Target/X86/X86InstrInfo.h" />
+               <Unit filename="lib/Target/X86/X86JITInfo.cpp" />
+               <Unit filename="lib/Target/X86/X86JITInfo.h" />
+               <Unit filename="lib/Target/X86/X86MCInstLower.h" />
+               <Unit filename="lib/Target/X86/X86MachineFunctionInfo.h" />
+               <Unit filename="lib/Target/X86/X86RegisterInfo.cpp" />
+               <Unit filename="lib/Target/X86/X86RegisterInfo.h" />
+               <Unit filename="lib/Target/X86/X86Relocations.h" />
+               <Unit filename="lib/Target/X86/X86SelectionDAGInfo.cpp" />
+               <Unit filename="lib/Target/X86/X86SelectionDAGInfo.h" />
+               <Unit filename="lib/Target/X86/X86Subtarget.cpp" />
+               <Unit filename="lib/Target/X86/X86Subtarget.h" />
+               <Unit filename="lib/Target/X86/X86TargetMachine.cpp" />
+               <Unit filename="lib/Target/X86/X86TargetMachine.h" />
+               <Unit filename="lib/Target/X86/X86TargetObjectFile.cpp" />
+               <Unit filename="lib/Target/X86/X86TargetObjectFile.h" />
+               <Unit filename="lib/Target/X86/X86VZeroUpper.cpp" />
+               <Unit filename="lib/Transforms/InstCombine/InstCombine.h" />
+               <Unit filename="lib/Transforms/InstCombine/InstCombineAddSub.cpp" />
+               <Unit filename="lib/Transforms/InstCombine/InstCombineAndOrXor.cpp" />
+               <Unit filename="lib/Transforms/InstCombine/InstCombineCalls.cpp" />
+               <Unit filename="lib/Transforms/InstCombine/InstCombineCasts.cpp" />
+               <Unit filename="lib/Transforms/InstCombine/InstCombineCompares.cpp" />
+               <Unit filename="lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp" />
+               <Unit filename="lib/Transforms/InstCombine/InstCombineMulDivRem.cpp" />
+               <Unit filename="lib/Transforms/InstCombine/InstCombinePHI.cpp" />
+               <Unit filename="lib/Transforms/InstCombine/InstCombineSelect.cpp" />
+               <Unit filename="lib/Transforms/InstCombine/InstCombineShifts.cpp" />
+               <Unit filename="lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp" />
+               <Unit filename="lib/Transforms/InstCombine/InstCombineVectorOps.cpp" />
+               <Unit filename="lib/Transforms/InstCombine/InstCombineWorklist.h" />
+               <Unit filename="lib/Transforms/InstCombine/InstructionCombining.cpp" />
+               <Unit filename="lib/Transforms/Scalar/ADCE.cpp" />
+               <Unit filename="lib/Transforms/Scalar/CodeGenPrepare.cpp" />
+               <Unit filename="lib/Transforms/Scalar/DeadStoreElimination.cpp" />
+               <Unit filename="lib/Transforms/Scalar/GVN.cpp" />
+               <Unit filename="lib/Transforms/Scalar/LICM.cpp" />
+               <Unit filename="lib/Transforms/Scalar/LoopStrengthReduce.cpp" />
+               <Unit filename="lib/Transforms/Scalar/Reassociate.cpp" />
+               <Unit filename="lib/Transforms/Scalar/Reg2Mem.cpp" />
+               <Unit filename="lib/Transforms/Scalar/SCCP.cpp" />
+               <Unit filename="lib/Transforms/Scalar/ScalarReplAggregates.cpp" />
+               <Unit filename="lib/Transforms/Scalar/SimplifyCFGPass.cpp" />
+               <Unit filename="lib/Transforms/Utils/AddrModeMatcher.cpp" />
+               <Unit filename="lib/Transforms/Utils/BasicBlockUtils.cpp" />
+               <Unit filename="lib/Transforms/Utils/BreakCriticalEdges.cpp" />
+               <Unit filename="lib/Transforms/Utils/BuildLibCalls.cpp" />
+               <Unit filename="lib/Transforms/Utils/DemoteRegToStack.cpp" />
+               <Unit filename="lib/Transforms/Utils/InstructionNamer.cpp" />
+               <Unit filename="lib/Transforms/Utils/LCSSA.cpp" />
+               <Unit filename="lib/Transforms/Utils/Local.cpp" />
+               <Unit filename="lib/Transforms/Utils/LoopSimplify.cpp" />
+               <Unit filename="lib/Transforms/Utils/LowerInvoke.cpp" />
+               <Unit filename="lib/Transforms/Utils/LowerSwitch.cpp" />
+               <Unit filename="lib/Transforms/Utils/PromoteMemoryToRegister.cpp" />
+               <Unit filename="lib/Transforms/Utils/SSAUpdater.cpp" />
+               <Unit filename="lib/Transforms/Utils/SimplifyCFG.cpp" />
+               <Unit filename="lib/Transforms/Utils/UnifyFunctionExitNodes.cpp" />
+               <Unit filename="lib/VMCore/AsmWriter.cpp" />
+               <Unit filename="lib/VMCore/Attributes.cpp" />
+               <Unit filename="lib/VMCore/BasicBlock.cpp" />
+               <Unit filename="lib/VMCore/ConstantFold.cpp" />
+               <Unit filename="lib/VMCore/ConstantFold.h" />
+               <Unit filename="lib/VMCore/Constants.cpp" />
+               <Unit filename="lib/VMCore/ConstantsContext.h" />
+               <Unit filename="lib/VMCore/DebugInfoProbe.cpp" />
+               <Unit filename="lib/VMCore/DebugLoc.cpp" />
+               <Unit filename="lib/VMCore/Dominators.cpp" />
+               <Unit filename="lib/VMCore/Function.cpp" />
+               <Unit filename="lib/VMCore/Globals.cpp" />
+               <Unit filename="lib/VMCore/IRBuilder.cpp" />
+               <Unit filename="lib/VMCore/InlineAsm.cpp" />
+               <Unit filename="lib/VMCore/Instruction.cpp" />
+               <Unit filename="lib/VMCore/Instructions.cpp" />
+               <Unit filename="lib/VMCore/IntrinsicInst.cpp" />
+               <Unit filename="lib/VMCore/LLVMContext.cpp" />
+               <Unit filename="lib/VMCore/LLVMContextImpl.cpp" />
+               <Unit filename="lib/VMCore/LLVMContextImpl.h" />
+               <Unit filename="lib/VMCore/LeakDetector.cpp" />
+               <Unit filename="lib/VMCore/LeaksContext.h" />
+               <Unit filename="lib/VMCore/Metadata.cpp" />
+               <Unit filename="lib/VMCore/Module.cpp" />
+               <Unit filename="lib/VMCore/Pass.cpp" />
+               <Unit filename="lib/VMCore/PassManager.cpp" />
+               <Unit filename="lib/VMCore/PassRegistry.cpp" />
+               <Unit filename="lib/VMCore/PrintModulePass.cpp" />
+               <Unit filename="lib/VMCore/SymbolTableListTraitsImpl.h" />
+               <Unit filename="lib/VMCore/Type.cpp" />
+               <Unit filename="lib/VMCore/Use.cpp" />
+               <Unit filename="lib/VMCore/User.cpp" />
+               <Unit filename="lib/VMCore/Value.cpp" />
+               <Unit filename="lib/VMCore/ValueSymbolTable.cpp" />
+               <Unit filename="lib/VMCore/ValueTypes.cpp" />
+               <Unit filename="lib/VMCore/Verifier.cpp" />
                <Extensions>
                        <code_completion />
                        <debugger />
index 3cabebe..e6c8743 100644 (file)
-// SwiftShader Software Renderer\r
-//\r
-// Copyright(c) 2005-2013 TransGaming Inc.\r
-//\r
-// All rights reserved. No part of this software may be copied, distributed, transmitted,\r
-// transcribed, stored in a retrieval system, translated into any human or computer\r
-// language by any means, or disclosed to third parties without the explicit written\r
-// agreement of TransGaming Inc. Without such an agreement, no rights or licenses, express\r
-// or implied, including but not limited to any patent rights, are granted to you.\r
-//\r
-\r
-// Display.cpp: Implements the egl::Display class, representing the abstract\r
-// display on which graphics are drawn. Implements EGLDisplay.\r
-// [EGL 1.4] section 2.1.2 page 3.\r
-\r
-#include "Display.h"\r
-\r
-#include "main.h"\r
-#include "libEGL/Surface.h"\r
-#include "libEGL/Context.hpp"\r
-#include "common/debug.h"\r
-\r
-#include <algorithm>\r
-#include <vector>\r
-#include <map>\r
-\r
-namespace egl\r
-{\r
-typedef std::map<EGLNativeDisplayType, Display*> DisplayMap; \r
-DisplayMap displays;\r
-\r
-egl::Display *Display::getDisplay(EGLNativeDisplayType displayId)\r
-{\r
-    if(displays.find(displayId) != displays.end())\r
-    {\r
-        return displays[displayId];\r
-    }\r
-\r
-    egl::Display *display = NULL;\r
-\r
-    if(displayId == EGL_DEFAULT_DISPLAY)\r
-    {\r
-        display = new egl::Display(displayId);\r
-    }\r
-    else\r
-    {\r
-        // FIXME: Check if displayId is a valid display device context\r
-\r
-        display = new egl::Display(displayId);\r
-    }\r
-\r
-    displays[displayId] = display;\r
-    return display;\r
-}\r
-\r
-Display::Display(EGLNativeDisplayType displayId) : displayId(displayId)\r
-{\r
-    mMinSwapInterval = 1;\r
-    mMaxSwapInterval = 1;\r
-}\r
-\r
-Display::~Display()\r
-{\r
-    terminate();\r
-\r
-       displays.erase(displayId);\r
-}\r
-\r
-static void cpuid(int registers[4], int info)\r
-{\r
-       #if defined(_WIN32)\r
-        __cpuid(registers, info);\r
-    #else\r
-        __asm volatile("cpuid": "=a" (registers[0]), "=b" (registers[1]), "=c" (registers[2]), "=d" (registers[3]): "a" (info));\r
-    #endif\r
-}\r
-\r
-static bool detectSSE()\r
-{\r
-       #if defined(__APPLE__)\r
-               int SSE = false;\r
-               size_t length = sizeof(SSE);\r
-               sysctlbyname("hw.optional.sse", &SSE, &length, 0, 0);\r
-               return SSE;\r
-       #else\r
-               int registers[4];\r
-               cpuid(registers, 1);\r
-               return (registers[3] & 0x02000000) != 0;\r
-       #endif\r
-}\r
-\r
-bool Display::initialize()\r
-{\r
-    if(isInitialized())\r
-    {\r
-        return true;\r
-    }\r
-\r
-       if(!detectSSE())\r
-       {\r
-                return false;\r
-       }\r
-               \r
-    mMinSwapInterval = 0;\r
-    mMaxSwapInterval = 4;\r
-\r
-    const sw::Format renderTargetFormats[] =\r
-    {\r
-        sw::FORMAT_A1R5G5B5,\r
-    //  sw::FORMAT_A2R10G10B10,   // The color_ramp conformance test uses ReadPixels with UNSIGNED_BYTE causing it to think that rendering skipped a colour value.\r
-        sw::FORMAT_A8R8G8B8,\r
-        sw::FORMAT_R5G6B5,\r
-    //  sw::FORMAT_X1R5G5B5,      // Has no compatible OpenGL ES renderbuffer format\r
-        sw::FORMAT_X8R8G8B8\r
-    };\r
-\r
-    const sw::Format depthStencilFormats[] =\r
-    {\r
-        sw::FORMAT_NULL,\r
-    //  sw::FORMAT_D16_LOCKABLE,\r
-        sw::FORMAT_D32,\r
-    //  sw::FORMAT_D15S1,\r
-        sw::FORMAT_D24S8,\r
-        sw::FORMAT_D24X8,\r
-    //  sw::FORMAT_D24X4S4,\r
-        sw::FORMAT_D16,\r
-    //  sw::FORMAT_D32F_LOCKABLE,\r
-    //  sw::FORMAT_D24FS8\r
-    };\r
-\r
-       DisplayMode currentDisplayMode = getDisplayMode();\r
-    ConfigSet configSet;\r
-\r
-    for(int formatIndex = 0; formatIndex < sizeof(renderTargetFormats) / sizeof(sw::Format); formatIndex++)\r
-    {\r
-        sw::Format renderTargetFormat = renderTargetFormats[formatIndex];\r
-\r
-        for(int depthStencilIndex = 0; depthStencilIndex < sizeof(depthStencilFormats) / sizeof(sw::Format); depthStencilIndex++)\r
-        {\r
-            sw::Format depthStencilFormat = depthStencilFormats[depthStencilIndex];\r
-             \r
-            // FIXME: enumerate multi-sampling\r
-\r
-            configSet.add(currentDisplayMode, mMinSwapInterval, mMaxSwapInterval, renderTargetFormat, depthStencilFormat, 0);\r
-        }\r
-    }\r
-\r
-    // Give the sorted configs a unique ID and store them internally\r
-    EGLint index = 1;\r
-    for(ConfigSet::Iterator config = configSet.mSet.begin(); config != configSet.mSet.end(); config++)\r
-    {\r
-        Config configuration = *config;\r
-        configuration.mConfigID = index;\r
-        index++;\r
-\r
-        mConfigSet.mSet.insert(configuration);\r
-    }\r
-\r
-    if(!isInitialized())\r
-    {\r
-        terminate();\r
-\r
-        return false;\r
-    }\r
-\r
-    return true;\r
-}\r
-\r
-void Display::terminate()\r
-{\r
-    while(!mSurfaceSet.empty())\r
-    {\r
-        destroySurface(*mSurfaceSet.begin());\r
-    }\r
-\r
-    while(!mContextSet.empty())\r
-    {\r
-        destroyContext(*mContextSet.begin());\r
-    }\r
-}\r
-\r
-bool Display::getConfigs(EGLConfig *configs, const EGLint *attribList, EGLint configSize, EGLint *numConfig)\r
-{\r
-    return mConfigSet.getConfigs(configs, attribList, configSize, numConfig);\r
-}\r
-\r
-bool Display::getConfigAttrib(EGLConfig config, EGLint attribute, EGLint *value)\r
-{\r
-    const egl::Config *configuration = mConfigSet.get(config);\r
-\r
-    switch (attribute)\r
-    {\r
-      case EGL_BUFFER_SIZE:               *value = configuration->mBufferSize;             break;\r
-      case EGL_ALPHA_SIZE:                *value = configuration->mAlphaSize;              break;\r
-      case EGL_BLUE_SIZE:                 *value = configuration->mBlueSize;               break;\r
-      case EGL_GREEN_SIZE:                *value = configuration->mGreenSize;              break;\r
-      case EGL_RED_SIZE:                  *value = configuration->mRedSize;                break;\r
-      case EGL_DEPTH_SIZE:                *value = configuration->mDepthSize;              break;\r
-      case EGL_STENCIL_SIZE:              *value = configuration->mStencilSize;            break;\r
-      case EGL_CONFIG_CAVEAT:             *value = configuration->mConfigCaveat;           break;\r
-      case EGL_CONFIG_ID:                 *value = configuration->mConfigID;               break;\r
-      case EGL_LEVEL:                     *value = configuration->mLevel;                  break;\r
-      case EGL_NATIVE_RENDERABLE:         *value = configuration->mNativeRenderable;       break;\r
-      case EGL_NATIVE_VISUAL_ID:          *value = configuration->mNativeVisualID;         break;\r
-      case EGL_NATIVE_VISUAL_TYPE:        *value = configuration->mNativeVisualType;       break;\r
-      case EGL_SAMPLES:                   *value = configuration->mSamples;                break;\r
-      case EGL_SAMPLE_BUFFERS:            *value = configuration->mSampleBuffers;          break;\r
-      case EGL_SURFACE_TYPE:              *value = configuration->mSurfaceType;            break;\r
-      case EGL_TRANSPARENT_TYPE:          *value = configuration->mTransparentType;        break;\r
-      case EGL_TRANSPARENT_BLUE_VALUE:    *value = configuration->mTransparentBlueValue;   break;\r
-      case EGL_TRANSPARENT_GREEN_VALUE:   *value = configuration->mTransparentGreenValue;  break;\r
-      case EGL_TRANSPARENT_RED_VALUE:     *value = configuration->mTransparentRedValue;    break;\r
-      case EGL_BIND_TO_TEXTURE_RGB:       *value = configuration->mBindToTextureRGB;       break;\r
-      case EGL_BIND_TO_TEXTURE_RGBA:      *value = configuration->mBindToTextureRGBA;      break;\r
-      case EGL_MIN_SWAP_INTERVAL:         *value = configuration->mMinSwapInterval;        break;\r
-      case EGL_MAX_SWAP_INTERVAL:         *value = configuration->mMaxSwapInterval;        break;\r
-      case EGL_LUMINANCE_SIZE:            *value = configuration->mLuminanceSize;          break;\r
-      case EGL_ALPHA_MASK_SIZE:           *value = configuration->mAlphaMaskSize;          break;\r
-      case EGL_COLOR_BUFFER_TYPE:         *value = configuration->mColorBufferType;        break;\r
-      case EGL_RENDERABLE_TYPE:           *value = configuration->mRenderableType;         break;\r
-      case EGL_MATCH_NATIVE_PIXMAP:       *value = false; UNIMPLEMENTED();                 break;\r
-      case EGL_CONFORMANT:                *value = configuration->mConformant;             break;\r
-      case EGL_MAX_PBUFFER_WIDTH:         *value = configuration->mMaxPBufferWidth;        break;\r
-      case EGL_MAX_PBUFFER_HEIGHT:        *value = configuration->mMaxPBufferHeight;       break;\r
-      case EGL_MAX_PBUFFER_PIXELS:        *value = configuration->mMaxPBufferPixels;       break;\r
-      default:\r
-        return false;\r
-    }\r
-\r
-    return true;\r
-}\r
-\r
-EGLSurface Display::createWindowSurface(EGLNativeWindowType window, EGLConfig config, const EGLint *attribList)\r
-{\r
-    const Config *configuration = mConfigSet.get(config);\r
-\r
-    if(attribList)\r
-    {\r
-        while(*attribList != EGL_NONE)\r
-        {\r
-            switch (attribList[0])\r
-            {\r
-              case EGL_RENDER_BUFFER:\r
-                switch (attribList[1])\r
-                {\r
-                  case EGL_BACK_BUFFER:\r
-                    break;\r
-                  case EGL_SINGLE_BUFFER:\r
-                    return error(EGL_BAD_MATCH, EGL_NO_SURFACE);   // Rendering directly to front buffer not supported\r
-                  default:\r
-                    return error(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);\r
-                }\r
-                break;\r
-              case EGL_VG_COLORSPACE:\r
-                return error(EGL_BAD_MATCH, EGL_NO_SURFACE);\r
-              case EGL_VG_ALPHA_FORMAT:\r
-                return error(EGL_BAD_MATCH, EGL_NO_SURFACE);\r
-              default:\r
-                return error(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);\r
-            }\r
-\r
-            attribList += 2;\r
-        }\r
-    }\r
-\r
-    if(hasExistingWindowSurface(window))\r
-    {\r
-        return error(EGL_BAD_ALLOC, EGL_NO_SURFACE);\r
-    }\r
-\r
-    Surface *surface = new Surface(this, configuration, window);\r
-\r
-    if(!surface->initialize())\r
-    {\r
-        delete surface;\r
-        return EGL_NO_SURFACE;\r
-    }\r
-\r
-    mSurfaceSet.insert(surface);\r
-\r
-    return success(surface);\r
-}\r
-\r
-EGLSurface Display::createOffscreenSurface(EGLConfig config, const EGLint *attribList)\r
-{\r
-    EGLint width = 0, height = 0;\r
-    EGLenum textureFormat = EGL_NO_TEXTURE;\r
-    EGLenum textureTarget = EGL_NO_TEXTURE;\r
-    const Config *configuration = mConfigSet.get(config);\r
-\r
-    if(attribList)\r
-    {\r
-        while(*attribList != EGL_NONE)\r
-        {\r
-            switch (attribList[0])\r
-            {\r
-              case EGL_WIDTH:\r
-                width = attribList[1];\r
-                break;\r
-              case EGL_HEIGHT:\r
-                height = attribList[1];\r
-                break;\r
-              case EGL_LARGEST_PBUFFER:\r
-                if(attribList[1] != EGL_FALSE)\r
-                  UNIMPLEMENTED(); // FIXME\r
-                break;\r
-              case EGL_TEXTURE_FORMAT:\r
-                switch (attribList[1])\r
-                {\r
-                  case EGL_NO_TEXTURE:\r
-                  case EGL_TEXTURE_RGB:\r
-                  case EGL_TEXTURE_RGBA:\r
-                    textureFormat = attribList[1];\r
-                    break;\r
-                  default:\r
-                    return error(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);\r
-                }\r
-                break;\r
-              case EGL_TEXTURE_TARGET:\r
-                switch (attribList[1])\r
-                {\r
-                  case EGL_NO_TEXTURE:\r
-                  case EGL_TEXTURE_2D:\r
-                    textureTarget = attribList[1];\r
-                    break;\r
-                  default:\r
-                    return error(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);\r
-                }\r
-                break;\r
-              case EGL_MIPMAP_TEXTURE:\r
-                if(attribList[1] != EGL_FALSE)\r
-                  return error(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);\r
-                break;\r
-              case EGL_VG_COLORSPACE:\r
-                return error(EGL_BAD_MATCH, EGL_NO_SURFACE);\r
-              case EGL_VG_ALPHA_FORMAT:\r
-                return error(EGL_BAD_MATCH, EGL_NO_SURFACE);\r
-              default:\r
-                return error(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);\r
-            }\r
-\r
-            attribList += 2;\r
-        }\r
-    }\r
-\r
-    if(width < 0 || height < 0)\r
-    {\r
-        return error(EGL_BAD_PARAMETER, EGL_NO_SURFACE);\r
-    }\r
-\r
-    if(width == 0 || height == 0)\r
-    {\r
-        return error(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);\r
-    }\r
-\r
-    if((textureFormat != EGL_NO_TEXTURE && textureTarget == EGL_NO_TEXTURE) ||\r
-       (textureFormat == EGL_NO_TEXTURE && textureTarget != EGL_NO_TEXTURE))\r
-    {\r
-        return error(EGL_BAD_MATCH, EGL_NO_SURFACE);\r
-    }\r
-\r
-    if(!(configuration->mSurfaceType & EGL_PBUFFER_BIT))\r
-    {\r
-        return error(EGL_BAD_MATCH, EGL_NO_SURFACE);\r
-    }\r
-\r
-    if((textureFormat == EGL_TEXTURE_RGB && configuration->mBindToTextureRGB != EGL_TRUE) ||\r
-       (textureFormat == EGL_TEXTURE_RGBA && configuration->mBindToTextureRGBA != EGL_TRUE))\r
-    {\r
-        return error(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);\r
-    }\r
-\r
-    Surface *surface = new Surface(this, configuration, width, height, textureFormat, textureTarget);\r
-\r
-    if(!surface->initialize())\r
-    {\r
-        delete surface;\r
-        return EGL_NO_SURFACE;\r
-    }\r
-\r
-    mSurfaceSet.insert(surface);\r
-\r
-    return success(surface);\r
-}\r
-\r
-EGLContext Display::createContext(EGLConfig configHandle, const egl::Context *shareContext, EGLint clientVersion)\r
-{\r
-    const egl::Config *config = mConfigSet.get(configHandle);\r
-       egl::Context *context = 0;\r
-\r
-       if(clientVersion == 1 && config->mRenderableType & EGL_OPENGL_ES_BIT)\r
-       {\r
-               if(es1::createContext != 0)\r
-               {\r
-                       context = es1::createContext(config, shareContext);\r
-               }\r
-       }\r
-       else if(clientVersion == 2 && config->mRenderableType & EGL_OPENGL_ES2_BIT)\r
-       {\r
-               if(es2::createContext != 0)\r
-               {\r
-                       context = es2::createContext(config, shareContext);\r
-               }\r
-       }\r
-       else\r
-       {\r
-               return error(EGL_BAD_CONFIG, EGL_NO_CONTEXT);\r
-       }\r
-\r
-       if(!context)\r
-       {\r
-               return error(EGL_BAD_ALLOC, EGL_NO_CONTEXT);\r
-       }\r
-\r
-       mContextSet.insert(context);\r
-\r
-    return success(context);;\r
-}\r
-\r
-void Display::destroySurface(egl::Surface *surface)\r
-{\r
-    delete surface;\r
-    mSurfaceSet.erase(surface);\r
-}\r
-\r
-void Display::destroyContext(egl::Context *context)\r
-{\r
-    context->destroy();\r
-    mContextSet.erase(context);\r
-}\r
-\r
-bool Display::isInitialized() const\r
-{\r
-    return mConfigSet.size() > 0;\r
-}\r
-\r
-bool Display::isValidConfig(EGLConfig config)\r
-{\r
-    return mConfigSet.get(config) != NULL;\r
-}\r
-\r
-bool Display::isValidContext(egl::Context *context)\r
-{\r
-    return mContextSet.find(context) != mContextSet.end();\r
-}\r
-\r
-bool Display::isValidSurface(egl::Surface *surface)\r
-{\r
-    return mSurfaceSet.find(surface) != mSurfaceSet.end();\r
-}\r
-\r
-bool Display::isValidWindow(EGLNativeWindowType window)\r
-{\r
-       #if defined(_WIN32)\r
-               return IsWindow(window) == TRUE;\r
-       #else\r
-               XWindowAttributes windowAttributes;\r
-               Status status = XGetWindowAttributes(displayId, window, &windowAttributes);\r
-                       \r
-               return status == True;\r
-       #endif\r
-}\r
-\r
-bool Display::hasExistingWindowSurface(EGLNativeWindowType window)\r
-{\r
-    for(SurfaceSet::iterator surface = mSurfaceSet.begin(); surface != mSurfaceSet.end(); surface++)\r
-    {\r
-        if((*surface)->getWindowHandle() == window)\r
-        {\r
-            return true;\r
-        }\r
-    }\r
-\r
-    return false;\r
-}\r
-\r
-EGLint Display::getMinSwapInterval()\r
-{\r
-    return mMinSwapInterval;\r
-}\r
-\r
-EGLint Display::getMaxSwapInterval()\r
-{\r
-    return mMaxSwapInterval;\r
-}\r
-\r
-EGLNativeDisplayType Display::getNativeDisplay() const\r
-{\r
-       return displayId;\r
-}\r
-\r
-DisplayMode Display::getDisplayMode() const\r
-{\r
-       DisplayMode displayMode = {0};\r
-\r
-       #if defined(_WIN32)\r
-               HDC deviceContext = GetDC(0);\r
-       \r
-               displayMode.width = ::GetDeviceCaps(deviceContext, HORZRES);\r
-               displayMode.height = ::GetDeviceCaps(deviceContext, VERTRES);\r
-               unsigned int bpp = ::GetDeviceCaps(deviceContext, BITSPIXEL);\r
-       \r
-               switch(bpp)\r
-               {\r
-               case 32: displayMode.format = sw::FORMAT_X8R8G8B8; break;\r
-               case 24: displayMode.format = sw::FORMAT_R8G8B8;   break;\r
-               case 16: displayMode.format = sw::FORMAT_R5G6B5;   break;\r
-               default:\r
-                       ASSERT(false);   // Unexpected display mode color depth\r
-               }\r
-       \r
-               ReleaseDC(0, deviceContext);\r
-       #else\r
-               Screen *screen = XDefaultScreenOfDisplay(displayId);\r
-               displayMode.width = XWidthOfScreen(screen);\r
-               displayMode.height = XHeightOfScreen(screen);\r
-               unsigned int bpp = XPlanesOfScreen(screen);\r
-\r
-               switch(bpp)\r
-               {\r
-               case 32: displayMode.format = sw::FORMAT_X8R8G8B8; break;\r
-               case 24: displayMode.format = sw::FORMAT_R8G8B8;   break;\r
-               case 16: displayMode.format = sw::FORMAT_R5G6B5;   break;\r
-               default:\r
-                       ASSERT(false);   // Unexpected display mode color depth\r
-               }\r
-       #endif\r
-\r
-       return displayMode;\r
-}\r
-\r
-}\r
+// SwiftShader Software Renderer
+//
+// Copyright(c) 2005-2013 TransGaming Inc.
+//
+// All rights reserved. No part of this software may be copied, distributed, transmitted,
+// transcribed, stored in a retrieval system, translated into any human or computer
+// language by any means, or disclosed to third parties without the explicit written
+// agreement of TransGaming Inc. Without such an agreement, no rights or licenses, express
+// or implied, including but not limited to any patent rights, are granted to you.
+//
+
+// Display.cpp: Implements the egl::Display class, representing the abstract
+// display on which graphics are drawn. Implements EGLDisplay.
+// [EGL 1.4] section 2.1.2 page 3.
+
+#include "Display.h"
+
+#include "main.h"
+#include "libEGL/Surface.h"
+#include "libEGL/Context.hpp"
+#include "common/debug.h"
+
+#include <algorithm>
+#include <vector>
+#include <map>
+
+namespace egl
+{
+typedef std::map<EGLNativeDisplayType, Display*> DisplayMap; 
+DisplayMap displays;
+
+egl::Display *Display::getDisplay(EGLNativeDisplayType displayId)
+{
+    if(displayId == EGL_DEFAULT_DISPLAY)
+    {
+        #if defined(__unix__)
+            displayId = XOpenDisplay(NULL);
+        #endif
+    }
+
+    if(displays.find(displayId) != displays.end())
+    {
+        return displays[displayId];
+    }
+
+    // FIXME: Check if displayId is a valid display device context
+
+    egl::Display *display = new egl::Display(displayId);
+
+    displays[displayId] = display;
+    return display;
+}
+
+Display::Display(EGLNativeDisplayType displayId) : displayId(displayId)
+{
+    mMinSwapInterval = 1;
+    mMaxSwapInterval = 1;
+}
+
+Display::~Display()
+{
+    terminate();
+
+       displays.erase(displayId);
+}
+
+static void cpuid(int registers[4], int info)
+{
+       #if defined(_WIN32)
+        __cpuid(registers, info);
+    #else
+        __asm volatile("cpuid": "=a" (registers[0]), "=b" (registers[1]), "=c" (registers[2]), "=d" (registers[3]): "a" (info));
+    #endif
+}
+
+static bool detectSSE()
+{
+       #if defined(__APPLE__)
+               int SSE = false;
+               size_t length = sizeof(SSE);
+               sysctlbyname("hw.optional.sse", &SSE, &length, 0, 0);
+               return SSE;
+       #else
+               int registers[4];
+               cpuid(registers, 1);
+               return (registers[3] & 0x02000000) != 0;
+       #endif
+}
+
+bool Display::initialize()
+{
+    if(isInitialized())
+    {
+        return true;
+    }
+
+       if(!detectSSE())
+       {
+        return false;
+       }
+               
+    mMinSwapInterval = 0;
+    mMaxSwapInterval = 4;
+
+    const sw::Format renderTargetFormats[] =
+    {
+        sw::FORMAT_A1R5G5B5,
+    //  sw::FORMAT_A2R10G10B10,   // The color_ramp conformance test uses ReadPixels with UNSIGNED_BYTE causing it to think that rendering skipped a colour value.
+        sw::FORMAT_A8R8G8B8,
+        sw::FORMAT_R5G6B5,
+    //  sw::FORMAT_X1R5G5B5,      // Has no compatible OpenGL ES renderbuffer format
+        sw::FORMAT_X8R8G8B8
+    };
+
+    const sw::Format depthStencilFormats[] =
+    {
+        sw::FORMAT_NULL,
+    //  sw::FORMAT_D16_LOCKABLE,
+        sw::FORMAT_D32,
+    //  sw::FORMAT_D15S1,
+        sw::FORMAT_D24S8,
+        sw::FORMAT_D24X8,
+    //  sw::FORMAT_D24X4S4,
+        sw::FORMAT_D16,
+    //  sw::FORMAT_D32F_LOCKABLE,
+    //  sw::FORMAT_D24FS8
+    };
+
+       DisplayMode currentDisplayMode = getDisplayMode();
+    ConfigSet configSet;
+
+    for(int formatIndex = 0; formatIndex < sizeof(renderTargetFormats) / sizeof(sw::Format); formatIndex++)
+    {
+        sw::Format renderTargetFormat = renderTargetFormats[formatIndex];
+
+        for(int depthStencilIndex = 0; depthStencilIndex < sizeof(depthStencilFormats) / sizeof(sw::Format); depthStencilIndex++)
+        {
+            sw::Format depthStencilFormat = depthStencilFormats[depthStencilIndex];
+             
+            // FIXME: enumerate multi-sampling
+
+            configSet.add(currentDisplayMode, mMinSwapInterval, mMaxSwapInterval, renderTargetFormat, depthStencilFormat, 0);
+        }
+    }
+
+    // Give the sorted configs a unique ID and store them internally
+    EGLint index = 1;
+    for(ConfigSet::Iterator config = configSet.mSet.begin(); config != configSet.mSet.end(); config++)
+    {
+        Config configuration = *config;
+        configuration.mConfigID = index;
+        index++;
+
+        mConfigSet.mSet.insert(configuration);
+    }
+
+    if(!isInitialized())
+    {
+        terminate();
+
+        return false;
+    }
+
+    return true;
+}
+
+void Display::terminate()
+{
+    while(!mSurfaceSet.empty())
+    {
+        destroySurface(*mSurfaceSet.begin());
+    }
+
+    while(!mContextSet.empty())
+    {
+        destroyContext(*mContextSet.begin());
+    }
+}
+
+bool Display::getConfigs(EGLConfig *configs, const EGLint *attribList, EGLint configSize, EGLint *numConfig)
+{
+    return mConfigSet.getConfigs(configs, attribList, configSize, numConfig);
+}
+
+bool Display::getConfigAttrib(EGLConfig config, EGLint attribute, EGLint *value)
+{
+    const egl::Config *configuration = mConfigSet.get(config);
+
+    switch (attribute)
+    {
+      case EGL_BUFFER_SIZE:               *value = configuration->mBufferSize;             break;
+      case EGL_ALPHA_SIZE:                *value = configuration->mAlphaSize;              break;
+      case EGL_BLUE_SIZE:                 *value = configuration->mBlueSize;               break;
+      case EGL_GREEN_SIZE:                *value = configuration->mGreenSize;              break;
+      case EGL_RED_SIZE:                  *value = configuration->mRedSize;                break;
+      case EGL_DEPTH_SIZE:                *value = configuration->mDepthSize;              break;
+      case EGL_STENCIL_SIZE:              *value = configuration->mStencilSize;            break;
+      case EGL_CONFIG_CAVEAT:             *value = configuration->mConfigCaveat;           break;
+      case EGL_CONFIG_ID:                 *value = configuration->mConfigID;               break;
+      case EGL_LEVEL:                     *value = configuration->mLevel;                  break;
+      case EGL_NATIVE_RENDERABLE:         *value = configuration->mNativeRenderable;       break;
+      case EGL_NATIVE_VISUAL_ID:          *value = configuration->mNativeVisualID;         break;
+      case EGL_NATIVE_VISUAL_TYPE:        *value = configuration->mNativeVisualType;       break;
+      case EGL_SAMPLES:                   *value = configuration->mSamples;                break;
+      case EGL_SAMPLE_BUFFERS:            *value = configuration->mSampleBuffers;          break;
+      case EGL_SURFACE_TYPE:              *value = configuration->mSurfaceType;            break;
+      case EGL_TRANSPARENT_TYPE:          *value = configuration->mTransparentType;        break;
+      case EGL_TRANSPARENT_BLUE_VALUE:    *value = configuration->mTransparentBlueValue;   break;
+      case EGL_TRANSPARENT_GREEN_VALUE:   *value = configuration->mTransparentGreenValue;  break;
+      case EGL_TRANSPARENT_RED_VALUE:     *value = configuration->mTransparentRedValue;    break;
+      case EGL_BIND_TO_TEXTURE_RGB:       *value = configuration->mBindToTextureRGB;       break;
+      case EGL_BIND_TO_TEXTURE_RGBA:      *value = configuration->mBindToTextureRGBA;      break;
+      case EGL_MIN_SWAP_INTERVAL:         *value = configuration->mMinSwapInterval;        break;
+      case EGL_MAX_SWAP_INTERVAL:         *value = configuration->mMaxSwapInterval;        break;
+      case EGL_LUMINANCE_SIZE:            *value = configuration->mLuminanceSize;          break;
+      case EGL_ALPHA_MASK_SIZE:           *value = configuration->mAlphaMaskSize;          break;
+      case EGL_COLOR_BUFFER_TYPE:         *value = configuration->mColorBufferType;        break;
+      case EGL_RENDERABLE_TYPE:           *value = configuration->mRenderableType;         break;
+      case EGL_MATCH_NATIVE_PIXMAP:       *value = false; UNIMPLEMENTED();                 break;
+      case EGL_CONFORMANT:                *value = configuration->mConformant;             break;
+      case EGL_MAX_PBUFFER_WIDTH:         *value = configuration->mMaxPBufferWidth;        break;
+      case EGL_MAX_PBUFFER_HEIGHT:        *value = configuration->mMaxPBufferHeight;       break;
+      case EGL_MAX_PBUFFER_PIXELS:        *value = configuration->mMaxPBufferPixels;       break;
+      default:
+        return false;
+    }
+
+    return true;
+}
+
+EGLSurface Display::createWindowSurface(EGLNativeWindowType window, EGLConfig config, const EGLint *attribList)
+{
+    const Config *configuration = mConfigSet.get(config);
+
+    if(attribList)
+    {
+        while(*attribList != EGL_NONE)
+        {
+            switch (attribList[0])
+            {
+              case EGL_RENDER_BUFFER:
+                switch (attribList[1])
+                {
+                  case EGL_BACK_BUFFER:
+                    break;
+                  case EGL_SINGLE_BUFFER:
+                    return error(EGL_BAD_MATCH, EGL_NO_SURFACE);   // Rendering directly to front buffer not supported
+                  default:
+                    return error(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);
+                }
+                break;
+              case EGL_VG_COLORSPACE:
+                return error(EGL_BAD_MATCH, EGL_NO_SURFACE);
+              case EGL_VG_ALPHA_FORMAT:
+                return error(EGL_BAD_MATCH, EGL_NO_SURFACE);
+              default:
+                return error(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);
+            }
+
+            attribList += 2;
+        }
+    }
+
+    if(hasExistingWindowSurface(window))
+    {
+        return error(EGL_BAD_ALLOC, EGL_NO_SURFACE);
+    }
+
+    Surface *surface = new Surface(this, configuration, window);
+
+    if(!surface->initialize())
+    {
+        delete surface;
+        return EGL_NO_SURFACE;
+    }
+
+    mSurfaceSet.insert(surface);
+
+    return success(surface);
+}
+
+EGLSurface Display::createOffscreenSurface(EGLConfig config, const EGLint *attribList)
+{
+    EGLint width = 0, height = 0;
+    EGLenum textureFormat = EGL_NO_TEXTURE;
+    EGLenum textureTarget = EGL_NO_TEXTURE;
+    const Config *configuration = mConfigSet.get(config);
+
+    if(attribList)
+    {
+        while(*attribList != EGL_NONE)
+        {
+            switch (attribList[0])
+            {
+              case EGL_WIDTH:
+                width = attribList[1];
+                break;
+              case EGL_HEIGHT:
+                height = attribList[1];
+                break;
+              case EGL_LARGEST_PBUFFER:
+                if(attribList[1] != EGL_FALSE)
+                  UNIMPLEMENTED(); // FIXME
+                break;
+              case EGL_TEXTURE_FORMAT:
+                switch (attribList[1])
+                {
+                  case EGL_NO_TEXTURE:
+                  case EGL_TEXTURE_RGB:
+                  case EGL_TEXTURE_RGBA:
+                    textureFormat = attribList[1];
+                    break;
+                  default:
+                    return error(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);
+                }
+                break;
+              case EGL_TEXTURE_TARGET:
+                switch (attribList[1])
+                {
+                  case EGL_NO_TEXTURE:
+                  case EGL_TEXTURE_2D:
+                    textureTarget = attribList[1];
+                    break;
+                  default:
+                    return error(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);
+                }
+                break;
+              case EGL_MIPMAP_TEXTURE:
+                if(attribList[1] != EGL_FALSE)
+                  return error(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);
+                break;
+              case EGL_VG_COLORSPACE:
+                return error(EGL_BAD_MATCH, EGL_NO_SURFACE);
+              case EGL_VG_ALPHA_FORMAT:
+                return error(EGL_BAD_MATCH, EGL_NO_SURFACE);
+              default:
+                return error(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);
+            }
+
+            attribList += 2;
+        }
+    }
+
+    if(width < 0 || height < 0)
+    {
+        return error(EGL_BAD_PARAMETER, EGL_NO_SURFACE);
+    }
+
+    if(width == 0 || height == 0)
+    {
+        return error(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);
+    }
+
+    if((textureFormat != EGL_NO_TEXTURE && textureTarget == EGL_NO_TEXTURE) ||
+       (textureFormat == EGL_NO_TEXTURE && textureTarget != EGL_NO_TEXTURE))
+    {
+        return error(EGL_BAD_MATCH, EGL_NO_SURFACE);
+    }
+
+    if(!(configuration->mSurfaceType & EGL_PBUFFER_BIT))
+    {
+        return error(EGL_BAD_MATCH, EGL_NO_SURFACE);
+    }
+
+    if((textureFormat == EGL_TEXTURE_RGB && configuration->mBindToTextureRGB != EGL_TRUE) ||
+       (textureFormat == EGL_TEXTURE_RGBA && configuration->mBindToTextureRGBA != EGL_TRUE))
+    {
+        return error(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);
+    }
+
+    Surface *surface = new Surface(this, configuration, width, height, textureFormat, textureTarget);
+
+    if(!surface->initialize())
+    {
+        delete surface;
+        return EGL_NO_SURFACE;
+    }
+
+    mSurfaceSet.insert(surface);
+
+    return success(surface);
+}
+
+EGLContext Display::createContext(EGLConfig configHandle, const egl::Context *shareContext, EGLint clientVersion)
+{
+    const egl::Config *config = mConfigSet.get(configHandle);
+       egl::Context *context = 0;
+
+       if(clientVersion == 1 && config->mRenderableType & EGL_OPENGL_ES_BIT)
+       {
+               if(es1::createContext != 0)
+               {
+                       context = es1::createContext(config, shareContext);
+               }
+       }
+       else if(clientVersion == 2 && config->mRenderableType & EGL_OPENGL_ES2_BIT)
+       {
+               if(es2::createContext != 0)
+               {
+                       context = es2::createContext(config, shareContext);
+               }
+       }
+       else
+       {
+               return error(EGL_BAD_CONFIG, EGL_NO_CONTEXT);
+       }
+
+       if(!context)
+       {
+               return error(EGL_BAD_ALLOC, EGL_NO_CONTEXT);
+       }
+
+       mContextSet.insert(context);
+
+    return success(context);;
+}
+
+void Display::destroySurface(egl::Surface *surface)
+{
+    delete surface;
+    mSurfaceSet.erase(surface);
+}
+
+void Display::destroyContext(egl::Context *context)
+{
+    context->destroy();
+    mContextSet.erase(context);
+}
+
+bool Display::isInitialized() const
+{
+    return mConfigSet.size() > 0;
+}
+
+bool Display::isValidConfig(EGLConfig config)
+{
+    return mConfigSet.get(config) != NULL;
+}
+
+bool Display::isValidContext(egl::Context *context)
+{
+    return mContextSet.find(context) != mContextSet.end();
+}
+
+bool Display::isValidSurface(egl::Surface *surface)
+{
+    return mSurfaceSet.find(surface) != mSurfaceSet.end();
+}
+
+bool Display::isValidWindow(EGLNativeWindowType window)
+{
+       #if defined(_WIN32)
+               return IsWindow(window) == TRUE;
+       #else
+               XWindowAttributes windowAttributes;
+               Status status = XGetWindowAttributes(displayId, window, &windowAttributes);
+                       
+               return status == True;
+       #endif
+}
+
+bool Display::hasExistingWindowSurface(EGLNativeWindowType window)
+{
+    for(SurfaceSet::iterator surface = mSurfaceSet.begin(); surface != mSurfaceSet.end(); surface++)
+    {
+        if((*surface)->getWindowHandle() == window)
+        {
+            return true;
+        }
+    }
+
+    return false;
+}
+
+EGLint Display::getMinSwapInterval()
+{
+    return mMinSwapInterval;
+}
+
+EGLint Display::getMaxSwapInterval()
+{
+    return mMaxSwapInterval;
+}
+
+EGLNativeDisplayType Display::getNativeDisplay() const
+{
+       return displayId;
+}
+
+DisplayMode Display::getDisplayMode() const
+{
+       DisplayMode displayMode = {0};
+
+       #if defined(_WIN32)
+               HDC deviceContext = GetDC(0);
+       
+               displayMode.width = ::GetDeviceCaps(deviceContext, HORZRES);
+               displayMode.height = ::GetDeviceCaps(deviceContext, VERTRES);
+               unsigned int bpp = ::GetDeviceCaps(deviceContext, BITSPIXEL);
+       
+               switch(bpp)
+               {
+               case 32: displayMode.format = sw::FORMAT_X8R8G8B8; break;
+               case 24: displayMode.format = sw::FORMAT_R8G8B8;   break;
+               case 16: displayMode.format = sw::FORMAT_R5G6B5;   break;
+               default:
+                       ASSERT(false);   // Unexpected display mode color depth
+               }
+       
+               ReleaseDC(0, deviceContext);
+       #else
+               Screen *screen = XDefaultScreenOfDisplay(displayId);
+               displayMode.width = XWidthOfScreen(screen);
+               displayMode.height = XHeightOfScreen(screen);
+               unsigned int bpp = XPlanesOfScreen(screen);
+
+               switch(bpp)
+               {
+               case 32: displayMode.format = sw::FORMAT_X8R8G8B8; break;
+               case 24: displayMode.format = sw::FORMAT_R8G8B8;   break;
+               case 16: displayMode.format = sw::FORMAT_R5G6B5;   break;
+               default:
+                       ASSERT(false);   // Unexpected display mode color depth
+               }
+       #endif
+
+       return displayMode;
+}
+
+}
\ No newline at end of file
index a5984b3..9f14a2e 100644 (file)
@@ -89,6 +89,7 @@
                        </Target>
                </Build>
                <Compiler>
+                       <Add option="-std=c++11" />
                        <Add option="-Wall" />
                        <Add option="-fexceptions" />
                        <Add directory="./../include/" />
index 094a33f..4ada915 100644 (file)
                        </Target>
                </Build>
                <Compiler>
+                       <Add option="-std=c++11" />
                        <Add option="-Wall" />
                        <Add option="-fexceptions" />
                        <Add option="-fno-operator-names" />
index a941557..1064f18 100644 (file)
@@ -59,6 +59,7 @@
                        </Target>
                </Build>
                <Compiler>
+                       <Add option="-std=c++11" />
                        <Add option="-Wall" />
                        <Add option="-fexceptions" />
                        <Add directory="../../../../../Builds/Include" />