mips without optimize

This commit is contained in:
colden
2025-12-12 20:14:00 +08:00
parent 84827838e2
commit c94bebf37b
130 changed files with 5462 additions and 4182 deletions

17
midend/llvm/constant/IrConstantArray.java Normal file → Executable file
View File

@@ -2,6 +2,8 @@ package midend.llvm.constant;
import java.util.ArrayList;
import backend.mips.instr.data.MipsSpace;
import backend.mips.instr.data.MipsWord;
import midend.llvm.type.IrInterType;
import midend.llvm.type.IrArrayType;
@@ -44,4 +46,19 @@ public class IrConstantArray extends IrConstant {
}
return sb.toString();
}
public void toMips(String label) {
ArrayList<Integer> values = new ArrayList<>();
if (elements.size() == 0) {
new MipsSpace(size * 4, label);
} else {
for (IrConstant element : elements) {
values.add(((IrConstantInt) element).getValue());
}
for (int i = 0; i < size - elements.size(); i++) {
values.add(0);
}
new MipsWord(label, values);
}
}
}