aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/Target.td
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2005-12-26 09:11:45 +0000
committerEvan Cheng <evan.cheng@apple.com>2005-12-26 09:11:45 +0000
commit2b4ea795a23ff9d900b9e1f26c92975ef78db1b6 (patch)
tree52c90ee3d5cd8bdf1ccbb8308beced6df47f4140 /lib/Target/Target.td
parent2abbe867ab7a50e658712624b34c8957e9600674 (diff)
downloadexternal_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 'lib/Target/Target.td')
-rw-r--r--lib/Target/Target.td1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Target/Target.td b/lib/Target/Target.td
index f2b98ad..4622fe4 100644
--- a/lib/Target/Target.td
+++ b/lib/Target/Target.td
@@ -171,6 +171,7 @@ class Instruction {
bit hasCtrlDep = 0; // Does this instruction r/w ctrl-flow chains?
bit hasInFlag = 0; // Does this instruction read a flag operand?
bit hasOutFlag = 0; // Does this instruction write a flag operand?
+ bit noResults = 0; // Does this instruction produce no results?
InstrItinClass Itinerary; // Execution steps used for scheduling.
}