mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-12-26 03:32:23 +00:00
Implemented more proper pointer handling by wrapping any unary *'s into PointerDerefs.
This commit is contained in:
parent
1b999c8c1d
commit
de5f92498d
@ -1,5 +1,4 @@
|
||||
Known Problems
|
||||
- (incd020.kc) Increment/decrement of value pointed to by pointer does not work. eg. byte* BGCOL = $d020; (*BGCOL)++;
|
||||
- (inlinearrayproblem.kc) Arrays / strings allocated inline destroy functions (because they are allocated where the call enters.
|
||||
- (forincrementassign.kc) Classic for() does not allow assignment as increment, eg. for(byte i=0;i<25;i=i+2) {}
|
||||
- (forrangesymbolic.kc) Range-based for does not recognize symbolic constants. The following gives a ParseTreeConstantEvaluator$NotConstantException - const byte* BITMAP = $2000; for(byte* b : BITMAP..BITMAP+$2000) { *b = 0; }
|
||||
@ -11,15 +10,10 @@ Features
|
||||
- Improve locality of block sequence for if(cond) { stmt1; } else { stmt2; } to if(!cond) goto @else stmt1; jmp @end; @else: stmt2; @end:
|
||||
- Optimize if/else by swapping if & else if cond is easier to evaluate than !cond.
|
||||
- Let { stmt } and for() {} introduce a new anonymous scope. (But not when optimizing)
|
||||
- Add preprocessing / find a way to allow some functions to run at compile time. This will always be to initialize memory to a certain state.
|
||||
- Syntax: A preprocess keyword usable before initializers or global statements blocks? (maybe compiletime is a better word as it is not a preprocessor in the C-sense of the word)
|
||||
- byte[$100] sins = preprocess { [x] = sin(2.0*PI*x/$100) };
|
||||
- byte[$100] sins; preprocess { for(byte x : 0 $ff) { sins[x] = sin(2.0*PI*x/$100)}};
|
||||
- Implement inline compilation of functions (and a mechanism for choosing which methods / calls to inline)
|
||||
- Handle long branches
|
||||
- Optimize loops by unrolling them somewhat
|
||||
- Optimize loops with Strength reduction (https://en.wikipedia.org/wiki/Strength_reduction)
|
||||
- Support calculated pointers eg. *(ptr+i)
|
||||
- Add syntax for encoded chars (eg. PETSCII instead of SCREEN)
|
||||
|
||||
Syntax Checking
|
||||
@ -33,9 +27,23 @@ New language Features
|
||||
- Add Fixed Point number types fixed[8.8], fixed[16.8] - maybe even fixed[24.4]
|
||||
- Add structs
|
||||
|
||||
Pointers
|
||||
- Support calculated pointers eg. *(ptr+i)
|
||||
- Use a rule-based approach should de-inline most pointer derefs again just before register allocation. ( *a = *b + *c => $1=*b (reg a), $2=*c (alu), $3=$1+$2 (reg a), *a = $3 - but *a=*a+const should stay inlined as it has efficient ASM)
|
||||
- Change pointer derefs ASM signature to _deref_xxx (from _star_xxx)
|
||||
- VariableReplacer, GraphReplacer, Pass1GenerateSSA#versionAllUses() has a pretty ugly handling of pointers. Abstract prettier code.
|
||||
- AsmFragmentManager only handles _neq_ pointer comparison. Abstract a better replacer and handle the rest.
|
||||
- Consider if array-indexing should be handled in the same way as unary * when generating statements (put into inline Pointers instead of temporary variables.) This will fix a[2]++, which probably does not work atm.
|
||||
|
||||
Compiletime (Preprocessing)
|
||||
- Add preprocessing / find a way to allow some functions to run at compile time. This will always be to initialize memory to a certain state.
|
||||
- Syntax: A compiletime keyword usable before initializers or global statements blocks? (compiletime is a better word as it is not a preprocessor in the C-sense of the word)
|
||||
- byte[$100] sins = compiletime { [x] = sin(2.0*PI*x/$100) };
|
||||
- byte[$100] sins; compiletime { for(byte x : 0 $ff) { sins[x] = sin(2.0*PI*x/$100)}};
|
||||
|
||||
Imports
|
||||
- Remove unused functions & symbols.
|
||||
- Add imports
|
||||
- Remove unused functions.
|
||||
- Add an export keyword ensuring that a function is generated even if it is never called. Maybe export can be handled by generating a call that can be used as stub.
|
||||
|
||||
Constants
|
||||
@ -198,3 +206,6 @@ Done
|
||||
+ Support ASM syntax check etc.
|
||||
+ Also perform ASM clobber analysis when assigning registers.
|
||||
+ Move the main code into a main() function. The main function per default has no parameters and exits with RTS.
|
||||
+ (incd020.kc) Increment/decrement of value pointed to by pointer does not work. eg. byte* BGCOL = $d020; (*BGCOL)++;
|
||||
+ All pointer derefs *ptr should per default be inlined as rValues/lValues in early passes (PointerDereference).
|
||||
+ Alternatively: Selectively inline some pointer derefs that can be optimized in ASM
|
||||
|
@ -126,6 +126,14 @@ public class AsmFragmentManager {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
if (signature.startsWith("_star_cowo1_neq_") && !signature.contains("aby")) {
|
||||
String subSignature = "aby_neq_" + signature.substring(16).replace("cowo2", "cowo1").replace("cowo3", "cowo2").replace("coby2", "coby1").replace("coby3", "coby2");
|
||||
CharStream subCharStream = loadOrSynthesizeFragment(subSignature);
|
||||
if (subCharStream != null) {
|
||||
CharStream result = CharStreams.fromString("lda {cowo1}\n"+subCharStream.toString().replace("cowo2", "cowo3").replace("cowo1", "cowo2").replace("coby2", "coby3").replace("coby1", "coby2"));
|
||||
return result;
|
||||
}
|
||||
}
|
||||
if (signature.contains("=zpby1_") && !signature.matches(".*=.*aby.*")) {
|
||||
String subSignature = regexpRewriteSignature(signature, "(.*)=zpby1_(.*)", "$1=aby_$2").replace("zpby2", "zpby1").replace("zpby3", "zpby2");
|
||||
CharStream subCharStream = loadOrSynthesizeFragment(subSignature);
|
||||
@ -150,6 +158,22 @@ public class AsmFragmentManager {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
if (signature.contains("=_star_cowo1") && !signature.matches(".*=.*aby.*")) {
|
||||
String subSignature = regexpRewriteSignature(signature, "(.*)=_star_cowo1_(.*)", "$1=aby_$2").replace("cowo2", "cowo1").replace("cowo3", "cowo2").replace("coby2", "coby1").replace("coby3", "coby2");
|
||||
CharStream subCharStream = loadOrSynthesizeFragment(subSignature);
|
||||
if (subCharStream != null) {
|
||||
CharStream result = CharStreams.fromString("lda {cowo1}\n"+subCharStream.toString().replace("cowo2", "cowo3").replace("cowo1", "cowo2").replace("coby2", "coby3").replace("coby1", "coby2"));
|
||||
return result;
|
||||
}
|
||||
}
|
||||
if (signature.contains("=_star_zpptrby1") && !signature.matches(".*=.*aby.*")&& !signature.matches(".*=.*yby.*")) {
|
||||
String subSignature = regexpRewriteSignature(signature, "(.*)=_star_zpptrby1_(.*)", "$1=aby_$2").replace("zpptrby2", "zpptrby1").replace("zpptrby3", "zpptrby2");
|
||||
CharStream subCharStream = loadOrSynthesizeFragment(subSignature);
|
||||
if (subCharStream != null) {
|
||||
CharStream result = CharStreams.fromString("ldy #0\n"+"lda ({zpptrby1}),y\n"+subCharStream.toString().replace("zpptrby2", "zpptrby3").replace("zpptrby1", "zpptrby2"));
|
||||
return result;
|
||||
}
|
||||
}
|
||||
if (signature.endsWith("_staridx_aby") && !signature.matches(".*=.*yby.*")) {
|
||||
String subSignature = regexpRewriteSignature(signature, "(.*)=(.*)_staridx_aby", "$1=$2_staridx_yby");
|
||||
CharStream subCharStream = loadOrSynthesizeFragment(subSignature);
|
||||
|
@ -309,6 +309,16 @@ public class AsmFragmentSignature {
|
||||
} else if (value instanceof ConstantVar) {
|
||||
ConstantVar constantVar = (ConstantVar) value;
|
||||
SymbolType constType = constantVar.getType();
|
||||
// Find value if it is already bound
|
||||
for (String name : bindings.keySet()) {
|
||||
Value bound = bindings.get(name);
|
||||
if (bound instanceof ConstantVar) {
|
||||
if (bound.equals(value))
|
||||
return name;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (SymbolTypeBasic.BYTE.equals(constType)) {
|
||||
String name = "coby" + nextConstByteIdx++;
|
||||
bindings.put(name, constantVar);
|
||||
|
@ -0,0 +1 @@
|
||||
dec {cowo1}
|
@ -0,0 +1 @@
|
||||
inc {cowo1}
|
@ -136,6 +136,13 @@ public class SymbolTypeInference {
|
||||
SymbolType leftType = inferType(programScope, constBin.getLeft());
|
||||
SymbolType rightType = inferType(programScope, constBin.getRight());
|
||||
return inferType(leftType, constBin.getOperator(), rightType);
|
||||
} else if(rValue instanceof PointerDereferenceSimple) {
|
||||
SymbolType pointerType = inferType(programScope, ((PointerDereferenceSimple) rValue).getPointer());
|
||||
if(pointerType instanceof SymbolTypePointer) {
|
||||
return ((SymbolTypePointer) pointerType).getElementType();
|
||||
} else {
|
||||
throw new RuntimeException("Cannot infer pointer element type from pointer type "+pointerType);
|
||||
}
|
||||
}
|
||||
if (type == null) {
|
||||
throw new RuntimeException("Cannot infer type for " + rValue);
|
||||
|
@ -46,7 +46,7 @@ public class Pass1GenerateSingleStaticAssignmentForm {
|
||||
if (lValue instanceof VariableRef) {
|
||||
VariableRef lValueRef = (VariableRef) lValue;
|
||||
Variable assignedVar = symbols.getVariable(lValueRef);
|
||||
if(assignedVar instanceof VariableUnversioned) {
|
||||
if (assignedVar instanceof VariableUnversioned) {
|
||||
// Assignment to a non-versioned non-intermediary variable
|
||||
VariableUnversioned assignedSymbol = (VariableUnversioned) assignedVar;
|
||||
VariableVersion version = assignedSymbol.createVersion();
|
||||
@ -68,25 +68,45 @@ public class Pass1GenerateSingleStaticAssignmentForm {
|
||||
// New phi functions introduced in the block to create versions of variables.
|
||||
Map<VariableUnversioned, VariableVersion> blockNewPhis = new LinkedHashMap<>();
|
||||
for (Statement statement : block.getStatements()) {
|
||||
if(statement instanceof StatementReturn) {
|
||||
if (statement instanceof StatementReturn) {
|
||||
StatementReturn statementReturn = (StatementReturn) statement;
|
||||
{
|
||||
if (statementReturn.getValue() instanceof PointerDereferenceSimple) {
|
||||
PointerDereferenceSimple deref = (PointerDereferenceSimple) ((StatementReturn) statement).getValue();
|
||||
RValue pointer = deref.getPointer();
|
||||
VariableVersion version = findOrCreateVersion(pointer, blockVersions, blockNewPhis);
|
||||
if (version != null) {
|
||||
deref.setPointer(version.getRef());
|
||||
}
|
||||
} else {
|
||||
VariableVersion version = findOrCreateVersion(statementReturn.getValue(), blockVersions, blockNewPhis);
|
||||
if (version != null) {
|
||||
statementReturn.setValue(version.getRef());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (statement instanceof StatementAssignment) {
|
||||
StatementAssignment assignment = (StatementAssignment) statement;
|
||||
{
|
||||
if (assignment.getrValue1() instanceof PointerDereferenceSimple) {
|
||||
PointerDereferenceSimple deref = (PointerDereferenceSimple) ((StatementAssignment) statement).getrValue1();
|
||||
RValue pointer = deref.getPointer();
|
||||
VariableVersion version = findOrCreateVersion(pointer, blockVersions, blockNewPhis);
|
||||
if (version != null) {
|
||||
deref.setPointer(version.getRef());
|
||||
}
|
||||
} else {
|
||||
VariableVersion version = findOrCreateVersion(assignment.getrValue1(), blockVersions, blockNewPhis);
|
||||
if (version != null) {
|
||||
assignment.setrValue1(version.getRef());
|
||||
}
|
||||
}
|
||||
{
|
||||
if (assignment.getrValue2() instanceof PointerDereferenceSimple) {
|
||||
PointerDereferenceSimple deref = (PointerDereferenceSimple) ((StatementAssignment) statement).getrValue2();
|
||||
RValue pointer = deref.getPointer();
|
||||
VariableVersion version = findOrCreateVersion(pointer, blockVersions, blockNewPhis);
|
||||
if (version != null) {
|
||||
deref.setPointer(version.getRef());
|
||||
}
|
||||
} else {
|
||||
VariableVersion version = findOrCreateVersion(assignment.getrValue2(), blockVersions, blockNewPhis);
|
||||
if (version != null) {
|
||||
assignment.setrValue2(version.getRef());
|
||||
@ -97,18 +117,18 @@ public class Pass1GenerateSingleStaticAssignmentForm {
|
||||
if (lValue instanceof VariableRef) {
|
||||
VariableRef lValueRef = (VariableRef) lValue;
|
||||
Variable variable = symbols.getVariable(lValueRef);
|
||||
if(variable instanceof VariableVersion) {
|
||||
if (variable instanceof VariableVersion) {
|
||||
VariableVersion versioned = (VariableVersion) variable;
|
||||
blockVersions.put(versioned.getVersionOf(), versioned);
|
||||
}
|
||||
} else if(lValue instanceof PointerDereferenceSimple) {
|
||||
} else if (lValue instanceof PointerDereferenceSimple) {
|
||||
PointerDereferenceSimple deref = (PointerDereferenceSimple) lValue;
|
||||
RValue pointer = deref.getPointer();
|
||||
VariableVersion version = findOrCreateVersion(pointer, blockVersions, blockNewPhis);
|
||||
if (version != null) {
|
||||
deref.setPointer(version.getRef());
|
||||
}
|
||||
} else if(lValue instanceof PointerDereferenceIndexed) {
|
||||
} else if (lValue instanceof PointerDereferenceIndexed) {
|
||||
PointerDereferenceIndexed deref = (PointerDereferenceIndexed) lValue;
|
||||
RValue pointer = deref.getPointer();
|
||||
VariableVersion version = findOrCreateVersion(pointer, blockVersions, blockNewPhis);
|
||||
@ -179,7 +199,7 @@ public class Pass1GenerateSingleStaticAssignmentForm {
|
||||
if (statement instanceof StatementPhiBlock) {
|
||||
StatementPhiBlock phiBlock = (StatementPhiBlock) statement;
|
||||
for (StatementPhiBlock.PhiVariable phiVariable : phiBlock.getPhiVariables()) {
|
||||
if(phiVariable.isEmpty()) {
|
||||
if (phiVariable.isEmpty()) {
|
||||
VariableRef phiLValVarRef = phiVariable.getVariable();
|
||||
VariableVersion versioned = (VariableVersion) symbols.getVariable(phiLValVarRef);
|
||||
VariableUnversioned unversioned = versioned.getVersionOf();
|
||||
@ -235,7 +255,7 @@ public class Pass1GenerateSingleStaticAssignmentForm {
|
||||
if (statement instanceof StatementLValue) {
|
||||
StatementLValue assignment = (StatementLValue) statement;
|
||||
addSymbolToMap(symbolMap, block, assignment.getlValue());
|
||||
} else if(statement instanceof StatementPhiBlock) {
|
||||
} else if (statement instanceof StatementPhiBlock) {
|
||||
StatementPhiBlock phiBlock = (StatementPhiBlock) statement;
|
||||
for (StatementPhiBlock.PhiVariable phiVariable : phiBlock.getPhiVariables()) {
|
||||
addSymbolToMap(symbolMap, block, phiVariable.getVariable());
|
||||
@ -247,7 +267,7 @@ public class Pass1GenerateSingleStaticAssignmentForm {
|
||||
}
|
||||
|
||||
private void addSymbolToMap(Map<LabelRef, Map<VariableUnversioned, VariableVersion>> symbolMap, ControlFlowBlock block, LValue lValue) {
|
||||
if(lValue instanceof VariableRef) {
|
||||
if (lValue instanceof VariableRef) {
|
||||
Variable lValueVar = symbols.getVariable((VariableRef) lValue);
|
||||
if (lValueVar instanceof VariableVersion) {
|
||||
VariableVersion versioned = (VariableVersion) lValueVar;
|
||||
|
@ -544,11 +544,15 @@ public class Pass1GenerateStatementSequence extends KickCBaseVisitor<Object> {
|
||||
RValue child = (RValue) this.visit(ctx.expr());
|
||||
String op = ((TerminalNode) ctx.getChild(0)).getSymbol().getText();
|
||||
Operator operator = Operator.getUnary(op);
|
||||
VariableIntermediate tmpVar = getCurrentSymbols().addVariableIntermediate();
|
||||
VariableRef tmpVarRef = tmpVar.getRef();
|
||||
Statement stmt = new StatementAssignment(tmpVarRef, operator, child);
|
||||
sequence.addStatement(stmt);
|
||||
return tmpVarRef;
|
||||
if(Operator.STAR.equals(operator)) {
|
||||
return new PointerDereferenceSimple(child);
|
||||
} else {
|
||||
VariableIntermediate tmpVar = getCurrentSymbols().addVariableIntermediate();
|
||||
VariableRef tmpVarRef = tmpVar.getRef();
|
||||
Statement stmt = new StatementAssignment(tmpVarRef, operator, child);
|
||||
sequence.addStatement(stmt);
|
||||
return tmpVarRef;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -220,7 +220,10 @@ public abstract class Pass2SsaOptimization {
|
||||
usage = usage + 1;
|
||||
usages.put(var, usage);
|
||||
} else if(rVal instanceof PointerDereference) {
|
||||
throw new RuntimeException("Unexpected pointer dereference!");
|
||||
Value pointer = ((PointerDereference) rVal).getPointer();
|
||||
if(pointer instanceof RValue) {
|
||||
addUsage((RValue) pointer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -89,9 +89,25 @@ public class VariableReplacer {
|
||||
}
|
||||
if (getReplacement(assignment.getrValue1()) != null) {
|
||||
assignment.setrValue1(getReplacement(assignment.getrValue1()));
|
||||
} else {
|
||||
if(assignment.getrValue1() instanceof PointerDereferenceSimple) {
|
||||
PointerDereferenceSimple deref = (PointerDereferenceSimple) assignment.getrValue1();
|
||||
RValue pointer = deref.getPointer();
|
||||
if (getReplacement(pointer) != null) {
|
||||
deref.setPointer(getReplacement(pointer));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (getReplacement(assignment.getrValue2()) != null) {
|
||||
assignment.setrValue2(getReplacement(assignment.getrValue2()));
|
||||
} else {
|
||||
if(assignment.getrValue2() instanceof PointerDereferenceSimple) {
|
||||
PointerDereferenceSimple deref = (PointerDereferenceSimple) assignment.getrValue2();
|
||||
RValue pointer = deref.getPointer();
|
||||
if (getReplacement(pointer) != null) {
|
||||
deref.setPointer(getReplacement(pointer));
|
||||
}
|
||||
}
|
||||
}
|
||||
// Handle pointer dereference in LValue
|
||||
if (lValue instanceof PointerDereferenceSimple) {
|
||||
@ -111,6 +127,8 @@ public class VariableReplacer {
|
||||
deref.setIndex(getReplacement(index));
|
||||
}
|
||||
}
|
||||
// Handle pointer dereference in RValue
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -118,9 +136,25 @@ public class VariableReplacer {
|
||||
public Void visitConditionalJump(StatementConditionalJump conditionalJump) {
|
||||
if (getReplacement(conditionalJump.getrValue1()) != null) {
|
||||
conditionalJump.setrValue1(getReplacement(conditionalJump.getrValue1()));
|
||||
} else {
|
||||
if (conditionalJump.getrValue1() instanceof PointerDereferenceSimple) {
|
||||
PointerDereferenceSimple deref = (PointerDereferenceSimple) conditionalJump.getrValue1();
|
||||
RValue pointer = deref.getPointer();
|
||||
if (getReplacement(pointer) != null) {
|
||||
deref.setPointer(getReplacement(pointer));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (getReplacement(conditionalJump.getrValue2()) != null) {
|
||||
conditionalJump.setrValue2(getReplacement(conditionalJump.getrValue2()));
|
||||
} else {
|
||||
if (conditionalJump.getrValue2() instanceof PointerDereferenceSimple) {
|
||||
PointerDereferenceSimple deref = (PointerDereferenceSimple) conditionalJump.getrValue2();
|
||||
RValue pointer = deref.getPointer();
|
||||
if (getReplacement(pointer) != null) {
|
||||
deref.setPointer(getReplacement(pointer));
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@ -129,6 +163,14 @@ public class VariableReplacer {
|
||||
public Void visitReturn(StatementReturn aReturn) {
|
||||
if (getReplacement(aReturn.getValue()) != null) {
|
||||
aReturn.setValue(getReplacement(aReturn.getValue()));
|
||||
} else {
|
||||
if (aReturn.getValue() instanceof PointerDereferenceSimple) {
|
||||
PointerDereferenceSimple deref = (PointerDereferenceSimple) aReturn.getValue();
|
||||
RValue pointer = deref.getPointer();
|
||||
if (getReplacement(pointer) != null) {
|
||||
deref.setPointer(getReplacement(pointer));
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@ -141,6 +183,14 @@ public class VariableReplacer {
|
||||
RValue newParam = parameter;
|
||||
if (getReplacement(parameter) != null) {
|
||||
newParam = getReplacement(parameter);
|
||||
} else {
|
||||
if (parameter instanceof PointerDereferenceSimple) {
|
||||
PointerDereferenceSimple deref = (PointerDereferenceSimple) parameter;
|
||||
RValue pointer = deref.getPointer();
|
||||
if (getReplacement(pointer) != null) {
|
||||
deref.setPointer(getReplacement(pointer));
|
||||
}
|
||||
}
|
||||
}
|
||||
newParams.add(newParam);
|
||||
}
|
||||
@ -169,6 +219,14 @@ public class VariableReplacer {
|
||||
} else {
|
||||
phirValue.setrValue(alias);
|
||||
}
|
||||
} else {
|
||||
if(phirValue.getrValue() instanceof PointerDereferenceSimple) {
|
||||
PointerDereferenceSimple deref = (PointerDereferenceSimple) phirValue.getrValue();
|
||||
RValue pointer = deref.getPointer();
|
||||
if (getReplacement(pointer) != null) {
|
||||
deref.setPointer(getReplacement(pointer));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -28,11 +28,6 @@ public class TestErrors extends TestCase {
|
||||
compileAndCompare("inline-asm-param");
|
||||
}
|
||||
|
||||
|
||||
public void testIncD020() throws IOException, URISyntaxException {
|
||||
compileAndCompare("incd020");
|
||||
}
|
||||
|
||||
public void testUseUninitialized() throws IOException, URISyntaxException {
|
||||
String filename = "useuninitialized";
|
||||
compileAndCompare(filename);
|
||||
|
@ -24,6 +24,10 @@ public class TestPrograms extends TestCase {
|
||||
helper = new ReferenceHelper("dk/camelot64/kickc/test/ref/");
|
||||
}
|
||||
|
||||
public void testIncD020() throws IOException, URISyntaxException {
|
||||
compileAndCompare("incd020");
|
||||
}
|
||||
|
||||
public void testOverlapAllocation2() throws IOException, URISyntaxException {
|
||||
compileAndCompare("overlap-allocation-2");
|
||||
}
|
||||
|
@ -5,6 +5,6 @@ byte* BGCOL = $d020;
|
||||
void main() {
|
||||
do {
|
||||
++*BGCOL;
|
||||
(*BGCOL)++;
|
||||
} while (true)
|
||||
(*BGCOL)--;
|
||||
} while (true);
|
||||
}
|
@ -242,7 +242,6 @@ line_ydxi: {
|
||||
rts
|
||||
}
|
||||
plot: {
|
||||
.label _5 = $a
|
||||
.label plotter_x = 8
|
||||
.label plotter_y = $b
|
||||
.label plotter = 8
|
||||
@ -267,9 +266,7 @@ plot: {
|
||||
sta plotter+1
|
||||
ldy #0
|
||||
lda (plotter),y
|
||||
sta _5
|
||||
lda plot_bit,x
|
||||
ora _5
|
||||
ora plot_bit,x
|
||||
sta (plotter),y
|
||||
rts
|
||||
}
|
||||
|
@ -174,185 +174,184 @@ line_ydxi::@return: scope:[line_ydxi] from line_ydxi::@2
|
||||
[100] return [ ] ( main:0::lines:7::line:20::line_ydxi:41 [ lines::l#2 ] main:0::lines:7::line:20::line_ydxi:85 [ lines::l#2 ] )
|
||||
to:@return
|
||||
plot: scope:[plot] from line_xdyd::@1 line_xdyi::@1 line_ydxd::@1 line_ydxi::@1
|
||||
[101] (byte) plot::y#4 ← phi( line_xdyd::@1/(byte) plot::y#1 line_xdyi::@1/(byte) plot::y#0 line_ydxd::@1/(byte) plot::y#3 line_ydxi::@1/(byte) plot::y#2 ) [ plot::x#4 plot::y#4 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_xdyi:34::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_xdyi:79::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_ydxd:55::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_ydxd:71::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_xdyd:49::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_xdyd:65::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] )
|
||||
[101] (byte) plot::x#4 ← phi( line_xdyd::@1/(byte) plot::x#1 line_xdyi::@1/(byte) plot::x#0 line_ydxd::@1/(byte) plot::x#3 line_ydxi::@1/(byte) plot::x#2 ) [ plot::x#4 plot::y#4 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_xdyi:34::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_xdyi:79::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_ydxd:55::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_ydxd:71::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_xdyd:49::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_xdyd:65::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] )
|
||||
[102] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::$0 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::$0 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::$0 ] main:0::lines:7::line:20::line_xdyi:34::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::$0 ] main:0::lines:7::line:20::line_xdyi:79::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::$0 ] main:0::lines:7::line:20::line_ydxd:55::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::$0 ] main:0::lines:7::line:20::line_ydxd:71::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::$0 ] main:0::lines:7::line:20::line_xdyd:49::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::$0 ] main:0::lines:7::line:20::line_xdyd:65::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::$0 ] )
|
||||
[103] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#4 plot::y#4 plot::plotter_x#1 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 ] main:0::lines:7::line:20::line_xdyi:34::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 ] main:0::lines:7::line:20::line_xdyi:79::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 ] main:0::lines:7::line:20::line_ydxd:55::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 ] main:0::lines:7::line:20::line_ydxd:71::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 ] main:0::lines:7::line:20::line_xdyd:49::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 ] main:0::lines:7::line:20::line_xdyd:65::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 ] )
|
||||
[104] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] main:0::lines:7::line:20::line_xdyi:34::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] main:0::lines:7::line:20::line_xdyi:79::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] main:0::lines:7::line:20::line_ydxd:55::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] main:0::lines:7::line:20::line_ydxd:71::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] main:0::lines:7::line:20::line_xdyd:49::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] main:0::lines:7::line:20::line_xdyd:65::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] )
|
||||
[105] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#4 plot::y#4 plot::plotter_x#2 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 ] main:0::lines:7::line:20::line_xdyi:34::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 ] main:0::lines:7::line:20::line_xdyi:79::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 ] main:0::lines:7::line:20::line_ydxd:55::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 ] main:0::lines:7::line:20::line_ydxd:71::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 ] main:0::lines:7::line:20::line_xdyd:49::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 ] main:0::lines:7::line:20::line_xdyd:65::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 ] )
|
||||
[106] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] main:0::lines:7::line:20::line_xdyi:34::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] main:0::lines:7::line:20::line_xdyi:79::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] main:0::lines:7::line:20::line_ydxd:55::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] main:0::lines:7::line:20::line_ydxd:71::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] main:0::lines:7::line:20::line_xdyd:49::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] main:0::lines:7::line:20::line_xdyd:65::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] )
|
||||
[107] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] main:0::lines:7::line:20::line_xdyi:34::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] main:0::lines:7::line:20::line_xdyi:79::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] main:0::lines:7::line:20::line_ydxd:55::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] main:0::lines:7::line:20::line_ydxd:71::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] main:0::lines:7::line:20::line_xdyd:49::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] main:0::lines:7::line:20::line_xdyd:65::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] )
|
||||
[108] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] main:0::lines:7::line:20::line_xdyi:34::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] main:0::lines:7::line:20::line_xdyi:79::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] main:0::lines:7::line:20::line_ydxd:55::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] main:0::lines:7::line:20::line_ydxd:71::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] main:0::lines:7::line:20::line_xdyd:49::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] main:0::lines:7::line:20::line_xdyd:65::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] )
|
||||
[109] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] main:0::lines:7::line:20::line_xdyi:34::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] main:0::lines:7::line:20::line_xdyi:79::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] main:0::lines:7::line:20::line_ydxd:55::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] main:0::lines:7::line:20::line_ydxd:71::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] main:0::lines:7::line:20::line_xdyd:49::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] main:0::lines:7::line:20::line_xdyd:65::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] )
|
||||
[110] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#4 plot::plotter#0 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter#0 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter#0 ] main:0::lines:7::line:20::line_xdyi:34::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter#0 ] main:0::lines:7::line:20::line_xdyi:79::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter#0 ] main:0::lines:7::line:20::line_ydxd:55::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter#0 ] main:0::lines:7::line:20::line_ydxd:71::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter#0 ] main:0::lines:7::line:20::line_xdyd:49::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter#0 ] main:0::lines:7::line:20::line_xdyd:65::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter#0 ] )
|
||||
[111] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#4 plot::plotter#0 plot::$5 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter#0 plot::$5 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter#0 plot::$5 ] main:0::lines:7::line:20::line_xdyi:34::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter#0 plot::$5 ] main:0::lines:7::line:20::line_xdyi:79::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter#0 plot::$5 ] main:0::lines:7::line:20::line_ydxd:55::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter#0 plot::$5 ] main:0::lines:7::line:20::line_ydxd:71::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter#0 plot::$5 ] main:0::lines:7::line:20::line_xdyd:49::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter#0 plot::$5 ] main:0::lines:7::line:20::line_xdyd:65::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter#0 plot::$5 ] )
|
||||
[112] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 [ plot::plotter#0 plot::$5 plot::$6 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::plotter#0 plot::$5 plot::$6 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::plotter#0 plot::$5 plot::$6 ] main:0::lines:7::line:20::line_xdyi:34::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::plotter#0 plot::$5 plot::$6 ] main:0::lines:7::line:20::line_xdyi:79::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::plotter#0 plot::$5 plot::$6 ] main:0::lines:7::line:20::line_ydxd:55::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::plotter#0 plot::$5 plot::$6 ] main:0::lines:7::line:20::line_ydxd:71::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::plotter#0 plot::$5 plot::$6 ] main:0::lines:7::line:20::line_xdyd:49::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::plotter#0 plot::$5 plot::$6 ] main:0::lines:7::line:20::line_xdyd:65::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::plotter#0 plot::$5 plot::$6 ] )
|
||||
[113] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::plotter#0 plot::$7 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::plotter#0 plot::$7 ] main:0::lines:7::line:20::line_xdyi:34::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::plotter#0 plot::$7 ] main:0::lines:7::line:20::line_xdyi:79::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::plotter#0 plot::$7 ] main:0::lines:7::line:20::line_ydxd:55::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::plotter#0 plot::$7 ] main:0::lines:7::line:20::line_ydxd:71::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::plotter#0 plot::$7 ] main:0::lines:7::line:20::line_xdyd:49::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::plotter#0 plot::$7 ] main:0::lines:7::line:20::line_xdyd:65::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::plotter#0 plot::$7 ] )
|
||||
[114] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:0::lines:7::line:20::line_xdyi:34::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_xdyi:79::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_ydxd:55::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_ydxd:71::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_xdyd:49::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:0::lines:7::line:20::line_xdyd:65::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
|
||||
[101] (byte) plot::y#4 ← phi( line_xdyd::@1/(byte) plot::y#1 line_xdyi::@1/(byte) plot::y#0 line_ydxd::@1/(byte) plot::y#3 line_ydxi::@1/(byte) plot::y#2 ) [ plot::x#4 plot::y#4 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_xdyi:34::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_xdyi:79::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_ydxd:55::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_ydxd:71::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_xdyd:49::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_xdyd:65::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] )
|
||||
[101] (byte) plot::x#4 ← phi( line_xdyd::@1/(byte) plot::x#1 line_xdyi::@1/(byte) plot::x#0 line_ydxd::@1/(byte) plot::x#3 line_ydxi::@1/(byte) plot::x#2 ) [ plot::x#4 plot::y#4 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_xdyi:34::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_xdyi:79::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_ydxd:55::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_ydxd:71::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_xdyd:49::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] main:0::lines:7::line:20::line_xdyd:65::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] )
|
||||
[102] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::$0 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::$0 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::$0 ] main:0::lines:7::line:20::line_xdyi:34::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::$0 ] main:0::lines:7::line:20::line_xdyi:79::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::$0 ] main:0::lines:7::line:20::line_ydxd:55::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::$0 ] main:0::lines:7::line:20::line_ydxd:71::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::$0 ] main:0::lines:7::line:20::line_xdyd:49::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::$0 ] main:0::lines:7::line:20::line_xdyd:65::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::$0 ] )
|
||||
[103] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#4 plot::y#4 plot::plotter_x#1 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 ] main:0::lines:7::line:20::line_xdyi:34::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 ] main:0::lines:7::line:20::line_xdyi:79::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 ] main:0::lines:7::line:20::line_ydxd:55::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 ] main:0::lines:7::line:20::line_ydxd:71::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 ] main:0::lines:7::line:20::line_xdyd:49::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 ] main:0::lines:7::line:20::line_xdyd:65::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 ] )
|
||||
[104] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#4 [ plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] main:0::lines:7::line:20::line_xdyi:34::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] main:0::lines:7::line:20::line_xdyi:79::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] main:0::lines:7::line:20::line_ydxd:55::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] main:0::lines:7::line:20::line_ydxd:71::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] main:0::lines:7::line:20::line_xdyd:49::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] main:0::lines:7::line:20::line_xdyd:65::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#1 plot::$1 ] )
|
||||
[105] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#4 plot::y#4 plot::plotter_x#2 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 ] main:0::lines:7::line:20::line_xdyi:34::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 ] main:0::lines:7::line:20::line_xdyi:79::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 ] main:0::lines:7::line:20::line_ydxd:55::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 ] main:0::lines:7::line:20::line_ydxd:71::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 ] main:0::lines:7::line:20::line_xdyd:49::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 ] main:0::lines:7::line:20::line_xdyd:65::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 ] )
|
||||
[106] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#4 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] main:0::lines:7::line:20::line_xdyi:34::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] main:0::lines:7::line:20::line_xdyi:79::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] main:0::lines:7::line:20::line_ydxd:55::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] main:0::lines:7::line:20::line_ydxd:71::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] main:0::lines:7::line:20::line_xdyd:49::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] main:0::lines:7::line:20::line_xdyd:65::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::$2 ] )
|
||||
[107] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] main:0::lines:7::line:20::line_xdyi:34::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] main:0::lines:7::line:20::line_xdyi:79::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] main:0::lines:7::line:20::line_ydxd:55::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] main:0::lines:7::line:20::line_ydxd:71::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] main:0::lines:7::line:20::line_xdyd:49::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] main:0::lines:7::line:20::line_xdyd:65::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#2 plot::plotter_y#1 ] )
|
||||
[108] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#4 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] main:0::lines:7::line:20::line_xdyi:34::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] main:0::lines:7::line:20::line_xdyi:79::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] main:0::lines:7::line:20::line_ydxd:55::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] main:0::lines:7::line:20::line_ydxd:71::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] main:0::lines:7::line:20::line_xdyd:49::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] main:0::lines:7::line:20::line_xdyd:65::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] )
|
||||
[109] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] main:0::lines:7::line:20::line_xdyi:34::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] main:0::lines:7::line:20::line_xdyi:79::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] main:0::lines:7::line:20::line_ydxd:55::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] main:0::lines:7::line:20::line_ydxd:71::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] main:0::lines:7::line:20::line_xdyd:49::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] main:0::lines:7::line:20::line_xdyd:65::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#2 plot::plotter_y#2 ] )
|
||||
[110] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#4 plot::plotter#0 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter#0 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter#0 ] main:0::lines:7::line:20::line_xdyi:34::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter#0 ] main:0::lines:7::line:20::line_xdyi:79::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter#0 ] main:0::lines:7::line:20::line_ydxd:55::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter#0 ] main:0::lines:7::line:20::line_ydxd:71::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter#0 ] main:0::lines:7::line:20::line_xdyd:49::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter#0 ] main:0::lines:7::line:20::line_xdyd:65::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter#0 ] )
|
||||
[111] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#4 [ plot::plotter#0 plot::$5 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::plotter#0 plot::$5 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::plotter#0 plot::$5 ] main:0::lines:7::line:20::line_xdyi:34::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::plotter#0 plot::$5 ] main:0::lines:7::line:20::line_xdyi:79::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::plotter#0 plot::$5 ] main:0::lines:7::line:20::line_ydxd:55::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::plotter#0 plot::$5 ] main:0::lines:7::line:20::line_ydxd:71::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::plotter#0 plot::$5 ] main:0::lines:7::line:20::line_xdyd:49::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::plotter#0 plot::$5 ] main:0::lines:7::line:20::line_xdyd:65::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::plotter#0 plot::$5 ] )
|
||||
[112] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::plotter#0 plot::$6 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::plotter#0 plot::$6 ] main:0::lines:7::line:20::line_xdyi:34::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::plotter#0 plot::$6 ] main:0::lines:7::line:20::line_xdyi:79::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::plotter#0 plot::$6 ] main:0::lines:7::line:20::line_ydxd:55::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::plotter#0 plot::$6 ] main:0::lines:7::line:20::line_ydxd:71::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::plotter#0 plot::$6 ] main:0::lines:7::line:20::line_xdyd:49::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::plotter#0 plot::$6 ] main:0::lines:7::line:20::line_xdyd:65::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::plotter#0 plot::$6 ] )
|
||||
[113] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:0::lines:7::line:20::line_xdyi:34::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_xdyi:79::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_ydxd:55::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_ydxd:71::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_xdyd:49::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:0::lines:7::line:20::line_xdyd:65::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
|
||||
to:plot::@return
|
||||
plot::@return: scope:[plot] from plot
|
||||
[115] return [ ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:0::lines:7::line:20::line_xdyi:34::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_xdyi:79::plot:121 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_ydxd:55::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_ydxd:71::plot:136 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_xdyd:49::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:0::lines:7::line:20::line_xdyd:65::plot:151 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
|
||||
[114] return [ ] ( main:0::lines:7::line:20::line_ydxi:41::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:0::lines:7::line:20::line_ydxi:85::plot:91 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:0::lines:7::line:20::line_xdyi:34::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_xdyi:79::plot:120 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_ydxd:55::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_ydxd:71::plot:135 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_xdyd:49::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:0::lines:7::line:20::line_xdyd:65::plot:150 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
|
||||
to:@return
|
||||
line_xdyi: scope:[line_xdyi] from line::@17 line::@27
|
||||
[116] (byte) line_xdyi::x1#6 ← phi( line::@17/(byte) line_xdyi::x1#0 line::@27/(byte) line_xdyi::x1#1 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] )
|
||||
[116] (byte) line_xdyi::xd#5 ← phi( line::@17/(byte) line_xdyi::xd#0 line::@27/(byte) line_xdyi::xd#1 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] )
|
||||
[116] (byte) line_xdyi::y#5 ← phi( line::@17/(byte) line_xdyi::y#0 line::@27/(byte) line_xdyi::y#1 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] )
|
||||
[116] (byte) line_xdyi::x#6 ← phi( line::@17/(byte) line_xdyi::x#0 line::@27/(byte) line_xdyi::x#1 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] )
|
||||
[116] (byte) line_xdyi::yd#2 ← phi( line::@17/(byte) line_xdyi::yd#0 line::@27/(byte) line_xdyi::yd#1 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] )
|
||||
[117] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] )
|
||||
[115] (byte) line_xdyi::x1#6 ← phi( line::@17/(byte) line_xdyi::x1#0 line::@27/(byte) line_xdyi::x1#1 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] )
|
||||
[115] (byte) line_xdyi::xd#5 ← phi( line::@17/(byte) line_xdyi::xd#0 line::@27/(byte) line_xdyi::xd#1 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] )
|
||||
[115] (byte) line_xdyi::y#5 ← phi( line::@17/(byte) line_xdyi::y#0 line::@27/(byte) line_xdyi::y#1 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] )
|
||||
[115] (byte) line_xdyi::x#6 ← phi( line::@17/(byte) line_xdyi::x#0 line::@27/(byte) line_xdyi::x#1 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] )
|
||||
[115] (byte) line_xdyi::yd#2 ← phi( line::@17/(byte) line_xdyi::yd#0 line::@27/(byte) line_xdyi::yd#1 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] )
|
||||
[116] (byte) line_xdyi::e#0 ← (byte) line_xdyi::yd#2 >> (byte) 1 [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::e#0 ] )
|
||||
to:line_xdyi::@1
|
||||
line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2
|
||||
[118] (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
|
||||
[118] (byte) line_xdyi::y#3 ← phi( line_xdyi/(byte) line_xdyi::y#5 line_xdyi::@2/(byte) line_xdyi::y#6 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
|
||||
[118] (byte) line_xdyi::x#3 ← phi( line_xdyi/(byte) line_xdyi::x#6 line_xdyi::@2/(byte) line_xdyi::x#2 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
|
||||
[119] (byte) plot::x#0 ← (byte) line_xdyi::x#3 [ plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
|
||||
[120] (byte) plot::y#0 ← (byte) line_xdyi::y#3 [ plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
|
||||
[121] call plot param-assignment [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
|
||||
[117] (byte) line_xdyi::e#3 ← phi( line_xdyi/(byte) line_xdyi::e#0 line_xdyi::@2/(byte) line_xdyi::e#6 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
|
||||
[117] (byte) line_xdyi::y#3 ← phi( line_xdyi/(byte) line_xdyi::y#5 line_xdyi::@2/(byte) line_xdyi::y#6 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
|
||||
[117] (byte) line_xdyi::x#3 ← phi( line_xdyi/(byte) line_xdyi::x#6 line_xdyi::@2/(byte) line_xdyi::x#2 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
|
||||
[118] (byte) plot::x#0 ← (byte) line_xdyi::x#3 [ plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 plot::x#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
|
||||
[119] (byte) plot::y#0 ← (byte) line_xdyi::y#3 [ plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 plot::x#0 plot::y#0 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
|
||||
[120] call plot param-assignment [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
|
||||
to:line_xdyi::@5
|
||||
line_xdyi::@5: scope:[line_xdyi] from line_xdyi::@1
|
||||
[122] (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] )
|
||||
[123] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] )
|
||||
[124] if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] )
|
||||
[121] (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] )
|
||||
[122] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] )
|
||||
[123] if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] )
|
||||
to:line_xdyi::@3
|
||||
line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5
|
||||
[125] (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] )
|
||||
[126] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] )
|
||||
[124] (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] )
|
||||
[125] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] )
|
||||
to:line_xdyi::@2
|
||||
line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5
|
||||
[127] (byte) line_xdyi::e#6 ← phi( line_xdyi::@3/(byte) line_xdyi::e#2 line_xdyi::@5/(byte) line_xdyi::e#1 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] )
|
||||
[127] (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] )
|
||||
[128] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$8 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$8 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$8 ] )
|
||||
[129] if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) goto line_xdyi::@1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] )
|
||||
[126] (byte) line_xdyi::e#6 ← phi( line_xdyi::@3/(byte) line_xdyi::e#2 line_xdyi::@5/(byte) line_xdyi::e#1 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] )
|
||||
[126] (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] )
|
||||
[127] (byte~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$8 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$8 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$8 ] )
|
||||
[128] if((byte) line_xdyi::x#2<(byte~) line_xdyi::$8) goto line_xdyi::@1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] )
|
||||
to:line_xdyi::@return
|
||||
line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2
|
||||
[130] return [ ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 ] )
|
||||
[129] return [ ] ( main:0::lines:7::line:20::line_xdyi:34 [ lines::l#2 ] main:0::lines:7::line:20::line_xdyi:79 [ lines::l#2 ] )
|
||||
to:@return
|
||||
line_ydxd: scope:[line_ydxd] from line::@10 line::@6
|
||||
[131] (byte) line_ydxd::y1#6 ← phi( line::@10/(byte) line_ydxd::y1#1 line::@6/(byte) line_ydxd::y1#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] )
|
||||
[131] (byte) line_ydxd::yd#5 ← phi( line::@10/(byte) line_ydxd::yd#1 line::@6/(byte) line_ydxd::yd#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] )
|
||||
[131] (byte) line_ydxd::y#6 ← phi( line::@10/(byte) line_ydxd::y#1 line::@6/(byte) line_ydxd::y#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] )
|
||||
[131] (byte) line_ydxd::x#5 ← phi( line::@10/(byte) line_ydxd::x#1 line::@6/(byte) line_ydxd::x#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] )
|
||||
[131] (byte) line_ydxd::xd#2 ← phi( line::@10/(byte) line_ydxd::xd#1 line::@6/(byte) line_ydxd::xd#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] )
|
||||
[132] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] )
|
||||
[130] (byte) line_ydxd::y1#6 ← phi( line::@10/(byte) line_ydxd::y1#1 line::@6/(byte) line_ydxd::y1#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] )
|
||||
[130] (byte) line_ydxd::yd#5 ← phi( line::@10/(byte) line_ydxd::yd#1 line::@6/(byte) line_ydxd::yd#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] )
|
||||
[130] (byte) line_ydxd::y#6 ← phi( line::@10/(byte) line_ydxd::y#1 line::@6/(byte) line_ydxd::y#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] )
|
||||
[130] (byte) line_ydxd::x#5 ← phi( line::@10/(byte) line_ydxd::x#1 line::@6/(byte) line_ydxd::x#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] )
|
||||
[130] (byte) line_ydxd::xd#2 ← phi( line::@10/(byte) line_ydxd::xd#1 line::@6/(byte) line_ydxd::xd#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] )
|
||||
[131] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] )
|
||||
to:line_ydxd::@1
|
||||
line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@2
|
||||
[133] (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
|
||||
[133] (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
|
||||
[133] (byte) line_ydxd::x#3 ← phi( line_ydxd/(byte) line_ydxd::x#5 line_ydxd::@2/(byte) line_ydxd::x#6 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
|
||||
[134] (byte) plot::x#3 ← (byte) line_ydxd::x#3 [ plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
|
||||
[135] (byte) plot::y#3 ← (byte) line_ydxd::y#3 [ plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
|
||||
[136] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
|
||||
[132] (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
|
||||
[132] (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
|
||||
[132] (byte) line_ydxd::x#3 ← phi( line_ydxd/(byte) line_ydxd::x#5 line_ydxd::@2/(byte) line_ydxd::x#6 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
|
||||
[133] (byte) plot::x#3 ← (byte) line_ydxd::x#3 [ plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
|
||||
[134] (byte) plot::y#3 ← (byte) line_ydxd::y#3 [ plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
|
||||
[135] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
|
||||
to:line_ydxd::@5
|
||||
line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1
|
||||
[137] (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] )
|
||||
[138] (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] )
|
||||
[139] if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] )
|
||||
[136] (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] )
|
||||
[137] (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] )
|
||||
[138] if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] )
|
||||
to:line_ydxd::@3
|
||||
line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5
|
||||
[140] (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] )
|
||||
[141] (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#5 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::x#2 line_ydxd::e#2 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::x#2 line_ydxd::e#2 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::x#2 line_ydxd::e#2 ] )
|
||||
[139] (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] )
|
||||
[140] (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#5 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::x#2 line_ydxd::e#2 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::x#2 line_ydxd::e#2 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::x#2 line_ydxd::e#2 ] )
|
||||
to:line_ydxd::@2
|
||||
line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5
|
||||
[142] (byte) line_ydxd::e#6 ← phi( line_ydxd::@3/(byte) line_ydxd::e#2 line_ydxd::@5/(byte) line_ydxd::e#1 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] )
|
||||
[142] (byte) line_ydxd::x#6 ← phi( line_ydxd::@3/(byte) line_ydxd::x#2 line_ydxd::@5/(byte) line_ydxd::x#3 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] )
|
||||
[143] (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] )
|
||||
[144] if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] )
|
||||
[141] (byte) line_ydxd::e#6 ← phi( line_ydxd::@3/(byte) line_ydxd::e#2 line_ydxd::@5/(byte) line_ydxd::e#1 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] )
|
||||
[141] (byte) line_ydxd::x#6 ← phi( line_ydxd::@3/(byte) line_ydxd::x#2 line_ydxd::@5/(byte) line_ydxd::x#3 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] )
|
||||
[142] (byte~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] )
|
||||
[143] if((byte) line_ydxd::y#2<(byte~) line_ydxd::$8) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] )
|
||||
to:line_ydxd::@return
|
||||
line_ydxd::@return: scope:[line_ydxd] from line_ydxd::@2
|
||||
[145] return [ ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 ] )
|
||||
[144] return [ ] ( main:0::lines:7::line:20::line_ydxd:55 [ lines::l#2 ] main:0::lines:7::line:20::line_ydxd:71 [ lines::l#2 ] )
|
||||
to:@return
|
||||
line_xdyd: scope:[line_xdyd] from line::@20 line::@24
|
||||
[146] (byte) line_xdyd::x1#6 ← phi( line::@20/(byte) line_xdyd::x1#0 line::@24/(byte) line_xdyd::x1#1 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] )
|
||||
[146] (byte) line_xdyd::xd#5 ← phi( line::@20/(byte) line_xdyd::xd#0 line::@24/(byte) line_xdyd::xd#1 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] )
|
||||
[146] (byte) line_xdyd::y#5 ← phi( line::@20/(byte) line_xdyd::y#0 line::@24/(byte) line_xdyd::y#1 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] )
|
||||
[146] (byte) line_xdyd::x#6 ← phi( line::@20/(byte) line_xdyd::x#0 line::@24/(byte) line_xdyd::x#1 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] )
|
||||
[146] (byte) line_xdyd::yd#2 ← phi( line::@20/(byte) line_xdyd::yd#0 line::@24/(byte) line_xdyd::yd#1 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] )
|
||||
[147] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] )
|
||||
[145] (byte) line_xdyd::x1#6 ← phi( line::@20/(byte) line_xdyd::x1#0 line::@24/(byte) line_xdyd::x1#1 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] )
|
||||
[145] (byte) line_xdyd::xd#5 ← phi( line::@20/(byte) line_xdyd::xd#0 line::@24/(byte) line_xdyd::xd#1 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] )
|
||||
[145] (byte) line_xdyd::y#5 ← phi( line::@20/(byte) line_xdyd::y#0 line::@24/(byte) line_xdyd::y#1 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] )
|
||||
[145] (byte) line_xdyd::x#6 ← phi( line::@20/(byte) line_xdyd::x#0 line::@24/(byte) line_xdyd::x#1 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] )
|
||||
[145] (byte) line_xdyd::yd#2 ← phi( line::@20/(byte) line_xdyd::yd#0 line::@24/(byte) line_xdyd::yd#1 ) [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 ] )
|
||||
[146] (byte) line_xdyd::e#0 ← (byte) line_xdyd::yd#2 >> (byte) 1 [ line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::x#6 line_xdyd::y#5 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::e#0 ] )
|
||||
to:line_xdyd::@1
|
||||
line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2
|
||||
[148] (byte) line_xdyd::e#3 ← phi( line_xdyd/(byte) line_xdyd::e#0 line_xdyd::@2/(byte) line_xdyd::e#6 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
|
||||
[148] (byte) line_xdyd::y#3 ← phi( line_xdyd/(byte) line_xdyd::y#5 line_xdyd::@2/(byte) line_xdyd::y#6 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
|
||||
[148] (byte) line_xdyd::x#3 ← phi( line_xdyd/(byte) line_xdyd::x#6 line_xdyd::@2/(byte) line_xdyd::x#2 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
|
||||
[149] (byte) plot::x#1 ← (byte) line_xdyd::x#3 [ plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
|
||||
[150] (byte) plot::y#1 ← (byte) line_xdyd::y#3 [ plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
|
||||
[151] call plot param-assignment [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
|
||||
[147] (byte) line_xdyd::e#3 ← phi( line_xdyd/(byte) line_xdyd::e#0 line_xdyd::@2/(byte) line_xdyd::e#6 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
|
||||
[147] (byte) line_xdyd::y#3 ← phi( line_xdyd/(byte) line_xdyd::y#5 line_xdyd::@2/(byte) line_xdyd::y#6 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
|
||||
[147] (byte) line_xdyd::x#3 ← phi( line_xdyd/(byte) line_xdyd::x#6 line_xdyd::@2/(byte) line_xdyd::x#2 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
|
||||
[148] (byte) plot::x#1 ← (byte) line_xdyd::x#3 [ plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 plot::x#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
|
||||
[149] (byte) plot::y#1 ← (byte) line_xdyd::y#3 [ plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 plot::x#1 plot::y#1 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
|
||||
[150] call plot param-assignment [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
|
||||
to:line_xdyd::@5
|
||||
line_xdyd::@5: scope:[line_xdyd] from line_xdyd::@1
|
||||
[152] (byte) line_xdyd::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] )
|
||||
[153] (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] )
|
||||
[154] if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] )
|
||||
[151] (byte) line_xdyd::x#2 ← (byte) line_xdyd::x#3 + (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] )
|
||||
[152] (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] )
|
||||
[153] if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] )
|
||||
to:line_xdyd::@3
|
||||
line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5
|
||||
[155] (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] )
|
||||
[156] (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#5 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] )
|
||||
[154] (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] )
|
||||
[155] (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#5 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] )
|
||||
to:line_xdyd::@2
|
||||
line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5
|
||||
[157] (byte) line_xdyd::e#6 ← phi( line_xdyd::@3/(byte) line_xdyd::e#2 line_xdyd::@5/(byte) line_xdyd::e#1 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] )
|
||||
[157] (byte) line_xdyd::y#6 ← phi( line_xdyd::@3/(byte) line_xdyd::y#2 line_xdyd::@5/(byte) line_xdyd::y#3 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] )
|
||||
[158] (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$8 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$8 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$8 ] )
|
||||
[159] if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) goto line_xdyd::@1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] )
|
||||
[156] (byte) line_xdyd::e#6 ← phi( line_xdyd::@3/(byte) line_xdyd::e#2 line_xdyd::@5/(byte) line_xdyd::e#1 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] )
|
||||
[156] (byte) line_xdyd::y#6 ← phi( line_xdyd::@3/(byte) line_xdyd::y#2 line_xdyd::@5/(byte) line_xdyd::y#3 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] )
|
||||
[157] (byte~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$8 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$8 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$8 ] )
|
||||
[158] if((byte) line_xdyd::x#2<(byte~) line_xdyd::$8) goto line_xdyd::@1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] )
|
||||
to:line_xdyd::@return
|
||||
line_xdyd::@return: scope:[line_xdyd] from line_xdyd::@2
|
||||
[160] return [ ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 ] )
|
||||
[159] return [ ] ( main:0::lines:7::line:20::line_xdyd:49 [ lines::l#2 ] main:0::lines:7::line:20::line_xdyd:65 [ lines::l#2 ] )
|
||||
to:@return
|
||||
init_plot_tables: scope:[init_plot_tables] from main::@3
|
||||
[161] phi() [ ] ( main:0::init_plot_tables:6 [ ] )
|
||||
[160] phi() [ ] ( main:0::init_plot_tables:6 [ ] )
|
||||
to:init_plot_tables::@1
|
||||
init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@2
|
||||
[162] (byte) init_plot_tables::bits#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@2/(byte) init_plot_tables::bits#4 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[162] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@2/(byte) init_plot_tables::x#1 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[163] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] )
|
||||
[164] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[165] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[166] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[167] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] )
|
||||
[168] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] )
|
||||
[161] (byte) init_plot_tables::bits#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@2/(byte) init_plot_tables::bits#4 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[161] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@2/(byte) init_plot_tables::x#1 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[162] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] )
|
||||
[163] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[164] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[165] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[166] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] )
|
||||
[167] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] )
|
||||
to:init_plot_tables::@2
|
||||
init_plot_tables::@2: scope:[init_plot_tables] from init_plot_tables::@1 init_plot_tables::@10
|
||||
[169] (byte) init_plot_tables::bits#4 ← phi( init_plot_tables::@10/(byte) init_plot_tables::bits#1 init_plot_tables::@1/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#4 ] )
|
||||
[170] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] )
|
||||
[171] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] )
|
||||
[168] (byte) init_plot_tables::bits#4 ← phi( init_plot_tables::@10/(byte) init_plot_tables::bits#1 init_plot_tables::@1/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#4 ] )
|
||||
[169] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] )
|
||||
[170] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] )
|
||||
to:init_plot_tables::@3
|
||||
init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@2 init_plot_tables::@4
|
||||
[172] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[172] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@4/(byte) init_plot_tables::y#1 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[173] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] )
|
||||
[174] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] )
|
||||
[175] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] )
|
||||
[176] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[177] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] )
|
||||
[178] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[179] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] )
|
||||
[180] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[171] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[171] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@4/(byte) init_plot_tables::y#1 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[172] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] )
|
||||
[173] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] )
|
||||
[174] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] )
|
||||
[175] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[176] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] )
|
||||
[177] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[178] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] )
|
||||
[179] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
to:init_plot_tables::@7
|
||||
init_plot_tables::@7: scope:[init_plot_tables] from init_plot_tables::@3
|
||||
[181] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] )
|
||||
[180] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] )
|
||||
to:init_plot_tables::@4
|
||||
init_plot_tables::@4: scope:[init_plot_tables] from init_plot_tables::@3 init_plot_tables::@7
|
||||
[182] (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@3/(byte*) init_plot_tables::yoffs#2 init_plot_tables::@7/(byte*) init_plot_tables::yoffs#1 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] )
|
||||
[183] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] )
|
||||
[184] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] )
|
||||
[181] (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@3/(byte*) init_plot_tables::yoffs#2 init_plot_tables::@7/(byte*) init_plot_tables::yoffs#1 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] )
|
||||
[182] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] )
|
||||
[183] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] )
|
||||
to:init_plot_tables::@return
|
||||
init_plot_tables::@return: scope:[init_plot_tables] from init_plot_tables::@4
|
||||
[185] return [ ] ( main:0::init_plot_tables:6 [ ] )
|
||||
[184] return [ ] ( main:0::init_plot_tables:6 [ ] )
|
||||
to:@return
|
||||
init_plot_tables::@10: scope:[init_plot_tables] from init_plot_tables::@1
|
||||
to:init_plot_tables::@2
|
||||
init_screen: scope:[init_screen] from main
|
||||
[186] phi() [ ] ( main:0::init_screen:5 [ ] )
|
||||
[185] phi() [ ] ( main:0::init_screen:5 [ ] )
|
||||
to:init_screen::@1
|
||||
init_screen::@1: scope:[init_screen] from init_screen init_screen::@1
|
||||
[187] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@1/(byte*) init_screen::b#1 ) [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] )
|
||||
[188] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] )
|
||||
[189] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] )
|
||||
[190] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] )
|
||||
[186] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@1/(byte*) init_screen::b#1 ) [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] )
|
||||
[187] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] )
|
||||
[188] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] )
|
||||
[189] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] )
|
||||
to:init_screen::@2
|
||||
init_screen::@2: scope:[init_screen] from init_screen::@1 init_screen::@2
|
||||
[191] (byte*) init_screen::c#2 ← phi( init_screen::@2/(byte*) init_screen::c#1 init_screen::@1/(const byte*) SCREEN#0 ) [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] )
|
||||
[192] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] )
|
||||
[193] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] )
|
||||
[194] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] )
|
||||
[190] (byte*) init_screen::c#2 ← phi( init_screen::@2/(byte*) init_screen::c#1 init_screen::@1/(const byte*) SCREEN#0 ) [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] )
|
||||
[191] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] )
|
||||
[192] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] )
|
||||
[193] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] )
|
||||
to:init_screen::@return
|
||||
init_screen::@return: scope:[init_screen] from init_screen::@2
|
||||
[195] return [ ] ( main:0::init_screen:5 [ ] )
|
||||
[194] return [ ] ( main:0::init_screen:5 [ ] )
|
||||
to:@return
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -282,12 +282,11 @@
|
||||
(byte~) plot::$1 reg byte a 4.0
|
||||
(byte~) plot::$2 reg byte a 4.0
|
||||
(byte~) plot::$3 reg byte a 4.0
|
||||
(byte~) plot::$5 $5 zp ZP_BYTE:10 2.0
|
||||
(byte~) plot::$5 reg byte alu 4.0
|
||||
(byte~) plot::$6 reg byte a 4.0
|
||||
(byte~) plot::$7 reg byte a 4.0
|
||||
(label) plot::@return
|
||||
(byte*) plot::plotter
|
||||
(byte*) plot::plotter#0 plotter zp ZP_PTR_BYTE:8 1.5
|
||||
(byte*) plot::plotter#0 plotter zp ZP_PTR_BYTE:8 1.3333333333333333
|
||||
(byte*) plot::plotter_x
|
||||
(byte*) plot::plotter_x#1 plotter_x zp ZP_PTR_BYTE:8 2.0
|
||||
(byte*) plot::plotter_x#2 plotter_x zp ZP_PTR_BYTE:8 0.8
|
||||
@ -299,7 +298,7 @@
|
||||
(byte) plot::x#1 reg byte x 11.0
|
||||
(byte) plot::x#2 reg byte x 11.0
|
||||
(byte) plot::x#3 reg byte x 11.0
|
||||
(byte) plot::x#4 reg byte x 4.545454545454545
|
||||
(byte) plot::x#4 reg byte x 5.000000000000001
|
||||
(byte) plot::y
|
||||
(byte) plot::y#0 reg byte y 22.0
|
||||
(byte) plot::y#1 reg byte y 22.0
|
||||
@ -336,15 +335,15 @@ zp ZP_PTR_BYTE:8 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot
|
||||
reg byte y [ lines::$0 ]
|
||||
reg byte x [ lines::$5 ]
|
||||
reg byte y [ line::y0#0 ]
|
||||
zp ZP_BYTE:10 [ line::yd#1 line::yd#0 line::yd#3 line::yd#10 plot::$5 line_xdyi::$8 line_xdyd::$8 ]
|
||||
zp ZP_BYTE:10 [ line::yd#1 line::yd#0 line::yd#3 line::yd#10 line_xdyi::$8 line_xdyd::$8 ]
|
||||
reg byte a [ line_ydxi::$8 ]
|
||||
reg byte a [ plot::$0 ]
|
||||
reg byte a [ plot::$1 ]
|
||||
reg byte a [ plot::$2 ]
|
||||
zp ZP_PTR_BYTE:11 [ plot::plotter_y#1 plot::plotter_y#2 ]
|
||||
reg byte a [ plot::$3 ]
|
||||
reg byte alu [ plot::$5 ]
|
||||
reg byte a [ plot::$6 ]
|
||||
reg byte a [ plot::$7 ]
|
||||
reg byte a [ line_ydxd::$8 ]
|
||||
reg byte a [ init_plot_tables::$0 ]
|
||||
reg byte a [ init_plot_tables::$7 ]
|
||||
|
@ -40,13 +40,15 @@ main: {
|
||||
lda RASTER
|
||||
cmp #$ff
|
||||
bne b2
|
||||
ldx BGCOL
|
||||
inx
|
||||
stx BGCOL
|
||||
lda BGCOL
|
||||
clc
|
||||
adc #1
|
||||
sta BGCOL
|
||||
jsr plots
|
||||
ldx BGCOL
|
||||
dex
|
||||
stx BGCOL
|
||||
lda BGCOL
|
||||
sec
|
||||
sbc #1
|
||||
sta BGCOL
|
||||
jmp b2
|
||||
rts
|
||||
}
|
||||
@ -60,8 +62,7 @@ plots: {
|
||||
tay
|
||||
ldx i
|
||||
lda plots_y,x
|
||||
sty plot.x
|
||||
tay
|
||||
tax
|
||||
jsr plot
|
||||
inc i
|
||||
lda i
|
||||
@ -70,24 +71,21 @@ plots: {
|
||||
rts
|
||||
}
|
||||
plot: {
|
||||
.label _5 = 8
|
||||
.label x = 5
|
||||
.label _5 = 7
|
||||
.label plotter_x = 3
|
||||
.label plotter_y = 6
|
||||
.label plotter_y = 5
|
||||
.label plotter = 3
|
||||
ldx x
|
||||
lda plot_xhi,x
|
||||
lda plot_xhi,y
|
||||
sta plotter_x+1
|
||||
lda #<0
|
||||
sta plotter_x
|
||||
ldx x
|
||||
lda plot_xlo,x
|
||||
lda plot_xlo,y
|
||||
sta plotter_x
|
||||
lda plot_yhi,y
|
||||
lda plot_yhi,x
|
||||
sta plotter_y+1
|
||||
lda #<0
|
||||
sta plotter_y
|
||||
lda plot_ylo,y
|
||||
lda plot_ylo,x
|
||||
sta plotter_y
|
||||
lda plotter
|
||||
clc
|
||||
@ -96,11 +94,10 @@ plot: {
|
||||
lda plotter+1
|
||||
adc plotter_y+1
|
||||
sta plotter+1
|
||||
lda plot_bit,y
|
||||
sta _5
|
||||
ldy #0
|
||||
lda (plotter),y
|
||||
sta _5
|
||||
ldx x
|
||||
lda plot_bit,x
|
||||
ora _5
|
||||
sta (plotter),y
|
||||
rts
|
||||
|
@ -15,118 +15,114 @@ main::@5: scope:[main] from main
|
||||
[6] call init_plot_tables param-assignment [ ] ( main:0 [ ] )
|
||||
to:main::@2
|
||||
main::@2: scope:[main] from main::@2 main::@5 main::@7
|
||||
[7] (byte~) main::$5 ← * (const byte*) RASTER#0 [ main::$5 ] ( main:0 [ main::$5 ] )
|
||||
[8] if((byte~) main::$5!=(byte) 255) goto main::@2 [ ] ( main:0 [ ] )
|
||||
[7] if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@2 [ ] ( main:0 [ ] )
|
||||
to:main::@3
|
||||
main::@3: scope:[main] from main::@2
|
||||
[9] (byte~) main::$7 ← * (const byte*) BGCOL#0 [ main::$7 ] ( main:0 [ main::$7 ] )
|
||||
[10] (byte~) main::$8 ← (byte~) main::$7 + (byte) 1 [ main::$8 ] ( main:0 [ main::$8 ] )
|
||||
[11] *((const byte*) BGCOL#0) ← (byte~) main::$8 [ ] ( main:0 [ ] )
|
||||
[12] call plots param-assignment [ ] ( main:0 [ ] )
|
||||
[8] (byte~) main::$6 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::$6 ] ( main:0 [ main::$6 ] )
|
||||
[9] *((const byte*) BGCOL#0) ← (byte~) main::$6 [ ] ( main:0 [ ] )
|
||||
[10] call plots param-assignment [ ] ( main:0 [ ] )
|
||||
to:main::@7
|
||||
main::@7: scope:[main] from main::@3
|
||||
[13] (byte~) main::$10 ← * (const byte*) BGCOL#0 [ main::$10 ] ( main:0 [ main::$10 ] )
|
||||
[14] (byte~) main::$11 ← (byte~) main::$10 - (byte) 1 [ main::$11 ] ( main:0 [ main::$11 ] )
|
||||
[15] *((const byte*) BGCOL#0) ← (byte~) main::$11 [ ] ( main:0 [ ] )
|
||||
[16] if(true) goto main::@2 [ ] ( main:0 [ ] )
|
||||
[11] (byte~) main::$8 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::$8 ] ( main:0 [ main::$8 ] )
|
||||
[12] *((const byte*) BGCOL#0) ← (byte~) main::$8 [ ] ( main:0 [ ] )
|
||||
[13] if(true) goto main::@2 [ ] ( main:0 [ ] )
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@7
|
||||
[17] return [ ] ( main:0 [ ] )
|
||||
[14] return [ ] ( main:0 [ ] )
|
||||
to:@return
|
||||
plots: scope:[plots] from main::@3
|
||||
[18] phi() [ ] ( main:0::plots:12 [ ] )
|
||||
[15] phi() [ ] ( main:0::plots:10 [ ] )
|
||||
to:plots::@1
|
||||
plots::@1: scope:[plots] from plots plots::@3
|
||||
[19] (byte) plots::i#2 ← phi( plots/(byte) 0 plots::@3/(byte) plots::i#1 ) [ plots::i#2 ] ( main:0::plots:12 [ plots::i#2 ] )
|
||||
[20] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:12 [ plots::i#2 plots::$0 ] )
|
||||
[21] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:12 [ plots::i#2 plots::$0 plots::$1 ] )
|
||||
[22] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:12 [ plots::i#2 plots::$1 plot::x#0 ] )
|
||||
[23] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:12 [ plots::i#2 plot::x#0 plot::y#0 ] )
|
||||
[24] call plot param-assignment [ plots::i#2 ] ( main:0::plots:12 [ plots::i#2 ] )
|
||||
[16] (byte) plots::i#2 ← phi( plots/(byte) 0 plots::@3/(byte) plots::i#1 ) [ plots::i#2 ] ( main:0::plots:10 [ plots::i#2 ] )
|
||||
[17] (byte~) plots::$0 ← (const byte[]) plots_x#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 ] ( main:0::plots:10 [ plots::i#2 plots::$0 ] )
|
||||
[18] (byte~) plots::$1 ← (const byte[]) plots_y#0 *idx (byte) plots::i#2 [ plots::i#2 plots::$0 plots::$1 ] ( main:0::plots:10 [ plots::i#2 plots::$0 plots::$1 ] )
|
||||
[19] (byte) plot::x#0 ← (byte~) plots::$0 [ plots::i#2 plots::$1 plot::x#0 ] ( main:0::plots:10 [ plots::i#2 plots::$1 plot::x#0 ] )
|
||||
[20] (byte) plot::y#0 ← (byte~) plots::$1 [ plots::i#2 plot::x#0 plot::y#0 ] ( main:0::plots:10 [ plots::i#2 plot::x#0 plot::y#0 ] )
|
||||
[21] call plot param-assignment [ plots::i#2 ] ( main:0::plots:10 [ plots::i#2 ] )
|
||||
to:plots::@3
|
||||
plots::@3: scope:[plots] from plots::@1
|
||||
[25] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:12 [ plots::i#1 ] )
|
||||
[26] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:12 [ plots::i#1 ] )
|
||||
[22] (byte) plots::i#1 ← ++ (byte) plots::i#2 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] )
|
||||
[23] if((byte) plots::i#1<(const byte) plots_cnt#0) goto plots::@1 [ plots::i#1 ] ( main:0::plots:10 [ plots::i#1 ] )
|
||||
to:plots::@return
|
||||
plots::@return: scope:[plots] from plots::@3
|
||||
[27] return [ ] ( main:0::plots:12 [ ] )
|
||||
[24] return [ ] ( main:0::plots:10 [ ] )
|
||||
to:@return
|
||||
plot: scope:[plot] from plots::@1
|
||||
[28] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:12::plot:24 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] )
|
||||
[29] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:12::plot:24 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] )
|
||||
[30] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:12::plot:24 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] )
|
||||
[31] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:12::plot:24 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] )
|
||||
[32] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:12::plot:24 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] )
|
||||
[33] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:12::plot:24 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] )
|
||||
[34] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:12::plot:24 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] )
|
||||
[35] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:12::plot:24 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] )
|
||||
[36] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:12::plot:24 [ plots::i#2 plot::x#0 plot::plotter#0 ] )
|
||||
[37] (byte~) plot::$5 ← * (byte*) plot::plotter#0 [ plot::x#0 plot::plotter#0 plot::$5 ] ( main:0::plots:12::plot:24 [ plots::i#2 plot::x#0 plot::plotter#0 plot::$5 ] )
|
||||
[38] (byte~) plot::$6 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 plot::$6 ] ( main:0::plots:12::plot:24 [ plots::i#2 plot::plotter#0 plot::$5 plot::$6 ] )
|
||||
[39] (byte~) plot::$7 ← (byte~) plot::$5 | (byte~) plot::$6 [ plot::plotter#0 plot::$7 ] ( main:0::plots:12::plot:24 [ plots::i#2 plot::plotter#0 plot::$7 ] )
|
||||
[40] *((byte*) plot::plotter#0) ← (byte~) plot::$7 [ ] ( main:0::plots:12::plot:24 [ plots::i#2 ] )
|
||||
[25] (byte~) plot::$0 ← (const byte[]) plot_xhi#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::$0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::$0 ] )
|
||||
[26] (byte*) plot::plotter_x#1 ← (byte) 0 hi= (byte~) plot::$0 [ plot::x#0 plot::y#0 plot::plotter_x#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 ] )
|
||||
[27] (byte~) plot::$1 ← (const byte[]) plot_xlo#0 *idx (byte) plot::x#0 [ plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#1 plot::$1 ] )
|
||||
[28] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$1 [ plot::x#0 plot::y#0 plot::plotter_x#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 ] )
|
||||
[29] (byte~) plot::$2 ← (const byte[]) plot_yhi#0 *idx (byte) plot::y#0 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::$2 ] )
|
||||
[30] (byte*) plot::plotter_y#1 ← (byte) 0 hi= (byte~) plot::$2 [ plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::y#0 plot::plotter_x#2 plot::plotter_y#1 ] )
|
||||
[31] (byte~) plot::$3 ← (const byte[]) plot_ylo#0 *idx (byte) plot::y#0 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#1 plot::$3 ] )
|
||||
[32] (byte*) plot::plotter_y#2 ← (byte*) plot::plotter_y#1 lo= (byte~) plot::$3 [ plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter_x#2 plot::plotter_y#2 ] )
|
||||
[33] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (byte*) plot::plotter_y#2 [ plot::x#0 plot::plotter#0 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::x#0 plot::plotter#0 ] )
|
||||
[34] (byte~) plot::$5 ← (const byte[]) plot_bit#0 *idx (byte) plot::x#0 [ plot::plotter#0 plot::$5 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$5 ] )
|
||||
[35] (byte~) plot::$6 ← *((byte*) plot::plotter#0) | (byte~) plot::$5 [ plot::plotter#0 plot::$6 ] ( main:0::plots:10::plot:21 [ plots::i#2 plot::plotter#0 plot::$6 ] )
|
||||
[36] *((byte*) plot::plotter#0) ← (byte~) plot::$6 [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] )
|
||||
to:plot::@return
|
||||
plot::@return: scope:[plot] from plot
|
||||
[41] return [ ] ( main:0::plots:12::plot:24 [ plots::i#2 ] )
|
||||
[37] return [ ] ( main:0::plots:10::plot:21 [ plots::i#2 ] )
|
||||
to:@return
|
||||
init_plot_tables: scope:[init_plot_tables] from main::@5
|
||||
[42] phi() [ ] ( main:0::init_plot_tables:6 [ ] )
|
||||
[38] phi() [ ] ( main:0::init_plot_tables:6 [ ] )
|
||||
to:init_plot_tables::@1
|
||||
init_plot_tables::@1: scope:[init_plot_tables] from init_plot_tables init_plot_tables::@2
|
||||
[43] (byte) init_plot_tables::bits#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@2/(byte) init_plot_tables::bits#4 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[43] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@2/(byte) init_plot_tables::x#1 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[44] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] )
|
||||
[45] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[46] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[47] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[48] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] )
|
||||
[49] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] )
|
||||
[39] (byte) init_plot_tables::bits#3 ← phi( init_plot_tables/(byte) 128 init_plot_tables::@2/(byte) init_plot_tables::bits#4 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[39] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@2/(byte) init_plot_tables::x#1 ) [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[40] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) 248 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 init_plot_tables::$0 ] )
|
||||
[41] *((const byte[]) plot_xlo#0 + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[42] *((const byte[]) plot_xhi#0 + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP#0 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[43] *((const byte[]) plot_bit#0 + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#3 ] )
|
||||
[44] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#1 ] )
|
||||
[45] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@10 [ init_plot_tables::x#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 ] )
|
||||
to:init_plot_tables::@2
|
||||
init_plot_tables::@2: scope:[init_plot_tables] from init_plot_tables::@1 init_plot_tables::@10
|
||||
[50] (byte) init_plot_tables::bits#4 ← phi( init_plot_tables::@10/(byte) init_plot_tables::bits#1 init_plot_tables::@1/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#4 ] )
|
||||
[51] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] )
|
||||
[52] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] )
|
||||
[46] (byte) init_plot_tables::bits#4 ← phi( init_plot_tables::@10/(byte) init_plot_tables::bits#1 init_plot_tables::@1/(byte) 128 ) [ init_plot_tables::x#2 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#2 init_plot_tables::bits#4 ] )
|
||||
[47] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] )
|
||||
[48] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::x#1 init_plot_tables::bits#4 ] )
|
||||
to:init_plot_tables::@3
|
||||
init_plot_tables::@3: scope:[init_plot_tables] from init_plot_tables::@2 init_plot_tables::@4
|
||||
[53] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[53] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@4/(byte) init_plot_tables::y#1 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[54] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] )
|
||||
[55] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] )
|
||||
[56] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] )
|
||||
[57] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[58] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] )
|
||||
[59] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[60] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] )
|
||||
[61] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[49] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[49] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@4/(byte) init_plot_tables::y#1 init_plot_tables::@2/(byte) 0 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[50] (byte~) init_plot_tables::$6 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 ] )
|
||||
[51] (byte~) init_plot_tables::$7 ← < (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$6 init_plot_tables::$7 ] )
|
||||
[52] (byte~) init_plot_tables::$8 ← (byte~) init_plot_tables::$6 | (byte~) init_plot_tables::$7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$8 ] )
|
||||
[53] *((const byte[]) plot_ylo#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[54] (byte~) init_plot_tables::$9 ← > (byte*) init_plot_tables::yoffs#2 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$9 ] )
|
||||
[55] *((const byte[]) plot_yhi#0 + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$9 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
[56] (byte~) init_plot_tables::$10 ← (byte) init_plot_tables::y#2 & (byte) 7 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 init_plot_tables::$10 ] )
|
||||
[57] if((byte~) init_plot_tables::$10!=(byte) 7) goto init_plot_tables::@4 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#2 ] )
|
||||
to:init_plot_tables::@7
|
||||
init_plot_tables::@7: scope:[init_plot_tables] from init_plot_tables::@3
|
||||
[62] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] )
|
||||
[58] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word) 320 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#1 ] )
|
||||
to:init_plot_tables::@4
|
||||
init_plot_tables::@4: scope:[init_plot_tables] from init_plot_tables::@3 init_plot_tables::@7
|
||||
[63] (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@3/(byte*) init_plot_tables::yoffs#2 init_plot_tables::@7/(byte*) init_plot_tables::yoffs#1 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] )
|
||||
[64] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] )
|
||||
[65] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] )
|
||||
[59] (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@3/(byte*) init_plot_tables::yoffs#2 init_plot_tables::@7/(byte*) init_plot_tables::yoffs#1 ) [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#2 init_plot_tables::yoffs#4 ] )
|
||||
[60] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] )
|
||||
[61] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] ( main:0::init_plot_tables:6 [ init_plot_tables::y#1 init_plot_tables::yoffs#4 ] )
|
||||
to:init_plot_tables::@return
|
||||
init_plot_tables::@return: scope:[init_plot_tables] from init_plot_tables::@4
|
||||
[66] return [ ] ( main:0::init_plot_tables:6 [ ] )
|
||||
[62] return [ ] ( main:0::init_plot_tables:6 [ ] )
|
||||
to:@return
|
||||
init_plot_tables::@10: scope:[init_plot_tables] from init_plot_tables::@1
|
||||
to:init_plot_tables::@2
|
||||
init_screen: scope:[init_screen] from main
|
||||
[67] phi() [ ] ( main:0::init_screen:5 [ ] )
|
||||
[63] phi() [ ] ( main:0::init_screen:5 [ ] )
|
||||
to:init_screen::@1
|
||||
init_screen::@1: scope:[init_screen] from init_screen init_screen::@1
|
||||
[68] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@1/(byte*) init_screen::b#1 ) [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] )
|
||||
[69] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] )
|
||||
[70] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] )
|
||||
[71] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] )
|
||||
[64] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP#0 init_screen::@1/(byte*) init_screen::b#1 ) [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] )
|
||||
[65] *((byte*) init_screen::b#2) ← (byte) 0 [ init_screen::b#2 ] ( main:0::init_screen:5 [ init_screen::b#2 ] )
|
||||
[66] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] )
|
||||
[67] if((byte*) init_screen::b#1!=(const byte*) BITMAP#0+(word) 8192) goto init_screen::@1 [ init_screen::b#1 ] ( main:0::init_screen:5 [ init_screen::b#1 ] )
|
||||
to:init_screen::@2
|
||||
init_screen::@2: scope:[init_screen] from init_screen::@1 init_screen::@2
|
||||
[72] (byte*) init_screen::c#2 ← phi( init_screen::@2/(byte*) init_screen::c#1 init_screen::@1/(const byte*) SCREEN#0 ) [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] )
|
||||
[73] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] )
|
||||
[74] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] )
|
||||
[75] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] )
|
||||
[68] (byte*) init_screen::c#2 ← phi( init_screen::@2/(byte*) init_screen::c#1 init_screen::@1/(const byte*) SCREEN#0 ) [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] )
|
||||
[69] *((byte*) init_screen::c#2) ← (byte) 20 [ init_screen::c#2 ] ( main:0::init_screen:5 [ init_screen::c#2 ] )
|
||||
[70] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] )
|
||||
[71] if((byte*) init_screen::c#1!=(const byte*) SCREEN#0+(word) 1024) goto init_screen::@2 [ init_screen::c#1 ] ( main:0::init_screen:5 [ init_screen::c#1 ] )
|
||||
to:init_screen::@return
|
||||
init_screen::@return: scope:[init_screen] from init_screen::@2
|
||||
[76] return [ ] ( main:0::init_screen:5 [ ] )
|
||||
[72] return [ ] ( main:0::init_screen:5 [ ] )
|
||||
to:@return
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -72,11 +72,8 @@
|
||||
(byte*) init_screen::c#1 c zp ZP_PTR_BYTE:3 16.5
|
||||
(byte*) init_screen::c#2 c zp ZP_PTR_BYTE:3 16.5
|
||||
(void()) main()
|
||||
(byte~) main::$10 reg byte x 22.0
|
||||
(byte~) main::$11 reg byte x 22.0
|
||||
(byte~) main::$5 reg byte a 202.0
|
||||
(byte~) main::$7 reg byte x 22.0
|
||||
(byte~) main::$8 reg byte x 22.0
|
||||
(byte~) main::$6 reg byte a 22.0
|
||||
(byte~) main::$8 reg byte a 22.0
|
||||
(label) main::@2
|
||||
(label) main::@3
|
||||
(label) main::@5
|
||||
@ -87,22 +84,21 @@
|
||||
(byte~) plot::$1 reg byte a 4.0
|
||||
(byte~) plot::$2 reg byte a 4.0
|
||||
(byte~) plot::$3 reg byte a 4.0
|
||||
(byte~) plot::$5 $5 zp ZP_BYTE:8 2.0
|
||||
(byte~) plot::$5 $5 zp ZP_BYTE:7 4.0
|
||||
(byte~) plot::$6 reg byte a 4.0
|
||||
(byte~) plot::$7 reg byte a 4.0
|
||||
(label) plot::@return
|
||||
(byte*) plot::plotter
|
||||
(byte*) plot::plotter#0 plotter zp ZP_PTR_BYTE:3 1.5
|
||||
(byte*) plot::plotter#0 plotter zp ZP_PTR_BYTE:3 1.3333333333333333
|
||||
(byte*) plot::plotter_x
|
||||
(byte*) plot::plotter_x#1 plotter_x zp ZP_PTR_BYTE:3 2.0
|
||||
(byte*) plot::plotter_x#2 plotter_x zp ZP_PTR_BYTE:3 0.8
|
||||
(byte*) plot::plotter_y
|
||||
(byte*) plot::plotter_y#1 plotter_y zp ZP_PTR_BYTE:6 2.0
|
||||
(byte*) plot::plotter_y#2 plotter_y zp ZP_PTR_BYTE:6 4.0
|
||||
(byte*) plot::plotter_y#1 plotter_y zp ZP_PTR_BYTE:5 2.0
|
||||
(byte*) plot::plotter_y#2 plotter_y zp ZP_PTR_BYTE:5 4.0
|
||||
(byte) plot::x
|
||||
(byte) plot::x#0 x zp ZP_BYTE:5 8.916666666666664
|
||||
(byte) plot::x#0 reg byte y 9.727272727272727
|
||||
(byte) plot::y
|
||||
(byte) plot::y#0 reg byte y 15.000000000000002
|
||||
(byte) plot::y#0 reg byte x 15.000000000000002
|
||||
(byte[]) plot_bit
|
||||
(const byte[]) plot_bit#0 plot_bit = (word) 5120
|
||||
(byte[]) plot_xhi
|
||||
@ -134,23 +130,19 @@ reg byte x [ init_plot_tables::x#2 init_plot_tables::x#1 ]
|
||||
reg byte y [ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ]
|
||||
reg byte x [ init_plot_tables::y#2 init_plot_tables::y#1 ]
|
||||
zp ZP_PTR_BYTE:3 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 init_screen::b#2 init_screen::b#1 init_screen::c#2 init_screen::c#1 plot::plotter_x#1 plot::plotter_x#2 plot::plotter#0 ]
|
||||
reg byte a [ main::$5 ]
|
||||
reg byte x [ main::$7 ]
|
||||
reg byte x [ main::$8 ]
|
||||
reg byte x [ main::$10 ]
|
||||
reg byte x [ main::$11 ]
|
||||
reg byte a [ main::$6 ]
|
||||
reg byte a [ main::$8 ]
|
||||
reg byte y [ plots::$0 ]
|
||||
reg byte a [ plots::$1 ]
|
||||
zp ZP_BYTE:5 [ plot::x#0 ]
|
||||
reg byte y [ plot::y#0 ]
|
||||
reg byte y [ plot::x#0 ]
|
||||
reg byte x [ plot::y#0 ]
|
||||
reg byte a [ plot::$0 ]
|
||||
reg byte a [ plot::$1 ]
|
||||
reg byte a [ plot::$2 ]
|
||||
zp ZP_PTR_BYTE:6 [ plot::plotter_y#1 plot::plotter_y#2 ]
|
||||
zp ZP_PTR_BYTE:5 [ plot::plotter_y#1 plot::plotter_y#2 ]
|
||||
reg byte a [ plot::$3 ]
|
||||
zp ZP_BYTE:8 [ plot::$5 ]
|
||||
zp ZP_BYTE:7 [ plot::$5 ]
|
||||
reg byte a [ plot::$6 ]
|
||||
reg byte a [ plot::$7 ]
|
||||
reg byte a [ init_plot_tables::$0 ]
|
||||
reg byte a [ init_plot_tables::$7 ]
|
||||
reg byte a [ init_plot_tables::$8 ]
|
||||
|
@ -10,97 +10,95 @@ main: scope:[main] from @4
|
||||
to:main::@3
|
||||
main::@3: scope:[main] from main main::@11 main::@3 main::@6
|
||||
[3] (byte) main::c#4 ← phi( main/(byte) 25 main::@6/(byte) main::c#1 main::@11/(byte) 25 ) [ main::c#4 ] ( main:0 [ main::c#4 ] )
|
||||
[4] (byte~) main::$1 ← * (const byte*) RASTER#0 [ main::c#4 main::$1 ] ( main:0 [ main::c#4 main::$1 ] )
|
||||
[5] if((byte~) main::$1!=(byte) 254) goto main::@3 [ main::c#4 ] ( main:0 [ main::c#4 ] )
|
||||
[4] if(*((const byte*) RASTER#0)!=(byte) 254) goto main::@3 [ main::c#4 ] ( main:0 [ main::c#4 ] )
|
||||
to:main::@4
|
||||
main::@4: scope:[main] from main::@3 main::@4
|
||||
[6] (byte~) main::$3 ← * (const byte*) RASTER#0 [ main::c#4 main::$3 ] ( main:0 [ main::c#4 main::$3 ] )
|
||||
[7] if((byte~) main::$3!=(byte) 255) goto main::@4 [ main::c#4 ] ( main:0 [ main::c#4 ] )
|
||||
[5] if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@4 [ main::c#4 ] ( main:0 [ main::c#4 ] )
|
||||
to:main::@6
|
||||
main::@6: scope:[main] from main::@4
|
||||
[8] (byte) main::c#1 ← -- (byte) main::c#4 [ main::c#1 ] ( main:0 [ main::c#1 ] )
|
||||
[9] if((byte) main::c#1!=(byte) 0) goto main::@3 [ main::c#1 ] ( main:0 [ main::c#1 ] )
|
||||
[6] (byte) main::c#1 ← -- (byte) main::c#4 [ main::c#1 ] ( main:0 [ main::c#1 ] )
|
||||
[7] if((byte) main::c#1!=(byte) 0) goto main::@3 [ main::c#1 ] ( main:0 [ main::c#1 ] )
|
||||
to:main::@7
|
||||
main::@7: scope:[main] from main::@6
|
||||
[10] call flip param-assignment [ ] ( main:0 [ ] )
|
||||
[8] call flip param-assignment [ ] ( main:0 [ ] )
|
||||
to:main::@10
|
||||
main::@10: scope:[main] from main::@7
|
||||
[11] call plot param-assignment [ ] ( main:0 [ ] )
|
||||
[9] call plot param-assignment [ ] ( main:0 [ ] )
|
||||
to:main::@11
|
||||
main::@11: scope:[main] from main::@10
|
||||
[12] if(true) goto main::@3 [ ] ( main:0 [ ] )
|
||||
[10] if(true) goto main::@3 [ ] ( main:0 [ ] )
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@11
|
||||
[13] return [ ] ( main:0 [ ] )
|
||||
[11] return [ ] ( main:0 [ ] )
|
||||
to:@return
|
||||
plot: scope:[plot] from main::@10
|
||||
[14] phi() [ ] ( main:0::plot:11 [ ] )
|
||||
[12] phi() [ ] ( main:0::plot:9 [ ] )
|
||||
to:plot::@1
|
||||
plot::@1: scope:[plot] from plot plot::@3
|
||||
[15] (byte) plot::y#4 ← phi( plot/(byte) 16 plot::@3/(byte) plot::y#1 ) [ plot::i#3 plot::line#4 plot::y#4 ] ( main:0::plot:11 [ plot::i#3 plot::line#4 plot::y#4 ] )
|
||||
[15] (byte*) plot::line#4 ← phi( plot/(const byte[1000]) SCREEN#0+(byte) 5*(byte) 40+(byte) 12 plot::@3/(byte*) plot::line#1 ) [ plot::i#3 plot::line#4 plot::y#4 ] ( main:0::plot:11 [ plot::i#3 plot::line#4 plot::y#4 ] )
|
||||
[15] (byte) plot::i#3 ← phi( plot/(byte) 0 plot::@3/(byte) plot::i#1 ) [ plot::i#3 plot::line#4 plot::y#4 ] ( main:0::plot:11 [ plot::i#3 plot::line#4 plot::y#4 ] )
|
||||
[13] (byte) plot::y#4 ← phi( plot/(byte) 16 plot::@3/(byte) plot::y#1 ) [ plot::i#3 plot::line#4 plot::y#4 ] ( main:0::plot:9 [ plot::i#3 plot::line#4 plot::y#4 ] )
|
||||
[13] (byte*) plot::line#4 ← phi( plot/(const byte[1000]) SCREEN#0+(byte) 5*(byte) 40+(byte) 12 plot::@3/(byte*) plot::line#1 ) [ plot::i#3 plot::line#4 plot::y#4 ] ( main:0::plot:9 [ plot::i#3 plot::line#4 plot::y#4 ] )
|
||||
[13] (byte) plot::i#3 ← phi( plot/(byte) 0 plot::@3/(byte) plot::i#1 ) [ plot::i#3 plot::line#4 plot::y#4 ] ( main:0::plot:9 [ plot::i#3 plot::line#4 plot::y#4 ] )
|
||||
to:plot::@2
|
||||
plot::@2: scope:[plot] from plot::@1 plot::@2
|
||||
[16] (byte) plot::x#2 ← phi( plot::@1/(byte) 0 plot::@2/(byte) plot::x#1 ) [ plot::line#4 plot::y#4 plot::i#2 plot::x#2 ] ( main:0::plot:11 [ plot::line#4 plot::y#4 plot::i#2 plot::x#2 ] )
|
||||
[16] (byte) plot::i#2 ← phi( plot::@1/(byte) plot::i#3 plot::@2/(byte) plot::i#1 ) [ plot::line#4 plot::y#4 plot::i#2 plot::x#2 ] ( main:0::plot:11 [ plot::line#4 plot::y#4 plot::i#2 plot::x#2 ] )
|
||||
[17] (byte~) plot::$3 ← (const byte[256]) buffer1#0 *idx (byte) plot::i#2 [ plot::line#4 plot::y#4 plot::i#2 plot::x#2 plot::$3 ] ( main:0::plot:11 [ plot::line#4 plot::y#4 plot::i#2 plot::x#2 plot::$3 ] )
|
||||
[18] *((byte*) plot::line#4 + (byte) plot::x#2) ← (byte~) plot::$3 [ plot::line#4 plot::y#4 plot::i#2 plot::x#2 ] ( main:0::plot:11 [ plot::line#4 plot::y#4 plot::i#2 plot::x#2 ] )
|
||||
[19] (byte) plot::i#1 ← ++ (byte) plot::i#2 [ plot::line#4 plot::y#4 plot::i#1 plot::x#2 ] ( main:0::plot:11 [ plot::line#4 plot::y#4 plot::i#1 plot::x#2 ] )
|
||||
[20] (byte) plot::x#1 ← ++ (byte) plot::x#2 [ plot::line#4 plot::y#4 plot::i#1 plot::x#1 ] ( main:0::plot:11 [ plot::line#4 plot::y#4 plot::i#1 plot::x#1 ] )
|
||||
[21] if((byte) plot::x#1<(byte) 16) goto plot::@2 [ plot::line#4 plot::y#4 plot::i#1 plot::x#1 ] ( main:0::plot:11 [ plot::line#4 plot::y#4 plot::i#1 plot::x#1 ] )
|
||||
[14] (byte) plot::x#2 ← phi( plot::@1/(byte) 0 plot::@2/(byte) plot::x#1 ) [ plot::line#4 plot::y#4 plot::i#2 plot::x#2 ] ( main:0::plot:9 [ plot::line#4 plot::y#4 plot::i#2 plot::x#2 ] )
|
||||
[14] (byte) plot::i#2 ← phi( plot::@1/(byte) plot::i#3 plot::@2/(byte) plot::i#1 ) [ plot::line#4 plot::y#4 plot::i#2 plot::x#2 ] ( main:0::plot:9 [ plot::line#4 plot::y#4 plot::i#2 plot::x#2 ] )
|
||||
[15] (byte~) plot::$3 ← (const byte[256]) buffer1#0 *idx (byte) plot::i#2 [ plot::line#4 plot::y#4 plot::i#2 plot::x#2 plot::$3 ] ( main:0::plot:9 [ plot::line#4 plot::y#4 plot::i#2 plot::x#2 plot::$3 ] )
|
||||
[16] *((byte*) plot::line#4 + (byte) plot::x#2) ← (byte~) plot::$3 [ plot::line#4 plot::y#4 plot::i#2 plot::x#2 ] ( main:0::plot:9 [ plot::line#4 plot::y#4 plot::i#2 plot::x#2 ] )
|
||||
[17] (byte) plot::i#1 ← ++ (byte) plot::i#2 [ plot::line#4 plot::y#4 plot::i#1 plot::x#2 ] ( main:0::plot:9 [ plot::line#4 plot::y#4 plot::i#1 plot::x#2 ] )
|
||||
[18] (byte) plot::x#1 ← ++ (byte) plot::x#2 [ plot::line#4 plot::y#4 plot::i#1 plot::x#1 ] ( main:0::plot:9 [ plot::line#4 plot::y#4 plot::i#1 plot::x#1 ] )
|
||||
[19] if((byte) plot::x#1<(byte) 16) goto plot::@2 [ plot::line#4 plot::y#4 plot::i#1 plot::x#1 ] ( main:0::plot:9 [ plot::line#4 plot::y#4 plot::i#1 plot::x#1 ] )
|
||||
to:plot::@3
|
||||
plot::@3: scope:[plot] from plot::@2
|
||||
[22] (byte*) plot::line#1 ← (byte*) plot::line#4 + (byte) 40 [ plot::y#4 plot::i#1 plot::line#1 ] ( main:0::plot:11 [ plot::y#4 plot::i#1 plot::line#1 ] )
|
||||
[23] (byte) plot::y#1 ← -- (byte) plot::y#4 [ plot::i#1 plot::line#1 plot::y#1 ] ( main:0::plot:11 [ plot::i#1 plot::line#1 plot::y#1 ] )
|
||||
[24] if((byte) plot::y#1!=(byte) 0) goto plot::@1 [ plot::i#1 plot::line#1 plot::y#1 ] ( main:0::plot:11 [ plot::i#1 plot::line#1 plot::y#1 ] )
|
||||
[20] (byte*) plot::line#1 ← (byte*) plot::line#4 + (byte) 40 [ plot::y#4 plot::i#1 plot::line#1 ] ( main:0::plot:9 [ plot::y#4 plot::i#1 plot::line#1 ] )
|
||||
[21] (byte) plot::y#1 ← -- (byte) plot::y#4 [ plot::i#1 plot::line#1 plot::y#1 ] ( main:0::plot:9 [ plot::i#1 plot::line#1 plot::y#1 ] )
|
||||
[22] if((byte) plot::y#1!=(byte) 0) goto plot::@1 [ plot::i#1 plot::line#1 plot::y#1 ] ( main:0::plot:9 [ plot::i#1 plot::line#1 plot::y#1 ] )
|
||||
to:plot::@return
|
||||
plot::@return: scope:[plot] from plot::@3
|
||||
[25] return [ ] ( main:0::plot:11 [ ] )
|
||||
[23] return [ ] ( main:0::plot:9 [ ] )
|
||||
to:@return
|
||||
flip: scope:[flip] from main::@7
|
||||
[26] phi() [ ] ( main:0::flip:10 [ ] )
|
||||
[24] phi() [ ] ( main:0::flip:8 [ ] )
|
||||
to:flip::@1
|
||||
flip::@1: scope:[flip] from flip flip::@4
|
||||
[27] (byte) flip::r#4 ← phi( flip/(byte) 16 flip::@4/(byte) flip::r#1 ) [ flip::srcIdx#3 flip::dstIdx#5 flip::r#4 ] ( main:0::flip:10 [ flip::srcIdx#3 flip::dstIdx#5 flip::r#4 ] )
|
||||
[27] (byte) flip::dstIdx#5 ← phi( flip/(byte) 15 flip::@4/(byte) flip::dstIdx#2 ) [ flip::srcIdx#3 flip::dstIdx#5 flip::r#4 ] ( main:0::flip:10 [ flip::srcIdx#3 flip::dstIdx#5 flip::r#4 ] )
|
||||
[27] (byte) flip::srcIdx#3 ← phi( flip/(byte) 0 flip::@4/(byte) flip::srcIdx#1 ) [ flip::srcIdx#3 flip::dstIdx#5 flip::r#4 ] ( main:0::flip:10 [ flip::srcIdx#3 flip::dstIdx#5 flip::r#4 ] )
|
||||
[25] (byte) flip::r#4 ← phi( flip/(byte) 16 flip::@4/(byte) flip::r#1 ) [ flip::srcIdx#3 flip::dstIdx#5 flip::r#4 ] ( main:0::flip:8 [ flip::srcIdx#3 flip::dstIdx#5 flip::r#4 ] )
|
||||
[25] (byte) flip::dstIdx#5 ← phi( flip/(byte) 15 flip::@4/(byte) flip::dstIdx#2 ) [ flip::srcIdx#3 flip::dstIdx#5 flip::r#4 ] ( main:0::flip:8 [ flip::srcIdx#3 flip::dstIdx#5 flip::r#4 ] )
|
||||
[25] (byte) flip::srcIdx#3 ← phi( flip/(byte) 0 flip::@4/(byte) flip::srcIdx#1 ) [ flip::srcIdx#3 flip::dstIdx#5 flip::r#4 ] ( main:0::flip:8 [ flip::srcIdx#3 flip::dstIdx#5 flip::r#4 ] )
|
||||
to:flip::@2
|
||||
flip::@2: scope:[flip] from flip::@1 flip::@2
|
||||
[28] (byte) flip::c#2 ← phi( flip::@1/(byte) 16 flip::@2/(byte) flip::c#1 ) [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 ] ( main:0::flip:10 [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 ] )
|
||||
[28] (byte) flip::dstIdx#3 ← phi( flip::@1/(byte) flip::dstIdx#5 flip::@2/(byte) flip::dstIdx#1 ) [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 ] ( main:0::flip:10 [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 ] )
|
||||
[28] (byte) flip::srcIdx#2 ← phi( flip::@1/(byte) flip::srcIdx#3 flip::@2/(byte) flip::srcIdx#1 ) [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 ] ( main:0::flip:10 [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 ] )
|
||||
[29] (byte~) flip::$0 ← (const byte[256]) buffer1#0 *idx (byte) flip::srcIdx#2 [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 flip::$0 ] ( main:0::flip:10 [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 flip::$0 ] )
|
||||
[30] *((const byte[256]) buffer2#0 + (byte) flip::dstIdx#3) ← (byte~) flip::$0 [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 ] ( main:0::flip:10 [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 ] )
|
||||
[31] (byte) flip::srcIdx#1 ← ++ (byte) flip::srcIdx#2 [ flip::r#4 flip::srcIdx#1 flip::dstIdx#3 flip::c#2 ] ( main:0::flip:10 [ flip::r#4 flip::srcIdx#1 flip::dstIdx#3 flip::c#2 ] )
|
||||
[32] (byte) flip::dstIdx#1 ← (byte) flip::dstIdx#3 + (byte) 16 [ flip::r#4 flip::srcIdx#1 flip::c#2 flip::dstIdx#1 ] ( main:0::flip:10 [ flip::r#4 flip::srcIdx#1 flip::c#2 flip::dstIdx#1 ] )
|
||||
[33] (byte) flip::c#1 ← -- (byte) flip::c#2 [ flip::r#4 flip::srcIdx#1 flip::dstIdx#1 flip::c#1 ] ( main:0::flip:10 [ flip::r#4 flip::srcIdx#1 flip::dstIdx#1 flip::c#1 ] )
|
||||
[34] if((byte) flip::c#1!=(byte) 0) goto flip::@2 [ flip::r#4 flip::srcIdx#1 flip::dstIdx#1 flip::c#1 ] ( main:0::flip:10 [ flip::r#4 flip::srcIdx#1 flip::dstIdx#1 flip::c#1 ] )
|
||||
[26] (byte) flip::c#2 ← phi( flip::@1/(byte) 16 flip::@2/(byte) flip::c#1 ) [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 ] ( main:0::flip:8 [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 ] )
|
||||
[26] (byte) flip::dstIdx#3 ← phi( flip::@1/(byte) flip::dstIdx#5 flip::@2/(byte) flip::dstIdx#1 ) [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 ] ( main:0::flip:8 [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 ] )
|
||||
[26] (byte) flip::srcIdx#2 ← phi( flip::@1/(byte) flip::srcIdx#3 flip::@2/(byte) flip::srcIdx#1 ) [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 ] ( main:0::flip:8 [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 ] )
|
||||
[27] (byte~) flip::$0 ← (const byte[256]) buffer1#0 *idx (byte) flip::srcIdx#2 [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 flip::$0 ] ( main:0::flip:8 [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 flip::$0 ] )
|
||||
[28] *((const byte[256]) buffer2#0 + (byte) flip::dstIdx#3) ← (byte~) flip::$0 [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 ] ( main:0::flip:8 [ flip::r#4 flip::srcIdx#2 flip::dstIdx#3 flip::c#2 ] )
|
||||
[29] (byte) flip::srcIdx#1 ← ++ (byte) flip::srcIdx#2 [ flip::r#4 flip::srcIdx#1 flip::dstIdx#3 flip::c#2 ] ( main:0::flip:8 [ flip::r#4 flip::srcIdx#1 flip::dstIdx#3 flip::c#2 ] )
|
||||
[30] (byte) flip::dstIdx#1 ← (byte) flip::dstIdx#3 + (byte) 16 [ flip::r#4 flip::srcIdx#1 flip::c#2 flip::dstIdx#1 ] ( main:0::flip:8 [ flip::r#4 flip::srcIdx#1 flip::c#2 flip::dstIdx#1 ] )
|
||||
[31] (byte) flip::c#1 ← -- (byte) flip::c#2 [ flip::r#4 flip::srcIdx#1 flip::dstIdx#1 flip::c#1 ] ( main:0::flip:8 [ flip::r#4 flip::srcIdx#1 flip::dstIdx#1 flip::c#1 ] )
|
||||
[32] if((byte) flip::c#1!=(byte) 0) goto flip::@2 [ flip::r#4 flip::srcIdx#1 flip::dstIdx#1 flip::c#1 ] ( main:0::flip:8 [ flip::r#4 flip::srcIdx#1 flip::dstIdx#1 flip::c#1 ] )
|
||||
to:flip::@4
|
||||
flip::@4: scope:[flip] from flip::@2
|
||||
[35] (byte) flip::dstIdx#2 ← -- (byte) flip::dstIdx#1 [ flip::r#4 flip::srcIdx#1 flip::dstIdx#2 ] ( main:0::flip:10 [ flip::r#4 flip::srcIdx#1 flip::dstIdx#2 ] )
|
||||
[36] (byte) flip::r#1 ← -- (byte) flip::r#4 [ flip::srcIdx#1 flip::dstIdx#2 flip::r#1 ] ( main:0::flip:10 [ flip::srcIdx#1 flip::dstIdx#2 flip::r#1 ] )
|
||||
[37] if((byte) flip::r#1!=(byte) 0) goto flip::@1 [ flip::srcIdx#1 flip::dstIdx#2 flip::r#1 ] ( main:0::flip:10 [ flip::srcIdx#1 flip::dstIdx#2 flip::r#1 ] )
|
||||
[33] (byte) flip::dstIdx#2 ← -- (byte) flip::dstIdx#1 [ flip::r#4 flip::srcIdx#1 flip::dstIdx#2 ] ( main:0::flip:8 [ flip::r#4 flip::srcIdx#1 flip::dstIdx#2 ] )
|
||||
[34] (byte) flip::r#1 ← -- (byte) flip::r#4 [ flip::srcIdx#1 flip::dstIdx#2 flip::r#1 ] ( main:0::flip:8 [ flip::srcIdx#1 flip::dstIdx#2 flip::r#1 ] )
|
||||
[35] if((byte) flip::r#1!=(byte) 0) goto flip::@1 [ flip::srcIdx#1 flip::dstIdx#2 flip::r#1 ] ( main:0::flip:8 [ flip::srcIdx#1 flip::dstIdx#2 flip::r#1 ] )
|
||||
to:flip::@3
|
||||
flip::@3: scope:[flip] from flip::@3 flip::@4
|
||||
[38] (byte) flip::i#2 ← phi( flip::@3/(byte) flip::i#1 flip::@4/(byte) 0 ) [ flip::i#2 ] ( main:0::flip:10 [ flip::i#2 ] )
|
||||
[39] (byte~) flip::$4 ← (const byte[256]) buffer2#0 *idx (byte) flip::i#2 [ flip::i#2 flip::$4 ] ( main:0::flip:10 [ flip::i#2 flip::$4 ] )
|
||||
[40] *((const byte[256]) buffer1#0 + (byte) flip::i#2) ← (byte~) flip::$4 [ flip::i#2 ] ( main:0::flip:10 [ flip::i#2 ] )
|
||||
[41] (byte) flip::i#1 ← ++ (byte) flip::i#2 [ flip::i#1 ] ( main:0::flip:10 [ flip::i#1 ] )
|
||||
[42] if((byte) flip::i#1!=(byte) 0) goto flip::@3 [ flip::i#1 ] ( main:0::flip:10 [ flip::i#1 ] )
|
||||
[36] (byte) flip::i#2 ← phi( flip::@3/(byte) flip::i#1 flip::@4/(byte) 0 ) [ flip::i#2 ] ( main:0::flip:8 [ flip::i#2 ] )
|
||||
[37] (byte~) flip::$4 ← (const byte[256]) buffer2#0 *idx (byte) flip::i#2 [ flip::i#2 flip::$4 ] ( main:0::flip:8 [ flip::i#2 flip::$4 ] )
|
||||
[38] *((const byte[256]) buffer1#0 + (byte) flip::i#2) ← (byte~) flip::$4 [ flip::i#2 ] ( main:0::flip:8 [ flip::i#2 ] )
|
||||
[39] (byte) flip::i#1 ← ++ (byte) flip::i#2 [ flip::i#1 ] ( main:0::flip:8 [ flip::i#1 ] )
|
||||
[40] if((byte) flip::i#1!=(byte) 0) goto flip::@3 [ flip::i#1 ] ( main:0::flip:8 [ flip::i#1 ] )
|
||||
to:flip::@return
|
||||
flip::@return: scope:[flip] from flip::@3
|
||||
[43] return [ ] ( main:0::flip:10 [ ] )
|
||||
[41] return [ ] ( main:0::flip:8 [ ] )
|
||||
to:@return
|
||||
prepare: scope:[prepare] from main
|
||||
[44] phi() [ ] ( main:0::prepare:2 [ ] )
|
||||
[42] phi() [ ] ( main:0::prepare:2 [ ] )
|
||||
to:prepare::@1
|
||||
prepare::@1: scope:[prepare] from prepare prepare::@1
|
||||
[45] (byte) prepare::i#2 ← phi( prepare/(byte) 0 prepare::@1/(byte) prepare::i#1 ) [ prepare::i#2 ] ( main:0::prepare:2 [ prepare::i#2 ] )
|
||||
[46] *((const byte[256]) buffer1#0 + (byte) prepare::i#2) ← (byte) prepare::i#2 [ prepare::i#2 ] ( main:0::prepare:2 [ prepare::i#2 ] )
|
||||
[47] (byte) prepare::i#1 ← ++ (byte) prepare::i#2 [ prepare::i#1 ] ( main:0::prepare:2 [ prepare::i#1 ] )
|
||||
[48] if((byte) prepare::i#1!=(byte) 0) goto prepare::@1 [ prepare::i#1 ] ( main:0::prepare:2 [ prepare::i#1 ] )
|
||||
[43] (byte) prepare::i#2 ← phi( prepare/(byte) 0 prepare::@1/(byte) prepare::i#1 ) [ prepare::i#2 ] ( main:0::prepare:2 [ prepare::i#2 ] )
|
||||
[44] *((const byte[256]) buffer1#0 + (byte) prepare::i#2) ← (byte) prepare::i#2 [ prepare::i#2 ] ( main:0::prepare:2 [ prepare::i#2 ] )
|
||||
[45] (byte) prepare::i#1 ← ++ (byte) prepare::i#2 [ prepare::i#1 ] ( main:0::prepare:2 [ prepare::i#1 ] )
|
||||
[46] if((byte) prepare::i#1!=(byte) 0) goto prepare::@1 [ prepare::i#1 ] ( main:0::prepare:2 [ prepare::i#1 ] )
|
||||
to:prepare::@return
|
||||
prepare::@return: scope:[prepare] from prepare::@1
|
||||
[49] return [ ] ( main:0::prepare:2 [ ] )
|
||||
[47] return [ ] ( main:0::prepare:2 [ ] )
|
||||
to:@return
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -36,8 +36,6 @@
|
||||
(byte) flip::srcIdx#2 reg byte x 1034.6666666666667
|
||||
(byte) flip::srcIdx#3 reg byte x 202.0
|
||||
(void()) main()
|
||||
(byte~) main::$1 reg byte a 2002.0
|
||||
(byte~) main::$3 reg byte a 2002.0
|
||||
(label) main::@10
|
||||
(label) main::@11
|
||||
(label) main::@3
|
||||
@ -47,7 +45,7 @@
|
||||
(label) main::@return
|
||||
(byte) main::c
|
||||
(byte) main::c#1 reg byte x 151.5
|
||||
(byte) main::c#4 reg byte x 40.4
|
||||
(byte) main::c#4 reg byte x 67.33333333333333
|
||||
(void()) plot()
|
||||
(byte~) plot::$3 reg byte a 2002.0
|
||||
(label) plot::@1
|
||||
@ -84,8 +82,6 @@ reg byte y [ flip::dstIdx#3 flip::dstIdx#5 flip::dstIdx#2 flip::dstIdx#1 ]
|
||||
zp ZP_BYTE:5 [ flip::c#2 flip::c#1 ]
|
||||
reg byte x [ flip::i#2 flip::i#1 ]
|
||||
reg byte x [ prepare::i#2 prepare::i#1 ]
|
||||
reg byte a [ main::$1 ]
|
||||
reg byte a [ main::$3 ]
|
||||
reg byte a [ plot::$3 ]
|
||||
reg byte a [ flip::$0 ]
|
||||
reg byte a [ flip::$4 ]
|
||||
|
@ -10,10 +10,10 @@
|
||||
bits_count: .byte 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4
|
||||
jsr main
|
||||
main: {
|
||||
.label _2 = 6
|
||||
.label _15 = 9
|
||||
.label _28 = 9
|
||||
.label _40 = 9
|
||||
.label _1 = 6
|
||||
.label _12 = 9
|
||||
.label _23 = 9
|
||||
.label _33 = 9
|
||||
.label chargen1 = 7
|
||||
.label bits_gen = 6
|
||||
.label charset4 = 4
|
||||
@ -40,12 +40,12 @@ main: {
|
||||
ldy #0
|
||||
lda (chargen),y
|
||||
and #$60
|
||||
sta _2
|
||||
sta _1
|
||||
lda (chargen1),y
|
||||
and #$60
|
||||
lsr
|
||||
lsr
|
||||
ora _2
|
||||
ora _1
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
@ -63,12 +63,12 @@ main: {
|
||||
ldy #0
|
||||
lda (chargen),y
|
||||
and #$18
|
||||
sta _15
|
||||
sta _12
|
||||
lda (chargen1),y
|
||||
and #$18
|
||||
lsr
|
||||
lsr
|
||||
ora _15
|
||||
ora _12
|
||||
lsr
|
||||
tax
|
||||
lda bits_count,x
|
||||
@ -81,11 +81,11 @@ main: {
|
||||
lda (chargen),y
|
||||
and #6
|
||||
asl
|
||||
sta _28
|
||||
sta _23
|
||||
lda (chargen1),y
|
||||
and #6
|
||||
lsr
|
||||
ora _28
|
||||
ora _23
|
||||
tax
|
||||
lda bits_count,x
|
||||
cmp #2
|
||||
@ -98,10 +98,10 @@ main: {
|
||||
and #1
|
||||
asl
|
||||
asl
|
||||
sta _40
|
||||
sta _33
|
||||
lda (chargen1),y
|
||||
and #1
|
||||
ora _40
|
||||
ora _33
|
||||
tax
|
||||
lda bits_count,x
|
||||
cmp #2
|
||||
|
@ -12,87 +12,79 @@ main::@1: scope:[main] from main main::@5
|
||||
[3] (byte*) main::charset4#10 ← phi( main/(const byte*) CHARSET4#0 main::@5/(byte*) main::charset4#1 ) [ main::chargen#10 main::charset4#10 ] ( main:0 [ main::chargen#10 main::charset4#10 ] )
|
||||
[3] (byte*) main::chargen#10 ← phi( main/(const byte*) CHARGEN#0 main::@5/(byte*) main::chargen#1 ) [ main::chargen#10 main::charset4#10 ] ( main:0 [ main::chargen#10 main::charset4#10 ] )
|
||||
[4] (byte*) main::chargen1#0 ← (byte*) main::chargen#10 + (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 ] )
|
||||
[5] (byte~) main::$1 ← * (byte*) main::chargen#10 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 ] )
|
||||
[6] (byte~) main::$2 ← (byte~) main::$1 & (byte) 96 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$2 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$2 ] )
|
||||
[7] (byte~) main::$3 ← * (byte*) main::chargen1#0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$2 main::$3 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$2 main::$3 ] )
|
||||
[8] (byte~) main::$4 ← (byte~) main::$3 & (byte) 96 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$2 main::$4 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$2 main::$4 ] )
|
||||
[9] (byte~) main::$5 ← (byte~) main::$4 >> (byte) 2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$2 main::$5 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$2 main::$5 ] )
|
||||
[10] (byte~) main::$6 ← (byte~) main::$2 | (byte~) main::$5 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$6 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$6 ] )
|
||||
[11] (byte~) main::$7 ← (byte~) main::$6 >> (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$7 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$7 ] )
|
||||
[12] (byte~) main::$8 ← (byte~) main::$7 >> (byte) 2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$8 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$8 ] )
|
||||
[13] (byte) main::bits#0 ← (const byte[]) bits_count#0 *idx (byte~) main::$8 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits#0 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits#0 ] )
|
||||
[14] if((byte) main::bits#0<(byte) 2) goto main::@2 [ main::chargen#10 main::charset4#10 main::chargen1#0 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 ] )
|
||||
[5] (byte~) main::$1 ← *((byte*) main::chargen#10) & (byte) 96 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 ] )
|
||||
[6] (byte~) main::$2 ← *((byte*) main::chargen1#0) & (byte) 96 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 main::$2 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 main::$2 ] )
|
||||
[7] (byte~) main::$3 ← (byte~) main::$2 >> (byte) 2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 main::$3 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$1 main::$3 ] )
|
||||
[8] (byte~) main::$4 ← (byte~) main::$1 | (byte~) main::$3 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$4 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$4 ] )
|
||||
[9] (byte~) main::$5 ← (byte~) main::$4 >> (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$5 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$5 ] )
|
||||
[10] (byte~) main::$6 ← (byte~) main::$5 >> (byte) 2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$6 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::$6 ] )
|
||||
[11] (byte) main::bits#0 ← (const byte[]) bits_count#0 *idx (byte~) main::$6 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits#0 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits#0 ] )
|
||||
[12] if((byte) main::bits#0<(byte) 2) goto main::@2 [ main::chargen#10 main::charset4#10 main::chargen1#0 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 ] )
|
||||
to:main::@7
|
||||
main::@7: scope:[main] from main::@1
|
||||
to:main::@2
|
||||
main::@2: scope:[main] from main::@1 main::@7
|
||||
[15] (byte) main::bits_gen#9 ← phi( main::@1/(byte) 0 main::@7/(byte) 0+(byte) 1 ) [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#9 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#9 ] )
|
||||
[16] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 ] )
|
||||
[17] (byte~) main::$14 ← * (byte*) main::chargen#10 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$14 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$14 ] )
|
||||
[18] (byte~) main::$15 ← (byte~) main::$14 & (byte) 24 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$15 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$15 ] )
|
||||
[19] (byte~) main::$16 ← * (byte*) main::chargen1#0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$15 main::$16 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$15 main::$16 ] )
|
||||
[20] (byte~) main::$17 ← (byte~) main::$16 & (byte) 24 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$15 main::$17 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$15 main::$17 ] )
|
||||
[21] (byte~) main::$18 ← (byte~) main::$17 >> (byte) 2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$15 main::$18 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$15 main::$18 ] )
|
||||
[22] (byte~) main::$19 ← (byte~) main::$15 | (byte~) main::$18 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$19 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$19 ] )
|
||||
[23] (byte~) main::$20 ← (byte~) main::$19 >> (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$20 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$20 ] )
|
||||
[24] (byte) main::bits#1 ← (const byte[]) bits_count#0 *idx (byte~) main::$20 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::bits#1 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::bits#1 ] )
|
||||
[25] if((byte) main::bits#1<(byte) 2) goto main::@3 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 ] )
|
||||
[13] (byte) main::bits_gen#9 ← phi( main::@1/(byte) 0 main::@7/(byte) 0+(byte) 1 ) [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#9 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#9 ] )
|
||||
[14] (byte) main::bits_gen#1 ← (byte) main::bits_gen#9 << (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 ] )
|
||||
[15] (byte~) main::$12 ← *((byte*) main::chargen#10) & (byte) 24 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$12 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$12 ] )
|
||||
[16] (byte~) main::$13 ← *((byte*) main::chargen1#0) & (byte) 24 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$12 main::$13 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$12 main::$13 ] )
|
||||
[17] (byte~) main::$14 ← (byte~) main::$13 >> (byte) 2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$12 main::$14 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$12 main::$14 ] )
|
||||
[18] (byte~) main::$15 ← (byte~) main::$12 | (byte~) main::$14 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$15 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$15 ] )
|
||||
[19] (byte~) main::$16 ← (byte~) main::$15 >> (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$16 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::$16 ] )
|
||||
[20] (byte) main::bits#1 ← (const byte[]) bits_count#0 *idx (byte~) main::$16 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::bits#1 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 main::bits#1 ] )
|
||||
[21] if((byte) main::bits#1<(byte) 2) goto main::@3 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#1 ] )
|
||||
to:main::@8
|
||||
main::@8: scope:[main] from main::@2
|
||||
[26] (byte) main::bits_gen#4 ← (byte) main::bits_gen#1 + (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#4 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#4 ] )
|
||||
[22] (byte) main::bits_gen#4 ← (byte) main::bits_gen#1 + (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#4 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#4 ] )
|
||||
to:main::@3
|
||||
main::@3: scope:[main] from main::@2 main::@8
|
||||
[27] (byte) main::bits_gen#11 ← phi( main::@2/(byte) main::bits_gen#1 main::@8/(byte) main::bits_gen#4 ) [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#11 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#11 ] )
|
||||
[28] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 ] )
|
||||
[29] (byte~) main::$26 ← * (byte*) main::chargen#10 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$26 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$26 ] )
|
||||
[30] (byte~) main::$27 ← (byte~) main::$26 & (byte) 6 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$27 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$27 ] )
|
||||
[31] (byte~) main::$28 ← (byte~) main::$27 << (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$28 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$28 ] )
|
||||
[32] (byte~) main::$29 ← * (byte*) main::chargen1#0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$28 main::$29 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$28 main::$29 ] )
|
||||
[33] (byte~) main::$30 ← (byte~) main::$29 & (byte) 6 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$28 main::$30 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$28 main::$30 ] )
|
||||
[34] (byte~) main::$31 ← (byte~) main::$30 >> (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$28 main::$31 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$28 main::$31 ] )
|
||||
[35] (byte~) main::$32 ← (byte~) main::$28 | (byte~) main::$31 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$32 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$32 ] )
|
||||
[36] (byte) main::bits#2 ← (const byte[]) bits_count#0 *idx (byte~) main::$32 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::bits#2 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::bits#2 ] )
|
||||
[37] if((byte) main::bits#2<(byte) 2) goto main::@4 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 ] )
|
||||
[23] (byte) main::bits_gen#11 ← phi( main::@2/(byte) main::bits_gen#1 main::@8/(byte) main::bits_gen#4 ) [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#11 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#11 ] )
|
||||
[24] (byte) main::bits_gen#14 ← (byte) main::bits_gen#11 << (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 ] )
|
||||
[25] (byte~) main::$22 ← *((byte*) main::chargen#10) & (byte) 6 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$22 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$22 ] )
|
||||
[26] (byte~) main::$23 ← (byte~) main::$22 << (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$23 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$23 ] )
|
||||
[27] (byte~) main::$24 ← *((byte*) main::chargen1#0) & (byte) 6 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$23 main::$24 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$23 main::$24 ] )
|
||||
[28] (byte~) main::$25 ← (byte~) main::$24 >> (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$23 main::$25 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$23 main::$25 ] )
|
||||
[29] (byte~) main::$26 ← (byte~) main::$23 | (byte~) main::$25 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$26 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::$26 ] )
|
||||
[30] (byte) main::bits#2 ← (const byte[]) bits_count#0 *idx (byte~) main::$26 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::bits#2 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 main::bits#2 ] )
|
||||
[31] if((byte) main::bits#2<(byte) 2) goto main::@4 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#14 ] )
|
||||
to:main::@9
|
||||
main::@9: scope:[main] from main::@3
|
||||
[38] (byte) main::bits_gen#6 ← (byte) main::bits_gen#14 + (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#6 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#6 ] )
|
||||
[32] (byte) main::bits_gen#6 ← (byte) main::bits_gen#14 + (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#6 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#6 ] )
|
||||
to:main::@4
|
||||
main::@4: scope:[main] from main::@3 main::@9
|
||||
[39] (byte) main::bits_gen#13 ← phi( main::@3/(byte) main::bits_gen#14 main::@9/(byte) main::bits_gen#6 ) [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#13 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#13 ] )
|
||||
[40] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 ] )
|
||||
[41] (byte~) main::$38 ← * (byte*) main::chargen#10 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$38 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$38 ] )
|
||||
[42] (byte~) main::$39 ← (byte~) main::$38 & (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$39 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$39 ] )
|
||||
[43] (byte~) main::$40 ← (byte~) main::$39 << (byte) 2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$40 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$40 ] )
|
||||
[44] (byte~) main::$41 ← * (byte*) main::chargen1#0 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$40 main::$41 ] ( main:0 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$40 main::$41 ] )
|
||||
[45] (byte~) main::$42 ← (byte~) main::$41 & (byte) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$40 main::$42 ] ( main:0 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$40 main::$42 ] )
|
||||
[46] (byte~) main::$43 ← (byte~) main::$40 | (byte~) main::$42 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$43 ] ( main:0 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$43 ] )
|
||||
[47] (byte) main::bits#3 ← (const byte[]) bits_count#0 *idx (byte~) main::$43 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::bits#3 ] ( main:0 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::bits#3 ] )
|
||||
[48] if((byte) main::bits#3<(byte) 2) goto main::@5 [ main::chargen#10 main::charset4#10 main::bits_gen#16 ] ( main:0 [ main::chargen#10 main::charset4#10 main::bits_gen#16 ] )
|
||||
[33] (byte) main::bits_gen#13 ← phi( main::@3/(byte) main::bits_gen#14 main::@9/(byte) main::bits_gen#6 ) [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#13 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#13 ] )
|
||||
[34] (byte) main::bits_gen#16 ← (byte) main::bits_gen#13 << (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 ] )
|
||||
[35] (byte~) main::$32 ← *((byte*) main::chargen#10) & (byte) 1 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$32 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$32 ] )
|
||||
[36] (byte~) main::$33 ← (byte~) main::$32 << (byte) 2 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$33 ] ( main:0 [ main::chargen#10 main::charset4#10 main::chargen1#0 main::bits_gen#16 main::$33 ] )
|
||||
[37] (byte~) main::$34 ← *((byte*) main::chargen1#0) & (byte) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$33 main::$34 ] ( main:0 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$33 main::$34 ] )
|
||||
[38] (byte~) main::$35 ← (byte~) main::$33 | (byte~) main::$34 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$35 ] ( main:0 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::$35 ] )
|
||||
[39] (byte) main::bits#3 ← (const byte[]) bits_count#0 *idx (byte~) main::$35 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::bits#3 ] ( main:0 [ main::chargen#10 main::charset4#10 main::bits_gen#16 main::bits#3 ] )
|
||||
[40] if((byte) main::bits#3<(byte) 2) goto main::@5 [ main::chargen#10 main::charset4#10 main::bits_gen#16 ] ( main:0 [ main::chargen#10 main::charset4#10 main::bits_gen#16 ] )
|
||||
to:main::@10
|
||||
main::@10: scope:[main] from main::@4
|
||||
[49] (byte) main::bits_gen#8 ← (byte) main::bits_gen#16 + (byte) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#8 ] ( main:0 [ main::chargen#10 main::charset4#10 main::bits_gen#8 ] )
|
||||
[41] (byte) main::bits_gen#8 ← (byte) main::bits_gen#16 + (byte) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#8 ] ( main:0 [ main::chargen#10 main::charset4#10 main::bits_gen#8 ] )
|
||||
to:main::@5
|
||||
main::@5: scope:[main] from main::@10 main::@4
|
||||
[50] (byte) main::bits_gen#15 ← phi( main::@10/(byte) main::bits_gen#8 main::@4/(byte) main::bits_gen#16 ) [ main::chargen#10 main::charset4#10 main::bits_gen#15 ] ( main:0 [ main::chargen#10 main::charset4#10 main::bits_gen#15 ] )
|
||||
[51] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#7 ] ( main:0 [ main::chargen#10 main::charset4#10 main::bits_gen#7 ] )
|
||||
[52] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7 [ main::chargen#10 main::charset4#10 ] ( main:0 [ main::chargen#10 main::charset4#10 ] )
|
||||
[53] (byte*) main::charset4#1 ← ++ (byte*) main::charset4#10 [ main::chargen#10 main::charset4#1 ] ( main:0 [ main::chargen#10 main::charset4#1 ] )
|
||||
[54] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte) 2 [ main::chargen#1 main::charset4#1 ] ( main:0 [ main::chargen#1 main::charset4#1 ] )
|
||||
[55] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word) 2048) goto main::@1 [ main::chargen#1 main::charset4#1 ] ( main:0 [ main::chargen#1 main::charset4#1 ] )
|
||||
[42] (byte) main::bits_gen#15 ← phi( main::@10/(byte) main::bits_gen#8 main::@4/(byte) main::bits_gen#16 ) [ main::chargen#10 main::charset4#10 main::bits_gen#15 ] ( main:0 [ main::chargen#10 main::charset4#10 main::bits_gen#15 ] )
|
||||
[43] (byte) main::bits_gen#7 ← (byte) main::bits_gen#15 << (byte) 1 [ main::chargen#10 main::charset4#10 main::bits_gen#7 ] ( main:0 [ main::chargen#10 main::charset4#10 main::bits_gen#7 ] )
|
||||
[44] *((byte*) main::charset4#10) ← (byte) main::bits_gen#7 [ main::chargen#10 main::charset4#10 ] ( main:0 [ main::chargen#10 main::charset4#10 ] )
|
||||
[45] (byte*) main::charset4#1 ← ++ (byte*) main::charset4#10 [ main::chargen#10 main::charset4#1 ] ( main:0 [ main::chargen#10 main::charset4#1 ] )
|
||||
[46] (byte*) main::chargen#1 ← (byte*) main::chargen#10 + (byte) 2 [ main::chargen#1 main::charset4#1 ] ( main:0 [ main::chargen#1 main::charset4#1 ] )
|
||||
[47] if((byte*) main::chargen#1<(const byte*) CHARGEN#0+(word) 2048) goto main::@1 [ main::chargen#1 main::charset4#1 ] ( main:0 [ main::chargen#1 main::charset4#1 ] )
|
||||
to:main::@11
|
||||
main::@11: scope:[main] from main::@5
|
||||
[56] *((const byte*) PROCPORT#0) ← (byte) 55 [ ] ( main:0 [ ] )
|
||||
[48] *((const byte*) PROCPORT#0) ← (byte) 55 [ ] ( main:0 [ ] )
|
||||
asm { cli }
|
||||
to:main::@6
|
||||
main::@6: scope:[main] from main::@11 main::@6
|
||||
[58] (byte) main::i#2 ← phi( main::@11/(byte) 0 main::@6/(byte) main::i#1 ) [ main::i#2 ] ( main:0 [ main::i#2 ] )
|
||||
[59] *((const byte*) SCREEN#0 + (byte) main::i#2) ← (byte) main::i#2 [ main::i#2 ] ( main:0 [ main::i#2 ] )
|
||||
[60] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::i#1 ] ( main:0 [ main::i#1 ] )
|
||||
[61] if((byte) main::i#1!=(byte) 0) goto main::@6 [ main::i#1 ] ( main:0 [ main::i#1 ] )
|
||||
[50] (byte) main::i#2 ← phi( main::@11/(byte) 0 main::@6/(byte) main::i#1 ) [ main::i#2 ] ( main:0 [ main::i#2 ] )
|
||||
[51] *((const byte*) SCREEN#0 + (byte) main::i#2) ← (byte) main::i#2 [ main::i#2 ] ( main:0 [ main::i#2 ] )
|
||||
[52] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::i#1 ] ( main:0 [ main::i#1 ] )
|
||||
[53] if((byte) main::i#1!=(byte) 0) goto main::@6 [ main::i#1 ] ( main:0 [ main::i#1 ] )
|
||||
to:main::@12
|
||||
main::@12: scope:[main] from main::@6
|
||||
[62] *((const byte*) D018#0) ← (byte) 25 [ ] ( main:0 [ ] )
|
||||
[54] *((const byte*) D018#0) ← (byte) 25 [ ] ( main:0 [ ] )
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@12
|
||||
[63] return [ ] ( main:0 [ ] )
|
||||
[55] return [ ] ( main:0 [ ] )
|
||||
to:@return
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -16,34 +16,26 @@
|
||||
(byte[]) bits_count
|
||||
(const byte[]) bits_count#0 bits_count = { (byte) 0, (byte) 1, (byte) 1, (byte) 2, (byte) 1, (byte) 2, (byte) 2, (byte) 3, (byte) 1, (byte) 2, (byte) 2, (byte) 3, (byte) 2, (byte) 3, (byte) 3, (byte) 4 }
|
||||
(void()) main()
|
||||
(byte~) main::$1 reg byte a 22.0
|
||||
(byte~) main::$1 $1 zp ZP_BYTE:6 7.333333333333333
|
||||
(byte~) main::$12 $12 zp ZP_BYTE:9 7.333333333333333
|
||||
(byte~) main::$13 reg byte a 22.0
|
||||
(byte~) main::$14 reg byte a 22.0
|
||||
(byte~) main::$15 $15 zp ZP_BYTE:9 5.5
|
||||
(byte~) main::$15 reg byte a 22.0
|
||||
(byte~) main::$16 reg byte a 22.0
|
||||
(byte~) main::$17 reg byte a 22.0
|
||||
(byte~) main::$18 reg byte a 22.0
|
||||
(byte~) main::$19 reg byte a 22.0
|
||||
(byte~) main::$2 $2 zp ZP_BYTE:6 5.5
|
||||
(byte~) main::$20 reg byte a 22.0
|
||||
(byte~) main::$2 reg byte a 22.0
|
||||
(byte~) main::$22 reg byte a 22.0
|
||||
(byte~) main::$23 $23 zp ZP_BYTE:9 7.333333333333333
|
||||
(byte~) main::$24 reg byte a 22.0
|
||||
(byte~) main::$25 reg byte a 22.0
|
||||
(byte~) main::$26 reg byte a 22.0
|
||||
(byte~) main::$27 reg byte a 22.0
|
||||
(byte~) main::$28 $28 zp ZP_BYTE:9 5.5
|
||||
(byte~) main::$29 reg byte a 22.0
|
||||
(byte~) main::$3 reg byte a 22.0
|
||||
(byte~) main::$30 reg byte a 22.0
|
||||
(byte~) main::$31 reg byte a 22.0
|
||||
(byte~) main::$32 reg byte a 22.0
|
||||
(byte~) main::$38 reg byte a 22.0
|
||||
(byte~) main::$39 reg byte a 22.0
|
||||
(byte~) main::$33 $33 zp ZP_BYTE:9 11.0
|
||||
(byte~) main::$34 reg byte a 22.0
|
||||
(byte~) main::$35 reg byte a 22.0
|
||||
(byte~) main::$4 reg byte a 22.0
|
||||
(byte~) main::$40 $40 zp ZP_BYTE:9 7.333333333333333
|
||||
(byte~) main::$41 reg byte a 22.0
|
||||
(byte~) main::$42 reg byte a 22.0
|
||||
(byte~) main::$43 reg byte a 22.0
|
||||
(byte~) main::$5 reg byte a 22.0
|
||||
(byte~) main::$6 reg byte a 22.0
|
||||
(byte~) main::$7 reg byte a 22.0
|
||||
(byte~) main::$8 reg byte a 22.0
|
||||
(label) main::@1
|
||||
(label) main::@10
|
||||
(label) main::@11
|
||||
@ -63,12 +55,12 @@
|
||||
(byte) main::bits#2 reg byte a 22.0
|
||||
(byte) main::bits#3 reg byte a 22.0
|
||||
(byte) main::bits_gen
|
||||
(byte) main::bits_gen#1 bits_gen zp ZP_BYTE:6 3.3000000000000003
|
||||
(byte) main::bits_gen#1 bits_gen zp ZP_BYTE:6 4.125
|
||||
(byte) main::bits_gen#11 bits_gen zp ZP_BYTE:6 33.0
|
||||
(byte) main::bits_gen#13 bits_gen zp ZP_BYTE:6 33.0
|
||||
(byte) main::bits_gen#14 bits_gen zp ZP_BYTE:6 3.3000000000000003
|
||||
(byte) main::bits_gen#14 bits_gen zp ZP_BYTE:6 4.125
|
||||
(byte) main::bits_gen#15 bits_gen zp ZP_BYTE:6 33.0
|
||||
(byte) main::bits_gen#16 bits_gen zp ZP_BYTE:6 3.666666666666667
|
||||
(byte) main::bits_gen#16 bits_gen zp ZP_BYTE:6 4.714285714285714
|
||||
(byte) main::bits_gen#4 bits_gen zp ZP_BYTE:6 22.0
|
||||
(byte) main::bits_gen#6 bits_gen zp ZP_BYTE:6 22.0
|
||||
(byte) main::bits_gen#7 reg byte a 22.0
|
||||
@ -76,12 +68,12 @@
|
||||
(byte) main::bits_gen#9 reg byte a 11.0
|
||||
(byte*) main::chargen
|
||||
(byte*) main::chargen#1 chargen zp ZP_PTR_BYTE:2 16.5
|
||||
(byte*) main::chargen#10 chargen zp ZP_PTR_BYTE:2 1.5098039215686279
|
||||
(byte*) main::chargen#10 chargen zp ZP_PTR_BYTE:2 0.7674418604651163
|
||||
(byte*) main::chargen1
|
||||
(byte*) main::chargen1#0 chargen1 zp ZP_PTR_BYTE:7 1.375
|
||||
(byte*) main::chargen1#0 chargen1 zp ZP_PTR_BYTE:7 0.3333333333333333
|
||||
(byte*) main::charset4
|
||||
(byte*) main::charset4#1 charset4 zp ZP_PTR_BYTE:4 7.333333333333333
|
||||
(byte*) main::charset4#10 charset4 zp ZP_PTR_BYTE:4 0.66
|
||||
(byte*) main::charset4#10 charset4 zp ZP_PTR_BYTE:4 0.7857142857142858
|
||||
(byte) main::i
|
||||
(byte) main::i#1 reg byte x 16.5
|
||||
(byte) main::i#2 reg byte x 22.0
|
||||
@ -89,36 +81,28 @@
|
||||
zp ZP_PTR_BYTE:2 [ main::chargen#10 main::chargen#1 ]
|
||||
zp ZP_PTR_BYTE:4 [ main::charset4#10 main::charset4#1 ]
|
||||
reg byte a [ main::bits_gen#9 ]
|
||||
zp ZP_BYTE:6 [ main::bits_gen#11 main::bits_gen#1 main::bits_gen#4 main::bits_gen#13 main::bits_gen#14 main::bits_gen#6 main::bits_gen#15 main::bits_gen#8 main::bits_gen#16 main::$2 ]
|
||||
zp ZP_BYTE:6 [ main::bits_gen#11 main::bits_gen#1 main::bits_gen#4 main::bits_gen#13 main::bits_gen#14 main::bits_gen#6 main::bits_gen#15 main::bits_gen#8 main::bits_gen#16 main::$1 ]
|
||||
reg byte x [ main::i#2 main::i#1 ]
|
||||
zp ZP_PTR_BYTE:7 [ main::chargen1#0 ]
|
||||
reg byte a [ main::$1 ]
|
||||
reg byte a [ main::$2 ]
|
||||
reg byte a [ main::$3 ]
|
||||
reg byte a [ main::$4 ]
|
||||
reg byte a [ main::$5 ]
|
||||
reg byte a [ main::$6 ]
|
||||
reg byte a [ main::$7 ]
|
||||
reg byte a [ main::$8 ]
|
||||
reg byte a [ main::bits#0 ]
|
||||
zp ZP_BYTE:9 [ main::$12 main::$23 main::$33 ]
|
||||
reg byte a [ main::$13 ]
|
||||
reg byte a [ main::$14 ]
|
||||
zp ZP_BYTE:9 [ main::$15 main::$28 main::$40 ]
|
||||
reg byte a [ main::$15 ]
|
||||
reg byte a [ main::$16 ]
|
||||
reg byte a [ main::$17 ]
|
||||
reg byte a [ main::$18 ]
|
||||
reg byte a [ main::$19 ]
|
||||
reg byte a [ main::$20 ]
|
||||
reg byte a [ main::bits#1 ]
|
||||
reg byte a [ main::$22 ]
|
||||
reg byte a [ main::$24 ]
|
||||
reg byte a [ main::$25 ]
|
||||
reg byte a [ main::$26 ]
|
||||
reg byte a [ main::$27 ]
|
||||
reg byte a [ main::$29 ]
|
||||
reg byte a [ main::$30 ]
|
||||
reg byte a [ main::$31 ]
|
||||
reg byte a [ main::$32 ]
|
||||
reg byte a [ main::bits#2 ]
|
||||
reg byte a [ main::$38 ]
|
||||
reg byte a [ main::$39 ]
|
||||
reg byte a [ main::$41 ]
|
||||
reg byte a [ main::$42 ]
|
||||
reg byte a [ main::$43 ]
|
||||
reg byte a [ main::$32 ]
|
||||
reg byte a [ main::$34 ]
|
||||
reg byte a [ main::$35 ]
|
||||
reg byte a [ main::bits#3 ]
|
||||
reg byte a [ main::bits_gen#7 ]
|
||||
|
12
src/main/java/dk/camelot64/kickc/test/ref/incd020.asm
Normal file
12
src/main/java/dk/camelot64/kickc/test/ref/incd020.asm
Normal file
@ -0,0 +1,12 @@
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
.const BGCOL = $d020
|
||||
jsr main
|
||||
main: {
|
||||
b1:
|
||||
inc BGCOL
|
||||
dec BGCOL
|
||||
jmp b1
|
||||
rts
|
||||
}
|
17
src/main/java/dk/camelot64/kickc/test/ref/incd020.cfg
Normal file
17
src/main/java/dk/camelot64/kickc/test/ref/incd020.cfg
Normal file
@ -0,0 +1,17 @@
|
||||
@begin: scope:[] from
|
||||
to:@1
|
||||
@1: scope:[] from @begin
|
||||
[0] call main param-assignment [ ] ( )
|
||||
to:@end
|
||||
@end: scope:[] from @1
|
||||
main: scope:[main] from @1
|
||||
[1] phi() [ ] ( main:0 [ ] )
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@1
|
||||
[2] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] ( main:0 [ ] )
|
||||
[3] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] ( main:0 [ ] )
|
||||
[4] if(true) goto main::@1 [ ] ( main:0 [ ] )
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@1
|
||||
[5] return [ ] ( main:0 [ ] )
|
||||
to:@return
|
579
src/main/java/dk/camelot64/kickc/test/ref/incd020.log
Normal file
579
src/main/java/dk/camelot64/kickc/test/ref/incd020.log
Normal file
@ -0,0 +1,579 @@
|
||||
// Incrementing / decrementing pointer content should result in code modifying the memory location - eg. inc $d020.
|
||||
// Currently it does not but instead leads to just reading the value a few times.
|
||||
|
||||
byte* BGCOL = $d020;
|
||||
void main() {
|
||||
do {
|
||||
++*BGCOL;
|
||||
(*BGCOL)--;
|
||||
} while (true);
|
||||
}
|
||||
Adding pre/post-modifier *((byte*) BGCOL) ← ++ *((byte*) BGCOL)
|
||||
Adding pre/post-modifier *((byte*) BGCOL) ← -- *((byte*) BGCOL)
|
||||
PROGRAM
|
||||
(byte*) BGCOL ← (word) 53280
|
||||
proc (void()) main()
|
||||
main::@1:
|
||||
*((byte*) BGCOL) ← ++ *((byte*) BGCOL)
|
||||
*((byte*) BGCOL) ← -- *((byte*) BGCOL)
|
||||
if(true) goto main::@1
|
||||
main::@return:
|
||||
return
|
||||
endproc // main()
|
||||
call main
|
||||
|
||||
SYMBOLS
|
||||
(byte*) BGCOL
|
||||
(void()) main()
|
||||
(label) main::@1
|
||||
(label) main::@return
|
||||
|
||||
INITIAL CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
(byte*) BGCOL ← (word) 53280
|
||||
to:@1
|
||||
main: scope:[main] from
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@1
|
||||
*((byte*) BGCOL) ← ++ *((byte*) BGCOL)
|
||||
*((byte*) BGCOL) ← -- *((byte*) BGCOL)
|
||||
if(true) goto main::@1
|
||||
to:main::@2
|
||||
main::@2: scope:[main] from main::@1
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@2
|
||||
return
|
||||
to:@return
|
||||
@1: scope:[] from @begin
|
||||
call main
|
||||
to:@end
|
||||
@end: scope:[] from @1
|
||||
|
||||
Removing empty block main::@2
|
||||
CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
(byte*) BGCOL ← (word) 53280
|
||||
to:@1
|
||||
main: scope:[main] from
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@1
|
||||
*((byte*) BGCOL) ← ++ *((byte*) BGCOL)
|
||||
*((byte*) BGCOL) ← -- *((byte*) BGCOL)
|
||||
if(true) goto main::@1
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@1
|
||||
return
|
||||
to:@return
|
||||
@1: scope:[] from @begin
|
||||
call main
|
||||
to:@end
|
||||
@end: scope:[] from @1
|
||||
|
||||
PROCEDURE MODIFY VARIABLE ANALYSIS
|
||||
|
||||
CONTROL FLOW GRAPH WITH ASSIGNMENT CALL
|
||||
@begin: scope:[] from
|
||||
(byte*) BGCOL ← (word) 53280
|
||||
to:@1
|
||||
main: scope:[main] from @1
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@1
|
||||
*((byte*) BGCOL) ← ++ *((byte*) BGCOL)
|
||||
*((byte*) BGCOL) ← -- *((byte*) BGCOL)
|
||||
if(true) goto main::@1
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@1
|
||||
return
|
||||
to:@return
|
||||
@1: scope:[] from @begin
|
||||
call main param-assignment
|
||||
to:@2
|
||||
@2: scope:[] from @1
|
||||
to:@end
|
||||
@end: scope:[] from @2
|
||||
|
||||
Completing Phi functions...
|
||||
Completing Phi functions...
|
||||
Completing Phi functions...
|
||||
CONTROL FLOW GRAPH SSA
|
||||
@begin: scope:[] from
|
||||
(byte*) BGCOL#0 ← (word) 53280
|
||||
to:@1
|
||||
main: scope:[main] from @1
|
||||
(byte*) BGCOL#2 ← phi( @1/(byte*) BGCOL#3 )
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@1
|
||||
(byte*) BGCOL#1 ← phi( main/(byte*) BGCOL#2 main::@1/(byte*) BGCOL#1 )
|
||||
*((byte*) BGCOL#1) ← ++ *((byte*) BGCOL#1)
|
||||
*((byte*) BGCOL#1) ← -- *((byte*) BGCOL#1)
|
||||
if(true) goto main::@1
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@1
|
||||
return
|
||||
to:@return
|
||||
@1: scope:[] from @begin
|
||||
(byte*) BGCOL#3 ← phi( @begin/(byte*) BGCOL#0 )
|
||||
call main param-assignment
|
||||
to:@2
|
||||
@2: scope:[] from @1
|
||||
to:@end
|
||||
@end: scope:[] from @2
|
||||
|
||||
CONTROL FLOW GRAPH WITH ASSIGNMENT CALL & RETURN
|
||||
@begin: scope:[] from
|
||||
(byte*) BGCOL#0 ← (word) 53280
|
||||
to:@1
|
||||
main: scope:[main] from @1
|
||||
(byte*) BGCOL#2 ← phi( @1/(byte*) BGCOL#3 )
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@1
|
||||
(byte*) BGCOL#1 ← phi( main/(byte*) BGCOL#2 main::@1/(byte*) BGCOL#1 )
|
||||
*((byte*) BGCOL#1) ← ++ *((byte*) BGCOL#1)
|
||||
*((byte*) BGCOL#1) ← -- *((byte*) BGCOL#1)
|
||||
if(true) goto main::@1
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@1
|
||||
return
|
||||
to:@return
|
||||
@1: scope:[] from @begin
|
||||
(byte*) BGCOL#3 ← phi( @begin/(byte*) BGCOL#0 )
|
||||
call main param-assignment
|
||||
to:@2
|
||||
@2: scope:[] from @1
|
||||
to:@end
|
||||
@end: scope:[] from @2
|
||||
|
||||
INITIAL SSA SYMBOL TABLE
|
||||
(label) @1
|
||||
(label) @2
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) BGCOL
|
||||
(byte*) BGCOL#0
|
||||
(byte*) BGCOL#1
|
||||
(byte*) BGCOL#2
|
||||
(byte*) BGCOL#3
|
||||
(void()) main()
|
||||
(label) main::@1
|
||||
(label) main::@return
|
||||
|
||||
Culled Empty Block (label) @2
|
||||
Succesful SSA optimization Pass2CullEmptyBlocks
|
||||
CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
(byte*) BGCOL#0 ← (word) 53280
|
||||
to:@1
|
||||
main: scope:[main] from @1
|
||||
(byte*) BGCOL#2 ← phi( @1/(byte*) BGCOL#3 )
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@1
|
||||
(byte*) BGCOL#1 ← phi( main/(byte*) BGCOL#2 main::@1/(byte*) BGCOL#1 )
|
||||
*((byte*) BGCOL#1) ← ++ *((byte*) BGCOL#1)
|
||||
*((byte*) BGCOL#1) ← -- *((byte*) BGCOL#1)
|
||||
if(true) goto main::@1
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@1
|
||||
return
|
||||
to:@return
|
||||
@1: scope:[] from @begin
|
||||
(byte*) BGCOL#3 ← phi( @begin/(byte*) BGCOL#0 )
|
||||
call main param-assignment
|
||||
to:@end
|
||||
@end: scope:[] from @1
|
||||
|
||||
Alias (byte*) BGCOL#0 = (byte*) BGCOL#2 (byte*) BGCOL#3
|
||||
Succesful SSA optimization Pass2AliasElimination
|
||||
CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
(byte*) BGCOL#0 ← (word) 53280
|
||||
to:@1
|
||||
main: scope:[main] from @1
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@1
|
||||
(byte*) BGCOL#1 ← phi( main/(byte*) BGCOL#0 main::@1/(byte*) BGCOL#1 )
|
||||
*((byte*) BGCOL#1) ← ++ *((byte*) BGCOL#1)
|
||||
*((byte*) BGCOL#1) ← -- *((byte*) BGCOL#1)
|
||||
if(true) goto main::@1
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@1
|
||||
return
|
||||
to:@return
|
||||
@1: scope:[] from @begin
|
||||
call main param-assignment
|
||||
to:@end
|
||||
@end: scope:[] from @1
|
||||
|
||||
Self Phi Eliminated (byte*) BGCOL#1
|
||||
Succesful SSA optimization Pass2SelfPhiElimination
|
||||
CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
(byte*) BGCOL#0 ← (word) 53280
|
||||
to:@1
|
||||
main: scope:[main] from @1
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@1
|
||||
(byte*) BGCOL#1 ← phi( main/(byte*) BGCOL#0 )
|
||||
*((byte*) BGCOL#1) ← ++ *((byte*) BGCOL#1)
|
||||
*((byte*) BGCOL#1) ← -- *((byte*) BGCOL#1)
|
||||
if(true) goto main::@1
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@1
|
||||
return
|
||||
to:@return
|
||||
@1: scope:[] from @begin
|
||||
call main param-assignment
|
||||
to:@end
|
||||
@end: scope:[] from @1
|
||||
|
||||
Redundant Phi (byte*) BGCOL#1 (byte*) BGCOL#0
|
||||
Succesful SSA optimization Pass2RedundantPhiElimination
|
||||
CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
(byte*) BGCOL#0 ← (word) 53280
|
||||
to:@1
|
||||
main: scope:[main] from @1
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@1
|
||||
*((byte*) BGCOL#0) ← ++ *((byte*) BGCOL#0)
|
||||
*((byte*) BGCOL#0) ← -- *((byte*) BGCOL#0)
|
||||
if(true) goto main::@1
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@1
|
||||
return
|
||||
to:@return
|
||||
@1: scope:[] from @begin
|
||||
call main param-assignment
|
||||
to:@end
|
||||
@end: scope:[] from @1
|
||||
|
||||
Constant (const byte*) BGCOL#0 = 53280
|
||||
Succesful SSA optimization Pass2ConstantIdentification
|
||||
CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
to:@1
|
||||
main: scope:[main] from @1
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@1
|
||||
*((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0)
|
||||
*((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0)
|
||||
if(true) goto main::@1
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@1
|
||||
return
|
||||
to:@return
|
||||
@1: scope:[] from @begin
|
||||
call main param-assignment
|
||||
to:@end
|
||||
@end: scope:[] from @1
|
||||
|
||||
FINAL SYMBOL TABLE
|
||||
(label) @1
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) BGCOL
|
||||
(const byte*) BGCOL#0 = (word) 53280
|
||||
(void()) main()
|
||||
(label) main::@1
|
||||
(label) main::@return
|
||||
|
||||
Block Sequence Planned @begin @1 @end main main::@1 main::@return
|
||||
Block Sequence Planned @begin @1 @end main main::@1 main::@return
|
||||
CONTROL FLOW GRAPH - PHI LIFTED
|
||||
@begin: scope:[] from
|
||||
to:@1
|
||||
@1: scope:[] from @begin
|
||||
call main param-assignment
|
||||
to:@end
|
||||
@end: scope:[] from @1
|
||||
main: scope:[main] from @1
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@1
|
||||
*((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0)
|
||||
*((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0)
|
||||
if(true) goto main::@1
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@1
|
||||
return
|
||||
to:@return
|
||||
|
||||
Adding NOP phi() at start of main
|
||||
CALL GRAPH
|
||||
Calls in [] to main:0
|
||||
|
||||
Propagating live ranges...
|
||||
CONTROL FLOW GRAPH - LIVE RANGES FOUND
|
||||
@begin: scope:[] from
|
||||
to:@1
|
||||
@1: scope:[] from @begin
|
||||
[0] call main param-assignment [ ]
|
||||
to:@end
|
||||
@end: scope:[] from @1
|
||||
main: scope:[main] from @1
|
||||
[1] phi() [ ]
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@1
|
||||
[2] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ]
|
||||
[3] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ]
|
||||
[4] if(true) goto main::@1 [ ]
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@1
|
||||
[5] return [ ]
|
||||
to:@return
|
||||
|
||||
Created 0 initial phi equivalence classes
|
||||
Coalesced down to 0 phi equivalence classes
|
||||
Block Sequence Planned @begin @1 @end main main::@1 main::@return
|
||||
Adding NOP phi() at start of main
|
||||
Propagating live ranges...
|
||||
CONTROL FLOW GRAPH - BEFORE EFFECTIVE LIVE RANGES
|
||||
@begin: scope:[] from
|
||||
to:@1
|
||||
@1: scope:[] from @begin
|
||||
[0] call main param-assignment [ ]
|
||||
to:@end
|
||||
@end: scope:[] from @1
|
||||
main: scope:[main] from @1
|
||||
[1] phi() [ ]
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@1
|
||||
[2] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ]
|
||||
[3] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ]
|
||||
[4] if(true) goto main::@1 [ ]
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@1
|
||||
[5] return [ ]
|
||||
to:@return
|
||||
|
||||
CONTROL FLOW GRAPH - PHI MEM COALESCED
|
||||
@begin: scope:[] from
|
||||
to:@1
|
||||
@1: scope:[] from @begin
|
||||
[0] call main param-assignment [ ] ( )
|
||||
to:@end
|
||||
@end: scope:[] from @1
|
||||
main: scope:[main] from @1
|
||||
[1] phi() [ ] ( main:0 [ ] )
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@1
|
||||
[2] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] ( main:0 [ ] )
|
||||
[3] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] ( main:0 [ ] )
|
||||
[4] if(true) goto main::@1 [ ] ( main:0 [ ] )
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@1
|
||||
[5] return [ ] ( main:0 [ ] )
|
||||
to:@return
|
||||
|
||||
DOMINATORS
|
||||
@begin dominated by @begin
|
||||
@1 dominated by @1 @begin
|
||||
@end dominated by @1 @end @begin
|
||||
main dominated by @1 @begin main
|
||||
main::@1 dominated by @1 @begin main::@1 main
|
||||
main::@return dominated by @1 main::@return @begin main::@1 main
|
||||
|
||||
Found back edge: Loop head: main::@1 tails: main::@1 blocks: null
|
||||
Populated: Loop head: main::@1 tails: main::@1 blocks: main::@1
|
||||
NATURAL LOOPS
|
||||
Loop head: main::@1 tails: main::@1 blocks: main::@1
|
||||
|
||||
Found 0 loops in scope []
|
||||
Found 1 loops in scope [main]
|
||||
Loop head: main::@1 tails: main::@1 blocks: main::@1
|
||||
NATURAL LOOPS WITH DEPTH
|
||||
Loop head: main::@1 tails: main::@1 blocks: main::@1 depth: 1
|
||||
|
||||
|
||||
VARIABLE REGISTER WEIGHTS
|
||||
(byte*) BGCOL
|
||||
(void()) main()
|
||||
|
||||
Initial phi equivalence classes
|
||||
Complete equivalence classes
|
||||
INITIAL ASM
|
||||
//SEG0 Basic Upstart
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
//SEG1 Global Constants & labels
|
||||
.const BGCOL = $d020
|
||||
//SEG2 @begin
|
||||
bbegin:
|
||||
jmp b1
|
||||
//SEG3 @1
|
||||
b1:
|
||||
//SEG4 [0] call main param-assignment [ ] ( )
|
||||
//SEG5 [1] phi from @1 to main [phi:@1->main]
|
||||
main_from_b1:
|
||||
jsr main
|
||||
jmp bend
|
||||
//SEG6 @end
|
||||
bend:
|
||||
//SEG7 main
|
||||
main: {
|
||||
jmp b1
|
||||
//SEG8 main::@1
|
||||
b1:
|
||||
//SEG9 [2] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_inc__star_cowo1
|
||||
inc BGCOL
|
||||
//SEG10 [3] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_dec__star_cowo1
|
||||
dec BGCOL
|
||||
//SEG11 [4] if(true) goto main::@1 [ ] ( main:0 [ ] ) -- true_then_la1
|
||||
jmp b1
|
||||
jmp breturn
|
||||
//SEG12 main::@return
|
||||
breturn:
|
||||
//SEG13 [5] return [ ] ( main:0 [ ] )
|
||||
rts
|
||||
}
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
|
||||
REGISTER UPLIFT SCOPES
|
||||
Uplift Scope [main]
|
||||
Uplift Scope []
|
||||
|
||||
Uplifting [main] best 255 combination
|
||||
Uplifting [] best 255 combination
|
||||
Removing instruction jmp b1
|
||||
Removing instruction jmp bend
|
||||
Removing instruction jmp b1
|
||||
Removing instruction jmp breturn
|
||||
Succesful ASM optimization Pass5NextJumpElimination
|
||||
ASSEMBLER
|
||||
//SEG0 Basic Upstart
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
//SEG1 Global Constants & labels
|
||||
.const BGCOL = $d020
|
||||
//SEG2 @begin
|
||||
bbegin:
|
||||
//SEG3 @1
|
||||
b1:
|
||||
//SEG4 [0] call main param-assignment [ ] ( )
|
||||
//SEG5 [1] phi from @1 to main [phi:@1->main]
|
||||
main_from_b1:
|
||||
jsr main
|
||||
//SEG6 @end
|
||||
bend:
|
||||
//SEG7 main
|
||||
main: {
|
||||
//SEG8 main::@1
|
||||
b1:
|
||||
//SEG9 [2] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_inc__star_cowo1
|
||||
inc BGCOL
|
||||
//SEG10 [3] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_dec__star_cowo1
|
||||
dec BGCOL
|
||||
//SEG11 [4] if(true) goto main::@1 [ ] ( main:0 [ ] ) -- true_then_la1
|
||||
jmp b1
|
||||
//SEG12 main::@return
|
||||
breturn:
|
||||
//SEG13 [5] return [ ] ( main:0 [ ] )
|
||||
rts
|
||||
}
|
||||
|
||||
Removing instruction bbegin:
|
||||
Removing instruction main_from_b1:
|
||||
Succesful ASM optimization Pass5RedundantLabelElimination
|
||||
ASSEMBLER
|
||||
//SEG0 Basic Upstart
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
//SEG1 Global Constants & labels
|
||||
.const BGCOL = $d020
|
||||
//SEG2 @begin
|
||||
//SEG3 @1
|
||||
b1:
|
||||
//SEG4 [0] call main param-assignment [ ] ( )
|
||||
//SEG5 [1] phi from @1 to main [phi:@1->main]
|
||||
jsr main
|
||||
//SEG6 @end
|
||||
bend:
|
||||
//SEG7 main
|
||||
main: {
|
||||
//SEG8 main::@1
|
||||
b1:
|
||||
//SEG9 [2] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_inc__star_cowo1
|
||||
inc BGCOL
|
||||
//SEG10 [3] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_dec__star_cowo1
|
||||
dec BGCOL
|
||||
//SEG11 [4] if(true) goto main::@1 [ ] ( main:0 [ ] ) -- true_then_la1
|
||||
jmp b1
|
||||
//SEG12 main::@return
|
||||
breturn:
|
||||
//SEG13 [5] return [ ] ( main:0 [ ] )
|
||||
rts
|
||||
}
|
||||
|
||||
Removing instruction b1:
|
||||
Removing instruction bend:
|
||||
Removing instruction breturn:
|
||||
Succesful ASM optimization Pass5UnusedLabelElimination
|
||||
ASSEMBLER
|
||||
//SEG0 Basic Upstart
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
//SEG1 Global Constants & labels
|
||||
.const BGCOL = $d020
|
||||
//SEG2 @begin
|
||||
//SEG3 @1
|
||||
//SEG4 [0] call main param-assignment [ ] ( )
|
||||
//SEG5 [1] phi from @1 to main [phi:@1->main]
|
||||
jsr main
|
||||
//SEG6 @end
|
||||
//SEG7 main
|
||||
main: {
|
||||
//SEG8 main::@1
|
||||
b1:
|
||||
//SEG9 [2] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_inc__star_cowo1
|
||||
inc BGCOL
|
||||
//SEG10 [3] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_dec__star_cowo1
|
||||
dec BGCOL
|
||||
//SEG11 [4] if(true) goto main::@1 [ ] ( main:0 [ ] ) -- true_then_la1
|
||||
jmp b1
|
||||
//SEG12 main::@return
|
||||
//SEG13 [5] return [ ] ( main:0 [ ] )
|
||||
rts
|
||||
}
|
||||
|
||||
FINAL SYMBOL TABLE
|
||||
(label) @1
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) BGCOL
|
||||
(const byte*) BGCOL#0 BGCOL = (word) 53280
|
||||
(void()) main()
|
||||
(label) main::@1
|
||||
(label) main::@return
|
||||
|
||||
|
||||
FINAL CODE
|
||||
//SEG0 Basic Upstart
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
//SEG1 Global Constants & labels
|
||||
.const BGCOL = $d020
|
||||
//SEG2 @begin
|
||||
//SEG3 @1
|
||||
//SEG4 [0] call main param-assignment [ ] ( )
|
||||
//SEG5 [1] phi from @1 to main [phi:@1->main]
|
||||
jsr main
|
||||
//SEG6 @end
|
||||
//SEG7 main
|
||||
main: {
|
||||
//SEG8 main::@1
|
||||
b1:
|
||||
//SEG9 [2] *((const byte*) BGCOL#0) ← ++ *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_inc__star_cowo1
|
||||
inc BGCOL
|
||||
//SEG10 [3] *((const byte*) BGCOL#0) ← -- *((const byte*) BGCOL#0) [ ] ( main:0 [ ] ) -- _star_cowo1=_dec__star_cowo1
|
||||
dec BGCOL
|
||||
//SEG11 [4] if(true) goto main::@1 [ ] ( main:0 [ ] ) -- true_then_la1
|
||||
jmp b1
|
||||
//SEG12 main::@return
|
||||
//SEG13 [5] return [ ] ( main:0 [ ] )
|
||||
rts
|
||||
}
|
||||
|
9
src/main/java/dk/camelot64/kickc/test/ref/incd020.sym
Normal file
9
src/main/java/dk/camelot64/kickc/test/ref/incd020.sym
Normal file
@ -0,0 +1,9 @@
|
||||
(label) @1
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) BGCOL
|
||||
(const byte*) BGCOL#0 BGCOL = (word) 53280
|
||||
(void()) main()
|
||||
(label) main::@1
|
||||
(label) main::@return
|
||||
|
@ -48,12 +48,12 @@ rvaluevar::@return: scope:[rvaluevar] from rvaluevar::@1
|
||||
[17] return [ ] ( main:0::rvaluevar:4 [ ] )
|
||||
to:@return
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
[18] (byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] )
|
||||
[18] (byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2) [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] )
|
||||
[19] (byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#1 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#1 ] )
|
||||
[20] (byte) rvaluevar::i#1 ← ++ (byte) rvaluevar::i#2 [ rvaluevar::i#1 rvaluevar::screen#1 ] ( main:0::rvaluevar:4 [ rvaluevar::i#1 rvaluevar::screen#1 ] )
|
||||
to:rvaluevar::@1
|
||||
rvalue: scope:[rvalue] from main::@1
|
||||
[21] (byte) rvalue::b#0 ← * (const byte[1024]) rvalue::SCREEN#0 [ ] ( main:0::rvalue:3 [ ] )
|
||||
[21] (byte) rvalue::b#0 ← *((const byte[1024]) rvalue::SCREEN#0) [ ] ( main:0::rvalue:3 [ ] )
|
||||
[22] (byte) rvalue::b#1 ← * (const byte[1024]) rvalue::SCREEN#0+(byte) 1 [ ] ( main:0::rvalue:3 [ ] )
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
|
@ -106,18 +106,17 @@ lvalue::@return:
|
||||
endproc // lvalue()
|
||||
proc (void()) rvalue()
|
||||
(byte[1024]) rvalue::SCREEN ← (word) 1024
|
||||
(byte~) rvalue::$0 ← * (byte[1024]) rvalue::SCREEN
|
||||
(byte) rvalue::b ← *((byte[1024]) rvalue::SCREEN)
|
||||
(byte~) rvalue::$0 ← (byte[1024]) rvalue::SCREEN *idx (byte) 1
|
||||
(byte) rvalue::b ← (byte~) rvalue::$0
|
||||
(byte~) rvalue::$1 ← (byte[1024]) rvalue::SCREEN *idx (byte) 1
|
||||
(byte) rvalue::b ← (byte~) rvalue::$1
|
||||
(byte) rvalue::i ← (byte) 2
|
||||
rvalue::@1:
|
||||
(boolean~) rvalue::$2 ← (byte) rvalue::i < (byte) 10
|
||||
if((boolean~) rvalue::$2) goto rvalue::@2
|
||||
(boolean~) rvalue::$1 ← (byte) rvalue::i < (byte) 10
|
||||
if((boolean~) rvalue::$1) goto rvalue::@2
|
||||
goto rvalue::@3
|
||||
rvalue::@2:
|
||||
(byte~) rvalue::$3 ← (byte[1024]) rvalue::SCREEN *idx (byte) rvalue::i
|
||||
(byte) rvalue::b ← (byte~) rvalue::$3
|
||||
(byte~) rvalue::$2 ← (byte[1024]) rvalue::SCREEN *idx (byte) rvalue::i
|
||||
(byte) rvalue::b ← (byte~) rvalue::$2
|
||||
(byte) rvalue::i ← ++ (byte) rvalue::i
|
||||
goto rvalue::@1
|
||||
rvalue::@3:
|
||||
@ -149,8 +148,7 @@ rvaluevar::@1:
|
||||
if((boolean~) rvaluevar::$0) goto rvaluevar::@2
|
||||
goto rvaluevar::@3
|
||||
rvaluevar::@2:
|
||||
(byte~) rvaluevar::$1 ← * (byte*) rvaluevar::screen
|
||||
(byte) rvaluevar::b ← (byte~) rvaluevar::$1
|
||||
(byte) rvaluevar::b ← *((byte*) rvaluevar::screen)
|
||||
(byte*) rvaluevar::screen ← ++ (byte*) rvaluevar::screen
|
||||
(byte) rvaluevar::i ← ++ (byte) rvaluevar::i
|
||||
goto rvaluevar::@1
|
||||
@ -186,9 +184,8 @@ SYMBOLS
|
||||
(label) main::@return
|
||||
(void()) rvalue()
|
||||
(byte~) rvalue::$0
|
||||
(byte~) rvalue::$1
|
||||
(boolean~) rvalue::$2
|
||||
(byte~) rvalue::$3
|
||||
(boolean~) rvalue::$1
|
||||
(byte~) rvalue::$2
|
||||
(label) rvalue::@1
|
||||
(label) rvalue::@2
|
||||
(label) rvalue::@3
|
||||
@ -198,7 +195,6 @@ SYMBOLS
|
||||
(byte) rvalue::i
|
||||
(void()) rvaluevar()
|
||||
(boolean~) rvaluevar::$0
|
||||
(byte~) rvaluevar::$1
|
||||
(label) rvaluevar::@1
|
||||
(label) rvaluevar::@2
|
||||
(label) rvaluevar::@3
|
||||
@ -250,19 +246,18 @@ lvalue::@return: scope:[lvalue] from lvalue::@3
|
||||
to:@3
|
||||
rvalue: scope:[rvalue] from
|
||||
(byte[1024]) rvalue::SCREEN ← (word) 1024
|
||||
(byte~) rvalue::$0 ← * (byte[1024]) rvalue::SCREEN
|
||||
(byte) rvalue::b ← *((byte[1024]) rvalue::SCREEN)
|
||||
(byte~) rvalue::$0 ← (byte[1024]) rvalue::SCREEN *idx (byte) 1
|
||||
(byte) rvalue::b ← (byte~) rvalue::$0
|
||||
(byte~) rvalue::$1 ← (byte[1024]) rvalue::SCREEN *idx (byte) 1
|
||||
(byte) rvalue::b ← (byte~) rvalue::$1
|
||||
(byte) rvalue::i ← (byte) 2
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
(boolean~) rvalue::$2 ← (byte) rvalue::i < (byte) 10
|
||||
if((boolean~) rvalue::$2) goto rvalue::@2
|
||||
(boolean~) rvalue::$1 ← (byte) rvalue::i < (byte) 10
|
||||
if((boolean~) rvalue::$1) goto rvalue::@2
|
||||
to:rvalue::@4
|
||||
rvalue::@2: scope:[rvalue] from rvalue::@1 rvalue::@5
|
||||
(byte~) rvalue::$3 ← (byte[1024]) rvalue::SCREEN *idx (byte) rvalue::i
|
||||
(byte) rvalue::b ← (byte~) rvalue::$3
|
||||
(byte~) rvalue::$2 ← (byte[1024]) rvalue::SCREEN *idx (byte) rvalue::i
|
||||
(byte) rvalue::b ← (byte~) rvalue::$2
|
||||
(byte) rvalue::i ← ++ (byte) rvalue::i
|
||||
to:rvalue::@1
|
||||
rvalue::@4: scope:[rvalue] from rvalue::@1
|
||||
@ -314,8 +309,7 @@ rvaluevar::@1: scope:[rvaluevar] from rvaluevar rvaluevar::@2
|
||||
if((boolean~) rvaluevar::$0) goto rvaluevar::@2
|
||||
to:rvaluevar::@4
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1 rvaluevar::@5
|
||||
(byte~) rvaluevar::$1 ← * (byte*) rvaluevar::screen
|
||||
(byte) rvaluevar::b ← (byte~) rvaluevar::$1
|
||||
(byte) rvaluevar::b ← *((byte*) rvaluevar::screen)
|
||||
(byte*) rvaluevar::screen ← ++ (byte*) rvaluevar::screen
|
||||
(byte) rvaluevar::i ← ++ (byte) rvaluevar::i
|
||||
to:rvaluevar::@1
|
||||
@ -386,19 +380,18 @@ lvalue::@return: scope:[lvalue] from lvalue::@1
|
||||
to:@return
|
||||
rvalue: scope:[rvalue] from
|
||||
(byte[1024]) rvalue::SCREEN ← (word) 1024
|
||||
(byte~) rvalue::$0 ← * (byte[1024]) rvalue::SCREEN
|
||||
(byte) rvalue::b ← *((byte[1024]) rvalue::SCREEN)
|
||||
(byte~) rvalue::$0 ← (byte[1024]) rvalue::SCREEN *idx (byte) 1
|
||||
(byte) rvalue::b ← (byte~) rvalue::$0
|
||||
(byte~) rvalue::$1 ← (byte[1024]) rvalue::SCREEN *idx (byte) 1
|
||||
(byte) rvalue::b ← (byte~) rvalue::$1
|
||||
(byte) rvalue::i ← (byte) 2
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
(boolean~) rvalue::$2 ← (byte) rvalue::i < (byte) 10
|
||||
if((boolean~) rvalue::$2) goto rvalue::@2
|
||||
(boolean~) rvalue::$1 ← (byte) rvalue::i < (byte) 10
|
||||
if((boolean~) rvalue::$1) goto rvalue::@2
|
||||
to:rvalue::@return
|
||||
rvalue::@2: scope:[rvalue] from rvalue::@1
|
||||
(byte~) rvalue::$3 ← (byte[1024]) rvalue::SCREEN *idx (byte) rvalue::i
|
||||
(byte) rvalue::b ← (byte~) rvalue::$3
|
||||
(byte~) rvalue::$2 ← (byte[1024]) rvalue::SCREEN *idx (byte) rvalue::i
|
||||
(byte) rvalue::b ← (byte~) rvalue::$2
|
||||
(byte) rvalue::i ← ++ (byte) rvalue::i
|
||||
to:rvalue::@1
|
||||
rvalue::@return: scope:[rvalue] from rvalue::@1
|
||||
@ -430,8 +423,7 @@ rvaluevar::@1: scope:[rvaluevar] from rvaluevar rvaluevar::@2
|
||||
if((boolean~) rvaluevar::$0) goto rvaluevar::@2
|
||||
to:rvaluevar::@return
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
(byte~) rvaluevar::$1 ← * (byte*) rvaluevar::screen
|
||||
(byte) rvaluevar::b ← (byte~) rvaluevar::$1
|
||||
(byte) rvaluevar::b ← *((byte*) rvaluevar::screen)
|
||||
(byte*) rvaluevar::screen ← ++ (byte*) rvaluevar::screen
|
||||
(byte) rvaluevar::i ← ++ (byte) rvaluevar::i
|
||||
to:rvaluevar::@1
|
||||
@ -484,19 +476,18 @@ lvalue::@return: scope:[lvalue] from lvalue::@1
|
||||
to:@return
|
||||
rvalue: scope:[rvalue] from main::@1
|
||||
(byte[1024]) rvalue::SCREEN ← (word) 1024
|
||||
(byte~) rvalue::$0 ← * (byte[1024]) rvalue::SCREEN
|
||||
(byte) rvalue::b ← *((byte[1024]) rvalue::SCREEN)
|
||||
(byte~) rvalue::$0 ← (byte[1024]) rvalue::SCREEN *idx (byte) 1
|
||||
(byte) rvalue::b ← (byte~) rvalue::$0
|
||||
(byte~) rvalue::$1 ← (byte[1024]) rvalue::SCREEN *idx (byte) 1
|
||||
(byte) rvalue::b ← (byte~) rvalue::$1
|
||||
(byte) rvalue::i ← (byte) 2
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
(boolean~) rvalue::$2 ← (byte) rvalue::i < (byte) 10
|
||||
if((boolean~) rvalue::$2) goto rvalue::@2
|
||||
(boolean~) rvalue::$1 ← (byte) rvalue::i < (byte) 10
|
||||
if((boolean~) rvalue::$1) goto rvalue::@2
|
||||
to:rvalue::@return
|
||||
rvalue::@2: scope:[rvalue] from rvalue::@1
|
||||
(byte~) rvalue::$3 ← (byte[1024]) rvalue::SCREEN *idx (byte) rvalue::i
|
||||
(byte) rvalue::b ← (byte~) rvalue::$3
|
||||
(byte~) rvalue::$2 ← (byte[1024]) rvalue::SCREEN *idx (byte) rvalue::i
|
||||
(byte) rvalue::b ← (byte~) rvalue::$2
|
||||
(byte) rvalue::i ← ++ (byte) rvalue::i
|
||||
to:rvalue::@1
|
||||
rvalue::@return: scope:[rvalue] from rvalue::@1
|
||||
@ -528,8 +519,7 @@ rvaluevar::@1: scope:[rvaluevar] from rvaluevar rvaluevar::@2
|
||||
if((boolean~) rvaluevar::$0) goto rvaluevar::@2
|
||||
to:rvaluevar::@return
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
(byte~) rvaluevar::$1 ← * (byte*) rvaluevar::screen
|
||||
(byte) rvaluevar::b ← (byte~) rvaluevar::$1
|
||||
(byte) rvaluevar::b ← *((byte*) rvaluevar::screen)
|
||||
(byte*) rvaluevar::screen ← ++ (byte*) rvaluevar::screen
|
||||
(byte) rvaluevar::i ← ++ (byte) rvaluevar::i
|
||||
to:rvaluevar::@1
|
||||
@ -588,23 +578,22 @@ lvalue::@return: scope:[lvalue] from lvalue::@1
|
||||
to:@return
|
||||
rvalue: scope:[rvalue] from main::@1
|
||||
(byte[1024]) rvalue::SCREEN#0 ← (word) 1024
|
||||
(byte~) rvalue::$0 ← * (byte[1024]) rvalue::SCREEN#0
|
||||
(byte) rvalue::b#0 ← (byte~) rvalue::$0
|
||||
(byte~) rvalue::$1 ← (byte[1024]) rvalue::SCREEN#0 *idx (byte) 1
|
||||
(byte) rvalue::b#1 ← (byte~) rvalue::$1
|
||||
(byte) rvalue::b#0 ← *((byte[1024]) rvalue::SCREEN#0)
|
||||
(byte~) rvalue::$0 ← (byte[1024]) rvalue::SCREEN#0 *idx (byte) 1
|
||||
(byte) rvalue::b#1 ← (byte~) rvalue::$0
|
||||
(byte) rvalue::i#0 ← (byte) 2
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
(byte[1024]) rvalue::SCREEN#2 ← phi( rvalue/(byte[1024]) rvalue::SCREEN#0 rvalue::@2/(byte[1024]) rvalue::SCREEN#1 )
|
||||
(byte) rvalue::i#2 ← phi( rvalue/(byte) rvalue::i#0 rvalue::@2/(byte) rvalue::i#1 )
|
||||
(boolean~) rvalue::$2 ← (byte) rvalue::i#2 < (byte) 10
|
||||
if((boolean~) rvalue::$2) goto rvalue::@2
|
||||
(boolean~) rvalue::$1 ← (byte) rvalue::i#2 < (byte) 10
|
||||
if((boolean~) rvalue::$1) goto rvalue::@2
|
||||
to:rvalue::@return
|
||||
rvalue::@2: scope:[rvalue] from rvalue::@1
|
||||
(byte) rvalue::i#3 ← phi( rvalue::@1/(byte) rvalue::i#2 )
|
||||
(byte[1024]) rvalue::SCREEN#1 ← phi( rvalue::@1/(byte[1024]) rvalue::SCREEN#2 )
|
||||
(byte~) rvalue::$3 ← (byte[1024]) rvalue::SCREEN#1 *idx (byte) rvalue::i#3
|
||||
(byte) rvalue::b#2 ← (byte~) rvalue::$3
|
||||
(byte~) rvalue::$2 ← (byte[1024]) rvalue::SCREEN#1 *idx (byte) rvalue::i#3
|
||||
(byte) rvalue::b#2 ← (byte~) rvalue::$2
|
||||
(byte) rvalue::i#1 ← ++ (byte) rvalue::i#3
|
||||
to:rvalue::@1
|
||||
rvalue::@return: scope:[rvalue] from rvalue::@1
|
||||
@ -646,8 +635,7 @@ rvaluevar::@1: scope:[rvaluevar] from rvaluevar rvaluevar::@2
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
(byte) rvaluevar::i#3 ← phi( rvaluevar::@1/(byte) rvaluevar::i#2 )
|
||||
(byte*) rvaluevar::screen#2 ← phi( rvaluevar::@1/(byte*) rvaluevar::screen#3 )
|
||||
(byte~) rvaluevar::$1 ← * (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::b#0 ← (byte~) rvaluevar::$1
|
||||
(byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2)
|
||||
(byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::i#1 ← ++ (byte) rvaluevar::i#3
|
||||
to:rvaluevar::@1
|
||||
@ -704,23 +692,22 @@ lvalue::@return: scope:[lvalue] from lvalue::@1
|
||||
to:@return
|
||||
rvalue: scope:[rvalue] from main::@1
|
||||
(byte[1024]) rvalue::SCREEN#0 ← (word) 1024
|
||||
(byte~) rvalue::$0 ← * (byte[1024]) rvalue::SCREEN#0
|
||||
(byte) rvalue::b#0 ← (byte~) rvalue::$0
|
||||
(byte~) rvalue::$1 ← (byte[1024]) rvalue::SCREEN#0 *idx (byte) 1
|
||||
(byte) rvalue::b#1 ← (byte~) rvalue::$1
|
||||
(byte) rvalue::b#0 ← *((byte[1024]) rvalue::SCREEN#0)
|
||||
(byte~) rvalue::$0 ← (byte[1024]) rvalue::SCREEN#0 *idx (byte) 1
|
||||
(byte) rvalue::b#1 ← (byte~) rvalue::$0
|
||||
(byte) rvalue::i#0 ← (byte) 2
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
(byte[1024]) rvalue::SCREEN#2 ← phi( rvalue/(byte[1024]) rvalue::SCREEN#0 rvalue::@2/(byte[1024]) rvalue::SCREEN#1 )
|
||||
(byte) rvalue::i#2 ← phi( rvalue/(byte) rvalue::i#0 rvalue::@2/(byte) rvalue::i#1 )
|
||||
(boolean~) rvalue::$2 ← (byte) rvalue::i#2 < (byte) 10
|
||||
if((boolean~) rvalue::$2) goto rvalue::@2
|
||||
(boolean~) rvalue::$1 ← (byte) rvalue::i#2 < (byte) 10
|
||||
if((boolean~) rvalue::$1) goto rvalue::@2
|
||||
to:rvalue::@return
|
||||
rvalue::@2: scope:[rvalue] from rvalue::@1
|
||||
(byte) rvalue::i#3 ← phi( rvalue::@1/(byte) rvalue::i#2 )
|
||||
(byte[1024]) rvalue::SCREEN#1 ← phi( rvalue::@1/(byte[1024]) rvalue::SCREEN#2 )
|
||||
(byte~) rvalue::$3 ← (byte[1024]) rvalue::SCREEN#1 *idx (byte) rvalue::i#3
|
||||
(byte) rvalue::b#2 ← (byte~) rvalue::$3
|
||||
(byte~) rvalue::$2 ← (byte[1024]) rvalue::SCREEN#1 *idx (byte) rvalue::i#3
|
||||
(byte) rvalue::b#2 ← (byte~) rvalue::$2
|
||||
(byte) rvalue::i#1 ← ++ (byte) rvalue::i#3
|
||||
to:rvalue::@1
|
||||
rvalue::@return: scope:[rvalue] from rvalue::@1
|
||||
@ -762,8 +749,7 @@ rvaluevar::@1: scope:[rvaluevar] from rvaluevar rvaluevar::@2
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
(byte) rvaluevar::i#3 ← phi( rvaluevar::@1/(byte) rvaluevar::i#2 )
|
||||
(byte*) rvaluevar::screen#2 ← phi( rvaluevar::@1/(byte*) rvaluevar::screen#3 )
|
||||
(byte~) rvaluevar::$1 ← * (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::b#0 ← (byte~) rvaluevar::$1
|
||||
(byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2)
|
||||
(byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::i#1 ← ++ (byte) rvaluevar::i#3
|
||||
to:rvaluevar::@1
|
||||
@ -823,9 +809,8 @@ INITIAL SSA SYMBOL TABLE
|
||||
(label) main::@return
|
||||
(void()) rvalue()
|
||||
(byte~) rvalue::$0
|
||||
(byte~) rvalue::$1
|
||||
(boolean~) rvalue::$2
|
||||
(byte~) rvalue::$3
|
||||
(boolean~) rvalue::$1
|
||||
(byte~) rvalue::$2
|
||||
(label) rvalue::@1
|
||||
(label) rvalue::@2
|
||||
(label) rvalue::@return
|
||||
@ -844,7 +829,6 @@ INITIAL SSA SYMBOL TABLE
|
||||
(byte) rvalue::i#3
|
||||
(void()) rvaluevar()
|
||||
(boolean~) rvaluevar::$0
|
||||
(byte~) rvaluevar::$1
|
||||
(label) rvaluevar::@1
|
||||
(label) rvaluevar::@2
|
||||
(label) rvaluevar::@return
|
||||
@ -905,23 +889,22 @@ lvalue::@return: scope:[lvalue] from lvalue::@1
|
||||
to:@return
|
||||
rvalue: scope:[rvalue] from main::@1
|
||||
(byte[1024]) rvalue::SCREEN#0 ← (word) 1024
|
||||
(byte~) rvalue::$0 ← * (byte[1024]) rvalue::SCREEN#0
|
||||
(byte) rvalue::b#0 ← (byte~) rvalue::$0
|
||||
(byte~) rvalue::$1 ← (byte[1024]) rvalue::SCREEN#0 *idx (byte) 1
|
||||
(byte) rvalue::b#1 ← (byte~) rvalue::$1
|
||||
(byte) rvalue::b#0 ← *((byte[1024]) rvalue::SCREEN#0)
|
||||
(byte~) rvalue::$0 ← (byte[1024]) rvalue::SCREEN#0 *idx (byte) 1
|
||||
(byte) rvalue::b#1 ← (byte~) rvalue::$0
|
||||
(byte) rvalue::i#0 ← (byte) 2
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
(byte[1024]) rvalue::SCREEN#2 ← phi( rvalue/(byte[1024]) rvalue::SCREEN#0 rvalue::@2/(byte[1024]) rvalue::SCREEN#1 )
|
||||
(byte) rvalue::i#2 ← phi( rvalue/(byte) rvalue::i#0 rvalue::@2/(byte) rvalue::i#1 )
|
||||
(boolean~) rvalue::$2 ← (byte) rvalue::i#2 < (byte) 10
|
||||
if((boolean~) rvalue::$2) goto rvalue::@2
|
||||
(boolean~) rvalue::$1 ← (byte) rvalue::i#2 < (byte) 10
|
||||
if((boolean~) rvalue::$1) goto rvalue::@2
|
||||
to:rvalue::@return
|
||||
rvalue::@2: scope:[rvalue] from rvalue::@1
|
||||
(byte) rvalue::i#3 ← phi( rvalue::@1/(byte) rvalue::i#2 )
|
||||
(byte[1024]) rvalue::SCREEN#1 ← phi( rvalue::@1/(byte[1024]) rvalue::SCREEN#2 )
|
||||
(byte~) rvalue::$3 ← (byte[1024]) rvalue::SCREEN#1 *idx (byte) rvalue::i#3
|
||||
(byte) rvalue::b#2 ← (byte~) rvalue::$3
|
||||
(byte~) rvalue::$2 ← (byte[1024]) rvalue::SCREEN#1 *idx (byte) rvalue::i#3
|
||||
(byte) rvalue::b#2 ← (byte~) rvalue::$2
|
||||
(byte) rvalue::i#1 ← ++ (byte) rvalue::i#3
|
||||
to:rvalue::@1
|
||||
rvalue::@return: scope:[rvalue] from rvalue::@1
|
||||
@ -963,8 +946,7 @@ rvaluevar::@1: scope:[rvaluevar] from rvaluevar rvaluevar::@2
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
(byte) rvaluevar::i#3 ← phi( rvaluevar::@1/(byte) rvaluevar::i#2 )
|
||||
(byte*) rvaluevar::screen#2 ← phi( rvaluevar::@1/(byte*) rvaluevar::screen#3 )
|
||||
(byte~) rvaluevar::$1 ← * (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::b#0 ← (byte~) rvaluevar::$1
|
||||
(byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2)
|
||||
(byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::i#1 ← ++ (byte) rvaluevar::i#3
|
||||
to:rvaluevar::@1
|
||||
@ -978,17 +960,15 @@ rvaluevar::@return: scope:[rvaluevar] from rvaluevar::@1
|
||||
|
||||
Alias (byte[1024]) lvalue::SCREEN#1 = (byte[1024]) lvalue::SCREEN#2
|
||||
Alias (byte) lvalue::i#2 = (byte) lvalue::i#3
|
||||
Alias (byte) rvalue::b#0 = (byte~) rvalue::$0
|
||||
Alias (byte) rvalue::b#1 = (byte~) rvalue::$1
|
||||
Alias (byte) rvalue::b#1 = (byte~) rvalue::$0
|
||||
Alias (byte[1024]) rvalue::SCREEN#1 = (byte[1024]) rvalue::SCREEN#2
|
||||
Alias (byte) rvalue::i#2 = (byte) rvalue::i#3
|
||||
Alias (byte) rvalue::b#2 = (byte~) rvalue::$3
|
||||
Alias (byte) rvalue::b#2 = (byte~) rvalue::$2
|
||||
Alias (byte) lvaluevar::b#1 = (byte) lvaluevar::b#2
|
||||
Alias (byte*) lvaluevar::screen#2 = (byte*) lvaluevar::screen#3
|
||||
Alias (byte) lvaluevar::i#2 = (byte) lvaluevar::i#3
|
||||
Alias (byte*) rvaluevar::screen#2 = (byte*) rvaluevar::screen#3
|
||||
Alias (byte) rvaluevar::i#2 = (byte) rvaluevar::i#3
|
||||
Alias (byte) rvaluevar::b#0 = (byte~) rvaluevar::$1
|
||||
Succesful SSA optimization Pass2AliasElimination
|
||||
CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
@ -1029,15 +1009,15 @@ lvalue::@return: scope:[lvalue] from lvalue::@1
|
||||
to:@return
|
||||
rvalue: scope:[rvalue] from main::@1
|
||||
(byte[1024]) rvalue::SCREEN#0 ← (word) 1024
|
||||
(byte) rvalue::b#0 ← * (byte[1024]) rvalue::SCREEN#0
|
||||
(byte) rvalue::b#0 ← *((byte[1024]) rvalue::SCREEN#0)
|
||||
(byte) rvalue::b#1 ← (byte[1024]) rvalue::SCREEN#0 *idx (byte) 1
|
||||
(byte) rvalue::i#0 ← (byte) 2
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
(byte[1024]) rvalue::SCREEN#1 ← phi( rvalue/(byte[1024]) rvalue::SCREEN#0 rvalue::@2/(byte[1024]) rvalue::SCREEN#1 )
|
||||
(byte) rvalue::i#2 ← phi( rvalue/(byte) rvalue::i#0 rvalue::@2/(byte) rvalue::i#1 )
|
||||
(boolean~) rvalue::$2 ← (byte) rvalue::i#2 < (byte) 10
|
||||
if((boolean~) rvalue::$2) goto rvalue::@2
|
||||
(boolean~) rvalue::$1 ← (byte) rvalue::i#2 < (byte) 10
|
||||
if((boolean~) rvalue::$1) goto rvalue::@2
|
||||
to:rvalue::@return
|
||||
rvalue::@2: scope:[rvalue] from rvalue::@1
|
||||
(byte) rvalue::b#2 ← (byte[1024]) rvalue::SCREEN#1 *idx (byte) rvalue::i#2
|
||||
@ -1077,7 +1057,7 @@ rvaluevar::@1: scope:[rvaluevar] from rvaluevar rvaluevar::@2
|
||||
if((boolean~) rvaluevar::$0) goto rvaluevar::@2
|
||||
to:rvaluevar::@return
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
(byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2)
|
||||
(byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::i#1 ← ++ (byte) rvaluevar::i#2
|
||||
to:rvaluevar::@1
|
||||
@ -1132,15 +1112,15 @@ lvalue::@return: scope:[lvalue] from lvalue::@1
|
||||
to:@return
|
||||
rvalue: scope:[rvalue] from main::@1
|
||||
(byte[1024]) rvalue::SCREEN#0 ← (word) 1024
|
||||
(byte) rvalue::b#0 ← * (byte[1024]) rvalue::SCREEN#0
|
||||
(byte) rvalue::b#0 ← *((byte[1024]) rvalue::SCREEN#0)
|
||||
(byte) rvalue::b#1 ← (byte[1024]) rvalue::SCREEN#0 *idx (byte) 1
|
||||
(byte) rvalue::i#0 ← (byte) 2
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
(byte[1024]) rvalue::SCREEN#1 ← phi( rvalue/(byte[1024]) rvalue::SCREEN#0 )
|
||||
(byte) rvalue::i#2 ← phi( rvalue/(byte) rvalue::i#0 rvalue::@2/(byte) rvalue::i#1 )
|
||||
(boolean~) rvalue::$2 ← (byte) rvalue::i#2 < (byte) 10
|
||||
if((boolean~) rvalue::$2) goto rvalue::@2
|
||||
(boolean~) rvalue::$1 ← (byte) rvalue::i#2 < (byte) 10
|
||||
if((boolean~) rvalue::$1) goto rvalue::@2
|
||||
to:rvalue::@return
|
||||
rvalue::@2: scope:[rvalue] from rvalue::@1
|
||||
(byte) rvalue::b#2 ← (byte[1024]) rvalue::SCREEN#1 *idx (byte) rvalue::i#2
|
||||
@ -1180,7 +1160,7 @@ rvaluevar::@1: scope:[rvaluevar] from rvaluevar rvaluevar::@2
|
||||
if((boolean~) rvaluevar::$0) goto rvaluevar::@2
|
||||
to:rvaluevar::@return
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
(byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2)
|
||||
(byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::i#1 ← ++ (byte) rvaluevar::i#2
|
||||
to:rvaluevar::@1
|
||||
@ -1234,14 +1214,14 @@ lvalue::@return: scope:[lvalue] from lvalue::@1
|
||||
to:@return
|
||||
rvalue: scope:[rvalue] from main::@1
|
||||
(byte[1024]) rvalue::SCREEN#0 ← (word) 1024
|
||||
(byte) rvalue::b#0 ← * (byte[1024]) rvalue::SCREEN#0
|
||||
(byte) rvalue::b#0 ← *((byte[1024]) rvalue::SCREEN#0)
|
||||
(byte) rvalue::b#1 ← (byte[1024]) rvalue::SCREEN#0 *idx (byte) 1
|
||||
(byte) rvalue::i#0 ← (byte) 2
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
(byte) rvalue::i#2 ← phi( rvalue/(byte) rvalue::i#0 rvalue::@2/(byte) rvalue::i#1 )
|
||||
(boolean~) rvalue::$2 ← (byte) rvalue::i#2 < (byte) 10
|
||||
if((boolean~) rvalue::$2) goto rvalue::@2
|
||||
(boolean~) rvalue::$1 ← (byte) rvalue::i#2 < (byte) 10
|
||||
if((boolean~) rvalue::$1) goto rvalue::@2
|
||||
to:rvalue::@return
|
||||
rvalue::@2: scope:[rvalue] from rvalue::@1
|
||||
(byte) rvalue::b#2 ← (byte[1024]) rvalue::SCREEN#0 *idx (byte) rvalue::i#2
|
||||
@ -1280,7 +1260,7 @@ rvaluevar::@1: scope:[rvaluevar] from rvaluevar rvaluevar::@2
|
||||
if((boolean~) rvaluevar::$0) goto rvaluevar::@2
|
||||
to:rvaluevar::@return
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
(byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2)
|
||||
(byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::i#1 ← ++ (byte) rvaluevar::i#2
|
||||
to:rvaluevar::@1
|
||||
@ -1293,7 +1273,7 @@ rvaluevar::@return: scope:[rvaluevar] from rvaluevar::@1
|
||||
@end: scope:[] from @5
|
||||
|
||||
Simple Condition (boolean~) lvalue::$0 if((byte) lvalue::i#2<(byte) 10) goto lvalue::@2
|
||||
Simple Condition (boolean~) rvalue::$2 if((byte) rvalue::i#2<(byte) 10) goto rvalue::@2
|
||||
Simple Condition (boolean~) rvalue::$1 if((byte) rvalue::i#2<(byte) 10) goto rvalue::@2
|
||||
Simple Condition (boolean~) lvaluevar::$0 if((byte) lvaluevar::i#2<(byte) 10) goto lvaluevar::@2
|
||||
Simple Condition (boolean~) rvaluevar::$0 if((byte) rvaluevar::i#2<(byte) 10) goto rvaluevar::@2
|
||||
Succesful SSA optimization Pass2ConditionalJumpSimplification
|
||||
@ -1334,7 +1314,7 @@ lvalue::@return: scope:[lvalue] from lvalue::@1
|
||||
to:@return
|
||||
rvalue: scope:[rvalue] from main::@1
|
||||
(byte[1024]) rvalue::SCREEN#0 ← (word) 1024
|
||||
(byte) rvalue::b#0 ← * (byte[1024]) rvalue::SCREEN#0
|
||||
(byte) rvalue::b#0 ← *((byte[1024]) rvalue::SCREEN#0)
|
||||
(byte) rvalue::b#1 ← (byte[1024]) rvalue::SCREEN#0 *idx (byte) 1
|
||||
(byte) rvalue::i#0 ← (byte) 2
|
||||
to:rvalue::@1
|
||||
@ -1377,7 +1357,7 @@ rvaluevar::@1: scope:[rvaluevar] from rvaluevar rvaluevar::@2
|
||||
if((byte) rvaluevar::i#2<(byte) 10) goto rvaluevar::@2
|
||||
to:rvaluevar::@return
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
(byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2)
|
||||
(byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::i#1 ← ++ (byte) rvaluevar::i#2
|
||||
to:rvaluevar::@1
|
||||
@ -1433,7 +1413,7 @@ lvalue::@return: scope:[lvalue] from lvalue::@1
|
||||
return
|
||||
to:@return
|
||||
rvalue: scope:[rvalue] from main::@1
|
||||
(byte) rvalue::b#0 ← * (const byte[1024]) rvalue::SCREEN#0
|
||||
(byte) rvalue::b#0 ← *((const byte[1024]) rvalue::SCREEN#0)
|
||||
(byte) rvalue::b#1 ← (const byte[1024]) rvalue::SCREEN#0 *idx (byte) 1
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
@ -1470,7 +1450,7 @@ rvaluevar::@1: scope:[rvaluevar] from rvaluevar rvaluevar::@2
|
||||
if((byte) rvaluevar::i#2<(byte) 10) goto rvaluevar::@2
|
||||
to:rvaluevar::@return
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
(byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2)
|
||||
(byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::i#1 ← ++ (byte) rvaluevar::i#2
|
||||
to:rvaluevar::@1
|
||||
@ -1520,7 +1500,7 @@ lvalue::@return: scope:[lvalue] from lvalue::@1
|
||||
return
|
||||
to:@return
|
||||
rvalue: scope:[rvalue] from main::@1
|
||||
(byte) rvalue::b#0 ← * (const byte[1024]) rvalue::SCREEN#0
|
||||
(byte) rvalue::b#0 ← *((const byte[1024]) rvalue::SCREEN#0)
|
||||
(byte) rvalue::b#1 ← * (const byte[1024]) rvalue::SCREEN#0+(byte) 1
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
@ -1557,7 +1537,7 @@ rvaluevar::@1: scope:[rvaluevar] from rvaluevar rvaluevar::@2
|
||||
if((byte) rvaluevar::i#2<(byte) 10) goto rvaluevar::@2
|
||||
to:rvaluevar::@return
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
(byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2)
|
||||
(byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::i#1 ← ++ (byte) rvaluevar::i#2
|
||||
to:rvaluevar::@1
|
||||
@ -1624,7 +1604,7 @@ lvalue::@return: scope:[lvalue] from lvalue::@1
|
||||
return
|
||||
to:@return
|
||||
rvalue: scope:[rvalue] from main::@1
|
||||
(byte) rvalue::b#0 ← * (const byte[1024]) rvalue::SCREEN#0
|
||||
(byte) rvalue::b#0 ← *((const byte[1024]) rvalue::SCREEN#0)
|
||||
(byte) rvalue::b#1 ← * (const byte[1024]) rvalue::SCREEN#0+(byte) 1
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
@ -1661,7 +1641,7 @@ rvaluevar::@1: scope:[rvaluevar] from rvaluevar rvaluevar::@2
|
||||
if((byte) rvaluevar::i#2<(byte) 10) goto rvaluevar::@2
|
||||
to:rvaluevar::@return
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
(byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2)
|
||||
(byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::i#1 ← ++ (byte) rvaluevar::i#2
|
||||
to:rvaluevar::@1
|
||||
@ -1781,14 +1761,14 @@ rvaluevar::@return: scope:[rvaluevar] from rvaluevar::@1
|
||||
return
|
||||
to:@return
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
(byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2)
|
||||
(byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2
|
||||
(byte) rvaluevar::i#1 ← ++ (byte) rvaluevar::i#2
|
||||
(byte~) rvaluevar::i#4 ← (byte) rvaluevar::i#1
|
||||
(byte*~) rvaluevar::screen#4 ← (byte*) rvaluevar::screen#1
|
||||
to:rvaluevar::@1
|
||||
rvalue: scope:[rvalue] from main::@1
|
||||
(byte) rvalue::b#0 ← * (const byte[1024]) rvalue::SCREEN#0
|
||||
(byte) rvalue::b#0 ← *((const byte[1024]) rvalue::SCREEN#0)
|
||||
(byte) rvalue::b#1 ← * (const byte[1024]) rvalue::SCREEN#0+(byte) 1
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
@ -1884,14 +1864,14 @@ rvaluevar::@return: scope:[rvaluevar] from rvaluevar::@1
|
||||
[19] return [ ]
|
||||
to:@return
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
[20] (byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#2 ]
|
||||
[20] (byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2) [ rvaluevar::i#2 rvaluevar::screen#2 ]
|
||||
[21] (byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#1 ]
|
||||
[22] (byte) rvaluevar::i#1 ← ++ (byte) rvaluevar::i#2 [ rvaluevar::screen#1 rvaluevar::i#1 ]
|
||||
[23] (byte~) rvaluevar::i#4 ← (byte) rvaluevar::i#1 [ rvaluevar::i#4 rvaluevar::screen#1 ]
|
||||
[24] (byte*~) rvaluevar::screen#4 ← (byte*) rvaluevar::screen#1 [ rvaluevar::i#4 rvaluevar::screen#4 ]
|
||||
to:rvaluevar::@1
|
||||
rvalue: scope:[rvalue] from main::@1
|
||||
[25] (byte) rvalue::b#0 ← * (const byte[1024]) rvalue::SCREEN#0 [ ]
|
||||
[25] (byte) rvalue::b#0 ← *((const byte[1024]) rvalue::SCREEN#0) [ ]
|
||||
[26] (byte) rvalue::b#1 ← * (const byte[1024]) rvalue::SCREEN#0+(byte) 1 [ ]
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
@ -1990,12 +1970,12 @@ rvaluevar::@return: scope:[rvaluevar] from rvaluevar::@1
|
||||
[17] return [ ]
|
||||
to:@return
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
[18] (byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#2 ]
|
||||
[18] (byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2) [ rvaluevar::i#2 rvaluevar::screen#2 ]
|
||||
[19] (byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#1 ]
|
||||
[20] (byte) rvaluevar::i#1 ← ++ (byte) rvaluevar::i#2 [ rvaluevar::i#1 rvaluevar::screen#1 ]
|
||||
to:rvaluevar::@1
|
||||
rvalue: scope:[rvalue] from main::@1
|
||||
[21] (byte) rvalue::b#0 ← * (const byte[1024]) rvalue::SCREEN#0 [ ]
|
||||
[21] (byte) rvalue::b#0 ← *((const byte[1024]) rvalue::SCREEN#0) [ ]
|
||||
[22] (byte) rvalue::b#1 ← * (const byte[1024]) rvalue::SCREEN#0+(byte) 1 [ ]
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
@ -2076,12 +2056,12 @@ rvaluevar::@return: scope:[rvaluevar] from rvaluevar::@1
|
||||
[17] return [ ] ( main:0::rvaluevar:4 [ ] )
|
||||
to:@return
|
||||
rvaluevar::@2: scope:[rvaluevar] from rvaluevar::@1
|
||||
[18] (byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] )
|
||||
[18] (byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2) [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] )
|
||||
[19] (byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#1 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#1 ] )
|
||||
[20] (byte) rvaluevar::i#1 ← ++ (byte) rvaluevar::i#2 [ rvaluevar::i#1 rvaluevar::screen#1 ] ( main:0::rvaluevar:4 [ rvaluevar::i#1 rvaluevar::screen#1 ] )
|
||||
to:rvaluevar::@1
|
||||
rvalue: scope:[rvalue] from main::@1
|
||||
[21] (byte) rvalue::b#0 ← * (const byte[1024]) rvalue::SCREEN#0 [ ] ( main:0::rvalue:3 [ ] )
|
||||
[21] (byte) rvalue::b#0 ← *((const byte[1024]) rvalue::SCREEN#0) [ ] ( main:0::rvalue:3 [ ] )
|
||||
[22] (byte) rvalue::b#1 ← * (const byte[1024]) rvalue::SCREEN#0+(byte) 1 [ ] ( main:0::rvalue:3 [ ] )
|
||||
to:rvalue::@1
|
||||
rvalue::@1: scope:[rvalue] from rvalue rvalue::@2
|
||||
@ -2200,7 +2180,7 @@ VARIABLE REGISTER WEIGHTS
|
||||
(byte) rvaluevar::i#2 8.25
|
||||
(byte*) rvaluevar::screen
|
||||
(byte*) rvaluevar::screen#1 11.0
|
||||
(byte*) rvaluevar::screen#2 11.0
|
||||
(byte*) rvaluevar::screen#2 7.333333333333333
|
||||
|
||||
Initial phi equivalence classes
|
||||
[ lvaluevar::i#2 lvaluevar::i#1 ]
|
||||
@ -2356,7 +2336,7 @@ rvaluevar: {
|
||||
rts
|
||||
//SEG42 rvaluevar::@2
|
||||
b2:
|
||||
//SEG43 [18] (byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] ) -- zpby1=_star_zpptrby1
|
||||
//SEG43 [18] (byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2) [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] ) -- zpby1=_star_zpptrby1
|
||||
ldy #0
|
||||
lda (screen),y
|
||||
sta b
|
||||
@ -2380,7 +2360,7 @@ rvalue: {
|
||||
.label b_1 = $c
|
||||
.label b_2 = $d
|
||||
.label i = 8
|
||||
//SEG50 [21] (byte) rvalue::b#0 ← * (const byte[1024]) rvalue::SCREEN#0 [ ] ( main:0::rvalue:3 [ ] ) -- zpby1=_star_cowo1
|
||||
//SEG50 [21] (byte) rvalue::b#0 ← *((const byte[1024]) rvalue::SCREEN#0) [ ] ( main:0::rvalue:3 [ ] ) -- zpby1=_star_cowo1
|
||||
lda SCREEN
|
||||
sta b
|
||||
//SEG51 [22] (byte) rvalue::b#1 ← * (const byte[1024]) rvalue::SCREEN#0+(byte) 1 [ ] ( main:0::rvalue:3 [ ] ) -- zpby1=_star_cowo1
|
||||
@ -2461,7 +2441,7 @@ REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [11] *((byte*) lvaluevar::screen#2) ← (const byte) lvaluevar::b#0 [ lvaluevar::i#2 lvaluevar::screen#2 ] ( main:0::lvaluevar:5 [ lvaluevar::i#2 lvaluevar::screen#2 ] ) always clobbers reg byte a reg byte y
|
||||
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ lvaluevar::i#2 lvaluevar::i#1 ]
|
||||
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:2 [ lvaluevar::i#2 lvaluevar::i#1 ]
|
||||
Statement [18] (byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] ) always clobbers reg byte a reg byte y
|
||||
Statement [18] (byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2) [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] ) always clobbers reg byte a reg byte y
|
||||
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:5 [ rvaluevar::i#2 rvaluevar::i#1 ]
|
||||
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:5 [ rvaluevar::i#2 rvaluevar::i#1 ]
|
||||
Statement [28] *((const byte[1024]) lvalue::SCREEN#0) ← (byte) 1 [ ] ( main:0::lvalue:2 [ ] ) always clobbers reg byte a
|
||||
@ -2469,7 +2449,7 @@ Statement [29] *((const byte[1024]) lvalue::SCREEN#0+(byte) 1) ← (byte) 2 [ ]
|
||||
Statement [33] *((const byte[1024]) lvalue::SCREEN#0 + (byte) lvalue::i#2) ← (byte) 3 [ lvalue::i#2 ] ( main:0::lvalue:2 [ lvalue::i#2 ] ) always clobbers reg byte a
|
||||
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:9 [ lvalue::i#2 lvalue::i#1 ]
|
||||
Statement [11] *((byte*) lvaluevar::screen#2) ← (const byte) lvaluevar::b#0 [ lvaluevar::i#2 lvaluevar::screen#2 ] ( main:0::lvaluevar:5 [ lvaluevar::i#2 lvaluevar::screen#2 ] ) always clobbers reg byte a reg byte y
|
||||
Statement [18] (byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] ) always clobbers reg byte a reg byte y
|
||||
Statement [18] (byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2) [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] ) always clobbers reg byte a reg byte y
|
||||
Statement [28] *((const byte[1024]) lvalue::SCREEN#0) ← (byte) 1 [ ] ( main:0::lvalue:2 [ ] ) always clobbers reg byte a
|
||||
Statement [29] *((const byte[1024]) lvalue::SCREEN#0+(byte) 1) ← (byte) 2 [ ] ( main:0::lvalue:2 [ ] ) always clobbers reg byte a
|
||||
Statement [33] *((const byte[1024]) lvalue::SCREEN#0 + (byte) lvalue::i#2) ← (byte) 3 [ lvalue::i#2 ] ( main:0::lvalue:2 [ lvalue::i#2 ] ) always clobbers reg byte a
|
||||
@ -2486,7 +2466,7 @@ Potential registers zp ZP_BYTE:13 [ rvalue::b#2 ] : zp ZP_BYTE:13 , reg byte a ,
|
||||
|
||||
REGISTER UPLIFT SCOPES
|
||||
Uplift Scope [rvalue] 110: zp ZP_BYTE:13 [ rvalue::b#2 ] 36.67: zp ZP_BYTE:8 [ rvalue::i#2 rvalue::i#1 ] 20: zp ZP_BYTE:11 [ rvalue::b#0 ] 20: zp ZP_BYTE:12 [ rvalue::b#1 ]
|
||||
Uplift Scope [rvaluevar] 110: zp ZP_BYTE:10 [ rvaluevar::b#0 ] 30.25: zp ZP_BYTE:5 [ rvaluevar::i#2 rvaluevar::i#1 ] 22: zp ZP_PTR_BYTE:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
|
||||
Uplift Scope [rvaluevar] 110: zp ZP_BYTE:10 [ rvaluevar::b#0 ] 30.25: zp ZP_BYTE:5 [ rvaluevar::i#2 rvaluevar::i#1 ] 18.33: zp ZP_PTR_BYTE:6 [ rvaluevar::screen#2 rvaluevar::screen#1 ]
|
||||
Uplift Scope [lvaluevar] 30.25: zp ZP_BYTE:2 [ lvaluevar::i#2 lvaluevar::i#1 ] 22: zp ZP_PTR_BYTE:3 [ lvaluevar::screen#2 lvaluevar::screen#1 ]
|
||||
Uplift Scope [lvalue] 36.67: zp ZP_BYTE:9 [ lvalue::i#2 lvalue::i#1 ]
|
||||
Uplift Scope [main]
|
||||
@ -2620,7 +2600,7 @@ rvaluevar: {
|
||||
rts
|
||||
//SEG42 rvaluevar::@2
|
||||
b2:
|
||||
//SEG43 [18] (byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] ) -- aby=_star_zpptrby1
|
||||
//SEG43 [18] (byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2) [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] ) -- aby=_star_zpptrby1
|
||||
ldy #0
|
||||
lda (screen),y
|
||||
//SEG44 [19] (byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#1 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#1 ] ) -- zpptrby1=_inc_zpptrby1
|
||||
@ -2639,7 +2619,7 @@ rvaluevar: {
|
||||
//SEG49 rvalue
|
||||
rvalue: {
|
||||
.const SCREEN = $400
|
||||
//SEG50 [21] (byte) rvalue::b#0 ← * (const byte[1024]) rvalue::SCREEN#0 [ ] ( main:0::rvalue:3 [ ] ) -- aby=_star_cowo1
|
||||
//SEG50 [21] (byte) rvalue::b#0 ← *((const byte[1024]) rvalue::SCREEN#0) [ ] ( main:0::rvalue:3 [ ] ) -- aby=_star_cowo1
|
||||
lda SCREEN
|
||||
//SEG51 [22] (byte) rvalue::b#1 ← * (const byte[1024]) rvalue::SCREEN#0+(byte) 1 [ ] ( main:0::rvalue:3 [ ] ) -- aby=_star_cowo1
|
||||
lda SCREEN+1
|
||||
@ -2808,7 +2788,7 @@ rvaluevar: {
|
||||
rts
|
||||
//SEG42 rvaluevar::@2
|
||||
b2:
|
||||
//SEG43 [18] (byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] ) -- aby=_star_zpptrby1
|
||||
//SEG43 [18] (byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2) [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] ) -- aby=_star_zpptrby1
|
||||
ldy #0
|
||||
lda (screen),y
|
||||
//SEG44 [19] (byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#1 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#1 ] ) -- zpptrby1=_inc_zpptrby1
|
||||
@ -2827,7 +2807,7 @@ rvaluevar: {
|
||||
//SEG49 rvalue
|
||||
rvalue: {
|
||||
.const SCREEN = $400
|
||||
//SEG50 [21] (byte) rvalue::b#0 ← * (const byte[1024]) rvalue::SCREEN#0 [ ] ( main:0::rvalue:3 [ ] ) -- aby=_star_cowo1
|
||||
//SEG50 [21] (byte) rvalue::b#0 ← *((const byte[1024]) rvalue::SCREEN#0) [ ] ( main:0::rvalue:3 [ ] ) -- aby=_star_cowo1
|
||||
lda SCREEN
|
||||
//SEG51 [22] (byte) rvalue::b#1 ← * (const byte[1024]) rvalue::SCREEN#0+(byte) 1 [ ] ( main:0::rvalue:3 [ ] ) -- aby=_star_cowo1
|
||||
lda SCREEN+1
|
||||
@ -2999,7 +2979,7 @@ rvaluevar: {
|
||||
rts
|
||||
//SEG42 rvaluevar::@2
|
||||
b2:
|
||||
//SEG43 [18] (byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] ) -- aby=_star_zpptrby1
|
||||
//SEG43 [18] (byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2) [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] ) -- aby=_star_zpptrby1
|
||||
ldy #0
|
||||
lda (screen),y
|
||||
//SEG44 [19] (byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#1 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#1 ] ) -- zpptrby1=_inc_zpptrby1
|
||||
@ -3017,7 +2997,7 @@ rvaluevar: {
|
||||
//SEG49 rvalue
|
||||
rvalue: {
|
||||
.const SCREEN = $400
|
||||
//SEG50 [21] (byte) rvalue::b#0 ← * (const byte[1024]) rvalue::SCREEN#0 [ ] ( main:0::rvalue:3 [ ] ) -- aby=_star_cowo1
|
||||
//SEG50 [21] (byte) rvalue::b#0 ← *((const byte[1024]) rvalue::SCREEN#0) [ ] ( main:0::rvalue:3 [ ] ) -- aby=_star_cowo1
|
||||
lda SCREEN
|
||||
//SEG51 [22] (byte) rvalue::b#1 ← * (const byte[1024]) rvalue::SCREEN#0+(byte) 1 [ ] ( main:0::rvalue:3 [ ] ) -- aby=_star_cowo1
|
||||
lda SCREEN+1
|
||||
@ -3128,7 +3108,7 @@ FINAL SYMBOL TABLE
|
||||
(byte) rvaluevar::i#2 reg byte x 8.25
|
||||
(byte*) rvaluevar::screen
|
||||
(byte*) rvaluevar::screen#1 screen zp ZP_PTR_BYTE:2 11.0
|
||||
(byte*) rvaluevar::screen#2 screen zp ZP_PTR_BYTE:2 11.0
|
||||
(byte*) rvaluevar::screen#2 screen zp ZP_PTR_BYTE:2 7.333333333333333
|
||||
|
||||
reg byte x [ lvaluevar::i#2 lvaluevar::i#1 ]
|
||||
zp ZP_PTR_BYTE:2 [ lvaluevar::screen#2 lvaluevar::screen#1 rvaluevar::screen#2 rvaluevar::screen#1 ]
|
||||
@ -3230,7 +3210,7 @@ rvaluevar: {
|
||||
rts
|
||||
//SEG42 rvaluevar::@2
|
||||
b2:
|
||||
//SEG43 [18] (byte) rvaluevar::b#0 ← * (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] ) -- aby=_star_zpptrby1
|
||||
//SEG43 [18] (byte) rvaluevar::b#0 ← *((byte*) rvaluevar::screen#2) [ rvaluevar::i#2 rvaluevar::screen#2 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#2 ] ) -- aby=_star_zpptrby1
|
||||
ldy #0
|
||||
lda (screen),y
|
||||
//SEG44 [19] (byte*) rvaluevar::screen#1 ← ++ (byte*) rvaluevar::screen#2 [ rvaluevar::i#2 rvaluevar::screen#1 ] ( main:0::rvaluevar:4 [ rvaluevar::i#2 rvaluevar::screen#1 ] ) -- zpptrby1=_inc_zpptrby1
|
||||
@ -3248,7 +3228,7 @@ rvaluevar: {
|
||||
//SEG49 rvalue
|
||||
rvalue: {
|
||||
.const SCREEN = $400
|
||||
//SEG50 [21] (byte) rvalue::b#0 ← * (const byte[1024]) rvalue::SCREEN#0 [ ] ( main:0::rvalue:3 [ ] ) -- aby=_star_cowo1
|
||||
//SEG50 [21] (byte) rvalue::b#0 ← *((const byte[1024]) rvalue::SCREEN#0) [ ] ( main:0::rvalue:3 [ ] ) -- aby=_star_cowo1
|
||||
lda SCREEN
|
||||
//SEG51 [22] (byte) rvalue::b#1 ← * (const byte[1024]) rvalue::SCREEN#0+(byte) 1 [ ] ( main:0::rvalue:3 [ ] ) -- aby=_star_cowo1
|
||||
lda SCREEN+1
|
||||
|
@ -51,7 +51,7 @@
|
||||
(byte) rvaluevar::i#2 reg byte x 8.25
|
||||
(byte*) rvaluevar::screen
|
||||
(byte*) rvaluevar::screen#1 screen zp ZP_PTR_BYTE:2 11.0
|
||||
(byte*) rvaluevar::screen#2 screen zp ZP_PTR_BYTE:2 11.0
|
||||
(byte*) rvaluevar::screen#2 screen zp ZP_PTR_BYTE:2 7.333333333333333
|
||||
|
||||
reg byte x [ lvaluevar::i#2 lvaluevar::i#1 ]
|
||||
zp ZP_PTR_BYTE:2 [ lvaluevar::screen#2 lvaluevar::screen#1 rvaluevar::screen#2 rvaluevar::screen#1 ]
|
||||
|
@ -10,11 +10,11 @@ main: scope:[main] from @1
|
||||
main::@1: scope:[main] from main main::@2
|
||||
[2] (byte) main::i#2 ← phi( main/(byte) 0 main::@2/(byte) main::i#1 ) [ main::nxt#3 main::i#2 ] ( main:0 [ main::nxt#3 main::i#2 ] )
|
||||
[2] (byte*) main::nxt#3 ← phi( main/(const byte[]) TEXT#0 main::@2/(byte*) main::nxt#1 ) [ main::nxt#3 main::i#2 ] ( main:0 [ main::nxt#3 main::i#2 ] )
|
||||
[3] (byte) main::c#0 ← * (byte*) main::nxt#3 [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] )
|
||||
[3] (byte) main::c#0 ← *((byte*) main::nxt#3) [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] )
|
||||
[4] if((byte) main::c#0!=(byte) '@') goto main::@2 [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] )
|
||||
to:main::@3
|
||||
main::@3: scope:[main] from main::@1
|
||||
[5] (byte) main::c#1 ← * (const byte[]) TEXT#0 [ main::i#2 main::c#1 ] ( main:0 [ main::i#2 main::c#1 ] )
|
||||
[5] (byte) main::c#1 ← *((const byte[]) TEXT#0) [ main::i#2 main::c#1 ] ( main:0 [ main::i#2 main::c#1 ] )
|
||||
to:main::@2
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
[6] (byte*) main::nxt#4 ← phi( main::@1/(byte*) main::nxt#3 main::@3/(const byte[]) TEXT#0 ) [ main::i#2 main::c#2 main::nxt#4 ] ( main:0 [ main::i#2 main::c#2 main::nxt#4 ] )
|
||||
|
@ -26,14 +26,12 @@ proc (void()) main()
|
||||
(byte*) main::nxt ← (byte[]) TEXT
|
||||
(byte) main::i ← (byte) 0
|
||||
main::@1:
|
||||
(byte~) main::$0 ← * (byte*) main::nxt
|
||||
(byte) main::c ← (byte~) main::$0
|
||||
(boolean~) main::$1 ← (byte) main::c == (byte) '@'
|
||||
(boolean~) main::$2 ← ! (boolean~) main::$1
|
||||
if((boolean~) main::$2) goto main::@2
|
||||
(byte) main::c ← *((byte*) main::nxt)
|
||||
(boolean~) main::$0 ← (byte) main::c == (byte) '@'
|
||||
(boolean~) main::$1 ← ! (boolean~) main::$0
|
||||
if((boolean~) main::$1) goto main::@2
|
||||
(byte*) main::nxt ← (byte[]) TEXT
|
||||
(byte~) main::$3 ← * (byte*) main::nxt
|
||||
(byte) main::c ← (byte~) main::$3
|
||||
(byte) main::c ← *((byte*) main::nxt)
|
||||
main::@2:
|
||||
(byte) main::i ← ++ (byte) main::i
|
||||
*((byte*) SCREEN + (byte) main::i) ← (byte) main::c
|
||||
@ -49,10 +47,8 @@ SYMBOLS
|
||||
(byte*) SCROLL
|
||||
(byte[]) TEXT
|
||||
(void()) main()
|
||||
(byte~) main::$0
|
||||
(boolean~) main::$0
|
||||
(boolean~) main::$1
|
||||
(boolean~) main::$2
|
||||
(byte~) main::$3
|
||||
(label) main::@1
|
||||
(label) main::@2
|
||||
(label) main::@return
|
||||
@ -71,11 +67,10 @@ main: scope:[main] from
|
||||
(byte) main::i ← (byte) 0
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@2
|
||||
(byte~) main::$0 ← * (byte*) main::nxt
|
||||
(byte) main::c ← (byte~) main::$0
|
||||
(boolean~) main::$1 ← (byte) main::c == (byte) '@'
|
||||
(boolean~) main::$2 ← ! (boolean~) main::$1
|
||||
if((boolean~) main::$2) goto main::@2
|
||||
(byte) main::c ← *((byte*) main::nxt)
|
||||
(boolean~) main::$0 ← (byte) main::c == (byte) '@'
|
||||
(boolean~) main::$1 ← ! (boolean~) main::$0
|
||||
if((boolean~) main::$1) goto main::@2
|
||||
to:main::@3
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
(byte) main::i ← ++ (byte) main::i
|
||||
@ -85,8 +80,7 @@ main::@2: scope:[main] from main::@1 main::@3
|
||||
to:main::@4
|
||||
main::@3: scope:[main] from main::@1
|
||||
(byte*) main::nxt ← (byte[]) TEXT
|
||||
(byte~) main::$3 ← * (byte*) main::nxt
|
||||
(byte) main::c ← (byte~) main::$3
|
||||
(byte) main::c ← *((byte*) main::nxt)
|
||||
to:main::@2
|
||||
main::@4: scope:[main] from main::@2
|
||||
to:main::@return
|
||||
@ -110,11 +104,10 @@ main: scope:[main] from
|
||||
(byte) main::i ← (byte) 0
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@2
|
||||
(byte~) main::$0 ← * (byte*) main::nxt
|
||||
(byte) main::c ← (byte~) main::$0
|
||||
(boolean~) main::$1 ← (byte) main::c == (byte) '@'
|
||||
(boolean~) main::$2 ← ! (boolean~) main::$1
|
||||
if((boolean~) main::$2) goto main::@2
|
||||
(byte) main::c ← *((byte*) main::nxt)
|
||||
(boolean~) main::$0 ← (byte) main::c == (byte) '@'
|
||||
(boolean~) main::$1 ← ! (boolean~) main::$0
|
||||
if((boolean~) main::$1) goto main::@2
|
||||
to:main::@3
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
(byte) main::i ← ++ (byte) main::i
|
||||
@ -124,8 +117,7 @@ main::@2: scope:[main] from main::@1 main::@3
|
||||
to:main::@return
|
||||
main::@3: scope:[main] from main::@1
|
||||
(byte*) main::nxt ← (byte[]) TEXT
|
||||
(byte~) main::$3 ← * (byte*) main::nxt
|
||||
(byte) main::c ← (byte~) main::$3
|
||||
(byte) main::c ← *((byte*) main::nxt)
|
||||
to:main::@2
|
||||
main::@return: scope:[main] from main::@2
|
||||
return
|
||||
@ -148,11 +140,10 @@ main: scope:[main] from @1
|
||||
(byte) main::i ← (byte) 0
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main main::@2
|
||||
(byte~) main::$0 ← * (byte*) main::nxt
|
||||
(byte) main::c ← (byte~) main::$0
|
||||
(boolean~) main::$1 ← (byte) main::c == (byte) '@'
|
||||
(boolean~) main::$2 ← ! (boolean~) main::$1
|
||||
if((boolean~) main::$2) goto main::@2
|
||||
(byte) main::c ← *((byte*) main::nxt)
|
||||
(boolean~) main::$0 ← (byte) main::c == (byte) '@'
|
||||
(boolean~) main::$1 ← ! (boolean~) main::$0
|
||||
if((boolean~) main::$1) goto main::@2
|
||||
to:main::@3
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
(byte) main::i ← ++ (byte) main::i
|
||||
@ -162,8 +153,7 @@ main::@2: scope:[main] from main::@1 main::@3
|
||||
to:main::@return
|
||||
main::@3: scope:[main] from main::@1
|
||||
(byte*) main::nxt ← (byte[]) TEXT
|
||||
(byte~) main::$3 ← * (byte*) main::nxt
|
||||
(byte) main::c ← (byte~) main::$3
|
||||
(byte) main::c ← *((byte*) main::nxt)
|
||||
to:main::@2
|
||||
main::@return: scope:[main] from main::@2
|
||||
return
|
||||
@ -196,11 +186,10 @@ main::@1: scope:[main] from main main::@2
|
||||
(byte*) SCREEN#2 ← phi( main/(byte*) SCREEN#4 main::@2/(byte*) SCREEN#1 )
|
||||
(byte) main::i#3 ← phi( main/(byte) main::i#0 main::@2/(byte) main::i#1 )
|
||||
(byte*) main::nxt#3 ← phi( main/(byte*) main::nxt#0 main::@2/(byte*) main::nxt#1 )
|
||||
(byte~) main::$0 ← * (byte*) main::nxt#3
|
||||
(byte) main::c#0 ← (byte~) main::$0
|
||||
(boolean~) main::$1 ← (byte) main::c#0 == (byte) '@'
|
||||
(boolean~) main::$2 ← ! (boolean~) main::$1
|
||||
if((boolean~) main::$2) goto main::@2
|
||||
(byte) main::c#0 ← *((byte*) main::nxt#3)
|
||||
(boolean~) main::$0 ← (byte) main::c#0 == (byte) '@'
|
||||
(boolean~) main::$1 ← ! (boolean~) main::$0
|
||||
if((boolean~) main::$1) goto main::@2
|
||||
to:main::@3
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
(byte[]) TEXT#5 ← phi( main::@1/(byte[]) TEXT#4 main::@3/(byte[]) TEXT#2 )
|
||||
@ -218,8 +207,7 @@ main::@3: scope:[main] from main::@1
|
||||
(byte) main::i#4 ← phi( main::@1/(byte) main::i#3 )
|
||||
(byte[]) TEXT#2 ← phi( main::@1/(byte[]) TEXT#4 )
|
||||
(byte*) main::nxt#2 ← (byte[]) TEXT#2
|
||||
(byte~) main::$3 ← * (byte*) main::nxt#2
|
||||
(byte) main::c#1 ← (byte~) main::$3
|
||||
(byte) main::c#1 ← *((byte*) main::nxt#2)
|
||||
to:main::@2
|
||||
main::@return: scope:[main] from main::@2
|
||||
return
|
||||
@ -250,11 +238,10 @@ main::@1: scope:[main] from main main::@2
|
||||
(byte*) SCREEN#2 ← phi( main/(byte*) SCREEN#4 main::@2/(byte*) SCREEN#1 )
|
||||
(byte) main::i#3 ← phi( main/(byte) main::i#0 main::@2/(byte) main::i#1 )
|
||||
(byte*) main::nxt#3 ← phi( main/(byte*) main::nxt#0 main::@2/(byte*) main::nxt#1 )
|
||||
(byte~) main::$0 ← * (byte*) main::nxt#3
|
||||
(byte) main::c#0 ← (byte~) main::$0
|
||||
(boolean~) main::$1 ← (byte) main::c#0 == (byte) '@'
|
||||
(boolean~) main::$2 ← ! (boolean~) main::$1
|
||||
if((boolean~) main::$2) goto main::@2
|
||||
(byte) main::c#0 ← *((byte*) main::nxt#3)
|
||||
(boolean~) main::$0 ← (byte) main::c#0 == (byte) '@'
|
||||
(boolean~) main::$1 ← ! (boolean~) main::$0
|
||||
if((boolean~) main::$1) goto main::@2
|
||||
to:main::@3
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
(byte[]) TEXT#5 ← phi( main::@1/(byte[]) TEXT#4 main::@3/(byte[]) TEXT#2 )
|
||||
@ -272,8 +259,7 @@ main::@3: scope:[main] from main::@1
|
||||
(byte) main::i#4 ← phi( main::@1/(byte) main::i#3 )
|
||||
(byte[]) TEXT#2 ← phi( main::@1/(byte[]) TEXT#4 )
|
||||
(byte*) main::nxt#2 ← (byte[]) TEXT#2
|
||||
(byte~) main::$3 ← * (byte*) main::nxt#2
|
||||
(byte) main::c#1 ← (byte~) main::$3
|
||||
(byte) main::c#1 ← *((byte*) main::nxt#2)
|
||||
to:main::@2
|
||||
main::@return: scope:[main] from main::@2
|
||||
return
|
||||
@ -309,10 +295,8 @@ INITIAL SSA SYMBOL TABLE
|
||||
(byte[]) TEXT#4
|
||||
(byte[]) TEXT#5
|
||||
(void()) main()
|
||||
(byte~) main::$0
|
||||
(boolean~) main::$0
|
||||
(boolean~) main::$1
|
||||
(boolean~) main::$2
|
||||
(byte~) main::$3
|
||||
(label) main::@1
|
||||
(label) main::@2
|
||||
(label) main::@3
|
||||
@ -353,11 +337,10 @@ main::@1: scope:[main] from main main::@2
|
||||
(byte*) SCREEN#2 ← phi( main/(byte*) SCREEN#4 main::@2/(byte*) SCREEN#1 )
|
||||
(byte) main::i#3 ← phi( main/(byte) main::i#0 main::@2/(byte) main::i#1 )
|
||||
(byte*) main::nxt#3 ← phi( main/(byte*) main::nxt#0 main::@2/(byte*) main::nxt#1 )
|
||||
(byte~) main::$0 ← * (byte*) main::nxt#3
|
||||
(byte) main::c#0 ← (byte~) main::$0
|
||||
(boolean~) main::$1 ← (byte) main::c#0 == (byte) '@'
|
||||
(boolean~) main::$2 ← ! (boolean~) main::$1
|
||||
if((boolean~) main::$2) goto main::@2
|
||||
(byte) main::c#0 ← *((byte*) main::nxt#3)
|
||||
(boolean~) main::$0 ← (byte) main::c#0 == (byte) '@'
|
||||
(boolean~) main::$1 ← ! (boolean~) main::$0
|
||||
if((boolean~) main::$1) goto main::@2
|
||||
to:main::@3
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
(byte[]) TEXT#5 ← phi( main::@1/(byte[]) TEXT#4 main::@3/(byte[]) TEXT#2 )
|
||||
@ -375,8 +358,7 @@ main::@3: scope:[main] from main::@1
|
||||
(byte) main::i#4 ← phi( main::@1/(byte) main::i#3 )
|
||||
(byte[]) TEXT#2 ← phi( main::@1/(byte[]) TEXT#4 )
|
||||
(byte*) main::nxt#2 ← (byte[]) TEXT#2
|
||||
(byte~) main::$3 ← * (byte*) main::nxt#2
|
||||
(byte) main::c#1 ← (byte~) main::$3
|
||||
(byte) main::c#1 ← *((byte*) main::nxt#2)
|
||||
to:main::@2
|
||||
main::@return: scope:[main] from main::@2
|
||||
return
|
||||
@ -388,7 +370,7 @@ main::@return: scope:[main] from main::@2
|
||||
to:@end
|
||||
@end: scope:[] from @1
|
||||
|
||||
Inversing boolean not (boolean~) main::$2 ← (byte) main::c#0 != (byte) '@' from (boolean~) main::$1 ← (byte) main::c#0 == (byte) '@'
|
||||
Inversing boolean not (boolean~) main::$1 ← (byte) main::c#0 != (byte) '@' from (boolean~) main::$0 ← (byte) main::c#0 == (byte) '@'
|
||||
Succesful SSA optimization Pass2UnaryNotSimplification
|
||||
CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
@ -407,10 +389,9 @@ main::@1: scope:[main] from main main::@2
|
||||
(byte*) SCREEN#2 ← phi( main/(byte*) SCREEN#4 main::@2/(byte*) SCREEN#1 )
|
||||
(byte) main::i#3 ← phi( main/(byte) main::i#0 main::@2/(byte) main::i#1 )
|
||||
(byte*) main::nxt#3 ← phi( main/(byte*) main::nxt#0 main::@2/(byte*) main::nxt#1 )
|
||||
(byte~) main::$0 ← * (byte*) main::nxt#3
|
||||
(byte) main::c#0 ← (byte~) main::$0
|
||||
(boolean~) main::$2 ← (byte) main::c#0 != (byte) '@'
|
||||
if((boolean~) main::$2) goto main::@2
|
||||
(byte) main::c#0 ← *((byte*) main::nxt#3)
|
||||
(boolean~) main::$1 ← (byte) main::c#0 != (byte) '@'
|
||||
if((boolean~) main::$1) goto main::@2
|
||||
to:main::@3
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
(byte[]) TEXT#5 ← phi( main::@1/(byte[]) TEXT#4 main::@3/(byte[]) TEXT#2 )
|
||||
@ -428,8 +409,7 @@ main::@3: scope:[main] from main::@1
|
||||
(byte) main::i#4 ← phi( main::@1/(byte) main::i#3 )
|
||||
(byte[]) TEXT#2 ← phi( main::@1/(byte[]) TEXT#4 )
|
||||
(byte*) main::nxt#2 ← (byte[]) TEXT#2
|
||||
(byte~) main::$3 ← * (byte*) main::nxt#2
|
||||
(byte) main::c#1 ← (byte~) main::$3
|
||||
(byte) main::c#1 ← *((byte*) main::nxt#2)
|
||||
to:main::@2
|
||||
main::@return: scope:[main] from main::@2
|
||||
return
|
||||
@ -445,11 +425,9 @@ Not aliassing across scopes: main::nxt#0 TEXT#1
|
||||
Not aliassing across scopes: main::nxt#2 TEXT#2
|
||||
Alias (byte[]) TEXT#0 = (byte[]) TEXT#1 (byte[]) TEXT#3
|
||||
Alias (byte*) SCREEN#0 = (byte*) SCREEN#4 (byte*) SCREEN#5
|
||||
Alias (byte) main::c#0 = (byte~) main::$0
|
||||
Alias (byte[]) TEXT#2 = (byte[]) TEXT#4
|
||||
Alias (byte) main::i#3 = (byte) main::i#4
|
||||
Alias (byte*) SCREEN#2 = (byte*) SCREEN#3
|
||||
Alias (byte) main::c#1 = (byte~) main::$3
|
||||
Succesful SSA optimization Pass2AliasElimination
|
||||
CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
@ -466,9 +444,9 @@ main::@1: scope:[main] from main main::@2
|
||||
(byte*) SCREEN#2 ← phi( main/(byte*) SCREEN#0 main::@2/(byte*) SCREEN#1 )
|
||||
(byte) main::i#3 ← phi( main/(byte) main::i#0 main::@2/(byte) main::i#1 )
|
||||
(byte*) main::nxt#3 ← phi( main/(byte*) main::nxt#0 main::@2/(byte*) main::nxt#1 )
|
||||
(byte) main::c#0 ← * (byte*) main::nxt#3
|
||||
(boolean~) main::$2 ← (byte) main::c#0 != (byte) '@'
|
||||
if((boolean~) main::$2) goto main::@2
|
||||
(byte) main::c#0 ← *((byte*) main::nxt#3)
|
||||
(boolean~) main::$1 ← (byte) main::c#0 != (byte) '@'
|
||||
if((boolean~) main::$1) goto main::@2
|
||||
to:main::@3
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
(byte[]) TEXT#5 ← phi( main::@1/(byte[]) TEXT#2 main::@3/(byte[]) TEXT#2 )
|
||||
@ -483,7 +461,7 @@ main::@2: scope:[main] from main::@1 main::@3
|
||||
to:main::@return
|
||||
main::@3: scope:[main] from main::@1
|
||||
(byte*) main::nxt#2 ← (byte[]) TEXT#2
|
||||
(byte) main::c#1 ← * (byte*) main::nxt#2
|
||||
(byte) main::c#1 ← *((byte*) main::nxt#2)
|
||||
to:main::@2
|
||||
main::@return: scope:[main] from main::@2
|
||||
return
|
||||
@ -514,9 +492,9 @@ main::@1: scope:[main] from main main::@2
|
||||
(byte*) SCREEN#1 ← phi( main/(byte*) SCREEN#0 main::@2/(byte*) SCREEN#1 )
|
||||
(byte) main::i#2 ← phi( main/(byte) main::i#0 main::@2/(byte) main::i#1 )
|
||||
(byte*) main::nxt#3 ← phi( main/(byte*) main::nxt#0 main::@2/(byte*) main::nxt#1 )
|
||||
(byte) main::c#0 ← * (byte*) main::nxt#3
|
||||
(boolean~) main::$2 ← (byte) main::c#0 != (byte) '@'
|
||||
if((boolean~) main::$2) goto main::@2
|
||||
(byte) main::c#0 ← *((byte*) main::nxt#3)
|
||||
(boolean~) main::$1 ← (byte) main::c#0 != (byte) '@'
|
||||
if((boolean~) main::$1) goto main::@2
|
||||
to:main::@3
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
(byte*) main::nxt#4 ← phi( main::@1/(byte*) main::nxt#3 main::@3/(byte*) main::nxt#2 )
|
||||
@ -528,7 +506,7 @@ main::@2: scope:[main] from main::@1 main::@3
|
||||
to:main::@return
|
||||
main::@3: scope:[main] from main::@1
|
||||
(byte*) main::nxt#2 ← (byte[]) TEXT#2
|
||||
(byte) main::c#1 ← * (byte*) main::nxt#2
|
||||
(byte) main::c#1 ← *((byte*) main::nxt#2)
|
||||
to:main::@2
|
||||
main::@return: scope:[main] from main::@2
|
||||
return
|
||||
@ -558,9 +536,9 @@ main::@1: scope:[main] from main main::@2
|
||||
(byte*) SCREEN#1 ← phi( main/(byte*) SCREEN#0 )
|
||||
(byte) main::i#2 ← phi( main/(byte) main::i#0 main::@2/(byte) main::i#1 )
|
||||
(byte*) main::nxt#3 ← phi( main/(byte*) main::nxt#0 main::@2/(byte*) main::nxt#1 )
|
||||
(byte) main::c#0 ← * (byte*) main::nxt#3
|
||||
(boolean~) main::$2 ← (byte) main::c#0 != (byte) '@'
|
||||
if((boolean~) main::$2) goto main::@2
|
||||
(byte) main::c#0 ← *((byte*) main::nxt#3)
|
||||
(boolean~) main::$1 ← (byte) main::c#0 != (byte) '@'
|
||||
if((boolean~) main::$1) goto main::@2
|
||||
to:main::@3
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
(byte*) main::nxt#4 ← phi( main::@1/(byte*) main::nxt#3 main::@3/(byte*) main::nxt#2 )
|
||||
@ -572,7 +550,7 @@ main::@2: scope:[main] from main::@1 main::@3
|
||||
to:main::@return
|
||||
main::@3: scope:[main] from main::@1
|
||||
(byte*) main::nxt#2 ← (byte[]) TEXT#2
|
||||
(byte) main::c#1 ← * (byte*) main::nxt#2
|
||||
(byte) main::c#1 ← *((byte*) main::nxt#2)
|
||||
to:main::@2
|
||||
main::@return: scope:[main] from main::@2
|
||||
return
|
||||
@ -598,9 +576,9 @@ main: scope:[main] from @1
|
||||
main::@1: scope:[main] from main main::@2
|
||||
(byte) main::i#2 ← phi( main/(byte) main::i#0 main::@2/(byte) main::i#1 )
|
||||
(byte*) main::nxt#3 ← phi( main/(byte*) main::nxt#0 main::@2/(byte*) main::nxt#1 )
|
||||
(byte) main::c#0 ← * (byte*) main::nxt#3
|
||||
(boolean~) main::$2 ← (byte) main::c#0 != (byte) '@'
|
||||
if((boolean~) main::$2) goto main::@2
|
||||
(byte) main::c#0 ← *((byte*) main::nxt#3)
|
||||
(boolean~) main::$1 ← (byte) main::c#0 != (byte) '@'
|
||||
if((boolean~) main::$1) goto main::@2
|
||||
to:main::@3
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
(byte*) main::nxt#4 ← phi( main::@1/(byte*) main::nxt#3 main::@3/(byte*) main::nxt#2 )
|
||||
@ -612,7 +590,7 @@ main::@2: scope:[main] from main::@1 main::@3
|
||||
to:main::@return
|
||||
main::@3: scope:[main] from main::@1
|
||||
(byte*) main::nxt#2 ← (byte[]) TEXT#0
|
||||
(byte) main::c#1 ← * (byte*) main::nxt#2
|
||||
(byte) main::c#1 ← *((byte*) main::nxt#2)
|
||||
to:main::@2
|
||||
main::@return: scope:[main] from main::@2
|
||||
return
|
||||
@ -622,7 +600,7 @@ main::@return: scope:[main] from main::@2
|
||||
to:@end
|
||||
@end: scope:[] from @1
|
||||
|
||||
Simple Condition (boolean~) main::$2 if((byte) main::c#0!=(byte) '@') goto main::@2
|
||||
Simple Condition (boolean~) main::$1 if((byte) main::c#0!=(byte) '@') goto main::@2
|
||||
Succesful SSA optimization Pass2ConditionalJumpSimplification
|
||||
CONTROL FLOW GRAPH
|
||||
@begin: scope:[] from
|
||||
@ -637,7 +615,7 @@ main: scope:[main] from @1
|
||||
main::@1: scope:[main] from main main::@2
|
||||
(byte) main::i#2 ← phi( main/(byte) main::i#0 main::@2/(byte) main::i#1 )
|
||||
(byte*) main::nxt#3 ← phi( main/(byte*) main::nxt#0 main::@2/(byte*) main::nxt#1 )
|
||||
(byte) main::c#0 ← * (byte*) main::nxt#3
|
||||
(byte) main::c#0 ← *((byte*) main::nxt#3)
|
||||
if((byte) main::c#0!=(byte) '@') goto main::@2
|
||||
to:main::@3
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
@ -650,7 +628,7 @@ main::@2: scope:[main] from main::@1 main::@3
|
||||
to:main::@return
|
||||
main::@3: scope:[main] from main::@1
|
||||
(byte*) main::nxt#2 ← (byte[]) TEXT#0
|
||||
(byte) main::c#1 ← * (byte*) main::nxt#2
|
||||
(byte) main::c#1 ← *((byte*) main::nxt#2)
|
||||
to:main::@2
|
||||
main::@return: scope:[main] from main::@2
|
||||
return
|
||||
@ -674,7 +652,7 @@ main: scope:[main] from @1
|
||||
main::@1: scope:[main] from main main::@2
|
||||
(byte) main::i#2 ← phi( main/(const byte) main::i#0 main::@2/(byte) main::i#1 )
|
||||
(byte*) main::nxt#3 ← phi( main/(byte*) main::nxt#0 main::@2/(byte*) main::nxt#1 )
|
||||
(byte) main::c#0 ← * (byte*) main::nxt#3
|
||||
(byte) main::c#0 ← *((byte*) main::nxt#3)
|
||||
if((byte) main::c#0!=(byte) '@') goto main::@2
|
||||
to:main::@3
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
@ -687,7 +665,7 @@ main::@2: scope:[main] from main::@1 main::@3
|
||||
to:main::@return
|
||||
main::@3: scope:[main] from main::@1
|
||||
(byte*) main::nxt#2 ← (const byte[]) TEXT#0
|
||||
(byte) main::c#1 ← * (byte*) main::nxt#2
|
||||
(byte) main::c#1 ← *((byte*) main::nxt#2)
|
||||
to:main::@2
|
||||
main::@return: scope:[main] from main::@2
|
||||
return
|
||||
@ -708,7 +686,7 @@ main: scope:[main] from @1
|
||||
main::@1: scope:[main] from main main::@2
|
||||
(byte) main::i#2 ← phi( main/(const byte) main::i#0 main::@2/(byte) main::i#1 )
|
||||
(byte*) main::nxt#3 ← phi( main/(const byte*) main::nxt#0 main::@2/(byte*) main::nxt#1 )
|
||||
(byte) main::c#0 ← * (byte*) main::nxt#3
|
||||
(byte) main::c#0 ← *((byte*) main::nxt#3)
|
||||
if((byte) main::c#0!=(byte) '@') goto main::@2
|
||||
to:main::@3
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
@ -720,7 +698,7 @@ main::@2: scope:[main] from main::@1 main::@3
|
||||
if(true) goto main::@1
|
||||
to:main::@return
|
||||
main::@3: scope:[main] from main::@1
|
||||
(byte) main::c#1 ← * (const byte*) main::nxt#2
|
||||
(byte) main::c#1 ← *((const byte*) main::nxt#2)
|
||||
to:main::@2
|
||||
main::@return: scope:[main] from main::@2
|
||||
return
|
||||
@ -750,7 +728,7 @@ main: scope:[main] from @1
|
||||
main::@1: scope:[main] from main main::@2
|
||||
(byte) main::i#2 ← phi( main/(byte) 0 main::@2/(byte) main::i#1 )
|
||||
(byte*) main::nxt#3 ← phi( main/(const byte[]) TEXT#0 main::@2/(byte*) main::nxt#1 )
|
||||
(byte) main::c#0 ← * (byte*) main::nxt#3
|
||||
(byte) main::c#0 ← *((byte*) main::nxt#3)
|
||||
if((byte) main::c#0!=(byte) '@') goto main::@2
|
||||
to:main::@3
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
@ -762,7 +740,7 @@ main::@2: scope:[main] from main::@1 main::@3
|
||||
if(true) goto main::@1
|
||||
to:main::@return
|
||||
main::@3: scope:[main] from main::@1
|
||||
(byte) main::c#1 ← * (const byte[]) TEXT#0
|
||||
(byte) main::c#1 ← *((const byte[]) TEXT#0)
|
||||
to:main::@2
|
||||
main::@return: scope:[main] from main::@2
|
||||
return
|
||||
@ -815,11 +793,11 @@ main: scope:[main] from @1
|
||||
main::@1: scope:[main] from main main::@5
|
||||
(byte) main::i#2 ← phi( main/(byte) 0 main::@5/(byte~) main::i#5 )
|
||||
(byte*) main::nxt#3 ← phi( main/(const byte[]) TEXT#0 main::@5/(byte*~) main::nxt#5 )
|
||||
(byte) main::c#0 ← * (byte*) main::nxt#3
|
||||
(byte) main::c#0 ← *((byte*) main::nxt#3)
|
||||
if((byte) main::c#0!=(byte) '@') goto main::@6
|
||||
to:main::@3
|
||||
main::@3: scope:[main] from main::@1
|
||||
(byte) main::c#1 ← * (const byte[]) TEXT#0
|
||||
(byte) main::c#1 ← *((const byte[]) TEXT#0)
|
||||
(byte~) main::c#4 ← (byte) main::c#1
|
||||
to:main::@2
|
||||
main::@2: scope:[main] from main::@3 main::@6
|
||||
@ -865,11 +843,11 @@ main: scope:[main] from @1
|
||||
main::@1: scope:[main] from main main::@5
|
||||
[2] (byte) main::i#2 ← phi( main/(byte) 0 main::@5/(byte~) main::i#5 ) [ main::nxt#3 main::i#2 ]
|
||||
[2] (byte*) main::nxt#3 ← phi( main/(const byte[]) TEXT#0 main::@5/(byte*~) main::nxt#5 ) [ main::nxt#3 main::i#2 ]
|
||||
[3] (byte) main::c#0 ← * (byte*) main::nxt#3 [ main::nxt#3 main::i#2 main::c#0 ]
|
||||
[3] (byte) main::c#0 ← *((byte*) main::nxt#3) [ main::nxt#3 main::i#2 main::c#0 ]
|
||||
[4] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#3 main::i#2 main::c#0 ]
|
||||
to:main::@3
|
||||
main::@3: scope:[main] from main::@1
|
||||
[5] (byte) main::c#1 ← * (const byte[]) TEXT#0 [ main::i#2 main::c#1 ]
|
||||
[5] (byte) main::c#1 ← *((const byte[]) TEXT#0) [ main::i#2 main::c#1 ]
|
||||
[6] (byte~) main::c#4 ← (byte) main::c#1 [ main::i#2 main::c#4 ]
|
||||
to:main::@2
|
||||
main::@2: scope:[main] from main::@3 main::@6
|
||||
@ -921,11 +899,11 @@ main: scope:[main] from @1
|
||||
main::@1: scope:[main] from main main::@2
|
||||
[2] (byte) main::i#2 ← phi( main/(byte) 0 main::@2/(byte) main::i#1 ) [ main::nxt#3 main::i#2 ]
|
||||
[2] (byte*) main::nxt#3 ← phi( main/(const byte[]) TEXT#0 main::@2/(byte*) main::nxt#1 ) [ main::nxt#3 main::i#2 ]
|
||||
[3] (byte) main::c#0 ← * (byte*) main::nxt#3 [ main::nxt#3 main::i#2 main::c#0 ]
|
||||
[3] (byte) main::c#0 ← *((byte*) main::nxt#3) [ main::nxt#3 main::i#2 main::c#0 ]
|
||||
[4] if((byte) main::c#0!=(byte) '@') goto main::@2 [ main::nxt#3 main::i#2 main::c#0 ]
|
||||
to:main::@3
|
||||
main::@3: scope:[main] from main::@1
|
||||
[5] (byte) main::c#1 ← * (const byte[]) TEXT#0 [ main::i#2 main::c#1 ]
|
||||
[5] (byte) main::c#1 ← *((const byte[]) TEXT#0) [ main::i#2 main::c#1 ]
|
||||
to:main::@2
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
[6] (byte*) main::nxt#4 ← phi( main::@1/(byte*) main::nxt#3 main::@3/(const byte[]) TEXT#0 ) [ main::i#2 main::c#2 main::nxt#4 ]
|
||||
@ -952,11 +930,11 @@ main: scope:[main] from @1
|
||||
main::@1: scope:[main] from main main::@2
|
||||
[2] (byte) main::i#2 ← phi( main/(byte) 0 main::@2/(byte) main::i#1 ) [ main::nxt#3 main::i#2 ] ( main:0 [ main::nxt#3 main::i#2 ] )
|
||||
[2] (byte*) main::nxt#3 ← phi( main/(const byte[]) TEXT#0 main::@2/(byte*) main::nxt#1 ) [ main::nxt#3 main::i#2 ] ( main:0 [ main::nxt#3 main::i#2 ] )
|
||||
[3] (byte) main::c#0 ← * (byte*) main::nxt#3 [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] )
|
||||
[3] (byte) main::c#0 ← *((byte*) main::nxt#3) [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] )
|
||||
[4] if((byte) main::c#0!=(byte) '@') goto main::@2 [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] )
|
||||
to:main::@3
|
||||
main::@3: scope:[main] from main::@1
|
||||
[5] (byte) main::c#1 ← * (const byte[]) TEXT#0 [ main::i#2 main::c#1 ] ( main:0 [ main::i#2 main::c#1 ] )
|
||||
[5] (byte) main::c#1 ← *((const byte[]) TEXT#0) [ main::i#2 main::c#1 ] ( main:0 [ main::i#2 main::c#1 ] )
|
||||
to:main::@2
|
||||
main::@2: scope:[main] from main::@1 main::@3
|
||||
[6] (byte*) main::nxt#4 ← phi( main::@1/(byte*) main::nxt#3 main::@3/(const byte[]) TEXT#0 ) [ main::i#2 main::c#2 main::nxt#4 ] ( main:0 [ main::i#2 main::c#2 main::nxt#4 ] )
|
||||
@ -1006,7 +984,7 @@ VARIABLE REGISTER WEIGHTS
|
||||
(byte) main::i#2 4.4
|
||||
(byte*) main::nxt
|
||||
(byte*) main::nxt#1 11.0
|
||||
(byte*) main::nxt#3 11.0
|
||||
(byte*) main::nxt#3 7.333333333333333
|
||||
(byte*) main::nxt#4 7.333333333333333
|
||||
|
||||
Initial phi equivalence classes
|
||||
@ -1064,7 +1042,7 @@ main: {
|
||||
jmp b1
|
||||
//SEG14 main::@1
|
||||
b1:
|
||||
//SEG15 [3] (byte) main::c#0 ← * (byte*) main::nxt#3 [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] ) -- zpby1=_star_zpptrby1
|
||||
//SEG15 [3] (byte) main::c#0 ← *((byte*) main::nxt#3) [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] ) -- zpby1=_star_zpptrby1
|
||||
ldy #0
|
||||
lda (nxt),y
|
||||
sta c
|
||||
@ -1075,7 +1053,7 @@ main: {
|
||||
jmp b3
|
||||
//SEG17 main::@3
|
||||
b3:
|
||||
//SEG18 [5] (byte) main::c#1 ← * (const byte[]) TEXT#0 [ main::i#2 main::c#1 ] ( main:0 [ main::i#2 main::c#1 ] ) -- zpby1=_star_cowo1
|
||||
//SEG18 [5] (byte) main::c#1 ← *((const byte[]) TEXT#0) [ main::i#2 main::c#1 ] ( main:0 [ main::i#2 main::c#1 ] ) -- zpby1=_star_cowo1
|
||||
lda TEXT
|
||||
sta c
|
||||
//SEG19 [6] phi from main::@3 to main::@2 [phi:main::@3->main::@2]
|
||||
@ -1115,16 +1093,16 @@ main: {
|
||||
}
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Statement [3] (byte) main::c#0 ← * (byte*) main::nxt#3 [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] ) always clobbers reg byte a reg byte y
|
||||
Statement [3] (byte) main::c#0 ← *((byte*) main::nxt#3) [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] ) always clobbers reg byte a reg byte y
|
||||
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ main::i#2 main::i#1 ]
|
||||
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:2 [ main::i#2 main::i#1 ]
|
||||
Statement [3] (byte) main::c#0 ← * (byte*) main::nxt#3 [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] ) always clobbers reg byte a reg byte y
|
||||
Statement [3] (byte) main::c#0 ← *((byte*) main::nxt#3) [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] ) always clobbers reg byte a reg byte y
|
||||
Potential registers zp ZP_BYTE:2 [ main::i#2 main::i#1 ] : zp ZP_BYTE:2 , reg byte x ,
|
||||
Potential registers zp ZP_BYTE:3 [ main::c#2 main::c#0 main::c#1 ] : zp ZP_BYTE:3 , reg byte a , reg byte x , reg byte y ,
|
||||
Potential registers zp ZP_PTR_BYTE:4 [ main::nxt#4 main::nxt#3 main::nxt#1 ] : zp ZP_PTR_BYTE:4 ,
|
||||
|
||||
REGISTER UPLIFT SCOPES
|
||||
Uplift Scope [main] 55: zp ZP_BYTE:3 [ main::c#2 main::c#0 main::c#1 ] 29.33: zp ZP_PTR_BYTE:4 [ main::nxt#4 main::nxt#3 main::nxt#1 ] 12.65: zp ZP_BYTE:2 [ main::i#2 main::i#1 ]
|
||||
Uplift Scope [main] 55: zp ZP_BYTE:3 [ main::c#2 main::c#0 main::c#1 ] 25.67: zp ZP_PTR_BYTE:4 [ main::nxt#4 main::nxt#3 main::nxt#1 ] 12.65: zp ZP_BYTE:2 [ main::i#2 main::i#1 ]
|
||||
Uplift Scope []
|
||||
|
||||
Uplifting [main] best 870 combination reg byte y [ main::c#2 main::c#0 main::c#1 ] zp ZP_PTR_BYTE:4 [ main::nxt#4 main::nxt#3 main::nxt#1 ] reg byte x [ main::i#2 main::i#1 ]
|
||||
@ -1175,7 +1153,7 @@ main: {
|
||||
//SEG13 [2] phi (byte*) main::nxt#3 = (byte*) main::nxt#1 [phi:main::@2->main::@1#1] -- register_copy
|
||||
//SEG14 main::@1
|
||||
b1:
|
||||
//SEG15 [3] (byte) main::c#0 ← * (byte*) main::nxt#3 [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] ) -- yby=_star_zpptrby1
|
||||
//SEG15 [3] (byte) main::c#0 ← *((byte*) main::nxt#3) [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] ) -- yby=_star_zpptrby1
|
||||
ldy #0
|
||||
lda (nxt),y
|
||||
tay
|
||||
@ -1184,7 +1162,7 @@ main: {
|
||||
bne b2_from_b1
|
||||
//SEG17 main::@3
|
||||
b3:
|
||||
//SEG18 [5] (byte) main::c#1 ← * (const byte[]) TEXT#0 [ main::i#2 main::c#1 ] ( main:0 [ main::i#2 main::c#1 ] ) -- yby=_star_cowo1
|
||||
//SEG18 [5] (byte) main::c#1 ← *((const byte[]) TEXT#0) [ main::i#2 main::c#1 ] ( main:0 [ main::i#2 main::c#1 ] ) -- yby=_star_cowo1
|
||||
ldy TEXT
|
||||
//SEG19 [6] phi from main::@3 to main::@2 [phi:main::@3->main::@2]
|
||||
b2_from_b3:
|
||||
@ -1261,7 +1239,7 @@ main: {
|
||||
//SEG13 [2] phi (byte*) main::nxt#3 = (byte*) main::nxt#1 [phi:main::@2->main::@1#1] -- register_copy
|
||||
//SEG14 main::@1
|
||||
b1:
|
||||
//SEG15 [3] (byte) main::c#0 ← * (byte*) main::nxt#3 [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] ) -- yby=_star_zpptrby1
|
||||
//SEG15 [3] (byte) main::c#0 ← *((byte*) main::nxt#3) [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] ) -- yby=_star_zpptrby1
|
||||
ldy #0
|
||||
lda (nxt),y
|
||||
tay
|
||||
@ -1270,7 +1248,7 @@ main: {
|
||||
bne b2
|
||||
//SEG17 main::@3
|
||||
b3:
|
||||
//SEG18 [5] (byte) main::c#1 ← * (const byte[]) TEXT#0 [ main::i#2 main::c#1 ] ( main:0 [ main::i#2 main::c#1 ] ) -- yby=_star_cowo1
|
||||
//SEG18 [5] (byte) main::c#1 ← *((const byte[]) TEXT#0) [ main::i#2 main::c#1 ] ( main:0 [ main::i#2 main::c#1 ] ) -- yby=_star_cowo1
|
||||
ldy TEXT
|
||||
//SEG19 [6] phi from main::@3 to main::@2 [phi:main::@3->main::@2]
|
||||
b2_from_b3:
|
||||
@ -1343,7 +1321,7 @@ main: {
|
||||
//SEG13 [2] phi (byte*) main::nxt#3 = (byte*) main::nxt#1 [phi:main::@2->main::@1#1] -- register_copy
|
||||
//SEG14 main::@1
|
||||
b1:
|
||||
//SEG15 [3] (byte) main::c#0 ← * (byte*) main::nxt#3 [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] ) -- yby=_star_zpptrby1
|
||||
//SEG15 [3] (byte) main::c#0 ← *((byte*) main::nxt#3) [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] ) -- yby=_star_zpptrby1
|
||||
ldy #0
|
||||
lda (nxt),y
|
||||
tay
|
||||
@ -1351,7 +1329,7 @@ main: {
|
||||
cpy #'@'
|
||||
bne b2
|
||||
//SEG17 main::@3
|
||||
//SEG18 [5] (byte) main::c#1 ← * (const byte[]) TEXT#0 [ main::i#2 main::c#1 ] ( main:0 [ main::i#2 main::c#1 ] ) -- yby=_star_cowo1
|
||||
//SEG18 [5] (byte) main::c#1 ← *((const byte[]) TEXT#0) [ main::i#2 main::c#1 ] ( main:0 [ main::i#2 main::c#1 ] ) -- yby=_star_cowo1
|
||||
ldy TEXT
|
||||
//SEG19 [6] phi from main::@3 to main::@2 [phi:main::@3->main::@2]
|
||||
//SEG20 [6] phi (byte*) main::nxt#4 = (const byte[]) TEXT#0 [phi:main::@3->main::@2#0] -- zpptrby1=cowo1
|
||||
@ -1417,7 +1395,7 @@ main: {
|
||||
//SEG13 [2] phi (byte*) main::nxt#3 = (byte*) main::nxt#1 [phi:main::@2->main::@1#1] -- register_copy
|
||||
//SEG14 main::@1
|
||||
b1:
|
||||
//SEG15 [3] (byte) main::c#0 ← * (byte*) main::nxt#3 [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] ) -- yby=_star_zpptrby1
|
||||
//SEG15 [3] (byte) main::c#0 ← *((byte*) main::nxt#3) [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] ) -- yby=_star_zpptrby1
|
||||
ldy #0
|
||||
lda (nxt),y
|
||||
tay
|
||||
@ -1425,7 +1403,7 @@ main: {
|
||||
cpy #'@'
|
||||
bne b2
|
||||
//SEG17 main::@3
|
||||
//SEG18 [5] (byte) main::c#1 ← * (const byte[]) TEXT#0 [ main::i#2 main::c#1 ] ( main:0 [ main::i#2 main::c#1 ] ) -- yby=_star_cowo1
|
||||
//SEG18 [5] (byte) main::c#1 ← *((const byte[]) TEXT#0) [ main::i#2 main::c#1 ] ( main:0 [ main::i#2 main::c#1 ] ) -- yby=_star_cowo1
|
||||
ldy TEXT
|
||||
//SEG19 [6] phi from main::@3 to main::@2 [phi:main::@3->main::@2]
|
||||
//SEG20 [6] phi (byte*) main::nxt#4 = (const byte[]) TEXT#0 [phi:main::@3->main::@2#0] -- zpptrby1=cowo1
|
||||
@ -1480,7 +1458,7 @@ FINAL SYMBOL TABLE
|
||||
(byte) main::i#2 reg byte x 4.4
|
||||
(byte*) main::nxt
|
||||
(byte*) main::nxt#1 nxt zp ZP_PTR_BYTE:2 11.0
|
||||
(byte*) main::nxt#3 nxt zp ZP_PTR_BYTE:2 11.0
|
||||
(byte*) main::nxt#3 nxt zp ZP_PTR_BYTE:2 7.333333333333333
|
||||
(byte*) main::nxt#4 nxt zp ZP_PTR_BYTE:2 7.333333333333333
|
||||
|
||||
reg byte x [ main::i#2 main::i#1 ]
|
||||
@ -1518,7 +1496,7 @@ main: {
|
||||
//SEG13 [2] phi (byte*) main::nxt#3 = (byte*) main::nxt#1 [phi:main::@2->main::@1#1] -- register_copy
|
||||
//SEG14 main::@1
|
||||
b1:
|
||||
//SEG15 [3] (byte) main::c#0 ← * (byte*) main::nxt#3 [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] ) -- yby=_star_zpptrby1
|
||||
//SEG15 [3] (byte) main::c#0 ← *((byte*) main::nxt#3) [ main::nxt#3 main::i#2 main::c#0 ] ( main:0 [ main::nxt#3 main::i#2 main::c#0 ] ) -- yby=_star_zpptrby1
|
||||
ldy #0
|
||||
lda (nxt),y
|
||||
tay
|
||||
@ -1526,7 +1504,7 @@ main: {
|
||||
cpy #'@'
|
||||
bne b2
|
||||
//SEG17 main::@3
|
||||
//SEG18 [5] (byte) main::c#1 ← * (const byte[]) TEXT#0 [ main::i#2 main::c#1 ] ( main:0 [ main::i#2 main::c#1 ] ) -- yby=_star_cowo1
|
||||
//SEG18 [5] (byte) main::c#1 ← *((const byte[]) TEXT#0) [ main::i#2 main::c#1 ] ( main:0 [ main::i#2 main::c#1 ] ) -- yby=_star_cowo1
|
||||
ldy TEXT
|
||||
//SEG19 [6] phi from main::@3 to main::@2 [phi:main::@3->main::@2]
|
||||
//SEG20 [6] phi (byte*) main::nxt#4 = (const byte[]) TEXT#0 [phi:main::@3->main::@2#0] -- zpptrby1=cowo1
|
||||
|
@ -21,7 +21,7 @@
|
||||
(byte) main::i#2 reg byte x 4.4
|
||||
(byte*) main::nxt
|
||||
(byte*) main::nxt#1 nxt zp ZP_PTR_BYTE:2 11.0
|
||||
(byte*) main::nxt#3 nxt zp ZP_PTR_BYTE:2 11.0
|
||||
(byte*) main::nxt#3 nxt zp ZP_PTR_BYTE:2 7.333333333333333
|
||||
(byte*) main::nxt#4 nxt zp ZP_PTR_BYTE:2 7.333333333333333
|
||||
|
||||
reg byte x [ main::i#2 main::i#1 ]
|
||||
|
@ -11,61 +11,57 @@ main: scope:[main] from @2
|
||||
main::@2: scope:[main] from main main::@2 main::@4
|
||||
[3] (byte*) main::nxt#9 ← phi( main::@4/(byte*) main::nxt#10 main/(const byte*) TEXT#0 ) [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] )
|
||||
[3] (byte) main::scroll#7 ← phi( main::@4/(byte) main::scroll#10 main/(byte) 7 ) [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] )
|
||||
[4] (byte~) main::$2 ← * (const byte*) RASTER#0 [ main::scroll#7 main::nxt#9 main::$2 ] ( main:0 [ main::scroll#7 main::nxt#9 main::$2 ] )
|
||||
[5] if((byte~) main::$2!=(byte) 254) goto main::@2 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] )
|
||||
[4] if(*((const byte*) RASTER#0)!=(byte) 254) goto main::@2 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] )
|
||||
to:main::@3
|
||||
main::@3: scope:[main] from main::@2 main::@3
|
||||
[6] (byte~) main::$4 ← * (const byte*) RASTER#0 [ main::scroll#7 main::nxt#9 main::$4 ] ( main:0 [ main::scroll#7 main::nxt#9 main::$4 ] )
|
||||
[7] if((byte~) main::$4!=(byte) 255) goto main::@3 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] )
|
||||
[5] if(*((const byte*) RASTER#0)!=(byte) 255) goto main::@3 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] )
|
||||
to:main::@8
|
||||
main::@8: scope:[main] from main::@3
|
||||
[8] (byte~) main::$6 ← * (const byte*) BGCOL#0 [ main::scroll#7 main::nxt#9 main::$6 ] ( main:0 [ main::scroll#7 main::nxt#9 main::$6 ] )
|
||||
[9] (byte~) main::$7 ← (byte~) main::$6 + (byte) 1 [ main::scroll#7 main::nxt#9 main::$7 ] ( main:0 [ main::scroll#7 main::nxt#9 main::$7 ] )
|
||||
[10] *((const byte*) BGCOL#0) ← (byte~) main::$7 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] )
|
||||
[11] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] )
|
||||
[12] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] )
|
||||
[6] (byte~) main::$4 ← *((const byte*) BGCOL#0) + (byte) 1 [ main::scroll#7 main::nxt#9 main::$4 ] ( main:0 [ main::scroll#7 main::nxt#9 main::$4 ] )
|
||||
[7] *((const byte*) BGCOL#0) ← (byte~) main::$4 [ main::scroll#7 main::nxt#9 ] ( main:0 [ main::scroll#7 main::nxt#9 ] )
|
||||
[8] (byte) main::scroll#1 ← -- (byte) main::scroll#7 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] )
|
||||
[9] if((byte) main::scroll#1!=(byte) 255) goto main::@4 [ main::nxt#9 main::scroll#1 ] ( main:0 [ main::nxt#9 main::scroll#1 ] )
|
||||
to:main::@5
|
||||
main::@5: scope:[main] from main::@5 main::@8
|
||||
[13] (byte) main::i#2 ← phi( main::@5/(byte) main::i#1 main::@8/(byte) 0 ) [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] )
|
||||
[14] (byte~) main::$11 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$11 ] ( main:0 [ main::nxt#9 main::i#2 main::$11 ] )
|
||||
[15] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$11 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] )
|
||||
[16] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] )
|
||||
[17] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] )
|
||||
[10] (byte) main::i#2 ← phi( main::@5/(byte) main::i#1 main::@8/(byte) 0 ) [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] )
|
||||
[11] (byte~) main::$8 ← (const byte[]) main::line#0+(byte) 1 *idx (byte) main::i#2 [ main::nxt#9 main::i#2 main::$8 ] ( main:0 [ main::nxt#9 main::i#2 main::$8 ] )
|
||||
[12] *((const byte[]) main::line#0 + (byte) main::i#2) ← (byte~) main::$8 [ main::nxt#9 main::i#2 ] ( main:0 [ main::nxt#9 main::i#2 ] )
|
||||
[13] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] )
|
||||
[14] if((byte) main::i#1!=(byte) 39) goto main::@5 [ main::nxt#9 main::i#1 ] ( main:0 [ main::nxt#9 main::i#1 ] )
|
||||
to:main::@10
|
||||
main::@10: scope:[main] from main::@5
|
||||
[18] (byte) main::c#0 ← * (byte*) main::nxt#9 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] )
|
||||
[19] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] )
|
||||
[15] (byte) main::c#0 ← *((byte*) main::nxt#9) [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] )
|
||||
[16] if((byte) main::c#0!=(byte) '@') goto main::@6 [ main::nxt#9 main::c#0 ] ( main:0 [ main::nxt#9 main::c#0 ] )
|
||||
to:main::@11
|
||||
main::@11: scope:[main] from main::@10
|
||||
[20] (byte) main::c#1 ← * (const byte*) TEXT#0 [ main::c#1 ] ( main:0 [ main::c#1 ] )
|
||||
[17] (byte) main::c#1 ← *((const byte*) TEXT#0) [ main::c#1 ] ( main:0 [ main::c#1 ] )
|
||||
to:main::@6
|
||||
main::@6: scope:[main] from main::@10 main::@11
|
||||
[21] (byte*) main::nxt#4 ← phi( main::@10/(byte*) main::nxt#9 main::@11/(const byte*) TEXT#0 ) [ main::c#2 main::nxt#4 ] ( main:0 [ main::c#2 main::nxt#4 ] )
|
||||
[21] (byte) main::c#2 ← phi( main::@10/(byte) main::c#0 main::@11/(byte) main::c#1 ) [ main::c#2 main::nxt#4 ] ( main:0 [ main::c#2 main::nxt#4 ] )
|
||||
[22] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] )
|
||||
[23] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] )
|
||||
[18] (byte*) main::nxt#4 ← phi( main::@10/(byte*) main::nxt#9 main::@11/(const byte*) TEXT#0 ) [ main::c#2 main::nxt#4 ] ( main:0 [ main::c#2 main::nxt#4 ] )
|
||||
[18] (byte) main::c#2 ← phi( main::@10/(byte) main::c#0 main::@11/(byte) main::c#1 ) [ main::c#2 main::nxt#4 ] ( main:0 [ main::c#2 main::nxt#4 ] )
|
||||
[19] *((const byte[]) main::line#0+(byte) 39) ← (byte) main::c#2 [ main::nxt#4 ] ( main:0 [ main::nxt#4 ] )
|
||||
[20] (byte*) main::nxt#1 ← ++ (byte*) main::nxt#4 [ main::nxt#1 ] ( main:0 [ main::nxt#1 ] )
|
||||
to:main::@4
|
||||
main::@4: scope:[main] from main::@6 main::@8
|
||||
[24] (byte*) main::nxt#10 ← phi( main::@6/(byte*) main::nxt#1 main::@8/(byte*) main::nxt#9 ) [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] )
|
||||
[24] (byte) main::scroll#10 ← phi( main::@6/(byte) 7 main::@8/(byte) main::scroll#1 ) [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] )
|
||||
[25] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] )
|
||||
[26] (byte~) main::$17 ← * (const byte*) BGCOL#0 [ main::scroll#10 main::nxt#10 main::$17 ] ( main:0 [ main::scroll#10 main::nxt#10 main::$17 ] )
|
||||
[27] (byte~) main::$18 ← (byte~) main::$17 - (byte) 1 [ main::scroll#10 main::nxt#10 main::$18 ] ( main:0 [ main::scroll#10 main::nxt#10 main::$18 ] )
|
||||
[28] *((const byte*) BGCOL#0) ← (byte~) main::$18 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] )
|
||||
[29] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] )
|
||||
[21] (byte*) main::nxt#10 ← phi( main::@6/(byte*) main::nxt#1 main::@8/(byte*) main::nxt#9 ) [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] )
|
||||
[21] (byte) main::scroll#10 ← phi( main::@6/(byte) 7 main::@8/(byte) main::scroll#1 ) [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] )
|
||||
[22] *((const byte*) SCROLL#0) ← (byte) main::scroll#10 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] )
|
||||
[23] (byte~) main::$12 ← *((const byte*) BGCOL#0) - (byte) 1 [ main::scroll#10 main::nxt#10 main::$12 ] ( main:0 [ main::scroll#10 main::nxt#10 main::$12 ] )
|
||||
[24] *((const byte*) BGCOL#0) ← (byte~) main::$12 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] )
|
||||
[25] if(true) goto main::@2 [ main::scroll#10 main::nxt#10 ] ( main:0 [ main::scroll#10 main::nxt#10 ] )
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@4
|
||||
[30] return [ ] ( main:0 [ ] )
|
||||
[26] return [ ] ( main:0 [ ] )
|
||||
to:@return
|
||||
fillscreen: scope:[fillscreen] from main
|
||||
[31] phi() [ ] ( main:0::fillscreen:2 [ ] )
|
||||
[27] phi() [ ] ( main:0::fillscreen:2 [ ] )
|
||||
to:fillscreen::@1
|
||||
fillscreen::@1: scope:[fillscreen] from fillscreen fillscreen::@1
|
||||
[32] (byte*) fillscreen::cursor#2 ← phi( fillscreen/(const byte*) SCREEN#0 fillscreen::@1/(byte*) fillscreen::cursor#1 ) [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] )
|
||||
[33] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] )
|
||||
[34] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] )
|
||||
[35] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] )
|
||||
[28] (byte*) fillscreen::cursor#2 ← phi( fillscreen/(const byte*) SCREEN#0 fillscreen::@1/(byte*) fillscreen::cursor#1 ) [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] )
|
||||
[29] *((byte*) fillscreen::cursor#2) ← (const byte) fillscreen::fill#0 [ fillscreen::cursor#2 ] ( main:0::fillscreen:2 [ fillscreen::cursor#2 ] )
|
||||
[30] (byte*) fillscreen::cursor#1 ← ++ (byte*) fillscreen::cursor#2 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] )
|
||||
[31] if((byte*) fillscreen::cursor#1<(const byte*) SCREEN#0+(word) 1000) goto fillscreen::@1 [ fillscreen::cursor#1 ] ( main:0::fillscreen:2 [ fillscreen::cursor#1 ] )
|
||||
to:fillscreen::@return
|
||||
fillscreen::@return: scope:[fillscreen] from fillscreen::@1
|
||||
[36] return [ ] ( main:0::fillscreen:2 [ ] )
|
||||
[32] return [ ] ( main:0::fillscreen:2 [ ] )
|
||||
to:@return
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -21,13 +21,9 @@
|
||||
(const byte) fillscreen::fill#0 fill = (byte) 32
|
||||
(byte*) fillscreen::screen
|
||||
(void()) main()
|
||||
(byte~) main::$11 reg byte a 202.0
|
||||
(byte~) main::$17 reg byte a 22.0
|
||||
(byte~) main::$18 reg byte a 22.0
|
||||
(byte~) main::$2 reg byte a 202.0
|
||||
(byte~) main::$4 reg byte a 202.0
|
||||
(byte~) main::$6 reg byte a 22.0
|
||||
(byte~) main::$7 reg byte a 22.0
|
||||
(byte~) main::$12 reg byte a 22.0
|
||||
(byte~) main::$4 reg byte a 22.0
|
||||
(byte~) main::$8 reg byte a 202.0
|
||||
(label) main::@10
|
||||
(label) main::@11
|
||||
(label) main::@2
|
||||
@ -48,22 +44,18 @@
|
||||
(const byte[]) main::line#0 line = (const byte*) SCREEN#0+(byte) 40
|
||||
(byte*) main::nxt
|
||||
(byte*) main::nxt#1 nxt zp ZP_PTR_BYTE:2 22.0
|
||||
(byte*) main::nxt#10 nxt zp ZP_PTR_BYTE:2 5.5
|
||||
(byte*) main::nxt#10 nxt zp ZP_PTR_BYTE:2 6.6000000000000005
|
||||
(byte*) main::nxt#4 nxt zp ZP_PTR_BYTE:2 11.0
|
||||
(byte*) main::nxt#9 nxt zp ZP_PTR_BYTE:2 2.588235294117647
|
||||
(byte*) main::nxt#9 nxt zp ZP_PTR_BYTE:2 2.357142857142857
|
||||
(byte) main::scroll
|
||||
(byte) main::scroll#1 reg byte x 16.5
|
||||
(byte) main::scroll#10 reg byte x 5.5
|
||||
(byte) main::scroll#7 reg byte x 2.75
|
||||
(byte) main::scroll#10 reg byte x 6.6000000000000005
|
||||
(byte) main::scroll#7 reg byte x 4.4
|
||||
|
||||
reg byte x [ main::scroll#7 main::scroll#10 main::scroll#1 ]
|
||||
reg byte x [ main::i#2 main::i#1 ]
|
||||
reg byte x [ main::c#2 main::c#0 main::c#1 ]
|
||||
zp ZP_PTR_BYTE:2 [ main::nxt#4 main::nxt#9 main::nxt#10 main::nxt#1 fillscreen::cursor#2 fillscreen::cursor#1 ]
|
||||
reg byte a [ main::$2 ]
|
||||
reg byte a [ main::$4 ]
|
||||
reg byte a [ main::$6 ]
|
||||
reg byte a [ main::$7 ]
|
||||
reg byte a [ main::$11 ]
|
||||
reg byte a [ main::$17 ]
|
||||
reg byte a [ main::$18 ]
|
||||
reg byte a [ main::$8 ]
|
||||
reg byte a [ main::$12 ]
|
||||
|
Loading…
Reference in New Issue
Block a user