Re: [cc65] Optimization ideas

From: Dan <opendtv1yahoo.com>
Date: 2007-06-22 13:38:41
--- Ullrich von Bassewitz <uz@musoftware.de> wrote:
> On Thu, Jun 21, 2007 at 05:39:22PM -0700, Dan wrote:
> > What causes this, by the
> > way? I know that register saving may be
> interleaved
> > with initialization, but why wouldn't the
> registers
> > always be allocated starting at 0?
> 
> Because they may be allocated in more than one chunk
> depending on the
> declaration.

But why would the allocation be non-contiguous? There
aren't any alignment restrictions, are there?

> > There are a couple ways to do it. You could make
> two
> > passes through the function source code (only when
> > needed), or you could do it at the assembly level.
> The
> > two pass method is probably much easier.
> 
> Thanks. I'm still waiting that somebody sends me a
> "small patch" that makes a
> two pass compiler with intermediate representation
> out of cc65 :-)

Making cc65 a two-pass compiler _without_ intermediate
representation should be easy.

Pass 1:
Compile and remember some stuff. Suppress output.
Pass 2:
Compile again. Use the data remembered in pass 1.

Same way a two-pass assembler works. Very simple.

Dan



      ___________________________________________________________________________________
You snooze, you lose. Get messages ASAP with AutoCheck
in the all-new Yahoo! Mail Beta.
http://advision.webevents.yahoo.com/mailbeta/newmail_html.html
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Fri Jun 22 13:45:41 2007

This archive was generated by hypermail 2.1.8 : 2007-06-22 13:45:43 CEST