This is the mail archive of the gcc@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]

egcs-newjump


This is the result of my compiler class project over the course of a
semester. It is a reorganization of the jump optimization pass. No new
optimizations have been added - it is strictly a code cleanup & overhaul
job.

	INSTALLING:

Untar the tarball (ftp://ftp.gnome.org/pub/sopwith/egcs-newjump.tar.gz, or
http://www.gnome.org/~sopwith/egcs-newjump.tar.gz) your
top egcs CVS tree directory. It will create the following files:
	gcc/egcs-newjump.patch
	gcc/jump-chain.c
	gcc/jump-new.c
	gcc/jump-thread.c
	gcc/jump-utils.c
	gcc/jump.h

Apply the patch (cd gcc; patch -p0 < egcs-newjump.patch) and rebuild egcs.

	ERRATA:

On x86:
	It works 99.44%.

	The test cases execute/loop-2f.c and unsorted/DFcmp.c are
	added failures compared to when no jump optimizations are turned on.

	I have tried to track down the loop-2f.c problem - basically
	an incorrect comparison test is generated for the 'i >= 0'
	loop continuation condition of the f() function, causing f() to exit 
	prematurely. I have almost been able to convince myself that the
	"oldjump" compiler (one without my patch) is generating a condition
	that is always true, but in any case more debugging eyes would
	be appreciated.

	The DFcmp problem remains uninvestigated as of yet.

On other platforms:
	It compiles as a cross compiler to the Alpha. I'd love to see the
	results of test runs on other platforms.

I'd appreciate any comments or bug fixes. If you'd like me to sound like
one of those whiny college students that ask for homework answers on
newsgroups, I could always point out that the project is due on Monday and
that I'd really like to graduate ;-)

Thank you for your time,
-- Elliot
"We're sorry, we didn't know it was supposed to be invisible."
	- Sign carried outside US embassy.



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