PERFORCE change 552801 for review
Khilan Gudka
novazeta at FreeBSD.org
Mon Sep 2 10:57:07 UTC 2013
http://p4web.freebsd.org/@@552801?ac=10
Change 552801 by novazeta at novazeta_zenith on 2013/09/02 10:57:04
Build system updates to allow applying SOAAP to any .bc-a or .ll-a file, including after manually linking
with a lib using llvm-link.
Affected files ...
.. //depot/projects/ctsrd/tesla/src/share/mk/bsd.prog.mk#15 edit
.. //depot/projects/ctsrd/tesla/src/share/mk/sys.mk#16 edit
Differences ...
==== //depot/projects/ctsrd/tesla/src/share/mk/bsd.prog.mk#15 (text+ko) ====
@@ -88,23 +88,6 @@
${LLVM_LINK} -o ${.TARGET} ${OIRS} ;\
fi
-.if ${MK_SOAAP} != "no"
-${PROG}.soaap: ${PROG}.${LLVM_IR_TYPE}-a
- ${OPT} -load $(SOAAP_BUILD_DIR)/libsoaap.so -soaap ${SOAAP_FLAGS} -o /dev/null ${PROG}.${LLVM_IR_TYPE}-a
-
-${PROG}.soaap_cg: ${PROG}.${LLVM_IR_TYPE}-a
- ${OPT} -load $(SOAAP_BUILD_DIR)/libcep.so -insert-call-edge-profiling -o ${PROG}.pbc ${PROG}.${LLVM_IR_TYPE}-a
- ${LLC} -filetype=obj -o ${PROG}.po ${PROG}.pbc
- ${CC} -L $(SOAAP_BUILD_DIR) -L $(LLVM_BUILD_DIR)/lib -lcep_rt -lprofile_rt $(LDADD) -o ${.TARGET} ${PROG}.po
-
-${PROG}.soaap_perf: ${PROG}.${LLVM_IR_TYPE}-a
- ${OPT} -load $(SOAAP_BUILD_DIR)/libsoaap.so -soaap -soaap-emulate-performance ${SOAAP_FLAGS} -o ${PROG}.pbc ${PROG}.${LLVM_IR_TYPE}-a
- ${LLC} -filetype=obj -o ${PROG}.po ${PROG}.pbc
- ${CC} $(LDADD) -o ${.TARGET} ${PROG}.po
-
-CLEANFILES+= ${PROG}.po ${PROG}.pbc ${PROG}.soaap_perf ${PROG}.soaap_cg
-.endif
-
${PROG}: ${OBJS}
.if defined(PROG_CXX)
${CXX} ${CXXFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
==== //depot/projects/ctsrd/tesla/src/share/mk/sys.mk#16 (text+ko) ====
@@ -32,7 +32,7 @@
.if defined(%POSIX)
.SUFFIXES: .o .c .y .l .a .sh .f
.else
-.SUFFIXES: .out .a .dot .instrbc .instrll .instro .obc .oll .ln .manifest .o .c .cc .cpp .cxx .C .m .F .f .e .r .tesla .y .l .S .asm .s .cl .p .h .sh
+.SUFFIXES: .out .a .dot .bc-a .ll-a .instrbc .instrll .instro .obc .oll .ln .manifest .o .c .cc .cpp .cxx .C .m .F .f .e .r .soaap .soaap_cg .soaap_perf .tesla .y .l .S .asm .s .cl .p .h .sh
.endif
AR ?= ar
@@ -297,6 +297,22 @@
.error Unknown LLVM IR type ${LLVM_IR_TYPE}
.endif
+.if defined(WITH_SOAAP)
+CLEANFILES+= *.${LLVM_IR_TYPE}-a *.po *.pbc *.soaap_cg *.soaap_perf
+.${LLVM_IR_TYPE}-a.soaap:
+ ${OPT} -load $(SOAAP_BUILD_DIR)/libsoaap.so -soaap ${SOAAP_FLAGS} -o /dev/null ${.IMPSRC}
+
+.${LLVM_IR_TYPE}-a.soaap_cg:
+ ${OPT} -load $(SOAAP_BUILD_DIR)/libcep.so -insert-call-edge-profiling -o ${.IMPSRC:R}.pbc ${.IMPSRC}
+ ${LLC} -filetype=obj -o ${.IMPSRC:R}.po ${.IMPSRC:R}.pbc
+ ${CC} -L $(SOAAP_BUILD_DIR) -L $(LLVM_BUILD_DIR)/lib -lcep_rt -lprofile_rt $(LDADD) -o ${.TARGET} ${.IMPSRC:R}.po
+
+.${LLVM_IR_TYPE}-a.soaap_perf:
+ ${OPT} -load $(SOAAP_BUILD_DIR)/libsoaap.so -soaap -soaap-emulate-performance ${SOAAP_FLAGS} -o ${.IMPSRC:R}.pbc ${.IMPSRC}
+ ${LLC} -filetype=obj -o ${.IMPSRC:R}.po ${.IMPSRC:R}.pbc
+ ${CC} $(LDADD) -o ${.TARGET} ${.IMPSRC:R}.po
+.endif
+
.manifest.dot:
${TESLA} graph ${.IMPSRC} -o ${.TARGET}
More information about the p4-projects
mailing list