Messages in this thread | | | Date | Mon, 24 Aug 1998 16:58:37 +0200 | From | "Stephen R. van den Berg" <> | Subject | Re: pre egcs-1.1 testing and Linux 2.1.x |
| |
Andrea Arcangeli wrote: >On Mon, 24 Aug 1998, Philip Blundell wrote: >>I think it's more subtle than that. The bug is not in the optimisations per >>se, it's in the register allocator and just happens to be provoked more often >>by higher optimisation (particularly when regparm is in use, because that >>increases register pressure significantly near function calls).
>Are you sure? Did you tried it in practice? I thought that was the RTL >code generated by the optimization function (not arch dependent) that was >buggy:
It's not quite that simple.
>GOOD RTL -> buggy optimization function -> BAD RTL >The RTL is arch indipendent.
>As you say it could be also that: >GOOD RTL -> not buggy optimization function -> GOOD RTL 2 >and that:
>GOOD RTL -> buggy asm generator -> GOOD ASM >GOOD RTL 2 -> buggy asm generator -> BAD ASM
Actually what happens is:
GOOD RTL -> several optimisations -> GOOD RTL2 GOOD RTL2 -> convert from arch-indep to arch-dep register tags -> BAD RTL3 BAD RTL3 -> BAD ASM
If the first optimisation step is left out, the conversion from: GOOD RTL -> GOOD RTL3 works without problems in most cases (even though the conversion itself is buggy, but only sometimes). -- Sincerely, srb@cuci.nl Stephen R. van den Berg (AKA BuGless).
This signature third word omitted, yet is comprehensible.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html
| |