#ifndef RISCV64_BACKEND_H #define RISCV64_BACKEND_H #include "IR.h" #include extern int DEBUG; extern int DEEPDEBUG; extern int optLevel; namespace sysy { // RISCv64CodeGen 现在是一个高层驱动器 class RISCv64CodeGen { public: RISCv64CodeGen(Module* mod) : module(mod) {} // 唯一的公共入口点 std::string code_gen(); private: // 模块级代码生成 std::string module_gen(); // 函数级代码生成 (实现新的流水线) std::string function_gen(Function* func); // 私有辅助函数,用于根据类型计算其占用的字节数。 unsigned getTypeSizeInBytes(Type* type); Module* module; bool irc_failed = false; int foo = 0, foo1 = 0, foo2 = 0, foo3 = 0, foo4 = 0, foo5 = 0, foo6 = 0; }; } // namespace sysy #endif // RISCV64_BACKEND_H