[vmkit-commits] [vmkit] r54679 - in /vmkit/trunk: Makefile.common.in Makefile.config.in Makefile.rules lib/JnJVM/LLVMRuntime/Makefile lib/JnJVM/VMCore/JnjvmModule.cpp lib/Mvm/Runtime/JIT.cpp lib/Mvm/Runtime/Makefile
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Tue Aug 12 03:52:28 PDT 2008
Author: geoffray
Date: Tue Aug 12 05:52:13 2008
New Revision: 54679
URL: http://llvm.org/viewvc/llvm-project?rev=54679&view=rev
Log:
Only generate a LLVMRuntime.inc file for the LLVM runtime of
individual projects: jnjvm has different .ll files depending
on the vm configuration.
Modified:
vmkit/trunk/Makefile.common.in
vmkit/trunk/Makefile.config.in
vmkit/trunk/Makefile.rules
vmkit/trunk/lib/JnJVM/LLVMRuntime/Makefile
vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp
vmkit/trunk/lib/Mvm/Runtime/JIT.cpp
vmkit/trunk/lib/Mvm/Runtime/Makefile
Modified: vmkit/trunk/Makefile.common.in
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.common.in?rev=54679&r1=54678&r2=54679&view=diff
==============================================================================
--- vmkit/trunk/Makefile.common.in (original)
+++ vmkit/trunk/Makefile.common.in Tue Aug 12 05:52:13 2008
@@ -33,11 +33,6 @@
# GC configuration
LIBS += -lz
-GCLIB = @GC_LIBS@
-GC_MULTI_MMAP = @GC_MULTI_MMAP@
-GC_SINGLE_MMAP = @GC_SINGLE_MMAP@
-GC_BOEHM = @GC_BOEHM@
-GC_MMAP2 = @GC_MMAP2@
ifeq ($(GCLIB), BoehmGC)
LIBS += -lgc
Modified: vmkit/trunk/Makefile.config.in
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.config.in?rev=54679&r1=54678&r2=54679&view=diff
==============================================================================
--- vmkit/trunk/Makefile.config.in (original)
+++ vmkit/trunk/Makefile.config.in Tue Aug 12 05:52:13 2008
@@ -3,3 +3,7 @@
WITH_N3_MONO = @WITH_N3_MONO@
WITH_JNJVM = @WITH_JNJVM@
N3_LIB = @N3_LIB@
+GC_MULTI_MMAP = @GC_MULTI_MMAP@
+GC_SINGLE_MMAP = @GC_SINGLE_MMAP@
+GC_BOEHM = @GC_BOEHM@
+GC_MMAP2 = @GC_MMAP2@
Modified: vmkit/trunk/Makefile.rules
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.rules?rev=54679&r1=54678&r2=54679&view=diff
==============================================================================
--- vmkit/trunk/Makefile.rules (original)
+++ vmkit/trunk/Makefile.rules Tue Aug 12 05:52:13 2008
@@ -1,24 +1,19 @@
ifdef VMKIT_RUNTIME
-LLFiles := $(strip $(wildcard $(PROJ_SRC_DIR)/*.ll))
-INCFiles := $(filter %.inc,$(BUILT_SOURCES))
-.PRECIOUS: $(CPPFiles)
+.PRECIOUS: LLVMRuntime.inc
# All of these files depend on tblgen and the .td files.
-$(INCFiles) : $(LLVMAS) $(LLC) $(LLFiles)
+LLVMRuntime.inc : $(LLVMAS) $(LLC) $(LLFiles)
-# CPPFiles rule: All of the tblgen generated files are emitted to
-# $(ObjDir)/%.inc.tmp, instead of emitting them directly to %.inc. This allows
-# us to only "touch" the real file if the contents of it change. IOW, if
-# tblgen is modified, all of the .inc.tmp files are regereated, but no
-# dependencies of the .inc files are, unless the contents of the .inc file
-# changes.
-$(INCFiles) : %.inc : %.ll
- $(Echo) "Building $(<F) LLVM runtime"
+LLVMRuntime.gen.ll : $(VMKIT_RUNTIME)
+ $(Verb) cat $(VMKIT_RUNTIME) > LLVMRuntime.gen.ll
+
+LLVMRuntime.inc : LLVMRuntime.gen.ll
+ $(Echo) "Building LLVM runtime"
$(Verb) $(LLVMAS) -f $(<F) -o - | $(LLC) -march=cpp -cppgen=contents -f -o $@
clean-local::
- $(Verb) $(RM) -f $(INCFiles)
+ $(Verb) $(RM) -f LLVMRuntime.inc LLVMRuntime.gen.ll
endif
Modified: vmkit/trunk/lib/JnJVM/LLVMRuntime/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/LLVMRuntime/Makefile?rev=54679&r1=54678&r2=54679&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/LLVMRuntime/Makefile (original)
+++ vmkit/trunk/lib/JnJVM/LLVMRuntime/Makefile Tue Aug 12 05:52:13 2008
@@ -8,43 +8,30 @@
##===----------------------------------------------------------------------===##
LEVEL = ../../..
-include $(LEVEL)/Makefile.common
-
-all = llvmruntime.cpp
-
-llvmruntimebc : llvmruntimell
- $(Echo) "Building LLVM runtime with llvm-as"
- $(Verb) $(LLVMAS) -f LLVMRuntime.ll
+include $(LEVEL)/Makefile.config
-all :: llvmruntimebc
- $(Echo) "Building LLVM runtime with llc"
- $(Verb) $(LLC) -march=cpp -cppgen=contents -f LLVMRuntime.bc
-
-LL_FILES = runtime-default.ll
+VMKIT_RUNTIME = runtime-default.ll
ifeq ($(ISOLATE_BUILD), 1)
-LL_FILES += runtime-isolate.ll
+VMKIT_RUNTIME += runtime-isolate.ll
endif
ifeq ($(SERVICE_BUILD), 1)
-LL_FILES += runtime-service.ll runtime-isolate.ll runtime-multi-mmap.ll
+VMKIT_RUNTIME += runtime-service.ll runtime-isolate.ll runtime-multi-mmap.ll
else
ifeq ($(GC_MULTI_MMAP), 1)
-LL_FILES += runtime-multi-mmap.ll
+VMKIT_RUNTIME += runtime-multi-mmap.ll
else
ifeq ($(GC_SINGLE_MMAP), 1)
-LL_FILES += runtime-single-mmap.ll
+VMKIT_RUNTIME += runtime-single-mmap.ll
else
ifeq ($(GC_BOEHM), 1)
-LL_FILES += runtime-boehm.ll
+VMKIT_RUNTIME += runtime-boehm.ll
endif
endif
endif
endif
-llvmruntimell: $(LL_FILES)
- $(Echo) "Generating LLVM runtime"
- $(Verb) cat $(LL_FILES) > LLVMRuntime.ll
+BUILT_SOURCES = LLVMRuntime.inc
-clean::
- rm -f LLVMRuntime.ll LLVMRuntime.bc LLVMRuntime.cpp
+include $(LEVEL)/Makefile.common
Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp?rev=54679&r1=54678&r2=54679&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp Tue Aug 12 05:52:13 2008
@@ -965,12 +965,13 @@
#endif
-static
-#include "LLVMRuntime.cpp"
+namespace llvm_runtime {
+ #include "LLVMRuntime.inc"
+}
void JnjvmModule::initialise() {
Module* module = this;
- makeLLVMModuleContents(module);
+ llvm_runtime::makeLLVMModuleContents(module);
VTType = module->getTypeByName("VT");
Modified: vmkit/trunk/lib/Mvm/Runtime/JIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/Runtime/JIT.cpp?rev=54679&r1=54678&r2=54679&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/Runtime/JIT.cpp (original)
+++ vmkit/trunk/lib/Mvm/Runtime/JIT.cpp Tue Aug 12 05:52:13 2008
@@ -50,8 +50,9 @@
extern "C" void __register_frame(void*);
-static
-#include "LLVMRuntime.inc"
+namespace llvm_runtime {
+ #include "LLVMRuntime.inc"
+}
void mvm::jit::initialise() {
llvm::NoFramePointerElim = true;
@@ -66,7 +67,7 @@
std::string str = executionEngine->getTargetData()->getStringRepresentation();
module->setDataLayout(str);
- makeLLVMModuleContents(module);
+ llvm_runtime::makeLLVMModuleContents(module);
printFloatLLVM = module->getFunction("printFloat");
printDoubleLLVM = module->getFunction("printDouble");
Modified: vmkit/trunk/lib/Mvm/Runtime/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/Runtime/Makefile?rev=54679&r1=54678&r2=54679&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/Runtime/Makefile (original)
+++ vmkit/trunk/lib/Mvm/Runtime/Makefile Tue Aug 12 05:52:13 2008
@@ -11,8 +11,7 @@
include $(LEVEL)/Makefile.config
LIBRARYNAME = Mvm
-VMKIT_RUNTIME = Mvm
-
+VMKIT_RUNTIME = LLVMRuntime.ll
BUILT_SOURCES = LLVMRuntime.inc
include $(LEVEL)/Makefile.common
More information about the vmkit-commits
mailing list