Go to file
Ilya Verbin 1f6be68256 [PATCH 2/7] OpenMP 4.0 offloading infrastructure: LTO streaming.
gcc/
	* cgraph.c: Include context.h.
	(cgraph_node::create): Set node->offloadable and g->have_offload if
	decl have "omp declare target" attribute.
	* cgraph.h (symtab_node): Add need_lto_streaming and offloadable flags.
	* cgraphunit.c: Include lto-section-names.h.
	(ipa_passes): Call ipa_write_summaries if there is something to write to
	OFFLOAD_SECTION_NAME_PREFIX sections.
	(symbol_table::compile): Set flag_generate_lto if there is something to
	offload.
	Replace flag_lto with flag_generate_lto before lto_streamer_hooks_init.
	* context.c (gcc::context::context): Initialize have_offload with false.
	* context.h (class context): Add have_offload flag.
	* ipa-inline-analysis.c (inline_generate_summary): Do not exit under
	flag_generate_lto.
	(inline_free_summary): Always remove hooks.
	* lto-cgraph.c (referenced_from_other_partition_p): Ignore references
	from non-offloadable nodes while streaming a node into offload section.
	(reachable_from_other_partition_p): Likewise.
	(select_what_to_stream): New function.
	(compute_ltrans_boundary): Do not call
	lto_set_symtab_encoder_in_partition if the node should not be streamed.
	* lto-section-names.h (OFFLOAD_SECTION_NAME_PREFIX): Define.
	(section_name_prefix): Declare.
	* lto-streamer.c (section_name_prefix): New variable.
	(lto_get_section_name): Use section_name_prefix instead of
	LTO_SECTION_NAME_PREFIX.
	* lto-streamer.h (select_what_to_stream): Declare.
	* omp-low.c: Include context.h.
	(is_targetreg_ctx): New function.
	(scan_sharing_clauses): Use offloadable flag, instead of an attribute.
	(create_omp_child_function, check_omp_nesting_restrictions): Use new
	is_targetreg_ctx function.  Replace usage of "omp declare target"
	attribute with a cgraph_node flag offloadable.
	(expand_omp_target): Set mark_force_output for offloadable functions.
	(lower_omp_critical): Set offloadable flag for omp critical symbol.
	* passes.c (ipa_write_summaries): New argument offload_lto_mode.  Call
	select_what_to_stream.  Do not call lto_set_symtab_encoder_in_partition
	if the node should not be streamed out.
	* tree-pass.h (ipa_write_summaries): New bool argument.
	* varpool.c: Include context.h.
	(varpool_node::get_create): Set node->offloadable and g->have_offload if
	decl have "omp declare target" attribute.

gcc/lto/
	* lto-object.c (lto_obj_add_section): Use section_name_prefix instead of
	LTO_SECTION_NAME_PREFIX.
	* lto-partition.c (lto_promote_cross_file_statics): Call
	select_what_to_stream.
	* lto.c (lto_section_with_id): Use section_name_prefix instead of
	LTO_SECTION_NAME_PREFIX.
	(read_cgraph_and_symbols): Read OFFLOAD_SECTION_NAME_PREFIX sections, if
	being built as an offload compiler.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r217486
2014-11-13 13:37:38 +00:00
INSTALL README: Do not mention CVS. 2014-10-12 15:05:28 +00:00
boehm-gc re PR target/63610 (Fixing the libtool bug for Yosemite (darwin14)) 2014-11-11 20:25:18 +00:00
config cloog.m4: Remove. 2014-11-11 19:54:16 +01:00
contrib Merger of dmalcolm/jit branch from git 2014-11-11 21:55:52 +00:00
fixincludes inclhack.def (glibc_c99_inline_4): Add pthread.h to files. 2014-10-21 12:58:26 +02:00
gcc [PATCH 2/7] OpenMP 4.0 offloading infrastructure: LTO streaming. 2014-11-13 13:37:38 +00:00
gnattools Makefile.in (TOOLS_FLAGS_TO_PASS_CROSS): Robustify. 2014-02-23 16:30:11 +00:00
include re PR driver/36312 (should refuse to overwrite input file with output file) 2014-11-11 23:33:25 +00:00
intl
libada Makefile.in: Add CFLAGS_FOR_TARGET to GNATLIBCFLAGS_FOR_C. 2014-08-12 19:47:09 +00:00
libatomic re PR target/63610 (Fixing the libtool bug for Yosemite (darwin14)) 2014-11-11 20:25:18 +00:00
libbacktrace Merger of dmalcolm/jit branch from git 2014-11-11 21:55:52 +00:00
libcc1 Enable libcc1 on Solaris 2014-11-13 10:22:22 +00:00
libcilkrts re PR target/63610 (Fixing the libtool bug for Yosemite (darwin14)) 2014-11-11 20:25:18 +00:00
libcpp line-map.h: Include EXPR, so that unused variable warnings do not occur. 2014-11-13 10:46:56 +00:00
libdecnumber Merger of dmalcolm/jit branch from git 2014-11-11 21:55:52 +00:00
libffi re PR target/63610 (Fixing the libtool bug for Yosemite (darwin14)) 2014-11-11 20:25:18 +00:00
libgcc [PATCH 1/7] OpenMP 4.0 offloading infrastructure: configure and make 2014-11-13 13:28:56 +00:00
libgfortran PR 60324 Unbounded stack allocations in libgfortran. 2014-11-13 14:05:01 +02:00
libgo libgo: Update libtool support to files in current GCC trunk. 2014-11-12 03:51:36 +00:00
libgomp [PATCH 1/7] OpenMP 4.0 offloading infrastructure: configure and make 2014-11-13 13:28:56 +00:00
libiberty Cast strtol return to unsigned long 2014-11-12 08:24:30 -08:00
libitm re PR target/63610 (Fixing the libtool bug for Yosemite (darwin14)) 2014-11-11 20:25:18 +00:00
libjava re PR target/63610 (Fixing the libtool bug for Yosemite (darwin14)) 2014-11-11 20:25:18 +00:00
libobjc re PR target/63610 (Fixing the libtool bug for Yosemite (darwin14)) 2014-11-11 20:25:18 +00:00
libquadmath re PR target/63610 (Fixing the libtool bug for Yosemite (darwin14)) 2014-11-11 20:25:18 +00:00
libsanitizer re PR target/63610 (Fixing the libtool bug for Yosemite (darwin14)) 2014-11-11 20:25:18 +00:00
libssp re PR target/63610 (Fixing the libtool bug for Yosemite (darwin14)) 2014-11-11 20:25:18 +00:00
libstdc++-v3 re PR libstdc++/63775 ([C++11] Regex range with leading dash (-) not working) 2014-11-13 07:40:01 +00:00
libvtv re PR target/63610 (Fixing the libtool bug for Yosemite (darwin14)) 2014-11-11 20:25:18 +00:00
lto-plugin [PATCH 1/7] OpenMP 4.0 offloading infrastructure: configure and make 2014-11-13 13:28:56 +00:00
maintainer-scripts Add svn:executable property for generate_libstdcxx_web_docs. 2014-10-30 11:11:38 +01:00
zlib Merger of dmalcolm/jit branch from git 2014-11-11 21:55:52 +00:00
.dir-locals.el * .dir-locals.el: Add. 2013-10-16 18:25:31 +00:00
.gitignore Ignore gcc_update output 2014-06-18 17:47:18 -07:00
ABOUT-NLS
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
ChangeLog [PATCH 1/7] OpenMP 4.0 offloading infrastructure: configure and make 2014-11-13 13:28:56 +00:00
ChangeLog.jit Merger of dmalcolm/jit branch from git 2014-11-11 21:55:52 +00:00
ChangeLog.tree-ssa
MAINTAINERS Merger of dmalcolm/jit branch from git 2014-11-11 21:55:52 +00:00
Makefile.def Makefile.def: Remove CLooG. 2014-11-12 19:42:03 +01:00
Makefile.in Makefile.def: Remove CLooG. 2014-11-12 19:42:03 +01:00
Makefile.tpl cloog.m4: Remove. 2014-11-11 19:54:16 +01:00
README * README: Document use of ranges of years in copyright notices. 2012-07-16 15:01:34 +01:00
compile
config-ml.in * config-ml.in: Robustify ac_configure_args parsing. 2014-06-13 16:32:29 +02:00
config.guess * config.sub, config.guess: Import from upstream. 2014-05-01 20:51:11 +00:00
config.rpath Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
config.sub Import config.sub from upstream. No changes to config.guess. 2014-07-28 17:53:25 +00:00
configure [PATCH 1/7] OpenMP 4.0 offloading infrastructure: configure and make 2014-11-13 13:28:56 +00:00
configure.ac [PATCH 1/7] OpenMP 4.0 offloading infrastructure: configure and make 2014-11-13 13:28:56 +00:00
depcomp
install-sh
libtool-ldflags re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan)) 2014-04-17 14:23:28 +02:00
libtool.m4 re PR target/63610 (Fixing the libtool bug for Yosemite (darwin14)) 2014-11-11 20:25:18 +00:00
ltgcc.m4
ltmain.sh Ensure libgcc_s unwinder is always used on 64-bit Solaris 10+/x86 (PR target/59788) 2014-02-04 09:31:38 +00:00
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
missing
mkdep
mkinstalldirs
move-if-change Import move-if-change script from gnulib. 2011-02-12 15:48:30 +00:00
symlink-tree
ylwrap

README

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.