1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00

Use llvmc to compile the Stacker programs

llvm-svn: 17300
This commit is contained in:
Reid Spencer 2004-10-28 04:08:05 +00:00
parent 5e1d6ba52f
commit 9a6e9ce4ff

View File

@ -16,49 +16,26 @@ DIRS =
SAMPLES = fibonacci hello prime
LLC_EXEC = $(BUILD_OBJ_ROOT)/tools/$(CONFIGURATION)/llc
OPT_EXEC = $(BUILD_OBJ_ROOT)/tools/$(CONFIGURATION)/opt
STKRC_EXEC = $(BUILD_OBJ_ROOT)/tools/$(CONFIGURATION)/stkrc
LLVMDIS_EXEC = $(BUILD_OBJ_ROOT)/tools/$(CONFIGURATION)/llvm-dis
LLVMC_EXEC = $(TOOLDIR)/llvmc
all :: $(SAMPLES)
ifdef OPTIMIZE
% : %.st
@$(ECHO) "Compiling and Optimizing $< to $*.bc"
$(VERB)$(STKRC_EXEC) -e -o - $< | opt -stats -q -f -o $*.bc \
-aa-eval -adce -branch-combine -cee -constmerge -constprop -dce -die -ds-aa \
-ds-opt -gcse -globaldce -indvars -inline -instcombine \
-ipconstprop -licm -loopsimplify -mem2reg -pre -sccp -simplifycfg \
-tailcallelim -verify
@$(ECHO) "Compiling and Optimizing $(<F)"
$(VERB)$(LLVMC_EXEC) -O3 $< -o $@
else
%.bc : %.st
@$(ECHO) "Compiling $< to $*.bc"
$(VERB)$(STKRC_EXEC) -e -f -o $*.bc $<
% : %.st
@$(ECHO) "Compiling $(<F)"
$(VERB)$(LLVMC_EXEC) $< -o $@
endif
%.s : %.bc
@$(ECHO) "Compiling $< to $*.s"
$(VERB)$(LLC_EXEC) -f -o $*.s $<
% : %.s
@$(ECHO) "Compiling and Linking $< to $*"
$(VERB)gcc -g -L$(BUILD_OBJ_ROOT)/lib/$(CONFIGURATION) -lstkr_runtime -o $* $*.s
%.ll : %.bc
@$(ECHO) "Disassembling $< to $*.ll"
$(VERB)$(LLVMDIS_EXEC) -f -o $*.ll $<
%.bc : $(STKRC_EXEC)
.PRECIOUS: %.bc %.s %.ll %.st
SAMPLES_LL = $(SAMPLES:%=%.ll)
SAMPLES_BC = $(SAMPLES:%=%.bc)
SAMPLES_S = $(SAMPLES:%=%.s)
clean ::
$(VERB)rm -f gmon.out $(SAMPLES_LL) $(SAMPLES_BC) $(SAMPLES_S) $(SAMPLES)
$(VERB)rm -f gmon.out $(SAMPLES)
#
# Include the Master Makefile that knows how to build all.
#