mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-11-22 16:33:48 +00:00
Removed more ALU subsystem.
This commit is contained in:
parent
40919842e2
commit
9da2aca338
@ -452,15 +452,4 @@ public class AsmFragmentInstance {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class AluNotApplicableException extends RuntimeException {
|
|
||||||
|
|
||||||
public AluNotApplicableException() {
|
|
||||||
super("ALU register not appicable.");
|
|
||||||
}
|
|
||||||
|
|
||||||
public AluNotApplicableException(String message) {
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,6 @@ package dk.camelot64.kickc.passes;
|
|||||||
|
|
||||||
import dk.camelot64.kickc.asm.AsmChunk;
|
import dk.camelot64.kickc.asm.AsmChunk;
|
||||||
import dk.camelot64.kickc.asm.AsmProgram;
|
import dk.camelot64.kickc.asm.AsmProgram;
|
||||||
import dk.camelot64.kickc.fragment.AsmFragmentInstance;
|
|
||||||
import dk.camelot64.kickc.fragment.AsmFragmentTemplateSynthesizer;
|
import dk.camelot64.kickc.fragment.AsmFragmentTemplateSynthesizer;
|
||||||
import dk.camelot64.kickc.model.*;
|
import dk.camelot64.kickc.model.*;
|
||||||
import dk.camelot64.kickc.model.statements.Statement;
|
import dk.camelot64.kickc.model.statements.Statement;
|
||||||
@ -121,15 +120,6 @@ public class Pass4RegisterUpliftCombinations extends Pass2Base {
|
|||||||
program.getLog().append(msg.toString());
|
program.getLog().append(msg.toString());
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
} catch(AsmFragmentInstance.AluNotApplicableException e) {
|
|
||||||
if(program.getLog().isVerboseUplift()) {
|
|
||||||
StringBuilder msg = new StringBuilder();
|
|
||||||
msg.append("Uplift attempt [" + (scope == null ? "" : scope) + "] ");
|
|
||||||
msg.append("alu not applicable");
|
|
||||||
msg.append(" allocation: ").append(combination.toString());
|
|
||||||
program.getLog().append(msg.toString());
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
boolean hasClobberProblem = new Pass4AssertNoCpuClobber(program).hasClobberProblem(false);
|
boolean hasClobberProblem = new Pass4AssertNoCpuClobber(program).hasClobberProblem(false);
|
||||||
if(hasClobberProblem) {
|
if(hasClobberProblem) {
|
||||||
|
@ -2,7 +2,6 @@ package dk.camelot64.kickc.passes;
|
|||||||
|
|
||||||
import dk.camelot64.cpufamily6502.CpuClobber;
|
import dk.camelot64.cpufamily6502.CpuClobber;
|
||||||
import dk.camelot64.kickc.asm.AsmProgram;
|
import dk.camelot64.kickc.asm.AsmProgram;
|
||||||
import dk.camelot64.kickc.fragment.AsmFragmentInstance;
|
|
||||||
import dk.camelot64.kickc.fragment.AsmFragmentTemplateSynthesizer;
|
import dk.camelot64.kickc.fragment.AsmFragmentTemplateSynthesizer;
|
||||||
import dk.camelot64.kickc.model.*;
|
import dk.camelot64.kickc.model.*;
|
||||||
import dk.camelot64.kickc.model.statements.Statement;
|
import dk.camelot64.kickc.model.statements.Statement;
|
||||||
@ -176,15 +175,6 @@ public class Pass4RegisterUpliftPotentialRegisterAnalysis extends Pass2Base {
|
|||||||
msg.append(" allocation: ").append(combination.toString());
|
msg.append(" allocation: ").append(combination.toString());
|
||||||
getLog().append(msg.toString());
|
getLog().append(msg.toString());
|
||||||
continue;
|
continue;
|
||||||
} catch(AsmFragmentInstance.AluNotApplicableException e) {
|
|
||||||
if(getProgram().getLog().isVerboseUplift()) {
|
|
||||||
StringBuilder msg = new StringBuilder();
|
|
||||||
msg.append("Potential register analysis ");
|
|
||||||
msg.append("alu not applicable");
|
|
||||||
msg.append(" allocation: ").append(combination.toString());
|
|
||||||
getProgram().getLog().append(msg.toString());
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
CpuClobber clobber = asm.getClobber();
|
CpuClobber clobber = asm.getClobber();
|
||||||
Collection<Registers.Register> clobberRegisters = Pass4AssertNoCpuClobber.getClobberRegisters(clobber);
|
Collection<Registers.Register> clobberRegisters = Pass4AssertNoCpuClobber.getClobberRegisters(clobber);
|
||||||
|
Loading…
Reference in New Issue
Block a user