1LOCAL_PATH:= $(call my-dir)
2
3codegen_SRC_FILES := \
4  AggressiveAntiDepBreaker.cpp \
5  AllocationOrder.cpp \
6  Analysis.cpp \
7  BasicTargetTransformInfo.cpp \
8  BranchFolding.cpp \
9  CalcSpillWeights.cpp \
10  CallingConvLower.cpp \
11  CodeGen.cpp \
12  CriticalAntiDepBreaker.cpp \
13  DeadMachineInstructionElim.cpp \
14  DFAPacketizer.cpp \
15  DwarfEHPrepare.cpp \
16  EarlyIfConversion.cpp \
17  EdgeBundles.cpp \
18  ErlangGC.cpp \
19  ExecutionDepsFix.cpp \
20  ExpandISelPseudos.cpp \
21  ExpandPostRAPseudos.cpp \
22  GCMetadata.cpp \
23  GCMetadataPrinter.cpp \
24  GCStrategy.cpp \
25  IfConversion.cpp \
26  InlineSpiller.cpp \
27  InterferenceCache.cpp \
28  IntrinsicLowering.cpp \
29  JITCodeEmitter.cpp \
30  LatencyPriorityQueue.cpp \
31  LexicalScopes.cpp \
32  LiveDebugVariables.cpp \
33  LiveIntervalAnalysis.cpp \
34  LiveInterval.cpp \
35  LiveIntervalUnion.cpp \
36  LiveRangeCalc.cpp \
37  LiveRangeEdit.cpp \
38  LiveRegMatrix.cpp \
39  LiveStackAnalysis.cpp \
40  LiveVariables.cpp \
41  LLVMTargetMachine.cpp \
42  LocalStackSlotAllocation.cpp \
43  MachineBasicBlock.cpp \
44  MachineBlockFrequencyInfo.cpp \
45  MachineBlockPlacement.cpp \
46  MachineBranchProbabilityInfo.cpp \
47  MachineCodeEmitter.cpp \
48  MachineCopyPropagation.cpp \
49  MachineCSE.cpp \
50  MachineDominators.cpp \
51  MachineFunctionAnalysis.cpp \
52  MachineFunction.cpp \
53  MachineFunctionPass.cpp \
54  MachineFunctionPrinterPass.cpp \
55  MachineInstrBundle.cpp \
56  MachineInstr.cpp \
57  MachineLICM.cpp \
58  MachineLoopInfo.cpp \
59  MachineModuleInfo.cpp \
60  MachineModuleInfoImpls.cpp \
61  MachinePassRegistry.cpp \
62  MachinePostDominators.cpp \
63  MachineRegisterInfo.cpp \
64  MachineScheduler.cpp \
65  MachineSink.cpp \
66  MachineSSAUpdater.cpp \
67  MachineTraceMetrics.cpp \
68  MachineVerifier.cpp \
69  OcamlGC.cpp \
70  OptimizePHIs.cpp \
71  Passes.cpp \
72  PeepholeOptimizer.cpp \
73  PHIElimination.cpp \
74  PHIEliminationUtils.cpp \
75  PostRASchedulerList.cpp \
76  ProcessImplicitDefs.cpp \
77  PrologEpilogInserter.cpp \
78  PseudoSourceValue.cpp \
79  RegAllocBase.cpp \
80  RegAllocBasic.cpp \
81  RegAllocFast.cpp \
82  RegAllocGreedy.cpp \
83  RegAllocPBQP.cpp \
84  RegisterClassInfo.cpp \
85  RegisterCoalescer.cpp \
86  RegisterPressure.cpp \
87  RegisterScavenging.cpp \
88  ScheduleDAG.cpp \
89  ScheduleDAGInstrs.cpp \
90  ScheduleDAGPrinter.cpp \
91  ScoreboardHazardRecognizer.cpp \
92  ShadowStackGC.cpp \
93  ShrinkWrapping.cpp \
94  SjLjEHPrepare.cpp \
95  SlotIndexes.cpp \
96  Spiller.cpp \
97  SpillPlacement.cpp \
98  SplitKit.cpp \
99  StackColoring.cpp \
100  StackProtector.cpp \
101  StackSlotColoring.cpp \
102  StrongPHIElimination.cpp \
103  TailDuplication.cpp \
104  TargetFrameLoweringImpl.cpp \
105  TargetInstrInfo.cpp \
106  TargetLoweringBase.cpp \
107  TargetLoweringObjectFileImpl.cpp \
108  TargetOptionsImpl.cpp \
109  TargetRegisterInfo.cpp \
110  TargetSchedule.cpp \
111  TwoAddressInstructionPass.cpp \
112  UnreachableBlockElim.cpp \
113  VirtRegMap.cpp
114
115# For the host
116# =====================================================
117include $(CLEAR_VARS)
118
119LOCAL_SRC_FILES := $(codegen_SRC_FILES)
120LOCAL_MODULE:= libLLVMCodeGen
121
122LOCAL_MODULE_TAGS := optional
123
124include $(LLVM_HOST_BUILD_MK)
125include $(LLVM_GEN_INTRINSICS_MK)
126include $(BUILD_HOST_STATIC_LIBRARY)
127
128# For the device
129# =====================================================
130include $(CLEAR_VARS)
131
132LOCAL_SRC_FILES := $(codegen_SRC_FILES)
133LOCAL_MODULE:= libLLVMCodeGen
134
135LOCAL_MODULE_TAGS := optional
136
137include $(LLVM_DEVICE_BUILD_MK)
138include $(LLVM_GEN_INTRINSICS_MK)
139include $(BUILD_STATIC_LIBRARY)
140