From ca95c159402c89aff7dab5a29f3ea3b54c5a77a4 Mon Sep 17 00:00:00 2001 From: Tim Murray Date: Thu, 27 Mar 2014 15:10:30 -0700 Subject: [PATCH 4/5] Add Android makefiles for LLVM. Change-Id: I4f561d517605569e11af40bb191d056d7e7196de --- Android.mk | 90 +++++++++++++ CleanSpec.mk | 54 ++++++++ clear_tblgen_vars.mk | 2 + lib/Analysis/Android.mk | 80 +++++++++++ lib/Analysis/IPA/Android.mk | 40 ++++++ lib/AsmParser/Android.mk | 34 +++++ lib/Bitcode/Reader/Android.mk | 36 +++++ lib/Bitcode/Writer/Android.mk | 37 +++++ lib/CodeGen/Android.mk | 143 ++++++++++++++++++++ lib/CodeGen/AsmPrinter/Android.mk | 62 +++++++++ lib/CodeGen/SelectionDAG/Android.mk | 56 ++++++++ lib/ExecutionEngine/Android.mk | 18 +++ lib/ExecutionEngine/JIT/Android.mk | 17 +++ lib/ExecutionEngine/MCJIT/Android.mk | 16 +++ lib/ExecutionEngine/RuntimeDyld/Android.mk | 18 +++ lib/IR/Android.mk | 79 +++++++++++ lib/IRReader/Android.mk | 38 ++++++ lib/Linker/Android.mk | 32 +++++ lib/MC/Android.mk | 78 +++++++++++ lib/MC/MCDisassembler/Android.mk | 15 +++ lib/MC/MCParser/Android.mk | 40 ++++++ lib/Object/Android.mk | 45 +++++++ lib/Option/Android.mk | 42 ++++++ lib/Support/Android.mk | 120 +++++++++++++++++ lib/TableGen/Android.mk | 39 ++++++ lib/Target/AArch64/Android.mk | 67 ++++++++++ lib/Target/AArch64/AsmParser/Android.mk | 63 +++++++++ lib/Target/AArch64/Disassembler/Android.mk | 55 ++++++++ lib/Target/AArch64/InstPrinter/Android.mk | 57 ++++++++ lib/Target/AArch64/MCTargetDesc/Android.mk | 57 ++++++++ lib/Target/AArch64/TargetInfo/Android.mk | 55 ++++++++ lib/Target/AArch64/Utils/Android.mk | 36 +++++ lib/Target/ARM/Android.mk | 87 ++++++++++++ lib/Target/ARM/AsmParser/Android.mk | 63 +++++++++ lib/Target/ARM/Disassembler/Android.mk | 55 ++++++++ lib/Target/ARM/InstPrinter/Android.mk | 57 ++++++++ lib/Target/ARM/MCTargetDesc/Android.mk | 61 +++++++++ lib/Target/ARM/TargetInfo/Android.mk | 55 ++++++++ lib/Target/Android.mk | 39 ++++++ lib/Target/Mips/Android.mk | 85 ++++++++++++ lib/Target/Mips/AsmParser/Android.mk | 56 ++++++++ lib/Target/Mips/Disassembler/Android.mk | 48 +++++++ lib/Target/Mips/InstPrinter/Android.mk | 48 +++++++ lib/Target/Mips/MCTargetDesc/Android.mk | 58 ++++++++ lib/Target/Mips/TargetInfo/Android.mk | 47 +++++++ lib/Target/X86/Android.mk | 72 ++++++++++ lib/Target/X86/AsmParser/Android.mk | 59 ++++++++ lib/Target/X86/Disassembler/Android.mk | 56 ++++++++ lib/Target/X86/InstPrinter/Android.mk | 57 ++++++++ lib/Target/X86/MCTargetDesc/Android.mk | 56 ++++++++ lib/Target/X86/TargetInfo/Android.mk | 55 ++++++++ lib/Target/X86/Utils/Android.mk | 36 +++++ lib/Transforms/IPO/Android.mk | 52 ++++++++ lib/Transforms/InstCombine/Android.mk | 44 ++++++ lib/Transforms/Instrumentation/Android.mk | 37 +++++ lib/Transforms/ObjCARC/Android.mk | 40 ++++++ lib/Transforms/Scalar/Android.mk | 73 ++++++++++ lib/Transforms/Utils/Android.mk | 66 +++++++++ lib/Transforms/Vectorize/Android.mk | 35 +++++ llvm-device-build.mk | 79 +++++++++++ llvm-gen-intrinsics.mk | 19 +++ llvm-host-build.mk | 64 +++++++++ llvm-tblgen-rules.mk | 208 +++++++++++++++++++++++++++++ llvm.mk | 11 ++ shared_llvm.mk | 137 +++++++++++++++++++ tools/llc/Android.mk | 136 +++++++++++++++++++ tools/llvm-as/Android.mk | 28 ++++ tools/llvm-dis/Android.mk | 25 ++++ tools/llvm-link/Android.mk | 50 +++++++ tools/opt/Android.mk | 81 +++++++++++ utils/FileCheck/Android.mk | 23 ++++ utils/TableGen/Android.mk | 58 ++++++++ 72 files changed, 4037 insertions(+) create mode 100644 Android.mk create mode 100644 CleanSpec.mk create mode 100644 clear_tblgen_vars.mk create mode 100644 lib/Analysis/Android.mk create mode 100644 lib/Analysis/IPA/Android.mk create mode 100644 lib/AsmParser/Android.mk create mode 100644 lib/Bitcode/Reader/Android.mk create mode 100644 lib/Bitcode/Writer/Android.mk create mode 100644 lib/CodeGen/Android.mk create mode 100644 lib/CodeGen/AsmPrinter/Android.mk create mode 100644 lib/CodeGen/SelectionDAG/Android.mk create mode 100644 lib/ExecutionEngine/Android.mk create mode 100644 lib/ExecutionEngine/JIT/Android.mk create mode 100644 lib/ExecutionEngine/MCJIT/Android.mk create mode 100644 lib/ExecutionEngine/RuntimeDyld/Android.mk create mode 100644 lib/IR/Android.mk create mode 100644 lib/IRReader/Android.mk create mode 100644 lib/Linker/Android.mk create mode 100644 lib/MC/Android.mk create mode 100644 lib/MC/MCDisassembler/Android.mk create mode 100644 lib/MC/MCParser/Android.mk create mode 100644 lib/Object/Android.mk create mode 100644 lib/Option/Android.mk create mode 100644 lib/Support/Android.mk create mode 100644 lib/TableGen/Android.mk create mode 100644 lib/Target/AArch64/Android.mk create mode 100644 lib/Target/AArch64/AsmParser/Android.mk create mode 100644 lib/Target/AArch64/Disassembler/Android.mk create mode 100644 lib/Target/AArch64/InstPrinter/Android.mk create mode 100644 lib/Target/AArch64/MCTargetDesc/Android.mk create mode 100644 lib/Target/AArch64/TargetInfo/Android.mk create mode 100644 lib/Target/AArch64/Utils/Android.mk create mode 100644 lib/Target/ARM/Android.mk create mode 100644 lib/Target/ARM/AsmParser/Android.mk create mode 100644 lib/Target/ARM/Disassembler/Android.mk create mode 100644 lib/Target/ARM/InstPrinter/Android.mk create mode 100644 lib/Target/ARM/MCTargetDesc/Android.mk create mode 100644 lib/Target/ARM/TargetInfo/Android.mk create mode 100644 lib/Target/Android.mk create mode 100644 lib/Target/Mips/Android.mk create mode 100644 lib/Target/Mips/AsmParser/Android.mk create mode 100644 lib/Target/Mips/Disassembler/Android.mk create mode 100644 lib/Target/Mips/InstPrinter/Android.mk create mode 100644 lib/Target/Mips/MCTargetDesc/Android.mk create mode 100644 lib/Target/Mips/TargetInfo/Android.mk create mode 100644 lib/Target/X86/Android.mk create mode 100644 lib/Target/X86/AsmParser/Android.mk create mode 100644 lib/Target/X86/Disassembler/Android.mk create mode 100644 lib/Target/X86/InstPrinter/Android.mk create mode 100644 lib/Target/X86/MCTargetDesc/Android.mk create mode 100644 lib/Target/X86/TargetInfo/Android.mk create mode 100644 lib/Target/X86/Utils/Android.mk create mode 100644 lib/Transforms/IPO/Android.mk create mode 100644 lib/Transforms/InstCombine/Android.mk create mode 100644 lib/Transforms/Instrumentation/Android.mk create mode 100644 lib/Transforms/ObjCARC/Android.mk create mode 100644 lib/Transforms/Scalar/Android.mk create mode 100644 lib/Transforms/Utils/Android.mk create mode 100644 lib/Transforms/Vectorize/Android.mk create mode 100644 llvm-device-build.mk create mode 100644 llvm-gen-intrinsics.mk create mode 100644 llvm-host-build.mk create mode 100644 llvm-tblgen-rules.mk create mode 100644 llvm.mk create mode 100644 shared_llvm.mk create mode 100644 tools/llc/Android.mk create mode 100644 tools/llvm-as/Android.mk create mode 100644 tools/llvm-dis/Android.mk create mode 100644 tools/llvm-link/Android.mk create mode 100644 tools/opt/Android.mk create mode 100644 utils/FileCheck/Android.mk create mode 100644 utils/TableGen/Android.mk diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..9f6e8a5 --- /dev/null +++ b/Android.mk @@ -0,0 +1,90 @@ +LOCAL_PATH := $(call my-dir) +LLVM_ROOT_PATH := $(LOCAL_PATH) +LLVM_ENABLE_ASSERTION := false + +include $(CLEAR_VARS) + +# LLVM Libraries +subdirs := \ + lib/Analysis \ + lib/Analysis/IPA \ + lib/AsmParser \ + lib/Bitcode/Reader \ + lib/Bitcode/Writer \ + lib/ExecutionEngine \ + lib/ExecutionEngine/RuntimeDyld \ + lib/ExecutionEngine/JIT \ + lib/ExecutionEngine/MCJIT \ + lib/CodeGen \ + lib/CodeGen/AsmPrinter \ + lib/CodeGen/SelectionDAG \ + lib/IR \ + lib/IRReader \ + lib/Linker \ + lib/MC \ + lib/MC/MCDisassembler \ + lib/MC/MCParser \ + lib/Object \ + lib/Option \ + lib/Support \ + lib/TableGen \ + lib/Target \ + lib/Transforms/IPO \ + lib/Transforms/InstCombine \ + lib/Transforms/Instrumentation \ + lib/Transforms/ObjCARC \ + lib/Transforms/Scalar \ + lib/Transforms/Utils \ + lib/Transforms/Vectorize \ + utils/FileCheck \ + utils/TableGen + +# ARM Code Generation Libraries +subdirs += \ + lib/Target/ARM \ + lib/Target/ARM/AsmParser \ + lib/Target/ARM/InstPrinter \ + lib/Target/ARM/Disassembler \ + lib/Target/ARM/MCTargetDesc \ + lib/Target/ARM/TargetInfo + +# ARM64 Code Generation Libraries +subdirs += \ + lib/Target/AArch64 \ + lib/Target/AArch64/AsmParser \ + lib/Target/AArch64/InstPrinter \ + lib/Target/AArch64/Disassembler \ + lib/Target/AArch64/MCTargetDesc \ + lib/Target/AArch64/TargetInfo \ + lib/Target/AArch64/Utils + +# MIPS Code Generation Libraries +subdirs += \ + lib/Target/Mips \ + lib/Target/Mips/AsmParser \ + lib/Target/Mips/InstPrinter \ + lib/Target/Mips/Disassembler \ + lib/Target/Mips/MCTargetDesc \ + lib/Target/Mips/TargetInfo + +# X86 Code Generation Libraries +subdirs += \ + lib/Target/X86 \ + lib/Target/X86/AsmParser \ + lib/Target/X86/InstPrinter \ + lib/Target/X86/Disassembler \ + lib/Target/X86/MCTargetDesc \ + lib/Target/X86/TargetInfo \ + lib/Target/X86/Utils + +# LLVM Command Line Tools +subdirs += tools/llc +subdirs += tools/llvm-as +subdirs += tools/llvm-dis +subdirs += tools/llvm-link +#subdirs += tools/opt + +include $(LOCAL_PATH)/llvm.mk +include $(LOCAL_PATH)/shared_llvm.mk + +include $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, $(subdirs))) diff --git a/CleanSpec.mk b/CleanSpec.mk new file mode 100644 index 0000000..f756f04 --- /dev/null +++ b/CleanSpec.mk @@ -0,0 +1,54 @@ +# Copyright (C) 2007 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# If you don't need to do a full clean build but would like to touch +# a file or delete some intermediate files, add a clean step to the end +# of the list. These steps will only be run once, if they haven't been +# run before. +# +# E.g.: +# $(call add-clean-step, touch -c external/sqlite/sqlite3.h) +# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) +# +# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with +# files that are missing or have been moved. +# +# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. +# Use $(OUT_DIR) to refer to the "out" directory. +# +# If you need to re-do something that's already mentioned, just copy +# the command and add it to the bottom of the list. E.g., if a change +# that you made last week required touching a file and a change you +# made today requires touching the same file, just copy the old +# touch step and add it to the end of the list. +# +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ + +# For example: +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) +#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) +#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) + +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/stingray/obj/STATIC_LIBRARIES/libLLVM*) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/stingray/obj/STATIC_LIBRARIES/libLLVMARMCodeGen_intermediates*) +$(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_PREBUILT_TAG)/obj/STATIC_LIBRARIES/libLLVMARM*) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libLLVMARM*) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/EXECUTABLES/app_process__asan_intermediates*) diff --git a/clear_tblgen_vars.mk b/clear_tblgen_vars.mk new file mode 100644 index 0000000..6c9623e --- /dev/null +++ b/clear_tblgen_vars.mk @@ -0,0 +1,2 @@ +TBLGEN_TABLES := +TBLGEN_TD_DIR := diff --git a/lib/Analysis/Android.mk b/lib/Analysis/Android.mk new file mode 100644 index 0000000..76eee74 --- /dev/null +++ b/lib/Analysis/Android.mk @@ -0,0 +1,80 @@ +LOCAL_PATH:= $(call my-dir) + +analysis_SRC_FILES := \ + AliasAnalysis.cpp \ + AliasAnalysisCounter.cpp \ + AliasAnalysisEvaluator.cpp \ + AliasDebugger.cpp \ + AliasSetTracker.cpp \ + Analysis.cpp \ + BasicAliasAnalysis.cpp \ + BlockFrequencyInfo.cpp \ + BranchProbabilityInfo.cpp \ + CFG.cpp \ + CFGPrinter.cpp \ + CaptureTracking.cpp \ + CodeMetrics.cpp \ + ConstantFolding.cpp \ + CostModel.cpp \ + Delinearization.cpp \ + DependenceAnalysis.cpp \ + DomPrinter.cpp \ + DominanceFrontier.cpp \ + IVUsers.cpp \ + InstCount.cpp \ + InstructionSimplify.cpp \ + Interval.cpp \ + IntervalPartition.cpp \ + LazyValueInfo.cpp \ + LibCallAliasAnalysis.cpp \ + LibCallSemantics.cpp \ + Lint.cpp \ + Loads.cpp \ + LoopInfo.cpp \ + LoopPass.cpp \ + MemDepPrinter.cpp \ + MemoryBuiltins.cpp \ + MemoryDependenceAnalysis.cpp \ + ModuleDebugInfoPrinter.cpp \ + NoAliasAnalysis.cpp \ + PHITransAddr.cpp \ + PostDominators.cpp \ + PtrUseVisitor.cpp \ + RegionInfo.cpp \ + RegionPass.cpp \ + RegionPrinter.cpp \ + ScalarEvolution.cpp \ + ScalarEvolutionAliasAnalysis.cpp \ + ScalarEvolutionExpander.cpp \ + ScalarEvolutionNormalization.cpp \ + SparsePropagation.cpp \ + TargetTransformInfo.cpp \ + Trace.cpp \ + TypeBasedAliasAnalysis.cpp \ + ValueTracking.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_MODULE:= libLLVMAnalysis +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(analysis_SRC_FILES) + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_MODULE:= libLLVMAnalysis +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(analysis_SRC_FILES) + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Analysis/IPA/Android.mk b/lib/Analysis/IPA/Android.mk new file mode 100644 index 0000000..d56d931 --- /dev/null +++ b/lib/Analysis/IPA/Android.mk @@ -0,0 +1,40 @@ +LOCAL_PATH:= $(call my-dir) + +analysis_ipa_SRC_FILES := \ + CallGraph.cpp \ + CallGraphSCCPass.cpp \ + CallPrinter.cpp \ + FindUsedTypes.cpp \ + GlobalsModRef.cpp \ + IPA.cpp \ + InlineCost.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(analysis_ipa_SRC_FILES) + +LOCAL_MODULE:= libLLVMipa + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(analysis_ipa_SRC_FILES) + +LOCAL_MODULE:= libLLVMipa + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/AsmParser/Android.mk b/lib/AsmParser/Android.mk new file mode 100644 index 0000000..7bd29a7 --- /dev/null +++ b/lib/AsmParser/Android.mk @@ -0,0 +1,34 @@ +LOCAL_PATH:= $(call my-dir) + +asm_parser_SRC_FILES := \ + LLLexer.cpp \ + LLParser.cpp \ + Parser.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(asm_parser_SRC_FILES) + +LOCAL_MODULE:= libLLVMAsmParser + +LOCAL_MODULE_TAGS := optional + +include $(LOCAL_PATH)/../../llvm-host-build.mk +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(asm_parser_SRC_FILES) + +LOCAL_MODULE:= libLLVMAsmParser + +LOCAL_MODULE_TAGS := optional + +include $(LOCAL_PATH)/../../llvm-device-build.mk +include $(BUILD_STATIC_LIBRARY) +endif \ No newline at end of file diff --git a/lib/Bitcode/Reader/Android.mk b/lib/Bitcode/Reader/Android.mk new file mode 100644 index 0000000..3bdcdda --- /dev/null +++ b/lib/Bitcode/Reader/Android.mk @@ -0,0 +1,36 @@ +LOCAL_PATH:= $(call my-dir) + +bitcode_reader_SRC_FILES := \ + BitReader.cpp \ + BitcodeReader.cpp \ + BitstreamReader.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(bitcode_reader_SRC_FILES) + +LOCAL_MODULE:= libLLVMBitReader + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +include $(CLEAR_VARS) +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) + +LOCAL_SRC_FILES := $(bitcode_reader_SRC_FILES) + +LOCAL_MODULE:= libLLVMBitReader + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Bitcode/Writer/Android.mk b/lib/Bitcode/Writer/Android.mk new file mode 100644 index 0000000..6aa208c --- /dev/null +++ b/lib/Bitcode/Writer/Android.mk @@ -0,0 +1,37 @@ +LOCAL_PATH:= $(call my-dir) + +bitcode_writer_SRC_FILES := \ + BitWriter.cpp \ + BitcodeWriter.cpp \ + BitcodeWriterPass.cpp \ + ValueEnumerator.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(bitcode_writer_SRC_FILES) + +LOCAL_MODULE:= libLLVMBitWriter + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +include $(CLEAR_VARS) +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) + +LOCAL_SRC_FILES := $(bitcode_writer_SRC_FILES) + +LOCAL_MODULE:= libLLVMBitWriter + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/CodeGen/Android.mk b/lib/CodeGen/Android.mk new file mode 100644 index 0000000..26f04d0 --- /dev/null +++ b/lib/CodeGen/Android.mk @@ -0,0 +1,143 @@ +LOCAL_PATH:= $(call my-dir) + +codegen_SRC_FILES := \ + AggressiveAntiDepBreaker.cpp \ + AllocationOrder.cpp \ + Analysis.cpp \ + BasicTargetTransformInfo.cpp \ + BranchFolding.cpp \ + CalcSpillWeights.cpp \ + CallingConvLower.cpp \ + CodeGen.cpp \ + CodeGenPrepare.cpp \ + CriticalAntiDepBreaker.cpp \ + DeadMachineInstructionElim.cpp \ + DFAPacketizer.cpp \ + DwarfEHPrepare.cpp \ + EarlyIfConversion.cpp \ + EdgeBundles.cpp \ + ErlangGC.cpp \ + ExecutionDepsFix.cpp \ + ExpandISelPseudos.cpp \ + ExpandPostRAPseudos.cpp \ + GCMetadata.cpp \ + GCMetadataPrinter.cpp \ + GCStrategy.cpp \ + IfConversion.cpp \ + InlineSpiller.cpp \ + InterferenceCache.cpp \ + IntrinsicLowering.cpp \ + JITCodeEmitter.cpp \ + LatencyPriorityQueue.cpp \ + LexicalScopes.cpp \ + LiveDebugVariables.cpp \ + LiveIntervalAnalysis.cpp \ + LiveInterval.cpp \ + LiveIntervalUnion.cpp \ + LivePhysRegs.cpp \ + LiveRangeCalc.cpp \ + LiveRangeEdit.cpp \ + LiveRegMatrix.cpp \ + LiveStackAnalysis.cpp \ + LiveVariables.cpp \ + LLVMTargetMachine.cpp \ + LocalStackSlotAllocation.cpp \ + MachineBasicBlock.cpp \ + MachineBlockFrequencyInfo.cpp \ + MachineBlockPlacement.cpp \ + MachineBranchProbabilityInfo.cpp \ + MachineCodeEmitter.cpp \ + MachineCopyPropagation.cpp \ + MachineCSE.cpp \ + MachineDominators.cpp \ + MachineFunctionAnalysis.cpp \ + MachineFunction.cpp \ + MachineFunctionPass.cpp \ + MachineFunctionPrinterPass.cpp \ + MachineInstrBundle.cpp \ + MachineInstr.cpp \ + MachineLICM.cpp \ + MachineLoopInfo.cpp \ + MachineModuleInfo.cpp \ + MachineModuleInfoImpls.cpp \ + MachinePassRegistry.cpp \ + MachinePostDominators.cpp \ + MachineRegisterInfo.cpp \ + MachineScheduler.cpp \ + MachineSink.cpp \ + MachineSSAUpdater.cpp \ + MachineTraceMetrics.cpp \ + MachineVerifier.cpp \ + OcamlGC.cpp \ + OptimizePHIs.cpp \ + Passes.cpp \ + PeepholeOptimizer.cpp \ + PHIElimination.cpp \ + PHIEliminationUtils.cpp \ + PostRASchedulerList.cpp \ + ProcessImplicitDefs.cpp \ + PrologEpilogInserter.cpp \ + PseudoSourceValue.cpp \ + RegAllocBase.cpp \ + RegAllocBasic.cpp \ + RegAllocFast.cpp \ + RegAllocGreedy.cpp \ + RegAllocPBQP.cpp \ + RegisterClassInfo.cpp \ + RegisterCoalescer.cpp \ + RegisterPressure.cpp \ + RegisterScavenging.cpp \ + ScheduleDAG.cpp \ + ScheduleDAGInstrs.cpp \ + ScheduleDAGPrinter.cpp \ + ScoreboardHazardRecognizer.cpp \ + ShadowStackGC.cpp \ + SjLjEHPrepare.cpp \ + SlotIndexes.cpp \ + Spiller.cpp \ + SpillPlacement.cpp \ + SplitKit.cpp \ + StackColoring.cpp \ + StackMapLivenessAnalysis.cpp \ + StackMaps.cpp \ + StackProtector.cpp \ + StackSlotColoring.cpp \ + TailDuplication.cpp \ + TargetFrameLoweringImpl.cpp \ + TargetInstrInfo.cpp \ + TargetLoweringBase.cpp \ + TargetLoweringObjectFileImpl.cpp \ + TargetOptionsImpl.cpp \ + TargetRegisterInfo.cpp \ + TargetSchedule.cpp \ + TwoAddressInstructionPass.cpp \ + UnreachableBlockElim.cpp \ + VirtRegMap.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(codegen_SRC_FILES) +LOCAL_MODULE:= libLLVMCodeGen + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(codegen_SRC_FILES) +LOCAL_MODULE:= libLLVMCodeGen + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/CodeGen/AsmPrinter/Android.mk b/lib/CodeGen/AsmPrinter/Android.mk new file mode 100644 index 0000000..1e403ee --- /dev/null +++ b/lib/CodeGen/AsmPrinter/Android.mk @@ -0,0 +1,62 @@ +LOCAL_PATH := $(call my-dir) + +codegen_asmprinter_SRC_FILES := \ + AsmPrinter.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + AsmPrinter.cpp \ + AsmPrinterDwarf.cpp \ + AsmPrinterInlineAsm.cpp \ + ARMException.cpp \ + DIE.cpp \ + DIEHash.cpp \ + DwarfAccelTable.cpp \ + DwarfCFIException.cpp \ + DwarfDebug.cpp \ + DwarfException.cpp \ + DwarfUnit.cpp \ + ErlangGCPrinter.cpp \ + OcamlGCPrinter.cpp \ + Win64Exception.cpp \ + WinCodeViewLineTables.cpp + +LOCAL_MODULE:= libLLVMAsmPrinter + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + AsmPrinter.cpp \ + AsmPrinterDwarf.cpp \ + AsmPrinterInlineAsm.cpp \ + ARMException.cpp \ + DIE.cpp \ + DIEHash.cpp \ + DwarfAccelTable.cpp \ + DwarfCFIException.cpp \ + DwarfDebug.cpp \ + DwarfException.cpp \ + ErlangGCPrinter.cpp \ + Win64Exception.cpp \ + $(LOCAL_SRC_FILES) + +LOCAL_MODULE:= libLLVMAsmPrinter + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/CodeGen/SelectionDAG/Android.mk b/lib/CodeGen/SelectionDAG/Android.mk new file mode 100644 index 0000000..0e52ee3 --- /dev/null +++ b/lib/CodeGen/SelectionDAG/Android.mk @@ -0,0 +1,56 @@ +LOCAL_PATH:= $(call my-dir) + +codegen_selectiondag_SRC_FILES := \ + DAGCombiner.cpp \ + FastISel.cpp \ + FunctionLoweringInfo.cpp \ + InstrEmitter.cpp \ + LegalizeDAG.cpp \ + LegalizeFloatTypes.cpp \ + LegalizeIntegerTypes.cpp \ + LegalizeTypes.cpp \ + LegalizeTypesGeneric.cpp \ + LegalizeVectorOps.cpp \ + LegalizeVectorTypes.cpp \ + ResourcePriorityQueue.cpp \ + ScheduleDAGFast.cpp \ + ScheduleDAGRRList.cpp \ + ScheduleDAGSDNodes.cpp \ + ScheduleDAGVLIW.cpp \ + SelectionDAG.cpp \ + SelectionDAGBuilder.cpp \ + SelectionDAGDumper.cpp \ + SelectionDAGISel.cpp \ + SelectionDAGPrinter.cpp \ + TargetLowering.cpp \ + TargetSelectionDAGInfo.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(codegen_selectiondag_SRC_FILES) + +LOCAL_MODULE:= libLLVMSelectionDAG + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(codegen_selectiondag_SRC_FILES) + +LOCAL_MODULE:= libLLVMSelectionDAG + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/ExecutionEngine/Android.mk b/lib/ExecutionEngine/Android.mk new file mode 100644 index 0000000..9f1befd --- /dev/null +++ b/lib/ExecutionEngine/Android.mk @@ -0,0 +1,18 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + ExecutionEngineBindings.cpp \ + ExecutionEngine.cpp \ + RTDyldMemoryManager.cpp \ + TargetSelect.cpp + +LOCAL_MODULE:= libLLVMExecutionEngine + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/ExecutionEngine/JIT/Android.mk b/lib/ExecutionEngine/JIT/Android.mk new file mode 100644 index 0000000..0466ba0 --- /dev/null +++ b/lib/ExecutionEngine/JIT/Android.mk @@ -0,0 +1,17 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + JIT.cpp \ + JITEmitter.cpp \ + JITMemoryManager.cpp + +LOCAL_MODULE:= libLLVMJIT + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/ExecutionEngine/MCJIT/Android.mk b/lib/ExecutionEngine/MCJIT/Android.mk new file mode 100644 index 0000000..0314958 --- /dev/null +++ b/lib/ExecutionEngine/MCJIT/Android.mk @@ -0,0 +1,16 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + MCJIT.cpp \ + SectionMemoryManager.cpp + +LOCAL_MODULE:= libLLVMMCJIT + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/ExecutionEngine/RuntimeDyld/Android.mk b/lib/ExecutionEngine/RuntimeDyld/Android.mk new file mode 100644 index 0000000..e98e80a --- /dev/null +++ b/lib/ExecutionEngine/RuntimeDyld/Android.mk @@ -0,0 +1,18 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + GDBRegistrar.cpp \ + RuntimeDyld.cpp \ + RuntimeDyldELF.cpp \ + RuntimeDyldMachO.cpp + +LOCAL_MODULE:= libLLVMRuntimeDyld + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/IR/Android.mk b/lib/IR/Android.mk new file mode 100644 index 0000000..071bb04 --- /dev/null +++ b/lib/IR/Android.mk @@ -0,0 +1,79 @@ +LOCAL_PATH:= $(call my-dir) + +vmcore_SRC_FILES := \ + AsmWriter.cpp \ + Attributes.cpp \ + AutoUpgrade.cpp \ + BasicBlock.cpp \ + ConstantFold.cpp \ + ConstantRange.cpp \ + Constants.cpp \ + Core.cpp \ + DataLayout.cpp \ + DebugInfo.cpp \ + DebugLoc.cpp \ + DiagnosticInfo.cpp \ + DiagnosticPrinter.cpp \ + DIBuilder.cpp \ + Dominators.cpp \ + Function.cpp \ + GVMaterializer.cpp \ + Globals.cpp \ + IRBuilder.cpp \ + IRPrintingPasses.cpp \ + InlineAsm.cpp \ + Instruction.cpp \ + Instructions.cpp \ + IntrinsicInst.cpp \ + LLVMContext.cpp \ + LLVMContextImpl.cpp \ + LeakDetector.cpp \ + LegacyPassManager.cpp \ + Mangler.cpp \ + Metadata.cpp \ + Module.cpp \ + Pass.cpp \ + PassManager.cpp \ + PassRegistry.cpp \ + Type.cpp \ + TypeFinder.cpp \ + Use.cpp \ + User.cpp \ + Value.cpp \ + ValueSymbolTable.cpp \ + ValueTypes.cpp \ + Verifier.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +REQUIRES_RTTI := 1 + +LOCAL_SRC_FILES := $(vmcore_SRC_FILES) + +LOCAL_MODULE:= libLLVMCore + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +include $(CLEAR_VARS) +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) + +REQUIRES_RTTI := 1 + +LOCAL_SRC_FILES := $(vmcore_SRC_FILES) + +LOCAL_MODULE:= libLLVMCore + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/IRReader/Android.mk b/lib/IRReader/Android.mk new file mode 100644 index 0000000..d620521 --- /dev/null +++ b/lib/IRReader/Android.mk @@ -0,0 +1,38 @@ +LOCAL_PATH:= $(call my-dir) + +irreader_SRC_FILES := \ + IRReader.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +REQUIRES_RTTI := 1 + +LOCAL_SRC_FILES := $(irreader_SRC_FILES) + +LOCAL_MODULE:= libLLVMIRReader + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +REQUIRES_RTTI := 1 + +LOCAL_SRC_FILES := $(irreader_SRC_FILES) + +LOCAL_MODULE:= libLLVMIRReader + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif \ No newline at end of file diff --git a/lib/Linker/Android.mk b/lib/Linker/Android.mk new file mode 100644 index 0000000..161b2ae --- /dev/null +++ b/lib/Linker/Android.mk @@ -0,0 +1,32 @@ +LOCAL_PATH:= $(call my-dir) + +linker_SRC_FILES := \ + LinkModules.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_SRC_FILES := $(linker_SRC_FILES) + +LOCAL_MODULE:= libLLVMLinker +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(linker_SRC_FILES) + +LOCAL_MODULE:= libLLVMLinker +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/MC/Android.mk b/lib/MC/Android.mk new file mode 100644 index 0000000..abf346b --- /dev/null +++ b/lib/MC/Android.mk @@ -0,0 +1,78 @@ +LOCAL_PATH:= $(call my-dir) + +mc_SRC_FILES := \ + ELFObjectWriter.cpp \ + MachObjectWriter.cpp \ + MCAsmBackend.cpp \ + MCAsmInfo.cpp \ + MCAsmInfoCOFF.cpp \ + MCAsmInfoDarwin.cpp \ + MCAsmInfoELF.cpp \ + MCAsmStreamer.cpp \ + MCAssembler.cpp \ + MCCodeEmitter.cpp \ + MCCodeGenInfo.cpp \ + MCContext.cpp \ + MCDisassembler.cpp \ + MCDwarf.cpp \ + MCELF.cpp \ + MCELFObjectTargetWriter.cpp \ + MCELFStreamer.cpp \ + MCExpr.cpp \ + MCExternalSymbolizer.cpp \ + MCFixup.cpp \ + MCInst.cpp \ + MCInstPrinter.cpp \ + MCInstrAnalysis.cpp \ + MCLabel.cpp \ + MCLinkerOptimizationHint.cpp \ + MCMachObjectTargetWriter.cpp \ + MCMachOStreamer.cpp \ + MCNullStreamer.cpp \ + MCObjectFileInfo.cpp \ + MCObjectStreamer.cpp \ + MCObjectWriter.cpp \ + MCRegisterInfo.cpp \ + MCRelocationInfo.cpp \ + MCSection.cpp \ + MCSectionCOFF.cpp \ + MCSectionELF.cpp \ + MCSectionMachO.cpp \ + MCStreamer.cpp \ + MCSubtargetInfo.cpp \ + MCSymbol.cpp \ + MCSymbolizer.cpp \ + MCValue.cpp \ + MCWin64EH.cpp \ + WinCOFFObjectWriter.cpp \ + WinCOFFStreamer.cpp \ + SubtargetFeature.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(mc_SRC_FILES) + +LOCAL_MODULE:= libLLVMMC + +LOCAL_MODULE_TAGS := optional + + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +include $(CLEAR_VARS) +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) + +LOCAL_SRC_FILES := $(mc_SRC_FILES) + +LOCAL_MODULE:= libLLVMMC + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/MC/MCDisassembler/Android.mk b/lib/MC/MCDisassembler/Android.mk new file mode 100644 index 0000000..7f73df3 --- /dev/null +++ b/lib/MC/MCDisassembler/Android.mk @@ -0,0 +1,15 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + Disassembler.cpp + +LOCAL_MODULE:= libLLVMMCDisassembler + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/MC/MCParser/Android.mk b/lib/MC/MCParser/Android.mk new file mode 100644 index 0000000..505a12b --- /dev/null +++ b/lib/MC/MCParser/Android.mk @@ -0,0 +1,40 @@ +LOCAL_PATH:= $(call my-dir) + +mc_parser_SRC_FILES := \ + AsmLexer.cpp \ + AsmParser.cpp \ + COFFAsmParser.cpp \ + DarwinAsmParser.cpp \ + ELFAsmParser.cpp \ + MCAsmLexer.cpp \ + MCAsmParser.cpp \ + MCAsmParserExtension.cpp \ + MCTargetAsmParser.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(mc_parser_SRC_FILES) + +LOCAL_MODULE:= libLLVMMCParser + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +include $(CLEAR_VARS) +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) + +LOCAL_SRC_FILES := $(mc_parser_SRC_FILES) + +LOCAL_MODULE:= libLLVMMCParser + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Object/Android.mk b/lib/Object/Android.mk new file mode 100644 index 0000000..7dfa44f --- /dev/null +++ b/lib/Object/Android.mk @@ -0,0 +1,45 @@ +LOCAL_PATH := $(call my-dir) + +object_SRC_FILES := \ + Archive.cpp \ + Binary.cpp \ + COFFObjectFile.cpp \ + ELF.cpp \ + ELFObjectFile.cpp \ + Error.cpp \ + IRObjectFile.cpp \ + MachOObjectFile.cpp \ + MachOUniversal.cpp \ + Object.cpp \ + ObjectFile.cpp \ + SymbolicFile.cpp + + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMObject +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(object_SRC_FILES) + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device only +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_MODULE:= libLLVMObject +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(object_SRC_FILES) + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Option/Android.mk b/lib/Option/Android.mk new file mode 100644 index 0000000..8680ce4 --- /dev/null +++ b/lib/Option/Android.mk @@ -0,0 +1,42 @@ +LOCAL_PATH:= $(call my-dir) + +option_SRC_FILES := \ + Arg.cpp \ + ArgList.cpp \ + Option.cpp \ + OptTable.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +# FIXME: This only requires RTTI because tblgen uses it. Fix that. +REQUIRES_RTTI := 1 + +LOCAL_SRC_FILES := $(option_SRC_FILES) + +LOCAL_MODULE:= libLLVMOption + +LOCAL_CFLAGS := -D__android__ + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +include $(CLEAR_VARS) +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) + +LOCAL_SRC_FILES := $(option_SRC_FILES) + +LOCAL_MODULE:= libLLVMOption + +LOCAL_CFLAGS := -D__android__ + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Support/Android.mk b/lib/Support/Android.mk new file mode 100644 index 0000000..165305e --- /dev/null +++ b/lib/Support/Android.mk @@ -0,0 +1,120 @@ +LOCAL_PATH:= $(call my-dir) + +support_SRC_FILES := \ + Allocator.cpp \ + APFloat.cpp \ + APInt.cpp \ + APSInt.cpp \ + ARMBuildAttrs.cpp \ + Atomic.cpp \ + BlockFrequency.cpp \ + BranchProbability.cpp \ + CommandLine.cpp \ + Compression.cpp \ + ConvertUTF.c \ + ConvertUTFWrapper.cpp \ + CrashRecoveryContext.cpp \ + DAGDeltaAlgorithm.cpp \ + DataStream.cpp \ + DataExtractor.cpp \ + Debug.cpp \ + DeltaAlgorithm.cpp \ + Dwarf.cpp \ + DynamicLibrary.cpp \ + Errno.cpp \ + ErrorHandling.cpp \ + FileUtilities.cpp \ + FoldingSet.cpp \ + FormattedStream.cpp \ + GraphWriter.cpp \ + Hashing.cpp \ + Host.cpp \ + IntervalMap.cpp \ + IntEqClasses.cpp \ + IntrusiveRefCntPtr.cpp \ + IsInf.cpp \ + IsNAN.cpp \ + LEB128.cpp \ + LineIterator.cpp \ + Locale.cpp \ + LockFileManager.cpp \ + MD5.cpp \ + ManagedStatic.cpp \ + Memory.cpp \ + MemoryBuffer.cpp \ + MemoryObject.cpp \ + Mutex.cpp \ + Path.cpp \ + PluginLoader.cpp \ + PrettyStackTrace.cpp \ + Process.cpp \ + Program.cpp \ + Regex.cpp \ + RWMutex.cpp \ + SearchForAddressOfSpecialSymbol.cpp \ + Signals.cpp \ + SmallPtrSet.cpp \ + SmallVector.cpp \ + SourceMgr.cpp \ + Statistic.cpp \ + StreamableMemoryObject.cpp \ + StringExtras.cpp \ + StringMap.cpp \ + StringPool.cpp \ + StringRef.cpp \ + SystemUtils.cpp \ + TargetRegistry.cpp \ + Threading.cpp \ + ThreadLocal.cpp \ + Timer.cpp \ + TimeValue.cpp \ + ToolOutputFile.cpp \ + Triple.cpp \ + Twine.cpp \ + Unicode.cpp \ + Valgrind.cpp \ + Watchdog.cpp \ + circular_raw_ostream.cpp \ + raw_os_ostream.cpp \ + raw_ostream.cpp \ + regcomp.c \ + regerror.c \ + regexec.c \ + regfree.c \ + regstrlcpy.c \ + system_error.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +# FIXME: This only requires RTTI because tblgen uses it. Fix that. +REQUIRES_RTTI := 1 + +LOCAL_SRC_FILES := $(support_SRC_FILES) + +LOCAL_MODULE:= libLLVMSupport + +LOCAL_CFLAGS := -D__android__ + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(support_SRC_FILES) + +LOCAL_MODULE:= libLLVMSupport + +LOCAL_CFLAGS := -D__android__ + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/TableGen/Android.mk b/lib/TableGen/Android.mk new file mode 100644 index 0000000..1f01ef7 --- /dev/null +++ b/lib/TableGen/Android.mk @@ -0,0 +1,39 @@ +LOCAL_PATH:= $(call my-dir) + +libtablegen_SRC_FILES := \ + Error.cpp \ + Main.cpp \ + Record.cpp \ + StringMatcher.cpp \ + TableGenBackend.cpp \ + TGLexer.cpp \ + TGParser.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(libtablegen_SRC_FILES) +LOCAL_MODULE:= libLLVMTableGen + +LOCAL_MODULE_TAGS := optional + +REQUIRES_EH := 1 +REQUIRES_RTTI := 1 + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +## For the device +## ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +#include $(CLEAR_VARS) +# +#LOCAL_SRC_FILES := $(libtablegen_SRC_FILES) +#LOCAL_MODULE:= libLLVMTableGen +# +#LOCAL_MODULE_TAGS := optional +# +#include $(LLVM_DEVICE_BUILD_MK) +#include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/AArch64/Android.mk b/lib/Target/AArch64/Android.mk new file mode 100644 index 0000000..144c2d3 --- /dev/null +++ b/lib/Target/AArch64/Android.mk @@ -0,0 +1,67 @@ +LOCAL_PATH := $(call my-dir) + +arm64_codegen_TBLGEN_TABLES := \ + AArch64GenRegisterInfo.inc \ + AArch64GenInstrInfo.inc \ + AArch64GenCodeEmitter.inc \ + AArch64GenMCCodeEmitter.inc \ + AArch64GenMCPseudoLowering.inc \ + AArch64GenAsmWriter.inc \ + AArch64GenAsmMatcher.inc \ + AArch64GenDAGISel.inc \ + AArch64GenFastISel.inc \ + AArch64GenCallingConv.inc \ + AArch64GenSubtargetInfo.inc \ + AArch64GenDisassemblerTables.inc + +arm64_codegen_SRC_FILES := \ + AArch64AsmPrinter.cpp \ + AArch64FrameLowering.cpp \ + AArch64ISelDAGToDAG.cpp \ + AArch64MachineFunctionInfo.cpp \ + AArch64RegisterInfo.cpp \ + AArch64Subtarget.cpp \ + AArch64TargetObjectFile.cpp \ + AArch64BranchFixupPass.cpp \ + AArch64InstrInfo.cpp \ + AArch64ISelLowering.cpp \ + AArch64MCInstLower.cpp \ + AArch64SelectionDAGInfo.cpp \ + AArch64TargetMachine.cpp \ + AArch64TargetTransformInfo.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMARM64CodeGen +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(arm64_codegen_SRC_FILES) +LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc +TBLGEN_TABLES := $(arm64_codegen_TBLGEN_TABLES) + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device only +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMARM64CodeGen +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(arm64_codegen_SRC_FILES) +LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc +TBLGEN_TABLES := $(arm64_codegen_TBLGEN_TABLES) + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/AArch64/AsmParser/Android.mk b/lib/Target/AArch64/AsmParser/Android.mk new file mode 100644 index 0000000..0588511 --- /dev/null +++ b/lib/Target/AArch64/AsmParser/Android.mk @@ -0,0 +1,63 @@ +LOCAL_PATH := $(call my-dir) + +#===---------------------------------------------------------------=== +# libARMAsmParser (common) +#===---------------------------------------------------------------=== + +arm64_asm_parser_SRC_FILES := \ + AArch64AsmParser.cpp + +arm64_asm_parser_TBLGEN_TABLES := \ + AArch64GenInstrInfo.inc \ + AArch64GenRegisterInfo.inc \ + AArch64GenAsmMatcher.inc \ + AArch64GenSubtargetInfo.inc + +arm64_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +arm64_asm_parser_C_INCLUDES := $(LOCAL_PATH)/.. + + +#===---------------------------------------------------------------=== +# libARM64AsmParser (host) +#===---------------------------------------------------------------=== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMARM64AsmParser +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(arm64_asm_parser_SRC_FILES) +LOCAL_C_INCLUDES += $(arm64_asm_parser_C_INCLUDES) +TBLGEN_TABLES := $(arm64_asm_parser_TBLGEN_TABLES) +TBLGEN_TD_DIR := $(arm64_asm_parser_TBLGEN_TD_DIR) + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +ifneq (,$(filter windows darwin,$(HOST_OS))) +# Override the default optimization level to work around taking forever (~50m) +# to compile ARM64AsmParser.cpp on Mac with gcc 4.2, +# or on Linux with mingw32msvc-gcc 4.2, which is used to cross-compile +# the win_sdk. +LOCAL_CFLAGS += -O0 +endif +include $(BUILD_HOST_STATIC_LIBRARY) + + +#===---------------------------------------------------------------=== +# libARM64AsmParser (target) +#===---------------------------------------------------------------=== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMARM64AsmParser +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(arm64_asm_parser_SRC_FILES) +LOCAL_C_INCLUDES += $(arm64_asm_parser_C_INCLUDES) +TBLGEN_TABLES := $(arm64_asm_parser_TBLGEN_TABLES) +TBLGEN_TD_DIR := $(arm64_asm_parser_TBLGEN_TD_DIR) + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/AArch64/Disassembler/Android.mk b/lib/Target/AArch64/Disassembler/Android.mk new file mode 100644 index 0000000..fcc53ad --- /dev/null +++ b/lib/Target/AArch64/Disassembler/Android.mk @@ -0,0 +1,55 @@ +LOCAL_PATH := $(call my-dir) + +arm64_disassembler_TBLGEN_TABLES := \ + AArch64GenDisassemblerTables.inc \ + AArch64GenInstrInfo.inc \ + AArch64GenSubtargetInfo.inc \ + AArch64GenRegisterInfo.inc + +arm64_disassembler_SRC_FILES := \ + AArch64Disassembler.cpp + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(arm64_disassembler_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(arm64_disassembler_SRC_FILES) + +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMARM64Disassembler + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(arm64_disassembler_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(arm64_disassembler_SRC_FILES) + +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMARM64Disassembler + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + diff --git a/lib/Target/AArch64/InstPrinter/Android.mk b/lib/Target/AArch64/InstPrinter/Android.mk new file mode 100644 index 0000000..ac9b0df --- /dev/null +++ b/lib/Target/AArch64/InstPrinter/Android.mk @@ -0,0 +1,57 @@ +LOCAL_PATH := $(call my-dir) + +arm64_asm_printer_TBLGEN_TABLES := \ + AArch64GenAsmWriter.inc \ + AArch64GenRegisterInfo.inc \ + AArch64GenSubtargetInfo.inc \ + AArch64GenInstrInfo.inc + +arm64_asm_printer_SRC_FILES := \ + AArch64InstPrinter.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(arm64_asm_printer_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(arm64_asm_printer_SRC_FILES) + +LOCAL_MODULE:= libLLVMARM64AsmPrinter + +LOCAL_C_INCLUDES += \ + $(LOCAL_PATH)/.. + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device only +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(arm64_asm_printer_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(arm64_asm_printer_SRC_FILES) + +LOCAL_C_INCLUDES+= \ + $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMARM64AsmPrinter + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif + diff --git a/lib/Target/AArch64/MCTargetDesc/Android.mk b/lib/Target/AArch64/MCTargetDesc/Android.mk new file mode 100644 index 0000000..edcf1f2 --- /dev/null +++ b/lib/Target/AArch64/MCTargetDesc/Android.mk @@ -0,0 +1,57 @@ +LOCAL_PATH := $(call my-dir) + +arm64_mc_desc_TBLGEN_TABLES := \ + AArch64GenRegisterInfo.inc \ + AArch64GenInstrInfo.inc \ + AArch64GenMCCodeEmitter.inc \ + AArch64GenSubtargetInfo.inc + +arm64_mc_desc_SRC_FILES := \ + AArch64AsmBackend.cpp \ + AArch64ELFObjectWriter.cpp \ + AArch64ELFStreamer.cpp \ + AArch64MCAsmInfo.cpp \ + AArch64MCCodeEmitter.cpp \ + AArch64MCExpr.cpp \ + AArch64MCTargetDesc.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + + +LOCAL_MODULE:= libLLVMARM64Desc +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(arm64_mc_desc_SRC_FILES) +LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. +TBLGEN_TABLES := $(arm64_mc_desc_TBLGEN_TABLES) + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device only +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMARM64Desc +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(arm64_mc_desc_SRC_FILES) +LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. +TBLGEN_TABLES := $(arm64_mc_desc_TBLGEN_TABLES) + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/AArch64/TargetInfo/Android.mk b/lib/Target/AArch64/TargetInfo/Android.mk new file mode 100644 index 0000000..cc650f6 --- /dev/null +++ b/lib/Target/AArch64/TargetInfo/Android.mk @@ -0,0 +1,55 @@ +LOCAL_PATH := $(call my-dir) + +arm64_target_info_TBLGEN_TABLES := \ + AArch64GenSubtargetInfo.inc \ + AArch64GenRegisterInfo.inc \ + AArch64GenInstrInfo.inc + +arm64_target_info_SRC_FILES := \ + AArch64TargetInfo.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(arm64_target_info_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(arm64_target_info_SRC_FILES) + +LOCAL_C_INCLUDES += \ + $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMARM64Info + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(arm64_target_info_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(arm64_target_info_SRC_FILES) + +LOCAL_C_INCLUDES += \ + $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMARM64Info + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/AArch64/Utils/Android.mk b/lib/Target/AArch64/Utils/Android.mk new file mode 100644 index 0000000..b8bf795 --- /dev/null +++ b/lib/Target/AArch64/Utils/Android.mk @@ -0,0 +1,36 @@ +LOCAL_PATH := $(call my-dir) + +arm64_utils_SRC_FILES := \ + AArch64BaseInfo.cpp + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(arm64_utils_SRC_FILES) + +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMARM64Utils + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(BUILD_STATIC_LIBRARY) +endif + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(arm64_utils_SRC_FILES) + +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMARM64Utils + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Target/ARM/Android.mk b/lib/Target/ARM/Android.mk new file mode 100644 index 0000000..4be95aa --- /dev/null +++ b/lib/Target/ARM/Android.mk @@ -0,0 +1,87 @@ +LOCAL_PATH := $(call my-dir) + +arm_codegen_TBLGEN_TABLES := \ + ARMGenRegisterInfo.inc \ + ARMGenInstrInfo.inc \ + ARMGenCodeEmitter.inc \ + ARMGenMCCodeEmitter.inc \ + ARMGenMCPseudoLowering.inc \ + ARMGenAsmWriter.inc \ + ARMGenAsmMatcher.inc \ + ARMGenDAGISel.inc \ + ARMGenFastISel.inc \ + ARMGenCallingConv.inc \ + ARMGenSubtargetInfo.inc \ + ARMGenDisassemblerTables.inc + +arm_codegen_SRC_FILES := \ + A15SDOptimizer.cpp \ + ARMAsmPrinter.cpp \ + ARMAtomicExpandPass.cpp \ + ARMBaseInstrInfo.cpp \ + ARMBaseRegisterInfo.cpp \ + ARMCodeEmitter.cpp \ + ARMConstantIslandPass.cpp \ + ARMConstantPoolValue.cpp \ + ARMExpandPseudoInsts.cpp \ + ARMFastISel.cpp \ + ARMFrameLowering.cpp \ + ARMHazardRecognizer.cpp \ + ARMISelDAGToDAG.cpp \ + ARMISelLowering.cpp \ + ARMInstrInfo.cpp \ + ARMJITInfo.cpp \ + ARMLoadStoreOptimizer.cpp \ + ARMMCInstLower.cpp \ + ARMMachineFunctionInfo.cpp \ + ARMOptimizeBarriersPass.cpp \ + ARMRegisterInfo.cpp \ + ARMSelectionDAGInfo.cpp \ + ARMSubtarget.cpp \ + ARMTargetMachine.cpp \ + ARMTargetObjectFile.cpp \ + ARMTargetTransformInfo.cpp \ + MLxExpansionPass.cpp \ + Thumb1FrameLowering.cpp \ + Thumb1InstrInfo.cpp \ + Thumb1RegisterInfo.cpp \ + Thumb2ITBlockPass.cpp \ + Thumb2InstrInfo.cpp \ + Thumb2RegisterInfo.cpp \ + Thumb2SizeReduction.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMARMCodeGen +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(arm_codegen_SRC_FILES) +LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc +TBLGEN_TABLES := $(arm_codegen_TBLGEN_TABLES) + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device only +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMARMCodeGen +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(arm_codegen_SRC_FILES) +LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc +TBLGEN_TABLES := $(arm_codegen_TBLGEN_TABLES) + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/ARM/AsmParser/Android.mk b/lib/Target/ARM/AsmParser/Android.mk new file mode 100644 index 0000000..5f88cc3 --- /dev/null +++ b/lib/Target/ARM/AsmParser/Android.mk @@ -0,0 +1,63 @@ +LOCAL_PATH := $(call my-dir) + +#===---------------------------------------------------------------=== +# libARMAsmParser (common) +#===---------------------------------------------------------------=== + +arm_asm_parser_SRC_FILES := \ + ARMAsmParser.cpp + +arm_asm_parser_TBLGEN_TABLES := \ + ARMGenInstrInfo.inc \ + ARMGenRegisterInfo.inc \ + ARMGenAsmMatcher.inc \ + ARMGenSubtargetInfo.inc + +arm_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +arm_asm_parser_C_INCLUDES := $(LOCAL_PATH)/.. + + +#===---------------------------------------------------------------=== +# libARMAsmParser (host) +#===---------------------------------------------------------------=== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMARMAsmParser +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(arm_asm_parser_SRC_FILES) +LOCAL_C_INCLUDES += $(arm_asm_parser_C_INCLUDES) +TBLGEN_TABLES := $(arm_asm_parser_TBLGEN_TABLES) +TBLGEN_TD_DIR := $(arm_asm_parser_TBLGEN_TD_DIR) + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +ifneq (,$(filter windows darwin,$(HOST_OS))) +# Override the default optimization level to work around taking forever (~50m) +# to compile ARMAsmParser.cpp on Mac with gcc 4.2, +# or on Linux with mingw32msvc-gcc 4.2, which is used to cross-compile +# the win_sdk. +LOCAL_CFLAGS += -O0 +endif +include $(BUILD_HOST_STATIC_LIBRARY) + + +#===---------------------------------------------------------------=== +# libARMAsmParser (target) +#===---------------------------------------------------------------=== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMARMAsmParser +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(arm_asm_parser_SRC_FILES) +LOCAL_C_INCLUDES += $(arm_asm_parser_C_INCLUDES) +TBLGEN_TABLES := $(arm_asm_parser_TBLGEN_TABLES) +TBLGEN_TD_DIR := $(arm_asm_parser_TBLGEN_TD_DIR) + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/ARM/Disassembler/Android.mk b/lib/Target/ARM/Disassembler/Android.mk new file mode 100644 index 0000000..3db61a5 --- /dev/null +++ b/lib/Target/ARM/Disassembler/Android.mk @@ -0,0 +1,55 @@ +LOCAL_PATH := $(call my-dir) + +arm_disassembler_TBLGEN_TABLES := \ + ARMGenDisassemblerTables.inc \ + ARMGenInstrInfo.inc \ + ARMGenSubtargetInfo.inc \ + ARMGenRegisterInfo.inc + +arm_disassembler_SRC_FILES := \ + ARMDisassembler.cpp + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(arm_disassembler_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(arm_disassembler_SRC_FILES) + +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMARMDisassembler + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(arm_disassembler_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(arm_disassembler_SRC_FILES) + +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMARMDisassembler + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + diff --git a/lib/Target/ARM/InstPrinter/Android.mk b/lib/Target/ARM/InstPrinter/Android.mk new file mode 100644 index 0000000..cefed76 --- /dev/null +++ b/lib/Target/ARM/InstPrinter/Android.mk @@ -0,0 +1,57 @@ +LOCAL_PATH := $(call my-dir) + +arm_asm_printer_TBLGEN_TABLES := \ + ARMGenAsmWriter.inc \ + ARMGenRegisterInfo.inc \ + ARMGenSubtargetInfo.inc \ + ARMGenInstrInfo.inc + +arm_asm_printer_SRC_FILES := \ + ARMInstPrinter.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(arm_asm_printer_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(arm_asm_printer_SRC_FILES) + +LOCAL_MODULE:= libLLVMARMAsmPrinter + +LOCAL_C_INCLUDES += \ + $(LOCAL_PATH)/.. + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device only +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(arm_asm_printer_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(arm_asm_printer_SRC_FILES) + +LOCAL_C_INCLUDES+= \ + $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMARMAsmPrinter + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif + diff --git a/lib/Target/ARM/MCTargetDesc/Android.mk b/lib/Target/ARM/MCTargetDesc/Android.mk new file mode 100644 index 0000000..074d29e --- /dev/null +++ b/lib/Target/ARM/MCTargetDesc/Android.mk @@ -0,0 +1,61 @@ +LOCAL_PATH := $(call my-dir) + +arm_mc_desc_TBLGEN_TABLES := \ + ARMGenRegisterInfo.inc \ + ARMGenInstrInfo.inc \ + ARMGenMCCodeEmitter.inc \ + ARMGenSubtargetInfo.inc + +arm_mc_desc_SRC_FILES := \ + ARMAsmBackend.cpp \ + ARMELFObjectWriter.cpp \ + ARMELFStreamer.cpp \ + ARMMCAsmInfo.cpp \ + ARMMCCodeEmitter.cpp \ + ARMMCExpr.cpp \ + ARMMCTargetDesc.cpp \ + ARMMachObjectWriter.cpp \ + ARMMachORelocationInfo.cpp \ + ARMTargetStreamer.cpp \ + ARMUnwindOpAsm.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + + +LOCAL_MODULE:= libLLVMARMDesc +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(arm_mc_desc_SRC_FILES) +LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. +TBLGEN_TABLES := $(arm_mc_desc_TBLGEN_TABLES) + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device only +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMARMDesc +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(arm_mc_desc_SRC_FILES) +LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. +TBLGEN_TABLES := $(arm_mc_desc_TBLGEN_TABLES) + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/ARM/TargetInfo/Android.mk b/lib/Target/ARM/TargetInfo/Android.mk new file mode 100644 index 0000000..e31c2b8 --- /dev/null +++ b/lib/Target/ARM/TargetInfo/Android.mk @@ -0,0 +1,55 @@ +LOCAL_PATH := $(call my-dir) + +arm_target_info_TBLGEN_TABLES := \ + ARMGenSubtargetInfo.inc \ + ARMGenRegisterInfo.inc \ + ARMGenInstrInfo.inc + +arm_target_info_SRC_FILES := \ + ARMTargetInfo.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(arm_target_info_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(arm_target_info_SRC_FILES) + +LOCAL_C_INCLUDES += \ + $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMARMInfo + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(arm_target_info_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(arm_target_info_SRC_FILES) + +LOCAL_C_INCLUDES += \ + $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMARMInfo + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/Android.mk b/lib/Target/Android.mk new file mode 100644 index 0000000..1b43ce4 --- /dev/null +++ b/lib/Target/Android.mk @@ -0,0 +1,39 @@ +LOCAL_PATH:= $(call my-dir) + +target_SRC_FILES := \ + Target.cpp \ + TargetIntrinsicInfo.cpp \ + TargetJITInfo.cpp \ + TargetLibraryInfo.cpp \ + TargetLoweringObjectFile.cpp \ + TargetMachineC.cpp \ + TargetMachine.cpp \ + TargetSubtargetInfo.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(target_SRC_FILES) + +LOCAL_MODULE:= libLLVMTarget + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(target_SRC_FILES) + +LOCAL_MODULE:= libLLVMTarget + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/Mips/Android.mk b/lib/Target/Mips/Android.mk new file mode 100644 index 0000000..74b8a3b --- /dev/null +++ b/lib/Target/Mips/Android.mk @@ -0,0 +1,85 @@ +LOCAL_PATH := $(call my-dir) + +mips_codegen_TBLGEN_TABLES := \ + MipsGenRegisterInfo.inc \ + MipsGenInstrInfo.inc \ + MipsGenCodeEmitter.inc \ + MipsGenMCCodeEmitter.inc \ + MipsGenMCPseudoLowering.inc \ + MipsGenAsmWriter.inc \ + MipsGenDAGISel.inc \ + MipsGenCallingConv.inc \ + MipsGenSubtargetInfo.inc + +mips_codegen_SRC_FILES := \ + Mips16FrameLowering.cpp \ + Mips16HardFloat.cpp \ + Mips16HardFloatInfo.cpp \ + Mips16ISelDAGToDAG.cpp \ + Mips16ISelLowering.cpp \ + Mips16InstrInfo.cpp \ + Mips16RegisterInfo.cpp \ + MipsAnalyzeImmediate.cpp \ + MipsAsmPrinter.cpp \ + MipsCodeEmitter.cpp \ + MipsConstantIslandPass.cpp \ + MipsDelaySlotFiller.cpp \ + MipsFrameLowering.cpp \ + MipsInstrInfo.cpp \ + MipsISelDAGToDAG.cpp \ + MipsISelLowering.cpp \ + MipsJITInfo.cpp \ + MipsLongBranch.cpp \ + MipsMachineFunction.cpp \ + MipsMCInstLower.cpp \ + MipsModuleISelDAGToDAG.cpp \ + MipsOs16.cpp \ + MipsOptimizePICCall.cpp \ + MipsRegisterInfo.cpp \ + MipsSEFrameLowering.cpp \ + MipsSEISelDAGToDAG.cpp \ + MipsSEISelLowering.cpp \ + MipsSEInstrInfo.cpp \ + MipsSERegisterInfo.cpp \ + MipsSelectionDAGInfo.cpp \ + MipsSubtarget.cpp \ + MipsTargetMachine.cpp \ + MipsTargetObjectFile.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMMipsCodeGen +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(mips_codegen_SRC_FILES) +LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc + +TBLGEN_TABLES := $(mips_codegen_TBLGEN_TABLES) + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device only +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMMipsCodeGen +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(mips_codegen_SRC_FILES) +LOCAL_C_INCLUDES := $(LOCAL_PATH)/MCTargetDesc + +TBLGEN_TABLES := $(mips_codegen_TBLGEN_TABLES) + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/Mips/AsmParser/Android.mk b/lib/Target/Mips/AsmParser/Android.mk new file mode 100644 index 0000000..7d8eec1 --- /dev/null +++ b/lib/Target/Mips/AsmParser/Android.mk @@ -0,0 +1,56 @@ +LOCAL_PATH := $(call my-dir) + +#===---------------------------------------------------------------=== +# libLLVMMipsAsmParser (common) +#===---------------------------------------------------------------=== + +mips_asm_parser_SRC_FILES := \ + MipsAsmParser.cpp + +mips_asm_parser_C_INCLUDES := $(LOCAL_PATH)/.. + +mips_asm_parser_TBLGEN_TABLES := \ + MipsGenAsmMatcher.inc \ + MipsGenInstrInfo.inc \ + MipsGenRegisterInfo.inc \ + MipsGenSubtargetInfo.inc + +mips_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + + +#===---------------------------------------------------------------=== +# libLLVMMipsAsmParser (host) +#===---------------------------------------------------------------=== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMMipsAsmParser +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(mips_asm_parser_SRC_FILES) +LOCAL_C_INCLUDES += $(mips_asm_parser_C_INCLUDES) +TBLGEN_TABLES := $(mips_asm_parser_TBLGEN_TABLES) +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + + +#===---------------------------------------------------------------=== +# libLLVMMipsAsmParser (target) +#===---------------------------------------------------------------=== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMMipsAsmParser +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(mips_asm_parser_SRC_FILES) +LOCAL_C_INCLUDES += $(mips_asm_parser_C_INCLUDES) +TBLGEN_TABLES := $(mips_asm_parser_TBLGEN_TABLES) +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/Mips/Disassembler/Android.mk b/lib/Target/Mips/Disassembler/Android.mk new file mode 100644 index 0000000..20fd87a --- /dev/null +++ b/lib/Target/Mips/Disassembler/Android.mk @@ -0,0 +1,48 @@ +LOCAL_PATH := $(call my-dir) + +mips_disassembler_TBLGEN_TABLES := \ + MipsGenDisassemblerTables.inc \ + MipsGenInstrInfo.inc \ + MipsGenRegisterInfo.inc \ + MipsGenSubtargetInfo.inc + +mips_disassembler_SRC_FILES := \ + MipsDisassembler.cpp + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMMipsDisassembler +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(mips_disassembler_SRC_FILES) +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +TBLGEN_TABLES := $(mips_disassembler_TBLGEN_TABLES) +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMMipsDisassembler +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(mips_disassembler_SRC_FILES) +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +TBLGEN_TABLES := $(mips_disassembler_TBLGEN_TABLES) +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Target/Mips/InstPrinter/Android.mk b/lib/Target/Mips/InstPrinter/Android.mk new file mode 100644 index 0000000..f4f3a4f --- /dev/null +++ b/lib/Target/Mips/InstPrinter/Android.mk @@ -0,0 +1,48 @@ +LOCAL_PATH := $(call my-dir) + +mips_asm_printer_TBLGEN_TABLES := \ + MipsGenAsmWriter.inc \ + MipsGenRegisterInfo.inc \ + MipsGenSubtargetInfo.inc \ + MipsGenInstrInfo.inc + +mips_asm_printer_SRC_FILES := \ + MipsInstPrinter.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMMipsAsmPrinter +LOCAL_MODULE_TAGS := optional + +TBLGEN_TABLES := $(mips_asm_printer_TBLGEN_TABLES) +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(mips_asm_printer_SRC_FILES) +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device only +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMMipsAsmPrinter +LOCAL_MODULE_TAGS := optional + +TBLGEN_TABLES := $(mips_asm_printer_TBLGEN_TABLES) +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(mips_asm_printer_SRC_FILES) +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/Mips/MCTargetDesc/Android.mk b/lib/Target/Mips/MCTargetDesc/Android.mk new file mode 100644 index 0000000..7ee11a1 --- /dev/null +++ b/lib/Target/Mips/MCTargetDesc/Android.mk @@ -0,0 +1,58 @@ +LOCAL_PATH := $(call my-dir) + +mips_mc_desc_TBLGEN_TABLES := \ + MipsGenRegisterInfo.inc \ + MipsGenInstrInfo.inc \ + MipsGenMCCodeEmitter.inc \ + MipsGenSubtargetInfo.inc + +mips_mc_desc_SRC_FILES := \ + MipsAsmBackend.cpp \ + MipsELFObjectWriter.cpp \ + MipsELFStreamer.cpp \ + MipsMCAsmInfo.cpp \ + MipsMCCodeEmitter.cpp \ + MipsMCExpr.cpp \ + MipsMCTargetDesc.cpp \ + MipsNaClELFStreamer.cpp \ + MipsTargetStreamer.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMMipsDesc +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(mips_mc_desc_SRC_FILES) +LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. +TBLGEN_TABLES := $(mips_mc_desc_TBLGEN_TABLES) + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device only +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMMipsDesc +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(mips_mc_desc_SRC_FILES) +LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. +TBLGEN_TABLES := $(mips_mc_desc_TBLGEN_TABLES) + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/Mips/TargetInfo/Android.mk b/lib/Target/Mips/TargetInfo/Android.mk new file mode 100644 index 0000000..173d05b --- /dev/null +++ b/lib/Target/Mips/TargetInfo/Android.mk @@ -0,0 +1,47 @@ +LOCAL_PATH := $(call my-dir) + +mips_target_info_TBLGEN_TABLES := \ + MipsGenInstrInfo.inc \ + MipsGenRegisterInfo.inc \ + MipsGenSubtargetInfo.inc + +mips_target_info_SRC_FILES := \ + MipsTargetInfo.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMMipsInfo +LOCAL_MODULE_TAGS := optional + +TBLGEN_TABLES := $(mips_target_info_TBLGEN_TABLES) +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(mips_target_info_SRC_FILES) +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMMipsInfo +LOCAL_MODULE_TAGS := optional + +TBLGEN_TABLES := $(mips_target_info_TBLGEN_TABLES) +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(mips_target_info_SRC_FILES) +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif \ No newline at end of file diff --git a/lib/Target/X86/Android.mk b/lib/Target/X86/Android.mk new file mode 100644 index 0000000..73031de --- /dev/null +++ b/lib/Target/X86/Android.mk @@ -0,0 +1,72 @@ +LOCAL_PATH := $(call my-dir) + +x86_codegen_TBLGEN_TABLES := \ + X86GenAsmWriter.inc \ + X86GenAsmWriter1.inc \ + X86GenRegisterInfo.inc \ + X86GenInstrInfo.inc \ + X86GenDAGISel.inc \ + X86GenFastISel.inc \ + X86GenSubtargetInfo.inc \ + X86GenCallingConv.inc + +x86_codegen_SRC_FILES := \ + X86AsmPrinter.cpp \ + X86COFFMachineModuleInfo.cpp \ + X86CodeEmitter.cpp \ + X86FastISel.cpp \ + X86FixupLEAs.cpp \ + X86FloatingPoint.cpp \ + X86FrameLowering.cpp \ + X86ISelDAGToDAG.cpp \ + X86ISelLowering.cpp \ + X86InstrInfo.cpp \ + X86JITInfo.cpp \ + X86MachineFunctionInfo.cpp \ + X86MCInstLower.cpp \ + X86PadShortFunction.cpp \ + X86RegisterInfo.cpp \ + X86SelectionDAGInfo.cpp \ + X86Subtarget.cpp \ + X86TargetMachine.cpp \ + X86TargetObjectFile.cpp \ + X86TargetTransformInfo.cpp \ + X86VZeroUpper.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(x86_codegen_TBLGEN_TABLES) + +LOCAL_SRC_FILES := $(x86_codegen_SRC_FILES) + +LOCAL_MODULE:= libLLVMX86CodeGen + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device only +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(x86_codegen_TBLGEN_TABLES) + +LOCAL_SRC_FILES := $(x86_codegen_SRC_FILES) + +LOCAL_MODULE:= libLLVMX86CodeGen + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/X86/AsmParser/Android.mk b/lib/Target/X86/AsmParser/Android.mk new file mode 100644 index 0000000..4235cb1 --- /dev/null +++ b/lib/Target/X86/AsmParser/Android.mk @@ -0,0 +1,59 @@ +LOCAL_PATH := $(call my-dir) + +# For the device only +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +x86_asm_parser_SRC_FILES := \ + X86AsmInstrumentation.cpp \ + X86AsmParser.cpp + +x86_asm_parser_TBLGEN_TABLES := \ + X86GenAsmMatcher.inc \ + X86GenInstrInfo.inc \ + X86GenRegisterInfo.inc \ + X86GenSubtargetInfo.inc + +x86_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +x86_asm_parser_C_INCLUDES += \ + $(LOCAL_PATH)/.. + + +#===---------------------------------------------------------------=== +# libX86AsmParser (host) +#===---------------------------------------------------------------=== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMX86AsmParser +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(x86_asm_parser_SRC_FILES) +LOCAL_C_INCLUDES += $(x86_asm_parser_C_INCLUDES) +TBLGEN_TABLES := $(x86_asm_parser_TBLGEN_TABLES) +TBLGEN_TD_DIR := $(x86_asm_parser_TBLGEN_TD_DIR) + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + + +#===---------------------------------------------------------------=== +# libX86AsmParser (target) +#===---------------------------------------------------------------=== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMX86AsmParser +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(x86_asm_parser_SRC_FILES) +LOCAL_C_INCLUDES += $(x86_asm_parser_C_INCLUDES) +TBLGEN_TABLES := $(x86_asm_parser_TBLGEN_TABLES) +TBLGEN_TD_DIR := $(x86_asm_parser_TBLGEN_TD_DIR) + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/X86/Disassembler/Android.mk b/lib/Target/X86/Disassembler/Android.mk new file mode 100644 index 0000000..3984266 --- /dev/null +++ b/lib/Target/X86/Disassembler/Android.mk @@ -0,0 +1,56 @@ +LOCAL_PATH := $(call my-dir) + +x86_disassembler_TBLGEN_TABLES := \ + X86GenDisassemblerTables.inc \ + X86GenInstrInfo.inc \ + X86GenRegisterInfo.inc \ + X86GenSubtargetInfo.inc + +x86_disassembler_SRC_FILES := \ + X86Disassembler.cpp \ + X86DisassemblerDecoder.c + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(x86_disassembler_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(x86_disassembler_SRC_FILES) + +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMX86Disassembler + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(x86_disassembler_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(x86_disassembler_SRC_FILES) + +LOCAL_C_INCLUDES += \ + $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMX86Disassembler + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Target/X86/InstPrinter/Android.mk b/lib/Target/X86/InstPrinter/Android.mk new file mode 100644 index 0000000..9881beb --- /dev/null +++ b/lib/Target/X86/InstPrinter/Android.mk @@ -0,0 +1,57 @@ +LOCAL_PATH := $(call my-dir) + +x86_instprinter_TBLGEN_TABLES := \ + X86GenAsmWriter.inc \ + X86GenAsmWriter1.inc \ + X86GenInstrInfo.inc \ + X86GenRegisterInfo.inc \ + X86GenSubtargetInfo.inc + +x86_instprinter_SRC_FILES := \ + X86ATTInstPrinter.cpp \ + X86IntelInstPrinter.cpp \ + X86InstComments.cpp + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(x86_instprinter_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(x86_instprinter_SRC_FILES) + +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMX86AsmPrinter + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(x86_instprinter_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(x86_instprinter_SRC_FILES) + +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +LOCAL_MODULE := libLLVMX86AsmPrinter + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Target/X86/MCTargetDesc/Android.mk b/lib/Target/X86/MCTargetDesc/Android.mk new file mode 100644 index 0000000..ee37c27 --- /dev/null +++ b/lib/Target/X86/MCTargetDesc/Android.mk @@ -0,0 +1,56 @@ +LOCAL_PATH := $(call my-dir) + +x86_mc_desc_TBLGEN_TABLES := \ + X86GenRegisterInfo.inc \ + X86GenInstrInfo.inc \ + X86GenSubtargetInfo.inc + +x86_mc_desc_SRC_FILES := \ + X86AsmBackend.cpp \ + X86ELFObjectWriter.cpp \ + X86ELFRelocationInfo.cpp \ + X86MCTargetDesc.cpp \ + X86MCAsmInfo.cpp \ + X86MCCodeEmitter.cpp \ + X86MachORelocationInfo.cpp \ + X86MachObjectWriter.cpp \ + X86WinCOFFObjectWriter.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +LOCAL_MODULE:= libLLVMX86Desc +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(x86_mc_desc_SRC_FILES) +LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. +TBLGEN_TABLES := $(x86_mc_desc_TBLGEN_TABLES) +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device only +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + + +LOCAL_MODULE:= libLLVMX86Desc +LOCAL_MODULE_TAGS := optional + +LOCAL_SRC_FILES := $(x86_mc_desc_SRC_FILES) +LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. +TBLGEN_TABLES := $(x86_mc_desc_TBLGEN_TABLES) +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/X86/TargetInfo/Android.mk b/lib/Target/X86/TargetInfo/Android.mk new file mode 100644 index 0000000..1a6c902 --- /dev/null +++ b/lib/Target/X86/TargetInfo/Android.mk @@ -0,0 +1,55 @@ +LOCAL_PATH := $(call my-dir) + +x86_target_info_TBLGEN_TABLES := \ + X86GenRegisterInfo.inc \ + X86GenSubtargetInfo.inc \ + X86GenInstrInfo.inc + +x86_target_info_SRC_FILES := \ + X86TargetInfo.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(x86_target_info_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(x86_target_info_SRC_FILES) + +LOCAL_C_INCLUDES += \ + $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMX86Info + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(x86_target_info_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(x86_target_info_SRC_FILES) + +LOCAL_C_INCLUDES += \ + $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMX86Info + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Target/X86/Utils/Android.mk b/lib/Target/X86/Utils/Android.mk new file mode 100644 index 0000000..e0c4797 --- /dev/null +++ b/lib/Target/X86/Utils/Android.mk @@ -0,0 +1,36 @@ +LOCAL_PATH := $(call my-dir) + +x86_utils_SRC_FILES := \ + X86ShuffleDecode.cpp + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(x86_utils_SRC_FILES) + +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMX86Utils + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(BUILD_STATIC_LIBRARY) +endif + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(x86_utils_SRC_FILES) + +LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. + +LOCAL_MODULE:= libLLVMX86Utils + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/Transforms/IPO/Android.mk b/lib/Transforms/IPO/Android.mk new file mode 100644 index 0000000..1fe7d63 --- /dev/null +++ b/lib/Transforms/IPO/Android.mk @@ -0,0 +1,52 @@ +LOCAL_PATH:= $(call my-dir) + +transforms_ipo_SRC_FILES := \ + ArgumentPromotion.cpp \ + BarrierNoopPass.cpp \ + ConstantMerge.cpp \ + DeadArgumentElimination.cpp \ + ExtractGV.cpp \ + FunctionAttrs.cpp \ + GlobalDCE.cpp \ + GlobalOpt.cpp \ + IPConstantPropagation.cpp \ + IPO.cpp \ + InlineAlways.cpp \ + InlineSimple.cpp \ + Inliner.cpp \ + Internalize.cpp \ + LoopExtractor.cpp \ + MergeFunctions.cpp \ + PartialInlining.cpp \ + PassManagerBuilder.cpp \ + PruneEH.cpp \ + StripDeadPrototypes.cpp \ + StripSymbols.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(transforms_ipo_SRC_FILES) +LOCAL_MODULE:= libLLVMipo + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(transforms_ipo_SRC_FILES) +LOCAL_MODULE:= libLLVMipo + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Transforms/InstCombine/Android.mk b/lib/Transforms/InstCombine/Android.mk new file mode 100644 index 0000000..62dc7d9 --- /dev/null +++ b/lib/Transforms/InstCombine/Android.mk @@ -0,0 +1,44 @@ +LOCAL_PATH:= $(call my-dir) + +transforms_inst_combine_SRC_FILES := \ + InstCombineAddSub.cpp \ + InstCombineAndOrXor.cpp \ + InstCombineCalls.cpp \ + InstCombineCasts.cpp \ + InstCombineCompares.cpp \ + InstCombineLoadStoreAlloca.cpp \ + InstCombineMulDivRem.cpp \ + InstCombinePHI.cpp \ + InstCombineSelect.cpp \ + InstCombineShifts.cpp \ + InstCombineSimplifyDemanded.cpp \ + InstCombineVectorOps.cpp \ + InstructionCombining.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(transforms_inst_combine_SRC_FILES) +LOCAL_MODULE:= libLLVMInstCombine + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(transforms_inst_combine_SRC_FILES) +LOCAL_MODULE:= libLLVMInstCombine + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Transforms/Instrumentation/Android.mk b/lib/Transforms/Instrumentation/Android.mk new file mode 100644 index 0000000..f9a55c7 --- /dev/null +++ b/lib/Transforms/Instrumentation/Android.mk @@ -0,0 +1,37 @@ +LOCAL_PATH:= $(call my-dir) + +instrumentation_SRC_FILES := \ + AddressSanitizer.cpp \ + BoundsChecking.cpp \ + DataFlowSanitizer.cpp \ + DebugIR.cpp \ + GCOVProfiling.cpp \ + Instrumentation.cpp \ + MemorySanitizer.cpp \ + ThreadSanitizer.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_MODULE:= libLLVMInstrumentation +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(instrumentation_SRC_FILES) + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the target +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_MODULE:= libLLVMInstrumentation +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(instrumentation_SRC_FILES) + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Transforms/ObjCARC/Android.mk b/lib/Transforms/ObjCARC/Android.mk new file mode 100644 index 0000000..226e9e1 --- /dev/null +++ b/lib/Transforms/ObjCARC/Android.mk @@ -0,0 +1,40 @@ +LOCAL_PATH:= $(call my-dir) + +transforms_objcarc_SRC_FILES := \ + DependencyAnalysis.cpp \ + ObjCARCAliasAnalysis.cpp \ + ObjCARCAPElim.cpp \ + ObjCARCContract.cpp \ + ObjCARC.cpp \ + ObjCARCExpand.cpp \ + ObjCARCOpts.cpp \ + ObjCARCUtil.cpp \ + ProvenanceAnalysis.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(transforms_objcarc_SRC_FILES) +LOCAL_MODULE:= libLLVMTransformObjCARC + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(transforms_objcarc_SRC_FILES) +LOCAL_MODULE:= libLLVMTransformObjCARC + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Transforms/Scalar/Android.mk b/lib/Transforms/Scalar/Android.mk new file mode 100644 index 0000000..3894f93 --- /dev/null +++ b/lib/Transforms/Scalar/Android.mk @@ -0,0 +1,73 @@ +LOCAL_PATH:= $(call my-dir) + +transforms_scalar_SRC_FILES := \ + ADCE.cpp \ + ConstantProp.cpp \ + ConstantHoisting.cpp \ + CorrelatedValuePropagation.cpp \ + DCE.cpp \ + DeadStoreElimination.cpp \ + EarlyCSE.cpp \ + GlobalMerge.cpp \ + GVN.cpp \ + IndVarSimplify.cpp \ + JumpThreading.cpp \ + LICM.cpp \ + LoopDeletion.cpp \ + LoopIdiomRecognize.cpp \ + LoopInstSimplify.cpp \ + LoopRerollPass.cpp \ + LoopRotation.cpp \ + LoopStrengthReduce.cpp \ + LoopUnrollPass.cpp \ + LoopUnswitch.cpp \ + LowerAtomic.cpp \ + MemCpyOptimizer.cpp \ + PartiallyInlineLibCalls.cpp \ + Reassociate.cpp \ + Reg2Mem.cpp \ + SCCP.cpp \ + SROA.cpp \ + SampleProfile.cpp \ + Scalar.cpp \ + Scalarizer.cpp \ + ScalarReplAggregates.cpp \ + SimplifyCFGPass.cpp \ + Sink.cpp \ + StructurizeCFG.cpp \ + TailRecursionElimination.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + $(transforms_scalar_SRC_FILES) + +LOCAL_MODULE:= libLLVMScalarOpts + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(transforms_scalar_SRC_FILES) +LOCAL_MODULE:= libLLVMScalarOpts + +# Override the default optimization level to work around a SIGSEGV +# on x86 target builds for SROA.cpp. +# Bug: 8047767 +LOCAL_CFLAGS_x86 += -O1 + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Transforms/Utils/Android.mk b/lib/Transforms/Utils/Android.mk new file mode 100644 index 0000000..ab4d8a8 --- /dev/null +++ b/lib/Transforms/Utils/Android.mk @@ -0,0 +1,66 @@ +LOCAL_PATH:= $(call my-dir) + +transforms_utils_SRC_FILES := \ + AddDiscriminators.cpp \ + ASanStackFrameLayout.cpp \ + BasicBlockUtils.cpp \ + BreakCriticalEdges.cpp \ + BuildLibCalls.cpp \ + BypassSlowDivision.cpp \ + CloneFunction.cpp \ + CloneModule.cpp \ + CmpInstAnalysis.cpp \ + CodeExtractor.cpp \ + DemoteRegToStack.cpp \ + GlobalStatus.cpp \ + InlineFunction.cpp \ + InstructionNamer.cpp \ + LCSSA.cpp \ + Local.cpp \ + LoopSimplify.cpp \ + LoopUnroll.cpp \ + LoopUnrollRuntime.cpp \ + LowerExpectIntrinsic.cpp \ + LowerInvoke.cpp \ + LowerSwitch.cpp \ + Mem2Reg.cpp \ + MetaRenamer.cpp \ + ModuleUtils.cpp \ + PromoteMemoryToRegister.cpp \ + SSAUpdater.cpp \ + SimplifyCFG.cpp \ + SimplifyIndVar.cpp \ + SimplifyInstructions.cpp \ + SimplifyLibCalls.cpp \ + SpecialCaseList.cpp \ + UnifyFunctionExitNodes.cpp \ + Utils.cpp \ + ValueMapper.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(transforms_utils_SRC_FILES) +LOCAL_MODULE:= libLLVMTransformUtils + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(transforms_utils_SRC_FILES) +LOCAL_MODULE:= libLLVMTransformUtils + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/Transforms/Vectorize/Android.mk b/lib/Transforms/Vectorize/Android.mk new file mode 100644 index 0000000..ea090c0 --- /dev/null +++ b/lib/Transforms/Vectorize/Android.mk @@ -0,0 +1,35 @@ +LOCAL_PATH:= $(call my-dir) + +transforms_vectorize_SRC_FILES := \ + BBVectorize.cpp \ + LoopVectorize.cpp \ + SLPVectorizer.cpp \ + Vectorize.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(transforms_vectorize_SRC_FILES) +LOCAL_MODULE:= libLLVMVectorize + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(transforms_vectorize_SRC_FILES) +LOCAL_MODULE:= libLLVMVectorize + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/llvm-device-build.mk b/llvm-device-build.mk new file mode 100644 index 0000000..7464c98 --- /dev/null +++ b/llvm-device-build.mk @@ -0,0 +1,79 @@ +LOCAL_MODULE_TARGET_ARCH := $(LLVM_SUPPORTED_ARCH) + +LOCAL_CLANG := true + +LOCAL_CFLAGS := \ + -D_GNU_SOURCE \ + -D__STDC_LIMIT_MACROS \ + -D__STDC_CONSTANT_MACROS \ + -D__STDC_FORMAT_MACROS \ + -O2 \ + -fomit-frame-pointer \ + -Wall \ + -W \ + -Wno-unused-parameter \ + -Wwrite-strings \ + -Dsprintf=sprintf \ + $(LOCAL_CFLAGS) + +# The three inline options together reduce libbcc.so almost 1MB. +# We move them from global build/core/combo/TARGET_linux-arm.mk +# to here. +LOCAL_CFLAGS := -DANDROID_TARGET_BUILD \ + -finline-functions \ + $(LOCAL_CFLAGS) + +ifeq ($(TARGET_BUILD_VARIANT),eng) +LOCAL_CFLAGS := -DANDROID_ENGINEERING_BUILD \ + $(LOCAL_CFLAGS) +endif + +ifeq ($(LLVM_ENABLE_ASSERTION),true) +LOCAL_CFLAGS := \ + $(LOCAL_CFLAGS) \ + -D_DEBUG \ + -UNDEBUG +endif + +ifneq ($(REQUIRES_EH),1) +LOCAL_CFLAGS += -fno-exceptions +else +# No action. The device target should not have exception enabled since bionic +# doesn't support it +REQUIRES_EH := 0 +endif + +ifneq ($(REQUIRES_RTTI),1) +LOCAL_CPPFLAGS += -fno-rtti +else +REQUIRES_RTTI := 0 +endif + +LOCAL_CPPFLAGS := \ + $(LOCAL_CPPFLAGS) \ + -Woverloaded-virtual \ + -Wno-sign-promo + +# Make sure bionic is first so we can include system headers. +LOCAL_C_INCLUDES := \ + bionic \ + external/stlport/stlport \ + $(LLVM_ROOT_PATH) \ + $(LLVM_ROOT_PATH)/include \ + $(LLVM_ROOT_PATH)/device/include \ + $(LOCAL_C_INCLUDES) + +########################################################### +## Commands for running tblgen to compile a td file +########################################################### +define transform-device-td-to-out +@mkdir -p $(dir $@) +@echo "Device TableGen (gen-$(1)): $(TBLGEN_LOCAL_MODULE) <= $<" +$(hide) $(TBLGEN) \ + -I $(dir $<) \ + -I $(LLVM_ROOT_PATH)/include \ + -I $(LLVM_ROOT_PATH)/device/include \ + -I $(LLVM_ROOT_PATH)/lib/Target \ + -gen-$(strip $(1)) \ + -o $@ $< +endef diff --git a/llvm-gen-intrinsics.mk b/llvm-gen-intrinsics.mk new file mode 100644 index 0000000..358027b --- /dev/null +++ b/llvm-gen-intrinsics.mk @@ -0,0 +1,19 @@ +# We treat Intrinsics.td as a very special target just like what lib/VMCore/Makefile does +INTRINSICTD := $(LLVM_ROOT_PATH)/include/llvm/IR/Intrinsics.td +INTRINSICTDS := $(wildcard $(dir $(INTRINSICTD))/Intrinsics*.td) + +LOCAL_SRC_FILES := $(INTRINSICTD) $(LOCAL_SRC_FILES) + +ifeq ($(LOCAL_MODULE_CLASS),) + LOCAL_MODULE_CLASS := STATIC_LIBRARIES +endif + +GENFILE := $(addprefix $(call local-generated-sources-dir)/llvm/IR/,Intrinsics.gen) +LOCAL_GENERATED_SOURCES += $(GENFILE) +$(GENFILE): TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(GENFILE): $(INTRINSICTD) $(INTRINSICTDS) | $(TBLGEN) +ifeq ($(LOCAL_IS_HOST_MODULE),true) + $(call transform-host-td-to-out,intrinsic) +else + $(call transform-device-td-to-out,intrinsic) +endif diff --git a/llvm-host-build.mk b/llvm-host-build.mk new file mode 100644 index 0000000..7e96615 --- /dev/null +++ b/llvm-host-build.mk @@ -0,0 +1,64 @@ +LOCAL_CLANG := true + +LOCAL_CFLAGS += \ + -D_GNU_SOURCE \ + -D__STDC_LIMIT_MACROS \ + -O2 \ + -fomit-frame-pointer \ + -Wall \ + -W \ + -Wno-unused-parameter \ + -Wwrite-strings \ + -Dsprintf=sprintf \ + $(LOCAL_CFLAGS) + +ifeq ($(LLVM_ENABLE_ASSERTION),true) +LOCAL_CFLAGS := \ + $(LOCAL_CFLAGS) \ + -D_DEBUG \ + -UNDEBUG +endif + +ifneq ($(REQUIRES_EH),1) +LOCAL_CFLAGS += -fno-exceptions +else +REQUIRES_EH := 0 +LOCAL_CFLAGS += -fexceptions +endif + +ifneq ($(REQUIRES_RTTI),1) +LOCAL_CPPFLAGS += -fno-rtti +else +REQUIRES_RTTI := 0 +endif + +LOCAL_CPPFLAGS := \ + $(LOCAL_CPPFLAGS) \ + -Woverloaded-virtual \ + -Wno-sign-promo \ + -std=c++11 + +# Make sure bionic is first so we can include system headers. +LOCAL_C_INCLUDES := \ + $(LLVM_ROOT_PATH) \ + $(LLVM_ROOT_PATH)/include \ + $(LLVM_ROOT_PATH)/host/include \ + $(LOCAL_C_INCLUDES) + +LOCAL_IS_HOST_MODULE := true + +########################################################### +## Commands for running tblgen to compile a td file +########################################################### +define transform-host-td-to-out +@mkdir -p $(dir $@) +@echo "Host TableGen: $(TBLGEN_LOCAL_MODULE) (gen-$(1)) <= $<" +$(hide) $(TBLGEN) \ + -I $(dir $<) \ + -I $(LLVM_ROOT_PATH)/include \ + -I $(LLVM_ROOT_PATH)/host/include \ + -I $(LLVM_ROOT_PATH)/lib/Target \ + $(if $(strip $(CLANG_ROOT_PATH)),-I $(CLANG_ROOT_PATH)/include,) \ + -gen-$(strip $(1)) \ + -o $@ $< +endef diff --git a/llvm-tblgen-rules.mk b/llvm-tblgen-rules.mk new file mode 100644 index 0000000..0746e8b --- /dev/null +++ b/llvm-tblgen-rules.mk @@ -0,0 +1,208 @@ +########################################################### +## Commands for running tblgen to compile a td file +########################################################## +define transform-td-to-out +$(if $(LOCAL_IS_HOST_MODULE), \ + $(call transform-host-td-to-out,$(1)), \ + $(call transform-device-td-to-out,$(1))) +endef + +########################################################### +## TableGen: Compile .td files to .inc. +########################################################### + +# Set LOCAL_MODULE_CLASS to STATIC_LIBRARIES default (require +# for macro local-generated-sources-dir) +ifeq ($(LOCAL_MODULE_CLASS),) + LOCAL_MODULE_CLASS := STATIC_LIBRARIES +endif + +ifneq ($(strip $(TBLGEN_TABLES)),) + +generated_sources := $(call local-generated-sources-dir) +tblgen_gen_tables := $(addprefix $(generated_sources)/,$(TBLGEN_TABLES)) +LOCAL_GENERATED_SOURCES += $(tblgen_gen_tables) + +tblgen_source_dir := $(LOCAL_PATH) +ifneq ($(TBLGEN_TD_DIR),) +tblgen_source_dir := $(TBLGEN_TD_DIR) +endif + +ifneq (,$(filter $(tblgen_source_dir),MCTargetDesc)) +tblgen_td_deps := $(tblgen_source_dir)/../*.td +else +tblgen_td_deps := $(tblgen_source_dir)/*.td +endif +tblgen_td_deps := $(wildcard $(tblgen_td_deps)) + +# +# The directory and the .td directory is not the same. +# +ifeq ($(tblgen_source_dir),$(LLVM_ROOT_PATH)/lib/Target/ARM/MCTargetDesc) +$(generated_sources)/%GenRegisterInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenRegisterInfo.inc: $(tblgen_source_dir)/../%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out, register-info) + +$(generated_sources)/%GenInstrInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenInstrInfo.inc: $(tblgen_source_dir)/../%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,instr-info) + +$(generated_sources)/%GenSubtargetInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenSubtargetInfo.inc: $(tblgen_source_dir)/../%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,subtarget) +endif + +ifeq ($(tblgen_source_dir),$(LLVM_ROOT_PATH)/lib/Target/X86/MCTargetDesc) +$(generated_sources)/%GenRegisterInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenRegisterInfo.inc: $(tblgen_source_dir)/../%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out, register-info) + +$(generated_sources)/%GenInstrInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenInstrInfo.inc: $(tblgen_source_dir)/../%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,instr-info) + +$(generated_sources)/%GenSubtargetInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenSubtargetInfo.inc: $(tblgen_source_dir)/../%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,subtarget) +endif + +ifeq ($(tblgen_source_dir),$(LLVM_ROOT_PATH)/lib/Target/Mips/MCTargetDesc) +$(generated_sources)/%GenRegisterInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenRegisterInfo.inc: $(tblgen_source_dir)/../%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out, register-info) + +$(generated_sources)/%GenInstrInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenInstrInfo.inc: $(tblgen_source_dir)/../%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,instr-info) + +$(generated_sources)/%GenSubtargetInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenSubtargetInfo.inc: $(tblgen_source_dir)/../%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,subtarget) +endif + + +ifneq ($(filter %GenRegisterInfo.inc,$(tblgen_gen_tables)),) +$(generated_sources)/%GenRegisterInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenRegisterInfo.inc: $(tblgen_source_dir)/%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,register-info) +endif + +ifneq ($(filter %GenInstrInfo.inc,$(tblgen_gen_tables)),) +$(generated_sources)/%GenInstrInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenInstrInfo.inc: $(tblgen_source_dir)/%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,instr-info) +endif + +ifneq ($(filter %GenAsmWriter.inc,$(tblgen_gen_tables)),) +$(generated_sources)/%GenAsmWriter.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenAsmWriter.inc: $(tblgen_source_dir)/%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,asm-writer) +endif + +ifneq ($(filter %GenAsmWriter1.inc,$(tblgen_gen_tables)),) +$(generated_sources)/%GenAsmWriter1.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenAsmWriter1.inc: $(tblgen_source_dir)/%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,asm-writer -asmwriternum=1) +endif + +ifneq ($(filter %GenAsmMatcher.inc,$(tblgen_gen_tables)),) +$(generated_sources)/%GenAsmMatcher.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenAsmMatcher.inc: $(tblgen_source_dir)/%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,asm-matcher) +endif + +ifneq ($(filter %GenCodeEmitter.inc,$(tblgen_gen_tables)),) +$(generated_sources)/%GenCodeEmitter.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenCodeEmitter.inc: $(tblgen_source_dir)/%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,emitter) +endif + +ifneq ($(filter %GenMCCodeEmitter.inc,$(tblgen_gen_tables)),) +$(generated_sources)/%GenMCCodeEmitter.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenMCCodeEmitter.inc: $(tblgen_source_dir)/%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,emitter -mc-emitter) +endif + +ifneq ($(filter %GenMCPseudoLowering.inc,$(tblgen_gen_tables)),) +$(generated_sources)/%GenMCPseudoLowering.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenMCPseudoLowering.inc: $(tblgen_source_dir)/%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,pseudo-lowering) +endif + +ifneq ($(filter %GenDAGISel.inc,$(tblgen_gen_tables)),) +$(generated_sources)/%GenDAGISel.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenDAGISel.inc: $(tblgen_source_dir)/%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,dag-isel) +endif + +ifneq ($(filter %GenDisassemblerTables.inc,$(tblgen_gen_tables)),) +$(generated_sources)/%GenDisassemblerTables.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenDisassemblerTables.inc: $(tblgen_source_dir)/%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,disassembler) +endif + +ifneq ($(filter %GenEDInfo.inc,$(tblgen_gen_tables)),) +$(generated_sources)/%GenEDInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenEDInfo.inc: $(tblgen_source_dir)/%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,enhanced-disassembly-info) +endif + +ifneq ($(filter %GenFastISel.inc,$(tblgen_gen_tables)),) +$(generated_sources)/%GenFastISel.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenFastISel.inc: $(tblgen_source_dir)/%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,fast-isel) +endif + +ifneq ($(filter %GenSubtargetInfo.inc,$(tblgen_gen_tables)),) +$(generated_sources)/%GenSubtargetInfo.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenSubtargetInfo.inc: $(tblgen_source_dir)/%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,subtarget) +endif + +ifneq ($(filter %GenCallingConv.inc,$(tblgen_gen_tables)),) +$(generated_sources)/%GenCallingConv.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenCallingConv.inc: $(tblgen_source_dir)/%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,callingconv) +endif + +ifneq ($(filter %GenIntrinsics.inc,$(tblgen_gen_tables)),) +$(generated_sources)/%GenIntrinsics.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/%GenIntrinsics.inc: $(tblgen_source_dir)/%.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,tgt_intrinsics) +endif + +ifneq ($(findstring ARMGenDecoderTables.inc,$(tblgen_gen_tables)),) +$(generated_sources)/ARMGenDecoderTables.inc: TBLGEN_LOCAL_MODULE := $(LOCAL_MODULE) +$(generated_sources)/ARMGenDecoderTables.inc: $(tblgen_source_dir)/ARM.td \ + $(tblgen_td_deps) | $(TBLGEN) + $(call transform-td-to-out,arm-decoder) +endif + +# Reset local variables +tblgen_td_deps := + +endif diff --git a/llvm.mk b/llvm.mk new file mode 100644 index 0000000..073ceb7 --- /dev/null +++ b/llvm.mk @@ -0,0 +1,11 @@ +ifeq ($(LLVM_ROOT_PATH),) +$(error Must set variable LLVM_ROOT_PATH before including this! $(LOCAL_PATH)) +endif + +CLEAR_TBLGEN_VARS := $(LLVM_ROOT_PATH)/clear_tblgen_vars.mk +LLVM_HOST_BUILD_MK := $(LLVM_ROOT_PATH)/llvm-host-build.mk +LLVM_DEVICE_BUILD_MK := $(LLVM_ROOT_PATH)/llvm-device-build.mk +LLVM_GEN_INTRINSICS_MK := $(LLVM_ROOT_PATH)/llvm-gen-intrinsics.mk +LLVM_TBLGEN_RULES_MK := $(LLVM_ROOT_PATH)/llvm-tblgen-rules.mk + +LLVM_SUPPORTED_ARCH := arm arm64 mips x86 x86_64 diff --git a/shared_llvm.mk b/shared_llvm.mk new file mode 100644 index 0000000..f4be822 --- /dev/null +++ b/shared_llvm.mk @@ -0,0 +1,137 @@ +# Don't build the library in unbundled branches. +ifeq (,$(TARGET_BUILD_APPS)) + +LOCAL_PATH:= $(call my-dir) + +llvm_pre_static_libraries := \ + libLLVMLinker \ + libLLVMipo \ + libLLVMIRReader \ + libLLVMBitWriter \ + libLLVMBitReader + +llvm_arm_static_libraries := \ + libLLVMARMCodeGen \ + libLLVMARMAsmParser \ + libLLVMARMAsmPrinter \ + libLLVMARMInfo \ + libLLVMARMDesc \ + libLLVMARMDisassembler + +llvm_x86_static_libraries := \ + libLLVMX86CodeGen \ + libLLVMX86Info \ + libLLVMX86Desc \ + libLLVMX86AsmParser \ + libLLVMX86AsmPrinter \ + libLLVMX86Utils \ + libLLVMX86Disassembler + +llvm_mips_static_libraries := \ + libLLVMMipsCodeGen \ + libLLVMMipsInfo \ + libLLVMMipsDesc \ + libLLVMMipsAsmParser \ + libLLVMMipsAsmPrinter \ + libLLVMMipsDisassembler + +llvm_arm64_static_libraries := \ + libLLVMARM64CodeGen \ + libLLVMARM64Info \ + libLLVMARM64Desc \ + libLLVMARM64AsmParser \ + libLLVMARM64AsmPrinter \ + libLLVMARM64Utils \ + libLLVMARM64Disassembler + +llvm_post_static_libraries := \ + libLLVMAsmPrinter \ + libLLVMSelectionDAG \ + libLLVMCodeGen \ + libLLVMObject \ + libLLVMScalarOpts \ + libLLVMInstCombine \ + libLLVMInstrumentation \ + libLLVMTransformObjCARC \ + libLLVMTransformUtils \ + libLLVMipa \ + libLLVMAnalysis \ + libLLVMTarget \ + libLLVMMC \ + libLLVMMCParser \ + libLLVMCore \ + libLLVMAsmParser \ + libLLVMOption \ + libLLVMSupport \ + libLLVMVectorize + +llvm_host_static_libraries := \ + libLLVMExecutionEngine \ + libLLVMMCDisassembler \ + libLLVMRuntimeDyld \ + libLLVMJIT \ + libLLVMMCJIT + +ifeq (true,$(FORCE_BUILD_LLVM_COMPONENTS)) +# HOST LLVM shared library build +include $(CLEAR_VARS) +LOCAL_IS_HOST_MODULE := true + +LOCAL_MODULE:= libLLVM + +LOCAL_MODULE_TAGS := optional + +# Host build pulls in all ARM, Mips, X86 components. +LOCAL_WHOLE_STATIC_LIBRARIES := \ + $(llvm_pre_static_libraries) \ + $(llvm_arm_static_libraries) \ + $(llvm_x86_static_libraries) \ + $(llvm_mips_static_libraries) \ + $(llvm_arm64_static_libraries) \ + $(llvm_host_static_libraries) \ + $(llvm_post_static_libraries) + +ifeq ($(HOST_OS),windows) + LOCAL_LDLIBS := -limagehlp -lpsapi +else + LOCAL_LDLIBS := -ldl -lpthread +endif + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_SHARED_LIBRARY) +endif + +ifeq (,$(filter $(TARGET_ARCH),$(LLVM_SUPPORTED_ARCH))) +$(warning TODO $(TARGET_ARCH): Enable llvm build) +endif + +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +# DEVICE LLVM shared library build +include $(CLEAR_VARS) + +LOCAL_MODULE:= libLLVM + +LOCAL_MODULE_TAGS := optional + +# Device build selectively pulls in ARM, Mips, X86 components. +LOCAL_WHOLE_STATIC_LIBRARIES := \ + $(llvm_pre_static_libraries) + +LOCAL_WHOLE_STATIC_LIBRARIES_arm += $(llvm_arm_static_libraries) +LOCAL_WHOLE_STATIC_LIBRARIES_x86 += $(llvm_x86_static_libraries) +LOCAL_WHOLE_STATIC_LIBRARIES_x86_64 += $(llvm_x86_static_libraries) +LOCAL_WHOLE_STATIC_LIBRARIES_mips += $(llvm_mips_static_libraries) +LOCAL_WHOLE_STATIC_LIBRARIES_arm64 += $(llvm_arm64_static_libraries) + +LOCAL_WHOLE_STATIC_LIBRARIES += $(llvm_post_static_libraries) + +#LOCAL_LDLIBS := -ldl -lpthread +LOCAL_SHARED_LIBRARIES := libcutils libdl libstlport + +include $(LLVM_DEVICE_BUILD_MK) +include $(BUILD_SHARED_LIBRARY) + +endif + +endif # don't build in unbundled branches + diff --git a/tools/llc/Android.mk b/tools/llc/Android.mk new file mode 100644 index 0000000..b9d4b74 --- /dev/null +++ b/tools/llc/Android.mk @@ -0,0 +1,136 @@ +LOCAL_PATH := $(call my-dir) + +LLVM_ROOT_PATH := $(LOCAL_PATH)/../.. + + +#===---------------------------------------------------------------=== +# llc command line tool (common) +#===---------------------------------------------------------------=== + +llvm_llc_SRC_FILES := \ + llc.cpp + +llvm_llc_mips_STATIC_LIBRARIES := \ + libLLVMMipsAsmParser \ + libLLVMMipsInfo \ + libLLVMMipsCodeGen \ + libLLVMMipsDesc \ + libLLVMMipsAsmPrinter \ + +llvm_llc_x86_STATIC_LIBRARIES := \ + libLLVMX86Info \ + libLLVMX86AsmParser \ + libLLVMX86CodeGen \ + libLLVMX86Disassembler \ + libLLVMX86Desc \ + libLLVMX86AsmPrinter \ + libLLVMX86Utils + +llvm_llc_arm_STATIC_LIBRARIES := \ + libLLVMARMCodeGen \ + libLLVMARMDisassembler \ + libLLVMARMAsmParser \ + libLLVMARMAsmPrinter \ + libLLVMARMDesc \ + libLLVMARMInfo + +llvm_llc_STATIC_LIBRARIES := \ + libLLVMAsmPrinter \ + libLLVMIRReader \ + libLLVMAsmParser \ + libLLVMBitReader \ + libLLVMBitWriter \ + libLLVMSelectionDAG \ + libLLVMInstCombine \ + libLLVMInstrumentation \ + libLLVMCodeGen \ + libLLVMObject \ + libLLVMipo \ + libLLVMipa \ + libLLVMLinker \ + libLLVMMC \ + libLLVMMCParser \ + libLLVMScalarOpts \ + libLLVMTransformUtils \ + libLLVMVectorize \ + libLLVMAnalysis \ + libLLVMTarget \ + libLLVMCore \ + libLLVMSupport + +llvm_llc_arm64_STATIC_LIBRARIES := \ + libLLVMARM64Info \ + libLLVMARM64AsmParser \ + libLLVMARM64CodeGen \ + libLLVMARM64Disassembler \ + libLLVMARM64Desc \ + libLLVMARM64AsmPrinter \ + libLLVMARM64Utils + + + +#===---------------------------------------------------------------=== +# llc command line tool (host) +#===---------------------------------------------------------------=== + +include $(CLEAR_VARS) + +LOCAL_MODULE := llc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := EXECUTABLES +LOCAL_IS_HOST_MODULE := true + +LOCAL_SRC_FILES := $(llvm_llc_SRC_FILES) + +LOCAL_STATIC_LIBRARIES := \ + $(llvm_llc_arm_STATIC_LIBRARIES) \ + $(llvm_llc_mips_STATIC_LIBRARIES) \ + $(llvm_llc_x86_STATIC_LIBRARIES) \ + $(llvm_llc_arm64_STATIC_LIBRARIES) \ + $(llvm_llc_STATIC_LIBRARIES) + +LOCAL_LDLIBS += -lpthread -lm -ldl +LOCAL_C_INCLUDES += external/llvm/include + +include $(LLVM_ROOT_PATH)/llvm.mk +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_EXECUTABLE) + + +#===---------------------------------------------------------------=== +# llc command line tool (target) +#===---------------------------------------------------------------=== + +ifeq (,$(filter $(TARGET_ARCH),$(LLVM_SUPPORTED_ARCH))) +$(warning TODO $(TARGET_ARCH): Enable llc build) +endif + +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_MODULE := llc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := EXECUTABLES + +LOCAL_SRC_FILES := $(llvm_llc_SRC_FILES) +LOCAL_C_INCLUDES += external/llvm/include + +LOCAL_STATIC_LIBRARIES_arm := $(llvm_llc_arm_STATIC_LIBRARIES) +LOCAL_STATIC_LIBRARIES_mips := $(llvm_llc_mips_STATIC_LIBRARIES) +LOCAL_STATIC_LIBRARIES_x86 := $(llvm_llc_x86_STATIC_LIBRARIES) +LOCAL_STATIC_LIBRARIES_x86_64 := $(llvm_llc_x86_STATIC_LIBRARIES) +LOCAL_STATIC_LIBRARIES_arm64 := $(llvm_llc_arm64_STATIC_LIBRARIES) + +LOCAL_STATIC_LIBRARIES += $(llvm_llc_STATIC_LIBRARIES) + +LOCAL_SHARED_LIBRARIES := \ + libcutils \ + libdl \ + libstlport + +include $(LLVM_ROOT_PATH)/llvm.mk +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_EXECUTABLE) +endif diff --git a/tools/llvm-as/Android.mk b/tools/llvm-as/Android.mk new file mode 100644 index 0000000..e58868b --- /dev/null +++ b/tools/llvm-as/Android.mk @@ -0,0 +1,28 @@ +LOCAL_PATH:= $(call my-dir) + +llvm_as_SRC_FILES := \ + llvm-as.cpp + +include $(CLEAR_VARS) + +LOCAL_MODULE := llvm-as +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(llvm_as_SRC_FILES) +LOCAL_LDLIBS += -lm +ifdef USE_MINGW +LOCAL_LDLIBS += -limagehlp +else +LOCAL_LDLIBS += -lpthread -ldl +endif + +REQUIRES_EH := 1 +REQUIRES_RTTI := 1 + +LOCAL_STATIC_LIBRARIES := \ + libLLVMAsmParser \ + libLLVMBitWriter \ + libLLVMCore \ + libLLVMSupport + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_EXECUTABLE) diff --git a/tools/llvm-dis/Android.mk b/tools/llvm-dis/Android.mk new file mode 100644 index 0000000..22d44fd --- /dev/null +++ b/tools/llvm-dis/Android.mk @@ -0,0 +1,25 @@ +LOCAL_PATH:= $(call my-dir) + +llvm_dis_SRC_FILES := \ + llvm-dis.cpp + +include $(CLEAR_VARS) + +LOCAL_MODULE := llvm-dis +LOCAL_MODULE_CLASS := EXECUTABLES +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(llvm_dis_SRC_FILES) +LOCAL_LDLIBS += -lpthread -lm -ldl + +REQUIRES_EH := 1 +REQUIRES_RTTI := 1 + +LOCAL_STATIC_LIBRARIES := \ + libLLVMAnalysis \ + libLLVMBitReader \ + libLLVMCore \ + libLLVMSupport + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_EXECUTABLE) diff --git a/tools/llvm-link/Android.mk b/tools/llvm-link/Android.mk new file mode 100644 index 0000000..e051492 --- /dev/null +++ b/tools/llvm-link/Android.mk @@ -0,0 +1,50 @@ +LOCAL_PATH:= $(call my-dir) + +llvm_link_SRC_FILES := \ + llvm-link.cpp + +llvm_link_STATIC_LIBRARIES := \ + libLLVMLinker \ + libLLVMIRReader \ + libLLVMBitReader \ + libLLVMBitWriter \ + libLLVMAsmParser \ + libLLVMTransformUtils \ + libLLVMAnalysis \ + libLLVMTarget \ + libLLVMCore \ + libLLVMSupport + +#===---------------------------------------------------------------=== +# llvm-link command line tool (host) +#===---------------------------------------------------------------=== + +include $(CLEAR_VARS) + +LOCAL_MODULE := llvm-link +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(llvm_link_SRC_FILES) +LOCAL_STATIC_LIBRARIES := $(llvm_link_STATIC_LIBRARIES) +LOCAL_LDLIBS += -lpthread -lm -ldl + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_EXECUTABLE) + +#===---------------------------------------------------------------=== +# llvm-link command line tool (target) +#===---------------------------------------------------------------=== + +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_MODULE := llvm-link +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(llvm_link_SRC_FILES) +LOCAL_STATIC_LIBRARIES := $(llvm_link_STATIC_LIBRARIES) +LOCAL_SHARED_LIBRARIES := \ + libcutils \ + libstlport + +include $(LLVM_DEVICE_BUILD_MK) +include $(BUILD_EXECUTABLE) +endif diff --git a/tools/opt/Android.mk b/tools/opt/Android.mk new file mode 100644 index 0000000..c5bb4f8 --- /dev/null +++ b/tools/opt/Android.mk @@ -0,0 +1,81 @@ +LOCAL_PATH := $(call my-dir) + +LLVM_ROOT_PATH := $(LOCAL_PATH)/../.. + + +#===---------------------------------------------------------------=== +# opt command line tool (common) +#===---------------------------------------------------------------=== + +llvm_opt_SRC_FILES := \ + AnalysisWrappers.cpp \ + GraphPrinters.cpp \ + PrintSCC.cpp \ + opt.cpp + +llvm_opt_STATIC_LIBRARIES := \ + libLLVMScalarOpts \ + libLLVMInstCombine \ + libLLVMInstrumentation \ + libLLVMMCParser \ + libLLVMMC \ + libLLVMAsmParser \ + libLLVMBitWriter \ + libLLVMBitReader \ + libLLVMipa \ + libLLVMipo \ + libLLVMTransformUtils \ + libLLVMVectorize \ + libLLVMAnalysis \ + libLLVMTarget \ + libLLVMCore \ + libLLVMSupport + + +#===---------------------------------------------------------------=== +# opt command line tool (host) +#===---------------------------------------------------------------=== + +include $(CLEAR_VARS) + +LOCAL_MODULE := opt +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := EXECUTABLES +LOCAL_IS_HOST_MODULE := true + +LOCAL_SRC_FILES := $(llvm_opt_SRC_FILES) +LOCAL_STATIC_LIBRARIES := $(llvm_opt_STATIC_LIBRARIES) +LOCAL_LDLIBS += -lpthread -lm -ldl +LOCAL_C_INCLUDES += external/llvm/include + +include $(LLVM_ROOT_PATH)/llvm.mk +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_EXECUTABLE) + + +#===---------------------------------------------------------------=== +# opt command line tool (target) +#===---------------------------------------------------------------=== + +ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) +include $(CLEAR_VARS) + +LOCAL_MODULE := opt +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := EXECUTABLES + +LOCAL_SRC_FILES := $(llvm_opt_SRC_FILES) +LOCAL_C_INCLUDES += external/llvm/include +LOCAL_STATIC_LIBRARIES := $(llvm_opt_STATIC_LIBRARIES) +LOCAL_SHARED_LIBRARIES := \ + libcutils \ + libdl \ + libstlport + + +include $(LLVM_ROOT_PATH)/llvm.mk +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_EXECUTABLE) +endif diff --git a/utils/FileCheck/Android.mk b/utils/FileCheck/Android.mk new file mode 100644 index 0000000..2c211cf --- /dev/null +++ b/utils/FileCheck/Android.mk @@ -0,0 +1,23 @@ +LOCAL_PATH:= $(call my-dir) + +filecheck_SRC_FILES := \ + FileCheck.cpp + +filecheck_STATIC_LIBRARIES := \ + libLLVMSupport + +include $(CLEAR_VARS) + +LOCAL_MODULE := FileCheck +LOCAL_SRC_FILES := $(filecheck_SRC_FILES) +LOCAL_STATIC_LIBRARIES := $(filecheck_STATIC_LIBRARIES) +LOCAL_C_INCLUDES += external/llvm/include +LOCAL_C_INCLUDES += external/llvm/host/include +LOCAL_LDLIBS += -lpthread -lm -ldl +LOCAL_CFLAGS += -D __STDC_LIMIT_MACROS -D __STDC_CONSTANT_MACROS + +#REQUIRES_EH := 1 +#REQUIRES_RTTI := 1 + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_EXECUTABLE) diff --git a/utils/TableGen/Android.mk b/utils/TableGen/Android.mk new file mode 100644 index 0000000..8117672 --- /dev/null +++ b/utils/TableGen/Android.mk @@ -0,0 +1,58 @@ +LOCAL_PATH:= $(call my-dir) + +tablegen_SRC_FILES := \ + AsmMatcherEmitter.cpp \ + AsmWriterEmitter.cpp \ + AsmWriterInst.cpp \ + CallingConvEmitter.cpp \ + CodeEmitterGen.cpp \ + CodeGenDAGPatterns.cpp \ + CodeGenInstruction.cpp \ + CodeGenMapTable.cpp \ + CodeGenRegisters.cpp \ + CodeGenSchedule.cpp \ + CodeGenTarget.cpp \ + CTagsEmitter.cpp \ + DAGISelEmitter.cpp \ + DAGISelMatcherEmitter.cpp \ + DAGISelMatcherGen.cpp \ + DAGISelMatcherOpt.cpp \ + DAGISelMatcher.cpp \ + DFAPacketizerEmitter.cpp \ + DisassemblerEmitter.cpp \ + FastISelEmitter.cpp \ + FixedLenDecoderEmitter.cpp \ + InstrInfoEmitter.cpp \ + IntrinsicEmitter.cpp \ + OptParserEmitter.cpp \ + PseudoLoweringEmitter.cpp \ + RegisterInfoEmitter.cpp \ + SetTheory.cpp \ + SubtargetEmitter.cpp \ + TableGen.cpp \ + X86DisassemblerTables.cpp \ + X86ModRMFilters.cpp \ + X86RecognizableInstr.cpp + +include $(CLEAR_VARS) + +LOCAL_MODULE := tblgen +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(tablegen_SRC_FILES) + +REQUIRES_EH := 1 +REQUIRES_RTTI := 1 + +LOCAL_STATIC_LIBRARIES := \ + libLLVMTableGen \ + libLLVMSupport + +LOCAL_LDLIBS += -lm +ifeq ($(HOST_OS),windows) + LOCAL_LDLIBS += -limagehlp -lpsapi +else + LOCAL_LDLIBS += -lpthread -ldl +endif + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_EXECUTABLE) -- 1.9.1.423.g4596e3a