[tuples] Enable RTL expansion at -O0

Diego Novillo dnovillo@google.com
Fri Feb 1 20:26:00 GMT 2008


With this patch, we can now generate RTL (but only at -O0).  To help
testing, I've done the following changes:

- The compiler forces optimization == 0 regardless of -Ox.
- All the passes are now enabled (I removed the WORKS_WITH_TUPLES_P
field).  We are getting closer to a functional state now, so this
field is no longer needed.  Anything that doesn't compile or work is
disabled with #if 0.

Right now we can generate code for libgcc but we still fail during
libiberty builds.  Also, all the tests in make check-gcc can now be
tested.  Currently there are many failures.  Most due to:

- EH not yet enabled.  The compiler generates try/finally internally.
Oleg is working on this and should be ready in the next few days.
- Bugs in complex lowering.  I'm working on this.  Some compile.exp
tests fail when generating RTL (DCmode moves into QImode regs).
- Tests that check for specific transformations.  These will continue
failing until all the passes are enabled.

I think we've reached a point where individual passes can start being
converted.  Since the testsuite for C is largely functional, testing
should be much easier now.

I will be working on re-enabling alias analysis, which should remove
the forced -O0 limitation we have now.  I hope to have this working in
the next few days.


Thanks.  Diego.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 20080201-cfgexpand.diff.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20080201/3c03d7ff/attachment.txt>


More information about the Gcc-patches mailing list