Find a file
Jan Hubicka 042ae7d242 cgraphbuild.c (cgraph_rebuild_references): Rebuild only non-speculative refs.
* cgraphbuild.c (cgraph_rebuild_references): Rebuild only non-speculative
	refs.
	* cgraph.c (cgraph_update_edge_in_call_site_hash): New function.
	(cgraph_add_edge_to_call_site_hash): Deal with speculative calls.
	(cgraph_set_call_stmt): Likewise.
	(cgraph_create_edge_1): Fix release checking compilatoin;
	clear lto_stmt_uid.
	(cgraph_free_edge): Free indirect info.
	(cgraph_turn_edge_to_speculative): New function.
	(cgraph_speculative_call_info): New function.
	(cgraph_make_edge_direct): Return direct edge; handle speculation.
	(cgraph_redirect_edge_call_stmt_to_callee): Expand speculative
	edges.
	(dump_cgraph_node): Dump speculation.
	(verify_edge_count_and_frequency): Accept speculative edges.
	(verify_edge_corresponds_to_fndecl): Handle partitioned cgraph.
	(verify_cgraph_node): Handle speculation.
	* cgraph.h (cgraph_edge): Add SPECULATIVE flag.
	(cgraph_set_call_stmt): Update prototype.
	(cgraph_make_edge_direct): Update prototype.
	(cgraph_speculative_call_info): Declare.
	* ipa-cp.c (ipcp_discover_new_direct_edges): Be ready for edge
	to change; update call of ipa_find_references.
	* ipa-ref.c (ipa_record_reference): Fix return value; clear
	lto_stmt_uid and speculative flags.
	(ipa_dump_references): Dump speculation.
	(ipa_clone_references): Clone speculative flag.
	(ipa_clone_referring): Likewise.
	(ipa_clone_ref): New function.
	(ipa_find_reference): Look into lto_stmt_uids
	(ipa_clear_stmts_in_references): Do not clear speculative calls.
	* ipa-ref.h (ipa_ref): Add lto_stmt_uid and speculative flags.
	(ipa_find_reference): Update declaration.
	(ipa_clone_ref): Declare.
	* lto-cgraph.c (lto_output_edge): Make lto_stmt_uids start from 0;
	stream speculative flag.
	(lto_output_ref): Stream statements uids and speculation.
	(input_ref): Likewise.
	(input_edge): Stream speuclation.
	* cgraphclones.c (cgraph_clone_edge): Clone speculation.
	(cgraph_set_call_stmt_including_clones): Handle speculation.
	* ipa-inline.c (heap_edge_removal_hook): New function.
	(inline_small_functions): Register it.
	* lto-streamer-in.c (fixup_call_stmt_edges_1): Bounds checking;
	also initialize refs.
	* ipa-prop.c (ipa_make_edge_direct_to_target): Be ready for
	edge to change.
	(try_make_edge_direct_simple_call): Likewise.
	(try_make_edge_direct_simple_call): Likewise.
	(update_indirect_edges_after_inlining): Likewise.
	(remove_described_reference): Look proper lto_stmt_uid.
	(propagate_controlled_uses): Likewise.
	(propagate_controlled_uses): Liekwise.
	* tree-inline.c (copy_bb): Copy speculative edges.
	(redirect_all_calls): New function.
	(copy_cfg_body): Do redirection after loop info
	is updated.
	(delete_unreachable_blocks_update_callgraph): Updadte
	speculation.

From-SVN: r201632
2013-08-09 15:23:19 +00:00
boehm-gc Add ChangeLog entry for r197770 (in boehm-gc). 2013-05-02 21:48:45 +02:00
config Fix whitespace issue 2013-03-27 22:58:04 +01:00
contrib Commit the vtable verification feature. 2013-08-06 20:38:59 -07:00
fixincludes Remove sample result for CDEF_CPLUSPLUS hack 2013-07-07 13:57:21 +00:00
gcc cgraphbuild.c (cgraph_rebuild_references): Rebuild only non-speculative refs. 2013-08-09 15:23:19 +00:00
gnattools Remove obsolete IRIX 6.5 support 2012-03-14 16:33:37 +00:00
include Commit the vtable verification feature. 2013-08-06 20:38:59 -07:00
INSTALL README: Also refer to the online installation instructions. 2012-08-25 20:48:20 +00:00
intl
libada configure: Regenerated. 2013-03-27 23:00:53 +01:00
libatomic Avoid non constant memory model uses in libatomic 2013-03-24 00:23:10 +00:00
libbacktrace elf.c (elf_syminfo): Loop over the elf_syminfo_data chain. 2013-07-23 13:17:10 +04:00
libcpp configure.ac: Set need_64bit_hwint for all arm targets. 2013-08-07 13:51:38 +00:00
libdecnumber configure.ac: Add AC_CONFIG_AUX_DIR. 2013-07-09 10:24:39 +00:00
libffi ffi.c (ffi_prep_args_SYSV): Move var declaration before statements. 2013-06-25 09:38:47 +09:30
libgcc Fix ChangeLog formatting errors. 2013-08-08 09:55:09 -07:00
libgfortran fpu-387.h (get_fpu_rounding_mode): Read rounding mode from SSE mxcsr register on x86_64. 2013-07-23 11:45:30 +02:00
libgo syscall: Change AWK split call to use []+ rather than []*. 2013-08-02 22:30:30 +00:00
libgomp Disable strassen.f90 test for aarch64 tiny memory. 2013-06-28 12:45:57 +00:00
libiberty Fix typo. 2013-07-22 17:23:17 +00:00
libitm configure.tgt: Add -msoft-float to XCFLAGS. 2013-08-02 16:00:36 +00:00
libjava aot-compile.in: Fix typo in option list. 2013-06-27 13:58:20 +00:00
libmudflap re PR tree-optimization/53265 (Warn when undefined behavior implies smaller iteration count) 2013-03-14 10:13:36 +01:00
libobjc class.c: Fix typos. 2013-07-21 15:38:21 +00:00
libquadmath re PR libquadmath/55473 (quadmath.h should have extern "C" for C++ users) 2013-03-07 08:53:10 +01:00
libsanitizer sanitizer_linux.cc (MemoryMappingLayout::Next): Cherry pick upstream r182922. 2013-06-03 15:04:35 +02:00
libssp Revert libquadmath and libssp copyright patches. 2013-02-06 22:03:54 +00:00
libstdc++-v3 regex_constants.h: Change syntax_option_type to enum type. 2013-08-09 07:53:28 +00:00
libvtv configure.tgt: Simplify, just use VTV_SUPPORTED. 2013-08-09 03:50:55 +00:00
lto-plugin * configure: Regenerated. 2012-09-14 19:42:24 -04:00
maintainer-scripts crontab: Disable snapshots from gcc-4_6-branch. 2013-04-12 17:07:38 +02:00
zlib 2012-11-16 Matthias Klose <doko@ubuntu.com> 2012-11-16 18:35:05 +00:00
.gitignore * .gitignore: Import from gdb repository. 2013-01-10 10:48:46 -05:00
ABOUT-NLS
ChangeLog configure.ac: Adjust to check VTV_SUPPORTED. 2013-08-09 03:51:02 +00:00
ChangeLog.tree-ssa
compile
config-ml.in MAINTAINERS (crx port, [...]): Remove. 2011-03-22 19:58:18 +00:00
config.guess config.sub: Merge from config repo. 2013-01-08 22:46:38 +00:00
config.rpath Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
config.sub * config.sub: Update from config repo. 2013-01-11 13:02:58 +00:00
configure configure.tgt: Simplify, just use VTV_SUPPORTED. 2013-08-09 03:50:55 +00:00
configure.ac configure.tgt: Simplify, just use VTV_SUPPORTED. 2013-08-09 03:50:55 +00:00
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4 re PR bootstrap/38607 (AIX error messages about TOC during build) 2012-09-14 19:23:41 -04:00
ltgcc.m4
ltmain.sh backport: ltmain.sh (relink): Use absolute path when hardcoding with -L. 2011-01-13 18:51:10 +00:00
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
MAINTAINERS MAINTAINERS (Write After Approval): Add myself. 2013-07-19 21:30:20 +00:00
Makefile.def Commit the vtable verification feature. 2013-08-06 20:38:59 -07:00
Makefile.in Commit the vtable verification feature. 2013-08-06 20:38:59 -07:00
Makefile.tpl Makefile.tpl (BOOT_ADAFLAGS): Remove -gnata. 2013-01-11 11:46:21 +00:00
missing
mkdep
mkinstalldirs
move-if-change Import move-if-change script from gnulib. 2011-02-12 15:48:30 +00:00
README * README: Document use of ranges of years in copyright notices. 2012-07-16 15:01:34 +01:00
symlink-tree
ylwrap

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.