From 0453cc7bf48c0b79d7042074ee042dec9d734bc4 Mon Sep 17 00:00:00 2001 From: William Chen Date: Thu, 6 Oct 2022 12:12:13 -0700 Subject: [PATCH] Fix CreateMemOpndForStatic by adding a 0 offset immediate under no optimization --- src/mapleall/maple_be/src/cg/aarch64/aarch64_cgfunc.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mapleall/maple_be/src/cg/aarch64/aarch64_cgfunc.cpp b/src/mapleall/maple_be/src/cg/aarch64/aarch64_cgfunc.cpp index 33255e1b6c..ace4231c6d 100644 --- a/src/mapleall/maple_be/src/cg/aarch64/aarch64_cgfunc.cpp +++ b/src/mapleall/maple_be/src/cg/aarch64/aarch64_cgfunc.cpp @@ -9359,7 +9359,8 @@ MemOperand &AArch64CGFunc::CreateMemOpndForStatic(const MIRSymbol &symbol, int64 GetCurBB()->AppendInsn(insn); if (GetCG()->GetOptimizeLevel() == CGOptions::kLevel0) { GetCurBB()->AppendInsn(GetInsnBuilder()->BuildInsn(MOP_xadrpl12, stAddrOpnd, stAddrOpnd, stOpnd)); - return *CreateMemOperand(MemOperand::kAddrModeBOi, size, stAddrOpnd, nullptr, nullptr, nullptr); + return *CreateMemOperand(MemOperand::kAddrModeBOi, size, stAddrOpnd, nullptr, + &GetOrCreateOfstOpnd(static_cast(0), k32BitSize), nullptr); } /* ldr x1, [x1, #:lo12:_PTR__cinf_Ljava_2Flang_2FSystem_3B] */ return *CreateMemOperand(MemOperand::kAddrModeLo12Li, size, stAddrOpnd, nullptr, -- Gitee