gcc.git
17 years agoMerge mainline->tcb as of 2005-03-29.heads/tree-cleanup-branch
dnovillo [Fri, 1 Apr 2005 17:16:04 +0000 (1 17:16 +0000)]
Merge mainline->tcb as of 2005-03-29.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@97408 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Fri, 1 Apr 2005 07:06:37 +0000 (1 07:06 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@97371 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-into-ssa.c (prepare_def_sites): If a new name has been
dnovillo [Sat, 26 Mar 2005 16:17:55 +0000 (26 16:17 +0000)]
* tree-into-ssa.c (prepare_def_sites): If a new name has been
marked to be released, remove it from NEW_SSA_NAMES.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@97080 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * domwalk.c (walk_dominator_tree): Fix typo.
dnovillo [Sat, 26 Mar 2005 04:44:21 +0000 (26 04:44 +0000)]
* domwalk.c (walk_dominator_tree): Fix typo.
* tree-dfa.c (mark_new_vars_to_rename): Remove second
argument.
Update all callers.
(mark_call_clobbered_vars_to_rename): Remove.
Update all callers.
* tree-flow.h (remove_all_phi_nodes_for): Remove.
(find_phi_node_for): Declare.
(rewrite_into_ssa): Remove external declaration.
Update users to call update_ssa instead.
(rewrite_def_def_chains): Remove.
(mark_sym_for_renaming): Declare.
(mark_set_for_renaming): Declare.
* tree-into-ssa.c (syms_to_rename): New local variable.
(names_to_release): New local variable.
(need_to_replace_names_p): New local variable.
(enum rewrite_mode): Remove REWRITE_FIX_DEF_DEF_CHAINS.
(symbol_marked_for_renaming): Only accept DECL nodes.
(is_old_name): New function.  Update every user of
OLD_SSA_NAMES.
(is_new_name): New function.  Update every user of
NEW_SSA_NAMES.
(add_new_name_mapping): If NEW is a virtual, just mark its
symbol for renaming.
(prepare_use_operand_for_rename): Remove.  Update all users.
(prepare_def_operand_for_rename): Remove.  Update all users.
(mark_def_sites): Initialize REGISTER_DEFS_IN_THIS_STMT flag.
(insert_phi_nodes_for): Add more documentation.
(insert_phi_nodes_1): Move body ...
(insert_phi_nodes): ... here.
Remove second argument.
Do not check for 'names_to_rename' nor 'vars_to_rename'.
(rewrite_operand): Remove.  Update all users.
(rewrite_stmt): Do nothing if REGISTER_DEFS_IN_THIS_STMT is
not set.
Assert that all operands are DECL nodes.
(rewrite_virtual_phi_arguments): Remove.
(replace_use): New local function.
(rewrite_update_stmt): Call it.
(rewrite_update_phi_arguments): Handle NULL arguments
separately.
(mark_def_site_blocks): Move call to calculate_dominance_info...
(rewrite_into_ssa): ... here.
Remove argument.
Make static.
Re-organize for clarity.
(rewrite_all_into_ssa): Remove.  Update all users.
(pass_build_ssa): Call rewrite_into_ssa instead of
rewrite_all_into_ssa.
(rewrite_def_def_chains): Remove.  Update all users.
(prepare_phi_args_for_update): Remove unreachable code.
Add more documentation.
(prepare_block_for_update): Add more documentation.
(remove_name_from_mappings): Remove.
(prepare_def_site_for): Do not call remove_name_from_mappings.
Assert that NAME is not in the free list.
(prepare_def_sites): If any symbol in SYMS_TO_RENAME is a
virtual, set NEED_TO_UPDATE_VOPS_P to true.
(dump_names_replaced_by): Do not test for removed names.
(dump_repl_tbl): Re-arrange output.
Dump names that are marked to be released after update_ssa.
(init_update_ssa): Initialize NEED_TO_REPLACE_NAMES_P,
SYMS_TO_RENAME and NAMES_TO_RELEASE.
(delete_update_ssa): Release all the names in NAMES_TO_RELEASE.
(mark_sym_for_renaming): New function.  Update every function
that used to test and set VARS_TO_RENAME.
(mark_set_for_renaming): New function.
(need_ssa_update_p): Return true if any of SYMS_TO_RENAME,
OLD_SSA_NAMES or NEW_SSA_NAMES are not NULL.
(release_ssa_name_after_update_ssa): New function.
(insert_updated_phi_nodes_for): Do not prune IDF if inserting
PHI nodes for a symbol in SYMS_TO_RENAME.
If VAR is in SYMS_TO_RENAME, remove any existing PHI nodes
from blocks not in PRUNED_IDF.
(update_ssa): Only call insert_updated_phi_nodes_for if
OLD_SSA_NAMES is not empty.
* tree-optimize.c (vars_to_rename): Remove.  Update all users.
(execute_todo): Call update_ssa instead of rewrite_into_ssa
and rewrite_def_def_chains.
* tree-pass.h (vars_to_rename): Remove.
* tree-phinodes.c (find_phi_node_for): New function.
(remove_all_phi_nodes_for): Remove.
* tree-sra.c (decide_instantiations): Mark all symbols in
SRA_CANDIDATES for renaming.
(mark_all_v_defs_1): Rename from mark_all_v_defs.
(mark_all_v_defs): New function.  Update all users to call it
with the whole list of scalarized statements, not just the
first one.
* tree-ssa-alias.c (add_type_alias): Also mark TAG's aliases
for renaming.
If VAR has aliases of its own, mark them for renaming as well.
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Call
update_ssa.
* tree-ssa-loop-manip.c (find_uses_to_rename_use): Ignore
virtual operands.
(tree_duplicate_loop_to_header_edge): Do not call update_ssa.
Update callers.
Update documentation.
(lv_adjust_loop_header_phi): Assert that both blocks have the
same number of PHI nodes.
(tree_ssa_loop_version): Call update_ssa.
* tree-ssa.c (verify_ssa): Assert that we don't need to call
update_ssa.
(delete_tree_ssa): Likewise.
* tree-ssanames.c (release_ssa_name): Call
release_ssa_name_after_update_ssa if VAR was registered to be
updated.
* tree-vect-transform.c (vect_create_data_ref_ptr): Call
add_type_alias if TAG has a different alias set number than
the type pointed-to by VECT_PTR.
Add documentation.
(vect_transform_loop): Call update_ssa.
* tree.h (PHI_REWRITTEN): Remove.
(struct tree_phi_node): Remove field 'rewritten'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@97078 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agomainline->tcb merge as of 2005-03-22.
dnovillo [Wed, 23 Mar 2005 21:08:45 +0000 (23 21:08 +0000)]
mainline->tcb merge as of 2005-03-22.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@96950 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Wed, 23 Mar 2005 21:08:45 +0000 (23 21:08 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@96949 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-ssa-copy.c (may_propagate_copy): Disable code to
dnovillo [Fri, 18 Mar 2005 21:43:26 +0000 (18 21:43 +0000)]
* tree-ssa-copy.c (may_propagate_copy): Disable code to
prevent copies being pulled from deeper nested loops.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@96702 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-into-ssa.c (ssa_rewrite_finalize_block): Remove.
dnovillo [Fri, 18 Mar 2005 16:50:29 +0000 (18 16:50 +0000)]
* tree-into-ssa.c (ssa_rewrite_finalize_block): Remove.
(ssa_register_new_def): Remove.
(ssa_rewrite_stmt): Remove.
(ssa_rewrite_phi_arguments): Remove.
(ssa_rewrite_initialize_block): Remove.
(ssa_mark_def_sites): Remove.
(ssa_mark_def_sites_initialize_block): Remove.
(ssa_mark_phi_uses): Remove.
(rewrite_ssa_into_ssa): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@96688 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2005-03-18 Diego Novillo <dnovillo@redhat.com>
dnovillo [Fri, 18 Mar 2005 16:41:53 +0000 (18 16:41 +0000)]
2005-03-18  Diego Novillo  <dnovillo@redhat.com>

* Makefile.in (tree-into-ssa.o): Remove dependency on pointer-set.h.
(tree-cfg.o): Add dependency on vec.h.
* lambda-code.c (perfect_nestify): Mark for SSA updating any
virtual operands in the moved statement.
* tree-flow.h (rewrite_to_new_ssa_names_bb,
rewrite_to_new_ssa_names, allocate_ssa_names,
rewrite_ssa_into_ssa): Remove.
(update_ssa, register_new_name_mapping, create_new_def_for,
need_ssa_update_p, name_registered_for_update_p,
dump_repl_tbl, debug_repl_tbl, dump_names_replaced_by,
debug_names_replaced_by): Declare.
(loop_depth_of_name): Declare.
* tree-into-ssa.c: Don't include pointer-set.h.
(old_ssa_names, new_ssa_names): Convert to sbitmap.
(NAME_SETS_GROWTH_FACTOR): Declare.
(struct new_to_old_d): Remove.  Update all users.
(new_to_old): Remove.  Update all users.
(struct repl_map_d): Declare.
(repl_tbl): Declare.
(need_to_initialize_update_ssa_p): Declare.
(need_to_update_vops_p): Declare.
(REGISTER_DEFS_IN_THIS_STMT): Use tree_common.unsigned_flag
instead of TREE_ADDRESSABLE.
(set_def_block): Remove argument 'is_update'.  Update all
callers.
(symbol_marked_for_renaming): New function.
(repl_map_hash): Rename from new_to_old_hash.
(repl_map_eq): Rename from new_to_old_eq.
(repl_map_free): New function.
(names_replaced_by): New function.
(mark_sym_for_renaming): New function.
(add_to_repl_tbl): New function.
(name_replaced_by): Remove.
(add_new_name_mapping): Resize OLD_SSA_NAMES and NEW_SSA_NAMES
if needed.
If NEW is a virtual variable, call mark_sym_for_renaming.
Call add_to_repl_tbl.
(prepare_def_operand_for_rename): Only accept _DECL nodes.
(mark_def_sites): Fix call to prepare_def_operand_for_rename.
Do not rewrite def operands.
(find_idf): Ignore NULL blocks pulled from the work list.
(get_default_def_for): New function.
(get_reaching_def): Call it.
(insert_phi_nodes_for): Check that find_def_blocks_for returns
non-NULL.
Fix assignment to SYM.
Only call add_new_name_mapping and add arguments if UPDATE_P
is true.
Mark PHI for renaming.
(register_new_update_single): Rename from register_new_update.
(register_new_update_set): New function.
(rewrite_update_init_block): Update comments.  Add support for
renaming virtual operands.
(rewrite_update_stmt): Likewise.
(rewrite_update_phi_arguments): Likewise.
(rewrite_def_def_chains): Do not call calculate_dominance_info.
(mark_def_interesting): New function.
(mark_use_interesting): New function.
(prepare_phi_args_for_update):
(prepare_block_for_update): Add support for virtual operands.
Call mark_def_interesting, mark_use_interesting and
prepare_phi_args_for_update.
(remove_name_from_mappings): New function.
(prepare_def_site_for): New function.
(prepare_def_sites): New function.
(dump_names_replaced_by): New function.
(debug_names_replaced_by): New function.
(dump_repl_tbl): New function.
(debug_repl_tbl): New function.
(remove_non_dominated): Remove.
(init_update_ssa): New function.
(delete_update_ssa): New function.
(create_new_def_for): New function.
(register_new_name_mapping): New function.
(need_ssa_update_p): New function.
(name_registered_for_update_p): New function.
(insert_updated_phi_nodes_for): New function.
(update_ssa): Update documentation.
Do nothing if there is no need to update the SSA web.
Call prepare_def_sites.
Call prepare_block_for_update with the nearest common
dominator of all new and old definition sites and on all the
blocks in the dominance frontier of that block.
Call insert_updated_phi_nodes_for with old SSA names and
symbols marked for renaming.
* tree-loop-linear.c (linear_transform_loops): Remove
call to rewrite_into_ssa.
* tree-ssa-ccp.c (get_default_value): Set VAL.MEM_REF to
SYM when getting DECL_INITIAL from a const global
variable.
* tree-ssa-copy.c (may_propagate_copy): Do not allow
propagations that pull a copy out of a deeper nested
loop.
* tree-ssa-dom.c (loop_depth_of_name): Declare extern.
* tree-ssa-loop-im.c (move_computations): Clear
VARS_TO_RENAME before calling rewrite_into_loop_closed_ssa.
* tree-ssa-operands.c (copy_virtual_operands): Remove.
* tree-ssa-operands.h (copy_virtual_operands): Remove.
* tree-vectorizer.c (allocate_new_names, rename_use_op,
rename_def_op, rename_variables_in_bb, free_new_names,
rename_variables_in_loop): Remove.
(slpeel_update_phis_for_duplicate_loop): Remove variables
new_name_ptr, new_ssa_name and new_loop_exit_e.
Do not try to update PHIs for duplicate loop.
(slpeel_update_phi_nodes_for_guard): Do nothing if
UPDATE_BB is the same as ORIG_BB.
(slpeel_can_duplicate_loop_p): Call need_ssa_update_p
instead of any_marked_for_rewrite_p.
(slpeel_tree_peel_loop_to_edge): Call update_ssa.
* tree.h:
* testsuite/gcc.c-torture/execute/20030216-1.x:

2005-03-18  Zdenek Dvorak  <dvorakz@suse.cz>
    Diego Novillo  <dnovillo@redhat.com>

* Makefile.in: (tree-cfg.o): Add dependency on vec.h.
* tree-cfg.c: Include vec.h.
(tree_duplicate_bb): Call create_new_def_for for newly
created PHI nodes.
Remove call to copy_virtual_operands.
Mark any newly exposed virtual symbol for renaming.
(struct ssa_name_map_entry): Remove.
(ssa_name_map_entry_hash): Remove.
(ssa_name_map_entry_eq): Remove.
(allocate_ssa_names): Remove.
(rewrite_to_new_ssa_names_def): Remove.
(rewrite_to_new_ssa_names_use): Remove.
(rewrite_to_new_ssa_names_bb): Remove.
(rewrite_to_new_ssa_names): Remove.
(tree_duplicate_sese_region): Remove variables ver,
definitions, phi, ssa_name_map and bi.
Call need_ssa_update_p instead of any_marked_for_rewrite_p.
Call update_ssa.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
update_ssa instead of rewrite_ssa_into_ssa.
* tree-ssa-loop-manip.c (add_exit_phis_edge): Call
create_new_def_for.
(find_uses_to_rename_use): Add argument 'need_phis'.
(find_uses_to_rename_stmt): Do not scan virtual operands.
(find_uses_to_rename): Only scan PHI nodes for
non-virtual names.
(rewrite_into_loop_closed_ssa): Call update_ssa.
(check_loop_closed_ssa_use): Ignore virtual operands.
(check_loop_closed_ssa_stmt): Likewise.
(verify_loop_closed_ssa): Do nothing if CURRENT_LOOPS is
NULL.
(rename_variables, set_phi_def_stmts): Remove.
(tree_duplicate_loop_to_header_edge): Reformat comment.
Remove variables bb, i and definitions.
Call need_ssa_update_p.
Call update_ssa.
(lv_adjust_loop_header_phi): Reformat comment.
* tree-ssanames.c (ssa_names_to_rewrite): Remove.
(marked_for_rewrite_p, any_marked_for_rewrite_p,
mark_for_rewrite, unmark_all_for_rewrite,
marked_ssa_names): Remove.  Update all users.
(release_ssa_name): If VAR has been registered for SSA
updating, do nothing.
* tree-vrp.c (new_ssa_names, old_ssa_names): Remove.
(build_assert_expr_for): Call register_new_name_mapping.
(insert_range_assertions): Update call to update_ssa.
* tree.h (mark_for_rewrite, unmark_all_for_rewrite,
marked_for_rewrite_p, any_marked_for_rewrite_p,
marked_ssa_names): Remove.

testsuite/ChangeLog.tcb

2005-03-18  Diego Novillo  <dnovillo@redhat.com>

* gcc.c-torture/execute/20030216-1.x: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@96687 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago Merge from mainline
dnovillo [Sun, 27 Feb 2005 17:25:03 +0000 (27 17:25 +0000)]
Merge from mainline

* tree-into-ssa.c (insert_phi_nodes_for): Do not use
REWRITE_THIS_STMT markers on PHI nodes.
(rewrite_initialize_block): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@95623 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago Merge from mainline (tree-cleanup-merge-20050223)
dnovillo [Thu, 24 Feb 2005 00:04:53 +0000 (24 00:04 +0000)]
Merge from mainline (tree-cleanup-merge-20050223)

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@95478 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Thu, 24 Feb 2005 00:04:53 +0000 (24 00:04 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@95477 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * domwalk.c (walk_dominator_tree): If block BB is not in the
dnovillo [Tue, 22 Feb 2005 14:42:26 +0000 (22 14:42 +0000)]
* domwalk.c (walk_dominator_tree): If block BB is not in the
set of interesting blocks, do not traverse its statements.
* domwalk.h (struct dom_walk_data): Add field INTERESTING_BLOCKS.
* tree-flow.h (update_ssa): Add new bool argument.
* tree-into-ssa.c (struct mark_def_sites_global_data): Fix comment.
Add field interesting_blocks.
(compute_global_livein): Use last_basic_block to initialize
work lists.
(find_idf): Likewise.
(mark_def_sites): If the statement is going to be rewritten,
add the block to GD->INTERESTING_BLOCKS.
(rewrite_blocks): Add argument BLOCKS.  Initialize
WALK_DATA.INTERESTING_BLOCKS with it.
Update all callers.
Move debug dumping code from rewrite_into_ssa.
Only delete DEF_BLOCKS if it had been allocated.
(mark_def_site_blocks): Add argument INTERESTING_BLOCKS.
Initialize MARK_DEF_SITES_GLOBAL_DATA.INTERESTING_BLOCKS with
it.
Update all callers.
(prepare_block_for_update): Add arguments INSERT_PHI_P and
INTERESTING_BLOCKS.
Only call set_def_block/set_livein_block if INSERT_PHI_P is true.
Update all callers.
If the block contains at least one interesting statement, add
the block to INTERESTING_BLOCKS.
(update_ssa): Add argument INSERT_PHI_P.  Only add new PHI
nodes if INSERT_PHI_P is true.
Update all callers.
Initialize INTERESTING_BLOCKS.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Initialize
WALK_DATA.INTERESTING_BLOCKS to NULL.
* tree-ssa-dse.c (tree_ssa_dse): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@95394 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR tree-optimization/18178
dnovillo [Fri, 18 Feb 2005 21:28:58 +0000 (18 21:28 +0000)]
PR tree-optimization/18178
* Makefile.in (tree-vrp.o): Depend on CFGLOOP_H,
tree-scalar-evolution.h and tree-chrec.h.
* tree-into-ssa.c (prepare_block_for_update): Also rewrite
operands of statements that define new names.
* tree-vrp.c: Include cfgloop.h, tree-scalar-evolution.h and
tree-chrec.h.
(cfg_loops): New local variable.
(compare_values): Forward declare.
(copy_value_range): Remove.
(set_value_range): Add range integrity checks.
Decay to VR_VARYING ranges that take all possible values in
the type domain.
(compare_values): Do some symbolic comparisons.
(value_inside_range): Move earlier in the file.
(value_ranges_intersect_p): Likewise.
(extract_range_from_assert): If the ASSERT_EXPR conditional
and the variable have intersecting ranges, use the
intersection to derive a narrower range.
(extract_range_from_ssa_name): New function.
(extract_range_from_binary_expr): Re-arrange to always call
set_value_range to set the newly computed range.
(extract_range_from_unary_expr): Likewise.
Do not special case ABS_EXPR.
If a type cast operation changes to a type of different size,
set the resulting range to VR_VARYING.
If the new range has the limits swapped around, set the result
to VR_VARYING.
(extract_range_from_expr): Call extract_range_from_ssa_name.
(compare_ranges): Allow symbolic ranges.
Fix calls to compare_values to always check for specific
return values.
(compare_range_with_value): Likewise.
(adjust_range_with_scev): New function.
(vrp_visit_assignment): Call it if the statement is inside a
loop.
(vrp_meet): Always call set_value_range to set the newly
computed range.
(vrp_visit_phi_node): Remove FIXME regarding derivation.
(execute_vrp): Call loop_optimizer_init, scev_initialize,
scev_finalize and loop_optimizer_finalize.

testsuite/ChangeLog.tcb:

* testsuite/gcc.dg/tree-ssa/ssa-pre-2.c: Adjust expected pattern.
* testsuite/gcc.dg/tree-ssa/ssa-pre-3.c: Likewise.
* testsuite/gcc.dg/tree-ssa/ssa-pre-4.c: Likewise.
* testsuite/gcc.dg/tree-ssa/ssa-pre-5.c: Likewise.
* testsuite/gcc.dg/tree-ssa/ssa-pre-6.c: Likewise.

PR tree-optimization/18178
* testsuite/g++.dg/tree-ssa/pr18178.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@95236 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agomainline->tcb merge as of 2005-02-16.
dnovillo [Thu, 17 Feb 2005 13:28:05 +0000 (17 13:28 +0000)]
mainline->tcb merge as of 2005-02-16.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@95170 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Thu, 17 Feb 2005 13:28:05 +0000 (17 13:28 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@95169 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-into-ssa.c (REGISTER_DEFS_IN_STMT): Define.
dnovillo [Mon, 14 Feb 2005 14:04:38 +0000 (14 14:04 +0000)]
* tree-into-ssa.c (REGISTER_DEFS_IN_STMT): Define.
(insert_phi_nodes_for): Mark with REGISTER_DEFS_IN_STMT.
(rewrite_update_init_block): Only register the LHS of PHI
nodes marked with REGISTER_DEFS_IN_STMT.
(rewrite_update_stmt): Likewise.
Do not update use operands of statements that are not marked
with REWRITE_THIS_STMT.
(prepare_block_for_update): Mark with REGISTER_DEFS_IN_STMT
statements that define new names.
Only mark statements with REWRITE_THIS_STMT if they reference
old names and do not define new names.
* tree-ssa-copy.c (get_last_copy_of): Limit the amount of
copy-of traversal.
(copy_prop_visit_assignment): Get the copy-of value from the
RHS to avoid creating long copy-of chains.
(copy_prop_visit_phi_node): Do the opposite.  Use the
arguments themselves as the initial link in the copy-of chain.
(fini_copy_prop): Fix comment.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Add getenv
hackery to allow disabling DOM at compile time.
(propagate_to_outgoing_edges): Likewise.
(simplify_cond_and_lookup_avail_expr): Guard for NULL low and
high.
* tree-ssa-pre.c (phi_translate): Handle tcc_comparison.
(valid_in_set): Likewise.
(find_or_generate_expression): Likewise.
(create_expression_by_pieces): Likewise.
(insert_into_preds_of_block): Likewise.
(insert_aux): Likewise.
(create_value_expr_from): Likewise.
(compute_avail): Likewise.
Handle TREE_INVARIANT values.  Re-order checks to check for
expressions first.
(execute_pre): Change formatting of stats messages.
* tree-vn.c (set_value_handle): Handle TREE_INVARIANT.
(get_value_handle): Likewise.
* tree-vrp.c (expr_computes_nonnull): Recognize address of
references.
(extract_range_from_assert): Don't build unnecessary
constants.
(extract_range_from_binary_expr): Pointer arithmetic may
include operations other than + or -.
(extract_range_from_unary_expr): Set cast operations of
anti-ranges to VARYING.
(build_assert_expr_for): Fix comments.
(maybe_add_assert_expr): When a predicate involves more than
one name, only add assertions for the first one.
(vrp_finalize): Support TDF_STATS.

testsuite/ChangeLog.tcb:

* gcc.dg/tree-ssa/20031022-1.c: Adjust dump file to scan.
* gcc.dg/tree-ssa/ssa-pre-1.c: Adjust expected pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@95011 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago Value Range Propagation
dnovillo [Sun, 6 Feb 2005 14:14:56 +0000 (6 14:14 +0000)]
Value Range Propagation

* Makefile.in (tree-vrp.o): Depend on
tree-ssa-propagate.h, $(FLAGS_H) and $(TREE_DUMP_H).
* common.opt (ftree-vrp): Define.
* opts.c (decode_options): Set flag_tree_vrp at -O2.
* timevar.def (TV_TREE_INSERT_ASSERT): Remove.
(TV_TREE_VRP): Define.
* tree-flow.h (enum value_range_type): Define.
(struct value_range_def): Define.
(count_uses_and_derefs): Declare.
(get_value_range): Declare.
(dump_value_range): Declare.
(debug_value_range): Declare.
(dump_all_value_ranges): Declare.
(debug_all_value_ranges): Declare.
* tree-optimize.c (init_tree_optimization_passes): Remove
pass_insert_range_assertions and pass_remove_range_assertions.
Add pass_vrp.
* tree-pass.h (pass_insert_range_assertions): Remove.
(pass_remove_range_assertions): Remove.
(pass_vrp): Define.
* tree-ssa-alias.c (count_ptr_derefs): Make extern.
* tree.h (SSA_NAME_VALUE_RANGE): Define.
(struct value_range_def): Forward declare.
(struct tree_ssa_name): Add field value_range.
* tree-vrp.c: Include flags.h, tree-dump.h and
tree-ssa-propagate.h.
(new_ssa_names): Declare.
(old_ssa_names): Declare.
(found): Declare.
(get_opposite_operand): New.
(opposite_comparison): New.
(copy_value_range): New.
(set_value_range): New.
(update_value_range): New.
(get_value_range): New.
(symbolic_range_p): New.
(expr_computes_nonnull): New.
(range_is_nonnull): New.
(range_is_null): New.
(set_value_range_to_nonnull): New.
(set_value_range_to_null): New.
(compare_values): New.
(extract_range_from_assert): New.
(extract_range_from_binary_expr): New.
(extract_range_from_unary_expr): New.
(extract_range_from_expr): New.
(compare_ranges): New.
(compare_range_with_value): New.
(value_inside_range): New.
(value_ranges_intersect_p): New.
(dump_value_range): New.
(debug_value_range): New.
(dump_all_value_ranges): New.
(debug_all_value_ranges): New.

(build_assert_expr_for): Create a new SSA name for every
assertion.
If the conditional is an equality, create a regular
assignment.
Push the new name into NEW_SSA_NAMES.  Push the operand into
OLD_SSA_NAMES.
(infer_value_range): New.
(has_assert_expr): New.
(maybe_add_assert_expr): Add ASSERT_EXPR after pointer
dereferences.
Handle cases that require inserting after the last statement
of a block.
Call has_assert_expr and infer_value_range.
(insert_range_assertions): Rename from
execute_insert_range_assertions.
Initialize new_ssa_names and old_ssa_names.
Do not use BB_VISITED to mark visited blocks.
(pass_insert_range_assertions): Remove.
(remove_range_assertions): Rename from
execute_remove_range_assertions.
(pass_remove_range_assertions): Remove.

(stmt_interesting_for_vrp): New.
(need_imm_uses_for): New.
(vrp_initialize): New.
(vrp_visit_assignment): New.
(vrp_evaluate_conditional): New.
(vrp_visit_cond_stmt): New.
(vrp_visit_stmt): New.
(vrp_meet): New.
(vrp_visit_phi_node): New.
(vrp_finalize): New.
(execute_vrp): New.
(gate_vrp): New.
(pass_vrp): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@94676 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * Makefile.in (tree-into-ssa.o): Depend on pointer-set.h
dnovillo [Sun, 6 Feb 2005 14:11:20 +0000 (6 14:11 +0000)]
* Makefile.in (tree-into-ssa.o): Depend on pointer-set.h
* timevar.def (TV_TREE_SSA_INCREMENTAL): Define.
* tree-flow.h (update_ssa): Declare.
* tree-into-ssa.c: Include pointer-set.h.
(old_ssa_names): Declare.
(new_ssa_names): Declare.
(struct new_to_old_d): Declare.
(new_to_old): Declare.
(enum rewrite_mode): Declare.
(new_to_old_hash): New.
(new_to_old_eq): New.
(add_new_name_mapping): New.
(name_replaced_by): New.
(insert_phi_nodes_for): Add argument 'update_p'.
If update_p is true, add a new mapping from the LHS of the PHI
node to the name given in 'var'.
(insert_phi_nodes_1): Update call to insert_phi_nodes_for.
(register_new_update): New.
(rewrite_update_init_block): New.
(rewrite_update_fini_block): New.
(rewrite_update_stmt): New.
(rewrite_update_phi_arguments): New.
(rewrite_blocks): Remove argument 'fix_virtual_phis'.  Add
arguments 'entry' and 'what'.
Use 'what' to register the call-backs used for REWRITE_UPDATE,
REWRITE_ALL and REWRITE_DEF_DEF_CHAINS.
Start re-writing at block 'entry'.
(rewrite_into_ssa): Call rewrite_blocks with ENTRY_BLOCK_PTR
and REWRITE_ALL.
(rewrite_def_def_chains): Call rewrite_blocks with
ENTRY_BLOCK_PTR and REWRITE_FIX_DEF_DEF_CHAINS.
(prepare_block_for_update): New.
(remove_non_dominated): New.
(update_ssa): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@94675 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * basic-block.h (nearest_common_dominator): Declare.
dnovillo [Sun, 6 Feb 2005 14:07:27 +0000 (6 14:07 +0000)]
* basic-block.h (nearest_common_dominator): Declare.
* dominance.c (nearest_common_dominator): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@94674 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree.h (ASSERT_EXPR_VAR): Define.
dnovillo [Sun, 6 Feb 2005 14:06:08 +0000 (6 14:06 +0000)]
* tree.h (ASSERT_EXPR_VAR): Define.
(ASSERT_EXPR_COND): Define.
* tree-cfg.c (verify_expr): Use
* tree-pretty-print.c (dump_generic_node): Use.
* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Use.
(interpret_rhs_modify_expr): Use.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@94673 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-into-ssa.c: Reorganize internal functions.
dnovillo [Wed, 2 Feb 2005 18:10:50 +0000 (2 18:10 +0000)]
* tree-into-ssa.c: Reorganize internal functions.
(find_idf): Extract from ...
(insert_phi_nodes): ... here.
(insert_phi_nodes_1): Call find_idf.
* tree-phinodes.c (ideal_phi_node_len): Fix comment.
* tree-ssa.c (verify_use): Fix error message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@94596 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agomainline->tcb merge as of 2005-02-01.
dnovillo [Wed, 2 Feb 2005 02:52:01 +0000 (2 02:52 +0000)]
mainline->tcb merge as of 2005-02-01.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@94585 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Wed, 2 Feb 2005 02:52:01 +0000 (2 02:52 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@94584 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agomainline -> tcb merge as of 2005-01-14.
dnovillo [Fri, 14 Jan 2005 18:44:44 +0000 (14 18:44 +0000)]
mainline -> tcb merge as of 2005-01-14.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@93656 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Fri, 14 Jan 2005 18:44:44 +0000 (14 18:44 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@93655 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agomainline -> tcb merge as of 2005-01-08.
dnovillo [Mon, 10 Jan 2005 02:10:47 +0000 (10 02:10 +0000)]
mainline -> tcb merge as of 2005-01-08.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@93129 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Mon, 10 Jan 2005 02:10:47 +0000 (10 02:10 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@93128 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * Makefile.in (collect2.o-warn): Remove.
dnovillo [Thu, 6 Jan 2005 21:23:23 +0000 (6 21:23 +0000)]
* Makefile.in (collect2.o-warn): Remove.
* tree-optimize.c (init_tree_optimization_passes): Schedule
pass_insert_range_assertions after pass_referenced_vars.
* tree-vrp.c (opposite_comparison): Remove.
(build_assert_exprs): Remove.
(negate_assert_exprs): Remove.
(build_assert_expr_for): New function.
(maybe_add_assert_expr_on_edges): New function.
(execute_insert_range_assertions): Change linear traversal of
basic blocks to a recursive call maybe_add_assert_expr_on_edges
for the edges going out of ENTRY_BLOCK_PTR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@93007 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agomainline -> tcb merge as of 2004-12-29.
dnovillo [Wed, 29 Dec 2004 21:50:02 +0000 (29 21:50 +0000)]
mainline -> tcb merge as of 2004-12-29.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@92713 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Wed, 29 Dec 2004 21:50:02 +0000 (29 21:50 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@92712 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago Add expression assertions to GIMPLE.
dnovillo [Wed, 15 Dec 2004 03:07:58 +0000 (15 03:07 +0000)]
Add expression assertions to GIMPLE.

* tree-vrp.c: New file.
* tree.def (ASSERT_EXPR): Define.
* Makefile.in (collect2.o): Compile with -Wno-error.
(tree-vrp.o): New rule.
(OBJS-common): Add tree-vrp.o.
* timevar.def (TV_TREE_INSERT_ASSERT): Define.
* fold-const.c (fold): Handle ASSERT_EXPR.
* tree-cfg.c (verify_expr): Likewise.
* tree-gimple.c (is_gimple_formal_tmp_rhs): Likewise.
* tree-inline.c (estimate_num_insns_): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Likewise.
(interpret_rhs_modify_expr): Likewise.
* tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* tree-ssa-ccp.c (likely_value): Likewise.
(pass_ccp): Add TODO_cleanup_cfg to todo_flags_finish.
* tree-optimize.c (init_tree_optimization_passes): Schedule
pass_insert_range_assertions and pass_remove_range_assertions.
* tree-pass.h (pass_insert_range_assertions): Declare.
(pass_remove_range_assertions): Declare.
* tree-ssa-copy.c (stmt_may_generate_copy): Remove unnecessary
checks for aliased loads and aliased stores.

testsuite/ChangeLog.tcb

* gcc.dg/tree-ssa/cfgcleanup-1.c: Expect output at DCE2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@92175 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-flow-inline.h (clear_call_clobbered): New function.
dnovillo [Sat, 11 Dec 2004 05:23:19 +0000 (11 05:23 +0000)]
* tree-flow-inline.h (clear_call_clobbered): New function.
* tree-ssa-alias.c (init_alias_info): Call it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@92028 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agomainline -> tcb merge as of 2004-12-10.
dnovillo [Sat, 11 Dec 2004 01:55:49 +0000 (11 01:55 +0000)]
mainline -> tcb merge as of 2004-12-10.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@92026 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Sat, 11 Dec 2004 01:55:49 +0000 (11 01:55 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@92025 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-into-ssa.c (REWRITE_THIS_STMT): Define.
dnovillo [Fri, 10 Dec 2004 17:50:07 +0000 (10 17:50 +0000)]
* tree-into-ssa.c (REWRITE_THIS_STMT): Define.
(mark_def_sites): Clear REWRITE_THIS_STMT for statements that
don't need any operands rewritten.
(rewrite_stmt): Ignore statements that don't need to be
rewritten.
(rewrite_operand): Validate that an existing SSA_NAME is
identical to the current reaching definition of the operand.

* tree-sra.c (mark_all_v_defs): Also mark VUSEs for renaming.
* tree-vectorizer.c (vectorizable_load): Mark call-clobbered
variables for renaming if we just introduced a CALL_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@92001 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-if-conv.c (find_phi_replacement_condition): New parameter, loop.
dpatel [Wed, 8 Dec 2004 16:50:36 +0000 (8 16:50 +0000)]
 * tree-if-conv.c (find_phi_replacement_condition): New parameter, loop.
     While selecting replacement condition pay attention to loop header.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@91908 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago*** empty log message ***
dnovillo [Mon, 6 Dec 2004 01:08:28 +0000 (6 01:08 +0000)]
*** empty log message ***

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@91767 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Mon, 6 Dec 2004 01:08:28 +0000 (6 01:08 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@91766 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2004-11-22 Daniel Berlin <dberlin@dberlin.org>
dberlin [Mon, 29 Nov 2004 23:59:13 +0000 (29 23:59 +0000)]
2004-11-22  Daniel Berlin  <dberlin@dberlin.org>

Patch by Zdenek Dvorak (dvorakz@suse.cz)
* Makefile.in (tree-optimize.o): Add $(CFGLOOP_H).
* cfgloop.c (flow_loop_nodes_find): Make non-static.
* cfgloop.h (fix_loop_structure): New prototype.
* cfgloopmanip.c (fix_loop_structure): New function.
* tree-cfg.c (cleanup_tree_cfg_loop): New function.
(tree_can_merge_blocks_p): Protect loop latches when current_loops
is non-NULL.
(remove_bb): Handle updating of loop structure when current_loops
is non-NULL.
(tree_forwarder_block_p): Protect loop latches, headers, and
preheaders when current_loops is non-NULL.
* tree-flow.h (cleanup_tree_cfg_loop): New prototype.
* tree-loop-linear (linear_transform_loops): The loop array may
have nulls in it.
* tree-optimize.c (init_tree_optimization_passes): Add CCP and
copy-prop after loop-init.
(execute_todo): Run cleanup_tree_cfg_loop when current_loops is
non-NULL.
* tree-ssa-copy.c (fini_copy_prop): Remove call to cleanup_tree_cfg.
(pass_copy_prop): Add TODO_cleanup_cfg.
* tree-ssa-loop-ivcanon.c (cnaonicalize_induction_variables):
Remove call to cleanup_tree_cfg_loop.
(tree_unroll_loops_completely): Ditto.
* tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Ditto.
* tree-ssa-loop.c (pass_unswitch): Add TODO_cleanup_cfg.
(pass_iv_canon): Ditto.
(pass_complete_unroll): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@91497 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoMainline merge as of 2004-11-17.
dnovillo [Thu, 18 Nov 2004 03:16:25 +0000 (18 03:16 +0000)]
Mainline merge as of 2004-11-17.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@90848 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Thu, 18 Nov 2004 03:16:25 +0000 (18 03:16 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@90847 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoMainline merge as of 2004-11-04.
dnovillo [Fri, 5 Nov 2004 17:25:03 +0000 (5 17:25 +0000)]
Mainline merge as of 2004-11-04.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@90132 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Fri, 5 Nov 2004 17:25:03 +0000 (5 17:25 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@90131 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoMainline merge as of 2004-10-24.
dnovillo [Sun, 24 Oct 2004 19:33:47 +0000 (24 19:33 +0000)]
Mainline merge as of 2004-10-24.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@89510 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Sun, 24 Oct 2004 19:33:47 +0000 (24 19:33 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@89509 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-ssa-copy.c (copy_prop_visit_phi_node): Always
dnovillo [Wed, 20 Oct 2004 02:01:18 +0000 (20 02:01 +0000)]
* tree-ssa-copy.c (copy_prop_visit_phi_node): Always
start with a nil copy-of value.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@89315 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-ssa-ccp.c (replace_vuses_in): Revert inadvertent
dnovillo [Tue, 19 Oct 2004 23:57:03 +0000 (19 23:57 +0000)]
* tree-ssa-ccp.c (replace_vuses_in): Revert inadvertent
early return.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@89302 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * common.opt (-ftree-store-copy-prop): New flag.
dnovillo [Tue, 19 Oct 2004 21:56:11 +0000 (19 21:56 +0000)]
* common.opt (-ftree-store-copy-prop): New flag.
* opts.c (decode_options): Enable STORE-COPY-PROP at O2.
* timevar.def (TV_TREE_STORE_COPY_PROP): Define.
* tree-flow.h (execute_copy_prop): Add boolean argument.
* tree-optimize.c (init_tree_optimization_passes): Schedule
STORE-COPY-PROP after SRA.
* tree-pass.h (pass_store_copy_prop): Declare.
* tree-ssa-ccp.c (set_lattice_value): Fix typo in comment.
(replace_uses_in): Call may_propagate_copy before doing the
final propagation.
(replace_vuses_in): Call get_value_loaded_by.
(ccp_lattice_meet): Do not test for memory reference equality
if DO_STORE_CCP is false.
(ccp_fold): Call get_value_loaded_by.
(visit_assignment): Likewise.
Set all the virtual definitions in the statement to the newly
computed value.
(ccp_visit_stmt): Reformat dump output.
(do_ssa_store_ccp): If STORE-CCP is not enabled, run standard
CCP.
(gate_store_ccp): Return true if either CCP or STORE-CCP are
enabled.
(pass_store_ccp): Rename dump suffix.
* tree-ssa-copy.c (cached_last_copy_of): Declare.
(stmt_may_generate_copy): Return false if the name occurs in
an abnormal PHI.
(copy_chains): Remove.  Update all functions to use COPY_OF
instead.
(get_copy_of_val): Rename from get_first_copy.  Return a
pointer to the COPY_OF slot for VAR.
(set_copy_of_val): Rename from set_first_copy_of.
Used CACHED_LAST_COPY_OF to determine whether the copy-of
chain has changed.
(copy_prop_visit_assignment): Do not call may_propagate_copy.
In the case of STORE-COPY-PROP set the copy-of value for all
the virtual definitions.
(copy_prop_visit_stmt): Reformat dump output.
(copy_prop_visit_phi_node): Support STORE-COPY-PROP by
checking memory references for each argument.
Do not allow copies to flow through abnormal edges.
(init_copy_prop): Allocate cached_last_copy_of.
(fini_copy_prop): Free cached_last_copy_of
(execute_copy_prop): Add new boolean argument to determine
whether to enable STORE-COPY-PROP.
(do_copy_prop): New function.
(pass_copy_prop): Call do_copy_prop.
(gate_store_copy_prop): New function.
(store_copy_prop): New function.
(pass_store_copy_prop): Define.
* tree-ssa-propagate.c (first_vuse): Remove.
(get_value_loaded_by): New function.
* tree-ssa-propagate.h (first_vuse): Remove.
(get_value_loaded_by): Declare.
* doc/invoke.texi (-ftree-store-copy-prop): Document.
(-fdump-tree-store_copyprop): Document.

testsuite/ChangeLog.tcb

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@89295 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-ssa-ccp.c: Document SSA-CCP and STORE-CCP.
dnovillo [Fri, 15 Oct 2004 14:51:43 +0000 (15 14:51 +0000)]
* tree-ssa-ccp.c: Document SSA-CCP and STORE-CCP.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@89099 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-optimize.c (execute_one_pass): Stop timer right after
dnovillo [Fri, 15 Oct 2004 03:19:43 +0000 (15 03:19 +0000)]
* tree-optimize.c (execute_one_pass): Stop timer right after
executing the pass.

* tree-outof-ssa.c (check_replaceable): Return false for
calls with side-effects.

* tree-flow.h (unmodifiable_var_p): Declare.
* tree-flow-inline.h (unmodifiable_var_p): New function.
* tree-ssa-alias.c (compute_flow_insensitive_aliasing): If the
variable is read-only but the tag isn't, or vice versa, they
cannot alias each other.
(maybe_create_global_var): Do not create .GLOBAL_VAR if there
are no call-clobbered variables.
* tree-ssa-operands.c (get_call_expr_operands): Fix comment.
(add_stmt_operand): If the variable is read-only and the
operand is a V_MAY_DEF or V_MUST_DEF, change it to a VUSE.
Likewise when adding V_MAY_DEF for members of may-alias sets.
(add_call_clobber_ops): Call unmodifiable_var_p.

* tree-ssa-pre.c (valid_in_set): Return false for
tcc_declaration.
(create_value_expr_from): Return NULL if one of the operands
in the expression is an overflowed constant.
(compute_avail): Only insert new expression if
create_value_expr_from returns non-NULL.

Constant propagation of stores and loads.

* common.opt (ftree-store-ccp): New flag.
* opts.c (decode_options): Enable STORE-CCP at -O2.
* timevar.def (TV_TREE_STORE_CCP): New timer.
* tree-flow.h (struct prop_value_d): Declare.
(unmodifiable_var_p): Declare.
* tree-optimize.c (init_tree_optimization_passes): Re-arrange
CCP, FRE and copy-prop passes.
Add call to pass_store_ccp.
* tree-pass.h (pass_store_ccp): Declare.
* tree-ssa-ccp.c (value): Remove.  Update all users.
(const_val): Declare.
(value_vector): Remove.  Update all users.
(ccp_lattice_t): Rename from latticevalue.  Update all users.
(do_store_ccp): Declare.
(debug_lattice_value): New function.
(get_default_value): Re-write.
(set_lattice_value): Do not allow lattice transitions to lower
lattice values (with the exception of CONSTANT->UNKNOWN_VAL).
Return false on UNINITIALIZED->UNDEFINED transitions.
(def_to_varying): Remove.
(likely_value): Re-write.
(need_imm_uses_for): Call likely_value if VAR is defined by an
assignment.
(ccp_initialize): Remove variable 'is_may_def'.
(struct prop_stats_d): Declare.
(prop_stats): Declare.
(replace_uses_in): Count number of constants and copies
propagated.
(replace_vuse_in): Likewise.
(replace_phi_args_in): Factor out from ...
(substitute_and_fold): ... here.
Initialize prop_stats.
Always remove EH edges if the statement no longer has EH
information.
(ccp_lattice_meet): Re-write.  Add documentation for
UNKNOWN_VAL.
(ccp_visit_phi_node): Do not handle UNKNOWN_VAL if
do_store_ccp is false.
(ccp_fold): Do not handle loads if do_store_ccp is false.
(visit_assignment): Re-write.
(ccp_visit_stmt): Visit all assignments.
(execute_ssa_ccp): Add argument 'store_ccp'.
(do_ssa_ccp): New function.
(do_ssa_store_ccp): New function.
(gate_store_ccp): Declare.
* tree-ssa-copy.c (copy_of): Declare.
(do_store_copy_prop): Declare.
(stmt_may_generate_copy): New function.
(need_imm_uses_for): Call it.
(get_first_copy_of): Use copy_of instead of SSA_NAME_VALUE.
(get_last_copy_of): Likewise.
(set_first_copy_of): Likewise.
(dump_copy_of): Likewise.
(copy_prop_visit_assignment): Likewise.
(copy_prop_visit_cond_stmt): Likewise.
(copy_prop_visit_stmt): Likewise.
(init_copy_prop): Likewise.
(fini_copy_prop): Likewise.
* tree-ssa-dom.c (struct opt_stats_d): Add fields
num_const_prop and num_copy_prop.
(tree_ssa_dominator_optimize): Do not execute more than once.
(dump_dominator_optimization_stats): Show constants and copies
propagated.
(cprop_into_successor_phis): Do not replace if NEW == ORIG.
(cprop_operand):  Do not replace if OP == VAL.
Do not call get_virtual_var when VAL is a GIMPLE register.
Keep statistics on propagated copies and constants.
* tree-ssa-propagate.c (first_vuse): New function.
(first_vdef): New function.
(stmt_makes_single_load): New function.
(stmt_makes_single_store): New function.
* tree-ssa-propagate.h (first_vuse): Declare.
(first_vdef): Declare.
(stmt_makes_single_load): Declare.
(stmt_makes_single_store): Declare.
* tree-ssa.c (verify_ssa): Call verify_stmts.
* doc/invoke.texi (-fdump-tree-storeccp): Document.
(-ftree-store-ccp): Document.

testsuite/ChangeLog.tcb

* gcc.dg/tree-ssa/20030711-2.c: Update.
* gcc.dg/tree-ssa/20030728-1.c: Update.
* gcc.dg/tree-ssa/20030731-2.c: Update.
* gcc.dg/tree-ssa/20030917-1.c: Update.
* gcc.dg/tree-ssa/20030917-3.c: Update.
* gcc.dg/tree-ssa/20040721-1.c: Update.
* gcc.dg/tree-ssa/20041008-1.c: New test.
* gcc.dg/tree-ssa/ssa-ccp-1.c: Update.
* gcc.dg/tree-ssa/ssa-ccp-12.c: New test.
* gcc.dg/tree-ssa/ssa-ccp-2.c: Update.
* gcc.dg/tree-ssa/ssa-ccp-3.c: Update.
* gcc.dg/tree-ssa/ssa-ccp-7.c: Update.
* gcc.dg/tree-ssa/ssa-ccp-9.c: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@89079 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoMainline merge as of 2004-10-13.
dnovillo [Wed, 13 Oct 2004 16:13:04 +0000 (13 16:13 +0000)]
Mainline merge as of 2004-10-13.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@88989 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Wed, 13 Oct 2004 16:13:04 +0000 (13 16:13 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@88988 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoMove last ChangeLog entry to ChangeLog.tcb
dnovillo [Fri, 8 Oct 2004 14:14:32 +0000 (8 14:14 +0000)]
Move last ChangeLog entry to ChangeLog.tcb

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@88756 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2004-10-07 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Fri, 8 Oct 2004 01:41:46 +0000 (8 01:41 +0000)]
2004-10-07  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17671
        * tree-ssa-phiopt.c (tree_ssa_phiopt): Rewrite so we base the
        bbs on the COND_EXPR instead of the PHI_NODEs.
        (candidate_bb_for_phi_optimization): Remove.
        (replace_phi_with_stmt): Rename to ...
        (replace_phi_edge_with_variable): this and change so that we
        replace the phi argument instead of removing the PHI.
        (conditional_replacement): Change so we deal with PHI with more
        than two arguments.
        (value_replacement): Likewise.
        (abs_replacement): Likewise.

2004-10-07  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17671
        * gcc.dg/tree-ssa/phi-opt-[1-4].c: New tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@88732 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2004-10-06 Andrew MacLeod <amacleod@redhat.com>
amacleod [Wed, 6 Oct 2004 12:46:04 +0000 (6 12:46 +0000)]
2004-10-06  Andrew MacLeod  <amacleod@redhat.com>

PR tree-optimization/16447
* tree-cfg.c (bsi_commit_one_edge_insert): Rename from
bsi_commit_edge_inserts_1, and make funtion external.  Return new block.
(bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
* tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
* tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
* tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
(same_stmt_list_p): New.  Return TRUE if edge is to be forwarded.
(identical_copies_p): New.  Return true is two copies are the same.
(identical_stmt_lists_p): New.  Return true if stmt lists are the same.
(analyze_edges_for_bb): New.  Determine how best to insert edge stmts
for a basic block.
(perform_edge_inserts): New.  Determine what to do with all stmts that
have been inserted on edges.
(remove_ssa_form):  Analyze and commit edges from here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@88603 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoMainline merge as of 2004-09-29.
dnovillo [Thu, 30 Sep 2004 18:45:05 +0000 (30 18:45 +0000)]
Mainline merge as of 2004-09-29.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@88348 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Thu, 30 Sep 2004 18:45:05 +0000 (30 18:45 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@88347 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoMainline merge as of 2004-09-22.
dnovillo [Wed, 22 Sep 2004 23:46:15 +0000 (22 23:46 +0000)]
Mainline merge as of 2004-09-22.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@87897 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Wed, 22 Sep 2004 23:46:15 +0000 (22 23:46 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@87896 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * Makefile.in (tree-ssa-copy.o): Add dependency on
dnovillo [Tue, 21 Sep 2004 19:58:09 +0000 (21 19:58 +0000)]
* Makefile.in (tree-ssa-copy.o): Add dependency on
tree-ssa-propagate.h.
* common.opt (ftree-copy-prop): New switch.
* opts.c (decode_options): Set flag_tree_copy_prop at -O1 and
higher.
* timevar.def (TV_TREE_COPY_PROP): Define.
* tree-cfg.c (tree_can_merge_blocks_p): Update comment.
(find_taken_edge): Call fold if VAL is a comparison operator.
* tree-flow.h (get_ptr_info): Declare.
(kill_redundant_phi_nodes): Remove.
(execute_ssa_ccp): Declare.
(execute_copy_prop): Declare.
* tree-optimize.c (init_tree_optimization_passes): Add
pass_copy_prop and pass_fre.  Add more instances of pass_ccp.
* tree-pass.h (pass_copy_prop): Declare.
* tree-ssa-alias.c (get_ptr_info): Remove static declaration.
* tree-ssa-ccp.c (get_default_value): Add parameter
may_use_default_p.
Update all callers.
(set_lattice_value): Set SSA_NAME_VALUE.
(need_imm_uses_for): Return true on PHI nodes and assignments
that have no V_MAY_DEFs.
(ccp_initialize): Do not initialize to VARYING DEFs and
V_MUST_DEFs whose default value is VARYING.
(execute_ssa_ccp): Make extern.
* tree-ssa-copy.c: Update header documentation.
(may_propagate_copy): Do not abort if ORIG is a GIMPLE reg.
(merge_alias_info): Synchronize flow sensitive alias
information.
(need_imm_uses_for, get_first_copy_of, get_last_copy_of,
set_first_copy_of, dump_copy_of, copy_prop_visit_assignment,
copy_prop_visit_cond_stmt, copy_prop_visit_stmt,
copy_prop_visit_phi_node, init_copy_prop, fini_copy_prop,
execute_copy_prop): New local functions.
* tree-ssa-pre.c (compute_avail): Also process DECLs.
(execute_fre): Make extern.
* tree-ssa-propagate.c: Update copyright years.
(ssa_prop_init): Clear SSA_NAME_VALUE for every name.
(replace_uses_in, replace_vuse_in, substitute_and_fold): Move
from tree-ssa-ccp.c.
* tree-ssa-propagate.h: Update copyright years.
(replace_uses_in, substitute_and_fold): Declare.
* tree-ssa.c (propagate_into_addr, replace_immediate_uses,
get_eq_name, check_phi_redundancy, kill_redundant_phi_nodes,
pass_redundant_phi): Remove.
* tree.h (struct tree_ssa_name): Update comment for field
value_handle.
* doc/invoke.texi: Document -ftree-copy-prop.

testsuite/ChangeLog.tcb:

* gcc.dg/tree-ssa/20030530-2.c: Update dump file to scan.
* 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-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/20030731-2.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-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/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/20030917-1.c: Likewise.
* gcc.dg/tree-ssa/20030917-3.c: Likewise.
* gcc.dg/tree-ssa/20030922-1.c: Likewise.
* gcc.dg/tree-ssa/20040514-2.c: Likewise.
* gcc.dg/tree-ssa/20040721-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-7.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-9.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-ccp-1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@87820 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoThis commit was manufactured by cvs2svn to create branch
(no author) [Tue, 21 Sep 2004 19:58:09 +0000 (21 19:58 +0000)]
This commit was manufactured by cvs2svn to create branch
'tree-cleanup-branch'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-cleanup-branch@87819 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2004-09-21 Andreas Tobler <a.tobler@schweiz.ch>
andreast [Tue, 21 Sep 2004 08:33:35 +0000 (21 08:33 +0000)]
2004-09-21  Andreas Tobler  <a.tobler@schweiz.ch>

Import the big Crypto/Jessie/Security merge from Classpath.

* Makefile.am: Add imported files.
* Makefile.in: Regenerate.

2004-08-14  Casey Marshall <csm@gnu.org>

The Big Crypto Merge of 2004.

* javax/security/auth/x500/X500Principal.java: Replaced with GNU
Crypto's version.

Files imported from GNU Crypto.
* javax/crypto/BadPaddingException.java
* javax/crypto/Cipher.java
* javax/crypto/CipherInputStream.java
* javax/crypto/CipherOutputStream.java
* javax/crypto/CipherSpi.java
* javax/crypto/EncryptedPrivateKeyInfo.java
* javax/crypto/ExemptionMechanism.java
* javax/crypto/ExemptionMechanismException.java
* javax/crypto/ExemptionMechanismSpi.java
* javax/crypto/IllegalBlockSizeException.java
* javax/crypto/KeyAgreement.java
* javax/crypto/KeyAgreementSpi.java
* javax/crypto/KeyGenerator.java
* javax/crypto/KeyGeneratorSpi.java
* javax/crypto/Mac.java
* javax/crypto/MacSpi.java
* javax/crypto/Makefile.am
* javax/crypto/NoSuchPaddingException.java
* javax/crypto/NullCipher.java
* javax/crypto/NullCipherImpl.java
* javax/crypto/SealedObject.java
* javax/crypto/SecretKey.java
* javax/crypto/SecretKeyFactory.java
* javax/crypto/SecretKeyFactorySpi.java
* javax/crypto/ShortBufferException.java
* javax/crypto/interfaces/DHKey.java
* javax/crypto/interfaces/DHPrivateKey.java
* javax/crypto/interfaces/DHPublicKey.java
* javax/crypto/interfaces/PBEKey.java
* javax/crypto/spec/DESKeySpec.java
* javax/crypto/spec/DESedeKeySpec.java
* javax/crypto/spec/DHGenParameterSpec.java
* javax/crypto/spec/DHParameterSpec.java
* javax/crypto/spec/DHPrivateKeySpec.java
* javax/crypto/spec/DHPublicKeySpec.java
* javax/crypto/spec/IvParameterSpec.java
* javax/crypto/spec/PBEKeySpec.java
* javax/crypto/spec/PBEParameterSpec.java
* javax/crypto/spec/RC2ParameterSpec.java
* javax/crypto/spec/RC5ParameterSpec.java
* javax/crypto/spec/SecretKeySpec.java
* javax/security/auth/AuthPermission.java
* javax/security/auth/DestroyFailedException.java
* javax/security/auth/Destroyable.java
* javax/security/auth/Policy.java
* javax/security/auth/PrivateCredentialPermission.java
* javax/security/auth/RefreshFailedException.java
* javax/security/auth/Refreshable.java
* javax/security/auth/Subject.java
* javax/security/auth/SubjectDomainCombiner.java
* javax/security/auth/callback/Callback.java
* javax/security/auth/callback/CallbackHandler.java
* javax/security/auth/callback/ChoiceCallback.java
* javax/security/auth/callback/ConfirmationCallback.java
* javax/security/auth/callback/LanguageCallback.java
* javax/security/auth/callback/NameCallback.java
* javax/security/auth/callback/PasswordCallback.java
* javax/security/auth/callback/TextInputCallback.java
* javax/security/auth/callback/TextOutputCallback.java
* javax/security/auth/callback/UnsupportedCallbackException.java
* javax/security/auth/login/AccountExpiredException.java
* javax/security/auth/login/AppConfigurationEntry.java
* javax/security/auth/login/Configuration.java
* javax/security/auth/login/CredentialExpiredException.java
* javax/security/auth/login/FailedLoginException.java
* javax/security/auth/login/LoginContext.java
* javax/security/auth/login/LoginException.java
* javax/security/auth/login/NullConfiguration.java
* javax/security/auth/x500/X500PrivateCredential.java
* javax/security/sasl/AuthenticationException.java
* javax/security/sasl/AuthorizeCallback.java
* javax/security/sasl/RealmCallback.java
* javax/security/sasl/RealmChoiceCallback.java
* javax/security/sasl/Sasl.java
* javax/security/sasl/SaslClient.java
* javax/security/sasl/SaslClientFactory.java
* javax/security/sasl/SaslException.java
* javax/security/sasl/SaslServer.java
* javax/security/sasl/SaslServerFactory.java
* org/ietf/jgss/ChannelBinding.java
* org/ietf/jgss/GSSContext.java
* org/ietf/jgss/GSSCredential.java
* org/ietf/jgss/GSSException.java
* org/ietf/jgss/GSSManager.java
* org/ietf/jgss/GSSName.java
* org/ietf/jgss/MessageProp.java
* org/ietf/jgss/Oid.java
* org/ietf/jgss/MessagesBundle.properties

Files imported from Jessie <http://www.nongnu.org/jessie/>
* javax/net/ServerSocketFactory.java
* javax/net/SocketFactory.java
* javax/net/VanillaServerSocketFactory.java
* javax/net/VanillaSocketFactory.java
* javax/net/ssl/HandshakeCompletedEvent.java
* javax/net/ssl/HandshakeCompletedListener.java
* javax/net/ssl/HostnameVerifier.java
* javax/net/ssl/HttpsURLConnection.java
* javax/net/ssl/KeyManager.java
* javax/net/ssl/KeyManagerFactory.java
* javax/net/ssl/KeyManagerFactorySpi.java
* javax/net/ssl/ManagerFactoryParameters.java
* javax/net/ssl/SSLContext.java
* javax/net/ssl/SSLContextSpi.java
* javax/net/ssl/SSLException.java
* javax/net/ssl/SSLHandshakeException.java
* javax/net/ssl/SSLKeyException.java
* javax/net/ssl/SSLPeerUnverifiedException.java
* javax/net/ssl/SSLPermission.java
* javax/net/ssl/SSLProtocolException.java
* javax/net/ssl/SSLServerSocket.java
* javax/net/ssl/SSLServerSocketFactory.java
* javax/net/ssl/SSLSession.java
* javax/net/ssl/SSLSessionBindingEvent.java
* javax/net/ssl/SSLSessionBindingListener.java
* javax/net/ssl/SSLSessionContext.java
* javax/net/ssl/SSLSocket.java
* javax/net/ssl/SSLSocketFactory.java
* javax/net/ssl/TrivialHostnameVerifier.java
* javax/net/ssl/TrustManager.java
* javax/net/ssl/TrustManagerFactory.java
* javax/net/ssl/TrustManagerFactorySpi.java
* javax/net/ssl/X509KeyManager.java
* javax/net/ssl/X509TrustManager.java
* javax/security/cert/Certificate.java
* javax/security/cert/CertificateEncodingException.java
* javax/security/cert/CertificateException.java
* javax/security/cert/CertificateExpiredException.java
* javax/security/cert/CertificateNotYetValidException.java
* javax/security/cert/CertificateParsingException.java
* javax/security/cert/X509CertBridge.java
* javax/security/cert/X509Certificate.java

2004-08-20  Casey Marshall  <csm@gnu.org>

* java/security/cert/X509CRLSelector.java: New file.
* java/security/cert/X509CertSelector.java: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87795 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR rtl-optimization/17482
steven [Tue, 21 Sep 2004 07:48:29 +0000 (21 07:48 +0000)]
PR rtl-optimization/17482
* postreload-gcse.c (reg_avail_info, oprs_unchanged_p,
load_killed_in_block_p): Clarify comments.
(record_last_reg_set_info): Make static inline.
(mark_call, mark_set, mark_clobber, mark_oprs_set): Remove.
(record_opr_changes): New function to replace the above.
(compute_hash_table): Clarify comments.  Use record_opr_changes.
(reg_set_between_after_reload_p): Clean up.
(reg_used_between_after_reload_p): Likewise.
(eliminate_partially_redundant_load): Clarify comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87794 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR rtl-optimization/17266
ebotcazou [Tue, 21 Sep 2004 05:57:55 +0000 (21 05:57 +0000)]
PR rtl-optimization/17266
* regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87793 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR c++/17530
mmitchel [Tue, 21 Sep 2004 05:44:10 +0000 (21 05:44 +0000)]
PR c++/17530
* pt.c (tsubst): Fix parentheses to accomodate emacs.
(tsubst_baselink): If we get a single function, mark it as used.

PR c++/17530
* g++.dg/template/static7.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87791 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR rtl-optimization/14851
uros [Tue, 21 Sep 2004 05:10:54 +0000 (21 05:10 +0000)]
    PR rtl-optimization/14851
        * rtlanal.c (commutative_operand_precedence): Calculate
        precedence of stripped constant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87788 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-ssanames.c (make_ssa_name): No longer need to clear, then
law [Tue, 21 Sep 2004 03:19:00 +0000 (21 03:19 +0000)]
* tree-ssanames.c (make_ssa_name): No longer need to clear, then
initialize key elements here.
(release_ssa_name): Zero the released SSA_NAME here.
* tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros.
(struct tree_ssa_name): Add new "equiv" field.
* tree-ssa-dom.c (const_and_copies): Kill the global varray.
(tree_ssa_dominator_optimize): No longer allocate, resize or
clear CONST_AND_COPIES.
(get_value_for, set_value_for): Kill.
(thread_across_edge): Get/set the equivalency using
SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
(restore_vars_to_original_value): Likewise.
(record_equivalences_from_phis): Likewise.
(record_dominating_conditions): Likewise.
(record_const_or_copy, record_equality): Likewise.
(lookup_avail_expr): Likewise.
(record_equivalences_from_stmt, cprop_operand): Likewise.
(cprop_into_successor_phis): No longer need to pass around
CONST_AND_COPIES.  Callers updated. Get equivalences via
SSA_NAME_EQUIV.
(cprop_into_phis): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87787 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2004-09-20 Matt Austern <austern@apple.com>
zack [Tue, 21 Sep 2004 02:22:45 +0000 (21 02:22 +0000)]
2004-09-20  Matt Austern <austern@apple.com>
    Zack Weinberg  <zack@codesourcery.com>

* c-common.c (fix_string_type): Build the unqualified array
type unconditionally, then use c_build_qualified_type to get
the proper const-qualified variant, and set its
TYPE_MAIN_VARIANT to refer to the unqualified type.
* c-lex.c (c_lex_return_raw_string): New global.
(c_lex_with_flags): Honor it.
* c-pragma.h: Declare it.

cp:
* decl.c (make_rtl_for_nonlocal_decl, start_preparsed_function):
Apply lbasename to input_filename before passing to get_fileinfo.
* semantics.c (begin_class_definition): Likewise.
* lex.c (handle_pragma_interface): Apply get_fileinfo to the
correct filename.  Rename variables to be less confusing.
(handle_pragma_implementation): Likewise.  Disable "appears
after file is included" diagnostic.

* parser.c (struct cp_token): Add in_system_header fiag.
(CP_TOKEN_BLOCK_NUM_TOKENS, struct cp_token_block)
(CP_TOKEN_BUFFER_SIZE, cp_token_cache_push_token)
(CPP_NONE, cp_lexer_read_token): Delete.
(struct cp_lexer): Remove first_token, string_tokens,
main_lexer_p fields.  Clarify comments.
(struct cp_token_cache): Now just a pair of pointers.
(CP_LEXER_BUFFER_SIZE): New #define.
(CPP_PURGED): New fake token type.
(cp_lexer_new_from_token_array, cp_lexer_destroy)
(cp_lexer_peek_token_emit_debug_info, cp_lexer_skip_purged_tokens)
(cp_lexer_handle_pragma, cp_token_cache_new, cp_parser_string_literal):
New functions.
(cp_lexer_new_from_tokens): Now a simple wrapper around
cp_lexer_new_from_token_array.
(cp_lexer_set_source_position_from_token): Also update
in_system_header.
(cp_lexer_next_token, cp_lexer_prev_token, cp_lexer_advance_token):
Don't wrap round.
(cp_lexer_token_difference): Dont handle wrapping round.
(cp_lexer_new_main): Enable pragma deferral and raw strings,
read the entire translation unit through c_lex_with_flags into
this lexer's buffer, then turn raw strings back off again.
(cp_lexer_grow_buffer): Adjust for buffer no longer being circular.
(cp_lexer_get_preprocessor_token): No need to handle not being
the main lexer.  Set token->in_system_header too.
(cp_lexer_peek_token): Skip purged tokens.  Feed pragma tokens
to cp_lexer_handle_pragma.  No need to call cp_lexer_read_token.
(cp_lexer_peek_nth_token): Likewise.
(cp_lexer_purge_token): Mark the token PURGED, don't shift all
the other tokens down.
(cp_lexer_purge_tokens_after): Likewise.
(cp_lexer_save_tokens, cp_lexer_rollback_tokens): Don't worry
about there being no tokens.
(cp_lexer_print_token): Revise to give useful information on
all tokens.
(struct cp_parser): Add field translate_strings_p.
(cp_parser_new): Initialize it.
(cp_parser_translation_unit): Destroy the lexer when done.
(cp_parser_parameter_declaration): Restructure saving of
default arguments.
(cp_parser_save_member_function_body): Likewise.
(cp_parser_check_for_invalid_template_id)
(cp_parser_nested_name_specifier_opt, cp_parser_template_id):
Adjust calls to cp_lexer_advance_token.
(cp_parser_skip_to_closing_parenthesis, cp_parser_declaration):
No need to fiddle c_lex_string_translate.
(cp_parser_primary_expression, cp_parser_linkage_specification)
(cp_parser_asm_definition, cp_parser_asm_specification_opt)
(cp_parser_asm_operand_list, cp_parser_asm_clobber_list)
Use cp_parser_string_literal.
(cp_parser_attribute_list): Save and restore
parser->translate_strings_p, not c_lex_string_translate.
(cp_parser_cache_group): Delete.
(cp_parser_cache_group_1): Rename cp_parser_cache_group.  Do
not take a cache argument.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87786 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2004-09-20 Daniel Berlin <dberlin@dberlin.org>
dberlin [Tue, 21 Sep 2004 01:00:11 +0000 (21 01:00 +0000)]
2004-09-20  Daniel Berlin  <dberlin@dberlin.org>

* Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87785 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Tue, 21 Sep 2004 00:16:13 +0000 (21 00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87783 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR middle-end/17126
hubicka [Tue, 21 Sep 2004 00:08:53 +0000 (21 00:08 +0000)]
PR middle-end/17126
* tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
(tree_rest_of_compilation): Cleanup.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87780 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/s390/s390.c (s390_select_rtx_section): Remove.
uweigand [Mon, 20 Sep 2004 23:42:00 +0000 (20 23:42 +0000)]
* config/s390/s390.c (s390_select_rtx_section): Remove.
(TARGET_ASM_SELECT_RTX_SECTION): Do not redefine.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87779 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR
kkojima [Mon, 20 Sep 2004 23:10:00 +0000 (20 23:10 +0000)]
* config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR
note to pretend a direct save from the original register when an
intermediate register is used for the save.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87778 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR c++/14179
giovannibajo [Mon, 20 Sep 2004 23:05:40 +0000 (20 23:05 +0000)]
PR c++/14179
* decl.c (reshape_init): Extract array handling into...
(reshape_init_array): New function. Use integers instead of trees
for indices. Handle out-of-range designated initializers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87777 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tsystem.h (alloca): Provide a default definition.
ghazi [Mon, 20 Sep 2004 22:23:12 +0000 (20 22:23 +0000)]
* tsystem.h (alloca): Provide a default definition.

Revert:
2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
    * unwind-dw2.c: Call __builtin_alloca, not alloca.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87775 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * lex.c (cxx_init): Don't set the ridpointer for RID_NULL
steven [Mon, 20 Sep 2004 21:03:56 +0000 (20 21:03 +0000)]
* lex.c (cxx_init): Don't set the ridpointer for RID_NULL
to null_node.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87774 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2004-09-20 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Mon, 20 Sep 2004 20:58:23 +0000 (20 20:58 +0000)]
2004-09-20  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17558
        * gcc.c-torture/compile/pr17558.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87773 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2004-09-20 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Mon, 20 Sep 2004 20:53:08 +0000 (20 20:53 +0000)]
2004-09-20  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17558
        * tree-ssa-copy.c (may_propagate_copy): Only allow if the
        aliasing sets are the same rather than just conflicting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87772 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * cgraph.c (cgraph_unnest_node): New function.
hubicka [Mon, 20 Sep 2004 20:41:20 +0000 (20 20:41 +0000)]
* cgraph.c (cgraph_unnest_node): New function.
(c_finalize): Rename to ....
(c_warn_unused_result_recursivly): ... this one; do only the warning
(finish_function): Finalize the toplevel function; do not lower nested tree.
* cgraph.h (cgraph_unnest_node): Declare.
* cgraphunit.c (decide_is_function_needed): Do not use cgraph
nestedness datastructure.
* cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
* reload1.c (set_label_offsets): Fix call of set_label_offsets.
* tree-nested.c (finlize_nesting_tree_1):  Use un-nesting code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87771 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR middle-end/16460
hubicka [Mon, 20 Sep 2004 20:38:29 +0000 (20 20:38 +0000)]
PR middle-end/16460

* cgraph.c (cgraph_unnest_node): New function.
(c_finalize): Rename to ....
(c_warn_unused_result_recursivly): ... this one; do only the warning
(finish_function): Finalize the toplevel function; do not lower nested tree.
* cgraph.h (cgraph_unnest_node): Declare.
* cgraphunit.c (decide_is_function_needed): Do not use cgraph
nestedness datastructure.
* cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
* reload1.c (set_label_offsets): Fix call of set_label_offsets.
* tree-nested.c (finlize_nesting_tree_1):  Use un-nesting code.

* utils.c (gnat_finalize): Remove.
(end_subprog_body): Directly call cgraph_finalize_function;
do not lower the nested functions.

* trans-decl.c (build_entry_thunks): Finalize the function; do not lower
tree.
(gfc_generate_function_code): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87770 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/alpha/alpha.c (some_small_symbolic_operand_int): Rename
rth [Mon, 20 Sep 2004 20:13:39 +0000 (20 20:13 +0000)]
    * config/alpha/alpha.c (some_small_symbolic_operand_int): Rename
        from some_small_symbolic_operand_1; export.
        (some_small_symbolic_operand): Remove.
        * config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove
        extra C check.
        * config/alpha/predicates.md (some_small_symbolic_operand): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87769 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * predict.c (return_prediction): New function.
hubicka [Mon, 20 Sep 2004 18:43:30 +0000 (20 18:43 +0000)]
* predict.c (return_prediction): New function.
(apply_return_prediction): Likewise.
(tree_bb_level_predictions): Likewise.
(tree_estimate_probability): Add noreturn exit edges; call
bb_level_predictions; fix logic of return heuristics.
(predict_paths_leading_to):  Rescuesce from old CVS version of
process_note_prediction function.
* predict.def (PRED_TREE_EARLY_RETURN): New predictor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87768 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * gcc.dg/compat/sdata-section.h (SDATA_SECTION): Don't use an attribute
rsandifo [Mon, 20 Sep 2004 18:02:53 +0000 (20 18:02 +0000)]
* gcc.dg/compat/sdata-section.h (SDATA_SECTION): Don't use an attribute
if SKIP_ATTRIBUTE is defined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87766 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2004-09-20 Andreas Krebbel <krebbel1@de.ibm.com>
uweigand [Mon, 20 Sep 2004 17:25:39 +0000 (20 17:25 +0000)]
2004-09-20  Andreas Krebbel  <krebbel1@de.ibm.com>

* config/s390/s390.c (s390_frame_info): Added alignment statement for
floating point register area on stack.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87765 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agofortran/
tobi [Mon, 20 Sep 2004 17:22:50 +0000 (20 17:22 +0000)]
fortran/
PR fortran/15957
* simplify.c (gfc_simplify_reshape): Set shape of return value
correctly.

testsuite/
PR fortran/15957
* gfortran.dg/pr15957.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87764 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * predict.c (expr_expected_value): Use *_CLASS_P macros.
jakub [Mon, 20 Sep 2004 16:56:12 +0000 (20 16:56 +0000)]
* predict.c (expr_expected_value): Use *_CLASS_P macros.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87763 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * gcc.dg/vect/vect-74.c: Avoid floating point precision error
dorit [Mon, 20 Sep 2004 16:26:24 +0000 (20 16:26 +0000)]
    * gcc.dg/vect/vect-74.c: Avoid floating point precision error
        in comparison.
        * gcc.dg/vect/vect-79.c: Likewise.
        * gcc.dg/vect/vect-80.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87762 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2004-09-20 Daniel Berlin <dberlin@dberlin.org>
dberlin [Mon, 20 Sep 2004 15:45:21 +0000 (20 15:45 +0000)]
2004-09-20  Daniel Berlin  <dberlin@dberlin.org>

* tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid
generating useless garbage.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87760 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2004-09-20 Paolo Bonzini <bonzini@gnu.org>
bonzini [Mon, 20 Sep 2004 14:47:20 +0000 (20 14:47 +0000)]
2004-09-20  Paolo Bonzini  <bonzini@gnu.org>

* builtins.c (fold_builtin): Call the new omonymous
target hook for machine-dependent built-ins.
* target-def.h (TARGET_FOLD_BUILTIN): New.
* target.h (struct gcc_target): Add the fold_builtin hook.
* targhooks.c (default_fold_builtin): New.
* targhooks.h (default_fold_builtin): Declare it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87756 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2004-09-20 Robert Dewar <dewar@gnat.com>
charlet [Mon, 20 Sep 2004 12:07:47 +0000 (20 12:07 +0000)]
2004-09-20  Robert Dewar  <dewar@gnat.com>

PR ada/17540

* freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
if an address clause is present, since that means that the Import
should be ignored.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87755 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix
kazu [Mon, 20 Sep 2004 11:17:22 +0000 (20 11:17 +0000)]
* cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix
comment typos.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87753 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoPR fortran/15750
tobi [Mon, 20 Sep 2004 11:09:47 +0000 (20 11:09 +0000)]
PR fortran/15750
* gfortran.fortran-torture/execute/iolength_2.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87752 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * 5tsystem.ads: Removed, no longer used.
charlet [Mon, 20 Sep 2004 08:43:00 +0000 (20 08:43 +0000)]
* 5tsystem.ads: Removed, no longer used.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87751 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2004-09-20 Ira Rosen <irar@il.ibm.com>
dorit [Mon, 20 Sep 2004 07:17:06 +0000 (20 07:17 +0000)]
2004-09-20  Ira Rosen  <irar@il.ibm.com>

        * gcc.dg/vect/vect-13.c: Added xfail for non ppc platforms.
        * gcc.dg/vect/vect-74.c: Split into 3 tests (vect-79.c, vect-80.c).
        * gcc.dg/vect/vect-62.c: New testcase.
        * gcc.dg/vect/vect-63.c: New testcase.
        * gcc.dg/vect/vect-64.c: New testcase.
        * gcc.dg/vect/vect-65.c: New testcase.
        * gcc.dg/vect/vect-66.c: New testcase.
        * gcc.dg/vect/vect-67.c: New testcase.
        * gcc.dg/vect/vect-68.c: New testcase.
        * gcc.dg/vect/vect-69.c: New testcase.
        * gcc.dg/vect/vect-79.c: New testcase.
        * gcc.dg/vect/vect-80.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87745 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR target/17565
rsandifo [Mon, 20 Sep 2004 06:54:52 +0000 (20 06:54 +0000)]
PR target/17565
* config/mips/mips.md (define_asm_attributes): Set can_delay to no.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87744 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/mh-x86omitfp: New host makefile fragment. Add
sayle [Mon, 20 Sep 2004 00:58:42 +0000 (20 00:58 +0000)]
* config/mh-x86omitfp: New host makefile fragment.  Add
-fomit-frame-pointer to the default BOOT_CFLAGS.
* configure.in: Use it to speed up bootstrap on some IA-32 hosts.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87741 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Mon, 20 Sep 2004 00:16:14 +0000 (20 00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87739 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * predict.c (estimate_probability): Remove unnecesary code.
hubicka [Mon, 20 Sep 2004 00:05:38 +0000 (20 00:05 +0000)]
* predict.c (estimate_probability): Remove unnecesary code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87736 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * decl2.c (determine_visibility): Allow class visibility
mmitchel [Sun, 19 Sep 2004 23:18:19 +0000 (19 23:18 +0000)]
* decl2.c (determine_visibility): Allow class visibility
directives to override targetm.cxx.export_class_data.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87735 138bc75d-0d04-0410-961f-82ee72b054a4