diff options
author | Kenny Root <kroot@google.com> | 2011-02-07 10:16:49 -0800 |
---|---|---|
committer | Kenny Root <kroot@google.com> | 2011-02-07 11:13:04 -0800 |
commit | cfb9e3db360f9161eede09766fadb2cb178771cb (patch) | |
tree | 72f05f8fa24968a4c6e75edaf2e406b80eab96fe | |
parent | 016557b23a5b9ff66bc033fa60eecf79c85f2ec7 (diff) | |
download | external_llvm-cfb9e3db360f9161eede09766fadb2cb178771cb.zip external_llvm-cfb9e3db360f9161eede09766fadb2cb178771cb.tar.gz external_llvm-cfb9e3db360f9161eede09766fadb2cb178771cb.tar.bz2 |
Initial pass at adding X86 target support
Add some Makefile support for using X86 as a target as in "full_x86-eng"
However, this is not enough. More changes will be coming in future
changelists.
Change-Id: Id2765c9ba15404ebce09168738cebf5d00a2e15d
-rw-r--r-- | lib/Target/ARM/Android.mk | 2 | ||||
-rw-r--r-- | lib/Target/ARM/AsmPrinter/Android.mk | 2 | ||||
-rw-r--r-- | lib/Target/ARM/Disassembler/Android.mk | 2 | ||||
-rw-r--r-- | lib/Target/ARM/TargetInfo/Android.mk | 2 | ||||
-rw-r--r-- | lib/Target/X86/Android.mk | 91 | ||||
-rw-r--r-- | lib/Target/X86/AsmPrinter/Android.mk | 48 | ||||
-rw-r--r-- | lib/Target/X86/Disassembler/Android.mk | 42 | ||||
-rw-r--r-- | lib/Target/X86/TargetInfo/Android.mk | 40 |
8 files changed, 170 insertions, 59 deletions
diff --git a/lib/Target/ARM/Android.mk b/lib/Target/ARM/Android.mk index 4292a12..b8dba43 100644 --- a/lib/Target/ARM/Android.mk +++ b/lib/Target/ARM/Android.mk @@ -63,6 +63,7 @@ include $(BUILD_HOST_STATIC_LIBRARY) # For the device only # ===================================================== +ifeq ($(TARGET_ARCH),arm) include $(CLEAR_VARS) include $(CLEAR_TBLGEN_VARS) @@ -78,3 +79,4 @@ 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/AsmPrinter/Android.mk b/lib/Target/ARM/AsmPrinter/Android.mk index 8b9f617..cf7c038 100644 --- a/lib/Target/ARM/AsmPrinter/Android.mk +++ b/lib/Target/ARM/AsmPrinter/Android.mk @@ -34,6 +34,7 @@ include $(BUILD_HOST_STATIC_LIBRARY) # For the device # ===================================================== +ifeq ($(TARGET_ARCH),arm) include $(CLEAR_VARS) include $(CLEAR_TBLGEN_VARS) @@ -53,3 +54,4 @@ 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/Disassembler/Android.mk b/lib/Target/ARM/Disassembler/Android.mk index 9024748..0e3c32c 100644 --- a/lib/Target/ARM/Disassembler/Android.mk +++ b/lib/Target/ARM/Disassembler/Android.mk @@ -14,6 +14,7 @@ arm_disassembler_SRC_FILES := \ # For the device # ===================================================== +ifeq ($(TARGET_ARCH),arm) include $(CLEAR_VARS) include $(CLEAR_TBLGEN_VARS) @@ -32,6 +33,7 @@ LOCAL_MODULE_TAGS := optional include $(LLVM_DEVICE_BUILD_MK) include $(LLVM_TBLGEN_RULES_MK) include $(BUILD_STATIC_LIBRARY) +endif # For the host # ===================================================== diff --git a/lib/Target/ARM/TargetInfo/Android.mk b/lib/Target/ARM/TargetInfo/Android.mk index 071657f..e07da39 100644 --- a/lib/Target/ARM/TargetInfo/Android.mk +++ b/lib/Target/ARM/TargetInfo/Android.mk @@ -31,6 +31,7 @@ include $(BUILD_HOST_STATIC_LIBRARY) # For the device # ===================================================== +ifeq ($(TARGET_ARCH),arm) include $(CLEAR_VARS) include $(CLEAR_TBLGEN_VARS) @@ -50,3 +51,4 @@ 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/Android.mk b/lib/Target/X86/Android.mk index f2604cd..8dbca01 100644 --- a/lib/Target/X86/Android.mk +++ b/lib/Target/X86/Android.mk @@ -1,44 +1,45 @@ LOCAL_PATH := $(call my-dir) -# For the host only +x86_codegen_TBLGEN_TABLES := \ + X86GenRegisterInfo.h.inc \ + X86GenRegisterNames.inc \ + X86GenRegisterInfo.inc \ + X86GenInstrNames.inc \ + X86GenInstrInfo.inc \ + X86GenDAGISel.inc \ + X86GenFastISel.inc \ + X86GenSubtarget.inc \ + X86GenCallingConv.inc + +x86_codegen_SRC_FILES := \ + SSEDomainFix.cpp \ + X86AsmBackend.cpp \ + X86COFFMachineModuleInfo.cpp \ + X86CodeEmitter.cpp \ + X86ELFWriterInfo.cpp \ + X86FastISel.cpp \ + X86FloatingPoint.cpp \ + X86ISelDAGToDAG.cpp \ + X86ISelLowering.cpp \ + X86InstrInfo.cpp \ + X86JITInfo.cpp \ + X86MCAsmInfo.cpp \ + X86MCCodeEmitter.cpp \ + X86MCInstLower.cpp \ + X86RegisterInfo.cpp \ + X86SelectionDAGInfo.cpp \ + X86Subtarget.cpp \ + X86TargetMachine.cpp \ + X86TargetObjectFile.cpp + +# For the host # ===================================================== include $(CLEAR_VARS) include $(CLEAR_TBLGEN_VARS) -TBLGEN_TABLES := \ - X86GenRegisterInfo.h.inc \ - X86GenRegisterNames.inc \ - X86GenRegisterInfo.inc \ - X86GenInstrNames.inc \ - X86GenInstrInfo.inc \ - X86GenAsmMatcher.inc \ - X86GenDAGISel.inc \ - X86GenDisassemblerTables.inc \ - X86GenFastISel.inc \ - X86GenCallingConv.inc \ - X86GenSubtarget.inc \ - X86GenEDInfo.inc - -LOCAL_SRC_FILES := \ - SSEDomainFix.cpp \ - X86AsmBackend.cpp \ - X86COFFMachineModuleInfo.cpp \ - X86CodeEmitter.cpp \ - X86ELFWriterInfo.cpp \ - X86FastISel.cpp \ - X86FloatingPoint.cpp \ - X86ISelDAGToDAG.cpp \ - X86ISelLowering.cpp \ - X86InstrInfo.cpp \ - X86JITInfo.cpp \ - X86MCAsmInfo.cpp \ - X86MCCodeEmitter.cpp \ - X86MCInstLower.cpp \ - X86RegisterInfo.cpp \ - X86SelectionDAGInfo.cpp \ - X86Subtarget.cpp \ - X86TargetMachine.cpp \ - X86TargetObjectFile.cpp +TBLGEN_TABLES := $(x86_codegen_TBLGEN_TABLES) + +LOCAL_SRC_FILES := $(x86_codegen_SRC_FILES) LOCAL_MODULE:= libLLVMX86CodeGen @@ -48,3 +49,23 @@ include $(LLVM_HOST_BUILD_MK) include $(LLVM_TBLGEN_RULES_MK) include $(LLVM_GEN_INTRINSICS_MK) include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device only +# ===================================================== +ifeq ($(TARGET_ARCH),x86) +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/AsmPrinter/Android.mk b/lib/Target/X86/AsmPrinter/Android.mk index ce29e18..54ca734 100644 --- a/lib/Target/X86/AsmPrinter/Android.mk +++ b/lib/Target/X86/AsmPrinter/Android.mk @@ -1,23 +1,27 @@ LOCAL_PATH := $(call my-dir) -# For the device only -# ===================================================== -include $(CLEAR_VARS) -include $(CLEAR_TBLGEN_VARS) - -TBLGEN_TABLES := \ +x86_asm_printer_TBLGEN_TABLES := \ X86GenAsmWriter.inc \ X86GenAsmWriter1.inc \ X86GenInstrNames.inc \ X86GenRegisterNames.inc \ X86GenRegisterInfo.h.inc -TBLGEN_TD_DIR := $(LOCAL_PATH)/.. - -LOCAL_SRC_FILES := \ +x86_asm_printer_SRC_FILES := \ X86ATTInstPrinter.cpp \ X86AsmPrinter.cpp \ - X86IntelInstPrinter.cpp + X86IntelInstPrinter.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(x86_asm_printer_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(x86_asm_printer_SRC_FILES) LOCAL_C_INCLUDES += \ $(LOCAL_PATH)/.. @@ -29,3 +33,27 @@ LOCAL_MODULE_TAGS := optional include $(LLVM_HOST_BUILD_MK) include $(LLVM_TBLGEN_RULES_MK) include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifeq ($(TARGET_ARCH),x86) +include $(CLEAR_VARS) +include $(CLEAR_TBLGEN_VARS) + +TBLGEN_TABLES := $(x86_asm_printer_TBLGEN_TABLES) + +TBLGEN_TD_DIR := $(LOCAL_PATH)/.. + +LOCAL_SRC_FILES := $(x86_asm_printer_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 diff --git a/lib/Target/X86/Disassembler/Android.mk b/lib/Target/X86/Disassembler/Android.mk index 32cdaec..0c65722 100644 --- a/lib/Target/X86/Disassembler/Android.mk +++ b/lib/Target/X86/Disassembler/Android.mk @@ -1,21 +1,47 @@ LOCAL_PATH := $(call my-dir) -# For the host only +x86_disassembler_TBLGEN_TABLES := \ + X86GenDisassemblerTables.inc \ + X86GenEDInfo.inc \ + X86GenRegisterNames.inc + +x86_disassembler_SRC_FILES := \ + X86Disassembler.cpp \ + X86DisassemblerDecoder.c + +# For the device # ===================================================== +ifeq ($(TARGET_ARCH),x86) include $(CLEAR_VARS) include $(CLEAR_TBLGEN_VARS) -TBLGEN_TABLES := \ - X86GenDisassemblerTables.inc \ - X86GenEDInfo.inc \ - X86GenRegisterNames.inc +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 := \ - X86Disassembler.cpp \ - X86DisassemblerDecoder.c +LOCAL_SRC_FILES := $(x86_disassembler_SRC_FILES) LOCAL_C_INCLUDES += \ $(LOCAL_PATH)/.. diff --git a/lib/Target/X86/TargetInfo/Android.mk b/lib/Target/X86/TargetInfo/Android.mk index 60b64f9..fcbb4e7 100644 --- a/lib/Target/X86/TargetInfo/Android.mk +++ b/lib/Target/X86/TargetInfo/Android.mk @@ -1,18 +1,22 @@ LOCAL_PATH := $(call my-dir) -# For the device only +x86_target_info_TBLGEN_TABLES := \ + X86GenRegisterNames.inc \ + X86GenInstrNames.inc + +x86_target_info_SRC_FILES := \ + X86TargetInfo.cpp + +# For the host # ===================================================== include $(CLEAR_VARS) include $(CLEAR_TBLGEN_VARS) -TBLGEN_TABLES := \ - X86GenRegisterNames.inc \ - X86GenInstrNames.inc +TBLGEN_TABLES := $(x86_target_info_TBLGEN_TABLES) TBLGEN_TD_DIR := $(LOCAL_PATH)/.. -LOCAL_SRC_FILES := \ - X86TargetInfo.cpp +LOCAL_SRC_FILES := $(x86_target_info_SRC_FILES) LOCAL_C_INCLUDES += \ $(LOCAL_PATH)/.. @@ -24,3 +28,27 @@ LOCAL_MODULE_TAGS := optional include $(LLVM_HOST_BUILD_MK) include $(LLVM_TBLGEN_RULES_MK) include $(BUILD_HOST_STATIC_LIBRARY) + +# For the device +# ===================================================== +ifeq ($(TARGET_ARCH),x86) +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:= libLLVMARMInfo + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_TBLGEN_RULES_MK) +include $(BUILD_STATIC_LIBRARY) +endif |