------- Comment #13 from ebotcazou at gcc dot gnu dot org 2007-10-11 11:14 ------- > Revision 128957 causes this regression.
There is a suspect non-documented hunk in the commit: * reload1.c (compute_use_by_pseudos): Change DF_RA_LIVE usage to DF_LIVE usage. --- trunk/gcc/reload1.c 2007/10/02 12:47:13 128956 +++ trunk/gcc/reload1.c 2007/10/02 13:10:07 128957 @@ -548,7 +548,7 @@ if (r < 0) { /* reload_combine uses the information from - DF_RA_LIVE_IN (BASIC_BLOCK), which might still + DF_LIVE_IN (BASIC_BLOCK), which might still contain registers that have not actually been allocated since they have an equivalence. */ gcc_assert (reload_completed); @@ -1158,10 +1158,7 @@ if (! frame_pointer_needed) FOR_EACH_BB (bb) - { - bitmap_clear_bit (df_get_live_in (bb), HARD_FRAME_POINTER_REGNUM); - bitmap_clear_bit (df_get_live_top (bb), HARD_FRAME_POINTER_REGNUM); - } + bitmap_clear_bit (df_get_live_in (bb), HARD_FRAME_POINTER_REGNUM); /* Come here (with failure set nonzero) if we can't get enough spill regs. */ -- ebotcazou at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ebotcazou at gcc dot gnu dot | |org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33676