Go to file
Steven Bosscher e21aff8abe cgraph.h (cgraph_node): Add 'lowered' state.
* cgraph.h (cgraph_node): Add 'lowered' state.
	(cgraph_lower_function): Declare.
	* cgraphunit.c (cgraph_finalize_function): Initialize lowered flag.
	(cgraph_lower_function): New function.
	(cgraph_create_edges): Deal with lowered function bodies.
	(verify_cgraph_node): Likewise.
	(cgraph_analyze_function): Do lowering job.
	(cgraph_build_static_cdtor): Likewise.
	* function.h (struct function): Add saved_eh and saved_cfg.
	* integrate.c (copy_decl_for_inlining): Kill LABEL_DECL_UID field.
	* tree-cfg.c (fold_cond_expr_cond): Export.
	* tree-flow.h (fold_cond_expr_cond): Declare.
	* tree-inline.c: Include basic-block, ggc, tree-flow, except.h and
	pointer-set.
	(struct_inline_data): Kill fnd, first_inlined_fn, ret_label,
	in_target_cleanup_p, tree_pruner, tsi; add callee, caller and
	callee_cfun, block, eh_region, eh_region_offset.
	(inlining_p): New predicate.
	(remap_decl): Update for new inline_data; declare newly created inline
	vars in low gimple way.
	(copy_body_r): Update for new datastructure, simplify some of handling
	when we are in gimple; remap LABEL_DECLs for EH; copy TREE_BLOCK;
	deal with RESX_EXPRs.
	(copy_bb): New.
	(copy_edges_for_bb): Likewise.
	(remap_decl_1): New.
	(copy_cfg_body): New.
	(copy_generic_body): Rewrite to work on low gimple.
	(copy_body): Turn into simple wrapper around copy_cfg_body.
	(setup_one_parameter): Insert new statements into given basic block.
	(initialize_initialized_parameters): Likewise, reorganize way things are
	gimplified.
	(declare_return_variable): Update for new inline data datastructure.
	(inline_forbidden_p): Work on low gimple.
	(estimate_num_insns): Likewise.
	(expand_call_inline): Work on CFG.
	(push_cfun, pop_cfun): New functions.
	(cfun_stack): New stack.
	(add_lexical_block): New function.
	(gimple_expand_calls_inline): Work on basic block.
	(optimize_inline_calls): Likewise.
	(clone_body, save_body, unsave_ewpr_now): Update for new
	datastructures.
	(declare_inline_vars): Work on block instead of bind_expr.
	(inlining_p): New predicate.
	* tree-inline.h (push_cfun, pop_cfun): Declare.
	* tree-optimize.c: Include except.h
	(all_lowering_passes): New variable.
	(execute_fixup_cfg, pass_fixup_cfg): New pass.
	(init_tree_optimization_passes): Move some to all_lowering_passes.
	(tree_lowering_passes): New function.
	(tree_rest_of_compilation): Register cfg hooks; save/unsave eh.

Co-Authored-By: Dale Johannesen <dalej@apple.com>
Co-Authored-By: Jan Hubicka <jh@suse.cz>
Co-Authored-By: Stuart Hastings <stuart@apple.com>

From-SVN: r99840
2005-05-17 16:56:32 +00:00
INSTALL README: Update wrt. 2001-06-13 14:51:33 +00:00
boehm-gc * configure: Regenerate. 2005-05-10 01:43:00 +00:00
config re PR bootstrap/21230 (bootstrap failed unless bootstrap compiler is gcc.) 2005-05-12 12:22:08 +00:00
contrib * gennews (files): Update for GCC 4.0. 2005-04-17 12:19:23 +01:00
fastjar jartool.c (main): Indentation fixlet. 2005-03-28 18:14:00 +00:00
fixincludes fixlib.c (load_file_data): Use XRESIZVEC in lieu of xrealloc. 2005-05-15 18:28:36 +00:00
gcc cgraph.h (cgraph_node): Add 'lowered' state. 2005-05-17 16:56:32 +00:00
gnattools re PR ada/19959 (Can't compile gnattools for the cross targets) 2005-03-30 10:56:55 +02:00
include libiberty.h: Do not define empty basename prototype. 2005-05-12 19:29:53 +00:00
intl Update the address and telephone number of the FSF organization 2005-05-13 08:03:47 +00:00
libada Fix ada enabled "make html". 2005-04-27 18:39:03 -07:00
libcpp directives.c (#sccs table entry): Mark IN_I, consistent with #ident. 2005-05-12 18:31:38 +00:00
libffi * configure: Regenerate. 2005-05-10 01:43:00 +00:00
libgfortran configure.ac: Add additional warning flags. 2005-05-17 18:54:58 +02:00
libiberty getpwd.c: Remove unneeded prototype getcwd and move getwd so that it's only declared if... 2005-05-16 15:52:39 +02:00
libjava unwind-dw2-fde-glibc.c (base_from_cb_data, [...]): Use gcc_assert and gcc_unreachable as appropriate. 2005-05-17 15:37:47 +00:00
libmudflap * configure: Regenerate. 2005-05-10 01:43:00 +00:00
libobjc * configure: Regenerate. 2005-05-10 01:43:00 +00:00
libstdc++-v3 unwind-dw2-fde-glibc.c (base_from_cb_data, [...]): Use gcc_assert and gcc_unreachable as appropriate. 2005-05-17 15:37:47 +00:00
maintainer-scripts gcc-version.m4: Delete. 2005-03-16 06:04:10 +00:00
zlib * configure: Regenerate. 2005-05-10 01:43:00 +00:00
.cvsignore configure, .cvsignore: Revert previous change... 2002-06-19 18:10:09 +00:00
ABOUT-NLS intl: New directory; see intl/ChangeLog for details. 2003-07-04 18:18:54 +00:00
COPYING COPYING: Update to current ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes... 2000-12-18 21:47:20 +00:00
COPYING.LIB COPYING.LIB: Update to LGPL 2.1 from the FSF. 2001-01-29 13:32:47 +00:00
ChangeLog * ylwrap: Import from Automake 1.9.5. 2005-05-15 18:17:10 +00:00
ChangeLog.tree-ssa Merge tree-ssa-20020619-branch into mainline. 2004-05-13 02:41:07 -04:00
MAINTAINERS * MAINTAINERS (Write After Approval): Add self. 2005-05-13 15:21:49 +00:00
Makefile.def Makefile.def (bfd, [...]): Set lib_path. 2005-03-30 08:18:08 +00:00
Makefile.in Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Rename from STAGE_HOST_EXPORTS. 2005-05-04 15:41:56 +00:00
Makefile.tpl Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Rename from STAGE_HOST_EXPORTS. 2005-05-04 15:41:56 +00:00
README * README: Remove version number. 2001-06-13 19:48:09 +01:00
README.SCO * README.SCO: Update the URL. 2005-05-08 17:49:46 +00:00
compile install-sh, compile: Import from automake. 2004-11-16 01:04:30 +00:00
config-ml.in re PR bootstrap/18033 (--disable-aix64 doesn't remove ppc64 from multilib list) 2005-01-12 19:47:56 -05:00
config.guess config.guess, config.sub: Import from savannnah. 2004-11-16 00:57:01 +00:00
config.rpath intl: New directory; see intl/ChangeLog for details. 2003-07-04 18:18:54 +00:00
config.sub * config.sub: Update from master copy. 2005-04-22 08:58:48 +00:00
configure Oops, regenerate with updated tree. 2005-05-05 01:31:58 +00:00
configure.in configure.in: Always pass --target to target configures as otherwise rebuilds that do... 2005-05-05 00:59:26 +00:00
depcomp config.guess: New upstream version 2004-09-23 01:21:50 +00:00
install-sh install-sh, config.sub: Import from upstream. 2005-01-18 01:20:48 +00:00
libtool.m4 libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Use quotes on lt_cv_sys_max_cmd_len for now. 2005-05-10 01:31:58 +00:00
ltcf-c.sh ltconfig: Define file_list_spec. 2005-05-05 11:04:39 -04:00
ltcf-cxx.sh ltconfig: Define file_list_spec. 2005-05-05 11:04:39 -04:00
ltcf-gcj.sh ltconfig: Define file_list_spec. 2005-05-05 11:04:39 -04:00
ltconfig ltconfig: Define file_list_spec. 2005-05-05 11:04:39 -04:00
ltmain.sh ltconfig: Define file_list_spec. 2005-05-05 11:04:39 -04:00
missing missing: Import latest version from master repository. 2004-09-07 08:33:10 +00:00
mkdep
mkinstalldirs re PR bootstrap/11932 (Parallel bootstrap failure with sparc libiberty multilib) 2004-02-20 02:01:16 +00:00
move-if-change
symlink-tree * config-ml.in, symlink-tree: Add license. 2003-08-14 16:44:23 -04:00
ylwrap * ylwrap: Import from Automake 1.9.5. 2005-05-15 18:17:10 +00:00

README

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.