[X86][TableGen] Allow timm to appear in output patterns. Use it to remove ConvertToTa...
authorCraig Topper <craig.topper@intel.com>
Sun, 22 Sep 2019 19:49:39 +0000 (19:49 +0000)
committerCraig Topper <craig.topper@intel.com>
Sun, 22 Sep 2019 19:49:39 +0000 (19:49 +0000)
commit80fda375b2250b51b3a547b0e2fe9cc7d99207d8
treea0a151a908d59f29fc395f9d9c4346ff064196ae
parent24159592cac97442db50dd76da0a7cf191d04202
[X86][TableGen] Allow timm to appear in output patterns. Use it to remove ConvertToTarget opcodes from the X86 isel table.

We're now using a lot more TargetConstant nodes in SelectionDAG.
But we were still telling isel to convert some of them
to TargetConstants even though they already are. This is because
isel emits a conversion anytime the output pattern has a an 'imm'.
I guess for patterns in instructions we take the 'timm' from the
'set' pattern, but for Pat patterns with explcicit output we
previously had to say 'imm' since 'timm' wasn't allowed in outputs.

llvm-svn: 372525
llvm/lib/Target/X86/X86InstrAVX512.td
llvm/lib/Target/X86/X86InstrSSE.td
llvm/lib/Target/X86/X86InstrXOP.td
llvm/utils/TableGen/CodeGenDAGPatterns.cpp