Another caller-save buglet

law@redhat.com law@redhat.com
Tue Jun 11 16:04:00 GMT 2002


This was found by inspection this morning.  It's bootstrapped 
i686-pc-linux-gnu;
I've also built mips-elf, mips64-elf and powerpc-eabi compilers and libraries
with this patch.

Installed into the mainline.

	* caller-save.c (init_caller_save): Move creation of SAVEINSN
	and RESTINSN into into the scope of the sequence.
	
Index: caller-save.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/caller-save.c,v
retrieving revision 1.51
diff -c -3 -p -r1.51 caller-save.c
*** caller-save.c	11 Jun 2002 22:16:51 -0000	1.51
--- caller-save.c	11 Jun 2002 22:53:57 -0000
*************** init_caller_save ()
*** 191,200 ****
    test_mem = gen_rtx_MEM (VOIDmode, address);
    savepat = gen_rtx_SET (VOIDmode, test_mem, test_reg);
    restpat = gen_rtx_SET (VOIDmode, test_reg, test_mem);
-   saveinsn = emit_insn (savepat);
-   restinsn = emit_insn (restpat);
  
    start_sequence ();
  
    for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
      for (mode = 0 ; mode < MAX_MACHINE_MODE; mode++)
--- 191,201 ----
    test_mem = gen_rtx_MEM (VOIDmode, address);
    savepat = gen_rtx_SET (VOIDmode, test_mem, test_reg);
    restpat = gen_rtx_SET (VOIDmode, test_reg, test_mem);
  
    start_sequence ();
+ 
+   saveinsn = emit_insn (savepat);
+   restinsn = emit_insn (restpat);
  
    for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
      for (mode = 0 ; mode < MAX_MACHINE_MODE; mode++)






More information about the Gcc-patches mailing list