[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