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