On Tue, 12 Dec 2006, Christopher Li wrote:
>
> Thanks for your explain. I see, you want to generate the dominator
> first.

Basically, yes. That way, when we start generating code in any basic 
block, we usually either (a) have the outputs from the dominators or (b) 
we're the top block in a loop and any freedom we can use to pick our 
preferred registers is probably a good thing.

The current "example.c" was very much written with the intent that it 
would not ever do any _smart_ register allocation, but just allocate 
registers on-the-fly. But doing that requires that you set things up so 
that the stupid approach can still get reasonable results.

The way the death-notes work etc was all designed exactly so that the 
register "allocator" never really needed any global visibility at all, it 
could just work on an instruction-per-instruction basis.

That said, the simplicity of it all in example.c still doesn't mean that 
it _works_. It really doesn't, and isn't even really close. But it 
occasionally results in code that looks _almost_ like it could be run ;)

                Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to