1LOCAL_PATH:= $(call my-dir)
2
3codegen_SRC_FILES := \
4  AggressiveAntiDepBreaker.cpp \
5  AllocationOrder.cpp \
6  Analysis.cpp \
7  AtomicExpandLoadLinkedPass.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  GCStrategy.cpp \
27  GlobalMerge.cpp \
28  IfConversion.cpp \
29  InlineSpiller.cpp \
30  InterferenceCache.cpp \
31  IntrinsicLowering.cpp \
32  JITCodeEmitter.cpp \
33  JumpInstrTables.cpp \
34  LatencyPriorityQueue.cpp \
35  LexicalScopes.cpp \
36  LiveDebugVariables.cpp \
37  LiveIntervalAnalysis.cpp \
38  LiveInterval.cpp \
39  LiveIntervalUnion.cpp \
40  LivePhysRegs.cpp \
41  LiveRangeCalc.cpp \
42  LiveRangeEdit.cpp \
43  LiveRegMatrix.cpp \
44  LiveStackAnalysis.cpp \
45  LiveVariables.cpp \
46  LLVMTargetMachine.cpp \
47  LocalStackSlotAllocation.cpp \
48  MachineBasicBlock.cpp \
49  MachineBlockFrequencyInfo.cpp \
50  MachineBlockPlacement.cpp \
51  MachineBranchProbabilityInfo.cpp \
52  MachineCodeEmitter.cpp \
53  MachineCopyPropagation.cpp \
54  MachineCSE.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  MachineRegisterInfo.cpp \
69  MachineScheduler.cpp \
70  MachineSink.cpp \
71  MachineSSAUpdater.cpp \
72  MachineTraceMetrics.cpp \
73  MachineVerifier.cpp \
74  OcamlGC.cpp \
75  OptimizePHIs.cpp \
76  Passes.cpp \
77  PeepholeOptimizer.cpp \
78  PHIElimination.cpp \
79  PHIEliminationUtils.cpp \
80  PostRASchedulerList.cpp \
81  ProcessImplicitDefs.cpp \
82  PrologEpilogInserter.cpp \
83  PseudoSourceValue.cpp \
84  RegAllocBase.cpp \
85  RegAllocBasic.cpp \
86  RegAllocFast.cpp \
87  RegAllocGreedy.cpp \
88  RegAllocPBQP.cpp \
89  RegisterClassInfo.cpp \
90  RegisterCoalescer.cpp \
91  RegisterPressure.cpp \
92  RegisterScavenging.cpp \
93  ScheduleDAG.cpp \
94  ScheduleDAGInstrs.cpp \
95  ScheduleDAGPrinter.cpp \
96  ScoreboardHazardRecognizer.cpp \
97  ShadowStackGC.cpp \
98  SjLjEHPrepare.cpp \
99  SlotIndexes.cpp \
100  Spiller.cpp \
101  SpillPlacement.cpp \
102  SplitKit.cpp \
103  StackColoring.cpp \
104  StackMapLivenessAnalysis.cpp \
105  StackMaps.cpp \
106  StackProtector.cpp \
107  StackSlotColoring.cpp \
108  TailDuplication.cpp \
109  TargetFrameLoweringImpl.cpp \
110  TargetInstrInfo.cpp \
111  TargetLoweringBase.cpp \
112  TargetLoweringObjectFileImpl.cpp \
113  TargetOptionsImpl.cpp \
114  TargetRegisterInfo.cpp \
115  TargetSchedule.cpp \
116  TwoAddressInstructionPass.cpp \
117  UnreachableBlockElim.cpp \
118  VirtRegMap.cpp
119
120# For the host
121# =====================================================
122include $(CLEAR_VARS)
123
124LOCAL_SRC_FILES := $(codegen_SRC_FILES)
125LOCAL_MODULE:= libLLVMCodeGen
126
127LOCAL_MODULE_TAGS := optional
128
129include $(LLVM_HOST_BUILD_MK)
130include $(LLVM_GEN_INTRINSICS_MK)
131include $(BUILD_HOST_STATIC_LIBRARY)
132
133# For the device
134# =====================================================
135ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
136include $(CLEAR_VARS)
137
138LOCAL_SRC_FILES := $(codegen_SRC_FILES)
139LOCAL_MODULE:= libLLVMCodeGen
140
141LOCAL_MODULE_TAGS := optional
142
143include $(LLVM_DEVICE_BUILD_MK)
144include $(LLVM_GEN_INTRINSICS_MK)
145include $(BUILD_STATIC_LIBRARY)
146endif
147