diff --git a/src/main/java/dk/camelot64/kickc/Compiler.java b/src/main/java/dk/camelot64/kickc/Compiler.java index ff79fd7ec..6fe5caa0c 100644 --- a/src/main/java/dk/camelot64/kickc/Compiler.java +++ b/src/main/java/dk/camelot64/kickc/Compiler.java @@ -245,7 +245,6 @@ public class Compiler { program.setGraph(new Pass1ProcedureCallsReturnValue(program).generate()); new PassNUnwindLValueLists(program).execute(); - new Pass1UnwindStructVersions(program).execute(); getLog().append("\nCONTROL FLOW GRAPH SSA"); getLog().append(program.getGraph().toString(program)); diff --git a/src/main/java/dk/camelot64/kickc/model/StructUnwinding.java b/src/main/java/dk/camelot64/kickc/model/StructUnwinding.java index c7477fde0..f2d3650ae 100644 --- a/src/main/java/dk/camelot64/kickc/model/StructUnwinding.java +++ b/src/main/java/dk/camelot64/kickc/model/StructUnwinding.java @@ -89,7 +89,7 @@ public class StructUnwinding { @Override public boolean isBulkCopyable() { - return getArraySpec()!=null || getSymbolType() instanceof SymbolTypeStruct; + return getArraySpec()!=null; } @Override diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass1UnwindStructVersions.java b/src/main/java/dk/camelot64/kickc/passes/Pass1UnwindStructVersions.java deleted file mode 100644 index fb4ebaf10..000000000 --- a/src/main/java/dk/camelot64/kickc/passes/Pass1UnwindStructVersions.java +++ /dev/null @@ -1,60 +0,0 @@ -package dk.camelot64.kickc.passes; - -import dk.camelot64.kickc.model.ControlFlowBlock; -import dk.camelot64.kickc.model.Program; -import dk.camelot64.kickc.model.StructUnwinding; -import dk.camelot64.kickc.model.statements.Statement; -import dk.camelot64.kickc.model.statements.StatementAssignment; -import dk.camelot64.kickc.model.symbols.StructDefinition; -import dk.camelot64.kickc.model.symbols.Variable; -import dk.camelot64.kickc.model.types.SymbolTypeStruct; -import dk.camelot64.kickc.model.values.RValue; -import dk.camelot64.kickc.model.values.StructUnwoundPlaceholder; -import dk.camelot64.kickc.model.values.VariableRef; - -import java.util.Collection; -import java.util.Iterator; -import java.util.List; - -/** Find the versioned unwound structs - and update the StructUnwinding data structure */ -public class Pass1UnwindStructVersions extends Pass1Base { - - public Pass1UnwindStructVersions(Program program) { - super(program); - } - - @Override - public boolean step() { - boolean modified = false; - StructUnwinding structUnwinding = getProgram().getStructUnwinding(); - for(ControlFlowBlock block : getGraph().getAllBlocks()) { - for(Statement statement : block.getStatements()) { - if(statement instanceof StatementAssignment) { - StatementAssignment assignment = (StatementAssignment) statement; - if(assignment.getOperator() == null && assignment.getlValue() instanceof VariableRef && assignment.getrValue2() instanceof StructUnwoundPlaceholder) { - VariableRef structVarRef = (VariableRef) assignment.getlValue(); - if(structUnwinding.getVariableUnwinding(structVarRef) == null) { - StructUnwoundPlaceholder placeholder = (StructUnwoundPlaceholder) assignment.getrValue2(); - SymbolTypeStruct typeStruct = placeholder.getTypeStruct(); - StructDefinition structDefinition = typeStruct.getStructDefinition(getProgram().getScope()); - StructUnwinding.VariableUnwinding versionedUnwinding = structUnwinding.createVariableUnwinding(structVarRef, structDefinition); - Collection members = structDefinition.getAllVariables(false); - Iterator memberDefIt = members.iterator(); - List unwoundMembers = placeholder.getUnwoundMembers(); - Iterator memberUnwoundIt = unwoundMembers.iterator(); - while(memberDefIt.hasNext()) { - Variable memberVar = memberDefIt.next(); - RValue memberVal = memberUnwoundIt.next(); - versionedUnwinding.setMemberUnwinding(memberVar.getLocalName(), memberVal); - } - getLog().append("Adding versioned struct unwinding for "+assignment.getlValue().toString(getProgram())); - modified = true; - } - } - } - } - } - return modified; - } - -} diff --git a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java index da34d2f83..eb7a97839 100644 --- a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java +++ b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java @@ -1199,7 +1199,7 @@ public class TestPrograms { @Test public void testStruct17() throws IOException, URISyntaxException { - compileAndCompare("struct-17", log()); + compileAndCompare("struct-17"); } @Test diff --git a/src/test/ref/complex/clearscreen/clearscreen.log b/src/test/ref/complex/clearscreen/clearscreen.log index f8a4a70e1..f442a2ccf 100644 --- a/src/test/ref/complex/clearscreen/clearscreen.log +++ b/src/test/ref/complex/clearscreen/clearscreen.log @@ -191,8 +191,6 @@ Culled Empty Block (label) @35 Culled Empty Block (label) @36 Unwinding list assignment { (byte~) main::$5_x, (byte~) main::$5_y, (byte~) main::$5_dist } ← { (byte) getCharToProcess::return_x, (byte) getCharToProcess::return_y, (byte) getCharToProcess::return_dist } Unwinding list assignment { (byte) getCharToProcess::return_x#0, (byte) getCharToProcess::return_y#0, (byte) getCharToProcess::return_dist#0 } ← { (byte) getCharToProcess::return_x#2, (byte) getCharToProcess::return_y#2, (byte) getCharToProcess::return_dist#2 } -Adding versioned struct unwinding for (struct ProcessingChar) getCharToProcess::return#0 -Adding versioned struct unwinding for (struct ProcessingChar) getCharToProcess::return#1 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/complex/splines/truetype-splines.log b/src/test/ref/complex/splines/truetype-splines.log index 5deb50fed..f8ea60a2a 100644 --- a/src/test/ref/complex/splines/truetype-splines.log +++ b/src/test/ref/complex/splines/truetype-splines.log @@ -504,8 +504,6 @@ Unwinding list assignment { (signed word~) show_letter::$2_x, (signed word~) sho Unwinding list assignment { (signed word~) show_letter::$7_x, (signed word~) show_letter::$7_y } ← { (signed word) rotate::return_x, (signed word) rotate::return_y } Unwinding list assignment { (signed word) rotate::return_x#0, (signed word) rotate::return_y#0 } ← { (signed word) rotate::return_x#3, (signed word) rotate::return_y#3 } Unwinding list assignment { (signed word) rotate::return_x#1, (signed word) rotate::return_y#1 } ← { (signed word) rotate::return_x#3, (signed word) rotate::return_y#3 } -Adding versioned struct unwinding for (struct SplineVector16) rotate::return#0 -Adding versioned struct unwinding for (struct SplineVector16) rotate::return#1 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/declared-memory-var-3.log b/src/test/ref/declared-memory-var-3.log index 622e51035..58efad553 100644 --- a/src/test/ref/declared-memory-var-3.log +++ b/src/test/ref/declared-memory-var-3.log @@ -4,7 +4,6 @@ Adding struct value member variable copy *((byte*)&(struct foo) bar+(const byte) Rewriting struct pointer member access *((struct foo*) main::barp).thing1 Rewriting struct pointer member access *((struct foo*) main::barp).thing2 Identified constant variable (struct foo*) main::barp -Adding versioned struct unwinding for (struct foo) bar CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/declared-memory-var-4.log b/src/test/ref/declared-memory-var-4.log index 5b4422488..80852bee5 100644 --- a/src/test/ref/declared-memory-var-4.log +++ b/src/test/ref/declared-memory-var-4.log @@ -11,7 +11,6 @@ Rewriting struct pointer member access *((struct foo*) main::barp).thing2 Rewriting struct pointer member access *((struct foo*) main::barp).thing3 Identified constant variable (struct foo*) main::barp Culled Empty Block (label) main::@2 -Adding versioned struct unwinding for (struct foo) bar CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/declared-memory-var-5.log b/src/test/ref/declared-memory-var-5.log index ebd4432f1..e1e8f8e2d 100644 --- a/src/test/ref/declared-memory-var-5.log +++ b/src/test/ref/declared-memory-var-5.log @@ -2,7 +2,6 @@ Adding struct value member variable copy *((byte*)&(struct foo) bar+(const byte) Adding struct value member variable copy *((byte*)&(struct foo) bar+(const byte) OFFSET_STRUCT_FOO_THING2) ← (byte) 'b' Replacing struct member reference (struct foo) bar.thing1 with member unwinding reference *((byte*)&(struct foo) bar+(const byte) OFFSET_STRUCT_FOO_THING1) Replacing struct member reference (struct foo) bar.thing2 with member unwinding reference *((byte*)&(struct foo) bar+(const byte) OFFSET_STRUCT_FOO_THING2) -Adding versioned struct unwinding for (struct foo) bar CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/parse-negated-struct-ref.log b/src/test/ref/parse-negated-struct-ref.log index 44ac78bc0..9659ae3b6 100644 --- a/src/test/ref/parse-negated-struct-ref.log +++ b/src/test/ref/parse-negated-struct-ref.log @@ -5,7 +5,6 @@ Adding struct value member variable copy (byte) aa_b ← (byte) 1 Rewriting struct pointer member access *((struct A*) main::a).b Warning! Adding boolean cast to non-boolean sub-expression *((byte*~) main::$2) Identified constant variable (struct A*) main::a -Adding versioned struct unwinding for (struct A) aa#0 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-13.log b/src/test/ref/struct-13.log index 4364ddb09..9361b1a2a 100644 --- a/src/test/ref/struct-13.log +++ b/src/test/ref/struct-13.log @@ -4,7 +4,6 @@ Replacing struct member reference (struct Point) point.x with member unwinding r Replacing struct member reference (struct Point) point.y with member unwinding reference *((byte*)&(struct Point) point+(const byte) OFFSET_STRUCT_POINT_Y) Replacing struct member reference (struct Point) point.x with member unwinding reference *((byte*)&(struct Point) point+(const byte) OFFSET_STRUCT_POINT_X) Replacing struct member reference (struct Point) point.y with member unwinding reference *((byte*)&(struct Point) point+(const byte) OFFSET_STRUCT_POINT_Y) -Adding versioned struct unwinding for (struct Point) point CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-15.log b/src/test/ref/struct-15.log index 73cae0118..a06fd772d 100644 --- a/src/test/ref/struct-15.log +++ b/src/test/ref/struct-15.log @@ -6,8 +6,6 @@ Replacing struct member reference (struct Point) main::point1.x with member unwi Replacing struct member reference (struct Point) main::point1.y with member unwinding reference *((byte*)&(struct Point) main::point1+(const byte) OFFSET_STRUCT_POINT_Y) Replacing struct member reference (struct Point) main::point2.x with member unwinding reference *((byte*)&(struct Point) main::point2+(const byte) OFFSET_STRUCT_POINT_X) Replacing struct member reference (struct Point) main::point2.y with member unwinding reference *((byte*)&(struct Point) main::point2+(const byte) OFFSET_STRUCT_POINT_Y) -Adding versioned struct unwinding for (struct Point) main::point1 -Adding versioned struct unwinding for (struct Point) main::point2 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-16.log b/src/test/ref/struct-16.log index 130503b27..ce3ecdd3b 100644 --- a/src/test/ref/struct-16.log +++ b/src/test/ref/struct-16.log @@ -2,7 +2,6 @@ Adding struct value member variable copy *((byte*)&(struct Point) main::point1+( Adding struct value member variable copy *((byte*)&(struct Point) main::point1+(const byte) OFFSET_STRUCT_POINT_Y) ← (byte) 3 Replacing struct member reference (struct Point) main::point1.x with member unwinding reference *((byte*)&(struct Point) main::point1+(const byte) OFFSET_STRUCT_POINT_X) Replacing struct member reference (struct Point) main::point1.y with member unwinding reference *((byte*)&(struct Point) main::point1+(const byte) OFFSET_STRUCT_POINT_Y) -Adding versioned struct unwinding for (struct Point) main::point1 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-17.log b/src/test/ref/struct-17.log index c2c895a8e..c981eefec 100644 --- a/src/test/ref/struct-17.log +++ b/src/test/ref/struct-17.log @@ -20,7 +20,6 @@ Rewriting struct pointer member access *((struct Point*)&(struct Vector) main::v Rewriting struct pointer member access *((struct Point*)&(struct Vector) main::v+(const byte) OFFSET_STRUCT_VECTOR_P).y Rewriting struct pointer member access *((struct Point*)&(struct Vector) main::v+(const byte) OFFSET_STRUCT_VECTOR_Q).x Rewriting struct pointer member access *((struct Point*)&(struct Vector) main::v+(const byte) OFFSET_STRUCT_VECTOR_Q).y -Adding versioned struct unwinding for (struct Vector) main::v CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-18.log b/src/test/ref/struct-18.log index 86e344fe2..3a4bf478c 100644 --- a/src/test/ref/struct-18.log +++ b/src/test/ref/struct-18.log @@ -12,7 +12,6 @@ Rewriting struct pointer member access *((struct Point*)&(struct Vector) main::v Rewriting struct pointer member access *((struct Point*)&(struct Vector) main::v+(const byte) OFFSET_STRUCT_VECTOR_P).y Rewriting struct pointer member access *((struct Point*)&(struct Vector) main::v+(const byte) OFFSET_STRUCT_VECTOR_Q).x Rewriting struct pointer member access *((struct Point*)&(struct Vector) main::v+(const byte) OFFSET_STRUCT_VECTOR_Q).y -Adding versioned struct unwinding for (struct Vector) main::v CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-19.log b/src/test/ref/struct-19.log index 6f28c023d..7b808be2d 100644 --- a/src/test/ref/struct-19.log +++ b/src/test/ref/struct-19.log @@ -22,9 +22,6 @@ Rewriting struct pointer member access *((struct Point*)&(struct Vector) main::v Rewriting struct pointer member access *((struct Point*)&(struct Vector) main::v+(const byte) OFFSET_STRUCT_VECTOR_P).y Rewriting struct pointer member access *((struct Point*)&(struct Vector) main::v+(const byte) OFFSET_STRUCT_VECTOR_Q).x Rewriting struct pointer member access *((struct Point*)&(struct Vector) main::v+(const byte) OFFSET_STRUCT_VECTOR_Q).y -Adding versioned struct unwinding for (struct Vector) main::v -Adding versioned struct unwinding for (struct Point) main::p1 -Adding versioned struct unwinding for (struct Point) main::p2 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-20.log b/src/test/ref/struct-20.log index 1f6880d3c..1cb8fddd7 100644 --- a/src/test/ref/struct-20.log +++ b/src/test/ref/struct-20.log @@ -16,9 +16,6 @@ Rewriting struct pointer member access *((struct Point*)&(struct Vector) main::v Rewriting struct pointer member access *((struct Point*)&(struct Vector) main::v+(const byte) OFFSET_STRUCT_VECTOR_P).y Rewriting struct pointer member access *((struct Point*)&(struct Vector) main::v+(const byte) OFFSET_STRUCT_VECTOR_Q).x Rewriting struct pointer member access *((struct Point*)&(struct Vector) main::v+(const byte) OFFSET_STRUCT_VECTOR_Q).y -Adding versioned struct unwinding for (struct Point) main::p1 -Adding versioned struct unwinding for (struct Point) main::p2 -Adding versioned struct unwinding for (struct Vector) main::v CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-21.log b/src/test/ref/struct-21.log index 7752ca850..f8ccb6019 100644 --- a/src/test/ref/struct-21.log +++ b/src/test/ref/struct-21.log @@ -4,7 +4,6 @@ Adding struct value member variable copy *((byte*)&(struct Point) main::point1+( Rewriting struct pointer member access *((struct Point*) main::ptr).x Rewriting struct pointer member access *((struct Point*) main::ptr).y Identified constant variable (struct Point*) main::ptr -Adding versioned struct unwinding for (struct Point) main::point1 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-22.log b/src/test/ref/struct-22.log index 4db68c3e5..8d3d1eef6 100644 --- a/src/test/ref/struct-22.log +++ b/src/test/ref/struct-22.log @@ -11,8 +11,6 @@ Converted procedure struct value parameter to member unwinding in call (void~) m Replacing struct member reference (struct Point) print::p.x with member unwinding reference (byte) print::p_x Replacing struct member reference (struct Point) print::p.y with member unwinding reference (byte) print::p_y Culled Empty Block (label) @1 -Adding versioned struct unwinding for (struct Point) main::point1 -Adding versioned struct unwinding for (struct Point) main::point2 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-23.log b/src/test/ref/struct-23.log index d1f52dc8d..6a01f7f4f 100644 --- a/src/test/ref/struct-23.log +++ b/src/test/ref/struct-23.log @@ -33,10 +33,6 @@ Unwinding list assignment { (byte~) main::$0_x, (byte~) main::$0_y } ← { (byte Unwinding list assignment { (byte~) main::$1_x, (byte~) main::$1_y } ← { (byte) getPoint::return_x, (byte) getPoint::return_y } Unwinding list assignment { (byte) getPoint::return_x#0, (byte) getPoint::return_y#0 } ← { (byte) getPoint::return_x#3, (byte) getPoint::return_y#3 } Unwinding list assignment { (byte) getPoint::return_x#1, (byte) getPoint::return_y#1 } ← { (byte) getPoint::return_x#3, (byte) getPoint::return_y#3 } -Adding versioned struct unwinding for (struct Point) main::point1 -Adding versioned struct unwinding for (struct Point) main::point2 -Adding versioned struct unwinding for (struct Point) getPoint::return#0 -Adding versioned struct unwinding for (struct Point) getPoint::return#1 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-24.log b/src/test/ref/struct-24.log index 959c132ce..4a9df89f2 100644 --- a/src/test/ref/struct-24.log +++ b/src/test/ref/struct-24.log @@ -9,7 +9,6 @@ Replacing struct member reference (struct Point) main::point1.initials with memb Replacing struct member reference (struct Point) main::point1.x with member unwinding reference *((byte*)&(struct Point) main::point1+(const byte) OFFSET_STRUCT_POINT_X) Replacing struct member reference (struct Point) main::point1.initials with member unwinding reference (byte*)&(struct Point) main::point1+(const byte) OFFSET_STRUCT_POINT_INITIALS Replacing struct member reference (struct Point) main::point1.initials with member unwinding reference (byte*)&(struct Point) main::point1+(const byte) OFFSET_STRUCT_POINT_INITIALS -Adding versioned struct unwinding for (struct Point) main::point1 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-26.log b/src/test/ref/struct-26.log index 5f7cd8a3d..2127dd975 100644 --- a/src/test/ref/struct-26.log +++ b/src/test/ref/struct-26.log @@ -12,8 +12,6 @@ Replacing struct member reference (struct Point) main::point1.initials with memb Replacing struct member reference (struct Point) main::point2.x with member unwinding reference *((byte*)&(struct Point) main::point2+(const byte) OFFSET_STRUCT_POINT_X) Replacing struct member reference (struct Point) main::point2.initials with member unwinding reference (byte*)&(struct Point) main::point2+(const byte) OFFSET_STRUCT_POINT_INITIALS Replacing struct member reference (struct Point) main::point2.initials with member unwinding reference (byte*)&(struct Point) main::point2+(const byte) OFFSET_STRUCT_POINT_INITIALS -Adding versioned struct unwinding for (struct Point) main::point1 -Adding versioned struct unwinding for (struct Point) main::point2 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-27.log b/src/test/ref/struct-27.log index 1f970f070..d9aa0048e 100644 --- a/src/test/ref/struct-27.log +++ b/src/test/ref/struct-27.log @@ -6,7 +6,6 @@ Adding struct value member variable copy *((byte*)&(struct Point) main::point1+( Replacing struct member reference (struct Point) main::point1.x with member unwinding reference *((byte*)&(struct Point) main::point1+(const byte) OFFSET_STRUCT_POINT_X) Replacing struct member reference (struct Point) main::point1.initials with member unwinding reference (byte*)&(struct Point) main::point1+(const byte) OFFSET_STRUCT_POINT_INITIALS Replacing struct member reference (struct Point) main::point1.initials with member unwinding reference (byte*)&(struct Point) main::point1+(const byte) OFFSET_STRUCT_POINT_INITIALS -Adding versioned struct unwinding for (struct Point) main::point1 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-28.log b/src/test/ref/struct-28.log index 004a08cc9..9fc35107f 100644 --- a/src/test/ref/struct-28.log +++ b/src/test/ref/struct-28.log @@ -6,7 +6,6 @@ Adding struct value member variable copy *((byte*)&(struct Point) main::point1+( Replacing struct member reference (struct Point) main::point1.x with member unwinding reference *((byte*)&(struct Point) main::point1+(const byte) OFFSET_STRUCT_POINT_X) Replacing struct member reference (struct Point) main::point1.initials with member unwinding reference (byte*)&(struct Point) main::point1+(const byte) OFFSET_STRUCT_POINT_INITIALS Replacing struct member reference (struct Point) main::point1.initials with member unwinding reference (byte*)&(struct Point) main::point1+(const byte) OFFSET_STRUCT_POINT_INITIALS -Adding versioned struct unwinding for (struct Point) main::point1 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-29.log b/src/test/ref/struct-29.log index 2a15b83e4..f5fa56503 100644 --- a/src/test/ref/struct-29.log +++ b/src/test/ref/struct-29.log @@ -6,7 +6,6 @@ Adding struct value member variable copy *((byte*)&(struct Point) point1+(const Replacing struct member reference (struct Point) point1.x with member unwinding reference *((byte*)&(struct Point) point1+(const byte) OFFSET_STRUCT_POINT_X) Replacing struct member reference (struct Point) point1.initials with member unwinding reference (byte*)&(struct Point) point1+(const byte) OFFSET_STRUCT_POINT_INITIALS Replacing struct member reference (struct Point) point1.initials with member unwinding reference (byte*)&(struct Point) point1+(const byte) OFFSET_STRUCT_POINT_INITIALS -Adding versioned struct unwinding for (struct Point) point1 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-5.log b/src/test/ref/struct-5.log index d85f726e7..4af9e550c 100644 --- a/src/test/ref/struct-5.log +++ b/src/test/ref/struct-5.log @@ -30,8 +30,6 @@ Culled Empty Block (label) @1 Culled Empty Block (label) point::@1 Unwinding list assignment { (byte~) main::$0_x, (byte~) main::$0_y } ← { (byte) point::return_x, (byte) point::return_y } Unwinding list assignment { (byte) point::return_x#0, (byte) point::return_y#0 } ← { (byte) point::return_x#2, (byte) point::return_y#2 } -Adding versioned struct unwinding for (struct Point) point::return#0 -Adding versioned struct unwinding for (struct Point) point::return#1 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-ptr-12.log b/src/test/ref/struct-ptr-12.log index 51a324d5e..61b578adb 100644 --- a/src/test/ref/struct-ptr-12.log +++ b/src/test/ref/struct-ptr-12.log @@ -4,7 +4,6 @@ Adding struct value member variable copy *((byte*)&(struct Point) main::p+(const Rewriting struct pointer member access *((struct Point*) main::q).x Rewriting struct pointer member access *((struct Point*) main::q).y Identified constant variable (struct Point*) main::q -Adding versioned struct unwinding for (struct Point) main::p CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-ptr-14.log b/src/test/ref/struct-ptr-14.log index d586b0c1c..937e039e2 100644 --- a/src/test/ref/struct-ptr-14.log +++ b/src/test/ref/struct-ptr-14.log @@ -7,7 +7,6 @@ Rewriting struct pointer member access *((struct Point*) set::ptr).x Rewriting struct pointer member access *((struct Point*) set::ptr).y Identified constant variable (struct Point*) main::q Culled Empty Block (label) @1 -Adding versioned struct unwinding for (struct Point) main::p CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-ptr-16.log b/src/test/ref/struct-ptr-16.log index 76d10bd1e..f8f1ba1eb 100644 --- a/src/test/ref/struct-ptr-16.log +++ b/src/test/ref/struct-ptr-16.log @@ -40,10 +40,6 @@ Unwinding list assignment { (byte~) main::$0_x, (byte~) main::$0_y } ← { (byte Unwinding list assignment { (byte~) main::$1_x, (byte~) main::$1_y } ← { (byte) get::return_x, (byte) get::return_y } Unwinding list assignment { (byte) get::return_x#0, (byte) get::return_y#0 } ← { (byte) get::return_x#5, (byte) get::return_y#5 } Unwinding list assignment { (byte) get::return_x#1, (byte) get::return_y#1 } ← { (byte) get::return_x#5, (byte) get::return_y#5 } -Adding versioned struct unwinding for (struct Point) get::return#0 -Adding versioned struct unwinding for (struct Point) get::return#1 -Adding versioned struct unwinding for (struct Point) get::return#2 -Adding versioned struct unwinding for (struct Point) get::return#3 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-ptr-17.log b/src/test/ref/struct-ptr-17.log index 4d2bbf712..0ecf2505b 100644 --- a/src/test/ref/struct-ptr-17.log +++ b/src/test/ref/struct-ptr-17.log @@ -33,8 +33,6 @@ Unwinding list assignment { (byte~) main::$0_x, (byte~) main::$0_y } ← { (byte Unwinding list assignment { (byte~) main::$1_x, (byte~) main::$1_y } ← { (byte) get::return_x, (byte) get::return_y } Unwinding list assignment { (byte) get::return_x#0, (byte) get::return_y#0 } ← { (byte) get::return_x#3, (byte) get::return_y#3 } Unwinding list assignment { (byte) get::return_x#1, (byte) get::return_y#1 } ← { (byte) get::return_x#3, (byte) get::return_y#3 } -Adding versioned struct unwinding for (struct Point) get::return#0 -Adding versioned struct unwinding for (struct Point) get::return#1 CONTROL FLOW GRAPH SSA @begin: scope:[] from diff --git a/src/test/ref/struct-ptr-19.log b/src/test/ref/struct-ptr-19.log index a7b653327..108c37211 100644 --- a/src/test/ref/struct-ptr-19.log +++ b/src/test/ref/struct-ptr-19.log @@ -14,7 +14,6 @@ Replacing struct member reference (struct Point) print::p.x with member unwindin Replacing struct member reference (struct Point) print::p.y with member unwinding reference (byte) print::p_y Identified constant variable (struct Point*) main::ptr Culled Empty Block (label) @1 -Adding versioned struct unwinding for (struct Point) main::point#0 CONTROL FLOW GRAPH SSA @begin: scope:[] from