[PATCH] TableGen: use PrintMethod to print more aliases
t.p.northover at gmail.com
Fri May 9 10:09:03 PDT 2014
Currently, TableGen is very conservative about the aliases it is capable of printing: any kind of Operand Record in the InstAlias, except for some explicitly understood Registers, means that TableGen will simply skip the alias for printing purposes.
This completely relaxes that restriction: a complicated Operand is assumed to *always* be printed and any available PrintMethod is used. For out of tree targets, the previous behaviour can be restored by setting "Emit" to 0 in any InstAlias. In the future a more flexible predication mechanism might be useful.
This seems to have affected 3.5 targets:
+ ARM64/AArch64: I made some fairly minimal changes here to reduce the number of tests that need rewriting. The rest are deferred for later.
+ Mips: it looked like both aliases for "break" should have been printed, but .td file order was significant so I swapped them.
+ x86: I couldn't find any documentation on whether "imull $3, %eax, %eax" (for example) should print as "imull $3, %eax". Given the prevalence of 2-operand instructions I decided it probably should and updated the test.
Does the change look OK?
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 84509 bytes
Desc: not available
More information about the llvm-commits