[llvm-commits] [PATCH] More Spill Annotations

David Greene dag at cray.com
Wed Nov 25 15:09:34 PST 2009


On Wednesday 25 November 2009 09:08, David Greene wrote:
> On Wednesday 25 November 2009 07:27, Dan Gohman wrote:
> > This raises the question of what you're actually aiming at here.  Does
> > it really make sense to impose the Vector and Scalar dichotomy on an
> > architecture like x86?
>
> Yeah, I think so.  There are vector instructions and there are scalar
> instructions.  We want to know when certain more expensive (i.e. vector)
> things happen.  In this case, we want to have some idea of how much data
> is being transferred with a spill.  Of course cache lines come into play
> here but the vector/scalar categorization gives us an idea of how much of
> that cache line we're actually touching.
>
> What are you thinking about this.  What makes you nervous?

Dan and I talked about this some and while I still thik it's useful to
mark instructions as vector and scalar, I don't actually need that for
the spill comments.

As Dan pointed out, what would be more useful is more general 
microarchitectural properties like "pipeline class" or some such
thing, whatever you want to call it, that means "this instruction
can be executed by these pipelines."

I don't have the time to put all of that kind of infrastructure in
right now, so I'm going to finish off this vector classification
stuff but not actually print out comments yet.  I will print more
useful comments like "4-byte spill" and so on.

I'll send new patches when I have something reasonable.

This has been a helpful discussion, thanks!

                             -Dave



More information about the llvm-commits mailing list