diff options
author | Evan Cheng <evan.cheng@apple.com> | 2005-12-26 09:11:45 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2005-12-26 09:11:45 +0000 |
commit | 2b4ea795a23ff9d900b9e1f26c92975ef78db1b6 (patch) | |
tree | 52c90ee3d5cd8bdf1ccbb8308beced6df47f4140 /utils/TableGen/CodeGenInstruction.h | |
parent | 2abbe867ab7a50e658712624b34c8957e9600674 (diff) | |
download | external_llvm-2b4ea795a23ff9d900b9e1f26c92975ef78db1b6.zip external_llvm-2b4ea795a23ff9d900b9e1f26c92975ef78db1b6.tar.gz external_llvm-2b4ea795a23ff9d900b9e1f26c92975ef78db1b6.tar.bz2 |
Added field noResults to Instruction.
Currently tblgen cannot tell which operands in the operand list are results so
it assumes the first one is a result. This is bad. Ideally we would fix this
by separating results from inputs, e.g. (res R32:$dst),
(ops R32:$src1, R32:$src2). But that's a more distruptive change. Adding
'let noResults = 1' is the workaround to tell tblgen that the instruction does
not produces a result. It works for now since tblgen does not support
instructions which produce multiple results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25017 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/CodeGenInstruction.h')
-rw-r--r-- | utils/TableGen/CodeGenInstruction.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/utils/TableGen/CodeGenInstruction.h b/utils/TableGen/CodeGenInstruction.h index 703da46..b76d3b9 100644 --- a/utils/TableGen/CodeGenInstruction.h +++ b/utils/TableGen/CodeGenInstruction.h @@ -87,6 +87,7 @@ namespace llvm { bool hasCtrlDep; bool hasInFlag; bool hasOutFlag; + bool noResults; CodeGenInstruction(Record *R, const std::string &AsmStr); |