gcc.git
18 years agoThis commit was manufactured by cvs2svn to create tagr106029.157/tags/tree-ssa-before-20030923-merge
No Author [Fri, 26 Sep 2003 16:27:26 +0000 (26 16:27 +0000)]
This commit was manufactured by cvs2svn to create tag
'tree-ssa-before-20030923-merge'.

From-SVN: r71825

18 years agotree-ssa-pre.c (split_critical_edges): New function...
Daniel Berlin [Fri, 26 Sep 2003 16:27:26 +0000 (26 16:27 +0000)]
tree-ssa-pre.c (split_critical_edges): New function...

2003-09-25  Daniel Berlin  <dberlin@dberlin.org>

* tree-ssa-pre.c (split_critical_edges): New function, temporarily
disabled until some edge splitting/insertion problems are fixed.
(opnum_of_ephi): Take an edge argument, constify. Use hash table lookup.
Update all callers.
(ephi_pindex_eq): New function.
(ephi_pindex_hash): New function.
(ephi_pindex_htab): New variable.
(add_ephi_pred): Update hash table.
(expr_phi_insertion): Don't free the bitmap returned by compute_idfs
anymore.
(idfs_cache): New variable.
(compute_idfs): Rewrite to use cache as much as possible, and not
recompute when we can avoid it.

From-SVN: r71824

18 years agotree-ssa-dom.c (struct var_value_d): Remove.
Andrew MacLeod [Fri, 26 Sep 2003 13:08:48 +0000 (26 13:08 +0000)]
tree-ssa-dom.c (struct var_value_d): Remove.

2003-09-26  Andrew MacLeod  <amacloeod@redhat.com>

* tree-ssa-dom.c (struct var_value_d): Remove.
(const_and_copies): Change to a varray_type.
(tree_ssa_dominator_optimize): Initialize const_and_copies as a varray.
(optimize_block): Simply set the value in const_and_copies.
(dump_dominator_optimization_stats): No hash stats for const_and_copies.
(record_cond_is_true, record_cond_is_false,
simplify_rhs_and_lookup_avail_expr, update_rhs_and_lookup_avail_expr):
Parameter const_and_copies is now a varray_type.
(var_value_hash, var_value_eq): Remove.
(get_value_for, set_value_for): Access varray elements.
(get_eq_expr_value): Parameter const_and_copies is now a varray_type.

* tree-cfg.c (handle_switch_split): Update container of previous stmt.

From-SVN: r71818

18 years agotree-alias-ander.c: Fixup comment spacing.
Daniel Berlin [Fri, 26 Sep 2003 00:44:35 +0000 (26 00:44 +0000)]
tree-alias-ander.c: Fixup comment spacing.

2003-09-25  Daniel Berlin  <dberlin@dberlin.org>

* tree-alias-ander.c:  Fixup comment spacing.
(andersen_op_assign):  Handle >2 operands case.

From-SVN: r71809

18 years agoDaily bump.
GCC Administrator [Fri, 26 Sep 2003 00:16:10 +0000 (26 00:16 +0000)]
Daily bump.

From-SVN: r71807

18 years agotree-dfa.c (compute_immediate_uses_for): Split up in two separate functions, one...
Steven Bosscher [Thu, 25 Sep 2003 19:34:50 +0000 (25 19:34 +0000)]
tree-dfa.c (compute_immediate_uses_for): Split up in two separate functions, one for PHIs and one for normal statements.

* tree-dfa.c (compute_immediate_uses_for): Split up in two
separate functions, one for PHIs and one for normal statements.
(compute_immediate_uses_for_phi): New.
(compute_immediate_uses_for_stmt): New.

From-SVN: r71794

18 years ago* gcc.dg/tree-ssa/20030922-2.c: New test.
Jeff Law [Thu, 25 Sep 2003 18:17:36 +0000 (25 12:17 -0600)]
* gcc.dg/tree-ssa/20030922-2.c: New test.

From-SVN: r71787

18 years agotree-ssa-dom.c (optimize_block): When EQ_EXPR_VALUE has the form DEST = SRC where...
Jeff Law [Thu, 25 Sep 2003 18:13:20 +0000 (25 12:13 -0600)]
tree-ssa-dom.c (optimize_block): When EQ_EXPR_VALUE has the form DEST = SRC where both DEST and SRC are...

       * tree-ssa-dom.c (optimize_block): When EQ_EXPR_VALUE has the
        form DEST = SRC where both DEST and SRC are SSA_NAMEs also
        record SRC = DEST into the const and copies table.

        * tree-ssa-dom.c (optimize_block): Change tests which checked
        for SSA_VAR_P to only allow SSA_NAMEs.
        (get_value_for, set_value_for): Likewise.
        (lookup_avail_expr, get_eq_expr_value): Likewise.

From-SVN: r71785

18 years ago* trans.c, utils.c: Revert 2003-01-15 change.
Jason Merrill [Thu, 25 Sep 2003 14:48:31 +0000 (25 10:48 -0400)]
* trans.c, utils.c: Revert 2003-01-15 change.

From-SVN: r71778

18 years agotree-ssa-dce.c (pdom_info, [...]): Remove.
Andrew MacLeod [Thu, 25 Sep 2003 13:48:13 +0000 (25 13:48 +0000)]
tree-ssa-dce.c (pdom_info, [...]): Remove.

2003-09-25  Andrew MacLeod  <amacleod@redhat.com>

* tree-ssa-dce.c (pdom_info, needed_stmts): Remove.
(NECESSARY): Define.
(necessary_p): Check bit instead of hash table lookup.
(clear_necessary): New. Clear necessary bit.
(mark_necessary): Use bit instead of hash table. No control lookup.
(mark_tree_necessary): Remove.
(find_useful_stmts): Clear necessary bit before checking it.
(stmt_useful_p): Remove GOTO_EXPR case. Check arms of COND_EXPR for GOTO.  All other control flow stmts are necessary.
(process_worklist): Dont look for control parents.
(remove_dead_stmts): No dominattor info is necessary.
(remove_dead_stmt): Don't need BB any more. Remove COND_EXPR by changing
the condition to 'if (0)'. Abort on other control flow.
(tree_ssa_dce): No longer need the hash table.
(remove_conditional): Remove.

From-SVN: r71774

18 years agotree-flow.h: Declare next_ssa_version.
Andreas Schwab [Thu, 25 Sep 2003 11:12:50 +0000 (25 11:12 +0000)]
tree-flow.h: Declare next_ssa_version.

* tree-flow.h: Declare next_ssa_version.
* tree-ssa-ccp.c: Remove conflicting declaration.
* tree-ssa-live.c: Likewise.
* tree.c (make_ssa_name): Likewise.

From-SVN: r71770

18 years ago20030708-1.c: Expect all IF conditions to be removed.
Jeff Law [Thu, 25 Sep 2003 05:36:27 +0000 (24 23:36 -0600)]
20030708-1.c: Expect all IF conditions to be removed.

        * gcc.dg/tree-ssa/20030708-1.c: Expect all IF conditions to be
        removed.
        * gcc.dg/tree-ssa/20030808-1.c: Similarly.

From-SVN: r71754

18 years agotree-ssa-dom.c (optimize_block): Create infrastructure for tracking const_and_copies...
Jeff Law [Thu, 25 Sep 2003 05:34:39 +0000 (24 23:34 -0600)]
tree-ssa-dom.c (optimize_block): Create infrastructure for tracking const_and_copies equivalences which...

* tree-ssa-dom.c (optimize_block): Create infrastructure for
tracking const_and_copies equivalences which disappear when
we leave the current block.  Use it for equivalences created
by EQ_EXPR_VALUE.  Follow use-def chains for EQ_EXPR_VALUE
equivalences and see if certain NOP_EXPRs can be ignored
to create a block-local equivalence for const_and_copies.
(optimize_stmt): Do not get confused by a cast of the return
value from alloca or the address of a non-weak decl.

From-SVN: r71753

18 years agoDaily bump.
GCC Administrator [Thu, 25 Sep 2003 00:16:10 +0000 (25 00:16 +0000)]
Daily bump.

From-SVN: r71747

18 years agotree.h (DECL_SOURCE_LOCATION): Resurrect.
Jason Merrill [Wed, 24 Sep 2003 21:43:16 +0000 (24 17:43 -0400)]
tree.h (DECL_SOURCE_LOCATION): Resurrect.

        * tree.h (DECL_SOURCE_LOCATION): Resurrect.
        (DECL_SOURCE_FILE, DECL_SOURCE_LINE): Likewise.
        (EXPR_LOCUS): Renamed from TREE_LOCUS.  Null for non-exprs.
        (SET_EXPR_LOCUS): New macro.
        (EXPR_FILENAME): Renamed from TREE_FILENAME.
        (EXPR_LINENO): Renamed from TREE_LINENO.
        (struct tree_common): Remove locus field.
        (struct tree_decl): Re-add locus field.
        (struct tree_expr): Add locus field.
        * c-aux-info.c, c-decl.c, coverage.c, c-parse.in, dbxout.c,
        diagnostic.c, dwarf2out.c, expr.c, function.c, gimplify.c,
        integrate.c, print-tree.c, stmt.c, tree.c, tree-cfg.c,
        tree-dump.c, tree-flow-inline.h, config/alpha/alpha.c,
        config/mips/mips.c, objc/objc-act.c: Adjust.
cp/
        * class.c, decl.c, decl2.c, error.c, init.c, lex.c, method.c,
        pt.c, semantics.c, tree.c: Revert from TREE_LOCUS to
        DECL_SOURCE_LOCATION.
f/
        * com.c, ste.c: Revert earlier change.
fortran/
        * f95-lang.c, trans-decl.c: Use DECL_SOURCE_LOCATION instead of
        TREE_LOCUS.
java/
        * decl.c, jcf-parse.c, jcf-write.c, parse.h, parse.y, resource.c:
        Revert from TREE_LOCUS to DECL_SOURCE_LOCATION.
treelang/
        * treetree.c: Revert 2003-01-15 change.

From-SVN: r71739

18 years agotree-ssa-ccp.c (enum latticevalue): Add UNINITIALIZED.
Andrew MacLeod [Wed, 24 Sep 2003 14:47:35 +0000 (24 14:47 +0000)]
tree-ssa-ccp.c (enum latticevalue): Add UNINITIALIZED.

* tree-ssa-ccp.c (enum latticevalue): Add UNINITIALIZED.
(const_values, struct value_map_d): Remove hash table structures.
(value_vector): New array of values.
(get_value): Use value_vector instead of hash table. Mark inline.
(visit_phi_node): Ignore arguments if the PHI result is already VARYING.
(initialize): Initialize value vector instead of hash table.
(finalize): Free value vector instead of hash table.
(add_var_to_ssa_edges_worklist): Don't add to worklist if
DONT_SIMULATE_AGAIN flag is set.
(value_map_hash, value_map_eq): Delete.

From-SVN: r71734

18 years agofold-const.c (fold_read_from_constant_string): New function.
Jeff Law [Wed, 24 Sep 2003 08:04:05 +0000 (24 02:04 -0600)]
fold-const.c (fold_read_from_constant_string): New function.

* fold-const.c (fold_read_from_constant_string): New function.
* tree.h (fold_read_from_constant_string): Prototype.
* expr.c (expand_expr, case INDIRECT_REF):  Use it.
(expand_expr, case ARRAY_REF): Likewise.  Put checking code
inside an ENABLE_CHECKING.
* tree-ssa-ccp.c (fold_stmt): Use fold_read_from_constant_string.
* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.

From-SVN: r71730

18 years ago* gcc.dg/tree-ssa/20030807-9.c: Add additional test.
Jeff Law [Wed, 24 Sep 2003 07:54:01 +0000 (24 01:54 -0600)]
* gcc.dg/tree-ssa/20030807-9.c: Add additional test.

From-SVN: r71729

18 years agoDaily bump.
GCC Administrator [Wed, 24 Sep 2003 00:16:12 +0000 (24 00:16 +0000)]
Daily bump.

From-SVN: r71707

18 years agoARG! For real, revert unintended changes.
Richard Henderson [Tue, 23 Sep 2003 20:51:36 +0000 (23 13:51 -0700)]
ARG!  For real, revert unintended changes.

From-SVN: r71697

18 years agoRevert accidental commit.
Richard Henderson [Tue, 23 Sep 2003 20:50:10 +0000 (23 13:50 -0700)]
Revert accidental commit.

From-SVN: r71696

18 years agotree-inline.c (remap_save_expr): Map new save_expr to identity rather than to error_m...
Richard Henderson [Tue, 23 Sep 2003 20:05:12 +0000 (23 13:05 -0700)]
tree-inline.c (remap_save_expr): Map new save_expr to identity rather than to error_mark_node.

        * tree-inline.c (remap_save_expr): Map new save_expr to identity
        rather than to error_mark_node.

From-SVN: r71694

18 years agotree-ssa-dom.c (optimize_block): Ignore "useless" type conversions in SWITCH_COND...
Jeff Law [Tue, 23 Sep 2003 13:37:56 +0000 (23 07:37 -0600)]
tree-ssa-dom.c (optimize_block): Ignore "useless" type conversions in SWITCH_COND when...

* tree-ssa-dom.c (optimize_block): Ignore "useless" type
conversions in SWITCH_COND when creating equivalenecs at
case labels.

From-SVN: r71682

18 years ago* gcc.dg/tree-ssa/20030922-1.c: New test.
Jeff Law [Tue, 23 Sep 2003 07:38:11 +0000 (23 01:38 -0600)]
* gcc.dg/tree-ssa/20030922-1.c: New test.

From-SVN: r71681

18 years agotree-ssa-dom.c (optimize_stmt): Addresses of non-weak symbols as well as dynamically...
Jeff Law [Tue, 23 Sep 2003 07:21:56 +0000 (23 01:21 -0600)]
tree-ssa-dom.c (optimize_stmt): Addresses of non-weak symbols as well as dynamically allocated stack space are...

* tree-ssa-dom.c (optimize_stmt): Addresses of non-weak symbols
as well as dynamically allocated stack space are always nonzero.

From-SVN: r71679

18 years ago* gcc.dg/tree-ssa/20030807-2.c: Add additional cases to this test.
Jeff Law [Tue, 23 Sep 2003 07:18:38 +0000 (23 01:18 -0600)]
* gcc.dg/tree-ssa/20030807-2.c: Add additional cases to this test.

From-SVN: r71678

18 years agotree-cfg.c (handle_switch_split): Properly mark the fallthru edge from SRC to DEST...
Jeff Law [Tue, 23 Sep 2003 05:26:49 +0000 (22 23:26 -0600)]
tree-cfg.c (handle_switch_split): Properly mark the fallthru edge from SRC to DEST with EDGE_FALLTHRU.

* tree-cfg.c (handle_switch_split): Properly mark the fallthru
edge from SRC to DEST with EDGE_FALLTHRU.

From-SVN: r71676

18 years agoSync with mainline to include wanted_name type lookup
Jeff Law [Tue, 23 Sep 2003 05:21:09 +0000 (22 23:21 -0600)]
Sync with mainline to include wanted_name type lookup
(and thus fix a couple hundred failures in format.exp).

From-SVN: r71675

18 years agoDaily bump.
GCC Administrator [Tue, 23 Sep 2003 00:16:11 +0000 (23 00:16 +0000)]
Daily bump.

From-SVN: r71672

18 years agotree-flow.h (struct bb_ann_d): Add erefs array.
Daniel Berlin [Mon, 22 Sep 2003 22:34:11 +0000 (22 22:34 +0000)]
tree-flow.h (struct bb_ann_d): Add erefs array.

2003-09-22  Daniel Berlin  <dberlin@dberlin.org>

* tree-flow.h (struct bb_ann_d): Add erefs array.
* tree-ssa-pre.c (handle_bb_creation): Remove ei parameter.
Update caller.
(struct expr_info): Remove erefs array.
(append_eref_to_block): New function.
(clear_all_eref_arrays): Ditto.
(expr_phi_insertion): Use append_eref_to_block.
(insert_occ_in_preorder_dt_order_1): Ditto.
(subst_phis): Only copy expression, not the containing EUSE/EPHI.
Update all callers to reflect this.
(compute_will_be_avail): Update for per-block eref array.
(handle_bb_creation): Ditto.
(pre_expression): Ditto.
(tree_perform_ssapre): Clear eref arrays when done with expression.

From-SVN: r71668

18 years ago* tree-cfg.c (dump_tree_bb): Remove superlfuous newlines.
Diego Novillo [Mon, 22 Sep 2003 18:23:05 +0000 (22 18:23 +0000)]
* tree-cfg.c (dump_tree_bb): Remove superlfuous newlines.

From-SVN: r71661

18 years agoUse %J in diagnostics.
Richard Henderson [Mon, 22 Sep 2003 16:54:51 +0000 (22 09:54 -0700)]
Use %J in diagnostics.

From-SVN: r71657

18 years agoMAINTAINERS.tree-ssa: Add Andrew MacLeod as global maintainer for the branch.
Diego Novillo [Mon, 22 Sep 2003 16:30:48 +0000 (22 16:30 +0000)]
MAINTAINERS.tree-ssa: Add Andrew MacLeod as global maintainer for the branch.

* MAINTAINERS.tree-ssa: Add Andrew MacLeod as global maintainer for
the branch.

From-SVN: r71656

18 years agotree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Break out of optimize_stmt.
Jeff Law [Mon, 22 Sep 2003 01:41:45 +0000 (21 19:41 -0600)]
tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Break out of optimize_stmt.

* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Break out of
optimize_stmt.  Follow the def-use chains back for certain expressions
to see if we can simplify the RHS of the current expression based
on earlier expressions.

From-SVN: r71640

18 years agoDaily bump.
GCC Administrator [Mon, 22 Sep 2003 00:16:12 +0000 (22 00:16 +0000)]
Daily bump.

From-SVN: r71639

18 years agotree-dfa.c (compute_alias_sets): Use TDI_alias instead of TDI_ssa.
Diego Novillo [Sun, 21 Sep 2003 22:14:30 +0000 (21 22:14 +0000)]
tree-dfa.c (compute_alias_sets): Use TDI_alias instead of TDI_ssa.

* tree-dfa.c (compute_alias_sets): Use TDI_alias instead of
TDI_ssa.
* tree-dump.c (dump_files): Add enties for TDI_alias, TDI_ssa1,
TDI_dom1, TDI_ssa2, TDI_dce1, TDI_ssa3, TDI_dom2, TDI_ssa4,
TDI_ssa5 and TDI_dce2.
Remove entries for TDI_ssa, TDI_dom and TDI_dce.
* tree.h (enum tree_dump_index): Similarly.
(TDF_ALIAS): Remove.
(TDF_VOPS): Change value.
* doc/invoke.texi (-fdump-tree-alias): Document.
* tree-flow.h (tree_warn_uninitialized): Remove unused variable.
(rewrite_into_ssa): Add enum tree_dump_index argument.  Update all
callers.
(rewrite_out_of_ssa): Likewise.
(tree_perform_ssa_pre): Likewise.
(tree_ssa_dominator_optimize): Likewise.
(tree_ssa_dce): Likewise.
(tree_ssa_copyprop): Likewise.
(tree_ssa_ccp): Likewise.
Add sbitmap argument.
(tree_compute_must_alias): Likewise.
(mark_new_vars_to_rename): Declare.
* tree-must-alias.c (tree_compute_must_alias): Do not call
rewrite_into_ssa.
Remove local vars_to_rename.  Use new argument instead.
* tree-optimize.c (optimize_function_tree): Re-write optimization
ordering to support passes that need the SSA form updated.
Call tree_ssa_dominator_optimize.
Re-arrange optimization ordering.
* tree-ssa-ccp.c (substitute_and_fold): Take new argument
vars_to_rename.
Call mark_new_vars_to_rename.
(visit_phi_node): Move variable 'val' into the right scope.
(initialize): Move call dump_begin ...
(tree_ssa_ccp): ... here.
* tree-ssa-dom.c (mark_new_vars_to_rename): Declare extern.
Make sure that variables in virtual operands aren't marked
unnecessarily.
* tree-ssa.c (rewrite_into_ssa): Do not call
tree_ssa_dominator_optimize.

* tree-ssa-dce.c (dom_info): Remove unused variable.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): If the CFG has been
altered, call cleanup_tree_cfg.
Call cleanup_tree_cfg before returning.
* tree-ssa-pre.c (tree_perform_ssapre): Call get_stmt_operands
before processing the statement.
* tree-ssa-dom.c (thread_edge): Remove attribute EDGE_FALLTHRU from
edge.

testsuite/ChangeLog.tree-ssa:

* gcc.dg/tree-ssa/20030920-1.c: New test.

* gcc.dg/tree-ssa/20030703-2.c: Expect one if() conditional after
the second dominator pass.
* gcc.dg/tree-ssa/20030807-1.c: Likewise.
* gcc.dg/tree-ssa/20030807-1.c: Add return statement to avoid DCE
removing the whole body.
Expect two if() statements after the second dominator pass.
* gcc.dg/tree-ssa/20030807-7.c: Explain why we fail to optimize.

* gcc.dg/tree-ssa/20030530-2.c: Adjust to use -fdump-tree-dom2.
* gcc.dg/tree-ssa/20030611-1.c: Likewise.
* gcc.dg/tree-ssa/20030703-1.c: Likewise
* gcc.dg/tree-ssa/20030703-2.c: Likewise.
* gcc.dg/tree-ssa/20030708-1.c: Likewise.
* gcc.dg/tree-ssa/20030709-2.c: Likewise.
* gcc.dg/tree-ssa/20030709-3.c: Likewise.
* gcc.dg/tree-ssa/20030710-1.c: Likewise.
* gcc.dg/tree-ssa/20030711-1.c: Likewise.
* gcc.dg/tree-ssa/20030711-2.c: Likewise.
* gcc.dg/tree-ssa/20030711-3.c: Likewise.
* gcc.dg/tree-ssa/20030714-1.c: Likewise.
* gcc.dg/tree-ssa/20030714-2.c: Likewise.
* gcc.dg/tree-ssa/20030729-1.c: Likewise.
* gcc.dg/tree-ssa/20030730-1.c: Likewise.
* gcc.dg/tree-ssa/20030730-2.c: Likewise.
* gcc.dg/tree-ssa/20030731-1.c: Likewise.
* gcc.dg/tree-ssa/20030807-1.c: Likewise.
* gcc.dg/tree-ssa/20030807-10.c: Likewise.
* gcc.dg/tree-ssa/20030807-11.c: Likewise.
* gcc.dg/tree-ssa/20030807-2.c: Likewise.
* gcc.dg/tree-ssa/20030807-3.c: Likewise.
* gcc.dg/tree-ssa/20030807-4.c: Likewise.
* gcc.dg/tree-ssa/20030807-5.c: Likewise.
* gcc.dg/tree-ssa/20030807-6.c: Likewise.
* gcc.dg/tree-ssa/20030807-7.c: Likewise.
* gcc.dg/tree-ssa/20030807-8.c: Likewise.
* gcc.dg/tree-ssa/20030807-9.c: Likewise.
* gcc.dg/tree-ssa/20030808-1.c: Likewise.
* gcc.dg/tree-ssa/20030814-1.c: Likewise.
* gcc.dg/tree-ssa/20030814-2.c: Likewise.
* gcc.dg/tree-ssa/20030814-3.c: Likewise.
* gcc.dg/tree-ssa/20030814-4.c: Likewise.
* gcc.dg/tree-ssa/20030814-5.c: Likewise.
* gcc.dg/tree-ssa/20030814-6.c: Likewise.
* gcc.dg/tree-ssa/20030814-7.c: Likewise.
* gcc.dg/tree-ssa/20030815-1.c: Likewise.
* gcc.dg/tree-ssa/20030824-2.c: Likewise.
* gcc.dg/tree-ssa/20030907-1.c: Likewise.

From-SVN: r71635

18 years agotree-ssa-dom.c (optimize_block): Rework code to propagate values into PHI nodes to...
Jeff Law [Sun, 21 Sep 2003 20:11:53 +0000 (21 14:11 -0600)]
tree-ssa-dom.c (optimize_block): Rework code to propagate values into PHI nodes to be more efficient.

        * tree-ssa-dom.c (optimize_block): Rework code to propagate values
        into PHI nodes to be more efficient.

From-SVN: r71633

18 years agoMake-lang.in (F95_OBJS): Add fortran/data.o.
Lifang Zeng [Sun, 21 Sep 2003 14:34:10 +0000 (21 14:34 +0000)]
Make-lang.in (F95_OBJS): Add fortran/data.o.

* Make-lang.in (F95_OBJS): Add fortran/data.o.
* array.c (gfc_inser_constructor): New function.
(gfc_get_constructor): New function.
(gfc_free_constructor): Initialize offset and repeat.
(iterator_stack): Remove.
(expand_info): Add offset, component and repeat fields.
(expand_constructor): Set them.
(expand): Set new fields.
(gfc_copy_constructor): Ditto. Avoid recursion.
* gfortran.h: Add prototypes for new functions.
(gfc_constructor): Add offset, component and repeat.
(iteratio_stack): Move to here.
* resolve.c (check_data_variable): Convert data values into variable
initializers.
(traverse_data_list): Build implicit loop chain.
(gfc_resolve): Ditto.
* trans-array.c (gfc_conv_array_intializer): Handle repeat count.
* trans-decl.c (gfc_get_symbol_decl): Use gfc_conv_structure.
* trans-expr.c (gfc_conv_structure): Handle array initializers.
(gfc_conv_expr): Update to match.
* trans.h (gfc_conv_structure): Declare.

* gfortran.fortran-torture/execute/data.f90: New test.

Co-Authored-By: Paul Brook <paul@nowt.org>
From-SVN: r71626

18 years agoDaily bump.
GCC Administrator [Sun, 21 Sep 2003 00:16:11 +0000 (21 00:16 +0000)]
Daily bump.

From-SVN: r71616

18 years agotrans.h: Add declarations for gfor_fndecl_si_kind and gfor_fndecl_sr_kind.
Kejia Zhao [Sat, 20 Sep 2003 12:37:44 +0000 (20 12:37 +0000)]
trans.h: Add declarations for gfor_fndecl_si_kind and gfor_fndecl_sr_kind.

* trans.h: Add declarations for gfor_fndecl_si_kind and
gfor_fndecl_sr_kind.
* trans-decl.c (g95_build_intrinsic_function_decls): Build them.
* trans-intrinsic.c (g95_conv_intrinsic_si_kind): New function.
(g95_conv_intrinsic_sr_kind): New function.
(g95_conv_intrinsic_function): Add SELECTED_INT_KIND and
SELECTED_REAL_KIND.

* intrinsics/selected_kind.f90: New file.
* Makefile.am: Add it.
* Makefile.in: regenerate.

* gfortran.fortran-torture/execute/intrisic_si_kind.f90: New test.
* gfortran.fortran-torture/execute/intrisic_sr_kind.f90: New test.

From-SVN: r71604

18 years agotree-flow.h (struct dataflow_d): Remove reaching fields, add 2 element vector of...
Andrew MacLeod [Sat, 20 Sep 2003 12:31:53 +0000 (20 12:31 +0000)]
tree-flow.h (struct dataflow_d): Remove reaching fields, add 2 element vector of trees.

2003-09-20  Andrew MacLeod  <amacleod@redhat.com>

* tree-flow.h (struct dataflow_d): Remove reaching fields, add 2 element
vector of trees.
* tree-flow-inline.h (immediate_uses): Rename to get_immediate_uses,
return a dataflow object.
(reaching_defs): Remove until needed.
(num_immediate_uses): New. Return number of immediate uses.
(immediate_use): New. Return a specified immediate use.
* tree-dfa.c (add_immediate_use): Use new fields.
(dump_immediate_uses_for): Use new interface.
(create_phi_node): Chain to start of list.
* tree-ssa-ccp.c (add_var_to_ssa_edges_worklist): Use new interface.
* tree-ssa.c (compute_global_livein): Loop interchange.

From-SVN: r71600

18 years agoFile missing from last commit.
Paul Brook [Sat, 20 Sep 2003 10:01:57 +0000 (20 10:01 +0000)]
File missing from last commit.

* intrinsics/random.c: New file.

From-SVN: r71599

18 years agoDaily bump.
GCC Administrator [Sat, 20 Sep 2003 00:16:10 +0000 (20 00:16 +0000)]
Daily bump.

From-SVN: r71596

18 years agojust check for y+x
Jason Merrill [Fri, 19 Sep 2003 20:31:00 +0000 (19 16:31 -0400)]
just check for y+x

From-SVN: r71590

18 years agorandom.c: New file.
Lars Segerlund [Fri, 19 Sep 2003 19:45:25 +0000 (19 21:45 +0200)]
random.c: New file.

* intrinsics/random.c: New file.
* Makefile.am (gfor_hemper_src): Add it.
(gfor_specific_c): Fix typo.

Co-Authored-By: Paul Brook <paul@nowt.org>
From-SVN: r71586

18 years ago* All: rename g95->gfc.
Paul Brook [Fri, 19 Sep 2003 19:11:12 +0000 (19 19:11 +0000)]
* All: rename g95->gfc.

From-SVN: r71583

18 years agoFix thinko in ChangeLog entry.
Jeff Law [Fri, 19 Sep 2003 16:44:57 +0000 (19 10:44 -0600)]
Fix thinko in ChangeLog entry.

From-SVN: r71579

18 years agotree-ssa-dom.c (optimize_stmt): Allow optimizing the RHS of a MODIFY_EXPR even if...
Jeff Law [Fri, 19 Sep 2003 13:50:41 +0000 (19 07:50 -0600)]
tree-ssa-dom.c (optimize_stmt): Allow optimizing the RHS of a MODIFY_EXPR even if...

        * tree-ssa-dom.c (optimize_stmt): Allow optimizing the RHS of a
        MODIFY_EXPR even if we can't require any equivalences created by
        the MODIFY_EXPR.  Move code to simplify ABS_EXPR, TRUNC_DIV_EXPR
        and TRUNC_MOD_EXPR to an earlier position.

From-SVN: r71573

18 years agotree-ssa-ccp.c (cfg_edges): Rename to cfg_blocks.
Andrew MacLeod [Fri, 19 Sep 2003 12:08:47 +0000 (19 12:08 +0000)]
tree-ssa-ccp.c (cfg_edges): Rename to cfg_blocks.

2003-09-19  Andrew MacLeod  <amacleod@redhat.com>

* tree-ssa-ccp.c (cfg_edges): Rename to cfg_blocks.
(cfg_blocks_num, cfg_blocks_head, cfg_blocks_tail): New. Queue markers.
(bb_in_list): New. Vector indicating if a BB is in the cfg_blocks list.
(tree_ssa_ccp): Use new routines.
(add_control_edge): Add to cfg_blocks list.
(initialize): Initialize new variables.
(finalize): Free allocations.
(cfg_blocks_empty): New. Is cfg_blocks queue list.
(cfg_blocks_add): New. Add a basic block to cfg_blocks list.
(cfg_blocks_pop): New. Get a a basic_block form the list.

From-SVN: r71566

18 years agotree-cfg.c (struct rusv_data): Add may_throw, may_branch.
Richard Henderson [Fri, 19 Sep 2003 10:46:52 +0000 (19 03:46 -0700)]
tree-cfg.c (struct rusv_data): Add may_throw, may_branch.

        * tree-cfg.c (struct rusv_data): Add may_throw, may_branch.
        (remove_useless_stmts_and_vars_1): Set them.
        (remove_useless_stmts_and_vars_goto): Likewise.
        (remove_useless_stmts_and_vars_tf): Transform to compound_expr
        if only fallthrough.
        (remove_useless_stmts_and_vars_tc): Kill region if nothrow.
        Detect catch regions that don't propagate exceptions.
        (remove_useless_stmts_and_vars): Zero entire data struct.

From-SVN: r71565

18 years agotree-eh.c (lower_try_finally_dup_block): New.
Richard Henderson [Fri, 19 Sep 2003 06:15:05 +0000 (18 23:15 -0700)]
tree-eh.c (lower_try_finally_dup_block): New.

        * tree-eh.c (lower_try_finally_dup_block): New.
        (honor_protect_cleanup_actions, lower_try_finally_copy): Use it.

From-SVN: r71558

18 years agotree-ssa-dom.c (lookup_avail_expr): New argument which indicates if the expression...
Jeff Law [Fri, 19 Sep 2003 02:34:11 +0000 (18 20:34 -0600)]
tree-ssa-dom.c (lookup_avail_expr): New argument which indicates if the expression should be entered into the hash...

        * tree-ssa-dom.c (lookup_avail_expr): New argument which indicates
        if the expression should be entered into the hash table.  All
        callers updated.
        (update_rhs_and_lookup_avail_expr): New function factored out
        of optimize_stmt.

From-SVN: r71556

18 years agoDaily bump.
GCC Administrator [Fri, 19 Sep 2003 00:16:10 +0000 (19 00:16 +0000)]
Daily bump.

From-SVN: r71553

18 years agotree-cfg (remove_useless_stmts_and_vars_cond, [...]): Break out of ...
Richard Henderson [Thu, 18 Sep 2003 22:47:34 +0000 (18 15:47 -0700)]
tree-cfg (remove_useless_stmts_and_vars_cond, [...]): Break out of ...

        * tree-cfg (remove_useless_stmts_and_vars_cond,
        remove_useless_stmts_and_vars_tf,
        remove_useless_stmts_and_vars_tc,
        remove_useless_stmts_and_vars_bind,
        remove_useless_stmts_and_vars_goto): Break out of ...
        (remove_useless_stmts_and_vars_1): ... here.  Rename to _1;
        take and use struct rusv_data.
        (remove_useless_stmts_and_vars): New.  Loop until no change.
        * tree-flow.h (remove_useless_stmts_and_vars): Update decl.
        * tree-ssa.c (rewrite_out_of_ssa): Don't loop here.

From-SVN: r71550

18 years ago* tree-pretty-print.c (dump_generic_node): Don't double indent asms.
Richard Henderson [Thu, 18 Sep 2003 22:01:17 +0000 (18 15:01 -0700)]
* tree-pretty-print.c (dump_generic_node): Don't double indent asms.

From-SVN: r71548

18 years ago* io/write.c (output_float): Fix bug of FMT_E, Add comments.
XiaoQiang Zhang [Thu, 18 Sep 2003 20:37:18 +0000 (18 20:37 +0000)]
* io/write.c (output_float): Fix bug of FMT_E, Add comments.

From-SVN: r71538

18 years agotree-eh.c: Include langhooks.h, remove errors.h.
Richard Henderson [Thu, 18 Sep 2003 20:25:38 +0000 (18 13:25 -0700)]
tree-eh.c: Include langhooks.h, remove errors.h.

        * tree-eh.c: Include langhooks.h, remove errors.h.
        (decide_copy_try_finally): Use estimate_num_insns to choose
        between copy and switch implementations.

        * c-common.c (c_estimate_num_insns): Take an expr, not a decl.
        * tree-inline.c (limits_allow_inlining): Pass it the body of the decl.
        * java/lang.c (java_estimate_num_insns): Take an expr, not a decl.

From-SVN: r71536

18 years agotree.h (commutative_tree_code, [...]): Declare
Jeff Law [Thu, 18 Sep 2003 18:25:20 +0000 (18 12:25 -0600)]
tree.h (commutative_tree_code, [...]): Declare

        * tree.h (commutative_tree_code, associative_tree_code): Declare
        * tree.c (commutative_tree_code, associative_tree_code): New
        functions.
        (iterative_hash_expr): Use commutative_tree_code.
        * fold-const.c (operand_equal_p): Use commutative_tree_code
        rather than inlining the communitivy check.
        (fold, nondestructive_fold_binary_to_constant): Similarly.

From-SVN: r71531

18 years agoMakefile.in (tree-eh.o): Add dependency on errors.h
Diego Novillo [Thu, 18 Sep 2003 14:14:59 +0000 (18 10:14 -0400)]
Makefile.in (tree-eh.o): Add dependency on errors.h

* Makefile.in (tree-eh.o): Add dependency on errors.h
* tree-eh.c: Include errors.h

From-SVN: r71522

18 years agotree-cfg.c (remove_useless_stmts_and_vars): Revert last change.
Richard Henderson [Thu, 18 Sep 2003 08:39:34 +0000 (18 01:39 -0700)]
tree-cfg.c (remove_useless_stmts_and_vars): Revert last change.

        * tree-cfg.c (remove_useless_stmts_and_vars): Revert last change.
        * tree-flow.h, tree-ssa.c: Likewise.

From-SVN: r71513

18 years ago* tree-eh.c (decide_copy_try_finally): Remove forgotten debug code.
Richard Henderson [Thu, 18 Sep 2003 08:09:56 +0000 (18 01:09 -0700)]
* tree-eh.c (decide_copy_try_finally): Remove forgotten debug code.

From-SVN: r71510

18 years agotree-ssa-pre.c (pick_ssa_name): New function.
Daniel Berlin [Thu, 18 Sep 2003 03:56:25 +0000 (18 03:56 +0000)]
tree-ssa-pre.c (pick_ssa_name): New function.

        * tree-ssa-pre.c (pick_ssa_name): New function.
        (code_motion): Use it.

From-SVN: r71505

18 years ago* gcc.c-torture/compile/20030917-1.c: New test.
Jeff Law [Thu, 18 Sep 2003 03:53:14 +0000 (17 21:53 -0600)]
* gcc.c-torture/compile/20030917-1.c: New test.

From-SVN: r71504

18 years agotree-ssa-ccp.c (ccp_fold): If the return value has the wrong type...
Jeff Law [Thu, 18 Sep 2003 03:23:43 +0000 (17 21:23 -0600)]
tree-ssa-ccp.c (ccp_fold): If the return value has the wrong type...

        * tree-ssa-ccp.c (ccp_fold): If the return value has the wrong
        type, try to convert it to the proper type rather than failing.

From-SVN: r71502

18 years ago* gcc.dg/tree-ssa/20030917-3.c: New test.
Jeff Law [Thu, 18 Sep 2003 03:19:11 +0000 (17 21:19 -0600)]
* gcc.dg/tree-ssa/20030917-3.c: New test.

From-SVN: r71501

18 years agotree-eh.c: New file.
Richard Henderson [Thu, 18 Sep 2003 00:19:27 +0000 (17 17:19 -0700)]
tree-eh.c: New file.

* tree-eh.c: New file.
* Makefile.in (OBJS-common): Add it.
(tree-eh.o): New.
* calls.c (emit_call_1): New argument for full call expr.
Check with lookup_stmt_eh_region to set REG_EH_REGION.
(expand_call): Likewise for tail-calls.
* except.c (struct eh_region): Add tree_label.
(gen_eh_region, gen_eh_region_cleanup, gen_eh_region_try,
gen_eh_region_catch, gen_eh_region_allowed,
gen_eh_region_must_not_throw, get_eh_region_number,
get_eh_region_may_contain_throw, get_eh_region_tree_label,
set_eh_region_tree_label, expand_resx_expr): New.
(expand_eh_region_start, expand_start_catch): Use them.
(expand_end_catch): Tidy.
(note_eh_region_may_contain_throw): Take region argument.
(note_current_region_may_contain_throw): New.
(get_exception_filter): Export.
(collect_eh_region_array): Export.
(remove_unreachable_regions): Check ERT_TRY based on reachability
of catches, not reachability of continue_label.  Never remove
ERT_MUST_NOT_THROW regions.
(collect_rtl_labels_from_trees): New.
(convert_from_eh_region_ranges): Use it.
(connect_post_landing_pads): Handle dying cleanups.
(struct reachable_info): Add callback data.
(add_reachable_handler): Invoke the callback.
(foreach_reachable_handler): New.
(reachable_handlers): Use it.
(arh_to_landing_pad, arh_to_label): New.
(can_throw_internal_1): Split out from can_throw_internal.
(can_throw_external_1): Similarly.
* except.h: Update.
* expr.c (expand_expr): Handle RESX_EXPR, FILTER_EXPR.
* gimplify.c (gimplify_modify_expr): Use tree_could_trap_p.
* stmt.c (using_eh_for_cleanups_p): Export.
(expand_return): Allow any typed rhs.
* timevar.def (TV_TREE_EH): New.
* tree-cfg.c (eh_stack): Kill.
(build_tree_cfg): Don't set it.  Kill code to handle EH.
(could_trap_p): Move to tree-eh.c as tree_could_trap_p.
(get_eh_region_type, make_try_expr_blocks, make_catch_expr_blocks,
make_eh_filter_expr_blocks, try_finallys): Kill.
(make_edges): Kill code to handle EH.
(make_ctrl_stmt_edges): Kill TRY_FINALLY_EXPR, CATCH_EXPR,
EH_FILTER_EXPR.  Handle RESX_EXPR.
(make_call_expr_edges): Kill.
(make_exit_edges): Use make_eh_edges.
(label_to_block): New.
(make_goto_expr_edges): Use it.
(is_ctrl_stmt): Add RESX_EXPR.
(is_ctrl_altering_stmt): Restructure.  Use tree_can_throw_internal.
(last_exec_block, compute_reachable_eh): Kill.
* tree-dfa.c (get_stmt_operands): Add RESX_EXPR.
(get_expr_operands): Add FILTER_EXPR.
* tree-dump.c (dump_files): Add tree-eh.
* tree-flow.h (struct stmt_ann_d): Kill reachable_exception_handlers.
(label_to_block, lower_eh_constructs, make_eh_edges,
tree_could_trap_p, tree_could_throw_p, tree_can_throw_internal,
tree_can_throw_external): Declare.
* tree-optimize.c (optimize_function_tree): Call lower_eh_constructs.
(tree_rest_of_compilation): Save tree for inlining.
* tree-pretty-print.c (dump_generic_node): Handle FILTER_EXPR,
RESX_EXPR.
* tree-simple.c (is_gimple_stmt): Add RESX_EXPR.
(is_gimple_val): Add FILTER_EXPR.
* tree-ssa-dce.c (stmt_useful_p): Restructure.  Add lhs of
EXC_PTR_EXPR or FILTER_EXPR.
* tree.def (FILTER_EXPR, RESX_EXPR): New.
* tree.h (enum tree_dump_index): Add TDI_eh.

* cp/decl.c (cxx_init_decl_processing): Don't using_eh_for_cleanups
if exceptions are disabled.

From-SVN: r71496

18 years agoDaily bump.
GCC Administrator [Thu, 18 Sep 2003 00:16:11 +0000 (18 00:16 +0000)]
Daily bump.

From-SVN: r71494

18 years agoiresolve.c (gfc_resolve_random_number): Generate _r4 & _r8 instead of _4 and _8 as...
Lars Segerlund [Thu, 18 Sep 2003 00:14:27 +0000 (18 02:14 +0200)]
iresolve.c (gfc_resolve_random_number): Generate _r4 & _r8 instead of _4 and _8 as postfix for libgfortran calls.

* iresolve.c (gfc_resolve_random_number): Generate _r4 & _r8
instead of _4 and _8 as postfix for libgfortran calls.

From-SVN: r71491

18 years agotree.c (tsi_link_before): Remove unnecessary parens.
Richard Henderson [Wed, 17 Sep 2003 23:53:46 +0000 (17 16:53 -0700)]
tree.c (tsi_link_before): Remove unnecessary parens.

        * tree.c (tsi_link_before): Remove unnecessary parens.
        (tsi_link_chain_before, tsi_delink): Likewise.
        (tsi_link_after): Accept the case if the iterator points
        to a NULL node; treat it as an empty list.
        (tsi_link_chain_after): Likewise.  Update iterator properly
        for TSI_CHAIN_END.

From-SVN: r71490

18 years ago* cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
Richard Henderson [Wed, 17 Sep 2003 23:47:55 +0000 (17 16:47 -0700)]
* cfg.c (dump_flow_info): Skip register dump if reg_n_info null.

From-SVN: r71486

18 years ago* tree-inline.c (debug_find_tree_1, debug_find_tree): New.
Richard Henderson [Wed, 17 Sep 2003 23:38:52 +0000 (17 16:38 -0700)]
* tree-inline.c (debug_find_tree_1, debug_find_tree): New.

From-SVN: r71482

18 years agotree-cfg.c (struct rusv_data): New.
Richard Henderson [Wed, 17 Sep 2003 22:12:57 +0000 (17 15:12 -0700)]
tree-cfg.c (struct rusv_data): New.

        * tree-cfg.c (struct rusv_data): New.
        (remove_useless_stmts_and_vars_1): Rename from
        remove_useless_stmts_and_vars.  Use rusv_data.  Handle goto-next
        via remembering the last goto seen, and zapping it when appropriate.
        (remove_useless_stmts_and_vars): New.  Loop until done.
        * tree-flow.h (remove_useless_stmts_and_vars): Update decl.
        * tree-optimize.c (optimize_function_tree): Don't cache fnbody.
        Dump data after remove_useless_stmts_and_vars.
        * tree-ssa.c (rewrite_out_of_ssa): Kill loop around
        remove_useless_stmts_and_vars.
        * tree-dump.c (dump_files): Add .useless.
        * tree.h (enum tree_dump_index): Add TDI_useless.

From-SVN: r71479

18 years agopretty-print.c (pp_write_text_to_stream): Export.
Diego Novillo [Wed, 17 Sep 2003 20:36:16 +0000 (17 20:36 +0000)]
pretty-print.c (pp_write_text_to_stream): Export.

        * pretty-print.c (pp_write_text_to_stream): Export.
        * pretty-print.h (pp_write_text_to_stream): Declare.
        * tree-pretty-print.c (print_generic_stmt): Flush to file.
        (dump_generic_node): Call pp_write_text_to_stream.
        (maybe_init_pretty_print): Take file argument; associate the
        stream with the buffer.

From-SVN: r71477

18 years agotree-ssa-dom.c (optimize_stmt): Note that the statement is modified, even if we just...
Jeff Law [Wed, 17 Sep 2003 18:44:46 +0000 (17 12:44 -0600)]
tree-ssa-dom.c (optimize_stmt): Note that the statement is modified, even if we just change the virtual operands.

        * tree-ssa-dom.c (optimize_stmt): Note that the statement is
        modified, even if we just change the virtual operands.  If
        the statement was modified by const/copy propagation, then
        set may_have_exposed_new_symbols.

From-SVN: r71471

18 years ago* gcc.dg/tree-ssa/20030917-2.c: New test.
Diego Novillo [Wed, 17 Sep 2003 17:40:44 +0000 (17 17:40 +0000)]
* gcc.dg/tree-ssa/20030917-2.c: New test.

From-SVN: r71467

18 years agotree-dfa.c (find_vars_r): Do not consider 'void *' pointers as dereferenced when...
Diego Novillo [Wed, 17 Sep 2003 17:06:34 +0000 (17 17:06 +0000)]
tree-dfa.c (find_vars_r): Do not consider 'void *' pointers as dereferenced when...

* tree-dfa.c (find_vars_r): Do not consider 'void *' pointers as
dereferenced when scanning function call arguments.
* tree-flow-inline.h (may_propagate_copy): Block propagation of
pointers when they have different memory tags.
* tree-ssa-copyprop.c (propagate_copy): When copy propagating
pointers, abort if the two pointers don't have identical memory
tags.

From-SVN: r71464

18 years ago20030917-1.c: New test.
Jeff Law [Wed, 17 Sep 2003 16:46:56 +0000 (17 10:46 -0600)]
20030917-1.c: New test.

        * gcc.dg/tree-ssa/20030917-1.c: New test.

        * gcc.dg/tree-ssa/20030807-8.c: Update.

From-SVN: r71463

18 years agoDaily bump.
GCC Administrator [Wed, 17 Sep 2003 00:16:11 +0000 (17 00:16 +0000)]
Daily bump.

From-SVN: r71449

18 years agotree-ssa-ccp.c (visit_stmt): Do not set DONT_SIMULATE_AGAIN just because a statement...
Jeff Law [Tue, 16 Sep 2003 23:46:38 +0000 (16 17:46 -0600)]
tree-ssa-ccp.c (visit_stmt): Do not set DONT_SIMULATE_AGAIN just because a statement as virtual definitions.

        * tree-ssa-ccp.c (visit_stmt): Do not set DONT_SIMULATE_AGAIN
        just because a statement as virtual definitions.
        (likely_value): A CALL_EXPR is assumed to return a VARYING
        result, regardless of its operands.

From-SVN: r71446

18 years agoarray.c (compare_bounds): New function.
Paul Brook [Tue, 16 Sep 2003 21:15:28 +0000 (16 21:15 +0000)]
array.c (compare_bounds): New function.

* array.c (compare_bounds): New function.
(gfc_compare_array_spec): Use it.

From-SVN: r71444

18 years agotree-simple.c (is_gimple_val): Allow addresses of all decls.
Jason Merrill [Tue, 16 Sep 2003 03:08:08 +0000 (15 23:08 -0400)]
tree-simple.c (is_gimple_val): Allow addresses of all decls.

        * tree-simple.c (is_gimple_val): Allow addresses of all decls.
        (is_gimple_const): Allow addresses of all non-weak statics.
        * tree-ssa-ccp.c (fold_stmt): Return bool.
        * tree-flow.h: Adjust prototype.
        * tree-ssa-dom.c (optimize_stmt): If folding changed stuff, we
        need to recalculate the vops.

From-SVN: r71423

18 years agoDaily bump.
GCC Administrator [Tue, 16 Sep 2003 00:16:09 +0000 (16 00:16 +0000)]
Daily bump.

From-SVN: r71419

18 years agogcse.c (remove_reachable_equiv_notes): New.
Zdenek Dvorak [Mon, 15 Sep 2003 23:10:05 +0000 (16 01:10 +0200)]
gcse.c (remove_reachable_equiv_notes): New.

        * gcse.c (remove_reachable_equiv_notes): New.
        replace_store_insn): Call it.  Update antic list.
        (store_killed_in_insn): Take REG_EQUAL notes into account.
        (build_store_vectors, delete_store): Add parameter to
        replace_store_insn call.

Bring over from the mainline sources.

Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r71413

18 years agoDaily bump.
GCC Administrator [Mon, 15 Sep 2003 00:16:09 +0000 (15 00:16 +0000)]
Daily bump.

From-SVN: r71391

18 years agoprimary.c (gfc_match_rvalue): Make sure sym->result is set.
Paul Brook [Sun, 14 Sep 2003 18:58:16 +0000 (14 18:58 +0000)]
primary.c (gfc_match_rvalue): Make sure sym->result is set.

* primary.c (gfc_match_rvalue): Make sure sym->result is set.
* trans-expr.c (gfc_conv_string_parameter): Also allow PRAM_DECLs.

From-SVN: r71386

18 years agocheck.c (dim_rank_check): Allow assumed bounds if requested.
Paul Brook [Sun, 14 Sep 2003 17:14:43 +0000 (14 17:14 +0000)]
check.c (dim_rank_check): Allow assumed bounds if requested.

* check.c (dim_rank_check): Allow assumed bounds if requested.
(gfc_check_lbound): Call it.
(gfc_check_ubound): Ditto.
(gfc_check_size): Change to match.
* simplify.c (gfc_simplify_bound): New function.
(gfc_simplify_lbound): New function.
(gfc_simplify_ubound): New function.
* intrinsic.h: Declare them.
* intrinsic.c (add_functions): Use them.

From-SVN: r71384

18 years agoio.c (format_lex): Initialize negative_flag.
Paul Brook [Sun, 14 Sep 2003 17:13:30 +0000 (14 17:13 +0000)]
io.c (format_lex): Initialize negative_flag.

* io.c (format_lex): Initialize negative_flag.
(check_format): Intialize repeat.
* trans-io.c (gfc_new_nml_name_expr): Declare static.
(gfc_new_var_expr): Ditto.

From-SVN: r71383

18 years ago[multiple changes]
Diego Novillo [Sun, 14 Sep 2003 13:36:12 +0000 (14 09:36 -0400)]
[multiple changes]

2003-09-13  Diego Novillo  <dnovillo@redhat.com>

Fix PR optimization/12268
* tree-dfa.c (add_referenced_var): Call-clobbered pointers may
point to global memory.

2003-09-13  Paul Brook  <paul@nowt.org>

* gcc.c-torture/execute/20030913-1.c: New test.

From-SVN: r71378

18 years agotrans-array.c (gfc_conv_array_initializer): Handle derived types.
Paul Brook [Sun, 14 Sep 2003 12:23:30 +0000 (14 12:23 +0000)]
trans-array.c (gfc_conv_array_initializer): Handle derived types.

* trans-array.c (gfc_conv_array_initializer): Handle derived types.
* trans-decl.c (gfc_get_symbol_decl): Only do local scalar values.

* gfortran.fortran-torture/der_init.f90: Also test arrays.

From-SVN: r71374

18 years agoDaily bump.
GCC Administrator [Sun, 14 Sep 2003 00:16:12 +0000 (14 00:16 +0000)]
Daily bump.

From-SVN: r71367

18 years ago[multiple changes]
Diego Novillo [Sat, 13 Sep 2003 20:21:26 +0000 (13 16:21 -0400)]
[multiple changes]

2003-09-13  Jason Merrill  <jason@redhat.com>

* c-common.c (c_build_qualified_type): Unset TREE_READONLY for
types with constructors.
(c_apply_type_quals_to_decl): Remove superfluous references to
TREE_TYPE (decl).

2003-09-13  Diego Novillo  <dnovillo@redhat.com>

* opts.c (decode_options): Enable must-alias optimization by default.
* tree-dfa.c (get_expr_operands): Always call add_stmt_operand when
dealing with ADDR_EXPR nodes.
(add_stmt_operand): If the variable has an alias set
of size zero, abort.
Call get_base_symbol() to retrieve the variable from an ADDR_EXPR
node.
(compute_alias_sets): Deep copy the aliases array when triggering
the alias grouping heuristic.
Don't group aliases if -ftree-must-alias is given.
* tree-must-alias.c (tree_compute_must_alias): Call
dump_referenced_vars when doing detailed dumps.
Rename promoted_vars to vars_to_rename.  Update all users.
(find_addressable_vars): Always mark statements modified.
(promote_var): Also mark aliases of promoted variable to be
renamed.
Call find_variable_in and remove_element_from to update varrays for
call-clobbered variables and alias sets.
(find_variable_in): New local function.
(remove_element_from): New local function.
* varray.c (varray_copy): New function.
* varray.h (varray_copy): Declare.

2003-09-13  Diego Novillo  <dnovillo@redhat.com>

* tree-flow-inline.h (is_optimizable_addr_expr): Remove.  Update
all users.
* tree-ssa-dom.c (optimize_stmt): Do not propagate SSA names from
redundant expressions across abnormal edges.

From-SVN: r71362

18 years agotree-cfg.c (remove_unreachable_blocks): Clean up.
Zdenek Dvorak [Sat, 13 Sep 2003 16:58:46 +0000 (13 18:58 +0200)]
tree-cfg.c (remove_unreachable_blocks): Clean up.

* tree-cfg.c (remove_unreachable_blocks): Clean up.
(debug_tree_bb_n): New.
(is_ctrl_structure): Remove LOOP_EXPR.
* tree-flow.h (debug_tree_bb_n): Declare.

From-SVN: r71361

18 years agotree-ssa-live.c (calculate_live_on_entry): Use default_def to add addition checks...
Andrew MacLeod [Sat, 13 Sep 2003 02:08:59 +0000 (13 02:08 +0000)]
tree-ssa-live.c (calculate_live_on_entry): Use default_def to add addition checks to live on entry calculations.

* tree-ssa-live.c (calculate_live_on_entry): Use default_def to add
addition checks to live on entry calculations.
* tree-ssa.c (print_exprs_edge): New debug output function.
(coalesce_abnormal_edges): Add basic block information to output.
(coalesce_ssa_name): Use default_def instead of trying to compute live
on entry variables.

From-SVN: r71354

18 years agoDaily bump.
GCC Administrator [Sat, 13 Sep 2003 00:16:11 +0000 (13 00:16 +0000)]
Daily bump.

From-SVN: r71350

18 years ago* trans-intrinsic.c (gfc_conv_intrinsic_sign): Call fold.
Paul Brook [Fri, 12 Sep 2003 23:34:20 +0000 (12 23:34 +0000)]
* trans-intrinsic.c (gfc_conv_intrinsic_sign): Call fold.

From-SVN: r71344

18 years agotrans.c (gfc_finish_block): Call rationalize_compound_expr for a correct expression.
Zdenek Dvorak [Fri, 12 Sep 2003 19:34:25 +0000 (12 21:34 +0200)]
trans.c (gfc_finish_block): Call rationalize_compound_expr for a correct expression.

* fortran/trans.c (gfc_finish_block): Call rationalize_compound_expr
for a correct expression.

From-SVN: r71337

18 years agotree-optimize.c (tree_rest_of_compilation): Set TREE_ASM_WRITTEN for functions that...
Diego Novillo [Fri, 12 Sep 2003 16:15:52 +0000 (12 16:15 +0000)]
tree-optimize.c (tree_rest_of_compilation): Set TREE_ASM_WRITTEN for functions that have errors.

* tree-optimize.c (tree_rest_of_compilation): Set TREE_ASM_WRITTEN
for functions that have errors.

From-SVN: r71335

18 years agotree-ssa-pre.c (reset_down_safe): Make test less conservative.
Daniel Berlin [Fri, 12 Sep 2003 16:00:38 +0000 (12 16:00 +0000)]
tree-ssa-pre.c (reset_down_safe): Make test less conservative.

2003-09-11  Daniel Berlin  <dberlin@dberlin.org>

* tree-ssa-pre.c (reset_down_safe): Make test less conservative.
(cba_search_start_from): Start from abnormal edge arguments, too.
(cba_search_continue_from_to): Ditto here.

From-SVN: r71334

18 years agotree-ssa-pre.c (graph_dump_file, [...]): Remove unused variables.
Diego Novillo [Fri, 12 Sep 2003 10:44:08 +0000 (12 10:44 +0000)]
tree-ssa-pre.c (graph_dump_file, [...]): Remove unused variables.

* tree-ssa-pre.c (graph_dump_file, graph_dump_flags): Remove
unused variables.

From-SVN: r71331

18 years agoDaily bump.
GCC Administrator [Fri, 12 Sep 2003 00:16:10 +0000 (12 00:16 +0000)]
Daily bump.

From-SVN: r71326