diff options
author | Roland Reichwein <mail@reichwein.it> | 2020-11-14 22:06:10 +0100 |
---|---|---|
committer | Roland Reichwein <mail@reichwein.it> | 2020-11-14 22:06:10 +0100 |
commit | 9e7f4c9d43b310c280cd6432cd4150411f4b914e (patch) | |
tree | c7be57a91602c228f05ff1cab2f186dcc6635733 /flowgraph/node.h | |
parent | 009e450626194299ee4b5ccb8463ac64e127fde6 (diff) |
Added system tests
Diffstat (limited to 'flowgraph/node.h')
-rw-r--r-- | flowgraph/node.h | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/flowgraph/node.h b/flowgraph/node.h index 9ae5479..98c684d 100644 --- a/flowgraph/node.h +++ b/flowgraph/node.h @@ -43,8 +43,8 @@ namespace FlowGraph { }; Data MakeConstantInt(int i); - Data MakeLocalPointer(const std::string& name); - Data MakeLocalSize(const std::string& name); + Data MakeLocalPointer(FlowGraph::LocalScope& scope, const std::string& name); + Data MakeLocalSize(FlowGraph::LocalScope& scope, const std::string& name); Data MakeTemporaryInt(LocalScope& scope); class MemCopy: public Node @@ -114,7 +114,8 @@ namespace FlowGraph { { Increment, Decrement, - Negate + Negate, + Store // just take Data as-is to store it at destination }; class UnaryOperation: public Node @@ -159,4 +160,21 @@ namespace FlowGraph { BinaryOperationType m_type; }; + // Open a new scope, with stack frame + class CreateScopeOp: public Node + { + public: + CreateScopeOp() {} + LocalScope& scope(); + private: + LocalScope m_scope; + }; + + // Close current scope, closing stack frame + class DestroyScopeOp: public Node + { + public: + DestroyScopeOp() {} + }; + } // namespace FlowGraph |