Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Sep 2013 10:57:06 GMT
From:      Khilan Gudka <novazeta@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 552801 for review
Message-ID:  <201309021057.r82Av6hA037202@skunkworks.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@552801?ac=10

Change 552801 by novazeta@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}
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309021057.r82Av6hA037202>