Find a file
Andrew MacLeod 7290d709ef New out of ssa Coalescer.
2006-12-10  Andrew MacLeod  <amacleod@redhat.com>

	* common.opt (-ftree-lrs): Remove live range splitting option.
	* makefile.in: Add tree-ssa-coalesce.o and reduce header dependancies.
	* opts.c (decode_options): Remove flag_tree_live_range_split.
	* tree-flow.h (struct var_ann_d): Rename fields from root_ to base_.
	* tree-flow-inline.h (single_imm_use_p): New.  Check for single use.
	* tree-outof-ssa.c: Remove header files which aren't needed.
	(SSANORM_*): Remove flags.
	(print_exprs_edge, coalesce_abnormal_edges, coalesce_phi_operands, 
	coalesce_result_decls_and_copies, coalesce_asm_operands): Remove.
	(coalesce_ssa_name): Move to tree-ssa-coalesce.c.
	(assign_vars): Use Basevar instead of root_var structure.
	(replace_def_variable): Dont do anything if def is replaceable.
	(remove_ssa_form): Integrate functional changes.
	(rewrite_out_of_ssa): Remove live-range_split option.
	* tree-ssa-coalesce.c: New File for ssa-name coalescing.
	(coalesce_cost): Calculate the cost of a coalesce.
	(coalesce_cost_bb): Calculate the coalesce cost within a BB.
	(coalesce_cost_edge): Calculate the coalesce cost on an edge.
	(pop_cost_one_pair): Remove the best coalesce with cost 1 from the list.
	(pop_best_coalesce): Remove the best coalesce from the list.
	(coalesce_pair_map_hash): Calculate coalesce pair hash.
	(coalesce_pair_map_eq): Compare 2 coalesce pairs for hash function.
	(create_coalesce_list): Create a coalesce list object.
	(delete_coalesce_list): Free a coalesce list object.
	(find_coalesce_pair): Find matching pair in the coalesce list.
	(add_cost_one_coalesce): Add a coalesce to the "cost one" list.
	(add_coalesce): Add a coalesce to the coalesce list.
	(compare_pairs): Comparision function to determine pair sorted order.
	(num_coalesce_pairs): Number of coalesced pairs.
	(first_coalesce_pair, end_coalesce_pair_p, next_coalesce_pair):
	Coalesce pair iterator functions.
	(sort_coalesce_list): Sort coalesce pairs in order of expense.
	(dump_coalesce_list): Show coalesce list.
	(ssa_conflicts_new): Create an SSA conflict graph.
	(ssa_conflicts_delete): Delete an SSA conflict graph.
	(ssa_conflicts_test_p): Test for conflicts.
	(ssa_conflicts_add_one): Add a single conflict.
	(ssa_conflicts_add): Add a conflict pair.
	(ssa_conflicts_merge): Merge conflicts.
	(struct live_track_d): Struct for tracking live partitions.
	(new_live_track): Create new live_track object.
	(delete_live_track): Delete a live_track object.
	(live_track_remove_partition): Remove a partition from the live list.
	(live_track_add_partition): Add a partition from the live list.
	(live_track_clear_var): Take VAR from the live list.
	(live_track_live_p): Is var live?
	(live_track_process_use): Make var come alive.
	(live_track_process_def): Make var go dead, add conflicts.
	(live_track_init): Initialize to a live on exit set.
	(live_track_clear_base_vars): Clear live partitions.
	(build_ssa_conflict_graph): Build a conflict graph.
	(print_exprs): Common debug output routine.
	(abnormal_corrupt): Output info about a failed coalesce across an
	abnormal edge.
	(fail_abnormal_edge_coalesce): Output info about a failed MUST_COALESCE.
	(create_outofssa_var_map): Create a var map and coalesce list.
	(attempt_coalesce): Coalesce a pair.
	(coalesce_partitions): Coalesce all pairs in a coalesce list.
	(coalesce_ssa_name): Entry point.  Determine what ssa_names to coalesce.
	* tree-ssa-live.c: Remove header files which aren't needed.
	(var_map_base_init): New.  Initialize a basevar list.
	(var_map_base_fini): New.  Finish a basevar list.
	(init_var_map): Initialize new fields.
	(delete_var_map): Free new fields.
	(var_union): Use renamed fields.
	(compact_var_map): Remove.
	(partition_to_view_init): Use renamed fields, change order of an if.
	(partition_view_fini): Use renamed fields.
	(partition_view_normal): Create basevar list if requested.
	(partition_view_bitmap): Create a view based on a bitmap of partitions.
	(change_partition_var): Use renamed fields.
	(create_ssa_var_map): Remove.
	(tpa_init, tpa_remove_partition, tpa_delete, tpa_compact,
	root_var_init): Remove.
	(partition_pair_map_hash, partition_pair_map_eq, create_coalesce_list,
	delete_coalesce_list, find_partition_pair, coalesce_cost, add_coalesce,
	compare_pairs, num_coalesce_pairs, first_partition_pair,
	end_partition_pair_p, next_partition_pair, sort_coalesce_list,
	pop_best_coalesce, add_conflicts_if_valid, set_if_valid,
	build_tree_conflict_graph, coalesce_tpa_members, dump_coalesce_list,
	tpa_dump): Moved to tree-ssa-coalesce.c and/or renamed there.
	(dump_var_map): Use renamed fields.
	* tree-ssa-live.h (struct  _var_map): Modify fields.
	(partition_to_var, version_to_var, var_to_partition): Use renamed 
	fields.
	(basevar_index): New.  Index of the base variable of a partition.
	(num_basevars): New.  Number of unique base variables in partition map.
	(register_ssa_partition): Use renamed fields.
	(struct tree_partition_associator_d): Remove.
	(tpa_num_trees, tpa_tree, tpa_first_partition, tpa_next_partition,
	tpa_find_tree, tpa_decompact, root_var_init, root_var_num,
	root_var, root_var_first_partition, root_var_next_partition,
	root_var_dump, root_var_delete, root_var_remove_partition, 
	root_var_find, root_var_compact, root_var_decompact): Remove.
	(struct partition_pair, struct coalesce_list_d): Moved to 
	tree-ssa-coalesce.c
	* tree-ssa-ter.c: Remove header files which aren't needed.

From-SVN: r119711
2006-12-10 21:25:40 +00:00
boehm-gc configure.ac: Fix x86 darwin builds. 2006-12-08 23:54:21 +00:00
config tls.m4 (GCC_CHECK_TLS): Do not test TLS with static linking if static linking doesn't even work. 2006-12-04 11:10:38 +00:00
contrib * compareSumTests3: POD syntax fix. 2006-09-28 02:03:46 +00:00
fixincludes inclhack.def (glibc_c99_inline_2): Adjust for glibc 2.3 systems. 2006-11-07 17:34:40 +00:00
gcc New out of ssa Coalescer. 2006-12-10 21:25:40 +00:00
gnattools --(top level)-------------------------------------------- 2006-10-10 16:48:09 -07:00
include * ansidecl.h (ATTRIBUTE_PACKED): Define. 2006-12-06 18:08:51 +00:00
INSTALL
intl Makefile.in (distclean): Delete config files. 2006-09-27 18:51:52 +09:30
libada re PR ada/29802 (wrong directory in makefile for ada and libada when srcdir=.) 2006-11-17 10:31:47 +00:00
libcpp Formatting fixes. 2006-11-21 13:22:40 +11:00
libdecnumber decRound.c: Move declarations to new file, update comments. 2006-11-29 18:34:56 +00:00
libffi Fix date on ChangeLog entry 2006-11-01 05:42:01 +00:00
libgfortran re PR libfortran/29810 (Unsatisfied symbol "fmodl" in libgfortran shared library) 2006-12-06 21:49:55 +00:00
libgomp re PR libgomp/29949 (implement argument checking for user accessable runtime routines) 2006-12-04 16:35:19 -05:00
libiberty re PR driver/29931 (following argv[0] symlink in process_command breaks symlinked-together toolchain) 2006-11-30 17:05:45 +00:00
libjava tls.m4 (GCC_CHECK_TLS): Do not test TLS with static linking if static linking doesn't even work. 2006-12-04 11:10:38 +00:00
libmudflap tls.m4 (GCC_CHECK_TLS): Do not test TLS with static linking if static linking doesn't even work. 2006-12-04 11:10:38 +00:00
libobjc In gcc/: PR 23067 2006-11-01 05:28:41 +00:00
libssp Index: config/ChangeLog 2006-10-15 07:42:57 +00:00
libstdc++-v3 valarray-inst.cc (__gslice_to_index): Optimize performance. 2006-12-10 16:47:27 +00:00
maintainer-scripts * crontab: Add 4.2 branch. Set trunk to 4.3. 2006-10-21 03:15:08 +00:00
zlib Makefile.am: Add html and install-html stubs. 2006-06-13 21:15:06 +00:00
ABOUT-NLS
ChangeLog re PR bootstrap/30134 (Bootstrap error: "libffi has not been ported to powerpc64-apple-darwin8.8.0") 2006-12-10 20:32:30 +01:00
ChangeLog.tree-ssa
compile COPYING, [...]: Sync from upstream sources. 2005-07-14 01:08:13 +00:00
config-ml.in config-ml.in: Alter CCASFLAGS to include special multilib options the same as is done for CFLAGS. 2006-06-13 16:48:23 -04:00
config.guess config.guess: Import latest version. 2006-10-16 13:27:17 +10:00
config.rpath all files: Update FSF address. 2005-07-16 02:30:53 +00:00
config.sub config.guess: Import latest version. 2006-10-16 13:27:17 +10:00
configure re PR bootstrap/30134 (Bootstrap error: "libffi has not been ported to powerpc64-apple-darwin8.8.0") 2006-12-10 20:32:30 +01:00
configure.in re PR bootstrap/30134 (Bootstrap error: "libffi has not been ported to powerpc64-apple-darwin8.8.0") 2006-12-10 20:32:30 +01: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-ldflags libtool-ldflags: New script. 2006-01-03 00:30:27 +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 ltconfig: chmod 644 before ranlib during install. 2006-07-04 20:20:01 +00:00
ltmain.sh Port to hosts whose 'sort' and 'tail' implementations treat operands with leading '+' as file names... 2006-07-06 23:24:51 +00:00
MAINTAINERS MAINTAINERS (Non-Algorithmic Maintainers): New section. 2006-12-04 22:29:46 +00:00
Makefile.def Makefile.def (dependencies): Add dependency for install-target-libssp and install-target-libgomp on install-gcc. 2006-12-08 02:03:42 +00:00
Makefile.in Makefile.def (dependencies): Add dependency for install-target-libssp and install-target-libgomp on install-gcc. 2006-12-08 02:03:42 +00:00
Makefile.tpl re PR ada/29802 (wrong directory in makefile for ada and libada when srcdir=.) 2006-11-17 10:31:47 +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.