-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 03/28/11 10:25, Steven Bosscher wrote: > Hello, > > This patch splits the CPROP pass (constant/copy propagation for RTL) > out of gcse.c into a new file cprop.c. Originally all the > "Muchnick-passes" (GCSE, PRE, CPROP, HOIST, store motion, ...) lived > in gcse.c and a lot of code was shared, but these days much of that > shared code is just common infrastructure (DF and a CFG, for instance) > and the amount of shared code between the passes is much less than it > used to be. I already moved out store motion a few years ago, and this > patch continues my split-up-gcse efforts. > > With this patch, I end up with about 450 lines of shared code between > gcse.c and the new cprop.c, but that number will go down to almost > nothing once I'm done with cprop.c. > > The main reason for me to spilt CPROP out of gcse.c is because a lot > of the shared code really shouldn't be shared anymore. For instance, > the internal dataflow engine of GCSE handles registers and memory, but > this is completely unnecessary for CPROP because it only looks at > registers. So there is a lot of overhead for CPROP memory tracking > that just consumes time and isn't actually used by the pass. > > My plan is to change the dataflow stuff in cprop.c to be DF-based, > including the use of the DF solver which should be much faster and > scales better than the lcm.c/gcse.c solvers. This is the first step. > > During the split, I cleaned up the table->set_p stuff and a few other > really minor things like comments, but there are no functional changes > for now. The asm output before and after this patch is the same. > > Bootstrapped and tested on x86_64-unknown-linux-gnu. OK? OK. jeff -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJNkNUWAAoJEBRtltQi2kC7/50H/j//zFNU9180/i2EZOeQLb1E wq0raoDiGuO8fl58JnSmEhHpTB03UztsGeRM3wYOLo95908lPNgGWGBYbM/a4ZPh 90e1FiNz7Y9vot6rqG9AI4+Iuw6LlglM2vAB+MNQ9UpcqwdaSCoxG/c6Ycjo9kpN KqqJYiqYc2i6gpBWoIWZI2oBCmPaM2eJEwpZ2yQuzm/BvdltHZouR1z6q2DmERbl NtKUFM37998cZLcTpEk0aw7bb0XtAWMRALz+4kiYu6HpBMsSn5sTzhIqtuz4mPXH dyapzqbp/oL+pMg0GpzlMKeli0vgdYZaSyTwMtLbz9sly+kSAv0qp9NUWKWjGro= =YNVz -----END PGP SIGNATURE-----