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] |
On Sat, May 30, 2009 at 02:24:42PM -0700, Richard Henderson wrote: > Jakub Jelinek wrote: >> lea.c regression seems to be unrelated, seems the presence of a frame >> related insn later in the bb confuses following peepholing in the same bb. > > I havn't looked (as i don't remember seeing that error), but that > may be due to > > * emit-rtl.c (try_split): Don't split RTX_FRAME_RELATED_P. > > which I put in because try_split was throwing away my notes. I > suppose I could work harder in that function to preserve them > somehow... > > I'll look at this more Monday. The following patch seems to fix the peephole2 pass, seems just clearing peep2_current_count is insufficient, I've tried to copy what is initialized at the end of each basic block, bootstrapped/regtested on x86_64-linux and i686-linux. The second patch is needed to fix bootstrap with Ada, apparently some of ada/rts/ files include tconfig.h and thus i386.h, without including hwint.h, but it defines neither IN_LIBGCC2, nor IN_TARGET_LIBS, but IN_RTS. Instead of listing each such IN_* macro it seems better to test for USED_FOR_TARGET (I've verified that whenever i386.h was included with IN_LIBGCC2 or IN_TARGET_LIBS defined, USED_FOR_TARGET was defined as well). Jakub
Attachment:
Y320
Description: Text document
Attachment:
Y321
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |