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