|
hoshi-lang dev
Yet another programming language
|

Public Types | |
| enum class | StackState { Finalized , InEvaluation } |
Public Member Functions | |
| ValueStackWithPhi (const ControlFlowAnalysis &cfa, llvm::IRBuilder<> *builder, const std::shared_ptr< IRModule > &yoiModule) | |
| void | enterNode (yoi::indexT currentState, yoi::indexT fromState, llvm::BasicBlock *currentBlock, llvm::BasicBlock *fromBlock) |
| void | enterNode (yoi::indexT currentState, llvm::BasicBlock *currentBlock) |
| void | finalizeNode () |
| void | push_back (const StackValue &value) |
| StackValue & | back () |
| void | pop_back () |
| void | clear () |
| StackValue & | operator[] (yoi::indexT index) |
| yoi::indexT | size () const |
| bool | empty () const |
Public Attributes | |
| std::map< yoi::indexT, yoi::vec< StackValue > > | valueStackStateIn |
| std::map< yoi::indexT, yoi::vec< StackValue > > | valueStackStateOut |
| std::map< yoi::indexT, yoi::vec< llvm::PHINode * > > | phiNodes |
| enum yoi::LLVMCodegen::ValueStackWithPhi::StackState | stackState |
| const ControlFlowAnalysis & | cfa |
| yoi::indexT | currentState |
| llvm::IRBuilder * | builder |
| std::shared_ptr< IRModule > | yoiModule |
Definition at line 66 of file llvmCodegenContext.hpp.
|
strong |
| Enumerator | |
|---|---|
| Finalized | |
| InEvaluation | |
Definition at line 70 of file llvmCodegenContext.hpp.
| ValueStackWithPhi | ( | const ControlFlowAnalysis & | cfa, |
| llvm::IRBuilder<> * | builder, | ||
| const std::shared_ptr< IRModule > & | yoiModule | ||
| ) |
Definition at line 4130 of file llvmCodegenContext.cpp.
| LLVMCodegen::StackValue & back | ( | ) |
Definition at line 4214 of file llvmCodegenContext.cpp.
Referenced by LLVMCodegen::generateInstruction(), LLVMCodegen::handleBinaryOp(), LLVMCodegen::handleComparison(), and LLVMCodegen::handleIntrinsicCall().

| void clear | ( | ) |
Definition at line 4222 of file llvmCodegenContext.cpp.
Referenced by LLVMCodegen::generateFunction().

| bool empty | ( | ) | const |
Definition at line 4254 of file llvmCodegenContext.cpp.
Referenced by LLVMCodegen::generateInstruction().

| void enterNode | ( | yoi::indexT | currentState, |
| llvm::BasicBlock * | currentBlock | ||
| ) |
Definition at line 4230 of file llvmCodegenContext.cpp.
References yoi::panic(), and yoi::yoi_assert().

| void enterNode | ( | yoi::indexT | currentState, |
| yoi::indexT | fromState, | ||
| llvm::BasicBlock * | currentBlock, | ||
| llvm::BasicBlock * | fromBlock | ||
| ) |
Definition at line 4133 of file llvmCodegenContext.cpp.
References yoi::panic(), yoi::yoi_assert(), and LLVMCodegen::yoiModule.
Referenced by LLVMCodegen::generateCodeBlock().


| void finalizeNode | ( | ) |
Definition at line 4204 of file llvmCodegenContext.cpp.
References yoi::yoi_assert().
Referenced by LLVMCodegen::generateCodeBlock().


| LLVMCodegen::StackValue & operator[] | ( | yoi::indexT | index | ) |
Definition at line 4246 of file llvmCodegenContext.cpp.
| void pop_back | ( | ) |
Definition at line 4218 of file llvmCodegenContext.cpp.
Referenced by LLVMCodegen::generateInstruction(), LLVMCodegen::handleBinaryOp(), LLVMCodegen::handleComparison(), and LLVMCodegen::handleIntrinsicCall().

| void push_back | ( | const StackValue & | value | ) |
Definition at line 4210 of file llvmCodegenContext.cpp.
Referenced by LLVMCodegen::generateInstruction(), LLVMCodegen::handleBinaryOp(), LLVMCodegen::handleComparison(), and LLVMCodegen::handleIntrinsicCall().

| yoi::indexT size | ( | ) | const |
Definition at line 4250 of file llvmCodegenContext.cpp.
Referenced by LLVMCodegen::generateInstruction().

| llvm::IRBuilder* builder |
Definition at line 76 of file llvmCodegenContext.hpp.
| const ControlFlowAnalysis& cfa |
Definition at line 74 of file llvmCodegenContext.hpp.
| yoi::indexT currentState |
Definition at line 75 of file llvmCodegenContext.hpp.
| std::map<yoi::indexT, yoi::vec<llvm::PHINode *> > phiNodes |
Definition at line 69 of file llvmCodegenContext.hpp.
| enum yoi::LLVMCodegen::ValueStackWithPhi::StackState stackState |
| std::map<yoi::indexT, yoi::vec<StackValue> > valueStackStateIn |
Definition at line 67 of file llvmCodegenContext.hpp.
| std::map<yoi::indexT, yoi::vec<StackValue> > valueStackStateOut |
Definition at line 68 of file llvmCodegenContext.hpp.
| std::shared_ptr<IRModule> yoiModule |
Definition at line 77 of file llvmCodegenContext.hpp.