Index: passes.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/passes.c,v retrieving revision 2.60 diff -u -3 -p -r2.60 passes.c --- passes.c 14 Dec 2004 01:30:31 -0000 2.60 +++ passes.c 1 Jan 2005 19:50:39 -0000 @@ -489,7 +489,7 @@ rest_of_handle_old_regalloc (void) allocate_initial_values (reg_equiv_memory_loc); regclass (get_insns (), max_reg_num (), dump_file); - rebuild_notes = local_alloc (); + rebuild_notes = optimize ? local_alloc () : 0; timevar_pop (TV_LOCAL_ALLOC); @@ -522,16 +522,9 @@ rest_of_handle_old_regalloc (void) timevar_push (TV_GLOBAL_ALLOC); open_dump_file (DFI_greg, current_function_decl); - /* If optimizing, allocate remaining pseudo-regs. Do the reload - pass fixing up any insns that are invalid. */ - - if (optimize) - failure = global_alloc (dump_file); - else - { - build_insn_chain (get_insns ()); - failure = reload (get_insns (), 0); - } + /* Allocate remaining pseudo-regs. Do the reload pass fixing + up any insns that are invalid. */ + failure = global_alloc (dump_file); if (dump_enabled_p (DFI_greg)) {