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]

Re: [tree-ssa] New type-based aliasing (was: More CFG improvements)


On Thu, Feb 06, 2003 at 03:08:01PM -0500, Diego Novillo wrote:
> The compiler grew to like 1.4 Gb in core.  We spent most of the
> time in CCP probably following the hundreds of thousands of edges.

One of the things I hoped to do when we get Josef Zlomek's 
basic block duplicator off rtl-branch was to re-factor
indirect branches like so:


	La:
	  A;
	  goto *t1;
	Lb:
	  B;
	  goto *t2;
	Lc:
	  C;
	  goto *t3;

to

	La:
	  A;
	  t4 = t1;
	Ljump:
	  goto *t4;
	Lb:
	  B;
	  t4 = t2;
	  goto Ljump;
	Lc:
	  C;
	  t4 = t3;
	  goto Ljump;

This should reduce the number of edges by many orders of
magnitude.  And in theory we won't lose any of the performance
gain he sees with the feature, because at the end of compilation
bb-reorder will notice a jump to a very small block (one insn),
and insert a duplicate the block in place of the jump.

Seems like this would work for tree-ssa as well.


r~


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