freebsd-skq/share
jonathan bc1b92e799 Add make rules to build LLVM IR from C/C++ sources.
As a foundation for future work with LLVM's Intermediate Representation (IR),
add new suffix rules that can be used to build .llo (text) or .bco (bitcode)
files from C or C++ sources.  This compilation step uses the same CFLAGS, etc.,
as are used for building .o files, with the exception of optimization flags.
Many of the things we would like to do with IR (e.g., instrumentation) work
better with unoptimized code, so our approach is to build .c->.bco without
optimization and then apply the optimization in post-analysis,
post-instrumentation linking.

The overall result of these changes is:

* one can "make foo.llo" or "make foo.bco" wherever "make foo.o" was supported
* new make variables IR_CFLAGS and IR_CXXFLAGS are available to inspect the
  flags that are used by Clang to generate the IR

These new rules are added unconditionally to our non-POSIX suffix rule set,
since we cannot inspect COMPILER_TYPE in sys.mk.  Future changes that depend
on these rules (e.g., building IR versions of binaries from bsd.prog.mk)
should use COMPILER_TYPE to determine when we can expect IR rules to succeed.

Reviewed by:	emaste, imp
Approved by:	rwatson (mentor)
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D4339
2016-10-20 15:14:21 +00:00
..
colldef
ctypedef
dict
doc rtwn(4), urtwn(4): merge common code, add support for 11ac devices. 2016-10-17 20:38:24 +00:00
dtrace
examples libifconfig: style(9) fixes 2016-09-04 20:55:27 +00:00
i18n
keys
man Add support for the fpu_kern(9) KPI on arm64. It hooks into the existing 2016-10-20 09:22:10 +00:00
me
misc FreeBSD 11.0 release date added. 2016-10-10 18:36:26 +00:00
mk Add make rules to build LLVM IR from C/C++ sources. 2016-10-20 15:14:21 +00:00
monetdef
msgdef
numericdef
security
sendmail
skel
snmp
syscons
tabset
termcap
tests
timedef Suffix short month names with "월" and replace %b with %_m for date formats. 2016-09-07 23:35:38 +00:00
vt
zoneinfo
Makefile
Makefile.inc