aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/SelectionDAGNodes.h
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-07-06 15:39:54 +0000
committerDan Gohman <gohman@apple.com>2010-07-06 15:39:54 +0000
commitaa8c19405ac3891ee7fbea1a509c6774ca7a5b59 (patch)
tree333c1ce28bb8b788f4a47911e115075293bade74 /include/llvm/CodeGen/SelectionDAGNodes.h
parent802e28a8d78ee65d8be1e6d68cc98c7011f763d9 (diff)
Add versions of OutputArgReg, AnalyzeReturn, and AnalyzeCallOperands
which do not depend on SelectionDAG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107666 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/SelectionDAGNodes.h')
-rw-r--r--include/llvm/CodeGen/SelectionDAGNodes.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h
index 7b8c1dcfb8..bceb17bcbd 100644
--- a/include/llvm/CodeGen/SelectionDAGNodes.h
+++ b/include/llvm/CodeGen/SelectionDAGNodes.h
@@ -1583,6 +1583,23 @@ namespace ISD {
"OutputArg value type must be Simple!");
}
};
+
+ /// OutputArgReg - This struct carries flags and a register value for a
+ /// single outgoing (actual) argument or outgoing (from the perspective
+ /// of the caller) return value virtual register.
+ ///
+ struct OutputArgReg {
+ ArgFlagsTy Flags;
+ EVT VT;
+ unsigned Reg;
+
+ /// IsFixed - Is this a "fixed" value, ie not passed through a vararg "...".
+ bool IsFixed;
+
+ OutputArgReg() : IsFixed(false) {}
+ OutputArgReg(ISD::ArgFlagsTy flags, EVT vt, unsigned reg, bool isfixed)
+ : Flags(flags), VT(vt), Reg(reg), IsFixed(isfixed) {}
+ };
}
/// VTSDNode - This class is used to represent EVT's, which are used