diff options
| author | Chris Lattner <sabre@nondot.org> | 2006-01-13 02:39:42 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2006-01-13 02:39:42 +0000 |
| commit | a5110e854da59c88b4ab9427f348992e148b8f3d (patch) | |
| tree | c38e4d6ce126c50dc8fec075e26bd16eb5271866 | |
| parent | 00720d8ff01513194a9fc4d131095ea0e0266ef6 (diff) | |
| download | bcm5719-llvm-a5110e854da59c88b4ab9427f348992e148b8f3d.tar.gz bcm5719-llvm-a5110e854da59c88b4ab9427f348992e148b8f3d.zip | |
add stacksave/stackrestore nodes
llvm-svn: 25270
| -rw-r--r-- | llvm/include/llvm/CodeGen/SelectionDAGNodes.h | 9 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 8 |
2 files changed, 15 insertions, 2 deletions
diff --git a/llvm/include/llvm/CodeGen/SelectionDAGNodes.h b/llvm/include/llvm/CodeGen/SelectionDAGNodes.h index 032f319a960..0ee64f6452f 100644 --- a/llvm/include/llvm/CodeGen/SelectionDAGNodes.h +++ b/llvm/include/llvm/CodeGen/SelectionDAGNodes.h @@ -312,6 +312,15 @@ namespace ISD { CALL, TAILCALL, + // STACKSAVE - STACKSAVE has one operand, an input chain. It produces a + // value, the same type as the pointer type for the system, and an output + // chain. + STACKSAVE, + + // STACKRESTORE has two operands, an input chain and a pointer to restore to + // it returns an output chain. + STACKRESTORE, + // MEMSET/MEMCPY/MEMMOVE - The first operand is the chain, and the rest // correspond to the operands of the LLVM intrinsic functions. The only // result is a token chain. The alignment argument is guaranteed to be a diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index a89660bb4b4..0936ccee328 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -1982,8 +1982,12 @@ const char *SDNode::getOperationName(const SelectionDAG *G) const { case ISD::TRUNCSTORE: return "truncstore"; case ISD::DYNAMIC_STACKALLOC: return "dynamic_stackalloc"; - case ISD::EXTRACT_ELEMENT: return "extract_element"; - case ISD::BUILD_PAIR: return "build_pair"; + case ISD::EXTRACT_ELEMENT: return "extract_element"; + case ISD::BUILD_PAIR: return "build_pair"; + case ISD::STACKSAVE: return "stacksave"; + case ISD::STACKRESTORE: return "stackrestore"; + + // Block memory operations. case ISD::MEMSET: return "memset"; case ISD::MEMCPY: return "memcpy"; case ISD::MEMMOVE: return "memmove"; |

