From 075c621d834af7ffc32d2067fadb147cc1758b99 Mon Sep 17 00:00:00 2001 From: Chris Wailes Date: Mon, 2 Jun 2014 11:53:16 -0700 Subject: Adds the ability to run the llvm test suite in-tree. This was accomplished by building additional tools and hand-generating several files that are auto-generated by the configuration system when LLVM is built out-of-tree. The LTO, Interpreter, and DebugInfo libraries are now being compiled, and several source files were added to existing compilation targets. To run these tests you must first run build/envsetup.sh and have used lunch to select a target. You can then launch the test script by running: cd $ANDROID_BUILD_TOP/external/llvm && ./android_test.sh Bug: 15433215 Change-Id: I43d87de0a4620cdd46c8d0f825dd4428e8409702 --- lib/Analysis/Android.mk | 2 ++ lib/DebugInfo/Android.mk | 52 ++++++++++++++++++++++++++++++ lib/ExecutionEngine/Interpreter/Android.mk | 18 +++++++++++ lib/IR/Android.mk | 1 + lib/LTO/Android.mk | 35 ++++++++++++++++++++ lib/MC/Android.mk | 12 +++++-- lib/Object/Android.mk | 5 ++- lib/ProfileData/Android.mk | 7 ++-- lib/Support/Android.mk | 1 + 9 files changed, 125 insertions(+), 8 deletions(-) create mode 100644 lib/DebugInfo/Android.mk create mode 100644 lib/ExecutionEngine/Interpreter/Android.mk create mode 100644 lib/LTO/Android.mk (limited to 'lib') diff --git a/lib/Analysis/Android.mk b/lib/Analysis/Android.mk index a8fef77..bca673e 100644 --- a/lib/Analysis/Android.mk +++ b/lib/Analysis/Android.mk @@ -21,11 +21,13 @@ analysis_SRC_FILES := \ DependenceAnalysis.cpp \ DomPrinter.cpp \ DominanceFrontier.cpp \ + CGSCCPassManager.cpp \ IVUsers.cpp \ InstCount.cpp \ InstructionSimplify.cpp \ Interval.cpp \ IntervalPartition.cpp \ + LazyCallGraph.cpp \ LazyValueInfo.cpp \ LibCallAliasAnalysis.cpp \ LibCallSemantics.cpp \ diff --git a/lib/DebugInfo/Android.mk b/lib/DebugInfo/Android.mk new file mode 100644 index 0000000..12dfb3b --- /dev/null +++ b/lib/DebugInfo/Android.mk @@ -0,0 +1,52 @@ +LOCAL_PATH:= $(call my-dir) + +debuginfo_SRC_FILES := \ + DIContext.cpp \ + DWARFAbbreviationDeclaration.cpp \ + DWARFCompileUnit.cpp \ + DWARFContext.cpp \ + DWARFDebugAbbrev.cpp \ + DWARFDebugArangeSet.cpp \ + DWARFDebugAranges.cpp \ + DWARFDebugFrame.cpp \ + DWARFDebugInfoEntry.cpp \ + DWARFDebugLine.cpp \ + DWARFDebugLoc.cpp \ + DWARFDebugRangeList.cpp \ + DWARFFormValue.cpp \ + DWARFTypeUnit.cpp \ + DWARFUnit.cpp \ + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +REQUIRES_RTTI := 1 + +LOCAL_SRC_FILES := $(debuginfo_SRC_FILES) + +LOCAL_MODULE:= libLLVMDebugInfo + +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 := $(debuginfo_SRC_FILES) + +LOCAL_MODULE:= libLLVMDebugInfo + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_DEVICE_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_STATIC_LIBRARY) +endif diff --git a/lib/ExecutionEngine/Interpreter/Android.mk b/lib/ExecutionEngine/Interpreter/Android.mk new file mode 100644 index 0000000..3823b3e --- /dev/null +++ b/lib/ExecutionEngine/Interpreter/Android.mk @@ -0,0 +1,18 @@ +LOCAL_PATH:= $(call my-dir) + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + Execution.cpp \ + ExternalFunctions.cpp \ + Interpreter.cpp \ + +LOCAL_MODULE:= libLLVMInterpreter + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_STATIC_LIBRARY) diff --git a/lib/IR/Android.mk b/lib/IR/Android.mk index dd95703..2ffc86c 100644 --- a/lib/IR/Android.mk +++ b/lib/IR/Android.mk @@ -17,6 +17,7 @@ vmcore_SRC_FILES := \ DIBuilder.cpp \ Dominators.cpp \ Function.cpp \ + GCOV.cpp \ GVMaterializer.cpp \ Globals.cpp \ IRBuilder.cpp \ diff --git a/lib/LTO/Android.mk b/lib/LTO/Android.mk new file mode 100644 index 0000000..68b7a72 --- /dev/null +++ b/lib/LTO/Android.mk @@ -0,0 +1,35 @@ +LOCAL_PATH:= $(call my-dir) + +lto_SRC_FILES := \ + LTOModule.cpp \ + LTOCodeGenerator.cpp \ + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(lto_SRC_FILES) + +LOCAL_MODULE:= libLLVMLTO + +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 := $(lto_SRC_FILES) + +LOCAL_MODULE:= libLLVMLTO + +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 index 975f4e3..23ad1d3 100644 --- a/lib/MC/Android.mk +++ b/lib/MC/Android.mk @@ -2,7 +2,6 @@ LOCAL_PATH:= $(call my-dir) mc_SRC_FILES := \ ELFObjectWriter.cpp \ - MachObjectWriter.cpp \ MCAsmBackend.cpp \ MCAsmInfo.cpp \ MCAsmInfoCOFF.cpp \ @@ -10,6 +9,7 @@ mc_SRC_FILES := \ MCAsmInfoELF.cpp \ MCAsmStreamer.cpp \ MCAssembler.cpp \ + MCAtom.cpp \ MCCodeEmitter.cpp \ MCCodeGenInfo.cpp \ MCContext.cpp \ @@ -18,6 +18,7 @@ mc_SRC_FILES := \ MCELF.cpp \ MCELFObjectTargetWriter.cpp \ MCELFStreamer.cpp \ + MCFunction.cpp \ MCExpr.cpp \ MCExternalSymbolizer.cpp \ MCInst.cpp \ @@ -25,11 +26,15 @@ mc_SRC_FILES := \ MCInstrAnalysis.cpp \ MCLabel.cpp \ MCLinkerOptimizationHint.cpp \ - MCMachObjectTargetWriter.cpp \ MCMachOStreamer.cpp \ + MCMachObjectTargetWriter.cpp \ + MCModule.cpp \ + MCModuleYAML.cpp \ MCNullStreamer.cpp \ MCObjectFileInfo.cpp \ + MCObjectDisassembler.cpp \ MCObjectStreamer.cpp \ + MCObjectSymbolizer.cpp \ MCObjectWriter.cpp \ MCRegisterInfo.cpp \ MCRelocationInfo.cpp \ @@ -44,9 +49,10 @@ mc_SRC_FILES := \ MCTargetOptions.cpp \ MCValue.cpp \ MCWin64EH.cpp \ + MachObjectWriter.cpp \ + SubtargetFeature.cpp \ WinCOFFObjectWriter.cpp \ WinCOFFStreamer.cpp \ - SubtargetFeature.cpp # For the host # ===================================================== diff --git a/lib/Object/Android.mk b/lib/Object/Android.mk index bd9659c..4385f5a 100644 --- a/lib/Object/Android.mk +++ b/lib/Object/Android.mk @@ -4,6 +4,7 @@ object_SRC_FILES := \ Archive.cpp \ Binary.cpp \ COFFObjectFile.cpp \ + COFFYAML.cpp \ ELF.cpp \ ELFObjectFile.cpp \ Error.cpp \ @@ -13,7 +14,9 @@ object_SRC_FILES := \ Object.cpp \ ObjectFile.cpp \ StringTableBuilder.cpp \ - SymbolicFile.cpp + SymbolicFile.cpp \ + YAML.cpp \ + ELFYAML.cpp \ # For the host diff --git a/lib/ProfileData/Android.mk b/lib/ProfileData/Android.mk index 5ae5ba8..f4b3fa9 100644 --- a/lib/ProfileData/Android.mk +++ b/lib/ProfileData/Android.mk @@ -1,10 +1,9 @@ LOCAL_PATH:= $(call my-dir) profiledata_SRC_FILES := \ - InstrProf.cpp \ - InstrProfReader.cpp \ - InstrProfWriter.cpp - + InstrProf.cpp \ + InstrProfReader.cpp \ + InstrProfWriter.cpp \ # For the host # ===================================================== diff --git a/lib/Support/Android.mk b/lib/Support/Android.mk index ab65988..6efccf5 100644 --- a/lib/Support/Android.mk +++ b/lib/Support/Android.mk @@ -62,6 +62,7 @@ support_SRC_FILES := \ StringMap.cpp \ StringPool.cpp \ StringRef.cpp \ + StringRefMemoryObject.cpp \ SystemUtils.cpp \ TargetRegistry.cpp \ Threading.cpp \ -- cgit v1.1