diff --git a/src/RISCv64RegAlloc.cpp b/src/RISCv64RegAlloc.cpp index d4c69e7..0c0a4a3 100644 --- a/src/RISCv64RegAlloc.cpp +++ b/src/RISCv64RegAlloc.cpp @@ -27,7 +27,8 @@ void RISCv64RegAlloc::run() { void RISCv64RegAlloc::eliminateFrameIndices() { StackFrameInfo& frame_info = MFunc->getFrameInfo(); - int current_offset = 0; + int current_offset = 20; // 这里写20是为了在$s0和第一个变量之间留出20字节的安全区, + // 以防止一些函数调用方面的恶性bug。 Function* F = MFunc->getFunc(); RISCv64ISel* isel = MFunc->getISel();