[llvm-commits] [llvm] r120277 - in /llvm/trunk: lib/Target/ARM/ARMInstrThumb.td test/MC/ARM/thumb.s

Chris Lattner clattner at apple.com
Sun Nov 28 20:19:29 PST 2010


On Nov 28, 2010, at 8:12 PM, Bill Wendling wrote:
>>>> 
>>>> Hi Bill,
>>>> 
>>>> I don't know thumb well, but shouldn't the Rm/Rd definitions be pulled up into T1pI?
>>>> 
>>> I just checked. The encoding isn't consistent enough to put the Rm/Rd defs into T1pI. There are several which are similar, though. So they might warrant a new base class.
>> 
>> Please change the users of T1pI to be consistent, then it should be safe to do this, thanks!
>> 
> Consistent in what way? Many have different operands and encodings from each other. It's not just a naming convention.

It looks like there are a couple of classes of things:

1. Instructions with no operands that fill in constants, such as tNOP, tYIELD, etc.  These should use a base class or something to factor their let directives.
2. Some instructions use a reg + imm, such as tCMPzi8.
3. Some instructions use a reg+reg, such as tCMNz, tREV, tREV16, etc.

Each of these classes should use a base class to factor the commonality.  Within the classes, there are a lot of arbitrary naming decisions that differ, for example the operands of tRSB are Rn/Rd, the operands of tSXTB are Rm/Rd.

-Chris







More information about the llvm-commits mailing list