From 2b4ea795a23ff9d900b9e1f26c92975ef78db1b6 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Mon, 26 Dec 2005 09:11:45 +0000 Subject: 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 --- lib/Target/Target.td | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/Target/Target.td') 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. } -- cgit v1.1