Allow trailing physreg RegisterSDNode operands on non-variadic instructions.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 4 Jul 2012 23:53:23 +0000 (23:53 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 4 Jul 2012 23:53:23 +0000 (23:53 +0000)
commit33a537a5c41e60507ac9a4ea987c1a395cbb74fe
treed21a9d1bc22c8eb657ea1607bd5cb9ccc2907119
parent9389ec7375eb184ad017b7a1f09600cc4c2be4cd
Allow trailing physreg RegisterSDNode operands on non-variadic instructions.

Also allow trailing register mask operands on non-variadic both
MachineSDNodes and MachineInstrs.

The extra physreg RegisterSDNode operands are added to the MI as
<imp-use> operands. This makes it possible to have non-variadic call
instructions.

Call and return instructions really are non-variadic, the argument
registers should only be used implicitly - they are not part of the
encoding.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159727 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/MachineInstr.cpp
lib/CodeGen/SelectionDAG/InstrEmitter.cpp
lib/CodeGen/SelectionDAG/InstrEmitter.h