[LLVMdev] Rework of Vector/Scalar Classification
Chris Lattner
clattner at apple.com
Tue Dec 8 11:23:42 PST 2009
On Dec 4, 2009, at 2:44 PM, David Greene wrote:
> Here's a reworked patch to mark instructions and operands as vector
> or scalar.
> It uses TableGen to infer the flags from types, allowing the user to
> override
> with a "let isVector = 0" clause.
>
> I decided to forego classifying MachineMemOperands for now in the
> interests of
> getting this piece in. I still think we should add type information
> to
> MachineMemOperands. Why throw away perfectly good information we
> have at
> the time they're created?
Your diff isn't clean and won't apply to mainline, you have some
previously committed changes, like the extraneous #include of
MachineMemOperand.h.
More significantly, as I mentioned before, I don't think this is a
great way to go. For MachineOperands on X86, you either have a
register operand (which is obvious whether it is vector or not) or you
have a collection of addressing mode stuff, which is decomposed and
"not an operand".
What is the expected use case for "vector" operands that are not
registers? What do you plan to use this information for?
-Chris
More information about the llvm-dev
mailing list