diff --git a/src/main/java/cn/edu/nju/software/backend/RiscInstrGenerator.java b/src/main/java/cn/edu/nju/software/backend/RiscInstrGenerator.java index 9fe363668d33733910be4bb788cd37a38ecbbdd9..86aa8c4be154635c4d794aadea01909d69133bdf 100644 --- a/src/main/java/cn/edu/nju/software/backend/RiscInstrGenerator.java +++ b/src/main/java/cn/edu/nju/software/backend/RiscInstrGenerator.java @@ -496,6 +496,7 @@ public class RiscInstrGenerator implements InstructionVisitor { String funcName = call.getFunction().getName(); if (funcName.equals("starttime") || funcName.equals("stoptime")) { funcName = "_sysy_" + funcName; + riscInstructions.add(new RiscLi(new Register("a0"), new ImmediateValue(call.getLineNo()))); } riscInstructions.add(new RiscComment("call " + funcName)); riscInstructions.add(new RiscCall(funcName)); diff --git a/src/main/java/cn/edu/nju/software/pass/MemToReg.java b/src/main/java/cn/edu/nju/software/pass/MemToReg.java index 3d2c5d06fbbeca1c4cadf6afeedacd2d859fe91a..6b90d89fafdf1086dba2582bbe38a1e2e5b67995 100644 --- a/src/main/java/cn/edu/nju/software/pass/MemToReg.java +++ b/src/main/java/cn/edu/nju/software/pass/MemToReg.java @@ -240,7 +240,7 @@ public class MemToReg implements ModulePass { changed |= eliminateConstExp.runOnModule(this.module); } // reduce phi and drop phi's dead pred - runPhiModifyPass(); +// runPhiModifyPass(); modifyPhiOnModule(); return false; }