diff options
author | Duncan Sands <baldrick@free.fr> | 2007-07-27 12:58:54 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2007-07-27 12:58:54 +0000 |
commit | 36397f50343639ce9a25996f2d790c656791ab92 (patch) | |
tree | a43e609dd0de1b138d3245ac390527372b3f591c /include/llvm/CodeGen/SelectionDAGNodes.h | |
parent | ada779fb11eb411536aa8219a176ca0ce4d58fd1 (diff) |
Support for trampolines, except for X86 codegen which is
still under discussion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40549 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/SelectionDAGNodes.h')
-rw-r--r-- | include/llvm/CodeGen/SelectionDAGNodes.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h index a74c04836f..ce7dda4028 100644 --- a/include/llvm/CodeGen/SelectionDAGNodes.h +++ b/include/llvm/CodeGen/SelectionDAGNodes.h @@ -66,6 +66,8 @@ namespace ISD { StructReturnOffs = 3, ByVal = 1<<4, ///< Struct passed by value ByValOffs = 4, + Nest = 1<<5, ///< Parameter is nested function static chain + NestOffs = 5, OrigAlignment = 0x1F<<27, OrigAlignmentOffs = 27 }; @@ -528,7 +530,19 @@ namespace ISD { // number, then a column then a file id (provided by MachineModuleInfo.) It // produces a token chain as output. DEBUG_LOC, - + + // ADJUST_TRAMP - This corresponds to the adjust_trampoline intrinsic. + // It takes a value as input and returns a value as output. + ADJUST_TRAMP, + + // TRAMPOLINE - This corresponds to the init_trampoline intrinsic. + // It takes as input a token chain, the pointer to the trampoline, + // the pointer to the nested function, the pointer to pass for the + // 'nest' parameter, a SRCVALUE for the trampoline and another for + // the nested function (allowing targets to access the original + // Function*). It produces a token chain as output. + TRAMPOLINE, + // BUILTIN_OP_END - This must be the last enum value in this list. BUILTIN_OP_END }; |