GCC modified for the FreeChainXenon project
Find a file
Daniel Berlin c90186eb1a tree.h (VALUE_HANDLE_VUSES): New.
2005-12-29  Daniel Berlin  <dberlin@dberlin.org>

	* tree.h (VALUE_HANDLE_VUSES): New.
	(struct tree_value_handle): Add vuses.

	* tree-vn.c (struct val_expr_pair_d): Remove stmt, add vuses.
	(vn_compute): Remove stmt argument.
	Don't use vuses in hash value computation.
	(val_expr_pair_eq): Compare vuse lists.
	(copy_vuses_from_stmt): New function.
	(shared_vuses_from_stmt): Ditto.
	(vn_add): Rewrite in terms of vn_add_with_vuses.
	(vn_add_with_vuses): New function.
	(vn_lookup): Rewrite in terms of vn_lookup_with_vuses.
	(vn_lookup_with_vuses): New function.
	(vuses_compare): New function.
	(print_creation_to_file): Ditto.
	(vn_lookup_or_add): Rewrite to handle vuses.
	(sort_vuses): New function.
	(vn_lookup_or_add_with_vuses): Ditto.
	(vn_init): Initialize shared_lookup_vuses.
	(vn_delete): Free shared_lookup_vuses.

	* tree-ssa-pre.c: Update todo list.
	(bb_value_sets_t): Add rvuse_in, rvuse_out, rvuse_gen, and
	rvuse_kill.
	(RVUSE_IN): New macro.
	(RVUSE_GEN): Ditto.
	(RVUSE_KILL): Ditto.
	(RVUSE_OUT): Ditto.
	(modify_expr_node_pool): New function.
	(pretemp): New.
	(storetemp): Ditto.
	(mergephitemp): Ditto.
	(prephitemp): Ditto.
	(struct expr_pred_trans_d): Add vuses member.
	(expr_pred_trans_eq): Compare vuses.
	(phi_trans_lookup): Add vuses argument.
	(phi_trans_add): Ditto.
	(translate_vuses_through_block): New function.
	(phi_translate): Use vuses to ask about those expressions that can
	have vuses.
	Properly translate virtual uses through phis, and use
	vn_lookup_or_add_with vuses.  Handle tcc_reference.
	(phi_translate_set): Don't add pointless translations to the
	cache.
	(get_representative): New function.
	(vuses_dies_in_block_x): Ditto.
	(valid_in_set): Add block argument.  Check virtual use validity.
	(clean): Add block argument. Update call to valid_in_set
	(compute_antic_aux): Update call to clean.
	(dump_bitmap_of_names): New function.
	(compute_vuse_representatives): Ditto.
	(compute_rvuse): Ditto.
	(can_value_number_call): Modified to accept calls with vuses.
	(can_value_number_operation): New function.
	(can_PRE_operation): Ditto.
	(need_creation): New vector of stores that may need creation.
	(find_or_generate_expression): use can_PRE_operation.
	(create_expression_by_pieces): Handle INDIRECT_REF.
	Only create one temp until we have to change types.
	Mark new vars for renaming.
	(insert_into_preds_of_block): Ignore loopiness of loads.
	Use can_PRE_operation.
	Only create one temp until we have to chnge types.
	(insert_aux): Use can_PRE_operation.
	Don't pass name to insert_into_preds_of_block.
	(insert_extra_phis): Only use one temp until we have to change
	types.
	(poolify_tree): New function.
	(modify_expr_template): New var.
	(poolify_modify_expr): New function.
	(insert_fake_stores): Ditto.
	(realify_fake_stores): Ditto.
	(compute_avail): Use can_value_number_operation.
	(mark_operand_necessary): Return NULL for non-SSA names.
	(remove_dead_inserted_code): Update comment.
	(init_pre): Initialize pretemp, need_creation, storetemp,
	mergephitemp, prephitemp.
	Create modify_expr_node_pool.
	(fini_pre): Free modify_expr_node_pool and need_creation array.
	(execute_pre): Call insert_fake_stores, compute_rvuse, and
	realify_fake_stores. 
	* tree-flow.h (vn_compute): Fix prototype.
	(vn_add): Ditto.
	(vn_lookup): Ditto.
	(sort_vuses): New.
	(vn_lookup_or_add_with_vuses): Ditto.
	(vn_add_with_vuses): Ditto.
	(vn_lookup_with_vuses): Ditto.
	* passes.c (pass_may_alias): Add.

From-SVN: r109180
2005-12-30 18:43:00 +00:00
boehm-gc gc_priv.h: Increase MAX_ROOT_SETS to 1024. 2005-11-02 00:06:30 +00:00
config Revert Ada-related part of the previous change. 2005-12-20 17:19:18 +00:00
contrib * btest-gcc.sh: Support -j option. 2005-12-20 20:20:24 +00:00
fastjar compress.c (write_data): Mark 'ze' as unused. 2005-11-29 21:46:02 +00:00
fixincludes Check the last byte for '\n' 2005-11-25 05:57:10 +00:00
gcc tree.h (VALUE_HANDLE_VUSES): New. 2005-12-30 18:43:00 +00:00
gnattools re PR ada/19959 (Can't compile gnattools for the cross targets) 2005-03-30 10:56:55 +02:00
include Fixes java/PR9861 2005-12-11 01:34:02 +00:00
INSTALL
intl .cvsignore are not needed for subversion, remove them. 2005-10-31 18:20:58 +01:00
libada Makefile.in (FLAGS_TO_PASS): Add GCC_FOR_TARGET. 2005-12-05 14:40:27 +00:00
libcpp re PR c++/23333 (accepts invalid pure specifier) 2005-12-22 12:01:44 +00:00
libdecnumber decNumber.c (decStrEq): Cast string contents to unsigned char instead of int before calling tolower. 2005-12-20 18:48:47 +00:00
libffi ffitarget.h: Remove obsolete sgidefs.h include. 2005-12-07 14:56:38 +00:00
libgfortran re PR libfortran/25139 ("Invalid argument" error on I/O) 2005-12-28 20:58:08 +00:00
libiberty floatformat.c (floatformat_i387_ext_is_valid): Use explicit cast to convert from "from". 2005-12-17 17:21:34 +00:00
libjava natPlainSocketImplWin32.cc (connect): Same as previous patch, but for win32. 2005-12-28 18:47:18 +00:00
libmudflap libmudflap.exp (libmudflap-init): Remove -static from MUDFLAP_FLAGS if static library not supported. 2005-11-22 20:35:51 +00:00
libobjc re PR objc/25360 (Complex types are not encoded) 2005-12-16 12:19:37 -08:00
libssp .cvsignore are not needed for subversion, remove them. 2005-10-31 18:20:58 +01:00
libstdc++-v3 lwg-active.html, [...]: Import Revision 40. 2005-12-28 14:08:07 +00:00
maintainer-scripts update_web_docs_svn: Remove unnecessary files from source tree. 2005-12-16 23:59:10 +00:00
zlib .cvsignore are not needed for subversion, remove them. 2005-10-31 18:20:58 +01:00
ABOUT-NLS
ChangeLog * MAINTAINERS: Update my email address. 2005-12-27 02:00:26 +00:00
ChangeLog.tree-ssa
compile COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
config-ml.in COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
config.guess Sync config.{sub,guess} from upstream sources 2005-11-22 20:41:02 +00:00
config.rpath all files: Update FSF address. 2005-07-16 02:30:53 +00:00
config.sub config.gcc (ms1): Replace with ... 2005-12-12 10:54:49 +00:00
configure Revert Ada-related part of the previous change. 2005-12-20 17:19:18 +00:00
configure.in Revert Ada-related part of the previous change. 2005-12-20 17:19:18 +00:00
COPYING COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
COPYING.LIB Update COPYING.LIB from upstream. Correct last Changelog. 2005-07-14 01:41:54 +00:00
depcomp top level: 2005-06-13 08:26:05 +00:00
install-sh COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
libtool.m4 all files: Update FSF address. 2005-07-16 02:30:53 +00:00
ltcf-c.sh ltcf-c.sh (whole_archive_flag_spec): Remove '-all_load $convenience' to match upstream libtool for darwin. 2005-11-18 23:53:08 +01:00
ltcf-cxx.sh all files: Update FSF address. 2005-07-16 02:30:53 +00:00
ltcf-gcj.sh all files: Update FSF address. 2005-07-16 02:30:53 +00:00
ltconfig all files: Update FSF address. 2005-07-16 02:30:53 +00:00
ltmain.sh Fix misapplied hunk. 2005-10-05 09:19:53 +00:00
MAINTAINERS * MAINTAINERS: Update my email address. 2005-12-27 02:00:26 +00:00
Makefile.def Revert Ada-related part of the previous change. 2005-12-20 17:19:18 +00:00
Makefile.in Revert Ada-related part of the previous change. 2005-12-20 17:19:18 +00:00
Makefile.tpl Revert Ada-related part of the previous change. 2005-12-20 17:19:18 +00:00
missing COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
mkdep
mkinstalldirs COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
move-if-change Import from Autoconf sources: 2005-11-21 13:21:37 +11:00
README
README.SCO * README.SCO: Update the URL. 2005-05-08 17:49:46 +00:00
symlink-tree COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
ylwrap COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file 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.html for how to report bugs usefully.