This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: m68k bootstrapping broken


Richard Henderson wrote:
On Fri, Jan 16, 2004 at 12:20:06AM +0100, Bernardo Innocenti wrote:

Both versions are fine, but I wonder why a different
instruction pattern has been generated.


Something in the register allocator (or subsequent passes) got miscompiled.

You'll need to look at all the dumps to find where the first difference is
found.  When you find it, that's the pass to start looking at.

I've now found the time to resume working on this. It seems the breakage happens at RTL generation time or even before.

Also interesting is that the list of objects that fail the comparison test
is slightly different between m68k-netbsd and m68k-linux (e.g: web.o
differs only on m68k-netbsdelf).  Perhaps caused by target macro
expansion producing slightly different code.

This is what I get with bitmap.c:

diff -u stage1_dumps/bitmap.c.01.rtl stage2_dumps/bitmap.c.01.rtl
--- stage1_dumps/bitmap.c.01.rtl        2004-02-09 03:32:38.000000000 +0200
+++ stage2_dumps/bitmap.c.01.rtl        2004-02-09 03:34:52.000000000 +0200
@@ -5,163 +5,167 @@

(note 2 1 3 NOTE_INSN_DELETED)

-(note 3 2 4 NOTE_INSN_FUNCTION_BEG)
+(insn 3 2 4 (set (reg:SI 30)
+        (reg/f:SI 25 virtual-incoming-args)) -1 (nil)
+    (nil))
+
+(note 4 3 5 NOTE_INSN_FUNCTION_BEG)

-(note 4 3 5 NOTE_INSN_DELETED)
+(note 5 4 6 NOTE_INSN_DELETED)

-(note 5 4 6 0xc03d47f8 NOTE_INSN_BLOCK_BEG)
+(note 6 5 7 0xc03d47f8 NOTE_INSN_BLOCK_BEG)

-(note 6 5 7 NOTE_INSN_DELETED)
+(note 7 6 8 NOTE_INSN_DELETED)

-(note 7 6 8 ("../../combined-3.4/gcc/bitmap.c") 158)
+(note 8 7 9 ("../../combined-3.4/gcc/bitmap.c") 158)

-(insn 8 7 9 (set (mem/f:SI (symbol_ref:SI ("bitmap_free") [flags 0x2] <var_decl 0xc03e42e6 bitmap_free>) [0 bitmap_free+0 S4 A16])
+(insn 9 8 10 (set (mem/f:SI (symbol_ref:SI ("bitmap_free") [flags 0x2] <var_decl 0xc03e42e6 bitmap_free>) [0 bitmap_free+0 S4 A16])
        (const_int 0 [0x0])) -1 (nil)
    (nil))

-(note 9 8 10 ("../../combined-3.4/gcc/bitmap.c") 159)
+(note 10 9 11 ("../../combined-3.4/gcc/bitmap.c") 159)

-(insn 10 9 11 (set (cc0)
+(insn 11 10 12 (set (cc0)
        (mem/f:SI (symbol_ref:SI ("bitmap_obstack_init") [flags 0x2] <var_decl 0xc03e4212 bitmap_obstack_init>) [0 bitmap_obstack_init+0 S4 A16])) -1 (nil)
    (nil))

[...lots of other changes...]

--
 // Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/  http://www.develer.com/



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]