1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-02-20 15:29:10 +00:00

Implemented new uplift score function sum(cycles*10^loopdepth). Added a lot of missing fragments. Sorted scopes so max weight scopes are allocated first.

This commit is contained in:
jespergravgaard 2017-08-02 22:20:00 +02:00
parent b9831c9445
commit 59d33faf92
78 changed files with 11028 additions and 10889 deletions

View File

@ -1,6 +1,8 @@
package dk.camelot64.kickc;
import dk.camelot64.kickc.asm.AsmFragment;
import dk.camelot64.kickc.asm.AsmProgram;
import dk.camelot64.kickc.asm.AsmSegment;
import dk.camelot64.kickc.icl.*;
import dk.camelot64.kickc.parser.KickCLexer;
import dk.camelot64.kickc.parser.KickCParser;
@ -21,8 +23,10 @@ public class Compiler {
KickCParser.FileContext file = pass0ParseInput(input, log);
Program program = pass1GenerateSSA(file, log);
pass2OptimizeSSA(program);
pass3RegisterAllocation(program);
pass5OptimizeAsm(program);
pass3Analysis(program);
pass4RegisterAllocation(program);
pass5GenerateAsm(program);
pass6OptimizeAsm(program);
log.append("FINAL SYMBOL TABLE");
log.append(program.getScope().getSymbolTableContents(program));
@ -36,7 +40,7 @@ public class Compiler {
}
}
public void pass5OptimizeAsm(Program program) {
public void pass6OptimizeAsm(Program program) {
CompileLog log = program.getLog();
List<Pass5AsmOptimization> pass5Optimizations = new ArrayList<>();
pass5Optimizations.add(new Pass5NextJumpElimination(program, log));
@ -56,8 +60,96 @@ public class Compiler {
}
}
private void pass5GenerateAsm(Program program) {
new Pass3CodeGeneration(program).generate();
new Pass3AssertNoCpuClobber(program).check();
}
private void pass3RegisterAllocation(Program program) {
private void pass4RegisterAllocation(Program program) {
// Find register uplift scopes
new Pass3RegisterUpliftScopeAnalysis(program).findScopes();
program.getLog().append("REGISTER UPLIFT SCOPES");
program.getLog().append(program.getRegisterUpliftProgram().toString((program.getVariableRegisterWeights())));
// Test uplift combinations to find the best one.
Set<String> unknownFragments = new LinkedHashSet<>();
for (RegisterUpliftScope upliftScope : program.getRegisterUpliftProgram().getRegisterUpliftScopes()) {
int bestScore = Integer.MAX_VALUE;
RegisterUpliftScope.Combination bestCombination = null;
Iterator<RegisterUpliftScope.Combination> combinationIterator = upliftScope.geCombinationIterator();
while (combinationIterator.hasNext()) {
RegisterUpliftScope.Combination combination = combinationIterator.next();
// Reset register allocation to original zero page allocation
new Pass3RegistersFinalize(program).allocate(false);
// Apply the uplift combination
combination.allocate(program.getAllocation());
// Generate ASM
try {
new Pass3CodeGeneration(program).generate();
} catch (AsmFragment.UnknownFragmentException e) {
unknownFragments.add(e.getFragmentSignature());
StringBuilder msg = new StringBuilder();
msg.append("Uplift attempt [" + upliftScope.getScopeRef() + "] ");
msg.append("missing fragment " + e.getFragmentSignature());
program.getLog().append(msg.toString());
continue;
}
// If no clobber - Find value of the resulting allocation
boolean hasClobberProblem = new Pass3AssertNoCpuClobber(program).hasClobberProblem(false);
int combinationScore = getAsmScore(program);
StringBuilder msg = new StringBuilder();
msg.append("Uplift attempt [" + upliftScope.getScopeRef() + "] ");
if (hasClobberProblem) {
msg.append("clobber");
} else {
msg.append(combinationScore);
}
msg.append(" allocation: ").append(combination.toString());
program.getLog().append(msg.toString());
if (!hasClobberProblem) {
if (combinationScore < bestScore) {
bestScore = combinationScore;
bestCombination = combination;
}
}
}
// Save the best combination in the equivalence class
bestCombination.store(program.getLiveRangeEquivalenceClassSet());
program.getLog().append("Uplifting [" + upliftScope.getScopeRef() + "] best " + bestScore + " combination " + bestCombination.toString());
}
if (unknownFragments.size() > 0) {
program.getLog().append("MISSING FRAGMENTS");
for (String unknownFragment : unknownFragments) {
program.getLog().append(" " + unknownFragment);
}
}
// Final register coalesce and code generation
new Pass3ZeroPageCoalesce(program).allocate();
new Pass3RegistersFinalize(program).allocate(true);
}
private int getAsmScore(Program program) {
int score = 0;
AsmProgram asm = program.getAsm();
ControlFlowGraph graph = program.getGraph();
NaturalLoopSet loopSet = program.getLoopSet();
for (AsmSegment asmSegment : asm.getSegments()) {
double asmSegmentCycles = asmSegment.getCycles();
if (asmSegmentCycles > 0) {
Integer statementIdx = asmSegment.getStatementIdx();
ControlFlowBlock block = graph.getBlockFromStatementIdx(statementIdx);
int maxLoopDepth = loopSet.getMaxLoopDepth(block.getLabel());
score += asmSegmentCycles * Math.pow(10, maxLoopDepth);
}
}
return score;
}
private void pass3Analysis(Program program) {
new Pass3BlockSequencePlanner(program).plan();
@ -100,7 +192,7 @@ public class Compiler {
new Pass3VariableRegisterWeightAnalysis(program).findWeights();
program.getLog().append("\nVARIABLE REGISTER WEIGHTS");
program.getLog().append(program.getScope().getSymbolTableContents(program ,Variable.class));
program.getLog().append(program.getScope().getSymbolTableContents(program, Variable.class));
new Pass3ZeroPageAllocation(program).allocate();
new Pass3RegistersFinalize(program).allocate(false);
@ -111,78 +203,10 @@ public class Compiler {
program.getLog().append("INITIAL ASM");
program.getLog().append(program.getAsm().toString());
// Find register uplift scopes
new Pass3RegisterUpliftScopeAnalysis(program).findScopes();
program.getLog().append("REGISTER UPLIFT SCOPES");
program.getLog().append(program.getRegisterUpliftProgram().toString((program.getVariableRegisterWeights())));
// Test uplift combinations to find the best one.
Set<String> unknownFragments = new LinkedHashSet<>();
for (RegisterUpliftScope upliftScope : program.getRegisterUpliftProgram().getRegisterUpliftScopes()) {
int bestScore = Integer.MAX_VALUE;
RegisterUpliftScope.Combination bestCombination = null;
Iterator<RegisterUpliftScope.Combination> combinationIterator = upliftScope.geCombinationIterator();
while (combinationIterator.hasNext()) {
RegisterUpliftScope.Combination combination = combinationIterator.next();
// Reset register allocation to original zero page allocation
new Pass3RegistersFinalize(program).allocate(false);
// Apply the uplift combination
combination.allocate(program.getAllocation());
// Generate ASM
try {
new Pass3CodeGeneration(program).generate();
} catch (AsmFragment.UnknownFragmentException e) {
unknownFragments.add(e.getFragmentSignature());
StringBuilder msg = new StringBuilder();
msg.append("Uplift attempt [" + upliftScope.getScopeRef() + "] ");
msg.append("missing fragment "+e.getFragmentSignature());
program.getLog().append(msg.toString());
continue;
}
// If no clobber - Find value of the resulting allocation
boolean hasClobberProblem = new Pass3AssertNoCpuClobber(program).hasClobberProblem(false);
int combinationScore = program.getAsm().getBytes();
StringBuilder msg = new StringBuilder();
msg.append("Uplift attempt [" + upliftScope.getScopeRef() + "] ");
if(hasClobberProblem) {
msg.append("clobber");
} else {
msg.append(combinationScore);
}
msg.append(" allocation: ").append(combination.toString());
program.getLog().append(msg.toString());
if(!hasClobberProblem) {
if(combinationScore<bestScore) {
bestScore = combinationScore;
bestCombination = combination;
}
}
}
// Save the best combination in the equivalence class
bestCombination.store(program.getLiveRangeEquivalenceClassSet());
program.getLog().append("Uplifting ["+upliftScope.getScopeRef()+"] best "+bestScore+" combination "+bestCombination.toString());
}
if(unknownFragments.size()>0) {
program.getLog().append("MISSING FRAGMENTS");
for (String unknownFragment : unknownFragments) {
program.getLog().append(" "+unknownFragment);
}
}
// Final register coalesce and code generation
new Pass3ZeroPageCoalesce(program).allocate();
new Pass3RegistersFinalize(program).allocate(true);
new Pass3CodeGeneration(program).generate();
new Pass3AssertNoCpuClobber(program).check();
//new Pass3CustomRegisters(program).setRegister();
//new Pass3AssertNoCpuClobber(program).check();
}
public void pass2OptimizeSSA(Program program) {
List<Pass2SsaOptimization> optimizations = new ArrayList<>();
optimizations.add(new Pass2CullEmptyBlocks(program));

View File

@ -0,0 +1 @@
txa

View File

@ -0,0 +1,3 @@
stx $ff
clc
adc $ff

View File

@ -0,0 +1,4 @@
stx $ff
tya
clc
adc $ff

View File

@ -0,0 +1,3 @@
txa
clc
adc {zpby1}

View File

@ -0,0 +1 @@
tya

View File

@ -0,0 +1,3 @@
sty $ff
clc
adc $ff

View File

@ -0,0 +1,4 @@
sty $ff
txa
clc
adc $ff

View File

@ -0,0 +1,2 @@
tya
asl

View File

@ -0,0 +1,3 @@
tya
clc
adc {zpby1}

View File

@ -0,0 +1,3 @@
txa
clc
adc {zpby1}

View File

@ -0,0 +1,3 @@
tya
clc
adc {zpby1}

View File

@ -0,0 +1,2 @@
asl
tax

View File

@ -0,0 +1,4 @@
stx $ff
clc
adc $ff
tax

View File

@ -0,0 +1,4 @@
sty $ff
clc
adc $ff
tax

View File

@ -0,0 +1,3 @@
clc
adc {zpby1}
tax

View File

@ -0,0 +1,4 @@
sty $ff
clc
adc $ff
tax

View File

@ -0,0 +1,5 @@
stx $ff
tya
clc
adc $ff
tax

View File

@ -0,0 +1,3 @@
tya
asl
tax

View File

@ -0,0 +1,4 @@
tya
clc
adc {zpby1}
tax

View File

@ -0,0 +1,3 @@
clc
adc {zpby1}
tax

View File

@ -0,0 +1,4 @@
txa
clc
adc {zpby1}
tax

View File

@ -0,0 +1,4 @@
tya
clc
adc {zpby1}
tax

View File

@ -0,0 +1,2 @@
cpx #{coby1}
bne {la1}

View File

@ -0,0 +1,2 @@
asl
tay

View File

@ -0,0 +1,4 @@
stx $ff
clc
adc $ff
tay

View File

@ -0,0 +1,4 @@
sty $ff
clc
adc $ff
tay

View File

@ -0,0 +1,3 @@
clc
adc {zpby1}
tay

View File

@ -0,0 +1,4 @@
stx $ff
clc
adc $ff
tay

View File

@ -0,0 +1,3 @@
txa
asl
tay

View File

@ -0,0 +1,5 @@
stx $ff
tya
clc
adc $ff
tay

View File

@ -0,0 +1,4 @@
txa
clc
adc {zpby1}
tay

View File

@ -0,0 +1,3 @@
clc
adc {zpby1}
tay

View File

@ -0,0 +1,4 @@
txa
clc
adc {zpby1}
tay

View File

@ -0,0 +1,4 @@
tya
clc
adc {zpby1}
tay

View File

@ -0,0 +1,2 @@
cpy #0
bne {la1}

View File

@ -0,0 +1,2 @@
cpy #{coby1}
bne {la1}

View File

@ -0,0 +1,4 @@
stx $ff
clc
adc $ff
sta {zpby1}

View File

@ -0,0 +1,4 @@
sty $ff
clc
adc $ff
sta {zpby1}

View File

@ -0,0 +1,4 @@
stx $ff
clc
adc $ff
sta {zpby1}

View File

@ -0,0 +1,3 @@
txa
asl
sta {zpby1}

View File

@ -0,0 +1,5 @@
stx $ff
tya
clc
adc $ff
sta {zpby1}

View File

@ -0,0 +1,4 @@
txa
clc
adc {zpby2}
sta {zpby1}

View File

@ -0,0 +1,4 @@
sty $ff
clc
adc $ff
sta {zpby1}

View File

@ -0,0 +1,5 @@
sty $ff
txa
clc
adc $ff
sta {zpby1}

View File

@ -0,0 +1,3 @@
tay
asl
sta {zpby1}

View File

@ -0,0 +1,3 @@
clc
adc {zpby2}
sta {zpby1}

View File

@ -0,0 +1,4 @@
txa
clc
adc {zpby2}
sta {zpby1}

View File

@ -0,0 +1,4 @@
tya
clc
adc {zpby2}
sta {zpby1}

View File

@ -0,0 +1,4 @@
lda {zpby1}
clc
adc {zpby2}
sta {zpby1}

View File

@ -0,0 +1,2 @@
tay
sta ({zpptrby1}),y

View File

@ -0,0 +1,4 @@
stx $ff
tay
lda $ff
sta ({zpptrby1}),y

View File

@ -0,0 +1,4 @@
sty $ff
tay
lda $ff
sta ({zpptrby1}),y

View File

@ -0,0 +1,3 @@
stx $ff
ldy $ff
sta ({zpptrby1}),y

View File

@ -0,0 +1,3 @@
txa
tay
sta ({zpptrby1}),y

View File

@ -0,0 +1,5 @@
sty $ff
txa
tay
lda $ff
sta ({zpptrby1}),y

View File

@ -0,0 +1,2 @@
txa
sta ({zpptrby1}),y

View File

@ -0,0 +1,2 @@
tya
sta ({zpptrby1}),y

View File

@ -0,0 +1,3 @@
ldy {zpby1}
txa
sta ({zpptrby1}),y

View File

@ -0,0 +1,3 @@
tya
ldy {zpby1}
sta ({zpptrby1}),y

View File

@ -2,22 +2,27 @@ package dk.camelot64.kickc.icl;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
* Information about register uplift at the program level
*/
public class RegisterUpliftProgram {
private Collection<RegisterUpliftScope> registerUpliftScopes;
private List<RegisterUpliftScope> registerUpliftScopes;
public RegisterUpliftProgram() {
this.registerUpliftScopes = new ArrayList<>();
}
public Collection<RegisterUpliftScope> getRegisterUpliftScopes() {
public List<RegisterUpliftScope> getRegisterUpliftScopes() {
return registerUpliftScopes;
}
public void setRegisterUpliftScopes(List<RegisterUpliftScope> registerUpliftScopes) {
this.registerUpliftScopes = registerUpliftScopes;
}
public RegisterUpliftScope addRegisterUpliftScope(LabelRef scopeRef) {
RegisterUpliftScope registerUpliftScope = new RegisterUpliftScope(scopeRef);
registerUpliftScopes.add(registerUpliftScope);

View File

@ -45,4 +45,12 @@ public class VariableRegisterWeights {
return totalWeight;
}
public double getTotalWeights(RegisterUpliftScope upliftScope) {
double totalWeight = 0.0;
for (LiveRangeEquivalenceClass equivalenceClass : upliftScope.getEquivalenceClasses()) {
totalWeight += getTotalWeight(equivalenceClass);
}
return totalWeight;
}
}

View File

@ -40,6 +40,17 @@ public class Pass3RegisterUpliftScopeAnalysis extends Pass2Base {
});
registerUpliftScope.setEquivalenceClasses(equivalenceClasses);
}
List<RegisterUpliftScope> upliftScopes = registerUpliftProgram.getRegisterUpliftScopes();
Collections.sort(upliftScopes, new Comparator<RegisterUpliftScope>() {
@Override
public int compare(RegisterUpliftScope o1, RegisterUpliftScope o2) {
return Double.compare(registerWeights.getTotalWeights(o2),registerWeights.getTotalWeights(o1));
}
});
registerUpliftProgram.setRegisterUpliftScopes(upliftScopes);
getProgram().setRegisterUpliftProgram(registerUpliftProgram);
}

View File

@ -1174,15 +1174,15 @@ B3_from_B2:
REGISTER UPLIFT SCOPES
Uplift Scope [] 55: zp byte:5 [ e#3 e#5 e#1 e#2 ] 46.75: zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] 29.33: zp byte:6 [ y#2 y#4 y#1 ] 14.67: zp byte:4 [ x#2 x#1 ]
Uplift attempt [] 91 allocation: zp byte:5 [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] zp byte:6 [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
Uplift attempt [] 1280 allocation: zp byte:5 [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] zp byte:6 [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
Uplift attempt [] clobber allocation: reg byte a [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] zp byte:6 [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
Uplift attempt [] 83 allocation: reg byte x [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] zp byte:6 [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
Uplift attempt [] 1180 allocation: reg byte x [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] zp byte:6 [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
Uplift attempt [] clobber allocation: reg byte y [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] zp byte:6 [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
Uplift attempt [] clobber allocation: zp byte:5 [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] reg byte a [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
Uplift attempt [] clobber allocation: reg byte a [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] reg byte a [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
Uplift attempt [] clobber allocation: reg byte x [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] reg byte a [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
Uplift attempt [] clobber allocation: reg byte y [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] reg byte a [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
Uplift attempt [] 88 allocation: zp byte:5 [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] reg byte x [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
Uplift attempt [] 1220 allocation: zp byte:5 [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] reg byte x [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
Uplift attempt [] clobber allocation: reg byte a [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] reg byte x [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
Uplift attempt [] clobber allocation: reg byte x [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] reg byte x [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
Uplift attempt [] clobber allocation: reg byte y [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] reg byte x [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
@ -1206,7 +1206,7 @@ Uplift attempt [] clobber allocation: zp byte:5 [ e#3 e#5 e#1 e#2 ] zp ptr byte:
Uplift attempt [] clobber allocation: reg byte a [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] reg byte y [ y#2 y#4 y#1 ] reg byte a [ x#2 x#1 ]
Uplift attempt [] clobber allocation: reg byte x [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] reg byte y [ y#2 y#4 y#1 ] reg byte a [ x#2 x#1 ]
Uplift attempt [] clobber allocation: reg byte y [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] reg byte y [ y#2 y#4 y#1 ] reg byte a [ x#2 x#1 ]
Uplift attempt [] 86 allocation: zp byte:5 [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] zp byte:6 [ y#2 y#4 y#1 ] reg byte x [ x#2 x#1 ]
Uplift attempt [] 1190 allocation: zp byte:5 [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] zp byte:6 [ y#2 y#4 y#1 ] reg byte x [ x#2 x#1 ]
Uplift attempt [] clobber allocation: reg byte a [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] zp byte:6 [ y#2 y#4 y#1 ] reg byte x [ x#2 x#1 ]
Uplift attempt [] clobber allocation: reg byte x [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] zp byte:6 [ y#2 y#4 y#1 ] reg byte x [ x#2 x#1 ]
Uplift attempt [] clobber allocation: reg byte y [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] zp byte:6 [ y#2 y#4 y#1 ] reg byte x [ x#2 x#1 ]
@ -1238,7 +1238,7 @@ Uplift attempt [] clobber allocation: zp byte:5 [ e#3 e#5 e#1 e#2 ] zp ptr byte:
Uplift attempt [] clobber allocation: reg byte a [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] reg byte y [ y#2 y#4 y#1 ] reg byte y [ x#2 x#1 ]
Uplift attempt [] clobber allocation: reg byte x [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] reg byte y [ y#2 y#4 y#1 ] reg byte y [ x#2 x#1 ]
Uplift attempt [] clobber allocation: reg byte y [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] reg byte y [ y#2 y#4 y#1 ] reg byte y [ x#2 x#1 ]
Uplifting [] best 83 combination reg byte x [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] zp byte:6 [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
Uplifting [] best 1180 combination reg byte x [ e#3 e#5 e#1 e#2 ] zp ptr byte:2 [ cursor#3 cursor#5 cursor#1 cursor#2 ] zp byte:6 [ y#2 y#4 y#1 ] zp byte:4 [ x#2 x#1 ]
Re-allocated ZP register from zp byte:6 to zp byte:5
Removing instruction jmp B1
Removing instruction jmp B3

View File

@ -490,70 +490,70 @@ BEND:
REGISTER UPLIFT SCOPES
Uplift Scope [] 27.5: zp byte:2 [ i#2 i#1 ] 22: zp byte:4 [ $3 ] 22: zp byte:5 [ $4 ] 11: zp byte:3 [ $1 ]
Uplift attempt [] 59 allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 707 allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 48 allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 51 allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] missing fragment zpby1=zpby2_plus_aby
Uplift attempt [] missing fragment zpby1=zpby2_plus_aby
Uplift attempt [] missing fragment zpby1=zpby2_plus_aby
Uplift attempt [] missing fragment zpby1=zpby2_plus_aby
Uplift attempt [] missing fragment zpby1=zpby2_plus_xby
Uplift attempt [] missing fragment zpby1=zpby2_plus_xby
Uplift attempt [] missing fragment zpby1=zpby2_plus_xby
Uplift attempt [] missing fragment zpby1=zpby2_plus_xby
Uplift attempt [] missing fragment zpby1=zpby2_plus_yby
Uplift attempt [] missing fragment zpby1=zpby2_plus_yby
Uplift attempt [] missing fragment zpby1=zpby2_plus_yby
Uplift attempt [] missing fragment zpby1=zpby2_plus_yby
Uplift attempt [] 55 allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 527 allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 527 allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 647 allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte a [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 467 allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 467 allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 687 allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 487 allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 687 allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 487 allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $3 ] zp byte:5 [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 647 allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 44 allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 47 allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 51 allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 467 allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 467 allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 587 allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 40 allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 43 allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] missing fragment aby=zpby1_plus_xby
Uplift attempt [] missing fragment aby=zpby1_plus_xby
Uplift attempt [] missing fragment aby=zpby1_plus_xby
Uplift attempt [] missing fragment aby=zpby1_plus_xby
Uplift attempt [] missing fragment aby=zpby1_plus_yby
Uplift attempt [] missing fragment aby=zpby1_plus_yby
Uplift attempt [] missing fragment aby=zpby1_plus_yby
Uplift attempt [] missing fragment aby=zpby1_plus_yby
Uplift attempt [] 57 allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 407 allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 407 allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 627 allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 427 allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 627 allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 427 allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 687 allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 49 allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] missing fragment xby=zpby1_plus_aby
Uplift attempt [] missing fragment xby=zpby1_plus_aby
Uplift attempt [] missing fragment xby=zpby1_plus_aby
Uplift attempt [] missing fragment xby=zpby1_plus_aby
Uplift attempt [] missing fragment xby=zpby1_plus_xby
Uplift attempt [] missing fragment xby=zpby1_plus_xby
Uplift attempt [] missing fragment xby=zpby1_plus_xby
Uplift attempt [] missing fragment xby=zpby1_plus_xby
Uplift attempt [] missing fragment xby=zpby1_plus_yby
Uplift attempt [] missing fragment xby=zpby1_plus_yby
Uplift attempt [] missing fragment xby=zpby1_plus_yby
Uplift attempt [] missing fragment xby=zpby1_plus_yby
Uplift attempt [] 58 allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 507 allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 627 allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 447 allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 667 allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 467 allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 667 allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 687 allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 46 allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 507 allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] missing fragment yby=zpby1_plus_aby
Uplift attempt [] missing fragment yby=zpby1_plus_aby
Uplift attempt [] missing fragment yby=zpby1_plus_aby
Uplift attempt [] missing fragment yby=zpby1_plus_aby
Uplift attempt [] missing fragment yby=zpby1_plus_xby
Uplift attempt [] missing fragment yby=zpby1_plus_xby
Uplift attempt [] missing fragment yby=zpby1_plus_xby
Uplift attempt [] missing fragment yby=zpby1_plus_xby
Uplift attempt [] missing fragment yby=zpby1_plus_yby
Uplift attempt [] missing fragment yby=zpby1_plus_yby
Uplift attempt [] missing fragment yby=zpby1_plus_yby
Uplift attempt [] missing fragment yby=zpby1_plus_yby
Uplift attempt [] 627 allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 447 allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 667 allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 667 allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] 467 allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $3 ] reg byte y [ $4 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] reg byte a [ $1 ]
@ -562,14 +562,14 @@ Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] zp
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte a [ $3 ] zp byte:5 [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] zp byte:5 [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] zp byte:5 [ $4 ] reg byte a [ $1 ]
Uplift attempt [] missing fragment zpby1=aby_plus_xby
Uplift attempt [] missing fragment zpby1=aby_plus_xby
Uplift attempt [] missing fragment zpby1=aby_plus_xby
Uplift attempt [] missing fragment zpby1=aby_plus_xby
Uplift attempt [] missing fragment zpby1=aby_plus_yby
Uplift attempt [] missing fragment zpby1=aby_plus_yby
Uplift attempt [] missing fragment zpby1=aby_plus_yby
Uplift attempt [] missing fragment zpby1=aby_plus_yby
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] zp byte:5 [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $3 ] zp byte:5 [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $3 ] zp byte:5 [ $4 ] reg byte a [ $1 ]
Uplift attempt [] 467 allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] zp byte:5 [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] zp byte:5 [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $3 ] zp byte:5 [ $4 ] reg byte a [ $1 ]
Uplift attempt [] 467 allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] zp byte:5 [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $3 ] zp byte:5 [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] reg byte a [ $1 ]
@ -581,164 +581,164 @@ Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] r
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] reg byte a [ $1 ]
Uplift attempt [] 43 allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] reg byte a [ $1 ]
Uplift attempt [] 407 allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] reg byte a [ $1 ]
Uplift attempt [] 40 allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] reg byte a [ $1 ]
Uplift attempt [] 407 allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] reg byte a [ $1 ]
Uplift attempt [] missing fragment xby=aby_plus_zpby1
Uplift attempt [] missing fragment xby=aby_plus_zpby1
Uplift attempt [] missing fragment xby=aby_plus_zpby1
Uplift attempt [] missing fragment xby=aby_plus_zpby1
Uplift attempt [] missing fragment xby=aby_plus_aby
Uplift attempt [] missing fragment xby=aby_plus_aby
Uplift attempt [] missing fragment xby=aby_plus_aby
Uplift attempt [] missing fragment xby=aby_plus_aby
Uplift attempt [] missing fragment xby=aby_plus_xby
Uplift attempt [] missing fragment xby=aby_plus_xby
Uplift attempt [] missing fragment xby=aby_plus_xby
Uplift attempt [] missing fragment xby=aby_plus_xby
Uplift attempt [] missing fragment xby=aby_plus_yby
Uplift attempt [] missing fragment xby=aby_plus_yby
Uplift attempt [] missing fragment xby=aby_plus_yby
Uplift attempt [] missing fragment xby=aby_plus_yby
Uplift attempt [] missing fragment yby=aby_plus_zpby1
Uplift attempt [] missing fragment yby=aby_plus_zpby1
Uplift attempt [] missing fragment yby=aby_plus_zpby1
Uplift attempt [] missing fragment yby=aby_plus_zpby1
Uplift attempt [] missing fragment yby=aby_plus_aby
Uplift attempt [] missing fragment yby=aby_plus_aby
Uplift attempt [] missing fragment yby=aby_plus_aby
Uplift attempt [] missing fragment yby=aby_plus_aby
Uplift attempt [] missing fragment yby=aby_plus_xby
Uplift attempt [] missing fragment yby=aby_plus_xby
Uplift attempt [] missing fragment yby=aby_plus_xby
Uplift attempt [] missing fragment yby=aby_plus_xby
Uplift attempt [] missing fragment yby=aby_plus_yby
Uplift attempt [] missing fragment yby=aby_plus_yby
Uplift attempt [] missing fragment yby=aby_plus_yby
Uplift attempt [] missing fragment yby=aby_plus_yby
Uplift attempt [] missing fragment zpby1=xby_plus_zpby2
Uplift attempt [] missing fragment zpby1=xby_plus_zpby2
Uplift attempt [] missing fragment zpby1=xby_plus_zpby2
Uplift attempt [] missing fragment zpby1=xby_plus_zpby2
Uplift attempt [] missing fragment zpby1=xby_plus_aby
Uplift attempt [] missing fragment zpby1=xby_plus_aby
Uplift attempt [] missing fragment zpby1=xby_plus_aby
Uplift attempt [] missing fragment zpby1=xby_plus_aby
Uplift attempt [] missing fragment zpby1=xby_plus_xby
Uplift attempt [] missing fragment zpby1=xby_plus_xby
Uplift attempt [] missing fragment zpby1=xby_plus_xby
Uplift attempt [] missing fragment zpby1=xby_plus_xby
Uplift attempt [] missing fragment zpby1=xby_plus_yby
Uplift attempt [] missing fragment zpby1=xby_plus_yby
Uplift attempt [] missing fragment zpby1=xby_plus_yby
Uplift attempt [] missing fragment zpby1=xby_plus_yby
Uplift attempt [] missing fragment aby=xby_plus_zpby1
Uplift attempt [] missing fragment aby=xby_plus_zpby1
Uplift attempt [] missing fragment aby=xby_plus_zpby1
Uplift attempt [] missing fragment aby=xby_plus_zpby1
Uplift attempt [] missing fragment aby=xby_plus_aby
Uplift attempt [] missing fragment aby=xby_plus_aby
Uplift attempt [] missing fragment aby=xby_plus_aby
Uplift attempt [] missing fragment aby=xby_plus_aby
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] reg byte x [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $3 ] reg byte x [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $3 ] reg byte x [ $4 ] reg byte a [ $1 ]
Uplift attempt [] 447 allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] reg byte x [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] reg byte y [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $3 ] reg byte y [ $4 ] reg byte a [ $1 ]
Uplift attempt [] 447 allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] reg byte y [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $3 ] reg byte y [ $4 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] reg byte x [ $1 ]
Uplift attempt [] 487 allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] zp byte:5 [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte a [ $3 ] zp byte:5 [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] zp byte:5 [ $4 ] reg byte x [ $1 ]
Uplift attempt [] 467 allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] zp byte:5 [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] zp byte:5 [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $3 ] zp byte:5 [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $3 ] zp byte:5 [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] zp byte:5 [ $4 ] reg byte x [ $1 ]
Uplift attempt [] 707 allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] zp byte:5 [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $3 ] zp byte:5 [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] zp byte:5 [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $3 ] zp byte:5 [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] reg byte x [ $1 ]
Uplift attempt [] 427 allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] reg byte x [ $1 ]
Uplift attempt [] 407 allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] reg byte x [ $1 ]
Uplift attempt [] missing fragment aby=xby_plus_yby
Uplift attempt [] missing fragment aby=xby_plus_yby
Uplift attempt [] missing fragment aby=xby_plus_yby
Uplift attempt [] missing fragment aby=xby_plus_yby
Uplift attempt [] 647 allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] 46 allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] 467 allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] 45 allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] 447 allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] 57 allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] 687 allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] reg byte x [ $1 ]
Uplift attempt [] missing fragment yby=xby_plus_zpby1
Uplift attempt [] missing fragment yby=xby_plus_zpby1
Uplift attempt [] missing fragment yby=xby_plus_zpby1
Uplift attempt [] missing fragment yby=xby_plus_zpby1
Uplift attempt [] missing fragment yby=xby_plus_aby
Uplift attempt [] missing fragment yby=xby_plus_aby
Uplift attempt [] missing fragment yby=xby_plus_aby
Uplift attempt [] missing fragment yby=xby_plus_aby
Uplift attempt [] missing fragment yby=xby_plus_xby
Uplift attempt [] missing fragment yby=xby_plus_xby
Uplift attempt [] missing fragment yby=xby_plus_xby
Uplift attempt [] missing fragment yby=xby_plus_xby
Uplift attempt [] missing fragment yby=xby_plus_yby
Uplift attempt [] missing fragment yby=xby_plus_yby
Uplift attempt [] missing fragment yby=xby_plus_yby
Uplift attempt [] missing fragment yby=xby_plus_yby
Uplift attempt [] 58 allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] reg byte x [ $1 ]
Uplift attempt [] 687 allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] reg byte y [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $3 ] reg byte y [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] reg byte y [ $4 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $3 ] reg byte y [ $4 ] reg byte x [ $1 ]
Uplift attempt [] 687 allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 45 allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 487 allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] missing fragment zpby1=yby_plus_aby
Uplift attempt [] missing fragment zpby1=yby_plus_aby
Uplift attempt [] missing fragment zpby1=yby_plus_aby
Uplift attempt [] missing fragment zpby1=yby_plus_aby
Uplift attempt [] missing fragment zpby1=yby_plus_xby
Uplift attempt [] missing fragment zpby1=yby_plus_xby
Uplift attempt [] missing fragment zpby1=yby_plus_xby
Uplift attempt [] missing fragment zpby1=yby_plus_xby
Uplift attempt [] missing fragment zpby1=yby_plus_yby
Uplift attempt [] missing fragment zpby1=yby_plus_yby
Uplift attempt [] missing fragment zpby1=yby_plus_yby
Uplift attempt [] missing fragment zpby1=yby_plus_yby
Uplift attempt [] missing fragment aby=yby_plus_zpby1
Uplift attempt [] missing fragment aby=yby_plus_zpby1
Uplift attempt [] missing fragment aby=yby_plus_zpby1
Uplift attempt [] missing fragment aby=yby_plus_zpby1
Uplift attempt [] missing fragment aby=yby_plus_aby
Uplift attempt [] missing fragment aby=yby_plus_aby
Uplift attempt [] missing fragment aby=yby_plus_aby
Uplift attempt [] missing fragment aby=yby_plus_aby
Uplift attempt [] missing fragment aby=yby_plus_xby
Uplift attempt [] missing fragment aby=yby_plus_xby
Uplift attempt [] missing fragment aby=yby_plus_xby
Uplift attempt [] missing fragment aby=yby_plus_xby
Uplift attempt [] missing fragment aby=yby_plus_yby
Uplift attempt [] missing fragment aby=yby_plus_yby
Uplift attempt [] missing fragment aby=yby_plus_yby
Uplift attempt [] missing fragment aby=yby_plus_yby
Uplift attempt [] missing fragment xby=yby_plus_zpby1
Uplift attempt [] missing fragment xby=yby_plus_zpby1
Uplift attempt [] missing fragment xby=yby_plus_zpby1
Uplift attempt [] missing fragment xby=yby_plus_zpby1
Uplift attempt [] missing fragment xby=yby_plus_aby
Uplift attempt [] missing fragment xby=yby_plus_aby
Uplift attempt [] missing fragment xby=yby_plus_aby
Uplift attempt [] missing fragment xby=yby_plus_aby
Uplift attempt [] missing fragment xby=yby_plus_xby
Uplift attempt [] missing fragment xby=yby_plus_xby
Uplift attempt [] missing fragment xby=yby_plus_xby
Uplift attempt [] missing fragment xby=yby_plus_xby
Uplift attempt [] missing fragment xby=yby_plus_yby
Uplift attempt [] missing fragment xby=yby_plus_yby
Uplift attempt [] missing fragment xby=yby_plus_yby
Uplift attempt [] missing fragment xby=yby_plus_yby
Uplift attempt [] 57 allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 667 allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte a [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 467 allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 707 allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $3 ] zp byte:5 [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 627 allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 427 allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte a [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 607 allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 407 allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 647 allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] reg byte a [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $3 ] reg byte a [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 667 allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte x [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 647 allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] reg byte x [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 687 allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] reg byte x [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $3 ] reg byte x [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $3 ] reg byte x [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] reg byte x [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $3 ] reg byte x [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 667 allocation: zp byte:2 [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 43 allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 467 allocation: reg byte x [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] zp byte:4 [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 56 allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 647 allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 42 allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 447 allocation: reg byte x [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte a [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 58 allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] 687 allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte x [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
@ -746,51 +746,7 @@ Uplift attempt [] clobber allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $3 ] re
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte y [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $3 ] reg byte y [ $4 ] reg byte y [ $1 ]
Uplifting [] best 40 combination reg byte x [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
MISSING FRAGMENTS
zpby1=zpby2_plus_aby
zpby1=zpby2_plus_xby
zpby1=zpby2_plus_yby
aby=zpby1_plus_xby
aby=zpby1_plus_yby
xby=zpby1_plus_aby
xby=zpby1_plus_xby
xby=zpby1_plus_yby
yby=zpby1_plus_aby
yby=zpby1_plus_xby
yby=zpby1_plus_yby
zpby1=aby_plus_xby
zpby1=aby_plus_yby
xby=aby_plus_zpby1
xby=aby_plus_aby
xby=aby_plus_xby
xby=aby_plus_yby
yby=aby_plus_zpby1
yby=aby_plus_aby
yby=aby_plus_xby
yby=aby_plus_yby
zpby1=xby_plus_zpby2
zpby1=xby_plus_aby
zpby1=xby_plus_xby
zpby1=xby_plus_yby
aby=xby_plus_zpby1
aby=xby_plus_aby
aby=xby_plus_yby
yby=xby_plus_zpby1
yby=xby_plus_aby
yby=xby_plus_xby
yby=xby_plus_yby
zpby1=yby_plus_aby
zpby1=yby_plus_xby
zpby1=yby_plus_yby
aby=yby_plus_zpby1
aby=yby_plus_aby
aby=yby_plus_xby
aby=yby_plus_yby
xby=yby_plus_zpby1
xby=yby_plus_aby
xby=yby_plus_xby
xby=yby_plus_yby
Uplifting [] best 407 combination reg byte x [ i#2 i#1 ] reg byte a [ $3 ] reg byte a [ $4 ] zp byte:3 [ $1 ]
Re-allocated ZP register from zp byte:3 to zp byte:2
Removing instruction jmp B1
Removing instruction jmp BEND

File diff suppressed because it is too large Load Diff

View File

@ -432,23 +432,23 @@ B3_from_B2:
REGISTER UPLIFT SCOPES
Uplift Scope [] 49.5: zp byte:3 [ s#2 s#4 s#1 ] 27.5: zp byte:2 [ i#2 i#1 ]
Uplift attempt [] 44 allocation: zp byte:3 [ s#2 s#4 s#1 ] zp byte:2 [ i#2 i#1 ]
Uplift attempt [] 565 allocation: zp byte:3 [ s#2 s#4 s#1 ] zp byte:2 [ i#2 i#1 ]
Uplift attempt [] clobber allocation: reg byte a [ s#2 s#4 s#1 ] zp byte:2 [ i#2 i#1 ]
Uplift attempt [] 40 allocation: reg byte x [ s#2 s#4 s#1 ] zp byte:2 [ i#2 i#1 ]
Uplift attempt [] 40 allocation: reg byte y [ s#2 s#4 s#1 ] zp byte:2 [ i#2 i#1 ]
Uplift attempt [] 515 allocation: reg byte x [ s#2 s#4 s#1 ] zp byte:2 [ i#2 i#1 ]
Uplift attempt [] 515 allocation: reg byte y [ s#2 s#4 s#1 ] zp byte:2 [ i#2 i#1 ]
Uplift attempt [] clobber allocation: zp byte:3 [ s#2 s#4 s#1 ] reg byte a [ i#2 i#1 ]
Uplift attempt [] clobber allocation: reg byte a [ s#2 s#4 s#1 ] reg byte a [ i#2 i#1 ]
Uplift attempt [] clobber allocation: reg byte x [ s#2 s#4 s#1 ] reg byte a [ i#2 i#1 ]
Uplift attempt [] clobber allocation: reg byte y [ s#2 s#4 s#1 ] reg byte a [ i#2 i#1 ]
Uplift attempt [] 38 allocation: zp byte:3 [ s#2 s#4 s#1 ] reg byte x [ i#2 i#1 ]
Uplift attempt [] 35 allocation: reg byte a [ s#2 s#4 s#1 ] reg byte x [ i#2 i#1 ]
Uplift attempt [] 455 allocation: zp byte:3 [ s#2 s#4 s#1 ] reg byte x [ i#2 i#1 ]
Uplift attempt [] 405 allocation: reg byte a [ s#2 s#4 s#1 ] reg byte x [ i#2 i#1 ]
Uplift attempt [] clobber allocation: reg byte x [ s#2 s#4 s#1 ] reg byte x [ i#2 i#1 ]
Uplift attempt [] 37 allocation: reg byte y [ s#2 s#4 s#1 ] reg byte x [ i#2 i#1 ]
Uplift attempt [] 38 allocation: zp byte:3 [ s#2 s#4 s#1 ] reg byte y [ i#2 i#1 ]
Uplift attempt [] 35 allocation: reg byte a [ s#2 s#4 s#1 ] reg byte y [ i#2 i#1 ]
Uplift attempt [] 37 allocation: reg byte x [ s#2 s#4 s#1 ] reg byte y [ i#2 i#1 ]
Uplift attempt [] 445 allocation: reg byte y [ s#2 s#4 s#1 ] reg byte x [ i#2 i#1 ]
Uplift attempt [] 455 allocation: zp byte:3 [ s#2 s#4 s#1 ] reg byte y [ i#2 i#1 ]
Uplift attempt [] 405 allocation: reg byte a [ s#2 s#4 s#1 ] reg byte y [ i#2 i#1 ]
Uplift attempt [] 445 allocation: reg byte x [ s#2 s#4 s#1 ] reg byte y [ i#2 i#1 ]
Uplift attempt [] clobber allocation: reg byte y [ s#2 s#4 s#1 ] reg byte y [ i#2 i#1 ]
Uplifting [] best 35 combination reg byte a [ s#2 s#4 s#1 ] reg byte x [ i#2 i#1 ]
Uplifting [] best 405 combination reg byte a [ s#2 s#4 s#1 ] reg byte x [ i#2 i#1 ]
Removing instruction jmp B1
Removing instruction jmp B3
Removing instruction jmp BEND

View File

@ -3,24 +3,24 @@ BBEGIN:
BEND:
main:
main__B1_from_main:
ldx #100
ldy #100
main__B1_from_B3:
main__B1:
jsr nest
main__B3:
dex
cpx #0
dey
cpy #0
bne main__B1_from_B3
main__Breturn:
rts
nest:
nest__B1_from_nest:
ldy #100
ldx #100
nest__B1_from_B1:
nest__B1:
sty 1024
dey
cpy #0
stx 1024
dex
cpx #0
bne nest__B1_from_B1
nest__Breturn:
rts

View File

@ -794,22 +794,22 @@ nest__Breturn:
rts
REGISTER UPLIFT SCOPES
Uplift Scope [main] 19.64: zp byte:2 [ main::i#2 main::i#1 ]
Uplift Scope [nest] 303: zp byte:3 [ nest::j#2 nest::j#1 ]
Uplift Scope [main] 19.64: zp byte:2 [ main::i#2 main::i#1 ]
Uplift Scope []
Uplift attempt [main] 57 allocation: zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] 54 allocation: reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] 54 allocation: reg byte y [ main::i#2 main::i#1 ]
Uplifting [main] best 54 combination reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [nest] 54 allocation: zp byte:3 [ nest::j#2 nest::j#1 ]
Uplift attempt [nest] 51 allocation: reg byte a [ nest::j#2 nest::j#1 ]
Uplift attempt [nest] clobber allocation: reg byte x [ nest::j#2 nest::j#1 ]
Uplift attempt [nest] 49 allocation: reg byte y [ nest::j#2 nest::j#1 ]
Uplifting [nest] best 49 combination reg byte y [ nest::j#2 nest::j#1 ]
Uplift attempt [] 49 allocation:
Uplifting [] best 49 combination
Uplift attempt [nest] 3506 allocation: zp byte:3 [ nest::j#2 nest::j#1 ]
Uplift attempt [nest] 2706 allocation: reg byte a [ nest::j#2 nest::j#1 ]
Uplift attempt [nest] 2506 allocation: reg byte x [ nest::j#2 nest::j#1 ]
Uplift attempt [nest] 2506 allocation: reg byte y [ nest::j#2 nest::j#1 ]
Uplifting [nest] best 2506 combination reg byte x [ nest::j#2 nest::j#1 ]
Uplift attempt [main] 2506 allocation: zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] 2456 allocation: reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] 2436 allocation: reg byte y [ main::i#2 main::i#1 ]
Uplifting [main] best 2436 combination reg byte y [ main::i#2 main::i#1 ]
Uplift attempt [] 2436 allocation:
Uplifting [] best 2436 combination
Removing instruction jmp BEND
Removing instruction jmp main__B1
Removing instruction jmp main__B3
@ -828,8 +828,8 @@ BEND:
main:
//SEG4 [1] phi from main to main::@1
main__B1_from_main:
//SEG5 [1] phi (byte) main::i#2 = (byte) 100 -- xby=coby1
ldx #100
//SEG5 [1] phi (byte) main::i#2 = (byte) 100 -- yby=coby1
ldy #100
jmp main__B1
//SEG6 [1] phi from main::@3 to main::@1
main__B1_from_B3:
@ -840,10 +840,10 @@ main__B1:
jsr nest
//SEG10 main::@3
main__B3:
//SEG11 [3] (byte) main::i#1 ← -- (byte) main::i#2 [ main::i#1 ] -- xby=_dec_xby
dex
//SEG12 [4] if((byte) main::i#1>(byte) 0) goto main::@1 [ main::i#1 ] -- xby_gt_0_then_la1
cpx #0
//SEG11 [3] (byte) main::i#1 ← -- (byte) main::i#2 [ main::i#1 ] -- yby=_dec_yby
dey
//SEG12 [4] if((byte) main::i#1>(byte) 0) goto main::@1 [ main::i#1 ] -- yby_gt_0_then_la1
cpy #0
bne main__B1_from_B3
//SEG13 main::@return
main__Breturn:
@ -853,20 +853,20 @@ main__Breturn:
nest:
//SEG16 [6] phi from nest to nest::@1
nest__B1_from_nest:
//SEG17 [6] phi (byte) nest::j#2 = (byte) 100 -- yby=coby1
ldy #100
//SEG17 [6] phi (byte) nest::j#2 = (byte) 100 -- xby=coby1
ldx #100
jmp nest__B1
//SEG18 [6] phi from nest::@1 to nest::@1
nest__B1_from_B1:
//SEG19 [6] phi (byte) nest::j#2 = (byte) nest::j#1 -- register_copy
//SEG20 nest::@1
nest__B1:
//SEG21 [7] *((word) 1024) ← (byte) nest::j#2 [ main::i#2 nest::j#2 ] -- _star_cowo1=yby
sty 1024
//SEG22 [8] (byte) nest::j#1 ← -- (byte) nest::j#2 [ main::i#2 nest::j#1 ] -- yby=_dec_yby
dey
//SEG23 [9] if((byte) nest::j#1>(byte) 0) goto nest::@1 [ main::i#2 nest::j#1 ] -- yby_gt_0_then_la1
cpy #0
//SEG21 [7] *((word) 1024) ← (byte) nest::j#2 [ main::i#2 nest::j#2 ] -- _star_cowo1=xby
stx 1024
//SEG22 [8] (byte) nest::j#1 ← -- (byte) nest::j#2 [ main::i#2 nest::j#1 ] -- xby=_dec_xby
dex
//SEG23 [9] if((byte) nest::j#1>(byte) 0) goto nest::@1 [ main::i#2 nest::j#1 ] -- xby_gt_0_then_la1
cpx #0
bne nest__B1_from_B1
//SEG24 nest::@return
nest__Breturn:
@ -887,8 +887,8 @@ BEND:
main:
//SEG4 [1] phi from main to main::@1
main__B1_from_main:
//SEG5 [1] phi (byte) main::i#2 = (byte) 100 -- xby=coby1
ldx #100
//SEG5 [1] phi (byte) main::i#2 = (byte) 100 -- yby=coby1
ldy #100
//SEG6 [1] phi from main::@3 to main::@1
main__B1_from_B3:
//SEG7 [1] phi (byte) main::i#2 = (byte) main::i#1 -- register_copy
@ -898,10 +898,10 @@ main__B1:
jsr nest
//SEG10 main::@3
main__B3:
//SEG11 [3] (byte) main::i#1 ← -- (byte) main::i#2 [ main::i#1 ] -- xby=_dec_xby
dex
//SEG12 [4] if((byte) main::i#1>(byte) 0) goto main::@1 [ main::i#1 ] -- xby_gt_0_then_la1
cpx #0
//SEG11 [3] (byte) main::i#1 ← -- (byte) main::i#2 [ main::i#1 ] -- yby=_dec_yby
dey
//SEG12 [4] if((byte) main::i#1>(byte) 0) goto main::@1 [ main::i#1 ] -- yby_gt_0_then_la1
cpy #0
bne main__B1_from_B3
//SEG13 main::@return
main__Breturn:
@ -911,19 +911,19 @@ main__Breturn:
nest:
//SEG16 [6] phi from nest to nest::@1
nest__B1_from_nest:
//SEG17 [6] phi (byte) nest::j#2 = (byte) 100 -- yby=coby1
ldy #100
//SEG17 [6] phi (byte) nest::j#2 = (byte) 100 -- xby=coby1
ldx #100
//SEG18 [6] phi from nest::@1 to nest::@1
nest__B1_from_B1:
//SEG19 [6] phi (byte) nest::j#2 = (byte) nest::j#1 -- register_copy
//SEG20 nest::@1
nest__B1:
//SEG21 [7] *((word) 1024) ← (byte) nest::j#2 [ main::i#2 nest::j#2 ] -- _star_cowo1=yby
sty 1024
//SEG22 [8] (byte) nest::j#1 ← -- (byte) nest::j#2 [ main::i#2 nest::j#1 ] -- yby=_dec_yby
dey
//SEG23 [9] if((byte) nest::j#1>(byte) 0) goto nest::@1 [ main::i#2 nest::j#1 ] -- yby_gt_0_then_la1
cpy #0
//SEG21 [7] *((word) 1024) ← (byte) nest::j#2 [ main::i#2 nest::j#2 ] -- _star_cowo1=xby
stx 1024
//SEG22 [8] (byte) nest::j#1 ← -- (byte) nest::j#2 [ main::i#2 nest::j#1 ] -- xby=_dec_xby
dex
//SEG23 [9] if((byte) nest::j#1>(byte) 0) goto nest::@1 [ main::i#2 nest::j#1 ] -- xby_gt_0_then_la1
cpx #0
bne nest__B1_from_B1
//SEG24 nest::@return
nest__Breturn:
@ -939,17 +939,17 @@ FINAL SYMBOL TABLE
(label) main::@3
(label) main::@return
(byte) main::i
(byte) main::i#1 reg byte x 16.5
(byte) main::i#2 reg byte x 3.142857142857143
(byte) main::i#1 reg byte y 16.5
(byte) main::i#2 reg byte y 3.142857142857143
(void()) nest()
(label) nest::@1
(label) nest::@return
(byte) nest::j
(byte) nest::j#1 reg byte y 151.5
(byte) nest::j#2 reg byte y 151.5
(byte) nest::j#1 reg byte x 151.5
(byte) nest::j#2 reg byte x 151.5
reg byte x [ main::i#2 main::i#1 ]
reg byte y [ nest::j#2 nest::j#1 ]
reg byte y [ main::i#2 main::i#1 ]
reg byte x [ nest::j#2 nest::j#1 ]
FINAL CODE
//SEG0 @BEGIN
@ -962,8 +962,8 @@ BEND:
main:
//SEG4 [1] phi from main to main::@1
main__B1_from_main:
//SEG5 [1] phi (byte) main::i#2 = (byte) 100 -- xby=coby1
ldx #100
//SEG5 [1] phi (byte) main::i#2 = (byte) 100 -- yby=coby1
ldy #100
//SEG6 [1] phi from main::@3 to main::@1
main__B1_from_B3:
//SEG7 [1] phi (byte) main::i#2 = (byte) main::i#1 -- register_copy
@ -973,10 +973,10 @@ main__B1:
jsr nest
//SEG10 main::@3
main__B3:
//SEG11 [3] (byte) main::i#1 ← -- (byte) main::i#2 [ main::i#1 ] -- xby=_dec_xby
dex
//SEG12 [4] if((byte) main::i#1>(byte) 0) goto main::@1 [ main::i#1 ] -- xby_gt_0_then_la1
cpx #0
//SEG11 [3] (byte) main::i#1 ← -- (byte) main::i#2 [ main::i#1 ] -- yby=_dec_yby
dey
//SEG12 [4] if((byte) main::i#1>(byte) 0) goto main::@1 [ main::i#1 ] -- yby_gt_0_then_la1
cpy #0
bne main__B1_from_B3
//SEG13 main::@return
main__Breturn:
@ -986,19 +986,19 @@ main__Breturn:
nest:
//SEG16 [6] phi from nest to nest::@1
nest__B1_from_nest:
//SEG17 [6] phi (byte) nest::j#2 = (byte) 100 -- yby=coby1
ldy #100
//SEG17 [6] phi (byte) nest::j#2 = (byte) 100 -- xby=coby1
ldx #100
//SEG18 [6] phi from nest::@1 to nest::@1
nest__B1_from_B1:
//SEG19 [6] phi (byte) nest::j#2 = (byte) nest::j#1 -- register_copy
//SEG20 nest::@1
nest__B1:
//SEG21 [7] *((word) 1024) ← (byte) nest::j#2 [ main::i#2 nest::j#2 ] -- _star_cowo1=yby
sty 1024
//SEG22 [8] (byte) nest::j#1 ← -- (byte) nest::j#2 [ main::i#2 nest::j#1 ] -- yby=_dec_yby
dey
//SEG23 [9] if((byte) nest::j#1>(byte) 0) goto nest::@1 [ main::i#2 nest::j#1 ] -- yby_gt_0_then_la1
cpy #0
//SEG21 [7] *((word) 1024) ← (byte) nest::j#2 [ main::i#2 nest::j#2 ] -- _star_cowo1=xby
stx 1024
//SEG22 [8] (byte) nest::j#1 ← -- (byte) nest::j#2 [ main::i#2 nest::j#1 ] -- xby=_dec_xby
dex
//SEG23 [9] if((byte) nest::j#1>(byte) 0) goto nest::@1 [ main::i#2 nest::j#1 ] -- xby_gt_0_then_la1
cpx #0
bne nest__B1_from_B1
//SEG24 nest::@return
nest__Breturn:

View File

@ -6,14 +6,14 @@
(label) main::@3
(label) main::@return
(byte) main::i
(byte) main::i#1 reg byte x 16.5
(byte) main::i#2 reg byte x 3.142857142857143
(byte) main::i#1 reg byte y 16.5
(byte) main::i#2 reg byte y 3.142857142857143
(void()) nest()
(label) nest::@1
(label) nest::@return
(byte) nest::j
(byte) nest::j#1 reg byte y 151.5
(byte) nest::j#2 reg byte y 151.5
(byte) nest::j#1 reg byte x 151.5
(byte) nest::j#2 reg byte x 151.5
reg byte x [ main::i#2 main::i#1 ]
reg byte y [ nest::j#2 nest::j#1 ]
reg byte y [ main::i#2 main::i#1 ]
reg byte x [ nest::j#2 nest::j#1 ]

View File

@ -3,64 +3,64 @@ BBEGIN:
BEND:
main:
main__B1_from_main:
ldx #100
lda #100
sta 2
main__B1_from_B3:
main__B1:
main__B2_from_B1:
ldy #100
lda #100
sta 3
main__B2_from_B5:
main__B2:
jsr nest1
main__B5:
dey
cpy #0
dec 3
lda 3
bne main__B2_from_B5
main__B3:
dex
cpx #0
dec 2
lda 2
bne main__B1_from_B3
main__Breturn:
rts
nest1:
nest1__B1_from_nest1:
lda #100
sta 2
sta 4
nest1__B1_from_B3:
nest1__B1:
nest1__B2_from_B1:
lda #100
sta 3
nest1__B2_from_B5:
nest1__B2:
jsr nest2
nest1__B5:
dec 3
lda 3
sec
sbc #1
cmp #0
bne nest1__B2_from_B5
nest1__B3:
dec 2
lda 2
dec 4
lda 4
bne nest1__B1_from_B3
nest1__Breturn:
rts
nest2:
nest2__B1_from_nest2:
lda #100
sta 4
ldx #100
nest2__B1_from_B3:
nest2__B1:
nest2__B2_from_B1:
lda #100
ldy #100
nest2__B2_from_B2:
nest2__B2:
sta 1024
sec
sbc #1
cmp #0
sty 1024
dey
cpy #0
bne nest2__B2_from_B2
nest2__B3:
dec 4
lda 4
dex
cpx #0
bne nest2__B1_from_B3
nest2__Breturn:
rts

View File

@ -1990,30 +1990,30 @@ nest2__Breturn:
rts
REGISTER UPLIFT SCOPES
Uplift Scope [main] 162.72: zp byte:3 [ main::j#2 main::j#1 ] 17.55: zp byte:2 [ main::i#2 main::i#1 ]
Uplift Scope [nest1] 17,001.7: zp byte:5 [ nest1::j#2 nest1::j#1 ] 1,655.5: zp byte:4 [ nest1::i#2 nest1::i#1 ]
Uplift Scope [nest2] 3,000,003: zp byte:7 [ nest2::j#2 nest2::j#1 ] 190,001.9: zp byte:6 [ nest2::i#2 nest2::i#1 ]
Uplift Scope [nest1] 17,001.7: zp byte:5 [ nest1::j#2 nest1::j#1 ] 1,655.5: zp byte:4 [ nest1::i#2 nest1::i#1 ]
Uplift Scope [main] 162.72: zp byte:3 [ main::j#2 main::j#1 ] 17.55: zp byte:2 [ main::i#2 main::i#1 ]
Uplift Scope []
Uplift attempt [main] 140 allocation: zp byte:3 [ main::j#2 main::j#1 ] zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte a [ main::j#2 main::j#1 ] zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] 137 allocation: reg byte x [ main::j#2 main::j#1 ] zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] 137 allocation: reg byte y [ main::j#2 main::j#1 ] zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: zp byte:3 [ main::j#2 main::j#1 ] reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte a [ main::j#2 main::j#1 ] reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte x [ main::j#2 main::j#1 ] reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte y [ main::j#2 main::j#1 ] reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] 137 allocation: zp byte:3 [ main::j#2 main::j#1 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte a [ main::j#2 main::j#1 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte x [ main::j#2 main::j#1 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] 134 allocation: reg byte y [ main::j#2 main::j#1 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] 137 allocation: zp byte:3 [ main::j#2 main::j#1 ] reg byte y [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte a [ main::j#2 main::j#1 ] reg byte y [ main::i#2 main::i#1 ]
Uplift attempt [main] 134 allocation: reg byte x [ main::j#2 main::j#1 ] reg byte y [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte y [ main::j#2 main::j#1 ] reg byte y [ main::i#2 main::i#1 ]
Uplifting [main] best 134 combination reg byte y [ main::j#2 main::j#1 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [nest1] 134 allocation: zp byte:5 [ nest1::j#2 nest1::j#1 ] zp byte:4 [ nest1::i#2 nest1::i#1 ]
Uplift attempt [nest1] clobber allocation: reg byte a [ nest1::j#2 nest1::j#1 ] zp byte:4 [ nest1::i#2 nest1::i#1 ]
Uplift attempt [nest2] 34313122 allocation: zp byte:7 [ nest2::j#2 nest2::j#1 ] zp byte:6 [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] 26313122 allocation: reg byte a [ nest2::j#2 nest2::j#1 ] zp byte:6 [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] 24313122 allocation: reg byte x [ nest2::j#2 nest2::j#1 ] zp byte:6 [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] 24313122 allocation: reg byte y [ nest2::j#2 nest2::j#1 ] zp byte:6 [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: zp byte:7 [ nest2::j#2 nest2::j#1 ] reg byte a [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: reg byte a [ nest2::j#2 nest2::j#1 ] reg byte a [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] 23813122 allocation: reg byte x [ nest2::j#2 nest2::j#1 ] reg byte a [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] 23813122 allocation: reg byte y [ nest2::j#2 nest2::j#1 ] reg byte a [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] 33613122 allocation: zp byte:7 [ nest2::j#2 nest2::j#1 ] reg byte x [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] 25613122 allocation: reg byte a [ nest2::j#2 nest2::j#1 ] reg byte x [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: reg byte x [ nest2::j#2 nest2::j#1 ] reg byte x [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] 23613122 allocation: reg byte y [ nest2::j#2 nest2::j#1 ] reg byte x [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] 33613122 allocation: zp byte:7 [ nest2::j#2 nest2::j#1 ] reg byte y [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] 25613122 allocation: reg byte a [ nest2::j#2 nest2::j#1 ] reg byte y [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] 23613122 allocation: reg byte x [ nest2::j#2 nest2::j#1 ] reg byte y [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: reg byte y [ nest2::j#2 nest2::j#1 ] reg byte y [ nest2::i#2 nest2::i#1 ]
Uplifting [nest2] best 23613122 combination reg byte y [ nest2::j#2 nest2::j#1 ] reg byte x [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest1] 23613122 allocation: zp byte:5 [ nest1::j#2 nest1::j#1 ] zp byte:4 [ nest1::i#2 nest1::i#1 ]
Uplift attempt [nest1] 23563122 allocation: reg byte a [ nest1::j#2 nest1::j#1 ] zp byte:4 [ nest1::i#2 nest1::i#1 ]
Uplift attempt [nest1] clobber allocation: reg byte x [ nest1::j#2 nest1::j#1 ] zp byte:4 [ nest1::i#2 nest1::i#1 ]
Uplift attempt [nest1] clobber allocation: reg byte y [ nest1::j#2 nest1::j#1 ] zp byte:4 [ nest1::i#2 nest1::i#1 ]
Uplift attempt [nest1] clobber allocation: zp byte:5 [ nest1::j#2 nest1::j#1 ] reg byte a [ nest1::i#2 nest1::i#1 ]
@ -2028,29 +2028,26 @@ Uplift attempt [nest1] clobber allocation: zp byte:5 [ nest1::j#2 nest1::j#1 ] r
Uplift attempt [nest1] clobber allocation: reg byte a [ nest1::j#2 nest1::j#1 ] reg byte y [ nest1::i#2 nest1::i#1 ]
Uplift attempt [nest1] clobber allocation: reg byte x [ nest1::j#2 nest1::j#1 ] reg byte y [ nest1::i#2 nest1::i#1 ]
Uplift attempt [nest1] clobber allocation: reg byte y [ nest1::j#2 nest1::j#1 ] reg byte y [ nest1::i#2 nest1::i#1 ]
Uplifting [nest1] best 134 combination zp byte:5 [ nest1::j#2 nest1::j#1 ] zp byte:4 [ nest1::i#2 nest1::i#1 ]
Uplift attempt [nest2] 134 allocation: zp byte:7 [ nest2::j#2 nest2::j#1 ] zp byte:6 [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] 131 allocation: reg byte a [ nest2::j#2 nest2::j#1 ] zp byte:6 [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: reg byte x [ nest2::j#2 nest2::j#1 ] zp byte:6 [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: reg byte y [ nest2::j#2 nest2::j#1 ] zp byte:6 [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: zp byte:7 [ nest2::j#2 nest2::j#1 ] reg byte a [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: reg byte a [ nest2::j#2 nest2::j#1 ] reg byte a [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: reg byte x [ nest2::j#2 nest2::j#1 ] reg byte a [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: reg byte y [ nest2::j#2 nest2::j#1 ] reg byte a [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: zp byte:7 [ nest2::j#2 nest2::j#1 ] reg byte x [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: reg byte a [ nest2::j#2 nest2::j#1 ] reg byte x [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: reg byte x [ nest2::j#2 nest2::j#1 ] reg byte x [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: reg byte y [ nest2::j#2 nest2::j#1 ] reg byte x [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: zp byte:7 [ nest2::j#2 nest2::j#1 ] reg byte y [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: reg byte a [ nest2::j#2 nest2::j#1 ] reg byte y [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: reg byte x [ nest2::j#2 nest2::j#1 ] reg byte y [ nest2::i#2 nest2::i#1 ]
Uplift attempt [nest2] clobber allocation: reg byte y [ nest2::j#2 nest2::j#1 ] reg byte y [ nest2::i#2 nest2::i#1 ]
Uplifting [nest2] best 131 combination reg byte a [ nest2::j#2 nest2::j#1 ] zp byte:6 [ nest2::i#2 nest2::i#1 ]
Uplift attempt [] 131 allocation:
Uplifting [] best 131 combination
Re-allocated ZP register from zp byte:4 to zp byte:2
Re-allocated ZP register from zp byte:5 to zp byte:3
Re-allocated ZP register from zp byte:6 to zp byte:4
Uplifting [nest1] best 23563122 combination reg byte a [ nest1::j#2 nest1::j#1 ] zp byte:4 [ nest1::i#2 nest1::i#1 ]
Uplift attempt [main] 23563122 allocation: zp byte:3 [ main::j#2 main::j#1 ] zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte a [ main::j#2 main::j#1 ] zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte x [ main::j#2 main::j#1 ] zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte y [ main::j#2 main::j#1 ] zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: zp byte:3 [ main::j#2 main::j#1 ] reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte a [ main::j#2 main::j#1 ] reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte x [ main::j#2 main::j#1 ] reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte y [ main::j#2 main::j#1 ] reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: zp byte:3 [ main::j#2 main::j#1 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte a [ main::j#2 main::j#1 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte x [ main::j#2 main::j#1 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte y [ main::j#2 main::j#1 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: zp byte:3 [ main::j#2 main::j#1 ] reg byte y [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte a [ main::j#2 main::j#1 ] reg byte y [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte x [ main::j#2 main::j#1 ] reg byte y [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte y [ main::j#2 main::j#1 ] reg byte y [ main::i#2 main::i#1 ]
Uplifting [main] best 23563122 combination zp byte:3 [ main::j#2 main::j#1 ] zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [] 23563122 allocation:
Uplifting [] best 23563122 combination
Removing instruction jmp BEND
Removing instruction jmp main__B1
Removing instruction jmp main__B2
@ -2078,8 +2075,9 @@ BEND:
main:
//SEG4 [1] phi from main to main::@1
main__B1_from_main:
//SEG5 [1] phi (byte) main::i#2 = (byte) 100 -- xby=coby1
ldx #100
//SEG5 [1] phi (byte) main::i#2 = (byte) 100 -- zpby1=coby1
lda #100
sta 2
jmp main__B1
//SEG6 [1] phi from main::@3 to main::@1
main__B1_from_B3:
@ -2088,8 +2086,9 @@ main__B1_from_B3:
main__B1:
//SEG9 [2] phi from main::@1 to main::@2
main__B2_from_B1:
//SEG10 [2] phi (byte) main::j#2 = (byte) 100 -- yby=coby1
ldy #100
//SEG10 [2] phi (byte) main::j#2 = (byte) 100 -- zpby1=coby1
lda #100
sta 3
jmp main__B2
//SEG11 [2] phi from main::@5 to main::@2
main__B2_from_B5:
@ -2100,17 +2099,17 @@ main__B2:
jsr nest1
//SEG15 main::@5
main__B5:
//SEG16 [4] (byte) main::j#1 ← -- (byte) main::j#2 [ main::j#1 main::i#2 ] -- yby=_dec_yby
dey
//SEG17 [5] if((byte) main::j#1>(byte) 0) goto main::@2 [ main::j#1 main::i#2 ] -- yby_gt_0_then_la1
cpy #0
//SEG16 [4] (byte) main::j#1 ← -- (byte) main::j#2 [ main::j#1 main::i#2 ] -- zpby1=_dec_zpby1
dec 3
//SEG17 [5] if((byte) main::j#1>(byte) 0) goto main::@2 [ main::j#1 main::i#2 ] -- zpby1_gt_0_then_la1
lda 3
bne main__B2_from_B5
//SEG18 main::@3
main__B3:
//SEG19 [6] (byte) main::i#1 ← -- (byte) main::i#2 [ main::i#1 ] -- xby=_dec_xby
dex
//SEG20 [7] if((byte) main::i#1>(byte) 0) goto main::@1 [ main::i#1 ] -- xby_gt_0_then_la1
cpx #0
//SEG19 [6] (byte) main::i#1 ← -- (byte) main::i#2 [ main::i#1 ] -- zpby1=_dec_zpby1
dec 2
//SEG20 [7] if((byte) main::i#1>(byte) 0) goto main::@1 [ main::i#1 ] -- zpby1_gt_0_then_la1
lda 2
bne main__B1_from_B3
//SEG21 main::@return
main__Breturn:
@ -2122,7 +2121,7 @@ nest1:
nest1__B1_from_nest1:
//SEG25 [9] phi (byte) nest1::i#2 = (byte) 100 -- zpby1=coby1
lda #100
sta 2
sta 4
jmp nest1__B1
//SEG26 [9] phi from nest1::@3 to nest1::@1
nest1__B1_from_B3:
@ -2131,9 +2130,8 @@ nest1__B1_from_B3:
nest1__B1:
//SEG29 [10] phi from nest1::@1 to nest1::@2
nest1__B2_from_B1:
//SEG30 [10] phi (byte) nest1::j#2 = (byte) 100 -- zpby1=coby1
//SEG30 [10] phi (byte) nest1::j#2 = (byte) 100 -- aby=coby1
lda #100
sta 3
jmp nest1__B2
//SEG31 [10] phi from nest1::@5 to nest1::@2
nest1__B2_from_B5:
@ -2144,17 +2142,18 @@ nest1__B2:
jsr nest2
//SEG35 nest1::@5
nest1__B5:
//SEG36 [12] (byte) nest1::j#1 ← -- (byte) nest1::j#2 [ main::j#2 main::i#2 nest1::j#1 nest1::i#2 ] -- zpby1=_dec_zpby1
dec 3
//SEG37 [13] if((byte) nest1::j#1>(byte) 0) goto nest1::@2 [ main::j#2 main::i#2 nest1::j#1 nest1::i#2 ] -- zpby1_gt_0_then_la1
lda 3
//SEG36 [12] (byte) nest1::j#1 ← -- (byte) nest1::j#2 [ main::j#2 main::i#2 nest1::j#1 nest1::i#2 ] -- aby=_dec_aby
sec
sbc #1
//SEG37 [13] if((byte) nest1::j#1>(byte) 0) goto nest1::@2 [ main::j#2 main::i#2 nest1::j#1 nest1::i#2 ] -- aby_gt_0_then_la1
cmp #0
bne nest1__B2_from_B5
//SEG38 nest1::@3
nest1__B3:
//SEG39 [14] (byte) nest1::i#1 ← -- (byte) nest1::i#2 [ main::j#2 main::i#2 nest1::i#1 ] -- zpby1=_dec_zpby1
dec 2
dec 4
//SEG40 [15] if((byte) nest1::i#1>(byte) 0) goto nest1::@1 [ main::j#2 main::i#2 nest1::i#1 ] -- zpby1_gt_0_then_la1
lda 2
lda 4
bne nest1__B1_from_B3
//SEG41 nest1::@return
nest1__Breturn:
@ -2164,9 +2163,8 @@ nest1__Breturn:
nest2:
//SEG44 [17] phi from nest2 to nest2::@1
nest2__B1_from_nest2:
//SEG45 [17] phi (byte) nest2::i#2 = (byte) 100 -- zpby1=coby1
lda #100
sta 4
//SEG45 [17] phi (byte) nest2::i#2 = (byte) 100 -- xby=coby1
ldx #100
jmp nest2__B1
//SEG46 [17] phi from nest2::@3 to nest2::@1
nest2__B1_from_B3:
@ -2175,28 +2173,27 @@ nest2__B1_from_B3:
nest2__B1:
//SEG49 [18] phi from nest2::@1 to nest2::@2
nest2__B2_from_B1:
//SEG50 [18] phi (byte) nest2::j#2 = (byte) 100 -- aby=coby1
lda #100
//SEG50 [18] phi (byte) nest2::j#2 = (byte) 100 -- yby=coby1
ldy #100
jmp nest2__B2
//SEG51 [18] phi from nest2::@2 to nest2::@2
nest2__B2_from_B2:
//SEG52 [18] phi (byte) nest2::j#2 = (byte) nest2::j#1 -- register_copy
//SEG53 nest2::@2
nest2__B2:
//SEG54 [19] *((word) 1024) ← (byte) nest2::j#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#2 nest2::i#2 ] -- _star_cowo1=aby
sta 1024
//SEG55 [20] (byte) nest2::j#1 ← -- (byte) nest2::j#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#1 nest2::i#2 ] -- aby=_dec_aby
sec
sbc #1
//SEG56 [21] if((byte) nest2::j#1>(byte) 0) goto nest2::@2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#1 nest2::i#2 ] -- aby_gt_0_then_la1
cmp #0
//SEG54 [19] *((word) 1024) ← (byte) nest2::j#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#2 nest2::i#2 ] -- _star_cowo1=yby
sty 1024
//SEG55 [20] (byte) nest2::j#1 ← -- (byte) nest2::j#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#1 nest2::i#2 ] -- yby=_dec_yby
dey
//SEG56 [21] if((byte) nest2::j#1>(byte) 0) goto nest2::@2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#1 nest2::i#2 ] -- yby_gt_0_then_la1
cpy #0
bne nest2__B2_from_B2
//SEG57 nest2::@3
nest2__B3:
//SEG58 [22] (byte) nest2::i#1 ← -- (byte) nest2::i#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::i#1 ] -- zpby1=_dec_zpby1
dec 4
//SEG59 [23] if((byte) nest2::i#1>(byte) 0) goto nest2::@1 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::i#1 ] -- zpby1_gt_0_then_la1
lda 4
//SEG58 [22] (byte) nest2::i#1 ← -- (byte) nest2::i#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::i#1 ] -- xby=_dec_xby
dex
//SEG59 [23] if((byte) nest2::i#1>(byte) 0) goto nest2::@1 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::i#1 ] -- xby_gt_0_then_la1
cpx #0
bne nest2__B1_from_B3
//SEG60 nest2::@return
nest2__Breturn:
@ -2221,8 +2218,9 @@ BEND:
main:
//SEG4 [1] phi from main to main::@1
main__B1_from_main:
//SEG5 [1] phi (byte) main::i#2 = (byte) 100 -- xby=coby1
ldx #100
//SEG5 [1] phi (byte) main::i#2 = (byte) 100 -- zpby1=coby1
lda #100
sta 2
//SEG6 [1] phi from main::@3 to main::@1
main__B1_from_B3:
//SEG7 [1] phi (byte) main::i#2 = (byte) main::i#1 -- register_copy
@ -2230,8 +2228,9 @@ main__B1_from_B3:
main__B1:
//SEG9 [2] phi from main::@1 to main::@2
main__B2_from_B1:
//SEG10 [2] phi (byte) main::j#2 = (byte) 100 -- yby=coby1
ldy #100
//SEG10 [2] phi (byte) main::j#2 = (byte) 100 -- zpby1=coby1
lda #100
sta 3
//SEG11 [2] phi from main::@5 to main::@2
main__B2_from_B5:
//SEG12 [2] phi (byte) main::j#2 = (byte) main::j#1 -- register_copy
@ -2241,17 +2240,17 @@ main__B2:
jsr nest1
//SEG15 main::@5
main__B5:
//SEG16 [4] (byte) main::j#1 ← -- (byte) main::j#2 [ main::j#1 main::i#2 ] -- yby=_dec_yby
dey
//SEG17 [5] if((byte) main::j#1>(byte) 0) goto main::@2 [ main::j#1 main::i#2 ] -- yby_gt_0_then_la1
cpy #0
//SEG16 [4] (byte) main::j#1 ← -- (byte) main::j#2 [ main::j#1 main::i#2 ] -- zpby1=_dec_zpby1
dec 3
//SEG17 [5] if((byte) main::j#1>(byte) 0) goto main::@2 [ main::j#1 main::i#2 ] -- zpby1_gt_0_then_la1
lda 3
bne main__B2_from_B5
//SEG18 main::@3
main__B3:
//SEG19 [6] (byte) main::i#1 ← -- (byte) main::i#2 [ main::i#1 ] -- xby=_dec_xby
dex
//SEG20 [7] if((byte) main::i#1>(byte) 0) goto main::@1 [ main::i#1 ] -- xby_gt_0_then_la1
cpx #0
//SEG19 [6] (byte) main::i#1 ← -- (byte) main::i#2 [ main::i#1 ] -- zpby1=_dec_zpby1
dec 2
//SEG20 [7] if((byte) main::i#1>(byte) 0) goto main::@1 [ main::i#1 ] -- zpby1_gt_0_then_la1
lda 2
bne main__B1_from_B3
//SEG21 main::@return
main__Breturn:
@ -2263,7 +2262,7 @@ nest1:
nest1__B1_from_nest1:
//SEG25 [9] phi (byte) nest1::i#2 = (byte) 100 -- zpby1=coby1
lda #100
sta 2
sta 4
//SEG26 [9] phi from nest1::@3 to nest1::@1
nest1__B1_from_B3:
//SEG27 [9] phi (byte) nest1::i#2 = (byte) nest1::i#1 -- register_copy
@ -2271,9 +2270,8 @@ nest1__B1_from_B3:
nest1__B1:
//SEG29 [10] phi from nest1::@1 to nest1::@2
nest1__B2_from_B1:
//SEG30 [10] phi (byte) nest1::j#2 = (byte) 100 -- zpby1=coby1
//SEG30 [10] phi (byte) nest1::j#2 = (byte) 100 -- aby=coby1
lda #100
sta 3
//SEG31 [10] phi from nest1::@5 to nest1::@2
nest1__B2_from_B5:
//SEG32 [10] phi (byte) nest1::j#2 = (byte) nest1::j#1 -- register_copy
@ -2283,17 +2281,18 @@ nest1__B2:
jsr nest2
//SEG35 nest1::@5
nest1__B5:
//SEG36 [12] (byte) nest1::j#1 ← -- (byte) nest1::j#2 [ main::j#2 main::i#2 nest1::j#1 nest1::i#2 ] -- zpby1=_dec_zpby1
dec 3
//SEG37 [13] if((byte) nest1::j#1>(byte) 0) goto nest1::@2 [ main::j#2 main::i#2 nest1::j#1 nest1::i#2 ] -- zpby1_gt_0_then_la1
lda 3
//SEG36 [12] (byte) nest1::j#1 ← -- (byte) nest1::j#2 [ main::j#2 main::i#2 nest1::j#1 nest1::i#2 ] -- aby=_dec_aby
sec
sbc #1
//SEG37 [13] if((byte) nest1::j#1>(byte) 0) goto nest1::@2 [ main::j#2 main::i#2 nest1::j#1 nest1::i#2 ] -- aby_gt_0_then_la1
cmp #0
bne nest1__B2_from_B5
//SEG38 nest1::@3
nest1__B3:
//SEG39 [14] (byte) nest1::i#1 ← -- (byte) nest1::i#2 [ main::j#2 main::i#2 nest1::i#1 ] -- zpby1=_dec_zpby1
dec 2
dec 4
//SEG40 [15] if((byte) nest1::i#1>(byte) 0) goto nest1::@1 [ main::j#2 main::i#2 nest1::i#1 ] -- zpby1_gt_0_then_la1
lda 2
lda 4
bne nest1__B1_from_B3
//SEG41 nest1::@return
nest1__Breturn:
@ -2303,9 +2302,8 @@ nest1__Breturn:
nest2:
//SEG44 [17] phi from nest2 to nest2::@1
nest2__B1_from_nest2:
//SEG45 [17] phi (byte) nest2::i#2 = (byte) 100 -- zpby1=coby1
lda #100
sta 4
//SEG45 [17] phi (byte) nest2::i#2 = (byte) 100 -- xby=coby1
ldx #100
//SEG46 [17] phi from nest2::@3 to nest2::@1
nest2__B1_from_B3:
//SEG47 [17] phi (byte) nest2::i#2 = (byte) nest2::i#1 -- register_copy
@ -2313,27 +2311,26 @@ nest2__B1_from_B3:
nest2__B1:
//SEG49 [18] phi from nest2::@1 to nest2::@2
nest2__B2_from_B1:
//SEG50 [18] phi (byte) nest2::j#2 = (byte) 100 -- aby=coby1
lda #100
//SEG50 [18] phi (byte) nest2::j#2 = (byte) 100 -- yby=coby1
ldy #100
//SEG51 [18] phi from nest2::@2 to nest2::@2
nest2__B2_from_B2:
//SEG52 [18] phi (byte) nest2::j#2 = (byte) nest2::j#1 -- register_copy
//SEG53 nest2::@2
nest2__B2:
//SEG54 [19] *((word) 1024) ← (byte) nest2::j#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#2 nest2::i#2 ] -- _star_cowo1=aby
sta 1024
//SEG55 [20] (byte) nest2::j#1 ← -- (byte) nest2::j#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#1 nest2::i#2 ] -- aby=_dec_aby
sec
sbc #1
//SEG56 [21] if((byte) nest2::j#1>(byte) 0) goto nest2::@2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#1 nest2::i#2 ] -- aby_gt_0_then_la1
cmp #0
//SEG54 [19] *((word) 1024) ← (byte) nest2::j#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#2 nest2::i#2 ] -- _star_cowo1=yby
sty 1024
//SEG55 [20] (byte) nest2::j#1 ← -- (byte) nest2::j#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#1 nest2::i#2 ] -- yby=_dec_yby
dey
//SEG56 [21] if((byte) nest2::j#1>(byte) 0) goto nest2::@2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#1 nest2::i#2 ] -- yby_gt_0_then_la1
cpy #0
bne nest2__B2_from_B2
//SEG57 nest2::@3
nest2__B3:
//SEG58 [22] (byte) nest2::i#1 ← -- (byte) nest2::i#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::i#1 ] -- zpby1=_dec_zpby1
dec 4
//SEG59 [23] if((byte) nest2::i#1>(byte) 0) goto nest2::@1 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::i#1 ] -- zpby1_gt_0_then_la1
lda 4
//SEG58 [22] (byte) nest2::i#1 ← -- (byte) nest2::i#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::i#1 ] -- xby=_dec_xby
dex
//SEG59 [23] if((byte) nest2::i#1>(byte) 0) goto nest2::@1 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::i#1 ] -- xby_gt_0_then_la1
cpx #0
bne nest2__B1_from_B3
//SEG60 nest2::@return
nest2__Breturn:
@ -2351,11 +2348,11 @@ FINAL SYMBOL TABLE
(label) main::@5
(label) main::@return
(byte) main::i
(byte) main::i#1 reg byte x 16.5
(byte) main::i#2 reg byte x 1.0476190476190477
(byte) main::i#1 zp byte:2 16.5
(byte) main::i#2 zp byte:2 1.0476190476190477
(byte) main::j
(byte) main::j#1 reg byte y 151.5
(byte) main::j#2 reg byte y 11.222222222222221
(byte) main::j#1 zp byte:3 151.5
(byte) main::j#2 zp byte:3 11.222222222222221
(void()) nest1()
(label) nest1::@1
(label) nest1::@2
@ -2363,29 +2360,29 @@ FINAL SYMBOL TABLE
(label) nest1::@5
(label) nest1::@return
(byte) nest1::i
(byte) nest1::i#1 zp byte:2 1501.5
(byte) nest1::i#2 zp byte:2 154.0
(byte) nest1::i#1 zp byte:4 1501.5
(byte) nest1::i#2 zp byte:4 154.0
(byte) nest1::j
(byte) nest1::j#1 zp byte:3 15001.5
(byte) nest1::j#2 zp byte:3 2000.2
(byte) nest1::j#1 reg byte a 15001.5
(byte) nest1::j#2 reg byte a 2000.2
(void()) nest2()
(label) nest2::@1
(label) nest2::@2
(label) nest2::@3
(label) nest2::@return
(byte) nest2::i
(byte) nest2::i#1 zp byte:4 150001.5
(byte) nest2::i#2 zp byte:4 40000.4
(byte) nest2::i#1 reg byte x 150001.5
(byte) nest2::i#2 reg byte x 40000.4
(byte) nest2::j
(byte) nest2::j#1 reg byte a 1500001.5
(byte) nest2::j#2 reg byte a 1500001.5
(byte) nest2::j#1 reg byte y 1500001.5
(byte) nest2::j#2 reg byte y 1500001.5
reg byte x [ main::i#2 main::i#1 ]
reg byte y [ main::j#2 main::j#1 ]
zp byte:2 [ nest1::i#2 nest1::i#1 ]
zp byte:3 [ nest1::j#2 nest1::j#1 ]
zp byte:4 [ nest2::i#2 nest2::i#1 ]
reg byte a [ nest2::j#2 nest2::j#1 ]
zp byte:2 [ main::i#2 main::i#1 ]
zp byte:3 [ main::j#2 main::j#1 ]
zp byte:4 [ nest1::i#2 nest1::i#1 ]
reg byte a [ nest1::j#2 nest1::j#1 ]
reg byte x [ nest2::i#2 nest2::i#1 ]
reg byte y [ nest2::j#2 nest2::j#1 ]
FINAL CODE
//SEG0 @BEGIN
@ -2398,8 +2395,9 @@ BEND:
main:
//SEG4 [1] phi from main to main::@1
main__B1_from_main:
//SEG5 [1] phi (byte) main::i#2 = (byte) 100 -- xby=coby1
ldx #100
//SEG5 [1] phi (byte) main::i#2 = (byte) 100 -- zpby1=coby1
lda #100
sta 2
//SEG6 [1] phi from main::@3 to main::@1
main__B1_from_B3:
//SEG7 [1] phi (byte) main::i#2 = (byte) main::i#1 -- register_copy
@ -2407,8 +2405,9 @@ main__B1_from_B3:
main__B1:
//SEG9 [2] phi from main::@1 to main::@2
main__B2_from_B1:
//SEG10 [2] phi (byte) main::j#2 = (byte) 100 -- yby=coby1
ldy #100
//SEG10 [2] phi (byte) main::j#2 = (byte) 100 -- zpby1=coby1
lda #100
sta 3
//SEG11 [2] phi from main::@5 to main::@2
main__B2_from_B5:
//SEG12 [2] phi (byte) main::j#2 = (byte) main::j#1 -- register_copy
@ -2418,17 +2417,17 @@ main__B2:
jsr nest1
//SEG15 main::@5
main__B5:
//SEG16 [4] (byte) main::j#1 ← -- (byte) main::j#2 [ main::j#1 main::i#2 ] -- yby=_dec_yby
dey
//SEG17 [5] if((byte) main::j#1>(byte) 0) goto main::@2 [ main::j#1 main::i#2 ] -- yby_gt_0_then_la1
cpy #0
//SEG16 [4] (byte) main::j#1 ← -- (byte) main::j#2 [ main::j#1 main::i#2 ] -- zpby1=_dec_zpby1
dec 3
//SEG17 [5] if((byte) main::j#1>(byte) 0) goto main::@2 [ main::j#1 main::i#2 ] -- zpby1_gt_0_then_la1
lda 3
bne main__B2_from_B5
//SEG18 main::@3
main__B3:
//SEG19 [6] (byte) main::i#1 ← -- (byte) main::i#2 [ main::i#1 ] -- xby=_dec_xby
dex
//SEG20 [7] if((byte) main::i#1>(byte) 0) goto main::@1 [ main::i#1 ] -- xby_gt_0_then_la1
cpx #0
//SEG19 [6] (byte) main::i#1 ← -- (byte) main::i#2 [ main::i#1 ] -- zpby1=_dec_zpby1
dec 2
//SEG20 [7] if((byte) main::i#1>(byte) 0) goto main::@1 [ main::i#1 ] -- zpby1_gt_0_then_la1
lda 2
bne main__B1_from_B3
//SEG21 main::@return
main__Breturn:
@ -2440,7 +2439,7 @@ nest1:
nest1__B1_from_nest1:
//SEG25 [9] phi (byte) nest1::i#2 = (byte) 100 -- zpby1=coby1
lda #100
sta 2
sta 4
//SEG26 [9] phi from nest1::@3 to nest1::@1
nest1__B1_from_B3:
//SEG27 [9] phi (byte) nest1::i#2 = (byte) nest1::i#1 -- register_copy
@ -2448,9 +2447,8 @@ nest1__B1_from_B3:
nest1__B1:
//SEG29 [10] phi from nest1::@1 to nest1::@2
nest1__B2_from_B1:
//SEG30 [10] phi (byte) nest1::j#2 = (byte) 100 -- zpby1=coby1
//SEG30 [10] phi (byte) nest1::j#2 = (byte) 100 -- aby=coby1
lda #100
sta 3
//SEG31 [10] phi from nest1::@5 to nest1::@2
nest1__B2_from_B5:
//SEG32 [10] phi (byte) nest1::j#2 = (byte) nest1::j#1 -- register_copy
@ -2460,17 +2458,18 @@ nest1__B2:
jsr nest2
//SEG35 nest1::@5
nest1__B5:
//SEG36 [12] (byte) nest1::j#1 ← -- (byte) nest1::j#2 [ main::j#2 main::i#2 nest1::j#1 nest1::i#2 ] -- zpby1=_dec_zpby1
dec 3
//SEG37 [13] if((byte) nest1::j#1>(byte) 0) goto nest1::@2 [ main::j#2 main::i#2 nest1::j#1 nest1::i#2 ] -- zpby1_gt_0_then_la1
lda 3
//SEG36 [12] (byte) nest1::j#1 ← -- (byte) nest1::j#2 [ main::j#2 main::i#2 nest1::j#1 nest1::i#2 ] -- aby=_dec_aby
sec
sbc #1
//SEG37 [13] if((byte) nest1::j#1>(byte) 0) goto nest1::@2 [ main::j#2 main::i#2 nest1::j#1 nest1::i#2 ] -- aby_gt_0_then_la1
cmp #0
bne nest1__B2_from_B5
//SEG38 nest1::@3
nest1__B3:
//SEG39 [14] (byte) nest1::i#1 ← -- (byte) nest1::i#2 [ main::j#2 main::i#2 nest1::i#1 ] -- zpby1=_dec_zpby1
dec 2
dec 4
//SEG40 [15] if((byte) nest1::i#1>(byte) 0) goto nest1::@1 [ main::j#2 main::i#2 nest1::i#1 ] -- zpby1_gt_0_then_la1
lda 2
lda 4
bne nest1__B1_from_B3
//SEG41 nest1::@return
nest1__Breturn:
@ -2480,9 +2479,8 @@ nest1__Breturn:
nest2:
//SEG44 [17] phi from nest2 to nest2::@1
nest2__B1_from_nest2:
//SEG45 [17] phi (byte) nest2::i#2 = (byte) 100 -- zpby1=coby1
lda #100
sta 4
//SEG45 [17] phi (byte) nest2::i#2 = (byte) 100 -- xby=coby1
ldx #100
//SEG46 [17] phi from nest2::@3 to nest2::@1
nest2__B1_from_B3:
//SEG47 [17] phi (byte) nest2::i#2 = (byte) nest2::i#1 -- register_copy
@ -2490,27 +2488,26 @@ nest2__B1_from_B3:
nest2__B1:
//SEG49 [18] phi from nest2::@1 to nest2::@2
nest2__B2_from_B1:
//SEG50 [18] phi (byte) nest2::j#2 = (byte) 100 -- aby=coby1
lda #100
//SEG50 [18] phi (byte) nest2::j#2 = (byte) 100 -- yby=coby1
ldy #100
//SEG51 [18] phi from nest2::@2 to nest2::@2
nest2__B2_from_B2:
//SEG52 [18] phi (byte) nest2::j#2 = (byte) nest2::j#1 -- register_copy
//SEG53 nest2::@2
nest2__B2:
//SEG54 [19] *((word) 1024) ← (byte) nest2::j#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#2 nest2::i#2 ] -- _star_cowo1=aby
sta 1024
//SEG55 [20] (byte) nest2::j#1 ← -- (byte) nest2::j#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#1 nest2::i#2 ] -- aby=_dec_aby
sec
sbc #1
//SEG56 [21] if((byte) nest2::j#1>(byte) 0) goto nest2::@2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#1 nest2::i#2 ] -- aby_gt_0_then_la1
cmp #0
//SEG54 [19] *((word) 1024) ← (byte) nest2::j#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#2 nest2::i#2 ] -- _star_cowo1=yby
sty 1024
//SEG55 [20] (byte) nest2::j#1 ← -- (byte) nest2::j#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#1 nest2::i#2 ] -- yby=_dec_yby
dey
//SEG56 [21] if((byte) nest2::j#1>(byte) 0) goto nest2::@2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::j#1 nest2::i#2 ] -- yby_gt_0_then_la1
cpy #0
bne nest2__B2_from_B2
//SEG57 nest2::@3
nest2__B3:
//SEG58 [22] (byte) nest2::i#1 ← -- (byte) nest2::i#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::i#1 ] -- zpby1=_dec_zpby1
dec 4
//SEG59 [23] if((byte) nest2::i#1>(byte) 0) goto nest2::@1 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::i#1 ] -- zpby1_gt_0_then_la1
lda 4
//SEG58 [22] (byte) nest2::i#1 ← -- (byte) nest2::i#2 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::i#1 ] -- xby=_dec_xby
dex
//SEG59 [23] if((byte) nest2::i#1>(byte) 0) goto nest2::@1 [ main::j#2 main::i#2 nest1::j#2 nest1::i#2 nest2::i#1 ] -- xby_gt_0_then_la1
cpx #0
bne nest2__B1_from_B3
//SEG60 nest2::@return
nest2__Breturn:

View File

@ -8,11 +8,11 @@
(label) main::@5
(label) main::@return
(byte) main::i
(byte) main::i#1 reg byte x 16.5
(byte) main::i#2 reg byte x 1.0476190476190477
(byte) main::i#1 zp byte:2 16.5
(byte) main::i#2 zp byte:2 1.0476190476190477
(byte) main::j
(byte) main::j#1 reg byte y 151.5
(byte) main::j#2 reg byte y 11.222222222222221
(byte) main::j#1 zp byte:3 151.5
(byte) main::j#2 zp byte:3 11.222222222222221
(void()) nest1()
(label) nest1::@1
(label) nest1::@2
@ -20,26 +20,26 @@
(label) nest1::@5
(label) nest1::@return
(byte) nest1::i
(byte) nest1::i#1 zp byte:2 1501.5
(byte) nest1::i#2 zp byte:2 154.0
(byte) nest1::i#1 zp byte:4 1501.5
(byte) nest1::i#2 zp byte:4 154.0
(byte) nest1::j
(byte) nest1::j#1 zp byte:3 15001.5
(byte) nest1::j#2 zp byte:3 2000.2
(byte) nest1::j#1 reg byte a 15001.5
(byte) nest1::j#2 reg byte a 2000.2
(void()) nest2()
(label) nest2::@1
(label) nest2::@2
(label) nest2::@3
(label) nest2::@return
(byte) nest2::i
(byte) nest2::i#1 zp byte:4 150001.5
(byte) nest2::i#2 zp byte:4 40000.4
(byte) nest2::i#1 reg byte x 150001.5
(byte) nest2::i#2 reg byte x 40000.4
(byte) nest2::j
(byte) nest2::j#1 reg byte a 1500001.5
(byte) nest2::j#2 reg byte a 1500001.5
(byte) nest2::j#1 reg byte y 1500001.5
(byte) nest2::j#2 reg byte y 1500001.5
reg byte x [ main::i#2 main::i#1 ]
reg byte y [ main::j#2 main::j#1 ]
zp byte:2 [ nest1::i#2 nest1::i#1 ]
zp byte:3 [ nest1::j#2 nest1::j#1 ]
zp byte:4 [ nest2::i#2 nest2::i#1 ]
reg byte a [ nest2::j#2 nest2::j#1 ]
zp byte:2 [ main::i#2 main::i#1 ]
zp byte:3 [ main::j#2 main::j#1 ]
zp byte:4 [ nest1::i#2 nest1::i#1 ]
reg byte a [ nest1::j#2 nest1::j#1 ]
reg byte x [ nest2::i#2 nest2::i#1 ]
reg byte y [ nest2::j#2 nest2::j#1 ]

View File

@ -595,25 +595,25 @@ REGISTER UPLIFT SCOPES
Uplift Scope [main] 55: zp byte:3 [ main::s#3 main::s#1 main::s#2 ] 44: zp byte:2 [ main::i#2 main::i#1 ]
Uplift Scope []
Uplift attempt [main] 48 allocation: zp byte:3 [ main::s#3 main::s#1 main::s#2 ] zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] 570 allocation: zp byte:3 [ main::s#3 main::s#1 main::s#2 ] zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte a [ main::s#3 main::s#1 main::s#2 ] zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] 44 allocation: reg byte x [ main::s#3 main::s#1 main::s#2 ] zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] 44 allocation: reg byte y [ main::s#3 main::s#1 main::s#2 ] zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] 45 allocation: zp byte:3 [ main::s#3 main::s#1 main::s#2 ] reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] 480 allocation: reg byte x [ main::s#3 main::s#1 main::s#2 ] zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] 480 allocation: reg byte y [ main::s#3 main::s#1 main::s#2 ] zp byte:2 [ main::i#2 main::i#1 ]
Uplift attempt [main] 490 allocation: zp byte:3 [ main::s#3 main::s#1 main::s#2 ] reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte a [ main::s#3 main::s#1 main::s#2 ] reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] 41 allocation: reg byte x [ main::s#3 main::s#1 main::s#2 ] reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] 41 allocation: reg byte y [ main::s#3 main::s#1 main::s#2 ] reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] 43 allocation: zp byte:3 [ main::s#3 main::s#1 main::s#2 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] 43 allocation: reg byte a [ main::s#3 main::s#1 main::s#2 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] 400 allocation: reg byte x [ main::s#3 main::s#1 main::s#2 ] reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] 400 allocation: reg byte y [ main::s#3 main::s#1 main::s#2 ] reg byte a [ main::i#2 main::i#1 ]
Uplift attempt [main] 470 allocation: zp byte:3 [ main::s#3 main::s#1 main::s#2 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] 420 allocation: reg byte a [ main::s#3 main::s#1 main::s#2 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte x [ main::s#3 main::s#1 main::s#2 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] 39 allocation: reg byte y [ main::s#3 main::s#1 main::s#2 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] 43 allocation: zp byte:3 [ main::s#3 main::s#1 main::s#2 ] reg byte y [ main::i#2 main::i#1 ]
Uplift attempt [main] 43 allocation: reg byte a [ main::s#3 main::s#1 main::s#2 ] reg byte y [ main::i#2 main::i#1 ]
Uplift attempt [main] 39 allocation: reg byte x [ main::s#3 main::s#1 main::s#2 ] reg byte y [ main::i#2 main::i#1 ]
Uplift attempt [main] 380 allocation: reg byte y [ main::s#3 main::s#1 main::s#2 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [main] 470 allocation: zp byte:3 [ main::s#3 main::s#1 main::s#2 ] reg byte y [ main::i#2 main::i#1 ]
Uplift attempt [main] 420 allocation: reg byte a [ main::s#3 main::s#1 main::s#2 ] reg byte y [ main::i#2 main::i#1 ]
Uplift attempt [main] 380 allocation: reg byte x [ main::s#3 main::s#1 main::s#2 ] reg byte y [ main::i#2 main::i#1 ]
Uplift attempt [main] clobber allocation: reg byte y [ main::s#3 main::s#1 main::s#2 ] reg byte y [ main::i#2 main::i#1 ]
Uplifting [main] best 39 combination reg byte y [ main::s#3 main::s#1 main::s#2 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [] 39 allocation:
Uplifting [] best 39 combination
Uplifting [main] best 380 combination reg byte y [ main::s#3 main::s#1 main::s#2 ] reg byte x [ main::i#2 main::i#1 ]
Uplift attempt [] 380 allocation:
Uplifting [] best 380 combination
Removing instruction jmp BEND
Removing instruction jmp main__B1
Removing instruction jmp main__Breturn

View File

@ -343,23 +343,23 @@ BEND:
REGISTER UPLIFT SCOPES
Uplift Scope [] 31.17: zp byte:2 [ i#2 i#1 ] 22: zp byte:3 [ $1 ]
Uplift attempt [] 35 allocation: zp byte:2 [ i#2 i#1 ] zp byte:3 [ $1 ]
Uplift attempt [] 475 allocation: zp byte:2 [ i#2 i#1 ] zp byte:3 [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] zp byte:3 [ $1 ]
Uplift attempt [] 27 allocation: reg byte x [ i#2 i#1 ] zp byte:3 [ $1 ]
Uplift attempt [] 28 allocation: reg byte y [ i#2 i#1 ] zp byte:3 [ $1 ]
Uplift attempt [] 31 allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $1 ]
Uplift attempt [] 345 allocation: reg byte x [ i#2 i#1 ] zp byte:3 [ $1 ]
Uplift attempt [] 345 allocation: reg byte y [ i#2 i#1 ] zp byte:3 [ $1 ]
Uplift attempt [] 415 allocation: zp byte:2 [ i#2 i#1 ] reg byte a [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte a [ $1 ]
Uplift attempt [] 23 allocation: reg byte x [ i#2 i#1 ] reg byte a [ $1 ]
Uplift attempt [] 24 allocation: reg byte y [ i#2 i#1 ] reg byte a [ $1 ]
Uplift attempt [] 33 allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $1 ]
Uplift attempt [] 285 allocation: reg byte x [ i#2 i#1 ] reg byte a [ $1 ]
Uplift attempt [] 285 allocation: reg byte y [ i#2 i#1 ] reg byte a [ $1 ]
Uplift attempt [] 455 allocation: zp byte:2 [ i#2 i#1 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte x [ $1 ]
Uplift attempt [] clobber allocation: reg byte x [ i#2 i#1 ] reg byte x [ $1 ]
Uplift attempt [] 26 allocation: reg byte y [ i#2 i#1 ] reg byte x [ $1 ]
Uplift attempt [] 34 allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $1 ]
Uplift attempt [] 325 allocation: reg byte y [ i#2 i#1 ] reg byte x [ $1 ]
Uplift attempt [] 455 allocation: zp byte:2 [ i#2 i#1 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte a [ i#2 i#1 ] reg byte y [ $1 ]
Uplift attempt [] 25 allocation: reg byte x [ i#2 i#1 ] reg byte y [ $1 ]
Uplift attempt [] 325 allocation: reg byte x [ i#2 i#1 ] reg byte y [ $1 ]
Uplift attempt [] clobber allocation: reg byte y [ i#2 i#1 ] reg byte y [ $1 ]
Uplifting [] best 23 combination reg byte x [ i#2 i#1 ] reg byte a [ $1 ]
Uplifting [] best 285 combination reg byte x [ i#2 i#1 ] reg byte a [ $1 ]
Removing instruction jmp B1
Removing instruction jmp BEND
Succesful ASM optimization Pass5NextJumpElimination

View File

@ -2067,84 +2067,77 @@ lvalue__B1_from_B2:
jmp lvalue__B1
REGISTER UPLIFT SCOPES
Uplift Scope [main]
Uplift Scope [lvalue] 36.67: zp byte:9 [ lvalue::i#2 lvalue::i#1 ]
Uplift Scope [rvalue] ∞: zp byte:11 [ rvalue::b#0 ] ∞: zp byte:12 [ rvalue::b#1 ] ∞: zp byte:13 [ rvalue::b#2 ] 36.67: zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift Scope [lvaluevar] 30.25: zp byte:2 [ lvaluevar::i#2 lvaluevar::i#1 ] 22: zp ptr byte:3 [ lvaluevar::screen#2 lvaluevar::screen#1 ]
Uplift Scope [rvaluevar] ∞: zp byte:10 [ rvaluevar::b#0 ] 30.25: zp byte:5 [ rvaluevar::i#2 rvaluevar::i#1 ] 22: zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift Scope [lvaluevar] 30.25: zp byte:2 [ lvaluevar::i#2 lvaluevar::i#1 ] 22: zp ptr byte:3 [ lvaluevar::screen#2 lvaluevar::screen#1 ]
Uplift Scope [lvalue] 36.67: zp byte:9 [ lvalue::i#2 lvalue::i#1 ]
Uplift Scope [main]
Uplift Scope []
Uplift attempt [main] 197 allocation:
Uplifting [main] best 197 combination
Uplift attempt [lvalue] 197 allocation: zp byte:9 [ lvalue::i#2 lvalue::i#1 ]
Uplift attempt [lvalue] clobber allocation: reg byte a [ lvalue::i#2 lvalue::i#1 ]
Uplift attempt [lvalue] 190 allocation: reg byte x [ lvalue::i#2 lvalue::i#1 ]
Uplift attempt [lvalue] 191 allocation: reg byte y [ lvalue::i#2 lvalue::i#1 ]
Uplifting [lvalue] best 190 combination reg byte x [ lvalue::i#2 lvalue::i#1 ]
Uplift attempt [rvalue] 190 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 188 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 188 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 188 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 188 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 188 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 188 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 188 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 184 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 184 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 184 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 184 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 184 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 184 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 184 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 184 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 184 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 189 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 187 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 187 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 187 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 187 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 185 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 185 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 185 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 187 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 185 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 185 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 185 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 187 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 185 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 185 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 185 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 190 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 188 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 188 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 188 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 188 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 188 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 188 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 186 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2061 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2058 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2058 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2058 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2058 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2055 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2055 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2055 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2058 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2055 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2055 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2055 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2058 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2055 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2055 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2055 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2031 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2028 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2028 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2028 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2028 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2025 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2025 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2025 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2028 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2025 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2025 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2025 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2028 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2025 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2025 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2025 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2051 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2048 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2048 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2048 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2048 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2048 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2048 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2051 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2048 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2048 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2048 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2048 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2048 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2048 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 2045 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] zp byte:8 [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] clobber allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte a [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] clobber allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte a [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] clobber allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte a [ rvalue::i#2 rvalue::i#1 ]
@ -2209,38 +2202,38 @@ Uplift attempt [rvalue] clobber allocation: zp byte:11 [ rvalue::b#0 ] reg byte
Uplift attempt [rvalue] clobber allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte a [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] clobber allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte a [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] clobber allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte a [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 183 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 181 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 181 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 181 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 181 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 181 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 181 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 181 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1941 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1938 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1938 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1938 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1938 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1938 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1938 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1911 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] clobber allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] clobber allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] clobber allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
@ -2257,70 +2250,70 @@ Uplift attempt [rvalue] clobber allocation: zp byte:11 [ rvalue::b#0 ] reg byte
Uplift attempt [rvalue] clobber allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] clobber allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] clobber allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 181 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 179 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 177 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 184 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 182 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 182 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 182 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 182 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 182 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 182 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 182 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 182 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 180 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 178 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1911 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1941 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1938 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1938 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1938 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1938 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1938 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1938 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1935 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] zp byte:13 [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1911 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1911 allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: reg byte y [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: zp byte:11 [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte x [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte y [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: zp byte:11 [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte a [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte x [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte y [ rvalue::b#0 ] reg byte x [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1908 allocation: zp byte:11 [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] 1905 allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte x [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] clobber allocation: zp byte:11 [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] clobber allocation: reg byte a [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] clobber allocation: reg byte x [ rvalue::b#0 ] zp byte:12 [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
@ -2337,31 +2330,38 @@ Uplift attempt [rvalue] clobber allocation: zp byte:11 [ rvalue::b#0 ] reg byte
Uplift attempt [rvalue] clobber allocation: reg byte a [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] clobber allocation: reg byte x [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvalue] clobber allocation: reg byte y [ rvalue::b#0 ] reg byte y [ rvalue::b#1 ] reg byte y [ rvalue::b#2 ] reg byte y [ rvalue::i#2 rvalue::i#1 ]
Uplifting [rvalue] best 177 combination reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [lvaluevar] 177 allocation: zp byte:2 [ lvaluevar::i#2 lvaluevar::i#1 ] zp ptr byte:3 [ lvaluevar::screen#2 lvaluevar::screen#1 ]
Uplift attempt [lvaluevar] clobber allocation: reg byte a [ lvaluevar::i#2 lvaluevar::i#1 ] zp ptr byte:3 [ lvaluevar::screen#2 lvaluevar::screen#1 ]
Uplift attempt [lvaluevar] 172 allocation: reg byte x [ lvaluevar::i#2 lvaluevar::i#1 ] zp ptr byte:3 [ lvaluevar::screen#2 lvaluevar::screen#1 ]
Uplift attempt [lvaluevar] clobber allocation: reg byte y [ lvaluevar::i#2 lvaluevar::i#1 ] zp ptr byte:3 [ lvaluevar::screen#2 lvaluevar::screen#1 ]
Uplifting [lvaluevar] best 172 combination reg byte x [ lvaluevar::i#2 lvaluevar::i#1 ] zp ptr byte:3 [ lvaluevar::screen#2 lvaluevar::screen#1 ]
Uplift attempt [rvaluevar] 172 allocation: zp byte:10 [ rvaluevar::b#0 ] zp byte:5 [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] 170 allocation: reg byte a [ rvaluevar::b#0 ] zp byte:5 [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] 171 allocation: reg byte x [ rvaluevar::b#0 ] zp byte:5 [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] 171 allocation: reg byte y [ rvaluevar::b#0 ] zp byte:5 [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplifting [rvalue] best 1905 combination reg byte a [ rvalue::b#0 ] reg byte a [ rvalue::b#1 ] reg byte a [ rvalue::b#2 ] reg byte x [ rvalue::i#2 rvalue::i#1 ]
Uplift attempt [rvaluevar] 1905 allocation: zp byte:10 [ rvaluevar::b#0 ] zp byte:5 [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] 1875 allocation: reg byte a [ rvaluevar::b#0 ] zp byte:5 [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] 1895 allocation: reg byte x [ rvaluevar::b#0 ] zp byte:5 [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] 1895 allocation: reg byte y [ rvaluevar::b#0 ] zp byte:5 [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] clobber allocation: zp byte:10 [ rvaluevar::b#0 ] reg byte a [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] clobber allocation: reg byte a [ rvaluevar::b#0 ] reg byte a [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] clobber allocation: reg byte x [ rvaluevar::b#0 ] reg byte a [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] clobber allocation: reg byte y [ rvaluevar::b#0 ] reg byte a [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] 167 allocation: zp byte:10 [ rvaluevar::b#0 ] reg byte x [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] 165 allocation: reg byte a [ rvaluevar::b#0 ] reg byte x [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] 1815 allocation: zp byte:10 [ rvaluevar::b#0 ] reg byte x [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] 1785 allocation: reg byte a [ rvaluevar::b#0 ] reg byte x [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] clobber allocation: reg byte x [ rvaluevar::b#0 ] reg byte x [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] 166 allocation: reg byte y [ rvaluevar::b#0 ] reg byte x [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] 1805 allocation: reg byte y [ rvaluevar::b#0 ] reg byte x [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] clobber allocation: zp byte:10 [ rvaluevar::b#0 ] reg byte y [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] clobber allocation: reg byte a [ rvaluevar::b#0 ] reg byte y [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] clobber allocation: reg byte x [ rvaluevar::b#0 ] reg byte y [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [rvaluevar] clobber allocation: reg byte y [ rvaluevar::b#0 ] reg byte y [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplifting [rvaluevar] best 165 combination reg byte a [ rvaluevar::b#0 ] reg byte x [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [] 165 allocation:
Uplifting [] best 165 combination
Uplifting [rvaluevar] best 1785 combination reg byte a [ rvaluevar::b#0 ] reg byte x [ rvaluevar::i#2 rvaluevar::i#1 ] zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
Uplift attempt [lvaluevar] 1785 allocation: zp byte:2 [ lvaluevar::i#2 lvaluevar::i#1 ] zp ptr byte:3 [ lvaluevar::screen#2 lvaluevar::screen#1 ]
Uplift attempt [lvaluevar] clobber allocation: reg byte a [ lvaluevar::i#2 lvaluevar::i#1 ] zp ptr byte:3 [ lvaluevar::screen#2 lvaluevar::screen#1 ]
Uplift attempt [lvaluevar] 1695 allocation: reg byte x [ lvaluevar::i#2 lvaluevar::i#1 ] zp ptr byte:3 [ lvaluevar::screen#2 lvaluevar::screen#1 ]
Uplift attempt [lvaluevar] clobber allocation: reg byte y [ lvaluevar::i#2 lvaluevar::i#1 ] zp ptr byte:3 [ lvaluevar::screen#2 lvaluevar::screen#1 ]
Uplifting [lvaluevar] best 1695 combination reg byte x [ lvaluevar::i#2 lvaluevar::i#1 ] zp ptr byte:3 [ lvaluevar::screen#2 lvaluevar::screen#1 ]
Uplift attempt [lvalue] 1695 allocation: zp byte:9 [ lvalue::i#2 lvalue::i#1 ]
Uplift attempt [lvalue] clobber allocation: reg byte a [ lvalue::i#2 lvalue::i#1 ]
Uplift attempt [lvalue] 1575 allocation: reg byte x [ lvalue::i#2 lvalue::i#1 ]
Uplift attempt [lvalue] 1575 allocation: reg byte y [ lvalue::i#2 lvalue::i#1 ]
Uplifting [lvalue] best 1575 combination reg byte x [ lvalue::i#2 lvalue::i#1 ]
Uplift attempt [main] 1575 allocation:
Uplifting [main] best 1575 combination
Uplift attempt [] 1575 allocation:
Uplifting [] best 1575 combination
Coalescing zero page register [ zp ptr byte:3 [ lvaluevar::screen#2 lvaluevar::screen#1 ] ] with [ zp ptr byte:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ] ]
Re-allocated ZP register from zp ptr byte:3 to zp ptr byte:2
Removing instruction jmp BEND

View File

@ -443,185 +443,139 @@ sum__Breturn:
rts
REGISTER UPLIFT SCOPES
Uplift Scope [sum] 2: zp byte:2 [ sum::a#2 ] 2: zp byte:3 [ sum::b#2 ] 1.2: zp byte:7 [ sum::return#0 ]
Uplift Scope [] ∞: zp byte:6 [ s3#0 ] 4: zp byte:5 [ s2#0 ] 0.57: zp byte:4 [ s1#0 ]
Uplift Scope [sum] 2: zp byte:2 [ sum::a#2 ] 2: zp byte:3 [ sum::b#2 ] 1.2: zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 57 allocation: zp byte:2 [ sum::a#2 ] zp byte:3 [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 51 allocation: reg byte a [ sum::a#2 ] zp byte:3 [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] missing fragment zpby1=xby_plus_zpby2
Uplift attempt [sum] 52 allocation: reg byte y [ sum::a#2 ] zp byte:3 [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] missing fragment zpby1=zpby2_plus_aby
Uplift attempt [sum] 45 allocation: reg byte a [ sum::a#2 ] reg byte a [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] missing fragment zpby1=xby_plus_aby
Uplift attempt [sum] missing fragment zpby1=yby_plus_aby
Uplift attempt [sum] missing fragment zpby1=zpby2_plus_xby
Uplift attempt [sum] missing fragment zpby1=aby_plus_xby
Uplift attempt [sum] missing fragment zpby1=xby_plus_xby
Uplift attempt [sum] missing fragment zpby1=yby_plus_xby
Uplift attempt [sum] missing fragment zpby1=zpby2_plus_yby
Uplift attempt [sum] missing fragment zpby1=aby_plus_yby
Uplift attempt [sum] missing fragment zpby1=xby_plus_yby
Uplift attempt [sum] missing fragment zpby1=yby_plus_yby
Uplift attempt [sum] 51 allocation: zp byte:2 [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 45 allocation: reg byte a [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] missing fragment aby=xby_plus_zpby1
Uplift attempt [sum] missing fragment aby=yby_plus_zpby1
Uplift attempt [sum] 45 allocation: zp byte:2 [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 39 allocation: reg byte a [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] missing fragment aby=xby_plus_aby
Uplift attempt [sum] missing fragment aby=yby_plus_aby
Uplift attempt [sum] missing fragment aby=zpby1_plus_xby
Uplift attempt [sum] 43 allocation: reg byte a [ sum::a#2 ] reg byte x [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 40 allocation: reg byte x [ sum::a#2 ] reg byte x [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] missing fragment aby=yby_plus_xby
Uplift attempt [sum] missing fragment aby=zpby1_plus_yby
Uplift attempt [sum] 43 allocation: reg byte a [ sum::a#2 ] reg byte y [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] missing fragment aby=xby_plus_yby
Uplift attempt [sum] missing fragment aby=yby_plus_yby
Uplift attempt [sum] 52 allocation: zp byte:2 [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] missing fragment xby=aby_plus_zpby1
Uplift attempt [sum] 47 allocation: reg byte x [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] missing fragment xby=yby_plus_zpby1
Uplift attempt [sum] missing fragment xby=zpby1_plus_aby
Uplift attempt [sum] missing fragment xby=aby_plus_aby
Uplift attempt [sum] 44 allocation: reg byte x [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] missing fragment xby=yby_plus_aby
Uplift attempt [sum] missing fragment xby=zpby1_plus_xby
Uplift attempt [sum] missing fragment xby=aby_plus_xby
Uplift attempt [sum] 41 allocation: reg byte x [ sum::a#2 ] reg byte x [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] missing fragment xby=yby_plus_xby
Uplift attempt [sum] missing fragment xby=zpby1_plus_yby
Uplift attempt [sum] missing fragment xby=aby_plus_yby
Uplift attempt [sum] 45 allocation: reg byte x [ sum::a#2 ] reg byte y [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] missing fragment xby=yby_plus_yby
Uplift attempt [sum] 52 allocation: zp byte:2 [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] missing fragment yby=aby_plus_zpby1
Uplift attempt [sum] missing fragment yby=xby_plus_zpby1
Uplift attempt [sum] 47 allocation: reg byte y [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] missing fragment yby=zpby1_plus_aby
Uplift attempt [sum] missing fragment yby=aby_plus_aby
Uplift attempt [sum] missing fragment yby=xby_plus_aby
Uplift attempt [sum] 44 allocation: reg byte y [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] missing fragment yby=zpby1_plus_xby
Uplift attempt [sum] missing fragment yby=aby_plus_xby
Uplift attempt [sum] missing fragment yby=xby_plus_xby
Uplift attempt [sum] 45 allocation: reg byte y [ sum::a#2 ] reg byte x [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] missing fragment yby=zpby1_plus_yby
Uplift attempt [sum] missing fragment yby=aby_plus_yby
Uplift attempt [sum] missing fragment yby=xby_plus_yby
Uplift attempt [sum] 41 allocation: reg byte y [ sum::a#2 ] reg byte y [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplifting [sum] best 39 combination reg byte a [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [] 39 allocation: zp byte:6 [ s3#0 ] zp byte:5 [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 37 allocation: reg byte a [ s3#0 ] zp byte:5 [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 38 allocation: reg byte x [ s3#0 ] zp byte:5 [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 38 allocation: reg byte y [ s3#0 ] zp byte:5 [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] missing fragment zpby1=zpby2_plus_aby
Uplift attempt [] 33 allocation: reg byte a [ s3#0 ] reg byte a [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] missing fragment xby=zpby1_plus_aby
Uplift attempt [] missing fragment yby=zpby1_plus_aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] 84 allocation: zp byte:6 [ s3#0 ] zp byte:5 [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 81 allocation: reg byte a [ s3#0 ] zp byte:5 [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 83 allocation: reg byte x [ s3#0 ] zp byte:5 [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 83 allocation: reg byte y [ s3#0 ] zp byte:5 [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 78 allocation: zp byte:6 [ s3#0 ] reg byte a [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 75 allocation: reg byte a [ s3#0 ] reg byte a [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 77 allocation: reg byte x [ s3#0 ] reg byte a [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 77 allocation: reg byte y [ s3#0 ] reg byte a [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 80 allocation: zp byte:6 [ s3#0 ] reg byte x [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 77 allocation: reg byte a [ s3#0 ] reg byte x [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 79 allocation: reg byte x [ s3#0 ] reg byte x [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 79 allocation: reg byte y [ s3#0 ] reg byte x [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 80 allocation: zp byte:6 [ s3#0 ] reg byte y [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 77 allocation: reg byte a [ s3#0 ] reg byte y [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 79 allocation: reg byte x [ s3#0 ] reg byte y [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] 79 allocation: reg byte y [ s3#0 ] reg byte y [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [] clobber allocation: zp byte:6 [ s3#0 ] zp byte:5 [ s2#0 ] reg byte a [ s1#0 ]
Uplift attempt [] clobber allocation: reg byte a [ s3#0 ] zp byte:5 [ s2#0 ] reg byte a [ s1#0 ]
Uplift attempt [] missing fragment xby=aby_plus_zpby1
Uplift attempt [] missing fragment yby=aby_plus_zpby1
Uplift attempt [] clobber allocation: reg byte x [ s3#0 ] zp byte:5 [ s2#0 ] reg byte a [ s1#0 ]
Uplift attempt [] clobber allocation: reg byte y [ s3#0 ] zp byte:5 [ s2#0 ] reg byte a [ s1#0 ]
Uplift attempt [] clobber allocation: zp byte:6 [ s3#0 ] reg byte a [ s2#0 ] reg byte a [ s1#0 ]
Uplift attempt [] clobber allocation: reg byte a [ s3#0 ] reg byte a [ s2#0 ] reg byte a [ s1#0 ]
Uplift attempt [] missing fragment xby=aby_plus_aby
Uplift attempt [] missing fragment yby=aby_plus_aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment xby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplift attempt [] missing fragment yby=aby
Uplifting [] best 33 combination reg byte a [ s3#0 ] reg byte a [ s2#0 ] zp byte:4 [ s1#0 ]
MISSING FRAGMENTS
zpby1=xby_plus_zpby2
zpby1=zpby2_plus_aby
zpby1=xby_plus_aby
zpby1=yby_plus_aby
zpby1=zpby2_plus_xby
zpby1=aby_plus_xby
zpby1=xby_plus_xby
zpby1=yby_plus_xby
zpby1=zpby2_plus_yby
zpby1=aby_plus_yby
zpby1=xby_plus_yby
zpby1=yby_plus_yby
aby=xby_plus_zpby1
aby=yby_plus_zpby1
aby=xby_plus_aby
aby=yby_plus_aby
aby=zpby1_plus_xby
aby=yby_plus_xby
aby=zpby1_plus_yby
aby=xby_plus_yby
aby=yby_plus_yby
xby=aby_plus_zpby1
xby=yby_plus_zpby1
xby=zpby1_plus_aby
xby=aby_plus_aby
xby=yby_plus_aby
xby=zpby1_plus_xby
xby=aby_plus_xby
xby=yby_plus_xby
xby=zpby1_plus_yby
xby=aby_plus_yby
xby=yby_plus_yby
yby=aby_plus_zpby1
yby=xby_plus_zpby1
yby=zpby1_plus_aby
yby=aby_plus_aby
yby=xby_plus_aby
yby=zpby1_plus_xby
yby=aby_plus_xby
yby=xby_plus_xby
yby=zpby1_plus_yby
yby=aby_plus_yby
yby=xby_plus_yby
xby=aby
yby=aby
Uplift attempt [] clobber allocation: reg byte x [ s3#0 ] reg byte a [ s2#0 ] reg byte a [ s1#0 ]
Uplift attempt [] clobber allocation: reg byte y [ s3#0 ] reg byte a [ s2#0 ] reg byte a [ s1#0 ]
Uplift attempt [] clobber allocation: zp byte:6 [ s3#0 ] reg byte x [ s2#0 ] reg byte a [ s1#0 ]
Uplift attempt [] clobber allocation: reg byte a [ s3#0 ] reg byte x [ s2#0 ] reg byte a [ s1#0 ]
Uplift attempt [] clobber allocation: reg byte x [ s3#0 ] reg byte x [ s2#0 ] reg byte a [ s1#0 ]
Uplift attempt [] clobber allocation: reg byte y [ s3#0 ] reg byte x [ s2#0 ] reg byte a [ s1#0 ]
Uplift attempt [] clobber allocation: zp byte:6 [ s3#0 ] reg byte y [ s2#0 ] reg byte a [ s1#0 ]
Uplift attempt [] clobber allocation: reg byte a [ s3#0 ] reg byte y [ s2#0 ] reg byte a [ s1#0 ]
Uplift attempt [] clobber allocation: reg byte x [ s3#0 ] reg byte y [ s2#0 ] reg byte a [ s1#0 ]
Uplift attempt [] clobber allocation: reg byte y [ s3#0 ] reg byte y [ s2#0 ] reg byte a [ s1#0 ]
Uplift attempt [] 80 allocation: zp byte:6 [ s3#0 ] zp byte:5 [ s2#0 ] reg byte x [ s1#0 ]
Uplift attempt [] 77 allocation: reg byte a [ s3#0 ] zp byte:5 [ s2#0 ] reg byte x [ s1#0 ]
Uplift attempt [] 79 allocation: reg byte x [ s3#0 ] zp byte:5 [ s2#0 ] reg byte x [ s1#0 ]
Uplift attempt [] 79 allocation: reg byte y [ s3#0 ] zp byte:5 [ s2#0 ] reg byte x [ s1#0 ]
Uplift attempt [] 78 allocation: zp byte:6 [ s3#0 ] reg byte a [ s2#0 ] reg byte x [ s1#0 ]
Uplift attempt [] 75 allocation: reg byte a [ s3#0 ] reg byte a [ s2#0 ] reg byte x [ s1#0 ]
Uplift attempt [] 77 allocation: reg byte x [ s3#0 ] reg byte a [ s2#0 ] reg byte x [ s1#0 ]
Uplift attempt [] 77 allocation: reg byte y [ s3#0 ] reg byte a [ s2#0 ] reg byte x [ s1#0 ]
Uplift attempt [] clobber allocation: zp byte:6 [ s3#0 ] reg byte x [ s2#0 ] reg byte x [ s1#0 ]
Uplift attempt [] clobber allocation: reg byte a [ s3#0 ] reg byte x [ s2#0 ] reg byte x [ s1#0 ]
Uplift attempt [] clobber allocation: reg byte x [ s3#0 ] reg byte x [ s2#0 ] reg byte x [ s1#0 ]
Uplift attempt [] clobber allocation: reg byte y [ s3#0 ] reg byte x [ s2#0 ] reg byte x [ s1#0 ]
Uplift attempt [] 80 allocation: zp byte:6 [ s3#0 ] reg byte y [ s2#0 ] reg byte x [ s1#0 ]
Uplift attempt [] 77 allocation: reg byte a [ s3#0 ] reg byte y [ s2#0 ] reg byte x [ s1#0 ]
Uplift attempt [] 79 allocation: reg byte x [ s3#0 ] reg byte y [ s2#0 ] reg byte x [ s1#0 ]
Uplift attempt [] 79 allocation: reg byte y [ s3#0 ] reg byte y [ s2#0 ] reg byte x [ s1#0 ]
Uplift attempt [] 80 allocation: zp byte:6 [ s3#0 ] zp byte:5 [ s2#0 ] reg byte y [ s1#0 ]
Uplift attempt [] 77 allocation: reg byte a [ s3#0 ] zp byte:5 [ s2#0 ] reg byte y [ s1#0 ]
Uplift attempt [] 79 allocation: reg byte x [ s3#0 ] zp byte:5 [ s2#0 ] reg byte y [ s1#0 ]
Uplift attempt [] 79 allocation: reg byte y [ s3#0 ] zp byte:5 [ s2#0 ] reg byte y [ s1#0 ]
Uplift attempt [] 78 allocation: zp byte:6 [ s3#0 ] reg byte a [ s2#0 ] reg byte y [ s1#0 ]
Uplift attempt [] 75 allocation: reg byte a [ s3#0 ] reg byte a [ s2#0 ] reg byte y [ s1#0 ]
Uplift attempt [] 77 allocation: reg byte x [ s3#0 ] reg byte a [ s2#0 ] reg byte y [ s1#0 ]
Uplift attempt [] 77 allocation: reg byte y [ s3#0 ] reg byte a [ s2#0 ] reg byte y [ s1#0 ]
Uplift attempt [] 80 allocation: zp byte:6 [ s3#0 ] reg byte x [ s2#0 ] reg byte y [ s1#0 ]
Uplift attempt [] 77 allocation: reg byte a [ s3#0 ] reg byte x [ s2#0 ] reg byte y [ s1#0 ]
Uplift attempt [] 79 allocation: reg byte x [ s3#0 ] reg byte x [ s2#0 ] reg byte y [ s1#0 ]
Uplift attempt [] 79 allocation: reg byte y [ s3#0 ] reg byte x [ s2#0 ] reg byte y [ s1#0 ]
Uplift attempt [] clobber allocation: zp byte:6 [ s3#0 ] reg byte y [ s2#0 ] reg byte y [ s1#0 ]
Uplift attempt [] clobber allocation: reg byte a [ s3#0 ] reg byte y [ s2#0 ] reg byte y [ s1#0 ]
Uplift attempt [] clobber allocation: reg byte x [ s3#0 ] reg byte y [ s2#0 ] reg byte y [ s1#0 ]
Uplift attempt [] clobber allocation: reg byte y [ s3#0 ] reg byte y [ s2#0 ] reg byte y [ s1#0 ]
Uplifting [] best 75 combination reg byte a [ s3#0 ] reg byte a [ s2#0 ] zp byte:4 [ s1#0 ]
Uplift attempt [sum] 75 allocation: zp byte:2 [ sum::a#2 ] zp byte:3 [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 66 allocation: reg byte a [ sum::a#2 ] zp byte:3 [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 68 allocation: reg byte x [ sum::a#2 ] zp byte:3 [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 68 allocation: reg byte y [ sum::a#2 ] zp byte:3 [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 66 allocation: zp byte:2 [ sum::a#2 ] reg byte a [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 57 allocation: reg byte a [ sum::a#2 ] reg byte a [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 63 allocation: reg byte x [ sum::a#2 ] reg byte a [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 63 allocation: reg byte y [ sum::a#2 ] reg byte a [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 68 allocation: zp byte:2 [ sum::a#2 ] reg byte x [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 63 allocation: reg byte a [ sum::a#2 ] reg byte x [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 59 allocation: reg byte x [ sum::a#2 ] reg byte x [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 65 allocation: reg byte y [ sum::a#2 ] reg byte x [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 68 allocation: zp byte:2 [ sum::a#2 ] reg byte y [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 63 allocation: reg byte a [ sum::a#2 ] reg byte y [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 65 allocation: reg byte x [ sum::a#2 ] reg byte y [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 59 allocation: reg byte y [ sum::a#2 ] reg byte y [ sum::b#2 ] zp byte:7 [ sum::return#0 ]
Uplift attempt [sum] 66 allocation: zp byte:2 [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 57 allocation: reg byte a [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 59 allocation: reg byte x [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 59 allocation: reg byte y [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 57 allocation: zp byte:2 [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 48 allocation: reg byte a [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 54 allocation: reg byte x [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 54 allocation: reg byte y [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 59 allocation: zp byte:2 [ sum::a#2 ] reg byte x [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 54 allocation: reg byte a [ sum::a#2 ] reg byte x [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 50 allocation: reg byte x [ sum::a#2 ] reg byte x [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 56 allocation: reg byte y [ sum::a#2 ] reg byte x [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 59 allocation: zp byte:2 [ sum::a#2 ] reg byte y [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 54 allocation: reg byte a [ sum::a#2 ] reg byte y [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 56 allocation: reg byte x [ sum::a#2 ] reg byte y [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 50 allocation: reg byte y [ sum::a#2 ] reg byte y [ sum::b#2 ] reg byte a [ sum::return#0 ]
Uplift attempt [sum] 70 allocation: zp byte:2 [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] 61 allocation: reg byte a [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] 63 allocation: reg byte x [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] 63 allocation: reg byte y [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] 61 allocation: zp byte:2 [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] 52 allocation: reg byte a [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] 58 allocation: reg byte x [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] 58 allocation: reg byte y [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] 63 allocation: zp byte:2 [ sum::a#2 ] reg byte x [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] 58 allocation: reg byte a [ sum::a#2 ] reg byte x [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] 54 allocation: reg byte x [ sum::a#2 ] reg byte x [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] 60 allocation: reg byte y [ sum::a#2 ] reg byte x [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] 63 allocation: zp byte:2 [ sum::a#2 ] reg byte y [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] 58 allocation: reg byte a [ sum::a#2 ] reg byte y [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] 60 allocation: reg byte x [ sum::a#2 ] reg byte y [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] 54 allocation: reg byte y [ sum::a#2 ] reg byte y [ sum::b#2 ] reg byte x [ sum::return#0 ]
Uplift attempt [sum] 70 allocation: zp byte:2 [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] 61 allocation: reg byte a [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] 63 allocation: reg byte x [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] 63 allocation: reg byte y [ sum::a#2 ] zp byte:3 [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] 61 allocation: zp byte:2 [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] 52 allocation: reg byte a [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] 58 allocation: reg byte x [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] 58 allocation: reg byte y [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] 63 allocation: zp byte:2 [ sum::a#2 ] reg byte x [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] 58 allocation: reg byte a [ sum::a#2 ] reg byte x [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] 54 allocation: reg byte x [ sum::a#2 ] reg byte x [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] 60 allocation: reg byte y [ sum::a#2 ] reg byte x [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] 63 allocation: zp byte:2 [ sum::a#2 ] reg byte y [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] 58 allocation: reg byte a [ sum::a#2 ] reg byte y [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] 60 allocation: reg byte x [ sum::a#2 ] reg byte y [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplift attempt [sum] 54 allocation: reg byte y [ sum::a#2 ] reg byte y [ sum::b#2 ] reg byte y [ sum::return#0 ]
Uplifting [sum] best 48 combination reg byte a [ sum::a#2 ] reg byte a [ sum::b#2 ] reg byte a [ sum::return#0 ]
Re-allocated ZP register from zp byte:4 to zp byte:2
Removing instruction jmp B2
Removing instruction jmp B3

View File

@ -229,10 +229,10 @@ REGISTER UPLIFT SCOPES
Uplift Scope [main]
Uplift Scope []
Uplift attempt [main] 15 allocation:
Uplifting [main] best 15 combination
Uplift attempt [] 15 allocation:
Uplifting [] best 15 combination
Uplift attempt [main] 24 allocation:
Uplifting [main] best 24 combination
Uplift attempt [] 24 allocation:
Uplifting [] best 24 combination
Removing instruction jmp BEND
Removing instruction jmp main__Breturn
Succesful ASM optimization Pass5NextJumpElimination