diff options
author | Christopher Lamb <christopher.lamb@gmail.com> | 2008-03-11 10:09:17 +0000 |
---|---|---|
committer | Christopher Lamb <christopher.lamb@gmail.com> | 2008-03-11 10:09:17 +0000 |
commit | 1fab4a6bbb6eb5d44d35c8aade2493143b44d288 (patch) | |
tree | d3213aafa049b1bd65de0edc9e7e4754eff9221e /lib/Target/Target.td | |
parent | 5b4153710e0b94b0af10d4838216ee112d4b37bc (diff) |
Recommitting parts of r48130. These do not appear to cause the observed failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48223 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Target.td')
-rw-r--r-- | lib/Target/Target.td | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/Target/Target.td b/lib/Target/Target.td index cebac7a263..ea8f6ec3a1 100644 --- a/lib/Target/Target.td +++ b/lib/Target/Target.td @@ -263,6 +263,10 @@ def variable_ops; /// flags. But currently we have but one flag. def ptr_rc; +/// unknown definition - Mark this operand as being of unknown type, causing +/// it to be resolved by inference in the context it is used. +def unknown; + /// Operand Types - These provide the built-in operand types that may be used /// by a target. Targets can optionally provide their own operand types as /// needed, though this should not be needed for RISC targets. @@ -351,15 +355,15 @@ def DECLARE : Instruction { let hasCtrlDep = 1; } def EXTRACT_SUBREG : Instruction { - let OutOperandList = (ops variable_ops); - let InOperandList = (ops variable_ops); + let OutOperandList = (ops unknown:$dst); + let InOperandList = (ops unknown:$supersrc, i32imm:$subidx); let AsmString = ""; let Namespace = "TargetInstrInfo"; let neverHasSideEffects = 1; } def INSERT_SUBREG : Instruction { - let OutOperandList = (ops variable_ops); - let InOperandList = (ops variable_ops); + let OutOperandList = (ops unknown:$dst); + let InOperandList = (ops unknown:$supersrc, unknown:$subsrc, i32imm:$subidx); let AsmString = ""; let Namespace = "TargetInstrInfo"; let neverHasSideEffects = 1; |