------- Additional Comments From danglin at gcc dot gnu dot org 2005-05-07 15:05 ------- Here's the story on this problem. Ada bootstrap was broken on this target by this change:
2005-04-08 Diego Novillo <[EMAIL PROTECTED]> Merge from tree-cleanup-branch: VRP, store CCP, store copy-prop, incremental SSA updating of FUD chains and newly exposed symbols. * Makefile.in (tree-ssa-copy.o): Depend on tree-ssa-propagate.h. ... The resulting PR was fixed by Kazu with this change: 2005-04-15 Kazu Hirata <[EMAIL PROTECTED]> PR tree-optimization/20936. * tree-ssa-ccp.c (visit_assignment): Fix a typo. However, this didn't fix all the problems introduced by the original change. With Kazu's patch, gnat1 went into an infinite loop in stage3 compiling ada.ads: stage2/xgcc -Bstage2/ -B/home/dave/opt/gnu/gcc/gcc-4.1.0/hppa-linux/bin/ -c -g - O2 -gnatpg -gnata -I- -I. -Iada -I../../gcc/gcc/ada ../../gcc/gcc/ada/ada.a ds -o ada/ada.o make[2]: *** [ada/ada.o] Interrupt The above problem was fixed by this change: 2005-04-22 Jeff Law <[EMAIL PROTECTED]> * tree-ssa-dom.c (block_defs_stack): Remove, no longer needed. (restore_currdefs_to_original_value): Likewise. (register_definitions_for_stmt): Likewise. (tree_ssa_dominator_optimize): No longer initialize CURRENT_DEF for each variable. Do not allocate/free block_defs_stack either. Do not iterate if we just thread jumps. Only iterate if the tree_cleanup_cfg does useful work (temporary). (dom_opt_initialize_block): No longer push a marker on BLOCK_DEFS_STACK. (dom_opt_finalize_block): Removal call to restore currdefs. Relax restrictions for recording edge equivalences. (record_equivalences_from_phis): No longer need to track CURRENT_DEF. (optimize_stmt): Similarly. (thread_across_edge): Simplify by removing the requirement that statements in the block we are threading through must be nops. (initialize_hash_element): Handle GOTO_EXPR. Jeff's change exposed the current problem. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21190