aboutsummaryrefslogtreecommitdiffstats
path: root/llvm.hpp
diff options
context:
space:
mode:
authorClyne Sullivan <clyne@bitgloo.com>2024-06-28 10:26:03 -0400
committerClyne Sullivan <clyne@bitgloo.com>2024-06-28 10:26:03 -0400
commit08f4a92102c9739e0736965186814e856ff727a1 (patch)
treefa081265c98ddf99570f4f77b99dbb92d0bec440 /llvm.hpp
parent8a6a7a43116021c38d09e590f236be6ebd79eca5 (diff)
cache sp, minor refactors
Diffstat (limited to 'llvm.hpp')
-rw-r--r--llvm.hpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm.hpp b/llvm.hpp
index 09e2012..96969e8 100644
--- a/llvm.hpp
+++ b/llvm.hpp
@@ -42,10 +42,14 @@ struct LLVMState
llvm::Constant *llvmSp;
llvm::Constant *llvmStack;
+ int envidx = 0;
+ llvm::Value *lastSp = nullptr;
+
LLVMState();
llvm::Value *createPush(llvm::Value *var);
llvm::Value *createPop();
+ void commitSp();
llvm::Function *createFunction(const std::string& name);
llvm::BasicBlock *createEntry(llvm::Function *func);
llvm::Value *createVariable(const std::string& name);