Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Compilers > Re: register al...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 4 of 10 Topic 2366 of 2529
Post > Topic >>

Re: register allocation: basic blocks, liveness and next use

by Gene <gene.ressler@[EMAIL PROTECTED] > Mar 23, 2008 at 07:27 PM

On Mar 23, 1:16 pm, Max Hailperin <m...@[EMAIL PROTECTED]
> wrote:
> Gene <gene.ress...@[EMAIL PROTECTED]
> writes:
> > On Mar 22, 8:22 pm, kphillips <kevin.phillip...@[EMAIL PROTECTED]
> wrote:
> >> ... Am I missing something here?
>
> > Perhaps the definition of a basic block.
>
> Actually, the original poster doesn't seem to have missed the
> definition of a basic block.  The CALL instructions do create basic
> block boundaries.  And what you say in the remainder of your message
> doesn't contradict this.  Instead, you seem to be suggesting that he
> missed the definition of a tem****ary.
>
> > The definition of a tem****ary requires that none of its defs can reach
> > the end of the corresponding block.  Obviously your t1..3 don't meet
> > this requirement.
>
> I'm not convinced that "tem****ary" has a consensus meaning, the way
> "basic block" does.  I've seen plenty of authors other than the
> original poster use "tem****ary" to mean "a name introduced by the
> compiler, as opposed to appearing in the source code."
>
> But even if we accept your definition of "tem****ary" as meaning
> "local" (to a basic block), the way you would do that would not be by
> stipulating that the definitions can't reach the end of the block, but
> rather by stipulating that they not be live at the end of the block.
> The last of the definitions for any given name will always reach the
> end of the block.  (Recall, a definition "reaches" a point if control
> must have passed through the definition on the way to the point
> without passing through any other definition of the same name in
> between.)

You're right I should have said temps must be dead at the end of the
block, not unreachable.  Terminology brain cramp.  Sorry

On the other hand, I disagree about basic blocks. I was refering to
the ASU definition -- maximal sequences of code with no gotos.  The
intent is for block boundaries to fall at branches and convergences of
flow.  Call/returns don't cause flow branches.  In this case, the OP
is apparently using library calls for array indexing and output,
certainly non-branching operations.
 




 10 Posts in Topic:
register allocation: basic blocks, liveness and next use
kphillips <kevin.phill  2008-03-22 17:22:06 
Re: register allocation: basic blocks, liveness and next use
Gene <gene.ressler@[EM  2008-03-22 20:47:01 
Re: register allocation: basic blocks, liveness and next use
Max Hailperin <max@[EM  2008-03-23 12:16:23 
Re: register allocation: basic blocks, liveness and next use
Gene <gene.ressler@[EM  2008-03-23 19:27:05 
Re: register allocation: basic blocks, liveness and next use
Max Hailperin <max@[EM  2008-03-23 09:38:50 
Re: register allocation: basic blocks, liveness and next use
Max Hailperin <max@[EM  2008-03-23 12:04:59 
Re: register allocation: basic blocks, liveness and next use
kphillips <kevin.phill  2008-03-23 10:47:36 
Re: register allocation: basic blocks, liveness and next use
Chris F Clark <cfc@[EM  2008-03-23 22:43:28 
Re: register allocation: basic blocks, liveness and next use
kphillips <kevin.phill  2008-03-27 03:26:50 
Re: register allocation: basic blocks, liveness and next use
Jeff Kenton <jeffrey.k  2008-04-03 20:18:55 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sat Oct 11 8:21:22 CDT 2008.