Commit 8e224ea7 authored by 鹿煜恒's avatar 鹿煜恒
Browse files

Merge remote-tracking branch 'public/testInline2'

# Conflicts:
#	src/Compiler.java
Showing with 5 additions and 6 deletions
+5 -6
......@@ -71,7 +71,7 @@ public class Compiler {
try (FileWriter fileWriter = new FileWriter("./llvmIRPreInlineFunction.ll")) {
fileWriter.append(visitor.module.toString());
}
// InlineFunction inlineFunction = new InlineFunction();
InlineFunction inlineFunction = new InlineFunction();
// inlineFunction.run(module, visitor);
ModuleFlattener.flattenModule(module);
......@@ -102,9 +102,6 @@ public class Compiler {
// }
// }
// }
try (FileWriter fileWriter = new FileWriter("./llvmIRAfterMem2Reg.ll")) {
fileWriter.append(visitor.module.toString());
}
DeadCodeEmit deadCodeEmitAfterMem2reg = new DeadCodeEmit();
deadCodeEmitAfterMem2reg.run(module);
new BrRemoving().run(module);
......@@ -135,7 +132,7 @@ public class Compiler {
}
DeadCodeEmit deadCodeEmitAfterGCM = new DeadCodeEmit();
deadCodeEmitAfterGCM.run(module);
deadCodeEmitAfterGCM.runStrong(module);
RemovePhi removePhi = new RemovePhi();
removePhi.run(module);
System.out.printf("removePHI:%f s%n", gettime());
......
......@@ -10,6 +10,7 @@ import ir.instr.Load;
import ir.instr.Phi;
import ir.instr.Store;
import ir.pass.analyze.AccessAnalyzer;
import ir.type.IntType;
import ir.value.Arg;
import ir.value.BasicBlock;
import ir.value.ConstNumber;
......@@ -383,7 +384,8 @@ public class ArrayEliminate {
conflictStores.forEach(s -> storeCount.put(s, storeCount.get(s) + 1));
} else {
if (ptr.getOP(0) instanceof Alloca) {
instr.replaceAllUsers(new ConstNumber(0));
instr.replaceAllUsers(instr.type instanceof IntType ? new ConstNumber(0):
new ConstNumber(0.0));
needrepeat = true;
} else if (ptr.getOP(0) instanceof Global) {
if (!((Global) ptr.getOP(0)).isInit) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment