diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c0b95d2..d6184b8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -18,6 +18,7 @@ add_executable(sysyc SysYIRGenerator.cpp Backend.cpp LLVMIRGenerator.cpp + LLVMIRGenerator_1.cpp ) target_include_directories(sysyc PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) target_compile_options(sysyc PRIVATE -frtti) diff --git a/src/LLVMIRGenerator.cpp b/src/LLVMIRGenerator.cpp index 04f2686..8c94021 100644 --- a/src/LLVMIRGenerator.cpp +++ b/src/LLVMIRGenerator.cpp @@ -171,6 +171,7 @@ std::any LLVMIRGenerator::visitVarDef(SysYParser::VarDefContext* ctx) { std::string llvmType = getLLVMType(type); std::string allocaName = getNextTemp(); + irStream << " " << allocaName << " = alloca " << llvmType << ", align 4\n"; if (ctx->ASSIGN()) {