Find a file
Alexandre Oliva 0ca5af51ab re PR debug/41343 (sysdeps/ieee754/dbl-64/dosincos.c from glibc causes excessive memory use)
gcc/ChangeLog:
PR debug/41343
PR debug/41447
PR debug/41264
PR debug/41338
* tree.def (DEBUG_EXPR_DECL): New.
* rtl.def (DEBUG_EXPR): New.
* gengtype.c (adjust_field_rtx_def): Handle it.
* tree-ssa.c (propagate_var_def_into_debug_stmts): Rename to...
(insert_debug_temp_for_var_def): ... this.  Drop support for
moving.  Take iterator for def stmt; insert debug stmt before it.
Scan early for use count and kind in debug stmts.
(propagate_defs_into_debug_stmts): Rename to...
(insert_debug_temps_for_defs): ... this.  Likewise.
* tree.h (DEBUG_TEMP_UID): New.
* tree.c (next_debug_decl_uid): New.
(make_node_stat): Count debug decls separately.
(copy_node_stat): Likewise.
* cfgexpand.c (expand_debug_expr): Handle DEBUG_EXPR_DECL.
* var-tracking.c (dv_is_decl_p): Recognize it.
(VALUE_RECURSED_INTO): Apply to DEBUG_EXPRs too.
(track_expr_p): Track expanded DEBUG_EXPR_DECLs.
(vt_expand_loc_callback): Expand DEBUG_EXPRs.
(emit_note_insn_var_location): Don't emit notes for DEBUG_EXPR_DECLs.
* cselib.c (rtx_equal_for_cselib_p): Handle DEBUG_EXPR.
(cselib_hash_rtx): Likewise.
(cselib_expand_value_rtx_1): Use callback for DEBUG_EXPR.
* tree-ssa-operands.c (get_expr_operands): Skip DEBUG_EXPR_DECLs in
debug bind stmts.
* emit-rtl.c (verify_rtx_sharing): Handle DEBUG_EXPR and VALUE.
(copy_rtx_if_shared_1, reset_used_flags, set_used_flags): Likewise.
* rtl.c (copy_rtx): Likewise.
(rtx_equal_p_cb, rtx_equal_p): Handle DEBUG_EXPR.
* print-rtl.c (print_rtx): Likewise.
* sched-vis.c (print_value): Likewise.
(print_insn): Handle DEBUG_EXPR_DECL.
* tree-dump.c (dequeue_and_dump): Likewise.
* tree-pretty-print.c (dump_decl_name, dump_generic_node): Likewise.
* gimple-iterator (gsi_replace): Check for same lhs.
(gsi_remove): Insert debug temps.
* tree-ssa-loop-im.c (rewrite_reciprocal): Replace with same lhs.
(move_computations_stmt): Drop explicit propagation into debug stmts.
(rewrite_bittest): Likewise.  Use gsi_remove for propagation.
* tree-ssa-reassoc.c (rewrite_expr_tree, linearize_expr): Likewise.
* tree-ssa-sink.c (statement_sink_location): Likewise.
* tree-ssa-forwprop (forward_propagate_addr_expr): Likewise.
* tree-ssanames.c (release_ssa_name): Adjust for rename.
* tree-flow.h: Likewise.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Don't mark
debug temps without values.
(eliminate_unnecessary_stmts): Don't discard just-inserted
debug stmts.
gcc/testsuite/ChangeLog:
PR debug/41343
PR debug/41447
PR debug/41264
PR debug/41338
* gcc.dg/guality/pr41447-1.c: New.
* gcc.dg/debug/pr41264-1.c: New.
* gcc.dg/debug/pr41343-1.c: New.

From-SVN: r152681
2009-10-12 18:58:38 +00:00
boehm-gc Override all per-target *_LINK variables correctly. 2009-09-11 05:02:20 +00:00
config stdint.m4 (GCC_HEADER_STDINT): Revert changes to this macro in the previous two patches. 2009-09-09 19:42:21 +00:00
contrib Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
fixincludes Remove obsolete entries from fixincludes. 2009-09-15 04:59:54 +00:00
gcc re PR debug/41343 (sysdeps/ieee754/dbl-64/dosincos.c from glibc causes excessive memory use) 2009-10-12 18:58:38 +00:00
gnattools Update AC_PREREQ entries to 2.64 2009-08-24 19:08:51 +00:00
include plugin-api.h (ld_plugin_add_input_library): Change argument name to libname. 2009-10-09 15:23:04 +00:00
INSTALL
intl Update AC_PREREQ entries to 2.64 2009-08-24 19:08:51 +00:00
libada re PR ada/41122 (libada multilib string parsing error) 2009-08-30 14:26:37 +00:00
libcpp * charset.c (_cpp_valid_ucn): Update C++0x restrictions. 2009-10-09 20:39:46 -04:00
libdecnumber stdint.m4 (GCC_HEADER_STDINT): Revert changes to this macro in the previous two patches. 2009-09-09 19:42:21 +00:00
libffi win64.S (_ffi_call_win64 stack): Remove for gnu assembly version use of ___chkstk. 2009-09-29 00:26:25 +02:00
libgcc sfp-machine.h (__FP_FRAC_SUB_4): Change operand constraint of y0 to "g". 2009-10-09 19:30:56 +02:00
libgfortran re PR fortran/38439 (I/O PD edit descriptor inconsistency) 2009-10-12 00:52:45 +00:00
libgomp sed and head portability fixes in ld version check. 2009-09-30 00:43:28 +00:00
libiberty argv.c (consume_whitespace): New function. 2009-10-08 15:14:41 +00:00
libjava configure.host (libgcj_sublib_ltflags): New variable. 2009-09-30 22:20:54 +00:00
libmudflap re PR libmudflap/41433 (security: mudflap accepts environment variables if setuid) 2009-09-22 16:17:50 +00:00
libobjc Update AC_PREREQ entries to 2.64 2009-08-24 19:08:51 +00:00
libssp Update AC_PREREQ entries to 2.64 2009-08-24 19:08:51 +00:00
libstdc++-v3 * doc/xml/manual/messages.xml: Update GNU gettext reference. 2009-10-10 12:20:16 +00:00
lto-plugin lto-plugin.c (add_input_library): New. 2009-10-08 13:59:32 +00:00
maintainer-scripts * update_web_docs_svn: Update BUGURL to http://gcc.gnu.org/bugs/. 2009-10-10 20:43:15 +00:00
zlib Update AC_PREREQ entries to 2.64 2009-08-24 19:08:51 +00:00
ABOUT-NLS
ChangeLog README: Refer to the various COPYING* files instead of just COPYING. 2009-10-10 20:59:49 +00:00
ChangeLog.tree-ssa
compile Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
config-ml.in config-ml.in: don't handle --enable-shared and --enable-static. 2008-05-14 17:15:51 +00:00
config.guess * config.sub, config.guess: Update from upstream sources. 2009-09-23 09:48:35 +00:00
config.rpath * config.rpath: Add AIX 6 support. 2008-03-13 14:55:20 -04:00
config.sub * config.sub : Update from upstream sources. 2009-10-07 08:48:50 +00:00
configure Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
configure.ac Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
COPYING
COPYING.LIB
COPYING.RUNTIME Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
COPYING3
COPYING3.LIB
depcomp Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
install-sh Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
libtool-ldflags re PR bootstrap/31906 ("-Xcompiler" is inserted after "-Xlinker" when building libstdc++) 2007-09-20 10:20:05 +00:00
libtool.m4 libtool.m4 (output_verbose_link_cmd): Require leading blank, and blank before -L. 2009-09-08 17:43:37 +00:00
ltgcc.m4 libtool.m4: Update to libtool 2.2.6. 2008-09-26 16:21:02 +00:00
ltmain.sh ltmain.sh (removedotparts): Don't use comma as 's' separator. 2009-08-26 14:52:45 +00:00
ltoptions.m4 libtool.m4: Update to libtool 2.2.6. 2008-09-26 16:21:02 +00:00
ltsugar.m4 libtool.m4: Update to libtool 2.2.6. 2008-09-26 16:21:02 +00:00
ltversion.m4 libtool.m4: Update to libtool 2.2.6. 2008-09-26 16:21:02 +00:00
lt~obsolete.m4 libtool.m4: Update to libtool 2.2.6. 2008-09-26 16:21:02 +00:00
MAINTAINERS Update my email address. 2009-10-07 14:22:30 +00:00
Makefile.def Makefile.def: check-gold depends upon all-gas. 2009-10-07 05:41:23 +00:00
Makefile.in Makefile.def: check-gold depends upon all-gas. 2009-10-07 05:41:23 +00:00
Makefile.tpl Merge lto branch into trunk. 2009-10-03 17:10:11 -04:00
missing Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
mkdep
mkinstalldirs Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
move-if-change
README README: Refer to the various COPYING* files instead of just COPYING. 2009-10-10 20:59:49 +00:00
symlink-tree
ylwrap Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00

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.