diff --git a/cpp/ql/lib/change-notes/2024-03-15-switches-in-guard-conditions.md b/cpp/ql/lib/change-notes/2024-03-15-switches-in-guard-conditions.md new file mode 100644 index 00000000000..cf0b920e29d --- /dev/null +++ b/cpp/ql/lib/change-notes/2024-03-15-switches-in-guard-conditions.md @@ -0,0 +1,4 @@ +--- +category: feature +--- +* Added a predicate `GuardCondition.valueControls` to query whether a basic block is guarded by a particular `case` of a `switch` statement. \ No newline at end of file diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll index 0adba6c1e71..e7762fc9fa8 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll @@ -20,6 +20,44 @@ private predicate isUnreachedBlock(IRBlock block) { block.getFirstInstruction() instanceof UnreachedInstruction } +private newtype TAbstractValue = + TBooleanValue(boolean b) { b = true or b = false } or + TMatchValue(CaseEdge c) + +/** + * An abstract value. This is either a boolean value, or a `switch` case. + */ +abstract class AbstractValue extends TAbstractValue { + /** Gets an abstract value that represents the dual of this value, if any. */ + abstract AbstractValue getDualValue(); + + /** Gets a textual representation of this abstract value. */ + abstract string toString(); +} + +/** A Boolean value. */ +class BooleanValue extends AbstractValue, TBooleanValue { + /** Gets the underlying Boolean value. */ + boolean getValue() { this = TBooleanValue(result) } + + override BooleanValue getDualValue() { result.getValue() = this.getValue().booleanNot() } + + override string toString() { result = this.getValue().toString() } +} + +/** A value that represents a match against a specific `switch` case. */ +class MatchValue extends AbstractValue, TMatchValue { + /** Gets the case. */ + CaseEdge getCase() { this = TMatchValue(result) } + + override MatchValue getDualValue() { + // A `MatchValue` has no dual. + none() + } + + override string toString() { result = this.getCase().toString() } +} + /** * A Boolean condition in the AST that guards one or more basic blocks. This includes * operands of logical operators but not switch statements. @@ -34,6 +72,15 @@ class GuardCondition extends Expr { this.(BinaryLogicalOperation).getAnOperand() instanceof GuardCondition } + /** + * Holds if this condition controls `controlled`, meaning that `controlled` is only + * entered if the value of this condition is `v`. + * + * For details on what "controls" mean, see the QLDoc for `controls`. + */ + cached + predicate valueControls(BasicBlock controlled, AbstractValue v) { none() } + /** * Holds if this condition controls `controlled`, meaning that `controlled` is only * entered if the value of this condition is `testIsTrue`. @@ -61,7 +108,9 @@ class GuardCondition extends Expr { * true (for `&&`) or false (for `||`) branch. */ cached - predicate controls(BasicBlock controlled, boolean testIsTrue) { none() } + final predicate controls(BasicBlock controlled, boolean testIsTrue) { + this.valueControls(controlled, any(BooleanValue bv | bv.getValue() = testIsTrue)) + } /** Holds if (determined by this guard) `left < right + k` evaluates to `isLessThan` if this expression evaluates to `testIsTrue`. */ cached @@ -98,13 +147,13 @@ private class GuardConditionFromBinaryLogicalOperator extends GuardCondition { this.(BinaryLogicalOperation).getAnOperand() instanceof GuardCondition } - override predicate controls(BasicBlock controlled, boolean testIsTrue) { + override predicate valueControls(BasicBlock controlled, AbstractValue v) { exists(BinaryLogicalOperation binop, GuardCondition lhs, GuardCondition rhs | this = binop and lhs = binop.getLeftOperand() and rhs = binop.getRightOperand() and - lhs.controls(controlled, testIsTrue) and - rhs.controls(controlled, testIsTrue) + lhs.valueControls(controlled, v) and + rhs.valueControls(controlled, v) ) } @@ -146,10 +195,10 @@ private class GuardConditionFromIR extends GuardCondition { GuardConditionFromIR() { this = ir.getUnconvertedResultExpression() } - override predicate controls(BasicBlock controlled, boolean testIsTrue) { + override predicate valueControls(BasicBlock controlled, AbstractValue v) { // This condition must determine the flow of control; that is, this // node must be a top-level condition. - this.controlsBlock(controlled, testIsTrue) + this.controlsBlock(controlled, v) } /** Holds if (determined by this guard) `left < right + k` evaluates to `isLessThan` if this expression evaluates to `testIsTrue`. */ @@ -198,13 +247,13 @@ private class GuardConditionFromIR extends GuardCondition { /** * Holds if this condition controls `block`, meaning that `block` is only - * entered if the value of this condition is `testIsTrue`. This helper + * entered if the value of this condition is `v`. This helper * predicate does not necessarily hold for binary logical operations like * `&&` and `||`. See the detailed explanation on predicate `controls`. */ - private predicate controlsBlock(BasicBlock controlled, boolean testIsTrue) { + private predicate controlsBlock(BasicBlock controlled, AbstractValue v) { exists(IRBlock irb | - ir.controls(irb, testIsTrue) and + ir.valueControls(irb, v) and nonExcludedIRAndBasicBlock(irb, controlled) and not isUnreachedBlock(irb) ) @@ -249,10 +298,28 @@ private predicate nonExcludedIRAndBasicBlock(IRBlock irb, BasicBlock controlled) */ cached class IRGuardCondition extends Instruction { - ConditionalBranchInstruction branch; + Instruction branch; cached - IRGuardCondition() { branch = get_branch_for_condition(this) } + IRGuardCondition() { branch = getBranchForCondition(this) } + + /** + * Holds if this condition controls `controlled`, meaning that `controlled` is only + * entered if the value of this condition is `v`. + * + * For details on what "controls" mean, see the QLDoc for `controls`. + */ + cached + predicate valueControls(IRBlock controlled, AbstractValue v) { + // This condition must determine the flow of control; that is, this + // node must be a top-level condition. + this.controlsBlock(controlled, v) + or + exists(IRGuardCondition ne | + this = ne.(LogicalNotInstruction).getUnary() and + ne.valueControls(controlled, v.getDualValue()) + ) + } /** * Holds if this condition controls `controlled`, meaning that `controlled` is only @@ -282,13 +349,25 @@ class IRGuardCondition extends Instruction { */ cached predicate controls(IRBlock controlled, boolean testIsTrue) { - // This condition must determine the flow of control; that is, this - // node must be a top-level condition. - this.controlsBlock(controlled, testIsTrue) + this.valueControls(controlled, any(BooleanValue bv | bv.getValue() = testIsTrue)) + } + + /** + * Holds if the control-flow edge `(pred, succ)` may be taken only if + * the value of this condition is `v`. + */ + cached + predicate valueControlsEdge(IRBlock pred, IRBlock succ, AbstractValue v) { + pred.getASuccessor() = succ and + this.valueControls(pred, v) or - exists(IRGuardCondition ne | - this = ne.(LogicalNotInstruction).getUnary() and - ne.controls(controlled, testIsTrue.booleanNot()) + succ = this.getBranchSuccessor(v) and + ( + branch.(ConditionalBranchInstruction).getCondition() = this and + branch.getBlock() = pred + or + branch.(SwitchInstruction).getExpression() = this and + branch.getBlock() = pred ) } @@ -297,17 +376,12 @@ class IRGuardCondition extends Instruction { * the value of this condition is `testIsTrue`. */ cached - predicate controlsEdge(IRBlock pred, IRBlock succ, boolean testIsTrue) { - pred.getASuccessor() = succ and - this.controls(pred, testIsTrue) - or - succ = this.getBranchSuccessor(testIsTrue) and - branch.getCondition() = this and - branch.getBlock() = pred + final predicate controlsEdge(IRBlock pred, IRBlock succ, boolean testIsTrue) { + this.valueControlsEdge(pred, succ, any(BooleanValue bv | bv.getValue() = testIsTrue)) } /** - * Gets the block to which `branch` jumps directly when this condition is `testIsTrue`. + * Gets the block to which `branch` jumps directly when the value of this condition is `v`. * * This predicate is intended to help with situations in which an inference can only be made * based on an edge between a block with multiple successors and a block with multiple @@ -321,14 +395,20 @@ class IRGuardCondition extends Instruction { * return x; * ``` */ - private IRBlock getBranchSuccessor(boolean testIsTrue) { - branch.getCondition() = this and - ( - testIsTrue = true and - result.getFirstInstruction() = branch.getTrueSuccessor() + private IRBlock getBranchSuccessor(AbstractValue v) { + branch.(ConditionalBranchInstruction).getCondition() = this and + exists(BooleanValue bv | bv = v | + bv.getValue() = true and + result.getFirstInstruction() = branch.(ConditionalBranchInstruction).getTrueSuccessor() or - testIsTrue = false and - result.getFirstInstruction() = branch.getFalseSuccessor() + bv.getValue() = false and + result.getFirstInstruction() = branch.(ConditionalBranchInstruction).getFalseSuccessor() + ) + or + exists(SwitchInstruction switch, CaseEdge kind | switch = branch | + switch.getExpression() = this and + result.getFirstInstruction() = switch.getSuccessor(kind) and + kind = v.(MatchValue).getCase() ) } @@ -396,11 +476,11 @@ class IRGuardCondition extends Instruction { /** * Holds if this condition controls `block`, meaning that `block` is only - * entered if the value of this condition is `testIsTrue`. This helper + * entered if the value of this condition is `v`. This helper * predicate does not necessarily hold for binary logical operations like * `&&` and `||`. See the detailed explanation on predicate `controls`. */ - private predicate controlsBlock(IRBlock controlled, boolean testIsTrue) { + private predicate controlsBlock(IRBlock controlled, AbstractValue v) { not isUnreachedBlock(controlled) and // // For this block to control the block `controlled` with `testIsTrue` the @@ -441,7 +521,7 @@ class IRGuardCondition extends Instruction { // that `this` strictly dominates `controlled` so that isn't necessary to check // directly. exists(IRBlock succ | - succ = this.getBranchSuccessor(testIsTrue) and + succ = this.getBranchSuccessor(v) and this.hasDominatingEdgeTo(succ) and succ.dominates(controlled) ) @@ -476,12 +556,14 @@ class IRGuardCondition extends Instruction { private IRBlock getBranchBlock() { result = branch.getBlock() } } -private ConditionalBranchInstruction get_branch_for_condition(Instruction guard) { - result.getCondition() = guard +private Instruction getBranchForCondition(Instruction guard) { + result.(ConditionalBranchInstruction).getCondition() = guard or exists(LogicalNotInstruction cond | - result = get_branch_for_condition(cond) and cond.getUnary() = guard + result = getBranchForCondition(cond) and cond.getUnary() = guard ) + or + result.(SwitchInstruction).getExpression() = guard } /** diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll index 2c65ac57aeb..47e4d5f4f0c 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll @@ -9,6 +9,8 @@ import cpp import semmle.code.cpp.models.interfaces.Taint import semmle.code.cpp.models.interfaces.DataFlow import semmle.code.cpp.models.interfaces.Iterator +import semmle.code.cpp.models.interfaces.Alias +import semmle.code.cpp.models.interfaces.SideEffect /** * An instantiation of the `std::iterator_traits` template. @@ -449,7 +451,7 @@ class BeginOrEndFunction extends MemberFunction { } private class BeginOrEndFunctionModels extends BeginOrEndFunction, TaintFunction, - GetIteratorFunction + GetIteratorFunction, AliasFunction, SideEffectFunction { override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) { input.isQualifierObject() and @@ -460,6 +462,22 @@ private class BeginOrEndFunctionModels extends BeginOrEndFunction, TaintFunction input.isQualifierObject() and output.isReturnValue() } + + override predicate parameterNeverEscapes(int index) { index = -1 } + + override predicate parameterEscapesOnlyViaReturn(int index) { none() } + + override predicate hasOnlySpecificReadSideEffects() { any() } + + override predicate hasOnlySpecificWriteSideEffects() { any() } + + override predicate hasSpecificWriteSideEffect(ParameterIndex i, boolean buffer, boolean mustWrite) { + none() + } + + override predicate hasSpecificReadSideEffect(ParameterIndex i, boolean buffer) { + i = -1 and buffer = false + } } /** diff --git a/cpp/ql/test/library-tests/controlflow/guards/Guards.expected b/cpp/ql/test/library-tests/controlflow/guards/Guards.expected index 4193bd49fef..6eebc960ce3 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/Guards.expected +++ b/cpp/ql/test/library-tests/controlflow/guards/Guards.expected @@ -29,3 +29,6 @@ | test.cpp:18:8:18:10 | call to get | | test.cpp:31:7:31:13 | ... == ... | | test.cpp:42:13:42:20 | call to getABool | +| test.cpp:61:10:61:10 | i | +| test.cpp:74:10:74:10 | i | +| test.cpp:84:10:84:10 | i | diff --git a/cpp/ql/test/library-tests/controlflow/guards/GuardsControl.expected b/cpp/ql/test/library-tests/controlflow/guards/GuardsControl.expected index 1e0aed878bf..fbfaff9acf6 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/GuardsControl.expected +++ b/cpp/ql/test/library-tests/controlflow/guards/GuardsControl.expected @@ -86,3 +86,7 @@ | test.cpp:31:7:31:13 | ... == ... | true | 31 | 32 | | test.cpp:42:13:42:20 | call to getABool | false | 53 | 53 | | test.cpp:42:13:42:20 | call to getABool | true | 43 | 45 | +| test.cpp:61:10:61:10 | i | Case[0] | 62 | 64 | +| test.cpp:61:10:61:10 | i | Case[1] | 65 | 66 | +| test.cpp:74:10:74:10 | i | Case[0..10] | 75 | 77 | +| test.cpp:74:10:74:10 | i | Case[11..20] | 78 | 79 | diff --git a/cpp/ql/test/library-tests/controlflow/guards/GuardsControl.ql b/cpp/ql/test/library-tests/controlflow/guards/GuardsControl.ql index 5101f64a2c5..93ce054cd82 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/GuardsControl.ql +++ b/cpp/ql/test/library-tests/controlflow/guards/GuardsControl.ql @@ -7,10 +7,10 @@ import cpp import semmle.code.cpp.controlflow.Guards -from GuardCondition guard, boolean sense, int start, int end +from GuardCondition guard, AbstractValue value, int start, int end where exists(BasicBlock block | - guard.controls(block, sense) and + guard.valueControls(block, value) and block.hasLocationInfo(_, start, _, end, _) ) -select guard, sense, start, end +select guard, value, start, end diff --git a/cpp/ql/test/library-tests/controlflow/guards/test.cpp b/cpp/ql/test/library-tests/controlflow/guards/test.cpp index 46d894813f9..3a60f5f026e 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/test.cpp +++ b/cpp/ql/test/library-tests/controlflow/guards/test.cpp @@ -52,3 +52,37 @@ bool testWithCatch0(int v) return false; } + +void use1(int); +void use2(int); +void use3(int); + +void test_switches_simple(int i) { + switch(i) { + case 0: + use1(i); + break; + case 1: + use2(i); + /* NOTE: fallthrough */ + case 2: + use3(i); + } +} + +void test_switches_range(int i) { + switch(i) { + case 0 ... 10: + use1(i); + break; + case 11 ... 20: + use2(i); + } +} + +void test_switches_default(int i) { + switch(i) { + default: + use1(i); + } +} \ No newline at end of file diff --git a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected index 624954838d6..3b369651304 100644 --- a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected +++ b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected @@ -9750,2301 +9750,2419 @@ ir.cpp: # 1054| getRightOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) # 1054| Type = [IntType] int # 1054| ValueCategory = prvalue(load) -# 1059| [CopyAssignmentOperator] vector& vector::operator=(vector const&) -# 1059| : +# 1078| [CopyAssignmentOperator] std::iterator& std::iterator::operator=(std::iterator const&) +# 1078| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const iterator & +# 1078| [CopyAssignmentOperator] std::iterator& std::iterator::operator=(std::iterator const&) +# 1078| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const iterator & +# 1078| [CopyAssignmentOperator] std::iterator& std::iterator::operator=(std::iterator const&) +# 1078| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const iterator & +# 1081| [Constructor] void std::iterator::iterator() +# 1081| : +# 1082| [Constructor] void std::iterator::iterator(std::iterator const&) +# 1082| : +# 1082| getParameter(0): [Parameter] other +# 1082| Type = [LValueReferenceType] const iterator & +# 1082| [CopyConstructor] void std::iterator::iterator(std::iterator const&) +# 1082| : +# 1082| getParameter(0): [Parameter] other +# 1082| Type = [LValueReferenceType] const iterator & +# 1082| [CopyConstructor] void std::iterator::iterator(std::iterator const&) +# 1082| : +# 1082| getParameter(0): [Parameter] other +# 1082| Type = [LValueReferenceType] const iterator & +# 1082| [CopyConstructor] void std::iterator::iterator(std::iterator const&) +# 1082| : +# 1082| getParameter(0): [Parameter] other +# 1082| Type = [LValueReferenceType] const iterator & +# 1084| [MemberFunction] std::iterator& std::iterator::operator++() +# 1084| : +# 1084| [MemberFunction] std::iterator& std::iterator::operator++() +# 1084| : +# 1084| [MemberFunction] std::iterator& std::iterator::operator++() +# 1084| : +# 1084| [MemberFunction] std::iterator& std::iterator::operator++() +# 1084| : +# 1085| [MemberFunction] std::iterator std::iterator::operator++(int) +# 1085| : +# 1085| getParameter(0): [Parameter] (unnamed parameter 0) +# 1085| Type = [IntType] int +# 1086| [MemberFunction] std::iterator& std::iterator::operator--() +# 1086| : +# 1087| [MemberFunction] std::iterator std::iterator::operator--(int) +# 1087| : +# 1087| getParameter(0): [Parameter] (unnamed parameter 0) +# 1087| Type = [IntType] int +# 1088| [ConstMemberFunction] bool std::iterator::operator==(std::iterator) const +# 1088| : +# 1088| getParameter(0): [Parameter] other +# 1088| Type = [TemplateClass] iterator +# 1089| [ConstMemberFunction] bool std::iterator::operator!=(std::iterator) const +# 1089| : +# 1089| getParameter(0): [Parameter] other +# 1089| Type = [TemplateClass] iterator +# 1089| [ConstMemberFunction] bool std::iterator::operator!=(std::iterator) const +# 1089| : +# 1089| getParameter(0): [Parameter] other +# 1089| Type = [ClassTemplateInstantiation,Struct] iterator +# 1089| [ConstMemberFunction] bool std::iterator::operator!=(std::iterator) const +# 1089| : +# 1089| getParameter(0): [Parameter] other +# 1089| Type = [ClassTemplateInstantiation,Struct] iterator +# 1089| [ConstMemberFunction] bool std::iterator::operator!=(std::iterator) const +# 1089| : +# 1089| getParameter(0): [Parameter] other +# 1089| Type = [ClassTemplateInstantiation,Struct] iterator +# 1090| [ConstMemberFunction] ClassWithDestructor& std::iterator::operator*() const +# 1090| : +# 1090| [ConstMemberFunction] String& std::iterator::operator*() const +# 1090| : +# 1090| [ConstMemberFunction] int& std::iterator::operator*() const +# 1090| : +# 1090| [ConstMemberFunction] reference_type std::iterator::operator*() const +# 1090| : +# 1091| [ConstMemberFunction] pointer_type std::iterator::operator->() const +# 1091| : +# 1092| [MemberFunction] std::iterator std::iterator::operator+(int) +# 1092| : +# 1092| getParameter(0): [Parameter] (unnamed parameter 0) +# 1092| Type = [IntType] int +# 1093| [MemberFunction] std::iterator std::iterator::operator-(int) +# 1093| : +# 1093| getParameter(0): [Parameter] (unnamed parameter 0) +# 1093| Type = [IntType] int +# 1094| [MemberFunction] std::iterator& std::iterator::operator+=(int) +# 1094| : +# 1094| getParameter(0): [Parameter] (unnamed parameter 0) +# 1094| Type = [IntType] int +# 1095| [MemberFunction] std::iterator& std::iterator::operator-=(int) +# 1095| : +# 1095| getParameter(0): [Parameter] (unnamed parameter 0) +# 1095| Type = [IntType] int +# 1096| [MemberFunction] int std::iterator::operator-(std::iterator) +# 1096| : +# 1096| getParameter(0): [Parameter] (unnamed parameter 0) +# 1096| Type = [TemplateClass] iterator +# 1097| [MemberFunction] reference_type std::iterator::operator[](int) +# 1097| : +# 1097| getParameter(0): [Parameter] (unnamed parameter 0) +# 1097| Type = [IntType] int +# 1100| [CopyAssignmentOperator] std::input_iterator_tag& std::input_iterator_tag::operator=(std::input_iterator_tag const&) +# 1100| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const input_iterator_tag & +# 1100| [MoveAssignmentOperator] std::input_iterator_tag& std::input_iterator_tag::operator=(std::input_iterator_tag&&) +# 1100| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] input_iterator_tag && +# 1101| [CopyAssignmentOperator] std::forward_iterator_tag& std::forward_iterator_tag::operator=(std::forward_iterator_tag const&) +# 1101| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const forward_iterator_tag & +# 1101| [MoveAssignmentOperator] std::forward_iterator_tag& std::forward_iterator_tag::operator=(std::forward_iterator_tag&&) +# 1101| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] forward_iterator_tag && +# 1101| [Constructor] void std::forward_iterator_tag::forward_iterator_tag() +# 1101| : +# 1102| [CopyAssignmentOperator] std::bidirectional_iterator_tag& std::bidirectional_iterator_tag::operator=(std::bidirectional_iterator_tag const&) +# 1102| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const bidirectional_iterator_tag & +# 1102| [MoveAssignmentOperator] std::bidirectional_iterator_tag& std::bidirectional_iterator_tag::operator=(std::bidirectional_iterator_tag&&) +# 1102| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] bidirectional_iterator_tag && +# 1102| [Constructor] void std::bidirectional_iterator_tag::bidirectional_iterator_tag() +# 1102| : +# 1103| [CopyAssignmentOperator] std::random_access_iterator_tag& std::random_access_iterator_tag::operator=(std::random_access_iterator_tag const&) +# 1103| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const random_access_iterator_tag & +# 1103| [MoveAssignmentOperator] std::random_access_iterator_tag& std::random_access_iterator_tag::operator=(std::random_access_iterator_tag&&) +# 1103| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] random_access_iterator_tag && +# 1103| [Constructor] void std::random_access_iterator_tag::random_access_iterator_tag() +# 1103| : +# 1105| [CopyAssignmentOperator] std::output_iterator_tag& std::output_iterator_tag::operator=(std::output_iterator_tag const&) +# 1105| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const output_iterator_tag & +# 1105| [MoveAssignmentOperator] std::output_iterator_tag& std::output_iterator_tag::operator=(std::output_iterator_tag&&) +# 1105| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] output_iterator_tag && +# 1108| [CopyAssignmentOperator] std::vector& std::vector::operator=(std::vector const&) +# 1108| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const vector & -# 1059| [CopyAssignmentOperator] vector& vector::operator=(vector const&) -# 1059| : +# 1108| [CopyAssignmentOperator] std::vector& std::vector::operator=(std::vector const&) +# 1108| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const vector & -# 1059| [CopyAssignmentOperator] vector& vector::operator=(vector const&) -# 1059| : +# 1108| [CopyAssignmentOperator] std::vector& std::vector::operator=(std::vector const&) +# 1108| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const vector & -# 1059| [CopyConstructor] void vector::vector(vector const&) -# 1059| : +# 1108| [CopyConstructor] void std::vector::vector(std::vector const&) +# 1108| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const vector & -# 1059| [CopyConstructor] void vector::vector(vector const&) -# 1059| : +# 1108| [CopyConstructor] void std::vector::vector(std::vector const&) +# 1108| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const vector & -# 1059| [CopyConstructor] void vector::vector(vector const&) -# 1059| : +# 1108| [CopyConstructor] void std::vector::vector(std::vector const&) +# 1108| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const vector & -# 1060| [CopyAssignmentOperator] vector::iterator& vector::iterator::operator=(vector::iterator const public&) -# 1060| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const iterator & -# 1060| [MoveAssignmentOperator] vector::iterator& vector::iterator::operator=(vector::iterator&&) -# 1060| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] iterator && -# 1060| [CopyAssignmentOperator] vector::iterator& vector::iterator::operator=(vector::iterator const public&) -# 1060| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const iterator & -# 1060| [MoveAssignmentOperator] vector::iterator& vector::iterator::operator=(vector::iterator&&) -# 1060| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] iterator && -# 1060| [CopyAssignmentOperator] vector::iterator& vector::iterator::operator=(vector::iterator const public&) -# 1060| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const iterator & -# 1060| [MoveAssignmentOperator] vector::iterator& vector::iterator::operator=(vector::iterator&&) -# 1060| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] iterator && -# 1062| [MemberFunction] vector::iterator& vector::iterator::operator++() -# 1062| : -# 1062| [MemberFunction] vector::iterator& vector::iterator::operator++() -# 1062| : -# 1062| [MemberFunction] vector::iterator& vector::iterator::operator++() -# 1062| : -# 1062| [MemberFunction] vector::iterator& vector::iterator::operator++() -# 1062| : -# 1063| [ConstMemberFunction] ClassWithDestructor& vector::iterator::operator*() const -# 1063| : -# 1063| [ConstMemberFunction] String& vector::iterator::operator*() const -# 1063| : -# 1063| [ConstMemberFunction] T& vector::iterator::operator*() const -# 1063| : -# 1063| [ConstMemberFunction] int& vector::iterator::operator*() const -# 1063| : -# 1065| [ConstMemberFunction] bool vector::iterator::operator!=(vector::iterator) const -# 1065| : -# 1065| getParameter(0): [Parameter] right -# 1065| Type = [NestedStruct] iterator -# 1065| [ConstMemberFunction] bool vector::iterator::operator!=(vector::iterator) const -# 1065| : -# 1065| getParameter(0): [Parameter] right -# 1065| Type = [NestedStruct] iterator -# 1065| [ConstMemberFunction] bool vector::iterator::operator!=(vector::iterator) const -# 1065| : -# 1065| getParameter(0): [Parameter] right -# 1065| Type = [NestedClass,TemplateClass] iterator -# 1065| [ConstMemberFunction] bool vector::iterator::operator!=(vector::iterator) const -# 1065| : -# 1065| getParameter(0): [Parameter] right -# 1065| Type = [NestedStruct] iterator -# 1068| [Constructor] void vector::vector(ClassWithDestructor) -# 1068| : -# 1068| getParameter(0): [Parameter] (unnamed parameter 0) -# 1068| Type = [Class] ClassWithDestructor -# 1068| [Constructor] void vector::vector(String) -# 1068| : -# 1068| getParameter(0): [Parameter] (unnamed parameter 0) -# 1068| Type = [Struct] String -# 1068| [Constructor] void vector::vector(T) -# 1068| : -# 1068| getParameter(0): [Parameter] (unnamed parameter 0) -# 1068| Type = [TemplateParameter] T -# 1068| [Constructor] void vector::vector(int) -# 1068| : -# 1068| getParameter(0): [Parameter] (unnamed parameter 0) -# 1068| Type = [IntType] int -# 1069| [Destructor] void vector::~vector() -# 1069| : -# 1069| [Destructor] void vector::~vector() -# 1069| : -# 1069| [Destructor] void vector::~vector() -# 1069| : -# 1070| [ConstMemberFunction] vector::iterator vector::begin() const -# 1070| : -# 1070| [ConstMemberFunction] vector::iterator vector::begin() const -# 1070| : -# 1070| [ConstMemberFunction] vector::iterator vector::begin() const -# 1070| : -# 1070| [ConstMemberFunction] vector::iterator vector::begin() const -# 1070| : -# 1071| [ConstMemberFunction] vector::iterator vector::end() const -# 1071| : -# 1071| [ConstMemberFunction] vector::iterator vector::end() const -# 1071| : -# 1071| [ConstMemberFunction] vector::iterator vector::end() const -# 1071| : -# 1071| [ConstMemberFunction] vector::iterator vector::end() const -# 1071| : -# 1075| [Operator,TemplateFunction,TopLevelFunction] bool operator==(iterator, iterator) -# 1075| : -# 1075| getParameter(0): [Parameter] left -# 1075| Type = [TemplateParameter] iterator -# 1075| getParameter(1): [Parameter] right -# 1075| Type = [TemplateParameter] iterator -# 1077| [Operator,TemplateFunction,TopLevelFunction] bool operator!=(iterator, iterator) -# 1077| : -# 1077| getParameter(0): [Parameter] left -# 1077| Type = [TemplateParameter] iterator -# 1077| getParameter(1): [Parameter] right -# 1077| Type = [TemplateParameter] iterator -# 1079| [TopLevelFunction] void RangeBasedFor(vector const&) -# 1079| : -# 1079| getParameter(0): [Parameter] v -# 1079| Type = [LValueReferenceType] const vector & -# 1079| getEntryPoint(): [BlockStmt] { ... } -# 1080| getStmt(0): [RangeBasedForStmt] for(...:...) ... -# 1080| getChild(1): [DeclStmt] declaration -# 1080| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 1080| Type = [LValueReferenceType] const vector & -#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 1080| getExpr(): [VariableAccess] v -# 1080| Type = [LValueReferenceType] const vector & -# 1080| ValueCategory = prvalue(load) -# 1080| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1080| Type = [LValueReferenceType] const vector & -# 1080| ValueCategory = prvalue -# 1080| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1080| Type = [SpecifiedType] const vector -# 1080| ValueCategory = lvalue -# 1080| getBeginEndDeclaration(): [DeclStmt] declaration -# 1080| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 1080| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 1080| getExpr(): [FunctionCall] call to begin -# 1080| Type = [NestedStruct] iterator -# 1080| ValueCategory = prvalue -# 1080| getQualifier(): [VariableAccess] (__range) -# 1080| Type = [LValueReferenceType] const vector & -# 1080| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -# 1080| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 1080| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 1080| getExpr(): [FunctionCall] call to end -# 1080| Type = [NestedStruct] iterator -# 1080| ValueCategory = prvalue -# 1080| getQualifier(): [VariableAccess] (__range) -# 1080| Type = [LValueReferenceType] const vector & -# 1080| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -# 1080| getCondition(): [FunctionCall] call to operator!= -# 1080| Type = [BoolType] bool -# 1080| ValueCategory = prvalue -# 1080| getQualifier(): [VariableAccess] (__begin) -# 1080| Type = [NestedStruct] iterator -# 1080| ValueCategory = lvalue -# 1080| getArgument(0): [VariableAccess] (__end) -# 1080| Type = [NestedStruct] iterator -# 1080| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 1080| getUpdate(): [FunctionCall] call to operator++ -# 1080| Type = [LValueReferenceType] iterator & -# 1080| ValueCategory = prvalue -# 1080| getQualifier(): [VariableAccess] (__begin) -# 1080| Type = [NestedStruct] iterator -# 1080| ValueCategory = lvalue -# 1080| getChild(5): [DeclStmt] declaration -# 1080| getDeclarationEntry(0): [VariableDeclarationEntry] definition of e -# 1080| Type = [IntType] int -# 1080| getVariable().getInitializer(): [Initializer] initializer for e -# 1080| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 1080| Type = [LValueReferenceType] int & -# 1080| ValueCategory = prvalue -# 1080| getQualifier(): [VariableAccess] (__begin) -# 1080| Type = [NestedStruct] iterator -# 1080| ValueCategory = lvalue -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 1080| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1080| Type = [IntType] int -# 1080| ValueCategory = prvalue(load) -# 1080| getStmt(): [BlockStmt] { ... } -# 1081| getStmt(0): [IfStmt] if (...) ... -# 1081| getCondition(): [GTExpr] ... > ... -# 1081| Type = [BoolType] bool -# 1081| ValueCategory = prvalue -# 1081| getGreaterOperand(): [VariableAccess] e -# 1081| Type = [IntType] int -# 1081| ValueCategory = prvalue(load) -# 1081| getLesserOperand(): [Literal] 0 -# 1081| Type = [IntType] int -# 1081| Value = [Literal] 0 -# 1081| ValueCategory = prvalue -# 1081| getThen(): [BlockStmt] { ... } -# 1082| getStmt(0): [ContinueStmt] continue; -# 1080| getStmt(1): [LabelStmt] label ...: -# 1080| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1080| Type = [NestedStruct] iterator -# 1080| ValueCategory = lvalue -# 1086| getStmt(1): [RangeBasedForStmt] for(...:...) ... -# 1086| getChild(1): [DeclStmt] declaration -# 1086| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 1086| Type = [LValueReferenceType] const vector & -#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 1086| getExpr(): [VariableAccess] v -# 1086| Type = [LValueReferenceType] const vector & -# 1086| ValueCategory = prvalue(load) -# 1086| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1086| Type = [LValueReferenceType] const vector & -# 1086| ValueCategory = prvalue -# 1086| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1086| Type = [SpecifiedType] const vector -# 1086| ValueCategory = lvalue -# 1086| getBeginEndDeclaration(): [DeclStmt] declaration -# 1086| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 1086| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 1086| getExpr(): [FunctionCall] call to begin -# 1086| Type = [NestedStruct] iterator -# 1086| ValueCategory = prvalue -# 1086| getQualifier(): [VariableAccess] (__range) -# 1086| Type = [LValueReferenceType] const vector & -# 1086| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -# 1086| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 1086| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 1086| getExpr(): [FunctionCall] call to end -# 1086| Type = [NestedStruct] iterator -# 1086| ValueCategory = prvalue -# 1086| getQualifier(): [VariableAccess] (__range) -# 1086| Type = [LValueReferenceType] const vector & -# 1086| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -# 1086| getCondition(): [FunctionCall] call to operator!= -# 1086| Type = [BoolType] bool -# 1086| ValueCategory = prvalue -# 1086| getQualifier(): [VariableAccess] (__begin) -# 1086| Type = [NestedStruct] iterator -# 1086| ValueCategory = lvalue -# 1086| getArgument(0): [VariableAccess] (__end) -# 1086| Type = [NestedStruct] iterator -# 1086| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 1086| getUpdate(): [FunctionCall] call to operator++ -# 1086| Type = [LValueReferenceType] iterator & -# 1086| ValueCategory = prvalue -# 1086| getQualifier(): [VariableAccess] (__begin) -# 1086| Type = [NestedStruct] iterator -# 1086| ValueCategory = lvalue -# 1086| getChild(5): [DeclStmt] declaration -# 1086| getDeclarationEntry(0): [VariableDeclarationEntry] definition of e -# 1086| Type = [LValueReferenceType] const int & -# 1086| getVariable().getInitializer(): [Initializer] initializer for e -# 1086| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 1086| Type = [LValueReferenceType] int & -# 1086| ValueCategory = prvalue -# 1086| getQualifier(): [VariableAccess] (__begin) -# 1086| Type = [NestedStruct] iterator -# 1086| ValueCategory = lvalue -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 1086| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1086| Type = [LValueReferenceType] const int & -# 1086| ValueCategory = prvalue -# 1086| getExpr(): [CStyleCast] (const int)... -# 1086| Conversion = [GlvalueConversion] glvalue conversion -# 1086| Type = [SpecifiedType] const int -# 1086| ValueCategory = lvalue -# 1086| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1086| Type = [IntType] int -# 1086| ValueCategory = lvalue -# 1086| getStmt(): [BlockStmt] { ... } -# 1087| getStmt(0): [IfStmt] if (...) ... -# 1087| getCondition(): [LTExpr] ... < ... -# 1087| Type = [BoolType] bool -# 1087| ValueCategory = prvalue -# 1087| getLesserOperand(): [VariableAccess] e -# 1087| Type = [LValueReferenceType] const int & -# 1087| ValueCategory = prvalue(load) -# 1087| getGreaterOperand(): [Literal] 5 -# 1087| Type = [IntType] int -# 1087| Value = [Literal] 5 -# 1087| ValueCategory = prvalue -# 1087| getLesserOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1087| Type = [IntType] int -# 1087| ValueCategory = prvalue(load) -# 1087| getThen(): [BlockStmt] { ... } -# 1088| getStmt(0): [BreakStmt] break; -# 1086| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1086| Type = [NestedStruct] iterator -# 1086| ValueCategory = lvalue -# 1090| getStmt(2): [LabelStmt] label ...: -# 1091| getStmt(3): [ReturnStmt] return ... -# 1110| [TopLevelFunction] int AsmStmt(int) +# 1109| [Constructor] void std::vector::vector(ClassWithDestructor) +# 1109| : +# 1109| getParameter(0): [Parameter] (unnamed parameter 0) +# 1109| Type = [Class] ClassWithDestructor +# 1109| [Constructor] void std::vector::vector(String) +# 1109| : +# 1109| getParameter(0): [Parameter] (unnamed parameter 0) +# 1109| Type = [Struct] String +# 1109| [Constructor] void std::vector::vector(T) +# 1109| : +# 1109| getParameter(0): [Parameter] (unnamed parameter 0) +# 1109| Type = [TemplateParameter] T +# 1109| [Constructor] void std::vector::vector(int) +# 1109| : +# 1109| getParameter(0): [Parameter] (unnamed parameter 0) +# 1109| Type = [IntType] int +# 1110| [Destructor] void std::vector::~vector() # 1110| : -# 1110| getParameter(0): [Parameter] x -# 1110| Type = [IntType] int -# 1110| getEntryPoint(): [BlockStmt] { ... } -# 1111| getStmt(0): [AsmStmt] asm statement -# 1112| getStmt(1): [ReturnStmt] return ... -# 1112| getExpr(): [VariableAccess] x -# 1112| Type = [IntType] int -# 1112| ValueCategory = prvalue(load) -# 1115| [TopLevelFunction] void AsmStmtWithOutputs(unsigned int&, unsigned int, unsigned int&, unsigned int) +# 1110| [Destructor] void std::vector::~vector() +# 1110| : +# 1110| [Destructor] void std::vector::~vector() +# 1110| : +# 1115| [ConstMemberFunction] std::vector::iterator std::vector::begin() const # 1115| : -# 1115| getParameter(0): [Parameter] a -# 1115| Type = [LValueReferenceType] unsigned int & -# 1115| getParameter(1): [Parameter] b -# 1115| Type = [IntType] unsigned int -# 1115| getParameter(2): [Parameter] c -# 1115| Type = [LValueReferenceType] unsigned int & -# 1115| getParameter(3): [Parameter] d -# 1115| Type = [IntType] unsigned int -# 1116| getEntryPoint(): [BlockStmt] { ... } -# 1117| getStmt(0): [AsmStmt] asm statement -# 1120| getChild(0): [VariableAccess] a -# 1120| Type = [LValueReferenceType] unsigned int & -# 1120| ValueCategory = prvalue(load) -# 1120| getChild(1): [VariableAccess] b -# 1120| Type = [IntType] unsigned int -# 1120| ValueCategory = lvalue -# 1120| getChild(2): [VariableAccess] c -# 1120| Type = [LValueReferenceType] unsigned int & -# 1120| ValueCategory = prvalue(load) -# 1120| getChild(3): [VariableAccess] d -# 1120| Type = [IntType] unsigned int -# 1120| ValueCategory = prvalue(load) -# 1120| getChild(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1120| Type = [IntType] unsigned int -# 1120| ValueCategory = lvalue -# 1120| getChild(2).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1120| Type = [IntType] unsigned int -# 1120| ValueCategory = prvalue(load) -# 1122| getStmt(1): [ReturnStmt] return ... -# 1124| [TopLevelFunction] void ExternDeclarations() -# 1124| : -# 1125| getEntryPoint(): [BlockStmt] { ... } -# 1126| getStmt(0): [DeclStmt] declaration -# 1126| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of g -# 1126| Type = [IntType] int -# 1127| getStmt(1): [DeclStmt] declaration -# 1127| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1127| Type = [IntType] int -# 1128| getStmt(2): [DeclStmt] declaration -# 1128| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1128| Type = [IntType] int -# 1128| getDeclarationEntry(1): [FunctionDeclarationEntry] declaration of f -# 1128| Type = [IntType] int -# 1129| getStmt(3): [DeclStmt] declaration -# 1129| getDeclarationEntry(0): [FunctionDeclarationEntry] declaration of z -# 1129| Type = [IntType] int -# 1129| getDeclarationEntry(1): [FunctionDeclarationEntry] declaration of w -# 1129| Type = [IntType] int -# 1129| getDeclarationEntry(2): [VariableDeclarationEntry] definition of h -# 1129| Type = [IntType] int -# 1130| getStmt(4): [DeclStmt] declaration -# 1130| getDeclarationEntry(0): [TypeDeclarationEntry] declaration of d -# 1130| Type = [CTypedefType,LocalTypedefType] d -# 1131| getStmt(5): [ReturnStmt] return ... -# 1128| [TopLevelFunction] int f(float) -# 1128| : -# 1128| getParameter(0): [Parameter] (unnamed parameter 0) -# 1128| Type = [FloatType] float -# 1129| [TopLevelFunction] int z(float) -# 1129| : -# 1129| getParameter(0): [Parameter] (unnamed parameter 0) -# 1129| Type = [FloatType] float -# 1129| [TopLevelFunction] int w(float) -# 1129| : -# 1129| getParameter(0): [Parameter] (unnamed parameter 0) -# 1129| Type = [FloatType] float -# 1139| [TopLevelFunction] void ExternDeclarationsInMacro() -# 1139| : -# 1140| getEntryPoint(): [BlockStmt] { ... } -# 1141| getStmt(0): [DeclStmt] declaration -# 1141| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of g -# 1141| Type = [IntType] int -# 1141| getStmt(1): [ForStmt] for(...;...;...) ... -# 1141| getInitialization(): [DeclStmt] declaration -# 1141| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1141| Type = [IntType] int -# 1141| getVariable().getInitializer(): [Initializer] initializer for i -# 1141| getExpr(): [Literal] 0 -# 1141| Type = [IntType] int -# 1141| Value = [Literal] 0 -# 1141| ValueCategory = prvalue -# 1141| getCondition(): [LTExpr] ... < ... -# 1141| Type = [BoolType] bool -# 1141| ValueCategory = prvalue -# 1141| getLesserOperand(): [VariableAccess] i -# 1141| Type = [IntType] int -# 1141| ValueCategory = prvalue(load) -# 1141| getGreaterOperand(): [Literal] 10 -# 1141| Type = [IntType] int -# 1141| Value = [Literal] 10 -# 1141| ValueCategory = prvalue -# 1141| getUpdate(): [PrefixIncrExpr] ++ ... -# 1141| Type = [IntType] int -# 1141| ValueCategory = lvalue -# 1141| getOperand(): [VariableAccess] i -# 1141| Type = [IntType] int -# 1141| ValueCategory = lvalue -# 1141| getStmt(): [BlockStmt] { ... } -# 1141| getStmt(0): [DeclStmt] declaration -# 1141| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of g -# 1141| Type = [IntType] int -# 1141| getStmt(2): [EmptyStmt] ; -# 1142| getStmt(3): [ReturnStmt] return ... -# 1144| [TopLevelFunction] void TryCatchNoCatchAny(bool) -# 1144| : -# 1144| getParameter(0): [Parameter] b -# 1144| Type = [BoolType] bool -# 1144| getEntryPoint(): [BlockStmt] { ... } -# 1145| getStmt(0): [TryStmt] try { ... } -# 1145| getStmt(): [BlockStmt] { ... } -# 1146| getStmt(0): [DeclStmt] declaration -# 1146| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1146| Type = [IntType] int -# 1146| getVariable().getInitializer(): [Initializer] initializer for x -# 1146| getExpr(): [Literal] 5 -# 1146| Type = [IntType] int -# 1146| Value = [Literal] 5 -# 1146| ValueCategory = prvalue -# 1147| getStmt(1): [IfStmt] if (...) ... -# 1147| getCondition(): [VariableAccess] b -# 1147| Type = [BoolType] bool -# 1147| ValueCategory = prvalue(load) -# 1147| getThen(): [BlockStmt] { ... } -# 1148| getStmt(0): [ExprStmt] ExprStmt -# 1148| getExpr(): [ThrowExpr] throw ... -# 1148| Type = [PointerType] const char * -# 1148| ValueCategory = prvalue -# 1148| getExpr(): string literal -# 1148| Type = [ArrayType] const char[15] -# 1148| Value = [StringLiteral] "string literal" -# 1148| ValueCategory = lvalue -# 1148| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1148| Type = [PointerType] const char * -# 1148| ValueCategory = prvalue -# 1150| getElse(): [IfStmt] if (...) ... -# 1150| getCondition(): [LTExpr] ... < ... -# 1150| Type = [BoolType] bool -# 1150| ValueCategory = prvalue -# 1150| getLesserOperand(): [VariableAccess] x -# 1150| Type = [IntType] int -# 1150| ValueCategory = prvalue(load) -# 1150| getGreaterOperand(): [Literal] 2 -# 1150| Type = [IntType] int -# 1150| Value = [Literal] 2 -# 1150| ValueCategory = prvalue -# 1150| getThen(): [BlockStmt] { ... } -# 1151| getStmt(0): [ExprStmt] ExprStmt -# 1151| getExpr(): [AssignExpr] ... = ... -# 1151| Type = [IntType] int -# 1151| ValueCategory = lvalue -# 1151| getLValue(): [VariableAccess] x -# 1151| Type = [IntType] int -# 1151| ValueCategory = lvalue -# 1151| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1151| Type = [IntType] int -# 1151| ValueCategory = prvalue -# 1151| getCondition(): [VariableAccess] b -# 1151| Type = [BoolType] bool -# 1151| ValueCategory = prvalue(load) -# 1151| getThen(): [Literal] 7 -# 1151| Type = [IntType] int -# 1151| Value = [Literal] 7 -# 1151| ValueCategory = prvalue -# 1151| getElse(): [ThrowExpr] throw ... -# 1151| Type = [Struct] String -# 1151| ValueCategory = prvalue -# 1151| getExpr(): [ConstructorCall] call to String -# 1151| Type = [VoidType] void -# 1151| ValueCategory = prvalue -# 1151| getArgument(0): String object -# 1151| Type = [ArrayType] const char[14] -# 1151| Value = [StringLiteral] "String object" -# 1151| ValueCategory = lvalue -# 1151| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1151| Type = [PointerType] const char * -# 1151| ValueCategory = prvalue -# 1153| getStmt(2): [ExprStmt] ExprStmt -# 1153| getExpr(): [AssignExpr] ... = ... -# 1153| Type = [IntType] int -# 1153| ValueCategory = lvalue -# 1153| getLValue(): [VariableAccess] x -# 1153| Type = [IntType] int -# 1153| ValueCategory = lvalue -# 1153| getRValue(): [Literal] 7 -# 1153| Type = [IntType] int -# 1153| Value = [Literal] 7 -# 1153| ValueCategory = prvalue -# 1155| getChild(1): [Handler] -# 1155| getBlock(): [CatchBlock] { ... } -# 1156| getStmt(0): [ExprStmt] ExprStmt -# 1156| getExpr(): [ThrowExpr] throw ... -# 1156| Type = [Struct] String -# 1156| ValueCategory = prvalue -# 1156| getExpr(): [ConstructorCall] call to String -# 1156| Type = [VoidType] void -# 1156| ValueCategory = prvalue -# 1156| getArgument(0): [VariableAccess] s -# 1156| Type = [PointerType] const char * -# 1156| ValueCategory = prvalue(load) -# 1158| getChild(2): [Handler] -# 1158| getBlock(): [CatchBlock] { ... } -# 1160| getStmt(1): [ReturnStmt] return ... -# 1164| [TopLevelFunction] void VectorTypes(int) -# 1164| : -# 1164| getParameter(0): [Parameter] i -# 1164| Type = [IntType] int -# 1164| getEntryPoint(): [BlockStmt] { ... } -# 1165| getStmt(0): [DeclStmt] declaration -# 1165| getDeclarationEntry(0): [VariableDeclarationEntry] definition of vi4 -# 1165| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1165| getVariable().getInitializer(): [Initializer] initializer for vi4 -# 1165| getExpr(): [VectorAggregateLiteral] {...} -# 1165| Type = [GNUVectorType] __attribute((vector_size(16UL))) int -# 1165| ValueCategory = prvalue -# 1165| getAnElementExpr(0): [Literal] 0 -# 1165| Type = [IntType] int -# 1165| Value = [Literal] 0 -# 1165| ValueCategory = prvalue -# 1165| getAnElementExpr(1): [Literal] 1 -# 1165| Type = [IntType] int -# 1165| Value = [Literal] 1 -# 1165| ValueCategory = prvalue -# 1165| getAnElementExpr(2): [Literal] 2 -# 1165| Type = [IntType] int -# 1165| Value = [Literal] 2 -# 1165| ValueCategory = prvalue -# 1165| getAnElementExpr(3): [Literal] 3 -# 1165| Type = [IntType] int -# 1165| Value = [Literal] 3 -# 1165| ValueCategory = prvalue -# 1166| getStmt(1): [DeclStmt] declaration -# 1166| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1166| Type = [IntType] int -# 1166| getVariable().getInitializer(): [Initializer] initializer for x -# 1166| getExpr(): [ArrayExpr] access to array -# 1166| Type = [IntType] int -# 1166| ValueCategory = prvalue(load) -# 1166| getArrayBase(): [VariableAccess] vi4 -# 1166| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1166| ValueCategory = lvalue -# 1166| getArrayOffset(): [VariableAccess] i -# 1166| Type = [IntType] int -# 1166| ValueCategory = prvalue(load) -# 1167| getStmt(2): [ExprStmt] ExprStmt -# 1167| getExpr(): [AssignExpr] ... = ... -# 1167| Type = [IntType] int +# 1115| [ConstMemberFunction] std::vector::iterator std::vector::begin() const +# 1115| : +# 1115| [ConstMemberFunction] std::vector::iterator std::vector::begin() const +# 1115| : +# 1115| [ConstMemberFunction] std::vector::iterator std::vector::begin() const +# 1115| : +# 1116| [ConstMemberFunction] std::vector::iterator std::vector::end() const +# 1116| : +# 1116| [ConstMemberFunction] std::vector::iterator std::vector::end() const +# 1116| : +# 1116| [ConstMemberFunction] std::vector::iterator std::vector::end() const +# 1116| : +# 1116| [ConstMemberFunction] std::vector::iterator std::vector::end() const +# 1116| : +# 1120| [Operator,TemplateFunction,TopLevelFunction] bool std::operator==(iterator, iterator) +# 1120| : +# 1120| getParameter(0): [Parameter] left +# 1120| Type = [TemplateParameter] iterator +# 1120| getParameter(1): [Parameter] right +# 1120| Type = [TemplateParameter] iterator +# 1122| [Operator,TemplateFunction,TopLevelFunction] bool std::operator!=(iterator, iterator) +# 1122| : +# 1122| getParameter(0): [Parameter] left +# 1122| Type = [TemplateParameter] iterator +# 1122| getParameter(1): [Parameter] right +# 1122| Type = [TemplateParameter] iterator +# 1126| [TopLevelFunction] void RangeBasedFor(std::vector const&) +# 1126| : +# 1126| getParameter(0): [Parameter] v +# 1126| Type = [LValueReferenceType] const vector & +# 1126| getEntryPoint(): [BlockStmt] { ... } +# 1127| getStmt(0): [RangeBasedForStmt] for(...:...) ... +# 1127| getChild(1): [DeclStmt] declaration +# 1127| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 1127| Type = [LValueReferenceType] const vector & +#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) +# 1127| getExpr(): [VariableAccess] v +# 1127| Type = [LValueReferenceType] const vector & +# 1127| ValueCategory = prvalue(load) +# 1127| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1127| Type = [LValueReferenceType] const vector & +# 1127| ValueCategory = prvalue +# 1127| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1127| Type = [SpecifiedType] const vector +# 1127| ValueCategory = lvalue +# 1127| getBeginEndDeclaration(): [DeclStmt] declaration +# 1127| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 1127| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) +# 1127| getExpr(): [FunctionCall] call to begin +# 1127| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1127| ValueCategory = prvalue +# 1127| getQualifier(): [VariableAccess] (__range) +# 1127| Type = [LValueReferenceType] const vector & +# 1127| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +# 1127| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 1127| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) +# 1127| getExpr(): [FunctionCall] call to end +# 1127| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1127| ValueCategory = prvalue +# 1127| getQualifier(): [VariableAccess] (__range) +# 1127| Type = [LValueReferenceType] const vector & +# 1127| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +# 1127| getCondition(): [FunctionCall] call to operator!= +# 1127| Type = [BoolType] bool +# 1127| ValueCategory = prvalue +# 1127| getQualifier(): [VariableAccess] (__begin) +# 1127| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1127| ValueCategory = lvalue +# 1127| getArgument(0): [ConstructorCall] call to iterator +# 1127| Type = [VoidType] void +# 1127| ValueCategory = prvalue +# 1127| getArgument(0): [VariableAccess] (__end) +# 1127| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1127| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +#-----| Type = [LValueReferenceType] const iterator & +#-----| ValueCategory = prvalue +#-----| getExpr(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [ClassTemplateInstantiation,Struct] iterator +#-----| ValueCategory = lvalue +# 1127| getUpdate(): [FunctionCall] call to operator++ +# 1127| Type = [LValueReferenceType] iterator & +# 1127| ValueCategory = prvalue +# 1127| getQualifier(): [VariableAccess] (__begin) +# 1127| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1127| ValueCategory = lvalue +# 1127| getChild(5): [DeclStmt] declaration +# 1127| getDeclarationEntry(0): [VariableDeclarationEntry] definition of e +# 1127| Type = [IntType] int +# 1127| getVariable().getInitializer(): [Initializer] initializer for e +# 1127| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 1127| Type = [LValueReferenceType] int & +# 1127| ValueCategory = prvalue +# 1127| getQualifier(): [VariableAccess] (__begin) +# 1127| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1127| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 1127| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1127| Type = [IntType] int +# 1127| ValueCategory = prvalue(load) +# 1127| getStmt(): [BlockStmt] { ... } +# 1128| getStmt(0): [IfStmt] if (...) ... +# 1128| getCondition(): [GTExpr] ... > ... +# 1128| Type = [BoolType] bool +# 1128| ValueCategory = prvalue +# 1128| getGreaterOperand(): [VariableAccess] e +# 1128| Type = [IntType] int +# 1128| ValueCategory = prvalue(load) +# 1128| getLesserOperand(): [Literal] 0 +# 1128| Type = [IntType] int +# 1128| Value = [Literal] 0 +# 1128| ValueCategory = prvalue +# 1128| getThen(): [BlockStmt] { ... } +# 1129| getStmt(0): [ContinueStmt] continue; +# 1127| getStmt(1): [LabelStmt] label ...: +# 1127| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1127| Type = [ClassTemplateInstantiation,Struct] iterator +# 1127| ValueCategory = lvalue +# 1133| getStmt(1): [RangeBasedForStmt] for(...:...) ... +# 1133| getChild(1): [DeclStmt] declaration +# 1133| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 1133| Type = [LValueReferenceType] const vector & +#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) +# 1133| getExpr(): [VariableAccess] v +# 1133| Type = [LValueReferenceType] const vector & +# 1133| ValueCategory = prvalue(load) +# 1133| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1133| Type = [LValueReferenceType] const vector & +# 1133| ValueCategory = prvalue +# 1133| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1133| Type = [SpecifiedType] const vector +# 1133| ValueCategory = lvalue +# 1133| getBeginEndDeclaration(): [DeclStmt] declaration +# 1133| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 1133| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) +# 1133| getExpr(): [FunctionCall] call to begin +# 1133| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1133| ValueCategory = prvalue +# 1133| getQualifier(): [VariableAccess] (__range) +# 1133| Type = [LValueReferenceType] const vector & +# 1133| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +# 1133| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 1133| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) +# 1133| getExpr(): [FunctionCall] call to end +# 1133| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1133| ValueCategory = prvalue +# 1133| getQualifier(): [VariableAccess] (__range) +# 1133| Type = [LValueReferenceType] const vector & +# 1133| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +# 1133| getCondition(): [FunctionCall] call to operator!= +# 1133| Type = [BoolType] bool +# 1133| ValueCategory = prvalue +# 1133| getQualifier(): [VariableAccess] (__begin) +# 1133| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1133| ValueCategory = lvalue +# 1133| getArgument(0): [ConstructorCall] call to iterator +# 1133| Type = [VoidType] void +# 1133| ValueCategory = prvalue +# 1133| getArgument(0): [VariableAccess] (__end) +# 1133| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1133| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +#-----| Type = [LValueReferenceType] const iterator & +#-----| ValueCategory = prvalue +#-----| getExpr(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [ClassTemplateInstantiation,Struct] iterator +#-----| ValueCategory = lvalue +# 1133| getUpdate(): [FunctionCall] call to operator++ +# 1133| Type = [LValueReferenceType] iterator & +# 1133| ValueCategory = prvalue +# 1133| getQualifier(): [VariableAccess] (__begin) +# 1133| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1133| ValueCategory = lvalue +# 1133| getChild(5): [DeclStmt] declaration +# 1133| getDeclarationEntry(0): [VariableDeclarationEntry] definition of e +# 1133| Type = [LValueReferenceType] const int & +# 1133| getVariable().getInitializer(): [Initializer] initializer for e +# 1133| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 1133| Type = [LValueReferenceType] int & +# 1133| ValueCategory = prvalue +# 1133| getQualifier(): [VariableAccess] (__begin) +# 1133| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 1133| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 1133| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1133| Type = [LValueReferenceType] const int & +# 1133| ValueCategory = prvalue +# 1133| getExpr(): [CStyleCast] (const int)... +# 1133| Conversion = [GlvalueConversion] glvalue conversion +# 1133| Type = [SpecifiedType] const int +# 1133| ValueCategory = lvalue +# 1133| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1133| Type = [IntType] int +# 1133| ValueCategory = lvalue +# 1133| getStmt(): [BlockStmt] { ... } +# 1134| getStmt(0): [IfStmt] if (...) ... +# 1134| getCondition(): [LTExpr] ... < ... +# 1134| Type = [BoolType] bool +# 1134| ValueCategory = prvalue +# 1134| getLesserOperand(): [VariableAccess] e +# 1134| Type = [LValueReferenceType] const int & +# 1134| ValueCategory = prvalue(load) +# 1134| getGreaterOperand(): [Literal] 5 +# 1134| Type = [IntType] int +# 1134| Value = [Literal] 5 +# 1134| ValueCategory = prvalue +# 1134| getLesserOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1134| Type = [IntType] int +# 1134| ValueCategory = prvalue(load) +# 1134| getThen(): [BlockStmt] { ... } +# 1135| getStmt(0): [BreakStmt] break; +# 1133| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1133| Type = [ClassTemplateInstantiation,Struct] iterator +# 1133| ValueCategory = lvalue +# 1137| getStmt(2): [LabelStmt] label ...: +# 1138| getStmt(3): [ReturnStmt] return ... +# 1157| [TopLevelFunction] int AsmStmt(int) +# 1157| : +# 1157| getParameter(0): [Parameter] x +# 1157| Type = [IntType] int +# 1157| getEntryPoint(): [BlockStmt] { ... } +# 1158| getStmt(0): [AsmStmt] asm statement +# 1159| getStmt(1): [ReturnStmt] return ... +# 1159| getExpr(): [VariableAccess] x +# 1159| Type = [IntType] int +# 1159| ValueCategory = prvalue(load) +# 1162| [TopLevelFunction] void AsmStmtWithOutputs(unsigned int&, unsigned int, unsigned int&, unsigned int) +# 1162| : +# 1162| getParameter(0): [Parameter] a +# 1162| Type = [LValueReferenceType] unsigned int & +# 1162| getParameter(1): [Parameter] b +# 1162| Type = [IntType] unsigned int +# 1162| getParameter(2): [Parameter] c +# 1162| Type = [LValueReferenceType] unsigned int & +# 1162| getParameter(3): [Parameter] d +# 1162| Type = [IntType] unsigned int +# 1163| getEntryPoint(): [BlockStmt] { ... } +# 1164| getStmt(0): [AsmStmt] asm statement +# 1167| getChild(0): [VariableAccess] a +# 1167| Type = [LValueReferenceType] unsigned int & +# 1167| ValueCategory = prvalue(load) +# 1167| getChild(1): [VariableAccess] b +# 1167| Type = [IntType] unsigned int # 1167| ValueCategory = lvalue -# 1167| getLValue(): [ArrayExpr] access to array -# 1167| Type = [IntType] int -# 1167| ValueCategory = lvalue -# 1167| getArrayBase(): [VariableAccess] vi4 -# 1167| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1167| ValueCategory = lvalue -# 1167| getArrayOffset(): [VariableAccess] i -# 1167| Type = [IntType] int -# 1167| ValueCategory = prvalue(load) -# 1167| getRValue(): [VariableAccess] x -# 1167| Type = [IntType] int -# 1167| ValueCategory = prvalue(load) -# 1168| getStmt(3): [DeclStmt] declaration -# 1168| getDeclarationEntry(0): [VariableDeclarationEntry] definition of vi4_shuffle -# 1168| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1168| getVariable().getInitializer(): [Initializer] initializer for vi4_shuffle -# 1168| getExpr(): [BuiltInOperationBuiltInShuffleVector] __builtin_shufflevector -# 1168| Type = [GNUVectorType] __attribute((vector_size(16))) int -# 1168| ValueCategory = prvalue -# 1168| getChild(0): [VariableAccess] vi4 -# 1168| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1168| ValueCategory = prvalue(load) -# 1168| getChild(1): [VariableAccess] vi4 -# 1168| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1168| ValueCategory = prvalue(load) -# 1168| getChild(2): [AddExpr] ... + ... -# 1168| Type = [IntType] int -# 1168| Value = [AddExpr] 3 -# 1168| ValueCategory = prvalue -# 1168| getLeftOperand(): [Literal] 3 -# 1168| Type = [IntType] int -# 1168| Value = [Literal] 3 -# 1168| ValueCategory = prvalue -# 1168| getRightOperand(): [Literal] 0 -# 1168| Type = [IntType] int -# 1168| Value = [Literal] 0 -# 1168| ValueCategory = prvalue -# 1168| getChild(3): [Literal] 2 -# 1168| Type = [IntType] int -# 1168| Value = [Literal] 2 -# 1168| ValueCategory = prvalue -# 1168| getChild(4): [Literal] 1 -# 1168| Type = [IntType] int -# 1168| Value = [Literal] 1 -# 1168| ValueCategory = prvalue -# 1168| getChild(5): [Literal] 0 -# 1168| Type = [IntType] int -# 1168| Value = [Literal] 0 -# 1168| ValueCategory = prvalue -# 1169| getStmt(4): [ExprStmt] ExprStmt -# 1169| getExpr(): [AssignExpr] ... = ... -# 1169| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1169| ValueCategory = lvalue -# 1169| getLValue(): [VariableAccess] vi4 -# 1169| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1169| ValueCategory = lvalue -# 1169| getRValue(): [AddExpr] ... + ... -# 1169| Type = [GNUVectorType] __attribute((vector_size(16UL))) int -# 1169| ValueCategory = prvalue -# 1169| getLeftOperand(): [VariableAccess] vi4 -# 1169| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1169| ValueCategory = prvalue(load) -# 1169| getRightOperand(): [VariableAccess] vi4_shuffle -# 1169| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1169| ValueCategory = prvalue(load) -# 1170| getStmt(5): [ReturnStmt] return ... -# 1172| [TopLevelFunction] void* memcpy(void*, void*, int) -# 1172| : -# 1172| getParameter(0): [Parameter] dst -# 1172| Type = [VoidPointerType] void * -# 1172| getParameter(1): [Parameter] src -# 1172| Type = [VoidPointerType] void * -# 1172| getParameter(2): [Parameter] size -# 1172| Type = [IntType] int -# 1174| [TopLevelFunction] int ModeledCallTarget(int) -# 1174| : -# 1174| getParameter(0): [Parameter] x -# 1174| Type = [IntType] int -# 1174| getEntryPoint(): [BlockStmt] { ... } -# 1175| getStmt(0): [DeclStmt] declaration +# 1167| getChild(2): [VariableAccess] c +# 1167| Type = [LValueReferenceType] unsigned int & +# 1167| ValueCategory = prvalue(load) +# 1167| getChild(3): [VariableAccess] d +# 1167| Type = [IntType] unsigned int +# 1167| ValueCategory = prvalue(load) +# 1167| getChild(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1167| Type = [IntType] unsigned int +# 1167| ValueCategory = lvalue +# 1167| getChild(2).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1167| Type = [IntType] unsigned int +# 1167| ValueCategory = prvalue(load) +# 1169| getStmt(1): [ReturnStmt] return ... +# 1171| [TopLevelFunction] void ExternDeclarations() +# 1171| : +# 1172| getEntryPoint(): [BlockStmt] { ... } +# 1173| getStmt(0): [DeclStmt] declaration +# 1173| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of g +# 1173| Type = [IntType] int +# 1174| getStmt(1): [DeclStmt] declaration +# 1174| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1174| Type = [IntType] int +# 1175| getStmt(2): [DeclStmt] declaration # 1175| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y # 1175| Type = [IntType] int -# 1176| getStmt(1): [ExprStmt] ExprStmt -# 1176| getExpr(): [FunctionCall] call to memcpy -# 1176| Type = [VoidPointerType] void * -# 1176| ValueCategory = prvalue -# 1176| getArgument(0): [AddressOfExpr] & ... -# 1176| Type = [IntPointerType] int * -# 1176| ValueCategory = prvalue -# 1176| getOperand(): [VariableAccess] y -# 1176| Type = [IntType] int -# 1176| ValueCategory = lvalue -# 1176| getArgument(1): [AddressOfExpr] & ... -# 1176| Type = [IntPointerType] int * -# 1176| ValueCategory = prvalue -# 1176| getOperand(): [VariableAccess] x -# 1176| Type = [IntType] int -# 1176| ValueCategory = lvalue -# 1176| getArgument(2): [SizeofTypeOperator] sizeof(int) -# 1176| Type = [LongType] unsigned long -# 1176| Value = [SizeofTypeOperator] 4 -# 1176| ValueCategory = prvalue -# 1176| getArgument(0).getFullyConverted(): [CStyleCast] (void *)... -# 1176| Conversion = [PointerConversion] pointer conversion -# 1176| Type = [VoidPointerType] void * -# 1176| ValueCategory = prvalue -# 1176| getArgument(1).getFullyConverted(): [CStyleCast] (void *)... -# 1176| Conversion = [PointerConversion] pointer conversion -# 1176| Type = [VoidPointerType] void * -# 1176| ValueCategory = prvalue -# 1176| getArgument(2).getFullyConverted(): [CStyleCast] (int)... -# 1176| Conversion = [IntegralConversion] integral conversion -# 1176| Type = [IntType] int -# 1176| Value = [CStyleCast] 4 -# 1176| ValueCategory = prvalue -# 1177| getStmt(2): [ReturnStmt] return ... -# 1177| getExpr(): [VariableAccess] y -# 1177| Type = [IntType] int -# 1177| ValueCategory = prvalue(load) -# 1180| [TopLevelFunction] String ReturnObjectImpl() -# 1180| : -# 1180| getEntryPoint(): [BlockStmt] { ... } -# 1181| getStmt(0): [ReturnStmt] return ... -# 1181| getExpr(): [ConstructorCall] call to String -# 1181| Type = [VoidType] void -# 1181| ValueCategory = prvalue -# 1181| getArgument(0): foo -# 1181| Type = [ArrayType] const char[4] -# 1181| Value = [StringLiteral] "foo" -# 1181| ValueCategory = lvalue -# 1181| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1181| Type = [PointerType] const char * -# 1181| ValueCategory = prvalue -# 1184| [TopLevelFunction] void switch1Case(int) -# 1184| : -# 1184| getParameter(0): [Parameter] x -# 1184| Type = [IntType] int -# 1184| getEntryPoint(): [BlockStmt] { ... } -# 1185| getStmt(0): [DeclStmt] declaration -# 1185| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1185| Type = [IntType] int -# 1185| getVariable().getInitializer(): [Initializer] initializer for y -# 1185| getExpr(): [Literal] 0 -# 1185| Type = [IntType] int -# 1185| Value = [Literal] 0 -# 1185| ValueCategory = prvalue -# 1186| getStmt(1): [SwitchStmt] switch (...) ... -# 1186| getExpr(): [VariableAccess] x -# 1186| Type = [IntType] int -# 1186| ValueCategory = prvalue(load) -# 1186| getStmt(): [BlockStmt] { ... } -# 1187| getStmt(0): [SwitchCase] case ...: -# 1187| getExpr(): [Literal] 1 -# 1187| Type = [IntType] int -# 1187| Value = [Literal] 1 -# 1187| ValueCategory = prvalue -# 1188| getStmt(1): [ExprStmt] ExprStmt -# 1188| getExpr(): [AssignExpr] ... = ... -# 1188| Type = [IntType] int -# 1188| ValueCategory = lvalue -# 1188| getLValue(): [VariableAccess] y +# 1175| getDeclarationEntry(1): [FunctionDeclarationEntry] declaration of f +# 1175| Type = [IntType] int +# 1176| getStmt(3): [DeclStmt] declaration +# 1176| getDeclarationEntry(0): [FunctionDeclarationEntry] declaration of z +# 1176| Type = [IntType] int +# 1176| getDeclarationEntry(1): [FunctionDeclarationEntry] declaration of w +# 1176| Type = [IntType] int +# 1176| getDeclarationEntry(2): [VariableDeclarationEntry] definition of h +# 1176| Type = [IntType] int +# 1177| getStmt(4): [DeclStmt] declaration +# 1177| getDeclarationEntry(0): [TypeDeclarationEntry] declaration of d +# 1177| Type = [CTypedefType,LocalTypedefType] d +# 1178| getStmt(5): [ReturnStmt] return ... +# 1175| [TopLevelFunction] int f(float) +# 1175| : +# 1175| getParameter(0): [Parameter] (unnamed parameter 0) +# 1175| Type = [FloatType] float +# 1176| [TopLevelFunction] int z(float) +# 1176| : +# 1176| getParameter(0): [Parameter] (unnamed parameter 0) +# 1176| Type = [FloatType] float +# 1176| [TopLevelFunction] int w(float) +# 1176| : +# 1176| getParameter(0): [Parameter] (unnamed parameter 0) +# 1176| Type = [FloatType] float +# 1186| [TopLevelFunction] void ExternDeclarationsInMacro() +# 1186| : +# 1187| getEntryPoint(): [BlockStmt] { ... } +# 1188| getStmt(0): [DeclStmt] declaration +# 1188| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of g +# 1188| Type = [IntType] int +# 1188| getStmt(1): [ForStmt] for(...;...;...) ... +# 1188| getInitialization(): [DeclStmt] declaration +# 1188| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 1188| Type = [IntType] int +# 1188| getVariable().getInitializer(): [Initializer] initializer for i +# 1188| getExpr(): [Literal] 0 # 1188| Type = [IntType] int -# 1188| ValueCategory = lvalue -# 1188| getRValue(): [Literal] 2 -# 1188| Type = [IntType] int -# 1188| Value = [Literal] 2 +# 1188| Value = [Literal] 0 # 1188| ValueCategory = prvalue -# 1190| getStmt(2): [DeclStmt] declaration -# 1190| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1190| Type = [IntType] int -# 1190| getVariable().getInitializer(): [Initializer] initializer for z -# 1190| getExpr(): [VariableAccess] y -# 1190| Type = [IntType] int -# 1190| ValueCategory = prvalue(load) -# 1191| getStmt(3): [ReturnStmt] return ... -# 1193| [TopLevelFunction] void switch2Case_fallthrough(int) -# 1193| : -# 1193| getParameter(0): [Parameter] x -# 1193| Type = [IntType] int -# 1193| getEntryPoint(): [BlockStmt] { ... } -# 1194| getStmt(0): [DeclStmt] declaration -# 1194| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1194| Type = [IntType] int -# 1194| getVariable().getInitializer(): [Initializer] initializer for y -# 1194| getExpr(): [Literal] 0 -# 1194| Type = [IntType] int -# 1194| Value = [Literal] 0 -# 1194| ValueCategory = prvalue -# 1195| getStmt(1): [SwitchStmt] switch (...) ... -# 1195| getExpr(): [VariableAccess] x -# 1195| Type = [IntType] int -# 1195| ValueCategory = prvalue(load) -# 1195| getStmt(): [BlockStmt] { ... } -# 1196| getStmt(0): [SwitchCase] case ...: -# 1196| getExpr(): [Literal] 1 -# 1196| Type = [IntType] int -# 1196| Value = [Literal] 1 -# 1196| ValueCategory = prvalue -# 1197| getStmt(1): [ExprStmt] ExprStmt -# 1197| getExpr(): [AssignExpr] ... = ... -# 1197| Type = [IntType] int -# 1197| ValueCategory = lvalue -# 1197| getLValue(): [VariableAccess] y -# 1197| Type = [IntType] int -# 1197| ValueCategory = lvalue -# 1197| getRValue(): [Literal] 2 -# 1197| Type = [IntType] int -# 1197| Value = [Literal] 2 +# 1188| getCondition(): [LTExpr] ... < ... +# 1188| Type = [BoolType] bool +# 1188| ValueCategory = prvalue +# 1188| getLesserOperand(): [VariableAccess] i +# 1188| Type = [IntType] int +# 1188| ValueCategory = prvalue(load) +# 1188| getGreaterOperand(): [Literal] 10 +# 1188| Type = [IntType] int +# 1188| Value = [Literal] 10 +# 1188| ValueCategory = prvalue +# 1188| getUpdate(): [PrefixIncrExpr] ++ ... +# 1188| Type = [IntType] int +# 1188| ValueCategory = lvalue +# 1188| getOperand(): [VariableAccess] i +# 1188| Type = [IntType] int +# 1188| ValueCategory = lvalue +# 1188| getStmt(): [BlockStmt] { ... } +# 1188| getStmt(0): [DeclStmt] declaration +# 1188| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of g +# 1188| Type = [IntType] int +# 1188| getStmt(2): [EmptyStmt] ; +# 1189| getStmt(3): [ReturnStmt] return ... +# 1191| [TopLevelFunction] void TryCatchNoCatchAny(bool) +# 1191| : +# 1191| getParameter(0): [Parameter] b +# 1191| Type = [BoolType] bool +# 1191| getEntryPoint(): [BlockStmt] { ... } +# 1192| getStmt(0): [TryStmt] try { ... } +# 1192| getStmt(): [BlockStmt] { ... } +# 1193| getStmt(0): [DeclStmt] declaration +# 1193| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1193| Type = [IntType] int +# 1193| getVariable().getInitializer(): [Initializer] initializer for x +# 1193| getExpr(): [Literal] 5 +# 1193| Type = [IntType] int +# 1193| Value = [Literal] 5 +# 1193| ValueCategory = prvalue +# 1194| getStmt(1): [IfStmt] if (...) ... +# 1194| getCondition(): [VariableAccess] b +# 1194| Type = [BoolType] bool +# 1194| ValueCategory = prvalue(load) +# 1194| getThen(): [BlockStmt] { ... } +# 1195| getStmt(0): [ExprStmt] ExprStmt +# 1195| getExpr(): [ThrowExpr] throw ... +# 1195| Type = [PointerType] const char * +# 1195| ValueCategory = prvalue +# 1195| getExpr(): string literal +# 1195| Type = [ArrayType] const char[15] +# 1195| Value = [StringLiteral] "string literal" +# 1195| ValueCategory = lvalue +# 1195| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1195| Type = [PointerType] const char * +# 1195| ValueCategory = prvalue +# 1197| getElse(): [IfStmt] if (...) ... +# 1197| getCondition(): [LTExpr] ... < ... +# 1197| Type = [BoolType] bool # 1197| ValueCategory = prvalue -# 1198| getStmt(2): [SwitchCase] case ...: -# 1198| getExpr(): [Literal] 2 -# 1198| Type = [IntType] int -# 1198| Value = [Literal] 2 -# 1198| ValueCategory = prvalue -# 1199| getStmt(3): [ExprStmt] ExprStmt -# 1199| getExpr(): [AssignExpr] ... = ... -# 1199| Type = [IntType] int -# 1199| ValueCategory = lvalue -# 1199| getLValue(): [VariableAccess] y -# 1199| Type = [IntType] int -# 1199| ValueCategory = lvalue -# 1199| getRValue(): [Literal] 3 -# 1199| Type = [IntType] int -# 1199| Value = [Literal] 3 -# 1199| ValueCategory = prvalue -# 1201| getStmt(2): [DeclStmt] declaration -# 1201| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1201| Type = [IntType] int -# 1201| getVariable().getInitializer(): [Initializer] initializer for z -# 1201| getExpr(): [VariableAccess] y -# 1201| Type = [IntType] int -# 1201| ValueCategory = prvalue(load) -# 1202| getStmt(3): [ReturnStmt] return ... -# 1204| [TopLevelFunction] void switch2Case(int) -# 1204| : -# 1204| getParameter(0): [Parameter] x -# 1204| Type = [IntType] int -# 1204| getEntryPoint(): [BlockStmt] { ... } -# 1205| getStmt(0): [DeclStmt] declaration -# 1205| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1205| Type = [IntType] int -# 1205| getVariable().getInitializer(): [Initializer] initializer for y -# 1205| getExpr(): [Literal] 0 -# 1205| Type = [IntType] int -# 1205| Value = [Literal] 0 -# 1205| ValueCategory = prvalue -# 1206| getStmt(1): [SwitchStmt] switch (...) ... -# 1206| getExpr(): [VariableAccess] x -# 1206| Type = [IntType] int -# 1206| ValueCategory = prvalue(load) -# 1206| getStmt(): [BlockStmt] { ... } -# 1207| getStmt(0): [SwitchCase] case ...: -# 1207| getExpr(): [Literal] 1 -# 1207| Type = [IntType] int -# 1207| Value = [Literal] 1 -# 1207| ValueCategory = prvalue -# 1208| getStmt(1): [ExprStmt] ExprStmt -# 1208| getExpr(): [AssignExpr] ... = ... -# 1208| Type = [IntType] int -# 1208| ValueCategory = lvalue -# 1208| getLValue(): [VariableAccess] y -# 1208| Type = [IntType] int -# 1208| ValueCategory = lvalue -# 1208| getRValue(): [Literal] 2 -# 1208| Type = [IntType] int -# 1208| Value = [Literal] 2 -# 1208| ValueCategory = prvalue -# 1209| getStmt(2): [BreakStmt] break; -# 1210| getStmt(3): [SwitchCase] case ...: -# 1210| getExpr(): [Literal] 2 -# 1210| Type = [IntType] int -# 1210| Value = [Literal] 2 -# 1210| ValueCategory = prvalue -# 1211| getStmt(4): [ExprStmt] ExprStmt -# 1211| getExpr(): [AssignExpr] ... = ... -# 1211| Type = [IntType] int -# 1211| ValueCategory = lvalue -# 1211| getLValue(): [VariableAccess] y -# 1211| Type = [IntType] int -# 1211| ValueCategory = lvalue -# 1211| getRValue(): [Literal] 3 -# 1211| Type = [IntType] int -# 1211| Value = [Literal] 3 -# 1211| ValueCategory = prvalue -# 1212| getStmt(2): [LabelStmt] label ...: -# 1213| getStmt(3): [DeclStmt] declaration -# 1213| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1197| getLesserOperand(): [VariableAccess] x +# 1197| Type = [IntType] int +# 1197| ValueCategory = prvalue(load) +# 1197| getGreaterOperand(): [Literal] 2 +# 1197| Type = [IntType] int +# 1197| Value = [Literal] 2 +# 1197| ValueCategory = prvalue +# 1197| getThen(): [BlockStmt] { ... } +# 1198| getStmt(0): [ExprStmt] ExprStmt +# 1198| getExpr(): [AssignExpr] ... = ... +# 1198| Type = [IntType] int +# 1198| ValueCategory = lvalue +# 1198| getLValue(): [VariableAccess] x +# 1198| Type = [IntType] int +# 1198| ValueCategory = lvalue +# 1198| getRValue(): [ConditionalExpr] ... ? ... : ... +# 1198| Type = [IntType] int +# 1198| ValueCategory = prvalue +# 1198| getCondition(): [VariableAccess] b +# 1198| Type = [BoolType] bool +# 1198| ValueCategory = prvalue(load) +# 1198| getThen(): [Literal] 7 +# 1198| Type = [IntType] int +# 1198| Value = [Literal] 7 +# 1198| ValueCategory = prvalue +# 1198| getElse(): [ThrowExpr] throw ... +# 1198| Type = [Struct] String +# 1198| ValueCategory = prvalue +# 1198| getExpr(): [ConstructorCall] call to String +# 1198| Type = [VoidType] void +# 1198| ValueCategory = prvalue +# 1198| getArgument(0): String object +# 1198| Type = [ArrayType] const char[14] +# 1198| Value = [StringLiteral] "String object" +# 1198| ValueCategory = lvalue +# 1198| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1198| Type = [PointerType] const char * +# 1198| ValueCategory = prvalue +# 1200| getStmt(2): [ExprStmt] ExprStmt +# 1200| getExpr(): [AssignExpr] ... = ... +# 1200| Type = [IntType] int +# 1200| ValueCategory = lvalue +# 1200| getLValue(): [VariableAccess] x +# 1200| Type = [IntType] int +# 1200| ValueCategory = lvalue +# 1200| getRValue(): [Literal] 7 +# 1200| Type = [IntType] int +# 1200| Value = [Literal] 7 +# 1200| ValueCategory = prvalue +# 1202| getChild(1): [Handler] +# 1202| getBlock(): [CatchBlock] { ... } +# 1203| getStmt(0): [ExprStmt] ExprStmt +# 1203| getExpr(): [ThrowExpr] throw ... +# 1203| Type = [Struct] String +# 1203| ValueCategory = prvalue +# 1203| getExpr(): [ConstructorCall] call to String +# 1203| Type = [VoidType] void +# 1203| ValueCategory = prvalue +# 1203| getArgument(0): [VariableAccess] s +# 1203| Type = [PointerType] const char * +# 1203| ValueCategory = prvalue(load) +# 1205| getChild(2): [Handler] +# 1205| getBlock(): [CatchBlock] { ... } +# 1207| getStmt(1): [ReturnStmt] return ... +# 1211| [TopLevelFunction] void VectorTypes(int) +# 1211| : +# 1211| getParameter(0): [Parameter] i +# 1211| Type = [IntType] int +# 1211| getEntryPoint(): [BlockStmt] { ... } +# 1212| getStmt(0): [DeclStmt] declaration +# 1212| getDeclarationEntry(0): [VariableDeclarationEntry] definition of vi4 +# 1212| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1212| getVariable().getInitializer(): [Initializer] initializer for vi4 +# 1212| getExpr(): [VectorAggregateLiteral] {...} +# 1212| Type = [GNUVectorType] __attribute((vector_size(16UL))) int +# 1212| ValueCategory = prvalue +# 1212| getAnElementExpr(0): [Literal] 0 +# 1212| Type = [IntType] int +# 1212| Value = [Literal] 0 +# 1212| ValueCategory = prvalue +# 1212| getAnElementExpr(1): [Literal] 1 +# 1212| Type = [IntType] int +# 1212| Value = [Literal] 1 +# 1212| ValueCategory = prvalue +# 1212| getAnElementExpr(2): [Literal] 2 +# 1212| Type = [IntType] int +# 1212| Value = [Literal] 2 +# 1212| ValueCategory = prvalue +# 1212| getAnElementExpr(3): [Literal] 3 +# 1212| Type = [IntType] int +# 1212| Value = [Literal] 3 +# 1212| ValueCategory = prvalue +# 1213| getStmt(1): [DeclStmt] declaration +# 1213| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x # 1213| Type = [IntType] int -# 1213| getVariable().getInitializer(): [Initializer] initializer for z -# 1213| getExpr(): [VariableAccess] y +# 1213| getVariable().getInitializer(): [Initializer] initializer for x +# 1213| getExpr(): [ArrayExpr] access to array # 1213| Type = [IntType] int # 1213| ValueCategory = prvalue(load) -# 1214| getStmt(4): [ReturnStmt] return ... -# 1216| [TopLevelFunction] void switch2Case_default(int) -# 1216| : -# 1216| getParameter(0): [Parameter] x -# 1216| Type = [IntType] int -# 1216| getEntryPoint(): [BlockStmt] { ... } -# 1217| getStmt(0): [DeclStmt] declaration -# 1217| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1217| Type = [IntType] int -# 1217| getVariable().getInitializer(): [Initializer] initializer for y -# 1217| getExpr(): [Literal] 0 -# 1217| Type = [IntType] int -# 1217| Value = [Literal] 0 -# 1217| ValueCategory = prvalue -# 1218| getStmt(1): [SwitchStmt] switch (...) ... -# 1218| getExpr(): [VariableAccess] x -# 1218| Type = [IntType] int -# 1218| ValueCategory = prvalue(load) -# 1218| getStmt(): [BlockStmt] { ... } -# 1219| getStmt(0): [SwitchCase] case ...: -# 1219| getExpr(): [Literal] 1 -# 1219| Type = [IntType] int -# 1219| Value = [Literal] 1 -# 1219| ValueCategory = prvalue -# 1220| getStmt(1): [ExprStmt] ExprStmt -# 1220| getExpr(): [AssignExpr] ... = ... -# 1220| Type = [IntType] int -# 1220| ValueCategory = lvalue -# 1220| getLValue(): [VariableAccess] y -# 1220| Type = [IntType] int -# 1220| ValueCategory = lvalue -# 1220| getRValue(): [Literal] 2 -# 1220| Type = [IntType] int -# 1220| Value = [Literal] 2 -# 1220| ValueCategory = prvalue -# 1221| getStmt(2): [BreakStmt] break; -# 1223| getStmt(3): [SwitchCase] case ...: -# 1223| getExpr(): [Literal] 2 +# 1213| getArrayBase(): [VariableAccess] vi4 +# 1213| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1213| ValueCategory = lvalue +# 1213| getArrayOffset(): [VariableAccess] i +# 1213| Type = [IntType] int +# 1213| ValueCategory = prvalue(load) +# 1214| getStmt(2): [ExprStmt] ExprStmt +# 1214| getExpr(): [AssignExpr] ... = ... +# 1214| Type = [IntType] int +# 1214| ValueCategory = lvalue +# 1214| getLValue(): [ArrayExpr] access to array +# 1214| Type = [IntType] int +# 1214| ValueCategory = lvalue +# 1214| getArrayBase(): [VariableAccess] vi4 +# 1214| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1214| ValueCategory = lvalue +# 1214| getArrayOffset(): [VariableAccess] i +# 1214| Type = [IntType] int +# 1214| ValueCategory = prvalue(load) +# 1214| getRValue(): [VariableAccess] x +# 1214| Type = [IntType] int +# 1214| ValueCategory = prvalue(load) +# 1215| getStmt(3): [DeclStmt] declaration +# 1215| getDeclarationEntry(0): [VariableDeclarationEntry] definition of vi4_shuffle +# 1215| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1215| getVariable().getInitializer(): [Initializer] initializer for vi4_shuffle +# 1215| getExpr(): [BuiltInOperationBuiltInShuffleVector] __builtin_shufflevector +# 1215| Type = [GNUVectorType] __attribute((vector_size(16))) int +# 1215| ValueCategory = prvalue +# 1215| getChild(0): [VariableAccess] vi4 +# 1215| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1215| ValueCategory = prvalue(load) +# 1215| getChild(1): [VariableAccess] vi4 +# 1215| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1215| ValueCategory = prvalue(load) +# 1215| getChild(2): [AddExpr] ... + ... +# 1215| Type = [IntType] int +# 1215| Value = [AddExpr] 3 +# 1215| ValueCategory = prvalue +# 1215| getLeftOperand(): [Literal] 3 +# 1215| Type = [IntType] int +# 1215| Value = [Literal] 3 +# 1215| ValueCategory = prvalue +# 1215| getRightOperand(): [Literal] 0 +# 1215| Type = [IntType] int +# 1215| Value = [Literal] 0 +# 1215| ValueCategory = prvalue +# 1215| getChild(3): [Literal] 2 +# 1215| Type = [IntType] int +# 1215| Value = [Literal] 2 +# 1215| ValueCategory = prvalue +# 1215| getChild(4): [Literal] 1 +# 1215| Type = [IntType] int +# 1215| Value = [Literal] 1 +# 1215| ValueCategory = prvalue +# 1215| getChild(5): [Literal] 0 +# 1215| Type = [IntType] int +# 1215| Value = [Literal] 0 +# 1215| ValueCategory = prvalue +# 1216| getStmt(4): [ExprStmt] ExprStmt +# 1216| getExpr(): [AssignExpr] ... = ... +# 1216| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1216| ValueCategory = lvalue +# 1216| getLValue(): [VariableAccess] vi4 +# 1216| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1216| ValueCategory = lvalue +# 1216| getRValue(): [AddExpr] ... + ... +# 1216| Type = [GNUVectorType] __attribute((vector_size(16UL))) int +# 1216| ValueCategory = prvalue +# 1216| getLeftOperand(): [VariableAccess] vi4 +# 1216| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1216| ValueCategory = prvalue(load) +# 1216| getRightOperand(): [VariableAccess] vi4_shuffle +# 1216| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1216| ValueCategory = prvalue(load) +# 1217| getStmt(5): [ReturnStmt] return ... +# 1219| [TopLevelFunction] void* memcpy(void*, void*, int) +# 1219| : +# 1219| getParameter(0): [Parameter] dst +# 1219| Type = [VoidPointerType] void * +# 1219| getParameter(1): [Parameter] src +# 1219| Type = [VoidPointerType] void * +# 1219| getParameter(2): [Parameter] size +# 1219| Type = [IntType] int +# 1221| [TopLevelFunction] int ModeledCallTarget(int) +# 1221| : +# 1221| getParameter(0): [Parameter] x +# 1221| Type = [IntType] int +# 1221| getEntryPoint(): [BlockStmt] { ... } +# 1222| getStmt(0): [DeclStmt] declaration +# 1222| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1222| Type = [IntType] int +# 1223| getStmt(1): [ExprStmt] ExprStmt +# 1223| getExpr(): [FunctionCall] call to memcpy +# 1223| Type = [VoidPointerType] void * +# 1223| ValueCategory = prvalue +# 1223| getArgument(0): [AddressOfExpr] & ... +# 1223| Type = [IntPointerType] int * +# 1223| ValueCategory = prvalue +# 1223| getOperand(): [VariableAccess] y # 1223| Type = [IntType] int -# 1223| Value = [Literal] 2 -# 1223| ValueCategory = prvalue -# 1224| getStmt(4): [ExprStmt] ExprStmt -# 1224| getExpr(): [AssignExpr] ... = ... -# 1224| Type = [IntType] int -# 1224| ValueCategory = lvalue -# 1224| getLValue(): [VariableAccess] y -# 1224| Type = [IntType] int -# 1224| ValueCategory = lvalue -# 1224| getRValue(): [Literal] 3 -# 1224| Type = [IntType] int -# 1224| Value = [Literal] 3 -# 1224| ValueCategory = prvalue -# 1225| getStmt(5): [BreakStmt] break; -# 1227| getStmt(6): [SwitchCase] default: -# 1228| getStmt(7): [ExprStmt] ExprStmt -# 1228| getExpr(): [AssignExpr] ... = ... -# 1228| Type = [IntType] int -# 1228| ValueCategory = lvalue -# 1228| getLValue(): [VariableAccess] y -# 1228| Type = [IntType] int -# 1228| ValueCategory = lvalue -# 1228| getRValue(): [Literal] 4 -# 1228| Type = [IntType] int -# 1228| Value = [Literal] 4 -# 1228| ValueCategory = prvalue -# 1229| getStmt(2): [LabelStmt] label ...: -# 1230| getStmt(3): [DeclStmt] declaration -# 1230| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1230| Type = [IntType] int -# 1230| getVariable().getInitializer(): [Initializer] initializer for z -# 1230| getExpr(): [VariableAccess] y -# 1230| Type = [IntType] int -# 1230| ValueCategory = prvalue(load) -# 1231| getStmt(4): [ReturnStmt] return ... -# 1233| [TopLevelFunction] int staticLocalInit(int) -# 1233| : -# 1233| getParameter(0): [Parameter] x -# 1233| Type = [IntType] int -# 1233| getEntryPoint(): [BlockStmt] { ... } -# 1234| getStmt(0): [DeclStmt] declaration -# 1234| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 1234| Type = [IntType] int -# 1234| getVariable().getInitializer(): [Initializer] initializer for a -# 1234| getExpr(): [Literal] 0 +# 1223| ValueCategory = lvalue +# 1223| getArgument(1): [AddressOfExpr] & ... +# 1223| Type = [IntPointerType] int * +# 1223| ValueCategory = prvalue +# 1223| getOperand(): [VariableAccess] x +# 1223| Type = [IntType] int +# 1223| ValueCategory = lvalue +# 1223| getArgument(2): [SizeofTypeOperator] sizeof(int) +# 1223| Type = [LongType] unsigned long +# 1223| Value = [SizeofTypeOperator] 4 +# 1223| ValueCategory = prvalue +# 1223| getArgument(0).getFullyConverted(): [CStyleCast] (void *)... +# 1223| Conversion = [PointerConversion] pointer conversion +# 1223| Type = [VoidPointerType] void * +# 1223| ValueCategory = prvalue +# 1223| getArgument(1).getFullyConverted(): [CStyleCast] (void *)... +# 1223| Conversion = [PointerConversion] pointer conversion +# 1223| Type = [VoidPointerType] void * +# 1223| ValueCategory = prvalue +# 1223| getArgument(2).getFullyConverted(): [CStyleCast] (int)... +# 1223| Conversion = [IntegralConversion] integral conversion +# 1223| Type = [IntType] int +# 1223| Value = [CStyleCast] 4 +# 1223| ValueCategory = prvalue +# 1224| getStmt(2): [ReturnStmt] return ... +# 1224| getExpr(): [VariableAccess] y +# 1224| Type = [IntType] int +# 1224| ValueCategory = prvalue(load) +# 1227| [TopLevelFunction] String ReturnObjectImpl() +# 1227| : +# 1227| getEntryPoint(): [BlockStmt] { ... } +# 1228| getStmt(0): [ReturnStmt] return ... +# 1228| getExpr(): [ConstructorCall] call to String +# 1228| Type = [VoidType] void +# 1228| ValueCategory = prvalue +# 1228| getArgument(0): foo +# 1228| Type = [ArrayType] const char[4] +# 1228| Value = [StringLiteral] "foo" +# 1228| ValueCategory = lvalue +# 1228| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1228| Type = [PointerType] const char * +# 1228| ValueCategory = prvalue +# 1231| [TopLevelFunction] void switch1Case(int) +# 1231| : +# 1231| getParameter(0): [Parameter] x +# 1231| Type = [IntType] int +# 1231| getEntryPoint(): [BlockStmt] { ... } +# 1232| getStmt(0): [DeclStmt] declaration +# 1232| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1232| Type = [IntType] int +# 1232| getVariable().getInitializer(): [Initializer] initializer for y +# 1232| getExpr(): [Literal] 0 +# 1232| Type = [IntType] int +# 1232| Value = [Literal] 0 +# 1232| ValueCategory = prvalue +# 1233| getStmt(1): [SwitchStmt] switch (...) ... +# 1233| getExpr(): [VariableAccess] x +# 1233| Type = [IntType] int +# 1233| ValueCategory = prvalue(load) +# 1233| getStmt(): [BlockStmt] { ... } +# 1234| getStmt(0): [SwitchCase] case ...: +# 1234| getExpr(): [Literal] 1 # 1234| Type = [IntType] int -# 1234| Value = [Literal] 0 +# 1234| Value = [Literal] 1 # 1234| ValueCategory = prvalue -# 1235| getStmt(1): [DeclStmt] declaration -# 1235| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 1235| Type = [IntType] int -# 1235| getVariable().getInitializer(): [Initializer] initializer for b -# 1235| getExpr(): [SizeofExprOperator] sizeof() -# 1235| Type = [LongType] unsigned long -# 1235| Value = [SizeofExprOperator] 4 -# 1235| ValueCategory = prvalue -# 1235| getExprOperand(): [VariableAccess] x -# 1235| Type = [IntType] int -# 1235| ValueCategory = lvalue -# 1235| getExprOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 1235| Type = [IntType] int -# 1235| ValueCategory = lvalue -# 1235| getExpr().getFullyConverted(): [CStyleCast] (int)... -# 1235| Conversion = [IntegralConversion] integral conversion +# 1235| getStmt(1): [ExprStmt] ExprStmt +# 1235| getExpr(): [AssignExpr] ... = ... # 1235| Type = [IntType] int -# 1235| Value = [CStyleCast] 4 -# 1235| ValueCategory = prvalue -# 1236| getStmt(2): [DeclStmt] declaration -# 1236| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1236| Type = [IntType] int -# 1236| getVariable().getInitializer(): [Initializer] initializer for c -# 1236| getExpr(): [VariableAccess] x -# 1236| Type = [IntType] int -# 1236| ValueCategory = prvalue(load) -# 1237| getStmt(3): [DeclStmt] declaration -# 1237| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 1235| ValueCategory = lvalue +# 1235| getLValue(): [VariableAccess] y +# 1235| Type = [IntType] int +# 1235| ValueCategory = lvalue +# 1235| getRValue(): [Literal] 2 +# 1235| Type = [IntType] int +# 1235| Value = [Literal] 2 +# 1235| ValueCategory = prvalue +# 1237| getStmt(2): [DeclStmt] declaration +# 1237| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z # 1237| Type = [IntType] int -# 1239| getStmt(4): [ReturnStmt] return ... -# 1239| getExpr(): [AddExpr] ... + ... -# 1239| Type = [IntType] int -# 1239| ValueCategory = prvalue -# 1239| getLeftOperand(): [AddExpr] ... + ... -# 1239| Type = [IntType] int -# 1239| ValueCategory = prvalue -# 1239| getLeftOperand(): [AddExpr] ... + ... -# 1239| Type = [IntType] int -# 1239| ValueCategory = prvalue -# 1239| getLeftOperand(): [VariableAccess] a -# 1239| Type = [IntType] int -# 1239| ValueCategory = prvalue(load) -# 1239| getRightOperand(): [VariableAccess] b -# 1239| Type = [IntType] int -# 1239| ValueCategory = prvalue(load) -# 1239| getRightOperand(): [VariableAccess] c -# 1239| Type = [IntType] int -# 1239| ValueCategory = prvalue(load) -# 1239| getRightOperand(): [VariableAccess] d -# 1239| Type = [IntType] int -# 1239| ValueCategory = prvalue(load) -# 1242| [TopLevelFunction] void staticLocalWithConstructor(char const*) -# 1242| : -# 1242| getParameter(0): [Parameter] dynamic -# 1242| Type = [PointerType] const char * -# 1242| getEntryPoint(): [BlockStmt] { ... } -# 1243| getStmt(0): [DeclStmt] declaration -# 1243| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 1243| Type = [Struct] String +# 1237| getVariable().getInitializer(): [Initializer] initializer for z +# 1237| getExpr(): [VariableAccess] y +# 1237| Type = [IntType] int +# 1237| ValueCategory = prvalue(load) +# 1238| getStmt(3): [ReturnStmt] return ... +# 1240| [TopLevelFunction] void switch2Case_fallthrough(int) +# 1240| : +# 1240| getParameter(0): [Parameter] x +# 1240| Type = [IntType] int +# 1240| getEntryPoint(): [BlockStmt] { ... } +# 1241| getStmt(0): [DeclStmt] declaration +# 1241| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1241| Type = [IntType] int +# 1241| getVariable().getInitializer(): [Initializer] initializer for y +# 1241| getExpr(): [Literal] 0 +# 1241| Type = [IntType] int +# 1241| Value = [Literal] 0 +# 1241| ValueCategory = prvalue +# 1242| getStmt(1): [SwitchStmt] switch (...) ... +# 1242| getExpr(): [VariableAccess] x +# 1242| Type = [IntType] int +# 1242| ValueCategory = prvalue(load) +# 1242| getStmt(): [BlockStmt] { ... } +# 1243| getStmt(0): [SwitchCase] case ...: +# 1243| getExpr(): [Literal] 1 +# 1243| Type = [IntType] int +# 1243| Value = [Literal] 1 +# 1243| ValueCategory = prvalue +# 1244| getStmt(1): [ExprStmt] ExprStmt +# 1244| getExpr(): [AssignExpr] ... = ... +# 1244| Type = [IntType] int +# 1244| ValueCategory = lvalue +# 1244| getLValue(): [VariableAccess] y +# 1244| Type = [IntType] int +# 1244| ValueCategory = lvalue +# 1244| getRValue(): [Literal] 2 +# 1244| Type = [IntType] int +# 1244| Value = [Literal] 2 +# 1244| ValueCategory = prvalue +# 1245| getStmt(2): [SwitchCase] case ...: +# 1245| getExpr(): [Literal] 2 +# 1245| Type = [IntType] int +# 1245| Value = [Literal] 2 +# 1245| ValueCategory = prvalue +# 1246| getStmt(3): [ExprStmt] ExprStmt +# 1246| getExpr(): [AssignExpr] ... = ... +# 1246| Type = [IntType] int +# 1246| ValueCategory = lvalue +# 1246| getLValue(): [VariableAccess] y +# 1246| Type = [IntType] int +# 1246| ValueCategory = lvalue +# 1246| getRValue(): [Literal] 3 +# 1246| Type = [IntType] int +# 1246| Value = [Literal] 3 +# 1246| ValueCategory = prvalue +# 1248| getStmt(2): [DeclStmt] declaration +# 1248| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1248| Type = [IntType] int +# 1248| getVariable().getInitializer(): [Initializer] initializer for z +# 1248| getExpr(): [VariableAccess] y +# 1248| Type = [IntType] int +# 1248| ValueCategory = prvalue(load) +# 1249| getStmt(3): [ReturnStmt] return ... +# 1251| [TopLevelFunction] void switch2Case(int) +# 1251| : +# 1251| getParameter(0): [Parameter] x +# 1251| Type = [IntType] int +# 1251| getEntryPoint(): [BlockStmt] { ... } +# 1252| getStmt(0): [DeclStmt] declaration +# 1252| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1252| Type = [IntType] int +# 1252| getVariable().getInitializer(): [Initializer] initializer for y +# 1252| getExpr(): [Literal] 0 +# 1252| Type = [IntType] int +# 1252| Value = [Literal] 0 +# 1252| ValueCategory = prvalue +# 1253| getStmt(1): [SwitchStmt] switch (...) ... +# 1253| getExpr(): [VariableAccess] x +# 1253| Type = [IntType] int +# 1253| ValueCategory = prvalue(load) +# 1253| getStmt(): [BlockStmt] { ... } +# 1254| getStmt(0): [SwitchCase] case ...: +# 1254| getExpr(): [Literal] 1 +# 1254| Type = [IntType] int +# 1254| Value = [Literal] 1 +# 1254| ValueCategory = prvalue +# 1255| getStmt(1): [ExprStmt] ExprStmt +# 1255| getExpr(): [AssignExpr] ... = ... +# 1255| Type = [IntType] int +# 1255| ValueCategory = lvalue +# 1255| getLValue(): [VariableAccess] y +# 1255| Type = [IntType] int +# 1255| ValueCategory = lvalue +# 1255| getRValue(): [Literal] 2 +# 1255| Type = [IntType] int +# 1255| Value = [Literal] 2 +# 1255| ValueCategory = prvalue +# 1256| getStmt(2): [BreakStmt] break; +# 1257| getStmt(3): [SwitchCase] case ...: +# 1257| getExpr(): [Literal] 2 +# 1257| Type = [IntType] int +# 1257| Value = [Literal] 2 +# 1257| ValueCategory = prvalue +# 1258| getStmt(4): [ExprStmt] ExprStmt +# 1258| getExpr(): [AssignExpr] ... = ... +# 1258| Type = [IntType] int +# 1258| ValueCategory = lvalue +# 1258| getLValue(): [VariableAccess] y +# 1258| Type = [IntType] int +# 1258| ValueCategory = lvalue +# 1258| getRValue(): [Literal] 3 +# 1258| Type = [IntType] int +# 1258| Value = [Literal] 3 +# 1258| ValueCategory = prvalue +# 1259| getStmt(2): [LabelStmt] label ...: +# 1260| getStmt(3): [DeclStmt] declaration +# 1260| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1260| Type = [IntType] int +# 1260| getVariable().getInitializer(): [Initializer] initializer for z +# 1260| getExpr(): [VariableAccess] y +# 1260| Type = [IntType] int +# 1260| ValueCategory = prvalue(load) +# 1261| getStmt(4): [ReturnStmt] return ... +# 1263| [TopLevelFunction] void switch2Case_default(int) +# 1263| : +# 1263| getParameter(0): [Parameter] x +# 1263| Type = [IntType] int +# 1263| getEntryPoint(): [BlockStmt] { ... } +# 1264| getStmt(0): [DeclStmt] declaration +# 1264| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1264| Type = [IntType] int +# 1264| getVariable().getInitializer(): [Initializer] initializer for y +# 1264| getExpr(): [Literal] 0 +# 1264| Type = [IntType] int +# 1264| Value = [Literal] 0 +# 1264| ValueCategory = prvalue +# 1265| getStmt(1): [SwitchStmt] switch (...) ... +# 1265| getExpr(): [VariableAccess] x +# 1265| Type = [IntType] int +# 1265| ValueCategory = prvalue(load) +# 1265| getStmt(): [BlockStmt] { ... } +# 1266| getStmt(0): [SwitchCase] case ...: +# 1266| getExpr(): [Literal] 1 +# 1266| Type = [IntType] int +# 1266| Value = [Literal] 1 +# 1266| ValueCategory = prvalue +# 1267| getStmt(1): [ExprStmt] ExprStmt +# 1267| getExpr(): [AssignExpr] ... = ... +# 1267| Type = [IntType] int +# 1267| ValueCategory = lvalue +# 1267| getLValue(): [VariableAccess] y +# 1267| Type = [IntType] int +# 1267| ValueCategory = lvalue +# 1267| getRValue(): [Literal] 2 +# 1267| Type = [IntType] int +# 1267| Value = [Literal] 2 +# 1267| ValueCategory = prvalue +# 1268| getStmt(2): [BreakStmt] break; +# 1270| getStmt(3): [SwitchCase] case ...: +# 1270| getExpr(): [Literal] 2 +# 1270| Type = [IntType] int +# 1270| Value = [Literal] 2 +# 1270| ValueCategory = prvalue +# 1271| getStmt(4): [ExprStmt] ExprStmt +# 1271| getExpr(): [AssignExpr] ... = ... +# 1271| Type = [IntType] int +# 1271| ValueCategory = lvalue +# 1271| getLValue(): [VariableAccess] y +# 1271| Type = [IntType] int +# 1271| ValueCategory = lvalue +# 1271| getRValue(): [Literal] 3 +# 1271| Type = [IntType] int +# 1271| Value = [Literal] 3 +# 1271| ValueCategory = prvalue +# 1272| getStmt(5): [BreakStmt] break; +# 1274| getStmt(6): [SwitchCase] default: +# 1275| getStmt(7): [ExprStmt] ExprStmt +# 1275| getExpr(): [AssignExpr] ... = ... +# 1275| Type = [IntType] int +# 1275| ValueCategory = lvalue +# 1275| getLValue(): [VariableAccess] y +# 1275| Type = [IntType] int +# 1275| ValueCategory = lvalue +# 1275| getRValue(): [Literal] 4 +# 1275| Type = [IntType] int +# 1275| Value = [Literal] 4 +# 1275| ValueCategory = prvalue +# 1276| getStmt(2): [LabelStmt] label ...: +# 1277| getStmt(3): [DeclStmt] declaration +# 1277| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1277| Type = [IntType] int +# 1277| getVariable().getInitializer(): [Initializer] initializer for z +# 1277| getExpr(): [VariableAccess] y +# 1277| Type = [IntType] int +# 1277| ValueCategory = prvalue(load) +# 1278| getStmt(4): [ReturnStmt] return ... +# 1280| [TopLevelFunction] int staticLocalInit(int) +# 1280| : +# 1280| getParameter(0): [Parameter] x +# 1280| Type = [IntType] int +# 1280| getEntryPoint(): [BlockStmt] { ... } +# 1281| getStmt(0): [DeclStmt] declaration +# 1281| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a +# 1281| Type = [IntType] int +# 1281| getVariable().getInitializer(): [Initializer] initializer for a +# 1281| getExpr(): [Literal] 0 +# 1281| Type = [IntType] int +# 1281| Value = [Literal] 0 +# 1281| ValueCategory = prvalue +# 1282| getStmt(1): [DeclStmt] declaration +# 1282| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 1282| Type = [IntType] int +# 1282| getVariable().getInitializer(): [Initializer] initializer for b +# 1282| getExpr(): [SizeofExprOperator] sizeof() +# 1282| Type = [LongType] unsigned long +# 1282| Value = [SizeofExprOperator] 4 +# 1282| ValueCategory = prvalue +# 1282| getExprOperand(): [VariableAccess] x +# 1282| Type = [IntType] int +# 1282| ValueCategory = lvalue +# 1282| getExprOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 1282| Type = [IntType] int +# 1282| ValueCategory = lvalue +# 1282| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 1282| Conversion = [IntegralConversion] integral conversion +# 1282| Type = [IntType] int +# 1282| Value = [CStyleCast] 4 +# 1282| ValueCategory = prvalue +# 1283| getStmt(2): [DeclStmt] declaration +# 1283| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 1283| Type = [IntType] int +# 1283| getVariable().getInitializer(): [Initializer] initializer for c +# 1283| getExpr(): [VariableAccess] x +# 1283| Type = [IntType] int +# 1283| ValueCategory = prvalue(load) +# 1284| getStmt(3): [DeclStmt] declaration +# 1284| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 1284| Type = [IntType] int +# 1286| getStmt(4): [ReturnStmt] return ... +# 1286| getExpr(): [AddExpr] ... + ... +# 1286| Type = [IntType] int +# 1286| ValueCategory = prvalue +# 1286| getLeftOperand(): [AddExpr] ... + ... +# 1286| Type = [IntType] int +# 1286| ValueCategory = prvalue +# 1286| getLeftOperand(): [AddExpr] ... + ... +# 1286| Type = [IntType] int +# 1286| ValueCategory = prvalue +# 1286| getLeftOperand(): [VariableAccess] a +# 1286| Type = [IntType] int +# 1286| ValueCategory = prvalue(load) +# 1286| getRightOperand(): [VariableAccess] b +# 1286| Type = [IntType] int +# 1286| ValueCategory = prvalue(load) +# 1286| getRightOperand(): [VariableAccess] c +# 1286| Type = [IntType] int +# 1286| ValueCategory = prvalue(load) +# 1286| getRightOperand(): [VariableAccess] d +# 1286| Type = [IntType] int +# 1286| ValueCategory = prvalue(load) +# 1289| [TopLevelFunction] void staticLocalWithConstructor(char const*) +# 1289| : +# 1289| getParameter(0): [Parameter] dynamic +# 1289| Type = [PointerType] const char * +# 1289| getEntryPoint(): [BlockStmt] { ... } +# 1290| getStmt(0): [DeclStmt] declaration +# 1290| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a +# 1290| Type = [Struct] String #-----| getVariable().getInitializer(): [Initializer] initializer for a #-----| getExpr(): [ConstructorCall] call to String #-----| Type = [VoidType] void #-----| ValueCategory = prvalue -# 1244| getStmt(1): [DeclStmt] declaration -# 1244| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 1244| Type = [Struct] String -# 1244| getVariable().getInitializer(): [Initializer] initializer for b -# 1244| getExpr(): [ConstructorCall] call to String -# 1244| Type = [VoidType] void -# 1244| ValueCategory = prvalue -# 1244| getArgument(0): static -# 1244| Type = [ArrayType] const char[7] -# 1244| Value = [StringLiteral] "static" -# 1244| ValueCategory = lvalue -# 1244| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1244| Type = [PointerType] const char * -# 1244| ValueCategory = prvalue -# 1245| getStmt(2): [DeclStmt] declaration -# 1245| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1245| Type = [Struct] String -# 1245| getVariable().getInitializer(): [Initializer] initializer for c -# 1245| getExpr(): [ConstructorCall] call to String -# 1245| Type = [VoidType] void -# 1245| ValueCategory = prvalue -# 1245| getArgument(0): [VariableAccess] dynamic -# 1245| Type = [PointerType] const char * -# 1245| ValueCategory = prvalue(load) -# 1246| getStmt(3): [ReturnStmt] return ... -# 1250| [TopLevelFunction] char* strcpy(char*, char const*) -# 1250| : -# 1250| getParameter(0): [Parameter] destination -# 1250| Type = [CharPointerType] char * -# 1250| getParameter(1): [Parameter] source -# 1250| Type = [PointerType] const char * -# 1251| [TopLevelFunction] char* strcat(char*, char const*) -# 1251| : -# 1251| getParameter(0): [Parameter] destination -# 1251| Type = [CharPointerType] char * -# 1251| getParameter(1): [Parameter] source -# 1251| Type = [PointerType] const char * -# 1253| [TopLevelFunction] void test_strings(char*, char*) -# 1253| : -# 1253| getParameter(0): [Parameter] s1 -# 1253| Type = [CharPointerType] char * -# 1253| getParameter(1): [Parameter] s2 -# 1253| Type = [CharPointerType] char * -# 1253| getEntryPoint(): [BlockStmt] { ... } -# 1254| getStmt(0): [DeclStmt] declaration -# 1254| getDeclarationEntry(0): [VariableDeclarationEntry] definition of buffer -# 1254| Type = [ArrayType] char[1024] -# 1254| getVariable().getInitializer(): [Initializer] initializer for buffer -# 1254| getExpr(): [ArrayAggregateLiteral] {...} -# 1254| Type = [ArrayType] char[1024] -# 1254| ValueCategory = prvalue -# 1254| getAnElementExpr(0): [Literal] 0 -# 1254| Type = [IntType] int -# 1254| Value = [Literal] 0 -# 1254| ValueCategory = prvalue -# 1254| getAnElementExpr(0).getFullyConverted(): [CStyleCast] (char)... -# 1254| Conversion = [IntegralConversion] integral conversion -# 1254| Type = [PlainCharType] char -# 1254| Value = [CStyleCast] 0 -# 1254| ValueCategory = prvalue -# 1256| getStmt(1): [ExprStmt] ExprStmt -# 1256| getExpr(): [FunctionCall] call to strcpy -# 1256| Type = [CharPointerType] char * -# 1256| ValueCategory = prvalue -# 1256| getArgument(0): [VariableAccess] buffer -# 1256| Type = [ArrayType] char[1024] -# 1256| ValueCategory = lvalue -# 1256| getArgument(1): [VariableAccess] s1 -# 1256| Type = [CharPointerType] char * -# 1256| ValueCategory = prvalue(load) -# 1256| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1256| Type = [CharPointerType] char * -# 1256| ValueCategory = prvalue -# 1256| getArgument(1).getFullyConverted(): [CStyleCast] (const char *)... -# 1256| Conversion = [PointerConversion] pointer conversion -# 1256| Type = [PointerType] const char * -# 1256| ValueCategory = prvalue -# 1257| getStmt(2): [ExprStmt] ExprStmt -# 1257| getExpr(): [FunctionCall] call to strcat -# 1257| Type = [CharPointerType] char * -# 1257| ValueCategory = prvalue -# 1257| getArgument(0): [VariableAccess] buffer -# 1257| Type = [ArrayType] char[1024] -# 1257| ValueCategory = lvalue -# 1257| getArgument(1): [VariableAccess] s2 -# 1257| Type = [CharPointerType] char * -# 1257| ValueCategory = prvalue(load) -# 1257| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1257| Type = [CharPointerType] char * -# 1257| ValueCategory = prvalue -# 1257| getArgument(1).getFullyConverted(): [CStyleCast] (const char *)... -# 1257| Conversion = [PointerConversion] pointer conversion -# 1257| Type = [PointerType] const char * -# 1257| ValueCategory = prvalue -# 1258| getStmt(3): [ReturnStmt] return ... -# 1260| [CopyAssignmentOperator] A& A::operator=(A const&) -# 1260| : +# 1291| getStmt(1): [DeclStmt] declaration +# 1291| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 1291| Type = [Struct] String +# 1291| getVariable().getInitializer(): [Initializer] initializer for b +# 1291| getExpr(): [ConstructorCall] call to String +# 1291| Type = [VoidType] void +# 1291| ValueCategory = prvalue +# 1291| getArgument(0): static +# 1291| Type = [ArrayType] const char[7] +# 1291| Value = [StringLiteral] "static" +# 1291| ValueCategory = lvalue +# 1291| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1291| Type = [PointerType] const char * +# 1291| ValueCategory = prvalue +# 1292| getStmt(2): [DeclStmt] declaration +# 1292| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 1292| Type = [Struct] String +# 1292| getVariable().getInitializer(): [Initializer] initializer for c +# 1292| getExpr(): [ConstructorCall] call to String +# 1292| Type = [VoidType] void +# 1292| ValueCategory = prvalue +# 1292| getArgument(0): [VariableAccess] dynamic +# 1292| Type = [PointerType] const char * +# 1292| ValueCategory = prvalue(load) +# 1293| getStmt(3): [ReturnStmt] return ... +# 1297| [TopLevelFunction] char* strcpy(char*, char const*) +# 1297| : +# 1297| getParameter(0): [Parameter] destination +# 1297| Type = [CharPointerType] char * +# 1297| getParameter(1): [Parameter] source +# 1297| Type = [PointerType] const char * +# 1298| [TopLevelFunction] char* strcat(char*, char const*) +# 1298| : +# 1298| getParameter(0): [Parameter] destination +# 1298| Type = [CharPointerType] char * +# 1298| getParameter(1): [Parameter] source +# 1298| Type = [PointerType] const char * +# 1300| [TopLevelFunction] void test_strings(char*, char*) +# 1300| : +# 1300| getParameter(0): [Parameter] s1 +# 1300| Type = [CharPointerType] char * +# 1300| getParameter(1): [Parameter] s2 +# 1300| Type = [CharPointerType] char * +# 1300| getEntryPoint(): [BlockStmt] { ... } +# 1301| getStmt(0): [DeclStmt] declaration +# 1301| getDeclarationEntry(0): [VariableDeclarationEntry] definition of buffer +# 1301| Type = [ArrayType] char[1024] +# 1301| getVariable().getInitializer(): [Initializer] initializer for buffer +# 1301| getExpr(): [ArrayAggregateLiteral] {...} +# 1301| Type = [ArrayType] char[1024] +# 1301| ValueCategory = prvalue +# 1301| getAnElementExpr(0): [Literal] 0 +# 1301| Type = [IntType] int +# 1301| Value = [Literal] 0 +# 1301| ValueCategory = prvalue +# 1301| getAnElementExpr(0).getFullyConverted(): [CStyleCast] (char)... +# 1301| Conversion = [IntegralConversion] integral conversion +# 1301| Type = [PlainCharType] char +# 1301| Value = [CStyleCast] 0 +# 1301| ValueCategory = prvalue +# 1303| getStmt(1): [ExprStmt] ExprStmt +# 1303| getExpr(): [FunctionCall] call to strcpy +# 1303| Type = [CharPointerType] char * +# 1303| ValueCategory = prvalue +# 1303| getArgument(0): [VariableAccess] buffer +# 1303| Type = [ArrayType] char[1024] +# 1303| ValueCategory = lvalue +# 1303| getArgument(1): [VariableAccess] s1 +# 1303| Type = [CharPointerType] char * +# 1303| ValueCategory = prvalue(load) +# 1303| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1303| Type = [CharPointerType] char * +# 1303| ValueCategory = prvalue +# 1303| getArgument(1).getFullyConverted(): [CStyleCast] (const char *)... +# 1303| Conversion = [PointerConversion] pointer conversion +# 1303| Type = [PointerType] const char * +# 1303| ValueCategory = prvalue +# 1304| getStmt(2): [ExprStmt] ExprStmt +# 1304| getExpr(): [FunctionCall] call to strcat +# 1304| Type = [CharPointerType] char * +# 1304| ValueCategory = prvalue +# 1304| getArgument(0): [VariableAccess] buffer +# 1304| Type = [ArrayType] char[1024] +# 1304| ValueCategory = lvalue +# 1304| getArgument(1): [VariableAccess] s2 +# 1304| Type = [CharPointerType] char * +# 1304| ValueCategory = prvalue(load) +# 1304| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1304| Type = [CharPointerType] char * +# 1304| ValueCategory = prvalue +# 1304| getArgument(1).getFullyConverted(): [CStyleCast] (const char *)... +# 1304| Conversion = [PointerConversion] pointer conversion +# 1304| Type = [PointerType] const char * +# 1304| ValueCategory = prvalue +# 1305| getStmt(3): [ReturnStmt] return ... +# 1307| [CopyAssignmentOperator] A& A::operator=(A const&) +# 1307| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const A & -# 1260| [MoveAssignmentOperator] A& A::operator=(A&&) -# 1260| : +# 1307| [MoveAssignmentOperator] A& A::operator=(A&&) +# 1307| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] A && -# 1263| [MemberFunction] void A::static_member(A*, int) -# 1263| : -# 1263| getParameter(0): [Parameter] a -# 1263| Type = [PointerType] A * -# 1263| getParameter(1): [Parameter] x -# 1263| Type = [IntType] int -# 1263| getEntryPoint(): [BlockStmt] { ... } -# 1264| getStmt(0): [ExprStmt] ExprStmt -# 1264| getExpr(): [AssignExpr] ... = ... -# 1264| Type = [IntType] int -# 1264| ValueCategory = lvalue -# 1264| getLValue(): [PointerFieldAccess] member -# 1264| Type = [IntType] int -# 1264| ValueCategory = lvalue -# 1264| getQualifier(): [VariableAccess] a -# 1264| Type = [PointerType] A * -# 1264| ValueCategory = prvalue(load) -# 1264| getRValue(): [VariableAccess] x -# 1264| Type = [IntType] int -# 1264| ValueCategory = prvalue(load) -# 1265| getStmt(1): [ReturnStmt] return ... -# 1267| [MemberFunction] void A::static_member_without_def() -# 1267| : -# 1270| [TopLevelFunction] A* getAnInstanceOfA() -# 1270| : -# 1272| [TopLevelFunction] void test_static_member_functions(int, A*) -# 1272| : -# 1272| getParameter(0): [Parameter] int_arg -# 1272| Type = [IntType] int -# 1272| getParameter(1): [Parameter] a_arg -# 1272| Type = [PointerType] A * -# 1272| getEntryPoint(): [BlockStmt] { ... } -# 1273| getStmt(0): [DeclStmt] declaration -# 1273| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1273| Type = [Class] C -# 1273| getVariable().getInitializer(): [Initializer] initializer for c -# 1273| getExpr(): [ConstructorCall] call to C -# 1273| Type = [VoidType] void -# 1273| ValueCategory = prvalue -# 1274| getStmt(1): [ExprStmt] ExprStmt -# 1274| getExpr(): [FunctionCall] call to StaticMemberFunction -# 1274| Type = [IntType] int -# 1274| ValueCategory = prvalue -# 1274| getQualifier(): [VariableAccess] c -# 1274| Type = [Class] C -# 1274| ValueCategory = lvalue -# 1274| getArgument(0): [Literal] 10 -# 1274| Type = [IntType] int -# 1274| Value = [Literal] 10 -# 1274| ValueCategory = prvalue -# 1275| getStmt(2): [ExprStmt] ExprStmt -# 1275| getExpr(): [FunctionCall] call to StaticMemberFunction -# 1275| Type = [IntType] int -# 1275| ValueCategory = prvalue -# 1275| getArgument(0): [Literal] 10 -# 1275| Type = [IntType] int -# 1275| Value = [Literal] 10 -# 1275| ValueCategory = prvalue -# 1277| getStmt(3): [DeclStmt] declaration -# 1277| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 1277| Type = [Struct] A -# 1278| getStmt(4): [ExprStmt] ExprStmt -# 1278| getExpr(): [FunctionCall] call to static_member -# 1278| Type = [VoidType] void -# 1278| ValueCategory = prvalue -# 1278| getQualifier(): [VariableAccess] a -# 1278| Type = [Struct] A -# 1278| ValueCategory = lvalue -# 1278| getArgument(0): [AddressOfExpr] & ... -# 1278| Type = [PointerType] A * -# 1278| ValueCategory = prvalue -# 1278| getOperand(): [VariableAccess] a -# 1278| Type = [Struct] A -# 1278| ValueCategory = lvalue -# 1278| getArgument(1): [VariableAccess] int_arg -# 1278| Type = [IntType] int -# 1278| ValueCategory = prvalue(load) -# 1279| getStmt(5): [ExprStmt] ExprStmt -# 1279| getExpr(): [FunctionCall] call to static_member -# 1279| Type = [VoidType] void -# 1279| ValueCategory = prvalue -# 1279| getArgument(0): [AddressOfExpr] & ... -# 1279| Type = [PointerType] A * -# 1279| ValueCategory = prvalue -# 1279| getOperand(): [VariableAccess] a -# 1279| Type = [Struct] A -# 1279| ValueCategory = lvalue -# 1279| getArgument(1): [VariableAccess] int_arg -# 1279| Type = [IntType] int -# 1279| ValueCategory = prvalue(load) -# 1281| getStmt(6): [ExprStmt] ExprStmt -# 1281| getExpr(): [FunctionCall] call to static_member -# 1281| Type = [VoidType] void -# 1281| ValueCategory = prvalue -# 1281| getQualifier(): [AddressOfExpr] & ... -# 1281| Type = [PointerType] A * -# 1281| ValueCategory = prvalue -# 1281| getOperand(): [VariableAccess] a -# 1281| Type = [Struct] A -# 1281| ValueCategory = lvalue -# 1281| getArgument(0): [VariableAccess] a_arg -# 1281| Type = [PointerType] A * -# 1281| ValueCategory = prvalue(load) -# 1281| getArgument(1): [AddExpr] ... + ... -# 1281| Type = [IntType] int -# 1281| ValueCategory = prvalue -# 1281| getLeftOperand(): [VariableAccess] int_arg -# 1281| Type = [IntType] int -# 1281| ValueCategory = prvalue(load) -# 1281| getRightOperand(): [Literal] 2 -# 1281| Type = [IntType] int -# 1281| Value = [Literal] 2 -# 1281| ValueCategory = prvalue -# 1281| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) -# 1281| Type = [PointerType] A * -# 1281| ValueCategory = prvalue -# 1282| getStmt(7): [ExprStmt] ExprStmt -# 1282| getExpr(): [FunctionCall] call to static_member -# 1282| Type = [VoidType] void -# 1282| ValueCategory = prvalue -# 1282| getQualifier(): [PointerDereferenceExpr] * ... -# 1282| Type = [Struct] A -# 1282| ValueCategory = lvalue -# 1282| getOperand(): [VariableAccess] a_arg -# 1282| Type = [PointerType] A * -# 1282| ValueCategory = prvalue(load) -# 1282| getArgument(0): [AddressOfExpr] & ... -# 1282| Type = [PointerType] A * -# 1282| ValueCategory = prvalue -# 1282| getOperand(): [VariableAccess] a -# 1282| Type = [Struct] A -# 1282| ValueCategory = lvalue -# 1282| getArgument(1): [Literal] 99 -# 1282| Type = [IntType] int -# 1282| Value = [Literal] 99 -# 1282| ValueCategory = prvalue -# 1282| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) -# 1282| Type = [Struct] A -# 1282| ValueCategory = lvalue -# 1283| getStmt(8): [ExprStmt] ExprStmt -# 1283| getExpr(): [FunctionCall] call to static_member -# 1283| Type = [VoidType] void -# 1283| ValueCategory = prvalue -# 1283| getQualifier(): [VariableAccess] a_arg -# 1283| Type = [PointerType] A * -# 1283| ValueCategory = prvalue(load) -# 1283| getArgument(0): [VariableAccess] a_arg -# 1283| Type = [PointerType] A * -# 1283| ValueCategory = prvalue(load) -# 1283| getArgument(1): [UnaryMinusExpr] - ... -# 1283| Type = [IntType] int -# 1283| Value = [UnaryMinusExpr] -1 -# 1283| ValueCategory = prvalue -# 1283| getOperand(): [Literal] 1 -# 1283| Type = [IntType] int -# 1283| Value = [Literal] 1 -# 1283| ValueCategory = prvalue -# 1285| getStmt(9): [ExprStmt] ExprStmt -# 1285| getExpr(): [FunctionCall] call to static_member_without_def -# 1285| Type = [VoidType] void -# 1285| ValueCategory = prvalue -# 1285| getQualifier(): [VariableAccess] a -# 1285| Type = [Struct] A -# 1285| ValueCategory = lvalue -# 1286| getStmt(10): [ExprStmt] ExprStmt -# 1286| getExpr(): [FunctionCall] call to static_member_without_def -# 1286| Type = [VoidType] void -# 1286| ValueCategory = prvalue -# 1288| getStmt(11): [ExprStmt] ExprStmt -# 1288| getExpr(): [FunctionCall] call to static_member_without_def -# 1288| Type = [VoidType] void -# 1288| ValueCategory = prvalue -# 1288| getQualifier(): [FunctionCall] call to getAnInstanceOfA -# 1288| Type = [PointerType] A * -# 1288| ValueCategory = prvalue -# 1289| getStmt(12): [ReturnStmt] return ... -# 1289| getImplicitDestructorCall(0): [DestructorCall] call to ~C -# 1289| Type = [VoidType] void -# 1289| ValueCategory = prvalue -# 1289| getQualifier(): [VariableAccess] c -# 1289| Type = [Class] C -# 1289| ValueCategory = lvalue -# 1291| [TopLevelFunction] int missingReturnValue(bool, int) -# 1291| : -# 1291| getParameter(0): [Parameter] b -# 1291| Type = [BoolType] bool -# 1291| getParameter(1): [Parameter] x -# 1291| Type = [IntType] int -# 1291| getEntryPoint(): [BlockStmt] { ... } -# 1292| getStmt(0): [IfStmt] if (...) ... -# 1292| getCondition(): [VariableAccess] b -# 1292| Type = [BoolType] bool -# 1292| ValueCategory = prvalue(load) -# 1292| getThen(): [BlockStmt] { ... } -# 1293| getStmt(0): [ReturnStmt] return ... -# 1293| getExpr(): [VariableAccess] x -# 1293| Type = [IntType] int -# 1293| ValueCategory = prvalue(load) -# 1295| getStmt(1): [ReturnStmt] return ... -# 1297| [TopLevelFunction] void returnVoid(int, int) -# 1297| : -# 1297| getParameter(0): [Parameter] x -# 1297| Type = [IntType] int -# 1297| getParameter(1): [Parameter] y -# 1297| Type = [IntType] int -# 1297| getEntryPoint(): [BlockStmt] { ... } -# 1298| getStmt(0): [ReturnStmt] return ... -# 1298| getExpr(): [FunctionCall] call to IntegerOps -# 1298| Type = [VoidType] void -# 1298| ValueCategory = prvalue -# 1298| getArgument(0): [VariableAccess] x -# 1298| Type = [IntType] int -# 1298| ValueCategory = prvalue(load) -# 1298| getArgument(1): [VariableAccess] y -# 1298| Type = [IntType] int -# 1298| ValueCategory = prvalue(load) -# 1301| [TopLevelFunction] void gccBinaryConditional(bool, int, long) -# 1301| : -# 1301| getParameter(0): [Parameter] b -# 1301| Type = [BoolType] bool -# 1301| getParameter(1): [Parameter] x -# 1301| Type = [IntType] int -# 1301| getParameter(2): [Parameter] y -# 1301| Type = [LongType] long -# 1301| getEntryPoint(): [BlockStmt] { ... } -# 1302| getStmt(0): [DeclStmt] declaration -# 1302| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1302| Type = [IntType] int -# 1302| getVariable().getInitializer(): [Initializer] initializer for z -# 1302| getExpr(): [VariableAccess] x -# 1302| Type = [IntType] int -# 1302| ValueCategory = prvalue(load) -# 1303| getStmt(1): [ExprStmt] ExprStmt -# 1303| getExpr(): [AssignExpr] ... = ... -# 1303| Type = [IntType] int -# 1303| ValueCategory = lvalue -# 1303| getLValue(): [VariableAccess] z -# 1303| Type = [IntType] int -# 1303| ValueCategory = lvalue -# 1303| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1303| Type = [IntType] int -# 1303| ValueCategory = prvalue(load) -# 1303| getCondition(): [VariableAccess] b -# 1303| Type = [BoolType] bool -# 1303| ValueCategory = prvalue(load) -# 1303| getElse(): [VariableAccess] x -# 1303| Type = [IntType] int -# 1303| ValueCategory = prvalue(load) -# 1304| getStmt(2): [ExprStmt] ExprStmt -# 1304| getExpr(): [AssignExpr] ... = ... -# 1304| Type = [IntType] int -# 1304| ValueCategory = lvalue -# 1304| getLValue(): [VariableAccess] z -# 1304| Type = [IntType] int -# 1304| ValueCategory = lvalue -# 1304| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1304| Type = [LongType] long -# 1304| ValueCategory = prvalue(load) -# 1304| getCondition(): [VariableAccess] b -# 1304| Type = [BoolType] bool -# 1304| ValueCategory = prvalue(load) -# 1304| getElse(): [VariableAccess] y -# 1304| Type = [LongType] long -# 1304| ValueCategory = prvalue(load) -# 1304| getRValue().getFullyConverted(): [CStyleCast] (int)... -# 1304| Conversion = [IntegralConversion] integral conversion -# 1304| Type = [IntType] int -# 1304| ValueCategory = prvalue -# 1305| getStmt(3): [ExprStmt] ExprStmt -# 1305| getExpr(): [AssignExpr] ... = ... -# 1305| Type = [IntType] int -# 1305| ValueCategory = lvalue -# 1305| getLValue(): [VariableAccess] z -# 1305| Type = [IntType] int -# 1305| ValueCategory = lvalue -# 1305| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1305| Type = [IntType] int -# 1305| ValueCategory = prvalue(load) -# 1305| getCondition(): [VariableAccess] x -# 1305| Type = [IntType] int -# 1305| ValueCategory = prvalue(load) -# 1305| getElse(): [VariableAccess] x -# 1305| Type = [IntType] int -# 1305| ValueCategory = prvalue(load) -# 1305| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1305| Conversion = [BoolConversion] conversion to bool -# 1305| Type = [BoolType] bool -# 1305| ValueCategory = prvalue -# 1306| getStmt(4): [ExprStmt] ExprStmt -# 1306| getExpr(): [AssignExpr] ... = ... -# 1306| Type = [IntType] int -# 1306| ValueCategory = lvalue -# 1306| getLValue(): [VariableAccess] z -# 1306| Type = [IntType] int -# 1306| ValueCategory = lvalue -# 1306| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1306| Type = [LongType] long -# 1306| ValueCategory = prvalue(load) -# 1306| getCondition(): [VariableAccess] x -# 1306| Type = [IntType] int -# 1306| ValueCategory = prvalue(load) -# 1306| getElse(): [VariableAccess] y -# 1306| Type = [LongType] long -# 1306| ValueCategory = prvalue(load) -# 1306| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1306| Conversion = [BoolConversion] conversion to bool -# 1306| Type = [BoolType] bool -# 1306| ValueCategory = prvalue -# 1306| getRValue().getFullyConverted(): [CStyleCast] (int)... -# 1306| Conversion = [IntegralConversion] integral conversion -# 1306| Type = [IntType] int -# 1306| ValueCategory = prvalue -# 1307| getStmt(5): [ExprStmt] ExprStmt -# 1307| getExpr(): [AssignExpr] ... = ... -# 1307| Type = [IntType] int -# 1307| ValueCategory = lvalue -# 1307| getLValue(): [VariableAccess] z -# 1307| Type = [IntType] int -# 1307| ValueCategory = lvalue -# 1307| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1307| Type = [LongType] long -# 1307| ValueCategory = prvalue(load) -# 1307| getCondition(): [VariableAccess] y -# 1307| Type = [LongType] long -# 1307| ValueCategory = prvalue(load) -# 1307| getElse(): [VariableAccess] x -# 1307| Type = [IntType] int -# 1307| ValueCategory = prvalue(load) -# 1307| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1307| Conversion = [BoolConversion] conversion to bool -# 1307| Type = [BoolType] bool -# 1307| ValueCategory = prvalue -# 1307| getElse().getFullyConverted(): [CStyleCast] (long)... -# 1307| Conversion = [IntegralConversion] integral conversion -# 1307| Type = [LongType] long -# 1307| ValueCategory = prvalue -# 1307| getRValue().getFullyConverted(): [CStyleCast] (int)... -# 1307| Conversion = [IntegralConversion] integral conversion -# 1307| Type = [IntType] int -# 1307| ValueCategory = prvalue -# 1308| getStmt(6): [ExprStmt] ExprStmt -# 1308| getExpr(): [AssignExpr] ... = ... -# 1308| Type = [IntType] int -# 1308| ValueCategory = lvalue -# 1308| getLValue(): [VariableAccess] z -# 1308| Type = [IntType] int -# 1308| ValueCategory = lvalue -# 1308| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1308| Type = [LongType] long -# 1308| ValueCategory = prvalue(load) -# 1308| getCondition(): [VariableAccess] y -# 1308| Type = [LongType] long -# 1308| ValueCategory = prvalue(load) -# 1308| getElse(): [VariableAccess] y -# 1308| Type = [LongType] long -# 1308| ValueCategory = prvalue(load) -# 1308| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1308| Conversion = [BoolConversion] conversion to bool -# 1308| Type = [BoolType] bool -# 1308| ValueCategory = prvalue -# 1308| getRValue().getFullyConverted(): [CStyleCast] (int)... -# 1308| Conversion = [IntegralConversion] integral conversion -# 1308| Type = [IntType] int -# 1308| ValueCategory = prvalue -# 1310| getStmt(7): [ExprStmt] ExprStmt -# 1310| getExpr(): [AssignExpr] ... = ... -# 1310| Type = [IntType] int -# 1310| ValueCategory = lvalue -# 1310| getLValue(): [VariableAccess] z -# 1310| Type = [IntType] int -# 1310| ValueCategory = lvalue -# 1310| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1310| Type = [IntType] int -# 1310| ValueCategory = prvalue(load) -# 1310| getCondition(): [LogicalOrExpr] ... || ... -# 1310| Type = [BoolType] bool -# 1310| ValueCategory = prvalue -# 1310| getLeftOperand(): [LogicalAndExpr] ... && ... -# 1310| Type = [BoolType] bool -# 1310| ValueCategory = prvalue -# 1310| getLeftOperand(): [VariableAccess] x -# 1310| Type = [IntType] int -# 1310| ValueCategory = prvalue(load) -# 1310| getRightOperand(): [VariableAccess] b -# 1310| Type = [BoolType] bool -# 1310| ValueCategory = prvalue(load) -# 1310| getLeftOperand().getFullyConverted(): [CStyleCast] (bool)... -# 1310| Conversion = [BoolConversion] conversion to bool -# 1310| Type = [BoolType] bool -# 1310| ValueCategory = prvalue -# 1310| getRightOperand(): [VariableAccess] y -# 1310| Type = [LongType] long -# 1310| ValueCategory = prvalue(load) -# 1310| getRightOperand().getFullyConverted(): [CStyleCast] (bool)... -# 1310| Conversion = [BoolConversion] conversion to bool -# 1310| Type = [BoolType] bool -# 1310| ValueCategory = prvalue -# 1310| getElse(): [VariableAccess] x -# 1310| Type = [IntType] int -# 1310| ValueCategory = prvalue(load) -# 1310| getCondition().getFullyConverted(): [ParenthesisExpr] (...) -# 1310| Type = [BoolType] bool -# 1310| ValueCategory = prvalue -# 1311| getStmt(8): [ReturnStmt] return ... -# 1313| [TopLevelFunction] bool predicateA() -# 1313| : -# 1314| [TopLevelFunction] bool predicateB() +# 1310| [MemberFunction] void A::static_member(A*, int) +# 1310| : +# 1310| getParameter(0): [Parameter] a +# 1310| Type = [PointerType] A * +# 1310| getParameter(1): [Parameter] x +# 1310| Type = [IntType] int +# 1310| getEntryPoint(): [BlockStmt] { ... } +# 1311| getStmt(0): [ExprStmt] ExprStmt +# 1311| getExpr(): [AssignExpr] ... = ... +# 1311| Type = [IntType] int +# 1311| ValueCategory = lvalue +# 1311| getLValue(): [PointerFieldAccess] member +# 1311| Type = [IntType] int +# 1311| ValueCategory = lvalue +# 1311| getQualifier(): [VariableAccess] a +# 1311| Type = [PointerType] A * +# 1311| ValueCategory = prvalue(load) +# 1311| getRValue(): [VariableAccess] x +# 1311| Type = [IntType] int +# 1311| ValueCategory = prvalue(load) +# 1312| getStmt(1): [ReturnStmt] return ... +# 1314| [MemberFunction] void A::static_member_without_def() # 1314| : -# 1316| [TopLevelFunction] int shortCircuitConditional(int, int) -# 1316| : -# 1316| getParameter(0): [Parameter] x -# 1316| Type = [IntType] int -# 1316| getParameter(1): [Parameter] y -# 1316| Type = [IntType] int -# 1316| getEntryPoint(): [BlockStmt] { ... } -# 1317| getStmt(0): [ReturnStmt] return ... -# 1317| getExpr(): [ConditionalExpr] ... ? ... : ... -# 1317| Type = [IntType] int -# 1317| ValueCategory = prvalue(load) -# 1317| getCondition(): [LogicalAndExpr] ... && ... -# 1317| Type = [BoolType] bool -# 1317| ValueCategory = prvalue -# 1317| getLeftOperand(): [FunctionCall] call to predicateA -# 1317| Type = [BoolType] bool -# 1317| ValueCategory = prvalue -# 1317| getRightOperand(): [FunctionCall] call to predicateB -# 1317| Type = [BoolType] bool -# 1317| ValueCategory = prvalue -# 1317| getThen(): [VariableAccess] x -# 1317| Type = [IntType] int -# 1317| ValueCategory = prvalue(load) -# 1317| getElse(): [VariableAccess] y -# 1317| Type = [IntType] int -# 1317| ValueCategory = prvalue(load) -# 1320| [Operator,TopLevelFunction] void* operator new(size_t, void*) -# 1320| : -# 1320| getParameter(0): [Parameter] (unnamed parameter 0) -# 1320| Type = [CTypedefType,Size_t] size_t -# 1320| getParameter(1): [Parameter] (unnamed parameter 1) -# 1320| Type = [VoidPointerType] void * -# 1322| [TopLevelFunction] void f(int*) -# 1322| : -# 1322| getParameter(0): [Parameter] p -# 1322| Type = [IntPointerType] int * -# 1323| getEntryPoint(): [BlockStmt] { ... } -# 1324| getStmt(0): [ExprStmt] ExprStmt -# 1324| getExpr(): [NewExpr] new -# 1324| Type = [IntPointerType] int * -# 1324| ValueCategory = prvalue -# 1324| getAllocatorCall(): [FunctionCall] call to operator new -# 1324| Type = [VoidPointerType] void * -# 1324| ValueCategory = prvalue -# 1324| getArgument(0): [ErrorExpr] -# 1324| Type = [LongType] unsigned long -# 1324| ValueCategory = prvalue -# 1324| getArgument(1): [VariableAccess] p -# 1324| Type = [IntPointerType] int * -# 1324| ValueCategory = prvalue(load) -# 1324| getArgument(1).getFullyConverted(): [CStyleCast] (void *)... -# 1324| Conversion = [PointerConversion] pointer conversion -# 1324| Type = [VoidPointerType] void * -# 1324| ValueCategory = prvalue -# 1325| getStmt(1): [ReturnStmt] return ... -# 1328| [FunctionTemplateInstantiation,TopLevelFunction] Point defaultConstruct() -# 1328| : -# 1328| getEntryPoint(): [BlockStmt] { ... } -# 1329| getStmt(0): [ReturnStmt] return ... -# 1329| getExpr(): [Literal] 0 -# 1329| Type = [Struct] Point -# 1329| Value = [Literal] 0 -# 1329| ValueCategory = prvalue -# 1328| [FunctionTemplateInstantiation,TopLevelFunction] String defaultConstruct() -# 1328| : -# 1328| getEntryPoint(): [BlockStmt] { ... } -# 1329| getStmt(0): [ReturnStmt] return ... -# 1329| getExpr(): [ConstructorCall] call to String +# 1317| [TopLevelFunction] A* getAnInstanceOfA() +# 1317| : +# 1319| [TopLevelFunction] void test_static_member_functions(int, A*) +# 1319| : +# 1319| getParameter(0): [Parameter] int_arg +# 1319| Type = [IntType] int +# 1319| getParameter(1): [Parameter] a_arg +# 1319| Type = [PointerType] A * +# 1319| getEntryPoint(): [BlockStmt] { ... } +# 1320| getStmt(0): [DeclStmt] declaration +# 1320| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 1320| Type = [Class] C +# 1320| getVariable().getInitializer(): [Initializer] initializer for c +# 1320| getExpr(): [ConstructorCall] call to C +# 1320| Type = [VoidType] void +# 1320| ValueCategory = prvalue +# 1321| getStmt(1): [ExprStmt] ExprStmt +# 1321| getExpr(): [FunctionCall] call to StaticMemberFunction +# 1321| Type = [IntType] int +# 1321| ValueCategory = prvalue +# 1321| getQualifier(): [VariableAccess] c +# 1321| Type = [Class] C +# 1321| ValueCategory = lvalue +# 1321| getArgument(0): [Literal] 10 +# 1321| Type = [IntType] int +# 1321| Value = [Literal] 10 +# 1321| ValueCategory = prvalue +# 1322| getStmt(2): [ExprStmt] ExprStmt +# 1322| getExpr(): [FunctionCall] call to StaticMemberFunction +# 1322| Type = [IntType] int +# 1322| ValueCategory = prvalue +# 1322| getArgument(0): [Literal] 10 +# 1322| Type = [IntType] int +# 1322| Value = [Literal] 10 +# 1322| ValueCategory = prvalue +# 1324| getStmt(3): [DeclStmt] declaration +# 1324| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a +# 1324| Type = [Struct] A +# 1325| getStmt(4): [ExprStmt] ExprStmt +# 1325| getExpr(): [FunctionCall] call to static_member +# 1325| Type = [VoidType] void +# 1325| ValueCategory = prvalue +# 1325| getQualifier(): [VariableAccess] a +# 1325| Type = [Struct] A +# 1325| ValueCategory = lvalue +# 1325| getArgument(0): [AddressOfExpr] & ... +# 1325| Type = [PointerType] A * +# 1325| ValueCategory = prvalue +# 1325| getOperand(): [VariableAccess] a +# 1325| Type = [Struct] A +# 1325| ValueCategory = lvalue +# 1325| getArgument(1): [VariableAccess] int_arg +# 1325| Type = [IntType] int +# 1325| ValueCategory = prvalue(load) +# 1326| getStmt(5): [ExprStmt] ExprStmt +# 1326| getExpr(): [FunctionCall] call to static_member +# 1326| Type = [VoidType] void +# 1326| ValueCategory = prvalue +# 1326| getArgument(0): [AddressOfExpr] & ... +# 1326| Type = [PointerType] A * +# 1326| ValueCategory = prvalue +# 1326| getOperand(): [VariableAccess] a +# 1326| Type = [Struct] A +# 1326| ValueCategory = lvalue +# 1326| getArgument(1): [VariableAccess] int_arg +# 1326| Type = [IntType] int +# 1326| ValueCategory = prvalue(load) +# 1328| getStmt(6): [ExprStmt] ExprStmt +# 1328| getExpr(): [FunctionCall] call to static_member +# 1328| Type = [VoidType] void +# 1328| ValueCategory = prvalue +# 1328| getQualifier(): [AddressOfExpr] & ... +# 1328| Type = [PointerType] A * +# 1328| ValueCategory = prvalue +# 1328| getOperand(): [VariableAccess] a +# 1328| Type = [Struct] A +# 1328| ValueCategory = lvalue +# 1328| getArgument(0): [VariableAccess] a_arg +# 1328| Type = [PointerType] A * +# 1328| ValueCategory = prvalue(load) +# 1328| getArgument(1): [AddExpr] ... + ... +# 1328| Type = [IntType] int +# 1328| ValueCategory = prvalue +# 1328| getLeftOperand(): [VariableAccess] int_arg +# 1328| Type = [IntType] int +# 1328| ValueCategory = prvalue(load) +# 1328| getRightOperand(): [Literal] 2 +# 1328| Type = [IntType] int +# 1328| Value = [Literal] 2 +# 1328| ValueCategory = prvalue +# 1328| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) +# 1328| Type = [PointerType] A * +# 1328| ValueCategory = prvalue +# 1329| getStmt(7): [ExprStmt] ExprStmt +# 1329| getExpr(): [FunctionCall] call to static_member # 1329| Type = [VoidType] void # 1329| ValueCategory = prvalue -# 1328| [TemplateFunction,TopLevelFunction] T defaultConstruct() -# 1328| : -# 1328| getEntryPoint(): [BlockStmt] { ... } -# 1329| getStmt(0): [ReturnStmt] return ... -# 1329| getExpr(): [Literal] 0 -# 1329| Type = [TemplateParameter] T -# 1329| Value = [Literal] 0 -# 1329| ValueCategory = prvalue -# 1329| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1329| Type = [TemplateParameter] T -# 1329| ValueCategory = prvalue(load) -# 1328| [FunctionTemplateInstantiation,TopLevelFunction] copy_constructor defaultConstruct() -# 1328| : -# 1328| getEntryPoint(): [BlockStmt] { ... } -# 1329| getStmt(0): [ReturnStmt] return ... -# 1329| getExpr(): [ConstructorCall] call to copy_constructor -# 1329| Type = [VoidType] void -# 1329| ValueCategory = prvalue -# 1328| [FunctionTemplateInstantiation,TopLevelFunction] destructor_only defaultConstruct() -# 1328| : -# 1328| getEntryPoint(): [BlockStmt] { ... } -# 1329| getStmt(0): [ReturnStmt] return ... -# 1329| getExpr(): [Literal] 0 -# 1329| Type = [Class] destructor_only -# 1329| Value = [Literal] 0 -# 1329| ValueCategory = prvalue -# 1332| [CopyAssignmentOperator] constructor_only& constructor_only::operator=(constructor_only const&) -# 1332| : +# 1329| getQualifier(): [PointerDereferenceExpr] * ... +# 1329| Type = [Struct] A +# 1329| ValueCategory = lvalue +# 1329| getOperand(): [VariableAccess] a_arg +# 1329| Type = [PointerType] A * +# 1329| ValueCategory = prvalue(load) +# 1329| getArgument(0): [AddressOfExpr] & ... +# 1329| Type = [PointerType] A * +# 1329| ValueCategory = prvalue +# 1329| getOperand(): [VariableAccess] a +# 1329| Type = [Struct] A +# 1329| ValueCategory = lvalue +# 1329| getArgument(1): [Literal] 99 +# 1329| Type = [IntType] int +# 1329| Value = [Literal] 99 +# 1329| ValueCategory = prvalue +# 1329| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) +# 1329| Type = [Struct] A +# 1329| ValueCategory = lvalue +# 1330| getStmt(8): [ExprStmt] ExprStmt +# 1330| getExpr(): [FunctionCall] call to static_member +# 1330| Type = [VoidType] void +# 1330| ValueCategory = prvalue +# 1330| getQualifier(): [VariableAccess] a_arg +# 1330| Type = [PointerType] A * +# 1330| ValueCategory = prvalue(load) +# 1330| getArgument(0): [VariableAccess] a_arg +# 1330| Type = [PointerType] A * +# 1330| ValueCategory = prvalue(load) +# 1330| getArgument(1): [UnaryMinusExpr] - ... +# 1330| Type = [IntType] int +# 1330| Value = [UnaryMinusExpr] -1 +# 1330| ValueCategory = prvalue +# 1330| getOperand(): [Literal] 1 +# 1330| Type = [IntType] int +# 1330| Value = [Literal] 1 +# 1330| ValueCategory = prvalue +# 1332| getStmt(9): [ExprStmt] ExprStmt +# 1332| getExpr(): [FunctionCall] call to static_member_without_def +# 1332| Type = [VoidType] void +# 1332| ValueCategory = prvalue +# 1332| getQualifier(): [VariableAccess] a +# 1332| Type = [Struct] A +# 1332| ValueCategory = lvalue +# 1333| getStmt(10): [ExprStmt] ExprStmt +# 1333| getExpr(): [FunctionCall] call to static_member_without_def +# 1333| Type = [VoidType] void +# 1333| ValueCategory = prvalue +# 1335| getStmt(11): [ExprStmt] ExprStmt +# 1335| getExpr(): [FunctionCall] call to static_member_without_def +# 1335| Type = [VoidType] void +# 1335| ValueCategory = prvalue +# 1335| getQualifier(): [FunctionCall] call to getAnInstanceOfA +# 1335| Type = [PointerType] A * +# 1335| ValueCategory = prvalue +# 1336| getStmt(12): [ReturnStmt] return ... +# 1336| getImplicitDestructorCall(0): [DestructorCall] call to ~C +# 1336| Type = [VoidType] void +# 1336| ValueCategory = prvalue +# 1336| getQualifier(): [VariableAccess] c +# 1336| Type = [Class] C +# 1336| ValueCategory = lvalue +# 1338| [TopLevelFunction] int missingReturnValue(bool, int) +# 1338| : +# 1338| getParameter(0): [Parameter] b +# 1338| Type = [BoolType] bool +# 1338| getParameter(1): [Parameter] x +# 1338| Type = [IntType] int +# 1338| getEntryPoint(): [BlockStmt] { ... } +# 1339| getStmt(0): [IfStmt] if (...) ... +# 1339| getCondition(): [VariableAccess] b +# 1339| Type = [BoolType] bool +# 1339| ValueCategory = prvalue(load) +# 1339| getThen(): [BlockStmt] { ... } +# 1340| getStmt(0): [ReturnStmt] return ... +# 1340| getExpr(): [VariableAccess] x +# 1340| Type = [IntType] int +# 1340| ValueCategory = prvalue(load) +# 1342| getStmt(1): [ReturnStmt] return ... +# 1344| [TopLevelFunction] void returnVoid(int, int) +# 1344| : +# 1344| getParameter(0): [Parameter] x +# 1344| Type = [IntType] int +# 1344| getParameter(1): [Parameter] y +# 1344| Type = [IntType] int +# 1344| getEntryPoint(): [BlockStmt] { ... } +# 1345| getStmt(0): [ReturnStmt] return ... +# 1345| getExpr(): [FunctionCall] call to IntegerOps +# 1345| Type = [VoidType] void +# 1345| ValueCategory = prvalue +# 1345| getArgument(0): [VariableAccess] x +# 1345| Type = [IntType] int +# 1345| ValueCategory = prvalue(load) +# 1345| getArgument(1): [VariableAccess] y +# 1345| Type = [IntType] int +# 1345| ValueCategory = prvalue(load) +# 1348| [TopLevelFunction] void gccBinaryConditional(bool, int, long) +# 1348| : +# 1348| getParameter(0): [Parameter] b +# 1348| Type = [BoolType] bool +# 1348| getParameter(1): [Parameter] x +# 1348| Type = [IntType] int +# 1348| getParameter(2): [Parameter] y +# 1348| Type = [LongType] long +# 1348| getEntryPoint(): [BlockStmt] { ... } +# 1349| getStmt(0): [DeclStmt] declaration +# 1349| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1349| Type = [IntType] int +# 1349| getVariable().getInitializer(): [Initializer] initializer for z +# 1349| getExpr(): [VariableAccess] x +# 1349| Type = [IntType] int +# 1349| ValueCategory = prvalue(load) +# 1350| getStmt(1): [ExprStmt] ExprStmt +# 1350| getExpr(): [AssignExpr] ... = ... +# 1350| Type = [IntType] int +# 1350| ValueCategory = lvalue +# 1350| getLValue(): [VariableAccess] z +# 1350| Type = [IntType] int +# 1350| ValueCategory = lvalue +# 1350| getRValue(): [ConditionalExpr] ... ? ... : ... +# 1350| Type = [IntType] int +# 1350| ValueCategory = prvalue(load) +# 1350| getCondition(): [VariableAccess] b +# 1350| Type = [BoolType] bool +# 1350| ValueCategory = prvalue(load) +# 1350| getElse(): [VariableAccess] x +# 1350| Type = [IntType] int +# 1350| ValueCategory = prvalue(load) +# 1351| getStmt(2): [ExprStmt] ExprStmt +# 1351| getExpr(): [AssignExpr] ... = ... +# 1351| Type = [IntType] int +# 1351| ValueCategory = lvalue +# 1351| getLValue(): [VariableAccess] z +# 1351| Type = [IntType] int +# 1351| ValueCategory = lvalue +# 1351| getRValue(): [ConditionalExpr] ... ? ... : ... +# 1351| Type = [LongType] long +# 1351| ValueCategory = prvalue(load) +# 1351| getCondition(): [VariableAccess] b +# 1351| Type = [BoolType] bool +# 1351| ValueCategory = prvalue(load) +# 1351| getElse(): [VariableAccess] y +# 1351| Type = [LongType] long +# 1351| ValueCategory = prvalue(load) +# 1351| getRValue().getFullyConverted(): [CStyleCast] (int)... +# 1351| Conversion = [IntegralConversion] integral conversion +# 1351| Type = [IntType] int +# 1351| ValueCategory = prvalue +# 1352| getStmt(3): [ExprStmt] ExprStmt +# 1352| getExpr(): [AssignExpr] ... = ... +# 1352| Type = [IntType] int +# 1352| ValueCategory = lvalue +# 1352| getLValue(): [VariableAccess] z +# 1352| Type = [IntType] int +# 1352| ValueCategory = lvalue +# 1352| getRValue(): [ConditionalExpr] ... ? ... : ... +# 1352| Type = [IntType] int +# 1352| ValueCategory = prvalue(load) +# 1352| getCondition(): [VariableAccess] x +# 1352| Type = [IntType] int +# 1352| ValueCategory = prvalue(load) +# 1352| getElse(): [VariableAccess] x +# 1352| Type = [IntType] int +# 1352| ValueCategory = prvalue(load) +# 1352| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 1352| Conversion = [BoolConversion] conversion to bool +# 1352| Type = [BoolType] bool +# 1352| ValueCategory = prvalue +# 1353| getStmt(4): [ExprStmt] ExprStmt +# 1353| getExpr(): [AssignExpr] ... = ... +# 1353| Type = [IntType] int +# 1353| ValueCategory = lvalue +# 1353| getLValue(): [VariableAccess] z +# 1353| Type = [IntType] int +# 1353| ValueCategory = lvalue +# 1353| getRValue(): [ConditionalExpr] ... ? ... : ... +# 1353| Type = [LongType] long +# 1353| ValueCategory = prvalue(load) +# 1353| getCondition(): [VariableAccess] x +# 1353| Type = [IntType] int +# 1353| ValueCategory = prvalue(load) +# 1353| getElse(): [VariableAccess] y +# 1353| Type = [LongType] long +# 1353| ValueCategory = prvalue(load) +# 1353| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 1353| Conversion = [BoolConversion] conversion to bool +# 1353| Type = [BoolType] bool +# 1353| ValueCategory = prvalue +# 1353| getRValue().getFullyConverted(): [CStyleCast] (int)... +# 1353| Conversion = [IntegralConversion] integral conversion +# 1353| Type = [IntType] int +# 1353| ValueCategory = prvalue +# 1354| getStmt(5): [ExprStmt] ExprStmt +# 1354| getExpr(): [AssignExpr] ... = ... +# 1354| Type = [IntType] int +# 1354| ValueCategory = lvalue +# 1354| getLValue(): [VariableAccess] z +# 1354| Type = [IntType] int +# 1354| ValueCategory = lvalue +# 1354| getRValue(): [ConditionalExpr] ... ? ... : ... +# 1354| Type = [LongType] long +# 1354| ValueCategory = prvalue(load) +# 1354| getCondition(): [VariableAccess] y +# 1354| Type = [LongType] long +# 1354| ValueCategory = prvalue(load) +# 1354| getElse(): [VariableAccess] x +# 1354| Type = [IntType] int +# 1354| ValueCategory = prvalue(load) +# 1354| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 1354| Conversion = [BoolConversion] conversion to bool +# 1354| Type = [BoolType] bool +# 1354| ValueCategory = prvalue +# 1354| getElse().getFullyConverted(): [CStyleCast] (long)... +# 1354| Conversion = [IntegralConversion] integral conversion +# 1354| Type = [LongType] long +# 1354| ValueCategory = prvalue +# 1354| getRValue().getFullyConverted(): [CStyleCast] (int)... +# 1354| Conversion = [IntegralConversion] integral conversion +# 1354| Type = [IntType] int +# 1354| ValueCategory = prvalue +# 1355| getStmt(6): [ExprStmt] ExprStmt +# 1355| getExpr(): [AssignExpr] ... = ... +# 1355| Type = [IntType] int +# 1355| ValueCategory = lvalue +# 1355| getLValue(): [VariableAccess] z +# 1355| Type = [IntType] int +# 1355| ValueCategory = lvalue +# 1355| getRValue(): [ConditionalExpr] ... ? ... : ... +# 1355| Type = [LongType] long +# 1355| ValueCategory = prvalue(load) +# 1355| getCondition(): [VariableAccess] y +# 1355| Type = [LongType] long +# 1355| ValueCategory = prvalue(load) +# 1355| getElse(): [VariableAccess] y +# 1355| Type = [LongType] long +# 1355| ValueCategory = prvalue(load) +# 1355| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 1355| Conversion = [BoolConversion] conversion to bool +# 1355| Type = [BoolType] bool +# 1355| ValueCategory = prvalue +# 1355| getRValue().getFullyConverted(): [CStyleCast] (int)... +# 1355| Conversion = [IntegralConversion] integral conversion +# 1355| Type = [IntType] int +# 1355| ValueCategory = prvalue +# 1357| getStmt(7): [ExprStmt] ExprStmt +# 1357| getExpr(): [AssignExpr] ... = ... +# 1357| Type = [IntType] int +# 1357| ValueCategory = lvalue +# 1357| getLValue(): [VariableAccess] z +# 1357| Type = [IntType] int +# 1357| ValueCategory = lvalue +# 1357| getRValue(): [ConditionalExpr] ... ? ... : ... +# 1357| Type = [IntType] int +# 1357| ValueCategory = prvalue(load) +# 1357| getCondition(): [LogicalOrExpr] ... || ... +# 1357| Type = [BoolType] bool +# 1357| ValueCategory = prvalue +# 1357| getLeftOperand(): [LogicalAndExpr] ... && ... +# 1357| Type = [BoolType] bool +# 1357| ValueCategory = prvalue +# 1357| getLeftOperand(): [VariableAccess] x +# 1357| Type = [IntType] int +# 1357| ValueCategory = prvalue(load) +# 1357| getRightOperand(): [VariableAccess] b +# 1357| Type = [BoolType] bool +# 1357| ValueCategory = prvalue(load) +# 1357| getLeftOperand().getFullyConverted(): [CStyleCast] (bool)... +# 1357| Conversion = [BoolConversion] conversion to bool +# 1357| Type = [BoolType] bool +# 1357| ValueCategory = prvalue +# 1357| getRightOperand(): [VariableAccess] y +# 1357| Type = [LongType] long +# 1357| ValueCategory = prvalue(load) +# 1357| getRightOperand().getFullyConverted(): [CStyleCast] (bool)... +# 1357| Conversion = [BoolConversion] conversion to bool +# 1357| Type = [BoolType] bool +# 1357| ValueCategory = prvalue +# 1357| getElse(): [VariableAccess] x +# 1357| Type = [IntType] int +# 1357| ValueCategory = prvalue(load) +# 1357| getCondition().getFullyConverted(): [ParenthesisExpr] (...) +# 1357| Type = [BoolType] bool +# 1357| ValueCategory = prvalue +# 1358| getStmt(8): [ReturnStmt] return ... +# 1360| [TopLevelFunction] bool predicateA() +# 1360| : +# 1361| [TopLevelFunction] bool predicateB() +# 1361| : +# 1363| [TopLevelFunction] int shortCircuitConditional(int, int) +# 1363| : +# 1363| getParameter(0): [Parameter] x +# 1363| Type = [IntType] int +# 1363| getParameter(1): [Parameter] y +# 1363| Type = [IntType] int +# 1363| getEntryPoint(): [BlockStmt] { ... } +# 1364| getStmt(0): [ReturnStmt] return ... +# 1364| getExpr(): [ConditionalExpr] ... ? ... : ... +# 1364| Type = [IntType] int +# 1364| ValueCategory = prvalue(load) +# 1364| getCondition(): [LogicalAndExpr] ... && ... +# 1364| Type = [BoolType] bool +# 1364| ValueCategory = prvalue +# 1364| getLeftOperand(): [FunctionCall] call to predicateA +# 1364| Type = [BoolType] bool +# 1364| ValueCategory = prvalue +# 1364| getRightOperand(): [FunctionCall] call to predicateB +# 1364| Type = [BoolType] bool +# 1364| ValueCategory = prvalue +# 1364| getThen(): [VariableAccess] x +# 1364| Type = [IntType] int +# 1364| ValueCategory = prvalue(load) +# 1364| getElse(): [VariableAccess] y +# 1364| Type = [IntType] int +# 1364| ValueCategory = prvalue(load) +# 1367| [Operator,TopLevelFunction] void* operator new(size_t, void*) +# 1367| : +# 1367| getParameter(0): [Parameter] (unnamed parameter 0) +# 1367| Type = [CTypedefType,Size_t] size_t +# 1367| getParameter(1): [Parameter] (unnamed parameter 1) +# 1367| Type = [VoidPointerType] void * +# 1369| [TopLevelFunction] void f(int*) +# 1369| : +# 1369| getParameter(0): [Parameter] p +# 1369| Type = [IntPointerType] int * +# 1370| getEntryPoint(): [BlockStmt] { ... } +# 1371| getStmt(0): [ExprStmt] ExprStmt +# 1371| getExpr(): [NewExpr] new +# 1371| Type = [IntPointerType] int * +# 1371| ValueCategory = prvalue +# 1371| getAllocatorCall(): [FunctionCall] call to operator new +# 1371| Type = [VoidPointerType] void * +# 1371| ValueCategory = prvalue +# 1371| getArgument(0): [ErrorExpr] +# 1371| Type = [LongType] unsigned long +# 1371| ValueCategory = prvalue +# 1371| getArgument(1): [VariableAccess] p +# 1371| Type = [IntPointerType] int * +# 1371| ValueCategory = prvalue(load) +# 1371| getArgument(1).getFullyConverted(): [CStyleCast] (void *)... +# 1371| Conversion = [PointerConversion] pointer conversion +# 1371| Type = [VoidPointerType] void * +# 1371| ValueCategory = prvalue +# 1372| getStmt(1): [ReturnStmt] return ... +# 1375| [FunctionTemplateInstantiation,TopLevelFunction] Point defaultConstruct() +# 1375| : +# 1375| getEntryPoint(): [BlockStmt] { ... } +# 1376| getStmt(0): [ReturnStmt] return ... +# 1376| getExpr(): [Literal] 0 +# 1376| Type = [Struct] Point +# 1376| Value = [Literal] 0 +# 1376| ValueCategory = prvalue +# 1375| [FunctionTemplateInstantiation,TopLevelFunction] String defaultConstruct() +# 1375| : +# 1375| getEntryPoint(): [BlockStmt] { ... } +# 1376| getStmt(0): [ReturnStmt] return ... +# 1376| getExpr(): [ConstructorCall] call to String +# 1376| Type = [VoidType] void +# 1376| ValueCategory = prvalue +# 1375| [TemplateFunction,TopLevelFunction] T defaultConstruct() +# 1375| : +# 1375| getEntryPoint(): [BlockStmt] { ... } +# 1376| getStmt(0): [ReturnStmt] return ... +# 1376| getExpr(): [Literal] 0 +# 1376| Type = [TemplateParameter] T +# 1376| Value = [Literal] 0 +# 1376| ValueCategory = prvalue +# 1376| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1376| Type = [TemplateParameter] T +# 1376| ValueCategory = prvalue(load) +# 1375| [FunctionTemplateInstantiation,TopLevelFunction] copy_constructor defaultConstruct() +# 1375| : +# 1375| getEntryPoint(): [BlockStmt] { ... } +# 1376| getStmt(0): [ReturnStmt] return ... +# 1376| getExpr(): [ConstructorCall] call to copy_constructor +# 1376| Type = [VoidType] void +# 1376| ValueCategory = prvalue +# 1375| [FunctionTemplateInstantiation,TopLevelFunction] destructor_only defaultConstruct() +# 1375| : +# 1375| getEntryPoint(): [BlockStmt] { ... } +# 1376| getStmt(0): [ReturnStmt] return ... +# 1376| getExpr(): [Literal] 0 +# 1376| Type = [Class] destructor_only +# 1376| Value = [Literal] 0 +# 1376| ValueCategory = prvalue +# 1379| [CopyAssignmentOperator] constructor_only& constructor_only::operator=(constructor_only const&) +# 1379| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const constructor_only & -# 1332| [MoveAssignmentOperator] constructor_only& constructor_only::operator=(constructor_only&&) -# 1332| : +# 1379| [MoveAssignmentOperator] constructor_only& constructor_only::operator=(constructor_only&&) +# 1379| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] constructor_only && -# 1332| [CopyConstructor] void constructor_only::constructor_only(constructor_only const&) -# 1332| : +# 1379| [CopyConstructor] void constructor_only::constructor_only(constructor_only const&) +# 1379| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const constructor_only & -# 1332| [MoveConstructor] void constructor_only::constructor_only(constructor_only&&) -# 1332| : +# 1379| [MoveConstructor] void constructor_only::constructor_only(constructor_only&&) +# 1379| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] constructor_only && -# 1337| [Constructor] void constructor_only::constructor_only(int) -# 1337| : -# 1337| getParameter(0): [Parameter] x -# 1337| Type = [IntType] int -# 1340| [CopyAssignmentOperator] copy_constructor& copy_constructor::operator=(copy_constructor const&) -# 1340| : +# 1384| [Constructor] void constructor_only::constructor_only(int) +# 1384| : +# 1384| getParameter(0): [Parameter] x +# 1384| Type = [IntType] int +# 1387| [CopyAssignmentOperator] copy_constructor& copy_constructor::operator=(copy_constructor const&) +# 1387| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const copy_constructor & -# 1345| [Constructor] void copy_constructor::copy_constructor() -# 1345| : -# 1346| [CopyConstructor] void copy_constructor::copy_constructor(copy_constructor const&) -# 1346| : -# 1346| getParameter(0): [Parameter] (unnamed parameter 0) -# 1346| Type = [LValueReferenceType] const copy_constructor & -# 1348| [MemberFunction] void copy_constructor::method() -# 1348| : -# 1351| [CopyAssignmentOperator] destructor_only& destructor_only::operator=(destructor_only const&) -# 1351| : +# 1392| [Constructor] void copy_constructor::copy_constructor() +# 1392| : +# 1393| [CopyConstructor] void copy_constructor::copy_constructor(copy_constructor const&) +# 1393| : +# 1393| getParameter(0): [Parameter] (unnamed parameter 0) +# 1393| Type = [LValueReferenceType] const copy_constructor & +# 1395| [MemberFunction] void copy_constructor::method() +# 1395| : +# 1398| [CopyAssignmentOperator] destructor_only& destructor_only::operator=(destructor_only const&) +# 1398| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const destructor_only & -# 1351| [Constructor] void destructor_only::destructor_only() -# 1351| : -# 1353| [Destructor] void destructor_only::~destructor_only() -# 1353| : -# 1355| [MemberFunction] void destructor_only::method() -# 1355| : -# 1359| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(Point const&) -# 1359| : -# 1359| getParameter(0): [Parameter] v -# 1359| Type = [LValueReferenceType] const Point & -# 1359| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(String const&) -# 1359| : -# 1359| getParameter(0): [Parameter] v -# 1359| Type = [LValueReferenceType] const String & -# 1359| [TemplateFunction,TopLevelFunction] void acceptRef(T const&) -# 1359| : -# 1359| getParameter(0): [Parameter] v -# 1359| Type = [LValueReferenceType] const T & -# 1359| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(copy_constructor const&) -# 1359| : -# 1359| getParameter(0): [Parameter] v -# 1359| Type = [LValueReferenceType] const copy_constructor & -# 1359| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(destructor_only const&) -# 1359| : -# 1359| getParameter(0): [Parameter] v -# 1359| Type = [LValueReferenceType] const destructor_only & -# 1362| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(Point) -# 1362| : -# 1362| getParameter(0): [Parameter] v -# 1362| Type = [Struct] Point -# 1362| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(String) -# 1362| : -# 1362| getParameter(0): [Parameter] v -# 1362| Type = [Struct] String -# 1362| [TemplateFunction,TopLevelFunction] void acceptValue(T) -# 1362| : -# 1362| getParameter(0): [Parameter] v -# 1362| Type = [TemplateParameter] T -# 1362| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(copy_constructor) -# 1362| : -# 1362| getParameter(0): [Parameter] v -# 1362| Type = [Class] copy_constructor -# 1362| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(destructor_only) -# 1362| : -# 1362| getParameter(0): [Parameter] v -# 1362| Type = [Class] destructor_only -# 1365| [FunctionTemplateInstantiation,TopLevelFunction] POD_Derived returnValue() -# 1365| : -# 1365| [FunctionTemplateInstantiation,TopLevelFunction] POD_Middle returnValue() -# 1365| : -# 1365| [FunctionTemplateInstantiation,TopLevelFunction] Point returnValue() -# 1365| : -# 1365| [FunctionTemplateInstantiation,TopLevelFunction] String returnValue() -# 1365| : -# 1365| [TemplateFunction,TopLevelFunction] T returnValue() -# 1365| : -# 1365| [FunctionTemplateInstantiation,TopLevelFunction] UnusualFields returnValue() -# 1365| : -# 1365| [FunctionTemplateInstantiation,TopLevelFunction] copy_constructor returnValue() -# 1365| : -# 1365| [FunctionTemplateInstantiation,TopLevelFunction] destructor_only returnValue() -# 1365| : -# 1367| [TopLevelFunction] void temporary_string() -# 1367| : -# 1367| getEntryPoint(): [BlockStmt] { ... } -# 1368| getStmt(0): [DeclStmt] declaration -# 1368| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 1368| Type = [Struct] String -# 1368| getVariable().getInitializer(): [Initializer] initializer for s -# 1368| getExpr(): [FunctionCall] call to returnValue -# 1368| Type = [Struct] String -# 1368| ValueCategory = prvalue -# 1369| getStmt(1): [DeclStmt] declaration -# 1369| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rs -# 1369| Type = [LValueReferenceType] const String & -# 1369| getVariable().getInitializer(): [Initializer] initializer for rs -# 1369| getExpr(): [FunctionCall] call to returnValue -# 1369| Type = [Struct] String -# 1369| ValueCategory = prvalue -# 1369| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1369| Type = [LValueReferenceType] const String & -# 1369| ValueCategory = prvalue -# 1369| getExpr(): [CStyleCast] (const String)... -# 1369| Conversion = [GlvalueConversion] glvalue conversion -# 1369| Type = [SpecifiedType] const String -# 1369| ValueCategory = lvalue -# 1369| getExpr(): [TemporaryObjectExpr] temporary object -# 1369| Type = [Struct] String -# 1369| ValueCategory = lvalue -# 1371| getStmt(2): [ExprStmt] ExprStmt -# 1371| getExpr(): [FunctionCall] call to acceptRef -# 1371| Type = [VoidType] void -# 1371| ValueCategory = prvalue -# 1371| getArgument(0): [VariableAccess] s -# 1371| Type = [Struct] String -# 1371| ValueCategory = lvalue -# 1371| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1371| Type = [LValueReferenceType] const String & -# 1371| ValueCategory = prvalue -# 1371| getExpr(): [CStyleCast] (const String)... -# 1371| Conversion = [GlvalueConversion] glvalue conversion -# 1371| Type = [SpecifiedType] const String -# 1371| ValueCategory = lvalue -# 1372| getStmt(3): [ExprStmt] ExprStmt -# 1372| getExpr(): [FunctionCall] call to acceptRef -# 1372| Type = [VoidType] void -# 1372| ValueCategory = prvalue -# 1372| getArgument(0): [ConstructorCall] call to String -# 1372| Type = [VoidType] void -# 1372| ValueCategory = prvalue -# 1372| getArgument(0): foo -# 1372| Type = [ArrayType] const char[4] -# 1372| Value = [StringLiteral] "foo" -# 1372| ValueCategory = lvalue -# 1372| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1372| Type = [PointerType] const char * -# 1372| ValueCategory = prvalue -# 1372| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1372| Type = [LValueReferenceType] const String & -# 1372| ValueCategory = prvalue -# 1372| getExpr(): [TemporaryObjectExpr] temporary object -# 1372| Type = [SpecifiedType] const String -# 1372| ValueCategory = lvalue -# 1373| getStmt(4): [ExprStmt] ExprStmt -# 1373| getExpr(): [FunctionCall] call to acceptValue -# 1373| Type = [VoidType] void -# 1373| ValueCategory = prvalue -# 1373| getArgument(0): [ConstructorCall] call to String -# 1373| Type = [VoidType] void -# 1373| ValueCategory = prvalue -# 1373| getArgument(0): [VariableAccess] s -# 1373| Type = [Struct] String -# 1373| ValueCategory = lvalue -# 1373| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1373| Type = [LValueReferenceType] const String & -# 1373| ValueCategory = prvalue -# 1373| getExpr(): [CStyleCast] (const String)... -# 1373| Conversion = [GlvalueConversion] glvalue conversion -# 1373| Type = [SpecifiedType] const String -# 1373| ValueCategory = lvalue -# 1373| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1373| Type = [Struct] String -# 1373| ValueCategory = lvalue -# 1374| getStmt(5): [ExprStmt] ExprStmt -# 1374| getExpr(): [FunctionCall] call to acceptValue -# 1374| Type = [VoidType] void -# 1374| ValueCategory = prvalue -# 1374| getArgument(0): [ConstructorCall] call to String -# 1374| Type = [VoidType] void -# 1374| ValueCategory = prvalue -# 1374| getArgument(0): foo -# 1374| Type = [ArrayType] const char[4] -# 1374| Value = [StringLiteral] "foo" -# 1374| ValueCategory = lvalue -# 1374| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1374| Type = [PointerType] const char * -# 1374| ValueCategory = prvalue -# 1374| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1374| Type = [Struct] String -# 1374| ValueCategory = lvalue -# 1375| getStmt(6): [ExprStmt] ExprStmt -# 1375| getExpr(): [FunctionCall] call to c_str -# 1375| Type = [PointerType] const char * -# 1375| ValueCategory = prvalue -# 1375| getQualifier(): [ConstructorCall] call to String -# 1375| Type = [VoidType] void -# 1375| ValueCategory = prvalue -# 1375| getQualifier().getFullyConverted(): [CStyleCast] (const String)... -# 1375| Conversion = [PrvalueAdjustmentConversion] prvalue adjustment conversion -# 1375| Type = [SpecifiedType] const String -# 1375| ValueCategory = prvalue -# 1375| getExpr(): [TemporaryObjectExpr] temporary object -# 1375| Type = [Struct] String -# 1375| ValueCategory = prvalue(load) -# 1376| getStmt(7): [ExprStmt] ExprStmt -# 1376| getExpr(): [FunctionCall] call to c_str -# 1376| Type = [PointerType] const char * -# 1376| ValueCategory = prvalue -# 1376| getQualifier(): [FunctionCall] call to returnValue -# 1376| Type = [Struct] String -# 1376| ValueCategory = prvalue -# 1376| getQualifier().getFullyConverted(): [CStyleCast] (const String)... -# 1376| Conversion = [PrvalueAdjustmentConversion] prvalue adjustment conversion -# 1376| Type = [SpecifiedType] const String -# 1376| ValueCategory = prvalue -# 1376| getExpr(): [TemporaryObjectExpr] temporary object -# 1376| Type = [Struct] String -# 1376| ValueCategory = prvalue(load) -# 1378| getStmt(8): [ExprStmt] ExprStmt -# 1378| getExpr(): [FunctionCall] call to defaultConstruct -# 1378| Type = [Struct] String -# 1378| ValueCategory = prvalue -# 1378| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1378| Type = [Struct] String -# 1378| ValueCategory = prvalue -# 1379| getStmt(9): [ReturnStmt] return ... -# 1379| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 1379| Type = [VoidType] void -# 1379| ValueCategory = prvalue -# 1379| getQualifier(): [VariableAccess] s -# 1379| Type = [Struct] String -# 1379| ValueCategory = lvalue -# 1381| [TopLevelFunction] void temporary_destructor_only() -# 1381| : -# 1381| getEntryPoint(): [BlockStmt] { ... } -# 1382| getStmt(0): [DeclStmt] declaration -# 1382| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 1382| Type = [Class] destructor_only -# 1382| getVariable().getInitializer(): [Initializer] initializer for d -# 1382| getExpr(): [FunctionCall] call to returnValue -# 1382| Type = [Class] destructor_only -# 1382| ValueCategory = prvalue -# 1383| getStmt(1): [DeclStmt] declaration -# 1383| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1383| Type = [LValueReferenceType] const destructor_only & -# 1383| getVariable().getInitializer(): [Initializer] initializer for rd -# 1383| getExpr(): [FunctionCall] call to returnValue -# 1383| Type = [Class] destructor_only -# 1383| ValueCategory = prvalue -# 1383| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1383| Type = [LValueReferenceType] const destructor_only & -# 1383| ValueCategory = prvalue -# 1383| getExpr(): [CStyleCast] (const destructor_only)... -# 1383| Conversion = [GlvalueConversion] glvalue conversion -# 1383| Type = [SpecifiedType] const destructor_only -# 1383| ValueCategory = lvalue -# 1383| getExpr(): [TemporaryObjectExpr] temporary object -# 1383| Type = [Class] destructor_only -# 1383| ValueCategory = lvalue -# 1384| getStmt(2): [DeclStmt] declaration -# 1384| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d2 -# 1384| Type = [Class] destructor_only -# 1385| getStmt(3): [ExprStmt] ExprStmt -# 1385| getExpr(): [FunctionCall] call to acceptRef -# 1385| Type = [VoidType] void -# 1385| ValueCategory = prvalue -# 1385| getArgument(0): [VariableAccess] d -# 1385| Type = [Class] destructor_only -# 1385| ValueCategory = lvalue -# 1385| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1385| Type = [LValueReferenceType] const destructor_only & -# 1385| ValueCategory = prvalue -# 1385| getExpr(): [CStyleCast] (const destructor_only)... -# 1385| Conversion = [GlvalueConversion] glvalue conversion -# 1385| Type = [SpecifiedType] const destructor_only -# 1385| ValueCategory = lvalue -# 1386| getStmt(4): [ExprStmt] ExprStmt -# 1386| getExpr(): [FunctionCall] call to acceptValue -# 1386| Type = [VoidType] void -# 1386| ValueCategory = prvalue -# 1386| getArgument(0): [VariableAccess] d -# 1386| Type = [Class] destructor_only -# 1386| ValueCategory = prvalue(load) -# 1386| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1386| Type = [Class] destructor_only -# 1386| ValueCategory = lvalue -# 1387| getStmt(5): [ExprStmt] ExprStmt -# 1387| getExpr(): [FunctionCall] call to method -# 1387| Type = [VoidType] void -# 1387| ValueCategory = prvalue -# 1387| getQualifier(): [Literal] 0 -# 1387| Type = [Class] destructor_only -# 1387| Value = [Literal] 0 -# 1387| ValueCategory = prvalue -# 1387| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1387| Type = [Class] destructor_only -# 1387| ValueCategory = prvalue(load) -# 1388| getStmt(6): [ExprStmt] ExprStmt -# 1388| getExpr(): [FunctionCall] call to method -# 1388| Type = [VoidType] void -# 1388| ValueCategory = prvalue -# 1388| getQualifier(): [FunctionCall] call to returnValue -# 1388| Type = [Class] destructor_only -# 1388| ValueCategory = prvalue -# 1388| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1388| Type = [Class] destructor_only -# 1388| ValueCategory = prvalue(load) -# 1390| getStmt(7): [ExprStmt] ExprStmt -# 1390| getExpr(): [FunctionCall] call to defaultConstruct -# 1390| Type = [Class] destructor_only -# 1390| ValueCategory = prvalue -# 1390| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1390| Type = [Class] destructor_only -# 1390| ValueCategory = prvalue -# 1391| getStmt(8): [ReturnStmt] return ... -# 1391| getImplicitDestructorCall(0): [DestructorCall] call to ~destructor_only -# 1391| Type = [VoidType] void -# 1391| ValueCategory = prvalue -# 1391| getQualifier(): [VariableAccess] d2 -# 1391| Type = [Class] destructor_only -# 1391| ValueCategory = lvalue -# 1391| getImplicitDestructorCall(1): [DestructorCall] call to ~destructor_only -# 1391| Type = [VoidType] void -# 1391| ValueCategory = prvalue -# 1391| getQualifier(): [VariableAccess] d -# 1391| Type = [Class] destructor_only -# 1391| ValueCategory = lvalue -# 1393| [TopLevelFunction] void temporary_copy_constructor() -# 1393| : -# 1393| getEntryPoint(): [BlockStmt] { ... } -# 1394| getStmt(0): [DeclStmt] declaration -# 1394| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 1394| Type = [Class] copy_constructor -# 1394| getVariable().getInitializer(): [Initializer] initializer for d -# 1394| getExpr(): [FunctionCall] call to returnValue -# 1394| Type = [Class] copy_constructor -# 1394| ValueCategory = prvalue -# 1395| getStmt(1): [DeclStmt] declaration -# 1395| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1395| Type = [LValueReferenceType] const copy_constructor & -# 1395| getVariable().getInitializer(): [Initializer] initializer for rd -# 1395| getExpr(): [FunctionCall] call to returnValue -# 1395| Type = [Class] copy_constructor -# 1395| ValueCategory = prvalue -# 1395| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1395| Type = [LValueReferenceType] const copy_constructor & -# 1395| ValueCategory = prvalue -# 1395| getExpr(): [CStyleCast] (const copy_constructor)... -# 1395| Conversion = [GlvalueConversion] glvalue conversion -# 1395| Type = [SpecifiedType] const copy_constructor -# 1395| ValueCategory = lvalue -# 1395| getExpr(): [TemporaryObjectExpr] temporary object -# 1395| Type = [Class] copy_constructor -# 1395| ValueCategory = lvalue -# 1396| getStmt(2): [DeclStmt] declaration -# 1396| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d2 -# 1396| Type = [Class] copy_constructor -# 1396| getVariable().getInitializer(): [Initializer] initializer for d2 -# 1396| getExpr(): [ConstructorCall] call to copy_constructor -# 1396| Type = [VoidType] void -# 1396| ValueCategory = prvalue -# 1397| getStmt(3): [ExprStmt] ExprStmt -# 1397| getExpr(): [FunctionCall] call to acceptRef -# 1397| Type = [VoidType] void -# 1397| ValueCategory = prvalue -# 1397| getArgument(0): [VariableAccess] d -# 1397| Type = [Class] copy_constructor -# 1397| ValueCategory = lvalue -# 1397| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1397| Type = [LValueReferenceType] const copy_constructor & -# 1397| ValueCategory = prvalue -# 1397| getExpr(): [CStyleCast] (const copy_constructor)... -# 1397| Conversion = [GlvalueConversion] glvalue conversion -# 1397| Type = [SpecifiedType] const copy_constructor -# 1397| ValueCategory = lvalue -# 1398| getStmt(4): [ExprStmt] ExprStmt -# 1398| getExpr(): [FunctionCall] call to acceptValue -# 1398| Type = [VoidType] void -# 1398| ValueCategory = prvalue -# 1398| getArgument(0): [ConstructorCall] call to copy_constructor -# 1398| Type = [VoidType] void -# 1398| ValueCategory = prvalue -# 1398| getArgument(0): [VariableAccess] d -# 1398| Type = [Class] copy_constructor -# 1398| ValueCategory = lvalue -# 1398| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1398| Type = [LValueReferenceType] const copy_constructor & -# 1398| ValueCategory = prvalue -# 1398| getExpr(): [CStyleCast] (const copy_constructor)... -# 1398| Conversion = [GlvalueConversion] glvalue conversion -# 1398| Type = [SpecifiedType] const copy_constructor -# 1398| ValueCategory = lvalue -# 1398| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1398| Type = [Class] copy_constructor -# 1398| ValueCategory = lvalue -# 1399| getStmt(5): [ExprStmt] ExprStmt -# 1399| getExpr(): [FunctionCall] call to method -# 1399| Type = [VoidType] void -# 1399| ValueCategory = prvalue -# 1399| getQualifier(): [ConstructorCall] call to copy_constructor -# 1399| Type = [VoidType] void -# 1399| ValueCategory = prvalue -# 1399| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1399| Type = [Class] copy_constructor -# 1399| ValueCategory = prvalue(load) -# 1400| getStmt(6): [ExprStmt] ExprStmt -# 1400| getExpr(): [FunctionCall] call to method -# 1400| Type = [VoidType] void -# 1400| ValueCategory = prvalue -# 1400| getQualifier(): [FunctionCall] call to returnValue -# 1400| Type = [Class] copy_constructor -# 1400| ValueCategory = prvalue -# 1400| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1400| Type = [Class] copy_constructor -# 1400| ValueCategory = prvalue(load) -# 1401| getStmt(7): [ExprStmt] ExprStmt -# 1401| getExpr(): [FunctionCall] call to defaultConstruct -# 1401| Type = [Class] copy_constructor -# 1401| ValueCategory = prvalue -# 1401| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1401| Type = [Class] copy_constructor -# 1401| ValueCategory = prvalue -# 1403| getStmt(8): [DeclStmt] declaration -# 1403| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1403| Type = [IntType] int -# 1403| getVariable().getInitializer(): [Initializer] initializer for y -# 1403| getExpr(): [ValueFieldAccess] y -# 1403| Type = [IntType] int -# 1403| ValueCategory = prvalue -# 1403| getQualifier(): [FunctionCall] call to returnValue -# 1403| Type = [Class] copy_constructor -# 1403| ValueCategory = prvalue -# 1403| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1403| Type = [Class] copy_constructor -# 1403| ValueCategory = prvalue(load) -# 1404| getStmt(9): [ReturnStmt] return ... -# 1406| [TopLevelFunction] void temporary_point() +# 1398| [Constructor] void destructor_only::destructor_only() +# 1398| : +# 1400| [Destructor] void destructor_only::~destructor_only() +# 1400| : +# 1402| [MemberFunction] void destructor_only::method() +# 1402| : +# 1406| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(Point const&) # 1406| : -# 1406| getEntryPoint(): [BlockStmt] { ... } -# 1407| getStmt(0): [DeclStmt] declaration -# 1407| getDeclarationEntry(0): [VariableDeclarationEntry] definition of p -# 1407| Type = [Struct] Point -# 1407| getVariable().getInitializer(): [Initializer] initializer for p -# 1407| getExpr(): [FunctionCall] call to returnValue -# 1407| Type = [Struct] Point -# 1407| ValueCategory = prvalue -# 1408| getStmt(1): [DeclStmt] declaration -# 1408| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rp -# 1408| Type = [LValueReferenceType] const Point & -# 1408| getVariable().getInitializer(): [Initializer] initializer for rp -# 1408| getExpr(): [FunctionCall] call to returnValue -# 1408| Type = [Struct] Point -# 1408| ValueCategory = prvalue -# 1408| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1408| Type = [LValueReferenceType] const Point & -# 1408| ValueCategory = prvalue -# 1408| getExpr(): [CStyleCast] (const Point)... -# 1408| Conversion = [GlvalueConversion] glvalue conversion -# 1408| Type = [SpecifiedType] const Point -# 1408| ValueCategory = lvalue -# 1408| getExpr(): [TemporaryObjectExpr] temporary object -# 1408| Type = [Struct] Point -# 1408| ValueCategory = lvalue -# 1410| getStmt(2): [ExprStmt] ExprStmt -# 1410| getExpr(): [FunctionCall] call to acceptRef -# 1410| Type = [VoidType] void -# 1410| ValueCategory = prvalue -# 1410| getArgument(0): [VariableAccess] p -# 1410| Type = [Struct] Point -# 1410| ValueCategory = lvalue -# 1410| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1410| Type = [LValueReferenceType] const Point & -# 1410| ValueCategory = prvalue -# 1410| getExpr(): [CStyleCast] (const Point)... -# 1410| Conversion = [GlvalueConversion] glvalue conversion -# 1410| Type = [SpecifiedType] const Point -# 1410| ValueCategory = lvalue -# 1411| getStmt(3): [ExprStmt] ExprStmt -# 1411| getExpr(): [FunctionCall] call to acceptValue -# 1411| Type = [VoidType] void -# 1411| ValueCategory = prvalue -# 1411| getArgument(0): [VariableAccess] p -# 1411| Type = [Struct] Point -# 1411| ValueCategory = prvalue(load) -# 1412| getStmt(4): [ExprStmt] ExprStmt -# 1412| getExpr(): [ValueFieldAccess] x -# 1412| Type = [IntType] int -# 1412| Value = [ValueFieldAccess] 0 -# 1412| ValueCategory = prvalue -# 1412| getQualifier(): [Literal] 0 -# 1412| Type = [Struct] Point -# 1412| Value = [Literal] 0 -# 1412| ValueCategory = prvalue -# 1412| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1412| Type = [Struct] Point -# 1412| ValueCategory = prvalue(load) -# 1413| getStmt(5): [DeclStmt] declaration -# 1413| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1413| Type = [IntType] int -# 1413| getVariable().getInitializer(): [Initializer] initializer for y -# 1413| getExpr(): [ValueFieldAccess] y -# 1413| Type = [IntType] int -# 1413| ValueCategory = prvalue -# 1413| getQualifier(): [FunctionCall] call to returnValue -# 1413| Type = [Struct] Point -# 1413| ValueCategory = prvalue -# 1415| getStmt(6): [ExprStmt] ExprStmt -# 1415| getExpr(): [FunctionCall] call to defaultConstruct -# 1415| Type = [Struct] Point -# 1415| ValueCategory = prvalue -# 1416| getStmt(7): [ReturnStmt] return ... -# 1418| [CopyAssignmentOperator] UnusualFields& UnusualFields::operator=(UnusualFields const&) -# 1418| : +# 1406| getParameter(0): [Parameter] v +# 1406| Type = [LValueReferenceType] const Point & +# 1406| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(String const&) +# 1406| : +# 1406| getParameter(0): [Parameter] v +# 1406| Type = [LValueReferenceType] const String & +# 1406| [TemplateFunction,TopLevelFunction] void acceptRef(T const&) +# 1406| : +# 1406| getParameter(0): [Parameter] v +# 1406| Type = [LValueReferenceType] const T & +# 1406| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(copy_constructor const&) +# 1406| : +# 1406| getParameter(0): [Parameter] v +# 1406| Type = [LValueReferenceType] const copy_constructor & +# 1406| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(destructor_only const&) +# 1406| : +# 1406| getParameter(0): [Parameter] v +# 1406| Type = [LValueReferenceType] const destructor_only & +# 1409| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(Point) +# 1409| : +# 1409| getParameter(0): [Parameter] v +# 1409| Type = [Struct] Point +# 1409| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(String) +# 1409| : +# 1409| getParameter(0): [Parameter] v +# 1409| Type = [Struct] String +# 1409| [TemplateFunction,TopLevelFunction] void acceptValue(T) +# 1409| : +# 1409| getParameter(0): [Parameter] v +# 1409| Type = [TemplateParameter] T +# 1409| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(copy_constructor) +# 1409| : +# 1409| getParameter(0): [Parameter] v +# 1409| Type = [Class] copy_constructor +# 1409| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(destructor_only) +# 1409| : +# 1409| getParameter(0): [Parameter] v +# 1409| Type = [Class] destructor_only +# 1412| [FunctionTemplateInstantiation,TopLevelFunction] POD_Derived returnValue() +# 1412| : +# 1412| [FunctionTemplateInstantiation,TopLevelFunction] POD_Middle returnValue() +# 1412| : +# 1412| [FunctionTemplateInstantiation,TopLevelFunction] Point returnValue() +# 1412| : +# 1412| [FunctionTemplateInstantiation,TopLevelFunction] String returnValue() +# 1412| : +# 1412| [TemplateFunction,TopLevelFunction] T returnValue() +# 1412| : +# 1412| [FunctionTemplateInstantiation,TopLevelFunction] UnusualFields returnValue() +# 1412| : +# 1412| [FunctionTemplateInstantiation,TopLevelFunction] copy_constructor returnValue() +# 1412| : +# 1412| [FunctionTemplateInstantiation,TopLevelFunction] destructor_only returnValue() +# 1412| : +# 1414| [TopLevelFunction] void temporary_string() +# 1414| : +# 1414| getEntryPoint(): [BlockStmt] { ... } +# 1415| getStmt(0): [DeclStmt] declaration +# 1415| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 1415| Type = [Struct] String +# 1415| getVariable().getInitializer(): [Initializer] initializer for s +# 1415| getExpr(): [FunctionCall] call to returnValue +# 1415| Type = [Struct] String +# 1415| ValueCategory = prvalue +# 1416| getStmt(1): [DeclStmt] declaration +# 1416| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rs +# 1416| Type = [LValueReferenceType] const String & +# 1416| getVariable().getInitializer(): [Initializer] initializer for rs +# 1416| getExpr(): [FunctionCall] call to returnValue +# 1416| Type = [Struct] String +# 1416| ValueCategory = prvalue +# 1416| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1416| Type = [LValueReferenceType] const String & +# 1416| ValueCategory = prvalue +# 1416| getExpr(): [CStyleCast] (const String)... +# 1416| Conversion = [GlvalueConversion] glvalue conversion +# 1416| Type = [SpecifiedType] const String +# 1416| ValueCategory = lvalue +# 1416| getExpr(): [TemporaryObjectExpr] temporary object +# 1416| Type = [Struct] String +# 1416| ValueCategory = lvalue +# 1418| getStmt(2): [ExprStmt] ExprStmt +# 1418| getExpr(): [FunctionCall] call to acceptRef +# 1418| Type = [VoidType] void +# 1418| ValueCategory = prvalue +# 1418| getArgument(0): [VariableAccess] s +# 1418| Type = [Struct] String +# 1418| ValueCategory = lvalue +# 1418| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1418| Type = [LValueReferenceType] const String & +# 1418| ValueCategory = prvalue +# 1418| getExpr(): [CStyleCast] (const String)... +# 1418| Conversion = [GlvalueConversion] glvalue conversion +# 1418| Type = [SpecifiedType] const String +# 1418| ValueCategory = lvalue +# 1419| getStmt(3): [ExprStmt] ExprStmt +# 1419| getExpr(): [FunctionCall] call to acceptRef +# 1419| Type = [VoidType] void +# 1419| ValueCategory = prvalue +# 1419| getArgument(0): [ConstructorCall] call to String +# 1419| Type = [VoidType] void +# 1419| ValueCategory = prvalue +# 1419| getArgument(0): foo +# 1419| Type = [ArrayType] const char[4] +# 1419| Value = [StringLiteral] "foo" +# 1419| ValueCategory = lvalue +# 1419| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1419| Type = [PointerType] const char * +# 1419| ValueCategory = prvalue +# 1419| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1419| Type = [LValueReferenceType] const String & +# 1419| ValueCategory = prvalue +# 1419| getExpr(): [TemporaryObjectExpr] temporary object +# 1419| Type = [SpecifiedType] const String +# 1419| ValueCategory = lvalue +# 1420| getStmt(4): [ExprStmt] ExprStmt +# 1420| getExpr(): [FunctionCall] call to acceptValue +# 1420| Type = [VoidType] void +# 1420| ValueCategory = prvalue +# 1420| getArgument(0): [ConstructorCall] call to String +# 1420| Type = [VoidType] void +# 1420| ValueCategory = prvalue +# 1420| getArgument(0): [VariableAccess] s +# 1420| Type = [Struct] String +# 1420| ValueCategory = lvalue +# 1420| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1420| Type = [LValueReferenceType] const String & +# 1420| ValueCategory = prvalue +# 1420| getExpr(): [CStyleCast] (const String)... +# 1420| Conversion = [GlvalueConversion] glvalue conversion +# 1420| Type = [SpecifiedType] const String +# 1420| ValueCategory = lvalue +# 1420| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1420| Type = [Struct] String +# 1420| ValueCategory = lvalue +# 1421| getStmt(5): [ExprStmt] ExprStmt +# 1421| getExpr(): [FunctionCall] call to acceptValue +# 1421| Type = [VoidType] void +# 1421| ValueCategory = prvalue +# 1421| getArgument(0): [ConstructorCall] call to String +# 1421| Type = [VoidType] void +# 1421| ValueCategory = prvalue +# 1421| getArgument(0): foo +# 1421| Type = [ArrayType] const char[4] +# 1421| Value = [StringLiteral] "foo" +# 1421| ValueCategory = lvalue +# 1421| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1421| Type = [PointerType] const char * +# 1421| ValueCategory = prvalue +# 1421| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1421| Type = [Struct] String +# 1421| ValueCategory = lvalue +# 1422| getStmt(6): [ExprStmt] ExprStmt +# 1422| getExpr(): [FunctionCall] call to c_str +# 1422| Type = [PointerType] const char * +# 1422| ValueCategory = prvalue +# 1422| getQualifier(): [ConstructorCall] call to String +# 1422| Type = [VoidType] void +# 1422| ValueCategory = prvalue +# 1422| getQualifier().getFullyConverted(): [CStyleCast] (const String)... +# 1422| Conversion = [PrvalueAdjustmentConversion] prvalue adjustment conversion +# 1422| Type = [SpecifiedType] const String +# 1422| ValueCategory = prvalue +# 1422| getExpr(): [TemporaryObjectExpr] temporary object +# 1422| Type = [Struct] String +# 1422| ValueCategory = prvalue(load) +# 1423| getStmt(7): [ExprStmt] ExprStmt +# 1423| getExpr(): [FunctionCall] call to c_str +# 1423| Type = [PointerType] const char * +# 1423| ValueCategory = prvalue +# 1423| getQualifier(): [FunctionCall] call to returnValue +# 1423| Type = [Struct] String +# 1423| ValueCategory = prvalue +# 1423| getQualifier().getFullyConverted(): [CStyleCast] (const String)... +# 1423| Conversion = [PrvalueAdjustmentConversion] prvalue adjustment conversion +# 1423| Type = [SpecifiedType] const String +# 1423| ValueCategory = prvalue +# 1423| getExpr(): [TemporaryObjectExpr] temporary object +# 1423| Type = [Struct] String +# 1423| ValueCategory = prvalue(load) +# 1425| getStmt(8): [ExprStmt] ExprStmt +# 1425| getExpr(): [FunctionCall] call to defaultConstruct +# 1425| Type = [Struct] String +# 1425| ValueCategory = prvalue +# 1425| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1425| Type = [Struct] String +# 1425| ValueCategory = prvalue +# 1426| getStmt(9): [ReturnStmt] return ... +# 1426| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 1426| Type = [VoidType] void +# 1426| ValueCategory = prvalue +# 1426| getQualifier(): [VariableAccess] s +# 1426| Type = [Struct] String +# 1426| ValueCategory = lvalue +# 1428| [TopLevelFunction] void temporary_destructor_only() +# 1428| : +# 1428| getEntryPoint(): [BlockStmt] { ... } +# 1429| getStmt(0): [DeclStmt] declaration +# 1429| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 1429| Type = [Class] destructor_only +# 1429| getVariable().getInitializer(): [Initializer] initializer for d +# 1429| getExpr(): [FunctionCall] call to returnValue +# 1429| Type = [Class] destructor_only +# 1429| ValueCategory = prvalue +# 1430| getStmt(1): [DeclStmt] declaration +# 1430| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd +# 1430| Type = [LValueReferenceType] const destructor_only & +# 1430| getVariable().getInitializer(): [Initializer] initializer for rd +# 1430| getExpr(): [FunctionCall] call to returnValue +# 1430| Type = [Class] destructor_only +# 1430| ValueCategory = prvalue +# 1430| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1430| Type = [LValueReferenceType] const destructor_only & +# 1430| ValueCategory = prvalue +# 1430| getExpr(): [CStyleCast] (const destructor_only)... +# 1430| Conversion = [GlvalueConversion] glvalue conversion +# 1430| Type = [SpecifiedType] const destructor_only +# 1430| ValueCategory = lvalue +# 1430| getExpr(): [TemporaryObjectExpr] temporary object +# 1430| Type = [Class] destructor_only +# 1430| ValueCategory = lvalue +# 1431| getStmt(2): [DeclStmt] declaration +# 1431| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d2 +# 1431| Type = [Class] destructor_only +# 1432| getStmt(3): [ExprStmt] ExprStmt +# 1432| getExpr(): [FunctionCall] call to acceptRef +# 1432| Type = [VoidType] void +# 1432| ValueCategory = prvalue +# 1432| getArgument(0): [VariableAccess] d +# 1432| Type = [Class] destructor_only +# 1432| ValueCategory = lvalue +# 1432| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1432| Type = [LValueReferenceType] const destructor_only & +# 1432| ValueCategory = prvalue +# 1432| getExpr(): [CStyleCast] (const destructor_only)... +# 1432| Conversion = [GlvalueConversion] glvalue conversion +# 1432| Type = [SpecifiedType] const destructor_only +# 1432| ValueCategory = lvalue +# 1433| getStmt(4): [ExprStmt] ExprStmt +# 1433| getExpr(): [FunctionCall] call to acceptValue +# 1433| Type = [VoidType] void +# 1433| ValueCategory = prvalue +# 1433| getArgument(0): [VariableAccess] d +# 1433| Type = [Class] destructor_only +# 1433| ValueCategory = prvalue(load) +# 1433| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1433| Type = [Class] destructor_only +# 1433| ValueCategory = lvalue +# 1434| getStmt(5): [ExprStmt] ExprStmt +# 1434| getExpr(): [FunctionCall] call to method +# 1434| Type = [VoidType] void +# 1434| ValueCategory = prvalue +# 1434| getQualifier(): [Literal] 0 +# 1434| Type = [Class] destructor_only +# 1434| Value = [Literal] 0 +# 1434| ValueCategory = prvalue +# 1434| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1434| Type = [Class] destructor_only +# 1434| ValueCategory = prvalue(load) +# 1435| getStmt(6): [ExprStmt] ExprStmt +# 1435| getExpr(): [FunctionCall] call to method +# 1435| Type = [VoidType] void +# 1435| ValueCategory = prvalue +# 1435| getQualifier(): [FunctionCall] call to returnValue +# 1435| Type = [Class] destructor_only +# 1435| ValueCategory = prvalue +# 1435| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1435| Type = [Class] destructor_only +# 1435| ValueCategory = prvalue(load) +# 1437| getStmt(7): [ExprStmt] ExprStmt +# 1437| getExpr(): [FunctionCall] call to defaultConstruct +# 1437| Type = [Class] destructor_only +# 1437| ValueCategory = prvalue +# 1437| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1437| Type = [Class] destructor_only +# 1437| ValueCategory = prvalue +# 1438| getStmt(8): [ReturnStmt] return ... +# 1438| getImplicitDestructorCall(0): [DestructorCall] call to ~destructor_only +# 1438| Type = [VoidType] void +# 1438| ValueCategory = prvalue +# 1438| getQualifier(): [VariableAccess] d2 +# 1438| Type = [Class] destructor_only +# 1438| ValueCategory = lvalue +# 1438| getImplicitDestructorCall(1): [DestructorCall] call to ~destructor_only +# 1438| Type = [VoidType] void +# 1438| ValueCategory = prvalue +# 1438| getQualifier(): [VariableAccess] d +# 1438| Type = [Class] destructor_only +# 1438| ValueCategory = lvalue +# 1440| [TopLevelFunction] void temporary_copy_constructor() +# 1440| : +# 1440| getEntryPoint(): [BlockStmt] { ... } +# 1441| getStmt(0): [DeclStmt] declaration +# 1441| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 1441| Type = [Class] copy_constructor +# 1441| getVariable().getInitializer(): [Initializer] initializer for d +# 1441| getExpr(): [FunctionCall] call to returnValue +# 1441| Type = [Class] copy_constructor +# 1441| ValueCategory = prvalue +# 1442| getStmt(1): [DeclStmt] declaration +# 1442| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd +# 1442| Type = [LValueReferenceType] const copy_constructor & +# 1442| getVariable().getInitializer(): [Initializer] initializer for rd +# 1442| getExpr(): [FunctionCall] call to returnValue +# 1442| Type = [Class] copy_constructor +# 1442| ValueCategory = prvalue +# 1442| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1442| Type = [LValueReferenceType] const copy_constructor & +# 1442| ValueCategory = prvalue +# 1442| getExpr(): [CStyleCast] (const copy_constructor)... +# 1442| Conversion = [GlvalueConversion] glvalue conversion +# 1442| Type = [SpecifiedType] const copy_constructor +# 1442| ValueCategory = lvalue +# 1442| getExpr(): [TemporaryObjectExpr] temporary object +# 1442| Type = [Class] copy_constructor +# 1442| ValueCategory = lvalue +# 1443| getStmt(2): [DeclStmt] declaration +# 1443| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d2 +# 1443| Type = [Class] copy_constructor +# 1443| getVariable().getInitializer(): [Initializer] initializer for d2 +# 1443| getExpr(): [ConstructorCall] call to copy_constructor +# 1443| Type = [VoidType] void +# 1443| ValueCategory = prvalue +# 1444| getStmt(3): [ExprStmt] ExprStmt +# 1444| getExpr(): [FunctionCall] call to acceptRef +# 1444| Type = [VoidType] void +# 1444| ValueCategory = prvalue +# 1444| getArgument(0): [VariableAccess] d +# 1444| Type = [Class] copy_constructor +# 1444| ValueCategory = lvalue +# 1444| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1444| Type = [LValueReferenceType] const copy_constructor & +# 1444| ValueCategory = prvalue +# 1444| getExpr(): [CStyleCast] (const copy_constructor)... +# 1444| Conversion = [GlvalueConversion] glvalue conversion +# 1444| Type = [SpecifiedType] const copy_constructor +# 1444| ValueCategory = lvalue +# 1445| getStmt(4): [ExprStmt] ExprStmt +# 1445| getExpr(): [FunctionCall] call to acceptValue +# 1445| Type = [VoidType] void +# 1445| ValueCategory = prvalue +# 1445| getArgument(0): [ConstructorCall] call to copy_constructor +# 1445| Type = [VoidType] void +# 1445| ValueCategory = prvalue +# 1445| getArgument(0): [VariableAccess] d +# 1445| Type = [Class] copy_constructor +# 1445| ValueCategory = lvalue +# 1445| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1445| Type = [LValueReferenceType] const copy_constructor & +# 1445| ValueCategory = prvalue +# 1445| getExpr(): [CStyleCast] (const copy_constructor)... +# 1445| Conversion = [GlvalueConversion] glvalue conversion +# 1445| Type = [SpecifiedType] const copy_constructor +# 1445| ValueCategory = lvalue +# 1445| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1445| Type = [Class] copy_constructor +# 1445| ValueCategory = lvalue +# 1446| getStmt(5): [ExprStmt] ExprStmt +# 1446| getExpr(): [FunctionCall] call to method +# 1446| Type = [VoidType] void +# 1446| ValueCategory = prvalue +# 1446| getQualifier(): [ConstructorCall] call to copy_constructor +# 1446| Type = [VoidType] void +# 1446| ValueCategory = prvalue +# 1446| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1446| Type = [Class] copy_constructor +# 1446| ValueCategory = prvalue(load) +# 1447| getStmt(6): [ExprStmt] ExprStmt +# 1447| getExpr(): [FunctionCall] call to method +# 1447| Type = [VoidType] void +# 1447| ValueCategory = prvalue +# 1447| getQualifier(): [FunctionCall] call to returnValue +# 1447| Type = [Class] copy_constructor +# 1447| ValueCategory = prvalue +# 1447| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1447| Type = [Class] copy_constructor +# 1447| ValueCategory = prvalue(load) +# 1448| getStmt(7): [ExprStmt] ExprStmt +# 1448| getExpr(): [FunctionCall] call to defaultConstruct +# 1448| Type = [Class] copy_constructor +# 1448| ValueCategory = prvalue +# 1448| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1448| Type = [Class] copy_constructor +# 1448| ValueCategory = prvalue +# 1450| getStmt(8): [DeclStmt] declaration +# 1450| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1450| Type = [IntType] int +# 1450| getVariable().getInitializer(): [Initializer] initializer for y +# 1450| getExpr(): [ValueFieldAccess] y +# 1450| Type = [IntType] int +# 1450| ValueCategory = prvalue +# 1450| getQualifier(): [FunctionCall] call to returnValue +# 1450| Type = [Class] copy_constructor +# 1450| ValueCategory = prvalue +# 1450| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1450| Type = [Class] copy_constructor +# 1450| ValueCategory = prvalue(load) +# 1451| getStmt(9): [ReturnStmt] return ... +# 1453| [TopLevelFunction] void temporary_point() +# 1453| : +# 1453| getEntryPoint(): [BlockStmt] { ... } +# 1454| getStmt(0): [DeclStmt] declaration +# 1454| getDeclarationEntry(0): [VariableDeclarationEntry] definition of p +# 1454| Type = [Struct] Point +# 1454| getVariable().getInitializer(): [Initializer] initializer for p +# 1454| getExpr(): [FunctionCall] call to returnValue +# 1454| Type = [Struct] Point +# 1454| ValueCategory = prvalue +# 1455| getStmt(1): [DeclStmt] declaration +# 1455| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rp +# 1455| Type = [LValueReferenceType] const Point & +# 1455| getVariable().getInitializer(): [Initializer] initializer for rp +# 1455| getExpr(): [FunctionCall] call to returnValue +# 1455| Type = [Struct] Point +# 1455| ValueCategory = prvalue +# 1455| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1455| Type = [LValueReferenceType] const Point & +# 1455| ValueCategory = prvalue +# 1455| getExpr(): [CStyleCast] (const Point)... +# 1455| Conversion = [GlvalueConversion] glvalue conversion +# 1455| Type = [SpecifiedType] const Point +# 1455| ValueCategory = lvalue +# 1455| getExpr(): [TemporaryObjectExpr] temporary object +# 1455| Type = [Struct] Point +# 1455| ValueCategory = lvalue +# 1457| getStmt(2): [ExprStmt] ExprStmt +# 1457| getExpr(): [FunctionCall] call to acceptRef +# 1457| Type = [VoidType] void +# 1457| ValueCategory = prvalue +# 1457| getArgument(0): [VariableAccess] p +# 1457| Type = [Struct] Point +# 1457| ValueCategory = lvalue +# 1457| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1457| Type = [LValueReferenceType] const Point & +# 1457| ValueCategory = prvalue +# 1457| getExpr(): [CStyleCast] (const Point)... +# 1457| Conversion = [GlvalueConversion] glvalue conversion +# 1457| Type = [SpecifiedType] const Point +# 1457| ValueCategory = lvalue +# 1458| getStmt(3): [ExprStmt] ExprStmt +# 1458| getExpr(): [FunctionCall] call to acceptValue +# 1458| Type = [VoidType] void +# 1458| ValueCategory = prvalue +# 1458| getArgument(0): [VariableAccess] p +# 1458| Type = [Struct] Point +# 1458| ValueCategory = prvalue(load) +# 1459| getStmt(4): [ExprStmt] ExprStmt +# 1459| getExpr(): [ValueFieldAccess] x +# 1459| Type = [IntType] int +# 1459| Value = [ValueFieldAccess] 0 +# 1459| ValueCategory = prvalue +# 1459| getQualifier(): [Literal] 0 +# 1459| Type = [Struct] Point +# 1459| Value = [Literal] 0 +# 1459| ValueCategory = prvalue +# 1459| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1459| Type = [Struct] Point +# 1459| ValueCategory = prvalue(load) +# 1460| getStmt(5): [DeclStmt] declaration +# 1460| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1460| Type = [IntType] int +# 1460| getVariable().getInitializer(): [Initializer] initializer for y +# 1460| getExpr(): [ValueFieldAccess] y +# 1460| Type = [IntType] int +# 1460| ValueCategory = prvalue +# 1460| getQualifier(): [FunctionCall] call to returnValue +# 1460| Type = [Struct] Point +# 1460| ValueCategory = prvalue +# 1462| getStmt(6): [ExprStmt] ExprStmt +# 1462| getExpr(): [FunctionCall] call to defaultConstruct +# 1462| Type = [Struct] Point +# 1462| ValueCategory = prvalue +# 1463| getStmt(7): [ReturnStmt] return ... +# 1465| [CopyAssignmentOperator] UnusualFields& UnusualFields::operator=(UnusualFields const&) +# 1465| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const UnusualFields & -# 1418| [Constructor] void UnusualFields::UnusualFields() -# 1418| : -# 1418| [CopyConstructor] void UnusualFields::UnusualFields(UnusualFields const&) -# 1418| : +# 1465| [Constructor] void UnusualFields::UnusualFields() +# 1465| : +# 1465| [CopyConstructor] void UnusualFields::UnusualFields(UnusualFields const&) +# 1465| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const UnusualFields & -# 1418| [MoveConstructor] void UnusualFields::UnusualFields(UnusualFields&&) -# 1418| : +# 1465| [MoveConstructor] void UnusualFields::UnusualFields(UnusualFields&&) +# 1465| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] UnusualFields && -# 1423| [TopLevelFunction] void temporary_unusual_fields() -# 1423| : -# 1423| getEntryPoint(): [BlockStmt] { ... } -# 1424| getStmt(0): [DeclStmt] declaration -# 1424| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx -# 1424| Type = [LValueReferenceType] const int & -# 1424| getVariable().getInitializer(): [Initializer] initializer for rx -# 1424| getExpr(): [ValueFieldAccess] r -# 1424| Type = [LValueReferenceType] int & -# 1424| ValueCategory = prvalue -# 1424| getQualifier(): [FunctionCall] call to returnValue -# 1424| Type = [Struct] UnusualFields -# 1424| ValueCategory = prvalue -# 1424| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1424| Type = [LValueReferenceType] const int & -# 1424| ValueCategory = prvalue -# 1424| getExpr(): [CStyleCast] (const int)... -# 1424| Conversion = [GlvalueConversion] glvalue conversion -# 1424| Type = [SpecifiedType] const int -# 1424| ValueCategory = lvalue -# 1424| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1424| Type = [IntType] int -# 1424| ValueCategory = lvalue -# 1425| getStmt(1): [DeclStmt] declaration -# 1425| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1425| Type = [IntType] int -# 1425| getVariable().getInitializer(): [Initializer] initializer for x -# 1425| getExpr(): [ValueFieldAccess] r -# 1425| Type = [LValueReferenceType] int & -# 1425| ValueCategory = prvalue -# 1425| getQualifier(): [FunctionCall] call to returnValue -# 1425| Type = [Struct] UnusualFields -# 1425| ValueCategory = prvalue -# 1425| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1425| Type = [IntType] int -# 1425| ValueCategory = prvalue(load) -# 1427| getStmt(2): [DeclStmt] declaration -# 1427| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rf -# 1427| Type = [LValueReferenceType] const float & -# 1427| getVariable().getInitializer(): [Initializer] initializer for rf -# 1427| getExpr(): [ArrayExpr] access to array -# 1427| Type = [FloatType] float -# 1427| ValueCategory = lvalue -# 1427| getArrayBase(): [ValueFieldAccess] a -# 1427| Type = [ArrayType] float[10] -# 1427| ValueCategory = prvalue -# 1427| getQualifier(): [FunctionCall] call to returnValue -# 1427| Type = [Struct] UnusualFields -# 1427| ValueCategory = prvalue -# 1427| getArrayOffset(): [Literal] 3 -# 1427| Type = [IntType] int -# 1427| Value = [Literal] 3 -# 1427| ValueCategory = prvalue -# 1427| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1427| Type = [PointerType] float * -# 1427| ValueCategory = prvalue -# 1427| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1427| Type = [LValueReferenceType] const float & -# 1427| ValueCategory = prvalue -# 1427| getExpr(): [CStyleCast] (const float)... -# 1427| Conversion = [GlvalueConversion] glvalue conversion -# 1427| Type = [SpecifiedType] const float -# 1427| ValueCategory = lvalue -# 1428| getStmt(3): [DeclStmt] declaration -# 1428| getDeclarationEntry(0): [VariableDeclarationEntry] definition of f -# 1428| Type = [FloatType] float -# 1428| getVariable().getInitializer(): [Initializer] initializer for f -# 1428| getExpr(): [ArrayExpr] access to array -# 1428| Type = [FloatType] float -# 1428| ValueCategory = prvalue(load) -# 1428| getArrayBase(): [ValueFieldAccess] a -# 1428| Type = [ArrayType] float[10] -# 1428| ValueCategory = prvalue -# 1428| getQualifier(): [FunctionCall] call to returnValue -# 1428| Type = [Struct] UnusualFields -# 1428| ValueCategory = prvalue -# 1428| getArrayOffset(): [Literal] 5 -# 1428| Type = [IntType] int -# 1428| Value = [Literal] 5 -# 1428| ValueCategory = prvalue -# 1428| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1428| Type = [PointerType] float * -# 1428| ValueCategory = prvalue -# 1429| getStmt(4): [ReturnStmt] return ... -# 1431| [CopyAssignmentOperator] POD_Base& POD_Base::operator=(POD_Base const&) -# 1431| : +# 1470| [TopLevelFunction] void temporary_unusual_fields() +# 1470| : +# 1470| getEntryPoint(): [BlockStmt] { ... } +# 1471| getStmt(0): [DeclStmt] declaration +# 1471| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx +# 1471| Type = [LValueReferenceType] const int & +# 1471| getVariable().getInitializer(): [Initializer] initializer for rx +# 1471| getExpr(): [ValueFieldAccess] r +# 1471| Type = [LValueReferenceType] int & +# 1471| ValueCategory = prvalue +# 1471| getQualifier(): [FunctionCall] call to returnValue +# 1471| Type = [Struct] UnusualFields +# 1471| ValueCategory = prvalue +# 1471| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1471| Type = [LValueReferenceType] const int & +# 1471| ValueCategory = prvalue +# 1471| getExpr(): [CStyleCast] (const int)... +# 1471| Conversion = [GlvalueConversion] glvalue conversion +# 1471| Type = [SpecifiedType] const int +# 1471| ValueCategory = lvalue +# 1471| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1471| Type = [IntType] int +# 1471| ValueCategory = lvalue +# 1472| getStmt(1): [DeclStmt] declaration +# 1472| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1472| Type = [IntType] int +# 1472| getVariable().getInitializer(): [Initializer] initializer for x +# 1472| getExpr(): [ValueFieldAccess] r +# 1472| Type = [LValueReferenceType] int & +# 1472| ValueCategory = prvalue +# 1472| getQualifier(): [FunctionCall] call to returnValue +# 1472| Type = [Struct] UnusualFields +# 1472| ValueCategory = prvalue +# 1472| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1472| Type = [IntType] int +# 1472| ValueCategory = prvalue(load) +# 1474| getStmt(2): [DeclStmt] declaration +# 1474| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rf +# 1474| Type = [LValueReferenceType] const float & +# 1474| getVariable().getInitializer(): [Initializer] initializer for rf +# 1474| getExpr(): [ArrayExpr] access to array +# 1474| Type = [FloatType] float +# 1474| ValueCategory = lvalue +# 1474| getArrayBase(): [ValueFieldAccess] a +# 1474| Type = [ArrayType] float[10] +# 1474| ValueCategory = prvalue +# 1474| getQualifier(): [FunctionCall] call to returnValue +# 1474| Type = [Struct] UnusualFields +# 1474| ValueCategory = prvalue +# 1474| getArrayOffset(): [Literal] 3 +# 1474| Type = [IntType] int +# 1474| Value = [Literal] 3 +# 1474| ValueCategory = prvalue +# 1474| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1474| Type = [PointerType] float * +# 1474| ValueCategory = prvalue +# 1474| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1474| Type = [LValueReferenceType] const float & +# 1474| ValueCategory = prvalue +# 1474| getExpr(): [CStyleCast] (const float)... +# 1474| Conversion = [GlvalueConversion] glvalue conversion +# 1474| Type = [SpecifiedType] const float +# 1474| ValueCategory = lvalue +# 1475| getStmt(3): [DeclStmt] declaration +# 1475| getDeclarationEntry(0): [VariableDeclarationEntry] definition of f +# 1475| Type = [FloatType] float +# 1475| getVariable().getInitializer(): [Initializer] initializer for f +# 1475| getExpr(): [ArrayExpr] access to array +# 1475| Type = [FloatType] float +# 1475| ValueCategory = prvalue(load) +# 1475| getArrayBase(): [ValueFieldAccess] a +# 1475| Type = [ArrayType] float[10] +# 1475| ValueCategory = prvalue +# 1475| getQualifier(): [FunctionCall] call to returnValue +# 1475| Type = [Struct] UnusualFields +# 1475| ValueCategory = prvalue +# 1475| getArrayOffset(): [Literal] 5 +# 1475| Type = [IntType] int +# 1475| Value = [Literal] 5 +# 1475| ValueCategory = prvalue +# 1475| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1475| Type = [PointerType] float * +# 1475| ValueCategory = prvalue +# 1476| getStmt(4): [ReturnStmt] return ... +# 1478| [CopyAssignmentOperator] POD_Base& POD_Base::operator=(POD_Base const&) +# 1478| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const POD_Base & -# 1431| [MoveAssignmentOperator] POD_Base& POD_Base::operator=(POD_Base&&) -# 1431| : +# 1478| [MoveAssignmentOperator] POD_Base& POD_Base::operator=(POD_Base&&) +# 1478| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] POD_Base && -# 1434| [ConstMemberFunction] float POD_Base::f() const -# 1434| : -# 1437| [CopyAssignmentOperator] POD_Middle& POD_Middle::operator=(POD_Middle const&) -# 1437| : +# 1481| [ConstMemberFunction] float POD_Base::f() const +# 1481| : +# 1484| [CopyAssignmentOperator] POD_Middle& POD_Middle::operator=(POD_Middle const&) +# 1484| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const POD_Middle & -# 1437| [MoveAssignmentOperator] POD_Middle& POD_Middle::operator=(POD_Middle&&) -# 1437| : +# 1484| [MoveAssignmentOperator] POD_Middle& POD_Middle::operator=(POD_Middle&&) +# 1484| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] POD_Middle && -# 1437| [Constructor] void POD_Middle::POD_Middle() -# 1437| : -# 1441| [CopyAssignmentOperator] POD_Derived& POD_Derived::operator=(POD_Derived const&) -# 1441| : +# 1484| [Constructor] void POD_Middle::POD_Middle() +# 1484| : +# 1488| [CopyAssignmentOperator] POD_Derived& POD_Derived::operator=(POD_Derived const&) +# 1488| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const POD_Derived & -# 1441| [MoveAssignmentOperator] POD_Derived& POD_Derived::operator=(POD_Derived&&) -# 1441| : +# 1488| [MoveAssignmentOperator] POD_Derived& POD_Derived::operator=(POD_Derived&&) +# 1488| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] POD_Derived && -# 1441| [Constructor] void POD_Derived::POD_Derived() -# 1441| : -# 1445| [TopLevelFunction] void temporary_hierarchy() -# 1445| : -# 1445| getEntryPoint(): [BlockStmt] { ... } -# 1446| getStmt(0): [DeclStmt] declaration -# 1446| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 1446| Type = [Struct] POD_Base -# 1446| getVariable().getInitializer(): [Initializer] initializer for b -# 1446| getExpr(): [FunctionCall] call to returnValue -# 1446| Type = [Struct] POD_Middle -# 1446| ValueCategory = prvalue +# 1488| [Constructor] void POD_Derived::POD_Derived() +# 1488| : +# 1492| [TopLevelFunction] void temporary_hierarchy() +# 1492| : +# 1492| getEntryPoint(): [BlockStmt] { ... } +# 1493| getStmt(0): [DeclStmt] declaration +# 1493| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 1493| Type = [Struct] POD_Base +# 1493| getVariable().getInitializer(): [Initializer] initializer for b +# 1493| getExpr(): [FunctionCall] call to returnValue +# 1493| Type = [Struct] POD_Middle +# 1493| ValueCategory = prvalue #-----| getExpr().getFullyConverted(): [CStyleCast] (POD_Base)... #-----| Conversion = [BaseClassConversion] base class conversion #-----| Type = [Struct] POD_Base @@ -12052,40 +12170,40 @@ ir.cpp: #-----| getExpr(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] POD_Middle #-----| ValueCategory = xvalue -# 1447| getStmt(1): [ExprStmt] ExprStmt -# 1447| getExpr(): [AssignExpr] ... = ... -# 1447| Type = [Struct] POD_Base -# 1447| ValueCategory = lvalue -# 1447| getLValue(): [VariableAccess] b -# 1447| Type = [Struct] POD_Base -# 1447| ValueCategory = lvalue -# 1447| getRValue(): [FunctionCall] call to returnValue -# 1447| Type = [Struct] POD_Derived -# 1447| ValueCategory = prvalue -# 1447| getRValue().getFullyConverted(): [CStyleCast] (POD_Base)... -# 1447| Conversion = [BaseClassConversion] base class conversion -# 1447| Type = [Struct] POD_Base -# 1447| ValueCategory = prvalue(load) -# 1447| getExpr(): [CStyleCast] (POD_Middle)... -# 1447| Conversion = [BaseClassConversion] base class conversion -# 1447| Type = [Struct] POD_Middle -# 1447| ValueCategory = lvalue -# 1447| getExpr(): [TemporaryObjectExpr] temporary object -# 1447| Type = [Struct] POD_Derived -# 1447| ValueCategory = lvalue -# 1447| getExpr(): [ParenthesisExpr] (...) -# 1447| Type = [Struct] POD_Derived -# 1447| ValueCategory = prvalue -# 1448| getStmt(2): [DeclStmt] declaration -# 1448| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1448| Type = [IntType] int -# 1448| getVariable().getInitializer(): [Initializer] initializer for x -# 1448| getExpr(): [ValueFieldAccess] x -# 1448| Type = [IntType] int -# 1448| ValueCategory = prvalue(load) -# 1448| getQualifier(): [FunctionCall] call to returnValue -# 1448| Type = [Struct] POD_Derived -# 1448| ValueCategory = prvalue +# 1494| getStmt(1): [ExprStmt] ExprStmt +# 1494| getExpr(): [AssignExpr] ... = ... +# 1494| Type = [Struct] POD_Base +# 1494| ValueCategory = lvalue +# 1494| getLValue(): [VariableAccess] b +# 1494| Type = [Struct] POD_Base +# 1494| ValueCategory = lvalue +# 1494| getRValue(): [FunctionCall] call to returnValue +# 1494| Type = [Struct] POD_Derived +# 1494| ValueCategory = prvalue +# 1494| getRValue().getFullyConverted(): [CStyleCast] (POD_Base)... +# 1494| Conversion = [BaseClassConversion] base class conversion +# 1494| Type = [Struct] POD_Base +# 1494| ValueCategory = prvalue(load) +# 1494| getExpr(): [CStyleCast] (POD_Middle)... +# 1494| Conversion = [BaseClassConversion] base class conversion +# 1494| Type = [Struct] POD_Middle +# 1494| ValueCategory = lvalue +# 1494| getExpr(): [TemporaryObjectExpr] temporary object +# 1494| Type = [Struct] POD_Derived +# 1494| ValueCategory = lvalue +# 1494| getExpr(): [ParenthesisExpr] (...) +# 1494| Type = [Struct] POD_Derived +# 1494| ValueCategory = prvalue +# 1495| getStmt(2): [DeclStmt] declaration +# 1495| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1495| Type = [IntType] int +# 1495| getVariable().getInitializer(): [Initializer] initializer for x +# 1495| getExpr(): [ValueFieldAccess] x +# 1495| Type = [IntType] int +# 1495| ValueCategory = prvalue(load) +# 1495| getQualifier(): [FunctionCall] call to returnValue +# 1495| Type = [Struct] POD_Derived +# 1495| ValueCategory = prvalue #-----| getQualifier().getFullyConverted(): [CStyleCast] (POD_Base)... #-----| Conversion = [BaseClassConversion] base class conversion #-----| Type = [Struct] POD_Base @@ -12097,16 +12215,16 @@ ir.cpp: #-----| getExpr(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] POD_Derived #-----| ValueCategory = xvalue -# 1449| getStmt(3): [DeclStmt] declaration -# 1449| getDeclarationEntry(0): [VariableDeclarationEntry] definition of f -# 1449| Type = [FloatType] float -# 1449| getVariable().getInitializer(): [Initializer] initializer for f -# 1449| getExpr(): [FunctionCall] call to f -# 1449| Type = [FloatType] float -# 1449| ValueCategory = prvalue -# 1449| getQualifier(): [FunctionCall] call to returnValue -# 1449| Type = [Struct] POD_Derived -# 1449| ValueCategory = prvalue +# 1496| getStmt(3): [DeclStmt] declaration +# 1496| getDeclarationEntry(0): [VariableDeclarationEntry] definition of f +# 1496| Type = [FloatType] float +# 1496| getVariable().getInitializer(): [Initializer] initializer for f +# 1496| getExpr(): [FunctionCall] call to f +# 1496| Type = [FloatType] float +# 1496| ValueCategory = prvalue +# 1496| getQualifier(): [FunctionCall] call to returnValue +# 1496| Type = [Struct] POD_Derived +# 1496| ValueCategory = prvalue #-----| getQualifier().getFullyConverted(): [CStyleCast] (const POD_Base)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const POD_Base @@ -12122,99 +12240,99 @@ ir.cpp: #-----| getExpr(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] POD_Derived #-----| ValueCategory = xvalue -# 1449| getExpr(): [ParenthesisExpr] (...) -# 1449| Type = [Struct] POD_Derived -# 1449| ValueCategory = prvalue -# 1450| getStmt(4): [ReturnStmt] return ... -# 1452| [CopyAssignmentOperator] Inheritance_Test_B& Inheritance_Test_B::operator=(Inheritance_Test_B const&) -# 1452| : +# 1496| getExpr(): [ParenthesisExpr] (...) +# 1496| Type = [Struct] POD_Derived +# 1496| ValueCategory = prvalue +# 1497| getStmt(4): [ReturnStmt] return ... +# 1499| [CopyAssignmentOperator] Inheritance_Test_B& Inheritance_Test_B::operator=(Inheritance_Test_B const&) +# 1499| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Inheritance_Test_B & -# 1452| [Constructor] void Inheritance_Test_B::Inheritance_Test_B() -# 1452| : -# 1453| [Destructor] void Inheritance_Test_B::~Inheritance_Test_B() -# 1453| : -# 1453| getEntryPoint(): [BlockStmt] { ... } -# 1453| getStmt(0): [ReturnStmt] return ... -# 1453| : -# 1456| [CopyAssignmentOperator] Inheritance_Test_A& Inheritance_Test_A::operator=(Inheritance_Test_A const&) -# 1456| : +# 1499| [Constructor] void Inheritance_Test_B::Inheritance_Test_B() +# 1499| : +# 1500| [Destructor] void Inheritance_Test_B::~Inheritance_Test_B() +# 1500| : +# 1500| getEntryPoint(): [BlockStmt] { ... } +# 1500| getStmt(0): [ReturnStmt] return ... +# 1500| : +# 1503| [CopyAssignmentOperator] Inheritance_Test_A& Inheritance_Test_A::operator=(Inheritance_Test_A const&) +# 1503| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Inheritance_Test_A & -# 1456| [MoveAssignmentOperator] Inheritance_Test_A& Inheritance_Test_A::operator=(Inheritance_Test_A&&) -# 1456| : +# 1503| [MoveAssignmentOperator] Inheritance_Test_A& Inheritance_Test_A::operator=(Inheritance_Test_A&&) +# 1503| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] Inheritance_Test_A && -# 1456| [CopyConstructor] void Inheritance_Test_A::Inheritance_Test_A(Inheritance_Test_A const&) -# 1456| : +# 1503| [CopyConstructor] void Inheritance_Test_A::Inheritance_Test_A(Inheritance_Test_A const&) +# 1503| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Inheritance_Test_A & -# 1456| [MoveConstructor] void Inheritance_Test_A::Inheritance_Test_A(Inheritance_Test_A&&) -# 1456| : +# 1503| [MoveConstructor] void Inheritance_Test_A::Inheritance_Test_A(Inheritance_Test_A&&) +# 1503| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] Inheritance_Test_A && -# 1456| [Destructor] void Inheritance_Test_A::~Inheritance_Test_A() -# 1456| : -# 1459| [Constructor] void Inheritance_Test_A::Inheritance_Test_A() -# 1459| : -# 1459| : -# 1459| getInitializer(0): (no string representation) -# 1459| Type = [Struct] Inheritance_Test_B -# 1459| ValueCategory = prvalue -# 1459| getInitializer(1): [ConstructorFieldInit] constructor init of field x -# 1459| Type = [IntType] int -# 1459| ValueCategory = prvalue -# 1459| getExpr(): [Literal] 42 -# 1459| Type = [IntType] int -# 1459| Value = [Literal] 42 -# 1459| ValueCategory = prvalue -# 1459| getEntryPoint(): [BlockStmt] { ... } -# 1460| getStmt(0): [ExprStmt] ExprStmt -# 1460| getExpr(): [AssignExpr] ... = ... -# 1460| Type = [IntType] int -# 1460| ValueCategory = lvalue -# 1460| getLValue(): [ImplicitThisFieldAccess,PointerFieldAccess] y -# 1460| Type = [IntType] int -# 1460| ValueCategory = lvalue -# 1460| getQualifier(): [ThisExpr] this -# 1460| Type = [PointerType] Inheritance_Test_A * -# 1460| ValueCategory = prvalue(load) -# 1460| getRValue(): [Literal] 3 -# 1460| Type = [IntType] int -# 1460| Value = [Literal] 3 -# 1460| ValueCategory = prvalue -# 1461| getStmt(1): [ReturnStmt] return ... -# 1464| [TopLevelFunction] void array_structured_binding() -# 1464| : -# 1464| getEntryPoint(): [BlockStmt] { ... } -# 1465| getStmt(0): [DeclStmt] declaration -# 1465| getDeclarationEntry(0): [VariableDeclarationEntry] definition of xs -# 1465| Type = [ArrayType] int[2] -# 1465| getVariable().getInitializer(): [Initializer] initializer for xs -# 1465| getExpr(): [ArrayAggregateLiteral] {...} -# 1465| Type = [ArrayType] int[2] -# 1465| ValueCategory = prvalue -# 1465| getAnElementExpr(0): [Literal] 1 -# 1465| Type = [IntType] int -# 1465| Value = [Literal] 1 -# 1465| ValueCategory = prvalue -# 1465| getAnElementExpr(1): [Literal] 2 -# 1465| Type = [IntType] int -# 1465| Value = [Literal] 2 -# 1465| ValueCategory = prvalue -# 1467| getStmt(1): [BlockStmt] { ... } -# 1468| getStmt(0): [DeclStmt] declaration -# 1468| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) -# 1468| Type = [LValueReferenceType] int(&)[2] -# 1468| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) -# 1468| getExpr(): [VariableAccess] xs -# 1468| Type = [ArrayType] int[2] -# 1468| ValueCategory = lvalue -# 1468| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1468| Type = [LValueReferenceType] int(&)[2] -# 1468| ValueCategory = prvalue -# 1468| getDeclarationEntry(1): [VariableDeclarationEntry] definition of x0 -# 1468| Type = [IntType] int +# 1503| [Destructor] void Inheritance_Test_A::~Inheritance_Test_A() +# 1503| : +# 1506| [Constructor] void Inheritance_Test_A::Inheritance_Test_A() +# 1506| : +# 1506| : +# 1506| getInitializer(0): (no string representation) +# 1506| Type = [Struct] Inheritance_Test_B +# 1506| ValueCategory = prvalue +# 1506| getInitializer(1): [ConstructorFieldInit] constructor init of field x +# 1506| Type = [IntType] int +# 1506| ValueCategory = prvalue +# 1506| getExpr(): [Literal] 42 +# 1506| Type = [IntType] int +# 1506| Value = [Literal] 42 +# 1506| ValueCategory = prvalue +# 1506| getEntryPoint(): [BlockStmt] { ... } +# 1507| getStmt(0): [ExprStmt] ExprStmt +# 1507| getExpr(): [AssignExpr] ... = ... +# 1507| Type = [IntType] int +# 1507| ValueCategory = lvalue +# 1507| getLValue(): [ImplicitThisFieldAccess,PointerFieldAccess] y +# 1507| Type = [IntType] int +# 1507| ValueCategory = lvalue +# 1507| getQualifier(): [ThisExpr] this +# 1507| Type = [PointerType] Inheritance_Test_A * +# 1507| ValueCategory = prvalue(load) +# 1507| getRValue(): [Literal] 3 +# 1507| Type = [IntType] int +# 1507| Value = [Literal] 3 +# 1507| ValueCategory = prvalue +# 1508| getStmt(1): [ReturnStmt] return ... +# 1511| [TopLevelFunction] void array_structured_binding() +# 1511| : +# 1511| getEntryPoint(): [BlockStmt] { ... } +# 1512| getStmt(0): [DeclStmt] declaration +# 1512| getDeclarationEntry(0): [VariableDeclarationEntry] definition of xs +# 1512| Type = [ArrayType] int[2] +# 1512| getVariable().getInitializer(): [Initializer] initializer for xs +# 1512| getExpr(): [ArrayAggregateLiteral] {...} +# 1512| Type = [ArrayType] int[2] +# 1512| ValueCategory = prvalue +# 1512| getAnElementExpr(0): [Literal] 1 +# 1512| Type = [IntType] int +# 1512| Value = [Literal] 1 +# 1512| ValueCategory = prvalue +# 1512| getAnElementExpr(1): [Literal] 2 +# 1512| Type = [IntType] int +# 1512| Value = [Literal] 2 +# 1512| ValueCategory = prvalue +# 1514| getStmt(1): [BlockStmt] { ... } +# 1515| getStmt(0): [DeclStmt] declaration +# 1515| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) +# 1515| Type = [LValueReferenceType] int(&)[2] +# 1515| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) +# 1515| getExpr(): [VariableAccess] xs +# 1515| Type = [ArrayType] int[2] +# 1515| ValueCategory = lvalue +# 1515| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1515| Type = [LValueReferenceType] int(&)[2] +# 1515| ValueCategory = prvalue +# 1515| getDeclarationEntry(1): [VariableDeclarationEntry] definition of x0 +# 1515| Type = [IntType] int #-----| getVariable().getInitializer(): [Initializer] initializer for x0 #-----| getExpr(): [ArrayExpr] access to array #-----| Type = [IntType] int @@ -12232,8 +12350,8 @@ ir.cpp: #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [ArrayType] int[2] #-----| ValueCategory = lvalue -# 1468| getDeclarationEntry(2): [VariableDeclarationEntry] definition of x1 -# 1468| Type = [IntType] int +# 1515| getDeclarationEntry(2): [VariableDeclarationEntry] definition of x1 +# 1515| Type = [IntType] int #-----| getVariable().getInitializer(): [Initializer] initializer for x1 #-----| getExpr(): [ArrayExpr] access to array #-----| Type = [IntType] int @@ -12251,1462 +12369,1462 @@ ir.cpp: #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [ArrayType] int[2] #-----| ValueCategory = lvalue -# 1469| getStmt(1): [ExprStmt] ExprStmt -# 1469| getExpr(): [AssignExpr] ... = ... -# 1469| Type = [IntType] int -# 1469| ValueCategory = lvalue -# 1469| getLValue(): [VariableAccess] x1 -# 1469| Type = [IntType] int -# 1469| ValueCategory = lvalue -# 1469| getRValue(): [Literal] 3 -# 1469| Type = [IntType] int -# 1469| Value = [Literal] 3 -# 1469| ValueCategory = prvalue -# 1470| getStmt(2): [DeclStmt] declaration -# 1470| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx1 -# 1470| Type = [LValueReferenceType] int & -# 1470| getVariable().getInitializer(): [Initializer] initializer for rx1 -# 1470| getExpr(): [VariableAccess] x1 -# 1470| Type = [IntType] int -# 1470| ValueCategory = lvalue -# 1470| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1470| Type = [LValueReferenceType] int & -# 1470| ValueCategory = prvalue -# 1471| getStmt(3): [DeclStmt] declaration -# 1471| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1471| Type = [IntType] int -# 1471| getVariable().getInitializer(): [Initializer] initializer for x -# 1471| getExpr(): [VariableAccess] x1 -# 1471| Type = [IntType] int -# 1471| ValueCategory = prvalue(load) -# 1474| getStmt(2): [BlockStmt] { ... } -# 1475| getStmt(0): [DeclStmt] declaration -# 1475| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable -# 1475| Type = [LValueReferenceType] int(&)[2] -# 1475| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable -# 1475| getExpr(): [VariableAccess] xs -# 1475| Type = [ArrayType] int[2] -# 1475| ValueCategory = lvalue -# 1475| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1475| Type = [LValueReferenceType] int(&)[2] -# 1475| ValueCategory = prvalue -# 1476| getStmt(1): [DeclStmt] declaration -# 1476| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x0 -# 1476| Type = [LValueReferenceType] int & -# 1476| getVariable().getInitializer(): [Initializer] initializer for x0 -# 1476| getExpr(): [ArrayExpr] access to array -# 1476| Type = [IntType] int -# 1476| ValueCategory = lvalue -# 1476| getArrayBase(): [VariableAccess] unnamed_local_variable -# 1476| Type = [LValueReferenceType] int(&)[2] -# 1476| ValueCategory = prvalue(load) -# 1476| getArrayOffset(): [Literal] 0 -# 1476| Type = [IntType] int -# 1476| Value = [Literal] 0 -# 1476| ValueCategory = prvalue -# 1476| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1476| Type = [IntPointerType] int * -# 1476| ValueCategory = prvalue -# 1476| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1476| Type = [ArrayType] int[2] -# 1476| ValueCategory = lvalue -# 1476| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1476| Type = [LValueReferenceType] int & -# 1476| ValueCategory = prvalue -# 1477| getStmt(2): [DeclStmt] declaration -# 1477| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x1 -# 1477| Type = [LValueReferenceType] int & -# 1477| getVariable().getInitializer(): [Initializer] initializer for x1 -# 1477| getExpr(): [ArrayExpr] access to array -# 1477| Type = [IntType] int -# 1477| ValueCategory = lvalue -# 1477| getArrayBase(): [VariableAccess] unnamed_local_variable -# 1477| Type = [LValueReferenceType] int(&)[2] -# 1477| ValueCategory = prvalue(load) -# 1477| getArrayOffset(): [Literal] 1 -# 1477| Type = [IntType] int -# 1477| Value = [Literal] 1 -# 1477| ValueCategory = prvalue -# 1477| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1477| Type = [IntPointerType] int * -# 1477| ValueCategory = prvalue -# 1477| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1477| Type = [ArrayType] int[2] -# 1477| ValueCategory = lvalue -# 1477| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1477| Type = [LValueReferenceType] int & -# 1477| ValueCategory = prvalue -# 1478| getStmt(3): [ExprStmt] ExprStmt -# 1478| getExpr(): [AssignExpr] ... = ... -# 1478| Type = [IntType] int -# 1478| ValueCategory = lvalue -# 1478| getLValue(): [VariableAccess] x1 -# 1478| Type = [LValueReferenceType] int & -# 1478| ValueCategory = prvalue(load) -# 1478| getRValue(): [Literal] 3 -# 1478| Type = [IntType] int -# 1478| Value = [Literal] 3 -# 1478| ValueCategory = prvalue -# 1478| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1478| Type = [IntType] int -# 1478| ValueCategory = lvalue -# 1479| getStmt(4): [DeclStmt] declaration -# 1479| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx1 -# 1479| Type = [LValueReferenceType] int & -# 1479| getVariable().getInitializer(): [Initializer] initializer for rx1 -# 1479| getExpr(): [VariableAccess] x1 -# 1479| Type = [LValueReferenceType] int & -# 1479| ValueCategory = prvalue(load) -# 1479| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1479| Type = [LValueReferenceType] int & -# 1479| ValueCategory = prvalue -# 1479| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1479| Type = [IntType] int -# 1479| ValueCategory = lvalue -# 1480| getStmt(5): [DeclStmt] declaration -# 1480| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1480| Type = [IntType] int -# 1480| getVariable().getInitializer(): [Initializer] initializer for x -# 1480| getExpr(): [VariableAccess] x1 -# 1480| Type = [LValueReferenceType] int & -# 1480| ValueCategory = prvalue(load) -# 1480| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1480| Type = [IntType] int -# 1480| ValueCategory = prvalue(load) -# 1482| getStmt(3): [ReturnStmt] return ... -# 1484| [CopyAssignmentOperator] StructuredBindingDataMemberMemberStruct& StructuredBindingDataMemberMemberStruct::operator=(StructuredBindingDataMemberMemberStruct const&) -# 1484| : +# 1516| getStmt(1): [ExprStmt] ExprStmt +# 1516| getExpr(): [AssignExpr] ... = ... +# 1516| Type = [IntType] int +# 1516| ValueCategory = lvalue +# 1516| getLValue(): [VariableAccess] x1 +# 1516| Type = [IntType] int +# 1516| ValueCategory = lvalue +# 1516| getRValue(): [Literal] 3 +# 1516| Type = [IntType] int +# 1516| Value = [Literal] 3 +# 1516| ValueCategory = prvalue +# 1517| getStmt(2): [DeclStmt] declaration +# 1517| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx1 +# 1517| Type = [LValueReferenceType] int & +# 1517| getVariable().getInitializer(): [Initializer] initializer for rx1 +# 1517| getExpr(): [VariableAccess] x1 +# 1517| Type = [IntType] int +# 1517| ValueCategory = lvalue +# 1517| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1517| Type = [LValueReferenceType] int & +# 1517| ValueCategory = prvalue +# 1518| getStmt(3): [DeclStmt] declaration +# 1518| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1518| Type = [IntType] int +# 1518| getVariable().getInitializer(): [Initializer] initializer for x +# 1518| getExpr(): [VariableAccess] x1 +# 1518| Type = [IntType] int +# 1518| ValueCategory = prvalue(load) +# 1521| getStmt(2): [BlockStmt] { ... } +# 1522| getStmt(0): [DeclStmt] declaration +# 1522| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable +# 1522| Type = [LValueReferenceType] int(&)[2] +# 1522| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable +# 1522| getExpr(): [VariableAccess] xs +# 1522| Type = [ArrayType] int[2] +# 1522| ValueCategory = lvalue +# 1522| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1522| Type = [LValueReferenceType] int(&)[2] +# 1522| ValueCategory = prvalue +# 1523| getStmt(1): [DeclStmt] declaration +# 1523| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x0 +# 1523| Type = [LValueReferenceType] int & +# 1523| getVariable().getInitializer(): [Initializer] initializer for x0 +# 1523| getExpr(): [ArrayExpr] access to array +# 1523| Type = [IntType] int +# 1523| ValueCategory = lvalue +# 1523| getArrayBase(): [VariableAccess] unnamed_local_variable +# 1523| Type = [LValueReferenceType] int(&)[2] +# 1523| ValueCategory = prvalue(load) +# 1523| getArrayOffset(): [Literal] 0 +# 1523| Type = [IntType] int +# 1523| Value = [Literal] 0 +# 1523| ValueCategory = prvalue +# 1523| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1523| Type = [IntPointerType] int * +# 1523| ValueCategory = prvalue +# 1523| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1523| Type = [ArrayType] int[2] +# 1523| ValueCategory = lvalue +# 1523| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1523| Type = [LValueReferenceType] int & +# 1523| ValueCategory = prvalue +# 1524| getStmt(2): [DeclStmt] declaration +# 1524| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x1 +# 1524| Type = [LValueReferenceType] int & +# 1524| getVariable().getInitializer(): [Initializer] initializer for x1 +# 1524| getExpr(): [ArrayExpr] access to array +# 1524| Type = [IntType] int +# 1524| ValueCategory = lvalue +# 1524| getArrayBase(): [VariableAccess] unnamed_local_variable +# 1524| Type = [LValueReferenceType] int(&)[2] +# 1524| ValueCategory = prvalue(load) +# 1524| getArrayOffset(): [Literal] 1 +# 1524| Type = [IntType] int +# 1524| Value = [Literal] 1 +# 1524| ValueCategory = prvalue +# 1524| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1524| Type = [IntPointerType] int * +# 1524| ValueCategory = prvalue +# 1524| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1524| Type = [ArrayType] int[2] +# 1524| ValueCategory = lvalue +# 1524| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1524| Type = [LValueReferenceType] int & +# 1524| ValueCategory = prvalue +# 1525| getStmt(3): [ExprStmt] ExprStmt +# 1525| getExpr(): [AssignExpr] ... = ... +# 1525| Type = [IntType] int +# 1525| ValueCategory = lvalue +# 1525| getLValue(): [VariableAccess] x1 +# 1525| Type = [LValueReferenceType] int & +# 1525| ValueCategory = prvalue(load) +# 1525| getRValue(): [Literal] 3 +# 1525| Type = [IntType] int +# 1525| Value = [Literal] 3 +# 1525| ValueCategory = prvalue +# 1525| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1525| Type = [IntType] int +# 1525| ValueCategory = lvalue +# 1526| getStmt(4): [DeclStmt] declaration +# 1526| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx1 +# 1526| Type = [LValueReferenceType] int & +# 1526| getVariable().getInitializer(): [Initializer] initializer for rx1 +# 1526| getExpr(): [VariableAccess] x1 +# 1526| Type = [LValueReferenceType] int & +# 1526| ValueCategory = prvalue(load) +# 1526| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1526| Type = [LValueReferenceType] int & +# 1526| ValueCategory = prvalue +# 1526| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1526| Type = [IntType] int +# 1526| ValueCategory = lvalue +# 1527| getStmt(5): [DeclStmt] declaration +# 1527| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1527| Type = [IntType] int +# 1527| getVariable().getInitializer(): [Initializer] initializer for x +# 1527| getExpr(): [VariableAccess] x1 +# 1527| Type = [LValueReferenceType] int & +# 1527| ValueCategory = prvalue(load) +# 1527| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1527| Type = [IntType] int +# 1527| ValueCategory = prvalue(load) +# 1529| getStmt(3): [ReturnStmt] return ... +# 1531| [CopyAssignmentOperator] StructuredBindingDataMemberMemberStruct& StructuredBindingDataMemberMemberStruct::operator=(StructuredBindingDataMemberMemberStruct const&) +# 1531| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingDataMemberMemberStruct & -# 1484| [MoveAssignmentOperator] StructuredBindingDataMemberMemberStruct& StructuredBindingDataMemberMemberStruct::operator=(StructuredBindingDataMemberMemberStruct&&) -# 1484| : +# 1531| [MoveAssignmentOperator] StructuredBindingDataMemberMemberStruct& StructuredBindingDataMemberMemberStruct::operator=(StructuredBindingDataMemberMemberStruct&&) +# 1531| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] StructuredBindingDataMemberMemberStruct && -# 1484| [Constructor] void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct() -# 1484| : -# 1484| : -# 1484| getInitializer(0): [ConstructorFieldInit] constructor init of field x -# 1484| Type = [IntType] int -# 1484| ValueCategory = prvalue -# 1484| getEntryPoint(): [BlockStmt] { ... } -# 1484| getStmt(0): [ReturnStmt] return ... -# 1484| [CopyConstructor] void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct(StructuredBindingDataMemberMemberStruct const&) -# 1484| : +# 1531| [Constructor] void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct() +# 1531| : +# 1531| : +# 1531| getInitializer(0): [ConstructorFieldInit] constructor init of field x +# 1531| Type = [IntType] int +# 1531| ValueCategory = prvalue +# 1531| getEntryPoint(): [BlockStmt] { ... } +# 1531| getStmt(0): [ReturnStmt] return ... +# 1531| [CopyConstructor] void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct(StructuredBindingDataMemberMemberStruct const&) +# 1531| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingDataMemberMemberStruct & -# 1484| [MoveConstructor] void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct(StructuredBindingDataMemberMemberStruct&&) -# 1484| : +# 1531| [MoveConstructor] void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct(StructuredBindingDataMemberMemberStruct&&) +# 1531| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] StructuredBindingDataMemberMemberStruct && -# 1488| [CopyAssignmentOperator] StructuredBindingDataMemberStruct& StructuredBindingDataMemberStruct::operator=(StructuredBindingDataMemberStruct const&) -# 1488| : +# 1535| [CopyAssignmentOperator] StructuredBindingDataMemberStruct& StructuredBindingDataMemberStruct::operator=(StructuredBindingDataMemberStruct const&) +# 1535| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| [Constructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() -# 1488| : -# 1488| : -# 1488| getInitializer(0): [ConstructorFieldInit] constructor init of field i -# 1488| Type = [IntType] int -# 1488| ValueCategory = prvalue -# 1488| getInitializer(1): [ConstructorFieldInit] constructor init of field d -# 1488| Type = [DoubleType] double -# 1488| ValueCategory = prvalue -# 1488| getInitializer(2): [ConstructorFieldInit] constructor init of field r -# 1488| Type = [LValueReferenceType] int & -# 1488| ValueCategory = prvalue -# 1488| getInitializer(3): [ConstructorFieldInit] constructor init of field p -# 1488| Type = [IntPointerType] int * -# 1488| ValueCategory = prvalue -# 1488| getInitializer(4): [ConstructorFieldInit] constructor init of field xs -# 1488| Type = [CTypedefType,NestedTypedefType] ArrayType -# 1488| ValueCategory = prvalue -# 1488| getInitializer(5): [ConstructorFieldInit] constructor init of field r_alt -# 1488| Type = [CTypedefType,NestedTypedefType] RefType -# 1488| ValueCategory = prvalue -# 1488| getInitializer(6): [ConstructorFieldInit] constructor init of field m -# 1488| Type = [Struct] StructuredBindingDataMemberMemberStruct -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ConstructorCall] call to StructuredBindingDataMemberMemberStruct -# 1488| Type = [VoidType] void -# 1488| ValueCategory = prvalue -# 1488| getEntryPoint(): [BlockStmt] { ... } -# 1488| getStmt(0): [ReturnStmt] return ... -# 1488| [CopyConstructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&) -# 1488| : +# 1535| [Constructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() +# 1535| : +# 1535| : +# 1535| getInitializer(0): [ConstructorFieldInit] constructor init of field i +# 1535| Type = [IntType] int +# 1535| ValueCategory = prvalue +# 1535| getInitializer(1): [ConstructorFieldInit] constructor init of field d +# 1535| Type = [DoubleType] double +# 1535| ValueCategory = prvalue +# 1535| getInitializer(2): [ConstructorFieldInit] constructor init of field r +# 1535| Type = [LValueReferenceType] int & +# 1535| ValueCategory = prvalue +# 1535| getInitializer(3): [ConstructorFieldInit] constructor init of field p +# 1535| Type = [IntPointerType] int * +# 1535| ValueCategory = prvalue +# 1535| getInitializer(4): [ConstructorFieldInit] constructor init of field xs +# 1535| Type = [CTypedefType,NestedTypedefType] ArrayType +# 1535| ValueCategory = prvalue +# 1535| getInitializer(5): [ConstructorFieldInit] constructor init of field r_alt +# 1535| Type = [CTypedefType,NestedTypedefType] RefType +# 1535| ValueCategory = prvalue +# 1535| getInitializer(6): [ConstructorFieldInit] constructor init of field m +# 1535| Type = [Struct] StructuredBindingDataMemberMemberStruct +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ConstructorCall] call to StructuredBindingDataMemberMemberStruct +# 1535| Type = [VoidType] void +# 1535| ValueCategory = prvalue +# 1535| getEntryPoint(): [BlockStmt] { ... } +# 1535| getStmt(0): [ReturnStmt] return ... +# 1535| [CopyConstructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&) +# 1535| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| : -# 1488| getInitializer(0): [ConstructorFieldInit] constructor init of field i -# 1488| Type = [IntType] int -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ReferenceFieldAccess] i -# 1488| Type = [IntType] int -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1488| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1488| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1488| ValueCategory = lvalue -# 1488| getInitializer(1): [ConstructorFieldInit] constructor init of field d -# 1488| Type = [DoubleType] double -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ReferenceFieldAccess] d -# 1488| Type = [DoubleType] double -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1488| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1488| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1488| ValueCategory = lvalue -# 1488| getInitializer(2): [ConstructorFieldInit] constructor init of field b -# 1488| Type = [IntType] unsigned int -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ReferenceFieldAccess] b -# 1488| Type = [IntType] unsigned int -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1488| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1488| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1488| ValueCategory = lvalue -# 1488| getInitializer(3): [ConstructorFieldInit] constructor init of field r -# 1488| Type = [LValueReferenceType] int & -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ReferenceFieldAccess] r -# 1488| Type = [LValueReferenceType] int & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1488| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1488| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1488| ValueCategory = lvalue -# 1488| getInitializer(4): [ConstructorFieldInit] constructor init of field p -# 1488| Type = [IntPointerType] int * -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ReferenceFieldAccess] p -# 1488| Type = [IntPointerType] int * -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1488| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1488| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1488| ValueCategory = lvalue -# 1488| getInitializer(5): [ConstructorFieldInit] constructor init of field xs -# 1488| Type = [CTypedefType,NestedTypedefType] ArrayType -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ReferenceFieldAccess] xs -# 1488| Type = [CTypedefType,NestedTypedefType] ArrayType -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1488| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1488| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1488| ValueCategory = lvalue -# 1488| getInitializer(6): [ConstructorFieldInit] constructor init of field r_alt -# 1488| Type = [CTypedefType,NestedTypedefType] RefType -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ReferenceFieldAccess] r_alt -# 1488| Type = [CTypedefType,NestedTypedefType] RefType -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1488| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1488| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1488| ValueCategory = lvalue -# 1488| getInitializer(7): [ConstructorFieldInit] constructor init of field m -# 1488| Type = [Struct] StructuredBindingDataMemberMemberStruct -# 1488| ValueCategory = prvalue -# 1488| getExpr(): [ReferenceFieldAccess] m -# 1488| Type = [Struct] StructuredBindingDataMemberMemberStruct -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1488| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1488| ValueCategory = prvalue(load) -# 1488| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1488| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1488| ValueCategory = lvalue -# 1488| getEntryPoint(): [BlockStmt] { ... } -# 1488| getStmt(0): [ReturnStmt] return ... -# 1488| [MoveConstructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct&&) -# 1488| : +# 1535| : +# 1535| getInitializer(0): [ConstructorFieldInit] constructor init of field i +# 1535| Type = [IntType] int +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ReferenceFieldAccess] i +# 1535| Type = [IntType] int +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1535| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1535| Type = [SpecifiedType] const StructuredBindingDataMemberStruct +# 1535| ValueCategory = lvalue +# 1535| getInitializer(1): [ConstructorFieldInit] constructor init of field d +# 1535| Type = [DoubleType] double +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ReferenceFieldAccess] d +# 1535| Type = [DoubleType] double +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1535| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1535| Type = [SpecifiedType] const StructuredBindingDataMemberStruct +# 1535| ValueCategory = lvalue +# 1535| getInitializer(2): [ConstructorFieldInit] constructor init of field b +# 1535| Type = [IntType] unsigned int +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ReferenceFieldAccess] b +# 1535| Type = [IntType] unsigned int +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1535| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1535| Type = [SpecifiedType] const StructuredBindingDataMemberStruct +# 1535| ValueCategory = lvalue +# 1535| getInitializer(3): [ConstructorFieldInit] constructor init of field r +# 1535| Type = [LValueReferenceType] int & +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ReferenceFieldAccess] r +# 1535| Type = [LValueReferenceType] int & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1535| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1535| Type = [SpecifiedType] const StructuredBindingDataMemberStruct +# 1535| ValueCategory = lvalue +# 1535| getInitializer(4): [ConstructorFieldInit] constructor init of field p +# 1535| Type = [IntPointerType] int * +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ReferenceFieldAccess] p +# 1535| Type = [IntPointerType] int * +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1535| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1535| Type = [SpecifiedType] const StructuredBindingDataMemberStruct +# 1535| ValueCategory = lvalue +# 1535| getInitializer(5): [ConstructorFieldInit] constructor init of field xs +# 1535| Type = [CTypedefType,NestedTypedefType] ArrayType +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ReferenceFieldAccess] xs +# 1535| Type = [CTypedefType,NestedTypedefType] ArrayType +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1535| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1535| Type = [SpecifiedType] const StructuredBindingDataMemberStruct +# 1535| ValueCategory = lvalue +# 1535| getInitializer(6): [ConstructorFieldInit] constructor init of field r_alt +# 1535| Type = [CTypedefType,NestedTypedefType] RefType +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ReferenceFieldAccess] r_alt +# 1535| Type = [CTypedefType,NestedTypedefType] RefType +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1535| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1535| Type = [SpecifiedType] const StructuredBindingDataMemberStruct +# 1535| ValueCategory = lvalue +# 1535| getInitializer(7): [ConstructorFieldInit] constructor init of field m +# 1535| Type = [Struct] StructuredBindingDataMemberMemberStruct +# 1535| ValueCategory = prvalue +# 1535| getExpr(): [ReferenceFieldAccess] m +# 1535| Type = [Struct] StructuredBindingDataMemberMemberStruct +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1535| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & +# 1535| ValueCategory = prvalue(load) +# 1535| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1535| Type = [SpecifiedType] const StructuredBindingDataMemberStruct +# 1535| ValueCategory = lvalue +# 1535| getEntryPoint(): [BlockStmt] { ... } +# 1535| getStmt(0): [ReturnStmt] return ... +# 1535| [MoveConstructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct&&) +# 1535| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] StructuredBindingDataMemberStruct && -# 1501| [TopLevelFunction] void data_member_structured_binding() -# 1501| : -# 1501| getEntryPoint(): [BlockStmt] { ... } -# 1502| getStmt(0): [DeclStmt] declaration -# 1502| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 1502| Type = [Struct] StructuredBindingDataMemberStruct -# 1502| getVariable().getInitializer(): [Initializer] initializer for s -# 1502| getExpr(): [ConstructorCall] call to StructuredBindingDataMemberStruct -# 1502| Type = [VoidType] void -# 1502| ValueCategory = prvalue -# 1504| getStmt(1): [BlockStmt] { ... } -# 1505| getStmt(0): [DeclStmt] declaration -# 1505| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) -# 1505| getExpr(): [VariableAccess] s -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = prvalue(load) -# 1505| getDeclarationEntry(1): [VariableDeclarationEntry] definition of i -# 1505| Type = [IntType] int +# 1548| [TopLevelFunction] void data_member_structured_binding() +# 1548| : +# 1548| getEntryPoint(): [BlockStmt] { ... } +# 1549| getStmt(0): [DeclStmt] declaration +# 1549| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 1549| Type = [Struct] StructuredBindingDataMemberStruct +# 1549| getVariable().getInitializer(): [Initializer] initializer for s +# 1549| getExpr(): [ConstructorCall] call to StructuredBindingDataMemberStruct +# 1549| Type = [VoidType] void +# 1549| ValueCategory = prvalue +# 1551| getStmt(1): [BlockStmt] { ... } +# 1552| getStmt(0): [DeclStmt] declaration +# 1552| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) +# 1552| getExpr(): [VariableAccess] s +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = prvalue(load) +# 1552| getDeclarationEntry(1): [VariableDeclarationEntry] definition of i +# 1552| Type = [IntType] int #-----| getVariable().getInitializer(): [Initializer] initializer for i -# 1505| getExpr(): [ValueFieldAccess] i -# 1505| Type = [IntType] int -# 1505| ValueCategory = lvalue -# 1505| getQualifier(): [VariableAccess] (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = lvalue -# 1505| getDeclarationEntry(2): [VariableDeclarationEntry] definition of d -# 1505| Type = [DoubleType] double +# 1552| getExpr(): [ValueFieldAccess] i +# 1552| Type = [IntType] int +# 1552| ValueCategory = lvalue +# 1552| getQualifier(): [VariableAccess] (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = lvalue +# 1552| getDeclarationEntry(2): [VariableDeclarationEntry] definition of d +# 1552| Type = [DoubleType] double #-----| getVariable().getInitializer(): [Initializer] initializer for d -# 1505| getExpr(): [ValueFieldAccess] d -# 1505| Type = [DoubleType] double -# 1505| ValueCategory = lvalue -# 1505| getQualifier(): [VariableAccess] (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = lvalue -# 1505| getDeclarationEntry(3): [VariableDeclarationEntry] definition of b -# 1505| Type = [IntType] unsigned int +# 1552| getExpr(): [ValueFieldAccess] d +# 1552| Type = [DoubleType] double +# 1552| ValueCategory = lvalue +# 1552| getQualifier(): [VariableAccess] (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = lvalue +# 1552| getDeclarationEntry(3): [VariableDeclarationEntry] definition of b +# 1552| Type = [IntType] unsigned int #-----| getVariable().getInitializer(): [Initializer] initializer for b -# 1505| getExpr(): [ValueFieldAccess] b -# 1505| Type = [IntType] unsigned int -# 1505| ValueCategory = lvalue -# 1505| getQualifier(): [VariableAccess] (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = lvalue -# 1505| getDeclarationEntry(4): [VariableDeclarationEntry] definition of r -# 1505| Type = [IntType] int +# 1552| getExpr(): [ValueFieldAccess] b +# 1552| Type = [IntType] unsigned int +# 1552| ValueCategory = lvalue +# 1552| getQualifier(): [VariableAccess] (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = lvalue +# 1552| getDeclarationEntry(4): [VariableDeclarationEntry] definition of r +# 1552| Type = [IntType] int #-----| getVariable().getInitializer(): [Initializer] initializer for r -# 1505| getExpr(): [ValueFieldAccess] r -# 1505| Type = [LValueReferenceType] int & -# 1505| ValueCategory = prvalue(load) -# 1505| getQualifier(): [VariableAccess] (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = lvalue -# 1505| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1505| Type = [IntType] int -# 1505| ValueCategory = lvalue -# 1505| getDeclarationEntry(5): [VariableDeclarationEntry] definition of p -# 1505| Type = [IntPointerType] int * +# 1552| getExpr(): [ValueFieldAccess] r +# 1552| Type = [LValueReferenceType] int & +# 1552| ValueCategory = prvalue(load) +# 1552| getQualifier(): [VariableAccess] (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = lvalue +# 1552| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1552| Type = [IntType] int +# 1552| ValueCategory = lvalue +# 1552| getDeclarationEntry(5): [VariableDeclarationEntry] definition of p +# 1552| Type = [IntPointerType] int * #-----| getVariable().getInitializer(): [Initializer] initializer for p -# 1505| getExpr(): [ValueFieldAccess] p -# 1505| Type = [IntPointerType] int * -# 1505| ValueCategory = lvalue -# 1505| getQualifier(): [VariableAccess] (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = lvalue -# 1505| getDeclarationEntry(6): [VariableDeclarationEntry] definition of xs -# 1505| Type = [CTypedefType,NestedTypedefType] ArrayType +# 1552| getExpr(): [ValueFieldAccess] p +# 1552| Type = [IntPointerType] int * +# 1552| ValueCategory = lvalue +# 1552| getQualifier(): [VariableAccess] (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = lvalue +# 1552| getDeclarationEntry(6): [VariableDeclarationEntry] definition of xs +# 1552| Type = [CTypedefType,NestedTypedefType] ArrayType #-----| getVariable().getInitializer(): [Initializer] initializer for xs -# 1505| getExpr(): [ValueFieldAccess] xs -# 1505| Type = [CTypedefType,NestedTypedefType] ArrayType -# 1505| ValueCategory = lvalue -# 1505| getQualifier(): [VariableAccess] (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = lvalue -# 1505| getDeclarationEntry(7): [VariableDeclarationEntry] definition of r_alt -# 1505| Type = [IntType] int +# 1552| getExpr(): [ValueFieldAccess] xs +# 1552| Type = [CTypedefType,NestedTypedefType] ArrayType +# 1552| ValueCategory = lvalue +# 1552| getQualifier(): [VariableAccess] (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = lvalue +# 1552| getDeclarationEntry(7): [VariableDeclarationEntry] definition of r_alt +# 1552| Type = [IntType] int #-----| getVariable().getInitializer(): [Initializer] initializer for r_alt -# 1505| getExpr(): [ValueFieldAccess] r_alt -# 1505| Type = [CTypedefType,NestedTypedefType] RefType -# 1505| ValueCategory = prvalue(load) -# 1505| getQualifier(): [VariableAccess] (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = lvalue -# 1505| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1505| Type = [IntType] int -# 1505| ValueCategory = lvalue -# 1505| getDeclarationEntry(8): [VariableDeclarationEntry] definition of m -# 1505| Type = [Struct] StructuredBindingDataMemberMemberStruct +# 1552| getExpr(): [ValueFieldAccess] r_alt +# 1552| Type = [CTypedefType,NestedTypedefType] RefType +# 1552| ValueCategory = prvalue(load) +# 1552| getQualifier(): [VariableAccess] (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = lvalue +# 1552| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1552| Type = [IntType] int +# 1552| ValueCategory = lvalue +# 1552| getDeclarationEntry(8): [VariableDeclarationEntry] definition of m +# 1552| Type = [Struct] StructuredBindingDataMemberMemberStruct #-----| getVariable().getInitializer(): [Initializer] initializer for m -# 1505| getExpr(): [ValueFieldAccess] m -# 1505| Type = [Struct] StructuredBindingDataMemberMemberStruct -# 1505| ValueCategory = lvalue -# 1505| getQualifier(): [VariableAccess] (unnamed local variable) -# 1505| Type = [Struct] StructuredBindingDataMemberStruct -# 1505| ValueCategory = lvalue -# 1506| getStmt(1): [ExprStmt] ExprStmt -# 1506| getExpr(): [AssignExpr] ... = ... -# 1506| Type = [DoubleType] double -# 1506| ValueCategory = lvalue -# 1506| getLValue(): [VariableAccess] d -# 1506| Type = [DoubleType] double -# 1506| ValueCategory = lvalue -# 1506| getRValue(): [Literal] 4.0 -# 1506| Type = [DoubleType] double -# 1506| Value = [Literal] 4.0 -# 1506| ValueCategory = prvalue -# 1507| getStmt(2): [DeclStmt] declaration -# 1507| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1507| Type = [LValueReferenceType] double & -# 1507| getVariable().getInitializer(): [Initializer] initializer for rd -# 1507| getExpr(): [VariableAccess] d -# 1507| Type = [DoubleType] double -# 1507| ValueCategory = lvalue -# 1507| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1507| Type = [LValueReferenceType] double & -# 1507| ValueCategory = prvalue -# 1508| getStmt(3): [DeclStmt] declaration -# 1508| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1508| Type = [IntType] int -# 1508| getVariable().getInitializer(): [Initializer] initializer for v -# 1508| getExpr(): [VariableAccess] i -# 1508| Type = [IntType] int -# 1508| ValueCategory = prvalue(load) -# 1509| getStmt(4): [ExprStmt] ExprStmt -# 1509| getExpr(): [AssignExpr] ... = ... -# 1509| Type = [IntType] int -# 1509| ValueCategory = lvalue -# 1509| getLValue(): [VariableAccess] r -# 1509| Type = [IntType] int -# 1509| ValueCategory = lvalue -# 1509| getRValue(): [Literal] 5 -# 1509| Type = [IntType] int -# 1509| Value = [Literal] 5 -# 1509| ValueCategory = prvalue -# 1510| getStmt(5): [ExprStmt] ExprStmt -# 1510| getExpr(): [AssignExpr] ... = ... -# 1510| Type = [IntType] int -# 1510| ValueCategory = lvalue -# 1510| getLValue(): [PointerDereferenceExpr] * ... -# 1510| Type = [IntType] int -# 1510| ValueCategory = lvalue -# 1510| getOperand(): [VariableAccess] p -# 1510| Type = [IntPointerType] int * -# 1510| ValueCategory = prvalue(load) -# 1510| getRValue(): [Literal] 6 -# 1510| Type = [IntType] int -# 1510| Value = [Literal] 6 -# 1510| ValueCategory = prvalue -# 1511| getStmt(6): [DeclStmt] declaration -# 1511| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1511| Type = [LValueReferenceType] int & -# 1511| getVariable().getInitializer(): [Initializer] initializer for rr -# 1511| getExpr(): [VariableAccess] r -# 1511| Type = [IntType] int -# 1511| ValueCategory = lvalue -# 1511| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1511| Type = [LValueReferenceType] int & -# 1511| ValueCategory = prvalue -# 1512| getStmt(7): [DeclStmt] declaration -# 1512| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pr -# 1512| Type = [IntPointerType] int * -# 1512| getVariable().getInitializer(): [Initializer] initializer for pr -# 1512| getExpr(): [AddressOfExpr] & ... -# 1512| Type = [IntPointerType] int * -# 1512| ValueCategory = prvalue -# 1512| getOperand(): [VariableAccess] r -# 1512| Type = [IntType] int -# 1512| ValueCategory = lvalue -# 1513| getStmt(8): [DeclStmt] declaration -# 1513| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1513| Type = [IntType] int -# 1513| getVariable().getInitializer(): [Initializer] initializer for w -# 1513| getExpr(): [VariableAccess] r -# 1513| Type = [IntType] int -# 1513| ValueCategory = prvalue(load) -# 1516| getStmt(2): [BlockStmt] { ... } -# 1517| getStmt(0): [DeclStmt] declaration -# 1517| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable -# 1517| Type = [Struct] StructuredBindingDataMemberStruct -# 1517| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable -# 1517| getExpr(): [VariableAccess] s -# 1517| Type = [Struct] StructuredBindingDataMemberStruct -# 1517| ValueCategory = prvalue(load) -# 1518| getStmt(1): [DeclStmt] declaration -# 1518| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1518| Type = [LValueReferenceType] int & -# 1518| getVariable().getInitializer(): [Initializer] initializer for i -# 1518| getExpr(): [ValueFieldAccess] i -# 1518| Type = [IntType] int -# 1518| ValueCategory = lvalue -# 1518| getQualifier(): [VariableAccess] unnamed_local_variable -# 1518| Type = [Struct] StructuredBindingDataMemberStruct -# 1518| ValueCategory = lvalue -# 1518| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1518| Type = [LValueReferenceType] int & -# 1518| ValueCategory = prvalue -# 1519| getStmt(2): [DeclStmt] declaration -# 1519| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 1519| Type = [LValueReferenceType] double & -# 1519| getVariable().getInitializer(): [Initializer] initializer for d -# 1519| getExpr(): [ValueFieldAccess] d -# 1519| Type = [DoubleType] double -# 1519| ValueCategory = lvalue -# 1519| getQualifier(): [VariableAccess] unnamed_local_variable -# 1519| Type = [Struct] StructuredBindingDataMemberStruct -# 1519| ValueCategory = lvalue -# 1519| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1519| Type = [LValueReferenceType] double & -# 1519| ValueCategory = prvalue -# 1521| getStmt(3): [DeclStmt] declaration -# 1521| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r -# 1521| Type = [LValueReferenceType] int & -# 1521| getVariable().getInitializer(): [Initializer] initializer for r -# 1521| getExpr(): [ValueFieldAccess] r -# 1521| Type = [LValueReferenceType] int & -# 1521| ValueCategory = prvalue(load) -# 1521| getQualifier(): [VariableAccess] unnamed_local_variable -# 1521| Type = [Struct] StructuredBindingDataMemberStruct -# 1521| ValueCategory = lvalue -# 1521| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1521| Type = [LValueReferenceType] int & -# 1521| ValueCategory = prvalue -# 1521| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1521| Type = [IntType] int -# 1521| ValueCategory = lvalue -# 1522| getStmt(4): [DeclStmt] declaration -# 1522| getDeclarationEntry(0): [VariableDeclarationEntry] definition of p -# 1522| Type = [LValueReferenceType] int *& -# 1522| getVariable().getInitializer(): [Initializer] initializer for p -# 1522| getExpr(): [ValueFieldAccess] p -# 1522| Type = [IntPointerType] int * -# 1522| ValueCategory = lvalue -# 1522| getQualifier(): [VariableAccess] unnamed_local_variable -# 1522| Type = [Struct] StructuredBindingDataMemberStruct -# 1522| ValueCategory = lvalue -# 1522| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1522| Type = [LValueReferenceType] int *& -# 1522| ValueCategory = prvalue -# 1523| getStmt(5): [ExprStmt] ExprStmt -# 1523| getExpr(): [AssignExpr] ... = ... -# 1523| Type = [DoubleType] double -# 1523| ValueCategory = lvalue -# 1523| getLValue(): [VariableAccess] d -# 1523| Type = [LValueReferenceType] double & -# 1523| ValueCategory = prvalue(load) -# 1523| getRValue(): [Literal] 4.0 -# 1523| Type = [DoubleType] double -# 1523| Value = [Literal] 4.0 -# 1523| ValueCategory = prvalue -# 1523| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1523| Type = [DoubleType] double -# 1523| ValueCategory = lvalue -# 1524| getStmt(6): [DeclStmt] declaration -# 1524| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1524| Type = [LValueReferenceType] double & -# 1524| getVariable().getInitializer(): [Initializer] initializer for rd -# 1524| getExpr(): [VariableAccess] d -# 1524| Type = [LValueReferenceType] double & -# 1524| ValueCategory = prvalue(load) -# 1524| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1524| Type = [LValueReferenceType] double & -# 1524| ValueCategory = prvalue -# 1524| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1524| Type = [DoubleType] double -# 1524| ValueCategory = lvalue -# 1525| getStmt(7): [DeclStmt] declaration -# 1525| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1525| Type = [IntType] int -# 1525| getVariable().getInitializer(): [Initializer] initializer for v -# 1525| getExpr(): [VariableAccess] i -# 1525| Type = [LValueReferenceType] int & -# 1525| ValueCategory = prvalue(load) -# 1525| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1525| Type = [IntType] int -# 1525| ValueCategory = prvalue(load) -# 1526| getStmt(8): [ExprStmt] ExprStmt -# 1526| getExpr(): [AssignExpr] ... = ... -# 1526| Type = [IntType] int -# 1526| ValueCategory = lvalue -# 1526| getLValue(): [VariableAccess] r -# 1526| Type = [LValueReferenceType] int & -# 1526| ValueCategory = prvalue(load) -# 1526| getRValue(): [Literal] 5 -# 1526| Type = [IntType] int -# 1526| Value = [Literal] 5 -# 1526| ValueCategory = prvalue -# 1526| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1526| Type = [IntType] int -# 1526| ValueCategory = lvalue -# 1527| getStmt(9): [ExprStmt] ExprStmt -# 1527| getExpr(): [AssignExpr] ... = ... -# 1527| Type = [IntType] int -# 1527| ValueCategory = lvalue -# 1527| getLValue(): [PointerDereferenceExpr] * ... -# 1527| Type = [IntType] int -# 1527| ValueCategory = lvalue -# 1527| getOperand(): [VariableAccess] p -# 1527| Type = [LValueReferenceType] int *& -# 1527| ValueCategory = prvalue(load) -# 1527| getOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1527| Type = [IntPointerType] int * -# 1527| ValueCategory = prvalue(load) -# 1527| getRValue(): [Literal] 6 -# 1527| Type = [IntType] int -# 1527| Value = [Literal] 6 -# 1527| ValueCategory = prvalue -# 1528| getStmt(10): [DeclStmt] declaration -# 1528| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1528| Type = [LValueReferenceType] int & -# 1528| getVariable().getInitializer(): [Initializer] initializer for rr -# 1528| getExpr(): [VariableAccess] r -# 1528| Type = [LValueReferenceType] int & -# 1528| ValueCategory = prvalue(load) -# 1528| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1528| Type = [LValueReferenceType] int & -# 1528| ValueCategory = prvalue -# 1528| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1528| Type = [IntType] int -# 1528| ValueCategory = lvalue -# 1529| getStmt(11): [DeclStmt] declaration -# 1529| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pr -# 1529| Type = [IntPointerType] int * -# 1529| getVariable().getInitializer(): [Initializer] initializer for pr -# 1529| getExpr(): [AddressOfExpr] & ... -# 1529| Type = [IntPointerType] int * -# 1529| ValueCategory = prvalue -# 1529| getOperand(): [VariableAccess] r -# 1529| Type = [LValueReferenceType] int & -# 1529| ValueCategory = prvalue(load) -# 1529| getOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1529| Type = [IntType] int -# 1529| ValueCategory = lvalue -# 1530| getStmt(12): [DeclStmt] declaration -# 1530| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1530| Type = [IntType] int -# 1530| getVariable().getInitializer(): [Initializer] initializer for w -# 1530| getExpr(): [VariableAccess] r -# 1530| Type = [LValueReferenceType] int & -# 1530| ValueCategory = prvalue(load) -# 1530| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1530| Type = [IntType] int -# 1530| ValueCategory = prvalue(load) -# 1532| getStmt(3): [ReturnStmt] return ... -# 1541| [CopyAssignmentOperator] StructuredBindingTupleRefGet& StructuredBindingTupleRefGet::operator=(StructuredBindingTupleRefGet const&) -# 1541| : +# 1552| getExpr(): [ValueFieldAccess] m +# 1552| Type = [Struct] StructuredBindingDataMemberMemberStruct +# 1552| ValueCategory = lvalue +# 1552| getQualifier(): [VariableAccess] (unnamed local variable) +# 1552| Type = [Struct] StructuredBindingDataMemberStruct +# 1552| ValueCategory = lvalue +# 1553| getStmt(1): [ExprStmt] ExprStmt +# 1553| getExpr(): [AssignExpr] ... = ... +# 1553| Type = [DoubleType] double +# 1553| ValueCategory = lvalue +# 1553| getLValue(): [VariableAccess] d +# 1553| Type = [DoubleType] double +# 1553| ValueCategory = lvalue +# 1553| getRValue(): [Literal] 4.0 +# 1553| Type = [DoubleType] double +# 1553| Value = [Literal] 4.0 +# 1553| ValueCategory = prvalue +# 1554| getStmt(2): [DeclStmt] declaration +# 1554| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd +# 1554| Type = [LValueReferenceType] double & +# 1554| getVariable().getInitializer(): [Initializer] initializer for rd +# 1554| getExpr(): [VariableAccess] d +# 1554| Type = [DoubleType] double +# 1554| ValueCategory = lvalue +# 1554| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1554| Type = [LValueReferenceType] double & +# 1554| ValueCategory = prvalue +# 1555| getStmt(3): [DeclStmt] declaration +# 1555| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1555| Type = [IntType] int +# 1555| getVariable().getInitializer(): [Initializer] initializer for v +# 1555| getExpr(): [VariableAccess] i +# 1555| Type = [IntType] int +# 1555| ValueCategory = prvalue(load) +# 1556| getStmt(4): [ExprStmt] ExprStmt +# 1556| getExpr(): [AssignExpr] ... = ... +# 1556| Type = [IntType] int +# 1556| ValueCategory = lvalue +# 1556| getLValue(): [VariableAccess] r +# 1556| Type = [IntType] int +# 1556| ValueCategory = lvalue +# 1556| getRValue(): [Literal] 5 +# 1556| Type = [IntType] int +# 1556| Value = [Literal] 5 +# 1556| ValueCategory = prvalue +# 1557| getStmt(5): [ExprStmt] ExprStmt +# 1557| getExpr(): [AssignExpr] ... = ... +# 1557| Type = [IntType] int +# 1557| ValueCategory = lvalue +# 1557| getLValue(): [PointerDereferenceExpr] * ... +# 1557| Type = [IntType] int +# 1557| ValueCategory = lvalue +# 1557| getOperand(): [VariableAccess] p +# 1557| Type = [IntPointerType] int * +# 1557| ValueCategory = prvalue(load) +# 1557| getRValue(): [Literal] 6 +# 1557| Type = [IntType] int +# 1557| Value = [Literal] 6 +# 1557| ValueCategory = prvalue +# 1558| getStmt(6): [DeclStmt] declaration +# 1558| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr +# 1558| Type = [LValueReferenceType] int & +# 1558| getVariable().getInitializer(): [Initializer] initializer for rr +# 1558| getExpr(): [VariableAccess] r +# 1558| Type = [IntType] int +# 1558| ValueCategory = lvalue +# 1558| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1558| Type = [LValueReferenceType] int & +# 1558| ValueCategory = prvalue +# 1559| getStmt(7): [DeclStmt] declaration +# 1559| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pr +# 1559| Type = [IntPointerType] int * +# 1559| getVariable().getInitializer(): [Initializer] initializer for pr +# 1559| getExpr(): [AddressOfExpr] & ... +# 1559| Type = [IntPointerType] int * +# 1559| ValueCategory = prvalue +# 1559| getOperand(): [VariableAccess] r +# 1559| Type = [IntType] int +# 1559| ValueCategory = lvalue +# 1560| getStmt(8): [DeclStmt] declaration +# 1560| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1560| Type = [IntType] int +# 1560| getVariable().getInitializer(): [Initializer] initializer for w +# 1560| getExpr(): [VariableAccess] r +# 1560| Type = [IntType] int +# 1560| ValueCategory = prvalue(load) +# 1563| getStmt(2): [BlockStmt] { ... } +# 1564| getStmt(0): [DeclStmt] declaration +# 1564| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable +# 1564| Type = [Struct] StructuredBindingDataMemberStruct +# 1564| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable +# 1564| getExpr(): [VariableAccess] s +# 1564| Type = [Struct] StructuredBindingDataMemberStruct +# 1564| ValueCategory = prvalue(load) +# 1565| getStmt(1): [DeclStmt] declaration +# 1565| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 1565| Type = [LValueReferenceType] int & +# 1565| getVariable().getInitializer(): [Initializer] initializer for i +# 1565| getExpr(): [ValueFieldAccess] i +# 1565| Type = [IntType] int +# 1565| ValueCategory = lvalue +# 1565| getQualifier(): [VariableAccess] unnamed_local_variable +# 1565| Type = [Struct] StructuredBindingDataMemberStruct +# 1565| ValueCategory = lvalue +# 1565| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1565| Type = [LValueReferenceType] int & +# 1565| ValueCategory = prvalue +# 1566| getStmt(2): [DeclStmt] declaration +# 1566| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 1566| Type = [LValueReferenceType] double & +# 1566| getVariable().getInitializer(): [Initializer] initializer for d +# 1566| getExpr(): [ValueFieldAccess] d +# 1566| Type = [DoubleType] double +# 1566| ValueCategory = lvalue +# 1566| getQualifier(): [VariableAccess] unnamed_local_variable +# 1566| Type = [Struct] StructuredBindingDataMemberStruct +# 1566| ValueCategory = lvalue +# 1566| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1566| Type = [LValueReferenceType] double & +# 1566| ValueCategory = prvalue +# 1568| getStmt(3): [DeclStmt] declaration +# 1568| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r +# 1568| Type = [LValueReferenceType] int & +# 1568| getVariable().getInitializer(): [Initializer] initializer for r +# 1568| getExpr(): [ValueFieldAccess] r +# 1568| Type = [LValueReferenceType] int & +# 1568| ValueCategory = prvalue(load) +# 1568| getQualifier(): [VariableAccess] unnamed_local_variable +# 1568| Type = [Struct] StructuredBindingDataMemberStruct +# 1568| ValueCategory = lvalue +# 1568| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1568| Type = [LValueReferenceType] int & +# 1568| ValueCategory = prvalue +# 1568| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1568| Type = [IntType] int +# 1568| ValueCategory = lvalue +# 1569| getStmt(4): [DeclStmt] declaration +# 1569| getDeclarationEntry(0): [VariableDeclarationEntry] definition of p +# 1569| Type = [LValueReferenceType] int *& +# 1569| getVariable().getInitializer(): [Initializer] initializer for p +# 1569| getExpr(): [ValueFieldAccess] p +# 1569| Type = [IntPointerType] int * +# 1569| ValueCategory = lvalue +# 1569| getQualifier(): [VariableAccess] unnamed_local_variable +# 1569| Type = [Struct] StructuredBindingDataMemberStruct +# 1569| ValueCategory = lvalue +# 1569| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1569| Type = [LValueReferenceType] int *& +# 1569| ValueCategory = prvalue +# 1570| getStmt(5): [ExprStmt] ExprStmt +# 1570| getExpr(): [AssignExpr] ... = ... +# 1570| Type = [DoubleType] double +# 1570| ValueCategory = lvalue +# 1570| getLValue(): [VariableAccess] d +# 1570| Type = [LValueReferenceType] double & +# 1570| ValueCategory = prvalue(load) +# 1570| getRValue(): [Literal] 4.0 +# 1570| Type = [DoubleType] double +# 1570| Value = [Literal] 4.0 +# 1570| ValueCategory = prvalue +# 1570| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1570| Type = [DoubleType] double +# 1570| ValueCategory = lvalue +# 1571| getStmt(6): [DeclStmt] declaration +# 1571| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd +# 1571| Type = [LValueReferenceType] double & +# 1571| getVariable().getInitializer(): [Initializer] initializer for rd +# 1571| getExpr(): [VariableAccess] d +# 1571| Type = [LValueReferenceType] double & +# 1571| ValueCategory = prvalue(load) +# 1571| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1571| Type = [LValueReferenceType] double & +# 1571| ValueCategory = prvalue +# 1571| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1571| Type = [DoubleType] double +# 1571| ValueCategory = lvalue +# 1572| getStmt(7): [DeclStmt] declaration +# 1572| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1572| Type = [IntType] int +# 1572| getVariable().getInitializer(): [Initializer] initializer for v +# 1572| getExpr(): [VariableAccess] i +# 1572| Type = [LValueReferenceType] int & +# 1572| ValueCategory = prvalue(load) +# 1572| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1572| Type = [IntType] int +# 1572| ValueCategory = prvalue(load) +# 1573| getStmt(8): [ExprStmt] ExprStmt +# 1573| getExpr(): [AssignExpr] ... = ... +# 1573| Type = [IntType] int +# 1573| ValueCategory = lvalue +# 1573| getLValue(): [VariableAccess] r +# 1573| Type = [LValueReferenceType] int & +# 1573| ValueCategory = prvalue(load) +# 1573| getRValue(): [Literal] 5 +# 1573| Type = [IntType] int +# 1573| Value = [Literal] 5 +# 1573| ValueCategory = prvalue +# 1573| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1573| Type = [IntType] int +# 1573| ValueCategory = lvalue +# 1574| getStmt(9): [ExprStmt] ExprStmt +# 1574| getExpr(): [AssignExpr] ... = ... +# 1574| Type = [IntType] int +# 1574| ValueCategory = lvalue +# 1574| getLValue(): [PointerDereferenceExpr] * ... +# 1574| Type = [IntType] int +# 1574| ValueCategory = lvalue +# 1574| getOperand(): [VariableAccess] p +# 1574| Type = [LValueReferenceType] int *& +# 1574| ValueCategory = prvalue(load) +# 1574| getOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1574| Type = [IntPointerType] int * +# 1574| ValueCategory = prvalue(load) +# 1574| getRValue(): [Literal] 6 +# 1574| Type = [IntType] int +# 1574| Value = [Literal] 6 +# 1574| ValueCategory = prvalue +# 1575| getStmt(10): [DeclStmt] declaration +# 1575| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr +# 1575| Type = [LValueReferenceType] int & +# 1575| getVariable().getInitializer(): [Initializer] initializer for rr +# 1575| getExpr(): [VariableAccess] r +# 1575| Type = [LValueReferenceType] int & +# 1575| ValueCategory = prvalue(load) +# 1575| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1575| Type = [LValueReferenceType] int & +# 1575| ValueCategory = prvalue +# 1575| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1575| Type = [IntType] int +# 1575| ValueCategory = lvalue +# 1576| getStmt(11): [DeclStmt] declaration +# 1576| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pr +# 1576| Type = [IntPointerType] int * +# 1576| getVariable().getInitializer(): [Initializer] initializer for pr +# 1576| getExpr(): [AddressOfExpr] & ... +# 1576| Type = [IntPointerType] int * +# 1576| ValueCategory = prvalue +# 1576| getOperand(): [VariableAccess] r +# 1576| Type = [LValueReferenceType] int & +# 1576| ValueCategory = prvalue(load) +# 1576| getOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1576| Type = [IntType] int +# 1576| ValueCategory = lvalue +# 1577| getStmt(12): [DeclStmt] declaration +# 1577| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1577| Type = [IntType] int +# 1577| getVariable().getInitializer(): [Initializer] initializer for w +# 1577| getExpr(): [VariableAccess] r +# 1577| Type = [LValueReferenceType] int & +# 1577| ValueCategory = prvalue(load) +# 1577| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1577| Type = [IntType] int +# 1577| ValueCategory = prvalue(load) +# 1579| getStmt(3): [ReturnStmt] return ... +# 1588| [CopyAssignmentOperator] StructuredBindingTupleRefGet& StructuredBindingTupleRefGet::operator=(StructuredBindingTupleRefGet const&) +# 1588| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & -# 1541| [Constructor] void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet() -# 1541| : -# 1541| : -# 1541| getInitializer(0): [ConstructorFieldInit] constructor init of field i -# 1541| Type = [IntType] int -# 1541| ValueCategory = prvalue -# 1541| getInitializer(1): [ConstructorFieldInit] constructor init of field d -# 1541| Type = [DoubleType] double -# 1541| ValueCategory = prvalue -# 1541| getInitializer(2): [ConstructorFieldInit] constructor init of field r -# 1541| Type = [LValueReferenceType] int & -# 1541| ValueCategory = prvalue -# 1541| getEntryPoint(): [BlockStmt] { ... } -# 1541| getStmt(0): [ReturnStmt] return ... -# 1541| [CopyConstructor] void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet const&) -# 1541| : +# 1588| [Constructor] void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet() +# 1588| : +# 1588| : +# 1588| getInitializer(0): [ConstructorFieldInit] constructor init of field i +# 1588| Type = [IntType] int +# 1588| ValueCategory = prvalue +# 1588| getInitializer(1): [ConstructorFieldInit] constructor init of field d +# 1588| Type = [DoubleType] double +# 1588| ValueCategory = prvalue +# 1588| getInitializer(2): [ConstructorFieldInit] constructor init of field r +# 1588| Type = [LValueReferenceType] int & +# 1588| ValueCategory = prvalue +# 1588| getEntryPoint(): [BlockStmt] { ... } +# 1588| getStmt(0): [ReturnStmt] return ... +# 1588| [CopyConstructor] void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet const&) +# 1588| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & -# 1541| : -# 1541| getInitializer(0): [ConstructorFieldInit] constructor init of field i -# 1541| Type = [IntType] int -# 1541| ValueCategory = prvalue -# 1541| getExpr(): [ReferenceFieldAccess] i -# 1541| Type = [IntType] int -# 1541| ValueCategory = prvalue(load) -# 1541| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1541| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & -# 1541| ValueCategory = prvalue(load) -# 1541| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1541| Type = [SpecifiedType] const StructuredBindingTupleRefGet -# 1541| ValueCategory = lvalue -# 1541| getInitializer(1): [ConstructorFieldInit] constructor init of field d -# 1541| Type = [DoubleType] double -# 1541| ValueCategory = prvalue -# 1541| getExpr(): [ReferenceFieldAccess] d -# 1541| Type = [DoubleType] double -# 1541| ValueCategory = prvalue(load) -# 1541| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1541| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & -# 1541| ValueCategory = prvalue(load) -# 1541| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1541| Type = [SpecifiedType] const StructuredBindingTupleRefGet -# 1541| ValueCategory = lvalue -# 1541| getInitializer(2): [ConstructorFieldInit] constructor init of field r -# 1541| Type = [LValueReferenceType] int & -# 1541| ValueCategory = prvalue -# 1541| getExpr(): [ReferenceFieldAccess] r -# 1541| Type = [LValueReferenceType] int & -# 1541| ValueCategory = prvalue(load) -# 1541| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1541| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & -# 1541| ValueCategory = prvalue(load) -# 1541| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1541| Type = [SpecifiedType] const StructuredBindingTupleRefGet -# 1541| ValueCategory = lvalue -# 1541| getEntryPoint(): [BlockStmt] { ... } -# 1541| getStmt(0): [ReturnStmt] return ... -# 1541| [MoveConstructor] void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet&&) -# 1541| : +# 1588| : +# 1588| getInitializer(0): [ConstructorFieldInit] constructor init of field i +# 1588| Type = [IntType] int +# 1588| ValueCategory = prvalue +# 1588| getExpr(): [ReferenceFieldAccess] i +# 1588| Type = [IntType] int +# 1588| ValueCategory = prvalue(load) +# 1588| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1588| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & +# 1588| ValueCategory = prvalue(load) +# 1588| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1588| Type = [SpecifiedType] const StructuredBindingTupleRefGet +# 1588| ValueCategory = lvalue +# 1588| getInitializer(1): [ConstructorFieldInit] constructor init of field d +# 1588| Type = [DoubleType] double +# 1588| ValueCategory = prvalue +# 1588| getExpr(): [ReferenceFieldAccess] d +# 1588| Type = [DoubleType] double +# 1588| ValueCategory = prvalue(load) +# 1588| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1588| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & +# 1588| ValueCategory = prvalue(load) +# 1588| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1588| Type = [SpecifiedType] const StructuredBindingTupleRefGet +# 1588| ValueCategory = lvalue +# 1588| getInitializer(2): [ConstructorFieldInit] constructor init of field r +# 1588| Type = [LValueReferenceType] int & +# 1588| ValueCategory = prvalue +# 1588| getExpr(): [ReferenceFieldAccess] r +# 1588| Type = [LValueReferenceType] int & +# 1588| ValueCategory = prvalue(load) +# 1588| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 1588| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & +# 1588| ValueCategory = prvalue(load) +# 1588| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1588| Type = [SpecifiedType] const StructuredBindingTupleRefGet +# 1588| ValueCategory = lvalue +# 1588| getEntryPoint(): [BlockStmt] { ... } +# 1588| getStmt(0): [ReturnStmt] return ... +# 1588| [MoveConstructor] void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet&&) +# 1588| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] StructuredBindingTupleRefGet && -# 1547| [MemberFunction,TemplateFunction] type& StructuredBindingTupleRefGet::get() -# 1547| : -# 1551| [CopyAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size const&) -# 1551| : +# 1594| [MemberFunction,TemplateFunction] type& StructuredBindingTupleRefGet::get() +# 1594| : +# 1598| [CopyAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size const&) +# 1598| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_size & -# 1551| [MoveAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size&&) -# 1551| : +# 1598| [MoveAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size&&) +# 1598| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_size && -# 1556| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1556| : +# 1603| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1603| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<0, StructuredBindingTupleRefGet> & -# 1556| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1556| : +# 1603| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1603| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<0, StructuredBindingTupleRefGet> && -# 1560| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1560| : +# 1607| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1607| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<1, StructuredBindingTupleRefGet> & -# 1560| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1560| : +# 1607| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1607| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<1, StructuredBindingTupleRefGet> && -# 1564| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1564| : +# 1611| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1611| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<2, StructuredBindingTupleRefGet> & -# 1564| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1564| : +# 1611| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1611| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<2, StructuredBindingTupleRefGet> && -# 1569| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1569| : -# 1569| getEntryPoint(): [BlockStmt] { ... } -# 1570| getStmt(0): [ReturnStmt] return ... -# 1570| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] i -# 1570| Type = [IntType] int -# 1570| ValueCategory = lvalue -# 1570| getQualifier(): [ThisExpr] this -# 1570| Type = [PointerType] StructuredBindingTupleRefGet * -# 1570| ValueCategory = prvalue(load) +# 1616| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type& StructuredBindingTupleRefGet::get() +# 1616| : +# 1616| getEntryPoint(): [BlockStmt] { ... } +# 1617| getStmt(0): [ReturnStmt] return ... +# 1617| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] i +# 1617| Type = [IntType] int +# 1617| ValueCategory = lvalue +# 1617| getQualifier(): [ThisExpr] this +# 1617| Type = [PointerType] StructuredBindingTupleRefGet * +# 1617| ValueCategory = prvalue(load) #-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] int & #-----| ValueCategory = prvalue -# 1573| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1573| : -# 1573| getEntryPoint(): [BlockStmt] { ... } -# 1574| getStmt(0): [ReturnStmt] return ... -# 1574| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] d -# 1574| Type = [DoubleType] double -# 1574| ValueCategory = lvalue -# 1574| getQualifier(): [ThisExpr] this -# 1574| Type = [PointerType] StructuredBindingTupleRefGet * -# 1574| ValueCategory = prvalue(load) +# 1620| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type& StructuredBindingTupleRefGet::get() +# 1620| : +# 1620| getEntryPoint(): [BlockStmt] { ... } +# 1621| getStmt(0): [ReturnStmt] return ... +# 1621| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] d +# 1621| Type = [DoubleType] double +# 1621| ValueCategory = lvalue +# 1621| getQualifier(): [ThisExpr] this +# 1621| Type = [PointerType] StructuredBindingTupleRefGet * +# 1621| ValueCategory = prvalue(load) #-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] double & #-----| ValueCategory = prvalue -# 1577| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleRefGet::get() -# 1577| : -# 1577| getEntryPoint(): [BlockStmt] { ... } -# 1578| getStmt(0): [ReturnStmt] return ... -# 1578| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] r -# 1578| Type = [LValueReferenceType] int & -# 1578| ValueCategory = prvalue(load) -# 1578| getQualifier(): [ThisExpr] this -# 1578| Type = [PointerType] StructuredBindingTupleRefGet * -# 1578| ValueCategory = prvalue(load) -# 1578| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1578| Type = [LValueReferenceType] int & -# 1578| ValueCategory = prvalue -# 1578| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1578| Type = [IntType] int -# 1578| ValueCategory = lvalue -# 1581| [TopLevelFunction] void tuple_structured_binding_ref_get() -# 1581| : -# 1581| getEntryPoint(): [BlockStmt] { ... } -# 1582| getStmt(0): [DeclStmt] declaration -# 1582| getDeclarationEntry(0): [VariableDeclarationEntry] definition of t -# 1582| Type = [Struct] StructuredBindingTupleRefGet -# 1582| getVariable().getInitializer(): [Initializer] initializer for t -# 1582| getExpr(): [ConstructorCall] call to StructuredBindingTupleRefGet -# 1582| Type = [VoidType] void -# 1582| ValueCategory = prvalue -# 1584| getStmt(1): [BlockStmt] { ... } -# 1585| getStmt(0): [DeclStmt] declaration -# 1585| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) -# 1585| Type = [Struct] StructuredBindingTupleRefGet -# 1585| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) -# 1585| getExpr(): [VariableAccess] t -# 1585| Type = [Struct] StructuredBindingTupleRefGet -# 1585| ValueCategory = prvalue(load) -# 1585| getDeclarationEntry(1): [VariableDeclarationEntry] definition of i -# 1585| Type = [LValueReferenceType] type & +# 1624| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleRefGet::get() +# 1624| : +# 1624| getEntryPoint(): [BlockStmt] { ... } +# 1625| getStmt(0): [ReturnStmt] return ... +# 1625| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] r +# 1625| Type = [LValueReferenceType] int & +# 1625| ValueCategory = prvalue(load) +# 1625| getQualifier(): [ThisExpr] this +# 1625| Type = [PointerType] StructuredBindingTupleRefGet * +# 1625| ValueCategory = prvalue(load) +# 1625| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1625| Type = [LValueReferenceType] int & +# 1625| ValueCategory = prvalue +# 1625| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1625| Type = [IntType] int +# 1625| ValueCategory = lvalue +# 1628| [TopLevelFunction] void tuple_structured_binding_ref_get() +# 1628| : +# 1628| getEntryPoint(): [BlockStmt] { ... } +# 1629| getStmt(0): [DeclStmt] declaration +# 1629| getDeclarationEntry(0): [VariableDeclarationEntry] definition of t +# 1629| Type = [Struct] StructuredBindingTupleRefGet +# 1629| getVariable().getInitializer(): [Initializer] initializer for t +# 1629| getExpr(): [ConstructorCall] call to StructuredBindingTupleRefGet +# 1629| Type = [VoidType] void +# 1629| ValueCategory = prvalue +# 1631| getStmt(1): [BlockStmt] { ... } +# 1632| getStmt(0): [DeclStmt] declaration +# 1632| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) +# 1632| Type = [Struct] StructuredBindingTupleRefGet +# 1632| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) +# 1632| getExpr(): [VariableAccess] t +# 1632| Type = [Struct] StructuredBindingTupleRefGet +# 1632| ValueCategory = prvalue(load) +# 1632| getDeclarationEntry(1): [VariableDeclarationEntry] definition of i +# 1632| Type = [LValueReferenceType] type & #-----| getVariable().getInitializer(): [Initializer] initializer for i -# 1585| getExpr(): [FunctionCall] call to get -# 1585| Type = [LValueReferenceType] type & -# 1585| ValueCategory = prvalue -# 1585| getQualifier(): [VariableAccess] (unnamed local variable) -# 1585| Type = [Struct] StructuredBindingTupleRefGet -# 1585| ValueCategory = xvalue -# 1585| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1585| Type = [LValueReferenceType] type & -# 1585| ValueCategory = prvalue -# 1585| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1585| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1585| ValueCategory = lvalue -# 1585| getDeclarationEntry(2): [VariableDeclarationEntry] definition of d -# 1585| Type = [LValueReferenceType] type & +# 1632| getExpr(): [FunctionCall] call to get +# 1632| Type = [LValueReferenceType] type & +# 1632| ValueCategory = prvalue +# 1632| getQualifier(): [VariableAccess] (unnamed local variable) +# 1632| Type = [Struct] StructuredBindingTupleRefGet +# 1632| ValueCategory = xvalue +# 1632| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1632| Type = [LValueReferenceType] type & +# 1632| ValueCategory = prvalue +# 1632| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1632| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1632| ValueCategory = lvalue +# 1632| getDeclarationEntry(2): [VariableDeclarationEntry] definition of d +# 1632| Type = [LValueReferenceType] type & #-----| getVariable().getInitializer(): [Initializer] initializer for d -# 1585| getExpr(): [FunctionCall] call to get -# 1585| Type = [LValueReferenceType] type & -# 1585| ValueCategory = prvalue -# 1585| getQualifier(): [VariableAccess] (unnamed local variable) -# 1585| Type = [Struct] StructuredBindingTupleRefGet -# 1585| ValueCategory = xvalue -# 1585| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1585| Type = [LValueReferenceType] type & -# 1585| ValueCategory = prvalue -# 1585| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1585| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1585| ValueCategory = lvalue -# 1585| getDeclarationEntry(3): [VariableDeclarationEntry] definition of r -# 1585| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1632| getExpr(): [FunctionCall] call to get +# 1632| Type = [LValueReferenceType] type & +# 1632| ValueCategory = prvalue +# 1632| getQualifier(): [VariableAccess] (unnamed local variable) +# 1632| Type = [Struct] StructuredBindingTupleRefGet +# 1632| ValueCategory = xvalue +# 1632| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1632| Type = [LValueReferenceType] type & +# 1632| ValueCategory = prvalue +# 1632| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1632| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1632| ValueCategory = lvalue +# 1632| getDeclarationEntry(3): [VariableDeclarationEntry] definition of r +# 1632| Type = [NestedTypedefType,UsingAliasTypedefType] type #-----| getVariable().getInitializer(): [Initializer] initializer for r -# 1585| getExpr(): [FunctionCall] call to get -# 1585| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1585| ValueCategory = prvalue -# 1585| getQualifier(): [VariableAccess] (unnamed local variable) -# 1585| Type = [Struct] StructuredBindingTupleRefGet -# 1585| ValueCategory = xvalue -# 1585| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1585| Type = [LValueReferenceType] int & -# 1585| ValueCategory = prvalue -# 1585| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1585| Type = [IntType] int -# 1585| ValueCategory = lvalue -# 1586| getStmt(1): [ExprStmt] ExprStmt -# 1586| getExpr(): [AssignExpr] ... = ... -# 1586| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1586| ValueCategory = lvalue -# 1586| getLValue(): [VariableAccess] d -# 1586| Type = [LValueReferenceType] type & -# 1586| ValueCategory = prvalue(load) -# 1586| getRValue(): [Literal] 4.0 -# 1586| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1586| Value = [Literal] 4.0 -# 1586| ValueCategory = prvalue -# 1586| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1586| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1586| ValueCategory = lvalue -# 1587| getStmt(2): [DeclStmt] declaration -# 1587| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1587| Type = [LValueReferenceType] double & -# 1587| getVariable().getInitializer(): [Initializer] initializer for rd -# 1587| getExpr(): [VariableAccess] d -# 1587| Type = [LValueReferenceType] type & -# 1587| ValueCategory = prvalue(load) -# 1587| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1587| Type = [LValueReferenceType] type & -# 1587| ValueCategory = prvalue -# 1587| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1587| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1587| ValueCategory = lvalue -# 1588| getStmt(3): [DeclStmt] declaration -# 1588| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1588| Type = [IntType] int -# 1588| getVariable().getInitializer(): [Initializer] initializer for v -# 1588| getExpr(): [VariableAccess] i -# 1588| Type = [LValueReferenceType] type & -# 1588| ValueCategory = prvalue(load) -# 1588| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1588| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1588| ValueCategory = prvalue(load) -# 1589| getStmt(4): [ExprStmt] ExprStmt -# 1589| getExpr(): [AssignExpr] ... = ... -# 1589| Type = [IntType] int -# 1589| ValueCategory = lvalue -# 1589| getLValue(): [VariableAccess] r -# 1589| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1589| ValueCategory = prvalue(load) -# 1589| getRValue(): [Literal] 5 -# 1589| Type = [IntType] int -# 1589| Value = [Literal] 5 -# 1589| ValueCategory = prvalue -# 1589| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1589| Type = [IntType] int -# 1589| ValueCategory = lvalue -# 1590| getStmt(5): [DeclStmt] declaration -# 1590| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1590| Type = [LValueReferenceType] int & -# 1590| getVariable().getInitializer(): [Initializer] initializer for rr -# 1590| getExpr(): [VariableAccess] r -# 1590| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1590| ValueCategory = prvalue(load) -# 1590| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1590| Type = [LValueReferenceType] int & -# 1590| ValueCategory = prvalue -# 1590| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1590| Type = [IntType] int -# 1590| ValueCategory = lvalue -# 1591| getStmt(6): [DeclStmt] declaration -# 1591| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1591| Type = [IntType] int -# 1591| getVariable().getInitializer(): [Initializer] initializer for w -# 1591| getExpr(): [VariableAccess] r -# 1591| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1591| ValueCategory = prvalue(load) -# 1591| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1591| Type = [IntType] int -# 1591| ValueCategory = prvalue(load) -# 1594| getStmt(2): [BlockStmt] { ... } -# 1595| getStmt(0): [DeclStmt] declaration -# 1595| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable -# 1595| Type = [Struct] StructuredBindingTupleRefGet -# 1595| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable -# 1595| getExpr(): [VariableAccess] t -# 1595| Type = [Struct] StructuredBindingTupleRefGet -# 1595| ValueCategory = prvalue(load) -# 1596| getStmt(1): [DeclStmt] declaration -# 1596| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1596| Type = [LValueReferenceType] type & -# 1596| getVariable().getInitializer(): [Initializer] initializer for i -# 1596| getExpr(): [FunctionCall] call to get -# 1596| Type = [LValueReferenceType] type & -# 1596| ValueCategory = prvalue -# 1596| getQualifier(): [VariableAccess] unnamed_local_variable -# 1596| Type = [Struct] StructuredBindingTupleRefGet -# 1596| ValueCategory = lvalue -# 1596| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1596| Type = [LValueReferenceType] type & -# 1596| ValueCategory = prvalue -# 1596| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1596| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1596| ValueCategory = lvalue -# 1597| getStmt(2): [DeclStmt] declaration -# 1597| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 1597| Type = [LValueReferenceType] type & -# 1597| getVariable().getInitializer(): [Initializer] initializer for d -# 1597| getExpr(): [FunctionCall] call to get -# 1597| Type = [LValueReferenceType] type & -# 1597| ValueCategory = prvalue -# 1597| getQualifier(): [VariableAccess] unnamed_local_variable -# 1597| Type = [Struct] StructuredBindingTupleRefGet -# 1597| ValueCategory = lvalue -# 1597| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1597| Type = [LValueReferenceType] type & -# 1597| ValueCategory = prvalue -# 1597| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1597| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1597| ValueCategory = lvalue -# 1598| getStmt(3): [DeclStmt] declaration -# 1598| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r -# 1598| Type = [LValueReferenceType] int & -# 1598| getVariable().getInitializer(): [Initializer] initializer for r -# 1598| getExpr(): [FunctionCall] call to get -# 1598| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1598| ValueCategory = prvalue -# 1598| getQualifier(): [VariableAccess] unnamed_local_variable -# 1598| Type = [Struct] StructuredBindingTupleRefGet -# 1598| ValueCategory = lvalue -# 1598| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1598| Type = [LValueReferenceType] int & -# 1598| ValueCategory = prvalue -# 1598| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1598| Type = [IntType] int -# 1598| ValueCategory = lvalue -# 1599| getStmt(4): [ExprStmt] ExprStmt -# 1599| getExpr(): [AssignExpr] ... = ... -# 1599| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1599| ValueCategory = lvalue -# 1599| getLValue(): [VariableAccess] d -# 1599| Type = [LValueReferenceType] type & -# 1599| ValueCategory = prvalue(load) -# 1599| getRValue(): [Literal] 4.0 -# 1599| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1599| Value = [Literal] 4.0 -# 1599| ValueCategory = prvalue -# 1599| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1599| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1599| ValueCategory = lvalue -# 1600| getStmt(5): [DeclStmt] declaration -# 1600| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1600| Type = [LValueReferenceType] double & -# 1600| getVariable().getInitializer(): [Initializer] initializer for rd -# 1600| getExpr(): [VariableAccess] d -# 1600| Type = [LValueReferenceType] type & -# 1600| ValueCategory = prvalue(load) -# 1600| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1600| Type = [LValueReferenceType] type & -# 1600| ValueCategory = prvalue -# 1600| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1600| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1600| ValueCategory = lvalue -# 1601| getStmt(6): [DeclStmt] declaration -# 1601| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1601| Type = [IntType] int -# 1601| getVariable().getInitializer(): [Initializer] initializer for v -# 1601| getExpr(): [VariableAccess] i -# 1601| Type = [LValueReferenceType] type & -# 1601| ValueCategory = prvalue(load) -# 1601| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1601| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1601| ValueCategory = prvalue(load) -# 1602| getStmt(7): [ExprStmt] ExprStmt -# 1602| getExpr(): [AssignExpr] ... = ... -# 1602| Type = [IntType] int -# 1602| ValueCategory = lvalue -# 1602| getLValue(): [VariableAccess] r -# 1602| Type = [LValueReferenceType] int & -# 1602| ValueCategory = prvalue(load) -# 1602| getRValue(): [Literal] 5 -# 1602| Type = [IntType] int -# 1602| Value = [Literal] 5 -# 1602| ValueCategory = prvalue -# 1602| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1602| Type = [IntType] int -# 1602| ValueCategory = lvalue -# 1603| getStmt(8): [DeclStmt] declaration -# 1603| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1603| Type = [LValueReferenceType] int & -# 1603| getVariable().getInitializer(): [Initializer] initializer for rr -# 1603| getExpr(): [VariableAccess] r -# 1603| Type = [LValueReferenceType] int & -# 1603| ValueCategory = prvalue(load) -# 1603| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1603| Type = [LValueReferenceType] int & -# 1603| ValueCategory = prvalue -# 1603| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1603| Type = [IntType] int -# 1603| ValueCategory = lvalue -# 1604| getStmt(9): [DeclStmt] declaration -# 1604| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1604| Type = [IntType] int -# 1604| getVariable().getInitializer(): [Initializer] initializer for w -# 1604| getExpr(): [VariableAccess] r -# 1604| Type = [LValueReferenceType] int & -# 1604| ValueCategory = prvalue(load) -# 1604| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1604| Type = [IntType] int -# 1604| ValueCategory = prvalue(load) -# 1606| getStmt(3): [ReturnStmt] return ... -# 1608| [CopyAssignmentOperator] StructuredBindingTupleNoRefGet& StructuredBindingTupleNoRefGet::operator=(StructuredBindingTupleNoRefGet const&) -# 1608| : +# 1632| getExpr(): [FunctionCall] call to get +# 1632| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1632| ValueCategory = prvalue +# 1632| getQualifier(): [VariableAccess] (unnamed local variable) +# 1632| Type = [Struct] StructuredBindingTupleRefGet +# 1632| ValueCategory = xvalue +# 1632| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1632| Type = [LValueReferenceType] int & +# 1632| ValueCategory = prvalue +# 1632| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1632| Type = [IntType] int +# 1632| ValueCategory = lvalue +# 1633| getStmt(1): [ExprStmt] ExprStmt +# 1633| getExpr(): [AssignExpr] ... = ... +# 1633| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1633| ValueCategory = lvalue +# 1633| getLValue(): [VariableAccess] d +# 1633| Type = [LValueReferenceType] type & +# 1633| ValueCategory = prvalue(load) +# 1633| getRValue(): [Literal] 4.0 +# 1633| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1633| Value = [Literal] 4.0 +# 1633| ValueCategory = prvalue +# 1633| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1633| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1633| ValueCategory = lvalue +# 1634| getStmt(2): [DeclStmt] declaration +# 1634| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd +# 1634| Type = [LValueReferenceType] double & +# 1634| getVariable().getInitializer(): [Initializer] initializer for rd +# 1634| getExpr(): [VariableAccess] d +# 1634| Type = [LValueReferenceType] type & +# 1634| ValueCategory = prvalue(load) +# 1634| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1634| Type = [LValueReferenceType] type & +# 1634| ValueCategory = prvalue +# 1634| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1634| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1634| ValueCategory = lvalue +# 1635| getStmt(3): [DeclStmt] declaration +# 1635| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1635| Type = [IntType] int +# 1635| getVariable().getInitializer(): [Initializer] initializer for v +# 1635| getExpr(): [VariableAccess] i +# 1635| Type = [LValueReferenceType] type & +# 1635| ValueCategory = prvalue(load) +# 1635| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1635| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1635| ValueCategory = prvalue(load) +# 1636| getStmt(4): [ExprStmt] ExprStmt +# 1636| getExpr(): [AssignExpr] ... = ... +# 1636| Type = [IntType] int +# 1636| ValueCategory = lvalue +# 1636| getLValue(): [VariableAccess] r +# 1636| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1636| ValueCategory = prvalue(load) +# 1636| getRValue(): [Literal] 5 +# 1636| Type = [IntType] int +# 1636| Value = [Literal] 5 +# 1636| ValueCategory = prvalue +# 1636| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1636| Type = [IntType] int +# 1636| ValueCategory = lvalue +# 1637| getStmt(5): [DeclStmt] declaration +# 1637| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr +# 1637| Type = [LValueReferenceType] int & +# 1637| getVariable().getInitializer(): [Initializer] initializer for rr +# 1637| getExpr(): [VariableAccess] r +# 1637| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1637| ValueCategory = prvalue(load) +# 1637| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1637| Type = [LValueReferenceType] int & +# 1637| ValueCategory = prvalue +# 1637| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1637| Type = [IntType] int +# 1637| ValueCategory = lvalue +# 1638| getStmt(6): [DeclStmt] declaration +# 1638| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1638| Type = [IntType] int +# 1638| getVariable().getInitializer(): [Initializer] initializer for w +# 1638| getExpr(): [VariableAccess] r +# 1638| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1638| ValueCategory = prvalue(load) +# 1638| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1638| Type = [IntType] int +# 1638| ValueCategory = prvalue(load) +# 1641| getStmt(2): [BlockStmt] { ... } +# 1642| getStmt(0): [DeclStmt] declaration +# 1642| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable +# 1642| Type = [Struct] StructuredBindingTupleRefGet +# 1642| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable +# 1642| getExpr(): [VariableAccess] t +# 1642| Type = [Struct] StructuredBindingTupleRefGet +# 1642| ValueCategory = prvalue(load) +# 1643| getStmt(1): [DeclStmt] declaration +# 1643| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 1643| Type = [LValueReferenceType] type & +# 1643| getVariable().getInitializer(): [Initializer] initializer for i +# 1643| getExpr(): [FunctionCall] call to get +# 1643| Type = [LValueReferenceType] type & +# 1643| ValueCategory = prvalue +# 1643| getQualifier(): [VariableAccess] unnamed_local_variable +# 1643| Type = [Struct] StructuredBindingTupleRefGet +# 1643| ValueCategory = lvalue +# 1643| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1643| Type = [LValueReferenceType] type & +# 1643| ValueCategory = prvalue +# 1643| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1643| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1643| ValueCategory = lvalue +# 1644| getStmt(2): [DeclStmt] declaration +# 1644| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 1644| Type = [LValueReferenceType] type & +# 1644| getVariable().getInitializer(): [Initializer] initializer for d +# 1644| getExpr(): [FunctionCall] call to get +# 1644| Type = [LValueReferenceType] type & +# 1644| ValueCategory = prvalue +# 1644| getQualifier(): [VariableAccess] unnamed_local_variable +# 1644| Type = [Struct] StructuredBindingTupleRefGet +# 1644| ValueCategory = lvalue +# 1644| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1644| Type = [LValueReferenceType] type & +# 1644| ValueCategory = prvalue +# 1644| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1644| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1644| ValueCategory = lvalue +# 1645| getStmt(3): [DeclStmt] declaration +# 1645| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r +# 1645| Type = [LValueReferenceType] int & +# 1645| getVariable().getInitializer(): [Initializer] initializer for r +# 1645| getExpr(): [FunctionCall] call to get +# 1645| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1645| ValueCategory = prvalue +# 1645| getQualifier(): [VariableAccess] unnamed_local_variable +# 1645| Type = [Struct] StructuredBindingTupleRefGet +# 1645| ValueCategory = lvalue +# 1645| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1645| Type = [LValueReferenceType] int & +# 1645| ValueCategory = prvalue +# 1645| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1645| Type = [IntType] int +# 1645| ValueCategory = lvalue +# 1646| getStmt(4): [ExprStmt] ExprStmt +# 1646| getExpr(): [AssignExpr] ... = ... +# 1646| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1646| ValueCategory = lvalue +# 1646| getLValue(): [VariableAccess] d +# 1646| Type = [LValueReferenceType] type & +# 1646| ValueCategory = prvalue(load) +# 1646| getRValue(): [Literal] 4.0 +# 1646| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1646| Value = [Literal] 4.0 +# 1646| ValueCategory = prvalue +# 1646| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1646| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1646| ValueCategory = lvalue +# 1647| getStmt(5): [DeclStmt] declaration +# 1647| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd +# 1647| Type = [LValueReferenceType] double & +# 1647| getVariable().getInitializer(): [Initializer] initializer for rd +# 1647| getExpr(): [VariableAccess] d +# 1647| Type = [LValueReferenceType] type & +# 1647| ValueCategory = prvalue(load) +# 1647| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1647| Type = [LValueReferenceType] type & +# 1647| ValueCategory = prvalue +# 1647| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1647| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1647| ValueCategory = lvalue +# 1648| getStmt(6): [DeclStmt] declaration +# 1648| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1648| Type = [IntType] int +# 1648| getVariable().getInitializer(): [Initializer] initializer for v +# 1648| getExpr(): [VariableAccess] i +# 1648| Type = [LValueReferenceType] type & +# 1648| ValueCategory = prvalue(load) +# 1648| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1648| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1648| ValueCategory = prvalue(load) +# 1649| getStmt(7): [ExprStmt] ExprStmt +# 1649| getExpr(): [AssignExpr] ... = ... +# 1649| Type = [IntType] int +# 1649| ValueCategory = lvalue +# 1649| getLValue(): [VariableAccess] r +# 1649| Type = [LValueReferenceType] int & +# 1649| ValueCategory = prvalue(load) +# 1649| getRValue(): [Literal] 5 +# 1649| Type = [IntType] int +# 1649| Value = [Literal] 5 +# 1649| ValueCategory = prvalue +# 1649| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1649| Type = [IntType] int +# 1649| ValueCategory = lvalue +# 1650| getStmt(8): [DeclStmt] declaration +# 1650| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr +# 1650| Type = [LValueReferenceType] int & +# 1650| getVariable().getInitializer(): [Initializer] initializer for rr +# 1650| getExpr(): [VariableAccess] r +# 1650| Type = [LValueReferenceType] int & +# 1650| ValueCategory = prvalue(load) +# 1650| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1650| Type = [LValueReferenceType] int & +# 1650| ValueCategory = prvalue +# 1650| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1650| Type = [IntType] int +# 1650| ValueCategory = lvalue +# 1651| getStmt(9): [DeclStmt] declaration +# 1651| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1651| Type = [IntType] int +# 1651| getVariable().getInitializer(): [Initializer] initializer for w +# 1651| getExpr(): [VariableAccess] r +# 1651| Type = [LValueReferenceType] int & +# 1651| ValueCategory = prvalue(load) +# 1651| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1651| Type = [IntType] int +# 1651| ValueCategory = prvalue(load) +# 1653| getStmt(3): [ReturnStmt] return ... +# 1655| [CopyAssignmentOperator] StructuredBindingTupleNoRefGet& StructuredBindingTupleNoRefGet::operator=(StructuredBindingTupleNoRefGet const&) +# 1655| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingTupleNoRefGet & -# 1608| [Constructor] void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet() -# 1608| : -# 1608| : -# 1608| getInitializer(0): [ConstructorFieldInit] constructor init of field i -# 1608| Type = [IntType] int -# 1608| ValueCategory = prvalue -# 1608| getInitializer(1): [ConstructorFieldInit] constructor init of field r -# 1608| Type = [LValueReferenceType] int & -# 1608| ValueCategory = prvalue -# 1608| getEntryPoint(): [BlockStmt] { ... } -# 1608| getStmt(0): [ReturnStmt] return ... -# 1608| [CopyConstructor] void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet(StructuredBindingTupleNoRefGet const&) -# 1608| : +# 1655| [Constructor] void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet() +# 1655| : +# 1655| : +# 1655| getInitializer(0): [ConstructorFieldInit] constructor init of field i +# 1655| Type = [IntType] int +# 1655| ValueCategory = prvalue +# 1655| getInitializer(1): [ConstructorFieldInit] constructor init of field r +# 1655| Type = [LValueReferenceType] int & +# 1655| ValueCategory = prvalue +# 1655| getEntryPoint(): [BlockStmt] { ... } +# 1655| getStmt(0): [ReturnStmt] return ... +# 1655| [CopyConstructor] void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet(StructuredBindingTupleNoRefGet const&) +# 1655| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingTupleNoRefGet & -# 1608| [MoveConstructor] void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet(StructuredBindingTupleNoRefGet&&) -# 1608| : +# 1655| [MoveConstructor] void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet(StructuredBindingTupleNoRefGet&&) +# 1655| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] StructuredBindingTupleNoRefGet && -# 1613| [MemberFunction,TemplateFunction] type StructuredBindingTupleNoRefGet::get() -# 1613| : -# 1617| [CopyAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size const&) -# 1617| : +# 1660| [MemberFunction,TemplateFunction] type StructuredBindingTupleNoRefGet::get() +# 1660| : +# 1664| [CopyAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size const&) +# 1664| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_size & -# 1617| [MoveAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size&&) -# 1617| : +# 1664| [MoveAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size&&) +# 1664| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_size && -# 1622| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1622| : +# 1669| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1669| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<0, StructuredBindingTupleNoRefGet> & -# 1622| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1622| : +# 1669| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1669| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<0, StructuredBindingTupleNoRefGet> && -# 1626| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1626| : +# 1673| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1673| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<1, StructuredBindingTupleNoRefGet> & -# 1626| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1626| : +# 1673| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1673| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<1, StructuredBindingTupleNoRefGet> && -# 1630| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1630| : +# 1677| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1677| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<2, StructuredBindingTupleNoRefGet> & -# 1630| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1630| : +# 1677| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1677| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<2, StructuredBindingTupleNoRefGet> && -# 1635| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1635| : -# 1635| getEntryPoint(): [BlockStmt] { ... } -# 1636| getStmt(0): [ReturnStmt] return ... -# 1636| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] i -# 1636| Type = [IntType] int -# 1636| ValueCategory = prvalue(load) -# 1636| getQualifier(): [ThisExpr] this -# 1636| Type = [PointerType] StructuredBindingTupleNoRefGet * -# 1636| ValueCategory = prvalue(load) -# 1639| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1639| : -# 1639| getEntryPoint(): [BlockStmt] { ... } -# 1640| getStmt(0): [ReturnStmt] return ... -# 1640| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] r -# 1640| Type = [LValueReferenceType] int & -# 1640| ValueCategory = prvalue(load) -# 1640| getQualifier(): [ThisExpr] this -# 1640| Type = [PointerType] StructuredBindingTupleNoRefGet * -# 1640| ValueCategory = prvalue(load) -# 1640| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1640| Type = [LValueReferenceType] int & -# 1640| ValueCategory = prvalue -# 1640| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1640| Type = [IntType] int -# 1640| ValueCategory = lvalue -# 1643| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1643| : -# 1643| getEntryPoint(): [BlockStmt] { ... } -# 1644| getStmt(0): [ReturnStmt] return ... -# 1644| getExpr(): [Literal] 5 -# 1644| Type = [IntType] int -# 1644| Value = [Literal] 5 -# 1644| ValueCategory = prvalue -# 1644| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1644| Type = [LValueReferenceType] int & -# 1644| ValueCategory = prvalue -# 1644| getExpr(): [TemporaryObjectExpr] temporary object -# 1644| Type = [IntType] int -# 1644| ValueCategory = lvalue -# 1647| [TopLevelFunction] void tuple_structured_binding_no_ref_get() -# 1647| : -# 1647| getEntryPoint(): [BlockStmt] { ... } -# 1648| getStmt(0): [DeclStmt] declaration -# 1648| getDeclarationEntry(0): [VariableDeclarationEntry] definition of t -# 1648| Type = [Struct] StructuredBindingTupleNoRefGet -# 1648| getVariable().getInitializer(): [Initializer] initializer for t -# 1648| getExpr(): [ConstructorCall] call to StructuredBindingTupleNoRefGet -# 1648| Type = [VoidType] void -# 1648| ValueCategory = prvalue -# 1650| getStmt(1): [BlockStmt] { ... } -# 1651| getStmt(0): [DeclStmt] declaration -# 1651| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) -# 1651| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1651| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) -# 1651| getExpr(): [VariableAccess] t -# 1651| Type = [Struct] StructuredBindingTupleNoRefGet -# 1651| ValueCategory = lvalue -# 1651| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1651| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1651| ValueCategory = prvalue -# 1651| getDeclarationEntry(1): [VariableDeclarationEntry] definition of i -# 1651| Type = [RValueReferenceType] type && +# 1682| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1682| : +# 1682| getEntryPoint(): [BlockStmt] { ... } +# 1683| getStmt(0): [ReturnStmt] return ... +# 1683| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] i +# 1683| Type = [IntType] int +# 1683| ValueCategory = prvalue(load) +# 1683| getQualifier(): [ThisExpr] this +# 1683| Type = [PointerType] StructuredBindingTupleNoRefGet * +# 1683| ValueCategory = prvalue(load) +# 1686| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1686| : +# 1686| getEntryPoint(): [BlockStmt] { ... } +# 1687| getStmt(0): [ReturnStmt] return ... +# 1687| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] r +# 1687| Type = [LValueReferenceType] int & +# 1687| ValueCategory = prvalue(load) +# 1687| getQualifier(): [ThisExpr] this +# 1687| Type = [PointerType] StructuredBindingTupleNoRefGet * +# 1687| ValueCategory = prvalue(load) +# 1687| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1687| Type = [LValueReferenceType] int & +# 1687| ValueCategory = prvalue +# 1687| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1687| Type = [IntType] int +# 1687| ValueCategory = lvalue +# 1690| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1690| : +# 1690| getEntryPoint(): [BlockStmt] { ... } +# 1691| getStmt(0): [ReturnStmt] return ... +# 1691| getExpr(): [Literal] 5 +# 1691| Type = [IntType] int +# 1691| Value = [Literal] 5 +# 1691| ValueCategory = prvalue +# 1691| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1691| Type = [LValueReferenceType] int & +# 1691| ValueCategory = prvalue +# 1691| getExpr(): [TemporaryObjectExpr] temporary object +# 1691| Type = [IntType] int +# 1691| ValueCategory = lvalue +# 1694| [TopLevelFunction] void tuple_structured_binding_no_ref_get() +# 1694| : +# 1694| getEntryPoint(): [BlockStmt] { ... } +# 1695| getStmt(0): [DeclStmt] declaration +# 1695| getDeclarationEntry(0): [VariableDeclarationEntry] definition of t +# 1695| Type = [Struct] StructuredBindingTupleNoRefGet +# 1695| getVariable().getInitializer(): [Initializer] initializer for t +# 1695| getExpr(): [ConstructorCall] call to StructuredBindingTupleNoRefGet +# 1695| Type = [VoidType] void +# 1695| ValueCategory = prvalue +# 1697| getStmt(1): [BlockStmt] { ... } +# 1698| getStmt(0): [DeclStmt] declaration +# 1698| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) +# 1698| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1698| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) +# 1698| getExpr(): [VariableAccess] t +# 1698| Type = [Struct] StructuredBindingTupleNoRefGet +# 1698| ValueCategory = lvalue +# 1698| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1698| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1698| ValueCategory = prvalue +# 1698| getDeclarationEntry(1): [VariableDeclarationEntry] definition of i +# 1698| Type = [RValueReferenceType] type && #-----| getVariable().getInitializer(): [Initializer] initializer for i -# 1651| getExpr(): [FunctionCall] call to get -# 1651| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1651| ValueCategory = prvalue -# 1651| getQualifier(): [VariableAccess] (unnamed local variable) -# 1651| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1651| ValueCategory = prvalue(load) -# 1651| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1651| Type = [Struct] StructuredBindingTupleNoRefGet -# 1651| ValueCategory = lvalue -# 1651| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1651| Type = [LValueReferenceType] type & -# 1651| ValueCategory = prvalue -# 1651| getExpr(): [TemporaryObjectExpr] temporary object -# 1651| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1651| ValueCategory = lvalue -# 1651| getDeclarationEntry(2): [VariableDeclarationEntry] definition of r -# 1651| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1698| getExpr(): [FunctionCall] call to get +# 1698| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1698| ValueCategory = prvalue +# 1698| getQualifier(): [VariableAccess] (unnamed local variable) +# 1698| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1698| ValueCategory = prvalue(load) +# 1698| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1698| Type = [Struct] StructuredBindingTupleNoRefGet +# 1698| ValueCategory = lvalue +# 1698| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1698| Type = [LValueReferenceType] type & +# 1698| ValueCategory = prvalue +# 1698| getExpr(): [TemporaryObjectExpr] temporary object +# 1698| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1698| ValueCategory = lvalue +# 1698| getDeclarationEntry(2): [VariableDeclarationEntry] definition of r +# 1698| Type = [NestedTypedefType,UsingAliasTypedefType] type #-----| getVariable().getInitializer(): [Initializer] initializer for r -# 1651| getExpr(): [FunctionCall] call to get -# 1651| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1651| ValueCategory = prvalue -# 1651| getQualifier(): [VariableAccess] (unnamed local variable) -# 1651| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1651| ValueCategory = prvalue(load) -# 1651| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1651| Type = [Struct] StructuredBindingTupleNoRefGet -# 1651| ValueCategory = lvalue -# 1651| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1651| Type = [LValueReferenceType] int & -# 1651| ValueCategory = prvalue -# 1651| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1651| Type = [IntType] int -# 1651| ValueCategory = lvalue -# 1651| getDeclarationEntry(3): [VariableDeclarationEntry] definition of rv -# 1651| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1698| getExpr(): [FunctionCall] call to get +# 1698| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1698| ValueCategory = prvalue +# 1698| getQualifier(): [VariableAccess] (unnamed local variable) +# 1698| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1698| ValueCategory = prvalue(load) +# 1698| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1698| Type = [Struct] StructuredBindingTupleNoRefGet +# 1698| ValueCategory = lvalue +# 1698| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1698| Type = [LValueReferenceType] int & +# 1698| ValueCategory = prvalue +# 1698| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1698| Type = [IntType] int +# 1698| ValueCategory = lvalue +# 1698| getDeclarationEntry(3): [VariableDeclarationEntry] definition of rv +# 1698| Type = [NestedTypedefType,UsingAliasTypedefType] type #-----| getVariable().getInitializer(): [Initializer] initializer for rv -# 1651| getExpr(): [FunctionCall] call to get -# 1651| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1651| ValueCategory = prvalue -# 1651| getQualifier(): [VariableAccess] (unnamed local variable) -# 1651| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1651| ValueCategory = prvalue(load) -# 1651| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1651| Type = [Struct] StructuredBindingTupleNoRefGet -# 1651| ValueCategory = lvalue -# 1651| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1651| Type = [LValueReferenceType] int & -# 1651| ValueCategory = prvalue -# 1651| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1651| Type = [IntType] int -# 1651| ValueCategory = xvalue -# 1652| getStmt(1): [ExprStmt] ExprStmt -# 1652| getExpr(): [AssignExpr] ... = ... -# 1652| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1652| ValueCategory = lvalue -# 1652| getLValue(): [VariableAccess] i -# 1652| Type = [RValueReferenceType] type && -# 1652| ValueCategory = prvalue(load) -# 1652| getRValue(): [Literal] 4 -# 1652| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1652| Value = [Literal] 4 -# 1652| ValueCategory = prvalue -# 1652| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1652| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1652| ValueCategory = lvalue -# 1653| getStmt(2): [DeclStmt] declaration -# 1653| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ri -# 1653| Type = [LValueReferenceType] int & -# 1653| getVariable().getInitializer(): [Initializer] initializer for ri -# 1653| getExpr(): [VariableAccess] i -# 1653| Type = [RValueReferenceType] type && -# 1653| ValueCategory = prvalue(load) -# 1653| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1653| Type = [LValueReferenceType] type & -# 1653| ValueCategory = prvalue -# 1653| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1653| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1653| ValueCategory = lvalue -# 1654| getStmt(3): [DeclStmt] declaration -# 1654| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1654| Type = [IntType] int -# 1654| getVariable().getInitializer(): [Initializer] initializer for v -# 1654| getExpr(): [VariableAccess] i -# 1654| Type = [RValueReferenceType] type && -# 1654| ValueCategory = prvalue(load) -# 1654| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1654| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1654| ValueCategory = prvalue(load) -# 1655| getStmt(4): [ExprStmt] ExprStmt -# 1655| getExpr(): [AssignExpr] ... = ... -# 1655| Type = [IntType] int -# 1655| ValueCategory = lvalue -# 1655| getLValue(): [VariableAccess] r -# 1655| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1655| ValueCategory = prvalue(load) -# 1655| getRValue(): [Literal] 5 -# 1655| Type = [IntType] int -# 1655| Value = [Literal] 5 -# 1655| ValueCategory = prvalue -# 1655| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1655| Type = [IntType] int -# 1655| ValueCategory = lvalue -# 1656| getStmt(5): [DeclStmt] declaration -# 1656| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1656| Type = [LValueReferenceType] int & -# 1656| getVariable().getInitializer(): [Initializer] initializer for rr -# 1656| getExpr(): [VariableAccess] r -# 1656| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1656| ValueCategory = prvalue(load) -# 1656| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1656| Type = [LValueReferenceType] int & -# 1656| ValueCategory = prvalue -# 1656| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1656| Type = [IntType] int -# 1656| ValueCategory = lvalue -# 1657| getStmt(6): [DeclStmt] declaration -# 1657| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1657| Type = [IntType] int -# 1657| getVariable().getInitializer(): [Initializer] initializer for w -# 1657| getExpr(): [VariableAccess] r -# 1657| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1657| ValueCategory = prvalue(load) -# 1657| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1657| Type = [IntType] int -# 1657| ValueCategory = prvalue(load) -# 1660| getStmt(2): [BlockStmt] { ... } -# 1661| getStmt(0): [DeclStmt] declaration -# 1661| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable -# 1661| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1661| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable -# 1661| getExpr(): [VariableAccess] t -# 1661| Type = [Struct] StructuredBindingTupleNoRefGet -# 1661| ValueCategory = lvalue -# 1661| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1661| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1661| ValueCategory = prvalue -# 1662| getStmt(1): [DeclStmt] declaration -# 1662| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1662| Type = [RValueReferenceType] type && -# 1662| getVariable().getInitializer(): [Initializer] initializer for i -# 1662| getExpr(): [FunctionCall] call to get -# 1662| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1662| ValueCategory = prvalue -# 1662| getQualifier(): [VariableAccess] unnamed_local_variable -# 1662| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1662| ValueCategory = prvalue(load) -# 1662| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1662| Type = [Struct] StructuredBindingTupleNoRefGet -# 1662| ValueCategory = lvalue -# 1662| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1662| Type = [LValueReferenceType] type & -# 1662| ValueCategory = prvalue -# 1662| getExpr(): [TemporaryObjectExpr] temporary object -# 1662| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1662| ValueCategory = lvalue -# 1663| getStmt(2): [DeclStmt] declaration -# 1663| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r -# 1663| Type = [LValueReferenceType] int & -# 1663| getVariable().getInitializer(): [Initializer] initializer for r -# 1663| getExpr(): [FunctionCall] call to get -# 1663| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1663| ValueCategory = prvalue -# 1663| getQualifier(): [VariableAccess] unnamed_local_variable -# 1663| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1663| ValueCategory = prvalue(load) -# 1663| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1663| Type = [Struct] StructuredBindingTupleNoRefGet -# 1663| ValueCategory = lvalue -# 1663| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1663| Type = [LValueReferenceType] int & -# 1663| ValueCategory = prvalue -# 1663| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1663| Type = [IntType] int -# 1663| ValueCategory = lvalue -# 1664| getStmt(3): [DeclStmt] declaration -# 1664| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rv -# 1664| Type = [RValueReferenceType] int && -# 1664| getVariable().getInitializer(): [Initializer] initializer for rv -# 1664| getExpr(): [FunctionCall] call to get -# 1664| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1664| ValueCategory = prvalue -# 1664| getQualifier(): [VariableAccess] unnamed_local_variable -# 1664| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1664| ValueCategory = prvalue(load) -# 1664| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1664| Type = [Struct] StructuredBindingTupleNoRefGet -# 1664| ValueCategory = lvalue -# 1664| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1664| Type = [LValueReferenceType] int & -# 1664| ValueCategory = prvalue -# 1664| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1664| Type = [IntType] int -# 1664| ValueCategory = xvalue -# 1665| getStmt(4): [ExprStmt] ExprStmt -# 1665| getExpr(): [AssignExpr] ... = ... -# 1665| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1665| ValueCategory = lvalue -# 1665| getLValue(): [VariableAccess] i -# 1665| Type = [RValueReferenceType] type && -# 1665| ValueCategory = prvalue(load) -# 1665| getRValue(): [Literal] 4 -# 1665| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1665| Value = [Literal] 4 -# 1665| ValueCategory = prvalue -# 1665| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1665| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1665| ValueCategory = lvalue -# 1666| getStmt(5): [DeclStmt] declaration -# 1666| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ri -# 1666| Type = [LValueReferenceType] int & -# 1666| getVariable().getInitializer(): [Initializer] initializer for ri -# 1666| getExpr(): [VariableAccess] i -# 1666| Type = [RValueReferenceType] type && -# 1666| ValueCategory = prvalue(load) -# 1666| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1666| Type = [LValueReferenceType] type & -# 1666| ValueCategory = prvalue -# 1666| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1666| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1666| ValueCategory = lvalue -# 1667| getStmt(6): [DeclStmt] declaration -# 1667| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1667| Type = [IntType] int -# 1667| getVariable().getInitializer(): [Initializer] initializer for v -# 1667| getExpr(): [VariableAccess] i -# 1667| Type = [RValueReferenceType] type && -# 1667| ValueCategory = prvalue(load) -# 1667| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1667| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1667| ValueCategory = prvalue(load) -# 1668| getStmt(7): [ExprStmt] ExprStmt -# 1668| getExpr(): [AssignExpr] ... = ... -# 1668| Type = [IntType] int -# 1668| ValueCategory = lvalue -# 1668| getLValue(): [VariableAccess] r -# 1668| Type = [LValueReferenceType] int & -# 1668| ValueCategory = prvalue(load) -# 1668| getRValue(): [Literal] 5 -# 1668| Type = [IntType] int -# 1668| Value = [Literal] 5 -# 1668| ValueCategory = prvalue -# 1668| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1668| Type = [IntType] int -# 1668| ValueCategory = lvalue -# 1669| getStmt(8): [DeclStmt] declaration -# 1669| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1669| Type = [LValueReferenceType] int & -# 1669| getVariable().getInitializer(): [Initializer] initializer for rr -# 1669| getExpr(): [VariableAccess] r -# 1669| Type = [LValueReferenceType] int & -# 1669| ValueCategory = prvalue(load) -# 1669| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1669| Type = [LValueReferenceType] int & -# 1669| ValueCategory = prvalue -# 1669| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1669| Type = [IntType] int -# 1669| ValueCategory = lvalue -# 1670| getStmt(9): [DeclStmt] declaration -# 1670| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1670| Type = [IntType] int -# 1670| getVariable().getInitializer(): [Initializer] initializer for w -# 1670| getExpr(): [VariableAccess] r -# 1670| Type = [LValueReferenceType] int & -# 1670| ValueCategory = prvalue(load) -# 1670| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1670| Type = [IntType] int -# 1670| ValueCategory = prvalue(load) -# 1672| getStmt(3): [ReturnStmt] return ... -# 1674| [TopLevelFunction] void array_structured_binding_non_ref_init() -# 1674| : -# 1674| getEntryPoint(): [BlockStmt] { ... } -# 1675| getStmt(0): [DeclStmt] declaration -# 1675| getDeclarationEntry(0): [VariableDeclarationEntry] definition of xs -# 1675| Type = [ArrayType] int[2] -# 1675| getVariable().getInitializer(): [Initializer] initializer for xs -# 1675| getExpr(): [ArrayAggregateLiteral] {...} -# 1675| Type = [ArrayType] int[2] -# 1675| ValueCategory = prvalue -# 1675| getAnElementExpr(0): [Literal] 1 -# 1675| Type = [IntType] int -# 1675| Value = [Literal] 1 -# 1675| ValueCategory = prvalue -# 1675| getAnElementExpr(1): [Literal] 2 -# 1675| Type = [IntType] int -# 1675| Value = [Literal] 2 -# 1675| ValueCategory = prvalue -# 1676| getStmt(1): [DeclStmt] declaration -# 1676| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) -# 1676| Type = [ArrayType] int[2] -# 1676| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) -# 1676| getExpr(): [VariableAccess] xs -# 1676| Type = [ArrayType] int[2] -# 1676| ValueCategory = prvalue(load) -# 1676| getDeclarationEntry(1): [VariableDeclarationEntry] definition of x0 -# 1676| Type = [IntType] int +# 1698| getExpr(): [FunctionCall] call to get +# 1698| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1698| ValueCategory = prvalue +# 1698| getQualifier(): [VariableAccess] (unnamed local variable) +# 1698| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1698| ValueCategory = prvalue(load) +# 1698| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1698| Type = [Struct] StructuredBindingTupleNoRefGet +# 1698| ValueCategory = lvalue +# 1698| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1698| Type = [LValueReferenceType] int & +# 1698| ValueCategory = prvalue +# 1698| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1698| Type = [IntType] int +# 1698| ValueCategory = xvalue +# 1699| getStmt(1): [ExprStmt] ExprStmt +# 1699| getExpr(): [AssignExpr] ... = ... +# 1699| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1699| ValueCategory = lvalue +# 1699| getLValue(): [VariableAccess] i +# 1699| Type = [RValueReferenceType] type && +# 1699| ValueCategory = prvalue(load) +# 1699| getRValue(): [Literal] 4 +# 1699| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1699| Value = [Literal] 4 +# 1699| ValueCategory = prvalue +# 1699| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1699| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1699| ValueCategory = lvalue +# 1700| getStmt(2): [DeclStmt] declaration +# 1700| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ri +# 1700| Type = [LValueReferenceType] int & +# 1700| getVariable().getInitializer(): [Initializer] initializer for ri +# 1700| getExpr(): [VariableAccess] i +# 1700| Type = [RValueReferenceType] type && +# 1700| ValueCategory = prvalue(load) +# 1700| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1700| Type = [LValueReferenceType] type & +# 1700| ValueCategory = prvalue +# 1700| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1700| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1700| ValueCategory = lvalue +# 1701| getStmt(3): [DeclStmt] declaration +# 1701| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1701| Type = [IntType] int +# 1701| getVariable().getInitializer(): [Initializer] initializer for v +# 1701| getExpr(): [VariableAccess] i +# 1701| Type = [RValueReferenceType] type && +# 1701| ValueCategory = prvalue(load) +# 1701| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1701| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1701| ValueCategory = prvalue(load) +# 1702| getStmt(4): [ExprStmt] ExprStmt +# 1702| getExpr(): [AssignExpr] ... = ... +# 1702| Type = [IntType] int +# 1702| ValueCategory = lvalue +# 1702| getLValue(): [VariableAccess] r +# 1702| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1702| ValueCategory = prvalue(load) +# 1702| getRValue(): [Literal] 5 +# 1702| Type = [IntType] int +# 1702| Value = [Literal] 5 +# 1702| ValueCategory = prvalue +# 1702| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1702| Type = [IntType] int +# 1702| ValueCategory = lvalue +# 1703| getStmt(5): [DeclStmt] declaration +# 1703| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr +# 1703| Type = [LValueReferenceType] int & +# 1703| getVariable().getInitializer(): [Initializer] initializer for rr +# 1703| getExpr(): [VariableAccess] r +# 1703| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1703| ValueCategory = prvalue(load) +# 1703| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1703| Type = [LValueReferenceType] int & +# 1703| ValueCategory = prvalue +# 1703| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1703| Type = [IntType] int +# 1703| ValueCategory = lvalue +# 1704| getStmt(6): [DeclStmt] declaration +# 1704| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1704| Type = [IntType] int +# 1704| getVariable().getInitializer(): [Initializer] initializer for w +# 1704| getExpr(): [VariableAccess] r +# 1704| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1704| ValueCategory = prvalue(load) +# 1704| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1704| Type = [IntType] int +# 1704| ValueCategory = prvalue(load) +# 1707| getStmt(2): [BlockStmt] { ... } +# 1708| getStmt(0): [DeclStmt] declaration +# 1708| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable +# 1708| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1708| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable +# 1708| getExpr(): [VariableAccess] t +# 1708| Type = [Struct] StructuredBindingTupleNoRefGet +# 1708| ValueCategory = lvalue +# 1708| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1708| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1708| ValueCategory = prvalue +# 1709| getStmt(1): [DeclStmt] declaration +# 1709| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 1709| Type = [RValueReferenceType] type && +# 1709| getVariable().getInitializer(): [Initializer] initializer for i +# 1709| getExpr(): [FunctionCall] call to get +# 1709| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1709| ValueCategory = prvalue +# 1709| getQualifier(): [VariableAccess] unnamed_local_variable +# 1709| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1709| ValueCategory = prvalue(load) +# 1709| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1709| Type = [Struct] StructuredBindingTupleNoRefGet +# 1709| ValueCategory = lvalue +# 1709| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1709| Type = [LValueReferenceType] type & +# 1709| ValueCategory = prvalue +# 1709| getExpr(): [TemporaryObjectExpr] temporary object +# 1709| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1709| ValueCategory = lvalue +# 1710| getStmt(2): [DeclStmt] declaration +# 1710| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r +# 1710| Type = [LValueReferenceType] int & +# 1710| getVariable().getInitializer(): [Initializer] initializer for r +# 1710| getExpr(): [FunctionCall] call to get +# 1710| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1710| ValueCategory = prvalue +# 1710| getQualifier(): [VariableAccess] unnamed_local_variable +# 1710| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1710| ValueCategory = prvalue(load) +# 1710| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1710| Type = [Struct] StructuredBindingTupleNoRefGet +# 1710| ValueCategory = lvalue +# 1710| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1710| Type = [LValueReferenceType] int & +# 1710| ValueCategory = prvalue +# 1710| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1710| Type = [IntType] int +# 1710| ValueCategory = lvalue +# 1711| getStmt(3): [DeclStmt] declaration +# 1711| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rv +# 1711| Type = [RValueReferenceType] int && +# 1711| getVariable().getInitializer(): [Initializer] initializer for rv +# 1711| getExpr(): [FunctionCall] call to get +# 1711| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1711| ValueCategory = prvalue +# 1711| getQualifier(): [VariableAccess] unnamed_local_variable +# 1711| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & +# 1711| ValueCategory = prvalue(load) +# 1711| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1711| Type = [Struct] StructuredBindingTupleNoRefGet +# 1711| ValueCategory = lvalue +# 1711| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1711| Type = [LValueReferenceType] int & +# 1711| ValueCategory = prvalue +# 1711| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1711| Type = [IntType] int +# 1711| ValueCategory = xvalue +# 1712| getStmt(4): [ExprStmt] ExprStmt +# 1712| getExpr(): [AssignExpr] ... = ... +# 1712| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1712| ValueCategory = lvalue +# 1712| getLValue(): [VariableAccess] i +# 1712| Type = [RValueReferenceType] type && +# 1712| ValueCategory = prvalue(load) +# 1712| getRValue(): [Literal] 4 +# 1712| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1712| Value = [Literal] 4 +# 1712| ValueCategory = prvalue +# 1712| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1712| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1712| ValueCategory = lvalue +# 1713| getStmt(5): [DeclStmt] declaration +# 1713| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ri +# 1713| Type = [LValueReferenceType] int & +# 1713| getVariable().getInitializer(): [Initializer] initializer for ri +# 1713| getExpr(): [VariableAccess] i +# 1713| Type = [RValueReferenceType] type && +# 1713| ValueCategory = prvalue(load) +# 1713| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1713| Type = [LValueReferenceType] type & +# 1713| ValueCategory = prvalue +# 1713| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1713| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1713| ValueCategory = lvalue +# 1714| getStmt(6): [DeclStmt] declaration +# 1714| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1714| Type = [IntType] int +# 1714| getVariable().getInitializer(): [Initializer] initializer for v +# 1714| getExpr(): [VariableAccess] i +# 1714| Type = [RValueReferenceType] type && +# 1714| ValueCategory = prvalue(load) +# 1714| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1714| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1714| ValueCategory = prvalue(load) +# 1715| getStmt(7): [ExprStmt] ExprStmt +# 1715| getExpr(): [AssignExpr] ... = ... +# 1715| Type = [IntType] int +# 1715| ValueCategory = lvalue +# 1715| getLValue(): [VariableAccess] r +# 1715| Type = [LValueReferenceType] int & +# 1715| ValueCategory = prvalue(load) +# 1715| getRValue(): [Literal] 5 +# 1715| Type = [IntType] int +# 1715| Value = [Literal] 5 +# 1715| ValueCategory = prvalue +# 1715| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1715| Type = [IntType] int +# 1715| ValueCategory = lvalue +# 1716| getStmt(8): [DeclStmt] declaration +# 1716| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr +# 1716| Type = [LValueReferenceType] int & +# 1716| getVariable().getInitializer(): [Initializer] initializer for rr +# 1716| getExpr(): [VariableAccess] r +# 1716| Type = [LValueReferenceType] int & +# 1716| ValueCategory = prvalue(load) +# 1716| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1716| Type = [LValueReferenceType] int & +# 1716| ValueCategory = prvalue +# 1716| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1716| Type = [IntType] int +# 1716| ValueCategory = lvalue +# 1717| getStmt(9): [DeclStmt] declaration +# 1717| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1717| Type = [IntType] int +# 1717| getVariable().getInitializer(): [Initializer] initializer for w +# 1717| getExpr(): [VariableAccess] r +# 1717| Type = [LValueReferenceType] int & +# 1717| ValueCategory = prvalue(load) +# 1717| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1717| Type = [IntType] int +# 1717| ValueCategory = prvalue(load) +# 1719| getStmt(3): [ReturnStmt] return ... +# 1721| [TopLevelFunction] void array_structured_binding_non_ref_init() +# 1721| : +# 1721| getEntryPoint(): [BlockStmt] { ... } +# 1722| getStmt(0): [DeclStmt] declaration +# 1722| getDeclarationEntry(0): [VariableDeclarationEntry] definition of xs +# 1722| Type = [ArrayType] int[2] +# 1722| getVariable().getInitializer(): [Initializer] initializer for xs +# 1722| getExpr(): [ArrayAggregateLiteral] {...} +# 1722| Type = [ArrayType] int[2] +# 1722| ValueCategory = prvalue +# 1722| getAnElementExpr(0): [Literal] 1 +# 1722| Type = [IntType] int +# 1722| Value = [Literal] 1 +# 1722| ValueCategory = prvalue +# 1722| getAnElementExpr(1): [Literal] 2 +# 1722| Type = [IntType] int +# 1722| Value = [Literal] 2 +# 1722| ValueCategory = prvalue +# 1723| getStmt(1): [DeclStmt] declaration +# 1723| getDeclarationEntry(0): [VariableDeclarationEntry] definition of (unnamed local variable) +# 1723| Type = [ArrayType] int[2] +# 1723| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) +# 1723| getExpr(): [VariableAccess] xs +# 1723| Type = [ArrayType] int[2] +# 1723| ValueCategory = prvalue(load) +# 1723| getDeclarationEntry(1): [VariableDeclarationEntry] definition of x0 +# 1723| Type = [IntType] int #-----| getVariable().getInitializer(): [Initializer] initializer for x0 #-----| getExpr(): [ArrayExpr] access to array #-----| Type = [IntType] int @@ -13721,8 +13839,8 @@ ir.cpp: #-----| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion #-----| Type = [IntPointerType] int * #-----| ValueCategory = prvalue -# 1676| getDeclarationEntry(2): [VariableDeclarationEntry] definition of x1 -# 1676| Type = [IntType] int +# 1723| getDeclarationEntry(2): [VariableDeclarationEntry] definition of x1 +# 1723| Type = [IntType] int #-----| getVariable().getInitializer(): [Initializer] initializer for x1 #-----| getExpr(): [ArrayExpr] access to array #-----| Type = [IntType] int @@ -13737,351 +13855,351 @@ ir.cpp: #-----| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion #-----| Type = [IntPointerType] int * #-----| ValueCategory = prvalue -# 1677| getStmt(2): [ReturnStmt] return ... -# 1679| [CopyAssignmentOperator] CapturedLambdaMyObj& CapturedLambdaMyObj::operator=(CapturedLambdaMyObj const&) -# 1679| : +# 1724| getStmt(2): [ReturnStmt] return ... +# 1726| [CopyAssignmentOperator] CapturedLambdaMyObj& CapturedLambdaMyObj::operator=(CapturedLambdaMyObj const&) +# 1726| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CapturedLambdaMyObj & -# 1679| [MoveAssignmentOperator] CapturedLambdaMyObj& CapturedLambdaMyObj::operator=(CapturedLambdaMyObj&&) -# 1679| : +# 1726| [MoveAssignmentOperator] CapturedLambdaMyObj& CapturedLambdaMyObj::operator=(CapturedLambdaMyObj&&) +# 1726| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CapturedLambdaMyObj && -# 1679| [CopyConstructor] void CapturedLambdaMyObj::CapturedLambdaMyObj(CapturedLambdaMyObj const&) -# 1679| : +# 1726| [CopyConstructor] void CapturedLambdaMyObj::CapturedLambdaMyObj(CapturedLambdaMyObj const&) +# 1726| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CapturedLambdaMyObj & -# 1679| [MoveConstructor] void CapturedLambdaMyObj::CapturedLambdaMyObj(CapturedLambdaMyObj&&) -# 1679| : +# 1726| [MoveConstructor] void CapturedLambdaMyObj::CapturedLambdaMyObj(CapturedLambdaMyObj&&) +# 1726| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CapturedLambdaMyObj && -# 1682| [Constructor] void CapturedLambdaMyObj::CapturedLambdaMyObj() -# 1682| : -# 1682| : -# 1682| getEntryPoint(): [BlockStmt] { ... } -# 1682| getStmt(0): [ReturnStmt] return ... -# 1685| [TopLevelFunction] void captured_lambda(int, int&, int&&) -# 1685| : -# 1685| getParameter(0): [Parameter] x -# 1685| Type = [IntType] int -# 1685| getParameter(1): [Parameter] y -# 1685| Type = [LValueReferenceType] int & -# 1685| getParameter(2): [Parameter] z -# 1685| Type = [RValueReferenceType] int && -# 1686| getEntryPoint(): [BlockStmt] { ... } -# 1687| getStmt(0): [DeclStmt] declaration -# 1687| getDeclarationEntry(0): [VariableDeclarationEntry] definition of obj1 -# 1687| Type = [LValueReferenceType] const CapturedLambdaMyObj & -# 1687| getVariable().getInitializer(): [Initializer] initializer for obj1 -# 1687| getExpr(): [ConstructorCall] call to CapturedLambdaMyObj -# 1687| Type = [VoidType] void -# 1687| ValueCategory = prvalue -# 1687| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1687| Type = [LValueReferenceType] const CapturedLambdaMyObj & -# 1687| ValueCategory = prvalue -# 1687| getExpr(): [CStyleCast] (const CapturedLambdaMyObj)... -# 1687| Conversion = [GlvalueConversion] glvalue conversion -# 1687| Type = [SpecifiedType] const CapturedLambdaMyObj -# 1687| ValueCategory = lvalue -# 1687| getExpr(): [TemporaryObjectExpr] temporary object -# 1687| Type = [Class] CapturedLambdaMyObj -# 1687| ValueCategory = lvalue -# 1688| getStmt(1): [DeclStmt] declaration -# 1688| getDeclarationEntry(0): [VariableDeclarationEntry] definition of obj2 -# 1688| Type = [Class] CapturedLambdaMyObj -# 1688| getVariable().getInitializer(): [Initializer] initializer for obj2 -# 1688| getExpr(): [ConstructorCall] call to CapturedLambdaMyObj -# 1688| Type = [VoidType] void -# 1688| ValueCategory = prvalue -# 1690| getStmt(2): [DeclStmt] declaration -# 1690| getDeclarationEntry(0): [VariableDeclarationEntry] definition of lambda_outer -# 1690| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1690| getVariable().getInitializer(): [Initializer] initializer for lambda_outer -# 1690| getExpr(): [LambdaExpression] [...](...){...} -# 1690| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1690| ValueCategory = prvalue -# 1690| getInitializer(): [ClassAggregateLiteral] {...} -# 1690| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1690| ValueCategory = prvalue -# 1690| getAFieldExpr(obj1): [VariableAccess] obj1 -# 1690| Type = [LValueReferenceType] const CapturedLambdaMyObj & -# 1690| ValueCategory = prvalue(load) -# 1690| getAFieldExpr(obj2): [VariableAccess] obj2 -# 1690| Type = [Class] CapturedLambdaMyObj -# 1690| ValueCategory = prvalue(load) -# 1690| getAFieldExpr(x): [VariableAccess] x -# 1690| Type = [IntType] int -# 1690| ValueCategory = prvalue(load) -# 1690| getAFieldExpr(y): [VariableAccess] y -# 1690| Type = [LValueReferenceType] int & -# 1690| ValueCategory = prvalue(load) -# 1690| getAFieldExpr(z): [VariableAccess] z -# 1690| Type = [RValueReferenceType] int && -# 1690| ValueCategory = prvalue(load) +# 1729| [Constructor] void CapturedLambdaMyObj::CapturedLambdaMyObj() +# 1729| : +# 1729| : +# 1729| getEntryPoint(): [BlockStmt] { ... } +# 1729| getStmt(0): [ReturnStmt] return ... +# 1732| [TopLevelFunction] void captured_lambda(int, int&, int&&) +# 1732| : +# 1732| getParameter(0): [Parameter] x +# 1732| Type = [IntType] int +# 1732| getParameter(1): [Parameter] y +# 1732| Type = [LValueReferenceType] int & +# 1732| getParameter(2): [Parameter] z +# 1732| Type = [RValueReferenceType] int && +# 1733| getEntryPoint(): [BlockStmt] { ... } +# 1734| getStmt(0): [DeclStmt] declaration +# 1734| getDeclarationEntry(0): [VariableDeclarationEntry] definition of obj1 +# 1734| Type = [LValueReferenceType] const CapturedLambdaMyObj & +# 1734| getVariable().getInitializer(): [Initializer] initializer for obj1 +# 1734| getExpr(): [ConstructorCall] call to CapturedLambdaMyObj +# 1734| Type = [VoidType] void +# 1734| ValueCategory = prvalue +# 1734| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1734| Type = [LValueReferenceType] const CapturedLambdaMyObj & +# 1734| ValueCategory = prvalue +# 1734| getExpr(): [CStyleCast] (const CapturedLambdaMyObj)... +# 1734| Conversion = [GlvalueConversion] glvalue conversion +# 1734| Type = [SpecifiedType] const CapturedLambdaMyObj +# 1734| ValueCategory = lvalue +# 1734| getExpr(): [TemporaryObjectExpr] temporary object +# 1734| Type = [Class] CapturedLambdaMyObj +# 1734| ValueCategory = lvalue +# 1735| getStmt(1): [DeclStmt] declaration +# 1735| getDeclarationEntry(0): [VariableDeclarationEntry] definition of obj2 +# 1735| Type = [Class] CapturedLambdaMyObj +# 1735| getVariable().getInitializer(): [Initializer] initializer for obj2 +# 1735| getExpr(): [ConstructorCall] call to CapturedLambdaMyObj +# 1735| Type = [VoidType] void +# 1735| ValueCategory = prvalue +# 1737| getStmt(2): [DeclStmt] declaration +# 1737| getDeclarationEntry(0): [VariableDeclarationEntry] definition of lambda_outer +# 1737| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1737| getVariable().getInitializer(): [Initializer] initializer for lambda_outer +# 1737| getExpr(): [LambdaExpression] [...](...){...} +# 1737| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1737| ValueCategory = prvalue +# 1737| getInitializer(): [ClassAggregateLiteral] {...} +# 1737| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1737| ValueCategory = prvalue +# 1737| getAFieldExpr(obj1): [VariableAccess] obj1 +# 1737| Type = [LValueReferenceType] const CapturedLambdaMyObj & +# 1737| ValueCategory = prvalue(load) +# 1737| getAFieldExpr(obj2): [VariableAccess] obj2 +# 1737| Type = [Class] CapturedLambdaMyObj +# 1737| ValueCategory = prvalue(load) +# 1737| getAFieldExpr(x): [VariableAccess] x +# 1737| Type = [IntType] int +# 1737| ValueCategory = prvalue(load) +# 1737| getAFieldExpr(y): [VariableAccess] y +# 1737| Type = [LValueReferenceType] int & +# 1737| ValueCategory = prvalue(load) +# 1737| getAFieldExpr(z): [VariableAccess] z +# 1737| Type = [RValueReferenceType] int && +# 1737| ValueCategory = prvalue(load) #-----| getAFieldExpr(obj1).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [SpecifiedType] const CapturedLambdaMyObj #-----| ValueCategory = prvalue(load) -# 1692| getAFieldExpr(y).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1692| Type = [IntType] int -# 1692| ValueCategory = prvalue(load) -# 1692| getAFieldExpr(z).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1692| Type = [IntType] int -# 1692| ValueCategory = prvalue(load) -# 1693| getStmt(3): [ReturnStmt] return ... -# 1690| [CopyAssignmentOperator] (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)& (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator=((void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25) const&) -# 1690| : +# 1739| getAFieldExpr(y).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1739| Type = [IntType] int +# 1739| ValueCategory = prvalue(load) +# 1739| getAFieldExpr(z).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1739| Type = [IntType] int +# 1739| ValueCategory = prvalue(load) +# 1740| getStmt(3): [ReturnStmt] return ... +# 1737| [CopyAssignmentOperator] (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)& (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator=((void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25) const&) +# 1737| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1690, col. 25 & -# 1690| [CopyConstructor] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::(unnamed constructor)((void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25) const&) -# 1690| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1737, col. 25 & +# 1737| [CopyConstructor] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::(unnamed constructor)((void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25) const&) +# 1737| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1690, col. 25 & -# 1690| [MoveConstructor] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::(unnamed constructor)((void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)&&) -# 1690| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1737, col. 25 & +# 1737| [MoveConstructor] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::(unnamed constructor)((void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)&&) +# 1737| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1690, col. 25 && -# 1690| [Constructor] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::(unnamed constructor)() -# 1690| : -# 1690| [ConstMemberFunction] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const -# 1690| : -# 1690| getEntryPoint(): [BlockStmt] { ... } -# 1691| getStmt(0): [DeclStmt] declaration -# 1691| getDeclarationEntry(0): [VariableDeclarationEntry] definition of lambda_inner -# 1691| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1691| getVariable().getInitializer(): [Initializer] initializer for lambda_inner -# 1691| getExpr(): [LambdaExpression] [...](...){...} -# 1691| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1691| ValueCategory = prvalue -# 1691| getInitializer(): [ClassAggregateLiteral] {...} -# 1691| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1691| ValueCategory = prvalue -# 1691| getAFieldExpr(obj1): [PointerFieldAccess] obj1 -# 1691| Type = [SpecifiedType] const CapturedLambdaMyObj -# 1691| ValueCategory = prvalue(load) -# 1691| getQualifier(): [ThisExpr] this -# 1691| Type = [PointerType] lambda [] type at line 1691, col. 29 * -# 1691| ValueCategory = prvalue(load) -# 1691| getAFieldExpr(obj2): [PointerFieldAccess] obj2 -# 1691| Type = [Class] CapturedLambdaMyObj -# 1691| ValueCategory = prvalue(load) -# 1691| getQualifier(): [ThisExpr] this -# 1691| Type = [PointerType] lambda [] type at line 1691, col. 29 * -# 1691| ValueCategory = prvalue(load) -# 1691| getAFieldExpr(x): [PointerFieldAccess] x -# 1691| Type = [IntType] int -# 1691| ValueCategory = prvalue(load) -# 1691| getQualifier(): [ThisExpr] this -# 1691| Type = [PointerType] const lambda [] type at line 1690, col. 25 * -# 1691| ValueCategory = prvalue(load) -# 1691| getAFieldExpr(y): [PointerFieldAccess] y -# 1691| Type = [IntType] int -# 1691| ValueCategory = prvalue(load) -# 1691| getQualifier(): [ThisExpr] this -# 1691| Type = [PointerType] const lambda [] type at line 1690, col. 25 * -# 1691| ValueCategory = prvalue(load) -# 1691| getAFieldExpr(z): [PointerFieldAccess] z -# 1691| Type = [IntType] int -# 1691| ValueCategory = prvalue(load) -# 1691| getQualifier(): [ThisExpr] this -# 1691| Type = [PointerType] const lambda [] type at line 1690, col. 25 * -# 1691| ValueCategory = prvalue(load) -# 1692| getStmt(1): [ReturnStmt] return ... -# 1691| [CopyAssignmentOperator] (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)& (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)::operator=((void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29) const&) -# 1691| : +#-----| Type = [RValueReferenceType] lambda [] type at line 1737, col. 25 && +# 1737| [Constructor] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::(unnamed constructor)() +# 1737| : +# 1737| [ConstMemberFunction] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const +# 1737| : +# 1737| getEntryPoint(): [BlockStmt] { ... } +# 1738| getStmt(0): [DeclStmt] declaration +# 1738| getDeclarationEntry(0): [VariableDeclarationEntry] definition of lambda_inner +# 1738| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1738| getVariable().getInitializer(): [Initializer] initializer for lambda_inner +# 1738| getExpr(): [LambdaExpression] [...](...){...} +# 1738| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1738| ValueCategory = prvalue +# 1738| getInitializer(): [ClassAggregateLiteral] {...} +# 1738| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1738| ValueCategory = prvalue +# 1738| getAFieldExpr(obj1): [PointerFieldAccess] obj1 +# 1738| Type = [SpecifiedType] const CapturedLambdaMyObj +# 1738| ValueCategory = prvalue(load) +# 1738| getQualifier(): [ThisExpr] this +# 1738| Type = [PointerType] lambda [] type at line 1738, col. 29 * +# 1738| ValueCategory = prvalue(load) +# 1738| getAFieldExpr(obj2): [PointerFieldAccess] obj2 +# 1738| Type = [Class] CapturedLambdaMyObj +# 1738| ValueCategory = prvalue(load) +# 1738| getQualifier(): [ThisExpr] this +# 1738| Type = [PointerType] lambda [] type at line 1738, col. 29 * +# 1738| ValueCategory = prvalue(load) +# 1738| getAFieldExpr(x): [PointerFieldAccess] x +# 1738| Type = [IntType] int +# 1738| ValueCategory = prvalue(load) +# 1738| getQualifier(): [ThisExpr] this +# 1738| Type = [PointerType] const lambda [] type at line 1737, col. 25 * +# 1738| ValueCategory = prvalue(load) +# 1738| getAFieldExpr(y): [PointerFieldAccess] y +# 1738| Type = [IntType] int +# 1738| ValueCategory = prvalue(load) +# 1738| getQualifier(): [ThisExpr] this +# 1738| Type = [PointerType] const lambda [] type at line 1737, col. 25 * +# 1738| ValueCategory = prvalue(load) +# 1738| getAFieldExpr(z): [PointerFieldAccess] z +# 1738| Type = [IntType] int +# 1738| ValueCategory = prvalue(load) +# 1738| getQualifier(): [ThisExpr] this +# 1738| Type = [PointerType] const lambda [] type at line 1737, col. 25 * +# 1738| ValueCategory = prvalue(load) +# 1739| getStmt(1): [ReturnStmt] return ... +# 1738| [CopyAssignmentOperator] (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)& (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)::operator=((void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29) const&) +# 1738| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1691, col. 29 & -# 1691| [CopyConstructor] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)::(unnamed constructor)((void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29) const&) -# 1691| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1738, col. 29 & +# 1738| [CopyConstructor] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)::(unnamed constructor)((void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29) const&) +# 1738| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1691, col. 29 & -# 1691| [MoveConstructor] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)::(unnamed constructor)((void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)&&) -# 1691| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1738, col. 29 & +# 1738| [MoveConstructor] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)::(unnamed constructor)((void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)&&) +# 1738| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1691, col. 29 && -# 1691| [Constructor] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)::(unnamed constructor)() -# 1691| : -# 1691| [ConstMemberFunction] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)::operator()() const -# 1691| : -# 1691| getEntryPoint(): [BlockStmt] { ... } -# 1691| getStmt(0): [EmptyStmt] ; -# 1691| getStmt(1): [ReturnStmt] return ... -# 1695| [TopLevelFunction] int goto_on_same_line() -# 1695| : -# 1695| getEntryPoint(): [BlockStmt] { ... } -# 1696| getStmt(0): [DeclStmt] declaration -# 1696| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1696| Type = [IntType] int -# 1696| getVariable().getInitializer(): [Initializer] initializer for x -# 1696| getExpr(): [Literal] 42 -# 1696| Type = [IntType] int -# 1696| Value = [Literal] 42 -# 1696| ValueCategory = prvalue -# 1697| getStmt(1): [GotoStmt] goto ... -# 1697| getStmt(2): [LabelStmt] label ...: -# 1698| getStmt(3): [ReturnStmt] return ... -# 1698| getExpr(): [VariableAccess] x -# 1698| Type = [IntType] int -# 1698| ValueCategory = prvalue(load) -# 1701| [CopyAssignmentOperator] TrivialLambdaClass& TrivialLambdaClass::operator=(TrivialLambdaClass const&) -# 1701| : +#-----| Type = [RValueReferenceType] lambda [] type at line 1738, col. 29 && +# 1738| [Constructor] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)::(unnamed constructor)() +# 1738| : +# 1738| [ConstMemberFunction] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)::operator()() const +# 1738| : +# 1738| getEntryPoint(): [BlockStmt] { ... } +# 1738| getStmt(0): [EmptyStmt] ; +# 1738| getStmt(1): [ReturnStmt] return ... +# 1742| [TopLevelFunction] int goto_on_same_line() +# 1742| : +# 1742| getEntryPoint(): [BlockStmt] { ... } +# 1743| getStmt(0): [DeclStmt] declaration +# 1743| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1743| Type = [IntType] int +# 1743| getVariable().getInitializer(): [Initializer] initializer for x +# 1743| getExpr(): [Literal] 42 +# 1743| Type = [IntType] int +# 1743| Value = [Literal] 42 +# 1743| ValueCategory = prvalue +# 1744| getStmt(1): [GotoStmt] goto ... +# 1744| getStmt(2): [LabelStmt] label ...: +# 1745| getStmt(3): [ReturnStmt] return ... +# 1745| getExpr(): [VariableAccess] x +# 1745| Type = [IntType] int +# 1745| ValueCategory = prvalue(load) +# 1748| [CopyAssignmentOperator] TrivialLambdaClass& TrivialLambdaClass::operator=(TrivialLambdaClass const&) +# 1748| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const TrivialLambdaClass & -# 1701| [MoveAssignmentOperator] TrivialLambdaClass& TrivialLambdaClass::operator=(TrivialLambdaClass&&) -# 1701| : +# 1748| [MoveAssignmentOperator] TrivialLambdaClass& TrivialLambdaClass::operator=(TrivialLambdaClass&&) +# 1748| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] TrivialLambdaClass && -# 1703| [ConstMemberFunction] void TrivialLambdaClass::m() const -# 1703| : -# 1703| getEntryPoint(): [BlockStmt] { ... } -# 1704| getStmt(0): [DeclStmt] declaration -# 1704| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_m_outer -# 1704| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1704| getVariable().getInitializer(): [Initializer] initializer for l_m_outer -# 1704| getExpr(): [LambdaExpression] [...](...){...} -# 1704| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1704| ValueCategory = prvalue -# 1704| getInitializer(): [ClassAggregateLiteral] {...} -# 1704| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1704| ValueCategory = prvalue -# 1704| getAFieldExpr((captured this)): [PointerDereferenceExpr] * ... -# 1704| Type = [SpecifiedType] const TrivialLambdaClass -# 1704| ValueCategory = prvalue(load) -# 1704| getOperand(): [ThisExpr] this -# 1704| Type = [SpecifiedType] const TrivialLambdaClass *const -# 1704| ValueCategory = prvalue(load) -# 1711| getStmt(1): [ReturnStmt] return ... -# 1704| [CopyAssignmentOperator] (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)& (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator=((void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26) const&) -# 1704| : +# 1750| [ConstMemberFunction] void TrivialLambdaClass::m() const +# 1750| : +# 1750| getEntryPoint(): [BlockStmt] { ... } +# 1751| getStmt(0): [DeclStmt] declaration +# 1751| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_m_outer +# 1751| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1751| getVariable().getInitializer(): [Initializer] initializer for l_m_outer +# 1751| getExpr(): [LambdaExpression] [...](...){...} +# 1751| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1751| ValueCategory = prvalue +# 1751| getInitializer(): [ClassAggregateLiteral] {...} +# 1751| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1751| ValueCategory = prvalue +# 1751| getAFieldExpr((captured this)): [PointerDereferenceExpr] * ... +# 1751| Type = [SpecifiedType] const TrivialLambdaClass +# 1751| ValueCategory = prvalue(load) +# 1751| getOperand(): [ThisExpr] this +# 1751| Type = [SpecifiedType] const TrivialLambdaClass *const +# 1751| ValueCategory = prvalue(load) +# 1758| getStmt(1): [ReturnStmt] return ... +# 1751| [CopyAssignmentOperator] (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)& (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator=((void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26) const&) +# 1751| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1704, col. 26 & -# 1704| [CopyConstructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::(unnamed constructor)((void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26) const&) -# 1704| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1751, col. 26 & +# 1751| [CopyConstructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::(unnamed constructor)((void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26) const&) +# 1751| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1704, col. 26 & -# 1704| [MoveConstructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::(unnamed constructor)((void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)&&) -# 1704| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1751, col. 26 & +# 1751| [MoveConstructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::(unnamed constructor)((void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)&&) +# 1751| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1704, col. 26 && -# 1704| [Constructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::(unnamed constructor)() -# 1704| : -# 1704| [ConstMemberFunction] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const -# 1704| : -# 1704| getEntryPoint(): [BlockStmt] { ... } -# 1705| getStmt(0): [ExprStmt] ExprStmt -# 1705| getExpr(): [FunctionCall] call to m -# 1705| Type = [VoidType] void -# 1705| ValueCategory = prvalue -# 1705| getQualifier(): [AddressOfExpr] & ... -# 1705| Type = [PointerType] const TrivialLambdaClass * -# 1705| ValueCategory = prvalue -# 1705| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] (captured this) -# 1705| Type = [SpecifiedType] const TrivialLambdaClass -# 1705| ValueCategory = lvalue -# 1705| getQualifier(): [ThisExpr] this -# 1705| Type = [PointerType] const lambda [] type at line 1704, col. 26 * -# 1705| ValueCategory = prvalue(load) -# 1707| getStmt(1): [DeclStmt] declaration -# 1707| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_m_inner -# 1707| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1707| getVariable().getInitializer(): [Initializer] initializer for l_m_inner -# 1707| getExpr(): [LambdaExpression] [...](...){...} -# 1707| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1707| ValueCategory = prvalue -# 1707| getInitializer(): [ClassAggregateLiteral] {...} -# 1707| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1707| ValueCategory = prvalue -# 1707| getAFieldExpr((captured this)): [PointerFieldAccess] (captured this) -# 1707| Type = [SpecifiedType] const TrivialLambdaClass -# 1707| ValueCategory = prvalue(load) -# 1707| getQualifier(): [ThisExpr] this -# 1707| Type = [PointerType] lambda [] type at line 1707, col. 30 * -# 1707| ValueCategory = prvalue(load) -# 1710| getStmt(2): [ReturnStmt] return ... -# 1707| [CopyAssignmentOperator] (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)& (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)::operator=((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30) const&) -# 1707| : +#-----| Type = [RValueReferenceType] lambda [] type at line 1751, col. 26 && +# 1751| [Constructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::(unnamed constructor)() +# 1751| : +# 1751| [ConstMemberFunction] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const +# 1751| : +# 1751| getEntryPoint(): [BlockStmt] { ... } +# 1752| getStmt(0): [ExprStmt] ExprStmt +# 1752| getExpr(): [FunctionCall] call to m +# 1752| Type = [VoidType] void +# 1752| ValueCategory = prvalue +# 1752| getQualifier(): [AddressOfExpr] & ... +# 1752| Type = [PointerType] const TrivialLambdaClass * +# 1752| ValueCategory = prvalue +# 1752| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] (captured this) +# 1752| Type = [SpecifiedType] const TrivialLambdaClass +# 1752| ValueCategory = lvalue +# 1752| getQualifier(): [ThisExpr] this +# 1752| Type = [PointerType] const lambda [] type at line 1751, col. 26 * +# 1752| ValueCategory = prvalue(load) +# 1754| getStmt(1): [DeclStmt] declaration +# 1754| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_m_inner +# 1754| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1754| getVariable().getInitializer(): [Initializer] initializer for l_m_inner +# 1754| getExpr(): [LambdaExpression] [...](...){...} +# 1754| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1754| ValueCategory = prvalue +# 1754| getInitializer(): [ClassAggregateLiteral] {...} +# 1754| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1754| ValueCategory = prvalue +# 1754| getAFieldExpr((captured this)): [PointerFieldAccess] (captured this) +# 1754| Type = [SpecifiedType] const TrivialLambdaClass +# 1754| ValueCategory = prvalue(load) +# 1754| getQualifier(): [ThisExpr] this +# 1754| Type = [PointerType] lambda [] type at line 1754, col. 30 * +# 1754| ValueCategory = prvalue(load) +# 1757| getStmt(2): [ReturnStmt] return ... +# 1754| [CopyAssignmentOperator] (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)& (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)::operator=((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30) const&) +# 1754| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1707, col. 30 & -# 1707| [CopyConstructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)::(unnamed constructor)((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30) const&) -# 1707| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1754, col. 30 & +# 1754| [CopyConstructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)::(unnamed constructor)((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30) const&) +# 1754| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1707, col. 30 & -# 1707| [MoveConstructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)::(unnamed constructor)((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)&&) -# 1707| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1754, col. 30 & +# 1754| [MoveConstructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)::(unnamed constructor)((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)&&) +# 1754| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1707, col. 30 && -# 1707| [Constructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)::(unnamed constructor)() -# 1707| : -# 1707| [ConstMemberFunction] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)::operator()() const -# 1707| : -# 1707| getEntryPoint(): [BlockStmt] { ... } -# 1708| getStmt(0): [ExprStmt] ExprStmt -# 1708| getExpr(): [FunctionCall] call to m -# 1708| Type = [VoidType] void -# 1708| ValueCategory = prvalue -# 1708| getQualifier(): [AddressOfExpr] & ... -# 1708| Type = [PointerType] const TrivialLambdaClass * -# 1708| ValueCategory = prvalue -# 1708| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] (captured this) -# 1708| Type = [SpecifiedType] const TrivialLambdaClass -# 1708| ValueCategory = lvalue -# 1708| getQualifier(): [ThisExpr] this -# 1708| Type = [PointerType] const lambda [] type at line 1707, col. 30 * -# 1708| ValueCategory = prvalue(load) -# 1709| getStmt(1): [ReturnStmt] return ... -# 1714| [TopLevelFunction] void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&) -# 1714| : -# 1714| getParameter(0): [Parameter] p1 -# 1714| Type = [Class] TrivialLambdaClass -# 1714| getParameter(1): [Parameter] p2 -# 1714| Type = [LValueReferenceType] TrivialLambdaClass & -# 1714| getParameter(2): [Parameter] p3 -# 1714| Type = [RValueReferenceType] TrivialLambdaClass && -# 1714| getEntryPoint(): [BlockStmt] { ... } -# 1715| getStmt(0): [DeclStmt] declaration -# 1715| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l1 -# 1715| Type = [SpecifiedType] const TrivialLambdaClass -# 1716| getStmt(1): [DeclStmt] declaration -# 1716| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l2 -# 1716| Type = [LValueReferenceType] const TrivialLambdaClass & -# 1716| getVariable().getInitializer(): [Initializer] initializer for l2 -# 1716| getExpr(): [Literal] 0 -# 1716| Type = [Class] TrivialLambdaClass -# 1716| Value = [Literal] 0 -# 1716| ValueCategory = prvalue -# 1716| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1716| Type = [LValueReferenceType] const TrivialLambdaClass & -# 1716| ValueCategory = prvalue -# 1716| getExpr(): [CStyleCast] (const TrivialLambdaClass)... -# 1716| Conversion = [GlvalueConversion] glvalue conversion -# 1716| Type = [SpecifiedType] const TrivialLambdaClass -# 1716| ValueCategory = lvalue -# 1716| getExpr(): [TemporaryObjectExpr] temporary object -# 1716| Type = [Class] TrivialLambdaClass -# 1716| ValueCategory = lvalue -# 1718| getStmt(2): [DeclStmt] declaration -# 1718| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_outer1 -# 1718| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1718| getVariable().getInitializer(): [Initializer] initializer for l_outer1 -# 1718| getExpr(): [LambdaExpression] [...](...){...} -# 1718| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1718| ValueCategory = prvalue -# 1718| getInitializer(): [ClassAggregateLiteral] {...} -# 1718| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1718| ValueCategory = prvalue -# 1718| getAFieldExpr(p1): [VariableAccess] p1 -# 1718| Type = [Class] TrivialLambdaClass -# 1718| ValueCategory = prvalue(load) -# 1718| getAFieldExpr(p2): [VariableAccess] p2 -# 1718| Type = [LValueReferenceType] TrivialLambdaClass & -# 1718| ValueCategory = prvalue(load) -# 1718| getAFieldExpr(p3): [VariableAccess] p3 -# 1718| Type = [RValueReferenceType] TrivialLambdaClass && -# 1718| ValueCategory = prvalue(load) -# 1718| getAFieldExpr(l1): [VariableAccess] l1 -# 1718| Type = [SpecifiedType] const TrivialLambdaClass -# 1718| ValueCategory = prvalue(load) -# 1718| getAFieldExpr(l2): [VariableAccess] l2 -# 1718| Type = [LValueReferenceType] const TrivialLambdaClass & -# 1718| ValueCategory = prvalue(load) +#-----| Type = [RValueReferenceType] lambda [] type at line 1754, col. 30 && +# 1754| [Constructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)::(unnamed constructor)() +# 1754| : +# 1754| [ConstMemberFunction] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)::operator()() const +# 1754| : +# 1754| getEntryPoint(): [BlockStmt] { ... } +# 1755| getStmt(0): [ExprStmt] ExprStmt +# 1755| getExpr(): [FunctionCall] call to m +# 1755| Type = [VoidType] void +# 1755| ValueCategory = prvalue +# 1755| getQualifier(): [AddressOfExpr] & ... +# 1755| Type = [PointerType] const TrivialLambdaClass * +# 1755| ValueCategory = prvalue +# 1755| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] (captured this) +# 1755| Type = [SpecifiedType] const TrivialLambdaClass +# 1755| ValueCategory = lvalue +# 1755| getQualifier(): [ThisExpr] this +# 1755| Type = [PointerType] const lambda [] type at line 1754, col. 30 * +# 1755| ValueCategory = prvalue(load) +# 1756| getStmt(1): [ReturnStmt] return ... +# 1761| [TopLevelFunction] void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&) +# 1761| : +# 1761| getParameter(0): [Parameter] p1 +# 1761| Type = [Class] TrivialLambdaClass +# 1761| getParameter(1): [Parameter] p2 +# 1761| Type = [LValueReferenceType] TrivialLambdaClass & +# 1761| getParameter(2): [Parameter] p3 +# 1761| Type = [RValueReferenceType] TrivialLambdaClass && +# 1761| getEntryPoint(): [BlockStmt] { ... } +# 1762| getStmt(0): [DeclStmt] declaration +# 1762| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l1 +# 1762| Type = [SpecifiedType] const TrivialLambdaClass +# 1763| getStmt(1): [DeclStmt] declaration +# 1763| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l2 +# 1763| Type = [LValueReferenceType] const TrivialLambdaClass & +# 1763| getVariable().getInitializer(): [Initializer] initializer for l2 +# 1763| getExpr(): [Literal] 0 +# 1763| Type = [Class] TrivialLambdaClass +# 1763| Value = [Literal] 0 +# 1763| ValueCategory = prvalue +# 1763| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1763| Type = [LValueReferenceType] const TrivialLambdaClass & +# 1763| ValueCategory = prvalue +# 1763| getExpr(): [CStyleCast] (const TrivialLambdaClass)... +# 1763| Conversion = [GlvalueConversion] glvalue conversion +# 1763| Type = [SpecifiedType] const TrivialLambdaClass +# 1763| ValueCategory = lvalue +# 1763| getExpr(): [TemporaryObjectExpr] temporary object +# 1763| Type = [Class] TrivialLambdaClass +# 1763| ValueCategory = lvalue +# 1765| getStmt(2): [DeclStmt] declaration +# 1765| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_outer1 +# 1765| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1765| getVariable().getInitializer(): [Initializer] initializer for l_outer1 +# 1765| getExpr(): [LambdaExpression] [...](...){...} +# 1765| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1765| ValueCategory = prvalue +# 1765| getInitializer(): [ClassAggregateLiteral] {...} +# 1765| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1765| ValueCategory = prvalue +# 1765| getAFieldExpr(p1): [VariableAccess] p1 +# 1765| Type = [Class] TrivialLambdaClass +# 1765| ValueCategory = prvalue(load) +# 1765| getAFieldExpr(p2): [VariableAccess] p2 +# 1765| Type = [LValueReferenceType] TrivialLambdaClass & +# 1765| ValueCategory = prvalue(load) +# 1765| getAFieldExpr(p3): [VariableAccess] p3 +# 1765| Type = [RValueReferenceType] TrivialLambdaClass && +# 1765| ValueCategory = prvalue(load) +# 1765| getAFieldExpr(l1): [VariableAccess] l1 +# 1765| Type = [SpecifiedType] const TrivialLambdaClass +# 1765| ValueCategory = prvalue(load) +# 1765| getAFieldExpr(l2): [VariableAccess] l2 +# 1765| Type = [LValueReferenceType] const TrivialLambdaClass & +# 1765| ValueCategory = prvalue(load) #-----| getAFieldExpr(p2).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [Class] TrivialLambdaClass #-----| ValueCategory = prvalue(load) @@ -14091,723 +14209,723 @@ ir.cpp: #-----| getAFieldExpr(l2).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [SpecifiedType] const TrivialLambdaClass #-----| ValueCategory = prvalue(load) -# 1721| getStmt(3): [ReturnStmt] return ... -# 1718| [CopyAssignmentOperator] (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)& (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator=((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21) const&) -# 1718| : +# 1768| getStmt(3): [ReturnStmt] return ... +# 1765| [CopyAssignmentOperator] (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)& (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator=((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21) const&) +# 1765| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1718, col. 21 & -# 1718| [CopyConstructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::(unnamed constructor)((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21) const&) -# 1718| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1765, col. 21 & +# 1765| [CopyConstructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::(unnamed constructor)((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21) const&) +# 1765| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1718, col. 21 & -# 1718| [MoveConstructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::(unnamed constructor)((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)&&) -# 1718| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1765, col. 21 & +# 1765| [MoveConstructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::(unnamed constructor)((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)&&) +# 1765| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1718, col. 21 && -# 1718| [Constructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::(unnamed constructor)() -# 1718| : -# 1718| [ConstMemberFunction] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const -# 1718| : -# 1718| getEntryPoint(): [BlockStmt] { ... } -# 1719| getStmt(0): [DeclStmt] declaration -# 1719| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_inner1 -# 1719| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1719| getVariable().getInitializer(): [Initializer] initializer for l_inner1 -# 1719| getExpr(): [LambdaExpression] [...](...){...} -# 1719| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1719| ValueCategory = prvalue -# 1719| getInitializer(): [ClassAggregateLiteral] {...} -# 1719| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1719| ValueCategory = prvalue -# 1719| getAFieldExpr(p1): [PointerFieldAccess] p1 -# 1719| Type = [Class] TrivialLambdaClass -# 1719| ValueCategory = prvalue(load) -# 1719| getQualifier(): [ThisExpr] this -# 1719| Type = [PointerType] lambda [] type at line 1719, col. 25 * -# 1719| ValueCategory = prvalue(load) -# 1720| getStmt(1): [ReturnStmt] return ... -# 1719| [CopyAssignmentOperator] (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)& (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)::operator=((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25) const&) -# 1719| : +#-----| Type = [RValueReferenceType] lambda [] type at line 1765, col. 21 && +# 1765| [Constructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::(unnamed constructor)() +# 1765| : +# 1765| [ConstMemberFunction] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const +# 1765| : +# 1765| getEntryPoint(): [BlockStmt] { ... } +# 1766| getStmt(0): [DeclStmt] declaration +# 1766| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_inner1 +# 1766| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1766| getVariable().getInitializer(): [Initializer] initializer for l_inner1 +# 1766| getExpr(): [LambdaExpression] [...](...){...} +# 1766| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1766| ValueCategory = prvalue +# 1766| getInitializer(): [ClassAggregateLiteral] {...} +# 1766| Type = [Closure,LocalClass] decltype([...](...){...}) +# 1766| ValueCategory = prvalue +# 1766| getAFieldExpr(p1): [PointerFieldAccess] p1 +# 1766| Type = [Class] TrivialLambdaClass +# 1766| ValueCategory = prvalue(load) +# 1766| getQualifier(): [ThisExpr] this +# 1766| Type = [PointerType] lambda [] type at line 1766, col. 25 * +# 1766| ValueCategory = prvalue(load) +# 1767| getStmt(1): [ReturnStmt] return ... +# 1766| [CopyAssignmentOperator] (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)& (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)::operator=((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25) const&) +# 1766| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1719, col. 25 & -# 1719| [CopyConstructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)::(unnamed constructor)((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25) const&) -# 1719| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1766, col. 25 & +# 1766| [CopyConstructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)::(unnamed constructor)((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25) const&) +# 1766| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1719, col. 25 & -# 1719| [MoveConstructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)::(unnamed constructor)((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)&&) -# 1719| : +#-----| Type = [LValueReferenceType] const lambda [] type at line 1766, col. 25 & +# 1766| [MoveConstructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)::(unnamed constructor)((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)&&) +# 1766| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1719, col. 25 && -# 1719| [Constructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)::(unnamed constructor)() -# 1719| : -# 1719| [ConstMemberFunction] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)::operator()() const -# 1719| : -# 1719| getEntryPoint(): [BlockStmt] { ... } -# 1719| getStmt(0): [ReturnStmt] return ... -# 1723| [CopyAssignmentOperator] CopyConstructorWithImplicitArgumentClass& CopyConstructorWithImplicitArgumentClass::operator=(CopyConstructorWithImplicitArgumentClass const&) -# 1723| : +#-----| Type = [RValueReferenceType] lambda [] type at line 1766, col. 25 && +# 1766| [Constructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)::(unnamed constructor)() +# 1766| : +# 1766| [ConstMemberFunction] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)::operator()() const +# 1766| : +# 1766| getEntryPoint(): [BlockStmt] { ... } +# 1766| getStmt(0): [ReturnStmt] return ... +# 1770| [CopyAssignmentOperator] CopyConstructorWithImplicitArgumentClass& CopyConstructorWithImplicitArgumentClass::operator=(CopyConstructorWithImplicitArgumentClass const&) +# 1770| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & -# 1726| [Constructor] void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass() -# 1726| : -# 1726| : -# 1726| getEntryPoint(): [BlockStmt] { ... } -# 1726| getStmt(0): [ReturnStmt] return ... -# 1727| [CopyConstructor] void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass(CopyConstructorWithImplicitArgumentClass const&) -# 1727| : -# 1727| getParameter(0): [Parameter] c -# 1727| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & -# 1727| : -# 1727| getEntryPoint(): [BlockStmt] { ... } -# 1728| getStmt(0): [ExprStmt] ExprStmt -# 1728| getExpr(): [AssignExpr] ... = ... -# 1728| Type = [IntType] int -# 1728| ValueCategory = lvalue -# 1728| getLValue(): [ImplicitThisFieldAccess,PointerFieldAccess] x -# 1728| Type = [IntType] int -# 1728| ValueCategory = lvalue -# 1728| getQualifier(): [ThisExpr] this -# 1728| Type = [PointerType] CopyConstructorWithImplicitArgumentClass * -# 1728| ValueCategory = prvalue(load) -# 1728| getRValue(): [ReferenceFieldAccess] x -# 1728| Type = [IntType] int -# 1728| ValueCategory = prvalue(load) -# 1728| getQualifier(): [VariableAccess] c -# 1728| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & -# 1728| ValueCategory = prvalue(load) -# 1728| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1728| Type = [SpecifiedType] const CopyConstructorWithImplicitArgumentClass -# 1728| ValueCategory = lvalue -# 1729| getStmt(1): [ReturnStmt] return ... -# 1732| [CopyAssignmentOperator] CopyConstructorWithBitwiseCopyClass& CopyConstructorWithBitwiseCopyClass::operator=(CopyConstructorWithBitwiseCopyClass const&) -# 1732| : +# 1773| [Constructor] void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass() +# 1773| : +# 1773| : +# 1773| getEntryPoint(): [BlockStmt] { ... } +# 1773| getStmt(0): [ReturnStmt] return ... +# 1774| [CopyConstructor] void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass(CopyConstructorWithImplicitArgumentClass const&) +# 1774| : +# 1774| getParameter(0): [Parameter] c +# 1774| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & +# 1774| : +# 1774| getEntryPoint(): [BlockStmt] { ... } +# 1775| getStmt(0): [ExprStmt] ExprStmt +# 1775| getExpr(): [AssignExpr] ... = ... +# 1775| Type = [IntType] int +# 1775| ValueCategory = lvalue +# 1775| getLValue(): [ImplicitThisFieldAccess,PointerFieldAccess] x +# 1775| Type = [IntType] int +# 1775| ValueCategory = lvalue +# 1775| getQualifier(): [ThisExpr] this +# 1775| Type = [PointerType] CopyConstructorWithImplicitArgumentClass * +# 1775| ValueCategory = prvalue(load) +# 1775| getRValue(): [ReferenceFieldAccess] x +# 1775| Type = [IntType] int +# 1775| ValueCategory = prvalue(load) +# 1775| getQualifier(): [VariableAccess] c +# 1775| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & +# 1775| ValueCategory = prvalue(load) +# 1775| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1775| Type = [SpecifiedType] const CopyConstructorWithImplicitArgumentClass +# 1775| ValueCategory = lvalue +# 1776| getStmt(1): [ReturnStmt] return ... +# 1779| [CopyAssignmentOperator] CopyConstructorWithBitwiseCopyClass& CopyConstructorWithBitwiseCopyClass::operator=(CopyConstructorWithBitwiseCopyClass const&) +# 1779| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorWithBitwiseCopyClass & -# 1732| [MoveAssignmentOperator] CopyConstructorWithBitwiseCopyClass& CopyConstructorWithBitwiseCopyClass::operator=(CopyConstructorWithBitwiseCopyClass&&) -# 1732| : +# 1779| [MoveAssignmentOperator] CopyConstructorWithBitwiseCopyClass& CopyConstructorWithBitwiseCopyClass::operator=(CopyConstructorWithBitwiseCopyClass&&) +# 1779| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorWithBitwiseCopyClass && -# 1732| [CopyConstructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass(CopyConstructorWithBitwiseCopyClass const&) -# 1732| : +# 1779| [CopyConstructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass(CopyConstructorWithBitwiseCopyClass const&) +# 1779| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorWithBitwiseCopyClass & -# 1732| [MoveConstructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass(CopyConstructorWithBitwiseCopyClass&&) -# 1732| : +# 1779| [MoveConstructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass(CopyConstructorWithBitwiseCopyClass&&) +# 1779| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorWithBitwiseCopyClass && -# 1735| [Constructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass() -# 1735| : -# 1735| : -# 1735| getEntryPoint(): [BlockStmt] { ... } -# 1735| getStmt(0): [ReturnStmt] return ... -# 1738| [CopyAssignmentOperator] CopyConstructorTestNonVirtualClass& CopyConstructorTestNonVirtualClass::operator=(CopyConstructorTestNonVirtualClass const&) -# 1738| : +# 1782| [Constructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass() +# 1782| : +# 1782| : +# 1782| getEntryPoint(): [BlockStmt] { ... } +# 1782| getStmt(0): [ReturnStmt] return ... +# 1785| [CopyAssignmentOperator] CopyConstructorTestNonVirtualClass& CopyConstructorTestNonVirtualClass::operator=(CopyConstructorTestNonVirtualClass const&) +# 1785| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1738| [MoveAssignmentOperator] CopyConstructorTestNonVirtualClass& CopyConstructorTestNonVirtualClass::operator=(CopyConstructorTestNonVirtualClass&&) -# 1738| : +# 1785| [MoveAssignmentOperator] CopyConstructorTestNonVirtualClass& CopyConstructorTestNonVirtualClass::operator=(CopyConstructorTestNonVirtualClass&&) +# 1785| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorTestNonVirtualClass && -# 1738| [CopyConstructor] void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&) -# 1738| : +# 1785| [CopyConstructor] void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&) +# 1785| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1738| : -# 1738| getInitializer(0): [ConstructorDirectInit] call to CopyConstructorWithImplicitArgumentClass -# 1738| Type = [VoidType] void -# 1738| ValueCategory = prvalue -# 1738| getArgument(0): [VariableAccess] (unnamed parameter 0) -# 1738| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1738| ValueCategory = prvalue(load) -# 1738| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1738| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & -# 1738| ValueCategory = prvalue -# 1738| getExpr(): [CStyleCast] (const CopyConstructorWithImplicitArgumentClass)... -# 1738| Conversion = [BaseClassConversion] base class conversion -# 1738| Type = [SpecifiedType] const CopyConstructorWithImplicitArgumentClass -# 1738| ValueCategory = lvalue -# 1738| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1738| Type = [SpecifiedType] const CopyConstructorTestNonVirtualClass -# 1738| ValueCategory = lvalue -# 1738| getInitializer(1): (no string representation) -# 1738| Type = [VirtualBaseClass] CopyConstructorWithBitwiseCopyClass -# 1738| ValueCategory = prvalue -# 1738| getEntryPoint(): [BlockStmt] { ... } -# 1738| getStmt(0): [ReturnStmt] return ... -# 1738| [MoveConstructor] void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass&&) -# 1738| : +# 1785| : +# 1785| getInitializer(0): [ConstructorDirectInit] call to CopyConstructorWithImplicitArgumentClass +# 1785| Type = [VoidType] void +# 1785| ValueCategory = prvalue +# 1785| getArgument(0): [VariableAccess] (unnamed parameter 0) +# 1785| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & +# 1785| ValueCategory = prvalue(load) +# 1785| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1785| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & +# 1785| ValueCategory = prvalue +# 1785| getExpr(): [CStyleCast] (const CopyConstructorWithImplicitArgumentClass)... +# 1785| Conversion = [BaseClassConversion] base class conversion +# 1785| Type = [SpecifiedType] const CopyConstructorWithImplicitArgumentClass +# 1785| ValueCategory = lvalue +# 1785| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1785| Type = [SpecifiedType] const CopyConstructorTestNonVirtualClass +# 1785| ValueCategory = lvalue +# 1785| getInitializer(1): (no string representation) +# 1785| Type = [VirtualBaseClass] CopyConstructorWithBitwiseCopyClass +# 1785| ValueCategory = prvalue +# 1785| getEntryPoint(): [BlockStmt] { ... } +# 1785| getStmt(0): [ReturnStmt] return ... +# 1785| [MoveConstructor] void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass&&) +# 1785| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorTestNonVirtualClass && -# 1742| [Constructor] void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass() -# 1742| : -# 1742| : -# 1742| getInitializer(0): [ConstructorDirectInit] call to CopyConstructorWithImplicitArgumentClass -# 1742| Type = [VoidType] void -# 1742| ValueCategory = prvalue -# 1742| getInitializer(1): [ConstructorDirectInit] call to CopyConstructorWithBitwiseCopyClass -# 1742| Type = [VoidType] void -# 1742| ValueCategory = prvalue -# 1742| getEntryPoint(): [BlockStmt] { ... } -# 1742| getStmt(0): [ReturnStmt] return ... -# 1745| [CopyAssignmentOperator] CopyConstructorTestVirtualClass& CopyConstructorTestVirtualClass::operator=(CopyConstructorTestVirtualClass const&) -# 1745| : +# 1789| [Constructor] void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass() +# 1789| : +# 1789| : +# 1789| getInitializer(0): [ConstructorDirectInit] call to CopyConstructorWithImplicitArgumentClass +# 1789| Type = [VoidType] void +# 1789| ValueCategory = prvalue +# 1789| getInitializer(1): [ConstructorDirectInit] call to CopyConstructorWithBitwiseCopyClass +# 1789| Type = [VoidType] void +# 1789| ValueCategory = prvalue +# 1789| getEntryPoint(): [BlockStmt] { ... } +# 1789| getStmt(0): [ReturnStmt] return ... +# 1792| [CopyAssignmentOperator] CopyConstructorTestVirtualClass& CopyConstructorTestVirtualClass::operator=(CopyConstructorTestVirtualClass const&) +# 1792| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1745| [MoveAssignmentOperator] CopyConstructorTestVirtualClass& CopyConstructorTestVirtualClass::operator=(CopyConstructorTestVirtualClass&&) -# 1745| : +# 1792| [MoveAssignmentOperator] CopyConstructorTestVirtualClass& CopyConstructorTestVirtualClass::operator=(CopyConstructorTestVirtualClass&&) +# 1792| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorTestVirtualClass && -# 1745| [CopyConstructor] void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&) -# 1745| : +# 1792| [CopyConstructor] void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&) +# 1792| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1745| : -# 1745| getInitializer(0): [ConstructorVirtualInit] call to CopyConstructorWithImplicitArgumentClass -# 1745| Type = [VoidType] void -# 1745| ValueCategory = prvalue -# 1745| getArgument(0): [VariableAccess] (unnamed parameter 0) -# 1745| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1745| ValueCategory = prvalue(load) -# 1745| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1745| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & -# 1745| ValueCategory = prvalue -# 1745| getExpr(): [CStyleCast] (const CopyConstructorWithImplicitArgumentClass)... -# 1745| Conversion = [BaseClassConversion] base class conversion -# 1745| Type = [SpecifiedType] const CopyConstructorWithImplicitArgumentClass -# 1745| ValueCategory = lvalue -# 1745| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1745| Type = [SpecifiedType] const CopyConstructorTestVirtualClass -# 1745| ValueCategory = lvalue -# 1745| getInitializer(1): (no string representation) -# 1745| Type = [VirtualBaseClass] CopyConstructorWithBitwiseCopyClass -# 1745| ValueCategory = prvalue -# 1745| getEntryPoint(): [BlockStmt] { ... } -# 1745| getStmt(0): [ReturnStmt] return ... -# 1745| [MoveConstructor] void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass&&) -# 1745| : +# 1792| : +# 1792| getInitializer(0): [ConstructorVirtualInit] call to CopyConstructorWithImplicitArgumentClass +# 1792| Type = [VoidType] void +# 1792| ValueCategory = prvalue +# 1792| getArgument(0): [VariableAccess] (unnamed parameter 0) +# 1792| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & +# 1792| ValueCategory = prvalue(load) +# 1792| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1792| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & +# 1792| ValueCategory = prvalue +# 1792| getExpr(): [CStyleCast] (const CopyConstructorWithImplicitArgumentClass)... +# 1792| Conversion = [BaseClassConversion] base class conversion +# 1792| Type = [SpecifiedType] const CopyConstructorWithImplicitArgumentClass +# 1792| ValueCategory = lvalue +# 1792| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1792| Type = [SpecifiedType] const CopyConstructorTestVirtualClass +# 1792| ValueCategory = lvalue +# 1792| getInitializer(1): (no string representation) +# 1792| Type = [VirtualBaseClass] CopyConstructorWithBitwiseCopyClass +# 1792| ValueCategory = prvalue +# 1792| getEntryPoint(): [BlockStmt] { ... } +# 1792| getStmt(0): [ReturnStmt] return ... +# 1792| [MoveConstructor] void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass&&) +# 1792| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorTestVirtualClass && -# 1749| [Constructor] void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass() -# 1749| : -# 1749| : -# 1749| getInitializer(0): [ConstructorVirtualInit] call to CopyConstructorWithImplicitArgumentClass -# 1749| Type = [VoidType] void -# 1749| ValueCategory = prvalue -# 1749| getInitializer(1): [ConstructorVirtualInit] call to CopyConstructorWithBitwiseCopyClass -# 1749| Type = [VoidType] void -# 1749| ValueCategory = prvalue -# 1749| getEntryPoint(): [BlockStmt] { ... } -# 1749| getStmt(0): [ReturnStmt] return ... -# 1752| [TopLevelFunction] int implicit_copy_constructor_test(CopyConstructorTestNonVirtualClass const&, CopyConstructorTestVirtualClass const&) -# 1752| : -# 1753| getParameter(0): [Parameter] x -# 1753| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1754| getParameter(1): [Parameter] y -# 1754| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1754| getEntryPoint(): [BlockStmt] { ... } -# 1755| getStmt(0): [DeclStmt] declaration -# 1755| getDeclarationEntry(0): [VariableDeclarationEntry] definition of cx -# 1755| Type = [Class] CopyConstructorTestNonVirtualClass -# 1755| getVariable().getInitializer(): [Initializer] initializer for cx -# 1755| getExpr(): [ConstructorCall] call to CopyConstructorTestNonVirtualClass -# 1755| Type = [VoidType] void -# 1755| ValueCategory = prvalue -# 1755| getArgument(0): [VariableAccess] x -# 1755| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1755| ValueCategory = prvalue(load) -# 1755| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1755| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1755| ValueCategory = prvalue -# 1755| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1755| Type = [SpecifiedType] const CopyConstructorTestNonVirtualClass -# 1755| ValueCategory = lvalue -# 1756| getStmt(1): [DeclStmt] declaration -# 1756| getDeclarationEntry(0): [VariableDeclarationEntry] definition of cy -# 1756| Type = [Class] CopyConstructorTestVirtualClass -# 1756| getVariable().getInitializer(): [Initializer] initializer for cy -# 1756| getExpr(): [ConstructorCall] call to CopyConstructorTestVirtualClass -# 1756| Type = [VoidType] void -# 1756| ValueCategory = prvalue -# 1756| getArgument(0): [VariableAccess] y -# 1756| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1756| ValueCategory = prvalue(load) -# 1756| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1756| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1756| ValueCategory = prvalue -# 1756| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1756| Type = [SpecifiedType] const CopyConstructorTestVirtualClass -# 1756| ValueCategory = lvalue -# 1757| getStmt(2): [ReturnStmt] return ... -# 1759| [TopLevelFunction] void if_initialization(int) -# 1759| : -# 1759| getParameter(0): [Parameter] x -# 1759| Type = [IntType] int -# 1759| getEntryPoint(): [BlockStmt] { ... } -# 1760| getStmt(0): [IfStmt] if (...) ... -# 1760| getInitialization(): [DeclStmt] declaration -# 1760| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1760| Type = [IntType] int -# 1760| getVariable().getInitializer(): [Initializer] initializer for y -# 1760| getExpr(): [VariableAccess] x -# 1760| Type = [IntType] int -# 1760| ValueCategory = prvalue(load) -# 1760| getCondition(): [AddExpr] ... + ... -# 1760| Type = [IntType] int -# 1760| ValueCategory = prvalue -# 1760| getLeftOperand(): [VariableAccess] x -# 1760| Type = [IntType] int -# 1760| ValueCategory = prvalue(load) -# 1760| getRightOperand(): [Literal] 1 -# 1760| Type = [IntType] int -# 1760| Value = [Literal] 1 -# 1760| ValueCategory = prvalue -# 1760| getThen(): [BlockStmt] { ... } -# 1761| getStmt(0): [ExprStmt] ExprStmt -# 1761| getExpr(): [AssignExpr] ... = ... -# 1761| Type = [IntType] int -# 1761| ValueCategory = lvalue -# 1761| getLValue(): [VariableAccess] x -# 1761| Type = [IntType] int -# 1761| ValueCategory = lvalue -# 1761| getRValue(): [AddExpr] ... + ... -# 1761| Type = [IntType] int -# 1761| ValueCategory = prvalue -# 1761| getLeftOperand(): [VariableAccess] x -# 1761| Type = [IntType] int -# 1761| ValueCategory = prvalue(load) -# 1761| getRightOperand(): [VariableAccess] y -# 1761| Type = [IntType] int -# 1761| ValueCategory = prvalue(load) -# 1760| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1760| Conversion = [BoolConversion] conversion to bool -# 1760| Type = [BoolType] bool -# 1760| ValueCategory = prvalue -# 1764| getStmt(1): [DeclStmt] declaration -# 1764| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1764| Type = [IntType] int -# 1765| getStmt(2): [IfStmt] if (...) ... -# 1765| getInitialization(): [ExprStmt] ExprStmt -# 1765| getExpr(): [AssignExpr] ... = ... -# 1765| Type = [IntType] int -# 1765| ValueCategory = lvalue -# 1765| getLValue(): [VariableAccess] w -# 1765| Type = [IntType] int -# 1765| ValueCategory = lvalue -# 1765| getRValue(): [VariableAccess] x -# 1765| Type = [IntType] int -# 1765| ValueCategory = prvalue(load) -# 1765| getCondition(): [AddExpr] ... + ... -# 1765| Type = [IntType] int -# 1765| ValueCategory = prvalue -# 1765| getLeftOperand(): [VariableAccess] x -# 1765| Type = [IntType] int -# 1765| ValueCategory = prvalue(load) -# 1765| getRightOperand(): [Literal] 1 -# 1765| Type = [IntType] int -# 1765| Value = [Literal] 1 -# 1765| ValueCategory = prvalue -# 1765| getThen(): [BlockStmt] { ... } -# 1766| getStmt(0): [ExprStmt] ExprStmt -# 1766| getExpr(): [AssignExpr] ... = ... -# 1766| Type = [IntType] int -# 1766| ValueCategory = lvalue -# 1766| getLValue(): [VariableAccess] x -# 1766| Type = [IntType] int -# 1766| ValueCategory = lvalue -# 1766| getRValue(): [AddExpr] ... + ... -# 1766| Type = [IntType] int -# 1766| ValueCategory = prvalue -# 1766| getLeftOperand(): [VariableAccess] x -# 1766| Type = [IntType] int -# 1766| ValueCategory = prvalue(load) -# 1766| getRightOperand(): [VariableAccess] w -# 1766| Type = [IntType] int -# 1766| ValueCategory = prvalue(load) -# 1765| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1765| Conversion = [BoolConversion] conversion to bool -# 1765| Type = [BoolType] bool -# 1765| ValueCategory = prvalue -# 1769| getStmt(3): [IfStmt] if (...) ... -# 1769| getInitialization(): [ExprStmt] ExprStmt -# 1769| getExpr(): [AssignExpr] ... = ... -# 1769| Type = [IntType] int -# 1769| ValueCategory = lvalue -# 1769| getLValue(): [VariableAccess] w -# 1769| Type = [IntType] int -# 1769| ValueCategory = lvalue -# 1769| getRValue(): [VariableAccess] x -# 1769| Type = [IntType] int -# 1769| ValueCategory = prvalue(load) -# 1769| getCondition(): [ConditionDeclExpr] (condition decl) -# 1769| Type = [BoolType] bool -# 1769| ValueCategory = prvalue -# 1769| getVariableAccess(): [VariableAccess] w2 -# 1769| Type = [IntType] int -# 1769| ValueCategory = prvalue(load) -# 1769| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... -# 1769| Conversion = [BoolConversion] conversion to bool -# 1769| Type = [BoolType] bool -# 1769| ValueCategory = prvalue -# 1769| getThen(): [BlockStmt] { ... } -# 1770| getStmt(0): [ExprStmt] ExprStmt -# 1770| getExpr(): [AssignExpr] ... = ... -# 1770| Type = [IntType] int -# 1770| ValueCategory = lvalue -# 1770| getLValue(): [VariableAccess] x -# 1770| Type = [IntType] int -# 1770| ValueCategory = lvalue -# 1770| getRValue(): [AddExpr] ... + ... -# 1770| Type = [IntType] int -# 1770| ValueCategory = prvalue -# 1770| getLeftOperand(): [VariableAccess] x -# 1770| Type = [IntType] int -# 1770| ValueCategory = prvalue(load) -# 1770| getRightOperand(): [VariableAccess] w -# 1770| Type = [IntType] int -# 1770| ValueCategory = prvalue(load) -# 1773| getStmt(4): [IfStmt] if (...) ... -# 1773| getInitialization(): [DeclStmt] declaration -# 1773| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1773| Type = [IntType] int -# 1773| getVariable().getInitializer(): [Initializer] initializer for v -# 1773| getExpr(): [VariableAccess] x -# 1773| Type = [IntType] int -# 1773| ValueCategory = prvalue(load) -# 1773| getCondition(): [ConditionDeclExpr] (condition decl) -# 1773| Type = [BoolType] bool -# 1773| ValueCategory = prvalue -# 1773| getVariableAccess(): [VariableAccess] v2 -# 1773| Type = [IntType] int -# 1773| ValueCategory = prvalue(load) -# 1773| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... -# 1773| Conversion = [BoolConversion] conversion to bool -# 1773| Type = [BoolType] bool -# 1773| ValueCategory = prvalue -# 1773| getThen(): [BlockStmt] { ... } -# 1774| getStmt(0): [ExprStmt] ExprStmt -# 1774| getExpr(): [AssignExpr] ... = ... -# 1774| Type = [IntType] int -# 1774| ValueCategory = lvalue -# 1774| getLValue(): [VariableAccess] x -# 1774| Type = [IntType] int -# 1774| ValueCategory = lvalue -# 1774| getRValue(): [AddExpr] ... + ... -# 1774| Type = [IntType] int -# 1774| ValueCategory = prvalue -# 1774| getLeftOperand(): [VariableAccess] x -# 1774| Type = [IntType] int -# 1774| ValueCategory = prvalue(load) -# 1774| getRightOperand(): [VariableAccess] v -# 1774| Type = [IntType] int -# 1774| ValueCategory = prvalue(load) -# 1777| getStmt(5): [DeclStmt] declaration -# 1777| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1777| Type = [IntType] int -# 1777| getVariable().getInitializer(): [Initializer] initializer for z -# 1777| getExpr(): [VariableAccess] x -# 1777| Type = [IntType] int -# 1777| ValueCategory = prvalue(load) -# 1778| getStmt(6): [IfStmt] if (...) ... -# 1778| getCondition(): [VariableAccess] z -# 1778| Type = [IntType] int -# 1778| ValueCategory = prvalue(load) -# 1778| getThen(): [BlockStmt] { ... } -# 1779| getStmt(0): [ExprStmt] ExprStmt -# 1779| getExpr(): [AssignExpr] ... = ... -# 1779| Type = [IntType] int -# 1779| ValueCategory = lvalue -# 1779| getLValue(): [VariableAccess] x -# 1779| Type = [IntType] int -# 1779| ValueCategory = lvalue -# 1779| getRValue(): [AddExpr] ... + ... -# 1779| Type = [IntType] int -# 1779| ValueCategory = prvalue -# 1779| getLeftOperand(): [VariableAccess] x -# 1779| Type = [IntType] int -# 1779| ValueCategory = prvalue(load) -# 1779| getRightOperand(): [VariableAccess] z -# 1779| Type = [IntType] int -# 1779| ValueCategory = prvalue(load) -# 1778| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1778| Conversion = [BoolConversion] conversion to bool -# 1778| Type = [BoolType] bool -# 1778| ValueCategory = prvalue -# 1782| getStmt(7): [IfStmt] if (...) ... -# 1782| getCondition(): [ConditionDeclExpr] (condition decl) -# 1782| Type = [BoolType] bool -# 1782| ValueCategory = prvalue -# 1782| getVariableAccess(): [VariableAccess] z2 -# 1782| Type = [IntType] int -# 1782| ValueCategory = prvalue(load) -# 1782| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... -# 1782| Conversion = [BoolConversion] conversion to bool -# 1782| Type = [BoolType] bool -# 1782| ValueCategory = prvalue -# 1782| getThen(): [BlockStmt] { ... } -# 1783| getStmt(0): [ExprStmt] ExprStmt -# 1783| getExpr(): [AssignAddExpr] ... += ... -# 1783| Type = [IntType] int -# 1783| ValueCategory = lvalue -# 1783| getLValue(): [VariableAccess] x -# 1783| Type = [IntType] int -# 1783| ValueCategory = lvalue -# 1783| getRValue(): [VariableAccess] z2 -# 1783| Type = [IntType] int -# 1783| ValueCategory = prvalue(load) -# 1785| getStmt(8): [ReturnStmt] return ... -# 1787| [TopLevelFunction] void switch_initialization(int) -# 1787| : -# 1787| getParameter(0): [Parameter] x -# 1787| Type = [IntType] int -# 1787| getEntryPoint(): [BlockStmt] { ... } -# 1788| getStmt(0): [SwitchStmt] switch (...) ... -# 1788| getInitialization(): [DeclStmt] declaration -# 1788| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1788| Type = [IntType] int -# 1788| getVariable().getInitializer(): [Initializer] initializer for y -# 1788| getExpr(): [VariableAccess] x -# 1788| Type = [IntType] int -# 1788| ValueCategory = prvalue(load) -# 1788| getExpr(): [AddExpr] ... + ... -# 1788| Type = [IntType] int -# 1788| ValueCategory = prvalue -# 1788| getLeftOperand(): [VariableAccess] x -# 1788| Type = [IntType] int -# 1788| ValueCategory = prvalue(load) -# 1788| getRightOperand(): [Literal] 1 -# 1788| Type = [IntType] int -# 1788| Value = [Literal] 1 -# 1788| ValueCategory = prvalue -# 1788| getStmt(): [BlockStmt] { ... } -# 1789| getStmt(0): [SwitchCase] default: -# 1790| getStmt(1): [ExprStmt] ExprStmt -# 1790| getExpr(): [AssignExpr] ... = ... -# 1790| Type = [IntType] int -# 1790| ValueCategory = lvalue -# 1790| getLValue(): [VariableAccess] x -# 1790| Type = [IntType] int -# 1790| ValueCategory = lvalue -# 1790| getRValue(): [AddExpr] ... + ... -# 1790| Type = [IntType] int -# 1790| ValueCategory = prvalue -# 1790| getLeftOperand(): [VariableAccess] x -# 1790| Type = [IntType] int -# 1790| ValueCategory = prvalue(load) -# 1790| getRightOperand(): [VariableAccess] y -# 1790| Type = [IntType] int -# 1790| ValueCategory = prvalue(load) -# 1793| getStmt(1): [DeclStmt] declaration -# 1793| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1793| Type = [IntType] int -# 1794| getStmt(2): [SwitchStmt] switch (...) ... -# 1794| getInitialization(): [ExprStmt] ExprStmt -# 1794| getExpr(): [AssignExpr] ... = ... -# 1794| Type = [IntType] int -# 1794| ValueCategory = lvalue -# 1794| getLValue(): [VariableAccess] w -# 1794| Type = [IntType] int -# 1794| ValueCategory = lvalue -# 1794| getRValue(): [VariableAccess] x -# 1794| Type = [IntType] int -# 1794| ValueCategory = prvalue(load) -# 1794| getExpr(): [AddExpr] ... + ... -# 1794| Type = [IntType] int -# 1794| ValueCategory = prvalue -# 1794| getLeftOperand(): [VariableAccess] x -# 1794| Type = [IntType] int -# 1794| ValueCategory = prvalue(load) -# 1794| getRightOperand(): [Literal] 1 -# 1794| Type = [IntType] int -# 1794| Value = [Literal] 1 -# 1794| ValueCategory = prvalue -# 1794| getStmt(): [BlockStmt] { ... } -# 1795| getStmt(0): [SwitchCase] default: -# 1796| getStmt(1): [ExprStmt] ExprStmt -# 1796| getExpr(): [AssignExpr] ... = ... -# 1796| Type = [IntType] int -# 1796| ValueCategory = lvalue -# 1796| getLValue(): [VariableAccess] x -# 1796| Type = [IntType] int -# 1796| ValueCategory = lvalue -# 1796| getRValue(): [AddExpr] ... + ... -# 1796| Type = [IntType] int -# 1796| ValueCategory = prvalue -# 1796| getLeftOperand(): [VariableAccess] x -# 1796| Type = [IntType] int -# 1796| ValueCategory = prvalue(load) -# 1796| getRightOperand(): [VariableAccess] w -# 1796| Type = [IntType] int -# 1796| ValueCategory = prvalue(load) -# 1799| getStmt(3): [SwitchStmt] switch (...) ... -# 1799| getInitialization(): [ExprStmt] ExprStmt -# 1799| getExpr(): [AssignExpr] ... = ... -# 1799| Type = [IntType] int -# 1799| ValueCategory = lvalue -# 1799| getLValue(): [VariableAccess] w -# 1799| Type = [IntType] int -# 1799| ValueCategory = lvalue -# 1799| getRValue(): [VariableAccess] x -# 1799| Type = [IntType] int -# 1799| ValueCategory = prvalue(load) -# 1799| getExpr(): [ConditionDeclExpr] (condition decl) -# 1799| Type = [IntType] int -# 1799| ValueCategory = prvalue -# 1799| getVariableAccess(): [VariableAccess] w2 -# 1799| Type = [IntType] int -# 1799| ValueCategory = prvalue(load) -# 1799| getStmt(): [BlockStmt] { ... } -# 1800| getStmt(0): [SwitchCase] default: -# 1801| getStmt(1): [ExprStmt] ExprStmt -# 1801| getExpr(): [AssignExpr] ... = ... -# 1801| Type = [IntType] int -# 1801| ValueCategory = lvalue -# 1801| getLValue(): [VariableAccess] x -# 1801| Type = [IntType] int -# 1801| ValueCategory = lvalue -# 1801| getRValue(): [AddExpr] ... + ... -# 1801| Type = [IntType] int -# 1801| ValueCategory = prvalue -# 1801| getLeftOperand(): [VariableAccess] x -# 1801| Type = [IntType] int -# 1801| ValueCategory = prvalue(load) -# 1801| getRightOperand(): [VariableAccess] w -# 1801| Type = [IntType] int -# 1801| ValueCategory = prvalue(load) -# 1804| getStmt(4): [SwitchStmt] switch (...) ... -# 1804| getInitialization(): [DeclStmt] declaration -# 1804| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1804| Type = [IntType] int -# 1804| getVariable().getInitializer(): [Initializer] initializer for v -# 1804| getExpr(): [VariableAccess] x -# 1804| Type = [IntType] int -# 1804| ValueCategory = prvalue(load) -# 1804| getExpr(): [ConditionDeclExpr] (condition decl) -# 1804| Type = [IntType] int -# 1804| ValueCategory = prvalue -# 1804| getVariableAccess(): [VariableAccess] v2 -# 1804| Type = [IntType] int -# 1804| ValueCategory = prvalue(load) -# 1804| getStmt(): [BlockStmt] { ... } -# 1805| getStmt(0): [SwitchCase] default: -# 1806| getStmt(1): [ExprStmt] ExprStmt -# 1806| getExpr(): [AssignExpr] ... = ... -# 1806| Type = [IntType] int -# 1806| ValueCategory = lvalue -# 1806| getLValue(): [VariableAccess] x -# 1806| Type = [IntType] int -# 1806| ValueCategory = lvalue -# 1806| getRValue(): [AddExpr] ... + ... -# 1806| Type = [IntType] int -# 1806| ValueCategory = prvalue -# 1806| getLeftOperand(): [VariableAccess] x -# 1806| Type = [IntType] int -# 1806| ValueCategory = prvalue(load) -# 1806| getRightOperand(): [VariableAccess] v -# 1806| Type = [IntType] int -# 1806| ValueCategory = prvalue(load) -# 1809| getStmt(5): [DeclStmt] declaration -# 1809| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1809| Type = [IntType] int -# 1809| getVariable().getInitializer(): [Initializer] initializer for z -# 1809| getExpr(): [VariableAccess] x -# 1809| Type = [IntType] int -# 1809| ValueCategory = prvalue(load) -# 1810| getStmt(6): [SwitchStmt] switch (...) ... -# 1810| getExpr(): [VariableAccess] z -# 1810| Type = [IntType] int -# 1810| ValueCategory = prvalue(load) -# 1810| getStmt(): [BlockStmt] { ... } -# 1811| getStmt(0): [SwitchCase] default: -# 1812| getStmt(1): [ExprStmt] ExprStmt -# 1812| getExpr(): [AssignExpr] ... = ... +# 1796| [Constructor] void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass() +# 1796| : +# 1796| : +# 1796| getInitializer(0): [ConstructorVirtualInit] call to CopyConstructorWithImplicitArgumentClass +# 1796| Type = [VoidType] void +# 1796| ValueCategory = prvalue +# 1796| getInitializer(1): [ConstructorVirtualInit] call to CopyConstructorWithBitwiseCopyClass +# 1796| Type = [VoidType] void +# 1796| ValueCategory = prvalue +# 1796| getEntryPoint(): [BlockStmt] { ... } +# 1796| getStmt(0): [ReturnStmt] return ... +# 1799| [TopLevelFunction] int implicit_copy_constructor_test(CopyConstructorTestNonVirtualClass const&, CopyConstructorTestVirtualClass const&) +# 1799| : +# 1800| getParameter(0): [Parameter] x +# 1800| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & +# 1801| getParameter(1): [Parameter] y +# 1801| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & +# 1801| getEntryPoint(): [BlockStmt] { ... } +# 1802| getStmt(0): [DeclStmt] declaration +# 1802| getDeclarationEntry(0): [VariableDeclarationEntry] definition of cx +# 1802| Type = [Class] CopyConstructorTestNonVirtualClass +# 1802| getVariable().getInitializer(): [Initializer] initializer for cx +# 1802| getExpr(): [ConstructorCall] call to CopyConstructorTestNonVirtualClass +# 1802| Type = [VoidType] void +# 1802| ValueCategory = prvalue +# 1802| getArgument(0): [VariableAccess] x +# 1802| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & +# 1802| ValueCategory = prvalue(load) +# 1802| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1802| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & +# 1802| ValueCategory = prvalue +# 1802| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1802| Type = [SpecifiedType] const CopyConstructorTestNonVirtualClass +# 1802| ValueCategory = lvalue +# 1803| getStmt(1): [DeclStmt] declaration +# 1803| getDeclarationEntry(0): [VariableDeclarationEntry] definition of cy +# 1803| Type = [Class] CopyConstructorTestVirtualClass +# 1803| getVariable().getInitializer(): [Initializer] initializer for cy +# 1803| getExpr(): [ConstructorCall] call to CopyConstructorTestVirtualClass +# 1803| Type = [VoidType] void +# 1803| ValueCategory = prvalue +# 1803| getArgument(0): [VariableAccess] y +# 1803| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & +# 1803| ValueCategory = prvalue(load) +# 1803| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1803| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & +# 1803| ValueCategory = prvalue +# 1803| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 1803| Type = [SpecifiedType] const CopyConstructorTestVirtualClass +# 1803| ValueCategory = lvalue +# 1804| getStmt(2): [ReturnStmt] return ... +# 1806| [TopLevelFunction] void if_initialization(int) +# 1806| : +# 1806| getParameter(0): [Parameter] x +# 1806| Type = [IntType] int +# 1806| getEntryPoint(): [BlockStmt] { ... } +# 1807| getStmt(0): [IfStmt] if (...) ... +# 1807| getInitialization(): [DeclStmt] declaration +# 1807| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1807| Type = [IntType] int +# 1807| getVariable().getInitializer(): [Initializer] initializer for y +# 1807| getExpr(): [VariableAccess] x +# 1807| Type = [IntType] int +# 1807| ValueCategory = prvalue(load) +# 1807| getCondition(): [AddExpr] ... + ... +# 1807| Type = [IntType] int +# 1807| ValueCategory = prvalue +# 1807| getLeftOperand(): [VariableAccess] x +# 1807| Type = [IntType] int +# 1807| ValueCategory = prvalue(load) +# 1807| getRightOperand(): [Literal] 1 +# 1807| Type = [IntType] int +# 1807| Value = [Literal] 1 +# 1807| ValueCategory = prvalue +# 1807| getThen(): [BlockStmt] { ... } +# 1808| getStmt(0): [ExprStmt] ExprStmt +# 1808| getExpr(): [AssignExpr] ... = ... +# 1808| Type = [IntType] int +# 1808| ValueCategory = lvalue +# 1808| getLValue(): [VariableAccess] x +# 1808| Type = [IntType] int +# 1808| ValueCategory = lvalue +# 1808| getRValue(): [AddExpr] ... + ... +# 1808| Type = [IntType] int +# 1808| ValueCategory = prvalue +# 1808| getLeftOperand(): [VariableAccess] x +# 1808| Type = [IntType] int +# 1808| ValueCategory = prvalue(load) +# 1808| getRightOperand(): [VariableAccess] y +# 1808| Type = [IntType] int +# 1808| ValueCategory = prvalue(load) +# 1807| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 1807| Conversion = [BoolConversion] conversion to bool +# 1807| Type = [BoolType] bool +# 1807| ValueCategory = prvalue +# 1811| getStmt(1): [DeclStmt] declaration +# 1811| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1811| Type = [IntType] int +# 1812| getStmt(2): [IfStmt] if (...) ... +# 1812| getInitialization(): [ExprStmt] ExprStmt +# 1812| getExpr(): [AssignExpr] ... = ... +# 1812| Type = [IntType] int +# 1812| ValueCategory = lvalue +# 1812| getLValue(): [VariableAccess] w # 1812| Type = [IntType] int # 1812| ValueCategory = lvalue -# 1812| getLValue(): [VariableAccess] x -# 1812| Type = [IntType] int -# 1812| ValueCategory = lvalue -# 1812| getRValue(): [AddExpr] ... + ... -# 1812| Type = [IntType] int -# 1812| ValueCategory = prvalue -# 1812| getLeftOperand(): [VariableAccess] x -# 1812| Type = [IntType] int -# 1812| ValueCategory = prvalue(load) -# 1812| getRightOperand(): [VariableAccess] z -# 1812| Type = [IntType] int -# 1812| ValueCategory = prvalue(load) -# 1815| getStmt(7): [SwitchStmt] switch (...) ... -# 1815| getExpr(): [ConditionDeclExpr] (condition decl) -# 1815| Type = [IntType] int -# 1815| ValueCategory = prvalue -# 1815| getVariableAccess(): [VariableAccess] z2 -# 1815| Type = [IntType] int -# 1815| ValueCategory = prvalue(load) -# 1815| getStmt(): [BlockStmt] { ... } -# 1816| getStmt(0): [SwitchCase] default: -# 1817| getStmt(1): [ExprStmt] ExprStmt -# 1817| getExpr(): [AssignAddExpr] ... += ... +# 1812| getRValue(): [VariableAccess] x +# 1812| Type = [IntType] int +# 1812| ValueCategory = prvalue(load) +# 1812| getCondition(): [AddExpr] ... + ... +# 1812| Type = [IntType] int +# 1812| ValueCategory = prvalue +# 1812| getLeftOperand(): [VariableAccess] x +# 1812| Type = [IntType] int +# 1812| ValueCategory = prvalue(load) +# 1812| getRightOperand(): [Literal] 1 +# 1812| Type = [IntType] int +# 1812| Value = [Literal] 1 +# 1812| ValueCategory = prvalue +# 1812| getThen(): [BlockStmt] { ... } +# 1813| getStmt(0): [ExprStmt] ExprStmt +# 1813| getExpr(): [AssignExpr] ... = ... +# 1813| Type = [IntType] int +# 1813| ValueCategory = lvalue +# 1813| getLValue(): [VariableAccess] x +# 1813| Type = [IntType] int +# 1813| ValueCategory = lvalue +# 1813| getRValue(): [AddExpr] ... + ... +# 1813| Type = [IntType] int +# 1813| ValueCategory = prvalue +# 1813| getLeftOperand(): [VariableAccess] x +# 1813| Type = [IntType] int +# 1813| ValueCategory = prvalue(load) +# 1813| getRightOperand(): [VariableAccess] w +# 1813| Type = [IntType] int +# 1813| ValueCategory = prvalue(load) +# 1812| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 1812| Conversion = [BoolConversion] conversion to bool +# 1812| Type = [BoolType] bool +# 1812| ValueCategory = prvalue +# 1816| getStmt(3): [IfStmt] if (...) ... +# 1816| getInitialization(): [ExprStmt] ExprStmt +# 1816| getExpr(): [AssignExpr] ... = ... +# 1816| Type = [IntType] int +# 1816| ValueCategory = lvalue +# 1816| getLValue(): [VariableAccess] w +# 1816| Type = [IntType] int +# 1816| ValueCategory = lvalue +# 1816| getRValue(): [VariableAccess] x +# 1816| Type = [IntType] int +# 1816| ValueCategory = prvalue(load) +# 1816| getCondition(): [ConditionDeclExpr] (condition decl) +# 1816| Type = [BoolType] bool +# 1816| ValueCategory = prvalue +# 1816| getVariableAccess(): [VariableAccess] w2 +# 1816| Type = [IntType] int +# 1816| ValueCategory = prvalue(load) +# 1816| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... +# 1816| Conversion = [BoolConversion] conversion to bool +# 1816| Type = [BoolType] bool +# 1816| ValueCategory = prvalue +# 1816| getThen(): [BlockStmt] { ... } +# 1817| getStmt(0): [ExprStmt] ExprStmt +# 1817| getExpr(): [AssignExpr] ... = ... # 1817| Type = [IntType] int # 1817| ValueCategory = lvalue # 1817| getLValue(): [VariableAccess] x # 1817| Type = [IntType] int # 1817| ValueCategory = lvalue -# 1817| getRValue(): [VariableAccess] z2 +# 1817| getRValue(): [AddExpr] ... + ... # 1817| Type = [IntType] int -# 1817| ValueCategory = prvalue(load) -# 1819| getStmt(8): [ReturnStmt] return ... -# 1823| [GlobalVariable] int global_2 -# 1823| getInitializer(): [Initializer] initializer for global_2 -# 1823| getExpr(): [Literal] 1 -# 1823| Type = [IntType] int -# 1823| Value = [Literal] 1 -# 1823| ValueCategory = prvalue -# 1825| [GlobalVariable] int const global_3 -# 1825| getInitializer(): [Initializer] initializer for global_3 -# 1825| getExpr(): [Literal] 2 -# 1825| Type = [IntType] int -# 1825| Value = [Literal] 2 -# 1825| ValueCategory = prvalue -# 1827| [GlobalVariable] constructor_only global_4 -# 1827| getInitializer(): [Initializer] initializer for global_4 -# 1827| getExpr(): [ConstructorCall] call to constructor_only -# 1827| Type = [VoidType] void -# 1827| ValueCategory = prvalue -# 1827| getArgument(0): [Literal] 1 -# 1827| Type = [IntType] int -# 1827| Value = [Literal] 1 -# 1827| ValueCategory = prvalue -# 1829| [GlobalVariable] constructor_only global_5 -# 1829| getInitializer(): [Initializer] initializer for global_5 -# 1829| getExpr(): [ConstructorCall] call to constructor_only -# 1829| Type = [VoidType] void -# 1829| ValueCategory = prvalue -# 1829| getArgument(0): [Literal] 2 -# 1829| Type = [IntType] int -# 1829| Value = [Literal] 2 +# 1817| ValueCategory = prvalue +# 1817| getLeftOperand(): [VariableAccess] x +# 1817| Type = [IntType] int +# 1817| ValueCategory = prvalue(load) +# 1817| getRightOperand(): [VariableAccess] w +# 1817| Type = [IntType] int +# 1817| ValueCategory = prvalue(load) +# 1820| getStmt(4): [IfStmt] if (...) ... +# 1820| getInitialization(): [DeclStmt] declaration +# 1820| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1820| Type = [IntType] int +# 1820| getVariable().getInitializer(): [Initializer] initializer for v +# 1820| getExpr(): [VariableAccess] x +# 1820| Type = [IntType] int +# 1820| ValueCategory = prvalue(load) +# 1820| getCondition(): [ConditionDeclExpr] (condition decl) +# 1820| Type = [BoolType] bool +# 1820| ValueCategory = prvalue +# 1820| getVariableAccess(): [VariableAccess] v2 +# 1820| Type = [IntType] int +# 1820| ValueCategory = prvalue(load) +# 1820| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... +# 1820| Conversion = [BoolConversion] conversion to bool +# 1820| Type = [BoolType] bool +# 1820| ValueCategory = prvalue +# 1820| getThen(): [BlockStmt] { ... } +# 1821| getStmt(0): [ExprStmt] ExprStmt +# 1821| getExpr(): [AssignExpr] ... = ... +# 1821| Type = [IntType] int +# 1821| ValueCategory = lvalue +# 1821| getLValue(): [VariableAccess] x +# 1821| Type = [IntType] int +# 1821| ValueCategory = lvalue +# 1821| getRValue(): [AddExpr] ... + ... +# 1821| Type = [IntType] int +# 1821| ValueCategory = prvalue +# 1821| getLeftOperand(): [VariableAccess] x +# 1821| Type = [IntType] int +# 1821| ValueCategory = prvalue(load) +# 1821| getRightOperand(): [VariableAccess] v +# 1821| Type = [IntType] int +# 1821| ValueCategory = prvalue(load) +# 1824| getStmt(5): [DeclStmt] declaration +# 1824| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1824| Type = [IntType] int +# 1824| getVariable().getInitializer(): [Initializer] initializer for z +# 1824| getExpr(): [VariableAccess] x +# 1824| Type = [IntType] int +# 1824| ValueCategory = prvalue(load) +# 1825| getStmt(6): [IfStmt] if (...) ... +# 1825| getCondition(): [VariableAccess] z +# 1825| Type = [IntType] int +# 1825| ValueCategory = prvalue(load) +# 1825| getThen(): [BlockStmt] { ... } +# 1826| getStmt(0): [ExprStmt] ExprStmt +# 1826| getExpr(): [AssignExpr] ... = ... +# 1826| Type = [IntType] int +# 1826| ValueCategory = lvalue +# 1826| getLValue(): [VariableAccess] x +# 1826| Type = [IntType] int +# 1826| ValueCategory = lvalue +# 1826| getRValue(): [AddExpr] ... + ... +# 1826| Type = [IntType] int +# 1826| ValueCategory = prvalue +# 1826| getLeftOperand(): [VariableAccess] x +# 1826| Type = [IntType] int +# 1826| ValueCategory = prvalue(load) +# 1826| getRightOperand(): [VariableAccess] z +# 1826| Type = [IntType] int +# 1826| ValueCategory = prvalue(load) +# 1825| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 1825| Conversion = [BoolConversion] conversion to bool +# 1825| Type = [BoolType] bool +# 1825| ValueCategory = prvalue +# 1829| getStmt(7): [IfStmt] if (...) ... +# 1829| getCondition(): [ConditionDeclExpr] (condition decl) +# 1829| Type = [BoolType] bool # 1829| ValueCategory = prvalue -# 1831| [GlobalVariable] char* global_string -# 1831| getInitializer(): [Initializer] initializer for global_string -# 1831| getExpr(): global string -# 1831| Type = [ArrayType] const char[14] -# 1831| Value = [StringLiteral] "global string" -# 1831| ValueCategory = lvalue -# 1831| getExpr().getFullyConverted(): [CStyleCast] (char *)... -# 1831| Conversion = [PointerConversion] pointer conversion -# 1831| Type = [CharPointerType] char * -# 1831| ValueCategory = prvalue -# 1831| getExpr(): [ArrayToPointerConversion] array to pointer conversion -# 1831| Type = [PointerType] const char * -# 1831| ValueCategory = prvalue -# 1833| [GlobalVariable] int global_6 -# 1833| getInitializer(): [Initializer] initializer for global_6 -# 1833| getExpr(): [VariableAccess] global_2 -# 1833| Type = [IntType] int -# 1833| ValueCategory = prvalue(load) -# 1836| [CopyAssignmentOperator] block_assignment::A& block_assignment::A::operator=(block_assignment::A const&) -# 1836| : +# 1829| getVariableAccess(): [VariableAccess] z2 +# 1829| Type = [IntType] int +# 1829| ValueCategory = prvalue(load) +# 1829| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... +# 1829| Conversion = [BoolConversion] conversion to bool +# 1829| Type = [BoolType] bool +# 1829| ValueCategory = prvalue +# 1829| getThen(): [BlockStmt] { ... } +# 1830| getStmt(0): [ExprStmt] ExprStmt +# 1830| getExpr(): [AssignAddExpr] ... += ... +# 1830| Type = [IntType] int +# 1830| ValueCategory = lvalue +# 1830| getLValue(): [VariableAccess] x +# 1830| Type = [IntType] int +# 1830| ValueCategory = lvalue +# 1830| getRValue(): [VariableAccess] z2 +# 1830| Type = [IntType] int +# 1830| ValueCategory = prvalue(load) +# 1832| getStmt(8): [ReturnStmt] return ... +# 1834| [TopLevelFunction] void switch_initialization(int) +# 1834| : +# 1834| getParameter(0): [Parameter] x +# 1834| Type = [IntType] int +# 1834| getEntryPoint(): [BlockStmt] { ... } +# 1835| getStmt(0): [SwitchStmt] switch (...) ... +# 1835| getInitialization(): [DeclStmt] declaration +# 1835| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1835| Type = [IntType] int +# 1835| getVariable().getInitializer(): [Initializer] initializer for y +# 1835| getExpr(): [VariableAccess] x +# 1835| Type = [IntType] int +# 1835| ValueCategory = prvalue(load) +# 1835| getExpr(): [AddExpr] ... + ... +# 1835| Type = [IntType] int +# 1835| ValueCategory = prvalue +# 1835| getLeftOperand(): [VariableAccess] x +# 1835| Type = [IntType] int +# 1835| ValueCategory = prvalue(load) +# 1835| getRightOperand(): [Literal] 1 +# 1835| Type = [IntType] int +# 1835| Value = [Literal] 1 +# 1835| ValueCategory = prvalue +# 1835| getStmt(): [BlockStmt] { ... } +# 1836| getStmt(0): [SwitchCase] default: +# 1837| getStmt(1): [ExprStmt] ExprStmt +# 1837| getExpr(): [AssignExpr] ... = ... +# 1837| Type = [IntType] int +# 1837| ValueCategory = lvalue +# 1837| getLValue(): [VariableAccess] x +# 1837| Type = [IntType] int +# 1837| ValueCategory = lvalue +# 1837| getRValue(): [AddExpr] ... + ... +# 1837| Type = [IntType] int +# 1837| ValueCategory = prvalue +# 1837| getLeftOperand(): [VariableAccess] x +# 1837| Type = [IntType] int +# 1837| ValueCategory = prvalue(load) +# 1837| getRightOperand(): [VariableAccess] y +# 1837| Type = [IntType] int +# 1837| ValueCategory = prvalue(load) +# 1840| getStmt(1): [DeclStmt] declaration +# 1840| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1840| Type = [IntType] int +# 1841| getStmt(2): [SwitchStmt] switch (...) ... +# 1841| getInitialization(): [ExprStmt] ExprStmt +# 1841| getExpr(): [AssignExpr] ... = ... +# 1841| Type = [IntType] int +# 1841| ValueCategory = lvalue +# 1841| getLValue(): [VariableAccess] w +# 1841| Type = [IntType] int +# 1841| ValueCategory = lvalue +# 1841| getRValue(): [VariableAccess] x +# 1841| Type = [IntType] int +# 1841| ValueCategory = prvalue(load) +# 1841| getExpr(): [AddExpr] ... + ... +# 1841| Type = [IntType] int +# 1841| ValueCategory = prvalue +# 1841| getLeftOperand(): [VariableAccess] x +# 1841| Type = [IntType] int +# 1841| ValueCategory = prvalue(load) +# 1841| getRightOperand(): [Literal] 1 +# 1841| Type = [IntType] int +# 1841| Value = [Literal] 1 +# 1841| ValueCategory = prvalue +# 1841| getStmt(): [BlockStmt] { ... } +# 1842| getStmt(0): [SwitchCase] default: +# 1843| getStmt(1): [ExprStmt] ExprStmt +# 1843| getExpr(): [AssignExpr] ... = ... +# 1843| Type = [IntType] int +# 1843| ValueCategory = lvalue +# 1843| getLValue(): [VariableAccess] x +# 1843| Type = [IntType] int +# 1843| ValueCategory = lvalue +# 1843| getRValue(): [AddExpr] ... + ... +# 1843| Type = [IntType] int +# 1843| ValueCategory = prvalue +# 1843| getLeftOperand(): [VariableAccess] x +# 1843| Type = [IntType] int +# 1843| ValueCategory = prvalue(load) +# 1843| getRightOperand(): [VariableAccess] w +# 1843| Type = [IntType] int +# 1843| ValueCategory = prvalue(load) +# 1846| getStmt(3): [SwitchStmt] switch (...) ... +# 1846| getInitialization(): [ExprStmt] ExprStmt +# 1846| getExpr(): [AssignExpr] ... = ... +# 1846| Type = [IntType] int +# 1846| ValueCategory = lvalue +# 1846| getLValue(): [VariableAccess] w +# 1846| Type = [IntType] int +# 1846| ValueCategory = lvalue +# 1846| getRValue(): [VariableAccess] x +# 1846| Type = [IntType] int +# 1846| ValueCategory = prvalue(load) +# 1846| getExpr(): [ConditionDeclExpr] (condition decl) +# 1846| Type = [IntType] int +# 1846| ValueCategory = prvalue +# 1846| getVariableAccess(): [VariableAccess] w2 +# 1846| Type = [IntType] int +# 1846| ValueCategory = prvalue(load) +# 1846| getStmt(): [BlockStmt] { ... } +# 1847| getStmt(0): [SwitchCase] default: +# 1848| getStmt(1): [ExprStmt] ExprStmt +# 1848| getExpr(): [AssignExpr] ... = ... +# 1848| Type = [IntType] int +# 1848| ValueCategory = lvalue +# 1848| getLValue(): [VariableAccess] x +# 1848| Type = [IntType] int +# 1848| ValueCategory = lvalue +# 1848| getRValue(): [AddExpr] ... + ... +# 1848| Type = [IntType] int +# 1848| ValueCategory = prvalue +# 1848| getLeftOperand(): [VariableAccess] x +# 1848| Type = [IntType] int +# 1848| ValueCategory = prvalue(load) +# 1848| getRightOperand(): [VariableAccess] w +# 1848| Type = [IntType] int +# 1848| ValueCategory = prvalue(load) +# 1851| getStmt(4): [SwitchStmt] switch (...) ... +# 1851| getInitialization(): [DeclStmt] declaration +# 1851| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1851| Type = [IntType] int +# 1851| getVariable().getInitializer(): [Initializer] initializer for v +# 1851| getExpr(): [VariableAccess] x +# 1851| Type = [IntType] int +# 1851| ValueCategory = prvalue(load) +# 1851| getExpr(): [ConditionDeclExpr] (condition decl) +# 1851| Type = [IntType] int +# 1851| ValueCategory = prvalue +# 1851| getVariableAccess(): [VariableAccess] v2 +# 1851| Type = [IntType] int +# 1851| ValueCategory = prvalue(load) +# 1851| getStmt(): [BlockStmt] { ... } +# 1852| getStmt(0): [SwitchCase] default: +# 1853| getStmt(1): [ExprStmt] ExprStmt +# 1853| getExpr(): [AssignExpr] ... = ... +# 1853| Type = [IntType] int +# 1853| ValueCategory = lvalue +# 1853| getLValue(): [VariableAccess] x +# 1853| Type = [IntType] int +# 1853| ValueCategory = lvalue +# 1853| getRValue(): [AddExpr] ... + ... +# 1853| Type = [IntType] int +# 1853| ValueCategory = prvalue +# 1853| getLeftOperand(): [VariableAccess] x +# 1853| Type = [IntType] int +# 1853| ValueCategory = prvalue(load) +# 1853| getRightOperand(): [VariableAccess] v +# 1853| Type = [IntType] int +# 1853| ValueCategory = prvalue(load) +# 1856| getStmt(5): [DeclStmt] declaration +# 1856| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1856| Type = [IntType] int +# 1856| getVariable().getInitializer(): [Initializer] initializer for z +# 1856| getExpr(): [VariableAccess] x +# 1856| Type = [IntType] int +# 1856| ValueCategory = prvalue(load) +# 1857| getStmt(6): [SwitchStmt] switch (...) ... +# 1857| getExpr(): [VariableAccess] z +# 1857| Type = [IntType] int +# 1857| ValueCategory = prvalue(load) +# 1857| getStmt(): [BlockStmt] { ... } +# 1858| getStmt(0): [SwitchCase] default: +# 1859| getStmt(1): [ExprStmt] ExprStmt +# 1859| getExpr(): [AssignExpr] ... = ... +# 1859| Type = [IntType] int +# 1859| ValueCategory = lvalue +# 1859| getLValue(): [VariableAccess] x +# 1859| Type = [IntType] int +# 1859| ValueCategory = lvalue +# 1859| getRValue(): [AddExpr] ... + ... +# 1859| Type = [IntType] int +# 1859| ValueCategory = prvalue +# 1859| getLeftOperand(): [VariableAccess] x +# 1859| Type = [IntType] int +# 1859| ValueCategory = prvalue(load) +# 1859| getRightOperand(): [VariableAccess] z +# 1859| Type = [IntType] int +# 1859| ValueCategory = prvalue(load) +# 1862| getStmt(7): [SwitchStmt] switch (...) ... +# 1862| getExpr(): [ConditionDeclExpr] (condition decl) +# 1862| Type = [IntType] int +# 1862| ValueCategory = prvalue +# 1862| getVariableAccess(): [VariableAccess] z2 +# 1862| Type = [IntType] int +# 1862| ValueCategory = prvalue(load) +# 1862| getStmt(): [BlockStmt] { ... } +# 1863| getStmt(0): [SwitchCase] default: +# 1864| getStmt(1): [ExprStmt] ExprStmt +# 1864| getExpr(): [AssignAddExpr] ... += ... +# 1864| Type = [IntType] int +# 1864| ValueCategory = lvalue +# 1864| getLValue(): [VariableAccess] x +# 1864| Type = [IntType] int +# 1864| ValueCategory = lvalue +# 1864| getRValue(): [VariableAccess] z2 +# 1864| Type = [IntType] int +# 1864| ValueCategory = prvalue(load) +# 1866| getStmt(8): [ReturnStmt] return ... +# 1870| [GlobalVariable] int global_2 +# 1870| getInitializer(): [Initializer] initializer for global_2 +# 1870| getExpr(): [Literal] 1 +# 1870| Type = [IntType] int +# 1870| Value = [Literal] 1 +# 1870| ValueCategory = prvalue +# 1872| [GlobalVariable] int const global_3 +# 1872| getInitializer(): [Initializer] initializer for global_3 +# 1872| getExpr(): [Literal] 2 +# 1872| Type = [IntType] int +# 1872| Value = [Literal] 2 +# 1872| ValueCategory = prvalue +# 1874| [GlobalVariable] constructor_only global_4 +# 1874| getInitializer(): [Initializer] initializer for global_4 +# 1874| getExpr(): [ConstructorCall] call to constructor_only +# 1874| Type = [VoidType] void +# 1874| ValueCategory = prvalue +# 1874| getArgument(0): [Literal] 1 +# 1874| Type = [IntType] int +# 1874| Value = [Literal] 1 +# 1874| ValueCategory = prvalue +# 1876| [GlobalVariable] constructor_only global_5 +# 1876| getInitializer(): [Initializer] initializer for global_5 +# 1876| getExpr(): [ConstructorCall] call to constructor_only +# 1876| Type = [VoidType] void +# 1876| ValueCategory = prvalue +# 1876| getArgument(0): [Literal] 2 +# 1876| Type = [IntType] int +# 1876| Value = [Literal] 2 +# 1876| ValueCategory = prvalue +# 1878| [GlobalVariable] char* global_string +# 1878| getInitializer(): [Initializer] initializer for global_string +# 1878| getExpr(): global string +# 1878| Type = [ArrayType] const char[14] +# 1878| Value = [StringLiteral] "global string" +# 1878| ValueCategory = lvalue +# 1878| getExpr().getFullyConverted(): [CStyleCast] (char *)... +# 1878| Conversion = [PointerConversion] pointer conversion +# 1878| Type = [CharPointerType] char * +# 1878| ValueCategory = prvalue +# 1878| getExpr(): [ArrayToPointerConversion] array to pointer conversion +# 1878| Type = [PointerType] const char * +# 1878| ValueCategory = prvalue +# 1880| [GlobalVariable] int global_6 +# 1880| getInitializer(): [Initializer] initializer for global_6 +# 1880| getExpr(): [VariableAccess] global_2 +# 1880| Type = [IntType] int +# 1880| ValueCategory = prvalue(load) +# 1883| [CopyAssignmentOperator] block_assignment::A& block_assignment::A::operator=(block_assignment::A const&) +# 1883| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const A & -# 1836| [MoveAssignmentOperator] block_assignment::A& block_assignment::A::operator=(block_assignment::A&&) -# 1836| : +# 1883| [MoveAssignmentOperator] block_assignment::A& block_assignment::A::operator=(block_assignment::A&&) +# 1883| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] A && #-----| getEntryPoint(): [BlockStmt] { ... } @@ -14840,43 +14958,43 @@ ir.cpp: #-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] A & #-----| ValueCategory = prvalue -# 1836| [Constructor] void block_assignment::A::A() -# 1836| : -# 1836| [CopyConstructor] void block_assignment::A::A(block_assignment::A const&) -# 1836| : +# 1883| [Constructor] void block_assignment::A::A() +# 1883| : +# 1883| [CopyConstructor] void block_assignment::A::A(block_assignment::A const&) +# 1883| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const A & -# 1836| [MoveConstructor] void block_assignment::A::A(block_assignment::A&&) -# 1836| : +# 1883| [MoveConstructor] void block_assignment::A::A(block_assignment::A&&) +# 1883| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] A && -# 1838| [VirtualFunction] void block_assignment::A::f() -# 1838| : -# 1841| [CopyAssignmentOperator] block_assignment::B& block_assignment::B::operator=(block_assignment::B const&) -# 1841| : +# 1885| [VirtualFunction] void block_assignment::A::f() +# 1885| : +# 1888| [CopyAssignmentOperator] block_assignment::B& block_assignment::B::operator=(block_assignment::B const&) +# 1888| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const B & -# 1841| [MoveAssignmentOperator] block_assignment::B& block_assignment::B::operator=(block_assignment::B&&) -# 1841| : +# 1888| [MoveAssignmentOperator] block_assignment::B& block_assignment::B::operator=(block_assignment::B&&) +# 1888| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] B && #-----| getEntryPoint(): [BlockStmt] { ... } #-----| getStmt(0): [ExprStmt] ExprStmt -# 1841| getExpr(): [FunctionCall] call to operator= -# 1841| Type = [LValueReferenceType] A & -# 1841| ValueCategory = prvalue -# 1841| getQualifier(): [ThisExpr] this -# 1841| Type = [PointerType] B * -# 1841| ValueCategory = prvalue(load) -# 1841| getArgument(0): [PointerDereferenceExpr] * ... -# 1841| Type = [Class] A -# 1841| ValueCategory = xvalue -# 1841| getOperand(): [AddressOfExpr] & ... -# 1841| Type = [PointerType] B * -# 1841| ValueCategory = prvalue -# 1841| getOperand(): [VariableAccess] (unnamed parameter 0) -# 1841| Type = [RValueReferenceType] B && -# 1841| ValueCategory = prvalue(load) +# 1888| getExpr(): [FunctionCall] call to operator= +# 1888| Type = [LValueReferenceType] A & +# 1888| ValueCategory = prvalue +# 1888| getQualifier(): [ThisExpr] this +# 1888| Type = [PointerType] B * +# 1888| ValueCategory = prvalue(load) +# 1888| getArgument(0): [PointerDereferenceExpr] * ... +# 1888| Type = [Class] A +# 1888| ValueCategory = xvalue +# 1888| getOperand(): [AddressOfExpr] & ... +# 1888| Type = [PointerType] B * +# 1888| ValueCategory = prvalue +# 1888| getOperand(): [VariableAccess] (unnamed parameter 0) +# 1888| Type = [RValueReferenceType] B && +# 1888| ValueCategory = prvalue(load) #-----| getOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [Struct] B #-----| ValueCategory = lvalue @@ -14904,1072 +15022,1072 @@ ir.cpp: #-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] B & #-----| ValueCategory = prvalue -# 1841| [CopyConstructor] void block_assignment::B::B(block_assignment::B const&) -# 1841| : +# 1888| [CopyConstructor] void block_assignment::B::B(block_assignment::B const&) +# 1888| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const B & -# 1841| [MoveConstructor] void block_assignment::B::B(block_assignment::B&&) -# 1841| : +# 1888| [MoveConstructor] void block_assignment::B::B(block_assignment::B&&) +# 1888| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] B && -# 1842| [Constructor] void block_assignment::B::B(block_assignment::A*) -# 1842| : -# 1842| getParameter(0): [Parameter] (unnamed parameter 0) -# 1842| Type = [PointerType] A * -# 1845| [TopLevelFunction] void block_assignment::foo() -# 1845| : -# 1845| getEntryPoint(): [BlockStmt] { ... } -# 1846| getStmt(0): [DeclStmt] declaration -# 1846| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1846| Type = [Struct] B -# 1846| getVariable().getInitializer(): [Initializer] initializer for v -# 1846| getExpr(): [ConstructorCall] call to B -# 1846| Type = [VoidType] void -# 1846| ValueCategory = prvalue -# 1846| getArgument(0): [Literal] 0 -# 1846| Type = [IntType] int -# 1846| Value = [Literal] 0 -# 1846| ValueCategory = prvalue -# 1846| getArgument(0).getFullyConverted(): [CStyleCast] (A *)... -# 1846| Conversion = [IntegralToPointerConversion] integral to pointer conversion -# 1846| Type = [PointerType] A * -# 1846| Value = [CStyleCast] 0 -# 1846| ValueCategory = prvalue -# 1847| getStmt(1): [ExprStmt] ExprStmt -# 1847| getExpr(): [FunctionCall] call to operator= -# 1847| Type = [LValueReferenceType] B & -# 1847| ValueCategory = prvalue -# 1847| getQualifier(): [VariableAccess] v -# 1847| Type = [Struct] B -# 1847| ValueCategory = lvalue -# 1847| getArgument(0): [ConstructorCall] call to B -# 1847| Type = [VoidType] void -# 1847| ValueCategory = prvalue -# 1847| getArgument(0): [Literal] 0 -# 1847| Type = [IntType] int -# 1847| Value = [Literal] 0 -# 1847| ValueCategory = prvalue -# 1847| getArgument(0).getFullyConverted(): [CStyleCast] (A *)... -# 1847| Conversion = [IntegralToPointerConversion] integral to pointer conversion -# 1847| Type = [PointerType] A * -# 1847| Value = [CStyleCast] 0 -# 1847| ValueCategory = prvalue -# 1847| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1847| Type = [LValueReferenceType] B & -# 1847| ValueCategory = prvalue -# 1847| getExpr(): [TemporaryObjectExpr] temporary object -# 1847| Type = [Struct] B -# 1847| ValueCategory = lvalue -# 1847| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1847| Type = [Struct] B -# 1847| ValueCategory = lvalue -# 1848| getStmt(2): [ReturnStmt] return ... -# 1851| [TopLevelFunction] void magicvars() -# 1851| : -# 1851| getEntryPoint(): [BlockStmt] { ... } -# 1852| getStmt(0): [DeclStmt] declaration -# 1852| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pf -# 1852| Type = [PointerType] const char * -# 1852| getVariable().getInitializer(): [Initializer] initializer for pf -# 1852| getExpr(): [VariableAccess] __PRETTY_FUNCTION__ -# 1852| Type = [ArrayType] const char[17] -# 1852| ValueCategory = lvalue -# 1852| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1852| Type = [PointerType] const char * -# 1852| ValueCategory = prvalue -# 1853| getStmt(1): [DeclStmt] declaration -# 1853| getDeclarationEntry(0): [VariableDeclarationEntry] definition of strfunc -# 1853| Type = [PointerType] const char * -# 1853| getVariable().getInitializer(): [Initializer] initializer for strfunc -# 1853| getExpr(): [VariableAccess] __func__ -# 1853| Type = [ArrayType] const char[10] -# 1853| ValueCategory = lvalue -# 1853| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1853| Type = [PointerType] const char * -# 1853| ValueCategory = prvalue -# 1854| getStmt(2): [ReturnStmt] return ... -# 1857| [CopyAssignmentOperator] missing_declaration_entries::S& missing_declaration_entries::S::operator=(missing_declaration_entries::S const&) -# 1857| : +# 1889| [Constructor] void block_assignment::B::B(block_assignment::A*) +# 1889| : +# 1889| getParameter(0): [Parameter] (unnamed parameter 0) +# 1889| Type = [PointerType] A * +# 1892| [TopLevelFunction] void block_assignment::foo() +# 1892| : +# 1892| getEntryPoint(): [BlockStmt] { ... } +# 1893| getStmt(0): [DeclStmt] declaration +# 1893| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v +# 1893| Type = [Struct] B +# 1893| getVariable().getInitializer(): [Initializer] initializer for v +# 1893| getExpr(): [ConstructorCall] call to B +# 1893| Type = [VoidType] void +# 1893| ValueCategory = prvalue +# 1893| getArgument(0): [Literal] 0 +# 1893| Type = [IntType] int +# 1893| Value = [Literal] 0 +# 1893| ValueCategory = prvalue +# 1893| getArgument(0).getFullyConverted(): [CStyleCast] (A *)... +# 1893| Conversion = [IntegralToPointerConversion] integral to pointer conversion +# 1893| Type = [PointerType] A * +# 1893| Value = [CStyleCast] 0 +# 1893| ValueCategory = prvalue +# 1894| getStmt(1): [ExprStmt] ExprStmt +# 1894| getExpr(): [FunctionCall] call to operator= +# 1894| Type = [LValueReferenceType] B & +# 1894| ValueCategory = prvalue +# 1894| getQualifier(): [VariableAccess] v +# 1894| Type = [Struct] B +# 1894| ValueCategory = lvalue +# 1894| getArgument(0): [ConstructorCall] call to B +# 1894| Type = [VoidType] void +# 1894| ValueCategory = prvalue +# 1894| getArgument(0): [Literal] 0 +# 1894| Type = [IntType] int +# 1894| Value = [Literal] 0 +# 1894| ValueCategory = prvalue +# 1894| getArgument(0).getFullyConverted(): [CStyleCast] (A *)... +# 1894| Conversion = [IntegralToPointerConversion] integral to pointer conversion +# 1894| Type = [PointerType] A * +# 1894| Value = [CStyleCast] 0 +# 1894| ValueCategory = prvalue +# 1894| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1894| Type = [LValueReferenceType] B & +# 1894| ValueCategory = prvalue +# 1894| getExpr(): [TemporaryObjectExpr] temporary object +# 1894| Type = [Struct] B +# 1894| ValueCategory = lvalue +# 1894| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1894| Type = [Struct] B +# 1894| ValueCategory = lvalue +# 1895| getStmt(2): [ReturnStmt] return ... +# 1898| [TopLevelFunction] void magicvars() +# 1898| : +# 1898| getEntryPoint(): [BlockStmt] { ... } +# 1899| getStmt(0): [DeclStmt] declaration +# 1899| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pf +# 1899| Type = [PointerType] const char * +# 1899| getVariable().getInitializer(): [Initializer] initializer for pf +# 1899| getExpr(): [VariableAccess] __PRETTY_FUNCTION__ +# 1899| Type = [ArrayType] const char[17] +# 1899| ValueCategory = lvalue +# 1899| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1899| Type = [PointerType] const char * +# 1899| ValueCategory = prvalue +# 1900| getStmt(1): [DeclStmt] declaration +# 1900| getDeclarationEntry(0): [VariableDeclarationEntry] definition of strfunc +# 1900| Type = [PointerType] const char * +# 1900| getVariable().getInitializer(): [Initializer] initializer for strfunc +# 1900| getExpr(): [VariableAccess] __func__ +# 1900| Type = [ArrayType] const char[10] +# 1900| ValueCategory = lvalue +# 1900| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1900| Type = [PointerType] const char * +# 1900| ValueCategory = prvalue +# 1901| getStmt(2): [ReturnStmt] return ... +# 1904| [CopyAssignmentOperator] missing_declaration_entries::S& missing_declaration_entries::S::operator=(missing_declaration_entries::S const&) +# 1904| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const S & -# 1857| [MoveAssignmentOperator] missing_declaration_entries::S& missing_declaration_entries::S::operator=(missing_declaration_entries::S&&) -# 1857| : +# 1904| [MoveAssignmentOperator] missing_declaration_entries::S& missing_declaration_entries::S::operator=(missing_declaration_entries::S&&) +# 1904| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] S && -# 1861| [CopyAssignmentOperator] missing_declaration_entries::Bar1& missing_declaration_entries::Bar1::operator=(missing_declaration_entries::Bar1 const&) -# 1861| : +# 1908| [CopyAssignmentOperator] missing_declaration_entries::Bar1& missing_declaration_entries::Bar1::operator=(missing_declaration_entries::Bar1 const&) +# 1908| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Bar1 & -# 1861| [MoveAssignmentOperator] missing_declaration_entries::Bar1& missing_declaration_entries::Bar1::operator=(missing_declaration_entries::Bar1&&) -# 1861| : +# 1908| [MoveAssignmentOperator] missing_declaration_entries::Bar1& missing_declaration_entries::Bar1::operator=(missing_declaration_entries::Bar1&&) +# 1908| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] Bar1 && -# 1864| [MemberFunction] void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) -# 1864| : -# 1864| getParameter(0): [Parameter] p -# 1864| Type = [CTypedefType,NestedTypedefType] pointer -# 1864| getEntryPoint(): [BlockStmt] { ... } -# 1865| getStmt(0): [DeclStmt] declaration -# 1865| getDeclarationEntry(0): [TypeDeclarationEntry] declaration of _Res -# 1865| Type = [CTypedefType,LocalTypedefType] _Res -# 1866| getStmt(1): [ReturnStmt] return ... -# 1866| getExpr(): [VariableAccess] p -# 1866| Type = [CTypedefType,NestedTypedefType] pointer -# 1866| ValueCategory = prvalue(load) -# 1866| getExpr().getFullyConverted(): [CStyleCast] (void *)... -# 1866| Conversion = [PointerConversion] pointer conversion -# 1866| Type = [VoidPointerType] void * -# 1866| ValueCategory = prvalue -# 1864| [MemberFunction] void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) -# 1864| : -# 1864| getParameter(0): [Parameter] p -# 1864| Type = [CTypedefType,NestedTypedefType] pointer -# 1864| getEntryPoint(): [BlockStmt] { ... } -# 1865| getStmt(0): [DeclStmt] declaration -# 1866| getStmt(1): [ReturnStmt] return ... -# 1866| getExpr(): [VariableAccess] p -# 1866| Type = [CTypedefType,NestedTypedefType] pointer -# 1866| ValueCategory = prvalue(load) -# 1866| getExpr().getFullyConverted(): [CStyleCast] (void *)... -# 1866| Conversion = [PointerConversion] pointer conversion -# 1866| Type = [VoidPointerType] void * -# 1866| ValueCategory = prvalue -# 1870| [TopLevelFunction] void missing_declaration_entries::test1() -# 1870| : -# 1870| getEntryPoint(): [BlockStmt] { ... } -# 1871| getStmt(0): [DeclStmt] declaration -# 1871| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 1871| Type = [ClassTemplateInstantiation,Struct] Bar1 -# 1872| getStmt(1): [ExprStmt] ExprStmt -# 1872| getExpr(): [FunctionCall] call to missing_type_decl_entry -# 1872| Type = [VoidPointerType] void * -# 1872| ValueCategory = prvalue -# 1872| getQualifier(): [VariableAccess] b -# 1872| Type = [ClassTemplateInstantiation,Struct] Bar1 -# 1872| ValueCategory = lvalue -# 1872| getArgument(0): [Literal] 0 -# 1872| Type = [NullPointerType] decltype(nullptr) -# 1872| Value = [Literal] 0 -# 1872| ValueCategory = prvalue -# 1872| getArgument(0).getFullyConverted(): [CStyleCast] (pointer)... -# 1872| Conversion = [PointerConversion] pointer conversion -# 1872| Type = [CTypedefType,NestedTypedefType] pointer -# 1872| Value = [CStyleCast] 0 -# 1872| ValueCategory = prvalue -# 1873| getStmt(2): [ReturnStmt] return ... -# 1875| [CopyAssignmentOperator] missing_declaration_entries::Bar2& missing_declaration_entries::Bar2::operator=(missing_declaration_entries::Bar2 const&) -# 1875| : +# 1911| [MemberFunction] void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) +# 1911| : +# 1911| getParameter(0): [Parameter] p +# 1911| Type = [CTypedefType,NestedTypedefType] pointer +# 1911| getEntryPoint(): [BlockStmt] { ... } +# 1912| getStmt(0): [DeclStmt] declaration +# 1912| getDeclarationEntry(0): [TypeDeclarationEntry] declaration of _Res +# 1912| Type = [CTypedefType,LocalTypedefType] _Res +# 1913| getStmt(1): [ReturnStmt] return ... +# 1913| getExpr(): [VariableAccess] p +# 1913| Type = [CTypedefType,NestedTypedefType] pointer +# 1913| ValueCategory = prvalue(load) +# 1913| getExpr().getFullyConverted(): [CStyleCast] (void *)... +# 1913| Conversion = [PointerConversion] pointer conversion +# 1913| Type = [VoidPointerType] void * +# 1913| ValueCategory = prvalue +# 1911| [MemberFunction] void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) +# 1911| : +# 1911| getParameter(0): [Parameter] p +# 1911| Type = [CTypedefType,NestedTypedefType] pointer +# 1911| getEntryPoint(): [BlockStmt] { ... } +# 1912| getStmt(0): [DeclStmt] declaration +# 1913| getStmt(1): [ReturnStmt] return ... +# 1913| getExpr(): [VariableAccess] p +# 1913| Type = [CTypedefType,NestedTypedefType] pointer +# 1913| ValueCategory = prvalue(load) +# 1913| getExpr().getFullyConverted(): [CStyleCast] (void *)... +# 1913| Conversion = [PointerConversion] pointer conversion +# 1913| Type = [VoidPointerType] void * +# 1913| ValueCategory = prvalue +# 1917| [TopLevelFunction] void missing_declaration_entries::test1() +# 1917| : +# 1917| getEntryPoint(): [BlockStmt] { ... } +# 1918| getStmt(0): [DeclStmt] declaration +# 1918| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 1918| Type = [ClassTemplateInstantiation,Struct] Bar1 +# 1919| getStmt(1): [ExprStmt] ExprStmt +# 1919| getExpr(): [FunctionCall] call to missing_type_decl_entry +# 1919| Type = [VoidPointerType] void * +# 1919| ValueCategory = prvalue +# 1919| getQualifier(): [VariableAccess] b +# 1919| Type = [ClassTemplateInstantiation,Struct] Bar1 +# 1919| ValueCategory = lvalue +# 1919| getArgument(0): [Literal] 0 +# 1919| Type = [NullPointerType] decltype(nullptr) +# 1919| Value = [Literal] 0 +# 1919| ValueCategory = prvalue +# 1919| getArgument(0).getFullyConverted(): [CStyleCast] (pointer)... +# 1919| Conversion = [PointerConversion] pointer conversion +# 1919| Type = [CTypedefType,NestedTypedefType] pointer +# 1919| Value = [CStyleCast] 0 +# 1919| ValueCategory = prvalue +# 1920| getStmt(2): [ReturnStmt] return ... +# 1922| [CopyAssignmentOperator] missing_declaration_entries::Bar2& missing_declaration_entries::Bar2::operator=(missing_declaration_entries::Bar2 const&) +# 1922| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Bar2 & -# 1875| [MoveAssignmentOperator] missing_declaration_entries::Bar2& missing_declaration_entries::Bar2::operator=(missing_declaration_entries::Bar2&&) -# 1875| : +# 1922| [MoveAssignmentOperator] missing_declaration_entries::Bar2& missing_declaration_entries::Bar2::operator=(missing_declaration_entries::Bar2&&) +# 1922| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] Bar2 && -# 1877| [MemberFunction] int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() -# 1877| : -# 1877| getEntryPoint(): [BlockStmt] { ... } -# 1878| getStmt(0): [DeclStmt] declaration -# 1878| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1878| Type = [ArrayType] int[10] -# 1878| getDeclarationEntry(1): [VariableDeclarationEntry] definition of y -# 1878| Type = [ArrayType] int[10] -# 1879| getStmt(1): [ExprStmt] ExprStmt -# 1879| getExpr(): [AssignExpr] ... = ... -# 1879| Type = [IntType] int -# 1879| ValueCategory = lvalue -# 1879| getLValue(): [PointerDereferenceExpr] * ... -# 1879| Type = [IntType] int -# 1879| ValueCategory = lvalue -# 1879| getOperand(): [VariableAccess] x -# 1879| Type = [ArrayType] int[10] -# 1879| ValueCategory = lvalue -# 1879| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1879| Type = [IntPointerType] int * -# 1879| ValueCategory = prvalue -# 1879| getRValue(): [Literal] 10 -# 1879| Type = [IntType] int -# 1879| Value = [Literal] 10 -# 1879| ValueCategory = prvalue -# 1880| getStmt(2): [ExprStmt] ExprStmt -# 1880| getExpr(): [AssignExpr] ... = ... -# 1880| Type = [IntType] int -# 1880| ValueCategory = lvalue -# 1880| getLValue(): [PointerDereferenceExpr] * ... -# 1880| Type = [IntType] int -# 1880| ValueCategory = lvalue -# 1880| getOperand(): [VariableAccess] y -# 1880| Type = [ArrayType] int[10] -# 1880| ValueCategory = lvalue -# 1880| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1880| Type = [IntPointerType] int * -# 1880| ValueCategory = prvalue -# 1880| getRValue(): [Literal] 10 -# 1880| Type = [IntType] int -# 1880| Value = [Literal] 10 -# 1880| ValueCategory = prvalue -# 1881| getStmt(3): [ReturnStmt] return ... -# 1881| getExpr(): [AddExpr] ... + ... -# 1881| Type = [IntType] int -# 1881| ValueCategory = prvalue -# 1881| getLeftOperand(): [PointerDereferenceExpr] * ... -# 1881| Type = [IntType] int -# 1881| ValueCategory = prvalue(load) -# 1881| getOperand(): [VariableAccess] x -# 1881| Type = [ArrayType] int[10] -# 1881| ValueCategory = lvalue -# 1881| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1881| Type = [IntPointerType] int * -# 1881| ValueCategory = prvalue -# 1881| getRightOperand(): [PointerDereferenceExpr] * ... -# 1881| Type = [IntType] int -# 1881| ValueCategory = prvalue(load) -# 1881| getOperand(): [VariableAccess] y -# 1881| Type = [ArrayType] int[10] -# 1881| ValueCategory = lvalue -# 1881| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1881| Type = [IntPointerType] int * -# 1881| ValueCategory = prvalue -# 1877| [MemberFunction] int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() -# 1877| : -# 1877| getEntryPoint(): [BlockStmt] { ... } -# 1878| getStmt(0): [DeclStmt] declaration -# 1879| getStmt(1): [ExprStmt] ExprStmt -# 1879| getExpr(): [AssignExpr] ... = ... -# 1879| Type = [IntType] int -# 1879| ValueCategory = lvalue -# 1879| getLValue(): [PointerDereferenceExpr] * ... -# 1879| Type = [IntType] int -# 1879| ValueCategory = lvalue -# 1879| getOperand(): [VariableAccess] x -# 1879| Type = [ArrayType] int[10] -# 1879| ValueCategory = lvalue -# 1879| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1879| Type = [IntPointerType] int * -# 1879| ValueCategory = prvalue -# 1879| getRValue(): [Literal] 10 -# 1879| Type = [IntType] int -# 1879| Value = [Literal] 10 -# 1879| ValueCategory = prvalue -# 1880| getStmt(2): [ExprStmt] ExprStmt -# 1880| getExpr(): [AssignExpr] ... = ... -# 1880| Type = [IntType] int -# 1880| ValueCategory = lvalue -# 1880| getLValue(): [PointerDereferenceExpr] * ... -# 1880| Type = [IntType] int -# 1880| ValueCategory = lvalue -# 1880| getOperand(): [VariableAccess] y -# 1880| Type = [ArrayType] int[10] -# 1880| ValueCategory = lvalue -# 1880| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1880| Type = [IntPointerType] int * -# 1880| ValueCategory = prvalue -# 1880| getRValue(): [Literal] 10 -# 1880| Type = [IntType] int -# 1880| Value = [Literal] 10 -# 1880| ValueCategory = prvalue -# 1881| getStmt(3): [ReturnStmt] return ... -# 1881| getExpr(): [AddExpr] ... + ... -# 1881| Type = [IntType] int -# 1881| ValueCategory = prvalue -# 1881| getLeftOperand(): [PointerDereferenceExpr] * ... -# 1881| Type = [IntType] int -# 1881| ValueCategory = prvalue(load) -# 1881| getOperand(): [VariableAccess] x -# 1881| Type = [ArrayType] int[10] -# 1881| ValueCategory = lvalue -# 1881| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1881| Type = [IntPointerType] int * -# 1881| ValueCategory = prvalue -# 1881| getRightOperand(): [PointerDereferenceExpr] * ... -# 1881| Type = [IntType] int -# 1881| ValueCategory = prvalue(load) -# 1881| getOperand(): [VariableAccess] y -# 1881| Type = [ArrayType] int[10] -# 1881| ValueCategory = lvalue -# 1881| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1881| Type = [IntPointerType] int * -# 1881| ValueCategory = prvalue -# 1885| [TopLevelFunction] void missing_declaration_entries::test2() -# 1885| : -# 1885| getEntryPoint(): [BlockStmt] { ... } -# 1886| getStmt(0): [DeclStmt] declaration -# 1886| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 1886| Type = [ClassTemplateInstantiation,Struct] Bar2 -# 1887| getStmt(1): [ExprStmt] ExprStmt -# 1887| getExpr(): [FunctionCall] call to two_missing_variable_declaration_entries -# 1887| Type = [IntType] int -# 1887| ValueCategory = prvalue -# 1887| getQualifier(): [VariableAccess] b -# 1887| Type = [ClassTemplateInstantiation,Struct] Bar2 -# 1887| ValueCategory = lvalue -# 1888| getStmt(2): [ReturnStmt] return ... -# 1891| [GlobalVariable] char global_template -# 1891| getInitializer(): [Initializer] initializer for global_template -# 1891| getExpr(): [Literal] 42 -# 1891| Type = [IntType] int -# 1891| Value = [Literal] 42 -# 1891| ValueCategory = prvalue -# 1891| getExpr().getFullyConverted(): [CStyleCast] (char)... -# 1891| Conversion = [IntegralConversion] integral conversion -# 1891| Type = [PlainCharType] char -# 1891| Value = [CStyleCast] 42 -# 1891| ValueCategory = prvalue -# 1891| [GlobalVariable] int global_template -# 1891| getInitializer(): [Initializer] initializer for global_template -# 1891| getExpr(): [Literal] 42 -# 1891| Type = [IntType] int -# 1891| Value = [Literal] 42 -# 1891| ValueCategory = prvalue -# 1893| [TopLevelFunction] int test_global_template_int() -# 1893| : -# 1893| getEntryPoint(): [BlockStmt] { ... } -# 1894| getStmt(0): [DeclStmt] declaration -# 1894| getDeclarationEntry(0): [VariableDeclarationEntry] definition of local_int -# 1894| Type = [IntType] int -# 1894| getVariable().getInitializer(): [Initializer] initializer for local_int -# 1894| getExpr(): [VariableAccess] global_template -# 1894| Type = [IntType] int -# 1894| ValueCategory = prvalue(load) -# 1895| getStmt(1): [DeclStmt] declaration -# 1895| getDeclarationEntry(0): [VariableDeclarationEntry] definition of local_char -# 1895| Type = [PlainCharType] char -# 1895| getVariable().getInitializer(): [Initializer] initializer for local_char -# 1895| getExpr(): [VariableAccess] global_template -# 1895| Type = [PlainCharType] char -# 1895| ValueCategory = prvalue(load) -# 1896| getStmt(2): [ReturnStmt] return ... -# 1896| getExpr(): [AddExpr] ... + ... -# 1896| Type = [IntType] int -# 1896| ValueCategory = prvalue -# 1896| getLeftOperand(): [VariableAccess] local_int -# 1896| Type = [IntType] int -# 1896| ValueCategory = prvalue(load) -# 1896| getRightOperand(): [VariableAccess] local_char -# 1896| Type = [PlainCharType] char -# 1896| ValueCategory = prvalue(load) -# 1896| getRightOperand().getFullyConverted(): [CStyleCast] (int)... -# 1896| Conversion = [IntegralConversion] integral conversion -# 1896| Type = [IntType] int -# 1896| ValueCategory = prvalue -# 1899| [TopLevelFunction] void noreturnFunc() -# 1899| : -# 1901| [TopLevelFunction] int noreturnTest(int) -# 1901| : -# 1901| getParameter(0): [Parameter] x -# 1901| Type = [IntType] int -# 1901| getEntryPoint(): [BlockStmt] { ... } -# 1902| getStmt(0): [IfStmt] if (...) ... -# 1902| getCondition(): [LTExpr] ... < ... -# 1902| Type = [BoolType] bool -# 1902| ValueCategory = prvalue -# 1902| getLesserOperand(): [VariableAccess] x -# 1902| Type = [IntType] int -# 1902| ValueCategory = prvalue(load) -# 1902| getGreaterOperand(): [Literal] 10 -# 1902| Type = [IntType] int -# 1902| Value = [Literal] 10 -# 1902| ValueCategory = prvalue -# 1902| getThen(): [BlockStmt] { ... } -# 1903| getStmt(0): [ReturnStmt] return ... -# 1903| getExpr(): [VariableAccess] x -# 1903| Type = [IntType] int -# 1903| ValueCategory = prvalue(load) -# 1904| getElse(): [BlockStmt] { ... } -# 1905| getStmt(0): [ExprStmt] ExprStmt -# 1905| getExpr(): [FunctionCall] call to noreturnFunc -# 1905| Type = [VoidType] void -# 1905| ValueCategory = prvalue -# 1907| getStmt(1): [ReturnStmt] return ... -# 1909| [TopLevelFunction] int noreturnTest2(int) -# 1909| : -# 1909| getParameter(0): [Parameter] x -# 1909| Type = [IntType] int -# 1909| getEntryPoint(): [BlockStmt] { ... } -# 1910| getStmt(0): [IfStmt] if (...) ... -# 1910| getCondition(): [LTExpr] ... < ... -# 1910| Type = [BoolType] bool -# 1910| ValueCategory = prvalue -# 1910| getLesserOperand(): [VariableAccess] x -# 1910| Type = [IntType] int -# 1910| ValueCategory = prvalue(load) -# 1910| getGreaterOperand(): [Literal] 10 -# 1910| Type = [IntType] int -# 1910| Value = [Literal] 10 -# 1910| ValueCategory = prvalue -# 1910| getThen(): [BlockStmt] { ... } -# 1911| getStmt(0): [ExprStmt] ExprStmt -# 1911| getExpr(): [FunctionCall] call to noreturnFunc -# 1911| Type = [VoidType] void -# 1911| ValueCategory = prvalue -# 1913| getStmt(1): [ReturnStmt] return ... -# 1913| getExpr(): [VariableAccess] x -# 1913| Type = [IntType] int -# 1913| ValueCategory = prvalue(load) -# 1916| [TopLevelFunction] int static_function(int) -# 1916| : -# 1916| getParameter(0): [Parameter] x -# 1916| Type = [IntType] int -# 1916| getEntryPoint(): [BlockStmt] { ... } -# 1917| getStmt(0): [ReturnStmt] return ... -# 1917| getExpr(): [VariableAccess] x -# 1917| Type = [IntType] int -# 1917| ValueCategory = prvalue(load) -# 1920| [TopLevelFunction] void test_static_functions_with_assignments() -# 1920| : -# 1920| getEntryPoint(): [BlockStmt] { ... } -# 1921| getStmt(0): [DeclStmt] declaration -# 1921| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1921| Type = [Class] C -# 1921| getVariable().getInitializer(): [Initializer] initializer for c -# 1921| getExpr(): [ConstructorCall] call to C -# 1921| Type = [VoidType] void -# 1921| ValueCategory = prvalue -# 1922| getStmt(1): [DeclStmt] declaration -# 1922| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1922| Type = [IntType] int -# 1923| getStmt(2): [ExprStmt] ExprStmt -# 1923| getExpr(): [AssignExpr] ... = ... -# 1923| Type = [IntType] int -# 1923| ValueCategory = lvalue -# 1923| getLValue(): [VariableAccess] x -# 1923| Type = [IntType] int -# 1923| ValueCategory = lvalue -# 1923| getRValue(): [FunctionCall] call to StaticMemberFunction -# 1923| Type = [IntType] int -# 1923| ValueCategory = prvalue -# 1923| getQualifier(): [VariableAccess] c -# 1923| Type = [Class] C -# 1923| ValueCategory = lvalue -# 1923| getArgument(0): [Literal] 10 -# 1923| Type = [IntType] int -# 1923| Value = [Literal] 10 -# 1923| ValueCategory = prvalue -# 1924| getStmt(3): [DeclStmt] declaration -# 1924| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1924| Type = [IntType] int -# 1925| getStmt(4): [ExprStmt] ExprStmt -# 1925| getExpr(): [AssignExpr] ... = ... -# 1925| Type = [IntType] int -# 1925| ValueCategory = lvalue -# 1925| getLValue(): [VariableAccess] y -# 1925| Type = [IntType] int -# 1925| ValueCategory = lvalue -# 1925| getRValue(): [FunctionCall] call to StaticMemberFunction -# 1925| Type = [IntType] int -# 1925| ValueCategory = prvalue -# 1925| getArgument(0): [Literal] 10 -# 1925| Type = [IntType] int -# 1925| Value = [Literal] 10 -# 1925| ValueCategory = prvalue -# 1926| getStmt(5): [DeclStmt] declaration -# 1926| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1924| [MemberFunction] int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() +# 1924| : +# 1924| getEntryPoint(): [BlockStmt] { ... } +# 1925| getStmt(0): [DeclStmt] declaration +# 1925| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1925| Type = [ArrayType] int[10] +# 1925| getDeclarationEntry(1): [VariableDeclarationEntry] definition of y +# 1925| Type = [ArrayType] int[10] +# 1926| getStmt(1): [ExprStmt] ExprStmt +# 1926| getExpr(): [AssignExpr] ... = ... # 1926| Type = [IntType] int -# 1927| getStmt(6): [ExprStmt] ExprStmt +# 1926| ValueCategory = lvalue +# 1926| getLValue(): [PointerDereferenceExpr] * ... +# 1926| Type = [IntType] int +# 1926| ValueCategory = lvalue +# 1926| getOperand(): [VariableAccess] x +# 1926| Type = [ArrayType] int[10] +# 1926| ValueCategory = lvalue +# 1926| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1926| Type = [IntPointerType] int * +# 1926| ValueCategory = prvalue +# 1926| getRValue(): [Literal] 10 +# 1926| Type = [IntType] int +# 1926| Value = [Literal] 10 +# 1926| ValueCategory = prvalue +# 1927| getStmt(2): [ExprStmt] ExprStmt # 1927| getExpr(): [AssignExpr] ... = ... # 1927| Type = [IntType] int # 1927| ValueCategory = lvalue -# 1927| getLValue(): [VariableAccess] z +# 1927| getLValue(): [PointerDereferenceExpr] * ... # 1927| Type = [IntType] int # 1927| ValueCategory = lvalue -# 1927| getRValue(): [FunctionCall] call to static_function -# 1927| Type = [IntType] int -# 1927| ValueCategory = prvalue -# 1927| getArgument(0): [Literal] 10 -# 1927| Type = [IntType] int -# 1927| Value = [Literal] 10 +# 1927| getOperand(): [VariableAccess] y +# 1927| Type = [ArrayType] int[10] +# 1927| ValueCategory = lvalue +# 1927| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1927| Type = [IntPointerType] int * # 1927| ValueCategory = prvalue -# 1928| getStmt(7): [ReturnStmt] return ... -# 1928| getImplicitDestructorCall(0): [DestructorCall] call to ~C -# 1928| Type = [VoidType] void +# 1927| getRValue(): [Literal] 10 +# 1927| Type = [IntType] int +# 1927| Value = [Literal] 10 +# 1927| ValueCategory = prvalue +# 1928| getStmt(3): [ReturnStmt] return ... +# 1928| getExpr(): [AddExpr] ... + ... +# 1928| Type = [IntType] int # 1928| ValueCategory = prvalue -# 1928| getQualifier(): [VariableAccess] c -# 1928| Type = [Class] C -# 1928| ValueCategory = lvalue -# 1930| [TopLevelFunction] void test_double_assign() -# 1930| : -# 1930| getEntryPoint(): [BlockStmt] { ... } -# 1931| getStmt(0): [DeclStmt] declaration -# 1931| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1931| Type = [IntType] int -# 1931| getDeclarationEntry(1): [VariableDeclarationEntry] definition of j -# 1931| Type = [IntType] int -# 1932| getStmt(1): [ExprStmt] ExprStmt -# 1932| getExpr(): [AssignExpr] ... = ... -# 1932| Type = [IntType] int -# 1932| ValueCategory = lvalue -# 1932| getLValue(): [VariableAccess] i -# 1932| Type = [IntType] int -# 1932| ValueCategory = lvalue -# 1932| getRValue(): [AssignExpr] ... = ... -# 1932| Type = [IntType] int -# 1932| ValueCategory = prvalue(load) -# 1932| getLValue(): [VariableAccess] j -# 1932| Type = [IntType] int -# 1932| ValueCategory = lvalue -# 1932| getRValue(): [Literal] 40 -# 1932| Type = [IntType] int -# 1932| Value = [Literal] 40 -# 1932| ValueCategory = prvalue -# 1933| getStmt(2): [ReturnStmt] return ... -# 1935| [TopLevelFunction] void test_assign_with_assign_operation() -# 1935| : -# 1935| getEntryPoint(): [BlockStmt] { ... } -# 1936| getStmt(0): [DeclStmt] declaration -# 1936| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1936| Type = [IntType] int -# 1936| getDeclarationEntry(1): [VariableDeclarationEntry] definition of j -# 1936| Type = [IntType] int -# 1936| getVariable().getInitializer(): [Initializer] initializer for j -# 1936| getExpr(): [Literal] 0 -# 1936| Type = [IntType] int -# 1936| Value = [Literal] 0 -# 1936| ValueCategory = prvalue -# 1937| getStmt(1): [ExprStmt] ExprStmt -# 1937| getExpr(): [AssignExpr] ... = ... -# 1937| Type = [IntType] int -# 1937| ValueCategory = lvalue -# 1937| getLValue(): [VariableAccess] i -# 1937| Type = [IntType] int -# 1937| ValueCategory = lvalue -# 1937| getRValue(): [AssignAddExpr] ... += ... -# 1937| Type = [IntType] int -# 1937| ValueCategory = prvalue(load) -# 1937| getLValue(): [VariableAccess] j -# 1937| Type = [IntType] int -# 1937| ValueCategory = lvalue -# 1937| getRValue(): [Literal] 40 -# 1937| Type = [IntType] int -# 1937| Value = [Literal] 40 -# 1937| ValueCategory = prvalue -# 1937| getRValue().getFullyConverted(): [ParenthesisExpr] (...) -# 1937| Type = [IntType] int -# 1937| ValueCategory = prvalue(load) -# 1938| getStmt(2): [ReturnStmt] return ... -# 1940| [CopyAssignmentOperator] D& D::operator=(D const&) +# 1928| getLeftOperand(): [PointerDereferenceExpr] * ... +# 1928| Type = [IntType] int +# 1928| ValueCategory = prvalue(load) +# 1928| getOperand(): [VariableAccess] x +# 1928| Type = [ArrayType] int[10] +# 1928| ValueCategory = lvalue +# 1928| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1928| Type = [IntPointerType] int * +# 1928| ValueCategory = prvalue +# 1928| getRightOperand(): [PointerDereferenceExpr] * ... +# 1928| Type = [IntType] int +# 1928| ValueCategory = prvalue(load) +# 1928| getOperand(): [VariableAccess] y +# 1928| Type = [ArrayType] int[10] +# 1928| ValueCategory = lvalue +# 1928| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1928| Type = [IntPointerType] int * +# 1928| ValueCategory = prvalue +# 1924| [MemberFunction] int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() +# 1924| : +# 1924| getEntryPoint(): [BlockStmt] { ... } +# 1925| getStmt(0): [DeclStmt] declaration +# 1926| getStmt(1): [ExprStmt] ExprStmt +# 1926| getExpr(): [AssignExpr] ... = ... +# 1926| Type = [IntType] int +# 1926| ValueCategory = lvalue +# 1926| getLValue(): [PointerDereferenceExpr] * ... +# 1926| Type = [IntType] int +# 1926| ValueCategory = lvalue +# 1926| getOperand(): [VariableAccess] x +# 1926| Type = [ArrayType] int[10] +# 1926| ValueCategory = lvalue +# 1926| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1926| Type = [IntPointerType] int * +# 1926| ValueCategory = prvalue +# 1926| getRValue(): [Literal] 10 +# 1926| Type = [IntType] int +# 1926| Value = [Literal] 10 +# 1926| ValueCategory = prvalue +# 1927| getStmt(2): [ExprStmt] ExprStmt +# 1927| getExpr(): [AssignExpr] ... = ... +# 1927| Type = [IntType] int +# 1927| ValueCategory = lvalue +# 1927| getLValue(): [PointerDereferenceExpr] * ... +# 1927| Type = [IntType] int +# 1927| ValueCategory = lvalue +# 1927| getOperand(): [VariableAccess] y +# 1927| Type = [ArrayType] int[10] +# 1927| ValueCategory = lvalue +# 1927| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1927| Type = [IntPointerType] int * +# 1927| ValueCategory = prvalue +# 1927| getRValue(): [Literal] 10 +# 1927| Type = [IntType] int +# 1927| Value = [Literal] 10 +# 1927| ValueCategory = prvalue +# 1928| getStmt(3): [ReturnStmt] return ... +# 1928| getExpr(): [AddExpr] ... + ... +# 1928| Type = [IntType] int +# 1928| ValueCategory = prvalue +# 1928| getLeftOperand(): [PointerDereferenceExpr] * ... +# 1928| Type = [IntType] int +# 1928| ValueCategory = prvalue(load) +# 1928| getOperand(): [VariableAccess] x +# 1928| Type = [ArrayType] int[10] +# 1928| ValueCategory = lvalue +# 1928| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1928| Type = [IntPointerType] int * +# 1928| ValueCategory = prvalue +# 1928| getRightOperand(): [PointerDereferenceExpr] * ... +# 1928| Type = [IntType] int +# 1928| ValueCategory = prvalue(load) +# 1928| getOperand(): [VariableAccess] y +# 1928| Type = [ArrayType] int[10] +# 1928| ValueCategory = lvalue +# 1928| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 1928| Type = [IntPointerType] int * +# 1928| ValueCategory = prvalue +# 1932| [TopLevelFunction] void missing_declaration_entries::test2() +# 1932| : +# 1932| getEntryPoint(): [BlockStmt] { ... } +# 1933| getStmt(0): [DeclStmt] declaration +# 1933| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 1933| Type = [ClassTemplateInstantiation,Struct] Bar2 +# 1934| getStmt(1): [ExprStmt] ExprStmt +# 1934| getExpr(): [FunctionCall] call to two_missing_variable_declaration_entries +# 1934| Type = [IntType] int +# 1934| ValueCategory = prvalue +# 1934| getQualifier(): [VariableAccess] b +# 1934| Type = [ClassTemplateInstantiation,Struct] Bar2 +# 1934| ValueCategory = lvalue +# 1935| getStmt(2): [ReturnStmt] return ... +# 1938| [GlobalVariable] char global_template +# 1938| getInitializer(): [Initializer] initializer for global_template +# 1938| getExpr(): [Literal] 42 +# 1938| Type = [IntType] int +# 1938| Value = [Literal] 42 +# 1938| ValueCategory = prvalue +# 1938| getExpr().getFullyConverted(): [CStyleCast] (char)... +# 1938| Conversion = [IntegralConversion] integral conversion +# 1938| Type = [PlainCharType] char +# 1938| Value = [CStyleCast] 42 +# 1938| ValueCategory = prvalue +# 1938| [GlobalVariable] int global_template +# 1938| getInitializer(): [Initializer] initializer for global_template +# 1938| getExpr(): [Literal] 42 +# 1938| Type = [IntType] int +# 1938| Value = [Literal] 42 +# 1938| ValueCategory = prvalue +# 1940| [TopLevelFunction] int test_global_template_int() # 1940| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const D & -# 1940| [MoveAssignmentOperator] D& D::operator=(D&&) -# 1940| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] D && -# 1944| [MemberFunction] D& D::ReferenceStaticMemberFunction() -# 1944| : -# 1944| getEntryPoint(): [BlockStmt] { ... } -# 1945| getStmt(0): [ReturnStmt] return ... -# 1945| getExpr(): [VariableAccess] x -# 1945| Type = [Class] D -# 1945| ValueCategory = lvalue -# 1945| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1945| Type = [LValueReferenceType] D & -# 1945| ValueCategory = prvalue -# 1947| [MemberFunction] D D::ObjectStaticMemberFunction() -# 1947| : -# 1947| getEntryPoint(): [BlockStmt] { ... } -# 1948| getStmt(0): [ReturnStmt] return ... -# 1948| getExpr(): [VariableAccess] x -# 1948| Type = [Class] D -# 1948| ValueCategory = prvalue(load) -# 1952| [TopLevelFunction] void test_static_member_functions_with_reference_return() -# 1952| : -# 1952| getEntryPoint(): [BlockStmt] { ... } -# 1953| getStmt(0): [DeclStmt] declaration -# 1953| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 1953| Type = [Class] D -# 1955| getStmt(1): [ExprStmt] ExprStmt -# 1955| getExpr(): [FunctionCall] call to ReferenceStaticMemberFunction -# 1955| Type = [LValueReferenceType] D & -# 1955| ValueCategory = prvalue -# 1955| getQualifier(): [VariableAccess] d -# 1955| Type = [Class] D -# 1955| ValueCategory = lvalue -# 1955| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1955| Type = [Class] D -# 1955| ValueCategory = lvalue -# 1956| getStmt(2): [ExprStmt] ExprStmt -# 1956| getExpr(): [FunctionCall] call to ReferenceStaticMemberFunction -# 1956| Type = [LValueReferenceType] D & -# 1956| ValueCategory = prvalue -# 1956| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1956| Type = [Class] D -# 1956| ValueCategory = lvalue -# 1957| getStmt(3): [ExprStmt] ExprStmt -# 1957| getExpr(): [FunctionCall] call to ObjectStaticMemberFunction -# 1957| Type = [Class] D +# 1940| getEntryPoint(): [BlockStmt] { ... } +# 1941| getStmt(0): [DeclStmt] declaration +# 1941| getDeclarationEntry(0): [VariableDeclarationEntry] definition of local_int +# 1941| Type = [IntType] int +# 1941| getVariable().getInitializer(): [Initializer] initializer for local_int +# 1941| getExpr(): [VariableAccess] global_template +# 1941| Type = [IntType] int +# 1941| ValueCategory = prvalue(load) +# 1942| getStmt(1): [DeclStmt] declaration +# 1942| getDeclarationEntry(0): [VariableDeclarationEntry] definition of local_char +# 1942| Type = [PlainCharType] char +# 1942| getVariable().getInitializer(): [Initializer] initializer for local_char +# 1942| getExpr(): [VariableAccess] global_template +# 1942| Type = [PlainCharType] char +# 1942| ValueCategory = prvalue(load) +# 1943| getStmt(2): [ReturnStmt] return ... +# 1943| getExpr(): [AddExpr] ... + ... +# 1943| Type = [IntType] int +# 1943| ValueCategory = prvalue +# 1943| getLeftOperand(): [VariableAccess] local_int +# 1943| Type = [IntType] int +# 1943| ValueCategory = prvalue(load) +# 1943| getRightOperand(): [VariableAccess] local_char +# 1943| Type = [PlainCharType] char +# 1943| ValueCategory = prvalue(load) +# 1943| getRightOperand().getFullyConverted(): [CStyleCast] (int)... +# 1943| Conversion = [IntegralConversion] integral conversion +# 1943| Type = [IntType] int +# 1943| ValueCategory = prvalue +# 1946| [TopLevelFunction] void noreturnFunc() +# 1946| : +# 1948| [TopLevelFunction] int noreturnTest(int) +# 1948| : +# 1948| getParameter(0): [Parameter] x +# 1948| Type = [IntType] int +# 1948| getEntryPoint(): [BlockStmt] { ... } +# 1949| getStmt(0): [IfStmt] if (...) ... +# 1949| getCondition(): [LTExpr] ... < ... +# 1949| Type = [BoolType] bool +# 1949| ValueCategory = prvalue +# 1949| getLesserOperand(): [VariableAccess] x +# 1949| Type = [IntType] int +# 1949| ValueCategory = prvalue(load) +# 1949| getGreaterOperand(): [Literal] 10 +# 1949| Type = [IntType] int +# 1949| Value = [Literal] 10 +# 1949| ValueCategory = prvalue +# 1949| getThen(): [BlockStmt] { ... } +# 1950| getStmt(0): [ReturnStmt] return ... +# 1950| getExpr(): [VariableAccess] x +# 1950| Type = [IntType] int +# 1950| ValueCategory = prvalue(load) +# 1951| getElse(): [BlockStmt] { ... } +# 1952| getStmt(0): [ExprStmt] ExprStmt +# 1952| getExpr(): [FunctionCall] call to noreturnFunc +# 1952| Type = [VoidType] void +# 1952| ValueCategory = prvalue +# 1954| getStmt(1): [ReturnStmt] return ... +# 1956| [TopLevelFunction] int noreturnTest2(int) +# 1956| : +# 1956| getParameter(0): [Parameter] x +# 1956| Type = [IntType] int +# 1956| getEntryPoint(): [BlockStmt] { ... } +# 1957| getStmt(0): [IfStmt] if (...) ... +# 1957| getCondition(): [LTExpr] ... < ... +# 1957| Type = [BoolType] bool # 1957| ValueCategory = prvalue -# 1957| getQualifier(): [VariableAccess] d -# 1957| Type = [Class] D -# 1957| ValueCategory = lvalue -# 1958| getStmt(4): [ExprStmt] ExprStmt -# 1958| getExpr(): [FunctionCall] call to ObjectStaticMemberFunction -# 1958| Type = [Class] D -# 1958| ValueCategory = prvalue -# 1960| getStmt(5): [DeclStmt] declaration -# 1960| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1960| Type = [Class] D -# 1961| getStmt(6): [ExprStmt] ExprStmt -# 1961| getExpr(): [AssignExpr] ... = ... -# 1961| Type = [Class] D -# 1961| ValueCategory = lvalue -# 1961| getLValue(): [VariableAccess] x -# 1961| Type = [Class] D -# 1961| ValueCategory = lvalue -# 1961| getRValue(): [FunctionCall] call to ReferenceStaticMemberFunction -# 1961| Type = [LValueReferenceType] D & -# 1961| ValueCategory = prvalue -# 1961| getQualifier(): [VariableAccess] d -# 1961| Type = [Class] D -# 1961| ValueCategory = lvalue -# 1961| getRValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1961| Type = [Class] D -# 1961| ValueCategory = prvalue(load) -# 1962| getStmt(7): [DeclStmt] declaration -# 1962| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1962| Type = [Class] D -# 1963| getStmt(8): [ExprStmt] ExprStmt -# 1963| getExpr(): [AssignExpr] ... = ... -# 1963| Type = [Class] D -# 1963| ValueCategory = lvalue -# 1963| getLValue(): [VariableAccess] y -# 1963| Type = [Class] D -# 1963| ValueCategory = lvalue -# 1963| getRValue(): [FunctionCall] call to ReferenceStaticMemberFunction -# 1963| Type = [LValueReferenceType] D & -# 1963| ValueCategory = prvalue -# 1963| getRValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1963| Type = [Class] D -# 1963| ValueCategory = prvalue(load) -# 1964| getStmt(9): [DeclStmt] declaration -# 1964| getDeclarationEntry(0): [VariableDeclarationEntry] definition of j -# 1964| Type = [Class] D -# 1965| getStmt(10): [ExprStmt] ExprStmt -# 1965| getExpr(): [AssignExpr] ... = ... -# 1965| Type = [Class] D -# 1965| ValueCategory = lvalue -# 1965| getLValue(): [VariableAccess] j -# 1965| Type = [Class] D -# 1965| ValueCategory = lvalue -# 1965| getRValue(): [FunctionCall] call to ObjectStaticMemberFunction -# 1965| Type = [Class] D -# 1965| ValueCategory = prvalue -# 1965| getQualifier(): [VariableAccess] d -# 1965| Type = [Class] D -# 1965| ValueCategory = lvalue -# 1966| getStmt(11): [DeclStmt] declaration -# 1966| getDeclarationEntry(0): [VariableDeclarationEntry] definition of k -# 1966| Type = [Class] D -# 1967| getStmt(12): [ExprStmt] ExprStmt -# 1967| getExpr(): [AssignExpr] ... = ... -# 1967| Type = [Class] D -# 1967| ValueCategory = lvalue -# 1967| getLValue(): [VariableAccess] k -# 1967| Type = [Class] D -# 1967| ValueCategory = lvalue -# 1967| getRValue(): [FunctionCall] call to ObjectStaticMemberFunction -# 1967| Type = [Class] D -# 1967| ValueCategory = prvalue -# 1968| getStmt(13): [ReturnStmt] return ... -# 1970| [TopLevelFunction] void test_volatile() -# 1970| : -# 1970| getEntryPoint(): [BlockStmt] { ... } -# 1971| getStmt(0): [DeclStmt] declaration -# 1971| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1971| Type = [SpecifiedType] volatile int -# 1972| getStmt(1): [ExprStmt] ExprStmt -# 1972| getExpr(): [VariableAccess] x +# 1957| getLesserOperand(): [VariableAccess] x +# 1957| Type = [IntType] int +# 1957| ValueCategory = prvalue(load) +# 1957| getGreaterOperand(): [Literal] 10 +# 1957| Type = [IntType] int +# 1957| Value = [Literal] 10 +# 1957| ValueCategory = prvalue +# 1957| getThen(): [BlockStmt] { ... } +# 1958| getStmt(0): [ExprStmt] ExprStmt +# 1958| getExpr(): [FunctionCall] call to noreturnFunc +# 1958| Type = [VoidType] void +# 1958| ValueCategory = prvalue +# 1960| getStmt(1): [ReturnStmt] return ... +# 1960| getExpr(): [VariableAccess] x +# 1960| Type = [IntType] int +# 1960| ValueCategory = prvalue(load) +# 1963| [TopLevelFunction] int static_function(int) +# 1963| : +# 1963| getParameter(0): [Parameter] x +# 1963| Type = [IntType] int +# 1963| getEntryPoint(): [BlockStmt] { ... } +# 1964| getStmt(0): [ReturnStmt] return ... +# 1964| getExpr(): [VariableAccess] x +# 1964| Type = [IntType] int +# 1964| ValueCategory = prvalue(load) +# 1967| [TopLevelFunction] void test_static_functions_with_assignments() +# 1967| : +# 1967| getEntryPoint(): [BlockStmt] { ... } +# 1968| getStmt(0): [DeclStmt] declaration +# 1968| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 1968| Type = [Class] C +# 1968| getVariable().getInitializer(): [Initializer] initializer for c +# 1968| getExpr(): [ConstructorCall] call to C +# 1968| Type = [VoidType] void +# 1968| ValueCategory = prvalue +# 1969| getStmt(1): [DeclStmt] declaration +# 1969| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1969| Type = [IntType] int +# 1970| getStmt(2): [ExprStmt] ExprStmt +# 1970| getExpr(): [AssignExpr] ... = ... +# 1970| Type = [IntType] int +# 1970| ValueCategory = lvalue +# 1970| getLValue(): [VariableAccess] x +# 1970| Type = [IntType] int +# 1970| ValueCategory = lvalue +# 1970| getRValue(): [FunctionCall] call to StaticMemberFunction +# 1970| Type = [IntType] int +# 1970| ValueCategory = prvalue +# 1970| getQualifier(): [VariableAccess] c +# 1970| Type = [Class] C +# 1970| ValueCategory = lvalue +# 1970| getArgument(0): [Literal] 10 +# 1970| Type = [IntType] int +# 1970| Value = [Literal] 10 +# 1970| ValueCategory = prvalue +# 1971| getStmt(3): [DeclStmt] declaration +# 1971| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1971| Type = [IntType] int +# 1972| getStmt(4): [ExprStmt] ExprStmt +# 1972| getExpr(): [AssignExpr] ... = ... # 1972| Type = [IntType] int -# 1972| ValueCategory = prvalue(load) -# 1973| getStmt(2): [ReturnStmt] return ... -# 1975| [CopyAssignmentOperator] ValCat& ValCat::operator=(ValCat const&) -# 1975| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const ValCat & -# 1975| [MoveAssignmentOperator] ValCat& ValCat::operator=(ValCat&&) -# 1975| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] ValCat && -# 1976| [MemberFunction] ValCat& ValCat::lvalue() -# 1976| : -# 1977| [MemberFunction] ValCat&& ValCat::xvalue() +# 1972| ValueCategory = lvalue +# 1972| getLValue(): [VariableAccess] y +# 1972| Type = [IntType] int +# 1972| ValueCategory = lvalue +# 1972| getRValue(): [FunctionCall] call to StaticMemberFunction +# 1972| Type = [IntType] int +# 1972| ValueCategory = prvalue +# 1972| getArgument(0): [Literal] 10 +# 1972| Type = [IntType] int +# 1972| Value = [Literal] 10 +# 1972| ValueCategory = prvalue +# 1973| getStmt(5): [DeclStmt] declaration +# 1973| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1973| Type = [IntType] int +# 1974| getStmt(6): [ExprStmt] ExprStmt +# 1974| getExpr(): [AssignExpr] ... = ... +# 1974| Type = [IntType] int +# 1974| ValueCategory = lvalue +# 1974| getLValue(): [VariableAccess] z +# 1974| Type = [IntType] int +# 1974| ValueCategory = lvalue +# 1974| getRValue(): [FunctionCall] call to static_function +# 1974| Type = [IntType] int +# 1974| ValueCategory = prvalue +# 1974| getArgument(0): [Literal] 10 +# 1974| Type = [IntType] int +# 1974| Value = [Literal] 10 +# 1974| ValueCategory = prvalue +# 1975| getStmt(7): [ReturnStmt] return ... +# 1975| getImplicitDestructorCall(0): [DestructorCall] call to ~C +# 1975| Type = [VoidType] void +# 1975| ValueCategory = prvalue +# 1975| getQualifier(): [VariableAccess] c +# 1975| Type = [Class] C +# 1975| ValueCategory = lvalue +# 1977| [TopLevelFunction] void test_double_assign() # 1977| : -# 1978| [MemberFunction] ValCat ValCat::prvalue() -# 1978| : -# 1981| [TopLevelFunction] void value_category_test() -# 1981| : -# 1981| getEntryPoint(): [BlockStmt] { ... } -# 1982| getStmt(0): [DeclStmt] declaration -# 1982| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1982| Type = [Struct] ValCat +# 1977| getEntryPoint(): [BlockStmt] { ... } +# 1978| getStmt(0): [DeclStmt] declaration +# 1978| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 1978| Type = [IntType] int +# 1978| getDeclarationEntry(1): [VariableDeclarationEntry] definition of j +# 1978| Type = [IntType] int +# 1979| getStmt(1): [ExprStmt] ExprStmt +# 1979| getExpr(): [AssignExpr] ... = ... +# 1979| Type = [IntType] int +# 1979| ValueCategory = lvalue +# 1979| getLValue(): [VariableAccess] i +# 1979| Type = [IntType] int +# 1979| ValueCategory = lvalue +# 1979| getRValue(): [AssignExpr] ... = ... +# 1979| Type = [IntType] int +# 1979| ValueCategory = prvalue(load) +# 1979| getLValue(): [VariableAccess] j +# 1979| Type = [IntType] int +# 1979| ValueCategory = lvalue +# 1979| getRValue(): [Literal] 40 +# 1979| Type = [IntType] int +# 1979| Value = [Literal] 40 +# 1979| ValueCategory = prvalue +# 1980| getStmt(2): [ReturnStmt] return ... +# 1982| [TopLevelFunction] void test_assign_with_assign_operation() +# 1982| : +# 1982| getEntryPoint(): [BlockStmt] { ... } +# 1983| getStmt(0): [DeclStmt] declaration +# 1983| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 1983| Type = [IntType] int +# 1983| getDeclarationEntry(1): [VariableDeclarationEntry] definition of j +# 1983| Type = [IntType] int +# 1983| getVariable().getInitializer(): [Initializer] initializer for j +# 1983| getExpr(): [Literal] 0 +# 1983| Type = [IntType] int +# 1983| Value = [Literal] 0 +# 1983| ValueCategory = prvalue # 1984| getStmt(1): [ExprStmt] ExprStmt # 1984| getExpr(): [AssignExpr] ... = ... -# 1984| Type = [Struct] ValCat +# 1984| Type = [IntType] int # 1984| ValueCategory = lvalue -# 1984| getLValue(): [FunctionCall] call to lvalue -# 1984| Type = [LValueReferenceType] ValCat & -# 1984| ValueCategory = prvalue -# 1984| getQualifier(): [VariableAccess] c -# 1984| Type = [Struct] ValCat -# 1984| ValueCategory = lvalue -# 1984| getRValue(): [ClassAggregateLiteral] {...} -# 1984| Type = [Struct] ValCat -# 1984| ValueCategory = prvalue -# 1984| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1984| Type = [Struct] ValCat +# 1984| getLValue(): [VariableAccess] i +# 1984| Type = [IntType] int # 1984| ValueCategory = lvalue -#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -#-----| Type = [Struct] ValCat -#-----| ValueCategory = prvalue(load) -# 1985| getStmt(2): [ExprStmt] ExprStmt -# 1985| getExpr(): [AssignExpr] ... = ... -# 1985| Type = [Struct] ValCat -# 1985| ValueCategory = lvalue -# 1985| getLValue(): [FunctionCall] call to xvalue -# 1985| Type = [RValueReferenceType] ValCat && -# 1985| ValueCategory = prvalue -# 1985| getQualifier(): [VariableAccess] c -# 1985| Type = [Struct] ValCat -# 1985| ValueCategory = lvalue -# 1985| getRValue(): [ClassAggregateLiteral] {...} -# 1985| Type = [Struct] ValCat -# 1985| ValueCategory = prvalue -# 1985| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1985| Type = [Struct] ValCat -# 1985| ValueCategory = lvalue -#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -#-----| Type = [Struct] ValCat -#-----| ValueCategory = prvalue(load) -# 1986| getStmt(3): [ExprStmt] ExprStmt -# 1986| getExpr(): [AssignExpr] ... = ... -# 1986| Type = [Struct] ValCat -# 1986| ValueCategory = lvalue -# 1986| getLValue(): [FunctionCall] call to prvalue -# 1986| Type = [Struct] ValCat -# 1986| ValueCategory = prvalue -# 1986| getQualifier(): [VariableAccess] c -# 1986| Type = [Struct] ValCat -# 1986| ValueCategory = lvalue -# 1986| getRValue(): [ClassAggregateLiteral] {...} -# 1986| Type = [Struct] ValCat -# 1986| ValueCategory = prvalue -# 1986| getLValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1986| Type = [Struct] ValCat -# 1986| ValueCategory = lvalue -#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -#-----| Type = [Struct] ValCat -#-----| ValueCategory = prvalue(load) -# 1987| getStmt(4): [ExprStmt] ExprStmt -# 1987| getExpr(): [AssignExpr] ... = ... -# 1987| Type = [Struct] ValCat -# 1987| ValueCategory = lvalue -# 1987| getLValue(): [FunctionCall] call to lvalue -# 1987| Type = [LValueReferenceType] ValCat & -# 1987| ValueCategory = prvalue -# 1987| getRValue(): [ClassAggregateLiteral] {...} -# 1987| Type = [Struct] ValCat -# 1987| ValueCategory = prvalue -# 1987| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1987| Type = [Struct] ValCat -# 1987| ValueCategory = lvalue -#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -#-----| Type = [Struct] ValCat -#-----| ValueCategory = prvalue(load) -# 1988| getStmt(5): [ExprStmt] ExprStmt -# 1988| getExpr(): [AssignExpr] ... = ... -# 1988| Type = [Struct] ValCat -# 1988| ValueCategory = lvalue -# 1988| getLValue(): [FunctionCall] call to xvalue -# 1988| Type = [RValueReferenceType] ValCat && -# 1988| ValueCategory = prvalue -# 1988| getRValue(): [ClassAggregateLiteral] {...} -# 1988| Type = [Struct] ValCat -# 1988| ValueCategory = prvalue -# 1988| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1988| Type = [Struct] ValCat -# 1988| ValueCategory = lvalue -#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -#-----| Type = [Struct] ValCat -#-----| ValueCategory = prvalue(load) -# 1989| getStmt(6): [ExprStmt] ExprStmt -# 1989| getExpr(): [AssignExpr] ... = ... -# 1989| Type = [Struct] ValCat -# 1989| ValueCategory = lvalue -# 1989| getLValue(): [FunctionCall] call to prvalue -# 1989| Type = [Struct] ValCat -# 1989| ValueCategory = prvalue -# 1989| getRValue(): [ClassAggregateLiteral] {...} -# 1989| Type = [Struct] ValCat -# 1989| ValueCategory = prvalue -# 1989| getLValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1989| Type = [Struct] ValCat -# 1989| ValueCategory = lvalue -#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -#-----| Type = [Struct] ValCat -#-----| ValueCategory = prvalue(load) -# 1990| getStmt(7): [ReturnStmt] return ... -# 1992| [TopLevelFunction] void SetStaticFuncPtr() -# 1992| : -# 1992| getEntryPoint(): [BlockStmt] { ... } -# 1993| getStmt(0): [DeclStmt] declaration -# 1993| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1993| Type = [Class] C -# 1993| getVariable().getInitializer(): [Initializer] initializer for c -# 1993| getExpr(): [ConstructorCall] call to C -# 1993| Type = [VoidType] void -# 1993| ValueCategory = prvalue -# 1994| getStmt(1): [DeclStmt] declaration -# 1994| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pfn -# 1994| Type = [FunctionPointerType] ..(*)(..) -# 1994| getVariable().getInitializer(): [Initializer] initializer for pfn -# 1994| getExpr(): [FunctionAccess] StaticMemberFunction -# 1994| Type = [FunctionPointerType] ..(*)(..) -# 1994| ValueCategory = prvalue(load) -# 1995| getStmt(2): [ExprStmt] ExprStmt -# 1995| getExpr(): [AssignExpr] ... = ... -# 1995| Type = [FunctionPointerType] ..(*)(..) -# 1995| ValueCategory = lvalue -# 1995| getLValue(): [VariableAccess] pfn -# 1995| Type = [FunctionPointerType] ..(*)(..) -# 1995| ValueCategory = lvalue -# 1995| getRValue(): [FunctionAccess] StaticMemberFunction -# 1995| Type = [FunctionPointerType] ..(*)(..) -# 1995| ValueCategory = prvalue(load) -# 1995| getQualifier(): [VariableAccess] c -# 1995| Type = [Class] C -# 1995| ValueCategory = lvalue -# 1996| getStmt(3): [ReturnStmt] return ... -# 1996| getImplicitDestructorCall(0): [DestructorCall] call to ~C -# 1996| Type = [VoidType] void -# 1996| ValueCategory = prvalue -# 1996| getQualifier(): [VariableAccess] c -# 1996| Type = [Class] C -# 1996| ValueCategory = lvalue -# 1998| [TopLevelFunction] void TernaryTestInt(bool, int, int, int) -# 1998| : -# 1998| getParameter(0): [Parameter] a -# 1998| Type = [BoolType] bool -# 1998| getParameter(1): [Parameter] x -# 1998| Type = [IntType] int -# 1998| getParameter(2): [Parameter] y -# 1998| Type = [IntType] int -# 1998| getParameter(3): [Parameter] z -# 1998| Type = [IntType] int -# 1998| getEntryPoint(): [BlockStmt] { ... } -# 1999| getStmt(0): [ExprStmt] ExprStmt -# 1999| getExpr(): [AssignExpr] ... = ... -# 1999| Type = [IntType] int -# 1999| ValueCategory = lvalue -# 1999| getLValue(): [VariableAccess] z -# 1999| Type = [IntType] int -# 1999| ValueCategory = lvalue -# 1999| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1999| Type = [IntType] int -# 1999| ValueCategory = prvalue(load) -# 1999| getCondition(): [VariableAccess] a -# 1999| Type = [BoolType] bool -# 1999| ValueCategory = prvalue(load) -# 1999| getThen(): [VariableAccess] x -# 1999| Type = [IntType] int -# 1999| ValueCategory = prvalue(load) -# 1999| getElse(): [VariableAccess] y -# 1999| Type = [IntType] int -# 1999| ValueCategory = prvalue(load) -# 2000| getStmt(1): [ExprStmt] ExprStmt -# 2000| getExpr(): [AssignExpr] ... = ... -# 2000| Type = [IntType] int -# 2000| ValueCategory = lvalue -# 2000| getLValue(): [VariableAccess] z -# 2000| Type = [IntType] int -# 2000| ValueCategory = lvalue -# 2000| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2000| Type = [IntType] int -# 2000| ValueCategory = prvalue(load) -# 2000| getCondition(): [VariableAccess] a -# 2000| Type = [BoolType] bool -# 2000| ValueCategory = prvalue(load) -# 2000| getThen(): [VariableAccess] x -# 2000| Type = [IntType] int -# 2000| ValueCategory = prvalue(load) -# 2000| getElse(): [Literal] 5 -# 2000| Type = [IntType] int -# 2000| Value = [Literal] 5 -# 2000| ValueCategory = prvalue -# 2001| getStmt(2): [ExprStmt] ExprStmt -# 2001| getExpr(): [AssignExpr] ... = ... -# 2001| Type = [IntType] int -# 2001| ValueCategory = lvalue -# 2001| getLValue(): [VariableAccess] z -# 2001| Type = [IntType] int -# 2001| ValueCategory = lvalue -# 2001| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2001| Type = [IntType] int -# 2001| ValueCategory = prvalue -# 2001| getCondition(): [VariableAccess] a -# 2001| Type = [BoolType] bool -# 2001| ValueCategory = prvalue(load) -# 2001| getThen(): [Literal] 3 -# 2001| Type = [IntType] int -# 2001| Value = [Literal] 3 -# 2001| ValueCategory = prvalue -# 2001| getElse(): [Literal] 5 -# 2001| Type = [IntType] int -# 2001| Value = [Literal] 5 -# 2001| ValueCategory = prvalue -# 2002| getStmt(3): [ExprStmt] ExprStmt -# 2002| getExpr(): [AssignExpr] ... = ... -# 2002| Type = [IntType] int +# 1984| getRValue(): [AssignAddExpr] ... += ... +# 1984| Type = [IntType] int +# 1984| ValueCategory = prvalue(load) +# 1984| getLValue(): [VariableAccess] j +# 1984| Type = [IntType] int +# 1984| ValueCategory = lvalue +# 1984| getRValue(): [Literal] 40 +# 1984| Type = [IntType] int +# 1984| Value = [Literal] 40 +# 1984| ValueCategory = prvalue +# 1984| getRValue().getFullyConverted(): [ParenthesisExpr] (...) +# 1984| Type = [IntType] int +# 1984| ValueCategory = prvalue(load) +# 1985| getStmt(2): [ReturnStmt] return ... +# 1987| [CopyAssignmentOperator] D& D::operator=(D const&) +# 1987| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const D & +# 1987| [MoveAssignmentOperator] D& D::operator=(D&&) +# 1987| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] D && +# 1991| [MemberFunction] D& D::ReferenceStaticMemberFunction() +# 1991| : +# 1991| getEntryPoint(): [BlockStmt] { ... } +# 1992| getStmt(0): [ReturnStmt] return ... +# 1992| getExpr(): [VariableAccess] x +# 1992| Type = [Class] D +# 1992| ValueCategory = lvalue +# 1992| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 1992| Type = [LValueReferenceType] D & +# 1992| ValueCategory = prvalue +# 1994| [MemberFunction] D D::ObjectStaticMemberFunction() +# 1994| : +# 1994| getEntryPoint(): [BlockStmt] { ... } +# 1995| getStmt(0): [ReturnStmt] return ... +# 1995| getExpr(): [VariableAccess] x +# 1995| Type = [Class] D +# 1995| ValueCategory = prvalue(load) +# 1999| [TopLevelFunction] void test_static_member_functions_with_reference_return() +# 1999| : +# 1999| getEntryPoint(): [BlockStmt] { ... } +# 2000| getStmt(0): [DeclStmt] declaration +# 2000| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 2000| Type = [Class] D +# 2002| getStmt(1): [ExprStmt] ExprStmt +# 2002| getExpr(): [FunctionCall] call to ReferenceStaticMemberFunction +# 2002| Type = [LValueReferenceType] D & +# 2002| ValueCategory = prvalue +# 2002| getQualifier(): [VariableAccess] d +# 2002| Type = [Class] D +# 2002| ValueCategory = lvalue +# 2002| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2002| Type = [Class] D # 2002| ValueCategory = lvalue -# 2002| getLValue(): [ConditionalExpr] ... ? ... : ... -# 2002| Type = [IntType] int -# 2002| ValueCategory = lvalue -# 2002| getCondition(): [VariableAccess] a -# 2002| Type = [BoolType] bool -# 2002| ValueCategory = prvalue(load) -# 2002| getThen(): [VariableAccess] x -# 2002| Type = [IntType] int -# 2002| ValueCategory = lvalue -# 2002| getElse(): [VariableAccess] y -# 2002| Type = [IntType] int -# 2002| ValueCategory = lvalue -# 2002| getRValue(): [Literal] 7 -# 2002| Type = [IntType] int -# 2002| Value = [Literal] 7 -# 2002| ValueCategory = prvalue -# 2002| getLValue().getFullyConverted(): [ParenthesisExpr] (...) -# 2002| Type = [IntType] int -# 2002| ValueCategory = lvalue -# 2003| getStmt(4): [ReturnStmt] return ... -# 2005| [CopyAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj const&) -# 2005| : +# 2003| getStmt(2): [ExprStmt] ExprStmt +# 2003| getExpr(): [FunctionCall] call to ReferenceStaticMemberFunction +# 2003| Type = [LValueReferenceType] D & +# 2003| ValueCategory = prvalue +# 2003| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2003| Type = [Class] D +# 2003| ValueCategory = lvalue +# 2004| getStmt(3): [ExprStmt] ExprStmt +# 2004| getExpr(): [FunctionCall] call to ObjectStaticMemberFunction +# 2004| Type = [Class] D +# 2004| ValueCategory = prvalue +# 2004| getQualifier(): [VariableAccess] d +# 2004| Type = [Class] D +# 2004| ValueCategory = lvalue +# 2005| getStmt(4): [ExprStmt] ExprStmt +# 2005| getExpr(): [FunctionCall] call to ObjectStaticMemberFunction +# 2005| Type = [Class] D +# 2005| ValueCategory = prvalue +# 2007| getStmt(5): [DeclStmt] declaration +# 2007| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2007| Type = [Class] D +# 2008| getStmt(6): [ExprStmt] ExprStmt +# 2008| getExpr(): [AssignExpr] ... = ... +# 2008| Type = [Class] D +# 2008| ValueCategory = lvalue +# 2008| getLValue(): [VariableAccess] x +# 2008| Type = [Class] D +# 2008| ValueCategory = lvalue +# 2008| getRValue(): [FunctionCall] call to ReferenceStaticMemberFunction +# 2008| Type = [LValueReferenceType] D & +# 2008| ValueCategory = prvalue +# 2008| getQualifier(): [VariableAccess] d +# 2008| Type = [Class] D +# 2008| ValueCategory = lvalue +# 2008| getRValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2008| Type = [Class] D +# 2008| ValueCategory = prvalue(load) +# 2009| getStmt(7): [DeclStmt] declaration +# 2009| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2009| Type = [Class] D +# 2010| getStmt(8): [ExprStmt] ExprStmt +# 2010| getExpr(): [AssignExpr] ... = ... +# 2010| Type = [Class] D +# 2010| ValueCategory = lvalue +# 2010| getLValue(): [VariableAccess] y +# 2010| Type = [Class] D +# 2010| ValueCategory = lvalue +# 2010| getRValue(): [FunctionCall] call to ReferenceStaticMemberFunction +# 2010| Type = [LValueReferenceType] D & +# 2010| ValueCategory = prvalue +# 2010| getRValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2010| Type = [Class] D +# 2010| ValueCategory = prvalue(load) +# 2011| getStmt(9): [DeclStmt] declaration +# 2011| getDeclarationEntry(0): [VariableDeclarationEntry] definition of j +# 2011| Type = [Class] D +# 2012| getStmt(10): [ExprStmt] ExprStmt +# 2012| getExpr(): [AssignExpr] ... = ... +# 2012| Type = [Class] D +# 2012| ValueCategory = lvalue +# 2012| getLValue(): [VariableAccess] j +# 2012| Type = [Class] D +# 2012| ValueCategory = lvalue +# 2012| getRValue(): [FunctionCall] call to ObjectStaticMemberFunction +# 2012| Type = [Class] D +# 2012| ValueCategory = prvalue +# 2012| getQualifier(): [VariableAccess] d +# 2012| Type = [Class] D +# 2012| ValueCategory = lvalue +# 2013| getStmt(11): [DeclStmt] declaration +# 2013| getDeclarationEntry(0): [VariableDeclarationEntry] definition of k +# 2013| Type = [Class] D +# 2014| getStmt(12): [ExprStmt] ExprStmt +# 2014| getExpr(): [AssignExpr] ... = ... +# 2014| Type = [Class] D +# 2014| ValueCategory = lvalue +# 2014| getLValue(): [VariableAccess] k +# 2014| Type = [Class] D +# 2014| ValueCategory = lvalue +# 2014| getRValue(): [FunctionCall] call to ObjectStaticMemberFunction +# 2014| Type = [Class] D +# 2014| ValueCategory = prvalue +# 2015| getStmt(13): [ReturnStmt] return ... +# 2017| [TopLevelFunction] void test_volatile() +# 2017| : +# 2017| getEntryPoint(): [BlockStmt] { ... } +# 2018| getStmt(0): [DeclStmt] declaration +# 2018| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2018| Type = [SpecifiedType] volatile int +# 2019| getStmt(1): [ExprStmt] ExprStmt +# 2019| getExpr(): [VariableAccess] x +# 2019| Type = [IntType] int +# 2019| ValueCategory = prvalue(load) +# 2020| getStmt(2): [ReturnStmt] return ... +# 2022| [CopyAssignmentOperator] ValCat& ValCat::operator=(ValCat const&) +# 2022| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const ValCat & +# 2022| [MoveAssignmentOperator] ValCat& ValCat::operator=(ValCat&&) +# 2022| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] ValCat && +# 2023| [MemberFunction] ValCat& ValCat::lvalue() +# 2023| : +# 2024| [MemberFunction] ValCat&& ValCat::xvalue() +# 2024| : +# 2025| [MemberFunction] ValCat ValCat::prvalue() +# 2025| : +# 2028| [TopLevelFunction] void value_category_test() +# 2028| : +# 2028| getEntryPoint(): [BlockStmt] { ... } +# 2029| getStmt(0): [DeclStmt] declaration +# 2029| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 2029| Type = [Struct] ValCat +# 2031| getStmt(1): [ExprStmt] ExprStmt +# 2031| getExpr(): [AssignExpr] ... = ... +# 2031| Type = [Struct] ValCat +# 2031| ValueCategory = lvalue +# 2031| getLValue(): [FunctionCall] call to lvalue +# 2031| Type = [LValueReferenceType] ValCat & +# 2031| ValueCategory = prvalue +# 2031| getQualifier(): [VariableAccess] c +# 2031| Type = [Struct] ValCat +# 2031| ValueCategory = lvalue +# 2031| getRValue(): [ClassAggregateLiteral] {...} +# 2031| Type = [Struct] ValCat +# 2031| ValueCategory = prvalue +# 2031| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2031| Type = [Struct] ValCat +# 2031| ValueCategory = lvalue +#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [Struct] ValCat +#-----| ValueCategory = prvalue(load) +# 2032| getStmt(2): [ExprStmt] ExprStmt +# 2032| getExpr(): [AssignExpr] ... = ... +# 2032| Type = [Struct] ValCat +# 2032| ValueCategory = lvalue +# 2032| getLValue(): [FunctionCall] call to xvalue +# 2032| Type = [RValueReferenceType] ValCat && +# 2032| ValueCategory = prvalue +# 2032| getQualifier(): [VariableAccess] c +# 2032| Type = [Struct] ValCat +# 2032| ValueCategory = lvalue +# 2032| getRValue(): [ClassAggregateLiteral] {...} +# 2032| Type = [Struct] ValCat +# 2032| ValueCategory = prvalue +# 2032| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2032| Type = [Struct] ValCat +# 2032| ValueCategory = lvalue +#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [Struct] ValCat +#-----| ValueCategory = prvalue(load) +# 2033| getStmt(3): [ExprStmt] ExprStmt +# 2033| getExpr(): [AssignExpr] ... = ... +# 2033| Type = [Struct] ValCat +# 2033| ValueCategory = lvalue +# 2033| getLValue(): [FunctionCall] call to prvalue +# 2033| Type = [Struct] ValCat +# 2033| ValueCategory = prvalue +# 2033| getQualifier(): [VariableAccess] c +# 2033| Type = [Struct] ValCat +# 2033| ValueCategory = lvalue +# 2033| getRValue(): [ClassAggregateLiteral] {...} +# 2033| Type = [Struct] ValCat +# 2033| ValueCategory = prvalue +# 2033| getLValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2033| Type = [Struct] ValCat +# 2033| ValueCategory = lvalue +#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [Struct] ValCat +#-----| ValueCategory = prvalue(load) +# 2034| getStmt(4): [ExprStmt] ExprStmt +# 2034| getExpr(): [AssignExpr] ... = ... +# 2034| Type = [Struct] ValCat +# 2034| ValueCategory = lvalue +# 2034| getLValue(): [FunctionCall] call to lvalue +# 2034| Type = [LValueReferenceType] ValCat & +# 2034| ValueCategory = prvalue +# 2034| getRValue(): [ClassAggregateLiteral] {...} +# 2034| Type = [Struct] ValCat +# 2034| ValueCategory = prvalue +# 2034| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2034| Type = [Struct] ValCat +# 2034| ValueCategory = lvalue +#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [Struct] ValCat +#-----| ValueCategory = prvalue(load) +# 2035| getStmt(5): [ExprStmt] ExprStmt +# 2035| getExpr(): [AssignExpr] ... = ... +# 2035| Type = [Struct] ValCat +# 2035| ValueCategory = lvalue +# 2035| getLValue(): [FunctionCall] call to xvalue +# 2035| Type = [RValueReferenceType] ValCat && +# 2035| ValueCategory = prvalue +# 2035| getRValue(): [ClassAggregateLiteral] {...} +# 2035| Type = [Struct] ValCat +# 2035| ValueCategory = prvalue +# 2035| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2035| Type = [Struct] ValCat +# 2035| ValueCategory = lvalue +#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [Struct] ValCat +#-----| ValueCategory = prvalue(load) +# 2036| getStmt(6): [ExprStmt] ExprStmt +# 2036| getExpr(): [AssignExpr] ... = ... +# 2036| Type = [Struct] ValCat +# 2036| ValueCategory = lvalue +# 2036| getLValue(): [FunctionCall] call to prvalue +# 2036| Type = [Struct] ValCat +# 2036| ValueCategory = prvalue +# 2036| getRValue(): [ClassAggregateLiteral] {...} +# 2036| Type = [Struct] ValCat +# 2036| ValueCategory = prvalue +# 2036| getLValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2036| Type = [Struct] ValCat +# 2036| ValueCategory = lvalue +#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [Struct] ValCat +#-----| ValueCategory = prvalue(load) +# 2037| getStmt(7): [ReturnStmt] return ... +# 2039| [TopLevelFunction] void SetStaticFuncPtr() +# 2039| : +# 2039| getEntryPoint(): [BlockStmt] { ... } +# 2040| getStmt(0): [DeclStmt] declaration +# 2040| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 2040| Type = [Class] C +# 2040| getVariable().getInitializer(): [Initializer] initializer for c +# 2040| getExpr(): [ConstructorCall] call to C +# 2040| Type = [VoidType] void +# 2040| ValueCategory = prvalue +# 2041| getStmt(1): [DeclStmt] declaration +# 2041| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pfn +# 2041| Type = [FunctionPointerType] ..(*)(..) +# 2041| getVariable().getInitializer(): [Initializer] initializer for pfn +# 2041| getExpr(): [FunctionAccess] StaticMemberFunction +# 2041| Type = [FunctionPointerType] ..(*)(..) +# 2041| ValueCategory = prvalue(load) +# 2042| getStmt(2): [ExprStmt] ExprStmt +# 2042| getExpr(): [AssignExpr] ... = ... +# 2042| Type = [FunctionPointerType] ..(*)(..) +# 2042| ValueCategory = lvalue +# 2042| getLValue(): [VariableAccess] pfn +# 2042| Type = [FunctionPointerType] ..(*)(..) +# 2042| ValueCategory = lvalue +# 2042| getRValue(): [FunctionAccess] StaticMemberFunction +# 2042| Type = [FunctionPointerType] ..(*)(..) +# 2042| ValueCategory = prvalue(load) +# 2042| getQualifier(): [VariableAccess] c +# 2042| Type = [Class] C +# 2042| ValueCategory = lvalue +# 2043| getStmt(3): [ReturnStmt] return ... +# 2043| getImplicitDestructorCall(0): [DestructorCall] call to ~C +# 2043| Type = [VoidType] void +# 2043| ValueCategory = prvalue +# 2043| getQualifier(): [VariableAccess] c +# 2043| Type = [Class] C +# 2043| ValueCategory = lvalue +# 2045| [TopLevelFunction] void TernaryTestInt(bool, int, int, int) +# 2045| : +# 2045| getParameter(0): [Parameter] a +# 2045| Type = [BoolType] bool +# 2045| getParameter(1): [Parameter] x +# 2045| Type = [IntType] int +# 2045| getParameter(2): [Parameter] y +# 2045| Type = [IntType] int +# 2045| getParameter(3): [Parameter] z +# 2045| Type = [IntType] int +# 2045| getEntryPoint(): [BlockStmt] { ... } +# 2046| getStmt(0): [ExprStmt] ExprStmt +# 2046| getExpr(): [AssignExpr] ... = ... +# 2046| Type = [IntType] int +# 2046| ValueCategory = lvalue +# 2046| getLValue(): [VariableAccess] z +# 2046| Type = [IntType] int +# 2046| ValueCategory = lvalue +# 2046| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2046| Type = [IntType] int +# 2046| ValueCategory = prvalue(load) +# 2046| getCondition(): [VariableAccess] a +# 2046| Type = [BoolType] bool +# 2046| ValueCategory = prvalue(load) +# 2046| getThen(): [VariableAccess] x +# 2046| Type = [IntType] int +# 2046| ValueCategory = prvalue(load) +# 2046| getElse(): [VariableAccess] y +# 2046| Type = [IntType] int +# 2046| ValueCategory = prvalue(load) +# 2047| getStmt(1): [ExprStmt] ExprStmt +# 2047| getExpr(): [AssignExpr] ... = ... +# 2047| Type = [IntType] int +# 2047| ValueCategory = lvalue +# 2047| getLValue(): [VariableAccess] z +# 2047| Type = [IntType] int +# 2047| ValueCategory = lvalue +# 2047| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2047| Type = [IntType] int +# 2047| ValueCategory = prvalue(load) +# 2047| getCondition(): [VariableAccess] a +# 2047| Type = [BoolType] bool +# 2047| ValueCategory = prvalue(load) +# 2047| getThen(): [VariableAccess] x +# 2047| Type = [IntType] int +# 2047| ValueCategory = prvalue(load) +# 2047| getElse(): [Literal] 5 +# 2047| Type = [IntType] int +# 2047| Value = [Literal] 5 +# 2047| ValueCategory = prvalue +# 2048| getStmt(2): [ExprStmt] ExprStmt +# 2048| getExpr(): [AssignExpr] ... = ... +# 2048| Type = [IntType] int +# 2048| ValueCategory = lvalue +# 2048| getLValue(): [VariableAccess] z +# 2048| Type = [IntType] int +# 2048| ValueCategory = lvalue +# 2048| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2048| Type = [IntType] int +# 2048| ValueCategory = prvalue +# 2048| getCondition(): [VariableAccess] a +# 2048| Type = [BoolType] bool +# 2048| ValueCategory = prvalue(load) +# 2048| getThen(): [Literal] 3 +# 2048| Type = [IntType] int +# 2048| Value = [Literal] 3 +# 2048| ValueCategory = prvalue +# 2048| getElse(): [Literal] 5 +# 2048| Type = [IntType] int +# 2048| Value = [Literal] 5 +# 2048| ValueCategory = prvalue +# 2049| getStmt(3): [ExprStmt] ExprStmt +# 2049| getExpr(): [AssignExpr] ... = ... +# 2049| Type = [IntType] int +# 2049| ValueCategory = lvalue +# 2049| getLValue(): [ConditionalExpr] ... ? ... : ... +# 2049| Type = [IntType] int +# 2049| ValueCategory = lvalue +# 2049| getCondition(): [VariableAccess] a +# 2049| Type = [BoolType] bool +# 2049| ValueCategory = prvalue(load) +# 2049| getThen(): [VariableAccess] x +# 2049| Type = [IntType] int +# 2049| ValueCategory = lvalue +# 2049| getElse(): [VariableAccess] y +# 2049| Type = [IntType] int +# 2049| ValueCategory = lvalue +# 2049| getRValue(): [Literal] 7 +# 2049| Type = [IntType] int +# 2049| Value = [Literal] 7 +# 2049| ValueCategory = prvalue +# 2049| getLValue().getFullyConverted(): [ParenthesisExpr] (...) +# 2049| Type = [IntType] int +# 2049| ValueCategory = lvalue +# 2050| getStmt(4): [ReturnStmt] return ... +# 2052| [CopyAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj const&) +# 2052| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const TernaryPodObj & -# 2005| [MoveAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj&&) -# 2005| : +# 2052| [MoveAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj&&) +# 2052| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] TernaryPodObj && -# 2008| [TopLevelFunction] void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) -# 2008| : -# 2008| getParameter(0): [Parameter] a -# 2008| Type = [BoolType] bool -# 2008| getParameter(1): [Parameter] x -# 2008| Type = [Struct] TernaryPodObj -# 2008| getParameter(2): [Parameter] y -# 2008| Type = [Struct] TernaryPodObj -# 2008| getParameter(3): [Parameter] z -# 2008| Type = [Struct] TernaryPodObj -# 2008| getEntryPoint(): [BlockStmt] { ... } -# 2009| getStmt(0): [ExprStmt] ExprStmt -# 2009| getExpr(): [AssignExpr] ... = ... -# 2009| Type = [Struct] TernaryPodObj -# 2009| ValueCategory = lvalue -# 2009| getLValue(): [VariableAccess] z -# 2009| Type = [Struct] TernaryPodObj -# 2009| ValueCategory = lvalue -# 2009| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2009| Type = [Struct] TernaryPodObj -# 2009| ValueCategory = prvalue(load) -# 2009| getCondition(): [VariableAccess] a -# 2009| Type = [BoolType] bool -# 2009| ValueCategory = prvalue(load) -# 2009| getThen(): [VariableAccess] x -# 2009| Type = [Struct] TernaryPodObj -# 2009| ValueCategory = prvalue(load) -# 2009| getElse(): [VariableAccess] y -# 2009| Type = [Struct] TernaryPodObj -# 2009| ValueCategory = prvalue(load) -# 2010| getStmt(1): [ExprStmt] ExprStmt -# 2010| getExpr(): [AssignExpr] ... = ... -# 2010| Type = [Struct] TernaryPodObj -# 2010| ValueCategory = lvalue -# 2010| getLValue(): [VariableAccess] z -# 2010| Type = [Struct] TernaryPodObj -# 2010| ValueCategory = lvalue -# 2010| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2010| Type = [Struct] TernaryPodObj -# 2010| ValueCategory = prvalue -# 2010| getCondition(): [VariableAccess] a -# 2010| Type = [BoolType] bool -# 2010| ValueCategory = prvalue(load) -# 2010| getThen(): [VariableAccess] x -# 2010| Type = [Struct] TernaryPodObj -# 2010| ValueCategory = prvalue(load) -# 2010| getElse(): [Literal] 0 -# 2010| Type = [Struct] TernaryPodObj -# 2010| Value = [Literal] 0 -# 2010| ValueCategory = prvalue -# 2010| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2010| Type = [Struct] TernaryPodObj -# 2010| ValueCategory = prvalue(load) -# 2010| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2010| Type = [Struct] TernaryPodObj -# 2010| ValueCategory = prvalue(load) -# 2010| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2010| Type = [Struct] TernaryPodObj -# 2010| ValueCategory = prvalue(load) -# 2011| getStmt(2): [ExprStmt] ExprStmt -# 2011| getExpr(): [AssignExpr] ... = ... -# 2011| Type = [Struct] TernaryPodObj -# 2011| ValueCategory = lvalue -# 2011| getLValue(): [VariableAccess] z -# 2011| Type = [Struct] TernaryPodObj -# 2011| ValueCategory = lvalue -# 2011| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2011| Type = [Struct] TernaryPodObj -# 2011| ValueCategory = prvalue -# 2011| getCondition(): [VariableAccess] a -# 2011| Type = [BoolType] bool -# 2011| ValueCategory = prvalue(load) -# 2011| getThen(): [Literal] 0 -# 2011| Type = [Struct] TernaryPodObj -# 2011| Value = [Literal] 0 -# 2011| ValueCategory = prvalue -# 2011| getElse(): [Literal] 0 -# 2011| Type = [Struct] TernaryPodObj -# 2011| Value = [Literal] 0 -# 2011| ValueCategory = prvalue -# 2011| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2011| Type = [Struct] TernaryPodObj -# 2011| ValueCategory = prvalue(load) -# 2011| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2011| Type = [Struct] TernaryPodObj -# 2011| ValueCategory = prvalue(load) -# 2011| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2011| Type = [Struct] TernaryPodObj -# 2011| ValueCategory = prvalue(load) -# 2012| getStmt(3): [ExprStmt] ExprStmt -# 2012| getExpr(): [AssignExpr] ... = ... -# 2012| Type = [Struct] TernaryPodObj -# 2012| ValueCategory = lvalue -# 2012| getLValue(): [AssignExpr] ... = ... -# 2012| Type = [Struct] TernaryPodObj -# 2012| ValueCategory = lvalue -# 2012| getLValue(): [VariableAccess] z -# 2012| Type = [Struct] TernaryPodObj -# 2012| ValueCategory = lvalue -# 2012| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2012| Type = [Struct] TernaryPodObj -# 2012| ValueCategory = prvalue(load) -# 2012| getCondition(): [VariableAccess] a -# 2012| Type = [BoolType] bool -# 2012| ValueCategory = prvalue(load) -# 2012| getThen(): [VariableAccess] x -# 2012| Type = [Struct] TernaryPodObj -# 2012| ValueCategory = prvalue(load) -# 2012| getElse(): [VariableAccess] y -# 2012| Type = [Struct] TernaryPodObj -# 2012| ValueCategory = prvalue(load) -# 2012| getRValue(): [Literal] 0 -# 2012| Type = [Struct] TernaryPodObj -# 2012| Value = [Literal] 0 -# 2012| ValueCategory = prvalue -# 2012| getLValue().getFullyConverted(): [ParenthesisExpr] (...) -# 2012| Type = [Struct] TernaryPodObj -# 2012| ValueCategory = lvalue -# 2012| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2012| Type = [Struct] TernaryPodObj -# 2012| ValueCategory = prvalue(load) -# 2013| getStmt(4): [ReturnStmt] return ... -# 2015| [CopyAssignmentOperator] TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) -# 2015| : +# 2055| [TopLevelFunction] void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) +# 2055| : +# 2055| getParameter(0): [Parameter] a +# 2055| Type = [BoolType] bool +# 2055| getParameter(1): [Parameter] x +# 2055| Type = [Struct] TernaryPodObj +# 2055| getParameter(2): [Parameter] y +# 2055| Type = [Struct] TernaryPodObj +# 2055| getParameter(3): [Parameter] z +# 2055| Type = [Struct] TernaryPodObj +# 2055| getEntryPoint(): [BlockStmt] { ... } +# 2056| getStmt(0): [ExprStmt] ExprStmt +# 2056| getExpr(): [AssignExpr] ... = ... +# 2056| Type = [Struct] TernaryPodObj +# 2056| ValueCategory = lvalue +# 2056| getLValue(): [VariableAccess] z +# 2056| Type = [Struct] TernaryPodObj +# 2056| ValueCategory = lvalue +# 2056| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2056| Type = [Struct] TernaryPodObj +# 2056| ValueCategory = prvalue(load) +# 2056| getCondition(): [VariableAccess] a +# 2056| Type = [BoolType] bool +# 2056| ValueCategory = prvalue(load) +# 2056| getThen(): [VariableAccess] x +# 2056| Type = [Struct] TernaryPodObj +# 2056| ValueCategory = prvalue(load) +# 2056| getElse(): [VariableAccess] y +# 2056| Type = [Struct] TernaryPodObj +# 2056| ValueCategory = prvalue(load) +# 2057| getStmt(1): [ExprStmt] ExprStmt +# 2057| getExpr(): [AssignExpr] ... = ... +# 2057| Type = [Struct] TernaryPodObj +# 2057| ValueCategory = lvalue +# 2057| getLValue(): [VariableAccess] z +# 2057| Type = [Struct] TernaryPodObj +# 2057| ValueCategory = lvalue +# 2057| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2057| Type = [Struct] TernaryPodObj +# 2057| ValueCategory = prvalue +# 2057| getCondition(): [VariableAccess] a +# 2057| Type = [BoolType] bool +# 2057| ValueCategory = prvalue(load) +# 2057| getThen(): [VariableAccess] x +# 2057| Type = [Struct] TernaryPodObj +# 2057| ValueCategory = prvalue(load) +# 2057| getElse(): [Literal] 0 +# 2057| Type = [Struct] TernaryPodObj +# 2057| Value = [Literal] 0 +# 2057| ValueCategory = prvalue +# 2057| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2057| Type = [Struct] TernaryPodObj +# 2057| ValueCategory = prvalue(load) +# 2057| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2057| Type = [Struct] TernaryPodObj +# 2057| ValueCategory = prvalue(load) +# 2057| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2057| Type = [Struct] TernaryPodObj +# 2057| ValueCategory = prvalue(load) +# 2058| getStmt(2): [ExprStmt] ExprStmt +# 2058| getExpr(): [AssignExpr] ... = ... +# 2058| Type = [Struct] TernaryPodObj +# 2058| ValueCategory = lvalue +# 2058| getLValue(): [VariableAccess] z +# 2058| Type = [Struct] TernaryPodObj +# 2058| ValueCategory = lvalue +# 2058| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2058| Type = [Struct] TernaryPodObj +# 2058| ValueCategory = prvalue +# 2058| getCondition(): [VariableAccess] a +# 2058| Type = [BoolType] bool +# 2058| ValueCategory = prvalue(load) +# 2058| getThen(): [Literal] 0 +# 2058| Type = [Struct] TernaryPodObj +# 2058| Value = [Literal] 0 +# 2058| ValueCategory = prvalue +# 2058| getElse(): [Literal] 0 +# 2058| Type = [Struct] TernaryPodObj +# 2058| Value = [Literal] 0 +# 2058| ValueCategory = prvalue +# 2058| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2058| Type = [Struct] TernaryPodObj +# 2058| ValueCategory = prvalue(load) +# 2058| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2058| Type = [Struct] TernaryPodObj +# 2058| ValueCategory = prvalue(load) +# 2058| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2058| Type = [Struct] TernaryPodObj +# 2058| ValueCategory = prvalue(load) +# 2059| getStmt(3): [ExprStmt] ExprStmt +# 2059| getExpr(): [AssignExpr] ... = ... +# 2059| Type = [Struct] TernaryPodObj +# 2059| ValueCategory = lvalue +# 2059| getLValue(): [AssignExpr] ... = ... +# 2059| Type = [Struct] TernaryPodObj +# 2059| ValueCategory = lvalue +# 2059| getLValue(): [VariableAccess] z +# 2059| Type = [Struct] TernaryPodObj +# 2059| ValueCategory = lvalue +# 2059| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2059| Type = [Struct] TernaryPodObj +# 2059| ValueCategory = prvalue(load) +# 2059| getCondition(): [VariableAccess] a +# 2059| Type = [BoolType] bool +# 2059| ValueCategory = prvalue(load) +# 2059| getThen(): [VariableAccess] x +# 2059| Type = [Struct] TernaryPodObj +# 2059| ValueCategory = prvalue(load) +# 2059| getElse(): [VariableAccess] y +# 2059| Type = [Struct] TernaryPodObj +# 2059| ValueCategory = prvalue(load) +# 2059| getRValue(): [Literal] 0 +# 2059| Type = [Struct] TernaryPodObj +# 2059| Value = [Literal] 0 +# 2059| ValueCategory = prvalue +# 2059| getLValue().getFullyConverted(): [ParenthesisExpr] (...) +# 2059| Type = [Struct] TernaryPodObj +# 2059| ValueCategory = lvalue +# 2059| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2059| Type = [Struct] TernaryPodObj +# 2059| ValueCategory = prvalue(load) +# 2060| getStmt(4): [ReturnStmt] return ... +# 2062| [CopyAssignmentOperator] TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) +# 2062| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const TernaryNonPodObj & #-----| getEntryPoint(): [BlockStmt] { ... } @@ -15983,2486 +16101,2551 @@ ir.cpp: #-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] TernaryNonPodObj & #-----| ValueCategory = prvalue -# 2015| [Constructor] void TernaryNonPodObj::TernaryNonPodObj() -# 2015| : -# 2015| : -# 2015| getEntryPoint(): [BlockStmt] { ... } -# 2015| getStmt(0): [ReturnStmt] return ... -# 2015| [CopyConstructor] void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) -# 2015| : +# 2062| [Constructor] void TernaryNonPodObj::TernaryNonPodObj() +# 2062| : +# 2062| : +# 2062| getEntryPoint(): [BlockStmt] { ... } +# 2062| getStmt(0): [ReturnStmt] return ... +# 2062| [CopyConstructor] void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) +# 2062| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2015| : -# 2015| getEntryPoint(): [BlockStmt] { ... } -# 2015| getStmt(0): [ReturnStmt] return ... -# 2016| [Destructor,VirtualFunction] void TernaryNonPodObj::~TernaryNonPodObj() -# 2016| : -# 2016| getEntryPoint(): [BlockStmt] { ... } -# 2016| getStmt(0): [ReturnStmt] return ... -# 2016| : -# 2019| [TopLevelFunction] void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) -# 2019| : -# 2019| getParameter(0): [Parameter] a -# 2019| Type = [BoolType] bool -# 2019| getParameter(1): [Parameter] x -# 2019| Type = [Struct] TernaryNonPodObj -# 2019| getParameter(2): [Parameter] y -# 2019| Type = [Struct] TernaryNonPodObj -# 2019| getParameter(3): [Parameter] z -# 2019| Type = [Struct] TernaryNonPodObj -# 2019| getEntryPoint(): [BlockStmt] { ... } -# 2020| getStmt(0): [ExprStmt] ExprStmt -# 2020| getExpr(): [FunctionCall] call to operator= -# 2020| Type = [LValueReferenceType] TernaryNonPodObj & -# 2020| ValueCategory = prvalue -# 2020| getQualifier(): [VariableAccess] z -# 2020| Type = [Struct] TernaryNonPodObj -# 2020| ValueCategory = lvalue -# 2020| getArgument(0): [ConditionalExpr] ... ? ... : ... -# 2020| Type = [Struct] TernaryNonPodObj -# 2020| ValueCategory = lvalue -# 2020| getCondition(): [VariableAccess] a -# 2020| Type = [BoolType] bool -# 2020| ValueCategory = prvalue(load) -# 2020| getThen(): [VariableAccess] x -# 2020| Type = [Struct] TernaryNonPodObj -# 2020| ValueCategory = lvalue -# 2020| getElse(): [VariableAccess] y -# 2020| Type = [Struct] TernaryNonPodObj -# 2020| ValueCategory = lvalue -# 2020| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2020| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2020| ValueCategory = prvalue -# 2020| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2020| Conversion = [GlvalueConversion] glvalue conversion -# 2020| Type = [SpecifiedType] const TernaryNonPodObj -# 2020| ValueCategory = lvalue -# 2020| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2020| Type = [Struct] TernaryNonPodObj -# 2020| ValueCategory = lvalue -# 2021| getStmt(1): [ExprStmt] ExprStmt -# 2021| getExpr(): [FunctionCall] call to operator= -# 2021| Type = [LValueReferenceType] TernaryNonPodObj & -# 2021| ValueCategory = prvalue -# 2021| getQualifier(): [VariableAccess] z -# 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = lvalue -# 2021| getArgument(0): [ConditionalExpr] ... ? ... : ... -# 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = prvalue -# 2021| getCondition(): [VariableAccess] a -# 2021| Type = [BoolType] bool -# 2021| ValueCategory = prvalue(load) -# 2021| getThen(): [ConstructorCall] call to TernaryNonPodObj -# 2021| Type = [VoidType] void -# 2021| ValueCategory = prvalue -# 2021| getArgument(0): [VariableAccess] x -# 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = lvalue -# 2021| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2021| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2021| ValueCategory = prvalue -# 2021| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2021| Conversion = [GlvalueConversion] glvalue conversion -# 2021| Type = [SpecifiedType] const TernaryNonPodObj -# 2021| ValueCategory = lvalue -# 2021| getElse(): [ConstructorCall] call to TernaryNonPodObj -# 2021| Type = [VoidType] void -# 2021| ValueCategory = prvalue -# 2021| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = prvalue(load) -# 2021| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = prvalue(load) -# 2021| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2021| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2021| ValueCategory = prvalue -# 2021| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2021| Conversion = [GlvalueConversion] glvalue conversion -# 2021| Type = [SpecifiedType] const TernaryNonPodObj -# 2021| ValueCategory = lvalue -# 2021| getExpr(): [TemporaryObjectExpr] temporary object -# 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = lvalue -# 2021| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = lvalue -# 2022| getStmt(2): [ExprStmt] ExprStmt -# 2022| getExpr(): [FunctionCall] call to operator= -# 2022| Type = [LValueReferenceType] TernaryNonPodObj & -# 2022| ValueCategory = prvalue -# 2022| getQualifier(): [VariableAccess] z -# 2022| Type = [Struct] TernaryNonPodObj -# 2022| ValueCategory = lvalue -# 2022| getArgument(0): [ConditionalExpr] ... ? ... : ... -# 2022| Type = [Struct] TernaryNonPodObj -# 2022| ValueCategory = prvalue -# 2022| getCondition(): [VariableAccess] a -# 2022| Type = [BoolType] bool -# 2022| ValueCategory = prvalue(load) -# 2022| getThen(): [ConstructorCall] call to TernaryNonPodObj -# 2022| Type = [VoidType] void -# 2022| ValueCategory = prvalue -# 2022| getElse(): [ConstructorCall] call to TernaryNonPodObj -# 2022| Type = [VoidType] void -# 2022| ValueCategory = prvalue -# 2022| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2022| Type = [Struct] TernaryNonPodObj -# 2022| ValueCategory = prvalue(load) -# 2022| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2022| Type = [Struct] TernaryNonPodObj -# 2022| ValueCategory = prvalue(load) -# 2022| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2022| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2022| ValueCategory = prvalue -# 2022| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2022| Conversion = [GlvalueConversion] glvalue conversion -# 2022| Type = [SpecifiedType] const TernaryNonPodObj -# 2022| ValueCategory = lvalue -# 2022| getExpr(): [TemporaryObjectExpr] temporary object -# 2022| Type = [Struct] TernaryNonPodObj -# 2022| ValueCategory = lvalue -# 2022| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2022| Type = [Struct] TernaryNonPodObj -# 2022| ValueCategory = lvalue -# 2023| getStmt(3): [ExprStmt] ExprStmt -# 2023| getExpr(): [FunctionCall] call to operator= -# 2023| Type = [LValueReferenceType] TernaryNonPodObj & -# 2023| ValueCategory = prvalue -# 2023| getQualifier(): [FunctionCall] call to operator= -# 2023| Type = [LValueReferenceType] TernaryNonPodObj & -# 2023| ValueCategory = prvalue -# 2023| getQualifier(): [VariableAccess] z -# 2023| Type = [Struct] TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getArgument(0): [ConditionalExpr] ... ? ... : ... -# 2023| Type = [Struct] TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getCondition(): [VariableAccess] a -# 2023| Type = [BoolType] bool -# 2023| ValueCategory = prvalue(load) -# 2023| getThen(): [VariableAccess] x -# 2023| Type = [Struct] TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getElse(): [VariableAccess] y -# 2023| Type = [Struct] TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2023| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2023| ValueCategory = prvalue -# 2023| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2023| Conversion = [GlvalueConversion] glvalue conversion -# 2023| Type = [SpecifiedType] const TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getArgument(0): [ConstructorCall] call to TernaryNonPodObj -# 2023| Type = [VoidType] void -# 2023| ValueCategory = prvalue -# 2023| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) -# 2023| Type = [Struct] TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2023| Type = [Struct] TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2023| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2023| ValueCategory = prvalue -# 2023| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2023| Conversion = [GlvalueConversion] glvalue conversion -# 2023| Type = [SpecifiedType] const TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getExpr(): [TemporaryObjectExpr] temporary object -# 2023| Type = [Struct] TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2023| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2023| Type = [Struct] TernaryNonPodObj -# 2023| ValueCategory = lvalue -# 2024| getStmt(4): [ReturnStmt] return ... -# 2026| [TopLevelFunction] void CommaTestHelper(unsigned int) -# 2026| : -# 2026| getParameter(0): [Parameter] (unnamed parameter 0) -# 2026| Type = [IntType] unsigned int -# 2028| [TopLevelFunction] unsigned int CommaTest(unsigned int) -# 2028| : -# 2028| getParameter(0): [Parameter] x -# 2028| Type = [IntType] unsigned int -# 2028| getEntryPoint(): [BlockStmt] { ... } -# 2029| getStmt(0): [DeclStmt] declaration -# 2029| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2029| Type = [IntType] unsigned int -# 2030| getStmt(1): [ExprStmt] ExprStmt -# 2030| getExpr(): [AssignExpr] ... = ... -# 2030| Type = [IntType] unsigned int -# 2030| ValueCategory = lvalue -# 2030| getLValue(): [VariableAccess] y -# 2030| Type = [IntType] unsigned int -# 2030| ValueCategory = lvalue -# 2030| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2030| Type = [IntType] unsigned int -# 2030| ValueCategory = prvalue(load) -# 2030| getCondition(): [LTExpr] ... < ... -# 2030| Type = [BoolType] bool -# 2030| ValueCategory = prvalue -# 2030| getLesserOperand(): [VariableAccess] x -# 2030| Type = [IntType] unsigned int -# 2030| ValueCategory = prvalue(load) -# 2030| getGreaterOperand(): [Literal] 100 -# 2030| Type = [IntType] int -# 2030| Value = [Literal] 100 -# 2030| ValueCategory = prvalue -# 2030| getGreaterOperand().getFullyConverted(): [CStyleCast] (unsigned int)... -# 2030| Conversion = [IntegralConversion] integral conversion -# 2030| Type = [IntType] unsigned int -# 2030| Value = [CStyleCast] 100 -# 2030| ValueCategory = prvalue -# 2031| getThen(): [CommaExpr] ... , ... -# 2031| Type = [IntType] unsigned int -# 2031| ValueCategory = prvalue(load) -# 2031| getLeftOperand(): [FunctionCall] call to CommaTestHelper -# 2031| Type = [VoidType] void -# 2031| ValueCategory = prvalue -# 2031| getArgument(0): [VariableAccess] x -# 2031| Type = [IntType] unsigned int -# 2031| ValueCategory = prvalue(load) -# 2031| getRightOperand(): [VariableAccess] x -# 2031| Type = [IntType] unsigned int -# 2031| ValueCategory = prvalue(load) -# 2032| getElse(): [CommaExpr] ... , ... -# 2032| Type = [IntType] int -# 2032| ValueCategory = prvalue -# 2032| getLeftOperand(): [FunctionCall] call to CommaTestHelper -# 2032| Type = [VoidType] void -# 2032| ValueCategory = prvalue -# 2032| getArgument(0): [VariableAccess] x -# 2032| Type = [IntType] unsigned int -# 2032| ValueCategory = prvalue(load) -# 2032| getRightOperand(): [Literal] 10 -# 2032| Type = [IntType] int -# 2032| Value = [Literal] 10 -# 2032| ValueCategory = prvalue -# 2031| getThen().getFullyConverted(): [ParenthesisExpr] (...) -# 2031| Type = [IntType] unsigned int -# 2031| ValueCategory = prvalue(load) -# 2032| getElse().getFullyConverted(): [CStyleCast] (unsigned int)... -# 2032| Conversion = [IntegralConversion] integral conversion -# 2032| Type = [IntType] unsigned int -# 2032| ValueCategory = prvalue -# 2032| getExpr(): [ParenthesisExpr] (...) -# 2032| Type = [IntType] int -# 2032| ValueCategory = prvalue -# 2033| getStmt(2): [ReturnStmt] return ... -# 2035| [TopLevelFunction] void NewDeleteMem() -# 2035| : -# 2035| getEntryPoint(): [BlockStmt] { ... } -# 2036| getStmt(0): [DeclStmt] declaration -# 2036| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2036| Type = [IntPointerType] int * -# 2036| getVariable().getInitializer(): [Initializer] initializer for x -# 2036| getExpr(): [NewExpr] new -# 2036| Type = [IntPointerType] int * -# 2036| ValueCategory = prvalue -# 2037| getStmt(1): [ExprStmt] ExprStmt -# 2037| getExpr(): [AssignExpr] ... = ... -# 2037| Type = [IntType] int -# 2037| ValueCategory = lvalue -# 2037| getLValue(): [PointerDereferenceExpr] * ... -# 2037| Type = [IntType] int -# 2037| ValueCategory = lvalue -# 2037| getOperand(): [VariableAccess] x -# 2037| Type = [IntPointerType] int * -# 2037| ValueCategory = prvalue(load) -# 2037| getRValue(): [Literal] 6 -# 2037| Type = [IntType] int -# 2037| Value = [Literal] 6 -# 2037| ValueCategory = prvalue -# 2038| getStmt(2): [ExprStmt] ExprStmt -# 2038| getExpr(): [DeleteExpr] delete -# 2038| Type = [VoidType] void -# 2038| ValueCategory = prvalue -# 2038| getExpr(): [VariableAccess] x -# 2038| Type = [IntPointerType] int * -# 2038| ValueCategory = prvalue(load) -# 2039| getStmt(3): [ReturnStmt] return ... -# 2041| [CopyAssignmentOperator] Base2& Base2::operator=(Base2 const&) -# 2041| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const Base2 & -# 2041| [Constructor] void Base2::Base2() -# 2041| : -# 2041| : -# 2041| getEntryPoint(): [BlockStmt] { ... } -# 2041| getStmt(0): [ReturnStmt] return ... -# 2041| [CopyConstructor] void Base2::Base2(Base2 const&) -# 2041| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const Base2 & -# 2043| [MemberFunction] void Base2::operator delete(void*) -# 2043| : -# 2043| getParameter(0): [Parameter] p -# 2043| Type = [VoidPointerType] void * -# 2043| getEntryPoint(): [BlockStmt] { ... } -# 2044| getStmt(0): [ReturnStmt] return ... -# 2045| [Destructor,VirtualFunction] void Base2::~Base2() -# 2045| : -# 2045| getEntryPoint(): [BlockStmt] { ... } -# 2045| getStmt(0): [ReturnStmt] return ... -# 2045| : -# 2048| [CopyAssignmentOperator] Derived2& Derived2::operator=(Derived2 const&) -# 2048| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const Derived2 & -# 2048| [Constructor] void Derived2::Derived2() -# 2048| : -# 2048| : -# 2048| getInitializer(0): [ConstructorDirectInit] call to Base2 -# 2048| Type = [VoidType] void -# 2048| ValueCategory = prvalue -# 2048| getEntryPoint(): [BlockStmt] { ... } -# 2048| getStmt(0): [ReturnStmt] return ... -# 2048| [CopyConstructor] void Derived2::Derived2(Derived2 const&) -# 2048| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const Derived2 & -# 2051| [Destructor,VirtualFunction] void Derived2::~Derived2() -# 2051| : -# 2051| getEntryPoint(): [BlockStmt] { ... } -# 2051| getStmt(0): [ReturnStmt] return ... -# 2051| : -# 2051| getDestruction(0): [DestructorDirectDestruction] call to ~Base2 -# 2051| Type = [VoidType] void -# 2051| ValueCategory = prvalue -# 2053| [MemberFunction] void Derived2::operator delete(void*) -# 2053| : -# 2053| getParameter(0): [Parameter] p -# 2053| Type = [VoidPointerType] void * -# 2053| getEntryPoint(): [BlockStmt] { ... } -# 2054| getStmt(0): [ReturnStmt] return ... -# 2058| [TopLevelFunction] int virtual_delete() -# 2058| : -# 2059| getEntryPoint(): [BlockStmt] { ... } -# 2060| getStmt(0): [DeclStmt] declaration -# 2060| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b1 -# 2060| Type = [PointerType] Base2 * -# 2060| getVariable().getInitializer(): [Initializer] initializer for b1 -# 2060| getExpr(): [NewExpr] new -# 2060| Type = [PointerType] Base2 * -# 2060| ValueCategory = prvalue -# 2060| getInitializer(): [ConstructorCall] call to Base2 -# 2060| Type = [VoidType] void -# 2060| ValueCategory = prvalue -# 2061| getStmt(1): [ExprStmt] ExprStmt -# 2061| getExpr(): [DeleteExpr] delete -# 2061| Type = [VoidType] void -# 2061| ValueCategory = prvalue -# 2061| getDeallocatorCall(): [FunctionCall] call to operator delete -# 2061| Type = [VoidType] void -# 2061| ValueCategory = prvalue -# 2061| getDestructorCall(): [DestructorCall] call to ~Base2 -# 2061| Type = [VoidType] void -# 2061| ValueCategory = prvalue -# 2061| getQualifier(): [VariableAccess] b1 -# 2061| Type = [PointerType] Base2 * -# 2061| ValueCategory = prvalue(load) -# 2063| getStmt(2): [DeclStmt] declaration -# 2063| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b2 -# 2063| Type = [PointerType] Base2 * -# 2063| getVariable().getInitializer(): [Initializer] initializer for b2 -# 2063| getExpr(): [NewExpr] new -# 2063| Type = [PointerType] Derived2 * -# 2063| ValueCategory = prvalue -# 2063| getInitializer(): [ConstructorCall] call to Derived2 -# 2063| Type = [VoidType] void -# 2063| ValueCategory = prvalue -# 2063| getExpr().getFullyConverted(): [CStyleCast] (Base2 *)... -# 2063| Conversion = [BaseClassConversion] base class conversion -# 2063| Type = [PointerType] Base2 * -# 2063| ValueCategory = prvalue -# 2064| getStmt(3): [ExprStmt] ExprStmt -# 2064| getExpr(): [DeleteExpr] delete -# 2064| Type = [VoidType] void -# 2064| ValueCategory = prvalue -# 2064| getDeallocatorCall(): [FunctionCall] call to operator delete -# 2064| Type = [VoidType] void -# 2064| ValueCategory = prvalue -# 2064| getDestructorCall(): [DestructorCall] call to ~Base2 -# 2064| Type = [VoidType] void -# 2064| ValueCategory = prvalue -# 2064| getQualifier(): [VariableAccess] b2 -# 2064| Type = [PointerType] Base2 * -# 2064| ValueCategory = prvalue(load) -# 2066| getStmt(4): [DeclStmt] declaration -# 2066| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 2066| Type = [PointerType] Derived2 * -# 2066| getVariable().getInitializer(): [Initializer] initializer for d -# 2066| getExpr(): [NewExpr] new -# 2066| Type = [PointerType] Derived2 * -# 2066| ValueCategory = prvalue -# 2066| getInitializer(): [ConstructorCall] call to Derived2 -# 2066| Type = [VoidType] void -# 2066| ValueCategory = prvalue -# 2067| getStmt(5): [ExprStmt] ExprStmt -# 2067| getExpr(): [DeleteExpr] delete -# 2067| Type = [VoidType] void +# 2062| : +# 2062| getEntryPoint(): [BlockStmt] { ... } +# 2062| getStmt(0): [ReturnStmt] return ... +# 2063| [Destructor,VirtualFunction] void TernaryNonPodObj::~TernaryNonPodObj() +# 2063| : +# 2063| getEntryPoint(): [BlockStmt] { ... } +# 2063| getStmt(0): [ReturnStmt] return ... +# 2063| : +# 2066| [TopLevelFunction] void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) +# 2066| : +# 2066| getParameter(0): [Parameter] a +# 2066| Type = [BoolType] bool +# 2066| getParameter(1): [Parameter] x +# 2066| Type = [Struct] TernaryNonPodObj +# 2066| getParameter(2): [Parameter] y +# 2066| Type = [Struct] TernaryNonPodObj +# 2066| getParameter(3): [Parameter] z +# 2066| Type = [Struct] TernaryNonPodObj +# 2066| getEntryPoint(): [BlockStmt] { ... } +# 2067| getStmt(0): [ExprStmt] ExprStmt +# 2067| getExpr(): [FunctionCall] call to operator= +# 2067| Type = [LValueReferenceType] TernaryNonPodObj & # 2067| ValueCategory = prvalue -# 2067| getDeallocatorCall(): [FunctionCall] call to operator delete -# 2067| Type = [VoidType] void -# 2067| ValueCategory = prvalue -# 2067| getDestructorCall(): [DestructorCall] call to ~Derived2 -# 2067| Type = [VoidType] void -# 2067| ValueCategory = prvalue -# 2067| getQualifier(): [VariableAccess] d -# 2067| Type = [PointerType] Derived2 * +# 2067| getQualifier(): [VariableAccess] z +# 2067| Type = [Struct] TernaryNonPodObj +# 2067| ValueCategory = lvalue +# 2067| getArgument(0): [ConditionalExpr] ... ? ... : ... +# 2067| Type = [Struct] TernaryNonPodObj +# 2067| ValueCategory = lvalue +# 2067| getCondition(): [VariableAccess] a +# 2067| Type = [BoolType] bool # 2067| ValueCategory = prvalue(load) -# 2068| getStmt(6): [ReturnStmt] return ... -# 2070| [TopLevelFunction] void test_constant_folding_use(int) -# 2070| : -# 2070| getParameter(0): [Parameter] (unnamed parameter 0) -# 2070| Type = [IntType] int -# 2072| [TopLevelFunction] void test_constant_folding() -# 2072| : -# 2072| getEntryPoint(): [BlockStmt] { ... } -# 2073| getStmt(0): [DeclStmt] declaration -# 2073| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2073| Type = [SpecifiedType] const int -# 2073| getVariable().getInitializer(): [Initializer] initializer for x -# 2073| getExpr(): [Literal] 116 -# 2073| Type = [IntType] int -# 2073| Value = [Literal] 116 -# 2073| ValueCategory = prvalue -# 2074| getStmt(1): [ExprStmt] ExprStmt -# 2074| getExpr(): [FunctionCall] call to test_constant_folding_use -# 2074| Type = [VoidType] void -# 2074| ValueCategory = prvalue -# 2074| getArgument(0): [VariableAccess] x -# 2074| Type = [IntType] int -# 2074| Value = [VariableAccess] 116 -# 2074| ValueCategory = prvalue(load) -# 2075| getStmt(2): [ReturnStmt] return ... -# 2077| [TopLevelFunction] void exit(int) -# 2077| : -# 2077| getParameter(0): [Parameter] code -# 2077| Type = [IntType] int -# 2079| [TopLevelFunction] int NonExit() -# 2079| : -# 2079| getEntryPoint(): [BlockStmt] { ... } -# 2080| getStmt(0): [DeclStmt] declaration -# 2080| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2080| Type = [IntType] int -# 2080| getVariable().getInitializer(): [Initializer] initializer for x -# 2080| getExpr(): [FunctionCall] call to Add -# 2080| Type = [IntType] int -# 2080| ValueCategory = prvalue -# 2080| getArgument(0): [Literal] 3 -# 2080| Type = [IntType] int -# 2080| Value = [Literal] 3 -# 2080| ValueCategory = prvalue -# 2080| getArgument(1): [Literal] 4 -# 2080| Type = [IntType] int -# 2080| Value = [Literal] 4 -# 2080| ValueCategory = prvalue -# 2081| getStmt(1): [IfStmt] if (...) ... -# 2081| getCondition(): [EQExpr] ... == ... -# 2081| Type = [BoolType] bool -# 2081| ValueCategory = prvalue -# 2081| getLeftOperand(): [VariableAccess] x -# 2081| Type = [IntType] int -# 2081| ValueCategory = prvalue(load) -# 2081| getRightOperand(): [Literal] 7 -# 2081| Type = [IntType] int -# 2081| Value = [Literal] 7 -# 2081| ValueCategory = prvalue -# 2082| getThen(): [ExprStmt] ExprStmt -# 2082| getExpr(): [FunctionCall] call to exit -# 2082| Type = [VoidType] void -# 2082| ValueCategory = prvalue -# 2082| getArgument(0): [Literal] 3 -# 2082| Type = [IntType] int -# 2082| Value = [Literal] 3 -# 2082| ValueCategory = prvalue -# 2083| getStmt(2): [ExprStmt] ExprStmt -# 2083| getExpr(): [FunctionCall] call to VoidFunc -# 2083| Type = [VoidType] void -# 2083| ValueCategory = prvalue -# 2084| getStmt(3): [ReturnStmt] return ... -# 2084| getExpr(): [VariableAccess] x +# 2067| getThen(): [VariableAccess] x +# 2067| Type = [Struct] TernaryNonPodObj +# 2067| ValueCategory = lvalue +# 2067| getElse(): [VariableAccess] y +# 2067| Type = [Struct] TernaryNonPodObj +# 2067| ValueCategory = lvalue +# 2067| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2067| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2067| ValueCategory = prvalue +# 2067| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2067| Conversion = [GlvalueConversion] glvalue conversion +# 2067| Type = [SpecifiedType] const TernaryNonPodObj +# 2067| ValueCategory = lvalue +# 2067| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2067| Type = [Struct] TernaryNonPodObj +# 2067| ValueCategory = lvalue +# 2068| getStmt(1): [ExprStmt] ExprStmt +# 2068| getExpr(): [FunctionCall] call to operator= +# 2068| Type = [LValueReferenceType] TernaryNonPodObj & +# 2068| ValueCategory = prvalue +# 2068| getQualifier(): [VariableAccess] z +# 2068| Type = [Struct] TernaryNonPodObj +# 2068| ValueCategory = lvalue +# 2068| getArgument(0): [ConditionalExpr] ... ? ... : ... +# 2068| Type = [Struct] TernaryNonPodObj +# 2068| ValueCategory = prvalue +# 2068| getCondition(): [VariableAccess] a +# 2068| Type = [BoolType] bool +# 2068| ValueCategory = prvalue(load) +# 2068| getThen(): [ConstructorCall] call to TernaryNonPodObj +# 2068| Type = [VoidType] void +# 2068| ValueCategory = prvalue +# 2068| getArgument(0): [VariableAccess] x +# 2068| Type = [Struct] TernaryNonPodObj +# 2068| ValueCategory = lvalue +# 2068| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2068| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2068| ValueCategory = prvalue +# 2068| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2068| Conversion = [GlvalueConversion] glvalue conversion +# 2068| Type = [SpecifiedType] const TernaryNonPodObj +# 2068| ValueCategory = lvalue +# 2068| getElse(): [ConstructorCall] call to TernaryNonPodObj +# 2068| Type = [VoidType] void +# 2068| ValueCategory = prvalue +# 2068| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2068| Type = [Struct] TernaryNonPodObj +# 2068| ValueCategory = prvalue(load) +# 2068| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2068| Type = [Struct] TernaryNonPodObj +# 2068| ValueCategory = prvalue(load) +# 2068| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2068| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2068| ValueCategory = prvalue +# 2068| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2068| Conversion = [GlvalueConversion] glvalue conversion +# 2068| Type = [SpecifiedType] const TernaryNonPodObj +# 2068| ValueCategory = lvalue +# 2068| getExpr(): [TemporaryObjectExpr] temporary object +# 2068| Type = [Struct] TernaryNonPodObj +# 2068| ValueCategory = lvalue +# 2068| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2068| Type = [Struct] TernaryNonPodObj +# 2068| ValueCategory = lvalue +# 2069| getStmt(2): [ExprStmt] ExprStmt +# 2069| getExpr(): [FunctionCall] call to operator= +# 2069| Type = [LValueReferenceType] TernaryNonPodObj & +# 2069| ValueCategory = prvalue +# 2069| getQualifier(): [VariableAccess] z +# 2069| Type = [Struct] TernaryNonPodObj +# 2069| ValueCategory = lvalue +# 2069| getArgument(0): [ConditionalExpr] ... ? ... : ... +# 2069| Type = [Struct] TernaryNonPodObj +# 2069| ValueCategory = prvalue +# 2069| getCondition(): [VariableAccess] a +# 2069| Type = [BoolType] bool +# 2069| ValueCategory = prvalue(load) +# 2069| getThen(): [ConstructorCall] call to TernaryNonPodObj +# 2069| Type = [VoidType] void +# 2069| ValueCategory = prvalue +# 2069| getElse(): [ConstructorCall] call to TernaryNonPodObj +# 2069| Type = [VoidType] void +# 2069| ValueCategory = prvalue +# 2069| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2069| Type = [Struct] TernaryNonPodObj +# 2069| ValueCategory = prvalue(load) +# 2069| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2069| Type = [Struct] TernaryNonPodObj +# 2069| ValueCategory = prvalue(load) +# 2069| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2069| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2069| ValueCategory = prvalue +# 2069| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2069| Conversion = [GlvalueConversion] glvalue conversion +# 2069| Type = [SpecifiedType] const TernaryNonPodObj +# 2069| ValueCategory = lvalue +# 2069| getExpr(): [TemporaryObjectExpr] temporary object +# 2069| Type = [Struct] TernaryNonPodObj +# 2069| ValueCategory = lvalue +# 2069| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2069| Type = [Struct] TernaryNonPodObj +# 2069| ValueCategory = lvalue +# 2070| getStmt(3): [ExprStmt] ExprStmt +# 2070| getExpr(): [FunctionCall] call to operator= +# 2070| Type = [LValueReferenceType] TernaryNonPodObj & +# 2070| ValueCategory = prvalue +# 2070| getQualifier(): [FunctionCall] call to operator= +# 2070| Type = [LValueReferenceType] TernaryNonPodObj & +# 2070| ValueCategory = prvalue +# 2070| getQualifier(): [VariableAccess] z +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getArgument(0): [ConditionalExpr] ... ? ... : ... +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getCondition(): [VariableAccess] a +# 2070| Type = [BoolType] bool +# 2070| ValueCategory = prvalue(load) +# 2070| getThen(): [VariableAccess] x +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getElse(): [VariableAccess] y +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2070| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2070| ValueCategory = prvalue +# 2070| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2070| Conversion = [GlvalueConversion] glvalue conversion +# 2070| Type = [SpecifiedType] const TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getArgument(0): [ConstructorCall] call to TernaryNonPodObj +# 2070| Type = [VoidType] void +# 2070| ValueCategory = prvalue +# 2070| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2070| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2070| ValueCategory = prvalue +# 2070| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2070| Conversion = [GlvalueConversion] glvalue conversion +# 2070| Type = [SpecifiedType] const TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getExpr(): [TemporaryObjectExpr] temporary object +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2070| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2070| Type = [Struct] TernaryNonPodObj +# 2070| ValueCategory = lvalue +# 2071| getStmt(4): [ReturnStmt] return ... +# 2073| [TopLevelFunction] void CommaTestHelper(unsigned int) +# 2073| : +# 2073| getParameter(0): [Parameter] (unnamed parameter 0) +# 2073| Type = [IntType] unsigned int +# 2075| [TopLevelFunction] unsigned int CommaTest(unsigned int) +# 2075| : +# 2075| getParameter(0): [Parameter] x +# 2075| Type = [IntType] unsigned int +# 2075| getEntryPoint(): [BlockStmt] { ... } +# 2076| getStmt(0): [DeclStmt] declaration +# 2076| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2076| Type = [IntType] unsigned int +# 2077| getStmt(1): [ExprStmt] ExprStmt +# 2077| getExpr(): [AssignExpr] ... = ... +# 2077| Type = [IntType] unsigned int +# 2077| ValueCategory = lvalue +# 2077| getLValue(): [VariableAccess] y +# 2077| Type = [IntType] unsigned int +# 2077| ValueCategory = lvalue +# 2077| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2077| Type = [IntType] unsigned int +# 2077| ValueCategory = prvalue(load) +# 2077| getCondition(): [LTExpr] ... < ... +# 2077| Type = [BoolType] bool +# 2077| ValueCategory = prvalue +# 2077| getLesserOperand(): [VariableAccess] x +# 2077| Type = [IntType] unsigned int +# 2077| ValueCategory = prvalue(load) +# 2077| getGreaterOperand(): [Literal] 100 +# 2077| Type = [IntType] int +# 2077| Value = [Literal] 100 +# 2077| ValueCategory = prvalue +# 2077| getGreaterOperand().getFullyConverted(): [CStyleCast] (unsigned int)... +# 2077| Conversion = [IntegralConversion] integral conversion +# 2077| Type = [IntType] unsigned int +# 2077| Value = [CStyleCast] 100 +# 2077| ValueCategory = prvalue +# 2078| getThen(): [CommaExpr] ... , ... +# 2078| Type = [IntType] unsigned int +# 2078| ValueCategory = prvalue(load) +# 2078| getLeftOperand(): [FunctionCall] call to CommaTestHelper +# 2078| Type = [VoidType] void +# 2078| ValueCategory = prvalue +# 2078| getArgument(0): [VariableAccess] x +# 2078| Type = [IntType] unsigned int +# 2078| ValueCategory = prvalue(load) +# 2078| getRightOperand(): [VariableAccess] x +# 2078| Type = [IntType] unsigned int +# 2078| ValueCategory = prvalue(load) +# 2079| getElse(): [CommaExpr] ... , ... +# 2079| Type = [IntType] int +# 2079| ValueCategory = prvalue +# 2079| getLeftOperand(): [FunctionCall] call to CommaTestHelper +# 2079| Type = [VoidType] void +# 2079| ValueCategory = prvalue +# 2079| getArgument(0): [VariableAccess] x +# 2079| Type = [IntType] unsigned int +# 2079| ValueCategory = prvalue(load) +# 2079| getRightOperand(): [Literal] 10 +# 2079| Type = [IntType] int +# 2079| Value = [Literal] 10 +# 2079| ValueCategory = prvalue +# 2078| getThen().getFullyConverted(): [ParenthesisExpr] (...) +# 2078| Type = [IntType] unsigned int +# 2078| ValueCategory = prvalue(load) +# 2079| getElse().getFullyConverted(): [CStyleCast] (unsigned int)... +# 2079| Conversion = [IntegralConversion] integral conversion +# 2079| Type = [IntType] unsigned int +# 2079| ValueCategory = prvalue +# 2079| getExpr(): [ParenthesisExpr] (...) +# 2079| Type = [IntType] int +# 2079| ValueCategory = prvalue +# 2080| getStmt(2): [ReturnStmt] return ... +# 2082| [TopLevelFunction] void NewDeleteMem() +# 2082| : +# 2082| getEntryPoint(): [BlockStmt] { ... } +# 2083| getStmt(0): [DeclStmt] declaration +# 2083| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2083| Type = [IntPointerType] int * +# 2083| getVariable().getInitializer(): [Initializer] initializer for x +# 2083| getExpr(): [NewExpr] new +# 2083| Type = [IntPointerType] int * +# 2083| ValueCategory = prvalue +# 2084| getStmt(1): [ExprStmt] ExprStmt +# 2084| getExpr(): [AssignExpr] ... = ... # 2084| Type = [IntType] int -# 2084| ValueCategory = prvalue(load) -# 2087| [TopLevelFunction] void CallsNonExit() -# 2087| : -# 2087| getEntryPoint(): [BlockStmt] { ... } -# 2088| getStmt(0): [ExprStmt] ExprStmt -# 2088| getExpr(): [FunctionCall] call to VoidFunc -# 2088| Type = [VoidType] void -# 2088| ValueCategory = prvalue -# 2089| getStmt(1): [ExprStmt] ExprStmt -# 2089| getExpr(): [FunctionCall] call to exit -# 2089| Type = [VoidType] void -# 2089| ValueCategory = prvalue -# 2089| getArgument(0): [Literal] 3 -# 2089| Type = [IntType] int -# 2089| Value = [Literal] 3 -# 2089| ValueCategory = prvalue -# 2090| getStmt(2): [ReturnStmt] return ... -# 2092| [TopLevelFunction] int TransNonExit() +# 2084| ValueCategory = lvalue +# 2084| getLValue(): [PointerDereferenceExpr] * ... +# 2084| Type = [IntType] int +# 2084| ValueCategory = lvalue +# 2084| getOperand(): [VariableAccess] x +# 2084| Type = [IntPointerType] int * +# 2084| ValueCategory = prvalue(load) +# 2084| getRValue(): [Literal] 6 +# 2084| Type = [IntType] int +# 2084| Value = [Literal] 6 +# 2084| ValueCategory = prvalue +# 2085| getStmt(2): [ExprStmt] ExprStmt +# 2085| getExpr(): [DeleteExpr] delete +# 2085| Type = [VoidType] void +# 2085| ValueCategory = prvalue +# 2085| getExpr(): [VariableAccess] x +# 2085| Type = [IntPointerType] int * +# 2085| ValueCategory = prvalue(load) +# 2086| getStmt(3): [ReturnStmt] return ... +# 2088| [CopyAssignmentOperator] Base2& Base2::operator=(Base2 const&) +# 2088| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const Base2 & +# 2088| [Constructor] void Base2::Base2() +# 2088| : +# 2088| : +# 2088| getEntryPoint(): [BlockStmt] { ... } +# 2088| getStmt(0): [ReturnStmt] return ... +# 2088| [CopyConstructor] void Base2::Base2(Base2 const&) +# 2088| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const Base2 & +# 2090| [MemberFunction] void Base2::operator delete(void*) +# 2090| : +# 2090| getParameter(0): [Parameter] p +# 2090| Type = [VoidPointerType] void * +# 2090| getEntryPoint(): [BlockStmt] { ... } +# 2091| getStmt(0): [ReturnStmt] return ... +# 2092| [Destructor,VirtualFunction] void Base2::~Base2() # 2092| : # 2092| getEntryPoint(): [BlockStmt] { ... } -# 2093| getStmt(0): [DeclStmt] declaration -# 2093| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2093| Type = [IntType] int -# 2093| getVariable().getInitializer(): [Initializer] initializer for x -# 2093| getExpr(): [FunctionCall] call to Add -# 2093| Type = [IntType] int -# 2093| ValueCategory = prvalue -# 2093| getArgument(0): [Literal] 3 -# 2093| Type = [IntType] int -# 2093| Value = [Literal] 3 -# 2093| ValueCategory = prvalue -# 2093| getArgument(1): [Literal] 4 -# 2093| Type = [IntType] int -# 2093| Value = [Literal] 4 -# 2093| ValueCategory = prvalue -# 2094| getStmt(1): [IfStmt] if (...) ... -# 2094| getCondition(): [EQExpr] ... == ... -# 2094| Type = [BoolType] bool -# 2094| ValueCategory = prvalue -# 2094| getLeftOperand(): [VariableAccess] x -# 2094| Type = [IntType] int -# 2094| ValueCategory = prvalue(load) -# 2094| getRightOperand(): [Literal] 7 -# 2094| Type = [IntType] int -# 2094| Value = [Literal] 7 -# 2094| ValueCategory = prvalue -# 2095| getThen(): [ExprStmt] ExprStmt -# 2095| getExpr(): [FunctionCall] call to CallsNonExit -# 2095| Type = [VoidType] void -# 2095| ValueCategory = prvalue -# 2096| getStmt(2): [ExprStmt] ExprStmt -# 2096| getExpr(): [FunctionCall] call to VoidFunc -# 2096| Type = [VoidType] void -# 2096| ValueCategory = prvalue -# 2097| getStmt(3): [ReturnStmt] return ... -# 2097| getExpr(): [VariableAccess] x -# 2097| Type = [IntType] int -# 2097| ValueCategory = prvalue(load) -# 2100| [TopLevelFunction] void newArrayCorrectType(size_t) +# 2092| getStmt(0): [ReturnStmt] return ... +# 2092| : +# 2095| [CopyAssignmentOperator] Derived2& Derived2::operator=(Derived2 const&) +# 2095| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const Derived2 & +# 2095| [Constructor] void Derived2::Derived2() +# 2095| : +# 2095| : +# 2095| getInitializer(0): [ConstructorDirectInit] call to Base2 +# 2095| Type = [VoidType] void +# 2095| ValueCategory = prvalue +# 2095| getEntryPoint(): [BlockStmt] { ... } +# 2095| getStmt(0): [ReturnStmt] return ... +# 2095| [CopyConstructor] void Derived2::Derived2(Derived2 const&) +# 2095| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const Derived2 & +# 2098| [Destructor,VirtualFunction] void Derived2::~Derived2() +# 2098| : +# 2098| getEntryPoint(): [BlockStmt] { ... } +# 2098| getStmt(0): [ReturnStmt] return ... +# 2098| : +# 2098| getDestruction(0): [DestructorDirectDestruction] call to ~Base2 +# 2098| Type = [VoidType] void +# 2098| ValueCategory = prvalue +# 2100| [MemberFunction] void Derived2::operator delete(void*) # 2100| : -# 2100| getParameter(0): [Parameter] n -# 2100| Type = [CTypedefType,Size_t] size_t +# 2100| getParameter(0): [Parameter] p +# 2100| Type = [VoidPointerType] void * # 2100| getEntryPoint(): [BlockStmt] { ... } -# 2101| getStmt(0): [ExprStmt] ExprStmt -# 2101| getExpr(): [NewArrayExpr] new[] -# 2101| Type = [IntPointerType] int * -# 2101| ValueCategory = prvalue -# 2101| getExtent(): [VariableAccess] n -# 2101| Type = [CTypedefType,Size_t] size_t -# 2101| ValueCategory = prvalue(load) -# 2102| getStmt(1): [ExprStmt] ExprStmt -# 2102| getExpr(): [NewArrayExpr] new[] -# 2102| Type = [IntPointerType] int * -# 2102| ValueCategory = prvalue -# 2102| getAllocatorCall(): [FunctionCall] call to operator new[] -# 2102| Type = [VoidPointerType] void * -# 2102| ValueCategory = prvalue -# 2102| getArgument(0): [ErrorExpr] -# 2102| Type = [LongType] unsigned long -# 2102| ValueCategory = prvalue -# 2102| getArgument(1): [Literal] 1.0 -# 2102| Type = [FloatType] float -# 2102| Value = [Literal] 1.0 -# 2102| ValueCategory = prvalue -# 2102| getExtent(): [VariableAccess] n -# 2102| Type = [CTypedefType,Size_t] size_t -# 2102| ValueCategory = prvalue(load) -# 2103| getStmt(2): [ExprStmt] ExprStmt -# 2103| getExpr(): [NewArrayExpr] new[] -# 2103| Type = [PointerType] String * -# 2103| ValueCategory = prvalue -# 2103| getInitializer(): [ArrayAggregateLiteral] {...} -# 2103| Type = [ArrayType] String[] -# 2103| ValueCategory = prvalue -# 2103| getAnElementExpr(0): [ConstructorCall] call to String -# 2103| Type = [VoidType] void -# 2103| ValueCategory = prvalue -# 2103| getExtent(): [VariableAccess] n -# 2103| Type = [CTypedefType,Size_t] size_t -# 2103| ValueCategory = prvalue(load) -# 2104| getStmt(3): [ExprStmt] ExprStmt -# 2104| getExpr(): [NewArrayExpr] new[] -# 2104| Type = [PointerType] Overaligned * -# 2104| ValueCategory = prvalue -# 2104| getExtent(): [VariableAccess] n -# 2104| Type = [CTypedefType,Size_t] size_t -# 2104| ValueCategory = prvalue(load) -# 2104| getAlignmentArgument(): [Literal] 128 -# 2104| Type = [ScopedEnum] align_val_t -# 2104| Value = [Literal] 128 -# 2104| ValueCategory = prvalue -# 2105| getStmt(4): [ExprStmt] ExprStmt -# 2105| getExpr(): [NewArrayExpr] new[] -# 2105| Type = [PointerType] DefaultCtorWithDefaultParam * -# 2105| ValueCategory = prvalue -# 2105| getInitializer(): [ArrayAggregateLiteral] {...} -# 2105| Type = [ArrayType] DefaultCtorWithDefaultParam[] -# 2105| ValueCategory = prvalue -# 2105| getAnElementExpr(0): [ConstructorCall] call to DefaultCtorWithDefaultParam -# 2105| Type = [VoidType] void -# 2105| ValueCategory = prvalue -# 2105| getExtent(): [VariableAccess] n -# 2105| Type = [CTypedefType,Size_t] size_t -# 2105| ValueCategory = prvalue(load) -# 2106| getStmt(5): [ExprStmt] ExprStmt -# 2106| getExpr(): [NewArrayExpr] new[] -# 2106| Type = [IntPointerType] int * -# 2106| ValueCategory = prvalue -# 2106| getInitializer(): [ArrayAggregateLiteral] {...} -# 2106| Type = [ArrayType] int[3] -# 2106| ValueCategory = prvalue -# 2106| getAnElementExpr(0): [Literal] 0 -# 2106| Type = [IntType] int -# 2106| Value = [Literal] 0 -# 2106| ValueCategory = prvalue -# 2106| getAnElementExpr(1): [Literal] 1 -# 2106| Type = [IntType] int -# 2106| Value = [Literal] 1 -# 2106| ValueCategory = prvalue -# 2106| getAnElementExpr(2): [Literal] 2 -# 2106| Type = [IntType] int -# 2106| Value = [Literal] 2 -# 2106| ValueCategory = prvalue -# 2106| getExtent(): [VariableAccess] n -# 2106| Type = [CTypedefType,Size_t] size_t -# 2106| ValueCategory = prvalue(load) -# 2107| getStmt(6): [ReturnStmt] return ... -# 2109| [TopLevelFunction] double strtod(char const*, char**) -# 2109| : -# 2109| getParameter(0): [Parameter] str -# 2109| Type = [PointerType] const char * -# 2109| getParameter(1): [Parameter] endptr -# 2109| Type = [PointerType] char ** -# 2111| [TopLevelFunction] char* test_strtod(char*) -# 2111| : -# 2111| getParameter(0): [Parameter] s -# 2111| Type = [CharPointerType] char * -# 2111| getEntryPoint(): [BlockStmt] { ... } -# 2112| getStmt(0): [DeclStmt] declaration -# 2112| getDeclarationEntry(0): [VariableDeclarationEntry] definition of end -# 2112| Type = [CharPointerType] char * -# 2113| getStmt(1): [DeclStmt] declaration +# 2101| getStmt(0): [ReturnStmt] return ... +# 2105| [TopLevelFunction] int virtual_delete() +# 2105| : +# 2106| getEntryPoint(): [BlockStmt] { ... } +# 2107| getStmt(0): [DeclStmt] declaration +# 2107| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b1 +# 2107| Type = [PointerType] Base2 * +# 2107| getVariable().getInitializer(): [Initializer] initializer for b1 +# 2107| getExpr(): [NewExpr] new +# 2107| Type = [PointerType] Base2 * +# 2107| ValueCategory = prvalue +# 2107| getInitializer(): [ConstructorCall] call to Base2 +# 2107| Type = [VoidType] void +# 2107| ValueCategory = prvalue +# 2108| getStmt(1): [ExprStmt] ExprStmt +# 2108| getExpr(): [DeleteExpr] delete +# 2108| Type = [VoidType] void +# 2108| ValueCategory = prvalue +# 2108| getDeallocatorCall(): [FunctionCall] call to operator delete +# 2108| Type = [VoidType] void +# 2108| ValueCategory = prvalue +# 2108| getDestructorCall(): [DestructorCall] call to ~Base2 +# 2108| Type = [VoidType] void +# 2108| ValueCategory = prvalue +# 2108| getQualifier(): [VariableAccess] b1 +# 2108| Type = [PointerType] Base2 * +# 2108| ValueCategory = prvalue(load) +# 2110| getStmt(2): [DeclStmt] declaration +# 2110| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b2 +# 2110| Type = [PointerType] Base2 * +# 2110| getVariable().getInitializer(): [Initializer] initializer for b2 +# 2110| getExpr(): [NewExpr] new +# 2110| Type = [PointerType] Derived2 * +# 2110| ValueCategory = prvalue +# 2110| getInitializer(): [ConstructorCall] call to Derived2 +# 2110| Type = [VoidType] void +# 2110| ValueCategory = prvalue +# 2110| getExpr().getFullyConverted(): [CStyleCast] (Base2 *)... +# 2110| Conversion = [BaseClassConversion] base class conversion +# 2110| Type = [PointerType] Base2 * +# 2110| ValueCategory = prvalue +# 2111| getStmt(3): [ExprStmt] ExprStmt +# 2111| getExpr(): [DeleteExpr] delete +# 2111| Type = [VoidType] void +# 2111| ValueCategory = prvalue +# 2111| getDeallocatorCall(): [FunctionCall] call to operator delete +# 2111| Type = [VoidType] void +# 2111| ValueCategory = prvalue +# 2111| getDestructorCall(): [DestructorCall] call to ~Base2 +# 2111| Type = [VoidType] void +# 2111| ValueCategory = prvalue +# 2111| getQualifier(): [VariableAccess] b2 +# 2111| Type = [PointerType] Base2 * +# 2111| ValueCategory = prvalue(load) +# 2113| getStmt(4): [DeclStmt] declaration # 2113| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 2113| Type = [DoubleType] double +# 2113| Type = [PointerType] Derived2 * # 2113| getVariable().getInitializer(): [Initializer] initializer for d -# 2113| getExpr(): [FunctionCall] call to strtod -# 2113| Type = [DoubleType] double +# 2113| getExpr(): [NewExpr] new +# 2113| Type = [PointerType] Derived2 * # 2113| ValueCategory = prvalue -# 2113| getArgument(0): [VariableAccess] s -# 2113| Type = [CharPointerType] char * -# 2113| ValueCategory = prvalue(load) -# 2113| getArgument(1): [AddressOfExpr] & ... -# 2113| Type = [PointerType] char ** +# 2113| getInitializer(): [ConstructorCall] call to Derived2 +# 2113| Type = [VoidType] void # 2113| ValueCategory = prvalue -# 2113| getOperand(): [VariableAccess] end -# 2113| Type = [CharPointerType] char * -# 2113| ValueCategory = lvalue -# 2113| getArgument(0).getFullyConverted(): [CStyleCast] (const char *)... -# 2113| Conversion = [PointerConversion] pointer conversion -# 2113| Type = [PointerType] const char * -# 2113| ValueCategory = prvalue -# 2114| getStmt(2): [ReturnStmt] return ... -# 2114| getExpr(): [VariableAccess] end -# 2114| Type = [CharPointerType] char * -# 2114| ValueCategory = prvalue(load) -# 2117| [CopyAssignmentOperator] HasOperatorBool& HasOperatorBool::operator=(HasOperatorBool const&) +# 2114| getStmt(5): [ExprStmt] ExprStmt +# 2114| getExpr(): [DeleteExpr] delete +# 2114| Type = [VoidType] void +# 2114| ValueCategory = prvalue +# 2114| getDeallocatorCall(): [FunctionCall] call to operator delete +# 2114| Type = [VoidType] void +# 2114| ValueCategory = prvalue +# 2114| getDestructorCall(): [DestructorCall] call to ~Derived2 +# 2114| Type = [VoidType] void +# 2114| ValueCategory = prvalue +# 2114| getQualifier(): [VariableAccess] d +# 2114| Type = [PointerType] Derived2 * +# 2114| ValueCategory = prvalue(load) +# 2115| getStmt(6): [ReturnStmt] return ... +# 2117| [TopLevelFunction] void test_constant_folding_use(int) # 2117| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const HasOperatorBool & -# 2117| [MoveAssignmentOperator] HasOperatorBool& HasOperatorBool::operator=(HasOperatorBool&&) -# 2117| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] HasOperatorBool && -# 2118| [ConversionOperator] bool HasOperatorBool::operator bool() -# 2118| : -# 2121| [TopLevelFunction] void call_as_child_of_ConditionDeclExpr() -# 2121| : -# 2121| getEntryPoint(): [BlockStmt] { ... } -# 2122| getStmt(0): [IfStmt] if (...) ... -# 2122| getCondition(): [ConditionDeclExpr] (condition decl) -# 2122| Type = [BoolType] bool -# 2122| ValueCategory = prvalue -# 2122| getChild(0): [FunctionCall] call to operator bool -# 2122| Type = [BoolType] bool -# 2122| ValueCategory = prvalue -# 2122| getQualifier(): [VariableAccess] b -# 2122| Type = [Struct] HasOperatorBool -# 2122| ValueCategory = prvalue(load) -# 2122| getThen(): [BlockStmt] { ... } -# 2123| getStmt(1): [ReturnStmt] return ... -# 2125| [CopyAssignmentOperator] ClassWithDestructor& ClassWithDestructor::operator=(ClassWithDestructor const&) -# 2125| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const ClassWithDestructor & -# 2125| [CopyConstructor] void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) -# 2125| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const ClassWithDestructor & -# 2125| : -# 2125| getInitializer(0): [ConstructorFieldInit] constructor init of field x -# 2125| Type = [CharPointerType] char * -# 2125| ValueCategory = prvalue -# 2125| getExpr(): [ReferenceFieldAccess] x -# 2125| Type = [CharPointerType] char * -# 2125| ValueCategory = prvalue(load) -# 2125| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 2125| Type = [LValueReferenceType] const ClassWithDestructor & -# 2125| ValueCategory = prvalue(load) -# 2125| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2125| Type = [SpecifiedType] const ClassWithDestructor -# 2125| ValueCategory = lvalue -# 2125| getEntryPoint(): [BlockStmt] { ... } -# 2125| getStmt(0): [ReturnStmt] return ... -# 2128| [Constructor] void ClassWithDestructor::ClassWithDestructor() -# 2128| : -# 2128| : -# 2128| getEntryPoint(): [BlockStmt] { ... } -# 2128| getStmt(0): [ExprStmt] ExprStmt -# 2128| getExpr(): [AssignExpr] ... = ... -# 2128| Type = [CharPointerType] char * -# 2128| ValueCategory = lvalue -# 2128| getLValue(): [ImplicitThisFieldAccess,PointerFieldAccess] x -# 2128| Type = [CharPointerType] char * -# 2128| ValueCategory = lvalue -# 2128| getQualifier(): [ThisExpr] this -# 2128| Type = [PointerType] ClassWithDestructor * -# 2128| ValueCategory = prvalue(load) -# 2128| getRValue(): [NewExpr] new -# 2128| Type = [CharPointerType] char * +# 2117| getParameter(0): [Parameter] (unnamed parameter 0) +# 2117| Type = [IntType] int +# 2119| [TopLevelFunction] void test_constant_folding() +# 2119| : +# 2119| getEntryPoint(): [BlockStmt] { ... } +# 2120| getStmt(0): [DeclStmt] declaration +# 2120| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2120| Type = [SpecifiedType] const int +# 2120| getVariable().getInitializer(): [Initializer] initializer for x +# 2120| getExpr(): [Literal] 116 +# 2120| Type = [IntType] int +# 2120| Value = [Literal] 116 +# 2120| ValueCategory = prvalue +# 2121| getStmt(1): [ExprStmt] ExprStmt +# 2121| getExpr(): [FunctionCall] call to test_constant_folding_use +# 2121| Type = [VoidType] void +# 2121| ValueCategory = prvalue +# 2121| getArgument(0): [VariableAccess] x +# 2121| Type = [IntType] int +# 2121| Value = [VariableAccess] 116 +# 2121| ValueCategory = prvalue(load) +# 2122| getStmt(2): [ReturnStmt] return ... +# 2124| [TopLevelFunction] void exit(int) +# 2124| : +# 2124| getParameter(0): [Parameter] code +# 2124| Type = [IntType] int +# 2126| [TopLevelFunction] int NonExit() +# 2126| : +# 2126| getEntryPoint(): [BlockStmt] { ... } +# 2127| getStmt(0): [DeclStmt] declaration +# 2127| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2127| Type = [IntType] int +# 2127| getVariable().getInitializer(): [Initializer] initializer for x +# 2127| getExpr(): [FunctionCall] call to Add +# 2127| Type = [IntType] int +# 2127| ValueCategory = prvalue +# 2127| getArgument(0): [Literal] 3 +# 2127| Type = [IntType] int +# 2127| Value = [Literal] 3 +# 2127| ValueCategory = prvalue +# 2127| getArgument(1): [Literal] 4 +# 2127| Type = [IntType] int +# 2127| Value = [Literal] 4 +# 2127| ValueCategory = prvalue +# 2128| getStmt(1): [IfStmt] if (...) ... +# 2128| getCondition(): [EQExpr] ... == ... +# 2128| Type = [BoolType] bool +# 2128| ValueCategory = prvalue +# 2128| getLeftOperand(): [VariableAccess] x +# 2128| Type = [IntType] int +# 2128| ValueCategory = prvalue(load) +# 2128| getRightOperand(): [Literal] 7 +# 2128| Type = [IntType] int +# 2128| Value = [Literal] 7 # 2128| ValueCategory = prvalue -# 2128| getStmt(1): [ReturnStmt] return ... -# 2129| [Destructor] void ClassWithDestructor::~ClassWithDestructor() -# 2129| : -# 2129| getEntryPoint(): [BlockStmt] { ... } -# 2129| getStmt(0): [ExprStmt] ExprStmt -# 2129| getExpr(): [DeleteExpr] delete -# 2129| Type = [VoidType] void -# 2129| ValueCategory = prvalue -# 2129| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] x -# 2129| Type = [CharPointerType] char * -# 2129| ValueCategory = prvalue(load) -# 2129| getQualifier(): [ThisExpr] this -# 2129| Type = [PointerType] ClassWithDestructor * -# 2129| ValueCategory = prvalue(load) -# 2129| getStmt(1): [ReturnStmt] return ... -# 2129| : -# 2131| [MemberFunction] void ClassWithDestructor::set_x(char) -# 2131| : -# 2131| getParameter(0): [Parameter] y -# 2131| Type = [PlainCharType] char -# 2131| getEntryPoint(): [BlockStmt] { ... } -# 2131| getStmt(0): [ExprStmt] ExprStmt -# 2131| getExpr(): [AssignExpr] ... = ... -# 2131| Type = [PlainCharType] char -# 2131| ValueCategory = lvalue -# 2131| getLValue(): [PointerDereferenceExpr] * ... -# 2131| Type = [PlainCharType] char -# 2131| ValueCategory = lvalue -# 2131| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] x -# 2131| Type = [CharPointerType] char * -# 2131| ValueCategory = prvalue(load) -# 2131| getQualifier(): [ThisExpr] this -# 2131| Type = [PointerType] ClassWithDestructor * -# 2131| ValueCategory = prvalue(load) -# 2131| getRValue(): [VariableAccess] y -# 2131| Type = [PlainCharType] char -# 2131| ValueCategory = prvalue(load) -# 2131| getStmt(1): [ReturnStmt] return ... -# 2132| [MemberFunction] char ClassWithDestructor::get_x() -# 2132| : -# 2132| getEntryPoint(): [BlockStmt] { ... } -# 2132| getStmt(0): [ReturnStmt] return ... -# 2132| getExpr(): [PointerDereferenceExpr] * ... -# 2132| Type = [PlainCharType] char -# 2132| ValueCategory = prvalue(load) -# 2132| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] x -# 2132| Type = [CharPointerType] char * -# 2132| ValueCategory = prvalue(load) -# 2132| getQualifier(): [ThisExpr] this -# 2132| Type = [PointerType] ClassWithDestructor * -# 2132| ValueCategory = prvalue(load) -# 2135| [GlobalVariable] bool initialization_with_destructor_bool -# 2135| getInitializer(): [Initializer] initializer for initialization_with_destructor_bool -# 2135| getExpr(): [Literal] 1 -# 2135| Type = [BoolType] bool -# 2135| Value = [Literal] 1 -# 2135| ValueCategory = prvalue -# 2137| [TopLevelFunction] void initialization_with_destructor(bool, char) -# 2137| : -# 2137| getParameter(0): [Parameter] b -# 2137| Type = [BoolType] bool -# 2137| getParameter(1): [Parameter] c -# 2137| Type = [PlainCharType] char -# 2137| getEntryPoint(): [BlockStmt] { ... } -# 2138| getStmt(0): [IfStmt] if (...) ... -# 2138| getInitialization(): [DeclStmt] declaration -# 2138| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2138| Type = [Class] ClassWithDestructor -# 2138| getVariable().getInitializer(): [Initializer] initializer for x -# 2138| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2138| Type = [VoidType] void -# 2138| ValueCategory = prvalue -# 2138| getCondition(): [VariableAccess] b -# 2138| Type = [BoolType] bool -# 2138| ValueCategory = prvalue(load) -# 2139| getThen(): [ExprStmt] ExprStmt -# 2139| getExpr(): [FunctionCall] call to set_x -# 2139| Type = [VoidType] void -# 2139| ValueCategory = prvalue -# 2139| getQualifier(): [VariableAccess] x -# 2139| Type = [Class] ClassWithDestructor -# 2139| ValueCategory = lvalue -# 2139| getArgument(0): [CharLiteral] 97 -# 2139| Type = [PlainCharType] char -# 2139| Value = [CharLiteral] 97 -# 2139| ValueCategory = prvalue -# 2139| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2139| Type = [VoidType] void -# 2139| ValueCategory = prvalue -# 2139| getQualifier(): [VariableAccess] x -# 2139| Type = [Class] ClassWithDestructor -# 2139| ValueCategory = lvalue -# 2141| getStmt(1): [ConstexprIfStmt] if constexpr (...) ... -# 2141| getInitialization(): [DeclStmt] declaration -# 2141| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2141| Type = [Class] ClassWithDestructor -# 2141| getVariable().getInitializer(): [Initializer] initializer for x -# 2141| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2141| Type = [VoidType] void -# 2141| ValueCategory = prvalue -# 2141| getCondition(): [VariableAccess] initialization_with_destructor_bool +# 2129| getThen(): [ExprStmt] ExprStmt +# 2129| getExpr(): [FunctionCall] call to exit +# 2129| Type = [VoidType] void +# 2129| ValueCategory = prvalue +# 2129| getArgument(0): [Literal] 3 +# 2129| Type = [IntType] int +# 2129| Value = [Literal] 3 +# 2129| ValueCategory = prvalue +# 2130| getStmt(2): [ExprStmt] ExprStmt +# 2130| getExpr(): [FunctionCall] call to VoidFunc +# 2130| Type = [VoidType] void +# 2130| ValueCategory = prvalue +# 2131| getStmt(3): [ReturnStmt] return ... +# 2131| getExpr(): [VariableAccess] x +# 2131| Type = [IntType] int +# 2131| ValueCategory = prvalue(load) +# 2134| [TopLevelFunction] void CallsNonExit() +# 2134| : +# 2134| getEntryPoint(): [BlockStmt] { ... } +# 2135| getStmt(0): [ExprStmt] ExprStmt +# 2135| getExpr(): [FunctionCall] call to VoidFunc +# 2135| Type = [VoidType] void +# 2135| ValueCategory = prvalue +# 2136| getStmt(1): [ExprStmt] ExprStmt +# 2136| getExpr(): [FunctionCall] call to exit +# 2136| Type = [VoidType] void +# 2136| ValueCategory = prvalue +# 2136| getArgument(0): [Literal] 3 +# 2136| Type = [IntType] int +# 2136| Value = [Literal] 3 +# 2136| ValueCategory = prvalue +# 2137| getStmt(2): [ReturnStmt] return ... +# 2139| [TopLevelFunction] int TransNonExit() +# 2139| : +# 2139| getEntryPoint(): [BlockStmt] { ... } +# 2140| getStmt(0): [DeclStmt] declaration +# 2140| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2140| Type = [IntType] int +# 2140| getVariable().getInitializer(): [Initializer] initializer for x +# 2140| getExpr(): [FunctionCall] call to Add +# 2140| Type = [IntType] int +# 2140| ValueCategory = prvalue +# 2140| getArgument(0): [Literal] 3 +# 2140| Type = [IntType] int +# 2140| Value = [Literal] 3 +# 2140| ValueCategory = prvalue +# 2140| getArgument(1): [Literal] 4 +# 2140| Type = [IntType] int +# 2140| Value = [Literal] 4 +# 2140| ValueCategory = prvalue +# 2141| getStmt(1): [IfStmt] if (...) ... +# 2141| getCondition(): [EQExpr] ... == ... # 2141| Type = [BoolType] bool -# 2141| Value = [VariableAccess] 1 -# 2141| ValueCategory = prvalue(load) +# 2141| ValueCategory = prvalue +# 2141| getLeftOperand(): [VariableAccess] x +# 2141| Type = [IntType] int +# 2141| ValueCategory = prvalue(load) +# 2141| getRightOperand(): [Literal] 7 +# 2141| Type = [IntType] int +# 2141| Value = [Literal] 7 +# 2141| ValueCategory = prvalue # 2142| getThen(): [ExprStmt] ExprStmt -# 2142| getExpr(): [FunctionCall] call to set_x +# 2142| getExpr(): [FunctionCall] call to CallsNonExit # 2142| Type = [VoidType] void # 2142| ValueCategory = prvalue -# 2142| getQualifier(): [VariableAccess] x -# 2142| Type = [Class] ClassWithDestructor -# 2142| ValueCategory = lvalue -# 2142| getArgument(0): [CharLiteral] 97 -# 2142| Type = [PlainCharType] char -# 2142| Value = [CharLiteral] 97 -# 2142| ValueCategory = prvalue -# 2142| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2142| Type = [VoidType] void -# 2142| ValueCategory = prvalue -# 2142| getQualifier(): [VariableAccess] x -# 2142| Type = [Class] ClassWithDestructor -# 2142| ValueCategory = lvalue -# 2144| getStmt(2): [SwitchStmt] switch (...) ... -# 2144| getInitialization(): [DeclStmt] declaration -# 2144| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2144| Type = [Class] ClassWithDestructor -# 2144| getVariable().getInitializer(): [Initializer] initializer for x -# 2144| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2144| Type = [VoidType] void -# 2144| ValueCategory = prvalue -# 2144| getExpr(): [VariableAccess] c -# 2144| Type = [PlainCharType] char -# 2144| ValueCategory = prvalue(load) -# 2144| getStmt(): [BlockStmt] { ... } -# 2145| getStmt(0): [SwitchCase] case ...: -# 2145| getExpr(): [CharLiteral] 97 -# 2145| Type = [PlainCharType] char -# 2145| Value = [CharLiteral] 97 -# 2145| ValueCategory = prvalue -# 2145| getExpr().getFullyConverted(): [CStyleCast] (int)... -# 2145| Conversion = [IntegralConversion] integral conversion -# 2145| Type = [IntType] int -# 2145| Value = [CStyleCast] 97 -# 2145| ValueCategory = prvalue -# 2146| getStmt(1): [ExprStmt] ExprStmt -# 2146| getExpr(): [FunctionCall] call to set_x -# 2146| Type = [VoidType] void -# 2146| ValueCategory = prvalue -# 2146| getQualifier(): [VariableAccess] x -# 2146| Type = [Class] ClassWithDestructor -# 2146| ValueCategory = lvalue -# 2146| getArgument(0): [CharLiteral] 97 -# 2146| Type = [PlainCharType] char -# 2146| Value = [CharLiteral] 97 -# 2146| ValueCategory = prvalue -# 2147| getStmt(2): [BreakStmt] break; -# 2148| getStmt(3): [SwitchCase] default: -# 2149| getStmt(4): [ExprStmt] ExprStmt -# 2149| getExpr(): [FunctionCall] call to set_x -# 2149| Type = [VoidType] void -# 2149| ValueCategory = prvalue -# 2149| getQualifier(): [VariableAccess] x -# 2149| Type = [Class] ClassWithDestructor -# 2149| ValueCategory = lvalue -# 2149| getArgument(0): [CharLiteral] 98 -# 2149| Type = [PlainCharType] char -# 2149| Value = [CharLiteral] 98 -# 2149| ValueCategory = prvalue -# 2150| getStmt(5): [BreakStmt] break; -# 2151| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2151| Type = [VoidType] void -# 2151| ValueCategory = prvalue -# 2151| getQualifier(): [VariableAccess] x -# 2151| Type = [Class] ClassWithDestructor -# 2151| ValueCategory = lvalue -# 2144| getExpr().getFullyConverted(): [CStyleCast] (int)... -# 2144| Conversion = [IntegralConversion] integral conversion +# 2143| getStmt(2): [ExprStmt] ExprStmt +# 2143| getExpr(): [FunctionCall] call to VoidFunc +# 2143| Type = [VoidType] void +# 2143| ValueCategory = prvalue +# 2144| getStmt(3): [ReturnStmt] return ... +# 2144| getExpr(): [VariableAccess] x # 2144| Type = [IntType] int -# 2144| ValueCategory = prvalue -# 2151| getStmt(3): [LabelStmt] label ...: -# 2153| getStmt(4): [DeclStmt] declaration -# 2153| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2153| Type = [Class] ClassWithDestructor -# 2153| getVariable().getInitializer(): [Initializer] initializer for x -# 2153| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2153| Type = [VoidType] void +# 2144| ValueCategory = prvalue(load) +# 2147| [TopLevelFunction] void newArrayCorrectType(size_t) +# 2147| : +# 2147| getParameter(0): [Parameter] n +# 2147| Type = [CTypedefType,Size_t] size_t +# 2147| getEntryPoint(): [BlockStmt] { ... } +# 2148| getStmt(0): [ExprStmt] ExprStmt +# 2148| getExpr(): [NewArrayExpr] new[] +# 2148| Type = [IntPointerType] int * +# 2148| ValueCategory = prvalue +# 2148| getExtent(): [VariableAccess] n +# 2148| Type = [CTypedefType,Size_t] size_t +# 2148| ValueCategory = prvalue(load) +# 2149| getStmt(1): [ExprStmt] ExprStmt +# 2149| getExpr(): [NewArrayExpr] new[] +# 2149| Type = [IntPointerType] int * +# 2149| ValueCategory = prvalue +# 2149| getAllocatorCall(): [FunctionCall] call to operator new[] +# 2149| Type = [VoidPointerType] void * +# 2149| ValueCategory = prvalue +# 2149| getArgument(0): [ErrorExpr] +# 2149| Type = [LongType] unsigned long +# 2149| ValueCategory = prvalue +# 2149| getArgument(1): [Literal] 1.0 +# 2149| Type = [FloatType] float +# 2149| Value = [Literal] 1.0 +# 2149| ValueCategory = prvalue +# 2149| getExtent(): [VariableAccess] n +# 2149| Type = [CTypedefType,Size_t] size_t +# 2149| ValueCategory = prvalue(load) +# 2150| getStmt(2): [ExprStmt] ExprStmt +# 2150| getExpr(): [NewArrayExpr] new[] +# 2150| Type = [PointerType] String * +# 2150| ValueCategory = prvalue +# 2150| getInitializer(): [ArrayAggregateLiteral] {...} +# 2150| Type = [ArrayType] String[] +# 2150| ValueCategory = prvalue +# 2150| getAnElementExpr(0): [ConstructorCall] call to String +# 2150| Type = [VoidType] void +# 2150| ValueCategory = prvalue +# 2150| getExtent(): [VariableAccess] n +# 2150| Type = [CTypedefType,Size_t] size_t +# 2150| ValueCategory = prvalue(load) +# 2151| getStmt(3): [ExprStmt] ExprStmt +# 2151| getExpr(): [NewArrayExpr] new[] +# 2151| Type = [PointerType] Overaligned * +# 2151| ValueCategory = prvalue +# 2151| getExtent(): [VariableAccess] n +# 2151| Type = [CTypedefType,Size_t] size_t +# 2151| ValueCategory = prvalue(load) +# 2151| getAlignmentArgument(): [Literal] 128 +# 2151| Type = [ScopedEnum] align_val_t +# 2151| Value = [Literal] 128 +# 2151| ValueCategory = prvalue +# 2152| getStmt(4): [ExprStmt] ExprStmt +# 2152| getExpr(): [NewArrayExpr] new[] +# 2152| Type = [PointerType] DefaultCtorWithDefaultParam * +# 2152| ValueCategory = prvalue +# 2152| getInitializer(): [ArrayAggregateLiteral] {...} +# 2152| Type = [ArrayType] DefaultCtorWithDefaultParam[] +# 2152| ValueCategory = prvalue +# 2152| getAnElementExpr(0): [ConstructorCall] call to DefaultCtorWithDefaultParam +# 2152| Type = [VoidType] void +# 2152| ValueCategory = prvalue +# 2152| getExtent(): [VariableAccess] n +# 2152| Type = [CTypedefType,Size_t] size_t +# 2152| ValueCategory = prvalue(load) +# 2153| getStmt(5): [ExprStmt] ExprStmt +# 2153| getExpr(): [NewArrayExpr] new[] +# 2153| Type = [IntPointerType] int * +# 2153| ValueCategory = prvalue +# 2153| getInitializer(): [ArrayAggregateLiteral] {...} +# 2153| Type = [ArrayType] int[3] +# 2153| ValueCategory = prvalue +# 2153| getAnElementExpr(0): [Literal] 0 +# 2153| Type = [IntType] int +# 2153| Value = [Literal] 0 # 2153| ValueCategory = prvalue -# 2154| getStmt(5): [RangeBasedForStmt] for(...:...) ... -# 2154| getInitialization(): [DeclStmt] declaration -# 2154| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys -# 2154| Type = [ClassTemplateInstantiation,Struct] vector -# 2154| getVariable().getInitializer(): [Initializer] initializer for ys -# 2154| getExpr(): [ConstructorCall] call to vector -# 2154| Type = [VoidType] void -# 2154| ValueCategory = prvalue -# 2154| getArgument(0): [VariableAccess] x -# 2154| Type = [Class] ClassWithDestructor -# 2154| ValueCategory = prvalue(load) -# 2154| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2154| Type = [Class] ClassWithDestructor -# 2154| ValueCategory = lvalue -# 2154| getChild(1): [DeclStmt] declaration -# 2154| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 2154| Type = [LValueReferenceType] vector & -#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 2154| getExpr(): [VariableAccess] ys -# 2154| Type = [ClassTemplateInstantiation,Struct] vector -# 2154| ValueCategory = lvalue -# 2154| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2154| Type = [LValueReferenceType] vector & -# 2154| ValueCategory = prvalue -# 2154| getBeginEndDeclaration(): [DeclStmt] declaration -# 2154| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 2154| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 2154| getExpr(): [FunctionCall] call to begin -# 2154| Type = [NestedStruct] iterator -# 2154| ValueCategory = prvalue -# 2154| getQualifier(): [VariableAccess] (__range) -# 2154| Type = [LValueReferenceType] vector & -# 2154| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2154| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 2154| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 2154| getExpr(): [FunctionCall] call to end -# 2154| Type = [NestedStruct] iterator -# 2154| ValueCategory = prvalue -# 2154| getQualifier(): [VariableAccess] (__range) -# 2154| Type = [LValueReferenceType] vector & -# 2154| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2154| getCondition(): [FunctionCall] call to operator!= -# 2154| Type = [BoolType] bool -# 2154| ValueCategory = prvalue -# 2154| getQualifier(): [VariableAccess] (__begin) -# 2154| Type = [NestedStruct] iterator -# 2154| ValueCategory = lvalue -# 2154| getArgument(0): [VariableAccess] (__end) -# 2154| Type = [NestedStruct] iterator -# 2154| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2154| getUpdate(): [FunctionCall] call to operator++ -# 2154| Type = [LValueReferenceType] iterator & -# 2154| ValueCategory = prvalue -# 2154| getQualifier(): [VariableAccess] (__begin) -# 2154| Type = [NestedStruct] iterator -# 2154| ValueCategory = lvalue -# 2154| getChild(5): [DeclStmt] declaration -# 2154| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2154| Type = [Class] ClassWithDestructor -# 2154| getVariable().getInitializer(): [Initializer] initializer for y -# 2154| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 2154| Type = [LValueReferenceType] ClassWithDestructor & -# 2154| ValueCategory = prvalue -# 2154| getQualifier(): [VariableAccess] (__begin) -# 2154| Type = [NestedStruct] iterator -# 2154| ValueCategory = lvalue -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2154| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2154| Type = [Class] ClassWithDestructor -# 2154| ValueCategory = prvalue(load) -# 2155| getStmt(): [ExprStmt] ExprStmt -# 2155| getExpr(): [FunctionCall] call to set_x -# 2155| Type = [VoidType] void -# 2155| ValueCategory = prvalue -# 2155| getQualifier(): [VariableAccess] y -# 2155| Type = [Class] ClassWithDestructor -# 2155| ValueCategory = lvalue -# 2155| getArgument(0): [CharLiteral] 97 -# 2155| Type = [PlainCharType] char -# 2155| Value = [CharLiteral] 97 -# 2155| ValueCategory = prvalue -# 2154| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2154| Type = [VoidType] void -# 2154| ValueCategory = prvalue -# 2154| getQualifier(): [VariableAccess] y -# 2154| Type = [Class] ClassWithDestructor -# 2154| ValueCategory = lvalue -# 2154| getImplicitDestructorCall(0): [DestructorCall] call to ~vector -# 2154| Type = [VoidType] void -# 2154| ValueCategory = prvalue -# 2154| getQualifier(): [VariableAccess] ys -# 2154| Type = [ClassTemplateInstantiation,Struct] vector -# 2154| ValueCategory = lvalue -# 2154| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2154| Type = [NestedStruct] iterator -# 2154| ValueCategory = lvalue -# 2157| getStmt(6): [RangeBasedForStmt] for(...:...) ... -# 2157| getInitialization(): [DeclStmt] declaration -# 2157| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys -# 2157| Type = [ClassTemplateInstantiation,Struct] vector -# 2157| getVariable().getInitializer(): [Initializer] initializer for ys -# 2157| getExpr(): [ConstructorCall] call to vector -# 2157| Type = [VoidType] void -# 2157| ValueCategory = prvalue -# 2157| getArgument(0): [VariableAccess] x -# 2157| Type = [Class] ClassWithDestructor -# 2157| ValueCategory = prvalue(load) -# 2157| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2157| Type = [Class] ClassWithDestructor -# 2157| ValueCategory = lvalue -# 2157| getChild(1): [DeclStmt] declaration -# 2157| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 2157| Type = [LValueReferenceType] vector & -#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 2157| getExpr(): [VariableAccess] ys -# 2157| Type = [ClassTemplateInstantiation,Struct] vector -# 2157| ValueCategory = lvalue -# 2157| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2157| Type = [LValueReferenceType] vector & -# 2157| ValueCategory = prvalue -# 2157| getBeginEndDeclaration(): [DeclStmt] declaration -# 2157| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 2157| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 2157| getExpr(): [FunctionCall] call to begin -# 2157| Type = [NestedStruct] iterator -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] (__range) -# 2157| Type = [LValueReferenceType] vector & -# 2157| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2157| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 2157| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 2157| getExpr(): [FunctionCall] call to end -# 2157| Type = [NestedStruct] iterator -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] (__range) -# 2157| Type = [LValueReferenceType] vector & -# 2157| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2157| getCondition(): [FunctionCall] call to operator!= -# 2157| Type = [BoolType] bool -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] (__begin) -# 2157| Type = [NestedStruct] iterator -# 2157| ValueCategory = lvalue -# 2157| getArgument(0): [VariableAccess] (__end) -# 2157| Type = [NestedStruct] iterator -# 2157| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2157| getUpdate(): [FunctionCall] call to operator++ -# 2157| Type = [LValueReferenceType] iterator & -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] (__begin) -# 2157| Type = [NestedStruct] iterator -# 2157| ValueCategory = lvalue -# 2157| getChild(5): [DeclStmt] declaration -# 2157| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2157| Type = [Class] ClassWithDestructor -# 2157| getVariable().getInitializer(): [Initializer] initializer for y -# 2157| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 2157| Type = [LValueReferenceType] ClassWithDestructor & -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] (__begin) -# 2157| Type = [NestedStruct] iterator -# 2157| ValueCategory = lvalue -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2157| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2157| Type = [Class] ClassWithDestructor -# 2157| ValueCategory = prvalue(load) -# 2157| getStmt(): [BlockStmt] { ... } -# 2158| getStmt(0): [ExprStmt] ExprStmt -# 2158| getExpr(): [FunctionCall] call to set_x -# 2158| Type = [VoidType] void -# 2158| ValueCategory = prvalue -# 2158| getQualifier(): [VariableAccess] y -# 2158| Type = [Class] ClassWithDestructor -# 2158| ValueCategory = lvalue -# 2158| getArgument(0): [CharLiteral] 97 -# 2158| Type = [PlainCharType] char -# 2158| Value = [CharLiteral] 97 -# 2158| ValueCategory = prvalue -# 2159| getStmt(1): [IfStmt] if (...) ... -# 2159| getCondition(): [EQExpr] ... == ... -# 2159| Type = [BoolType] bool -# 2159| ValueCategory = prvalue -# 2159| getLeftOperand(): [FunctionCall] call to get_x -# 2159| Type = [PlainCharType] char -# 2159| ValueCategory = prvalue -# 2159| getQualifier(): [VariableAccess] y -# 2159| Type = [Class] ClassWithDestructor -# 2159| ValueCategory = lvalue -# 2159| getRightOperand(): [CharLiteral] 98 -# 2159| Type = [PlainCharType] char -# 2159| Value = [CharLiteral] 98 -# 2159| ValueCategory = prvalue -# 2159| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... -# 2159| Conversion = [IntegralConversion] integral conversion -# 2159| Type = [IntType] int -# 2159| ValueCategory = prvalue -# 2159| getRightOperand().getFullyConverted(): [CStyleCast] (int)... -# 2159| Conversion = [IntegralConversion] integral conversion -# 2159| Type = [IntType] int -# 2159| Value = [CStyleCast] 98 -# 2159| ValueCategory = prvalue -# 2160| getThen(): [ReturnStmt] return ... -# 2157| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2157| Type = [VoidType] void -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] y -# 2157| Type = [Class] ClassWithDestructor -# 2157| ValueCategory = lvalue -# 2157| getImplicitDestructorCall(1): [DestructorCall] call to ~vector -# 2157| Type = [VoidType] void -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] ys -# 2157| Type = [ClassTemplateInstantiation,Struct] vector -# 2157| ValueCategory = lvalue -# 2172| getImplicitDestructorCall(2): [DestructorCall] call to ~ClassWithDestructor -# 2172| Type = [VoidType] void -# 2172| ValueCategory = prvalue -# 2172| getQualifier(): [VariableAccess] x -# 2172| Type = [Class] ClassWithDestructor -# 2172| ValueCategory = lvalue -# 2157| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2157| Type = [VoidType] void -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] y -# 2157| Type = [Class] ClassWithDestructor -# 2157| ValueCategory = lvalue -# 2157| getImplicitDestructorCall(0): [DestructorCall] call to ~vector -# 2157| Type = [VoidType] void -# 2157| ValueCategory = prvalue -# 2157| getQualifier(): [VariableAccess] ys -# 2157| Type = [ClassTemplateInstantiation,Struct] vector -# 2157| ValueCategory = lvalue -# 2157| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2157| Type = [NestedStruct] iterator -# 2157| ValueCategory = lvalue -# 2163| getStmt(7): [RangeBasedForStmt] for(...:...) ... -# 2163| getInitialization(): [DeclStmt] declaration -# 2163| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys -# 2163| Type = [ClassTemplateInstantiation,Struct] vector -# 2163| getVariable().getInitializer(): [Initializer] initializer for ys -# 2163| getExpr(): [ConstructorCall] call to vector -# 2163| Type = [VoidType] void -# 2163| ValueCategory = prvalue -# 2163| getArgument(0): [Literal] 1 -# 2163| Type = [IntType] int -# 2163| Value = [Literal] 1 -# 2163| ValueCategory = prvalue -# 2163| getChild(1): [DeclStmt] declaration -# 2163| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 2163| Type = [LValueReferenceType] vector & -#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 2163| getExpr(): [VariableAccess] ys -# 2163| Type = [ClassTemplateInstantiation,Struct] vector -# 2163| ValueCategory = lvalue -# 2163| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2163| Type = [LValueReferenceType] vector & -# 2163| ValueCategory = prvalue -# 2163| getBeginEndDeclaration(): [DeclStmt] declaration -# 2163| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 2163| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 2163| getExpr(): [FunctionCall] call to begin -# 2163| Type = [NestedStruct] iterator -# 2163| ValueCategory = prvalue -# 2163| getQualifier(): [VariableAccess] (__range) -# 2163| Type = [LValueReferenceType] vector & -# 2163| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2163| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 2163| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 2163| getExpr(): [FunctionCall] call to end -# 2163| Type = [NestedStruct] iterator -# 2163| ValueCategory = prvalue -# 2163| getQualifier(): [VariableAccess] (__range) -# 2163| Type = [LValueReferenceType] vector & -# 2163| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2163| getCondition(): [FunctionCall] call to operator!= -# 2163| Type = [BoolType] bool -# 2163| ValueCategory = prvalue -# 2163| getQualifier(): [VariableAccess] (__begin) -# 2163| Type = [NestedStruct] iterator -# 2163| ValueCategory = lvalue -# 2163| getArgument(0): [VariableAccess] (__end) -# 2163| Type = [NestedStruct] iterator -# 2163| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2163| getUpdate(): [FunctionCall] call to operator++ -# 2163| Type = [LValueReferenceType] iterator & -# 2163| ValueCategory = prvalue -# 2163| getQualifier(): [VariableAccess] (__begin) -# 2163| Type = [NestedStruct] iterator -# 2163| ValueCategory = lvalue -# 2163| getChild(5): [DeclStmt] declaration -# 2163| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2163| Type = [IntType] int -# 2163| getVariable().getInitializer(): [Initializer] initializer for y -# 2163| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 2163| Type = [LValueReferenceType] int & -# 2163| ValueCategory = prvalue -# 2163| getQualifier(): [VariableAccess] (__begin) -# 2163| Type = [NestedStruct] iterator -# 2163| ValueCategory = lvalue -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2163| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2163| Type = [IntType] int -# 2163| ValueCategory = prvalue(load) -# 2163| getStmt(): [BlockStmt] { ... } -# 2164| getStmt(0): [IfStmt] if (...) ... -# 2164| getCondition(): [EQExpr] ... == ... -# 2164| Type = [BoolType] bool -# 2164| ValueCategory = prvalue -# 2164| getLeftOperand(): [VariableAccess] y -# 2164| Type = [IntType] int -# 2164| ValueCategory = prvalue(load) -# 2164| getRightOperand(): [Literal] 1 -# 2164| Type = [IntType] int -# 2164| Value = [Literal] 1 -# 2164| ValueCategory = prvalue -# 2165| getThen(): [ReturnStmt] return ... -# 2163| getImplicitDestructorCall(0): [DestructorCall] call to ~vector -# 2163| Type = [VoidType] void -# 2163| ValueCategory = prvalue -# 2163| getQualifier(): [VariableAccess] ys -# 2163| Type = [ClassTemplateInstantiation,Struct] vector -# 2163| ValueCategory = lvalue -# 2172| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor -# 2172| Type = [VoidType] void -# 2172| ValueCategory = prvalue -# 2172| getQualifier(): [VariableAccess] x -# 2172| Type = [Class] ClassWithDestructor -# 2172| ValueCategory = lvalue -# 2163| getImplicitDestructorCall(0): [DestructorCall] call to ~vector -# 2163| Type = [VoidType] void -# 2163| ValueCategory = prvalue -# 2163| getQualifier(): [VariableAccess] ys -# 2163| Type = [ClassTemplateInstantiation,Struct] vector -# 2163| ValueCategory = lvalue -# 2163| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2163| Type = [NestedStruct] iterator -# 2163| ValueCategory = lvalue -# 2168| getStmt(8): [RangeBasedForStmt] for(...:...) ... -# 2168| getInitialization(): [DeclStmt] declaration -# 2168| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys -# 2168| Type = [ClassTemplateInstantiation,Struct] vector -# 2168| getVariable().getInitializer(): [Initializer] initializer for ys -# 2168| getExpr(): [ConstructorCall] call to vector -# 2168| Type = [VoidType] void -# 2168| ValueCategory = prvalue -# 2168| getArgument(0): [VariableAccess] x -# 2168| Type = [Class] ClassWithDestructor -# 2168| ValueCategory = prvalue(load) -# 2168| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2168| Type = [Class] ClassWithDestructor -# 2168| ValueCategory = lvalue -# 2168| getChild(1): [DeclStmt] declaration -# 2168| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 2168| Type = [LValueReferenceType] vector & -#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 2168| getExpr(): [VariableAccess] ys -# 2168| Type = [ClassTemplateInstantiation,Struct] vector -# 2168| ValueCategory = lvalue -# 2168| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2168| Type = [LValueReferenceType] vector & -# 2168| ValueCategory = prvalue -# 2168| getBeginEndDeclaration(): [DeclStmt] declaration -# 2168| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 2168| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 2168| getExpr(): [FunctionCall] call to begin -# 2168| Type = [NestedStruct] iterator -# 2168| ValueCategory = prvalue -# 2168| getQualifier(): [VariableAccess] (__range) -# 2168| Type = [LValueReferenceType] vector & -# 2168| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2168| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 2168| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 2168| getExpr(): [FunctionCall] call to end -# 2168| Type = [NestedStruct] iterator -# 2168| ValueCategory = prvalue -# 2168| getQualifier(): [VariableAccess] (__range) -# 2168| Type = [LValueReferenceType] vector & -# 2168| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2168| getCondition(): [FunctionCall] call to operator!= -# 2168| Type = [BoolType] bool -# 2168| ValueCategory = prvalue -# 2168| getQualifier(): [VariableAccess] (__begin) -# 2168| Type = [NestedStruct] iterator -# 2168| ValueCategory = lvalue -# 2168| getArgument(0): [VariableAccess] (__end) -# 2168| Type = [NestedStruct] iterator -# 2168| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2168| getUpdate(): [FunctionCall] call to operator++ -# 2168| Type = [LValueReferenceType] iterator & -# 2168| ValueCategory = prvalue -# 2168| getQualifier(): [VariableAccess] (__begin) -# 2168| Type = [NestedStruct] iterator -# 2168| ValueCategory = lvalue -# 2168| getChild(5): [DeclStmt] declaration -# 2168| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2168| Type = [Class] ClassWithDestructor -# 2168| getVariable().getInitializer(): [Initializer] initializer for y -# 2168| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 2168| Type = [LValueReferenceType] ClassWithDestructor & -# 2168| ValueCategory = prvalue -# 2168| getQualifier(): [VariableAccess] (__begin) -# 2168| Type = [NestedStruct] iterator -# 2168| ValueCategory = lvalue -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2168| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2168| Type = [Class] ClassWithDestructor -# 2168| ValueCategory = prvalue(load) -# 2168| getStmt(): [BlockStmt] { ... } -# 2169| getStmt(0): [DeclStmt] declaration -# 2169| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z1 -# 2169| Type = [Class] ClassWithDestructor -# 2169| getVariable().getInitializer(): [Initializer] initializer for z1 -# 2169| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2169| Type = [VoidType] void -# 2169| ValueCategory = prvalue -# 2170| getStmt(1): [DeclStmt] declaration -# 2170| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z2 -# 2170| Type = [Class] ClassWithDestructor -# 2170| getVariable().getInitializer(): [Initializer] initializer for z2 -# 2170| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2170| Type = [VoidType] void -# 2170| ValueCategory = prvalue -# 2171| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2171| Type = [VoidType] void -# 2171| ValueCategory = prvalue -# 2171| getQualifier(): [VariableAccess] z2 -# 2171| Type = [Class] ClassWithDestructor -# 2171| ValueCategory = lvalue -# 2171| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor -# 2171| Type = [VoidType] void -# 2171| ValueCategory = prvalue -# 2171| getQualifier(): [VariableAccess] z1 -# 2171| Type = [Class] ClassWithDestructor -# 2171| ValueCategory = lvalue -# 2168| getImplicitDestructorCall(2): [DestructorCall] call to ~ClassWithDestructor -# 2168| Type = [VoidType] void -# 2168| ValueCategory = prvalue -# 2168| getQualifier(): [VariableAccess] y -# 2168| Type = [Class] ClassWithDestructor -# 2168| ValueCategory = lvalue -# 2168| getImplicitDestructorCall(0): [DestructorCall] call to ~vector -# 2168| Type = [VoidType] void -# 2168| ValueCategory = prvalue -# 2168| getQualifier(): [VariableAccess] ys -# 2168| Type = [ClassTemplateInstantiation,Struct] vector -# 2168| ValueCategory = lvalue -# 2168| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2168| Type = [NestedStruct] iterator -# 2168| ValueCategory = lvalue -# 2172| getStmt(9): [ReturnStmt] return ... -# 2172| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2172| Type = [VoidType] void -# 2172| ValueCategory = prvalue -# 2172| getQualifier(): [VariableAccess] x -# 2172| Type = [Class] ClassWithDestructor +# 2153| getAnElementExpr(1): [Literal] 1 +# 2153| Type = [IntType] int +# 2153| Value = [Literal] 1 +# 2153| ValueCategory = prvalue +# 2153| getAnElementExpr(2): [Literal] 2 +# 2153| Type = [IntType] int +# 2153| Value = [Literal] 2 +# 2153| ValueCategory = prvalue +# 2153| getExtent(): [VariableAccess] n +# 2153| Type = [CTypedefType,Size_t] size_t +# 2153| ValueCategory = prvalue(load) +# 2154| getStmt(6): [ReturnStmt] return ... +# 2156| [TopLevelFunction] double strtod(char const*, char**) +# 2156| : +# 2156| getParameter(0): [Parameter] str +# 2156| Type = [PointerType] const char * +# 2156| getParameter(1): [Parameter] endptr +# 2156| Type = [PointerType] char ** +# 2158| [TopLevelFunction] char* test_strtod(char*) +# 2158| : +# 2158| getParameter(0): [Parameter] s +# 2158| Type = [CharPointerType] char * +# 2158| getEntryPoint(): [BlockStmt] { ... } +# 2159| getStmt(0): [DeclStmt] declaration +# 2159| getDeclarationEntry(0): [VariableDeclarationEntry] definition of end +# 2159| Type = [CharPointerType] char * +# 2160| getStmt(1): [DeclStmt] declaration +# 2160| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 2160| Type = [DoubleType] double +# 2160| getVariable().getInitializer(): [Initializer] initializer for d +# 2160| getExpr(): [FunctionCall] call to strtod +# 2160| Type = [DoubleType] double +# 2160| ValueCategory = prvalue +# 2160| getArgument(0): [VariableAccess] s +# 2160| Type = [CharPointerType] char * +# 2160| ValueCategory = prvalue(load) +# 2160| getArgument(1): [AddressOfExpr] & ... +# 2160| Type = [PointerType] char ** +# 2160| ValueCategory = prvalue +# 2160| getOperand(): [VariableAccess] end +# 2160| Type = [CharPointerType] char * +# 2160| ValueCategory = lvalue +# 2160| getArgument(0).getFullyConverted(): [CStyleCast] (const char *)... +# 2160| Conversion = [PointerConversion] pointer conversion +# 2160| Type = [PointerType] const char * +# 2160| ValueCategory = prvalue +# 2161| getStmt(2): [ReturnStmt] return ... +# 2161| getExpr(): [VariableAccess] end +# 2161| Type = [CharPointerType] char * +# 2161| ValueCategory = prvalue(load) +# 2164| [CopyAssignmentOperator] HasOperatorBool& HasOperatorBool::operator=(HasOperatorBool const&) +# 2164| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const HasOperatorBool & +# 2164| [MoveAssignmentOperator] HasOperatorBool& HasOperatorBool::operator=(HasOperatorBool&&) +# 2164| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] HasOperatorBool && +# 2165| [ConversionOperator] bool HasOperatorBool::operator bool() +# 2165| : +# 2168| [TopLevelFunction] void call_as_child_of_ConditionDeclExpr() +# 2168| : +# 2168| getEntryPoint(): [BlockStmt] { ... } +# 2169| getStmt(0): [IfStmt] if (...) ... +# 2169| getCondition(): [ConditionDeclExpr] (condition decl) +# 2169| Type = [BoolType] bool +# 2169| ValueCategory = prvalue +# 2169| getChild(0): [FunctionCall] call to operator bool +# 2169| Type = [BoolType] bool +# 2169| ValueCategory = prvalue +# 2169| getQualifier(): [VariableAccess] b +# 2169| Type = [Struct] HasOperatorBool +# 2169| ValueCategory = prvalue(load) +# 2169| getThen(): [BlockStmt] { ... } +# 2170| getStmt(1): [ReturnStmt] return ... +# 2172| [CopyAssignmentOperator] ClassWithDestructor& ClassWithDestructor::operator=(ClassWithDestructor const&) +# 2172| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const ClassWithDestructor & +# 2172| [CopyConstructor] void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) +# 2172| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const ClassWithDestructor & +# 2172| : +# 2172| getInitializer(0): [ConstructorFieldInit] constructor init of field x +# 2172| Type = [CharPointerType] char * +# 2172| ValueCategory = prvalue +# 2172| getExpr(): [ReferenceFieldAccess] x +# 2172| Type = [CharPointerType] char * +# 2172| ValueCategory = prvalue(load) +# 2172| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 2172| Type = [LValueReferenceType] const ClassWithDestructor & +# 2172| ValueCategory = prvalue(load) +# 2172| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2172| Type = [SpecifiedType] const ClassWithDestructor # 2172| ValueCategory = lvalue -# 2174| [TopLevelFunction] void static_variable_with_destructor_1() -# 2174| : -# 2174| getEntryPoint(): [BlockStmt] { ... } -# 2175| getStmt(0): [DeclStmt] declaration -# 2175| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 2175| Type = [Class] ClassWithDestructor -# 2175| getVariable().getInitializer(): [Initializer] initializer for a -# 2175| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2175| Type = [VoidType] void -# 2175| ValueCategory = prvalue -# 2176| getStmt(1): [DeclStmt] declaration -# 2176| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 2176| Type = [Class] ClassWithDestructor +# 2172| getEntryPoint(): [BlockStmt] { ... } +# 2172| getStmt(0): [ReturnStmt] return ... +# 2175| [Constructor] void ClassWithDestructor::ClassWithDestructor() +# 2175| : +# 2175| : +# 2175| getEntryPoint(): [BlockStmt] { ... } +# 2175| getStmt(0): [ExprStmt] ExprStmt +# 2175| getExpr(): [AssignExpr] ... = ... +# 2175| Type = [CharPointerType] char * +# 2175| ValueCategory = lvalue +# 2175| getLValue(): [ImplicitThisFieldAccess,PointerFieldAccess] x +# 2175| Type = [CharPointerType] char * +# 2175| ValueCategory = lvalue +# 2175| getQualifier(): [ThisExpr] this +# 2175| Type = [PointerType] ClassWithDestructor * +# 2175| ValueCategory = prvalue(load) +# 2175| getRValue(): [NewExpr] new +# 2175| Type = [CharPointerType] char * +# 2175| ValueCategory = prvalue +# 2175| getStmt(1): [ReturnStmt] return ... +# 2176| [Destructor] void ClassWithDestructor::~ClassWithDestructor() +# 2176| : +# 2176| getEntryPoint(): [BlockStmt] { ... } +# 2176| getStmt(0): [ExprStmt] ExprStmt +# 2176| getExpr(): [DeleteExpr] delete +# 2176| Type = [VoidType] void +# 2176| ValueCategory = prvalue +# 2176| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] x +# 2176| Type = [CharPointerType] char * +# 2176| ValueCategory = prvalue(load) +# 2176| getQualifier(): [ThisExpr] this +# 2176| Type = [PointerType] ClassWithDestructor * +# 2176| ValueCategory = prvalue(load) +# 2176| getStmt(1): [ReturnStmt] return ... +# 2176| : +# 2178| [MemberFunction] void ClassWithDestructor::set_x(char) +# 2178| : +# 2178| getParameter(0): [Parameter] y +# 2178| Type = [PlainCharType] char +# 2178| getEntryPoint(): [BlockStmt] { ... } +# 2178| getStmt(0): [ExprStmt] ExprStmt +# 2178| getExpr(): [AssignExpr] ... = ... +# 2178| Type = [PlainCharType] char +# 2178| ValueCategory = lvalue +# 2178| getLValue(): [PointerDereferenceExpr] * ... +# 2178| Type = [PlainCharType] char +# 2178| ValueCategory = lvalue +# 2178| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] x +# 2178| Type = [CharPointerType] char * +# 2178| ValueCategory = prvalue(load) +# 2178| getQualifier(): [ThisExpr] this +# 2178| Type = [PointerType] ClassWithDestructor * +# 2178| ValueCategory = prvalue(load) +# 2178| getRValue(): [VariableAccess] y +# 2178| Type = [PlainCharType] char +# 2178| ValueCategory = prvalue(load) +# 2178| getStmt(1): [ReturnStmt] return ... +# 2179| [MemberFunction] char ClassWithDestructor::get_x() +# 2179| : +# 2179| getEntryPoint(): [BlockStmt] { ... } +# 2179| getStmt(0): [ReturnStmt] return ... +# 2179| getExpr(): [PointerDereferenceExpr] * ... +# 2179| Type = [PlainCharType] char +# 2179| ValueCategory = prvalue(load) +# 2179| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] x +# 2179| Type = [CharPointerType] char * +# 2179| ValueCategory = prvalue(load) +# 2179| getQualifier(): [ThisExpr] this +# 2179| Type = [PointerType] ClassWithDestructor * +# 2179| ValueCategory = prvalue(load) +# 2182| [GlobalVariable] bool initialization_with_destructor_bool +# 2182| getInitializer(): [Initializer] initializer for initialization_with_destructor_bool +# 2182| getExpr(): [Literal] 1 +# 2182| Type = [BoolType] bool +# 2182| Value = [Literal] 1 +# 2182| ValueCategory = prvalue +# 2184| [TopLevelFunction] void initialization_with_destructor(bool, char) +# 2184| : +# 2184| getParameter(0): [Parameter] b +# 2184| Type = [BoolType] bool +# 2184| getParameter(1): [Parameter] c +# 2184| Type = [PlainCharType] char +# 2184| getEntryPoint(): [BlockStmt] { ... } +# 2185| getStmt(0): [IfStmt] if (...) ... +# 2185| getInitialization(): [DeclStmt] declaration +# 2185| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2185| Type = [Class] ClassWithDestructor +# 2185| getVariable().getInitializer(): [Initializer] initializer for x +# 2185| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2185| Type = [VoidType] void +# 2185| ValueCategory = prvalue +# 2185| getCondition(): [VariableAccess] b +# 2185| Type = [BoolType] bool +# 2185| ValueCategory = prvalue(load) +# 2186| getThen(): [ExprStmt] ExprStmt +# 2186| getExpr(): [FunctionCall] call to set_x +# 2186| Type = [VoidType] void +# 2186| ValueCategory = prvalue +# 2186| getQualifier(): [VariableAccess] x +# 2186| Type = [Class] ClassWithDestructor +# 2186| ValueCategory = lvalue +# 2186| getArgument(0): [CharLiteral] 97 +# 2186| Type = [PlainCharType] char +# 2186| Value = [CharLiteral] 97 +# 2186| ValueCategory = prvalue +# 2186| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2186| Type = [VoidType] void +# 2186| ValueCategory = prvalue +# 2186| getQualifier(): [VariableAccess] x +# 2186| Type = [Class] ClassWithDestructor +# 2186| ValueCategory = lvalue +# 2188| getStmt(1): [ConstexprIfStmt] if constexpr (...) ... +# 2188| getInitialization(): [DeclStmt] declaration +# 2188| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2188| Type = [Class] ClassWithDestructor +# 2188| getVariable().getInitializer(): [Initializer] initializer for x +# 2188| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2188| Type = [VoidType] void +# 2188| ValueCategory = prvalue +# 2188| getCondition(): [VariableAccess] initialization_with_destructor_bool +# 2188| Type = [BoolType] bool +# 2188| Value = [VariableAccess] 1 +# 2188| ValueCategory = prvalue(load) +# 2189| getThen(): [ExprStmt] ExprStmt +# 2189| getExpr(): [FunctionCall] call to set_x +# 2189| Type = [VoidType] void +# 2189| ValueCategory = prvalue +# 2189| getQualifier(): [VariableAccess] x +# 2189| Type = [Class] ClassWithDestructor +# 2189| ValueCategory = lvalue +# 2189| getArgument(0): [CharLiteral] 97 +# 2189| Type = [PlainCharType] char +# 2189| Value = [CharLiteral] 97 +# 2189| ValueCategory = prvalue +# 2189| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2189| Type = [VoidType] void +# 2189| ValueCategory = prvalue +# 2189| getQualifier(): [VariableAccess] x +# 2189| Type = [Class] ClassWithDestructor +# 2189| ValueCategory = lvalue +# 2191| getStmt(2): [SwitchStmt] switch (...) ... +# 2191| getInitialization(): [DeclStmt] declaration +# 2191| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2191| Type = [Class] ClassWithDestructor +# 2191| getVariable().getInitializer(): [Initializer] initializer for x +# 2191| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2191| Type = [VoidType] void +# 2191| ValueCategory = prvalue +# 2191| getExpr(): [VariableAccess] c +# 2191| Type = [PlainCharType] char +# 2191| ValueCategory = prvalue(load) +# 2191| getStmt(): [BlockStmt] { ... } +# 2192| getStmt(0): [SwitchCase] case ...: +# 2192| getExpr(): [CharLiteral] 97 +# 2192| Type = [PlainCharType] char +# 2192| Value = [CharLiteral] 97 +# 2192| ValueCategory = prvalue +# 2192| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2192| Conversion = [IntegralConversion] integral conversion +# 2192| Type = [IntType] int +# 2192| Value = [CStyleCast] 97 +# 2192| ValueCategory = prvalue +# 2193| getStmt(1): [ExprStmt] ExprStmt +# 2193| getExpr(): [FunctionCall] call to set_x +# 2193| Type = [VoidType] void +# 2193| ValueCategory = prvalue +# 2193| getQualifier(): [VariableAccess] x +# 2193| Type = [Class] ClassWithDestructor +# 2193| ValueCategory = lvalue +# 2193| getArgument(0): [CharLiteral] 97 +# 2193| Type = [PlainCharType] char +# 2193| Value = [CharLiteral] 97 +# 2193| ValueCategory = prvalue +# 2194| getStmt(2): [BreakStmt] break; +# 2195| getStmt(3): [SwitchCase] default: +# 2196| getStmt(4): [ExprStmt] ExprStmt +# 2196| getExpr(): [FunctionCall] call to set_x +# 2196| Type = [VoidType] void +# 2196| ValueCategory = prvalue +# 2196| getQualifier(): [VariableAccess] x +# 2196| Type = [Class] ClassWithDestructor +# 2196| ValueCategory = lvalue +# 2196| getArgument(0): [CharLiteral] 98 +# 2196| Type = [PlainCharType] char +# 2196| Value = [CharLiteral] 98 +# 2196| ValueCategory = prvalue +# 2197| getStmt(5): [BreakStmt] break; +# 2198| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2198| Type = [VoidType] void +# 2198| ValueCategory = prvalue +# 2198| getQualifier(): [VariableAccess] x +# 2198| Type = [Class] ClassWithDestructor +# 2198| ValueCategory = lvalue +# 2191| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2191| Conversion = [IntegralConversion] integral conversion +# 2191| Type = [IntType] int +# 2191| ValueCategory = prvalue +# 2198| getStmt(3): [LabelStmt] label ...: +# 2200| getStmt(4): [DeclStmt] declaration +# 2200| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2200| Type = [Class] ClassWithDestructor +# 2200| getVariable().getInitializer(): [Initializer] initializer for x +# 2200| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2200| Type = [VoidType] void +# 2200| ValueCategory = prvalue +# 2201| getStmt(5): [RangeBasedForStmt] for(...:...) ... +# 2201| getInitialization(): [DeclStmt] declaration +# 2201| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys +# 2201| Type = [ClassTemplateInstantiation,Struct] vector +# 2201| getVariable().getInitializer(): [Initializer] initializer for ys +# 2201| getExpr(): [ConstructorCall] call to vector +# 2201| Type = [VoidType] void +# 2201| ValueCategory = prvalue +# 2201| getArgument(0): [VariableAccess] x +# 2201| Type = [Class] ClassWithDestructor +# 2201| ValueCategory = prvalue(load) +# 2201| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2201| Type = [Class] ClassWithDestructor +# 2201| ValueCategory = lvalue +# 2201| getChild(1): [DeclStmt] declaration +# 2201| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2201| Type = [LValueReferenceType] vector & +#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) +# 2201| getExpr(): [VariableAccess] ys +# 2201| Type = [ClassTemplateInstantiation,Struct] vector +# 2201| ValueCategory = lvalue +# 2201| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2201| Type = [LValueReferenceType] vector & +# 2201| ValueCategory = prvalue +# 2201| getBeginEndDeclaration(): [DeclStmt] declaration +# 2201| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) +# 2201| getExpr(): [FunctionCall] call to begin +# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2201| ValueCategory = prvalue +# 2201| getQualifier(): [VariableAccess] (__range) +# 2201| Type = [LValueReferenceType] vector & +# 2201| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2201| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) +# 2201| getExpr(): [FunctionCall] call to end +# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2201| ValueCategory = prvalue +# 2201| getQualifier(): [VariableAccess] (__range) +# 2201| Type = [LValueReferenceType] vector & +# 2201| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2201| getCondition(): [FunctionCall] call to operator!= +# 2201| Type = [BoolType] bool +# 2201| ValueCategory = prvalue +# 2201| getQualifier(): [VariableAccess] (__begin) +# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2201| ValueCategory = lvalue +# 2201| getArgument(0): [ConstructorCall] call to iterator +# 2201| Type = [VoidType] void +# 2201| ValueCategory = prvalue +# 2201| getArgument(0): [VariableAccess] (__end) +# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2201| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +#-----| Type = [LValueReferenceType] const iterator & +#-----| ValueCategory = prvalue +#-----| getExpr(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [ClassTemplateInstantiation,Struct] iterator +#-----| ValueCategory = lvalue +# 2201| getUpdate(): [FunctionCall] call to operator++ +# 2201| Type = [LValueReferenceType] iterator & +# 2201| ValueCategory = prvalue +# 2201| getQualifier(): [VariableAccess] (__begin) +# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2201| ValueCategory = lvalue +# 2201| getChild(5): [DeclStmt] declaration +# 2201| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2201| Type = [Class] ClassWithDestructor +# 2201| getVariable().getInitializer(): [Initializer] initializer for y +# 2201| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 2201| Type = [LValueReferenceType] ClassWithDestructor & +# 2201| ValueCategory = prvalue +# 2201| getQualifier(): [VariableAccess] (__begin) +# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2201| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 2201| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2201| Type = [Class] ClassWithDestructor +# 2201| ValueCategory = prvalue(load) +# 2202| getStmt(): [ExprStmt] ExprStmt +# 2202| getExpr(): [FunctionCall] call to set_x +# 2202| Type = [VoidType] void +# 2202| ValueCategory = prvalue +# 2202| getQualifier(): [VariableAccess] y +# 2202| Type = [Class] ClassWithDestructor +# 2202| ValueCategory = lvalue +# 2202| getArgument(0): [CharLiteral] 97 +# 2202| Type = [PlainCharType] char +# 2202| Value = [CharLiteral] 97 +# 2202| ValueCategory = prvalue +# 2201| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2201| Type = [VoidType] void +# 2201| ValueCategory = prvalue +# 2201| getQualifier(): [VariableAccess] y +# 2201| Type = [Class] ClassWithDestructor +# 2201| ValueCategory = lvalue +# 2201| getImplicitDestructorCall(0): [DestructorCall] call to ~vector +# 2201| Type = [VoidType] void +# 2201| ValueCategory = prvalue +# 2201| getQualifier(): [VariableAccess] ys +# 2201| Type = [ClassTemplateInstantiation,Struct] vector +# 2201| ValueCategory = lvalue +# 2201| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2201| Type = [ClassTemplateInstantiation,Struct] iterator +# 2201| ValueCategory = lvalue +# 2204| getStmt(6): [RangeBasedForStmt] for(...:...) ... +# 2204| getInitialization(): [DeclStmt] declaration +# 2204| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys +# 2204| Type = [ClassTemplateInstantiation,Struct] vector +# 2204| getVariable().getInitializer(): [Initializer] initializer for ys +# 2204| getExpr(): [ConstructorCall] call to vector +# 2204| Type = [VoidType] void +# 2204| ValueCategory = prvalue +# 2204| getArgument(0): [VariableAccess] x +# 2204| Type = [Class] ClassWithDestructor +# 2204| ValueCategory = prvalue(load) +# 2204| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2204| Type = [Class] ClassWithDestructor +# 2204| ValueCategory = lvalue +# 2204| getChild(1): [DeclStmt] declaration +# 2204| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2204| Type = [LValueReferenceType] vector & +#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) +# 2204| getExpr(): [VariableAccess] ys +# 2204| Type = [ClassTemplateInstantiation,Struct] vector +# 2204| ValueCategory = lvalue +# 2204| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2204| Type = [LValueReferenceType] vector & +# 2204| ValueCategory = prvalue +# 2204| getBeginEndDeclaration(): [DeclStmt] declaration +# 2204| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) +# 2204| getExpr(): [FunctionCall] call to begin +# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] (__range) +# 2204| Type = [LValueReferenceType] vector & +# 2204| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2204| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) +# 2204| getExpr(): [FunctionCall] call to end +# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] (__range) +# 2204| Type = [LValueReferenceType] vector & +# 2204| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2204| getCondition(): [FunctionCall] call to operator!= +# 2204| Type = [BoolType] bool +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] (__begin) +# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2204| ValueCategory = lvalue +# 2204| getArgument(0): [ConstructorCall] call to iterator +# 2204| Type = [VoidType] void +# 2204| ValueCategory = prvalue +# 2204| getArgument(0): [VariableAccess] (__end) +# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2204| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +#-----| Type = [LValueReferenceType] const iterator & +#-----| ValueCategory = prvalue +#-----| getExpr(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [ClassTemplateInstantiation,Struct] iterator +#-----| ValueCategory = lvalue +# 2204| getUpdate(): [FunctionCall] call to operator++ +# 2204| Type = [LValueReferenceType] iterator & +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] (__begin) +# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2204| ValueCategory = lvalue +# 2204| getChild(5): [DeclStmt] declaration +# 2204| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2204| Type = [Class] ClassWithDestructor +# 2204| getVariable().getInitializer(): [Initializer] initializer for y +# 2204| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 2204| Type = [LValueReferenceType] ClassWithDestructor & +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] (__begin) +# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2204| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 2204| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2204| Type = [Class] ClassWithDestructor +# 2204| ValueCategory = prvalue(load) +# 2204| getStmt(): [BlockStmt] { ... } +# 2205| getStmt(0): [ExprStmt] ExprStmt +# 2205| getExpr(): [FunctionCall] call to set_x +# 2205| Type = [VoidType] void +# 2205| ValueCategory = prvalue +# 2205| getQualifier(): [VariableAccess] y +# 2205| Type = [Class] ClassWithDestructor +# 2205| ValueCategory = lvalue +# 2205| getArgument(0): [CharLiteral] 97 +# 2205| Type = [PlainCharType] char +# 2205| Value = [CharLiteral] 97 +# 2205| ValueCategory = prvalue +# 2206| getStmt(1): [IfStmt] if (...) ... +# 2206| getCondition(): [EQExpr] ... == ... +# 2206| Type = [BoolType] bool +# 2206| ValueCategory = prvalue +# 2206| getLeftOperand(): [FunctionCall] call to get_x +# 2206| Type = [PlainCharType] char +# 2206| ValueCategory = prvalue +# 2206| getQualifier(): [VariableAccess] y +# 2206| Type = [Class] ClassWithDestructor +# 2206| ValueCategory = lvalue +# 2206| getRightOperand(): [CharLiteral] 98 +# 2206| Type = [PlainCharType] char +# 2206| Value = [CharLiteral] 98 +# 2206| ValueCategory = prvalue +# 2206| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... +# 2206| Conversion = [IntegralConversion] integral conversion +# 2206| Type = [IntType] int +# 2206| ValueCategory = prvalue +# 2206| getRightOperand().getFullyConverted(): [CStyleCast] (int)... +# 2206| Conversion = [IntegralConversion] integral conversion +# 2206| Type = [IntType] int +# 2206| Value = [CStyleCast] 98 +# 2206| ValueCategory = prvalue +# 2207| getThen(): [ReturnStmt] return ... +# 2204| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2204| Type = [VoidType] void +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] y +# 2204| Type = [Class] ClassWithDestructor +# 2204| ValueCategory = lvalue +# 2204| getImplicitDestructorCall(1): [DestructorCall] call to ~vector +# 2204| Type = [VoidType] void +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] ys +# 2204| Type = [ClassTemplateInstantiation,Struct] vector +# 2204| ValueCategory = lvalue +# 2219| getImplicitDestructorCall(2): [DestructorCall] call to ~ClassWithDestructor +# 2219| Type = [VoidType] void +# 2219| ValueCategory = prvalue +# 2219| getQualifier(): [VariableAccess] x +# 2219| Type = [Class] ClassWithDestructor +# 2219| ValueCategory = lvalue +# 2204| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2204| Type = [VoidType] void +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] y +# 2204| Type = [Class] ClassWithDestructor +# 2204| ValueCategory = lvalue +# 2204| getImplicitDestructorCall(0): [DestructorCall] call to ~vector +# 2204| Type = [VoidType] void +# 2204| ValueCategory = prvalue +# 2204| getQualifier(): [VariableAccess] ys +# 2204| Type = [ClassTemplateInstantiation,Struct] vector +# 2204| ValueCategory = lvalue +# 2204| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2204| Type = [ClassTemplateInstantiation,Struct] iterator +# 2204| ValueCategory = lvalue +# 2210| getStmt(7): [RangeBasedForStmt] for(...:...) ... +# 2210| getInitialization(): [DeclStmt] declaration +# 2210| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys +# 2210| Type = [ClassTemplateInstantiation,Struct] vector +# 2210| getVariable().getInitializer(): [Initializer] initializer for ys +# 2210| getExpr(): [ConstructorCall] call to vector +# 2210| Type = [VoidType] void +# 2210| ValueCategory = prvalue +# 2210| getArgument(0): [Literal] 1 +# 2210| Type = [IntType] int +# 2210| Value = [Literal] 1 +# 2210| ValueCategory = prvalue +# 2210| getChild(1): [DeclStmt] declaration +# 2210| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2210| Type = [LValueReferenceType] vector & +#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) +# 2210| getExpr(): [VariableAccess] ys +# 2210| Type = [ClassTemplateInstantiation,Struct] vector +# 2210| ValueCategory = lvalue +# 2210| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2210| Type = [LValueReferenceType] vector & +# 2210| ValueCategory = prvalue +# 2210| getBeginEndDeclaration(): [DeclStmt] declaration +# 2210| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) +# 2210| getExpr(): [FunctionCall] call to begin +# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2210| ValueCategory = prvalue +# 2210| getQualifier(): [VariableAccess] (__range) +# 2210| Type = [LValueReferenceType] vector & +# 2210| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2210| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) +# 2210| getExpr(): [FunctionCall] call to end +# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2210| ValueCategory = prvalue +# 2210| getQualifier(): [VariableAccess] (__range) +# 2210| Type = [LValueReferenceType] vector & +# 2210| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2210| getCondition(): [FunctionCall] call to operator!= +# 2210| Type = [BoolType] bool +# 2210| ValueCategory = prvalue +# 2210| getQualifier(): [VariableAccess] (__begin) +# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2210| ValueCategory = lvalue +# 2210| getArgument(0): [ConstructorCall] call to iterator +# 2210| Type = [VoidType] void +# 2210| ValueCategory = prvalue +# 2210| getArgument(0): [VariableAccess] (__end) +# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2210| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +#-----| Type = [LValueReferenceType] const iterator & +#-----| ValueCategory = prvalue +#-----| getExpr(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [ClassTemplateInstantiation,Struct] iterator +#-----| ValueCategory = lvalue +# 2210| getUpdate(): [FunctionCall] call to operator++ +# 2210| Type = [LValueReferenceType] iterator & +# 2210| ValueCategory = prvalue +# 2210| getQualifier(): [VariableAccess] (__begin) +# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2210| ValueCategory = lvalue +# 2210| getChild(5): [DeclStmt] declaration +# 2210| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2210| Type = [IntType] int +# 2210| getVariable().getInitializer(): [Initializer] initializer for y +# 2210| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 2210| Type = [LValueReferenceType] int & +# 2210| ValueCategory = prvalue +# 2210| getQualifier(): [VariableAccess] (__begin) +# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2210| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 2210| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2210| Type = [IntType] int +# 2210| ValueCategory = prvalue(load) +# 2210| getStmt(): [BlockStmt] { ... } +# 2211| getStmt(0): [IfStmt] if (...) ... +# 2211| getCondition(): [EQExpr] ... == ... +# 2211| Type = [BoolType] bool +# 2211| ValueCategory = prvalue +# 2211| getLeftOperand(): [VariableAccess] y +# 2211| Type = [IntType] int +# 2211| ValueCategory = prvalue(load) +# 2211| getRightOperand(): [Literal] 1 +# 2211| Type = [IntType] int +# 2211| Value = [Literal] 1 +# 2211| ValueCategory = prvalue +# 2212| getThen(): [ReturnStmt] return ... +# 2210| getImplicitDestructorCall(0): [DestructorCall] call to ~vector +# 2210| Type = [VoidType] void +# 2210| ValueCategory = prvalue +# 2210| getQualifier(): [VariableAccess] ys +# 2210| Type = [ClassTemplateInstantiation,Struct] vector +# 2210| ValueCategory = lvalue +# 2219| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor +# 2219| Type = [VoidType] void +# 2219| ValueCategory = prvalue +# 2219| getQualifier(): [VariableAccess] x +# 2219| Type = [Class] ClassWithDestructor +# 2219| ValueCategory = lvalue +# 2210| getImplicitDestructorCall(0): [DestructorCall] call to ~vector +# 2210| Type = [VoidType] void +# 2210| ValueCategory = prvalue +# 2210| getQualifier(): [VariableAccess] ys +# 2210| Type = [ClassTemplateInstantiation,Struct] vector +# 2210| ValueCategory = lvalue +# 2210| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2210| Type = [ClassTemplateInstantiation,Struct] iterator +# 2210| ValueCategory = lvalue +# 2215| getStmt(8): [RangeBasedForStmt] for(...:...) ... +# 2215| getInitialization(): [DeclStmt] declaration +# 2215| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys +# 2215| Type = [ClassTemplateInstantiation,Struct] vector +# 2215| getVariable().getInitializer(): [Initializer] initializer for ys +# 2215| getExpr(): [ConstructorCall] call to vector +# 2215| Type = [VoidType] void +# 2215| ValueCategory = prvalue +# 2215| getArgument(0): [VariableAccess] x +# 2215| Type = [Class] ClassWithDestructor +# 2215| ValueCategory = prvalue(load) +# 2215| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2215| Type = [Class] ClassWithDestructor +# 2215| ValueCategory = lvalue +# 2215| getChild(1): [DeclStmt] declaration +# 2215| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2215| Type = [LValueReferenceType] vector & +#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) +# 2215| getExpr(): [VariableAccess] ys +# 2215| Type = [ClassTemplateInstantiation,Struct] vector +# 2215| ValueCategory = lvalue +# 2215| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2215| Type = [LValueReferenceType] vector & +# 2215| ValueCategory = prvalue +# 2215| getBeginEndDeclaration(): [DeclStmt] declaration +# 2215| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) +# 2215| getExpr(): [FunctionCall] call to begin +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] (__range) +# 2215| Type = [LValueReferenceType] vector & +# 2215| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2215| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) +# 2215| getExpr(): [FunctionCall] call to end +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] (__range) +# 2215| Type = [LValueReferenceType] vector & +# 2215| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2215| getCondition(): [FunctionCall] call to operator!= +# 2215| Type = [BoolType] bool +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] (__begin) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = lvalue +# 2215| getArgument(0): [ConstructorCall] call to iterator +# 2215| Type = [VoidType] void +# 2215| ValueCategory = prvalue +# 2215| getArgument(0): [VariableAccess] (__end) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +#-----| Type = [LValueReferenceType] const iterator & +#-----| ValueCategory = prvalue +#-----| getExpr(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [ClassTemplateInstantiation,Struct] iterator +#-----| ValueCategory = lvalue +# 2215| getUpdate(): [FunctionCall] call to operator++ +# 2215| Type = [LValueReferenceType] iterator & +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] (__begin) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = lvalue +# 2215| getChild(5): [DeclStmt] declaration +# 2215| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2215| Type = [Class] ClassWithDestructor +# 2215| getVariable().getInitializer(): [Initializer] initializer for y +# 2215| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 2215| Type = [LValueReferenceType] ClassWithDestructor & +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] (__begin) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 2215| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2215| Type = [Class] ClassWithDestructor +# 2215| ValueCategory = prvalue(load) +# 2215| getStmt(): [BlockStmt] { ... } +# 2216| getStmt(0): [DeclStmt] declaration +# 2216| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z1 +# 2216| Type = [Class] ClassWithDestructor +# 2216| getVariable().getInitializer(): [Initializer] initializer for z1 +# 2216| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2216| Type = [VoidType] void +# 2216| ValueCategory = prvalue +# 2217| getStmt(1): [DeclStmt] declaration +# 2217| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z2 +# 2217| Type = [Class] ClassWithDestructor +# 2217| getVariable().getInitializer(): [Initializer] initializer for z2 +# 2217| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2217| Type = [VoidType] void +# 2217| ValueCategory = prvalue +# 2218| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2218| Type = [VoidType] void +# 2218| ValueCategory = prvalue +# 2218| getQualifier(): [VariableAccess] z2 +# 2218| Type = [Class] ClassWithDestructor +# 2218| ValueCategory = lvalue +# 2218| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor +# 2218| Type = [VoidType] void +# 2218| ValueCategory = prvalue +# 2218| getQualifier(): [VariableAccess] z1 +# 2218| Type = [Class] ClassWithDestructor +# 2218| ValueCategory = lvalue +# 2215| getImplicitDestructorCall(2): [DestructorCall] call to ~ClassWithDestructor +# 2215| Type = [VoidType] void +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] y +# 2215| Type = [Class] ClassWithDestructor +# 2215| ValueCategory = lvalue +# 2215| getImplicitDestructorCall(0): [DestructorCall] call to ~vector +# 2215| Type = [VoidType] void +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] ys +# 2215| Type = [ClassTemplateInstantiation,Struct] vector +# 2215| ValueCategory = lvalue +# 2215| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2215| Type = [ClassTemplateInstantiation,Struct] iterator +# 2215| ValueCategory = lvalue +# 2219| getStmt(9): [ReturnStmt] return ... +# 2219| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2219| Type = [VoidType] void +# 2219| ValueCategory = prvalue +# 2219| getQualifier(): [VariableAccess] x +# 2219| Type = [Class] ClassWithDestructor +# 2219| ValueCategory = lvalue +# 2221| [TopLevelFunction] void static_variable_with_destructor_1() +# 2221| : +# 2221| getEntryPoint(): [BlockStmt] { ... } +# 2222| getStmt(0): [DeclStmt] declaration +# 2222| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a +# 2222| Type = [Class] ClassWithDestructor +# 2222| getVariable().getInitializer(): [Initializer] initializer for a +# 2222| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2222| Type = [VoidType] void +# 2222| ValueCategory = prvalue +# 2223| getStmt(1): [DeclStmt] declaration +# 2223| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 2223| Type = [Class] ClassWithDestructor #-----| getVariable().getInitializer(): [Initializer] initializer for b #-----| getExpr(): [ConstructorCall] call to ClassWithDestructor #-----| Type = [VoidType] void #-----| ValueCategory = prvalue -# 2177| getStmt(2): [ReturnStmt] return ... -# 2177| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2177| Type = [VoidType] void -# 2177| ValueCategory = prvalue -# 2177| getQualifier(): [VariableAccess] a -# 2177| Type = [Class] ClassWithDestructor -# 2177| ValueCategory = lvalue -# 2179| [TopLevelFunction] void static_variable_with_destructor_2() -# 2179| : -# 2179| getEntryPoint(): [BlockStmt] { ... } -# 2180| getStmt(0): [DeclStmt] declaration -# 2180| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 2180| Type = [Class] ClassWithDestructor +# 2224| getStmt(2): [ReturnStmt] return ... +# 2224| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2224| Type = [VoidType] void +# 2224| ValueCategory = prvalue +# 2224| getQualifier(): [VariableAccess] a +# 2224| Type = [Class] ClassWithDestructor +# 2224| ValueCategory = lvalue +# 2226| [TopLevelFunction] void static_variable_with_destructor_2() +# 2226| : +# 2226| getEntryPoint(): [BlockStmt] { ... } +# 2227| getStmt(0): [DeclStmt] declaration +# 2227| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a +# 2227| Type = [Class] ClassWithDestructor #-----| getVariable().getInitializer(): [Initializer] initializer for a #-----| getExpr(): [ConstructorCall] call to ClassWithDestructor #-----| Type = [VoidType] void #-----| ValueCategory = prvalue -# 2181| getStmt(1): [DeclStmt] declaration -# 2181| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 2181| Type = [Class] ClassWithDestructor -# 2181| getVariable().getInitializer(): [Initializer] initializer for b -# 2181| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2181| Type = [VoidType] void -# 2181| ValueCategory = prvalue -# 2182| getStmt(2): [ReturnStmt] return ... -# 2182| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2182| Type = [VoidType] void -# 2182| ValueCategory = prvalue -# 2182| getQualifier(): [VariableAccess] b -# 2182| Type = [Class] ClassWithDestructor -# 2182| ValueCategory = lvalue -# 2184| [TopLevelFunction] void static_variable_with_destructor_3() -# 2184| : -# 2184| getEntryPoint(): [BlockStmt] { ... } -# 2185| getStmt(0): [DeclStmt] declaration -# 2185| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 2185| Type = [Class] ClassWithDestructor -# 2185| getVariable().getInitializer(): [Initializer] initializer for a -# 2185| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2185| Type = [VoidType] void -# 2185| ValueCategory = prvalue -# 2186| getStmt(1): [DeclStmt] declaration -# 2186| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 2186| Type = [Class] ClassWithDestructor -# 2186| getVariable().getInitializer(): [Initializer] initializer for b -# 2186| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2186| Type = [VoidType] void -# 2186| ValueCategory = prvalue -# 2187| getStmt(2): [DeclStmt] declaration -# 2187| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 2187| Type = [Class] ClassWithDestructor +# 2228| getStmt(1): [DeclStmt] declaration +# 2228| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 2228| Type = [Class] ClassWithDestructor +# 2228| getVariable().getInitializer(): [Initializer] initializer for b +# 2228| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2228| Type = [VoidType] void +# 2228| ValueCategory = prvalue +# 2229| getStmt(2): [ReturnStmt] return ... +# 2229| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2229| Type = [VoidType] void +# 2229| ValueCategory = prvalue +# 2229| getQualifier(): [VariableAccess] b +# 2229| Type = [Class] ClassWithDestructor +# 2229| ValueCategory = lvalue +# 2231| [TopLevelFunction] void static_variable_with_destructor_3() +# 2231| : +# 2231| getEntryPoint(): [BlockStmt] { ... } +# 2232| getStmt(0): [DeclStmt] declaration +# 2232| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a +# 2232| Type = [Class] ClassWithDestructor +# 2232| getVariable().getInitializer(): [Initializer] initializer for a +# 2232| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2232| Type = [VoidType] void +# 2232| ValueCategory = prvalue +# 2233| getStmt(1): [DeclStmt] declaration +# 2233| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 2233| Type = [Class] ClassWithDestructor +# 2233| getVariable().getInitializer(): [Initializer] initializer for b +# 2233| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2233| Type = [VoidType] void +# 2233| ValueCategory = prvalue +# 2234| getStmt(2): [DeclStmt] declaration +# 2234| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 2234| Type = [Class] ClassWithDestructor #-----| getVariable().getInitializer(): [Initializer] initializer for c #-----| getExpr(): [ConstructorCall] call to ClassWithDestructor #-----| Type = [VoidType] void #-----| ValueCategory = prvalue -# 2188| getStmt(3): [ReturnStmt] return ... -# 2188| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2188| Type = [VoidType] void -# 2188| ValueCategory = prvalue -# 2188| getQualifier(): [VariableAccess] b -# 2188| Type = [Class] ClassWithDestructor -# 2188| ValueCategory = lvalue -# 2188| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor -# 2188| Type = [VoidType] void -# 2188| ValueCategory = prvalue -# 2188| getQualifier(): [VariableAccess] a -# 2188| Type = [Class] ClassWithDestructor -# 2188| ValueCategory = lvalue -# 2190| [GlobalVariable] ClassWithDestructor global_class_with_destructor -# 2190| getInitializer(): [Initializer] initializer for global_class_with_destructor -# 2190| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2190| Type = [VoidType] void -# 2190| ValueCategory = prvalue -# 2194| [FunctionTemplateInstantiation,TopLevelFunction] ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) -# 2194| : -# 2194| getParameter(0): [Parameter] t -# 2194| Type = [LValueReferenceType] ClassWithDestructor & -# 2194| getEntryPoint(): [BlockStmt] { ... } -# 2194| getStmt(0): [ReturnStmt] return ... -# 2194| getExpr(): [VariableAccess] t -# 2194| Type = [LValueReferenceType] ClassWithDestructor & -# 2194| ValueCategory = prvalue(load) -# 2194| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2194| Type = [LValueReferenceType] ClassWithDestructor & -# 2194| ValueCategory = prvalue -# 2194| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2194| Type = [Class] ClassWithDestructor -# 2194| ValueCategory = lvalue -# 2194| [TemplateFunction,TopLevelFunction] T& vacuous_destructor_call::get(T&) -# 2194| : -# 2194| getParameter(0): [Parameter] t -# 2194| Type = [LValueReferenceType] T & -# 2194| getEntryPoint(): [BlockStmt] { ... } -# 2194| getStmt(0): [ReturnStmt] return ... -# 2194| getExpr(): [VariableAccess] t -# 2194| Type = [LValueReferenceType] T & -# 2194| ValueCategory = prvalue(load) -# 2194| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2194| Type = [TemplateParameter] T -# 2194| ValueCategory = lvalue -# 2194| [FunctionTemplateInstantiation,TopLevelFunction] int& vacuous_destructor_call::get(int&) -# 2194| : -# 2194| getParameter(0): [Parameter] t -# 2194| Type = [LValueReferenceType] int & -# 2194| getEntryPoint(): [BlockStmt] { ... } -# 2194| getStmt(0): [ReturnStmt] return ... -# 2194| getExpr(): [VariableAccess] t -# 2194| Type = [LValueReferenceType] int & -# 2194| ValueCategory = prvalue(load) -# 2194| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2194| Type = [LValueReferenceType] int & -# 2194| ValueCategory = prvalue -# 2194| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2194| Type = [IntType] int -# 2194| ValueCategory = lvalue -# 2197| [FunctionTemplateInstantiation,TopLevelFunction] void vacuous_destructor_call::call_destructor(ClassWithDestructor&) -# 2197| : -# 2197| getParameter(0): [Parameter] t -# 2197| Type = [LValueReferenceType] ClassWithDestructor & -# 2197| getEntryPoint(): [BlockStmt] { ... } -# 2198| getStmt(0): [ExprStmt] ExprStmt -# 2198| getExpr(): [DestructorCall] call to ~ClassWithDestructor -# 2198| Type = [VoidType] void -# 2198| ValueCategory = prvalue -# 2198| getQualifier(): [FunctionCall] call to get -# 2198| Type = [LValueReferenceType] ClassWithDestructor & -# 2198| ValueCategory = prvalue -# 2198| getArgument(0): [VariableAccess] t -# 2198| Type = [LValueReferenceType] ClassWithDestructor & -# 2198| ValueCategory = prvalue(load) -# 2198| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2198| Type = [LValueReferenceType] ClassWithDestructor & -# 2198| ValueCategory = prvalue -# 2198| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2198| Type = [Class] ClassWithDestructor -# 2198| ValueCategory = lvalue -# 2198| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2198| Type = [Class] ClassWithDestructor -# 2198| ValueCategory = lvalue -# 2199| getStmt(1): [ReturnStmt] return ... -# 2197| [TemplateFunction,TopLevelFunction] void vacuous_destructor_call::call_destructor(T&) -# 2197| : -# 2197| getParameter(0): [Parameter] t -# 2197| Type = [LValueReferenceType] T & -# 2197| getEntryPoint(): [BlockStmt] { ... } -# 2198| getStmt(0): [ExprStmt] ExprStmt -# 2198| getExpr(): [ExprCall] call to expression -# 2198| Type = [UnknownType] unknown -# 2198| ValueCategory = prvalue -# 2198| getExpr(): [Literal] Unknown literal -# 2198| Type = [UnknownType] unknown -# 2198| ValueCategory = prvalue -# 2198| getChild(-1): [ExprCall] call to expression -# 2198| Type = [UnknownType] unknown -# 2198| ValueCategory = prvalue -# 2198| getExpr(): [Literal] Unknown literal -# 2198| Type = [UnknownType] unknown -# 2198| ValueCategory = prvalue -# 2198| getArgument(0): [VariableAccess] t -# 2198| Type = [LValueReferenceType] T & -# 2198| ValueCategory = prvalue(load) -# 2198| getArgument(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2198| Type = [TemplateParameter] T -# 2198| ValueCategory = lvalue -# 2199| getStmt(1): [ReturnStmt] return ... -# 2197| [FunctionTemplateInstantiation,TopLevelFunction] void vacuous_destructor_call::call_destructor(int&) -# 2197| : -# 2197| getParameter(0): [Parameter] t -# 2197| Type = [LValueReferenceType] int & -# 2197| getEntryPoint(): [BlockStmt] { ... } -# 2198| getStmt(0): [ExprStmt] ExprStmt -# 2198| getExpr(): [VacuousDestructorCall] (vacuous destructor call) -# 2198| Type = [VoidType] void -# 2198| ValueCategory = prvalue -# 2198| getChild(0): [FunctionCall] call to get -# 2198| Type = [LValueReferenceType] int & -# 2198| ValueCategory = prvalue -# 2198| getArgument(0): [VariableAccess] t -# 2198| Type = [LValueReferenceType] int & -# 2198| ValueCategory = prvalue(load) -# 2198| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2198| Type = [LValueReferenceType] int & -# 2198| ValueCategory = prvalue -# 2198| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2198| Type = [IntType] int -# 2198| ValueCategory = lvalue -# 2198| getChild(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2198| Type = [IntType] int -# 2198| ValueCategory = lvalue -# 2199| getStmt(1): [ReturnStmt] return ... -# 2201| [TopLevelFunction] void vacuous_destructor_call::non_vacuous_destructor_call() -# 2201| : -# 2201| getEntryPoint(): [BlockStmt] { ... } -# 2202| getStmt(0): [DeclStmt] declaration -# 2202| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 2202| Type = [Class] ClassWithDestructor -# 2202| getVariable().getInitializer(): [Initializer] initializer for c -# 2202| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2202| Type = [VoidType] void -# 2202| ValueCategory = prvalue -# 2203| getStmt(1): [ExprStmt] ExprStmt -# 2203| getExpr(): [FunctionCall] call to call_destructor -# 2203| Type = [VoidType] void -# 2203| ValueCategory = prvalue -# 2203| getArgument(0): [VariableAccess] c -# 2203| Type = [Class] ClassWithDestructor -# 2203| ValueCategory = lvalue -# 2203| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2203| Type = [LValueReferenceType] ClassWithDestructor & -# 2203| ValueCategory = prvalue -# 2204| getStmt(2): [ReturnStmt] return ... -# 2204| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2204| Type = [VoidType] void -# 2204| ValueCategory = prvalue -# 2204| getQualifier(): [VariableAccess] c -# 2204| Type = [Class] ClassWithDestructor -# 2204| ValueCategory = lvalue -# 2206| [TopLevelFunction] void vacuous_destructor_call::vacuous_destructor_call() -# 2206| : -# 2206| getEntryPoint(): [BlockStmt] { ... } -# 2207| getStmt(0): [DeclStmt] declaration -# 2207| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 2207| Type = [IntType] int -# 2208| getStmt(1): [ExprStmt] ExprStmt -# 2208| getExpr(): [FunctionCall] call to call_destructor -# 2208| Type = [VoidType] void -# 2208| ValueCategory = prvalue -# 2208| getArgument(0): [VariableAccess] i -# 2208| Type = [IntType] int -# 2208| ValueCategory = lvalue -# 2208| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2208| Type = [LValueReferenceType] int & -# 2208| ValueCategory = prvalue -# 2209| getStmt(2): [ReturnStmt] return ... -# 2212| [TopLevelFunction] void TryCatchDestructors(bool) -# 2212| : -# 2212| getParameter(0): [Parameter] b -# 2212| Type = [BoolType] bool -# 2212| getEntryPoint(): [BlockStmt] { ... } -# 2213| getStmt(0): [TryStmt] try { ... } -# 2213| getStmt(): [BlockStmt] { ... } -# 2214| getStmt(0): [DeclStmt] declaration -# 2214| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2214| Type = [Struct] String -# 2214| getVariable().getInitializer(): [Initializer] initializer for s -# 2214| getExpr(): [ConstructorCall] call to String -# 2214| Type = [VoidType] void -# 2214| ValueCategory = prvalue -# 2215| getStmt(1): [IfStmt] if (...) ... -# 2215| getCondition(): [VariableAccess] b -# 2215| Type = [BoolType] bool -# 2215| ValueCategory = prvalue(load) -# 2215| getThen(): [BlockStmt] { ... } -# 2216| getStmt(0): [ExprStmt] ExprStmt -# 2216| getExpr(): [ThrowExpr] throw ... -# 2216| Type = [PointerType] const char * -# 2216| ValueCategory = prvalue -# 2216| getExpr(): string literal -# 2216| Type = [ArrayType] const char[15] -# 2216| Value = [StringLiteral] "string literal" -# 2216| ValueCategory = lvalue -# 2219| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2219| Type = [VoidType] void -# 2219| ValueCategory = prvalue -# 2219| getQualifier(): [VariableAccess] s -# 2219| Type = [Struct] String -# 2219| ValueCategory = lvalue -# 2216| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2216| Type = [PointerType] const char * -# 2216| ValueCategory = prvalue -# 2218| getStmt(2): [DeclStmt] declaration -# 2218| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 -# 2218| Type = [Struct] String -# 2218| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2218| getExpr(): [ConstructorCall] call to String -# 2218| Type = [VoidType] void -# 2218| ValueCategory = prvalue -# 2219| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2219| Type = [VoidType] void -# 2219| ValueCategory = prvalue -# 2219| getQualifier(): [VariableAccess] s2 -# 2219| Type = [Struct] String -# 2219| ValueCategory = lvalue -# 2219| getImplicitDestructorCall(1): [DestructorCall] call to ~String -# 2219| Type = [VoidType] void -# 2219| ValueCategory = prvalue -# 2219| getQualifier(): [VariableAccess] s -# 2219| Type = [Struct] String -# 2219| ValueCategory = lvalue -# 2220| getChild(1): [Handler] -# 2220| getBlock(): [CatchBlock] { ... } -# 2221| getStmt(0): [ExprStmt] ExprStmt -# 2221| getExpr(): [ThrowExpr] throw ... -# 2221| Type = [Struct] String -# 2221| ValueCategory = prvalue -# 2221| getExpr(): [ConstructorCall] call to String -# 2221| Type = [VoidType] void -# 2221| ValueCategory = prvalue -# 2221| getArgument(0): [VariableAccess] s -# 2221| Type = [PointerType] const char * -# 2221| ValueCategory = prvalue(load) -# 2223| getChild(2): [Handler] -# 2223| getBlock(): [CatchBlock] { ... } -# 2225| getChild(3): [Handler] -# 2225| getBlock(): [CatchAnyBlock] { ... } -# 2226| getStmt(0): [ExprStmt] ExprStmt -# 2226| getExpr(): [ReThrowExpr] re-throw exception -# 2226| Type = [VoidType] void -# 2226| ValueCategory = prvalue -# 2228| getStmt(1): [ReturnStmt] return ... -# 2230| [TopLevelFunction] void IfDestructors(bool) -# 2230| : -# 2230| getParameter(0): [Parameter] b -# 2230| Type = [BoolType] bool -# 2230| getEntryPoint(): [BlockStmt] { ... } -# 2231| getStmt(0): [DeclStmt] declaration -# 2231| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s1 -# 2231| Type = [Struct] String -# 2231| getVariable().getInitializer(): [Initializer] initializer for s1 -# 2231| getExpr(): [ConstructorCall] call to String -# 2231| Type = [VoidType] void -# 2231| ValueCategory = prvalue -# 2232| getStmt(1): [IfStmt] if (...) ... -# 2232| getCondition(): [VariableAccess] b -# 2232| Type = [BoolType] bool -# 2232| ValueCategory = prvalue(load) -# 2232| getThen(): [BlockStmt] { ... } -# 2233| getStmt(0): [DeclStmt] declaration -# 2233| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 -# 2233| Type = [Struct] String -# 2233| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2233| getExpr(): [ConstructorCall] call to String -# 2233| Type = [VoidType] void -# 2233| ValueCategory = prvalue -# 2234| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2234| Type = [VoidType] void -# 2234| ValueCategory = prvalue -# 2234| getQualifier(): [VariableAccess] s2 -# 2234| Type = [Struct] String -# 2234| ValueCategory = lvalue -# 2234| getElse(): [BlockStmt] { ... } -# 2235| getStmt(0): [DeclStmt] declaration -# 2235| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s3 -# 2235| Type = [Struct] String -# 2235| getVariable().getInitializer(): [Initializer] initializer for s3 -# 2235| getExpr(): [ConstructorCall] call to String -# 2235| Type = [VoidType] void -# 2235| ValueCategory = prvalue -# 2236| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2236| Type = [VoidType] void -# 2236| ValueCategory = prvalue -# 2236| getQualifier(): [VariableAccess] s3 -# 2236| Type = [Struct] String -# 2236| ValueCategory = lvalue -# 2237| getStmt(2): [DeclStmt] declaration -# 2237| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s4 -# 2237| Type = [Struct] String -# 2237| getVariable().getInitializer(): [Initializer] initializer for s4 -# 2237| getExpr(): [ConstructorCall] call to String -# 2237| Type = [VoidType] void -# 2237| ValueCategory = prvalue -# 2238| getStmt(3): [ReturnStmt] return ... -# 2238| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2238| Type = [VoidType] void -# 2238| ValueCategory = prvalue -# 2238| getQualifier(): [VariableAccess] s4 -# 2238| Type = [Struct] String -# 2238| ValueCategory = lvalue -# 2238| getImplicitDestructorCall(1): [DestructorCall] call to ~String -# 2238| Type = [VoidType] void -# 2238| ValueCategory = prvalue -# 2238| getQualifier(): [VariableAccess] s1 -# 2238| Type = [Struct] String -# 2238| ValueCategory = lvalue -# 2240| [TopLevelFunction] void ForDestructors() -# 2240| : -# 2240| getEntryPoint(): [BlockStmt] { ... } -# 2241| getStmt(0): [DeclStmt] declaration -# 2241| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 2241| Type = [PlainCharType] char -# 2241| getVariable().getInitializer(): [Initializer] initializer for c -# 2241| getExpr(): [CharLiteral] 97 -# 2241| Type = [PlainCharType] char -# 2241| Value = [CharLiteral] 97 -# 2241| ValueCategory = prvalue -# 2242| getStmt(1): [ForStmt] for(...;...;...) ... -# 2242| getInitialization(): [DeclStmt] declaration -# 2242| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2242| Type = [Struct] String -# 2242| getVariable().getInitializer(): [Initializer] initializer for s -# 2242| getExpr(): [ConstructorCall] call to String -# 2242| Type = [VoidType] void -# 2242| ValueCategory = prvalue -# 2242| getArgument(0): hello -# 2242| Type = [ArrayType] const char[6] -# 2242| Value = [StringLiteral] "hello" -# 2242| ValueCategory = lvalue -# 2242| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2242| Type = [PointerType] const char * -# 2242| ValueCategory = prvalue -# 2242| getCondition(): [NEExpr] ... != ... -# 2242| Type = [BoolType] bool -# 2242| ValueCategory = prvalue -# 2242| getLeftOperand(): [VariableAccess] c -# 2242| Type = [PlainCharType] char -# 2242| ValueCategory = prvalue(load) -# 2242| getRightOperand(): [Literal] 0 -# 2242| Type = [IntType] int -# 2242| Value = [Literal] 0 -# 2242| ValueCategory = prvalue -# 2242| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... -# 2242| Conversion = [IntegralConversion] integral conversion -# 2242| Type = [IntType] int -# 2242| ValueCategory = prvalue -# 2242| getUpdate(): [AssignExpr] ... = ... -# 2242| Type = [PlainCharType] char -# 2242| ValueCategory = lvalue -# 2242| getLValue(): [VariableAccess] c -# 2242| Type = [PlainCharType] char -# 2242| ValueCategory = lvalue -# 2242| getRValue(): [FunctionCall] call to pop_back -# 2242| Type = [PlainCharType] char -# 2242| ValueCategory = prvalue -# 2242| getQualifier(): [VariableAccess] s -# 2242| Type = [Struct] String -# 2242| ValueCategory = lvalue -# 2242| getStmt(): [BlockStmt] { ... } -# 2243| getStmt(0): [DeclStmt] declaration -# 2243| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 -# 2243| Type = [Struct] String -# 2243| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2243| getExpr(): [ConstructorCall] call to String -# 2243| Type = [VoidType] void -# 2243| ValueCategory = prvalue -# 2244| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2244| Type = [VoidType] void -# 2244| ValueCategory = prvalue -# 2244| getQualifier(): [VariableAccess] s2 -# 2244| Type = [Struct] String -# 2244| ValueCategory = lvalue -# 2242| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2242| Type = [VoidType] void -# 2242| ValueCategory = prvalue -# 2242| getQualifier(): [VariableAccess] s -# 2242| Type = [Struct] String -# 2242| ValueCategory = lvalue -# 2246| getStmt(2): [RangeBasedForStmt] for(...:...) ... -# 2246| getChild(1): [DeclStmt] declaration -# 2246| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 2246| Type = [RValueReferenceType] vector && -#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 2246| getExpr(): [ConstructorCall] call to vector -# 2246| Type = [VoidType] void -# 2246| ValueCategory = prvalue -# 2246| getArgument(0): [ConstructorCall] call to String -# 2246| Type = [VoidType] void -# 2246| ValueCategory = prvalue -# 2246| getArgument(0): hello -# 2246| Type = [ArrayType] const char[6] -# 2246| Value = [StringLiteral] "hello" -# 2246| ValueCategory = lvalue -# 2246| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2246| Type = [PointerType] const char * -# 2246| ValueCategory = prvalue -# 2246| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2246| Type = [Struct] String -# 2246| ValueCategory = lvalue -# 2246| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2246| Type = [LValueReferenceType] vector & -# 2246| ValueCategory = prvalue -# 2246| getExpr(): [TemporaryObjectExpr] temporary object -# 2246| Type = [ClassTemplateInstantiation,Struct] vector -# 2246| ValueCategory = xvalue -# 2246| getBeginEndDeclaration(): [DeclStmt] declaration -# 2246| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 2246| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 2246| getExpr(): [FunctionCall] call to begin -# 2246| Type = [NestedStruct] iterator -# 2246| ValueCategory = prvalue -# 2246| getQualifier(): [VariableAccess] (__range) -# 2246| Type = [RValueReferenceType] vector && -# 2246| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2246| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 2246| Type = [NestedStruct] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 2246| getExpr(): [FunctionCall] call to end -# 2246| Type = [NestedStruct] iterator -# 2246| ValueCategory = prvalue -# 2246| getQualifier(): [VariableAccess] (__range) -# 2246| Type = [RValueReferenceType] vector && -# 2246| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2246| getCondition(): [FunctionCall] call to operator!= -# 2246| Type = [BoolType] bool -# 2246| ValueCategory = prvalue -# 2246| getQualifier(): [VariableAccess] (__begin) -# 2246| Type = [NestedStruct] iterator -# 2246| ValueCategory = lvalue -# 2246| getArgument(0): [VariableAccess] (__end) -# 2246| Type = [NestedStruct] iterator -# 2246| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2246| getUpdate(): [FunctionCall] call to operator++ -# 2246| Type = [LValueReferenceType] iterator & -# 2246| ValueCategory = prvalue -# 2246| getQualifier(): [VariableAccess] (__begin) -# 2246| Type = [NestedStruct] iterator -# 2246| ValueCategory = lvalue -# 2246| getChild(5): [DeclStmt] declaration -# 2246| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2246| Type = [Struct] String -# 2246| getVariable().getInitializer(): [Initializer] initializer for s -# 2246| getExpr(): [ConstructorCall] call to String -# 2246| Type = [VoidType] void -# 2246| ValueCategory = prvalue -# 2246| getArgument(0): [OverloadedPointerDereferenceExpr] call to operator* -# 2246| Type = [LValueReferenceType] String & -# 2246| ValueCategory = prvalue -# 2246| getQualifier(): [VariableAccess] (__begin) -# 2246| Type = [NestedStruct] iterator -# 2246| ValueCategory = lvalue -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2246| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2246| Type = [LValueReferenceType] const String & -# 2246| ValueCategory = prvalue -# 2246| getExpr(): [CStyleCast] (const String)... -# 2246| Conversion = [GlvalueConversion] glvalue conversion -# 2246| Type = [SpecifiedType] const String -# 2246| ValueCategory = lvalue -# 2246| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2246| Type = [Struct] String -# 2246| ValueCategory = lvalue -# 2246| getStmt(): [BlockStmt] { ... } -# 2247| getStmt(0): [DeclStmt] declaration -# 2247| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 -# 2247| Type = [Struct] String -# 2247| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2247| getExpr(): [ConstructorCall] call to String -# 2247| Type = [VoidType] void -# 2247| ValueCategory = prvalue -# 2248| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2248| Type = [VoidType] void -# 2248| ValueCategory = prvalue -# 2248| getQualifier(): [VariableAccess] s2 -# 2248| Type = [Struct] String -# 2248| ValueCategory = lvalue -# 2246| getImplicitDestructorCall(1): [DestructorCall] call to ~String -# 2246| Type = [VoidType] void -# 2246| ValueCategory = prvalue -# 2246| getQualifier(): [VariableAccess] s -# 2246| Type = [Struct] String -# 2246| ValueCategory = lvalue -# 2246| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2246| Type = [NestedStruct] iterator -# 2246| ValueCategory = lvalue -# 2250| getStmt(3): [ForStmt] for(...;...;...) ... -# 2250| getInitialization(): [DeclStmt] declaration -# 2250| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2250| Type = [Struct] String -# 2250| getVariable().getInitializer(): [Initializer] initializer for s -# 2250| getExpr(): [ConstructorCall] call to String -# 2250| Type = [VoidType] void -# 2250| ValueCategory = prvalue -# 2250| getArgument(0): hello -# 2250| Type = [ArrayType] const char[6] -# 2250| Value = [StringLiteral] "hello" -# 2250| ValueCategory = lvalue -# 2250| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2250| Type = [PointerType] const char * -# 2250| ValueCategory = prvalue -# 2250| getDeclarationEntry(1): [VariableDeclarationEntry] definition of s2 -# 2250| Type = [Struct] String -# 2250| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2250| getExpr(): [ConstructorCall] call to String -# 2250| Type = [VoidType] void -# 2250| ValueCategory = prvalue -# 2250| getArgument(0): world -# 2250| Type = [ArrayType] const char[6] -# 2250| Value = [StringLiteral] "world" -# 2250| ValueCategory = lvalue -# 2250| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2250| Type = [PointerType] const char * -# 2250| ValueCategory = prvalue -# 2250| getCondition(): [NEExpr] ... != ... -# 2250| Type = [BoolType] bool -# 2250| ValueCategory = prvalue -# 2250| getLeftOperand(): [VariableAccess] c -# 2250| Type = [PlainCharType] char -# 2250| ValueCategory = prvalue(load) -# 2250| getRightOperand(): [Literal] 0 -# 2250| Type = [IntType] int -# 2250| Value = [Literal] 0 -# 2250| ValueCategory = prvalue -# 2250| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... -# 2250| Conversion = [IntegralConversion] integral conversion -# 2250| Type = [IntType] int -# 2250| ValueCategory = prvalue -# 2250| getUpdate(): [AssignExpr] ... = ... -# 2250| Type = [PlainCharType] char -# 2250| ValueCategory = lvalue -# 2250| getLValue(): [VariableAccess] c -# 2250| Type = [PlainCharType] char -# 2250| ValueCategory = lvalue -# 2250| getRValue(): [FunctionCall] call to pop_back -# 2250| Type = [PlainCharType] char -# 2250| ValueCategory = prvalue -# 2250| getQualifier(): [VariableAccess] s -# 2250| Type = [Struct] String -# 2250| ValueCategory = lvalue -# 2250| getStmt(): [BlockStmt] { ... } -# 2251| getStmt(0): [ExprStmt] ExprStmt -# 2251| getExpr(): [AssignExpr] ... = ... -# 2251| Type = [PlainCharType] char -# 2251| ValueCategory = lvalue -# 2251| getLValue(): [VariableAccess] c -# 2251| Type = [PlainCharType] char -# 2251| ValueCategory = lvalue -# 2251| getRValue(): [Literal] 0 -# 2251| Type = [IntType] int -# 2251| Value = [Literal] 0 -# 2251| ValueCategory = prvalue -# 2251| getRValue().getFullyConverted(): [CStyleCast] (char)... -# 2251| Conversion = [IntegralConversion] integral conversion -# 2251| Type = [PlainCharType] char -# 2251| Value = [CStyleCast] 0 -# 2251| ValueCategory = prvalue -# 2250| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2235| getStmt(3): [ReturnStmt] return ... +# 2235| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2235| Type = [VoidType] void +# 2235| ValueCategory = prvalue +# 2235| getQualifier(): [VariableAccess] b +# 2235| Type = [Class] ClassWithDestructor +# 2235| ValueCategory = lvalue +# 2235| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor +# 2235| Type = [VoidType] void +# 2235| ValueCategory = prvalue +# 2235| getQualifier(): [VariableAccess] a +# 2235| Type = [Class] ClassWithDestructor +# 2235| ValueCategory = lvalue +# 2237| [GlobalVariable] ClassWithDestructor global_class_with_destructor +# 2237| getInitializer(): [Initializer] initializer for global_class_with_destructor +# 2237| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2237| Type = [VoidType] void +# 2237| ValueCategory = prvalue +# 2241| [FunctionTemplateInstantiation,TopLevelFunction] ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) +# 2241| : +# 2241| getParameter(0): [Parameter] t +# 2241| Type = [LValueReferenceType] ClassWithDestructor & +# 2241| getEntryPoint(): [BlockStmt] { ... } +# 2241| getStmt(0): [ReturnStmt] return ... +# 2241| getExpr(): [VariableAccess] t +# 2241| Type = [LValueReferenceType] ClassWithDestructor & +# 2241| ValueCategory = prvalue(load) +# 2241| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2241| Type = [LValueReferenceType] ClassWithDestructor & +# 2241| ValueCategory = prvalue +# 2241| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2241| Type = [Class] ClassWithDestructor +# 2241| ValueCategory = lvalue +# 2241| [TemplateFunction,TopLevelFunction] T& vacuous_destructor_call::get(T&) +# 2241| : +# 2241| getParameter(0): [Parameter] t +# 2241| Type = [LValueReferenceType] T & +# 2241| getEntryPoint(): [BlockStmt] { ... } +# 2241| getStmt(0): [ReturnStmt] return ... +# 2241| getExpr(): [VariableAccess] t +# 2241| Type = [LValueReferenceType] T & +# 2241| ValueCategory = prvalue(load) +# 2241| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2241| Type = [TemplateParameter] T +# 2241| ValueCategory = lvalue +# 2241| [FunctionTemplateInstantiation,TopLevelFunction] int& vacuous_destructor_call::get(int&) +# 2241| : +# 2241| getParameter(0): [Parameter] t +# 2241| Type = [LValueReferenceType] int & +# 2241| getEntryPoint(): [BlockStmt] { ... } +# 2241| getStmt(0): [ReturnStmt] return ... +# 2241| getExpr(): [VariableAccess] t +# 2241| Type = [LValueReferenceType] int & +# 2241| ValueCategory = prvalue(load) +# 2241| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2241| Type = [LValueReferenceType] int & +# 2241| ValueCategory = prvalue +# 2241| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2241| Type = [IntType] int +# 2241| ValueCategory = lvalue +# 2244| [FunctionTemplateInstantiation,TopLevelFunction] void vacuous_destructor_call::call_destructor(ClassWithDestructor&) +# 2244| : +# 2244| getParameter(0): [Parameter] t +# 2244| Type = [LValueReferenceType] ClassWithDestructor & +# 2244| getEntryPoint(): [BlockStmt] { ... } +# 2245| getStmt(0): [ExprStmt] ExprStmt +# 2245| getExpr(): [DestructorCall] call to ~ClassWithDestructor +# 2245| Type = [VoidType] void +# 2245| ValueCategory = prvalue +# 2245| getQualifier(): [FunctionCall] call to get +# 2245| Type = [LValueReferenceType] ClassWithDestructor & +# 2245| ValueCategory = prvalue +# 2245| getArgument(0): [VariableAccess] t +# 2245| Type = [LValueReferenceType] ClassWithDestructor & +# 2245| ValueCategory = prvalue(load) +# 2245| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2245| Type = [LValueReferenceType] ClassWithDestructor & +# 2245| ValueCategory = prvalue +# 2245| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2245| Type = [Class] ClassWithDestructor +# 2245| ValueCategory = lvalue +# 2245| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2245| Type = [Class] ClassWithDestructor +# 2245| ValueCategory = lvalue +# 2246| getStmt(1): [ReturnStmt] return ... +# 2244| [TemplateFunction,TopLevelFunction] void vacuous_destructor_call::call_destructor(T&) +# 2244| : +# 2244| getParameter(0): [Parameter] t +# 2244| Type = [LValueReferenceType] T & +# 2244| getEntryPoint(): [BlockStmt] { ... } +# 2245| getStmt(0): [ExprStmt] ExprStmt +# 2245| getExpr(): [ExprCall] call to expression +# 2245| Type = [UnknownType] unknown +# 2245| ValueCategory = prvalue +# 2245| getExpr(): [Literal] Unknown literal +# 2245| Type = [UnknownType] unknown +# 2245| ValueCategory = prvalue +# 2245| getChild(-1): [ExprCall] call to expression +# 2245| Type = [UnknownType] unknown +# 2245| ValueCategory = prvalue +# 2245| getExpr(): [Literal] Unknown literal +# 2245| Type = [UnknownType] unknown +# 2245| ValueCategory = prvalue +# 2245| getArgument(0): [VariableAccess] t +# 2245| Type = [LValueReferenceType] T & +# 2245| ValueCategory = prvalue(load) +# 2245| getArgument(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2245| Type = [TemplateParameter] T +# 2245| ValueCategory = lvalue +# 2246| getStmt(1): [ReturnStmt] return ... +# 2244| [FunctionTemplateInstantiation,TopLevelFunction] void vacuous_destructor_call::call_destructor(int&) +# 2244| : +# 2244| getParameter(0): [Parameter] t +# 2244| Type = [LValueReferenceType] int & +# 2244| getEntryPoint(): [BlockStmt] { ... } +# 2245| getStmt(0): [ExprStmt] ExprStmt +# 2245| getExpr(): [VacuousDestructorCall] (vacuous destructor call) +# 2245| Type = [VoidType] void +# 2245| ValueCategory = prvalue +# 2245| getChild(0): [FunctionCall] call to get +# 2245| Type = [LValueReferenceType] int & +# 2245| ValueCategory = prvalue +# 2245| getArgument(0): [VariableAccess] t +# 2245| Type = [LValueReferenceType] int & +# 2245| ValueCategory = prvalue(load) +# 2245| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2245| Type = [LValueReferenceType] int & +# 2245| ValueCategory = prvalue +# 2245| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2245| Type = [IntType] int +# 2245| ValueCategory = lvalue +# 2245| getChild(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2245| Type = [IntType] int +# 2245| ValueCategory = lvalue +# 2246| getStmt(1): [ReturnStmt] return ... +# 2248| [TopLevelFunction] void vacuous_destructor_call::non_vacuous_destructor_call() +# 2248| : +# 2248| getEntryPoint(): [BlockStmt] { ... } +# 2249| getStmt(0): [DeclStmt] declaration +# 2249| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 2249| Type = [Class] ClassWithDestructor +# 2249| getVariable().getInitializer(): [Initializer] initializer for c +# 2249| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2249| Type = [VoidType] void +# 2249| ValueCategory = prvalue +# 2250| getStmt(1): [ExprStmt] ExprStmt +# 2250| getExpr(): [FunctionCall] call to call_destructor # 2250| Type = [VoidType] void # 2250| ValueCategory = prvalue -# 2250| getQualifier(): [VariableAccess] s2 -# 2250| Type = [Struct] String +# 2250| getArgument(0): [VariableAccess] c +# 2250| Type = [Class] ClassWithDestructor # 2250| ValueCategory = lvalue -# 2250| getImplicitDestructorCall(1): [DestructorCall] call to ~String -# 2250| Type = [VoidType] void -# 2250| ValueCategory = prvalue -# 2250| getQualifier(): [VariableAccess] s -# 2250| Type = [Struct] String -# 2250| ValueCategory = lvalue -# 2253| getStmt(4): [ReturnStmt] return ... -# 2255| [TopLevelFunction] void IfDestructors2(bool) -# 2255| : -# 2255| getParameter(0): [Parameter] b -# 2255| Type = [BoolType] bool -# 2255| getEntryPoint(): [BlockStmt] { ... } -# 2256| getStmt(0): [IfStmt] if (...) ... -# 2256| getInitialization(): [DeclStmt] declaration -# 2256| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2256| Type = [Struct] String -# 2256| getVariable().getInitializer(): [Initializer] initializer for s -# 2256| getExpr(): [ConstructorCall] call to String -# 2256| Type = [VoidType] void -# 2256| ValueCategory = prvalue -# 2256| getArgument(0): hello -# 2256| Type = [ArrayType] const char[6] -# 2256| Value = [StringLiteral] "hello" -# 2256| ValueCategory = lvalue -# 2256| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2256| Type = [PointerType] const char * -# 2256| ValueCategory = prvalue -# 2256| getCondition(): [VariableAccess] b -# 2256| Type = [BoolType] bool -# 2256| ValueCategory = prvalue(load) -# 2256| getThen(): [BlockStmt] { ... } -# 2257| getStmt(0): [DeclStmt] declaration -# 2257| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2257| Type = [IntType] int -# 2257| getVariable().getInitializer(): [Initializer] initializer for x -# 2257| getExpr(): [Literal] 0 -# 2257| Type = [IntType] int -# 2257| Value = [Literal] 0 -# 2257| ValueCategory = prvalue -# 2258| getElse(): [BlockStmt] { ... } -# 2259| getStmt(0): [DeclStmt] declaration -# 2259| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2259| Type = [IntType] int -# 2259| getVariable().getInitializer(): [Initializer] initializer for y -# 2259| getExpr(): [Literal] 0 -# 2259| Type = [IntType] int -# 2259| Value = [Literal] 0 -# 2259| ValueCategory = prvalue -# 2260| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2260| Type = [VoidType] void -# 2260| ValueCategory = prvalue -# 2260| getQualifier(): [VariableAccess] s -# 2260| Type = [Struct] String -# 2260| ValueCategory = lvalue -# 2261| getStmt(1): [ReturnStmt] return ... -# 2263| [CopyAssignmentOperator] Bool& Bool::operator=(Bool const&) -# 2263| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const Bool & -# 2263| [CopyConstructor] void Bool::Bool(Bool const&) -# 2263| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const Bool & -# 2265| [Constructor] void Bool::Bool(bool) -# 2265| : -# 2265| getParameter(0): [Parameter] b_ -# 2265| Type = [BoolType] bool -# 2266| [ConversionOperator] bool Bool::operator bool() -# 2266| : -# 2267| [Destructor] void Bool::~Bool() -# 2267| : -# 2270| [TopLevelFunction] void IfDestructors3(bool) -# 2270| : -# 2270| getParameter(0): [Parameter] b -# 2270| Type = [BoolType] bool -# 2270| getEntryPoint(): [BlockStmt] { ... } -# 2271| getStmt(0): [IfStmt] if (...) ... -# 2271| getCondition(): [ConditionDeclExpr] (condition decl) -# 2271| Type = [BoolType] bool -# 2271| ValueCategory = prvalue -# 2271| getChild(0): [FunctionCall] call to operator bool -# 2271| Type = [BoolType] bool -# 2271| ValueCategory = prvalue -# 2271| getQualifier(): [VariableAccess] B -# 2271| Type = [Class] Bool -# 2271| ValueCategory = prvalue(load) -# 2271| getThen(): [BlockStmt] { ... } -# 2272| getStmt(0): [DeclStmt] declaration -# 2272| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s1 -# 2272| Type = [Struct] String -# 2272| getVariable().getInitializer(): [Initializer] initializer for s1 -# 2272| getExpr(): [ConstructorCall] call to String -# 2272| Type = [VoidType] void -# 2272| ValueCategory = prvalue -# 2273| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2273| Type = [VoidType] void -# 2273| ValueCategory = prvalue -# 2273| getQualifier(): [VariableAccess] s1 -# 2273| Type = [Struct] String -# 2273| ValueCategory = lvalue -# 2273| getElse(): [BlockStmt] { ... } -# 2274| getStmt(0): [DeclStmt] declaration -# 2274| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 -# 2274| Type = [Struct] String -# 2274| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2274| getExpr(): [ConstructorCall] call to String -# 2274| Type = [VoidType] void -# 2274| ValueCategory = prvalue -# 2275| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2275| Type = [VoidType] void -# 2275| ValueCategory = prvalue -# 2275| getQualifier(): [VariableAccess] s2 -# 2275| Type = [Struct] String -# 2275| ValueCategory = lvalue -# 2275| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool -# 2275| Type = [VoidType] void -# 2275| ValueCategory = prvalue -# 2275| getQualifier(): [VariableAccess] B -# 2275| Type = [Class] Bool -# 2275| ValueCategory = lvalue -# 2276| getStmt(1): [ReturnStmt] return ... -# 2278| [TopLevelFunction] void WhileLoopDestructors(bool) -# 2278| : -# 2278| getParameter(0): [Parameter] b -# 2278| Type = [BoolType] bool -# 2278| getEntryPoint(): [BlockStmt] { ... } -# 2279| getStmt(0): [BlockStmt] { ... } -# 2280| getStmt(0): [DeclStmt] declaration -# 2280| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2280| Type = [Struct] String -# 2280| getVariable().getInitializer(): [Initializer] initializer for s -# 2280| getExpr(): [ConstructorCall] call to String -# 2280| Type = [VoidType] void -# 2280| ValueCategory = prvalue -# 2281| getStmt(1): [WhileStmt] while (...) ... -# 2281| getCondition(): [VariableAccess] b -# 2281| Type = [BoolType] bool -# 2281| ValueCategory = prvalue(load) -# 2281| getStmt(): [BlockStmt] { ... } -# 2282| getStmt(0): [ExprStmt] ExprStmt -# 2282| getExpr(): [AssignExpr] ... = ... -# 2282| Type = [BoolType] bool -# 2282| ValueCategory = lvalue -# 2282| getLValue(): [VariableAccess] b -# 2282| Type = [BoolType] bool -# 2282| ValueCategory = lvalue -# 2282| getRValue(): [Literal] 0 -# 2282| Type = [BoolType] bool -# 2282| Value = [Literal] 0 +# 2250| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2250| Type = [LValueReferenceType] ClassWithDestructor & +# 2250| ValueCategory = prvalue +# 2251| getStmt(2): [ReturnStmt] return ... +# 2251| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2251| Type = [VoidType] void +# 2251| ValueCategory = prvalue +# 2251| getQualifier(): [VariableAccess] c +# 2251| Type = [Class] ClassWithDestructor +# 2251| ValueCategory = lvalue +# 2253| [TopLevelFunction] void vacuous_destructor_call::vacuous_destructor_call() +# 2253| : +# 2253| getEntryPoint(): [BlockStmt] { ... } +# 2254| getStmt(0): [DeclStmt] declaration +# 2254| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 2254| Type = [IntType] int +# 2255| getStmt(1): [ExprStmt] ExprStmt +# 2255| getExpr(): [FunctionCall] call to call_destructor +# 2255| Type = [VoidType] void +# 2255| ValueCategory = prvalue +# 2255| getArgument(0): [VariableAccess] i +# 2255| Type = [IntType] int +# 2255| ValueCategory = lvalue +# 2255| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2255| Type = [LValueReferenceType] int & +# 2255| ValueCategory = prvalue +# 2256| getStmt(2): [ReturnStmt] return ... +# 2259| [TopLevelFunction] void TryCatchDestructors(bool) +# 2259| : +# 2259| getParameter(0): [Parameter] b +# 2259| Type = [BoolType] bool +# 2259| getEntryPoint(): [BlockStmt] { ... } +# 2260| getStmt(0): [TryStmt] try { ... } +# 2260| getStmt(): [BlockStmt] { ... } +# 2261| getStmt(0): [DeclStmt] declaration +# 2261| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2261| Type = [Struct] String +# 2261| getVariable().getInitializer(): [Initializer] initializer for s +# 2261| getExpr(): [ConstructorCall] call to String +# 2261| Type = [VoidType] void +# 2261| ValueCategory = prvalue +# 2262| getStmt(1): [IfStmt] if (...) ... +# 2262| getCondition(): [VariableAccess] b +# 2262| Type = [BoolType] bool +# 2262| ValueCategory = prvalue(load) +# 2262| getThen(): [BlockStmt] { ... } +# 2263| getStmt(0): [ExprStmt] ExprStmt +# 2263| getExpr(): [ThrowExpr] throw ... +# 2263| Type = [PointerType] const char * +# 2263| ValueCategory = prvalue +# 2263| getExpr(): string literal +# 2263| Type = [ArrayType] const char[15] +# 2263| Value = [StringLiteral] "string literal" +# 2263| ValueCategory = lvalue +# 2266| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2266| Type = [VoidType] void +# 2266| ValueCategory = prvalue +# 2266| getQualifier(): [VariableAccess] s +# 2266| Type = [Struct] String +# 2266| ValueCategory = lvalue +# 2263| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2263| Type = [PointerType] const char * +# 2263| ValueCategory = prvalue +# 2265| getStmt(2): [DeclStmt] declaration +# 2265| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 +# 2265| Type = [Struct] String +# 2265| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2265| getExpr(): [ConstructorCall] call to String +# 2265| Type = [VoidType] void +# 2265| ValueCategory = prvalue +# 2266| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2266| Type = [VoidType] void +# 2266| ValueCategory = prvalue +# 2266| getQualifier(): [VariableAccess] s2 +# 2266| Type = [Struct] String +# 2266| ValueCategory = lvalue +# 2266| getImplicitDestructorCall(1): [DestructorCall] call to ~String +# 2266| Type = [VoidType] void +# 2266| ValueCategory = prvalue +# 2266| getQualifier(): [VariableAccess] s +# 2266| Type = [Struct] String +# 2266| ValueCategory = lvalue +# 2267| getChild(1): [Handler] +# 2267| getBlock(): [CatchBlock] { ... } +# 2268| getStmt(0): [ExprStmt] ExprStmt +# 2268| getExpr(): [ThrowExpr] throw ... +# 2268| Type = [Struct] String +# 2268| ValueCategory = prvalue +# 2268| getExpr(): [ConstructorCall] call to String +# 2268| Type = [VoidType] void +# 2268| ValueCategory = prvalue +# 2268| getArgument(0): [VariableAccess] s +# 2268| Type = [PointerType] const char * +# 2268| ValueCategory = prvalue(load) +# 2270| getChild(2): [Handler] +# 2270| getBlock(): [CatchBlock] { ... } +# 2272| getChild(3): [Handler] +# 2272| getBlock(): [CatchAnyBlock] { ... } +# 2273| getStmt(0): [ExprStmt] ExprStmt +# 2273| getExpr(): [ReThrowExpr] re-throw exception +# 2273| Type = [VoidType] void +# 2273| ValueCategory = prvalue +# 2275| getStmt(1): [ReturnStmt] return ... +# 2277| [TopLevelFunction] void IfDestructors(bool) +# 2277| : +# 2277| getParameter(0): [Parameter] b +# 2277| Type = [BoolType] bool +# 2277| getEntryPoint(): [BlockStmt] { ... } +# 2278| getStmt(0): [DeclStmt] declaration +# 2278| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s1 +# 2278| Type = [Struct] String +# 2278| getVariable().getInitializer(): [Initializer] initializer for s1 +# 2278| getExpr(): [ConstructorCall] call to String +# 2278| Type = [VoidType] void +# 2278| ValueCategory = prvalue +# 2279| getStmt(1): [IfStmt] if (...) ... +# 2279| getCondition(): [VariableAccess] b +# 2279| Type = [BoolType] bool +# 2279| ValueCategory = prvalue(load) +# 2279| getThen(): [BlockStmt] { ... } +# 2280| getStmt(0): [DeclStmt] declaration +# 2280| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 +# 2280| Type = [Struct] String +# 2280| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2280| getExpr(): [ConstructorCall] call to String +# 2280| Type = [VoidType] void +# 2280| ValueCategory = prvalue +# 2281| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2281| Type = [VoidType] void +# 2281| ValueCategory = prvalue +# 2281| getQualifier(): [VariableAccess] s2 +# 2281| Type = [Struct] String +# 2281| ValueCategory = lvalue +# 2281| getElse(): [BlockStmt] { ... } +# 2282| getStmt(0): [DeclStmt] declaration +# 2282| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s3 +# 2282| Type = [Struct] String +# 2282| getVariable().getInitializer(): [Initializer] initializer for s3 +# 2282| getExpr(): [ConstructorCall] call to String +# 2282| Type = [VoidType] void # 2282| ValueCategory = prvalue -# 2284| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2284| Type = [VoidType] void -# 2284| ValueCategory = prvalue -# 2284| getQualifier(): [VariableAccess] s -# 2284| Type = [Struct] String -# 2284| ValueCategory = lvalue -# 2286| getStmt(1): [BlockStmt] { ... } -# 2287| getStmt(0): [WhileStmt] while (...) ... -# 2287| getCondition(): [ConditionDeclExpr] (condition decl) -# 2287| Type = [BoolType] bool -# 2287| ValueCategory = prvalue -# 2287| getChild(0): [FunctionCall] call to operator bool -# 2287| Type = [BoolType] bool -# 2287| ValueCategory = prvalue -# 2287| getQualifier(): [VariableAccess] B -# 2287| Type = [Class] Bool -# 2287| ValueCategory = prvalue(load) -# 2287| getStmt(): [BlockStmt] { ... } -# 2288| getStmt(0): [ExprStmt] ExprStmt -# 2288| getExpr(): [AssignExpr] ... = ... -# 2288| Type = [BoolType] bool -# 2288| ValueCategory = lvalue -# 2288| getLValue(): [VariableAccess] b -# 2288| Type = [BoolType] bool -# 2288| ValueCategory = lvalue -# 2288| getRValue(): [Literal] 0 -# 2288| Type = [BoolType] bool -# 2288| Value = [Literal] 0 -# 2288| ValueCategory = prvalue -# 2289| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool -# 2289| Type = [VoidType] void -# 2289| ValueCategory = prvalue -# 2289| getQualifier(): [VariableAccess] B -# 2289| Type = [Class] Bool -# 2289| ValueCategory = lvalue -# 2289| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool -# 2289| Type = [VoidType] void +# 2283| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2283| Type = [VoidType] void +# 2283| ValueCategory = prvalue +# 2283| getQualifier(): [VariableAccess] s3 +# 2283| Type = [Struct] String +# 2283| ValueCategory = lvalue +# 2284| getStmt(2): [DeclStmt] declaration +# 2284| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s4 +# 2284| Type = [Struct] String +# 2284| getVariable().getInitializer(): [Initializer] initializer for s4 +# 2284| getExpr(): [ConstructorCall] call to String +# 2284| Type = [VoidType] void +# 2284| ValueCategory = prvalue +# 2285| getStmt(3): [ReturnStmt] return ... +# 2285| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2285| Type = [VoidType] void +# 2285| ValueCategory = prvalue +# 2285| getQualifier(): [VariableAccess] s4 +# 2285| Type = [Struct] String +# 2285| ValueCategory = lvalue +# 2285| getImplicitDestructorCall(1): [DestructorCall] call to ~String +# 2285| Type = [VoidType] void +# 2285| ValueCategory = prvalue +# 2285| getQualifier(): [VariableAccess] s1 +# 2285| Type = [Struct] String +# 2285| ValueCategory = lvalue +# 2287| [TopLevelFunction] void ForDestructors() +# 2287| : +# 2287| getEntryPoint(): [BlockStmt] { ... } +# 2288| getStmt(0): [DeclStmt] declaration +# 2288| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 2288| Type = [PlainCharType] char +# 2288| getVariable().getInitializer(): [Initializer] initializer for c +# 2288| getExpr(): [CharLiteral] 97 +# 2288| Type = [PlainCharType] char +# 2288| Value = [CharLiteral] 97 +# 2288| ValueCategory = prvalue +# 2289| getStmt(1): [ForStmt] for(...;...;...) ... +# 2289| getInitialization(): [DeclStmt] declaration +# 2289| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2289| Type = [Struct] String +# 2289| getVariable().getInitializer(): [Initializer] initializer for s +# 2289| getExpr(): [ConstructorCall] call to String +# 2289| Type = [VoidType] void +# 2289| ValueCategory = prvalue +# 2289| getArgument(0): hello +# 2289| Type = [ArrayType] const char[6] +# 2289| Value = [StringLiteral] "hello" +# 2289| ValueCategory = lvalue +# 2289| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2289| Type = [PointerType] const char * +# 2289| ValueCategory = prvalue +# 2289| getCondition(): [NEExpr] ... != ... +# 2289| Type = [BoolType] bool +# 2289| ValueCategory = prvalue +# 2289| getLeftOperand(): [VariableAccess] c +# 2289| Type = [PlainCharType] char +# 2289| ValueCategory = prvalue(load) +# 2289| getRightOperand(): [Literal] 0 +# 2289| Type = [IntType] int +# 2289| Value = [Literal] 0 # 2289| ValueCategory = prvalue -# 2289| getQualifier(): [VariableAccess] B -# 2289| Type = [Class] Bool +# 2289| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... +# 2289| Conversion = [IntegralConversion] integral conversion +# 2289| Type = [IntType] int +# 2289| ValueCategory = prvalue +# 2289| getUpdate(): [AssignExpr] ... = ... +# 2289| Type = [PlainCharType] char +# 2289| ValueCategory = lvalue +# 2289| getLValue(): [VariableAccess] c +# 2289| Type = [PlainCharType] char +# 2289| ValueCategory = lvalue +# 2289| getRValue(): [FunctionCall] call to pop_back +# 2289| Type = [PlainCharType] char +# 2289| ValueCategory = prvalue +# 2289| getQualifier(): [VariableAccess] s +# 2289| Type = [Struct] String # 2289| ValueCategory = lvalue -# 2291| getStmt(2): [ReturnStmt] return ... -# 2293| [TopLevelFunction] void VoidFunc() -# 2293| : -# 2293| getEntryPoint(): [BlockStmt] { ... } -# 2293| getStmt(0): [ReturnStmt] return ... -# 2295| [TopLevelFunction] void IfReturnDestructors(bool) -# 2295| : -# 2295| getParameter(0): [Parameter] b -# 2295| Type = [BoolType] bool -# 2295| getEntryPoint(): [BlockStmt] { ... } -# 2296| getStmt(0): [DeclStmt] declaration -# 2296| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2296| Type = [Struct] String -# 2296| getVariable().getInitializer(): [Initializer] initializer for s -# 2296| getExpr(): [ConstructorCall] call to String -# 2296| Type = [VoidType] void -# 2296| ValueCategory = prvalue -# 2297| getStmt(1): [IfStmt] if (...) ... -# 2297| getCondition(): [VariableAccess] b +# 2289| getStmt(): [BlockStmt] { ... } +# 2290| getStmt(0): [DeclStmt] declaration +# 2290| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 +# 2290| Type = [Struct] String +# 2290| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2290| getExpr(): [ConstructorCall] call to String +# 2290| Type = [VoidType] void +# 2290| ValueCategory = prvalue +# 2291| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2291| Type = [VoidType] void +# 2291| ValueCategory = prvalue +# 2291| getQualifier(): [VariableAccess] s2 +# 2291| Type = [Struct] String +# 2291| ValueCategory = lvalue +# 2289| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2289| Type = [VoidType] void +# 2289| ValueCategory = prvalue +# 2289| getQualifier(): [VariableAccess] s +# 2289| Type = [Struct] String +# 2289| ValueCategory = lvalue +# 2293| getStmt(2): [RangeBasedForStmt] for(...:...) ... +# 2293| getChild(1): [DeclStmt] declaration +# 2293| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2293| Type = [RValueReferenceType] vector && +#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) +# 2293| getExpr(): [ConstructorCall] call to vector +# 2293| Type = [VoidType] void +# 2293| ValueCategory = prvalue +# 2293| getArgument(0): [ConstructorCall] call to String +# 2293| Type = [VoidType] void +# 2293| ValueCategory = prvalue +# 2293| getArgument(0): hello +# 2293| Type = [ArrayType] const char[6] +# 2293| Value = [StringLiteral] "hello" +# 2293| ValueCategory = lvalue +# 2293| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2293| Type = [PointerType] const char * +# 2293| ValueCategory = prvalue +# 2293| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2293| Type = [Struct] String +# 2293| ValueCategory = lvalue +# 2293| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2293| Type = [LValueReferenceType] vector & +# 2293| ValueCategory = prvalue +# 2293| getExpr(): [TemporaryObjectExpr] temporary object +# 2293| Type = [ClassTemplateInstantiation,Struct] vector +# 2293| ValueCategory = xvalue +# 2293| getBeginEndDeclaration(): [DeclStmt] declaration +# 2293| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) +# 2293| getExpr(): [FunctionCall] call to begin +# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2293| ValueCategory = prvalue +# 2293| getQualifier(): [VariableAccess] (__range) +# 2293| Type = [RValueReferenceType] vector && +# 2293| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2293| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) +# 2293| getExpr(): [FunctionCall] call to end +# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2293| ValueCategory = prvalue +# 2293| getQualifier(): [VariableAccess] (__range) +# 2293| Type = [RValueReferenceType] vector && +# 2293| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2293| getCondition(): [FunctionCall] call to operator!= +# 2293| Type = [BoolType] bool +# 2293| ValueCategory = prvalue +# 2293| getQualifier(): [VariableAccess] (__begin) +# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2293| ValueCategory = lvalue +# 2293| getArgument(0): [ConstructorCall] call to iterator +# 2293| Type = [VoidType] void +# 2293| ValueCategory = prvalue +# 2293| getArgument(0): [VariableAccess] (__end) +# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2293| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +#-----| Type = [LValueReferenceType] const iterator & +#-----| ValueCategory = prvalue +#-----| getExpr(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [ClassTemplateInstantiation,Struct] iterator +#-----| ValueCategory = lvalue +# 2293| getUpdate(): [FunctionCall] call to operator++ +# 2293| Type = [LValueReferenceType] iterator & +# 2293| ValueCategory = prvalue +# 2293| getQualifier(): [VariableAccess] (__begin) +# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2293| ValueCategory = lvalue +# 2293| getChild(5): [DeclStmt] declaration +# 2293| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2293| Type = [Struct] String +# 2293| getVariable().getInitializer(): [Initializer] initializer for s +# 2293| getExpr(): [ConstructorCall] call to String +# 2293| Type = [VoidType] void +# 2293| ValueCategory = prvalue +# 2293| getArgument(0): [OverloadedPointerDereferenceExpr] call to operator* +# 2293| Type = [LValueReferenceType] String & +# 2293| ValueCategory = prvalue +# 2293| getQualifier(): [VariableAccess] (__begin) +# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2293| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 2293| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2293| Type = [LValueReferenceType] const String & +# 2293| ValueCategory = prvalue +# 2293| getExpr(): [CStyleCast] (const String)... +# 2293| Conversion = [GlvalueConversion] glvalue conversion +# 2293| Type = [SpecifiedType] const String +# 2293| ValueCategory = lvalue +# 2293| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2293| Type = [Struct] String +# 2293| ValueCategory = lvalue +# 2293| getStmt(): [BlockStmt] { ... } +# 2294| getStmt(0): [DeclStmt] declaration +# 2294| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 +# 2294| Type = [Struct] String +# 2294| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2294| getExpr(): [ConstructorCall] call to String +# 2294| Type = [VoidType] void +# 2294| ValueCategory = prvalue +# 2295| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2295| Type = [VoidType] void +# 2295| ValueCategory = prvalue +# 2295| getQualifier(): [VariableAccess] s2 +# 2295| Type = [Struct] String +# 2295| ValueCategory = lvalue +# 2293| getImplicitDestructorCall(1): [DestructorCall] call to ~String +# 2293| Type = [VoidType] void +# 2293| ValueCategory = prvalue +# 2293| getQualifier(): [VariableAccess] s +# 2293| Type = [Struct] String +# 2293| ValueCategory = lvalue +# 2293| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2293| Type = [ClassTemplateInstantiation,Struct] iterator +# 2293| ValueCategory = lvalue +# 2297| getStmt(3): [ForStmt] for(...;...;...) ... +# 2297| getInitialization(): [DeclStmt] declaration +# 2297| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2297| Type = [Struct] String +# 2297| getVariable().getInitializer(): [Initializer] initializer for s +# 2297| getExpr(): [ConstructorCall] call to String +# 2297| Type = [VoidType] void +# 2297| ValueCategory = prvalue +# 2297| getArgument(0): hello +# 2297| Type = [ArrayType] const char[6] +# 2297| Value = [StringLiteral] "hello" +# 2297| ValueCategory = lvalue +# 2297| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2297| Type = [PointerType] const char * +# 2297| ValueCategory = prvalue +# 2297| getDeclarationEntry(1): [VariableDeclarationEntry] definition of s2 +# 2297| Type = [Struct] String +# 2297| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2297| getExpr(): [ConstructorCall] call to String +# 2297| Type = [VoidType] void +# 2297| ValueCategory = prvalue +# 2297| getArgument(0): world +# 2297| Type = [ArrayType] const char[6] +# 2297| Value = [StringLiteral] "world" +# 2297| ValueCategory = lvalue +# 2297| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2297| Type = [PointerType] const char * +# 2297| ValueCategory = prvalue +# 2297| getCondition(): [NEExpr] ... != ... # 2297| Type = [BoolType] bool -# 2297| ValueCategory = prvalue(load) -# 2297| getThen(): [BlockStmt] { ... } -# 2298| getStmt(0): [ReturnStmt] return ... -# 2304| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2304| Type = [VoidType] void -# 2304| ValueCategory = prvalue -# 2304| getQualifier(): [VariableAccess] s -# 2304| Type = [Struct] String -# 2304| ValueCategory = lvalue -# 2300| getStmt(2): [IfStmt] if (...) ... -# 2300| getCondition(): [VariableAccess] b -# 2300| Type = [BoolType] bool -# 2300| ValueCategory = prvalue(load) -# 2300| getThen(): [BlockStmt] { ... } -# 2301| getStmt(0): [ReturnStmt] return ... -# 2301| getExpr(): [FunctionCall] call to VoidFunc -# 2301| Type = [VoidType] void -# 2301| ValueCategory = prvalue -# 2304| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2304| Type = [VoidType] void -# 2304| ValueCategory = prvalue -# 2304| getQualifier(): [VariableAccess] s -# 2304| Type = [Struct] String -# 2304| ValueCategory = lvalue -# 2303| getStmt(3): [ExprStmt] ExprStmt -# 2303| getExpr(): [VariableAccess] s -# 2303| Type = [Struct] String -# 2303| ValueCategory = lvalue -# 2304| getStmt(4): [ReturnStmt] return ... -# 2304| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2304| Type = [VoidType] void -# 2304| ValueCategory = prvalue -# 2304| getQualifier(): [VariableAccess] s -# 2304| Type = [Struct] String -# 2304| ValueCategory = lvalue -# 2306| [TopLevelFunction] int IfReturnDestructors3(bool) -# 2306| : -# 2306| getParameter(0): [Parameter] b -# 2306| Type = [BoolType] bool -# 2306| getEntryPoint(): [BlockStmt] { ... } -# 2307| getStmt(0): [DeclStmt] declaration -# 2307| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2307| Type = [Struct] String -# 2307| getVariable().getInitializer(): [Initializer] initializer for s -# 2307| getExpr(): [ConstructorCall] call to String -# 2307| Type = [VoidType] void -# 2307| ValueCategory = prvalue -# 2308| getStmt(1): [IfStmt] if (...) ... -# 2308| getCondition(): [VariableAccess] b -# 2308| Type = [BoolType] bool -# 2308| ValueCategory = prvalue(load) -# 2308| getThen(): [BlockStmt] { ... } -# 2309| getStmt(0): [ReturnStmt] return ... -# 2309| getExpr(): [Literal] 1 -# 2309| Type = [IntType] int -# 2309| Value = [Literal] 1 -# 2309| ValueCategory = prvalue -# 2312| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2312| Type = [VoidType] void -# 2312| ValueCategory = prvalue -# 2312| getQualifier(): [VariableAccess] s -# 2312| Type = [Struct] String -# 2312| ValueCategory = lvalue -# 2311| getStmt(2): [ReturnStmt] return ... -# 2311| getExpr(): [Literal] 0 -# 2311| Type = [IntType] int -# 2311| Value = [Literal] 0 -# 2311| ValueCategory = prvalue -# 2312| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2312| Type = [VoidType] void -# 2312| ValueCategory = prvalue -# 2312| getQualifier(): [VariableAccess] s -# 2312| Type = [Struct] String -# 2312| ValueCategory = lvalue -# 2314| [TopLevelFunction] void VoidReturnDestructors() +# 2297| ValueCategory = prvalue +# 2297| getLeftOperand(): [VariableAccess] c +# 2297| Type = [PlainCharType] char +# 2297| ValueCategory = prvalue(load) +# 2297| getRightOperand(): [Literal] 0 +# 2297| Type = [IntType] int +# 2297| Value = [Literal] 0 +# 2297| ValueCategory = prvalue +# 2297| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... +# 2297| Conversion = [IntegralConversion] integral conversion +# 2297| Type = [IntType] int +# 2297| ValueCategory = prvalue +# 2297| getUpdate(): [AssignExpr] ... = ... +# 2297| Type = [PlainCharType] char +# 2297| ValueCategory = lvalue +# 2297| getLValue(): [VariableAccess] c +# 2297| Type = [PlainCharType] char +# 2297| ValueCategory = lvalue +# 2297| getRValue(): [FunctionCall] call to pop_back +# 2297| Type = [PlainCharType] char +# 2297| ValueCategory = prvalue +# 2297| getQualifier(): [VariableAccess] s +# 2297| Type = [Struct] String +# 2297| ValueCategory = lvalue +# 2297| getStmt(): [BlockStmt] { ... } +# 2298| getStmt(0): [ExprStmt] ExprStmt +# 2298| getExpr(): [AssignExpr] ... = ... +# 2298| Type = [PlainCharType] char +# 2298| ValueCategory = lvalue +# 2298| getLValue(): [VariableAccess] c +# 2298| Type = [PlainCharType] char +# 2298| ValueCategory = lvalue +# 2298| getRValue(): [Literal] 0 +# 2298| Type = [IntType] int +# 2298| Value = [Literal] 0 +# 2298| ValueCategory = prvalue +# 2298| getRValue().getFullyConverted(): [CStyleCast] (char)... +# 2298| Conversion = [IntegralConversion] integral conversion +# 2298| Type = [PlainCharType] char +# 2298| Value = [CStyleCast] 0 +# 2298| ValueCategory = prvalue +# 2297| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2297| Type = [VoidType] void +# 2297| ValueCategory = prvalue +# 2297| getQualifier(): [VariableAccess] s2 +# 2297| Type = [Struct] String +# 2297| ValueCategory = lvalue +# 2297| getImplicitDestructorCall(1): [DestructorCall] call to ~String +# 2297| Type = [VoidType] void +# 2297| ValueCategory = prvalue +# 2297| getQualifier(): [VariableAccess] s +# 2297| Type = [Struct] String +# 2297| ValueCategory = lvalue +# 2300| getStmt(4): [ReturnStmt] return ... +# 2302| [TopLevelFunction] void IfDestructors2(bool) +# 2302| : +# 2302| getParameter(0): [Parameter] b +# 2302| Type = [BoolType] bool +# 2302| getEntryPoint(): [BlockStmt] { ... } +# 2303| getStmt(0): [IfStmt] if (...) ... +# 2303| getInitialization(): [DeclStmt] declaration +# 2303| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2303| Type = [Struct] String +# 2303| getVariable().getInitializer(): [Initializer] initializer for s +# 2303| getExpr(): [ConstructorCall] call to String +# 2303| Type = [VoidType] void +# 2303| ValueCategory = prvalue +# 2303| getArgument(0): hello +# 2303| Type = [ArrayType] const char[6] +# 2303| Value = [StringLiteral] "hello" +# 2303| ValueCategory = lvalue +# 2303| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2303| Type = [PointerType] const char * +# 2303| ValueCategory = prvalue +# 2303| getCondition(): [VariableAccess] b +# 2303| Type = [BoolType] bool +# 2303| ValueCategory = prvalue(load) +# 2303| getThen(): [BlockStmt] { ... } +# 2304| getStmt(0): [DeclStmt] declaration +# 2304| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2304| Type = [IntType] int +# 2304| getVariable().getInitializer(): [Initializer] initializer for x +# 2304| getExpr(): [Literal] 0 +# 2304| Type = [IntType] int +# 2304| Value = [Literal] 0 +# 2304| ValueCategory = prvalue +# 2305| getElse(): [BlockStmt] { ... } +# 2306| getStmt(0): [DeclStmt] declaration +# 2306| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2306| Type = [IntType] int +# 2306| getVariable().getInitializer(): [Initializer] initializer for y +# 2306| getExpr(): [Literal] 0 +# 2306| Type = [IntType] int +# 2306| Value = [Literal] 0 +# 2306| ValueCategory = prvalue +# 2307| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2307| Type = [VoidType] void +# 2307| ValueCategory = prvalue +# 2307| getQualifier(): [VariableAccess] s +# 2307| Type = [Struct] String +# 2307| ValueCategory = lvalue +# 2308| getStmt(1): [ReturnStmt] return ... +# 2310| [CopyAssignmentOperator] Bool& Bool::operator=(Bool const&) +# 2310| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const Bool & +# 2310| [CopyConstructor] void Bool::Bool(Bool const&) +# 2310| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const Bool & +# 2312| [Constructor] void Bool::Bool(bool) +# 2312| : +# 2312| getParameter(0): [Parameter] b_ +# 2312| Type = [BoolType] bool +# 2313| [ConversionOperator] bool Bool::operator bool() +# 2313| : +# 2314| [Destructor] void Bool::~Bool() # 2314| : -# 2314| getEntryPoint(): [BlockStmt] { ... } -# 2315| getStmt(0): [DeclStmt] declaration -# 2315| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2315| Type = [Struct] String -# 2315| getVariable().getInitializer(): [Initializer] initializer for s -# 2315| getExpr(): [ConstructorCall] call to String -# 2315| Type = [VoidType] void -# 2315| ValueCategory = prvalue -# 2316| getStmt(1): [ReturnStmt] return ... -# 2316| getExpr(): [FunctionCall] call to VoidFunc -# 2316| Type = [VoidType] void -# 2316| ValueCategory = prvalue -# 2317| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2317| Type = [VoidType] void -# 2317| ValueCategory = prvalue -# 2317| getQualifier(): [VariableAccess] s -# 2317| Type = [Struct] String -# 2317| ValueCategory = lvalue -# 2320| [CopyAssignmentOperator] return_routine_type::HasVoidToIntFunc& return_routine_type::HasVoidToIntFunc::operator=(return_routine_type::HasVoidToIntFunc const&) -# 2320| : +# 2317| [TopLevelFunction] void IfDestructors3(bool) +# 2317| : +# 2317| getParameter(0): [Parameter] b +# 2317| Type = [BoolType] bool +# 2317| getEntryPoint(): [BlockStmt] { ... } +# 2318| getStmt(0): [IfStmt] if (...) ... +# 2318| getCondition(): [ConditionDeclExpr] (condition decl) +# 2318| Type = [BoolType] bool +# 2318| ValueCategory = prvalue +# 2318| getChild(0): [FunctionCall] call to operator bool +# 2318| Type = [BoolType] bool +# 2318| ValueCategory = prvalue +# 2318| getQualifier(): [VariableAccess] B +# 2318| Type = [Class] Bool +# 2318| ValueCategory = prvalue(load) +# 2318| getThen(): [BlockStmt] { ... } +# 2319| getStmt(0): [DeclStmt] declaration +# 2319| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s1 +# 2319| Type = [Struct] String +# 2319| getVariable().getInitializer(): [Initializer] initializer for s1 +# 2319| getExpr(): [ConstructorCall] call to String +# 2319| Type = [VoidType] void +# 2319| ValueCategory = prvalue +# 2320| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2320| Type = [VoidType] void +# 2320| ValueCategory = prvalue +# 2320| getQualifier(): [VariableAccess] s1 +# 2320| Type = [Struct] String +# 2320| ValueCategory = lvalue +# 2320| getElse(): [BlockStmt] { ... } +# 2321| getStmt(0): [DeclStmt] declaration +# 2321| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 +# 2321| Type = [Struct] String +# 2321| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2321| getExpr(): [ConstructorCall] call to String +# 2321| Type = [VoidType] void +# 2321| ValueCategory = prvalue +# 2322| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2322| Type = [VoidType] void +# 2322| ValueCategory = prvalue +# 2322| getQualifier(): [VariableAccess] s2 +# 2322| Type = [Struct] String +# 2322| ValueCategory = lvalue +# 2322| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool +# 2322| Type = [VoidType] void +# 2322| ValueCategory = prvalue +# 2322| getQualifier(): [VariableAccess] B +# 2322| Type = [Class] Bool +# 2322| ValueCategory = lvalue +# 2323| getStmt(1): [ReturnStmt] return ... +# 2325| [TopLevelFunction] void WhileLoopDestructors(bool) +# 2325| : +# 2325| getParameter(0): [Parameter] b +# 2325| Type = [BoolType] bool +# 2325| getEntryPoint(): [BlockStmt] { ... } +# 2326| getStmt(0): [BlockStmt] { ... } +# 2327| getStmt(0): [DeclStmt] declaration +# 2327| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2327| Type = [Struct] String +# 2327| getVariable().getInitializer(): [Initializer] initializer for s +# 2327| getExpr(): [ConstructorCall] call to String +# 2327| Type = [VoidType] void +# 2327| ValueCategory = prvalue +# 2328| getStmt(1): [WhileStmt] while (...) ... +# 2328| getCondition(): [VariableAccess] b +# 2328| Type = [BoolType] bool +# 2328| ValueCategory = prvalue(load) +# 2328| getStmt(): [BlockStmt] { ... } +# 2329| getStmt(0): [ExprStmt] ExprStmt +# 2329| getExpr(): [AssignExpr] ... = ... +# 2329| Type = [BoolType] bool +# 2329| ValueCategory = lvalue +# 2329| getLValue(): [VariableAccess] b +# 2329| Type = [BoolType] bool +# 2329| ValueCategory = lvalue +# 2329| getRValue(): [Literal] 0 +# 2329| Type = [BoolType] bool +# 2329| Value = [Literal] 0 +# 2329| ValueCategory = prvalue +# 2331| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2331| Type = [VoidType] void +# 2331| ValueCategory = prvalue +# 2331| getQualifier(): [VariableAccess] s +# 2331| Type = [Struct] String +# 2331| ValueCategory = lvalue +# 2333| getStmt(1): [BlockStmt] { ... } +# 2334| getStmt(0): [WhileStmt] while (...) ... +# 2334| getCondition(): [ConditionDeclExpr] (condition decl) +# 2334| Type = [BoolType] bool +# 2334| ValueCategory = prvalue +# 2334| getChild(0): [FunctionCall] call to operator bool +# 2334| Type = [BoolType] bool +# 2334| ValueCategory = prvalue +# 2334| getQualifier(): [VariableAccess] B +# 2334| Type = [Class] Bool +# 2334| ValueCategory = prvalue(load) +# 2334| getStmt(): [BlockStmt] { ... } +# 2335| getStmt(0): [ExprStmt] ExprStmt +# 2335| getExpr(): [AssignExpr] ... = ... +# 2335| Type = [BoolType] bool +# 2335| ValueCategory = lvalue +# 2335| getLValue(): [VariableAccess] b +# 2335| Type = [BoolType] bool +# 2335| ValueCategory = lvalue +# 2335| getRValue(): [Literal] 0 +# 2335| Type = [BoolType] bool +# 2335| Value = [Literal] 0 +# 2335| ValueCategory = prvalue +# 2336| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool +# 2336| Type = [VoidType] void +# 2336| ValueCategory = prvalue +# 2336| getQualifier(): [VariableAccess] B +# 2336| Type = [Class] Bool +# 2336| ValueCategory = lvalue +# 2336| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool +# 2336| Type = [VoidType] void +# 2336| ValueCategory = prvalue +# 2336| getQualifier(): [VariableAccess] B +# 2336| Type = [Class] Bool +# 2336| ValueCategory = lvalue +# 2338| getStmt(2): [ReturnStmt] return ... +# 2340| [TopLevelFunction] void VoidFunc() +# 2340| : +# 2340| getEntryPoint(): [BlockStmt] { ... } +# 2340| getStmt(0): [ReturnStmt] return ... +# 2342| [TopLevelFunction] void IfReturnDestructors(bool) +# 2342| : +# 2342| getParameter(0): [Parameter] b +# 2342| Type = [BoolType] bool +# 2342| getEntryPoint(): [BlockStmt] { ... } +# 2343| getStmt(0): [DeclStmt] declaration +# 2343| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2343| Type = [Struct] String +# 2343| getVariable().getInitializer(): [Initializer] initializer for s +# 2343| getExpr(): [ConstructorCall] call to String +# 2343| Type = [VoidType] void +# 2343| ValueCategory = prvalue +# 2344| getStmt(1): [IfStmt] if (...) ... +# 2344| getCondition(): [VariableAccess] b +# 2344| Type = [BoolType] bool +# 2344| ValueCategory = prvalue(load) +# 2344| getThen(): [BlockStmt] { ... } +# 2345| getStmt(0): [ReturnStmt] return ... +# 2351| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2351| Type = [VoidType] void +# 2351| ValueCategory = prvalue +# 2351| getQualifier(): [VariableAccess] s +# 2351| Type = [Struct] String +# 2351| ValueCategory = lvalue +# 2347| getStmt(2): [IfStmt] if (...) ... +# 2347| getCondition(): [VariableAccess] b +# 2347| Type = [BoolType] bool +# 2347| ValueCategory = prvalue(load) +# 2347| getThen(): [BlockStmt] { ... } +# 2348| getStmt(0): [ReturnStmt] return ... +# 2348| getExpr(): [FunctionCall] call to VoidFunc +# 2348| Type = [VoidType] void +# 2348| ValueCategory = prvalue +# 2351| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2351| Type = [VoidType] void +# 2351| ValueCategory = prvalue +# 2351| getQualifier(): [VariableAccess] s +# 2351| Type = [Struct] String +# 2351| ValueCategory = lvalue +# 2350| getStmt(3): [ExprStmt] ExprStmt +# 2350| getExpr(): [VariableAccess] s +# 2350| Type = [Struct] String +# 2350| ValueCategory = lvalue +# 2351| getStmt(4): [ReturnStmt] return ... +# 2351| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2351| Type = [VoidType] void +# 2351| ValueCategory = prvalue +# 2351| getQualifier(): [VariableAccess] s +# 2351| Type = [Struct] String +# 2351| ValueCategory = lvalue +# 2353| [TopLevelFunction] int IfReturnDestructors3(bool) +# 2353| : +# 2353| getParameter(0): [Parameter] b +# 2353| Type = [BoolType] bool +# 2353| getEntryPoint(): [BlockStmt] { ... } +# 2354| getStmt(0): [DeclStmt] declaration +# 2354| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2354| Type = [Struct] String +# 2354| getVariable().getInitializer(): [Initializer] initializer for s +# 2354| getExpr(): [ConstructorCall] call to String +# 2354| Type = [VoidType] void +# 2354| ValueCategory = prvalue +# 2355| getStmt(1): [IfStmt] if (...) ... +# 2355| getCondition(): [VariableAccess] b +# 2355| Type = [BoolType] bool +# 2355| ValueCategory = prvalue(load) +# 2355| getThen(): [BlockStmt] { ... } +# 2356| getStmt(0): [ReturnStmt] return ... +# 2356| getExpr(): [Literal] 1 +# 2356| Type = [IntType] int +# 2356| Value = [Literal] 1 +# 2356| ValueCategory = prvalue +# 2359| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2359| Type = [VoidType] void +# 2359| ValueCategory = prvalue +# 2359| getQualifier(): [VariableAccess] s +# 2359| Type = [Struct] String +# 2359| ValueCategory = lvalue +# 2358| getStmt(2): [ReturnStmt] return ... +# 2358| getExpr(): [Literal] 0 +# 2358| Type = [IntType] int +# 2358| Value = [Literal] 0 +# 2358| ValueCategory = prvalue +# 2359| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2359| Type = [VoidType] void +# 2359| ValueCategory = prvalue +# 2359| getQualifier(): [VariableAccess] s +# 2359| Type = [Struct] String +# 2359| ValueCategory = lvalue +# 2361| [TopLevelFunction] void VoidReturnDestructors() +# 2361| : +# 2361| getEntryPoint(): [BlockStmt] { ... } +# 2362| getStmt(0): [DeclStmt] declaration +# 2362| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2362| Type = [Struct] String +# 2362| getVariable().getInitializer(): [Initializer] initializer for s +# 2362| getExpr(): [ConstructorCall] call to String +# 2362| Type = [VoidType] void +# 2362| ValueCategory = prvalue +# 2363| getStmt(1): [ReturnStmt] return ... +# 2363| getExpr(): [FunctionCall] call to VoidFunc +# 2363| Type = [VoidType] void +# 2363| ValueCategory = prvalue +# 2364| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2364| Type = [VoidType] void +# 2364| ValueCategory = prvalue +# 2364| getQualifier(): [VariableAccess] s +# 2364| Type = [Struct] String +# 2364| ValueCategory = lvalue +# 2367| [CopyAssignmentOperator] return_routine_type::HasVoidToIntFunc& return_routine_type::HasVoidToIntFunc::operator=(return_routine_type::HasVoidToIntFunc const&) +# 2367| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const HasVoidToIntFunc & -# 2320| [MoveAssignmentOperator] return_routine_type::HasVoidToIntFunc& return_routine_type::HasVoidToIntFunc::operator=(return_routine_type::HasVoidToIntFunc&&) -# 2320| : +# 2367| [MoveAssignmentOperator] return_routine_type::HasVoidToIntFunc& return_routine_type::HasVoidToIntFunc::operator=(return_routine_type::HasVoidToIntFunc&&) +# 2367| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] HasVoidToIntFunc && -# 2322| [MemberFunction] void return_routine_type::HasVoidToIntFunc::VoidToInt(int) -# 2322| : -# 2322| getParameter(0): [Parameter] (unnamed parameter 0) -# 2322| Type = [IntType] int -# 2327| [TopLevelFunction] return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() -# 2327| : -# 2328| getEntryPoint(): [BlockStmt] { ... } -# 2329| getStmt(0): [ReturnStmt] return ... -# 2329| getExpr(): [FunctionAccess] VoidToInt -# 2329| Type = [RoutineType] ..()(..) -# 2329| ValueCategory = prvalue +# 2369| [MemberFunction] void return_routine_type::HasVoidToIntFunc::VoidToInt(int) +# 2369| : +# 2369| getParameter(0): [Parameter] (unnamed parameter 0) +# 2369| Type = [IntType] int +# 2374| [TopLevelFunction] return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() +# 2374| : +# 2375| getEntryPoint(): [BlockStmt] { ... } +# 2376| getStmt(0): [ReturnStmt] return ... +# 2376| getExpr(): [FunctionAccess] VoidToInt +# 2376| Type = [RoutineType] ..()(..) +# 2376| ValueCategory = prvalue perf-regression.cpp: # 4| [CopyAssignmentOperator] Big& Big::operator=(Big const&) # 4| : diff --git a/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected b/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected index fe75f86cfc5..a5a09578750 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected @@ -7268,4035 +7268,4049 @@ ir.cpp: # 1054| v1054_43(void) = AliasedUse : ~m1054_20 # 1054| v1054_44(void) = ExitFunction : -# 1079| void RangeBasedFor(vector const&) -# 1079| Block 0 -# 1079| v1079_1(void) = EnterFunction : -# 1079| m1079_2(unknown) = AliasedDefinition : -# 1079| m1079_3(unknown) = InitializeNonLocal : -# 1079| m1079_4(unknown) = Chi : total:m1079_2, partial:m1079_3 -# 1079| r1079_5(glval &>) = VariableAddress[v] : -# 1079| m1079_6(vector &) = InitializeParameter[v] : &:r1079_5 -# 1079| r1079_7(vector &) = Load[v] : &:r1079_5, m1079_6 -# 1079| m1079_8(unknown) = InitializeIndirection[v] : &:r1079_7 -# 1080| r1080_1(glval &>) = VariableAddress[(__range)] : -# 1080| r1080_2(glval &>) = VariableAddress[v] : -# 1080| r1080_3(vector &) = Load[v] : &:r1080_2, m1079_6 -# 1080| r1080_4(glval>) = CopyValue : r1080_3 -# 1080| r1080_5(vector &) = CopyValue : r1080_4 -# 1080| m1080_6(vector &) = Store[(__range)] : &:r1080_1, r1080_5 -# 1080| r1080_7(glval) = VariableAddress[(__begin)] : -# 1080| r1080_8(glval &>) = VariableAddress[(__range)] : -# 1080| r1080_9(vector &) = Load[(__range)] : &:r1080_8, m1080_6 -#-----| r0_1(glval>) = CopyValue : r1080_9 -# 1080| r1080_10(glval) = FunctionAddress[begin] : -# 1080| r1080_11(iterator) = Call[begin] : func:r1080_10, this:r0_1 -# 1080| m1080_12(unknown) = ^CallSideEffect : ~m1079_4 -# 1080| m1080_13(unknown) = Chi : total:m1079_4, partial:m1080_12 -#-----| v0_2(void) = ^IndirectReadSideEffect[-1] : &:r0_1, ~m1079_8 -# 1080| m1080_14(iterator) = Store[(__begin)] : &:r1080_7, r1080_11 -# 1080| r1080_15(glval) = VariableAddress[(__end)] : -# 1080| r1080_16(glval &>) = VariableAddress[(__range)] : -# 1080| r1080_17(vector &) = Load[(__range)] : &:r1080_16, m1080_6 -#-----| r0_3(glval>) = CopyValue : r1080_17 -# 1080| r1080_18(glval) = FunctionAddress[end] : -# 1080| r1080_19(iterator) = Call[end] : func:r1080_18, this:r0_3 -# 1080| m1080_20(unknown) = ^CallSideEffect : ~m1080_13 -# 1080| m1080_21(unknown) = Chi : total:m1080_13, partial:m1080_20 -#-----| v0_4(void) = ^IndirectReadSideEffect[-1] : &:r0_3, ~m1079_8 -# 1080| m1080_22(iterator) = Store[(__end)] : &:r1080_15, r1080_19 +# 1126| void RangeBasedFor(std::vector const&) +# 1126| Block 0 +# 1126| v1126_1(void) = EnterFunction : +# 1126| m1126_2(unknown) = AliasedDefinition : +# 1126| m1126_3(unknown) = InitializeNonLocal : +# 1126| m1126_4(unknown) = Chi : total:m1126_2, partial:m1126_3 +# 1126| r1126_5(glval &>) = VariableAddress[v] : +# 1126| m1126_6(vector &) = InitializeParameter[v] : &:r1126_5 +# 1126| r1126_7(vector &) = Load[v] : &:r1126_5, m1126_6 +# 1126| m1126_8(unknown) = InitializeIndirection[v] : &:r1126_7 +# 1127| r1127_1(glval &>) = VariableAddress[(__range)] : +# 1127| r1127_2(glval &>) = VariableAddress[v] : +# 1127| r1127_3(vector &) = Load[v] : &:r1127_2, m1126_6 +# 1127| r1127_4(glval>) = CopyValue : r1127_3 +# 1127| r1127_5(vector &) = CopyValue : r1127_4 +# 1127| m1127_6(vector &) = Store[(__range)] : &:r1127_1, r1127_5 +# 1127| r1127_7(glval>) = VariableAddress[(__begin)] : +# 1127| r1127_8(glval &>) = VariableAddress[(__range)] : +# 1127| r1127_9(vector &) = Load[(__range)] : &:r1127_8, m1127_6 +#-----| r0_1(glval>) = CopyValue : r1127_9 +# 1127| r1127_10(glval) = FunctionAddress[begin] : +# 1127| r1127_11(iterator) = Call[begin] : func:r1127_10, this:r0_1 +#-----| v0_2(void) = ^IndirectReadSideEffect[-1] : &:r0_1, ~m1126_8 +# 1127| m1127_12(iterator) = Store[(__begin)] : &:r1127_7, r1127_11 +# 1127| r1127_13(glval>) = VariableAddress[(__end)] : +# 1127| r1127_14(glval &>) = VariableAddress[(__range)] : +# 1127| r1127_15(vector &) = Load[(__range)] : &:r1127_14, m1127_6 +#-----| r0_3(glval>) = CopyValue : r1127_15 +# 1127| r1127_16(glval) = FunctionAddress[end] : +# 1127| r1127_17(iterator) = Call[end] : func:r1127_16, this:r0_3 +#-----| v0_4(void) = ^IndirectReadSideEffect[-1] : &:r0_3, ~m1126_8 +# 1127| m1127_18(iterator) = Store[(__end)] : &:r1127_13, r1127_17 #-----| Goto -> Block 1 -# 1080| Block 1 -# 1080| m1080_23(iterator) = Phi : from 0:m1080_14, from 4:m1080_49 -# 1080| m1080_24(unknown) = Phi : from 0:~m1080_21, from 4:~m1080_46 -# 1080| r1080_25(glval) = VariableAddress[(__begin)] : -#-----| r0_5(glval) = Convert : r1080_25 -# 1080| r1080_26(glval) = FunctionAddress[operator!=] : -# 1080| r1080_27(glval) = VariableAddress[(__end)] : -# 1080| r1080_28(iterator) = Load[(__end)] : &:r1080_27, m1080_22 -# 1080| r1080_29(bool) = Call[operator!=] : func:r1080_26, this:r0_5, 0:r1080_28 -# 1080| m1080_30(unknown) = ^CallSideEffect : ~m1080_24 -# 1080| m1080_31(unknown) = Chi : total:m1080_24, partial:m1080_30 -#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m1080_23 -# 1080| v1080_32(void) = ConditionalBranch : r1080_29 +# 1127| Block 1 +# 1127| m1127_19(iterator) = Phi : from 0:m1127_12, from 4:m1127_50 +# 1127| m1127_20(unknown) = Phi : from 0:~m1126_4, from 4:~m1127_47 +# 1127| r1127_21(glval>) = VariableAddress[(__begin)] : +#-----| r0_5(glval>) = Convert : r1127_21 +# 1127| r1127_22(glval) = FunctionAddress[operator!=] : +#-----| r0_6(glval>) = VariableAddress[#temp0:0] : +#-----| m0_7(iterator) = Uninitialized[#temp0:0] : &:r0_6 +# 1127| r1127_23(glval) = FunctionAddress[iterator] : +# 1127| r1127_24(glval>) = VariableAddress[(__end)] : +#-----| r0_8(glval>) = Convert : r1127_24 +#-----| r0_9(iterator &) = CopyValue : r0_8 +# 1127| v1127_25(void) = Call[iterator] : func:r1127_23, this:r0_6, 0:r0_9 +# 1127| m1127_26(unknown) = ^CallSideEffect : ~m1127_20 +# 1127| m1127_27(unknown) = Chi : total:m1127_20, partial:m1127_26 +#-----| v0_10(void) = ^BufferReadSideEffect[0] : &:r0_9, ~m1127_18 +# 1127| m1127_28(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_6 +# 1127| m1127_29(iterator) = Chi : total:m0_7, partial:m1127_28 +#-----| r0_11(iterator) = Load[#temp0:0] : &:r0_6, m1127_29 +# 1127| r1127_30(bool) = Call[operator!=] : func:r1127_22, this:r0_5, 0:r0_11 +# 1127| m1127_31(unknown) = ^CallSideEffect : ~m1127_27 +# 1127| m1127_32(unknown) = Chi : total:m1127_27, partial:m1127_31 +#-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m1127_19 +# 1127| v1127_33(void) = ConditionalBranch : r1127_30 #-----| False -> Block 5 #-----| True -> Block 2 -# 1080| Block 2 -# 1080| r1080_33(glval) = VariableAddress[e] : -# 1080| r1080_34(glval) = VariableAddress[(__begin)] : -#-----| r0_7(glval) = Convert : r1080_34 -# 1080| r1080_35(glval) = FunctionAddress[operator*] : -# 1080| r1080_36(int &) = Call[operator*] : func:r1080_35, this:r0_7 -# 1080| m1080_37(unknown) = ^CallSideEffect : ~m1080_31 -# 1080| m1080_38(unknown) = Chi : total:m1080_31, partial:m1080_37 -#-----| v0_8(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m1080_23 -# 1080| r1080_39(int) = Load[?] : &:r1080_36, ~m1080_38 -# 1080| m1080_40(int) = Store[e] : &:r1080_33, r1080_39 -# 1081| r1081_1(glval) = VariableAddress[e] : -# 1081| r1081_2(int) = Load[e] : &:r1081_1, m1080_40 -# 1081| r1081_3(int) = Constant[0] : -# 1081| r1081_4(bool) = CompareGT : r1081_2, r1081_3 -# 1081| v1081_5(void) = ConditionalBranch : r1081_4 +# 1127| Block 2 +# 1127| r1127_34(glval) = VariableAddress[e] : +# 1127| r1127_35(glval>) = VariableAddress[(__begin)] : +#-----| r0_13(glval>) = Convert : r1127_35 +# 1127| r1127_36(glval) = FunctionAddress[operator*] : +# 1127| r1127_37(int &) = Call[operator*] : func:r1127_36, this:r0_13 +# 1127| m1127_38(unknown) = ^CallSideEffect : ~m1127_32 +# 1127| m1127_39(unknown) = Chi : total:m1127_32, partial:m1127_38 +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_13, m1127_19 +# 1127| r1127_40(int) = Load[?] : &:r1127_37, ~m1127_39 +# 1127| m1127_41(int) = Store[e] : &:r1127_34, r1127_40 +# 1128| r1128_1(glval) = VariableAddress[e] : +# 1128| r1128_2(int) = Load[e] : &:r1128_1, m1127_41 +# 1128| r1128_3(int) = Constant[0] : +# 1128| r1128_4(bool) = CompareGT : r1128_2, r1128_3 +# 1128| v1128_5(void) = ConditionalBranch : r1128_4 #-----| False -> Block 4 #-----| True -> Block 3 -# 1082| Block 3 -# 1082| v1082_1(void) = NoOp : +# 1129| Block 3 +# 1129| v1129_1(void) = NoOp : #-----| Goto -> Block 4 -# 1080| Block 4 -# 1080| v1080_41(void) = NoOp : -# 1080| r1080_42(glval) = VariableAddress[(__begin)] : -# 1080| r1080_43(glval) = FunctionAddress[operator++] : -# 1080| r1080_44(iterator &) = Call[operator++] : func:r1080_43, this:r1080_42 -# 1080| m1080_45(unknown) = ^CallSideEffect : ~m1080_38 -# 1080| m1080_46(unknown) = Chi : total:m1080_38, partial:m1080_45 -# 1080| v1080_47(void) = ^IndirectReadSideEffect[-1] : &:r1080_42, m1080_23 -# 1080| m1080_48(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1080_42 -# 1080| m1080_49(iterator) = Chi : total:m1080_23, partial:m1080_48 -# 1080| r1080_50(glval) = CopyValue : r1080_44 +# 1127| Block 4 +# 1127| v1127_42(void) = NoOp : +# 1127| r1127_43(glval>) = VariableAddress[(__begin)] : +# 1127| r1127_44(glval) = FunctionAddress[operator++] : +# 1127| r1127_45(iterator &) = Call[operator++] : func:r1127_44, this:r1127_43 +# 1127| m1127_46(unknown) = ^CallSideEffect : ~m1127_39 +# 1127| m1127_47(unknown) = Chi : total:m1127_39, partial:m1127_46 +# 1127| v1127_48(void) = ^IndirectReadSideEffect[-1] : &:r1127_43, m1127_19 +# 1127| m1127_49(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1127_43 +# 1127| m1127_50(iterator) = Chi : total:m1127_19, partial:m1127_49 +# 1127| r1127_51(glval>) = CopyValue : r1127_45 #-----| Goto (back edge) -> Block 1 -# 1086| Block 5 -# 1086| r1086_1(glval &>) = VariableAddress[(__range)] : -# 1086| r1086_2(glval &>) = VariableAddress[v] : -# 1086| r1086_3(vector &) = Load[v] : &:r1086_2, m1079_6 -# 1086| r1086_4(glval>) = CopyValue : r1086_3 -# 1086| r1086_5(vector &) = CopyValue : r1086_4 -# 1086| m1086_6(vector &) = Store[(__range)] : &:r1086_1, r1086_5 -# 1086| r1086_7(glval) = VariableAddress[(__begin)] : -# 1086| r1086_8(glval &>) = VariableAddress[(__range)] : -# 1086| r1086_9(vector &) = Load[(__range)] : &:r1086_8, m1086_6 -#-----| r0_9(glval>) = CopyValue : r1086_9 -# 1086| r1086_10(glval) = FunctionAddress[begin] : -# 1086| r1086_11(iterator) = Call[begin] : func:r1086_10, this:r0_9 -# 1086| m1086_12(unknown) = ^CallSideEffect : ~m1080_31 -# 1086| m1086_13(unknown) = Chi : total:m1080_31, partial:m1086_12 -#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_9, ~m1079_8 -# 1086| m1086_14(iterator) = Store[(__begin)] : &:r1086_7, r1086_11 -# 1086| r1086_15(glval) = VariableAddress[(__end)] : -# 1086| r1086_16(glval &>) = VariableAddress[(__range)] : -# 1086| r1086_17(vector &) = Load[(__range)] : &:r1086_16, m1086_6 -#-----| r0_11(glval>) = CopyValue : r1086_17 -# 1086| r1086_18(glval) = FunctionAddress[end] : -# 1086| r1086_19(iterator) = Call[end] : func:r1086_18, this:r0_11 -# 1086| m1086_20(unknown) = ^CallSideEffect : ~m1086_13 -# 1086| m1086_21(unknown) = Chi : total:m1086_13, partial:m1086_20 -#-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_11, ~m1079_8 -# 1086| m1086_22(iterator) = Store[(__end)] : &:r1086_15, r1086_19 +# 1133| Block 5 +# 1133| r1133_1(glval &>) = VariableAddress[(__range)] : +# 1133| r1133_2(glval &>) = VariableAddress[v] : +# 1133| r1133_3(vector &) = Load[v] : &:r1133_2, m1126_6 +# 1133| r1133_4(glval>) = CopyValue : r1133_3 +# 1133| r1133_5(vector &) = CopyValue : r1133_4 +# 1133| m1133_6(vector &) = Store[(__range)] : &:r1133_1, r1133_5 +# 1133| r1133_7(glval>) = VariableAddress[(__begin)] : +# 1133| r1133_8(glval &>) = VariableAddress[(__range)] : +# 1133| r1133_9(vector &) = Load[(__range)] : &:r1133_8, m1133_6 +#-----| r0_15(glval>) = CopyValue : r1133_9 +# 1133| r1133_10(glval) = FunctionAddress[begin] : +# 1133| r1133_11(iterator) = Call[begin] : func:r1133_10, this:r0_15 +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, ~m1126_8 +# 1133| m1133_12(iterator) = Store[(__begin)] : &:r1133_7, r1133_11 +# 1133| r1133_13(glval>) = VariableAddress[(__end)] : +# 1133| r1133_14(glval &>) = VariableAddress[(__range)] : +# 1133| r1133_15(vector &) = Load[(__range)] : &:r1133_14, m1133_6 +#-----| r0_17(glval>) = CopyValue : r1133_15 +# 1133| r1133_16(glval) = FunctionAddress[end] : +# 1133| r1133_17(iterator) = Call[end] : func:r1133_16, this:r0_17 +#-----| v0_18(void) = ^IndirectReadSideEffect[-1] : &:r0_17, ~m1126_8 +# 1133| m1133_18(iterator) = Store[(__end)] : &:r1133_13, r1133_17 #-----| Goto -> Block 6 -# 1086| Block 6 -# 1086| m1086_23(iterator) = Phi : from 5:m1086_14, from 7:m1086_40 -# 1086| m1086_24(unknown) = Phi : from 5:~m1086_21, from 7:~m1086_37 -# 1086| r1086_25(glval) = VariableAddress[(__begin)] : -#-----| r0_13(glval) = Convert : r1086_25 -# 1086| r1086_26(glval) = FunctionAddress[operator!=] : -# 1086| r1086_27(glval) = VariableAddress[(__end)] : -# 1086| r1086_28(iterator) = Load[(__end)] : &:r1086_27, m1086_22 -# 1086| r1086_29(bool) = Call[operator!=] : func:r1086_26, this:r0_13, 0:r1086_28 -# 1086| m1086_30(unknown) = ^CallSideEffect : ~m1086_24 -# 1086| m1086_31(unknown) = Chi : total:m1086_24, partial:m1086_30 -#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_13, m1086_23 -# 1086| v1086_32(void) = ConditionalBranch : r1086_29 +# 1133| Block 6 +# 1133| m1133_19(iterator) = Phi : from 5:m1133_12, from 7:m1133_41 +# 1133| m1133_20(unknown) = Phi : from 5:~m1127_32, from 7:~m1133_38 +# 1133| r1133_21(glval>) = VariableAddress[(__begin)] : +#-----| r0_19(glval>) = Convert : r1133_21 +# 1133| r1133_22(glval) = FunctionAddress[operator!=] : +#-----| r0_20(glval>) = VariableAddress[#temp0:0] : +#-----| m0_21(iterator) = Uninitialized[#temp0:0] : &:r0_20 +# 1133| r1133_23(glval) = FunctionAddress[iterator] : +# 1133| r1133_24(glval>) = VariableAddress[(__end)] : +#-----| r0_22(glval>) = Convert : r1133_24 +#-----| r0_23(iterator &) = CopyValue : r0_22 +# 1133| v1133_25(void) = Call[iterator] : func:r1133_23, this:r0_20, 0:r0_23 +# 1133| m1133_26(unknown) = ^CallSideEffect : ~m1133_20 +# 1133| m1133_27(unknown) = Chi : total:m1133_20, partial:m1133_26 +#-----| v0_24(void) = ^BufferReadSideEffect[0] : &:r0_23, ~m1133_18 +# 1133| m1133_28(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_20 +# 1133| m1133_29(iterator) = Chi : total:m0_21, partial:m1133_28 +#-----| r0_25(iterator) = Load[#temp0:0] : &:r0_20, m1133_29 +# 1133| r1133_30(bool) = Call[operator!=] : func:r1133_22, this:r0_19, 0:r0_25 +# 1133| m1133_31(unknown) = ^CallSideEffect : ~m1133_27 +# 1133| m1133_32(unknown) = Chi : total:m1133_27, partial:m1133_31 +#-----| v0_26(void) = ^IndirectReadSideEffect[-1] : &:r0_19, m1133_19 +# 1133| v1133_33(void) = ConditionalBranch : r1133_30 #-----| False -> Block 10 #-----| True -> Block 8 -# 1086| Block 7 -# 1086| r1086_33(glval) = VariableAddress[(__begin)] : -# 1086| r1086_34(glval) = FunctionAddress[operator++] : -# 1086| r1086_35(iterator &) = Call[operator++] : func:r1086_34, this:r1086_33 -# 1086| m1086_36(unknown) = ^CallSideEffect : ~m1086_47 -# 1086| m1086_37(unknown) = Chi : total:m1086_47, partial:m1086_36 -# 1086| v1086_38(void) = ^IndirectReadSideEffect[-1] : &:r1086_33, m1086_23 -# 1086| m1086_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1086_33 -# 1086| m1086_40(iterator) = Chi : total:m1086_23, partial:m1086_39 -# 1086| r1086_41(glval) = CopyValue : r1086_35 +# 1133| Block 7 +# 1133| r1133_34(glval>) = VariableAddress[(__begin)] : +# 1133| r1133_35(glval) = FunctionAddress[operator++] : +# 1133| r1133_36(iterator &) = Call[operator++] : func:r1133_35, this:r1133_34 +# 1133| m1133_37(unknown) = ^CallSideEffect : ~m1133_48 +# 1133| m1133_38(unknown) = Chi : total:m1133_48, partial:m1133_37 +# 1133| v1133_39(void) = ^IndirectReadSideEffect[-1] : &:r1133_34, m1133_19 +# 1133| m1133_40(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1133_34 +# 1133| m1133_41(iterator) = Chi : total:m1133_19, partial:m1133_40 +# 1133| r1133_42(glval>) = CopyValue : r1133_36 #-----| Goto (back edge) -> Block 6 -# 1086| Block 8 -# 1086| r1086_42(glval) = VariableAddress[e] : -# 1086| r1086_43(glval) = VariableAddress[(__begin)] : -#-----| r0_15(glval) = Convert : r1086_43 -# 1086| r1086_44(glval) = FunctionAddress[operator*] : -# 1086| r1086_45(int &) = Call[operator*] : func:r1086_44, this:r0_15 -# 1086| m1086_46(unknown) = ^CallSideEffect : ~m1086_31 -# 1086| m1086_47(unknown) = Chi : total:m1086_31, partial:m1086_46 -#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, m1086_23 -# 1086| r1086_48(glval) = CopyValue : r1086_45 -# 1086| r1086_49(glval) = Convert : r1086_48 -# 1086| r1086_50(int &) = CopyValue : r1086_49 -# 1086| m1086_51(int &) = Store[e] : &:r1086_42, r1086_50 -# 1087| r1087_1(glval) = VariableAddress[e] : -# 1087| r1087_2(int &) = Load[e] : &:r1087_1, m1086_51 -# 1087| r1087_3(int) = Load[?] : &:r1087_2, ~m1086_47 -# 1087| r1087_4(int) = Constant[5] : -# 1087| r1087_5(bool) = CompareLT : r1087_3, r1087_4 -# 1087| v1087_6(void) = ConditionalBranch : r1087_5 +# 1133| Block 8 +# 1133| r1133_43(glval) = VariableAddress[e] : +# 1133| r1133_44(glval>) = VariableAddress[(__begin)] : +#-----| r0_27(glval>) = Convert : r1133_44 +# 1133| r1133_45(glval) = FunctionAddress[operator*] : +# 1133| r1133_46(int &) = Call[operator*] : func:r1133_45, this:r0_27 +# 1133| m1133_47(unknown) = ^CallSideEffect : ~m1133_32 +# 1133| m1133_48(unknown) = Chi : total:m1133_32, partial:m1133_47 +#-----| v0_28(void) = ^IndirectReadSideEffect[-1] : &:r0_27, m1133_19 +# 1133| r1133_49(glval) = CopyValue : r1133_46 +# 1133| r1133_50(glval) = Convert : r1133_49 +# 1133| r1133_51(int &) = CopyValue : r1133_50 +# 1133| m1133_52(int &) = Store[e] : &:r1133_43, r1133_51 +# 1134| r1134_1(glval) = VariableAddress[e] : +# 1134| r1134_2(int &) = Load[e] : &:r1134_1, m1133_52 +# 1134| r1134_3(int) = Load[?] : &:r1134_2, ~m1133_48 +# 1134| r1134_4(int) = Constant[5] : +# 1134| r1134_5(bool) = CompareLT : r1134_3, r1134_4 +# 1134| v1134_6(void) = ConditionalBranch : r1134_5 #-----| False -> Block 7 #-----| True -> Block 9 -# 1088| Block 9 -# 1088| v1088_1(void) = NoOp : +# 1135| Block 9 +# 1135| v1135_1(void) = NoOp : #-----| Goto -> Block 10 -# 1090| Block 10 -# 1090| m1090_1(unknown) = Phi : from 6:~m1086_31, from 9:~m1086_47 -# 1090| v1090_2(void) = NoOp : -# 1091| v1091_1(void) = NoOp : -# 1079| v1079_9(void) = ReturnIndirection[v] : &:r1079_7, m1079_8 -# 1079| v1079_10(void) = ReturnVoid : -# 1079| v1079_11(void) = AliasedUse : ~m1090_1 -# 1079| v1079_12(void) = ExitFunction : +# 1137| Block 10 +# 1137| m1137_1(unknown) = Phi : from 6:~m1133_32, from 9:~m1133_48 +# 1137| v1137_2(void) = NoOp : +# 1138| v1138_1(void) = NoOp : +# 1126| v1126_9(void) = ReturnIndirection[v] : &:r1126_7, m1126_8 +# 1126| v1126_10(void) = ReturnVoid : +# 1126| v1126_11(void) = AliasedUse : ~m1137_1 +# 1126| v1126_12(void) = ExitFunction : -# 1110| int AsmStmt(int) -# 1110| Block 0 -# 1110| v1110_1(void) = EnterFunction : -# 1110| m1110_2(unknown) = AliasedDefinition : -# 1110| m1110_3(unknown) = InitializeNonLocal : -# 1110| m1110_4(unknown) = Chi : total:m1110_2, partial:m1110_3 -# 1110| r1110_5(glval) = VariableAddress[x] : -# 1110| m1110_6(int) = InitializeParameter[x] : &:r1110_5 -# 1111| m1111_1(unknown) = InlineAsm : ~m1110_4 -# 1111| m1111_2(unknown) = Chi : total:m1110_4, partial:m1111_1 -# 1112| r1112_1(glval) = VariableAddress[#return] : -# 1112| r1112_2(glval) = VariableAddress[x] : -# 1112| r1112_3(int) = Load[x] : &:r1112_2, m1110_6 -# 1112| m1112_4(int) = Store[#return] : &:r1112_1, r1112_3 -# 1110| r1110_7(glval) = VariableAddress[#return] : -# 1110| v1110_8(void) = ReturnValue : &:r1110_7, m1112_4 -# 1110| v1110_9(void) = AliasedUse : ~m1111_2 -# 1110| v1110_10(void) = ExitFunction : +# 1157| int AsmStmt(int) +# 1157| Block 0 +# 1157| v1157_1(void) = EnterFunction : +# 1157| m1157_2(unknown) = AliasedDefinition : +# 1157| m1157_3(unknown) = InitializeNonLocal : +# 1157| m1157_4(unknown) = Chi : total:m1157_2, partial:m1157_3 +# 1157| r1157_5(glval) = VariableAddress[x] : +# 1157| m1157_6(int) = InitializeParameter[x] : &:r1157_5 +# 1158| m1158_1(unknown) = InlineAsm : ~m1157_4 +# 1158| m1158_2(unknown) = Chi : total:m1157_4, partial:m1158_1 +# 1159| r1159_1(glval) = VariableAddress[#return] : +# 1159| r1159_2(glval) = VariableAddress[x] : +# 1159| r1159_3(int) = Load[x] : &:r1159_2, m1157_6 +# 1159| m1159_4(int) = Store[#return] : &:r1159_1, r1159_3 +# 1157| r1157_7(glval) = VariableAddress[#return] : +# 1157| v1157_8(void) = ReturnValue : &:r1157_7, m1159_4 +# 1157| v1157_9(void) = AliasedUse : ~m1158_2 +# 1157| v1157_10(void) = ExitFunction : -# 1115| void AsmStmtWithOutputs(unsigned int&, unsigned int, unsigned int&, unsigned int) -# 1115| Block 0 -# 1115| v1115_1(void) = EnterFunction : -# 1115| m1115_2(unknown) = AliasedDefinition : -# 1115| m1115_3(unknown) = InitializeNonLocal : -# 1115| m1115_4(unknown) = Chi : total:m1115_2, partial:m1115_3 -# 1115| r1115_5(glval) = VariableAddress[a] : -# 1115| m1115_6(unsigned int &) = InitializeParameter[a] : &:r1115_5 -# 1115| r1115_7(unsigned int &) = Load[a] : &:r1115_5, m1115_6 -# 1115| m1115_8(unknown) = InitializeIndirection[a] : &:r1115_7 -# 1115| r1115_9(glval) = VariableAddress[b] : -# 1115| m1115_10(unsigned int) = InitializeParameter[b] : &:r1115_9 -# 1115| r1115_11(glval) = VariableAddress[c] : -# 1115| m1115_12(unsigned int &) = InitializeParameter[c] : &:r1115_11 -# 1115| r1115_13(unsigned int &) = Load[c] : &:r1115_11, m1115_12 -# 1115| m1115_14(unknown) = InitializeIndirection[c] : &:r1115_13 -# 1115| r1115_15(glval) = VariableAddress[d] : -# 1115| m1115_16(unsigned int) = InitializeParameter[d] : &:r1115_15 -# 1120| r1120_1(glval) = VariableAddress[a] : -# 1120| r1120_2(unsigned int &) = Load[a] : &:r1120_1, m1115_6 -# 1120| r1120_3(glval) = CopyValue : r1120_2 -# 1120| r1120_4(glval) = VariableAddress[b] : -# 1120| r1120_5(glval) = VariableAddress[c] : -# 1120| r1120_6(unsigned int &) = Load[c] : &:r1120_5, m1115_12 -# 1120| r1120_7(unsigned int) = Load[?] : &:r1120_6, ~m1115_14 -# 1120| r1120_8(glval) = VariableAddress[d] : -# 1120| r1120_9(unsigned int) = Load[d] : &:r1120_8, m1115_16 -# 1117| m1117_1(unknown) = InlineAsm : ~m1115_4, 0:r1120_3, 1:r1120_4, 2:r1120_7, 3:r1120_9 -# 1117| m1117_2(unknown) = Chi : total:m1115_4, partial:m1117_1 -# 1122| v1122_1(void) = NoOp : -# 1115| v1115_17(void) = ReturnIndirection[a] : &:r1115_7, m1115_8 -# 1115| v1115_18(void) = ReturnIndirection[c] : &:r1115_13, m1115_14 -# 1115| v1115_19(void) = ReturnVoid : -# 1115| v1115_20(void) = AliasedUse : ~m1117_2 -# 1115| v1115_21(void) = ExitFunction : +# 1162| void AsmStmtWithOutputs(unsigned int&, unsigned int, unsigned int&, unsigned int) +# 1162| Block 0 +# 1162| v1162_1(void) = EnterFunction : +# 1162| m1162_2(unknown) = AliasedDefinition : +# 1162| m1162_3(unknown) = InitializeNonLocal : +# 1162| m1162_4(unknown) = Chi : total:m1162_2, partial:m1162_3 +# 1162| r1162_5(glval) = VariableAddress[a] : +# 1162| m1162_6(unsigned int &) = InitializeParameter[a] : &:r1162_5 +# 1162| r1162_7(unsigned int &) = Load[a] : &:r1162_5, m1162_6 +# 1162| m1162_8(unknown) = InitializeIndirection[a] : &:r1162_7 +# 1162| r1162_9(glval) = VariableAddress[b] : +# 1162| m1162_10(unsigned int) = InitializeParameter[b] : &:r1162_9 +# 1162| r1162_11(glval) = VariableAddress[c] : +# 1162| m1162_12(unsigned int &) = InitializeParameter[c] : &:r1162_11 +# 1162| r1162_13(unsigned int &) = Load[c] : &:r1162_11, m1162_12 +# 1162| m1162_14(unknown) = InitializeIndirection[c] : &:r1162_13 +# 1162| r1162_15(glval) = VariableAddress[d] : +# 1162| m1162_16(unsigned int) = InitializeParameter[d] : &:r1162_15 +# 1167| r1167_1(glval) = VariableAddress[a] : +# 1167| r1167_2(unsigned int &) = Load[a] : &:r1167_1, m1162_6 +# 1167| r1167_3(glval) = CopyValue : r1167_2 +# 1167| r1167_4(glval) = VariableAddress[b] : +# 1167| r1167_5(glval) = VariableAddress[c] : +# 1167| r1167_6(unsigned int &) = Load[c] : &:r1167_5, m1162_12 +# 1167| r1167_7(unsigned int) = Load[?] : &:r1167_6, ~m1162_14 +# 1167| r1167_8(glval) = VariableAddress[d] : +# 1167| r1167_9(unsigned int) = Load[d] : &:r1167_8, m1162_16 +# 1164| m1164_1(unknown) = InlineAsm : ~m1162_4, 0:r1167_3, 1:r1167_4, 2:r1167_7, 3:r1167_9 +# 1164| m1164_2(unknown) = Chi : total:m1162_4, partial:m1164_1 +# 1169| v1169_1(void) = NoOp : +# 1162| v1162_17(void) = ReturnIndirection[a] : &:r1162_7, m1162_8 +# 1162| v1162_18(void) = ReturnIndirection[c] : &:r1162_13, m1162_14 +# 1162| v1162_19(void) = ReturnVoid : +# 1162| v1162_20(void) = AliasedUse : ~m1164_2 +# 1162| v1162_21(void) = ExitFunction : -# 1124| void ExternDeclarations() -# 1124| Block 0 -# 1124| v1124_1(void) = EnterFunction : -# 1124| m1124_2(unknown) = AliasedDefinition : -# 1124| m1124_3(unknown) = InitializeNonLocal : -# 1124| m1124_4(unknown) = Chi : total:m1124_2, partial:m1124_3 -# 1127| r1127_1(glval) = VariableAddress[x] : -# 1127| m1127_2(int) = Uninitialized[x] : &:r1127_1 -# 1128| r1128_1(glval) = VariableAddress[y] : -# 1128| m1128_2(int) = Uninitialized[y] : &:r1128_1 -# 1129| r1129_1(glval) = VariableAddress[h] : -# 1129| m1129_2(int) = Uninitialized[h] : &:r1129_1 -# 1131| v1131_1(void) = NoOp : -# 1124| v1124_5(void) = ReturnVoid : -# 1124| v1124_6(void) = AliasedUse : m1124_3 -# 1124| v1124_7(void) = ExitFunction : +# 1171| void ExternDeclarations() +# 1171| Block 0 +# 1171| v1171_1(void) = EnterFunction : +# 1171| m1171_2(unknown) = AliasedDefinition : +# 1171| m1171_3(unknown) = InitializeNonLocal : +# 1171| m1171_4(unknown) = Chi : total:m1171_2, partial:m1171_3 +# 1174| r1174_1(glval) = VariableAddress[x] : +# 1174| m1174_2(int) = Uninitialized[x] : &:r1174_1 +# 1175| r1175_1(glval) = VariableAddress[y] : +# 1175| m1175_2(int) = Uninitialized[y] : &:r1175_1 +# 1176| r1176_1(glval) = VariableAddress[h] : +# 1176| m1176_2(int) = Uninitialized[h] : &:r1176_1 +# 1178| v1178_1(void) = NoOp : +# 1171| v1171_5(void) = ReturnVoid : +# 1171| v1171_6(void) = AliasedUse : m1171_3 +# 1171| v1171_7(void) = ExitFunction : -# 1139| void ExternDeclarationsInMacro() -# 1139| Block 0 -# 1139| v1139_1(void) = EnterFunction : -# 1139| m1139_2(unknown) = AliasedDefinition : -# 1139| m1139_3(unknown) = InitializeNonLocal : -# 1139| m1139_4(unknown) = Chi : total:m1139_2, partial:m1139_3 -# 1141| r1141_1(glval) = VariableAddress[i] : -# 1141| r1141_2(int) = Constant[0] : -# 1141| m1141_3(int) = Store[i] : &:r1141_1, r1141_2 +# 1186| void ExternDeclarationsInMacro() +# 1186| Block 0 +# 1186| v1186_1(void) = EnterFunction : +# 1186| m1186_2(unknown) = AliasedDefinition : +# 1186| m1186_3(unknown) = InitializeNonLocal : +# 1186| m1186_4(unknown) = Chi : total:m1186_2, partial:m1186_3 +# 1188| r1188_1(glval) = VariableAddress[i] : +# 1188| r1188_2(int) = Constant[0] : +# 1188| m1188_3(int) = Store[i] : &:r1188_1, r1188_2 #-----| Goto -> Block 1 -# 1141| Block 1 -# 1141| m1141_4(int) = Phi : from 0:m1141_3, from 2:m1141_14 -# 1141| r1141_5(glval) = VariableAddress[i] : -# 1141| r1141_6(int) = Load[i] : &:r1141_5, m1141_4 -# 1141| r1141_7(int) = Constant[10] : -# 1141| r1141_8(bool) = CompareLT : r1141_6, r1141_7 -# 1141| v1141_9(void) = ConditionalBranch : r1141_8 +# 1188| Block 1 +# 1188| m1188_4(int) = Phi : from 0:m1188_3, from 2:m1188_14 +# 1188| r1188_5(glval) = VariableAddress[i] : +# 1188| r1188_6(int) = Load[i] : &:r1188_5, m1188_4 +# 1188| r1188_7(int) = Constant[10] : +# 1188| r1188_8(bool) = CompareLT : r1188_6, r1188_7 +# 1188| v1188_9(void) = ConditionalBranch : r1188_8 #-----| False -> Block 3 #-----| True -> Block 2 -# 1141| Block 2 -# 1141| r1141_10(glval) = VariableAddress[i] : -# 1141| r1141_11(int) = Load[i] : &:r1141_10, m1141_4 -# 1141| r1141_12(int) = Constant[1] : -# 1141| r1141_13(int) = Add : r1141_11, r1141_12 -# 1141| m1141_14(int) = Store[i] : &:r1141_10, r1141_13 +# 1188| Block 2 +# 1188| r1188_10(glval) = VariableAddress[i] : +# 1188| r1188_11(int) = Load[i] : &:r1188_10, m1188_4 +# 1188| r1188_12(int) = Constant[1] : +# 1188| r1188_13(int) = Add : r1188_11, r1188_12 +# 1188| m1188_14(int) = Store[i] : &:r1188_10, r1188_13 #-----| Goto (back edge) -> Block 1 -# 1141| Block 3 -# 1141| v1141_15(void) = NoOp : -# 1142| v1142_1(void) = NoOp : -# 1139| v1139_5(void) = ReturnVoid : -# 1139| v1139_6(void) = AliasedUse : m1139_3 -# 1139| v1139_7(void) = ExitFunction : +# 1188| Block 3 +# 1188| v1188_15(void) = NoOp : +# 1189| v1189_1(void) = NoOp : +# 1186| v1186_5(void) = ReturnVoid : +# 1186| v1186_6(void) = AliasedUse : m1186_3 +# 1186| v1186_7(void) = ExitFunction : -# 1144| void TryCatchNoCatchAny(bool) -# 1144| Block 0 -# 1144| v1144_1(void) = EnterFunction : -# 1144| m1144_2(unknown) = AliasedDefinition : -# 1144| m1144_3(unknown) = InitializeNonLocal : -# 1144| m1144_4(unknown) = Chi : total:m1144_2, partial:m1144_3 -# 1144| r1144_5(glval) = VariableAddress[b] : -# 1144| m1144_6(bool) = InitializeParameter[b] : &:r1144_5 -# 1146| r1146_1(glval) = VariableAddress[x] : -# 1146| r1146_2(int) = Constant[5] : -# 1146| m1146_3(int) = Store[x] : &:r1146_1, r1146_2 -# 1147| r1147_1(glval) = VariableAddress[b] : -# 1147| r1147_2(bool) = Load[b] : &:r1147_1, m1144_6 -# 1147| v1147_3(void) = ConditionalBranch : r1147_2 +# 1191| void TryCatchNoCatchAny(bool) +# 1191| Block 0 +# 1191| v1191_1(void) = EnterFunction : +# 1191| m1191_2(unknown) = AliasedDefinition : +# 1191| m1191_3(unknown) = InitializeNonLocal : +# 1191| m1191_4(unknown) = Chi : total:m1191_2, partial:m1191_3 +# 1191| r1191_5(glval) = VariableAddress[b] : +# 1191| m1191_6(bool) = InitializeParameter[b] : &:r1191_5 +# 1193| r1193_1(glval) = VariableAddress[x] : +# 1193| r1193_2(int) = Constant[5] : +# 1193| m1193_3(int) = Store[x] : &:r1193_1, r1193_2 +# 1194| r1194_1(glval) = VariableAddress[b] : +# 1194| r1194_2(bool) = Load[b] : &:r1194_1, m1191_6 +# 1194| v1194_3(void) = ConditionalBranch : r1194_2 #-----| False -> Block 4 #-----| True -> Block 3 -# 1144| Block 1 -# 1144| m1144_7(unknown) = Phi : from 2:~m1144_10, from 10:~m1144_4 -# 1144| v1144_8(void) = AliasedUse : ~m1144_7 -# 1144| v1144_9(void) = ExitFunction : +# 1191| Block 1 +# 1191| m1191_7(unknown) = Phi : from 2:~m1191_10, from 10:~m1191_4 +# 1191| v1191_8(void) = AliasedUse : ~m1191_7 +# 1191| v1191_9(void) = ExitFunction : -# 1144| Block 2 -# 1144| m1144_10(unknown) = Phi : from 7:~m1156_8, from 8:~m1144_4 -# 1144| v1144_11(void) = Unwind : +# 1191| Block 2 +# 1191| m1191_10(unknown) = Phi : from 7:~m1203_8, from 8:~m1191_4 +# 1191| v1191_11(void) = Unwind : #-----| Goto -> Block 1 -# 1148| Block 3 -# 1148| r1148_1(glval) = VariableAddress[#throw1148:7] : -# 1148| r1148_2(glval) = StringConstant["string literal"] : -# 1148| r1148_3(char *) = Convert : r1148_2 -# 1148| m1148_4(char *) = Store[#throw1148:7] : &:r1148_1, r1148_3 -# 1148| v1148_5(void) = ThrowValue : &:r1148_1, m1148_4 +# 1195| Block 3 +# 1195| r1195_1(glval) = VariableAddress[#throw1195:7] : +# 1195| r1195_2(glval) = StringConstant["string literal"] : +# 1195| r1195_3(char *) = Convert : r1195_2 +# 1195| m1195_4(char *) = Store[#throw1195:7] : &:r1195_1, r1195_3 +# 1195| v1195_5(void) = ThrowValue : &:r1195_1, m1195_4 #-----| Exception -> Block 6 -# 1150| Block 4 -# 1150| r1150_1(glval) = VariableAddress[x] : -# 1150| r1150_2(int) = Load[x] : &:r1150_1, m1146_3 -# 1150| r1150_3(int) = Constant[2] : -# 1150| r1150_4(bool) = CompareLT : r1150_2, r1150_3 -# 1150| v1150_5(void) = ConditionalBranch : r1150_4 +# 1197| Block 4 +# 1197| r1197_1(glval) = VariableAddress[x] : +# 1197| r1197_2(int) = Load[x] : &:r1197_1, m1193_3 +# 1197| r1197_3(int) = Constant[2] : +# 1197| r1197_4(bool) = CompareLT : r1197_2, r1197_3 +# 1197| v1197_5(void) = ConditionalBranch : r1197_4 #-----| False -> Block 5 #-----| True -> Block 11 -# 1153| Block 5 -# 1153| r1153_1(int) = Constant[7] : -# 1153| r1153_2(glval) = VariableAddress[x] : -# 1153| m1153_3(int) = Store[x] : &:r1153_2, r1153_1 +# 1200| Block 5 +# 1200| r1200_1(int) = Constant[7] : +# 1200| r1200_2(glval) = VariableAddress[x] : +# 1200| m1200_3(int) = Store[x] : &:r1200_2, r1200_1 #-----| Goto -> Block 10 -# 1155| Block 6 -# 1155| v1155_1(void) = CatchByType[const char *] : +# 1202| Block 6 +# 1202| v1202_1(void) = CatchByType[const char *] : #-----| Exception -> Block 8 #-----| Goto -> Block 7 -# 1155| Block 7 -# 1155| r1155_2(glval) = VariableAddress[s] : -# 1155| m1155_3(char *) = InitializeParameter[s] : &:r1155_2 -# 1155| r1155_4(char *) = Load[s] : &:r1155_2, m1155_3 -# 1155| m1155_5(unknown) = InitializeIndirection[s] : &:r1155_4 -# 1156| r1156_1(glval) = VariableAddress[#throw1156:5] : -# 1156| m1156_2(String) = Uninitialized[#throw1156:5] : &:r1156_1 -# 1156| r1156_3(glval) = FunctionAddress[String] : -# 1156| r1156_4(glval) = VariableAddress[s] : -# 1156| r1156_5(char *) = Load[s] : &:r1156_4, m1155_3 -# 1156| v1156_6(void) = Call[String] : func:r1156_3, this:r1156_1, 0:r1156_5 -# 1156| m1156_7(unknown) = ^CallSideEffect : ~m1144_4 -# 1156| m1156_8(unknown) = Chi : total:m1144_4, partial:m1156_7 -# 1156| v1156_9(void) = ^BufferReadSideEffect[0] : &:r1156_5, ~m1155_5 -# 1156| m1156_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1156_1 -# 1156| m1156_11(String) = Chi : total:m1156_2, partial:m1156_10 -# 1156| v1156_12(void) = ThrowValue : &:r1156_1, m1156_11 +# 1202| Block 7 +# 1202| r1202_2(glval) = VariableAddress[s] : +# 1202| m1202_3(char *) = InitializeParameter[s] : &:r1202_2 +# 1202| r1202_4(char *) = Load[s] : &:r1202_2, m1202_3 +# 1202| m1202_5(unknown) = InitializeIndirection[s] : &:r1202_4 +# 1203| r1203_1(glval) = VariableAddress[#throw1203:5] : +# 1203| m1203_2(String) = Uninitialized[#throw1203:5] : &:r1203_1 +# 1203| r1203_3(glval) = FunctionAddress[String] : +# 1203| r1203_4(glval) = VariableAddress[s] : +# 1203| r1203_5(char *) = Load[s] : &:r1203_4, m1202_3 +# 1203| v1203_6(void) = Call[String] : func:r1203_3, this:r1203_1, 0:r1203_5 +# 1203| m1203_7(unknown) = ^CallSideEffect : ~m1191_4 +# 1203| m1203_8(unknown) = Chi : total:m1191_4, partial:m1203_7 +# 1203| v1203_9(void) = ^BufferReadSideEffect[0] : &:r1203_5, ~m1202_5 +# 1203| m1203_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1203_1 +# 1203| m1203_11(String) = Chi : total:m1203_2, partial:m1203_10 +# 1203| v1203_12(void) = ThrowValue : &:r1203_1, m1203_11 #-----| Exception -> Block 2 -# 1158| Block 8 -# 1158| v1158_1(void) = CatchByType[const String &] : +# 1205| Block 8 +# 1205| v1205_1(void) = CatchByType[const String &] : #-----| Exception -> Block 2 #-----| Goto -> Block 9 -# 1158| Block 9 -# 1158| r1158_2(glval) = VariableAddress[e] : -# 1158| m1158_3(String &) = InitializeParameter[e] : &:r1158_2 -# 1158| r1158_4(String &) = Load[e] : &:r1158_2, m1158_3 -# 1158| m1158_5(unknown) = InitializeIndirection[e] : &:r1158_4 -# 1158| v1158_6(void) = NoOp : +# 1205| Block 9 +# 1205| r1205_2(glval) = VariableAddress[e] : +# 1205| m1205_3(String &) = InitializeParameter[e] : &:r1205_2 +# 1205| r1205_4(String &) = Load[e] : &:r1205_2, m1205_3 +# 1205| m1205_5(unknown) = InitializeIndirection[e] : &:r1205_4 +# 1205| v1205_6(void) = NoOp : #-----| Goto -> Block 10 -# 1160| Block 10 -# 1160| v1160_1(void) = NoOp : -# 1144| v1144_12(void) = ReturnVoid : +# 1207| Block 10 +# 1207| v1207_1(void) = NoOp : +# 1191| v1191_12(void) = ReturnVoid : #-----| Goto -> Block 1 -# 1144| Block 11 -# 1144| v1144_13(void) = Unreached : +# 1191| Block 11 +# 1191| v1191_13(void) = Unreached : -# 1164| void VectorTypes(int) -# 1164| Block 0 -# 1164| v1164_1(void) = EnterFunction : -# 1164| m1164_2(unknown) = AliasedDefinition : -# 1164| m1164_3(unknown) = InitializeNonLocal : -# 1164| m1164_4(unknown) = Chi : total:m1164_2, partial:m1164_3 -# 1164| r1164_5(glval) = VariableAddress[i] : -# 1164| m1164_6(int) = InitializeParameter[i] : &:r1164_5 -# 1165| r1165_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1165| m1165_2(__attribute((vector_size(16UL))) int) = Uninitialized[vi4] : &:r1165_1 -# 1165| r1165_3(int) = Constant[0] : -# 1165| r1165_4(glval) = PointerAdd[4] : r1165_1, r1165_3 -# 1165| r1165_5(int) = Constant[0] : -# 1165| m1165_6(int) = Store[?] : &:r1165_4, r1165_5 -# 1165| m1165_7(__attribute((vector_size(16UL))) int) = Chi : total:m1165_2, partial:m1165_6 -# 1165| r1165_8(int) = Constant[1] : -# 1165| r1165_9(glval) = PointerAdd[4] : r1165_1, r1165_8 -# 1165| r1165_10(int) = Constant[1] : -# 1165| m1165_11(int) = Store[?] : &:r1165_9, r1165_10 -# 1165| m1165_12(__attribute((vector_size(16UL))) int) = Chi : total:m1165_7, partial:m1165_11 -# 1165| r1165_13(int) = Constant[2] : -# 1165| r1165_14(glval) = PointerAdd[4] : r1165_1, r1165_13 -# 1165| r1165_15(int) = Constant[2] : -# 1165| m1165_16(int) = Store[?] : &:r1165_14, r1165_15 -# 1165| m1165_17(__attribute((vector_size(16UL))) int) = Chi : total:m1165_12, partial:m1165_16 -# 1165| r1165_18(int) = Constant[3] : -# 1165| r1165_19(glval) = PointerAdd[4] : r1165_1, r1165_18 -# 1165| r1165_20(int) = Constant[3] : -# 1165| m1165_21(int) = Store[?] : &:r1165_19, r1165_20 -# 1165| m1165_22(__attribute((vector_size(16UL))) int) = Chi : total:m1165_17, partial:m1165_21 -# 1166| r1166_1(glval) = VariableAddress[x] : -# 1166| r1166_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1166| r1166_3(glval) = VariableAddress[i] : -# 1166| r1166_4(int) = Load[i] : &:r1166_3, m1164_6 -# 1166| r1166_5(glval) = PointerAdd[4] : r1166_2, r1166_4 -# 1166| r1166_6(int) = Load[?] : &:r1166_5, ~m1165_22 -# 1166| m1166_7(int) = Store[x] : &:r1166_1, r1166_6 -# 1167| r1167_1(glval) = VariableAddress[x] : -# 1167| r1167_2(int) = Load[x] : &:r1167_1, m1166_7 -# 1167| r1167_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1167| r1167_4(glval) = VariableAddress[i] : -# 1167| r1167_5(int) = Load[i] : &:r1167_4, m1164_6 -# 1167| r1167_6(glval) = PointerAdd[4] : r1167_3, r1167_5 -# 1167| m1167_7(int) = Store[?] : &:r1167_6, r1167_2 -# 1167| m1167_8(__attribute((vector_size(16UL))) int) = Chi : total:m1165_22, partial:m1167_7 -# 1168| r1168_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : -# 1168| r1168_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1168| r1168_3(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1168_2, m1167_8 -# 1168| r1168_4(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1168| r1168_5(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1168_4, m1167_8 -# 1168| r1168_6(int) = Constant[3] : -# 1168| r1168_7(int) = Constant[2] : -# 1168| r1168_8(int) = Constant[1] : -# 1168| r1168_9(int) = Constant[0] : -# 1168| r1168_10(__attribute((vector_size(16))) int) = BuiltIn[__builtin_shufflevector] : 0:r1168_3, 1:r1168_5, 2:r1168_6, 3:r1168_7, 4:r1168_8, 5:r1168_9 -# 1168| m1168_11(__attribute((vector_size(16UL))) int) = Store[vi4_shuffle] : &:r1168_1, r1168_10 -# 1169| r1169_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1169| r1169_2(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1169_1, m1167_8 -# 1169| r1169_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : -# 1169| r1169_4(__attribute((vector_size(16UL))) int) = Load[vi4_shuffle] : &:r1169_3, m1168_11 -# 1169| r1169_5(__attribute((vector_size(16UL))) int) = Add : r1169_2, r1169_4 -# 1169| r1169_6(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1169| m1169_7(__attribute((vector_size(16UL))) int) = Store[vi4] : &:r1169_6, r1169_5 -# 1170| v1170_1(void) = NoOp : -# 1164| v1164_7(void) = ReturnVoid : -# 1164| v1164_8(void) = AliasedUse : m1164_3 -# 1164| v1164_9(void) = ExitFunction : +# 1211| void VectorTypes(int) +# 1211| Block 0 +# 1211| v1211_1(void) = EnterFunction : +# 1211| m1211_2(unknown) = AliasedDefinition : +# 1211| m1211_3(unknown) = InitializeNonLocal : +# 1211| m1211_4(unknown) = Chi : total:m1211_2, partial:m1211_3 +# 1211| r1211_5(glval) = VariableAddress[i] : +# 1211| m1211_6(int) = InitializeParameter[i] : &:r1211_5 +# 1212| r1212_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1212| m1212_2(__attribute((vector_size(16UL))) int) = Uninitialized[vi4] : &:r1212_1 +# 1212| r1212_3(int) = Constant[0] : +# 1212| r1212_4(glval) = PointerAdd[4] : r1212_1, r1212_3 +# 1212| r1212_5(int) = Constant[0] : +# 1212| m1212_6(int) = Store[?] : &:r1212_4, r1212_5 +# 1212| m1212_7(__attribute((vector_size(16UL))) int) = Chi : total:m1212_2, partial:m1212_6 +# 1212| r1212_8(int) = Constant[1] : +# 1212| r1212_9(glval) = PointerAdd[4] : r1212_1, r1212_8 +# 1212| r1212_10(int) = Constant[1] : +# 1212| m1212_11(int) = Store[?] : &:r1212_9, r1212_10 +# 1212| m1212_12(__attribute((vector_size(16UL))) int) = Chi : total:m1212_7, partial:m1212_11 +# 1212| r1212_13(int) = Constant[2] : +# 1212| r1212_14(glval) = PointerAdd[4] : r1212_1, r1212_13 +# 1212| r1212_15(int) = Constant[2] : +# 1212| m1212_16(int) = Store[?] : &:r1212_14, r1212_15 +# 1212| m1212_17(__attribute((vector_size(16UL))) int) = Chi : total:m1212_12, partial:m1212_16 +# 1212| r1212_18(int) = Constant[3] : +# 1212| r1212_19(glval) = PointerAdd[4] : r1212_1, r1212_18 +# 1212| r1212_20(int) = Constant[3] : +# 1212| m1212_21(int) = Store[?] : &:r1212_19, r1212_20 +# 1212| m1212_22(__attribute((vector_size(16UL))) int) = Chi : total:m1212_17, partial:m1212_21 +# 1213| r1213_1(glval) = VariableAddress[x] : +# 1213| r1213_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1213| r1213_3(glval) = VariableAddress[i] : +# 1213| r1213_4(int) = Load[i] : &:r1213_3, m1211_6 +# 1213| r1213_5(glval) = PointerAdd[4] : r1213_2, r1213_4 +# 1213| r1213_6(int) = Load[?] : &:r1213_5, ~m1212_22 +# 1213| m1213_7(int) = Store[x] : &:r1213_1, r1213_6 +# 1214| r1214_1(glval) = VariableAddress[x] : +# 1214| r1214_2(int) = Load[x] : &:r1214_1, m1213_7 +# 1214| r1214_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1214| r1214_4(glval) = VariableAddress[i] : +# 1214| r1214_5(int) = Load[i] : &:r1214_4, m1211_6 +# 1214| r1214_6(glval) = PointerAdd[4] : r1214_3, r1214_5 +# 1214| m1214_7(int) = Store[?] : &:r1214_6, r1214_2 +# 1214| m1214_8(__attribute((vector_size(16UL))) int) = Chi : total:m1212_22, partial:m1214_7 +# 1215| r1215_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : +# 1215| r1215_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1215| r1215_3(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1215_2, m1214_8 +# 1215| r1215_4(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1215| r1215_5(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1215_4, m1214_8 +# 1215| r1215_6(int) = Constant[3] : +# 1215| r1215_7(int) = Constant[2] : +# 1215| r1215_8(int) = Constant[1] : +# 1215| r1215_9(int) = Constant[0] : +# 1215| r1215_10(__attribute((vector_size(16))) int) = BuiltIn[__builtin_shufflevector] : 0:r1215_3, 1:r1215_5, 2:r1215_6, 3:r1215_7, 4:r1215_8, 5:r1215_9 +# 1215| m1215_11(__attribute((vector_size(16UL))) int) = Store[vi4_shuffle] : &:r1215_1, r1215_10 +# 1216| r1216_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1216| r1216_2(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1216_1, m1214_8 +# 1216| r1216_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : +# 1216| r1216_4(__attribute((vector_size(16UL))) int) = Load[vi4_shuffle] : &:r1216_3, m1215_11 +# 1216| r1216_5(__attribute((vector_size(16UL))) int) = Add : r1216_2, r1216_4 +# 1216| r1216_6(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1216| m1216_7(__attribute((vector_size(16UL))) int) = Store[vi4] : &:r1216_6, r1216_5 +# 1217| v1217_1(void) = NoOp : +# 1211| v1211_7(void) = ReturnVoid : +# 1211| v1211_8(void) = AliasedUse : m1211_3 +# 1211| v1211_9(void) = ExitFunction : -# 1174| int ModeledCallTarget(int) -# 1174| Block 0 -# 1174| v1174_1(void) = EnterFunction : -# 1174| m1174_2(unknown) = AliasedDefinition : -# 1174| m1174_3(unknown) = InitializeNonLocal : -# 1174| m1174_4(unknown) = Chi : total:m1174_2, partial:m1174_3 -# 1174| r1174_5(glval) = VariableAddress[x] : -# 1174| m1174_6(int) = InitializeParameter[x] : &:r1174_5 -# 1175| r1175_1(glval) = VariableAddress[y] : -# 1175| m1175_2(int) = Uninitialized[y] : &:r1175_1 -# 1176| r1176_1(glval) = FunctionAddress[memcpy] : -# 1176| r1176_2(glval) = VariableAddress[y] : -# 1176| r1176_3(int *) = CopyValue : r1176_2 -# 1176| r1176_4(void *) = Convert : r1176_3 -# 1176| r1176_5(glval) = VariableAddress[x] : -# 1176| r1176_6(int *) = CopyValue : r1176_5 -# 1176| r1176_7(void *) = Convert : r1176_6 -# 1176| r1176_8(int) = Constant[4] : -# 1176| r1176_9(void *) = Call[memcpy] : func:r1176_1, 0:r1176_4, 1:r1176_7, 2:r1176_8 -# 1176| v1176_10(void) = ^SizedBufferReadSideEffect[1] : &:r1176_7, r1176_8, ~m1174_6 -# 1176| m1176_11(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r1176_4, r1176_8 -# 1176| m1176_12(int) = Chi : total:m1175_2, partial:m1176_11 -# 1177| r1177_1(glval) = VariableAddress[#return] : -# 1177| r1177_2(glval) = VariableAddress[y] : -# 1177| r1177_3(int) = Load[y] : &:r1177_2, m1176_12 -# 1177| m1177_4(int) = Store[#return] : &:r1177_1, r1177_3 -# 1174| r1174_7(glval) = VariableAddress[#return] : -# 1174| v1174_8(void) = ReturnValue : &:r1174_7, m1177_4 -# 1174| v1174_9(void) = AliasedUse : m1174_3 -# 1174| v1174_10(void) = ExitFunction : +# 1221| int ModeledCallTarget(int) +# 1221| Block 0 +# 1221| v1221_1(void) = EnterFunction : +# 1221| m1221_2(unknown) = AliasedDefinition : +# 1221| m1221_3(unknown) = InitializeNonLocal : +# 1221| m1221_4(unknown) = Chi : total:m1221_2, partial:m1221_3 +# 1221| r1221_5(glval) = VariableAddress[x] : +# 1221| m1221_6(int) = InitializeParameter[x] : &:r1221_5 +# 1222| r1222_1(glval) = VariableAddress[y] : +# 1222| m1222_2(int) = Uninitialized[y] : &:r1222_1 +# 1223| r1223_1(glval) = FunctionAddress[memcpy] : +# 1223| r1223_2(glval) = VariableAddress[y] : +# 1223| r1223_3(int *) = CopyValue : r1223_2 +# 1223| r1223_4(void *) = Convert : r1223_3 +# 1223| r1223_5(glval) = VariableAddress[x] : +# 1223| r1223_6(int *) = CopyValue : r1223_5 +# 1223| r1223_7(void *) = Convert : r1223_6 +# 1223| r1223_8(int) = Constant[4] : +# 1223| r1223_9(void *) = Call[memcpy] : func:r1223_1, 0:r1223_4, 1:r1223_7, 2:r1223_8 +# 1223| v1223_10(void) = ^SizedBufferReadSideEffect[1] : &:r1223_7, r1223_8, ~m1221_6 +# 1223| m1223_11(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r1223_4, r1223_8 +# 1223| m1223_12(int) = Chi : total:m1222_2, partial:m1223_11 +# 1224| r1224_1(glval) = VariableAddress[#return] : +# 1224| r1224_2(glval) = VariableAddress[y] : +# 1224| r1224_3(int) = Load[y] : &:r1224_2, m1223_12 +# 1224| m1224_4(int) = Store[#return] : &:r1224_1, r1224_3 +# 1221| r1221_7(glval) = VariableAddress[#return] : +# 1221| v1221_8(void) = ReturnValue : &:r1221_7, m1224_4 +# 1221| v1221_9(void) = AliasedUse : m1221_3 +# 1221| v1221_10(void) = ExitFunction : -# 1180| String ReturnObjectImpl() -# 1180| Block 0 -# 1180| v1180_1(void) = EnterFunction : -# 1180| m1180_2(unknown) = AliasedDefinition : -# 1180| m1180_3(unknown) = InitializeNonLocal : -# 1180| m1180_4(unknown) = Chi : total:m1180_2, partial:m1180_3 -# 1181| r1181_1(glval) = VariableAddress[#return] : -# 1181| m1181_2(String) = Uninitialized[#return] : &:r1181_1 -# 1181| r1181_3(glval) = FunctionAddress[String] : -# 1181| r1181_4(glval) = StringConstant["foo"] : -# 1181| r1181_5(char *) = Convert : r1181_4 -# 1181| v1181_6(void) = Call[String] : func:r1181_3, this:r1181_1, 0:r1181_5 -# 1181| m1181_7(unknown) = ^CallSideEffect : ~m1180_4 -# 1181| m1181_8(unknown) = Chi : total:m1180_4, partial:m1181_7 -# 1181| v1181_9(void) = ^BufferReadSideEffect[0] : &:r1181_5, ~m1180_3 -# 1181| m1181_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1181_1 -# 1181| m1181_11(String) = Chi : total:m1181_2, partial:m1181_10 -# 1180| r1180_5(glval) = VariableAddress[#return] : -# 1180| v1180_6(void) = ReturnValue : &:r1180_5, m1181_11 -# 1180| v1180_7(void) = AliasedUse : ~m1181_8 -# 1180| v1180_8(void) = ExitFunction : +# 1227| String ReturnObjectImpl() +# 1227| Block 0 +# 1227| v1227_1(void) = EnterFunction : +# 1227| m1227_2(unknown) = AliasedDefinition : +# 1227| m1227_3(unknown) = InitializeNonLocal : +# 1227| m1227_4(unknown) = Chi : total:m1227_2, partial:m1227_3 +# 1228| r1228_1(glval) = VariableAddress[#return] : +# 1228| m1228_2(String) = Uninitialized[#return] : &:r1228_1 +# 1228| r1228_3(glval) = FunctionAddress[String] : +# 1228| r1228_4(glval) = StringConstant["foo"] : +# 1228| r1228_5(char *) = Convert : r1228_4 +# 1228| v1228_6(void) = Call[String] : func:r1228_3, this:r1228_1, 0:r1228_5 +# 1228| m1228_7(unknown) = ^CallSideEffect : ~m1227_4 +# 1228| m1228_8(unknown) = Chi : total:m1227_4, partial:m1228_7 +# 1228| v1228_9(void) = ^BufferReadSideEffect[0] : &:r1228_5, ~m1227_3 +# 1228| m1228_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1228_1 +# 1228| m1228_11(String) = Chi : total:m1228_2, partial:m1228_10 +# 1227| r1227_5(glval) = VariableAddress[#return] : +# 1227| v1227_6(void) = ReturnValue : &:r1227_5, m1228_11 +# 1227| v1227_7(void) = AliasedUse : ~m1228_8 +# 1227| v1227_8(void) = ExitFunction : -# 1184| void switch1Case(int) -# 1184| Block 0 -# 1184| v1184_1(void) = EnterFunction : -# 1184| m1184_2(unknown) = AliasedDefinition : -# 1184| m1184_3(unknown) = InitializeNonLocal : -# 1184| m1184_4(unknown) = Chi : total:m1184_2, partial:m1184_3 -# 1184| r1184_5(glval) = VariableAddress[x] : -# 1184| m1184_6(int) = InitializeParameter[x] : &:r1184_5 -# 1185| r1185_1(glval) = VariableAddress[y] : -# 1185| r1185_2(int) = Constant[0] : -# 1185| m1185_3(int) = Store[y] : &:r1185_1, r1185_2 -# 1186| r1186_1(glval) = VariableAddress[x] : -# 1186| r1186_2(int) = Load[x] : &:r1186_1, m1184_6 -# 1186| v1186_3(void) = Switch : r1186_2 +# 1231| void switch1Case(int) +# 1231| Block 0 +# 1231| v1231_1(void) = EnterFunction : +# 1231| m1231_2(unknown) = AliasedDefinition : +# 1231| m1231_3(unknown) = InitializeNonLocal : +# 1231| m1231_4(unknown) = Chi : total:m1231_2, partial:m1231_3 +# 1231| r1231_5(glval) = VariableAddress[x] : +# 1231| m1231_6(int) = InitializeParameter[x] : &:r1231_5 +# 1232| r1232_1(glval) = VariableAddress[y] : +# 1232| r1232_2(int) = Constant[0] : +# 1232| m1232_3(int) = Store[y] : &:r1232_1, r1232_2 +# 1233| r1233_1(glval) = VariableAddress[x] : +# 1233| r1233_2(int) = Load[x] : &:r1233_1, m1231_6 +# 1233| v1233_3(void) = Switch : r1233_2 #-----| Case[1] -> Block 1 #-----| Default -> Block 2 -# 1187| Block 1 -# 1187| v1187_1(void) = NoOp : -# 1188| r1188_1(int) = Constant[2] : -# 1188| r1188_2(glval) = VariableAddress[y] : -# 1188| m1188_3(int) = Store[y] : &:r1188_2, r1188_1 +# 1234| Block 1 +# 1234| v1234_1(void) = NoOp : +# 1235| r1235_1(int) = Constant[2] : +# 1235| r1235_2(glval) = VariableAddress[y] : +# 1235| m1235_3(int) = Store[y] : &:r1235_2, r1235_1 #-----| Goto -> Block 2 -# 1190| Block 2 -# 1190| m1190_1(int) = Phi : from 0:m1185_3, from 1:m1188_3 -# 1190| r1190_2(glval) = VariableAddress[z] : -# 1190| r1190_3(glval) = VariableAddress[y] : -# 1190| r1190_4(int) = Load[y] : &:r1190_3, m1190_1 -# 1190| m1190_5(int) = Store[z] : &:r1190_2, r1190_4 -# 1191| v1191_1(void) = NoOp : -# 1184| v1184_7(void) = ReturnVoid : -# 1184| v1184_8(void) = AliasedUse : m1184_3 -# 1184| v1184_9(void) = ExitFunction : +# 1237| Block 2 +# 1237| m1237_1(int) = Phi : from 0:m1232_3, from 1:m1235_3 +# 1237| r1237_2(glval) = VariableAddress[z] : +# 1237| r1237_3(glval) = VariableAddress[y] : +# 1237| r1237_4(int) = Load[y] : &:r1237_3, m1237_1 +# 1237| m1237_5(int) = Store[z] : &:r1237_2, r1237_4 +# 1238| v1238_1(void) = NoOp : +# 1231| v1231_7(void) = ReturnVoid : +# 1231| v1231_8(void) = AliasedUse : m1231_3 +# 1231| v1231_9(void) = ExitFunction : -# 1193| void switch2Case_fallthrough(int) -# 1193| Block 0 -# 1193| v1193_1(void) = EnterFunction : -# 1193| m1193_2(unknown) = AliasedDefinition : -# 1193| m1193_3(unknown) = InitializeNonLocal : -# 1193| m1193_4(unknown) = Chi : total:m1193_2, partial:m1193_3 -# 1193| r1193_5(glval) = VariableAddress[x] : -# 1193| m1193_6(int) = InitializeParameter[x] : &:r1193_5 -# 1194| r1194_1(glval) = VariableAddress[y] : -# 1194| r1194_2(int) = Constant[0] : -# 1194| m1194_3(int) = Store[y] : &:r1194_1, r1194_2 -# 1195| r1195_1(glval) = VariableAddress[x] : -# 1195| r1195_2(int) = Load[x] : &:r1195_1, m1193_6 -# 1195| v1195_3(void) = Switch : r1195_2 +# 1240| void switch2Case_fallthrough(int) +# 1240| Block 0 +# 1240| v1240_1(void) = EnterFunction : +# 1240| m1240_2(unknown) = AliasedDefinition : +# 1240| m1240_3(unknown) = InitializeNonLocal : +# 1240| m1240_4(unknown) = Chi : total:m1240_2, partial:m1240_3 +# 1240| r1240_5(glval) = VariableAddress[x] : +# 1240| m1240_6(int) = InitializeParameter[x] : &:r1240_5 +# 1241| r1241_1(glval) = VariableAddress[y] : +# 1241| r1241_2(int) = Constant[0] : +# 1241| m1241_3(int) = Store[y] : &:r1241_1, r1241_2 +# 1242| r1242_1(glval) = VariableAddress[x] : +# 1242| r1242_2(int) = Load[x] : &:r1242_1, m1240_6 +# 1242| v1242_3(void) = Switch : r1242_2 #-----| Case[1] -> Block 1 #-----| Case[2] -> Block 2 #-----| Default -> Block 3 -# 1196| Block 1 -# 1196| v1196_1(void) = NoOp : -# 1197| r1197_1(int) = Constant[2] : -# 1197| r1197_2(glval) = VariableAddress[y] : -# 1197| m1197_3(int) = Store[y] : &:r1197_2, r1197_1 -#-----| Goto -> Block 2 - -# 1198| Block 2 -# 1198| v1198_1(void) = NoOp : -# 1199| r1199_1(int) = Constant[3] : -# 1199| r1199_2(glval) = VariableAddress[y] : -# 1199| m1199_3(int) = Store[y] : &:r1199_2, r1199_1 -#-----| Goto -> Block 3 - -# 1201| Block 3 -# 1201| m1201_1(int) = Phi : from 0:m1194_3, from 2:m1199_3 -# 1201| r1201_2(glval) = VariableAddress[z] : -# 1201| r1201_3(glval) = VariableAddress[y] : -# 1201| r1201_4(int) = Load[y] : &:r1201_3, m1201_1 -# 1201| m1201_5(int) = Store[z] : &:r1201_2, r1201_4 -# 1202| v1202_1(void) = NoOp : -# 1193| v1193_7(void) = ReturnVoid : -# 1193| v1193_8(void) = AliasedUse : m1193_3 -# 1193| v1193_9(void) = ExitFunction : - -# 1204| void switch2Case(int) -# 1204| Block 0 -# 1204| v1204_1(void) = EnterFunction : -# 1204| m1204_2(unknown) = AliasedDefinition : -# 1204| m1204_3(unknown) = InitializeNonLocal : -# 1204| m1204_4(unknown) = Chi : total:m1204_2, partial:m1204_3 -# 1204| r1204_5(glval) = VariableAddress[x] : -# 1204| m1204_6(int) = InitializeParameter[x] : &:r1204_5 -# 1205| r1205_1(glval) = VariableAddress[y] : -# 1205| r1205_2(int) = Constant[0] : -# 1205| m1205_3(int) = Store[y] : &:r1205_1, r1205_2 -# 1206| r1206_1(glval) = VariableAddress[x] : -# 1206| r1206_2(int) = Load[x] : &:r1206_1, m1204_6 -# 1206| v1206_3(void) = Switch : r1206_2 -#-----| Case[1] -> Block 1 -#-----| Case[2] -> Block 2 -#-----| Default -> Block 3 - -# 1207| Block 1 -# 1207| v1207_1(void) = NoOp : -# 1208| r1208_1(int) = Constant[2] : -# 1208| r1208_2(glval) = VariableAddress[y] : -# 1208| m1208_3(int) = Store[y] : &:r1208_2, r1208_1 -# 1209| v1209_1(void) = NoOp : -#-----| Goto -> Block 3 - -# 1210| Block 2 -# 1210| v1210_1(void) = NoOp : -# 1211| r1211_1(int) = Constant[3] : -# 1211| r1211_2(glval) = VariableAddress[y] : -# 1211| m1211_3(int) = Store[y] : &:r1211_2, r1211_1 -#-----| Goto -> Block 3 - -# 1212| Block 3 -# 1212| m1212_1(int) = Phi : from 0:m1205_3, from 1:m1208_3, from 2:m1211_3 -# 1212| v1212_2(void) = NoOp : -# 1213| r1213_1(glval) = VariableAddress[z] : -# 1213| r1213_2(glval) = VariableAddress[y] : -# 1213| r1213_3(int) = Load[y] : &:r1213_2, m1212_1 -# 1213| m1213_4(int) = Store[z] : &:r1213_1, r1213_3 -# 1214| v1214_1(void) = NoOp : -# 1204| v1204_7(void) = ReturnVoid : -# 1204| v1204_8(void) = AliasedUse : m1204_3 -# 1204| v1204_9(void) = ExitFunction : - -# 1216| void switch2Case_default(int) -# 1216| Block 0 -# 1216| v1216_1(void) = EnterFunction : -# 1216| m1216_2(unknown) = AliasedDefinition : -# 1216| m1216_3(unknown) = InitializeNonLocal : -# 1216| m1216_4(unknown) = Chi : total:m1216_2, partial:m1216_3 -# 1216| r1216_5(glval) = VariableAddress[x] : -# 1216| m1216_6(int) = InitializeParameter[x] : &:r1216_5 -# 1217| r1217_1(glval) = VariableAddress[y] : -# 1217| r1217_2(int) = Constant[0] : -# 1217| m1217_3(int) = Store[y] : &:r1217_1, r1217_2 -# 1218| r1218_1(glval) = VariableAddress[x] : -# 1218| r1218_2(int) = Load[x] : &:r1218_1, m1216_6 -# 1218| v1218_3(void) = Switch : r1218_2 -#-----| Case[1] -> Block 1 -#-----| Case[2] -> Block 2 -#-----| Default -> Block 3 - -# 1219| Block 1 -# 1219| v1219_1(void) = NoOp : -# 1220| r1220_1(int) = Constant[2] : -# 1220| r1220_2(glval) = VariableAddress[y] : -# 1220| m1220_3(int) = Store[y] : &:r1220_2, r1220_1 -# 1221| v1221_1(void) = NoOp : -#-----| Goto -> Block 4 - -# 1223| Block 2 -# 1223| v1223_1(void) = NoOp : -# 1224| r1224_1(int) = Constant[3] : -# 1224| r1224_2(glval) = VariableAddress[y] : -# 1224| m1224_3(int) = Store[y] : &:r1224_2, r1224_1 -# 1225| v1225_1(void) = NoOp : -#-----| Goto -> Block 4 - -# 1227| Block 3 -# 1227| v1227_1(void) = NoOp : -# 1228| r1228_1(int) = Constant[4] : -# 1228| r1228_2(glval) = VariableAddress[y] : -# 1228| m1228_3(int) = Store[y] : &:r1228_2, r1228_1 -#-----| Goto -> Block 4 - -# 1229| Block 4 -# 1229| m1229_1(int) = Phi : from 1:m1220_3, from 2:m1224_3, from 3:m1228_3 -# 1229| v1229_2(void) = NoOp : -# 1230| r1230_1(glval) = VariableAddress[z] : -# 1230| r1230_2(glval) = VariableAddress[y] : -# 1230| r1230_3(int) = Load[y] : &:r1230_2, m1229_1 -# 1230| m1230_4(int) = Store[z] : &:r1230_1, r1230_3 -# 1231| v1231_1(void) = NoOp : -# 1216| v1216_7(void) = ReturnVoid : -# 1216| v1216_8(void) = AliasedUse : m1216_3 -# 1216| v1216_9(void) = ExitFunction : - -# 1233| int staticLocalInit(int) -# 1233| Block 0 -# 1233| v1233_1(void) = EnterFunction : -# 1233| m1233_2(unknown) = AliasedDefinition : -# 1233| m1233_3(unknown) = InitializeNonLocal : -# 1233| m1233_4(unknown) = Chi : total:m1233_2, partial:m1233_3 -# 1233| r1233_5(glval) = VariableAddress[x] : -# 1233| m1233_6(int) = InitializeParameter[x] : &:r1233_5 -# 1236| r1236_1(glval) = VariableAddress[c#init] : -# 1236| r1236_2(bool) = Load[c#init] : &:r1236_1, ~m1233_3 -# 1236| v1236_3(void) = ConditionalBranch : r1236_2 -#-----| False -> Block 1 -#-----| True -> Block 2 - -# 1236| Block 1 -# 1236| r1236_4(glval) = VariableAddress[c] : -# 1236| r1236_5(glval) = VariableAddress[x] : -# 1236| r1236_6(int) = Load[x] : &:r1236_5, m1233_6 -# 1236| m1236_7(int) = Store[c] : &:r1236_4, r1236_6 -# 1236| m1236_8(unknown) = Chi : total:m1233_4, partial:m1236_7 -# 1236| r1236_9(bool) = Constant[1] : -# 1236| m1236_10(bool) = Store[c#init] : &:r1236_1, r1236_9 -# 1236| m1236_11(unknown) = Chi : total:m1236_8, partial:m1236_10 -#-----| Goto -> Block 2 - -# 1239| Block 2 -# 1239| m1239_1(int) = Phi : from 0:~m1233_3, from 1:m1236_7 -# 1239| m1239_2(unknown) = Phi : from 0:~m1233_4, from 1:~m1236_11 -# 1239| r1239_3(glval) = VariableAddress[#return] : -# 1239| r1239_4(glval) = VariableAddress[a] : -# 1239| r1239_5(int) = Load[a] : &:r1239_4, ~m1239_2 -# 1239| r1239_6(glval) = VariableAddress[b] : -# 1239| r1239_7(int) = Load[b] : &:r1239_6, ~m1239_2 -# 1239| r1239_8(int) = Add : r1239_5, r1239_7 -# 1239| r1239_9(glval) = VariableAddress[c] : -# 1239| r1239_10(int) = Load[c] : &:r1239_9, m1239_1 -# 1239| r1239_11(int) = Add : r1239_8, r1239_10 -# 1239| r1239_12(glval) = VariableAddress[d] : -# 1239| r1239_13(int) = Load[d] : &:r1239_12, ~m1239_2 -# 1239| r1239_14(int) = Add : r1239_11, r1239_13 -# 1239| m1239_15(int) = Store[#return] : &:r1239_3, r1239_14 -# 1233| r1233_7(glval) = VariableAddress[#return] : -# 1233| v1233_8(void) = ReturnValue : &:r1233_7, m1239_15 -# 1233| v1233_9(void) = AliasedUse : ~m1239_2 -# 1233| v1233_10(void) = ExitFunction : - -# 1234| int a -# 1234| Block 0 -# 1234| v1234_1(void) = EnterFunction : -# 1234| m1234_2(unknown) = AliasedDefinition : -# 1234| r1234_3(glval) = VariableAddress[a] : -# 1234| r1234_4(int) = Constant[0] : -# 1234| m1234_5(int) = Store[a] : &:r1234_3, r1234_4 -# 1234| m1234_6(unknown) = Chi : total:m1234_2, partial:m1234_5 -# 1234| v1234_7(void) = ReturnVoid : -# 1234| v1234_8(void) = AliasedUse : ~m1234_6 -# 1234| v1234_9(void) = ExitFunction : - -# 1235| int b -# 1235| Block 0 -# 1235| v1235_1(void) = EnterFunction : -# 1235| m1235_2(unknown) = AliasedDefinition : -# 1235| r1235_3(glval) = VariableAddress[b] : -# 1235| r1235_4(int) = Constant[4] : -# 1235| m1235_5(int) = Store[b] : &:r1235_3, r1235_4 -# 1235| m1235_6(unknown) = Chi : total:m1235_2, partial:m1235_5 -# 1235| v1235_7(void) = ReturnVoid : -# 1235| v1235_8(void) = AliasedUse : ~m1235_6 -# 1235| v1235_9(void) = ExitFunction : - -# 1242| void staticLocalWithConstructor(char const*) -# 1242| Block 0 -# 1242| v1242_1(void) = EnterFunction : -# 1242| m1242_2(unknown) = AliasedDefinition : -# 1242| m1242_3(unknown) = InitializeNonLocal : -# 1242| m1242_4(unknown) = Chi : total:m1242_2, partial:m1242_3 -# 1242| r1242_5(glval) = VariableAddress[dynamic] : -# 1242| m1242_6(char *) = InitializeParameter[dynamic] : &:r1242_5 -# 1242| r1242_7(char *) = Load[dynamic] : &:r1242_5, m1242_6 -# 1242| m1242_8(unknown) = InitializeIndirection[dynamic] : &:r1242_7 -# 1243| r1243_1(glval) = VariableAddress[a#init] : -# 1243| r1243_2(bool) = Load[a#init] : &:r1243_1, ~m1242_3 -# 1243| v1243_3(void) = ConditionalBranch : r1243_2 -#-----| False -> Block 1 -#-----| True -> Block 2 - # 1243| Block 1 -# 1243| r1243_4(glval) = VariableAddress[a] : -#-----| r0_1(glval) = FunctionAddress[String] : -#-----| v0_2(void) = Call[String] : func:r0_1, this:r1243_4 -#-----| m0_3(unknown) = ^CallSideEffect : ~m1242_4 -#-----| m0_4(unknown) = Chi : total:m1242_4, partial:m0_3 -#-----| m0_5(String) = ^IndirectMayWriteSideEffect[-1] : &:r1243_4 -#-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 -# 1243| r1243_5(bool) = Constant[1] : -# 1243| m1243_6(bool) = Store[a#init] : &:r1243_1, r1243_5 -# 1243| m1243_7(unknown) = Chi : total:m0_6, partial:m1243_6 +# 1243| v1243_1(void) = NoOp : +# 1244| r1244_1(int) = Constant[2] : +# 1244| r1244_2(glval) = VariableAddress[y] : +# 1244| m1244_3(int) = Store[y] : &:r1244_2, r1244_1 #-----| Goto -> Block 2 -# 1244| Block 2 -# 1244| m1244_1(unknown) = Phi : from 0:~m1242_4, from 1:~m1243_7 -# 1244| r1244_2(glval) = VariableAddress[b#init] : -# 1244| r1244_3(bool) = Load[b#init] : &:r1244_2, ~m1244_1 -# 1244| v1244_4(void) = ConditionalBranch : r1244_3 +# 1245| Block 2 +# 1245| v1245_1(void) = NoOp : +# 1246| r1246_1(int) = Constant[3] : +# 1246| r1246_2(glval) = VariableAddress[y] : +# 1246| m1246_3(int) = Store[y] : &:r1246_2, r1246_1 +#-----| Goto -> Block 3 + +# 1248| Block 3 +# 1248| m1248_1(int) = Phi : from 0:m1241_3, from 2:m1246_3 +# 1248| r1248_2(glval) = VariableAddress[z] : +# 1248| r1248_3(glval) = VariableAddress[y] : +# 1248| r1248_4(int) = Load[y] : &:r1248_3, m1248_1 +# 1248| m1248_5(int) = Store[z] : &:r1248_2, r1248_4 +# 1249| v1249_1(void) = NoOp : +# 1240| v1240_7(void) = ReturnVoid : +# 1240| v1240_8(void) = AliasedUse : m1240_3 +# 1240| v1240_9(void) = ExitFunction : + +# 1251| void switch2Case(int) +# 1251| Block 0 +# 1251| v1251_1(void) = EnterFunction : +# 1251| m1251_2(unknown) = AliasedDefinition : +# 1251| m1251_3(unknown) = InitializeNonLocal : +# 1251| m1251_4(unknown) = Chi : total:m1251_2, partial:m1251_3 +# 1251| r1251_5(glval) = VariableAddress[x] : +# 1251| m1251_6(int) = InitializeParameter[x] : &:r1251_5 +# 1252| r1252_1(glval) = VariableAddress[y] : +# 1252| r1252_2(int) = Constant[0] : +# 1252| m1252_3(int) = Store[y] : &:r1252_1, r1252_2 +# 1253| r1253_1(glval) = VariableAddress[x] : +# 1253| r1253_2(int) = Load[x] : &:r1253_1, m1251_6 +# 1253| v1253_3(void) = Switch : r1253_2 +#-----| Case[1] -> Block 1 +#-----| Case[2] -> Block 2 +#-----| Default -> Block 3 + +# 1254| Block 1 +# 1254| v1254_1(void) = NoOp : +# 1255| r1255_1(int) = Constant[2] : +# 1255| r1255_2(glval) = VariableAddress[y] : +# 1255| m1255_3(int) = Store[y] : &:r1255_2, r1255_1 +# 1256| v1256_1(void) = NoOp : +#-----| Goto -> Block 3 + +# 1257| Block 2 +# 1257| v1257_1(void) = NoOp : +# 1258| r1258_1(int) = Constant[3] : +# 1258| r1258_2(glval) = VariableAddress[y] : +# 1258| m1258_3(int) = Store[y] : &:r1258_2, r1258_1 +#-----| Goto -> Block 3 + +# 1259| Block 3 +# 1259| m1259_1(int) = Phi : from 0:m1252_3, from 1:m1255_3, from 2:m1258_3 +# 1259| v1259_2(void) = NoOp : +# 1260| r1260_1(glval) = VariableAddress[z] : +# 1260| r1260_2(glval) = VariableAddress[y] : +# 1260| r1260_3(int) = Load[y] : &:r1260_2, m1259_1 +# 1260| m1260_4(int) = Store[z] : &:r1260_1, r1260_3 +# 1261| v1261_1(void) = NoOp : +# 1251| v1251_7(void) = ReturnVoid : +# 1251| v1251_8(void) = AliasedUse : m1251_3 +# 1251| v1251_9(void) = ExitFunction : + +# 1263| void switch2Case_default(int) +# 1263| Block 0 +# 1263| v1263_1(void) = EnterFunction : +# 1263| m1263_2(unknown) = AliasedDefinition : +# 1263| m1263_3(unknown) = InitializeNonLocal : +# 1263| m1263_4(unknown) = Chi : total:m1263_2, partial:m1263_3 +# 1263| r1263_5(glval) = VariableAddress[x] : +# 1263| m1263_6(int) = InitializeParameter[x] : &:r1263_5 +# 1264| r1264_1(glval) = VariableAddress[y] : +# 1264| r1264_2(int) = Constant[0] : +# 1264| m1264_3(int) = Store[y] : &:r1264_1, r1264_2 +# 1265| r1265_1(glval) = VariableAddress[x] : +# 1265| r1265_2(int) = Load[x] : &:r1265_1, m1263_6 +# 1265| v1265_3(void) = Switch : r1265_2 +#-----| Case[1] -> Block 1 +#-----| Case[2] -> Block 2 +#-----| Default -> Block 3 + +# 1266| Block 1 +# 1266| v1266_1(void) = NoOp : +# 1267| r1267_1(int) = Constant[2] : +# 1267| r1267_2(glval) = VariableAddress[y] : +# 1267| m1267_3(int) = Store[y] : &:r1267_2, r1267_1 +# 1268| v1268_1(void) = NoOp : +#-----| Goto -> Block 4 + +# 1270| Block 2 +# 1270| v1270_1(void) = NoOp : +# 1271| r1271_1(int) = Constant[3] : +# 1271| r1271_2(glval) = VariableAddress[y] : +# 1271| m1271_3(int) = Store[y] : &:r1271_2, r1271_1 +# 1272| v1272_1(void) = NoOp : +#-----| Goto -> Block 4 + +# 1274| Block 3 +# 1274| v1274_1(void) = NoOp : +# 1275| r1275_1(int) = Constant[4] : +# 1275| r1275_2(glval) = VariableAddress[y] : +# 1275| m1275_3(int) = Store[y] : &:r1275_2, r1275_1 +#-----| Goto -> Block 4 + +# 1276| Block 4 +# 1276| m1276_1(int) = Phi : from 1:m1267_3, from 2:m1271_3, from 3:m1275_3 +# 1276| v1276_2(void) = NoOp : +# 1277| r1277_1(glval) = VariableAddress[z] : +# 1277| r1277_2(glval) = VariableAddress[y] : +# 1277| r1277_3(int) = Load[y] : &:r1277_2, m1276_1 +# 1277| m1277_4(int) = Store[z] : &:r1277_1, r1277_3 +# 1278| v1278_1(void) = NoOp : +# 1263| v1263_7(void) = ReturnVoid : +# 1263| v1263_8(void) = AliasedUse : m1263_3 +# 1263| v1263_9(void) = ExitFunction : + +# 1280| int staticLocalInit(int) +# 1280| Block 0 +# 1280| v1280_1(void) = EnterFunction : +# 1280| m1280_2(unknown) = AliasedDefinition : +# 1280| m1280_3(unknown) = InitializeNonLocal : +# 1280| m1280_4(unknown) = Chi : total:m1280_2, partial:m1280_3 +# 1280| r1280_5(glval) = VariableAddress[x] : +# 1280| m1280_6(int) = InitializeParameter[x] : &:r1280_5 +# 1283| r1283_1(glval) = VariableAddress[c#init] : +# 1283| r1283_2(bool) = Load[c#init] : &:r1283_1, ~m1280_3 +# 1283| v1283_3(void) = ConditionalBranch : r1283_2 +#-----| False -> Block 1 +#-----| True -> Block 2 + +# 1283| Block 1 +# 1283| r1283_4(glval) = VariableAddress[c] : +# 1283| r1283_5(glval) = VariableAddress[x] : +# 1283| r1283_6(int) = Load[x] : &:r1283_5, m1280_6 +# 1283| m1283_7(int) = Store[c] : &:r1283_4, r1283_6 +# 1283| m1283_8(unknown) = Chi : total:m1280_4, partial:m1283_7 +# 1283| r1283_9(bool) = Constant[1] : +# 1283| m1283_10(bool) = Store[c#init] : &:r1283_1, r1283_9 +# 1283| m1283_11(unknown) = Chi : total:m1283_8, partial:m1283_10 +#-----| Goto -> Block 2 + +# 1286| Block 2 +# 1286| m1286_1(int) = Phi : from 0:~m1280_3, from 1:m1283_7 +# 1286| m1286_2(unknown) = Phi : from 0:~m1280_4, from 1:~m1283_11 +# 1286| r1286_3(glval) = VariableAddress[#return] : +# 1286| r1286_4(glval) = VariableAddress[a] : +# 1286| r1286_5(int) = Load[a] : &:r1286_4, ~m1286_2 +# 1286| r1286_6(glval) = VariableAddress[b] : +# 1286| r1286_7(int) = Load[b] : &:r1286_6, ~m1286_2 +# 1286| r1286_8(int) = Add : r1286_5, r1286_7 +# 1286| r1286_9(glval) = VariableAddress[c] : +# 1286| r1286_10(int) = Load[c] : &:r1286_9, m1286_1 +# 1286| r1286_11(int) = Add : r1286_8, r1286_10 +# 1286| r1286_12(glval) = VariableAddress[d] : +# 1286| r1286_13(int) = Load[d] : &:r1286_12, ~m1286_2 +# 1286| r1286_14(int) = Add : r1286_11, r1286_13 +# 1286| m1286_15(int) = Store[#return] : &:r1286_3, r1286_14 +# 1280| r1280_7(glval) = VariableAddress[#return] : +# 1280| v1280_8(void) = ReturnValue : &:r1280_7, m1286_15 +# 1280| v1280_9(void) = AliasedUse : ~m1286_2 +# 1280| v1280_10(void) = ExitFunction : + +# 1281| int a +# 1281| Block 0 +# 1281| v1281_1(void) = EnterFunction : +# 1281| m1281_2(unknown) = AliasedDefinition : +# 1281| r1281_3(glval) = VariableAddress[a] : +# 1281| r1281_4(int) = Constant[0] : +# 1281| m1281_5(int) = Store[a] : &:r1281_3, r1281_4 +# 1281| m1281_6(unknown) = Chi : total:m1281_2, partial:m1281_5 +# 1281| v1281_7(void) = ReturnVoid : +# 1281| v1281_8(void) = AliasedUse : ~m1281_6 +# 1281| v1281_9(void) = ExitFunction : + +# 1282| int b +# 1282| Block 0 +# 1282| v1282_1(void) = EnterFunction : +# 1282| m1282_2(unknown) = AliasedDefinition : +# 1282| r1282_3(glval) = VariableAddress[b] : +# 1282| r1282_4(int) = Constant[4] : +# 1282| m1282_5(int) = Store[b] : &:r1282_3, r1282_4 +# 1282| m1282_6(unknown) = Chi : total:m1282_2, partial:m1282_5 +# 1282| v1282_7(void) = ReturnVoid : +# 1282| v1282_8(void) = AliasedUse : ~m1282_6 +# 1282| v1282_9(void) = ExitFunction : + +# 1289| void staticLocalWithConstructor(char const*) +# 1289| Block 0 +# 1289| v1289_1(void) = EnterFunction : +# 1289| m1289_2(unknown) = AliasedDefinition : +# 1289| m1289_3(unknown) = InitializeNonLocal : +# 1289| m1289_4(unknown) = Chi : total:m1289_2, partial:m1289_3 +# 1289| r1289_5(glval) = VariableAddress[dynamic] : +# 1289| m1289_6(char *) = InitializeParameter[dynamic] : &:r1289_5 +# 1289| r1289_7(char *) = Load[dynamic] : &:r1289_5, m1289_6 +# 1289| m1289_8(unknown) = InitializeIndirection[dynamic] : &:r1289_7 +# 1290| r1290_1(glval) = VariableAddress[a#init] : +# 1290| r1290_2(bool) = Load[a#init] : &:r1290_1, ~m1289_3 +# 1290| v1290_3(void) = ConditionalBranch : r1290_2 +#-----| False -> Block 1 +#-----| True -> Block 2 + +# 1290| Block 1 +# 1290| r1290_4(glval) = VariableAddress[a] : +#-----| r0_1(glval) = FunctionAddress[String] : +#-----| v0_2(void) = Call[String] : func:r0_1, this:r1290_4 +#-----| m0_3(unknown) = ^CallSideEffect : ~m1289_4 +#-----| m0_4(unknown) = Chi : total:m1289_4, partial:m0_3 +#-----| m0_5(String) = ^IndirectMayWriteSideEffect[-1] : &:r1290_4 +#-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 +# 1290| r1290_5(bool) = Constant[1] : +# 1290| m1290_6(bool) = Store[a#init] : &:r1290_1, r1290_5 +# 1290| m1290_7(unknown) = Chi : total:m0_6, partial:m1290_6 +#-----| Goto -> Block 2 + +# 1291| Block 2 +# 1291| m1291_1(unknown) = Phi : from 0:~m1289_4, from 1:~m1290_7 +# 1291| r1291_2(glval) = VariableAddress[b#init] : +# 1291| r1291_3(bool) = Load[b#init] : &:r1291_2, ~m1291_1 +# 1291| v1291_4(void) = ConditionalBranch : r1291_3 #-----| False -> Block 3 #-----| True -> Block 4 -# 1244| Block 3 -# 1244| r1244_5(glval) = VariableAddress[b] : -# 1244| r1244_6(glval) = FunctionAddress[String] : -# 1244| r1244_7(glval) = StringConstant["static"] : -# 1244| r1244_8(char *) = Convert : r1244_7 -# 1244| v1244_9(void) = Call[String] : func:r1244_6, this:r1244_5, 0:r1244_8 -# 1244| m1244_10(unknown) = ^CallSideEffect : ~m1244_1 -# 1244| m1244_11(unknown) = Chi : total:m1244_1, partial:m1244_10 -# 1244| v1244_12(void) = ^BufferReadSideEffect[0] : &:r1244_8, ~m1242_3 -# 1244| m1244_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r1244_5 -# 1244| m1244_14(unknown) = Chi : total:m1244_11, partial:m1244_13 -# 1244| r1244_15(bool) = Constant[1] : -# 1244| m1244_16(bool) = Store[b#init] : &:r1244_2, r1244_15 -# 1244| m1244_17(unknown) = Chi : total:m1244_14, partial:m1244_16 +# 1291| Block 3 +# 1291| r1291_5(glval) = VariableAddress[b] : +# 1291| r1291_6(glval) = FunctionAddress[String] : +# 1291| r1291_7(glval) = StringConstant["static"] : +# 1291| r1291_8(char *) = Convert : r1291_7 +# 1291| v1291_9(void) = Call[String] : func:r1291_6, this:r1291_5, 0:r1291_8 +# 1291| m1291_10(unknown) = ^CallSideEffect : ~m1291_1 +# 1291| m1291_11(unknown) = Chi : total:m1291_1, partial:m1291_10 +# 1291| v1291_12(void) = ^BufferReadSideEffect[0] : &:r1291_8, ~m1289_3 +# 1291| m1291_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r1291_5 +# 1291| m1291_14(unknown) = Chi : total:m1291_11, partial:m1291_13 +# 1291| r1291_15(bool) = Constant[1] : +# 1291| m1291_16(bool) = Store[b#init] : &:r1291_2, r1291_15 +# 1291| m1291_17(unknown) = Chi : total:m1291_14, partial:m1291_16 #-----| Goto -> Block 4 -# 1245| Block 4 -# 1245| m1245_1(unknown) = Phi : from 2:~m1244_1, from 3:~m1244_17 -# 1245| r1245_2(glval) = VariableAddress[c#init] : -# 1245| r1245_3(bool) = Load[c#init] : &:r1245_2, ~m1245_1 -# 1245| v1245_4(void) = ConditionalBranch : r1245_3 +# 1292| Block 4 +# 1292| m1292_1(unknown) = Phi : from 2:~m1291_1, from 3:~m1291_17 +# 1292| r1292_2(glval) = VariableAddress[c#init] : +# 1292| r1292_3(bool) = Load[c#init] : &:r1292_2, ~m1292_1 +# 1292| v1292_4(void) = ConditionalBranch : r1292_3 #-----| False -> Block 5 #-----| True -> Block 6 -# 1245| Block 5 -# 1245| r1245_5(glval) = VariableAddress[c] : -# 1245| r1245_6(glval) = FunctionAddress[String] : -# 1245| r1245_7(glval) = VariableAddress[dynamic] : -# 1245| r1245_8(char *) = Load[dynamic] : &:r1245_7, m1242_6 -# 1245| v1245_9(void) = Call[String] : func:r1245_6, this:r1245_5, 0:r1245_8 -# 1245| m1245_10(unknown) = ^CallSideEffect : ~m1245_1 -# 1245| m1245_11(unknown) = Chi : total:m1245_1, partial:m1245_10 -# 1245| v1245_12(void) = ^BufferReadSideEffect[0] : &:r1245_8, ~m1242_8 -# 1245| m1245_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r1245_5 -# 1245| m1245_14(unknown) = Chi : total:m1245_11, partial:m1245_13 -# 1245| r1245_15(bool) = Constant[1] : -# 1245| m1245_16(bool) = Store[c#init] : &:r1245_2, r1245_15 -# 1245| m1245_17(unknown) = Chi : total:m1245_14, partial:m1245_16 +# 1292| Block 5 +# 1292| r1292_5(glval) = VariableAddress[c] : +# 1292| r1292_6(glval) = FunctionAddress[String] : +# 1292| r1292_7(glval) = VariableAddress[dynamic] : +# 1292| r1292_8(char *) = Load[dynamic] : &:r1292_7, m1289_6 +# 1292| v1292_9(void) = Call[String] : func:r1292_6, this:r1292_5, 0:r1292_8 +# 1292| m1292_10(unknown) = ^CallSideEffect : ~m1292_1 +# 1292| m1292_11(unknown) = Chi : total:m1292_1, partial:m1292_10 +# 1292| v1292_12(void) = ^BufferReadSideEffect[0] : &:r1292_8, ~m1289_8 +# 1292| m1292_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r1292_5 +# 1292| m1292_14(unknown) = Chi : total:m1292_11, partial:m1292_13 +# 1292| r1292_15(bool) = Constant[1] : +# 1292| m1292_16(bool) = Store[c#init] : &:r1292_2, r1292_15 +# 1292| m1292_17(unknown) = Chi : total:m1292_14, partial:m1292_16 #-----| Goto -> Block 6 -# 1246| Block 6 -# 1246| m1246_1(unknown) = Phi : from 4:~m1245_1, from 5:~m1245_17 -# 1246| v1246_2(void) = NoOp : -# 1242| v1242_9(void) = ReturnIndirection[dynamic] : &:r1242_7, m1242_8 -# 1242| v1242_10(void) = ReturnVoid : -# 1242| v1242_11(void) = AliasedUse : ~m1246_1 -# 1242| v1242_12(void) = ExitFunction : +# 1293| Block 6 +# 1293| m1293_1(unknown) = Phi : from 4:~m1292_1, from 5:~m1292_17 +# 1293| v1293_2(void) = NoOp : +# 1289| v1289_9(void) = ReturnIndirection[dynamic] : &:r1289_7, m1289_8 +# 1289| v1289_10(void) = ReturnVoid : +# 1289| v1289_11(void) = AliasedUse : ~m1293_1 +# 1289| v1289_12(void) = ExitFunction : -# 1253| void test_strings(char*, char*) -# 1253| Block 0 -# 1253| v1253_1(void) = EnterFunction : -# 1253| m1253_2(unknown) = AliasedDefinition : -# 1253| m1253_3(unknown) = InitializeNonLocal : -# 1253| m1253_4(unknown) = Chi : total:m1253_2, partial:m1253_3 -# 1253| r1253_5(glval) = VariableAddress[s1] : -# 1253| m1253_6(char *) = InitializeParameter[s1] : &:r1253_5 -# 1253| r1253_7(char *) = Load[s1] : &:r1253_5, m1253_6 -# 1253| m1253_8(unknown) = InitializeIndirection[s1] : &:r1253_7 -# 1253| r1253_9(glval) = VariableAddress[s2] : -# 1253| m1253_10(char *) = InitializeParameter[s2] : &:r1253_9 -# 1253| r1253_11(char *) = Load[s2] : &:r1253_9, m1253_10 -# 1253| m1253_12(unknown) = InitializeIndirection[s2] : &:r1253_11 -# 1254| r1254_1(glval) = VariableAddress[buffer] : -# 1254| m1254_2(char[1024]) = Uninitialized[buffer] : &:r1254_1 -# 1254| r1254_3(int) = Constant[0] : -# 1254| r1254_4(glval) = PointerAdd[1] : r1254_1, r1254_3 -# 1254| r1254_5(char) = Constant[0] : -# 1254| m1254_6(char) = Store[?] : &:r1254_4, r1254_5 -# 1254| m1254_7(char[1024]) = Chi : total:m1254_2, partial:m1254_6 -# 1254| r1254_8(int) = Constant[1] : -# 1254| r1254_9(glval) = PointerAdd[1] : r1254_1, r1254_8 -# 1254| r1254_10(unknown[1023]) = Constant[0] : -# 1254| m1254_11(unknown[1023]) = Store[?] : &:r1254_9, r1254_10 -# 1254| m1254_12(char[1024]) = Chi : total:m1254_7, partial:m1254_11 -# 1256| r1256_1(glval) = FunctionAddress[strcpy] : -# 1256| r1256_2(glval) = VariableAddress[buffer] : -# 1256| r1256_3(char *) = Convert : r1256_2 -# 1256| r1256_4(glval) = VariableAddress[s1] : -# 1256| r1256_5(char *) = Load[s1] : &:r1256_4, m1253_6 -# 1256| r1256_6(char *) = Convert : r1256_5 -# 1256| r1256_7(char *) = Call[strcpy] : func:r1256_1, 0:r1256_3, 1:r1256_6 -# 1256| v1256_8(void) = ^BufferReadSideEffect[1] : &:r1256_6, ~m1253_8 -# 1256| m1256_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1256_3 -# 1256| m1256_10(char[1024]) = Chi : total:m1254_12, partial:m1256_9 -# 1257| r1257_1(glval) = FunctionAddress[strcat] : -# 1257| r1257_2(glval) = VariableAddress[buffer] : -# 1257| r1257_3(char *) = Convert : r1257_2 -# 1257| r1257_4(glval) = VariableAddress[s2] : -# 1257| r1257_5(char *) = Load[s2] : &:r1257_4, m1253_10 -# 1257| r1257_6(char *) = Convert : r1257_5 -# 1257| r1257_7(char *) = Call[strcat] : func:r1257_1, 0:r1257_3, 1:r1257_6 -# 1257| v1257_8(void) = ^BufferReadSideEffect[0] : &:r1257_3, ~m1256_10 -# 1257| v1257_9(void) = ^BufferReadSideEffect[1] : &:r1257_6, ~m1253_12 -# 1257| m1257_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1257_3 -# 1257| m1257_11(char[1024]) = Chi : total:m1256_10, partial:m1257_10 -# 1258| v1258_1(void) = NoOp : -# 1253| v1253_13(void) = ReturnIndirection[s1] : &:r1253_7, m1253_8 -# 1253| v1253_14(void) = ReturnIndirection[s2] : &:r1253_11, m1253_12 -# 1253| v1253_15(void) = ReturnVoid : -# 1253| v1253_16(void) = AliasedUse : m1253_3 -# 1253| v1253_17(void) = ExitFunction : +# 1300| void test_strings(char*, char*) +# 1300| Block 0 +# 1300| v1300_1(void) = EnterFunction : +# 1300| m1300_2(unknown) = AliasedDefinition : +# 1300| m1300_3(unknown) = InitializeNonLocal : +# 1300| m1300_4(unknown) = Chi : total:m1300_2, partial:m1300_3 +# 1300| r1300_5(glval) = VariableAddress[s1] : +# 1300| m1300_6(char *) = InitializeParameter[s1] : &:r1300_5 +# 1300| r1300_7(char *) = Load[s1] : &:r1300_5, m1300_6 +# 1300| m1300_8(unknown) = InitializeIndirection[s1] : &:r1300_7 +# 1300| r1300_9(glval) = VariableAddress[s2] : +# 1300| m1300_10(char *) = InitializeParameter[s2] : &:r1300_9 +# 1300| r1300_11(char *) = Load[s2] : &:r1300_9, m1300_10 +# 1300| m1300_12(unknown) = InitializeIndirection[s2] : &:r1300_11 +# 1301| r1301_1(glval) = VariableAddress[buffer] : +# 1301| m1301_2(char[1024]) = Uninitialized[buffer] : &:r1301_1 +# 1301| r1301_3(int) = Constant[0] : +# 1301| r1301_4(glval) = PointerAdd[1] : r1301_1, r1301_3 +# 1301| r1301_5(char) = Constant[0] : +# 1301| m1301_6(char) = Store[?] : &:r1301_4, r1301_5 +# 1301| m1301_7(char[1024]) = Chi : total:m1301_2, partial:m1301_6 +# 1301| r1301_8(int) = Constant[1] : +# 1301| r1301_9(glval) = PointerAdd[1] : r1301_1, r1301_8 +# 1301| r1301_10(unknown[1023]) = Constant[0] : +# 1301| m1301_11(unknown[1023]) = Store[?] : &:r1301_9, r1301_10 +# 1301| m1301_12(char[1024]) = Chi : total:m1301_7, partial:m1301_11 +# 1303| r1303_1(glval) = FunctionAddress[strcpy] : +# 1303| r1303_2(glval) = VariableAddress[buffer] : +# 1303| r1303_3(char *) = Convert : r1303_2 +# 1303| r1303_4(glval) = VariableAddress[s1] : +# 1303| r1303_5(char *) = Load[s1] : &:r1303_4, m1300_6 +# 1303| r1303_6(char *) = Convert : r1303_5 +# 1303| r1303_7(char *) = Call[strcpy] : func:r1303_1, 0:r1303_3, 1:r1303_6 +# 1303| v1303_8(void) = ^BufferReadSideEffect[1] : &:r1303_6, ~m1300_8 +# 1303| m1303_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1303_3 +# 1303| m1303_10(char[1024]) = Chi : total:m1301_12, partial:m1303_9 +# 1304| r1304_1(glval) = FunctionAddress[strcat] : +# 1304| r1304_2(glval) = VariableAddress[buffer] : +# 1304| r1304_3(char *) = Convert : r1304_2 +# 1304| r1304_4(glval) = VariableAddress[s2] : +# 1304| r1304_5(char *) = Load[s2] : &:r1304_4, m1300_10 +# 1304| r1304_6(char *) = Convert : r1304_5 +# 1304| r1304_7(char *) = Call[strcat] : func:r1304_1, 0:r1304_3, 1:r1304_6 +# 1304| v1304_8(void) = ^BufferReadSideEffect[0] : &:r1304_3, ~m1303_10 +# 1304| v1304_9(void) = ^BufferReadSideEffect[1] : &:r1304_6, ~m1300_12 +# 1304| m1304_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1304_3 +# 1304| m1304_11(char[1024]) = Chi : total:m1303_10, partial:m1304_10 +# 1305| v1305_1(void) = NoOp : +# 1300| v1300_13(void) = ReturnIndirection[s1] : &:r1300_7, m1300_8 +# 1300| v1300_14(void) = ReturnIndirection[s2] : &:r1300_11, m1300_12 +# 1300| v1300_15(void) = ReturnVoid : +# 1300| v1300_16(void) = AliasedUse : m1300_3 +# 1300| v1300_17(void) = ExitFunction : -# 1263| void A::static_member(A*, int) -# 1263| Block 0 -# 1263| v1263_1(void) = EnterFunction : -# 1263| m1263_2(unknown) = AliasedDefinition : -# 1263| m1263_3(unknown) = InitializeNonLocal : -# 1263| m1263_4(unknown) = Chi : total:m1263_2, partial:m1263_3 -# 1263| r1263_5(glval) = VariableAddress[a] : -# 1263| m1263_6(A *) = InitializeParameter[a] : &:r1263_5 -# 1263| r1263_7(A *) = Load[a] : &:r1263_5, m1263_6 -# 1263| m1263_8(unknown) = InitializeIndirection[a] : &:r1263_7 -# 1263| r1263_9(glval) = VariableAddress[x] : -# 1263| m1263_10(int) = InitializeParameter[x] : &:r1263_9 -# 1264| r1264_1(glval) = VariableAddress[x] : -# 1264| r1264_2(int) = Load[x] : &:r1264_1, m1263_10 -# 1264| r1264_3(glval) = VariableAddress[a] : -# 1264| r1264_4(A *) = Load[a] : &:r1264_3, m1263_6 -# 1264| r1264_5(glval) = FieldAddress[member] : r1264_4 -# 1264| m1264_6(int) = Store[?] : &:r1264_5, r1264_2 -# 1264| m1264_7(unknown) = Chi : total:m1263_8, partial:m1264_6 -# 1265| v1265_1(void) = NoOp : -# 1263| v1263_11(void) = ReturnIndirection[a] : &:r1263_7, m1264_7 -# 1263| v1263_12(void) = ReturnVoid : -# 1263| v1263_13(void) = AliasedUse : m1263_3 -# 1263| v1263_14(void) = ExitFunction : +# 1310| void A::static_member(A*, int) +# 1310| Block 0 +# 1310| v1310_1(void) = EnterFunction : +# 1310| m1310_2(unknown) = AliasedDefinition : +# 1310| m1310_3(unknown) = InitializeNonLocal : +# 1310| m1310_4(unknown) = Chi : total:m1310_2, partial:m1310_3 +# 1310| r1310_5(glval) = VariableAddress[a] : +# 1310| m1310_6(A *) = InitializeParameter[a] : &:r1310_5 +# 1310| r1310_7(A *) = Load[a] : &:r1310_5, m1310_6 +# 1310| m1310_8(unknown) = InitializeIndirection[a] : &:r1310_7 +# 1310| r1310_9(glval) = VariableAddress[x] : +# 1310| m1310_10(int) = InitializeParameter[x] : &:r1310_9 +# 1311| r1311_1(glval) = VariableAddress[x] : +# 1311| r1311_2(int) = Load[x] : &:r1311_1, m1310_10 +# 1311| r1311_3(glval) = VariableAddress[a] : +# 1311| r1311_4(A *) = Load[a] : &:r1311_3, m1310_6 +# 1311| r1311_5(glval) = FieldAddress[member] : r1311_4 +# 1311| m1311_6(int) = Store[?] : &:r1311_5, r1311_2 +# 1311| m1311_7(unknown) = Chi : total:m1310_8, partial:m1311_6 +# 1312| v1312_1(void) = NoOp : +# 1310| v1310_11(void) = ReturnIndirection[a] : &:r1310_7, m1311_7 +# 1310| v1310_12(void) = ReturnVoid : +# 1310| v1310_13(void) = AliasedUse : m1310_3 +# 1310| v1310_14(void) = ExitFunction : -# 1272| void test_static_member_functions(int, A*) -# 1272| Block 0 -# 1272| v1272_1(void) = EnterFunction : -# 1272| m1272_2(unknown) = AliasedDefinition : -# 1272| m1272_3(unknown) = InitializeNonLocal : -# 1272| m1272_4(unknown) = Chi : total:m1272_2, partial:m1272_3 -# 1272| r1272_5(glval) = VariableAddress[int_arg] : -# 1272| m1272_6(int) = InitializeParameter[int_arg] : &:r1272_5 -# 1272| r1272_7(glval) = VariableAddress[a_arg] : -# 1272| m1272_8(A *) = InitializeParameter[a_arg] : &:r1272_7 -# 1272| r1272_9(A *) = Load[a_arg] : &:r1272_7, m1272_8 -# 1272| m1272_10(unknown) = InitializeIndirection[a_arg] : &:r1272_9 -# 1273| r1273_1(glval) = VariableAddress[c] : -# 1273| m1273_2(C) = Uninitialized[c] : &:r1273_1 -# 1273| r1273_3(glval) = FunctionAddress[C] : -# 1273| v1273_4(void) = Call[C] : func:r1273_3, this:r1273_1 -# 1273| m1273_5(unknown) = ^CallSideEffect : ~m1272_4 -# 1273| m1273_6(unknown) = Chi : total:m1272_4, partial:m1273_5 -# 1273| m1273_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1273_1 -# 1273| m1273_8(C) = Chi : total:m1273_2, partial:m1273_7 -# 1274| r1274_1(glval) = VariableAddress[c] : -# 1274| r1274_2(glval) = FunctionAddress[StaticMemberFunction] : -# 1274| r1274_3(int) = Constant[10] : -# 1274| r1274_4(int) = Call[StaticMemberFunction] : func:r1274_2, 0:r1274_3 -# 1274| m1274_5(unknown) = ^CallSideEffect : ~m1273_6 -# 1274| m1274_6(unknown) = Chi : total:m1273_6, partial:m1274_5 -# 1275| r1275_1(glval) = FunctionAddress[StaticMemberFunction] : -# 1275| r1275_2(int) = Constant[10] : -# 1275| r1275_3(int) = Call[StaticMemberFunction] : func:r1275_1, 0:r1275_2 -# 1275| m1275_4(unknown) = ^CallSideEffect : ~m1274_6 -# 1275| m1275_5(unknown) = Chi : total:m1274_6, partial:m1275_4 -# 1277| r1277_1(glval) = VariableAddress[a] : -# 1277| m1277_2(A) = Uninitialized[a] : &:r1277_1 -# 1278| r1278_1(glval) = VariableAddress[a] : -# 1278| r1278_2(glval) = FunctionAddress[static_member] : -# 1278| r1278_3(glval) = VariableAddress[a] : -# 1278| r1278_4(A *) = CopyValue : r1278_3 -# 1278| r1278_5(glval) = VariableAddress[int_arg] : -# 1278| r1278_6(int) = Load[int_arg] : &:r1278_5, m1272_6 -# 1278| v1278_7(void) = Call[static_member] : func:r1278_2, 0:r1278_4, 1:r1278_6 -# 1278| m1278_8(unknown) = ^CallSideEffect : ~m1275_5 -# 1278| m1278_9(unknown) = Chi : total:m1275_5, partial:m1278_8 -# 1278| v1278_10(void) = ^BufferReadSideEffect[0] : &:r1278_4, ~m1277_2 -# 1278| m1278_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1278_4 -# 1278| m1278_12(A) = Chi : total:m1277_2, partial:m1278_11 -# 1279| r1279_1(glval) = FunctionAddress[static_member] : -# 1279| r1279_2(glval) = VariableAddress[a] : -# 1279| r1279_3(A *) = CopyValue : r1279_2 -# 1279| r1279_4(glval) = VariableAddress[int_arg] : -# 1279| r1279_5(int) = Load[int_arg] : &:r1279_4, m1272_6 -# 1279| v1279_6(void) = Call[static_member] : func:r1279_1, 0:r1279_3, 1:r1279_5 -# 1279| m1279_7(unknown) = ^CallSideEffect : ~m1278_9 -# 1279| m1279_8(unknown) = Chi : total:m1278_9, partial:m1279_7 -# 1279| v1279_9(void) = ^BufferReadSideEffect[0] : &:r1279_3, ~m1278_12 -# 1279| m1279_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1279_3 -# 1279| m1279_11(A) = Chi : total:m1278_12, partial:m1279_10 -# 1281| r1281_1(glval) = VariableAddress[a] : -# 1281| r1281_2(A *) = CopyValue : r1281_1 -# 1281| r1281_3(glval) = FunctionAddress[static_member] : -# 1281| r1281_4(glval) = VariableAddress[a_arg] : -# 1281| r1281_5(A *) = Load[a_arg] : &:r1281_4, m1272_8 -# 1281| r1281_6(glval) = VariableAddress[int_arg] : -# 1281| r1281_7(int) = Load[int_arg] : &:r1281_6, m1272_6 -# 1281| r1281_8(int) = Constant[2] : -# 1281| r1281_9(int) = Add : r1281_7, r1281_8 -# 1281| v1281_10(void) = Call[static_member] : func:r1281_3, 0:r1281_5, 1:r1281_9 -# 1281| m1281_11(unknown) = ^CallSideEffect : ~m1279_8 -# 1281| m1281_12(unknown) = Chi : total:m1279_8, partial:m1281_11 -# 1281| v1281_13(void) = ^BufferReadSideEffect[0] : &:r1281_5, ~m1272_10 -# 1281| m1281_14(unknown) = ^BufferMayWriteSideEffect[0] : &:r1281_5 -# 1281| m1281_15(unknown) = Chi : total:m1272_10, partial:m1281_14 -# 1282| r1282_1(glval) = VariableAddress[a_arg] : -# 1282| r1282_2(A *) = Load[a_arg] : &:r1282_1, m1272_8 -# 1282| r1282_3(glval) = CopyValue : r1282_2 -# 1282| r1282_4(glval) = FunctionAddress[static_member] : -# 1282| r1282_5(glval) = VariableAddress[a] : -# 1282| r1282_6(A *) = CopyValue : r1282_5 -# 1282| r1282_7(int) = Constant[99] : -# 1282| v1282_8(void) = Call[static_member] : func:r1282_4, 0:r1282_6, 1:r1282_7 -# 1282| m1282_9(unknown) = ^CallSideEffect : ~m1281_12 -# 1282| m1282_10(unknown) = Chi : total:m1281_12, partial:m1282_9 -# 1282| v1282_11(void) = ^BufferReadSideEffect[0] : &:r1282_6, ~m1279_11 -# 1282| m1282_12(unknown) = ^BufferMayWriteSideEffect[0] : &:r1282_6 -# 1282| m1282_13(A) = Chi : total:m1279_11, partial:m1282_12 -# 1283| r1283_1(glval) = VariableAddress[a_arg] : -# 1283| r1283_2(A *) = Load[a_arg] : &:r1283_1, m1272_8 -# 1283| r1283_3(glval) = FunctionAddress[static_member] : -# 1283| r1283_4(glval) = VariableAddress[a_arg] : -# 1283| r1283_5(A *) = Load[a_arg] : &:r1283_4, m1272_8 -# 1283| r1283_6(int) = Constant[-1] : -# 1283| v1283_7(void) = Call[static_member] : func:r1283_3, 0:r1283_5, 1:r1283_6 -# 1283| m1283_8(unknown) = ^CallSideEffect : ~m1282_10 -# 1283| m1283_9(unknown) = Chi : total:m1282_10, partial:m1283_8 -# 1283| v1283_10(void) = ^BufferReadSideEffect[0] : &:r1283_5, ~m1281_15 -# 1283| m1283_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1283_5 -# 1283| m1283_12(unknown) = Chi : total:m1281_15, partial:m1283_11 -# 1285| r1285_1(glval) = VariableAddress[a] : -# 1285| r1285_2(glval) = FunctionAddress[static_member_without_def] : -# 1285| v1285_3(void) = Call[static_member_without_def] : func:r1285_2 -# 1285| m1285_4(unknown) = ^CallSideEffect : ~m1283_9 -# 1285| m1285_5(unknown) = Chi : total:m1283_9, partial:m1285_4 -# 1286| r1286_1(glval) = FunctionAddress[static_member_without_def] : -# 1286| v1286_2(void) = Call[static_member_without_def] : func:r1286_1 -# 1286| m1286_3(unknown) = ^CallSideEffect : ~m1285_5 -# 1286| m1286_4(unknown) = Chi : total:m1285_5, partial:m1286_3 -# 1288| r1288_1(glval) = FunctionAddress[getAnInstanceOfA] : -# 1288| r1288_2(A *) = Call[getAnInstanceOfA] : func:r1288_1 -# 1288| m1288_3(unknown) = ^CallSideEffect : ~m1286_4 -# 1288| m1288_4(unknown) = Chi : total:m1286_4, partial:m1288_3 -# 1288| r1288_5(glval) = FunctionAddress[static_member_without_def] : -# 1288| v1288_6(void) = Call[static_member_without_def] : func:r1288_5 -# 1288| m1288_7(unknown) = ^CallSideEffect : ~m1288_4 -# 1288| m1288_8(unknown) = Chi : total:m1288_4, partial:m1288_7 -# 1289| v1289_1(void) = NoOp : -# 1289| r1289_2(glval) = VariableAddress[c] : -# 1289| r1289_3(glval) = FunctionAddress[~C] : -# 1289| v1289_4(void) = Call[~C] : func:r1289_3, this:r1289_2 -# 1289| m1289_5(unknown) = ^CallSideEffect : ~m1288_8 -# 1289| m1289_6(unknown) = Chi : total:m1288_8, partial:m1289_5 -# 1289| v1289_7(void) = ^IndirectReadSideEffect[-1] : &:r1289_2, m1273_8 -# 1289| m1289_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r1289_2 -# 1289| m1289_9(C) = Chi : total:m1273_8, partial:m1289_8 -# 1272| v1272_11(void) = ReturnIndirection[a_arg] : &:r1272_9, m1283_12 -# 1272| v1272_12(void) = ReturnVoid : -# 1272| v1272_13(void) = AliasedUse : ~m1289_6 -# 1272| v1272_14(void) = ExitFunction : +# 1319| void test_static_member_functions(int, A*) +# 1319| Block 0 +# 1319| v1319_1(void) = EnterFunction : +# 1319| m1319_2(unknown) = AliasedDefinition : +# 1319| m1319_3(unknown) = InitializeNonLocal : +# 1319| m1319_4(unknown) = Chi : total:m1319_2, partial:m1319_3 +# 1319| r1319_5(glval) = VariableAddress[int_arg] : +# 1319| m1319_6(int) = InitializeParameter[int_arg] : &:r1319_5 +# 1319| r1319_7(glval) = VariableAddress[a_arg] : +# 1319| m1319_8(A *) = InitializeParameter[a_arg] : &:r1319_7 +# 1319| r1319_9(A *) = Load[a_arg] : &:r1319_7, m1319_8 +# 1319| m1319_10(unknown) = InitializeIndirection[a_arg] : &:r1319_9 +# 1320| r1320_1(glval) = VariableAddress[c] : +# 1320| m1320_2(C) = Uninitialized[c] : &:r1320_1 +# 1320| r1320_3(glval) = FunctionAddress[C] : +# 1320| v1320_4(void) = Call[C] : func:r1320_3, this:r1320_1 +# 1320| m1320_5(unknown) = ^CallSideEffect : ~m1319_4 +# 1320| m1320_6(unknown) = Chi : total:m1319_4, partial:m1320_5 +# 1320| m1320_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1320_1 +# 1320| m1320_8(C) = Chi : total:m1320_2, partial:m1320_7 +# 1321| r1321_1(glval) = VariableAddress[c] : +# 1321| r1321_2(glval) = FunctionAddress[StaticMemberFunction] : +# 1321| r1321_3(int) = Constant[10] : +# 1321| r1321_4(int) = Call[StaticMemberFunction] : func:r1321_2, 0:r1321_3 +# 1321| m1321_5(unknown) = ^CallSideEffect : ~m1320_6 +# 1321| m1321_6(unknown) = Chi : total:m1320_6, partial:m1321_5 +# 1322| r1322_1(glval) = FunctionAddress[StaticMemberFunction] : +# 1322| r1322_2(int) = Constant[10] : +# 1322| r1322_3(int) = Call[StaticMemberFunction] : func:r1322_1, 0:r1322_2 +# 1322| m1322_4(unknown) = ^CallSideEffect : ~m1321_6 +# 1322| m1322_5(unknown) = Chi : total:m1321_6, partial:m1322_4 +# 1324| r1324_1(glval) = VariableAddress[a] : +# 1324| m1324_2(A) = Uninitialized[a] : &:r1324_1 +# 1325| r1325_1(glval) = VariableAddress[a] : +# 1325| r1325_2(glval) = FunctionAddress[static_member] : +# 1325| r1325_3(glval) = VariableAddress[a] : +# 1325| r1325_4(A *) = CopyValue : r1325_3 +# 1325| r1325_5(glval) = VariableAddress[int_arg] : +# 1325| r1325_6(int) = Load[int_arg] : &:r1325_5, m1319_6 +# 1325| v1325_7(void) = Call[static_member] : func:r1325_2, 0:r1325_4, 1:r1325_6 +# 1325| m1325_8(unknown) = ^CallSideEffect : ~m1322_5 +# 1325| m1325_9(unknown) = Chi : total:m1322_5, partial:m1325_8 +# 1325| v1325_10(void) = ^BufferReadSideEffect[0] : &:r1325_4, ~m1324_2 +# 1325| m1325_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1325_4 +# 1325| m1325_12(A) = Chi : total:m1324_2, partial:m1325_11 +# 1326| r1326_1(glval) = FunctionAddress[static_member] : +# 1326| r1326_2(glval) = VariableAddress[a] : +# 1326| r1326_3(A *) = CopyValue : r1326_2 +# 1326| r1326_4(glval) = VariableAddress[int_arg] : +# 1326| r1326_5(int) = Load[int_arg] : &:r1326_4, m1319_6 +# 1326| v1326_6(void) = Call[static_member] : func:r1326_1, 0:r1326_3, 1:r1326_5 +# 1326| m1326_7(unknown) = ^CallSideEffect : ~m1325_9 +# 1326| m1326_8(unknown) = Chi : total:m1325_9, partial:m1326_7 +# 1326| v1326_9(void) = ^BufferReadSideEffect[0] : &:r1326_3, ~m1325_12 +# 1326| m1326_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1326_3 +# 1326| m1326_11(A) = Chi : total:m1325_12, partial:m1326_10 +# 1328| r1328_1(glval) = VariableAddress[a] : +# 1328| r1328_2(A *) = CopyValue : r1328_1 +# 1328| r1328_3(glval) = FunctionAddress[static_member] : +# 1328| r1328_4(glval) = VariableAddress[a_arg] : +# 1328| r1328_5(A *) = Load[a_arg] : &:r1328_4, m1319_8 +# 1328| r1328_6(glval) = VariableAddress[int_arg] : +# 1328| r1328_7(int) = Load[int_arg] : &:r1328_6, m1319_6 +# 1328| r1328_8(int) = Constant[2] : +# 1328| r1328_9(int) = Add : r1328_7, r1328_8 +# 1328| v1328_10(void) = Call[static_member] : func:r1328_3, 0:r1328_5, 1:r1328_9 +# 1328| m1328_11(unknown) = ^CallSideEffect : ~m1326_8 +# 1328| m1328_12(unknown) = Chi : total:m1326_8, partial:m1328_11 +# 1328| v1328_13(void) = ^BufferReadSideEffect[0] : &:r1328_5, ~m1319_10 +# 1328| m1328_14(unknown) = ^BufferMayWriteSideEffect[0] : &:r1328_5 +# 1328| m1328_15(unknown) = Chi : total:m1319_10, partial:m1328_14 +# 1329| r1329_1(glval) = VariableAddress[a_arg] : +# 1329| r1329_2(A *) = Load[a_arg] : &:r1329_1, m1319_8 +# 1329| r1329_3(glval) = CopyValue : r1329_2 +# 1329| r1329_4(glval) = FunctionAddress[static_member] : +# 1329| r1329_5(glval) = VariableAddress[a] : +# 1329| r1329_6(A *) = CopyValue : r1329_5 +# 1329| r1329_7(int) = Constant[99] : +# 1329| v1329_8(void) = Call[static_member] : func:r1329_4, 0:r1329_6, 1:r1329_7 +# 1329| m1329_9(unknown) = ^CallSideEffect : ~m1328_12 +# 1329| m1329_10(unknown) = Chi : total:m1328_12, partial:m1329_9 +# 1329| v1329_11(void) = ^BufferReadSideEffect[0] : &:r1329_6, ~m1326_11 +# 1329| m1329_12(unknown) = ^BufferMayWriteSideEffect[0] : &:r1329_6 +# 1329| m1329_13(A) = Chi : total:m1326_11, partial:m1329_12 +# 1330| r1330_1(glval) = VariableAddress[a_arg] : +# 1330| r1330_2(A *) = Load[a_arg] : &:r1330_1, m1319_8 +# 1330| r1330_3(glval) = FunctionAddress[static_member] : +# 1330| r1330_4(glval) = VariableAddress[a_arg] : +# 1330| r1330_5(A *) = Load[a_arg] : &:r1330_4, m1319_8 +# 1330| r1330_6(int) = Constant[-1] : +# 1330| v1330_7(void) = Call[static_member] : func:r1330_3, 0:r1330_5, 1:r1330_6 +# 1330| m1330_8(unknown) = ^CallSideEffect : ~m1329_10 +# 1330| m1330_9(unknown) = Chi : total:m1329_10, partial:m1330_8 +# 1330| v1330_10(void) = ^BufferReadSideEffect[0] : &:r1330_5, ~m1328_15 +# 1330| m1330_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1330_5 +# 1330| m1330_12(unknown) = Chi : total:m1328_15, partial:m1330_11 +# 1332| r1332_1(glval) = VariableAddress[a] : +# 1332| r1332_2(glval) = FunctionAddress[static_member_without_def] : +# 1332| v1332_3(void) = Call[static_member_without_def] : func:r1332_2 +# 1332| m1332_4(unknown) = ^CallSideEffect : ~m1330_9 +# 1332| m1332_5(unknown) = Chi : total:m1330_9, partial:m1332_4 +# 1333| r1333_1(glval) = FunctionAddress[static_member_without_def] : +# 1333| v1333_2(void) = Call[static_member_without_def] : func:r1333_1 +# 1333| m1333_3(unknown) = ^CallSideEffect : ~m1332_5 +# 1333| m1333_4(unknown) = Chi : total:m1332_5, partial:m1333_3 +# 1335| r1335_1(glval) = FunctionAddress[getAnInstanceOfA] : +# 1335| r1335_2(A *) = Call[getAnInstanceOfA] : func:r1335_1 +# 1335| m1335_3(unknown) = ^CallSideEffect : ~m1333_4 +# 1335| m1335_4(unknown) = Chi : total:m1333_4, partial:m1335_3 +# 1335| r1335_5(glval) = FunctionAddress[static_member_without_def] : +# 1335| v1335_6(void) = Call[static_member_without_def] : func:r1335_5 +# 1335| m1335_7(unknown) = ^CallSideEffect : ~m1335_4 +# 1335| m1335_8(unknown) = Chi : total:m1335_4, partial:m1335_7 +# 1336| v1336_1(void) = NoOp : +# 1336| r1336_2(glval) = VariableAddress[c] : +# 1336| r1336_3(glval) = FunctionAddress[~C] : +# 1336| v1336_4(void) = Call[~C] : func:r1336_3, this:r1336_2 +# 1336| m1336_5(unknown) = ^CallSideEffect : ~m1335_8 +# 1336| m1336_6(unknown) = Chi : total:m1335_8, partial:m1336_5 +# 1336| v1336_7(void) = ^IndirectReadSideEffect[-1] : &:r1336_2, m1320_8 +# 1336| m1336_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r1336_2 +# 1336| m1336_9(C) = Chi : total:m1320_8, partial:m1336_8 +# 1319| v1319_11(void) = ReturnIndirection[a_arg] : &:r1319_9, m1330_12 +# 1319| v1319_12(void) = ReturnVoid : +# 1319| v1319_13(void) = AliasedUse : ~m1336_6 +# 1319| v1319_14(void) = ExitFunction : -# 1291| int missingReturnValue(bool, int) -# 1291| Block 0 -# 1291| v1291_1(void) = EnterFunction : -# 1291| m1291_2(unknown) = AliasedDefinition : -# 1291| m1291_3(unknown) = InitializeNonLocal : -# 1291| m1291_4(unknown) = Chi : total:m1291_2, partial:m1291_3 -# 1291| r1291_5(glval) = VariableAddress[b] : -# 1291| m1291_6(bool) = InitializeParameter[b] : &:r1291_5 -# 1291| r1291_7(glval) = VariableAddress[x] : -# 1291| m1291_8(int) = InitializeParameter[x] : &:r1291_7 -# 1292| r1292_1(glval) = VariableAddress[b] : -# 1292| r1292_2(bool) = Load[b] : &:r1292_1, m1291_6 -# 1292| v1292_3(void) = ConditionalBranch : r1292_2 +# 1338| int missingReturnValue(bool, int) +# 1338| Block 0 +# 1338| v1338_1(void) = EnterFunction : +# 1338| m1338_2(unknown) = AliasedDefinition : +# 1338| m1338_3(unknown) = InitializeNonLocal : +# 1338| m1338_4(unknown) = Chi : total:m1338_2, partial:m1338_3 +# 1338| r1338_5(glval) = VariableAddress[b] : +# 1338| m1338_6(bool) = InitializeParameter[b] : &:r1338_5 +# 1338| r1338_7(glval) = VariableAddress[x] : +# 1338| m1338_8(int) = InitializeParameter[x] : &:r1338_7 +# 1339| r1339_1(glval) = VariableAddress[b] : +# 1339| r1339_2(bool) = Load[b] : &:r1339_1, m1338_6 +# 1339| v1339_3(void) = ConditionalBranch : r1339_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 1291| Block 1 -# 1291| m1291_9(int) = Phi : from 2:m1293_4, from 3:m1295_2 -# 1291| r1291_10(glval) = VariableAddress[#return] : -# 1291| v1291_11(void) = ReturnValue : &:r1291_10, m1291_9 -# 1291| v1291_12(void) = AliasedUse : m1291_3 -# 1291| v1291_13(void) = ExitFunction : +# 1338| Block 1 +# 1338| m1338_9(int) = Phi : from 2:m1340_4, from 3:m1342_2 +# 1338| r1338_10(glval) = VariableAddress[#return] : +# 1338| v1338_11(void) = ReturnValue : &:r1338_10, m1338_9 +# 1338| v1338_12(void) = AliasedUse : m1338_3 +# 1338| v1338_13(void) = ExitFunction : -# 1293| Block 2 -# 1293| r1293_1(glval) = VariableAddress[#return] : -# 1293| r1293_2(glval) = VariableAddress[x] : -# 1293| r1293_3(int) = Load[x] : &:r1293_2, m1291_8 -# 1293| m1293_4(int) = Store[#return] : &:r1293_1, r1293_3 +# 1340| Block 2 +# 1340| r1340_1(glval) = VariableAddress[#return] : +# 1340| r1340_2(glval) = VariableAddress[x] : +# 1340| r1340_3(int) = Load[x] : &:r1340_2, m1338_8 +# 1340| m1340_4(int) = Store[#return] : &:r1340_1, r1340_3 #-----| Goto -> Block 1 -# 1295| Block 3 -# 1295| r1295_1(glval) = VariableAddress[#return] : -# 1295| m1295_2(int) = Uninitialized[#return] : &:r1295_1 +# 1342| Block 3 +# 1342| r1342_1(glval) = VariableAddress[#return] : +# 1342| m1342_2(int) = Uninitialized[#return] : &:r1342_1 #-----| Goto -> Block 1 -# 1297| void returnVoid(int, int) -# 1297| Block 0 -# 1297| v1297_1(void) = EnterFunction : -# 1297| m1297_2(unknown) = AliasedDefinition : -# 1297| m1297_3(unknown) = InitializeNonLocal : -# 1297| m1297_4(unknown) = Chi : total:m1297_2, partial:m1297_3 -# 1297| r1297_5(glval) = VariableAddress[x] : -# 1297| m1297_6(int) = InitializeParameter[x] : &:r1297_5 -# 1297| r1297_7(glval) = VariableAddress[y] : -# 1297| m1297_8(int) = InitializeParameter[y] : &:r1297_7 -# 1298| r1298_1(glval) = FunctionAddress[IntegerOps] : -# 1298| r1298_2(glval) = VariableAddress[x] : -# 1298| r1298_3(int) = Load[x] : &:r1298_2, m1297_6 -# 1298| r1298_4(glval) = VariableAddress[y] : -# 1298| r1298_5(int) = Load[y] : &:r1298_4, m1297_8 -# 1298| v1298_6(void) = Call[IntegerOps] : func:r1298_1, 0:r1298_3, 1:r1298_5 -# 1298| m1298_7(unknown) = ^CallSideEffect : ~m1297_4 -# 1298| m1298_8(unknown) = Chi : total:m1297_4, partial:m1298_7 -# 1298| v1298_9(void) = NoOp : -# 1297| v1297_9(void) = ReturnVoid : -# 1297| v1297_10(void) = AliasedUse : ~m1298_8 -# 1297| v1297_11(void) = ExitFunction : +# 1344| void returnVoid(int, int) +# 1344| Block 0 +# 1344| v1344_1(void) = EnterFunction : +# 1344| m1344_2(unknown) = AliasedDefinition : +# 1344| m1344_3(unknown) = InitializeNonLocal : +# 1344| m1344_4(unknown) = Chi : total:m1344_2, partial:m1344_3 +# 1344| r1344_5(glval) = VariableAddress[x] : +# 1344| m1344_6(int) = InitializeParameter[x] : &:r1344_5 +# 1344| r1344_7(glval) = VariableAddress[y] : +# 1344| m1344_8(int) = InitializeParameter[y] : &:r1344_7 +# 1345| r1345_1(glval) = FunctionAddress[IntegerOps] : +# 1345| r1345_2(glval) = VariableAddress[x] : +# 1345| r1345_3(int) = Load[x] : &:r1345_2, m1344_6 +# 1345| r1345_4(glval) = VariableAddress[y] : +# 1345| r1345_5(int) = Load[y] : &:r1345_4, m1344_8 +# 1345| v1345_6(void) = Call[IntegerOps] : func:r1345_1, 0:r1345_3, 1:r1345_5 +# 1345| m1345_7(unknown) = ^CallSideEffect : ~m1344_4 +# 1345| m1345_8(unknown) = Chi : total:m1344_4, partial:m1345_7 +# 1345| v1345_9(void) = NoOp : +# 1344| v1344_9(void) = ReturnVoid : +# 1344| v1344_10(void) = AliasedUse : ~m1345_8 +# 1344| v1344_11(void) = ExitFunction : -# 1301| void gccBinaryConditional(bool, int, long) -# 1301| Block 0 -# 1301| v1301_1(void) = EnterFunction : -# 1301| m1301_2(unknown) = AliasedDefinition : -# 1301| m1301_3(unknown) = InitializeNonLocal : -# 1301| m1301_4(unknown) = Chi : total:m1301_2, partial:m1301_3 -# 1301| r1301_5(glval) = VariableAddress[b] : -# 1301| m1301_6(bool) = InitializeParameter[b] : &:r1301_5 -# 1301| r1301_7(glval) = VariableAddress[x] : -# 1301| m1301_8(int) = InitializeParameter[x] : &:r1301_7 -# 1301| r1301_9(glval) = VariableAddress[y] : -# 1301| m1301_10(long) = InitializeParameter[y] : &:r1301_9 -# 1302| r1302_1(glval) = VariableAddress[z] : -# 1302| r1302_2(glval) = VariableAddress[x] : -# 1302| r1302_3(int) = Load[x] : &:r1302_2, m1301_8 -# 1302| m1302_4(int) = Store[z] : &:r1302_1, r1302_3 -# 1303| r1303_1(glval) = VariableAddress[b] : -# 1303| r1303_2(bool) = Load[b] : &:r1303_1, m1301_6 -# 1303| v1303_3(void) = ConditionalBranch : r1303_2 +# 1348| void gccBinaryConditional(bool, int, long) +# 1348| Block 0 +# 1348| v1348_1(void) = EnterFunction : +# 1348| m1348_2(unknown) = AliasedDefinition : +# 1348| m1348_3(unknown) = InitializeNonLocal : +# 1348| m1348_4(unknown) = Chi : total:m1348_2, partial:m1348_3 +# 1348| r1348_5(glval) = VariableAddress[b] : +# 1348| m1348_6(bool) = InitializeParameter[b] : &:r1348_5 +# 1348| r1348_7(glval) = VariableAddress[x] : +# 1348| m1348_8(int) = InitializeParameter[x] : &:r1348_7 +# 1348| r1348_9(glval) = VariableAddress[y] : +# 1348| m1348_10(long) = InitializeParameter[y] : &:r1348_9 +# 1349| r1349_1(glval) = VariableAddress[z] : +# 1349| r1349_2(glval) = VariableAddress[x] : +# 1349| r1349_3(int) = Load[x] : &:r1349_2, m1348_8 +# 1349| m1349_4(int) = Store[z] : &:r1349_1, r1349_3 +# 1350| r1350_1(glval) = VariableAddress[b] : +# 1350| r1350_2(bool) = Load[b] : &:r1350_1, m1348_6 +# 1350| v1350_3(void) = ConditionalBranch : r1350_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 1303| Block 1 -# 1303| m1303_4(int) = Phi : from 2:m1303_10, from 3:m1303_14 -# 1303| r1303_5(glval) = VariableAddress[#temp1303:9] : -# 1303| r1303_6(int) = Load[#temp1303:9] : &:r1303_5, m1303_4 -# 1303| r1303_7(glval) = VariableAddress[z] : -# 1303| m1303_8(int) = Store[z] : &:r1303_7, r1303_6 -# 1304| r1304_1(glval) = VariableAddress[b] : -# 1304| r1304_2(bool) = Load[b] : &:r1304_1, m1301_6 -# 1304| v1304_3(void) = ConditionalBranch : r1304_2 +# 1350| Block 1 +# 1350| m1350_4(int) = Phi : from 2:m1350_10, from 3:m1350_14 +# 1350| r1350_5(glval) = VariableAddress[#temp1350:9] : +# 1350| r1350_6(int) = Load[#temp1350:9] : &:r1350_5, m1350_4 +# 1350| r1350_7(glval) = VariableAddress[z] : +# 1350| m1350_8(int) = Store[z] : &:r1350_7, r1350_6 +# 1351| r1351_1(glval) = VariableAddress[b] : +# 1351| r1351_2(bool) = Load[b] : &:r1351_1, m1348_6 +# 1351| v1351_3(void) = ConditionalBranch : r1351_2 #-----| False -> Block 6 #-----| True -> Block 5 -# 1303| Block 2 -# 1303| r1303_9(glval) = VariableAddress[#temp1303:9] : -# 1303| m1303_10(int) = Store[#temp1303:9] : &:r1303_9, r1303_2 +# 1350| Block 2 +# 1350| r1350_9(glval) = VariableAddress[#temp1350:9] : +# 1350| m1350_10(int) = Store[#temp1350:9] : &:r1350_9, r1350_2 #-----| Goto -> Block 1 -# 1303| Block 3 -# 1303| r1303_11(glval) = VariableAddress[x] : -# 1303| r1303_12(int) = Load[x] : &:r1303_11, m1301_8 -# 1303| r1303_13(glval) = VariableAddress[#temp1303:9] : -# 1303| m1303_14(int) = Store[#temp1303:9] : &:r1303_13, r1303_12 +# 1350| Block 3 +# 1350| r1350_11(glval) = VariableAddress[x] : +# 1350| r1350_12(int) = Load[x] : &:r1350_11, m1348_8 +# 1350| r1350_13(glval) = VariableAddress[#temp1350:9] : +# 1350| m1350_14(int) = Store[#temp1350:9] : &:r1350_13, r1350_12 #-----| Goto -> Block 1 -# 1304| Block 4 -# 1304| m1304_4(long) = Phi : from 5:m1304_11, from 6:m1304_15 -# 1304| r1304_5(glval) = VariableAddress[#temp1304:9] : -# 1304| r1304_6(long) = Load[#temp1304:9] : &:r1304_5, m1304_4 -# 1304| r1304_7(int) = Convert : r1304_6 -# 1304| r1304_8(glval) = VariableAddress[z] : -# 1304| m1304_9(int) = Store[z] : &:r1304_8, r1304_7 -# 1305| r1305_1(glval) = VariableAddress[x] : -# 1305| r1305_2(int) = Load[x] : &:r1305_1, m1301_8 -# 1305| r1305_3(int) = Constant[0] : -# 1305| r1305_4(bool) = CompareNE : r1305_2, r1305_3 -# 1305| v1305_5(void) = ConditionalBranch : r1305_4 +# 1351| Block 4 +# 1351| m1351_4(long) = Phi : from 5:m1351_11, from 6:m1351_15 +# 1351| r1351_5(glval) = VariableAddress[#temp1351:9] : +# 1351| r1351_6(long) = Load[#temp1351:9] : &:r1351_5, m1351_4 +# 1351| r1351_7(int) = Convert : r1351_6 +# 1351| r1351_8(glval) = VariableAddress[z] : +# 1351| m1351_9(int) = Store[z] : &:r1351_8, r1351_7 +# 1352| r1352_1(glval) = VariableAddress[x] : +# 1352| r1352_2(int) = Load[x] : &:r1352_1, m1348_8 +# 1352| r1352_3(int) = Constant[0] : +# 1352| r1352_4(bool) = CompareNE : r1352_2, r1352_3 +# 1352| v1352_5(void) = ConditionalBranch : r1352_4 #-----| False -> Block 9 #-----| True -> Block 8 -# 1304| Block 5 -# 1304| r1304_10(glval) = VariableAddress[#temp1304:9] : -# 1304| m1304_11(long) = Store[#temp1304:9] : &:r1304_10, r1304_2 +# 1351| Block 5 +# 1351| r1351_10(glval) = VariableAddress[#temp1351:9] : +# 1351| m1351_11(long) = Store[#temp1351:9] : &:r1351_10, r1351_2 #-----| Goto -> Block 4 -# 1304| Block 6 -# 1304| r1304_12(glval) = VariableAddress[y] : -# 1304| r1304_13(long) = Load[y] : &:r1304_12, m1301_10 -# 1304| r1304_14(glval) = VariableAddress[#temp1304:9] : -# 1304| m1304_15(long) = Store[#temp1304:9] : &:r1304_14, r1304_13 +# 1351| Block 6 +# 1351| r1351_12(glval) = VariableAddress[y] : +# 1351| r1351_13(long) = Load[y] : &:r1351_12, m1348_10 +# 1351| r1351_14(glval) = VariableAddress[#temp1351:9] : +# 1351| m1351_15(long) = Store[#temp1351:9] : &:r1351_14, r1351_13 #-----| Goto -> Block 4 -# 1305| Block 7 -# 1305| m1305_6(int) = Phi : from 8:m1305_12, from 9:m1305_16 -# 1305| r1305_7(glval) = VariableAddress[#temp1305:9] : -# 1305| r1305_8(int) = Load[#temp1305:9] : &:r1305_7, m1305_6 -# 1305| r1305_9(glval) = VariableAddress[z] : -# 1305| m1305_10(int) = Store[z] : &:r1305_9, r1305_8 -# 1306| r1306_1(glval) = VariableAddress[x] : -# 1306| r1306_2(int) = Load[x] : &:r1306_1, m1301_8 -# 1306| r1306_3(int) = Constant[0] : -# 1306| r1306_4(bool) = CompareNE : r1306_2, r1306_3 -# 1306| v1306_5(void) = ConditionalBranch : r1306_4 +# 1352| Block 7 +# 1352| m1352_6(int) = Phi : from 8:m1352_12, from 9:m1352_16 +# 1352| r1352_7(glval) = VariableAddress[#temp1352:9] : +# 1352| r1352_8(int) = Load[#temp1352:9] : &:r1352_7, m1352_6 +# 1352| r1352_9(glval) = VariableAddress[z] : +# 1352| m1352_10(int) = Store[z] : &:r1352_9, r1352_8 +# 1353| r1353_1(glval) = VariableAddress[x] : +# 1353| r1353_2(int) = Load[x] : &:r1353_1, m1348_8 +# 1353| r1353_3(int) = Constant[0] : +# 1353| r1353_4(bool) = CompareNE : r1353_2, r1353_3 +# 1353| v1353_5(void) = ConditionalBranch : r1353_4 #-----| False -> Block 12 #-----| True -> Block 11 -# 1305| Block 8 -# 1305| r1305_11(glval) = VariableAddress[#temp1305:9] : -# 1305| m1305_12(int) = Store[#temp1305:9] : &:r1305_11, r1305_2 +# 1352| Block 8 +# 1352| r1352_11(glval) = VariableAddress[#temp1352:9] : +# 1352| m1352_12(int) = Store[#temp1352:9] : &:r1352_11, r1352_2 #-----| Goto -> Block 7 -# 1305| Block 9 -# 1305| r1305_13(glval) = VariableAddress[x] : -# 1305| r1305_14(int) = Load[x] : &:r1305_13, m1301_8 -# 1305| r1305_15(glval) = VariableAddress[#temp1305:9] : -# 1305| m1305_16(int) = Store[#temp1305:9] : &:r1305_15, r1305_14 +# 1352| Block 9 +# 1352| r1352_13(glval) = VariableAddress[x] : +# 1352| r1352_14(int) = Load[x] : &:r1352_13, m1348_8 +# 1352| r1352_15(glval) = VariableAddress[#temp1352:9] : +# 1352| m1352_16(int) = Store[#temp1352:9] : &:r1352_15, r1352_14 #-----| Goto -> Block 7 -# 1306| Block 10 -# 1306| m1306_6(long) = Phi : from 11:m1306_13, from 12:m1306_17 -# 1306| r1306_7(glval) = VariableAddress[#temp1306:9] : -# 1306| r1306_8(long) = Load[#temp1306:9] : &:r1306_7, m1306_6 -# 1306| r1306_9(int) = Convert : r1306_8 -# 1306| r1306_10(glval) = VariableAddress[z] : -# 1306| m1306_11(int) = Store[z] : &:r1306_10, r1306_9 -# 1307| r1307_1(glval) = VariableAddress[y] : -# 1307| r1307_2(long) = Load[y] : &:r1307_1, m1301_10 -# 1307| r1307_3(long) = Constant[0] : -# 1307| r1307_4(bool) = CompareNE : r1307_2, r1307_3 -# 1307| v1307_5(void) = ConditionalBranch : r1307_4 +# 1353| Block 10 +# 1353| m1353_6(long) = Phi : from 11:m1353_13, from 12:m1353_17 +# 1353| r1353_7(glval) = VariableAddress[#temp1353:9] : +# 1353| r1353_8(long) = Load[#temp1353:9] : &:r1353_7, m1353_6 +# 1353| r1353_9(int) = Convert : r1353_8 +# 1353| r1353_10(glval) = VariableAddress[z] : +# 1353| m1353_11(int) = Store[z] : &:r1353_10, r1353_9 +# 1354| r1354_1(glval) = VariableAddress[y] : +# 1354| r1354_2(long) = Load[y] : &:r1354_1, m1348_10 +# 1354| r1354_3(long) = Constant[0] : +# 1354| r1354_4(bool) = CompareNE : r1354_2, r1354_3 +# 1354| v1354_5(void) = ConditionalBranch : r1354_4 #-----| False -> Block 15 #-----| True -> Block 14 -# 1306| Block 11 -# 1306| r1306_12(glval) = VariableAddress[#temp1306:9] : -# 1306| m1306_13(long) = Store[#temp1306:9] : &:r1306_12, r1306_2 +# 1353| Block 11 +# 1353| r1353_12(glval) = VariableAddress[#temp1353:9] : +# 1353| m1353_13(long) = Store[#temp1353:9] : &:r1353_12, r1353_2 #-----| Goto -> Block 10 -# 1306| Block 12 -# 1306| r1306_14(glval) = VariableAddress[y] : -# 1306| r1306_15(long) = Load[y] : &:r1306_14, m1301_10 -# 1306| r1306_16(glval) = VariableAddress[#temp1306:9] : -# 1306| m1306_17(long) = Store[#temp1306:9] : &:r1306_16, r1306_15 +# 1353| Block 12 +# 1353| r1353_14(glval) = VariableAddress[y] : +# 1353| r1353_15(long) = Load[y] : &:r1353_14, m1348_10 +# 1353| r1353_16(glval) = VariableAddress[#temp1353:9] : +# 1353| m1353_17(long) = Store[#temp1353:9] : &:r1353_16, r1353_15 #-----| Goto -> Block 10 -# 1307| Block 13 -# 1307| m1307_6(long) = Phi : from 14:m1307_13, from 15:m1307_18 -# 1307| r1307_7(glval) = VariableAddress[#temp1307:9] : -# 1307| r1307_8(long) = Load[#temp1307:9] : &:r1307_7, m1307_6 -# 1307| r1307_9(int) = Convert : r1307_8 -# 1307| r1307_10(glval) = VariableAddress[z] : -# 1307| m1307_11(int) = Store[z] : &:r1307_10, r1307_9 -# 1308| r1308_1(glval) = VariableAddress[y] : -# 1308| r1308_2(long) = Load[y] : &:r1308_1, m1301_10 -# 1308| r1308_3(long) = Constant[0] : -# 1308| r1308_4(bool) = CompareNE : r1308_2, r1308_3 -# 1308| v1308_5(void) = ConditionalBranch : r1308_4 +# 1354| Block 13 +# 1354| m1354_6(long) = Phi : from 14:m1354_13, from 15:m1354_18 +# 1354| r1354_7(glval) = VariableAddress[#temp1354:9] : +# 1354| r1354_8(long) = Load[#temp1354:9] : &:r1354_7, m1354_6 +# 1354| r1354_9(int) = Convert : r1354_8 +# 1354| r1354_10(glval) = VariableAddress[z] : +# 1354| m1354_11(int) = Store[z] : &:r1354_10, r1354_9 +# 1355| r1355_1(glval) = VariableAddress[y] : +# 1355| r1355_2(long) = Load[y] : &:r1355_1, m1348_10 +# 1355| r1355_3(long) = Constant[0] : +# 1355| r1355_4(bool) = CompareNE : r1355_2, r1355_3 +# 1355| v1355_5(void) = ConditionalBranch : r1355_4 #-----| False -> Block 18 #-----| True -> Block 17 -# 1307| Block 14 -# 1307| r1307_12(glval) = VariableAddress[#temp1307:9] : -# 1307| m1307_13(long) = Store[#temp1307:9] : &:r1307_12, r1307_2 +# 1354| Block 14 +# 1354| r1354_12(glval) = VariableAddress[#temp1354:9] : +# 1354| m1354_13(long) = Store[#temp1354:9] : &:r1354_12, r1354_2 #-----| Goto -> Block 13 -# 1307| Block 15 -# 1307| r1307_14(glval) = VariableAddress[x] : -# 1307| r1307_15(int) = Load[x] : &:r1307_14, m1301_8 -# 1307| r1307_16(long) = Convert : r1307_15 -# 1307| r1307_17(glval) = VariableAddress[#temp1307:9] : -# 1307| m1307_18(long) = Store[#temp1307:9] : &:r1307_17, r1307_16 +# 1354| Block 15 +# 1354| r1354_14(glval) = VariableAddress[x] : +# 1354| r1354_15(int) = Load[x] : &:r1354_14, m1348_8 +# 1354| r1354_16(long) = Convert : r1354_15 +# 1354| r1354_17(glval) = VariableAddress[#temp1354:9] : +# 1354| m1354_18(long) = Store[#temp1354:9] : &:r1354_17, r1354_16 #-----| Goto -> Block 13 -# 1308| Block 16 -# 1308| m1308_6(long) = Phi : from 17:m1308_13, from 18:m1308_17 -# 1308| r1308_7(glval) = VariableAddress[#temp1308:9] : -# 1308| r1308_8(long) = Load[#temp1308:9] : &:r1308_7, m1308_6 -# 1308| r1308_9(int) = Convert : r1308_8 -# 1308| r1308_10(glval) = VariableAddress[z] : -# 1308| m1308_11(int) = Store[z] : &:r1308_10, r1308_9 -# 1310| r1310_1(glval) = VariableAddress[x] : -# 1310| r1310_2(int) = Load[x] : &:r1310_1, m1301_8 -# 1310| r1310_3(int) = Constant[0] : -# 1310| r1310_4(bool) = CompareNE : r1310_2, r1310_3 -# 1310| v1310_5(void) = ConditionalBranch : r1310_4 +# 1355| Block 16 +# 1355| m1355_6(long) = Phi : from 17:m1355_13, from 18:m1355_17 +# 1355| r1355_7(glval) = VariableAddress[#temp1355:9] : +# 1355| r1355_8(long) = Load[#temp1355:9] : &:r1355_7, m1355_6 +# 1355| r1355_9(int) = Convert : r1355_8 +# 1355| r1355_10(glval) = VariableAddress[z] : +# 1355| m1355_11(int) = Store[z] : &:r1355_10, r1355_9 +# 1357| r1357_1(glval) = VariableAddress[x] : +# 1357| r1357_2(int) = Load[x] : &:r1357_1, m1348_8 +# 1357| r1357_3(int) = Constant[0] : +# 1357| r1357_4(bool) = CompareNE : r1357_2, r1357_3 +# 1357| v1357_5(void) = ConditionalBranch : r1357_4 #-----| False -> Block 25 #-----| True -> Block 24 -# 1308| Block 17 -# 1308| r1308_12(glval) = VariableAddress[#temp1308:9] : -# 1308| m1308_13(long) = Store[#temp1308:9] : &:r1308_12, r1308_2 +# 1355| Block 17 +# 1355| r1355_12(glval) = VariableAddress[#temp1355:9] : +# 1355| m1355_13(long) = Store[#temp1355:9] : &:r1355_12, r1355_2 #-----| Goto -> Block 16 -# 1308| Block 18 -# 1308| r1308_14(glval) = VariableAddress[y] : -# 1308| r1308_15(long) = Load[y] : &:r1308_14, m1301_10 -# 1308| r1308_16(glval) = VariableAddress[#temp1308:9] : -# 1308| m1308_17(long) = Store[#temp1308:9] : &:r1308_16, r1308_15 +# 1355| Block 18 +# 1355| r1355_14(glval) = VariableAddress[y] : +# 1355| r1355_15(long) = Load[y] : &:r1355_14, m1348_10 +# 1355| r1355_16(glval) = VariableAddress[#temp1355:9] : +# 1355| m1355_17(long) = Store[#temp1355:9] : &:r1355_16, r1355_15 #-----| Goto -> Block 16 -# 1310| Block 19 -# 1310| m1310_6(int) = Phi : from 20:m1310_12, from 26:m1310_34 -# 1310| r1310_7(glval) = VariableAddress[#temp1310:9] : -# 1310| r1310_8(int) = Load[#temp1310:9] : &:r1310_7, m1310_6 -# 1310| r1310_9(glval) = VariableAddress[z] : -# 1310| m1310_10(int) = Store[z] : &:r1310_9, r1310_8 -# 1311| v1311_1(void) = NoOp : -# 1301| v1301_11(void) = ReturnVoid : -# 1301| v1301_12(void) = AliasedUse : m1301_3 -# 1301| v1301_13(void) = ExitFunction : +# 1357| Block 19 +# 1357| m1357_6(int) = Phi : from 20:m1357_12, from 26:m1357_34 +# 1357| r1357_7(glval) = VariableAddress[#temp1357:9] : +# 1357| r1357_8(int) = Load[#temp1357:9] : &:r1357_7, m1357_6 +# 1357| r1357_9(glval) = VariableAddress[z] : +# 1357| m1357_10(int) = Store[z] : &:r1357_9, r1357_8 +# 1358| v1358_1(void) = NoOp : +# 1348| v1348_11(void) = ReturnVoid : +# 1348| v1348_12(void) = AliasedUse : m1348_3 +# 1348| v1348_13(void) = ExitFunction : -# 1310| Block 20 -# 1310| r1310_11(glval) = VariableAddress[#temp1310:9] : -# 1310| m1310_12(int) = Store[#temp1310:9] : &:r1310_11, r1310_18 +# 1357| Block 20 +# 1357| r1357_11(glval) = VariableAddress[#temp1357:9] : +# 1357| m1357_12(int) = Store[#temp1357:9] : &:r1357_11, r1357_18 #-----| Goto -> Block 19 -# 1310| Block 21 -# 1310| r1310_13(glval) = VariableAddress[#temp1310:10] : -# 1310| r1310_14(bool) = Constant[0] : -# 1310| m1310_15(bool) = Store[#temp1310:10] : &:r1310_13, r1310_14 +# 1357| Block 21 +# 1357| r1357_13(glval) = VariableAddress[#temp1357:10] : +# 1357| r1357_14(bool) = Constant[0] : +# 1357| m1357_15(bool) = Store[#temp1357:10] : &:r1357_13, r1357_14 #-----| Goto -> Block 22 -# 1310| Block 22 -# 1310| m1310_16(bool) = Phi : from 21:m1310_15, from 23:m1310_22 -# 1310| r1310_17(glval) = VariableAddress[#temp1310:10] : -# 1310| r1310_18(bool) = Load[#temp1310:10] : &:r1310_17, m1310_16 -# 1310| v1310_19(void) = ConditionalBranch : r1310_18 +# 1357| Block 22 +# 1357| m1357_16(bool) = Phi : from 21:m1357_15, from 23:m1357_22 +# 1357| r1357_17(glval) = VariableAddress[#temp1357:10] : +# 1357| r1357_18(bool) = Load[#temp1357:10] : &:r1357_17, m1357_16 +# 1357| v1357_19(void) = ConditionalBranch : r1357_18 #-----| False -> Block 26 #-----| True -> Block 20 -# 1310| Block 23 -# 1310| r1310_20(glval) = VariableAddress[#temp1310:10] : -# 1310| r1310_21(bool) = Constant[1] : -# 1310| m1310_22(bool) = Store[#temp1310:10] : &:r1310_20, r1310_21 +# 1357| Block 23 +# 1357| r1357_20(glval) = VariableAddress[#temp1357:10] : +# 1357| r1357_21(bool) = Constant[1] : +# 1357| m1357_22(bool) = Store[#temp1357:10] : &:r1357_20, r1357_21 #-----| Goto -> Block 22 -# 1310| Block 24 -# 1310| r1310_23(glval) = VariableAddress[b] : -# 1310| r1310_24(bool) = Load[b] : &:r1310_23, m1301_6 -# 1310| v1310_25(void) = ConditionalBranch : r1310_24 +# 1357| Block 24 +# 1357| r1357_23(glval) = VariableAddress[b] : +# 1357| r1357_24(bool) = Load[b] : &:r1357_23, m1348_6 +# 1357| v1357_25(void) = ConditionalBranch : r1357_24 #-----| False -> Block 25 #-----| True -> Block 23 -# 1310| Block 25 -# 1310| r1310_26(glval) = VariableAddress[y] : -# 1310| r1310_27(long) = Load[y] : &:r1310_26, m1301_10 -# 1310| r1310_28(long) = Constant[0] : -# 1310| r1310_29(bool) = CompareNE : r1310_27, r1310_28 -# 1310| v1310_30(void) = ConditionalBranch : r1310_29 +# 1357| Block 25 +# 1357| r1357_26(glval) = VariableAddress[y] : +# 1357| r1357_27(long) = Load[y] : &:r1357_26, m1348_10 +# 1357| r1357_28(long) = Constant[0] : +# 1357| r1357_29(bool) = CompareNE : r1357_27, r1357_28 +# 1357| v1357_30(void) = ConditionalBranch : r1357_29 #-----| False -> Block 21 #-----| True -> Block 23 -# 1310| Block 26 -# 1310| r1310_31(glval) = VariableAddress[x] : -# 1310| r1310_32(int) = Load[x] : &:r1310_31, m1301_8 -# 1310| r1310_33(glval) = VariableAddress[#temp1310:9] : -# 1310| m1310_34(int) = Store[#temp1310:9] : &:r1310_33, r1310_32 +# 1357| Block 26 +# 1357| r1357_31(glval) = VariableAddress[x] : +# 1357| r1357_32(int) = Load[x] : &:r1357_31, m1348_8 +# 1357| r1357_33(glval) = VariableAddress[#temp1357:9] : +# 1357| m1357_34(int) = Store[#temp1357:9] : &:r1357_33, r1357_32 #-----| Goto -> Block 19 -# 1316| int shortCircuitConditional(int, int) -# 1316| Block 0 -# 1316| v1316_1(void) = EnterFunction : -# 1316| m1316_2(unknown) = AliasedDefinition : -# 1316| m1316_3(unknown) = InitializeNonLocal : -# 1316| m1316_4(unknown) = Chi : total:m1316_2, partial:m1316_3 -# 1316| r1316_5(glval) = VariableAddress[x] : -# 1316| m1316_6(int) = InitializeParameter[x] : &:r1316_5 -# 1316| r1316_7(glval) = VariableAddress[y] : -# 1316| m1316_8(int) = InitializeParameter[y] : &:r1316_7 -# 1317| r1317_1(glval) = VariableAddress[#return] : -# 1317| r1317_2(glval) = FunctionAddress[predicateA] : -# 1317| r1317_3(bool) = Call[predicateA] : func:r1317_2 -# 1317| m1317_4(unknown) = ^CallSideEffect : ~m1316_4 -# 1317| m1317_5(unknown) = Chi : total:m1316_4, partial:m1317_4 -# 1317| v1317_6(void) = ConditionalBranch : r1317_3 +# 1363| int shortCircuitConditional(int, int) +# 1363| Block 0 +# 1363| v1363_1(void) = EnterFunction : +# 1363| m1363_2(unknown) = AliasedDefinition : +# 1363| m1363_3(unknown) = InitializeNonLocal : +# 1363| m1363_4(unknown) = Chi : total:m1363_2, partial:m1363_3 +# 1363| r1363_5(glval) = VariableAddress[x] : +# 1363| m1363_6(int) = InitializeParameter[x] : &:r1363_5 +# 1363| r1363_7(glval) = VariableAddress[y] : +# 1363| m1363_8(int) = InitializeParameter[y] : &:r1363_7 +# 1364| r1364_1(glval) = VariableAddress[#return] : +# 1364| r1364_2(glval) = FunctionAddress[predicateA] : +# 1364| r1364_3(bool) = Call[predicateA] : func:r1364_2 +# 1364| m1364_4(unknown) = ^CallSideEffect : ~m1363_4 +# 1364| m1364_5(unknown) = Chi : total:m1363_4, partial:m1364_4 +# 1364| v1364_6(void) = ConditionalBranch : r1364_3 #-----| False -> Block 4 #-----| True -> Block 2 -# 1317| Block 1 -# 1317| m1317_7(unknown) = Phi : from 3:~m1317_15, from 4:~m1317_21 -# 1317| m1317_8(int) = Phi : from 3:m1317_20, from 4:m1317_25 -# 1317| r1317_9(glval) = VariableAddress[#temp1317:12] : -# 1317| r1317_10(int) = Load[#temp1317:12] : &:r1317_9, m1317_8 -# 1317| m1317_11(int) = Store[#return] : &:r1317_1, r1317_10 -# 1316| r1316_9(glval) = VariableAddress[#return] : -# 1316| v1316_10(void) = ReturnValue : &:r1316_9, m1317_11 -# 1316| v1316_11(void) = AliasedUse : ~m1317_7 -# 1316| v1316_12(void) = ExitFunction : +# 1364| Block 1 +# 1364| m1364_7(unknown) = Phi : from 3:~m1364_15, from 4:~m1364_21 +# 1364| m1364_8(int) = Phi : from 3:m1364_20, from 4:m1364_25 +# 1364| r1364_9(glval) = VariableAddress[#temp1364:12] : +# 1364| r1364_10(int) = Load[#temp1364:12] : &:r1364_9, m1364_8 +# 1364| m1364_11(int) = Store[#return] : &:r1364_1, r1364_10 +# 1363| r1363_9(glval) = VariableAddress[#return] : +# 1363| v1363_10(void) = ReturnValue : &:r1363_9, m1364_11 +# 1363| v1363_11(void) = AliasedUse : ~m1364_7 +# 1363| v1363_12(void) = ExitFunction : -# 1317| Block 2 -# 1317| r1317_12(glval) = FunctionAddress[predicateB] : -# 1317| r1317_13(bool) = Call[predicateB] : func:r1317_12 -# 1317| m1317_14(unknown) = ^CallSideEffect : ~m1317_5 -# 1317| m1317_15(unknown) = Chi : total:m1317_5, partial:m1317_14 -# 1317| v1317_16(void) = ConditionalBranch : r1317_13 +# 1364| Block 2 +# 1364| r1364_12(glval) = FunctionAddress[predicateB] : +# 1364| r1364_13(bool) = Call[predicateB] : func:r1364_12 +# 1364| m1364_14(unknown) = ^CallSideEffect : ~m1364_5 +# 1364| m1364_15(unknown) = Chi : total:m1364_5, partial:m1364_14 +# 1364| v1364_16(void) = ConditionalBranch : r1364_13 #-----| False -> Block 4 #-----| True -> Block 3 -# 1317| Block 3 -# 1317| r1317_17(glval) = VariableAddress[x] : -# 1317| r1317_18(int) = Load[x] : &:r1317_17, m1316_6 -# 1317| r1317_19(glval) = VariableAddress[#temp1317:12] : -# 1317| m1317_20(int) = Store[#temp1317:12] : &:r1317_19, r1317_18 +# 1364| Block 3 +# 1364| r1364_17(glval) = VariableAddress[x] : +# 1364| r1364_18(int) = Load[x] : &:r1364_17, m1363_6 +# 1364| r1364_19(glval) = VariableAddress[#temp1364:12] : +# 1364| m1364_20(int) = Store[#temp1364:12] : &:r1364_19, r1364_18 #-----| Goto -> Block 1 -# 1317| Block 4 -# 1317| m1317_21(unknown) = Phi : from 0:~m1317_5, from 2:~m1317_15 -# 1317| r1317_22(glval) = VariableAddress[y] : -# 1317| r1317_23(int) = Load[y] : &:r1317_22, m1316_8 -# 1317| r1317_24(glval) = VariableAddress[#temp1317:12] : -# 1317| m1317_25(int) = Store[#temp1317:12] : &:r1317_24, r1317_23 +# 1364| Block 4 +# 1364| m1364_21(unknown) = Phi : from 0:~m1364_5, from 2:~m1364_15 +# 1364| r1364_22(glval) = VariableAddress[y] : +# 1364| r1364_23(int) = Load[y] : &:r1364_22, m1363_8 +# 1364| r1364_24(glval) = VariableAddress[#temp1364:12] : +# 1364| m1364_25(int) = Store[#temp1364:12] : &:r1364_24, r1364_23 #-----| Goto -> Block 1 -# 1322| void f(int*) -# 1322| Block 0 -# 1322| v1322_1(void) = EnterFunction : -# 1322| m1322_2(unknown) = AliasedDefinition : -# 1322| m1322_3(unknown) = InitializeNonLocal : -# 1322| m1322_4(unknown) = Chi : total:m1322_2, partial:m1322_3 -# 1322| r1322_5(glval) = VariableAddress[p] : -# 1322| m1322_6(int *) = InitializeParameter[p] : &:r1322_5 -# 1322| r1322_7(int *) = Load[p] : &:r1322_5, m1322_6 -# 1322| m1322_8(unknown) = InitializeIndirection[p] : &:r1322_7 -# 1324| r1324_1(glval) = FunctionAddress[operator new] : -# 1324| r1324_2(unsigned long) = Constant[4] : -# 1324| r1324_3(glval) = VariableAddress[p] : -# 1324| r1324_4(int *) = Load[p] : &:r1324_3, m1322_6 -# 1324| r1324_5(void *) = Convert : r1324_4 -# 1324| r1324_6(void *) = Call[operator new] : func:r1324_1, 0:r1324_2, 1:r1324_5 -# 1324| m1324_7(unknown) = ^CallSideEffect : ~m1322_4 -# 1324| m1324_8(unknown) = Chi : total:m1322_4, partial:m1324_7 -# 1324| m1324_9(unknown) = ^InitializeDynamicAllocation : &:r1324_6 -# 1324| r1324_10(int *) = Convert : r1324_6 -# 1325| v1325_1(void) = NoOp : -# 1322| v1322_9(void) = ReturnIndirection[p] : &:r1322_7, m1322_8 -# 1322| v1322_10(void) = ReturnVoid : -# 1322| v1322_11(void) = AliasedUse : ~m1324_8 -# 1322| v1322_12(void) = ExitFunction : +# 1369| void f(int*) +# 1369| Block 0 +# 1369| v1369_1(void) = EnterFunction : +# 1369| m1369_2(unknown) = AliasedDefinition : +# 1369| m1369_3(unknown) = InitializeNonLocal : +# 1369| m1369_4(unknown) = Chi : total:m1369_2, partial:m1369_3 +# 1369| r1369_5(glval) = VariableAddress[p] : +# 1369| m1369_6(int *) = InitializeParameter[p] : &:r1369_5 +# 1369| r1369_7(int *) = Load[p] : &:r1369_5, m1369_6 +# 1369| m1369_8(unknown) = InitializeIndirection[p] : &:r1369_7 +# 1371| r1371_1(glval) = FunctionAddress[operator new] : +# 1371| r1371_2(unsigned long) = Constant[4] : +# 1371| r1371_3(glval) = VariableAddress[p] : +# 1371| r1371_4(int *) = Load[p] : &:r1371_3, m1369_6 +# 1371| r1371_5(void *) = Convert : r1371_4 +# 1371| r1371_6(void *) = Call[operator new] : func:r1371_1, 0:r1371_2, 1:r1371_5 +# 1371| m1371_7(unknown) = ^CallSideEffect : ~m1369_4 +# 1371| m1371_8(unknown) = Chi : total:m1369_4, partial:m1371_7 +# 1371| m1371_9(unknown) = ^InitializeDynamicAllocation : &:r1371_6 +# 1371| r1371_10(int *) = Convert : r1371_6 +# 1372| v1372_1(void) = NoOp : +# 1369| v1369_9(void) = ReturnIndirection[p] : &:r1369_7, m1369_8 +# 1369| v1369_10(void) = ReturnVoid : +# 1369| v1369_11(void) = AliasedUse : ~m1371_8 +# 1369| v1369_12(void) = ExitFunction : -# 1328| Point defaultConstruct() -# 1328| Block 0 -# 1328| v1328_1(void) = EnterFunction : -# 1328| m1328_2(unknown) = AliasedDefinition : -# 1328| m1328_3(unknown) = InitializeNonLocal : -# 1328| m1328_4(unknown) = Chi : total:m1328_2, partial:m1328_3 -# 1329| r1329_1(glval) = VariableAddress[#return] : -# 1329| r1329_2(Point) = Constant[0] : -# 1329| m1329_3(Point) = Store[#return] : &:r1329_1, r1329_2 -# 1328| r1328_5(glval) = VariableAddress[#return] : -# 1328| v1328_6(void) = ReturnValue : &:r1328_5, m1329_3 -# 1328| v1328_7(void) = AliasedUse : m1328_3 -# 1328| v1328_8(void) = ExitFunction : +# 1375| Point defaultConstruct() +# 1375| Block 0 +# 1375| v1375_1(void) = EnterFunction : +# 1375| m1375_2(unknown) = AliasedDefinition : +# 1375| m1375_3(unknown) = InitializeNonLocal : +# 1375| m1375_4(unknown) = Chi : total:m1375_2, partial:m1375_3 +# 1376| r1376_1(glval) = VariableAddress[#return] : +# 1376| r1376_2(Point) = Constant[0] : +# 1376| m1376_3(Point) = Store[#return] : &:r1376_1, r1376_2 +# 1375| r1375_5(glval) = VariableAddress[#return] : +# 1375| v1375_6(void) = ReturnValue : &:r1375_5, m1376_3 +# 1375| v1375_7(void) = AliasedUse : m1375_3 +# 1375| v1375_8(void) = ExitFunction : -# 1328| String defaultConstruct() -# 1328| Block 0 -# 1328| v1328_1(void) = EnterFunction : -# 1328| m1328_2(unknown) = AliasedDefinition : -# 1328| m1328_3(unknown) = InitializeNonLocal : -# 1328| m1328_4(unknown) = Chi : total:m1328_2, partial:m1328_3 -# 1329| r1329_1(glval) = VariableAddress[#return] : -# 1329| m1329_2(String) = Uninitialized[#return] : &:r1329_1 -# 1329| r1329_3(glval) = FunctionAddress[String] : -# 1329| v1329_4(void) = Call[String] : func:r1329_3, this:r1329_1 -# 1329| m1329_5(unknown) = ^CallSideEffect : ~m1328_4 -# 1329| m1329_6(unknown) = Chi : total:m1328_4, partial:m1329_5 -# 1329| m1329_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r1329_1 -# 1329| m1329_8(String) = Chi : total:m1329_2, partial:m1329_7 -# 1328| r1328_5(glval) = VariableAddress[#return] : -# 1328| v1328_6(void) = ReturnValue : &:r1328_5, m1329_8 -# 1328| v1328_7(void) = AliasedUse : ~m1329_6 -# 1328| v1328_8(void) = ExitFunction : +# 1375| String defaultConstruct() +# 1375| Block 0 +# 1375| v1375_1(void) = EnterFunction : +# 1375| m1375_2(unknown) = AliasedDefinition : +# 1375| m1375_3(unknown) = InitializeNonLocal : +# 1375| m1375_4(unknown) = Chi : total:m1375_2, partial:m1375_3 +# 1376| r1376_1(glval) = VariableAddress[#return] : +# 1376| m1376_2(String) = Uninitialized[#return] : &:r1376_1 +# 1376| r1376_3(glval) = FunctionAddress[String] : +# 1376| v1376_4(void) = Call[String] : func:r1376_3, this:r1376_1 +# 1376| m1376_5(unknown) = ^CallSideEffect : ~m1375_4 +# 1376| m1376_6(unknown) = Chi : total:m1375_4, partial:m1376_5 +# 1376| m1376_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r1376_1 +# 1376| m1376_8(String) = Chi : total:m1376_2, partial:m1376_7 +# 1375| r1375_5(glval) = VariableAddress[#return] : +# 1375| v1375_6(void) = ReturnValue : &:r1375_5, m1376_8 +# 1375| v1375_7(void) = AliasedUse : ~m1376_6 +# 1375| v1375_8(void) = ExitFunction : -# 1328| copy_constructor defaultConstruct() -# 1328| Block 0 -# 1328| v1328_1(void) = EnterFunction : -# 1328| m1328_2(unknown) = AliasedDefinition : -# 1328| m1328_3(unknown) = InitializeNonLocal : -# 1328| m1328_4(unknown) = Chi : total:m1328_2, partial:m1328_3 -# 1329| r1329_1(glval) = VariableAddress[#return] : -# 1329| m1329_2(copy_constructor) = Uninitialized[#return] : &:r1329_1 -# 1329| r1329_3(glval) = FunctionAddress[copy_constructor] : -# 1329| v1329_4(void) = Call[copy_constructor] : func:r1329_3, this:r1329_1 -# 1329| m1329_5(unknown) = ^CallSideEffect : ~m1328_4 -# 1329| m1329_6(unknown) = Chi : total:m1328_4, partial:m1329_5 -# 1329| m1329_7(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1329_1 -# 1329| m1329_8(copy_constructor) = Chi : total:m1329_2, partial:m1329_7 -# 1328| r1328_5(glval) = VariableAddress[#return] : -# 1328| v1328_6(void) = ReturnValue : &:r1328_5, m1329_8 -# 1328| v1328_7(void) = AliasedUse : ~m1329_6 -# 1328| v1328_8(void) = ExitFunction : +# 1375| copy_constructor defaultConstruct() +# 1375| Block 0 +# 1375| v1375_1(void) = EnterFunction : +# 1375| m1375_2(unknown) = AliasedDefinition : +# 1375| m1375_3(unknown) = InitializeNonLocal : +# 1375| m1375_4(unknown) = Chi : total:m1375_2, partial:m1375_3 +# 1376| r1376_1(glval) = VariableAddress[#return] : +# 1376| m1376_2(copy_constructor) = Uninitialized[#return] : &:r1376_1 +# 1376| r1376_3(glval) = FunctionAddress[copy_constructor] : +# 1376| v1376_4(void) = Call[copy_constructor] : func:r1376_3, this:r1376_1 +# 1376| m1376_5(unknown) = ^CallSideEffect : ~m1375_4 +# 1376| m1376_6(unknown) = Chi : total:m1375_4, partial:m1376_5 +# 1376| m1376_7(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1376_1 +# 1376| m1376_8(copy_constructor) = Chi : total:m1376_2, partial:m1376_7 +# 1375| r1375_5(glval) = VariableAddress[#return] : +# 1375| v1375_6(void) = ReturnValue : &:r1375_5, m1376_8 +# 1375| v1375_7(void) = AliasedUse : ~m1376_6 +# 1375| v1375_8(void) = ExitFunction : -# 1328| destructor_only defaultConstruct() -# 1328| Block 0 -# 1328| v1328_1(void) = EnterFunction : -# 1328| m1328_2(unknown) = AliasedDefinition : -# 1328| m1328_3(unknown) = InitializeNonLocal : -# 1328| m1328_4(unknown) = Chi : total:m1328_2, partial:m1328_3 -# 1329| r1329_1(glval) = VariableAddress[#return] : -# 1329| r1329_2(destructor_only) = Constant[0] : -# 1329| m1329_3(destructor_only) = Store[#return] : &:r1329_1, r1329_2 -# 1328| r1328_5(glval) = VariableAddress[#return] : -# 1328| v1328_6(void) = ReturnValue : &:r1328_5, m1329_3 -# 1328| v1328_7(void) = AliasedUse : m1328_3 -# 1328| v1328_8(void) = ExitFunction : +# 1375| destructor_only defaultConstruct() +# 1375| Block 0 +# 1375| v1375_1(void) = EnterFunction : +# 1375| m1375_2(unknown) = AliasedDefinition : +# 1375| m1375_3(unknown) = InitializeNonLocal : +# 1375| m1375_4(unknown) = Chi : total:m1375_2, partial:m1375_3 +# 1376| r1376_1(glval) = VariableAddress[#return] : +# 1376| r1376_2(destructor_only) = Constant[0] : +# 1376| m1376_3(destructor_only) = Store[#return] : &:r1376_1, r1376_2 +# 1375| r1375_5(glval) = VariableAddress[#return] : +# 1375| v1375_6(void) = ReturnValue : &:r1375_5, m1376_3 +# 1375| v1375_7(void) = AliasedUse : m1375_3 +# 1375| v1375_8(void) = ExitFunction : -# 1367| void temporary_string() -# 1367| Block 0 -# 1367| v1367_1(void) = EnterFunction : -# 1367| m1367_2(unknown) = AliasedDefinition : -# 1367| m1367_3(unknown) = InitializeNonLocal : -# 1367| m1367_4(unknown) = Chi : total:m1367_2, partial:m1367_3 -# 1368| r1368_1(glval) = VariableAddress[s] : -# 1368| r1368_2(glval) = FunctionAddress[returnValue] : -# 1368| r1368_3(String) = Call[returnValue] : func:r1368_2 -# 1368| m1368_4(unknown) = ^CallSideEffect : ~m1367_4 -# 1368| m1368_5(unknown) = Chi : total:m1367_4, partial:m1368_4 -# 1368| m1368_6(String) = Store[s] : &:r1368_1, r1368_3 -# 1369| r1369_1(glval) = VariableAddress[rs] : -# 1369| r1369_2(glval) = VariableAddress[#temp1369:24] : -# 1369| r1369_3(glval) = FunctionAddress[returnValue] : -# 1369| r1369_4(String) = Call[returnValue] : func:r1369_3 -# 1369| m1369_5(unknown) = ^CallSideEffect : ~m1368_5 -# 1369| m1369_6(unknown) = Chi : total:m1368_5, partial:m1369_5 -# 1369| m1369_7(String) = Store[#temp1369:24] : &:r1369_2, r1369_4 -# 1369| r1369_8(glval) = Convert : r1369_2 -# 1369| r1369_9(String &) = CopyValue : r1369_8 -# 1369| m1369_10(String &) = Store[rs] : &:r1369_1, r1369_9 -# 1371| r1371_1(glval) = FunctionAddress[acceptRef] : -# 1371| r1371_2(glval) = VariableAddress[s] : -# 1371| r1371_3(glval) = Convert : r1371_2 -# 1371| r1371_4(String &) = CopyValue : r1371_3 -# 1371| v1371_5(void) = Call[acceptRef] : func:r1371_1, 0:r1371_4 -# 1371| m1371_6(unknown) = ^CallSideEffect : ~m1369_6 -# 1371| m1371_7(unknown) = Chi : total:m1369_6, partial:m1371_6 -# 1371| v1371_8(void) = ^BufferReadSideEffect[0] : &:r1371_4, ~m1368_6 -# 1372| r1372_1(glval) = FunctionAddress[acceptRef] : -# 1372| r1372_2(glval) = VariableAddress[#temp1372:23] : -# 1372| m1372_3(String) = Uninitialized[#temp1372:23] : &:r1372_2 -# 1372| r1372_4(glval) = FunctionAddress[String] : -# 1372| r1372_5(glval) = StringConstant["foo"] : -# 1372| r1372_6(char *) = Convert : r1372_5 -# 1372| v1372_7(void) = Call[String] : func:r1372_4, this:r1372_2, 0:r1372_6 -# 1372| m1372_8(unknown) = ^CallSideEffect : ~m1371_7 -# 1372| m1372_9(unknown) = Chi : total:m1371_7, partial:m1372_8 -# 1372| v1372_10(void) = ^BufferReadSideEffect[0] : &:r1372_6, ~m1367_3 -# 1372| m1372_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1372_2 -# 1372| m1372_12(String) = Chi : total:m1372_3, partial:m1372_11 -# 1372| r1372_13(String &) = CopyValue : r1372_2 -# 1372| v1372_14(void) = Call[acceptRef] : func:r1372_1, 0:r1372_13 -# 1372| m1372_15(unknown) = ^CallSideEffect : ~m1372_9 -# 1372| m1372_16(unknown) = Chi : total:m1372_9, partial:m1372_15 -# 1372| v1372_17(void) = ^BufferReadSideEffect[0] : &:r1372_13, ~m1372_12 -# 1373| r1373_1(glval) = FunctionAddress[acceptValue] : -# 1373| r1373_2(glval) = VariableAddress[#temp1373:17] : -# 1373| m1373_3(String) = Uninitialized[#temp1373:17] : &:r1373_2 -# 1373| r1373_4(glval) = FunctionAddress[String] : -# 1373| r1373_5(glval) = VariableAddress[s] : -# 1373| r1373_6(glval) = Convert : r1373_5 -# 1373| r1373_7(String &) = CopyValue : r1373_6 -# 1373| v1373_8(void) = Call[String] : func:r1373_4, this:r1373_2, 0:r1373_7 -# 1373| m1373_9(unknown) = ^CallSideEffect : ~m1372_16 -# 1373| m1373_10(unknown) = Chi : total:m1372_16, partial:m1373_9 -# 1373| v1373_11(void) = ^BufferReadSideEffect[0] : &:r1373_7, ~m1368_6 -# 1373| m1373_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r1373_2 -# 1373| m1373_13(String) = Chi : total:m1373_3, partial:m1373_12 -# 1373| r1373_14(String) = Load[#temp1373:17] : &:r1373_2, m1373_13 -# 1373| v1373_15(void) = Call[acceptValue] : func:r1373_1, 0:r1373_14 -# 1373| m1373_16(unknown) = ^CallSideEffect : ~m1373_10 -# 1373| m1373_17(unknown) = Chi : total:m1373_10, partial:m1373_16 -# 1374| r1374_1(glval) = FunctionAddress[acceptValue] : -# 1374| r1374_2(glval) = VariableAddress[#temp1374:25] : -# 1374| m1374_3(String) = Uninitialized[#temp1374:25] : &:r1374_2 -# 1374| r1374_4(glval) = FunctionAddress[String] : -# 1374| r1374_5(glval) = StringConstant["foo"] : -# 1374| r1374_6(char *) = Convert : r1374_5 -# 1374| v1374_7(void) = Call[String] : func:r1374_4, this:r1374_2, 0:r1374_6 -# 1374| m1374_8(unknown) = ^CallSideEffect : ~m1373_17 -# 1374| m1374_9(unknown) = Chi : total:m1373_17, partial:m1374_8 -# 1374| v1374_10(void) = ^BufferReadSideEffect[0] : &:r1374_6, ~m1367_3 -# 1374| m1374_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1374_2 -# 1374| m1374_12(String) = Chi : total:m1374_3, partial:m1374_11 -# 1374| r1374_13(String) = Load[#temp1374:25] : &:r1374_2, m1374_12 -# 1374| v1374_14(void) = Call[acceptValue] : func:r1374_1, 0:r1374_13 -# 1374| m1374_15(unknown) = ^CallSideEffect : ~m1374_9 -# 1374| m1374_16(unknown) = Chi : total:m1374_9, partial:m1374_15 -# 1375| r1375_1(glval) = VariableAddress[#temp1375:5] : -# 1375| m1375_2(String) = Uninitialized[#temp1375:5] : &:r1375_1 -# 1375| r1375_3(glval) = FunctionAddress[String] : -# 1375| v1375_4(void) = Call[String] : func:r1375_3, this:r1375_1 -# 1375| m1375_5(unknown) = ^CallSideEffect : ~m1374_16 -# 1375| m1375_6(unknown) = Chi : total:m1374_16, partial:m1375_5 -# 1375| m1375_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r1375_1 -# 1375| m1375_8(String) = Chi : total:m1375_2, partial:m1375_7 -# 1375| r1375_9(glval) = Convert : r1375_1 -# 1375| r1375_10(glval) = FunctionAddress[c_str] : -# 1375| r1375_11(char *) = Call[c_str] : func:r1375_10, this:r1375_9 -# 1375| m1375_12(unknown) = ^CallSideEffect : ~m1375_6 -# 1375| m1375_13(unknown) = Chi : total:m1375_6, partial:m1375_12 -# 1375| v1375_14(void) = ^IndirectReadSideEffect[-1] : &:r1375_9, m1375_8 -# 1376| r1376_1(glval) = VariableAddress[#temp1376:5] : -# 1376| r1376_2(glval) = FunctionAddress[returnValue] : -# 1376| r1376_3(String) = Call[returnValue] : func:r1376_2 -# 1376| m1376_4(unknown) = ^CallSideEffect : ~m1375_13 -# 1376| m1376_5(unknown) = Chi : total:m1375_13, partial:m1376_4 -# 1376| m1376_6(String) = Store[#temp1376:5] : &:r1376_1, r1376_3 -# 1376| r1376_7(glval) = Convert : r1376_1 -# 1376| r1376_8(glval) = FunctionAddress[c_str] : -# 1376| r1376_9(char *) = Call[c_str] : func:r1376_8, this:r1376_7 -# 1376| m1376_10(unknown) = ^CallSideEffect : ~m1376_5 -# 1376| m1376_11(unknown) = Chi : total:m1376_5, partial:m1376_10 -# 1376| v1376_12(void) = ^IndirectReadSideEffect[-1] : &:r1376_7, m1376_6 -# 1378| r1378_1(glval) = VariableAddress[#temp1378:5] : -# 1378| r1378_2(glval) = FunctionAddress[defaultConstruct] : -# 1378| r1378_3(String) = Call[defaultConstruct] : func:r1378_2 -# 1378| m1378_4(unknown) = ^CallSideEffect : ~m1376_11 -# 1378| m1378_5(unknown) = Chi : total:m1376_11, partial:m1378_4 -# 1378| m1378_6(String) = Store[#temp1378:5] : &:r1378_1, r1378_3 -# 1379| v1379_1(void) = NoOp : -# 1379| r1379_2(glval) = VariableAddress[s] : -# 1379| r1379_3(glval) = FunctionAddress[~String] : -# 1379| v1379_4(void) = Call[~String] : func:r1379_3, this:r1379_2 -# 1379| m1379_5(unknown) = ^CallSideEffect : ~m1378_5 -# 1379| m1379_6(unknown) = Chi : total:m1378_5, partial:m1379_5 -# 1379| v1379_7(void) = ^IndirectReadSideEffect[-1] : &:r1379_2, m1368_6 -# 1379| m1379_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r1379_2 -# 1379| m1379_9(String) = Chi : total:m1368_6, partial:m1379_8 -# 1367| v1367_5(void) = ReturnVoid : -# 1367| v1367_6(void) = AliasedUse : ~m1379_6 -# 1367| v1367_7(void) = ExitFunction : +# 1414| void temporary_string() +# 1414| Block 0 +# 1414| v1414_1(void) = EnterFunction : +# 1414| m1414_2(unknown) = AliasedDefinition : +# 1414| m1414_3(unknown) = InitializeNonLocal : +# 1414| m1414_4(unknown) = Chi : total:m1414_2, partial:m1414_3 +# 1415| r1415_1(glval) = VariableAddress[s] : +# 1415| r1415_2(glval) = FunctionAddress[returnValue] : +# 1415| r1415_3(String) = Call[returnValue] : func:r1415_2 +# 1415| m1415_4(unknown) = ^CallSideEffect : ~m1414_4 +# 1415| m1415_5(unknown) = Chi : total:m1414_4, partial:m1415_4 +# 1415| m1415_6(String) = Store[s] : &:r1415_1, r1415_3 +# 1416| r1416_1(glval) = VariableAddress[rs] : +# 1416| r1416_2(glval) = VariableAddress[#temp1416:24] : +# 1416| r1416_3(glval) = FunctionAddress[returnValue] : +# 1416| r1416_4(String) = Call[returnValue] : func:r1416_3 +# 1416| m1416_5(unknown) = ^CallSideEffect : ~m1415_5 +# 1416| m1416_6(unknown) = Chi : total:m1415_5, partial:m1416_5 +# 1416| m1416_7(String) = Store[#temp1416:24] : &:r1416_2, r1416_4 +# 1416| r1416_8(glval) = Convert : r1416_2 +# 1416| r1416_9(String &) = CopyValue : r1416_8 +# 1416| m1416_10(String &) = Store[rs] : &:r1416_1, r1416_9 +# 1418| r1418_1(glval) = FunctionAddress[acceptRef] : +# 1418| r1418_2(glval) = VariableAddress[s] : +# 1418| r1418_3(glval) = Convert : r1418_2 +# 1418| r1418_4(String &) = CopyValue : r1418_3 +# 1418| v1418_5(void) = Call[acceptRef] : func:r1418_1, 0:r1418_4 +# 1418| m1418_6(unknown) = ^CallSideEffect : ~m1416_6 +# 1418| m1418_7(unknown) = Chi : total:m1416_6, partial:m1418_6 +# 1418| v1418_8(void) = ^BufferReadSideEffect[0] : &:r1418_4, ~m1415_6 +# 1419| r1419_1(glval) = FunctionAddress[acceptRef] : +# 1419| r1419_2(glval) = VariableAddress[#temp1419:23] : +# 1419| m1419_3(String) = Uninitialized[#temp1419:23] : &:r1419_2 +# 1419| r1419_4(glval) = FunctionAddress[String] : +# 1419| r1419_5(glval) = StringConstant["foo"] : +# 1419| r1419_6(char *) = Convert : r1419_5 +# 1419| v1419_7(void) = Call[String] : func:r1419_4, this:r1419_2, 0:r1419_6 +# 1419| m1419_8(unknown) = ^CallSideEffect : ~m1418_7 +# 1419| m1419_9(unknown) = Chi : total:m1418_7, partial:m1419_8 +# 1419| v1419_10(void) = ^BufferReadSideEffect[0] : &:r1419_6, ~m1414_3 +# 1419| m1419_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1419_2 +# 1419| m1419_12(String) = Chi : total:m1419_3, partial:m1419_11 +# 1419| r1419_13(String &) = CopyValue : r1419_2 +# 1419| v1419_14(void) = Call[acceptRef] : func:r1419_1, 0:r1419_13 +# 1419| m1419_15(unknown) = ^CallSideEffect : ~m1419_9 +# 1419| m1419_16(unknown) = Chi : total:m1419_9, partial:m1419_15 +# 1419| v1419_17(void) = ^BufferReadSideEffect[0] : &:r1419_13, ~m1419_12 +# 1420| r1420_1(glval) = FunctionAddress[acceptValue] : +# 1420| r1420_2(glval) = VariableAddress[#temp1420:17] : +# 1420| m1420_3(String) = Uninitialized[#temp1420:17] : &:r1420_2 +# 1420| r1420_4(glval) = FunctionAddress[String] : +# 1420| r1420_5(glval) = VariableAddress[s] : +# 1420| r1420_6(glval) = Convert : r1420_5 +# 1420| r1420_7(String &) = CopyValue : r1420_6 +# 1420| v1420_8(void) = Call[String] : func:r1420_4, this:r1420_2, 0:r1420_7 +# 1420| m1420_9(unknown) = ^CallSideEffect : ~m1419_16 +# 1420| m1420_10(unknown) = Chi : total:m1419_16, partial:m1420_9 +# 1420| v1420_11(void) = ^BufferReadSideEffect[0] : &:r1420_7, ~m1415_6 +# 1420| m1420_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r1420_2 +# 1420| m1420_13(String) = Chi : total:m1420_3, partial:m1420_12 +# 1420| r1420_14(String) = Load[#temp1420:17] : &:r1420_2, m1420_13 +# 1420| v1420_15(void) = Call[acceptValue] : func:r1420_1, 0:r1420_14 +# 1420| m1420_16(unknown) = ^CallSideEffect : ~m1420_10 +# 1420| m1420_17(unknown) = Chi : total:m1420_10, partial:m1420_16 +# 1421| r1421_1(glval) = FunctionAddress[acceptValue] : +# 1421| r1421_2(glval) = VariableAddress[#temp1421:25] : +# 1421| m1421_3(String) = Uninitialized[#temp1421:25] : &:r1421_2 +# 1421| r1421_4(glval) = FunctionAddress[String] : +# 1421| r1421_5(glval) = StringConstant["foo"] : +# 1421| r1421_6(char *) = Convert : r1421_5 +# 1421| v1421_7(void) = Call[String] : func:r1421_4, this:r1421_2, 0:r1421_6 +# 1421| m1421_8(unknown) = ^CallSideEffect : ~m1420_17 +# 1421| m1421_9(unknown) = Chi : total:m1420_17, partial:m1421_8 +# 1421| v1421_10(void) = ^BufferReadSideEffect[0] : &:r1421_6, ~m1414_3 +# 1421| m1421_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1421_2 +# 1421| m1421_12(String) = Chi : total:m1421_3, partial:m1421_11 +# 1421| r1421_13(String) = Load[#temp1421:25] : &:r1421_2, m1421_12 +# 1421| v1421_14(void) = Call[acceptValue] : func:r1421_1, 0:r1421_13 +# 1421| m1421_15(unknown) = ^CallSideEffect : ~m1421_9 +# 1421| m1421_16(unknown) = Chi : total:m1421_9, partial:m1421_15 +# 1422| r1422_1(glval) = VariableAddress[#temp1422:5] : +# 1422| m1422_2(String) = Uninitialized[#temp1422:5] : &:r1422_1 +# 1422| r1422_3(glval) = FunctionAddress[String] : +# 1422| v1422_4(void) = Call[String] : func:r1422_3, this:r1422_1 +# 1422| m1422_5(unknown) = ^CallSideEffect : ~m1421_16 +# 1422| m1422_6(unknown) = Chi : total:m1421_16, partial:m1422_5 +# 1422| m1422_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r1422_1 +# 1422| m1422_8(String) = Chi : total:m1422_2, partial:m1422_7 +# 1422| r1422_9(glval) = Convert : r1422_1 +# 1422| r1422_10(glval) = FunctionAddress[c_str] : +# 1422| r1422_11(char *) = Call[c_str] : func:r1422_10, this:r1422_9 +# 1422| m1422_12(unknown) = ^CallSideEffect : ~m1422_6 +# 1422| m1422_13(unknown) = Chi : total:m1422_6, partial:m1422_12 +# 1422| v1422_14(void) = ^IndirectReadSideEffect[-1] : &:r1422_9, m1422_8 +# 1423| r1423_1(glval) = VariableAddress[#temp1423:5] : +# 1423| r1423_2(glval) = FunctionAddress[returnValue] : +# 1423| r1423_3(String) = Call[returnValue] : func:r1423_2 +# 1423| m1423_4(unknown) = ^CallSideEffect : ~m1422_13 +# 1423| m1423_5(unknown) = Chi : total:m1422_13, partial:m1423_4 +# 1423| m1423_6(String) = Store[#temp1423:5] : &:r1423_1, r1423_3 +# 1423| r1423_7(glval) = Convert : r1423_1 +# 1423| r1423_8(glval) = FunctionAddress[c_str] : +# 1423| r1423_9(char *) = Call[c_str] : func:r1423_8, this:r1423_7 +# 1423| m1423_10(unknown) = ^CallSideEffect : ~m1423_5 +# 1423| m1423_11(unknown) = Chi : total:m1423_5, partial:m1423_10 +# 1423| v1423_12(void) = ^IndirectReadSideEffect[-1] : &:r1423_7, m1423_6 +# 1425| r1425_1(glval) = VariableAddress[#temp1425:5] : +# 1425| r1425_2(glval) = FunctionAddress[defaultConstruct] : +# 1425| r1425_3(String) = Call[defaultConstruct] : func:r1425_2 +# 1425| m1425_4(unknown) = ^CallSideEffect : ~m1423_11 +# 1425| m1425_5(unknown) = Chi : total:m1423_11, partial:m1425_4 +# 1425| m1425_6(String) = Store[#temp1425:5] : &:r1425_1, r1425_3 +# 1426| v1426_1(void) = NoOp : +# 1426| r1426_2(glval) = VariableAddress[s] : +# 1426| r1426_3(glval) = FunctionAddress[~String] : +# 1426| v1426_4(void) = Call[~String] : func:r1426_3, this:r1426_2 +# 1426| m1426_5(unknown) = ^CallSideEffect : ~m1425_5 +# 1426| m1426_6(unknown) = Chi : total:m1425_5, partial:m1426_5 +# 1426| v1426_7(void) = ^IndirectReadSideEffect[-1] : &:r1426_2, m1415_6 +# 1426| m1426_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r1426_2 +# 1426| m1426_9(String) = Chi : total:m1415_6, partial:m1426_8 +# 1414| v1414_5(void) = ReturnVoid : +# 1414| v1414_6(void) = AliasedUse : ~m1426_6 +# 1414| v1414_7(void) = ExitFunction : -# 1381| void temporary_destructor_only() -# 1381| Block 0 -# 1381| v1381_1(void) = EnterFunction : -# 1381| m1381_2(unknown) = AliasedDefinition : -# 1381| m1381_3(unknown) = InitializeNonLocal : -# 1381| m1381_4(unknown) = Chi : total:m1381_2, partial:m1381_3 -# 1382| r1382_1(glval) = VariableAddress[d] : -# 1382| r1382_2(glval) = FunctionAddress[returnValue] : -# 1382| r1382_3(destructor_only) = Call[returnValue] : func:r1382_2 -# 1382| m1382_4(unknown) = ^CallSideEffect : ~m1381_4 -# 1382| m1382_5(unknown) = Chi : total:m1381_4, partial:m1382_4 -# 1382| m1382_6(destructor_only) = Store[d] : &:r1382_1, r1382_3 -# 1383| r1383_1(glval) = VariableAddress[rd] : -# 1383| r1383_2(glval) = VariableAddress[#temp1383:33] : -# 1383| r1383_3(glval) = FunctionAddress[returnValue] : -# 1383| r1383_4(destructor_only) = Call[returnValue] : func:r1383_3 -# 1383| m1383_5(unknown) = ^CallSideEffect : ~m1382_5 -# 1383| m1383_6(unknown) = Chi : total:m1382_5, partial:m1383_5 -# 1383| m1383_7(destructor_only) = Store[#temp1383:33] : &:r1383_2, r1383_4 -# 1383| r1383_8(glval) = Convert : r1383_2 -# 1383| r1383_9(destructor_only &) = CopyValue : r1383_8 -# 1383| m1383_10(destructor_only &) = Store[rd] : &:r1383_1, r1383_9 -# 1384| r1384_1(glval) = VariableAddress[d2] : -# 1384| m1384_2(destructor_only) = Uninitialized[d2] : &:r1384_1 -# 1385| r1385_1(glval) = FunctionAddress[acceptRef] : -# 1385| r1385_2(glval) = VariableAddress[d] : -# 1385| r1385_3(glval) = Convert : r1385_2 -# 1385| r1385_4(destructor_only &) = CopyValue : r1385_3 -# 1385| v1385_5(void) = Call[acceptRef] : func:r1385_1, 0:r1385_4 -# 1385| m1385_6(unknown) = ^CallSideEffect : ~m1383_6 -# 1385| m1385_7(unknown) = Chi : total:m1383_6, partial:m1385_6 -# 1385| v1385_8(void) = ^BufferReadSideEffect[0] : &:r1385_4, ~m1382_6 -# 1386| r1386_1(glval) = FunctionAddress[acceptValue] : -# 1386| r1386_2(glval) = VariableAddress[#temp1386:17] : -# 1386| r1386_3(glval) = VariableAddress[d] : -# 1386| r1386_4(destructor_only) = Load[d] : &:r1386_3, m1382_6 -# 1386| m1386_5(destructor_only) = Store[#temp1386:17] : &:r1386_2, r1386_4 -# 1386| r1386_6(destructor_only) = Load[#temp1386:17] : &:r1386_2, m1386_5 -# 1386| v1386_7(void) = Call[acceptValue] : func:r1386_1, 0:r1386_6 -# 1386| m1386_8(unknown) = ^CallSideEffect : ~m1385_7 -# 1386| m1386_9(unknown) = Chi : total:m1385_7, partial:m1386_8 -# 1387| r1387_1(glval) = VariableAddress[#temp1387:5] : -# 1387| r1387_2(destructor_only) = Constant[0] : -# 1387| m1387_3(destructor_only) = Store[#temp1387:5] : &:r1387_1, r1387_2 -# 1387| r1387_4(glval) = FunctionAddress[method] : -# 1387| v1387_5(void) = Call[method] : func:r1387_4, this:r1387_1 -# 1387| m1387_6(unknown) = ^CallSideEffect : ~m1386_9 -# 1387| m1387_7(unknown) = Chi : total:m1386_9, partial:m1387_6 -# 1387| v1387_8(void) = ^IndirectReadSideEffect[-1] : &:r1387_1, m1387_3 -# 1387| m1387_9(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1387_1 -# 1387| m1387_10(destructor_only) = Chi : total:m1387_3, partial:m1387_9 -# 1388| r1388_1(glval) = VariableAddress[#temp1388:5] : -# 1388| r1388_2(glval) = FunctionAddress[returnValue] : -# 1388| r1388_3(destructor_only) = Call[returnValue] : func:r1388_2 -# 1388| m1388_4(unknown) = ^CallSideEffect : ~m1387_7 -# 1388| m1388_5(unknown) = Chi : total:m1387_7, partial:m1388_4 -# 1388| m1388_6(destructor_only) = Store[#temp1388:5] : &:r1388_1, r1388_3 -# 1388| r1388_7(glval) = FunctionAddress[method] : -# 1388| v1388_8(void) = Call[method] : func:r1388_7, this:r1388_1 -# 1388| m1388_9(unknown) = ^CallSideEffect : ~m1388_5 -# 1388| m1388_10(unknown) = Chi : total:m1388_5, partial:m1388_9 -# 1388| v1388_11(void) = ^IndirectReadSideEffect[-1] : &:r1388_1, m1388_6 -# 1388| m1388_12(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1388_1 -# 1388| m1388_13(destructor_only) = Chi : total:m1388_6, partial:m1388_12 -# 1390| r1390_1(glval) = VariableAddress[#temp1390:5] : -# 1390| r1390_2(glval) = FunctionAddress[defaultConstruct] : -# 1390| r1390_3(destructor_only) = Call[defaultConstruct] : func:r1390_2 -# 1390| m1390_4(unknown) = ^CallSideEffect : ~m1388_10 -# 1390| m1390_5(unknown) = Chi : total:m1388_10, partial:m1390_4 -# 1390| m1390_6(destructor_only) = Store[#temp1390:5] : &:r1390_1, r1390_3 -# 1391| v1391_1(void) = NoOp : -# 1391| r1391_2(glval) = VariableAddress[d2] : -# 1391| r1391_3(glval) = FunctionAddress[~destructor_only] : -# 1391| v1391_4(void) = Call[~destructor_only] : func:r1391_3, this:r1391_2 -# 1391| m1391_5(unknown) = ^CallSideEffect : ~m1390_5 -# 1391| m1391_6(unknown) = Chi : total:m1390_5, partial:m1391_5 -# 1391| v1391_7(void) = ^IndirectReadSideEffect[-1] : &:r1391_2, m1384_2 -# 1391| m1391_8(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1391_2 -# 1391| m1391_9(destructor_only) = Chi : total:m1384_2, partial:m1391_8 -# 1391| r1391_10(glval) = VariableAddress[d] : -# 1391| r1391_11(glval) = FunctionAddress[~destructor_only] : -# 1391| v1391_12(void) = Call[~destructor_only] : func:r1391_11, this:r1391_10 -# 1391| m1391_13(unknown) = ^CallSideEffect : ~m1391_6 -# 1391| m1391_14(unknown) = Chi : total:m1391_6, partial:m1391_13 -# 1391| v1391_15(void) = ^IndirectReadSideEffect[-1] : &:r1391_10, m1382_6 -# 1391| m1391_16(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1391_10 -# 1391| m1391_17(destructor_only) = Chi : total:m1382_6, partial:m1391_16 -# 1381| v1381_5(void) = ReturnVoid : -# 1381| v1381_6(void) = AliasedUse : ~m1391_14 -# 1381| v1381_7(void) = ExitFunction : +# 1428| void temporary_destructor_only() +# 1428| Block 0 +# 1428| v1428_1(void) = EnterFunction : +# 1428| m1428_2(unknown) = AliasedDefinition : +# 1428| m1428_3(unknown) = InitializeNonLocal : +# 1428| m1428_4(unknown) = Chi : total:m1428_2, partial:m1428_3 +# 1429| r1429_1(glval) = VariableAddress[d] : +# 1429| r1429_2(glval) = FunctionAddress[returnValue] : +# 1429| r1429_3(destructor_only) = Call[returnValue] : func:r1429_2 +# 1429| m1429_4(unknown) = ^CallSideEffect : ~m1428_4 +# 1429| m1429_5(unknown) = Chi : total:m1428_4, partial:m1429_4 +# 1429| m1429_6(destructor_only) = Store[d] : &:r1429_1, r1429_3 +# 1430| r1430_1(glval) = VariableAddress[rd] : +# 1430| r1430_2(glval) = VariableAddress[#temp1430:33] : +# 1430| r1430_3(glval) = FunctionAddress[returnValue] : +# 1430| r1430_4(destructor_only) = Call[returnValue] : func:r1430_3 +# 1430| m1430_5(unknown) = ^CallSideEffect : ~m1429_5 +# 1430| m1430_6(unknown) = Chi : total:m1429_5, partial:m1430_5 +# 1430| m1430_7(destructor_only) = Store[#temp1430:33] : &:r1430_2, r1430_4 +# 1430| r1430_8(glval) = Convert : r1430_2 +# 1430| r1430_9(destructor_only &) = CopyValue : r1430_8 +# 1430| m1430_10(destructor_only &) = Store[rd] : &:r1430_1, r1430_9 +# 1431| r1431_1(glval) = VariableAddress[d2] : +# 1431| m1431_2(destructor_only) = Uninitialized[d2] : &:r1431_1 +# 1432| r1432_1(glval) = FunctionAddress[acceptRef] : +# 1432| r1432_2(glval) = VariableAddress[d] : +# 1432| r1432_3(glval) = Convert : r1432_2 +# 1432| r1432_4(destructor_only &) = CopyValue : r1432_3 +# 1432| v1432_5(void) = Call[acceptRef] : func:r1432_1, 0:r1432_4 +# 1432| m1432_6(unknown) = ^CallSideEffect : ~m1430_6 +# 1432| m1432_7(unknown) = Chi : total:m1430_6, partial:m1432_6 +# 1432| v1432_8(void) = ^BufferReadSideEffect[0] : &:r1432_4, ~m1429_6 +# 1433| r1433_1(glval) = FunctionAddress[acceptValue] : +# 1433| r1433_2(glval) = VariableAddress[#temp1433:17] : +# 1433| r1433_3(glval) = VariableAddress[d] : +# 1433| r1433_4(destructor_only) = Load[d] : &:r1433_3, m1429_6 +# 1433| m1433_5(destructor_only) = Store[#temp1433:17] : &:r1433_2, r1433_4 +# 1433| r1433_6(destructor_only) = Load[#temp1433:17] : &:r1433_2, m1433_5 +# 1433| v1433_7(void) = Call[acceptValue] : func:r1433_1, 0:r1433_6 +# 1433| m1433_8(unknown) = ^CallSideEffect : ~m1432_7 +# 1433| m1433_9(unknown) = Chi : total:m1432_7, partial:m1433_8 +# 1434| r1434_1(glval) = VariableAddress[#temp1434:5] : +# 1434| r1434_2(destructor_only) = Constant[0] : +# 1434| m1434_3(destructor_only) = Store[#temp1434:5] : &:r1434_1, r1434_2 +# 1434| r1434_4(glval) = FunctionAddress[method] : +# 1434| v1434_5(void) = Call[method] : func:r1434_4, this:r1434_1 +# 1434| m1434_6(unknown) = ^CallSideEffect : ~m1433_9 +# 1434| m1434_7(unknown) = Chi : total:m1433_9, partial:m1434_6 +# 1434| v1434_8(void) = ^IndirectReadSideEffect[-1] : &:r1434_1, m1434_3 +# 1434| m1434_9(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1434_1 +# 1434| m1434_10(destructor_only) = Chi : total:m1434_3, partial:m1434_9 +# 1435| r1435_1(glval) = VariableAddress[#temp1435:5] : +# 1435| r1435_2(glval) = FunctionAddress[returnValue] : +# 1435| r1435_3(destructor_only) = Call[returnValue] : func:r1435_2 +# 1435| m1435_4(unknown) = ^CallSideEffect : ~m1434_7 +# 1435| m1435_5(unknown) = Chi : total:m1434_7, partial:m1435_4 +# 1435| m1435_6(destructor_only) = Store[#temp1435:5] : &:r1435_1, r1435_3 +# 1435| r1435_7(glval) = FunctionAddress[method] : +# 1435| v1435_8(void) = Call[method] : func:r1435_7, this:r1435_1 +# 1435| m1435_9(unknown) = ^CallSideEffect : ~m1435_5 +# 1435| m1435_10(unknown) = Chi : total:m1435_5, partial:m1435_9 +# 1435| v1435_11(void) = ^IndirectReadSideEffect[-1] : &:r1435_1, m1435_6 +# 1435| m1435_12(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1435_1 +# 1435| m1435_13(destructor_only) = Chi : total:m1435_6, partial:m1435_12 +# 1437| r1437_1(glval) = VariableAddress[#temp1437:5] : +# 1437| r1437_2(glval) = FunctionAddress[defaultConstruct] : +# 1437| r1437_3(destructor_only) = Call[defaultConstruct] : func:r1437_2 +# 1437| m1437_4(unknown) = ^CallSideEffect : ~m1435_10 +# 1437| m1437_5(unknown) = Chi : total:m1435_10, partial:m1437_4 +# 1437| m1437_6(destructor_only) = Store[#temp1437:5] : &:r1437_1, r1437_3 +# 1438| v1438_1(void) = NoOp : +# 1438| r1438_2(glval) = VariableAddress[d2] : +# 1438| r1438_3(glval) = FunctionAddress[~destructor_only] : +# 1438| v1438_4(void) = Call[~destructor_only] : func:r1438_3, this:r1438_2 +# 1438| m1438_5(unknown) = ^CallSideEffect : ~m1437_5 +# 1438| m1438_6(unknown) = Chi : total:m1437_5, partial:m1438_5 +# 1438| v1438_7(void) = ^IndirectReadSideEffect[-1] : &:r1438_2, m1431_2 +# 1438| m1438_8(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1438_2 +# 1438| m1438_9(destructor_only) = Chi : total:m1431_2, partial:m1438_8 +# 1438| r1438_10(glval) = VariableAddress[d] : +# 1438| r1438_11(glval) = FunctionAddress[~destructor_only] : +# 1438| v1438_12(void) = Call[~destructor_only] : func:r1438_11, this:r1438_10 +# 1438| m1438_13(unknown) = ^CallSideEffect : ~m1438_6 +# 1438| m1438_14(unknown) = Chi : total:m1438_6, partial:m1438_13 +# 1438| v1438_15(void) = ^IndirectReadSideEffect[-1] : &:r1438_10, m1429_6 +# 1438| m1438_16(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1438_10 +# 1438| m1438_17(destructor_only) = Chi : total:m1429_6, partial:m1438_16 +# 1428| v1428_5(void) = ReturnVoid : +# 1428| v1428_6(void) = AliasedUse : ~m1438_14 +# 1428| v1428_7(void) = ExitFunction : -# 1393| void temporary_copy_constructor() -# 1393| Block 0 -# 1393| v1393_1(void) = EnterFunction : -# 1393| m1393_2(unknown) = AliasedDefinition : -# 1393| m1393_3(unknown) = InitializeNonLocal : -# 1393| m1393_4(unknown) = Chi : total:m1393_2, partial:m1393_3 -# 1394| r1394_1(glval) = VariableAddress[d] : -# 1394| r1394_2(glval) = FunctionAddress[returnValue] : -# 1394| r1394_3(copy_constructor) = Call[returnValue] : func:r1394_2 -# 1394| m1394_4(unknown) = ^CallSideEffect : ~m1393_4 -# 1394| m1394_5(unknown) = Chi : total:m1393_4, partial:m1394_4 -# 1394| m1394_6(copy_constructor) = Store[d] : &:r1394_1, r1394_3 -# 1395| r1395_1(glval) = VariableAddress[rd] : -# 1395| r1395_2(glval) = VariableAddress[#temp1395:34] : -# 1395| r1395_3(glval) = FunctionAddress[returnValue] : -# 1395| r1395_4(copy_constructor) = Call[returnValue] : func:r1395_3 -# 1395| m1395_5(unknown) = ^CallSideEffect : ~m1394_5 -# 1395| m1395_6(unknown) = Chi : total:m1394_5, partial:m1395_5 -# 1395| m1395_7(copy_constructor) = Store[#temp1395:34] : &:r1395_2, r1395_4 -# 1395| r1395_8(glval) = Convert : r1395_2 -# 1395| r1395_9(copy_constructor &) = CopyValue : r1395_8 -# 1395| m1395_10(copy_constructor &) = Store[rd] : &:r1395_1, r1395_9 -# 1396| r1396_1(glval) = VariableAddress[d2] : -# 1396| m1396_2(copy_constructor) = Uninitialized[d2] : &:r1396_1 -# 1396| r1396_3(glval) = FunctionAddress[copy_constructor] : -# 1396| v1396_4(void) = Call[copy_constructor] : func:r1396_3, this:r1396_1 -# 1396| m1396_5(unknown) = ^CallSideEffect : ~m1395_6 -# 1396| m1396_6(unknown) = Chi : total:m1395_6, partial:m1396_5 -# 1396| m1396_7(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1396_1 -# 1396| m1396_8(copy_constructor) = Chi : total:m1396_2, partial:m1396_7 -# 1397| r1397_1(glval) = FunctionAddress[acceptRef] : -# 1397| r1397_2(glval) = VariableAddress[d] : -# 1397| r1397_3(glval) = Convert : r1397_2 -# 1397| r1397_4(copy_constructor &) = CopyValue : r1397_3 -# 1397| v1397_5(void) = Call[acceptRef] : func:r1397_1, 0:r1397_4 -# 1397| m1397_6(unknown) = ^CallSideEffect : ~m1396_6 -# 1397| m1397_7(unknown) = Chi : total:m1396_6, partial:m1397_6 -# 1397| v1397_8(void) = ^BufferReadSideEffect[0] : &:r1397_4, ~m1394_6 -# 1398| r1398_1(glval) = FunctionAddress[acceptValue] : -# 1398| r1398_2(glval) = VariableAddress[#temp1398:17] : -# 1398| m1398_3(copy_constructor) = Uninitialized[#temp1398:17] : &:r1398_2 -# 1398| r1398_4(glval) = FunctionAddress[copy_constructor] : -# 1398| r1398_5(glval) = VariableAddress[d] : -# 1398| r1398_6(glval) = Convert : r1398_5 -# 1398| r1398_7(copy_constructor &) = CopyValue : r1398_6 -# 1398| v1398_8(void) = Call[copy_constructor] : func:r1398_4, this:r1398_2, 0:r1398_7 -# 1398| m1398_9(unknown) = ^CallSideEffect : ~m1397_7 -# 1398| m1398_10(unknown) = Chi : total:m1397_7, partial:m1398_9 -# 1398| v1398_11(void) = ^BufferReadSideEffect[0] : &:r1398_7, ~m1394_6 -# 1398| m1398_12(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1398_2 -# 1398| m1398_13(copy_constructor) = Chi : total:m1398_3, partial:m1398_12 -# 1398| r1398_14(copy_constructor) = Load[#temp1398:17] : &:r1398_2, m1398_13 -# 1398| v1398_15(void) = Call[acceptValue] : func:r1398_1, 0:r1398_14 -# 1398| m1398_16(unknown) = ^CallSideEffect : ~m1398_10 -# 1398| m1398_17(unknown) = Chi : total:m1398_10, partial:m1398_16 -# 1399| r1399_1(glval) = VariableAddress[#temp1399:5] : -# 1399| m1399_2(copy_constructor) = Uninitialized[#temp1399:5] : &:r1399_1 -# 1399| r1399_3(glval) = FunctionAddress[copy_constructor] : -# 1399| v1399_4(void) = Call[copy_constructor] : func:r1399_3, this:r1399_1 -# 1399| m1399_5(unknown) = ^CallSideEffect : ~m1398_17 -# 1399| m1399_6(unknown) = Chi : total:m1398_17, partial:m1399_5 -# 1399| m1399_7(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1399_1 -# 1399| m1399_8(copy_constructor) = Chi : total:m1399_2, partial:m1399_7 -# 1399| r1399_9(glval) = FunctionAddress[method] : -# 1399| v1399_10(void) = Call[method] : func:r1399_9, this:r1399_1 -# 1399| m1399_11(unknown) = ^CallSideEffect : ~m1399_6 -# 1399| m1399_12(unknown) = Chi : total:m1399_6, partial:m1399_11 -# 1399| v1399_13(void) = ^IndirectReadSideEffect[-1] : &:r1399_1, m1399_8 -# 1399| m1399_14(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1399_1 -# 1399| m1399_15(copy_constructor) = Chi : total:m1399_8, partial:m1399_14 -# 1400| r1400_1(glval) = VariableAddress[#temp1400:5] : -# 1400| r1400_2(glval) = FunctionAddress[returnValue] : -# 1400| r1400_3(copy_constructor) = Call[returnValue] : func:r1400_2 -# 1400| m1400_4(unknown) = ^CallSideEffect : ~m1399_12 -# 1400| m1400_5(unknown) = Chi : total:m1399_12, partial:m1400_4 -# 1400| m1400_6(copy_constructor) = Store[#temp1400:5] : &:r1400_1, r1400_3 -# 1400| r1400_7(glval) = FunctionAddress[method] : -# 1400| v1400_8(void) = Call[method] : func:r1400_7, this:r1400_1 -# 1400| m1400_9(unknown) = ^CallSideEffect : ~m1400_5 -# 1400| m1400_10(unknown) = Chi : total:m1400_5, partial:m1400_9 -# 1400| v1400_11(void) = ^IndirectReadSideEffect[-1] : &:r1400_1, m1400_6 -# 1400| m1400_12(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1400_1 -# 1400| m1400_13(copy_constructor) = Chi : total:m1400_6, partial:m1400_12 -# 1401| r1401_1(glval) = VariableAddress[#temp1401:5] : -# 1401| r1401_2(glval) = FunctionAddress[defaultConstruct] : -# 1401| r1401_3(copy_constructor) = Call[defaultConstruct] : func:r1401_2 -# 1401| m1401_4(unknown) = ^CallSideEffect : ~m1400_10 -# 1401| m1401_5(unknown) = Chi : total:m1400_10, partial:m1401_4 -# 1401| m1401_6(copy_constructor) = Store[#temp1401:5] : &:r1401_1, r1401_3 -# 1403| r1403_1(glval) = VariableAddress[y] : -# 1403| r1403_2(glval) = VariableAddress[#temp1403:13] : -# 1403| r1403_3(glval) = FunctionAddress[returnValue] : -# 1403| r1403_4(copy_constructor) = Call[returnValue] : func:r1403_3 -# 1403| m1403_5(unknown) = ^CallSideEffect : ~m1401_5 -# 1403| m1403_6(unknown) = Chi : total:m1401_5, partial:m1403_5 -# 1403| m1403_7(copy_constructor) = Store[#temp1403:13] : &:r1403_2, r1403_4 -# 1403| r1403_8(glval) = FieldAddress[y] : r1403_2 -# 1403| r1403_9(int) = Load[?] : &:r1403_8, ~m1403_7 -# 1403| m1403_10(int) = Store[y] : &:r1403_1, r1403_9 -# 1404| v1404_1(void) = NoOp : -# 1393| v1393_5(void) = ReturnVoid : -# 1393| v1393_6(void) = AliasedUse : ~m1403_6 -# 1393| v1393_7(void) = ExitFunction : +# 1440| void temporary_copy_constructor() +# 1440| Block 0 +# 1440| v1440_1(void) = EnterFunction : +# 1440| m1440_2(unknown) = AliasedDefinition : +# 1440| m1440_3(unknown) = InitializeNonLocal : +# 1440| m1440_4(unknown) = Chi : total:m1440_2, partial:m1440_3 +# 1441| r1441_1(glval) = VariableAddress[d] : +# 1441| r1441_2(glval) = FunctionAddress[returnValue] : +# 1441| r1441_3(copy_constructor) = Call[returnValue] : func:r1441_2 +# 1441| m1441_4(unknown) = ^CallSideEffect : ~m1440_4 +# 1441| m1441_5(unknown) = Chi : total:m1440_4, partial:m1441_4 +# 1441| m1441_6(copy_constructor) = Store[d] : &:r1441_1, r1441_3 +# 1442| r1442_1(glval) = VariableAddress[rd] : +# 1442| r1442_2(glval) = VariableAddress[#temp1442:34] : +# 1442| r1442_3(glval) = FunctionAddress[returnValue] : +# 1442| r1442_4(copy_constructor) = Call[returnValue] : func:r1442_3 +# 1442| m1442_5(unknown) = ^CallSideEffect : ~m1441_5 +# 1442| m1442_6(unknown) = Chi : total:m1441_5, partial:m1442_5 +# 1442| m1442_7(copy_constructor) = Store[#temp1442:34] : &:r1442_2, r1442_4 +# 1442| r1442_8(glval) = Convert : r1442_2 +# 1442| r1442_9(copy_constructor &) = CopyValue : r1442_8 +# 1442| m1442_10(copy_constructor &) = Store[rd] : &:r1442_1, r1442_9 +# 1443| r1443_1(glval) = VariableAddress[d2] : +# 1443| m1443_2(copy_constructor) = Uninitialized[d2] : &:r1443_1 +# 1443| r1443_3(glval) = FunctionAddress[copy_constructor] : +# 1443| v1443_4(void) = Call[copy_constructor] : func:r1443_3, this:r1443_1 +# 1443| m1443_5(unknown) = ^CallSideEffect : ~m1442_6 +# 1443| m1443_6(unknown) = Chi : total:m1442_6, partial:m1443_5 +# 1443| m1443_7(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1443_1 +# 1443| m1443_8(copy_constructor) = Chi : total:m1443_2, partial:m1443_7 +# 1444| r1444_1(glval) = FunctionAddress[acceptRef] : +# 1444| r1444_2(glval) = VariableAddress[d] : +# 1444| r1444_3(glval) = Convert : r1444_2 +# 1444| r1444_4(copy_constructor &) = CopyValue : r1444_3 +# 1444| v1444_5(void) = Call[acceptRef] : func:r1444_1, 0:r1444_4 +# 1444| m1444_6(unknown) = ^CallSideEffect : ~m1443_6 +# 1444| m1444_7(unknown) = Chi : total:m1443_6, partial:m1444_6 +# 1444| v1444_8(void) = ^BufferReadSideEffect[0] : &:r1444_4, ~m1441_6 +# 1445| r1445_1(glval) = FunctionAddress[acceptValue] : +# 1445| r1445_2(glval) = VariableAddress[#temp1445:17] : +# 1445| m1445_3(copy_constructor) = Uninitialized[#temp1445:17] : &:r1445_2 +# 1445| r1445_4(glval) = FunctionAddress[copy_constructor] : +# 1445| r1445_5(glval) = VariableAddress[d] : +# 1445| r1445_6(glval) = Convert : r1445_5 +# 1445| r1445_7(copy_constructor &) = CopyValue : r1445_6 +# 1445| v1445_8(void) = Call[copy_constructor] : func:r1445_4, this:r1445_2, 0:r1445_7 +# 1445| m1445_9(unknown) = ^CallSideEffect : ~m1444_7 +# 1445| m1445_10(unknown) = Chi : total:m1444_7, partial:m1445_9 +# 1445| v1445_11(void) = ^BufferReadSideEffect[0] : &:r1445_7, ~m1441_6 +# 1445| m1445_12(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1445_2 +# 1445| m1445_13(copy_constructor) = Chi : total:m1445_3, partial:m1445_12 +# 1445| r1445_14(copy_constructor) = Load[#temp1445:17] : &:r1445_2, m1445_13 +# 1445| v1445_15(void) = Call[acceptValue] : func:r1445_1, 0:r1445_14 +# 1445| m1445_16(unknown) = ^CallSideEffect : ~m1445_10 +# 1445| m1445_17(unknown) = Chi : total:m1445_10, partial:m1445_16 +# 1446| r1446_1(glval) = VariableAddress[#temp1446:5] : +# 1446| m1446_2(copy_constructor) = Uninitialized[#temp1446:5] : &:r1446_1 +# 1446| r1446_3(glval) = FunctionAddress[copy_constructor] : +# 1446| v1446_4(void) = Call[copy_constructor] : func:r1446_3, this:r1446_1 +# 1446| m1446_5(unknown) = ^CallSideEffect : ~m1445_17 +# 1446| m1446_6(unknown) = Chi : total:m1445_17, partial:m1446_5 +# 1446| m1446_7(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1446_1 +# 1446| m1446_8(copy_constructor) = Chi : total:m1446_2, partial:m1446_7 +# 1446| r1446_9(glval) = FunctionAddress[method] : +# 1446| v1446_10(void) = Call[method] : func:r1446_9, this:r1446_1 +# 1446| m1446_11(unknown) = ^CallSideEffect : ~m1446_6 +# 1446| m1446_12(unknown) = Chi : total:m1446_6, partial:m1446_11 +# 1446| v1446_13(void) = ^IndirectReadSideEffect[-1] : &:r1446_1, m1446_8 +# 1446| m1446_14(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1446_1 +# 1446| m1446_15(copy_constructor) = Chi : total:m1446_8, partial:m1446_14 +# 1447| r1447_1(glval) = VariableAddress[#temp1447:5] : +# 1447| r1447_2(glval) = FunctionAddress[returnValue] : +# 1447| r1447_3(copy_constructor) = Call[returnValue] : func:r1447_2 +# 1447| m1447_4(unknown) = ^CallSideEffect : ~m1446_12 +# 1447| m1447_5(unknown) = Chi : total:m1446_12, partial:m1447_4 +# 1447| m1447_6(copy_constructor) = Store[#temp1447:5] : &:r1447_1, r1447_3 +# 1447| r1447_7(glval) = FunctionAddress[method] : +# 1447| v1447_8(void) = Call[method] : func:r1447_7, this:r1447_1 +# 1447| m1447_9(unknown) = ^CallSideEffect : ~m1447_5 +# 1447| m1447_10(unknown) = Chi : total:m1447_5, partial:m1447_9 +# 1447| v1447_11(void) = ^IndirectReadSideEffect[-1] : &:r1447_1, m1447_6 +# 1447| m1447_12(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1447_1 +# 1447| m1447_13(copy_constructor) = Chi : total:m1447_6, partial:m1447_12 +# 1448| r1448_1(glval) = VariableAddress[#temp1448:5] : +# 1448| r1448_2(glval) = FunctionAddress[defaultConstruct] : +# 1448| r1448_3(copy_constructor) = Call[defaultConstruct] : func:r1448_2 +# 1448| m1448_4(unknown) = ^CallSideEffect : ~m1447_10 +# 1448| m1448_5(unknown) = Chi : total:m1447_10, partial:m1448_4 +# 1448| m1448_6(copy_constructor) = Store[#temp1448:5] : &:r1448_1, r1448_3 +# 1450| r1450_1(glval) = VariableAddress[y] : +# 1450| r1450_2(glval) = VariableAddress[#temp1450:13] : +# 1450| r1450_3(glval) = FunctionAddress[returnValue] : +# 1450| r1450_4(copy_constructor) = Call[returnValue] : func:r1450_3 +# 1450| m1450_5(unknown) = ^CallSideEffect : ~m1448_5 +# 1450| m1450_6(unknown) = Chi : total:m1448_5, partial:m1450_5 +# 1450| m1450_7(copy_constructor) = Store[#temp1450:13] : &:r1450_2, r1450_4 +# 1450| r1450_8(glval) = FieldAddress[y] : r1450_2 +# 1450| r1450_9(int) = Load[?] : &:r1450_8, ~m1450_7 +# 1450| m1450_10(int) = Store[y] : &:r1450_1, r1450_9 +# 1451| v1451_1(void) = NoOp : +# 1440| v1440_5(void) = ReturnVoid : +# 1440| v1440_6(void) = AliasedUse : ~m1450_6 +# 1440| v1440_7(void) = ExitFunction : -# 1406| void temporary_point() -# 1406| Block 0 -# 1406| v1406_1(void) = EnterFunction : -# 1406| m1406_2(unknown) = AliasedDefinition : -# 1406| m1406_3(unknown) = InitializeNonLocal : -# 1406| m1406_4(unknown) = Chi : total:m1406_2, partial:m1406_3 -# 1407| r1407_1(glval) = VariableAddress[p] : -# 1407| r1407_2(glval) = FunctionAddress[returnValue] : -# 1407| r1407_3(Point) = Call[returnValue] : func:r1407_2 -# 1407| m1407_4(unknown) = ^CallSideEffect : ~m1406_4 -# 1407| m1407_5(unknown) = Chi : total:m1406_4, partial:m1407_4 -# 1407| m1407_6(Point) = Store[p] : &:r1407_1, r1407_3 -# 1408| r1408_1(glval) = VariableAddress[rp] : -# 1408| r1408_2(glval) = VariableAddress[#temp1408:23] : -# 1408| r1408_3(glval) = FunctionAddress[returnValue] : -# 1408| r1408_4(Point) = Call[returnValue] : func:r1408_3 -# 1408| m1408_5(unknown) = ^CallSideEffect : ~m1407_5 -# 1408| m1408_6(unknown) = Chi : total:m1407_5, partial:m1408_5 -# 1408| m1408_7(Point) = Store[#temp1408:23] : &:r1408_2, r1408_4 -# 1408| r1408_8(glval) = Convert : r1408_2 -# 1408| r1408_9(Point &) = CopyValue : r1408_8 -# 1408| m1408_10(Point &) = Store[rp] : &:r1408_1, r1408_9 -# 1410| r1410_1(glval) = FunctionAddress[acceptRef] : -# 1410| r1410_2(glval) = VariableAddress[p] : -# 1410| r1410_3(glval) = Convert : r1410_2 -# 1410| r1410_4(Point &) = CopyValue : r1410_3 -# 1410| v1410_5(void) = Call[acceptRef] : func:r1410_1, 0:r1410_4 -# 1410| m1410_6(unknown) = ^CallSideEffect : ~m1408_6 -# 1410| m1410_7(unknown) = Chi : total:m1408_6, partial:m1410_6 -# 1410| v1410_8(void) = ^BufferReadSideEffect[0] : &:r1410_4, ~m1407_6 -# 1411| r1411_1(glval) = FunctionAddress[acceptValue] : -# 1411| r1411_2(glval) = VariableAddress[p] : -# 1411| r1411_3(Point) = Load[p] : &:r1411_2, m1407_6 -# 1411| v1411_4(void) = Call[acceptValue] : func:r1411_1, 0:r1411_3 -# 1411| m1411_5(unknown) = ^CallSideEffect : ~m1410_7 -# 1411| m1411_6(unknown) = Chi : total:m1410_7, partial:m1411_5 -# 1412| r1412_1(int) = Constant[0] : -# 1413| r1413_1(glval) = VariableAddress[y] : -# 1413| r1413_2(glval) = FunctionAddress[returnValue] : -# 1413| r1413_3(Point) = Call[returnValue] : func:r1413_2 -# 1413| m1413_4(unknown) = ^CallSideEffect : ~m1411_6 -# 1413| m1413_5(unknown) = Chi : total:m1411_6, partial:m1413_4 -# 1413| r1413_6(glval) = VariableAddress[#temp1413:13] : -# 1413| m1413_7(Point) = Store[#temp1413:13] : &:r1413_6, r1413_3 -# 1413| r1413_8(glval) = FieldAddress[y] : r1413_6 -# 1413| r1413_9(int) = Load[?] : &:r1413_8, ~m1413_7 -# 1413| m1413_10(int) = Store[y] : &:r1413_1, r1413_9 -# 1415| r1415_1(glval) = FunctionAddress[defaultConstruct] : -# 1415| r1415_2(Point) = Call[defaultConstruct] : func:r1415_1 -# 1415| m1415_3(unknown) = ^CallSideEffect : ~m1413_5 -# 1415| m1415_4(unknown) = Chi : total:m1413_5, partial:m1415_3 -# 1416| v1416_1(void) = NoOp : -# 1406| v1406_5(void) = ReturnVoid : -# 1406| v1406_6(void) = AliasedUse : ~m1415_4 -# 1406| v1406_7(void) = ExitFunction : +# 1453| void temporary_point() +# 1453| Block 0 +# 1453| v1453_1(void) = EnterFunction : +# 1453| m1453_2(unknown) = AliasedDefinition : +# 1453| m1453_3(unknown) = InitializeNonLocal : +# 1453| m1453_4(unknown) = Chi : total:m1453_2, partial:m1453_3 +# 1454| r1454_1(glval) = VariableAddress[p] : +# 1454| r1454_2(glval) = FunctionAddress[returnValue] : +# 1454| r1454_3(Point) = Call[returnValue] : func:r1454_2 +# 1454| m1454_4(unknown) = ^CallSideEffect : ~m1453_4 +# 1454| m1454_5(unknown) = Chi : total:m1453_4, partial:m1454_4 +# 1454| m1454_6(Point) = Store[p] : &:r1454_1, r1454_3 +# 1455| r1455_1(glval) = VariableAddress[rp] : +# 1455| r1455_2(glval) = VariableAddress[#temp1455:23] : +# 1455| r1455_3(glval) = FunctionAddress[returnValue] : +# 1455| r1455_4(Point) = Call[returnValue] : func:r1455_3 +# 1455| m1455_5(unknown) = ^CallSideEffect : ~m1454_5 +# 1455| m1455_6(unknown) = Chi : total:m1454_5, partial:m1455_5 +# 1455| m1455_7(Point) = Store[#temp1455:23] : &:r1455_2, r1455_4 +# 1455| r1455_8(glval) = Convert : r1455_2 +# 1455| r1455_9(Point &) = CopyValue : r1455_8 +# 1455| m1455_10(Point &) = Store[rp] : &:r1455_1, r1455_9 +# 1457| r1457_1(glval) = FunctionAddress[acceptRef] : +# 1457| r1457_2(glval) = VariableAddress[p] : +# 1457| r1457_3(glval) = Convert : r1457_2 +# 1457| r1457_4(Point &) = CopyValue : r1457_3 +# 1457| v1457_5(void) = Call[acceptRef] : func:r1457_1, 0:r1457_4 +# 1457| m1457_6(unknown) = ^CallSideEffect : ~m1455_6 +# 1457| m1457_7(unknown) = Chi : total:m1455_6, partial:m1457_6 +# 1457| v1457_8(void) = ^BufferReadSideEffect[0] : &:r1457_4, ~m1454_6 +# 1458| r1458_1(glval) = FunctionAddress[acceptValue] : +# 1458| r1458_2(glval) = VariableAddress[p] : +# 1458| r1458_3(Point) = Load[p] : &:r1458_2, m1454_6 +# 1458| v1458_4(void) = Call[acceptValue] : func:r1458_1, 0:r1458_3 +# 1458| m1458_5(unknown) = ^CallSideEffect : ~m1457_7 +# 1458| m1458_6(unknown) = Chi : total:m1457_7, partial:m1458_5 +# 1459| r1459_1(int) = Constant[0] : +# 1460| r1460_1(glval) = VariableAddress[y] : +# 1460| r1460_2(glval) = FunctionAddress[returnValue] : +# 1460| r1460_3(Point) = Call[returnValue] : func:r1460_2 +# 1460| m1460_4(unknown) = ^CallSideEffect : ~m1458_6 +# 1460| m1460_5(unknown) = Chi : total:m1458_6, partial:m1460_4 +# 1460| r1460_6(glval) = VariableAddress[#temp1460:13] : +# 1460| m1460_7(Point) = Store[#temp1460:13] : &:r1460_6, r1460_3 +# 1460| r1460_8(glval) = FieldAddress[y] : r1460_6 +# 1460| r1460_9(int) = Load[?] : &:r1460_8, ~m1460_7 +# 1460| m1460_10(int) = Store[y] : &:r1460_1, r1460_9 +# 1462| r1462_1(glval) = FunctionAddress[defaultConstruct] : +# 1462| r1462_2(Point) = Call[defaultConstruct] : func:r1462_1 +# 1462| m1462_3(unknown) = ^CallSideEffect : ~m1460_5 +# 1462| m1462_4(unknown) = Chi : total:m1460_5, partial:m1462_3 +# 1463| v1463_1(void) = NoOp : +# 1453| v1453_5(void) = ReturnVoid : +# 1453| v1453_6(void) = AliasedUse : ~m1462_4 +# 1453| v1453_7(void) = ExitFunction : -# 1423| void temporary_unusual_fields() -# 1423| Block 0 -# 1423| v1423_1(void) = EnterFunction : -# 1423| m1423_2(unknown) = AliasedDefinition : -# 1423| m1423_3(unknown) = InitializeNonLocal : -# 1423| m1423_4(unknown) = Chi : total:m1423_2, partial:m1423_3 -# 1424| r1424_1(glval) = VariableAddress[rx] : -# 1424| r1424_2(glval) = FunctionAddress[returnValue] : -# 1424| r1424_3(UnusualFields) = Call[returnValue] : func:r1424_2 -# 1424| m1424_4(unknown) = ^CallSideEffect : ~m1423_4 -# 1424| m1424_5(unknown) = Chi : total:m1423_4, partial:m1424_4 -# 1424| r1424_6(glval) = VariableAddress[#temp1424:21] : -# 1424| m1424_7(UnusualFields) = Store[#temp1424:21] : &:r1424_6, r1424_3 -# 1424| r1424_8(glval) = FieldAddress[r] : r1424_6 -# 1424| r1424_9(int &) = Load[?] : &:r1424_8, ~m1424_7 -# 1424| r1424_10(glval) = CopyValue : r1424_9 -# 1424| r1424_11(glval) = Convert : r1424_10 -# 1424| r1424_12(int &) = CopyValue : r1424_11 -# 1424| m1424_13(int &) = Store[rx] : &:r1424_1, r1424_12 -# 1425| r1425_1(glval) = VariableAddress[x] : -# 1425| r1425_2(glval) = FunctionAddress[returnValue] : -# 1425| r1425_3(UnusualFields) = Call[returnValue] : func:r1425_2 -# 1425| m1425_4(unknown) = ^CallSideEffect : ~m1424_5 -# 1425| m1425_5(unknown) = Chi : total:m1424_5, partial:m1425_4 -# 1425| r1425_6(glval) = VariableAddress[#temp1425:13] : -# 1425| m1425_7(UnusualFields) = Store[#temp1425:13] : &:r1425_6, r1425_3 -# 1425| r1425_8(glval) = FieldAddress[r] : r1425_6 -# 1425| r1425_9(int &) = Load[?] : &:r1425_8, ~m1425_7 -# 1425| r1425_10(int) = Load[?] : &:r1425_9, ~m1425_5 -# 1425| m1425_11(int) = Store[x] : &:r1425_1, r1425_10 -# 1427| r1427_1(glval) = VariableAddress[rf] : -# 1427| r1427_2(glval) = FunctionAddress[returnValue] : -# 1427| r1427_3(UnusualFields) = Call[returnValue] : func:r1427_2 -# 1427| m1427_4(unknown) = ^CallSideEffect : ~m1425_5 -# 1427| m1427_5(unknown) = Chi : total:m1425_5, partial:m1427_4 -# 1427| r1427_6(glval) = VariableAddress[#temp1427:23] : -# 1427| m1427_7(UnusualFields) = Store[#temp1427:23] : &:r1427_6, r1427_3 -# 1427| r1427_8(glval) = FieldAddress[a] : r1427_6 -# 1427| r1427_9(float *) = Convert : r1427_8 -# 1427| r1427_10(int) = Constant[3] : -# 1427| r1427_11(glval) = PointerAdd[4] : r1427_9, r1427_10 -# 1427| r1427_12(glval) = Convert : r1427_11 -# 1427| r1427_13(float &) = CopyValue : r1427_12 -# 1427| m1427_14(float &) = Store[rf] : &:r1427_1, r1427_13 -# 1428| r1428_1(glval) = VariableAddress[f] : -# 1428| r1428_2(glval) = FunctionAddress[returnValue] : -# 1428| r1428_3(UnusualFields) = Call[returnValue] : func:r1428_2 -# 1428| m1428_4(unknown) = ^CallSideEffect : ~m1427_5 -# 1428| m1428_5(unknown) = Chi : total:m1427_5, partial:m1428_4 -# 1428| r1428_6(glval) = VariableAddress[#temp1428:15] : -# 1428| m1428_7(UnusualFields) = Store[#temp1428:15] : &:r1428_6, r1428_3 -# 1428| r1428_8(glval) = FieldAddress[a] : r1428_6 -# 1428| r1428_9(float *) = Convert : r1428_8 -# 1428| r1428_10(int) = Constant[5] : -# 1428| r1428_11(glval) = PointerAdd[4] : r1428_9, r1428_10 -# 1428| r1428_12(float) = Load[?] : &:r1428_11, ~m1428_7 -# 1428| m1428_13(float) = Store[f] : &:r1428_1, r1428_12 -# 1429| v1429_1(void) = NoOp : -# 1423| v1423_5(void) = ReturnVoid : -# 1423| v1423_6(void) = AliasedUse : ~m1428_5 -# 1423| v1423_7(void) = ExitFunction : +# 1470| void temporary_unusual_fields() +# 1470| Block 0 +# 1470| v1470_1(void) = EnterFunction : +# 1470| m1470_2(unknown) = AliasedDefinition : +# 1470| m1470_3(unknown) = InitializeNonLocal : +# 1470| m1470_4(unknown) = Chi : total:m1470_2, partial:m1470_3 +# 1471| r1471_1(glval) = VariableAddress[rx] : +# 1471| r1471_2(glval) = FunctionAddress[returnValue] : +# 1471| r1471_3(UnusualFields) = Call[returnValue] : func:r1471_2 +# 1471| m1471_4(unknown) = ^CallSideEffect : ~m1470_4 +# 1471| m1471_5(unknown) = Chi : total:m1470_4, partial:m1471_4 +# 1471| r1471_6(glval) = VariableAddress[#temp1471:21] : +# 1471| m1471_7(UnusualFields) = Store[#temp1471:21] : &:r1471_6, r1471_3 +# 1471| r1471_8(glval) = FieldAddress[r] : r1471_6 +# 1471| r1471_9(int &) = Load[?] : &:r1471_8, ~m1471_7 +# 1471| r1471_10(glval) = CopyValue : r1471_9 +# 1471| r1471_11(glval) = Convert : r1471_10 +# 1471| r1471_12(int &) = CopyValue : r1471_11 +# 1471| m1471_13(int &) = Store[rx] : &:r1471_1, r1471_12 +# 1472| r1472_1(glval) = VariableAddress[x] : +# 1472| r1472_2(glval) = FunctionAddress[returnValue] : +# 1472| r1472_3(UnusualFields) = Call[returnValue] : func:r1472_2 +# 1472| m1472_4(unknown) = ^CallSideEffect : ~m1471_5 +# 1472| m1472_5(unknown) = Chi : total:m1471_5, partial:m1472_4 +# 1472| r1472_6(glval) = VariableAddress[#temp1472:13] : +# 1472| m1472_7(UnusualFields) = Store[#temp1472:13] : &:r1472_6, r1472_3 +# 1472| r1472_8(glval) = FieldAddress[r] : r1472_6 +# 1472| r1472_9(int &) = Load[?] : &:r1472_8, ~m1472_7 +# 1472| r1472_10(int) = Load[?] : &:r1472_9, ~m1472_5 +# 1472| m1472_11(int) = Store[x] : &:r1472_1, r1472_10 +# 1474| r1474_1(glval) = VariableAddress[rf] : +# 1474| r1474_2(glval) = FunctionAddress[returnValue] : +# 1474| r1474_3(UnusualFields) = Call[returnValue] : func:r1474_2 +# 1474| m1474_4(unknown) = ^CallSideEffect : ~m1472_5 +# 1474| m1474_5(unknown) = Chi : total:m1472_5, partial:m1474_4 +# 1474| r1474_6(glval) = VariableAddress[#temp1474:23] : +# 1474| m1474_7(UnusualFields) = Store[#temp1474:23] : &:r1474_6, r1474_3 +# 1474| r1474_8(glval) = FieldAddress[a] : r1474_6 +# 1474| r1474_9(float *) = Convert : r1474_8 +# 1474| r1474_10(int) = Constant[3] : +# 1474| r1474_11(glval) = PointerAdd[4] : r1474_9, r1474_10 +# 1474| r1474_12(glval) = Convert : r1474_11 +# 1474| r1474_13(float &) = CopyValue : r1474_12 +# 1474| m1474_14(float &) = Store[rf] : &:r1474_1, r1474_13 +# 1475| r1475_1(glval) = VariableAddress[f] : +# 1475| r1475_2(glval) = FunctionAddress[returnValue] : +# 1475| r1475_3(UnusualFields) = Call[returnValue] : func:r1475_2 +# 1475| m1475_4(unknown) = ^CallSideEffect : ~m1474_5 +# 1475| m1475_5(unknown) = Chi : total:m1474_5, partial:m1475_4 +# 1475| r1475_6(glval) = VariableAddress[#temp1475:15] : +# 1475| m1475_7(UnusualFields) = Store[#temp1475:15] : &:r1475_6, r1475_3 +# 1475| r1475_8(glval) = FieldAddress[a] : r1475_6 +# 1475| r1475_9(float *) = Convert : r1475_8 +# 1475| r1475_10(int) = Constant[5] : +# 1475| r1475_11(glval) = PointerAdd[4] : r1475_9, r1475_10 +# 1475| r1475_12(float) = Load[?] : &:r1475_11, ~m1475_7 +# 1475| m1475_13(float) = Store[f] : &:r1475_1, r1475_12 +# 1476| v1476_1(void) = NoOp : +# 1470| v1470_5(void) = ReturnVoid : +# 1470| v1470_6(void) = AliasedUse : ~m1475_5 +# 1470| v1470_7(void) = ExitFunction : -# 1445| void temporary_hierarchy() -# 1445| Block 0 -# 1445| v1445_1(void) = EnterFunction : -# 1445| m1445_2(unknown) = AliasedDefinition : -# 1445| m1445_3(unknown) = InitializeNonLocal : -# 1445| m1445_4(unknown) = Chi : total:m1445_2, partial:m1445_3 -# 1446| r1446_1(glval) = VariableAddress[b] : +# 1492| void temporary_hierarchy() +# 1492| Block 0 +# 1492| v1492_1(void) = EnterFunction : +# 1492| m1492_2(unknown) = AliasedDefinition : +# 1492| m1492_3(unknown) = InitializeNonLocal : +# 1492| m1492_4(unknown) = Chi : total:m1492_2, partial:m1492_3 +# 1493| r1493_1(glval) = VariableAddress[b] : #-----| r0_1(glval) = VariableAddress[#temp0:0] : -# 1446| r1446_2(glval) = FunctionAddress[returnValue] : -# 1446| r1446_3(POD_Middle) = Call[returnValue] : func:r1446_2 -# 1446| m1446_4(unknown) = ^CallSideEffect : ~m1445_4 -# 1446| m1446_5(unknown) = Chi : total:m1445_4, partial:m1446_4 -# 1446| m1446_6(POD_Middle) = Store[#temp0:0] : &:r0_1, r1446_3 +# 1493| r1493_2(glval) = FunctionAddress[returnValue] : +# 1493| r1493_3(POD_Middle) = Call[returnValue] : func:r1493_2 +# 1493| m1493_4(unknown) = ^CallSideEffect : ~m1492_4 +# 1493| m1493_5(unknown) = Chi : total:m1492_4, partial:m1493_4 +# 1493| m1493_6(POD_Middle) = Store[#temp0:0] : &:r0_1, r1493_3 #-----| r0_2(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_1 -#-----| r0_3(POD_Base) = Load[?] : &:r0_2, ~m1446_6 -#-----| m0_4(POD_Base) = Store[b] : &:r1446_1, r0_3 -# 1447| r1447_1(glval) = VariableAddress[#temp1447:9] : -# 1447| r1447_2(glval) = FunctionAddress[returnValue] : -# 1447| r1447_3(POD_Derived) = Call[returnValue] : func:r1447_2 -# 1447| m1447_4(unknown) = ^CallSideEffect : ~m1446_5 -# 1447| m1447_5(unknown) = Chi : total:m1446_5, partial:m1447_4 -# 1447| m1447_6(POD_Derived) = Store[#temp1447:9] : &:r1447_1, r1447_3 -# 1447| r1447_7(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r1447_1 -# 1447| r1447_8(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r1447_7 -# 1447| r1447_9(POD_Base) = Load[?] : &:r1447_8, ~m1447_6 -# 1447| r1447_10(glval) = VariableAddress[b] : -# 1447| m1447_11(POD_Base) = Store[b] : &:r1447_10, r1447_9 -# 1448| r1448_1(glval) = VariableAddress[x] : +#-----| r0_3(POD_Base) = Load[?] : &:r0_2, ~m1493_6 +#-----| m0_4(POD_Base) = Store[b] : &:r1493_1, r0_3 +# 1494| r1494_1(glval) = VariableAddress[#temp1494:9] : +# 1494| r1494_2(glval) = FunctionAddress[returnValue] : +# 1494| r1494_3(POD_Derived) = Call[returnValue] : func:r1494_2 +# 1494| m1494_4(unknown) = ^CallSideEffect : ~m1493_5 +# 1494| m1494_5(unknown) = Chi : total:m1493_5, partial:m1494_4 +# 1494| m1494_6(POD_Derived) = Store[#temp1494:9] : &:r1494_1, r1494_3 +# 1494| r1494_7(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r1494_1 +# 1494| r1494_8(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r1494_7 +# 1494| r1494_9(POD_Base) = Load[?] : &:r1494_8, ~m1494_6 +# 1494| r1494_10(glval) = VariableAddress[b] : +# 1494| m1494_11(POD_Base) = Store[b] : &:r1494_10, r1494_9 +# 1495| r1495_1(glval) = VariableAddress[x] : #-----| r0_5(glval) = VariableAddress[#temp0:0] : -# 1448| r1448_2(glval) = FunctionAddress[returnValue] : -# 1448| r1448_3(POD_Derived) = Call[returnValue] : func:r1448_2 -# 1448| m1448_4(unknown) = ^CallSideEffect : ~m1447_5 -# 1448| m1448_5(unknown) = Chi : total:m1447_5, partial:m1448_4 -# 1448| m1448_6(POD_Derived) = Store[#temp0:0] : &:r0_5, r1448_3 +# 1495| r1495_2(glval) = FunctionAddress[returnValue] : +# 1495| r1495_3(POD_Derived) = Call[returnValue] : func:r1495_2 +# 1495| m1495_4(unknown) = ^CallSideEffect : ~m1494_5 +# 1495| m1495_5(unknown) = Chi : total:m1494_5, partial:m1495_4 +# 1495| m1495_6(POD_Derived) = Store[#temp0:0] : &:r0_5, r1495_3 #-----| r0_6(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r0_5 #-----| r0_7(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_6 -# 1448| r1448_7(glval) = FieldAddress[x] : r0_7 -# 1448| r1448_8(int) = Load[?] : &:r1448_7, ~m1448_6 -# 1448| m1448_9(int) = Store[x] : &:r1448_1, r1448_8 -# 1449| r1449_1(glval) = VariableAddress[f] : +# 1495| r1495_7(glval) = FieldAddress[x] : r0_7 +# 1495| r1495_8(int) = Load[?] : &:r1495_7, ~m1495_6 +# 1495| m1495_9(int) = Store[x] : &:r1495_1, r1495_8 +# 1496| r1496_1(glval) = VariableAddress[f] : #-----| r0_8(glval) = VariableAddress[#temp0:0] : -# 1449| r1449_2(glval) = FunctionAddress[returnValue] : -# 1449| r1449_3(POD_Derived) = Call[returnValue] : func:r1449_2 -# 1449| m1449_4(unknown) = ^CallSideEffect : ~m1448_5 -# 1449| m1449_5(unknown) = Chi : total:m1448_5, partial:m1449_4 -# 1449| m1449_6(POD_Derived) = Store[#temp0:0] : &:r0_8, r1449_3 +# 1496| r1496_2(glval) = FunctionAddress[returnValue] : +# 1496| r1496_3(POD_Derived) = Call[returnValue] : func:r1496_2 +# 1496| m1496_4(unknown) = ^CallSideEffect : ~m1495_5 +# 1496| m1496_5(unknown) = Chi : total:m1495_5, partial:m1496_4 +# 1496| m1496_6(POD_Derived) = Store[#temp0:0] : &:r0_8, r1496_3 #-----| r0_9(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r0_8 #-----| r0_10(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_9 #-----| r0_11(glval) = Convert : r0_10 -# 1449| r1449_7(glval) = FunctionAddress[f] : -# 1449| r1449_8(float) = Call[f] : func:r1449_7, this:r0_11 -# 1449| m1449_9(unknown) = ^CallSideEffect : ~m1449_5 -# 1449| m1449_10(unknown) = Chi : total:m1449_5, partial:m1449_9 -#-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_11, ~m1449_6 -# 1449| m1449_11(float) = Store[f] : &:r1449_1, r1449_8 -# 1450| v1450_1(void) = NoOp : -# 1445| v1445_5(void) = ReturnVoid : -# 1445| v1445_6(void) = AliasedUse : ~m1449_10 -# 1445| v1445_7(void) = ExitFunction : +# 1496| r1496_7(glval) = FunctionAddress[f] : +# 1496| r1496_8(float) = Call[f] : func:r1496_7, this:r0_11 +# 1496| m1496_9(unknown) = ^CallSideEffect : ~m1496_5 +# 1496| m1496_10(unknown) = Chi : total:m1496_5, partial:m1496_9 +#-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_11, ~m1496_6 +# 1496| m1496_11(float) = Store[f] : &:r1496_1, r1496_8 +# 1497| v1497_1(void) = NoOp : +# 1492| v1492_5(void) = ReturnVoid : +# 1492| v1492_6(void) = AliasedUse : ~m1496_10 +# 1492| v1492_7(void) = ExitFunction : -# 1453| void Inheritance_Test_B::~Inheritance_Test_B() -# 1453| Block 0 -# 1453| v1453_1(void) = EnterFunction : -# 1453| m1453_2(unknown) = AliasedDefinition : -# 1453| m1453_3(unknown) = InitializeNonLocal : -# 1453| m1453_4(unknown) = Chi : total:m1453_2, partial:m1453_3 -# 1453| r1453_5(glval) = VariableAddress[#this] : -# 1453| m1453_6(glval) = InitializeParameter[#this] : &:r1453_5 -# 1453| r1453_7(glval) = Load[#this] : &:r1453_5, m1453_6 -# 1453| m1453_8(Inheritance_Test_B) = InitializeIndirection[#this] : &:r1453_7 -# 1453| v1453_9(void) = NoOp : -# 1453| v1453_10(void) = ReturnIndirection[#this] : &:r1453_7, m1453_8 -# 1453| v1453_11(void) = ReturnVoid : -# 1453| v1453_12(void) = AliasedUse : m1453_3 -# 1453| v1453_13(void) = ExitFunction : +# 1500| void Inheritance_Test_B::~Inheritance_Test_B() +# 1500| Block 0 +# 1500| v1500_1(void) = EnterFunction : +# 1500| m1500_2(unknown) = AliasedDefinition : +# 1500| m1500_3(unknown) = InitializeNonLocal : +# 1500| m1500_4(unknown) = Chi : total:m1500_2, partial:m1500_3 +# 1500| r1500_5(glval) = VariableAddress[#this] : +# 1500| m1500_6(glval) = InitializeParameter[#this] : &:r1500_5 +# 1500| r1500_7(glval) = Load[#this] : &:r1500_5, m1500_6 +# 1500| m1500_8(Inheritance_Test_B) = InitializeIndirection[#this] : &:r1500_7 +# 1500| v1500_9(void) = NoOp : +# 1500| v1500_10(void) = ReturnIndirection[#this] : &:r1500_7, m1500_8 +# 1500| v1500_11(void) = ReturnVoid : +# 1500| v1500_12(void) = AliasedUse : m1500_3 +# 1500| v1500_13(void) = ExitFunction : -# 1459| void Inheritance_Test_A::Inheritance_Test_A() -# 1459| Block 0 -# 1459| v1459_1(void) = EnterFunction : -# 1459| m1459_2(unknown) = AliasedDefinition : -# 1459| m1459_3(unknown) = InitializeNonLocal : -# 1459| m1459_4(unknown) = Chi : total:m1459_2, partial:m1459_3 -# 1459| r1459_5(glval) = VariableAddress[#this] : -# 1459| m1459_6(glval) = InitializeParameter[#this] : &:r1459_5 -# 1459| r1459_7(glval) = Load[#this] : &:r1459_5, m1459_6 -# 1459| m1459_8(Inheritance_Test_A) = InitializeIndirection[#this] : &:r1459_7 -# 1459| r1459_9(glval) = FieldAddress[x] : m1459_6 -# 1459| r1459_10(int) = Constant[42] : -# 1459| m1459_11(int) = Store[?] : &:r1459_9, r1459_10 -# 1459| m1459_12(unknown) = Chi : total:m1459_8, partial:m1459_11 -# 1460| r1460_1(int) = Constant[3] : -# 1460| r1460_2(glval) = VariableAddress[#this] : -# 1460| r1460_3(Inheritance_Test_A *) = Load[#this] : &:r1460_2, m1459_6 -# 1460| r1460_4(glval) = FieldAddress[y] : r1460_3 -# 1460| m1460_5(int) = Store[?] : &:r1460_4, r1460_1 -# 1460| m1460_6(unknown) = Chi : total:m1459_12, partial:m1460_5 -# 1461| v1461_1(void) = NoOp : -# 1459| v1459_13(void) = ReturnIndirection[#this] : &:r1459_7, m1460_6 -# 1459| v1459_14(void) = ReturnVoid : -# 1459| v1459_15(void) = AliasedUse : m1459_3 -# 1459| v1459_16(void) = ExitFunction : +# 1506| void Inheritance_Test_A::Inheritance_Test_A() +# 1506| Block 0 +# 1506| v1506_1(void) = EnterFunction : +# 1506| m1506_2(unknown) = AliasedDefinition : +# 1506| m1506_3(unknown) = InitializeNonLocal : +# 1506| m1506_4(unknown) = Chi : total:m1506_2, partial:m1506_3 +# 1506| r1506_5(glval) = VariableAddress[#this] : +# 1506| m1506_6(glval) = InitializeParameter[#this] : &:r1506_5 +# 1506| r1506_7(glval) = Load[#this] : &:r1506_5, m1506_6 +# 1506| m1506_8(Inheritance_Test_A) = InitializeIndirection[#this] : &:r1506_7 +# 1506| r1506_9(glval) = FieldAddress[x] : m1506_6 +# 1506| r1506_10(int) = Constant[42] : +# 1506| m1506_11(int) = Store[?] : &:r1506_9, r1506_10 +# 1506| m1506_12(unknown) = Chi : total:m1506_8, partial:m1506_11 +# 1507| r1507_1(int) = Constant[3] : +# 1507| r1507_2(glval) = VariableAddress[#this] : +# 1507| r1507_3(Inheritance_Test_A *) = Load[#this] : &:r1507_2, m1506_6 +# 1507| r1507_4(glval) = FieldAddress[y] : r1507_3 +# 1507| m1507_5(int) = Store[?] : &:r1507_4, r1507_1 +# 1507| m1507_6(unknown) = Chi : total:m1506_12, partial:m1507_5 +# 1508| v1508_1(void) = NoOp : +# 1506| v1506_13(void) = ReturnIndirection[#this] : &:r1506_7, m1507_6 +# 1506| v1506_14(void) = ReturnVoid : +# 1506| v1506_15(void) = AliasedUse : m1506_3 +# 1506| v1506_16(void) = ExitFunction : -# 1464| void array_structured_binding() -# 1464| Block 0 -# 1464| v1464_1(void) = EnterFunction : -# 1464| m1464_2(unknown) = AliasedDefinition : -# 1464| m1464_3(unknown) = InitializeNonLocal : -# 1464| m1464_4(unknown) = Chi : total:m1464_2, partial:m1464_3 -# 1465| r1465_1(glval) = VariableAddress[xs] : -# 1465| m1465_2(int[2]) = Uninitialized[xs] : &:r1465_1 -# 1465| r1465_3(int) = Constant[0] : -# 1465| r1465_4(glval) = PointerAdd[4] : r1465_1, r1465_3 -# 1465| r1465_5(int) = Constant[1] : -# 1465| m1465_6(int) = Store[?] : &:r1465_4, r1465_5 -# 1465| m1465_7(int[2]) = Chi : total:m1465_2, partial:m1465_6 -# 1465| r1465_8(int) = Constant[1] : -# 1465| r1465_9(glval) = PointerAdd[4] : r1465_1, r1465_8 -# 1465| r1465_10(int) = Constant[2] : -# 1465| m1465_11(int) = Store[?] : &:r1465_9, r1465_10 -# 1465| m1465_12(int[2]) = Chi : total:m1465_7, partial:m1465_11 -# 1468| r1468_1(glval) = VariableAddress[(unnamed local variable)] : -# 1468| r1468_2(glval) = VariableAddress[xs] : -# 1468| r1468_3(int(&)[2]) = CopyValue : r1468_2 -# 1468| m1468_4(int(&)[2]) = Store[(unnamed local variable)] : &:r1468_1, r1468_3 -# 1468| r1468_5(glval) = VariableAddress[x0] : +# 1511| void array_structured_binding() +# 1511| Block 0 +# 1511| v1511_1(void) = EnterFunction : +# 1511| m1511_2(unknown) = AliasedDefinition : +# 1511| m1511_3(unknown) = InitializeNonLocal : +# 1511| m1511_4(unknown) = Chi : total:m1511_2, partial:m1511_3 +# 1512| r1512_1(glval) = VariableAddress[xs] : +# 1512| m1512_2(int[2]) = Uninitialized[xs] : &:r1512_1 +# 1512| r1512_3(int) = Constant[0] : +# 1512| r1512_4(glval) = PointerAdd[4] : r1512_1, r1512_3 +# 1512| r1512_5(int) = Constant[1] : +# 1512| m1512_6(int) = Store[?] : &:r1512_4, r1512_5 +# 1512| m1512_7(int[2]) = Chi : total:m1512_2, partial:m1512_6 +# 1512| r1512_8(int) = Constant[1] : +# 1512| r1512_9(glval) = PointerAdd[4] : r1512_1, r1512_8 +# 1512| r1512_10(int) = Constant[2] : +# 1512| m1512_11(int) = Store[?] : &:r1512_9, r1512_10 +# 1512| m1512_12(int[2]) = Chi : total:m1512_7, partial:m1512_11 +# 1515| r1515_1(glval) = VariableAddress[(unnamed local variable)] : +# 1515| r1515_2(glval) = VariableAddress[xs] : +# 1515| r1515_3(int(&)[2]) = CopyValue : r1515_2 +# 1515| m1515_4(int(&)[2]) = Store[(unnamed local variable)] : &:r1515_1, r1515_3 +# 1515| r1515_5(glval) = VariableAddress[x0] : #-----| r0_1(glval) = VariableAddress[(unnamed local variable)] : -#-----| r0_2(int(&)[2]) = Load[(unnamed local variable)] : &:r0_1, m1468_4 +#-----| r0_2(int(&)[2]) = Load[(unnamed local variable)] : &:r0_1, m1515_4 #-----| r0_3(glval) = CopyValue : r0_2 #-----| r0_4(int *) = Convert : r0_3 #-----| r0_5(unsigned long) = Constant[0] : #-----| r0_6(glval) = PointerAdd[4] : r0_4, r0_5 -#-----| m0_7(int &) = Store[x0] : &:r1468_5, r0_6 -# 1468| r1468_6(glval) = VariableAddress[x1] : +#-----| m0_7(int &) = Store[x0] : &:r1515_5, r0_6 +# 1515| r1515_6(glval) = VariableAddress[x1] : #-----| r0_8(glval) = VariableAddress[(unnamed local variable)] : -#-----| r0_9(int(&)[2]) = Load[(unnamed local variable)] : &:r0_8, m1468_4 +#-----| r0_9(int(&)[2]) = Load[(unnamed local variable)] : &:r0_8, m1515_4 #-----| r0_10(glval) = CopyValue : r0_9 #-----| r0_11(int *) = Convert : r0_10 #-----| r0_12(unsigned long) = Constant[1] : #-----| r0_13(glval) = PointerAdd[4] : r0_11, r0_12 -#-----| m0_14(int &) = Store[x1] : &:r1468_6, r0_13 -# 1469| r1469_1(int) = Constant[3] : -# 1469| r1469_2(glval) = VariableAddress[x1] : -# 1469| r1469_3(int &) = Load[x1] : &:r1469_2, m0_14 -# 1469| m1469_4(int) = Store[?] : &:r1469_3, r1469_1 -# 1469| m1469_5(int[2]) = Chi : total:m1465_12, partial:m1469_4 -# 1470| r1470_1(glval) = VariableAddress[rx1] : -# 1470| r1470_2(glval) = VariableAddress[x1] : -# 1470| r1470_3(int &) = Load[x1] : &:r1470_2, m0_14 -# 1470| r1470_4(int &) = CopyValue : r1470_3 -# 1470| m1470_5(int &) = Store[rx1] : &:r1470_1, r1470_4 -# 1471| r1471_1(glval) = VariableAddress[x] : -# 1471| r1471_2(glval) = VariableAddress[x1] : -# 1471| r1471_3(int &) = Load[x1] : &:r1471_2, m0_14 -# 1471| r1471_4(int) = Load[?] : &:r1471_3, m1469_4 -# 1471| m1471_5(int) = Store[x] : &:r1471_1, r1471_4 -# 1475| r1475_1(glval) = VariableAddress[unnamed_local_variable] : -# 1475| r1475_2(glval) = VariableAddress[xs] : -# 1475| r1475_3(int(&)[2]) = CopyValue : r1475_2 -# 1475| m1475_4(int(&)[2]) = Store[unnamed_local_variable] : &:r1475_1, r1475_3 -# 1476| r1476_1(glval) = VariableAddress[x0] : -# 1476| r1476_2(glval) = VariableAddress[unnamed_local_variable] : -# 1476| r1476_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1476_2, m1475_4 -# 1476| r1476_4(glval) = CopyValue : r1476_3 -# 1476| r1476_5(int *) = Convert : r1476_4 -# 1476| r1476_6(int) = Constant[0] : -# 1476| r1476_7(glval) = PointerAdd[4] : r1476_5, r1476_6 -# 1476| r1476_8(int &) = CopyValue : r1476_7 -# 1476| m1476_9(int &) = Store[x0] : &:r1476_1, r1476_8 -# 1477| r1477_1(glval) = VariableAddress[x1] : -# 1477| r1477_2(glval) = VariableAddress[unnamed_local_variable] : -# 1477| r1477_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1477_2, m1475_4 -# 1477| r1477_4(glval) = CopyValue : r1477_3 -# 1477| r1477_5(int *) = Convert : r1477_4 -# 1477| r1477_6(int) = Constant[1] : -# 1477| r1477_7(glval) = PointerAdd[4] : r1477_5, r1477_6 -# 1477| r1477_8(int &) = CopyValue : r1477_7 -# 1477| m1477_9(int &) = Store[x1] : &:r1477_1, r1477_8 -# 1478| r1478_1(int) = Constant[3] : -# 1478| r1478_2(glval) = VariableAddress[x1] : -# 1478| r1478_3(int &) = Load[x1] : &:r1478_2, m1477_9 -# 1478| r1478_4(glval) = CopyValue : r1478_3 -# 1478| m1478_5(int) = Store[?] : &:r1478_4, r1478_1 -# 1478| m1478_6(int[2]) = Chi : total:m1469_5, partial:m1478_5 -# 1479| r1479_1(glval) = VariableAddress[rx1] : -# 1479| r1479_2(glval) = VariableAddress[x1] : -# 1479| r1479_3(int &) = Load[x1] : &:r1479_2, m1477_9 -# 1479| r1479_4(glval) = CopyValue : r1479_3 -# 1479| r1479_5(int &) = CopyValue : r1479_4 -# 1479| m1479_6(int &) = Store[rx1] : &:r1479_1, r1479_5 -# 1480| r1480_1(glval) = VariableAddress[x] : -# 1480| r1480_2(glval) = VariableAddress[x1] : -# 1480| r1480_3(int &) = Load[x1] : &:r1480_2, m1477_9 -# 1480| r1480_4(int) = Load[?] : &:r1480_3, m1478_5 -# 1480| m1480_5(int) = Store[x] : &:r1480_1, r1480_4 -# 1482| v1482_1(void) = NoOp : -# 1464| v1464_5(void) = ReturnVoid : -# 1464| v1464_6(void) = AliasedUse : m1464_3 -# 1464| v1464_7(void) = ExitFunction : +#-----| m0_14(int &) = Store[x1] : &:r1515_6, r0_13 +# 1516| r1516_1(int) = Constant[3] : +# 1516| r1516_2(glval) = VariableAddress[x1] : +# 1516| r1516_3(int &) = Load[x1] : &:r1516_2, m0_14 +# 1516| m1516_4(int) = Store[?] : &:r1516_3, r1516_1 +# 1516| m1516_5(int[2]) = Chi : total:m1512_12, partial:m1516_4 +# 1517| r1517_1(glval) = VariableAddress[rx1] : +# 1517| r1517_2(glval) = VariableAddress[x1] : +# 1517| r1517_3(int &) = Load[x1] : &:r1517_2, m0_14 +# 1517| r1517_4(int &) = CopyValue : r1517_3 +# 1517| m1517_5(int &) = Store[rx1] : &:r1517_1, r1517_4 +# 1518| r1518_1(glval) = VariableAddress[x] : +# 1518| r1518_2(glval) = VariableAddress[x1] : +# 1518| r1518_3(int &) = Load[x1] : &:r1518_2, m0_14 +# 1518| r1518_4(int) = Load[?] : &:r1518_3, m1516_4 +# 1518| m1518_5(int) = Store[x] : &:r1518_1, r1518_4 +# 1522| r1522_1(glval) = VariableAddress[unnamed_local_variable] : +# 1522| r1522_2(glval) = VariableAddress[xs] : +# 1522| r1522_3(int(&)[2]) = CopyValue : r1522_2 +# 1522| m1522_4(int(&)[2]) = Store[unnamed_local_variable] : &:r1522_1, r1522_3 +# 1523| r1523_1(glval) = VariableAddress[x0] : +# 1523| r1523_2(glval) = VariableAddress[unnamed_local_variable] : +# 1523| r1523_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1523_2, m1522_4 +# 1523| r1523_4(glval) = CopyValue : r1523_3 +# 1523| r1523_5(int *) = Convert : r1523_4 +# 1523| r1523_6(int) = Constant[0] : +# 1523| r1523_7(glval) = PointerAdd[4] : r1523_5, r1523_6 +# 1523| r1523_8(int &) = CopyValue : r1523_7 +# 1523| m1523_9(int &) = Store[x0] : &:r1523_1, r1523_8 +# 1524| r1524_1(glval) = VariableAddress[x1] : +# 1524| r1524_2(glval) = VariableAddress[unnamed_local_variable] : +# 1524| r1524_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1524_2, m1522_4 +# 1524| r1524_4(glval) = CopyValue : r1524_3 +# 1524| r1524_5(int *) = Convert : r1524_4 +# 1524| r1524_6(int) = Constant[1] : +# 1524| r1524_7(glval) = PointerAdd[4] : r1524_5, r1524_6 +# 1524| r1524_8(int &) = CopyValue : r1524_7 +# 1524| m1524_9(int &) = Store[x1] : &:r1524_1, r1524_8 +# 1525| r1525_1(int) = Constant[3] : +# 1525| r1525_2(glval) = VariableAddress[x1] : +# 1525| r1525_3(int &) = Load[x1] : &:r1525_2, m1524_9 +# 1525| r1525_4(glval) = CopyValue : r1525_3 +# 1525| m1525_5(int) = Store[?] : &:r1525_4, r1525_1 +# 1525| m1525_6(int[2]) = Chi : total:m1516_5, partial:m1525_5 +# 1526| r1526_1(glval) = VariableAddress[rx1] : +# 1526| r1526_2(glval) = VariableAddress[x1] : +# 1526| r1526_3(int &) = Load[x1] : &:r1526_2, m1524_9 +# 1526| r1526_4(glval) = CopyValue : r1526_3 +# 1526| r1526_5(int &) = CopyValue : r1526_4 +# 1526| m1526_6(int &) = Store[rx1] : &:r1526_1, r1526_5 +# 1527| r1527_1(glval) = VariableAddress[x] : +# 1527| r1527_2(glval) = VariableAddress[x1] : +# 1527| r1527_3(int &) = Load[x1] : &:r1527_2, m1524_9 +# 1527| r1527_4(int) = Load[?] : &:r1527_3, m1525_5 +# 1527| m1527_5(int) = Store[x] : &:r1527_1, r1527_4 +# 1529| v1529_1(void) = NoOp : +# 1511| v1511_5(void) = ReturnVoid : +# 1511| v1511_6(void) = AliasedUse : m1511_3 +# 1511| v1511_7(void) = ExitFunction : -# 1484| void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct() -# 1484| Block 0 -# 1484| v1484_1(void) = EnterFunction : -# 1484| m1484_2(unknown) = AliasedDefinition : -# 1484| m1484_3(unknown) = InitializeNonLocal : -# 1484| m1484_4(unknown) = Chi : total:m1484_2, partial:m1484_3 -# 1484| r1484_5(glval) = VariableAddress[#this] : -# 1484| m1484_6(glval) = InitializeParameter[#this] : &:r1484_5 -# 1484| r1484_7(glval) = Load[#this] : &:r1484_5, m1484_6 -# 1484| m1484_8(StructuredBindingDataMemberMemberStruct) = InitializeIndirection[#this] : &:r1484_7 -# 1484| v1484_9(void) = NoOp : -# 1484| v1484_10(void) = ReturnIndirection[#this] : &:r1484_7, m1484_8 -# 1484| v1484_11(void) = ReturnVoid : -# 1484| v1484_12(void) = AliasedUse : m1484_3 -# 1484| v1484_13(void) = ExitFunction : +# 1531| void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct() +# 1531| Block 0 +# 1531| v1531_1(void) = EnterFunction : +# 1531| m1531_2(unknown) = AliasedDefinition : +# 1531| m1531_3(unknown) = InitializeNonLocal : +# 1531| m1531_4(unknown) = Chi : total:m1531_2, partial:m1531_3 +# 1531| r1531_5(glval) = VariableAddress[#this] : +# 1531| m1531_6(glval) = InitializeParameter[#this] : &:r1531_5 +# 1531| r1531_7(glval) = Load[#this] : &:r1531_5, m1531_6 +# 1531| m1531_8(StructuredBindingDataMemberMemberStruct) = InitializeIndirection[#this] : &:r1531_7 +# 1531| v1531_9(void) = NoOp : +# 1531| v1531_10(void) = ReturnIndirection[#this] : &:r1531_7, m1531_8 +# 1531| v1531_11(void) = ReturnVoid : +# 1531| v1531_12(void) = AliasedUse : m1531_3 +# 1531| v1531_13(void) = ExitFunction : -# 1488| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() -# 1488| Block 0 -# 1488| v1488_1(void) = EnterFunction : -# 1488| m1488_2(unknown) = AliasedDefinition : -# 1488| m1488_3(unknown) = InitializeNonLocal : -# 1488| m1488_4(unknown) = Chi : total:m1488_2, partial:m1488_3 -# 1488| r1488_5(glval) = VariableAddress[#this] : -# 1488| m1488_6(glval) = InitializeParameter[#this] : &:r1488_5 -# 1488| r1488_7(glval) = Load[#this] : &:r1488_5, m1488_6 -# 1488| m1488_8(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1488_7 -# 1488| v1488_9(void) = NoOp : -# 1488| v1488_10(void) = ReturnIndirection[#this] : &:r1488_7, m1488_8 -# 1488| v1488_11(void) = ReturnVoid : -# 1488| v1488_12(void) = AliasedUse : m1488_3 -# 1488| v1488_13(void) = ExitFunction : +# 1535| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() +# 1535| Block 0 +# 1535| v1535_1(void) = EnterFunction : +# 1535| m1535_2(unknown) = AliasedDefinition : +# 1535| m1535_3(unknown) = InitializeNonLocal : +# 1535| m1535_4(unknown) = Chi : total:m1535_2, partial:m1535_3 +# 1535| r1535_5(glval) = VariableAddress[#this] : +# 1535| m1535_6(glval) = InitializeParameter[#this] : &:r1535_5 +# 1535| r1535_7(glval) = Load[#this] : &:r1535_5, m1535_6 +# 1535| m1535_8(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1535_7 +# 1535| v1535_9(void) = NoOp : +# 1535| v1535_10(void) = ReturnIndirection[#this] : &:r1535_7, m1535_8 +# 1535| v1535_11(void) = ReturnVoid : +# 1535| v1535_12(void) = AliasedUse : m1535_3 +# 1535| v1535_13(void) = ExitFunction : -# 1488| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&) -# 1488| Block 0 -# 1488| v1488_1(void) = EnterFunction : -# 1488| m1488_2(unknown) = AliasedDefinition : -# 1488| m1488_3(unknown) = InitializeNonLocal : -# 1488| m1488_4(unknown) = Chi : total:m1488_2, partial:m1488_3 -# 1488| r1488_5(glval) = VariableAddress[#this] : -# 1488| m1488_6(glval) = InitializeParameter[#this] : &:r1488_5 -# 1488| r1488_7(glval) = Load[#this] : &:r1488_5, m1488_6 -# 1488| m1488_8(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1488_7 +# 1535| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&) +# 1535| Block 0 +# 1535| v1535_1(void) = EnterFunction : +# 1535| m1535_2(unknown) = AliasedDefinition : +# 1535| m1535_3(unknown) = InitializeNonLocal : +# 1535| m1535_4(unknown) = Chi : total:m1535_2, partial:m1535_3 +# 1535| r1535_5(glval) = VariableAddress[#this] : +# 1535| m1535_6(glval) = InitializeParameter[#this] : &:r1535_5 +# 1535| r1535_7(glval) = Load[#this] : &:r1535_5, m1535_6 +# 1535| m1535_8(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1535_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(StructuredBindingDataMemberStruct &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1488| r1488_9(glval) = FieldAddress[i] : m1488_6 -# 1488| r1488_10(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_11(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_10, m0_2 -# 1488| r1488_12(glval) = CopyValue : r1488_11 -# 1488| r1488_13(glval) = FieldAddress[i] : r1488_12 -# 1488| r1488_14(int) = Load[?] : &:r1488_13, ~m0_4 -# 1488| m1488_15(int) = Store[?] : &:r1488_9, r1488_14 -# 1488| m1488_16(unknown) = Chi : total:m1488_8, partial:m1488_15 -# 1488| r1488_17(glval) = FieldAddress[d] : m1488_6 -# 1488| r1488_18(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_19(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_18, m0_2 -# 1488| r1488_20(glval) = CopyValue : r1488_19 -# 1488| r1488_21(glval) = FieldAddress[d] : r1488_20 -# 1488| r1488_22(double) = Load[?] : &:r1488_21, ~m0_4 -# 1488| m1488_23(double) = Store[?] : &:r1488_17, r1488_22 -# 1488| m1488_24(unknown) = Chi : total:m1488_16, partial:m1488_23 -# 1488| r1488_25(glval) = FieldAddress[b] : m1488_6 -# 1488| r1488_26(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_27(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_26, m0_2 -# 1488| r1488_28(glval) = CopyValue : r1488_27 -# 1488| r1488_29(glval) = FieldAddress[b] : r1488_28 -# 1488| r1488_30(unsigned int) = Load[?] : &:r1488_29, ~m0_4 -# 1488| m1488_31(unsigned int) = Store[?] : &:r1488_25, r1488_30 -# 1488| m1488_32(unknown) = Chi : total:m1488_24, partial:m1488_31 -# 1488| r1488_33(glval) = FieldAddress[r] : m1488_6 -# 1488| r1488_34(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_35(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_34, m0_2 -# 1488| r1488_36(glval) = CopyValue : r1488_35 -# 1488| r1488_37(glval) = FieldAddress[r] : r1488_36 -# 1488| r1488_38(int &) = Load[?] : &:r1488_37, ~m0_4 -# 1488| m1488_39(int &) = Store[?] : &:r1488_33, r1488_38 -# 1488| m1488_40(unknown) = Chi : total:m1488_32, partial:m1488_39 -# 1488| r1488_41(glval) = FieldAddress[p] : m1488_6 -# 1488| r1488_42(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_43(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_42, m0_2 -# 1488| r1488_44(glval) = CopyValue : r1488_43 -# 1488| r1488_45(glval) = FieldAddress[p] : r1488_44 -# 1488| r1488_46(int *) = Load[?] : &:r1488_45, ~m0_4 -# 1488| m1488_47(int *) = Store[?] : &:r1488_41, r1488_46 -# 1488| m1488_48(unknown) = Chi : total:m1488_40, partial:m1488_47 -# 1488| r1488_49(glval) = FieldAddress[xs] : m1488_6 -# 1488| r1488_50(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_51(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_50, m0_2 -# 1488| r1488_52(glval) = CopyValue : r1488_51 -# 1488| r1488_53(glval) = FieldAddress[xs] : r1488_52 -# 1488| r1488_54(int[2]) = Load[?] : &:r1488_53, ~m0_4 -# 1488| m1488_55(int[2]) = Store[?] : &:r1488_49, r1488_54 -# 1488| m1488_56(unknown) = Chi : total:m1488_48, partial:m1488_55 -# 1488| r1488_57(glval) = FieldAddress[r_alt] : m1488_6 -# 1488| r1488_58(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_59(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_58, m0_2 -# 1488| r1488_60(glval) = CopyValue : r1488_59 -# 1488| r1488_61(glval) = FieldAddress[r_alt] : r1488_60 -# 1488| r1488_62(int &) = Load[?] : &:r1488_61, ~m0_4 -# 1488| m1488_63(int &) = Store[?] : &:r1488_57, r1488_62 -# 1488| m1488_64(unknown) = Chi : total:m1488_56, partial:m1488_63 -# 1488| r1488_65(glval) = FieldAddress[m] : m1488_6 -# 1488| r1488_66(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_67(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_66, m0_2 -# 1488| r1488_68(glval) = CopyValue : r1488_67 -# 1488| r1488_69(glval) = FieldAddress[m] : r1488_68 -# 1488| r1488_70(StructuredBindingDataMemberMemberStruct) = Load[?] : &:r1488_69, ~m0_4 -# 1488| m1488_71(StructuredBindingDataMemberMemberStruct) = Store[?] : &:r1488_65, r1488_70 -# 1488| m1488_72(unknown) = Chi : total:m1488_64, partial:m1488_71 -# 1488| v1488_73(void) = NoOp : -# 1488| v1488_74(void) = ReturnIndirection[#this] : &:r1488_7, m1488_72 +# 1535| r1535_9(glval) = FieldAddress[i] : m1535_6 +# 1535| r1535_10(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_11(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_10, m0_2 +# 1535| r1535_12(glval) = CopyValue : r1535_11 +# 1535| r1535_13(glval) = FieldAddress[i] : r1535_12 +# 1535| r1535_14(int) = Load[?] : &:r1535_13, ~m0_4 +# 1535| m1535_15(int) = Store[?] : &:r1535_9, r1535_14 +# 1535| m1535_16(unknown) = Chi : total:m1535_8, partial:m1535_15 +# 1535| r1535_17(glval) = FieldAddress[d] : m1535_6 +# 1535| r1535_18(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_19(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_18, m0_2 +# 1535| r1535_20(glval) = CopyValue : r1535_19 +# 1535| r1535_21(glval) = FieldAddress[d] : r1535_20 +# 1535| r1535_22(double) = Load[?] : &:r1535_21, ~m0_4 +# 1535| m1535_23(double) = Store[?] : &:r1535_17, r1535_22 +# 1535| m1535_24(unknown) = Chi : total:m1535_16, partial:m1535_23 +# 1535| r1535_25(glval) = FieldAddress[b] : m1535_6 +# 1535| r1535_26(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_27(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_26, m0_2 +# 1535| r1535_28(glval) = CopyValue : r1535_27 +# 1535| r1535_29(glval) = FieldAddress[b] : r1535_28 +# 1535| r1535_30(unsigned int) = Load[?] : &:r1535_29, ~m0_4 +# 1535| m1535_31(unsigned int) = Store[?] : &:r1535_25, r1535_30 +# 1535| m1535_32(unknown) = Chi : total:m1535_24, partial:m1535_31 +# 1535| r1535_33(glval) = FieldAddress[r] : m1535_6 +# 1535| r1535_34(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_35(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_34, m0_2 +# 1535| r1535_36(glval) = CopyValue : r1535_35 +# 1535| r1535_37(glval) = FieldAddress[r] : r1535_36 +# 1535| r1535_38(int &) = Load[?] : &:r1535_37, ~m0_4 +# 1535| m1535_39(int &) = Store[?] : &:r1535_33, r1535_38 +# 1535| m1535_40(unknown) = Chi : total:m1535_32, partial:m1535_39 +# 1535| r1535_41(glval) = FieldAddress[p] : m1535_6 +# 1535| r1535_42(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_43(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_42, m0_2 +# 1535| r1535_44(glval) = CopyValue : r1535_43 +# 1535| r1535_45(glval) = FieldAddress[p] : r1535_44 +# 1535| r1535_46(int *) = Load[?] : &:r1535_45, ~m0_4 +# 1535| m1535_47(int *) = Store[?] : &:r1535_41, r1535_46 +# 1535| m1535_48(unknown) = Chi : total:m1535_40, partial:m1535_47 +# 1535| r1535_49(glval) = FieldAddress[xs] : m1535_6 +# 1535| r1535_50(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_51(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_50, m0_2 +# 1535| r1535_52(glval) = CopyValue : r1535_51 +# 1535| r1535_53(glval) = FieldAddress[xs] : r1535_52 +# 1535| r1535_54(int[2]) = Load[?] : &:r1535_53, ~m0_4 +# 1535| m1535_55(int[2]) = Store[?] : &:r1535_49, r1535_54 +# 1535| m1535_56(unknown) = Chi : total:m1535_48, partial:m1535_55 +# 1535| r1535_57(glval) = FieldAddress[r_alt] : m1535_6 +# 1535| r1535_58(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_59(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_58, m0_2 +# 1535| r1535_60(glval) = CopyValue : r1535_59 +# 1535| r1535_61(glval) = FieldAddress[r_alt] : r1535_60 +# 1535| r1535_62(int &) = Load[?] : &:r1535_61, ~m0_4 +# 1535| m1535_63(int &) = Store[?] : &:r1535_57, r1535_62 +# 1535| m1535_64(unknown) = Chi : total:m1535_56, partial:m1535_63 +# 1535| r1535_65(glval) = FieldAddress[m] : m1535_6 +# 1535| r1535_66(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_67(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_66, m0_2 +# 1535| r1535_68(glval) = CopyValue : r1535_67 +# 1535| r1535_69(glval) = FieldAddress[m] : r1535_68 +# 1535| r1535_70(StructuredBindingDataMemberMemberStruct) = Load[?] : &:r1535_69, ~m0_4 +# 1535| m1535_71(StructuredBindingDataMemberMemberStruct) = Store[?] : &:r1535_65, r1535_70 +# 1535| m1535_72(unknown) = Chi : total:m1535_64, partial:m1535_71 +# 1535| v1535_73(void) = NoOp : +# 1535| v1535_74(void) = ReturnIndirection[#this] : &:r1535_7, m1535_72 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 1488| v1488_75(void) = ReturnVoid : -# 1488| v1488_76(void) = AliasedUse : m1488_3 -# 1488| v1488_77(void) = ExitFunction : +# 1535| v1535_75(void) = ReturnVoid : +# 1535| v1535_76(void) = AliasedUse : m1535_3 +# 1535| v1535_77(void) = ExitFunction : -# 1501| void data_member_structured_binding() -# 1501| Block 0 -# 1501| v1501_1(void) = EnterFunction : -# 1501| m1501_2(unknown) = AliasedDefinition : -# 1501| m1501_3(unknown) = InitializeNonLocal : -# 1501| m1501_4(unknown) = Chi : total:m1501_2, partial:m1501_3 -# 1502| r1502_1(glval) = VariableAddress[s] : -# 1502| m1502_2(StructuredBindingDataMemberStruct) = Uninitialized[s] : &:r1502_1 -# 1502| r1502_3(glval) = FunctionAddress[StructuredBindingDataMemberStruct] : -# 1502| v1502_4(void) = Call[StructuredBindingDataMemberStruct] : func:r1502_3, this:r1502_1 -# 1502| m1502_5(unknown) = ^CallSideEffect : ~m1501_4 -# 1502| m1502_6(unknown) = Chi : total:m1501_4, partial:m1502_5 -# 1502| m1502_7(StructuredBindingDataMemberStruct) = ^IndirectMayWriteSideEffect[-1] : &:r1502_1 -# 1502| m1502_8(StructuredBindingDataMemberStruct) = Chi : total:m1502_2, partial:m1502_7 -# 1505| r1505_1(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_2(glval) = VariableAddress[s] : -# 1505| r1505_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1505_2, m1502_8 -# 1505| m1505_4(StructuredBindingDataMemberStruct) = Store[(unnamed local variable)] : &:r1505_1, r1505_3 -# 1505| r1505_5(glval) = VariableAddress[i] : -# 1505| r1505_6(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_7(glval) = FieldAddress[i] : r1505_6 -# 1505| m1505_8(int &) = Store[i] : &:r1505_5, r1505_7 -# 1505| r1505_9(glval) = VariableAddress[d] : -# 1505| r1505_10(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_11(glval) = FieldAddress[d] : r1505_10 -# 1505| m1505_12(double &) = Store[d] : &:r1505_9, r1505_11 -# 1505| r1505_13(glval) = VariableAddress[b] : -# 1505| r1505_14(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_15(glval) = FieldAddress[b] : r1505_14 -# 1505| m1505_16(unsigned int &) = Store[b] : &:r1505_13, r1505_15 -# 1505| r1505_17(glval) = VariableAddress[r] : -# 1505| r1505_18(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_19(glval) = FieldAddress[r] : r1505_18 -# 1505| r1505_20(int &) = Load[?] : &:r1505_19, ~m1505_4 -# 1505| r1505_21(glval) = CopyValue : r1505_20 -# 1505| m1505_22(int &) = Store[r] : &:r1505_17, r1505_21 -# 1505| r1505_23(glval) = VariableAddress[p] : -# 1505| r1505_24(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_25(glval) = FieldAddress[p] : r1505_24 -# 1505| m1505_26(int *&) = Store[p] : &:r1505_23, r1505_25 -# 1505| r1505_27(glval) = VariableAddress[xs] : -# 1505| r1505_28(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_29(glval) = FieldAddress[xs] : r1505_28 -# 1505| m1505_30(int(&)[2]) = Store[xs] : &:r1505_27, r1505_29 -# 1505| r1505_31(glval) = VariableAddress[r_alt] : -# 1505| r1505_32(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_33(glval) = FieldAddress[r_alt] : r1505_32 -# 1505| r1505_34(int &) = Load[?] : &:r1505_33, ~m1505_4 -# 1505| r1505_35(glval) = CopyValue : r1505_34 -# 1505| m1505_36(int &) = Store[r_alt] : &:r1505_31, r1505_35 -# 1505| r1505_37(glval) = VariableAddress[m] : -# 1505| r1505_38(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_39(glval) = FieldAddress[m] : r1505_38 -# 1505| m1505_40(StructuredBindingDataMemberMemberStruct &) = Store[m] : &:r1505_37, r1505_39 -# 1506| r1506_1(double) = Constant[4.0] : -# 1506| r1506_2(glval) = VariableAddress[d] : -# 1506| r1506_3(double &) = Load[d] : &:r1506_2, m1505_12 -# 1506| m1506_4(double) = Store[?] : &:r1506_3, r1506_1 -# 1506| m1506_5(StructuredBindingDataMemberStruct) = Chi : total:m1505_4, partial:m1506_4 -# 1507| r1507_1(glval) = VariableAddress[rd] : -# 1507| r1507_2(glval) = VariableAddress[d] : -# 1507| r1507_3(double &) = Load[d] : &:r1507_2, m1505_12 -# 1507| r1507_4(double &) = CopyValue : r1507_3 -# 1507| m1507_5(double &) = Store[rd] : &:r1507_1, r1507_4 -# 1508| r1508_1(glval) = VariableAddress[v] : -# 1508| r1508_2(glval) = VariableAddress[i] : -# 1508| r1508_3(int &) = Load[i] : &:r1508_2, m1505_8 -# 1508| r1508_4(int) = Load[?] : &:r1508_3, ~m1505_4 -# 1508| m1508_5(int) = Store[v] : &:r1508_1, r1508_4 -# 1509| r1509_1(int) = Constant[5] : -# 1509| r1509_2(glval) = VariableAddress[r] : -# 1509| r1509_3(int &) = Load[r] : &:r1509_2, m1505_22 -# 1509| m1509_4(int) = Store[?] : &:r1509_3, r1509_1 -# 1509| m1509_5(unknown) = Chi : total:m1502_6, partial:m1509_4 -# 1510| r1510_1(int) = Constant[6] : -# 1510| r1510_2(glval) = VariableAddress[p] : -# 1510| r1510_3(int *&) = Load[p] : &:r1510_2, m1505_26 -# 1510| r1510_4(int *) = Load[?] : &:r1510_3, ~m1505_4 -# 1510| r1510_5(glval) = CopyValue : r1510_4 -# 1510| m1510_6(int) = Store[?] : &:r1510_5, r1510_1 -# 1510| m1510_7(unknown) = Chi : total:m1509_5, partial:m1510_6 -# 1511| r1511_1(glval) = VariableAddress[rr] : -# 1511| r1511_2(glval) = VariableAddress[r] : -# 1511| r1511_3(int &) = Load[r] : &:r1511_2, m1505_22 -# 1511| r1511_4(int &) = CopyValue : r1511_3 -# 1511| m1511_5(int &) = Store[rr] : &:r1511_1, r1511_4 -# 1512| r1512_1(glval) = VariableAddress[pr] : -# 1512| r1512_2(glval) = VariableAddress[r] : -# 1512| r1512_3(int &) = Load[r] : &:r1512_2, m1505_22 -# 1512| r1512_4(int *) = CopyValue : r1512_3 -# 1512| m1512_5(int *) = Store[pr] : &:r1512_1, r1512_4 -# 1513| r1513_1(glval) = VariableAddress[w] : -# 1513| r1513_2(glval) = VariableAddress[r] : -# 1513| r1513_3(int &) = Load[r] : &:r1513_2, m1505_22 -# 1513| r1513_4(int) = Load[?] : &:r1513_3, ~m1510_7 -# 1513| m1513_5(int) = Store[w] : &:r1513_1, r1513_4 -# 1517| r1517_1(glval) = VariableAddress[unnamed_local_variable] : -# 1517| r1517_2(glval) = VariableAddress[s] : -# 1517| r1517_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1517_2, m1502_8 -# 1517| m1517_4(StructuredBindingDataMemberStruct) = Store[unnamed_local_variable] : &:r1517_1, r1517_3 -# 1518| r1518_1(glval) = VariableAddress[i] : -# 1518| r1518_2(glval) = VariableAddress[unnamed_local_variable] : -# 1518| r1518_3(glval) = FieldAddress[i] : r1518_2 -# 1518| r1518_4(int &) = CopyValue : r1518_3 -# 1518| m1518_5(int &) = Store[i] : &:r1518_1, r1518_4 -# 1519| r1519_1(glval) = VariableAddress[d] : -# 1519| r1519_2(glval) = VariableAddress[unnamed_local_variable] : -# 1519| r1519_3(glval) = FieldAddress[d] : r1519_2 -# 1519| r1519_4(double &) = CopyValue : r1519_3 -# 1519| m1519_5(double &) = Store[d] : &:r1519_1, r1519_4 -# 1521| r1521_1(glval) = VariableAddress[r] : -# 1521| r1521_2(glval) = VariableAddress[unnamed_local_variable] : -# 1521| r1521_3(glval) = FieldAddress[r] : r1521_2 -# 1521| r1521_4(int &) = Load[?] : &:r1521_3, ~m1517_4 -# 1521| r1521_5(glval) = CopyValue : r1521_4 -# 1521| r1521_6(int &) = CopyValue : r1521_5 -# 1521| m1521_7(int &) = Store[r] : &:r1521_1, r1521_6 -# 1522| r1522_1(glval) = VariableAddress[p] : -# 1522| r1522_2(glval) = VariableAddress[unnamed_local_variable] : -# 1522| r1522_3(glval) = FieldAddress[p] : r1522_2 -# 1522| r1522_4(int *&) = CopyValue : r1522_3 -# 1522| m1522_5(int *&) = Store[p] : &:r1522_1, r1522_4 -# 1523| r1523_1(double) = Constant[4.0] : -# 1523| r1523_2(glval) = VariableAddress[d] : -# 1523| r1523_3(double &) = Load[d] : &:r1523_2, m1519_5 -# 1523| r1523_4(glval) = CopyValue : r1523_3 -# 1523| m1523_5(double) = Store[?] : &:r1523_4, r1523_1 -# 1523| m1523_6(StructuredBindingDataMemberStruct) = Chi : total:m1517_4, partial:m1523_5 -# 1524| r1524_1(glval) = VariableAddress[rd] : -# 1524| r1524_2(glval) = VariableAddress[d] : -# 1524| r1524_3(double &) = Load[d] : &:r1524_2, m1519_5 -# 1524| r1524_4(glval) = CopyValue : r1524_3 -# 1524| r1524_5(double &) = CopyValue : r1524_4 -# 1524| m1524_6(double &) = Store[rd] : &:r1524_1, r1524_5 -# 1525| r1525_1(glval) = VariableAddress[v] : -# 1525| r1525_2(glval) = VariableAddress[i] : -# 1525| r1525_3(int &) = Load[i] : &:r1525_2, m1518_5 -# 1525| r1525_4(int) = Load[?] : &:r1525_3, ~m1517_4 -# 1525| m1525_5(int) = Store[v] : &:r1525_1, r1525_4 -# 1526| r1526_1(int) = Constant[5] : -# 1526| r1526_2(glval) = VariableAddress[r] : -# 1526| r1526_3(int &) = Load[r] : &:r1526_2, m1521_7 -# 1526| r1526_4(glval) = CopyValue : r1526_3 -# 1526| m1526_5(int) = Store[?] : &:r1526_4, r1526_1 -# 1526| m1526_6(unknown) = Chi : total:m1510_7, partial:m1526_5 -# 1527| r1527_1(int) = Constant[6] : -# 1527| r1527_2(glval) = VariableAddress[p] : -# 1527| r1527_3(int *&) = Load[p] : &:r1527_2, m1522_5 -# 1527| r1527_4(int *) = Load[?] : &:r1527_3, ~m1517_4 -# 1527| r1527_5(glval) = CopyValue : r1527_4 -# 1527| m1527_6(int) = Store[?] : &:r1527_5, r1527_1 -# 1527| m1527_7(unknown) = Chi : total:m1526_6, partial:m1527_6 -# 1528| r1528_1(glval) = VariableAddress[rr] : -# 1528| r1528_2(glval) = VariableAddress[r] : -# 1528| r1528_3(int &) = Load[r] : &:r1528_2, m1521_7 -# 1528| r1528_4(glval) = CopyValue : r1528_3 -# 1528| r1528_5(int &) = CopyValue : r1528_4 -# 1528| m1528_6(int &) = Store[rr] : &:r1528_1, r1528_5 -# 1529| r1529_1(glval) = VariableAddress[pr] : -# 1529| r1529_2(glval) = VariableAddress[r] : -# 1529| r1529_3(int &) = Load[r] : &:r1529_2, m1521_7 -# 1529| r1529_4(glval) = CopyValue : r1529_3 -# 1529| r1529_5(int *) = CopyValue : r1529_4 -# 1529| m1529_6(int *) = Store[pr] : &:r1529_1, r1529_5 -# 1530| r1530_1(glval) = VariableAddress[w] : -# 1530| r1530_2(glval) = VariableAddress[r] : -# 1530| r1530_3(int &) = Load[r] : &:r1530_2, m1521_7 -# 1530| r1530_4(int) = Load[?] : &:r1530_3, ~m1527_7 -# 1530| m1530_5(int) = Store[w] : &:r1530_1, r1530_4 -# 1532| v1532_1(void) = NoOp : -# 1501| v1501_5(void) = ReturnVoid : -# 1501| v1501_6(void) = AliasedUse : ~m1527_7 -# 1501| v1501_7(void) = ExitFunction : +# 1548| void data_member_structured_binding() +# 1548| Block 0 +# 1548| v1548_1(void) = EnterFunction : +# 1548| m1548_2(unknown) = AliasedDefinition : +# 1548| m1548_3(unknown) = InitializeNonLocal : +# 1548| m1548_4(unknown) = Chi : total:m1548_2, partial:m1548_3 +# 1549| r1549_1(glval) = VariableAddress[s] : +# 1549| m1549_2(StructuredBindingDataMemberStruct) = Uninitialized[s] : &:r1549_1 +# 1549| r1549_3(glval) = FunctionAddress[StructuredBindingDataMemberStruct] : +# 1549| v1549_4(void) = Call[StructuredBindingDataMemberStruct] : func:r1549_3, this:r1549_1 +# 1549| m1549_5(unknown) = ^CallSideEffect : ~m1548_4 +# 1549| m1549_6(unknown) = Chi : total:m1548_4, partial:m1549_5 +# 1549| m1549_7(StructuredBindingDataMemberStruct) = ^IndirectMayWriteSideEffect[-1] : &:r1549_1 +# 1549| m1549_8(StructuredBindingDataMemberStruct) = Chi : total:m1549_2, partial:m1549_7 +# 1552| r1552_1(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_2(glval) = VariableAddress[s] : +# 1552| r1552_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1552_2, m1549_8 +# 1552| m1552_4(StructuredBindingDataMemberStruct) = Store[(unnamed local variable)] : &:r1552_1, r1552_3 +# 1552| r1552_5(glval) = VariableAddress[i] : +# 1552| r1552_6(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_7(glval) = FieldAddress[i] : r1552_6 +# 1552| m1552_8(int &) = Store[i] : &:r1552_5, r1552_7 +# 1552| r1552_9(glval) = VariableAddress[d] : +# 1552| r1552_10(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_11(glval) = FieldAddress[d] : r1552_10 +# 1552| m1552_12(double &) = Store[d] : &:r1552_9, r1552_11 +# 1552| r1552_13(glval) = VariableAddress[b] : +# 1552| r1552_14(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_15(glval) = FieldAddress[b] : r1552_14 +# 1552| m1552_16(unsigned int &) = Store[b] : &:r1552_13, r1552_15 +# 1552| r1552_17(glval) = VariableAddress[r] : +# 1552| r1552_18(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_19(glval) = FieldAddress[r] : r1552_18 +# 1552| r1552_20(int &) = Load[?] : &:r1552_19, ~m1552_4 +# 1552| r1552_21(glval) = CopyValue : r1552_20 +# 1552| m1552_22(int &) = Store[r] : &:r1552_17, r1552_21 +# 1552| r1552_23(glval) = VariableAddress[p] : +# 1552| r1552_24(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_25(glval) = FieldAddress[p] : r1552_24 +# 1552| m1552_26(int *&) = Store[p] : &:r1552_23, r1552_25 +# 1552| r1552_27(glval) = VariableAddress[xs] : +# 1552| r1552_28(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_29(glval) = FieldAddress[xs] : r1552_28 +# 1552| m1552_30(int(&)[2]) = Store[xs] : &:r1552_27, r1552_29 +# 1552| r1552_31(glval) = VariableAddress[r_alt] : +# 1552| r1552_32(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_33(glval) = FieldAddress[r_alt] : r1552_32 +# 1552| r1552_34(int &) = Load[?] : &:r1552_33, ~m1552_4 +# 1552| r1552_35(glval) = CopyValue : r1552_34 +# 1552| m1552_36(int &) = Store[r_alt] : &:r1552_31, r1552_35 +# 1552| r1552_37(glval) = VariableAddress[m] : +# 1552| r1552_38(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_39(glval) = FieldAddress[m] : r1552_38 +# 1552| m1552_40(StructuredBindingDataMemberMemberStruct &) = Store[m] : &:r1552_37, r1552_39 +# 1553| r1553_1(double) = Constant[4.0] : +# 1553| r1553_2(glval) = VariableAddress[d] : +# 1553| r1553_3(double &) = Load[d] : &:r1553_2, m1552_12 +# 1553| m1553_4(double) = Store[?] : &:r1553_3, r1553_1 +# 1553| m1553_5(StructuredBindingDataMemberStruct) = Chi : total:m1552_4, partial:m1553_4 +# 1554| r1554_1(glval) = VariableAddress[rd] : +# 1554| r1554_2(glval) = VariableAddress[d] : +# 1554| r1554_3(double &) = Load[d] : &:r1554_2, m1552_12 +# 1554| r1554_4(double &) = CopyValue : r1554_3 +# 1554| m1554_5(double &) = Store[rd] : &:r1554_1, r1554_4 +# 1555| r1555_1(glval) = VariableAddress[v] : +# 1555| r1555_2(glval) = VariableAddress[i] : +# 1555| r1555_3(int &) = Load[i] : &:r1555_2, m1552_8 +# 1555| r1555_4(int) = Load[?] : &:r1555_3, ~m1552_4 +# 1555| m1555_5(int) = Store[v] : &:r1555_1, r1555_4 +# 1556| r1556_1(int) = Constant[5] : +# 1556| r1556_2(glval) = VariableAddress[r] : +# 1556| r1556_3(int &) = Load[r] : &:r1556_2, m1552_22 +# 1556| m1556_4(int) = Store[?] : &:r1556_3, r1556_1 +# 1556| m1556_5(unknown) = Chi : total:m1549_6, partial:m1556_4 +# 1557| r1557_1(int) = Constant[6] : +# 1557| r1557_2(glval) = VariableAddress[p] : +# 1557| r1557_3(int *&) = Load[p] : &:r1557_2, m1552_26 +# 1557| r1557_4(int *) = Load[?] : &:r1557_3, ~m1552_4 +# 1557| r1557_5(glval) = CopyValue : r1557_4 +# 1557| m1557_6(int) = Store[?] : &:r1557_5, r1557_1 +# 1557| m1557_7(unknown) = Chi : total:m1556_5, partial:m1557_6 +# 1558| r1558_1(glval) = VariableAddress[rr] : +# 1558| r1558_2(glval) = VariableAddress[r] : +# 1558| r1558_3(int &) = Load[r] : &:r1558_2, m1552_22 +# 1558| r1558_4(int &) = CopyValue : r1558_3 +# 1558| m1558_5(int &) = Store[rr] : &:r1558_1, r1558_4 +# 1559| r1559_1(glval) = VariableAddress[pr] : +# 1559| r1559_2(glval) = VariableAddress[r] : +# 1559| r1559_3(int &) = Load[r] : &:r1559_2, m1552_22 +# 1559| r1559_4(int *) = CopyValue : r1559_3 +# 1559| m1559_5(int *) = Store[pr] : &:r1559_1, r1559_4 +# 1560| r1560_1(glval) = VariableAddress[w] : +# 1560| r1560_2(glval) = VariableAddress[r] : +# 1560| r1560_3(int &) = Load[r] : &:r1560_2, m1552_22 +# 1560| r1560_4(int) = Load[?] : &:r1560_3, ~m1557_7 +# 1560| m1560_5(int) = Store[w] : &:r1560_1, r1560_4 +# 1564| r1564_1(glval) = VariableAddress[unnamed_local_variable] : +# 1564| r1564_2(glval) = VariableAddress[s] : +# 1564| r1564_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1564_2, m1549_8 +# 1564| m1564_4(StructuredBindingDataMemberStruct) = Store[unnamed_local_variable] : &:r1564_1, r1564_3 +# 1565| r1565_1(glval) = VariableAddress[i] : +# 1565| r1565_2(glval) = VariableAddress[unnamed_local_variable] : +# 1565| r1565_3(glval) = FieldAddress[i] : r1565_2 +# 1565| r1565_4(int &) = CopyValue : r1565_3 +# 1565| m1565_5(int &) = Store[i] : &:r1565_1, r1565_4 +# 1566| r1566_1(glval) = VariableAddress[d] : +# 1566| r1566_2(glval) = VariableAddress[unnamed_local_variable] : +# 1566| r1566_3(glval) = FieldAddress[d] : r1566_2 +# 1566| r1566_4(double &) = CopyValue : r1566_3 +# 1566| m1566_5(double &) = Store[d] : &:r1566_1, r1566_4 +# 1568| r1568_1(glval) = VariableAddress[r] : +# 1568| r1568_2(glval) = VariableAddress[unnamed_local_variable] : +# 1568| r1568_3(glval) = FieldAddress[r] : r1568_2 +# 1568| r1568_4(int &) = Load[?] : &:r1568_3, ~m1564_4 +# 1568| r1568_5(glval) = CopyValue : r1568_4 +# 1568| r1568_6(int &) = CopyValue : r1568_5 +# 1568| m1568_7(int &) = Store[r] : &:r1568_1, r1568_6 +# 1569| r1569_1(glval) = VariableAddress[p] : +# 1569| r1569_2(glval) = VariableAddress[unnamed_local_variable] : +# 1569| r1569_3(glval) = FieldAddress[p] : r1569_2 +# 1569| r1569_4(int *&) = CopyValue : r1569_3 +# 1569| m1569_5(int *&) = Store[p] : &:r1569_1, r1569_4 +# 1570| r1570_1(double) = Constant[4.0] : +# 1570| r1570_2(glval) = VariableAddress[d] : +# 1570| r1570_3(double &) = Load[d] : &:r1570_2, m1566_5 +# 1570| r1570_4(glval) = CopyValue : r1570_3 +# 1570| m1570_5(double) = Store[?] : &:r1570_4, r1570_1 +# 1570| m1570_6(StructuredBindingDataMemberStruct) = Chi : total:m1564_4, partial:m1570_5 +# 1571| r1571_1(glval) = VariableAddress[rd] : +# 1571| r1571_2(glval) = VariableAddress[d] : +# 1571| r1571_3(double &) = Load[d] : &:r1571_2, m1566_5 +# 1571| r1571_4(glval) = CopyValue : r1571_3 +# 1571| r1571_5(double &) = CopyValue : r1571_4 +# 1571| m1571_6(double &) = Store[rd] : &:r1571_1, r1571_5 +# 1572| r1572_1(glval) = VariableAddress[v] : +# 1572| r1572_2(glval) = VariableAddress[i] : +# 1572| r1572_3(int &) = Load[i] : &:r1572_2, m1565_5 +# 1572| r1572_4(int) = Load[?] : &:r1572_3, ~m1564_4 +# 1572| m1572_5(int) = Store[v] : &:r1572_1, r1572_4 +# 1573| r1573_1(int) = Constant[5] : +# 1573| r1573_2(glval) = VariableAddress[r] : +# 1573| r1573_3(int &) = Load[r] : &:r1573_2, m1568_7 +# 1573| r1573_4(glval) = CopyValue : r1573_3 +# 1573| m1573_5(int) = Store[?] : &:r1573_4, r1573_1 +# 1573| m1573_6(unknown) = Chi : total:m1557_7, partial:m1573_5 +# 1574| r1574_1(int) = Constant[6] : +# 1574| r1574_2(glval) = VariableAddress[p] : +# 1574| r1574_3(int *&) = Load[p] : &:r1574_2, m1569_5 +# 1574| r1574_4(int *) = Load[?] : &:r1574_3, ~m1564_4 +# 1574| r1574_5(glval) = CopyValue : r1574_4 +# 1574| m1574_6(int) = Store[?] : &:r1574_5, r1574_1 +# 1574| m1574_7(unknown) = Chi : total:m1573_6, partial:m1574_6 +# 1575| r1575_1(glval) = VariableAddress[rr] : +# 1575| r1575_2(glval) = VariableAddress[r] : +# 1575| r1575_3(int &) = Load[r] : &:r1575_2, m1568_7 +# 1575| r1575_4(glval) = CopyValue : r1575_3 +# 1575| r1575_5(int &) = CopyValue : r1575_4 +# 1575| m1575_6(int &) = Store[rr] : &:r1575_1, r1575_5 +# 1576| r1576_1(glval) = VariableAddress[pr] : +# 1576| r1576_2(glval) = VariableAddress[r] : +# 1576| r1576_3(int &) = Load[r] : &:r1576_2, m1568_7 +# 1576| r1576_4(glval) = CopyValue : r1576_3 +# 1576| r1576_5(int *) = CopyValue : r1576_4 +# 1576| m1576_6(int *) = Store[pr] : &:r1576_1, r1576_5 +# 1577| r1577_1(glval) = VariableAddress[w] : +# 1577| r1577_2(glval) = VariableAddress[r] : +# 1577| r1577_3(int &) = Load[r] : &:r1577_2, m1568_7 +# 1577| r1577_4(int) = Load[?] : &:r1577_3, ~m1574_7 +# 1577| m1577_5(int) = Store[w] : &:r1577_1, r1577_4 +# 1579| v1579_1(void) = NoOp : +# 1548| v1548_5(void) = ReturnVoid : +# 1548| v1548_6(void) = AliasedUse : ~m1574_7 +# 1548| v1548_7(void) = ExitFunction : -# 1541| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet() -# 1541| Block 0 -# 1541| v1541_1(void) = EnterFunction : -# 1541| m1541_2(unknown) = AliasedDefinition : -# 1541| m1541_3(unknown) = InitializeNonLocal : -# 1541| m1541_4(unknown) = Chi : total:m1541_2, partial:m1541_3 -# 1541| r1541_5(glval) = VariableAddress[#this] : -# 1541| m1541_6(glval) = InitializeParameter[#this] : &:r1541_5 -# 1541| r1541_7(glval) = Load[#this] : &:r1541_5, m1541_6 -# 1541| m1541_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1541_7 -# 1541| v1541_9(void) = NoOp : -# 1541| v1541_10(void) = ReturnIndirection[#this] : &:r1541_7, m1541_8 -# 1541| v1541_11(void) = ReturnVoid : -# 1541| v1541_12(void) = AliasedUse : m1541_3 -# 1541| v1541_13(void) = ExitFunction : +# 1588| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet() +# 1588| Block 0 +# 1588| v1588_1(void) = EnterFunction : +# 1588| m1588_2(unknown) = AliasedDefinition : +# 1588| m1588_3(unknown) = InitializeNonLocal : +# 1588| m1588_4(unknown) = Chi : total:m1588_2, partial:m1588_3 +# 1588| r1588_5(glval) = VariableAddress[#this] : +# 1588| m1588_6(glval) = InitializeParameter[#this] : &:r1588_5 +# 1588| r1588_7(glval) = Load[#this] : &:r1588_5, m1588_6 +# 1588| m1588_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1588_7 +# 1588| v1588_9(void) = NoOp : +# 1588| v1588_10(void) = ReturnIndirection[#this] : &:r1588_7, m1588_8 +# 1588| v1588_11(void) = ReturnVoid : +# 1588| v1588_12(void) = AliasedUse : m1588_3 +# 1588| v1588_13(void) = ExitFunction : -# 1541| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet const&) -# 1541| Block 0 -# 1541| v1541_1(void) = EnterFunction : -# 1541| m1541_2(unknown) = AliasedDefinition : -# 1541| m1541_3(unknown) = InitializeNonLocal : -# 1541| m1541_4(unknown) = Chi : total:m1541_2, partial:m1541_3 -# 1541| r1541_5(glval) = VariableAddress[#this] : -# 1541| m1541_6(glval) = InitializeParameter[#this] : &:r1541_5 -# 1541| r1541_7(glval) = Load[#this] : &:r1541_5, m1541_6 -# 1541| m1541_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1541_7 +# 1588| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet const&) +# 1588| Block 0 +# 1588| v1588_1(void) = EnterFunction : +# 1588| m1588_2(unknown) = AliasedDefinition : +# 1588| m1588_3(unknown) = InitializeNonLocal : +# 1588| m1588_4(unknown) = Chi : total:m1588_2, partial:m1588_3 +# 1588| r1588_5(glval) = VariableAddress[#this] : +# 1588| m1588_6(glval) = InitializeParameter[#this] : &:r1588_5 +# 1588| r1588_7(glval) = Load[#this] : &:r1588_5, m1588_6 +# 1588| m1588_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1588_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(StructuredBindingTupleRefGet &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1541| r1541_9(glval) = FieldAddress[i] : m1541_6 -# 1541| r1541_10(glval) = VariableAddress[(unnamed parameter 0)] : -# 1541| r1541_11(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1541_10, m0_2 -# 1541| r1541_12(glval) = CopyValue : r1541_11 -# 1541| r1541_13(glval) = FieldAddress[i] : r1541_12 -# 1541| r1541_14(int) = Load[?] : &:r1541_13, ~m0_4 -# 1541| m1541_15(int) = Store[?] : &:r1541_9, r1541_14 -# 1541| m1541_16(unknown) = Chi : total:m1541_8, partial:m1541_15 -# 1541| r1541_17(glval) = FieldAddress[d] : m1541_6 -# 1541| r1541_18(glval) = VariableAddress[(unnamed parameter 0)] : -# 1541| r1541_19(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1541_18, m0_2 -# 1541| r1541_20(glval) = CopyValue : r1541_19 -# 1541| r1541_21(glval) = FieldAddress[d] : r1541_20 -# 1541| r1541_22(double) = Load[?] : &:r1541_21, ~m0_4 -# 1541| m1541_23(double) = Store[?] : &:r1541_17, r1541_22 -# 1541| m1541_24(unknown) = Chi : total:m1541_16, partial:m1541_23 -# 1541| r1541_25(glval) = FieldAddress[r] : m1541_6 -# 1541| r1541_26(glval) = VariableAddress[(unnamed parameter 0)] : -# 1541| r1541_27(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1541_26, m0_2 -# 1541| r1541_28(glval) = CopyValue : r1541_27 -# 1541| r1541_29(glval) = FieldAddress[r] : r1541_28 -# 1541| r1541_30(int &) = Load[?] : &:r1541_29, ~m0_4 -# 1541| m1541_31(int &) = Store[?] : &:r1541_25, r1541_30 -# 1541| m1541_32(unknown) = Chi : total:m1541_24, partial:m1541_31 -# 1541| v1541_33(void) = NoOp : -# 1541| v1541_34(void) = ReturnIndirection[#this] : &:r1541_7, m1541_32 +# 1588| r1588_9(glval) = FieldAddress[i] : m1588_6 +# 1588| r1588_10(glval) = VariableAddress[(unnamed parameter 0)] : +# 1588| r1588_11(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_10, m0_2 +# 1588| r1588_12(glval) = CopyValue : r1588_11 +# 1588| r1588_13(glval) = FieldAddress[i] : r1588_12 +# 1588| r1588_14(int) = Load[?] : &:r1588_13, ~m0_4 +# 1588| m1588_15(int) = Store[?] : &:r1588_9, r1588_14 +# 1588| m1588_16(unknown) = Chi : total:m1588_8, partial:m1588_15 +# 1588| r1588_17(glval) = FieldAddress[d] : m1588_6 +# 1588| r1588_18(glval) = VariableAddress[(unnamed parameter 0)] : +# 1588| r1588_19(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_18, m0_2 +# 1588| r1588_20(glval) = CopyValue : r1588_19 +# 1588| r1588_21(glval) = FieldAddress[d] : r1588_20 +# 1588| r1588_22(double) = Load[?] : &:r1588_21, ~m0_4 +# 1588| m1588_23(double) = Store[?] : &:r1588_17, r1588_22 +# 1588| m1588_24(unknown) = Chi : total:m1588_16, partial:m1588_23 +# 1588| r1588_25(glval) = FieldAddress[r] : m1588_6 +# 1588| r1588_26(glval) = VariableAddress[(unnamed parameter 0)] : +# 1588| r1588_27(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_26, m0_2 +# 1588| r1588_28(glval) = CopyValue : r1588_27 +# 1588| r1588_29(glval) = FieldAddress[r] : r1588_28 +# 1588| r1588_30(int &) = Load[?] : &:r1588_29, ~m0_4 +# 1588| m1588_31(int &) = Store[?] : &:r1588_25, r1588_30 +# 1588| m1588_32(unknown) = Chi : total:m1588_24, partial:m1588_31 +# 1588| v1588_33(void) = NoOp : +# 1588| v1588_34(void) = ReturnIndirection[#this] : &:r1588_7, m1588_32 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 1541| v1541_35(void) = ReturnVoid : -# 1541| v1541_36(void) = AliasedUse : m1541_3 -# 1541| v1541_37(void) = ExitFunction : +# 1588| v1588_35(void) = ReturnVoid : +# 1588| v1588_36(void) = AliasedUse : m1588_3 +# 1588| v1588_37(void) = ExitFunction : -# 1569| std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1569| Block 0 -# 1569| v1569_1(void) = EnterFunction : -# 1569| m1569_2(unknown) = AliasedDefinition : -# 1569| m1569_3(unknown) = InitializeNonLocal : -# 1569| m1569_4(unknown) = Chi : total:m1569_2, partial:m1569_3 -# 1569| r1569_5(glval) = VariableAddress[#this] : -# 1569| m1569_6(glval) = InitializeParameter[#this] : &:r1569_5 -# 1569| r1569_7(glval) = Load[#this] : &:r1569_5, m1569_6 -# 1569| m1569_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1569_7 -# 1570| r1570_1(glval) = VariableAddress[#return] : -# 1570| r1570_2(glval) = VariableAddress[#this] : -# 1570| r1570_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1570_2, m1569_6 -# 1570| r1570_4(glval) = FieldAddress[i] : r1570_3 -#-----| r0_1(int &) = CopyValue : r1570_4 -#-----| m0_2(int &) = Store[#return] : &:r1570_1, r0_1 -# 1569| v1569_9(void) = ReturnIndirection[#this] : &:r1569_7, m1569_8 -# 1569| r1569_10(glval) = VariableAddress[#return] : -# 1569| v1569_11(void) = ReturnValue : &:r1569_10, m0_2 -# 1569| v1569_12(void) = AliasedUse : m1569_3 -# 1569| v1569_13(void) = ExitFunction : +# 1616| std::tuple_element::type& StructuredBindingTupleRefGet::get() +# 1616| Block 0 +# 1616| v1616_1(void) = EnterFunction : +# 1616| m1616_2(unknown) = AliasedDefinition : +# 1616| m1616_3(unknown) = InitializeNonLocal : +# 1616| m1616_4(unknown) = Chi : total:m1616_2, partial:m1616_3 +# 1616| r1616_5(glval) = VariableAddress[#this] : +# 1616| m1616_6(glval) = InitializeParameter[#this] : &:r1616_5 +# 1616| r1616_7(glval) = Load[#this] : &:r1616_5, m1616_6 +# 1616| m1616_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1616_7 +# 1617| r1617_1(glval) = VariableAddress[#return] : +# 1617| r1617_2(glval) = VariableAddress[#this] : +# 1617| r1617_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1617_2, m1616_6 +# 1617| r1617_4(glval) = FieldAddress[i] : r1617_3 +#-----| r0_1(int &) = CopyValue : r1617_4 +#-----| m0_2(int &) = Store[#return] : &:r1617_1, r0_1 +# 1616| v1616_9(void) = ReturnIndirection[#this] : &:r1616_7, m1616_8 +# 1616| r1616_10(glval) = VariableAddress[#return] : +# 1616| v1616_11(void) = ReturnValue : &:r1616_10, m0_2 +# 1616| v1616_12(void) = AliasedUse : m1616_3 +# 1616| v1616_13(void) = ExitFunction : -# 1573| std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1573| Block 0 -# 1573| v1573_1(void) = EnterFunction : -# 1573| m1573_2(unknown) = AliasedDefinition : -# 1573| m1573_3(unknown) = InitializeNonLocal : -# 1573| m1573_4(unknown) = Chi : total:m1573_2, partial:m1573_3 -# 1573| r1573_5(glval) = VariableAddress[#this] : -# 1573| m1573_6(glval) = InitializeParameter[#this] : &:r1573_5 -# 1573| r1573_7(glval) = Load[#this] : &:r1573_5, m1573_6 -# 1573| m1573_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1573_7 -# 1574| r1574_1(glval) = VariableAddress[#return] : -# 1574| r1574_2(glval) = VariableAddress[#this] : -# 1574| r1574_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1574_2, m1573_6 -# 1574| r1574_4(glval) = FieldAddress[d] : r1574_3 -#-----| r0_1(double &) = CopyValue : r1574_4 -#-----| m0_2(double &) = Store[#return] : &:r1574_1, r0_1 -# 1573| v1573_9(void) = ReturnIndirection[#this] : &:r1573_7, m1573_8 -# 1573| r1573_10(glval) = VariableAddress[#return] : -# 1573| v1573_11(void) = ReturnValue : &:r1573_10, m0_2 -# 1573| v1573_12(void) = AliasedUse : m1573_3 -# 1573| v1573_13(void) = ExitFunction : +# 1620| std::tuple_element::type& StructuredBindingTupleRefGet::get() +# 1620| Block 0 +# 1620| v1620_1(void) = EnterFunction : +# 1620| m1620_2(unknown) = AliasedDefinition : +# 1620| m1620_3(unknown) = InitializeNonLocal : +# 1620| m1620_4(unknown) = Chi : total:m1620_2, partial:m1620_3 +# 1620| r1620_5(glval) = VariableAddress[#this] : +# 1620| m1620_6(glval) = InitializeParameter[#this] : &:r1620_5 +# 1620| r1620_7(glval) = Load[#this] : &:r1620_5, m1620_6 +# 1620| m1620_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1620_7 +# 1621| r1621_1(glval) = VariableAddress[#return] : +# 1621| r1621_2(glval) = VariableAddress[#this] : +# 1621| r1621_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1621_2, m1620_6 +# 1621| r1621_4(glval) = FieldAddress[d] : r1621_3 +#-----| r0_1(double &) = CopyValue : r1621_4 +#-----| m0_2(double &) = Store[#return] : &:r1621_1, r0_1 +# 1620| v1620_9(void) = ReturnIndirection[#this] : &:r1620_7, m1620_8 +# 1620| r1620_10(glval) = VariableAddress[#return] : +# 1620| v1620_11(void) = ReturnValue : &:r1620_10, m0_2 +# 1620| v1620_12(void) = AliasedUse : m1620_3 +# 1620| v1620_13(void) = ExitFunction : -# 1577| std::tuple_element::type StructuredBindingTupleRefGet::get() -# 1577| Block 0 -# 1577| v1577_1(void) = EnterFunction : -# 1577| m1577_2(unknown) = AliasedDefinition : -# 1577| m1577_3(unknown) = InitializeNonLocal : -# 1577| m1577_4(unknown) = Chi : total:m1577_2, partial:m1577_3 -# 1577| r1577_5(glval) = VariableAddress[#this] : -# 1577| m1577_6(glval) = InitializeParameter[#this] : &:r1577_5 -# 1577| r1577_7(glval) = Load[#this] : &:r1577_5, m1577_6 -# 1577| m1577_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1577_7 -# 1578| r1578_1(glval) = VariableAddress[#return] : -# 1578| r1578_2(glval) = VariableAddress[#this] : -# 1578| r1578_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1578_2, m1577_6 -# 1578| r1578_4(glval) = FieldAddress[r] : r1578_3 -# 1578| r1578_5(int &) = Load[?] : &:r1578_4, ~m1577_8 -# 1578| r1578_6(glval) = CopyValue : r1578_5 -# 1578| r1578_7(int &) = CopyValue : r1578_6 -# 1578| m1578_8(int &) = Store[#return] : &:r1578_1, r1578_7 -# 1577| v1577_9(void) = ReturnIndirection[#this] : &:r1577_7, m1577_8 -# 1577| r1577_10(glval) = VariableAddress[#return] : -# 1577| v1577_11(void) = ReturnValue : &:r1577_10, m1578_8 -# 1577| v1577_12(void) = AliasedUse : m1577_3 -# 1577| v1577_13(void) = ExitFunction : +# 1624| std::tuple_element::type StructuredBindingTupleRefGet::get() +# 1624| Block 0 +# 1624| v1624_1(void) = EnterFunction : +# 1624| m1624_2(unknown) = AliasedDefinition : +# 1624| m1624_3(unknown) = InitializeNonLocal : +# 1624| m1624_4(unknown) = Chi : total:m1624_2, partial:m1624_3 +# 1624| r1624_5(glval) = VariableAddress[#this] : +# 1624| m1624_6(glval) = InitializeParameter[#this] : &:r1624_5 +# 1624| r1624_7(glval) = Load[#this] : &:r1624_5, m1624_6 +# 1624| m1624_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1624_7 +# 1625| r1625_1(glval) = VariableAddress[#return] : +# 1625| r1625_2(glval) = VariableAddress[#this] : +# 1625| r1625_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1625_2, m1624_6 +# 1625| r1625_4(glval) = FieldAddress[r] : r1625_3 +# 1625| r1625_5(int &) = Load[?] : &:r1625_4, ~m1624_8 +# 1625| r1625_6(glval) = CopyValue : r1625_5 +# 1625| r1625_7(int &) = CopyValue : r1625_6 +# 1625| m1625_8(int &) = Store[#return] : &:r1625_1, r1625_7 +# 1624| v1624_9(void) = ReturnIndirection[#this] : &:r1624_7, m1624_8 +# 1624| r1624_10(glval) = VariableAddress[#return] : +# 1624| v1624_11(void) = ReturnValue : &:r1624_10, m1625_8 +# 1624| v1624_12(void) = AliasedUse : m1624_3 +# 1624| v1624_13(void) = ExitFunction : -# 1581| void tuple_structured_binding_ref_get() -# 1581| Block 0 -# 1581| v1581_1(void) = EnterFunction : -# 1581| m1581_2(unknown) = AliasedDefinition : -# 1581| m1581_3(unknown) = InitializeNonLocal : -# 1581| m1581_4(unknown) = Chi : total:m1581_2, partial:m1581_3 -# 1582| r1582_1(glval) = VariableAddress[t] : -# 1582| m1582_2(StructuredBindingTupleRefGet) = Uninitialized[t] : &:r1582_1 -# 1582| r1582_3(glval) = FunctionAddress[StructuredBindingTupleRefGet] : -# 1582| v1582_4(void) = Call[StructuredBindingTupleRefGet] : func:r1582_3, this:r1582_1 -# 1582| m1582_5(unknown) = ^CallSideEffect : ~m1581_4 -# 1582| m1582_6(unknown) = Chi : total:m1581_4, partial:m1582_5 -# 1582| m1582_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1582_1 -# 1582| m1582_8(StructuredBindingTupleRefGet) = Chi : total:m1582_2, partial:m1582_7 -# 1585| r1585_1(glval) = VariableAddress[(unnamed local variable)] : -# 1585| r1585_2(glval) = VariableAddress[t] : -# 1585| r1585_3(StructuredBindingTupleRefGet) = Load[t] : &:r1585_2, m1582_8 -# 1585| m1585_4(StructuredBindingTupleRefGet) = Store[(unnamed local variable)] : &:r1585_1, r1585_3 -# 1585| r1585_5(glval) = VariableAddress[i] : -# 1585| r1585_6(glval) = VariableAddress[(unnamed local variable)] : -# 1585| r1585_7(glval) = FunctionAddress[get] : -# 1585| r1585_8(int &) = Call[get] : func:r1585_7, this:r1585_6 -# 1585| m1585_9(unknown) = ^CallSideEffect : ~m1582_6 -# 1585| m1585_10(unknown) = Chi : total:m1582_6, partial:m1585_9 -# 1585| v1585_11(void) = ^IndirectReadSideEffect[-1] : &:r1585_6, m1585_4 -# 1585| m1585_12(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1585_6 -# 1585| m1585_13(StructuredBindingTupleRefGet) = Chi : total:m1585_4, partial:m1585_12 -# 1585| r1585_14(glval) = CopyValue : r1585_8 -# 1585| r1585_15(int &) = CopyValue : r1585_14 -# 1585| m1585_16(int &) = Store[i] : &:r1585_5, r1585_15 -# 1585| r1585_17(glval) = VariableAddress[d] : -# 1585| r1585_18(glval) = VariableAddress[(unnamed local variable)] : -# 1585| r1585_19(glval) = FunctionAddress[get] : -# 1585| r1585_20(double &) = Call[get] : func:r1585_19, this:r1585_18 -# 1585| m1585_21(unknown) = ^CallSideEffect : ~m1585_10 -# 1585| m1585_22(unknown) = Chi : total:m1585_10, partial:m1585_21 -# 1585| v1585_23(void) = ^IndirectReadSideEffect[-1] : &:r1585_18, m1585_13 -# 1585| m1585_24(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1585_18 -# 1585| m1585_25(StructuredBindingTupleRefGet) = Chi : total:m1585_13, partial:m1585_24 -# 1585| r1585_26(glval) = CopyValue : r1585_20 -# 1585| r1585_27(double &) = CopyValue : r1585_26 -# 1585| m1585_28(double &) = Store[d] : &:r1585_17, r1585_27 -# 1585| r1585_29(glval) = VariableAddress[r] : -# 1585| r1585_30(glval) = VariableAddress[(unnamed local variable)] : -# 1585| r1585_31(glval) = FunctionAddress[get] : -# 1585| r1585_32(int &) = Call[get] : func:r1585_31, this:r1585_30 -# 1585| m1585_33(unknown) = ^CallSideEffect : ~m1585_22 -# 1585| m1585_34(unknown) = Chi : total:m1585_22, partial:m1585_33 -# 1585| v1585_35(void) = ^IndirectReadSideEffect[-1] : &:r1585_30, m1585_25 -# 1585| m1585_36(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1585_30 -# 1585| m1585_37(StructuredBindingTupleRefGet) = Chi : total:m1585_25, partial:m1585_36 -# 1585| r1585_38(glval) = CopyValue : r1585_32 -# 1585| r1585_39(int &) = CopyValue : r1585_38 -# 1585| m1585_40(int &) = Store[r] : &:r1585_29, r1585_39 -# 1586| r1586_1(double) = Constant[4.0] : -# 1586| r1586_2(glval) = VariableAddress[d] : -# 1586| r1586_3(double &) = Load[d] : &:r1586_2, m1585_28 -# 1586| r1586_4(glval) = CopyValue : r1586_3 -# 1586| m1586_5(double) = Store[?] : &:r1586_4, r1586_1 -# 1586| m1586_6(StructuredBindingTupleRefGet) = Chi : total:m1585_37, partial:m1586_5 -# 1587| r1587_1(glval) = VariableAddress[rd] : -# 1587| r1587_2(glval) = VariableAddress[d] : -# 1587| r1587_3(double &) = Load[d] : &:r1587_2, m1585_28 -# 1587| r1587_4(glval) = CopyValue : r1587_3 -# 1587| r1587_5(double &) = CopyValue : r1587_4 -# 1587| m1587_6(double &) = Store[rd] : &:r1587_1, r1587_5 -# 1588| r1588_1(glval) = VariableAddress[v] : -# 1588| r1588_2(glval) = VariableAddress[i] : -# 1588| r1588_3(int &) = Load[i] : &:r1588_2, m1585_16 -# 1588| r1588_4(int) = Load[?] : &:r1588_3, ~m1585_37 -# 1588| m1588_5(int) = Store[v] : &:r1588_1, r1588_4 -# 1589| r1589_1(int) = Constant[5] : -# 1589| r1589_2(glval) = VariableAddress[r] : -# 1589| r1589_3(int &) = Load[r] : &:r1589_2, m1585_40 -# 1589| r1589_4(glval) = CopyValue : r1589_3 -# 1589| m1589_5(int) = Store[?] : &:r1589_4, r1589_1 -# 1589| m1589_6(unknown) = Chi : total:m1585_34, partial:m1589_5 -# 1590| r1590_1(glval) = VariableAddress[rr] : -# 1590| r1590_2(glval) = VariableAddress[r] : -# 1590| r1590_3(int &) = Load[r] : &:r1590_2, m1585_40 -# 1590| r1590_4(glval) = CopyValue : r1590_3 -# 1590| r1590_5(int &) = CopyValue : r1590_4 -# 1590| m1590_6(int &) = Store[rr] : &:r1590_1, r1590_5 -# 1591| r1591_1(glval) = VariableAddress[w] : -# 1591| r1591_2(glval) = VariableAddress[r] : -# 1591| r1591_3(int &) = Load[r] : &:r1591_2, m1585_40 -# 1591| r1591_4(int) = Load[?] : &:r1591_3, ~m1589_6 -# 1591| m1591_5(int) = Store[w] : &:r1591_1, r1591_4 -# 1595| r1595_1(glval) = VariableAddress[unnamed_local_variable] : -# 1595| r1595_2(glval) = VariableAddress[t] : -# 1595| r1595_3(StructuredBindingTupleRefGet) = Load[t] : &:r1595_2, m1582_8 -# 1595| m1595_4(StructuredBindingTupleRefGet) = Store[unnamed_local_variable] : &:r1595_1, r1595_3 -# 1596| r1596_1(glval) = VariableAddress[i] : -# 1596| r1596_2(glval) = VariableAddress[unnamed_local_variable] : -# 1596| r1596_3(glval) = FunctionAddress[get] : -# 1596| r1596_4(int &) = Call[get] : func:r1596_3, this:r1596_2 -# 1596| m1596_5(unknown) = ^CallSideEffect : ~m1589_6 -# 1596| m1596_6(unknown) = Chi : total:m1589_6, partial:m1596_5 -# 1596| v1596_7(void) = ^IndirectReadSideEffect[-1] : &:r1596_2, m1595_4 -# 1596| m1596_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1596_2 -# 1596| m1596_9(StructuredBindingTupleRefGet) = Chi : total:m1595_4, partial:m1596_8 -# 1596| r1596_10(glval) = CopyValue : r1596_4 -# 1596| r1596_11(int &) = CopyValue : r1596_10 -# 1596| m1596_12(int &) = Store[i] : &:r1596_1, r1596_11 -# 1597| r1597_1(glval) = VariableAddress[d] : -# 1597| r1597_2(glval) = VariableAddress[unnamed_local_variable] : -# 1597| r1597_3(glval) = FunctionAddress[get] : -# 1597| r1597_4(double &) = Call[get] : func:r1597_3, this:r1597_2 -# 1597| m1597_5(unknown) = ^CallSideEffect : ~m1596_6 -# 1597| m1597_6(unknown) = Chi : total:m1596_6, partial:m1597_5 -# 1597| v1597_7(void) = ^IndirectReadSideEffect[-1] : &:r1597_2, m1596_9 -# 1597| m1597_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1597_2 -# 1597| m1597_9(StructuredBindingTupleRefGet) = Chi : total:m1596_9, partial:m1597_8 -# 1597| r1597_10(glval) = CopyValue : r1597_4 -# 1597| r1597_11(double &) = CopyValue : r1597_10 -# 1597| m1597_12(double &) = Store[d] : &:r1597_1, r1597_11 -# 1598| r1598_1(glval) = VariableAddress[r] : -# 1598| r1598_2(glval) = VariableAddress[unnamed_local_variable] : -# 1598| r1598_3(glval) = FunctionAddress[get] : -# 1598| r1598_4(int &) = Call[get] : func:r1598_3, this:r1598_2 -# 1598| m1598_5(unknown) = ^CallSideEffect : ~m1597_6 -# 1598| m1598_6(unknown) = Chi : total:m1597_6, partial:m1598_5 -# 1598| v1598_7(void) = ^IndirectReadSideEffect[-1] : &:r1598_2, m1597_9 -# 1598| m1598_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1598_2 -# 1598| m1598_9(StructuredBindingTupleRefGet) = Chi : total:m1597_9, partial:m1598_8 -# 1598| r1598_10(glval) = CopyValue : r1598_4 -# 1598| r1598_11(int &) = CopyValue : r1598_10 -# 1598| m1598_12(int &) = Store[r] : &:r1598_1, r1598_11 -# 1599| r1599_1(double) = Constant[4.0] : -# 1599| r1599_2(glval) = VariableAddress[d] : -# 1599| r1599_3(double &) = Load[d] : &:r1599_2, m1597_12 -# 1599| r1599_4(glval) = CopyValue : r1599_3 -# 1599| m1599_5(double) = Store[?] : &:r1599_4, r1599_1 -# 1599| m1599_6(StructuredBindingTupleRefGet) = Chi : total:m1598_9, partial:m1599_5 -# 1600| r1600_1(glval) = VariableAddress[rd] : -# 1600| r1600_2(glval) = VariableAddress[d] : -# 1600| r1600_3(double &) = Load[d] : &:r1600_2, m1597_12 -# 1600| r1600_4(glval) = CopyValue : r1600_3 -# 1600| r1600_5(double &) = CopyValue : r1600_4 -# 1600| m1600_6(double &) = Store[rd] : &:r1600_1, r1600_5 -# 1601| r1601_1(glval) = VariableAddress[v] : -# 1601| r1601_2(glval) = VariableAddress[i] : -# 1601| r1601_3(int &) = Load[i] : &:r1601_2, m1596_12 -# 1601| r1601_4(int) = Load[?] : &:r1601_3, ~m1598_9 -# 1601| m1601_5(int) = Store[v] : &:r1601_1, r1601_4 -# 1602| r1602_1(int) = Constant[5] : -# 1602| r1602_2(glval) = VariableAddress[r] : -# 1602| r1602_3(int &) = Load[r] : &:r1602_2, m1598_12 -# 1602| r1602_4(glval) = CopyValue : r1602_3 -# 1602| m1602_5(int) = Store[?] : &:r1602_4, r1602_1 -# 1602| m1602_6(unknown) = Chi : total:m1598_6, partial:m1602_5 -# 1603| r1603_1(glval) = VariableAddress[rr] : -# 1603| r1603_2(glval) = VariableAddress[r] : -# 1603| r1603_3(int &) = Load[r] : &:r1603_2, m1598_12 -# 1603| r1603_4(glval) = CopyValue : r1603_3 -# 1603| r1603_5(int &) = CopyValue : r1603_4 -# 1603| m1603_6(int &) = Store[rr] : &:r1603_1, r1603_5 -# 1604| r1604_1(glval) = VariableAddress[w] : -# 1604| r1604_2(glval) = VariableAddress[r] : -# 1604| r1604_3(int &) = Load[r] : &:r1604_2, m1598_12 -# 1604| r1604_4(int) = Load[?] : &:r1604_3, ~m1602_6 -# 1604| m1604_5(int) = Store[w] : &:r1604_1, r1604_4 -# 1606| v1606_1(void) = NoOp : -# 1581| v1581_5(void) = ReturnVoid : -# 1581| v1581_6(void) = AliasedUse : ~m1602_6 -# 1581| v1581_7(void) = ExitFunction : +# 1628| void tuple_structured_binding_ref_get() +# 1628| Block 0 +# 1628| v1628_1(void) = EnterFunction : +# 1628| m1628_2(unknown) = AliasedDefinition : +# 1628| m1628_3(unknown) = InitializeNonLocal : +# 1628| m1628_4(unknown) = Chi : total:m1628_2, partial:m1628_3 +# 1629| r1629_1(glval) = VariableAddress[t] : +# 1629| m1629_2(StructuredBindingTupleRefGet) = Uninitialized[t] : &:r1629_1 +# 1629| r1629_3(glval) = FunctionAddress[StructuredBindingTupleRefGet] : +# 1629| v1629_4(void) = Call[StructuredBindingTupleRefGet] : func:r1629_3, this:r1629_1 +# 1629| m1629_5(unknown) = ^CallSideEffect : ~m1628_4 +# 1629| m1629_6(unknown) = Chi : total:m1628_4, partial:m1629_5 +# 1629| m1629_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1629_1 +# 1629| m1629_8(StructuredBindingTupleRefGet) = Chi : total:m1629_2, partial:m1629_7 +# 1632| r1632_1(glval) = VariableAddress[(unnamed local variable)] : +# 1632| r1632_2(glval) = VariableAddress[t] : +# 1632| r1632_3(StructuredBindingTupleRefGet) = Load[t] : &:r1632_2, m1629_8 +# 1632| m1632_4(StructuredBindingTupleRefGet) = Store[(unnamed local variable)] : &:r1632_1, r1632_3 +# 1632| r1632_5(glval) = VariableAddress[i] : +# 1632| r1632_6(glval) = VariableAddress[(unnamed local variable)] : +# 1632| r1632_7(glval) = FunctionAddress[get] : +# 1632| r1632_8(int &) = Call[get] : func:r1632_7, this:r1632_6 +# 1632| m1632_9(unknown) = ^CallSideEffect : ~m1629_6 +# 1632| m1632_10(unknown) = Chi : total:m1629_6, partial:m1632_9 +# 1632| v1632_11(void) = ^IndirectReadSideEffect[-1] : &:r1632_6, m1632_4 +# 1632| m1632_12(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1632_6 +# 1632| m1632_13(StructuredBindingTupleRefGet) = Chi : total:m1632_4, partial:m1632_12 +# 1632| r1632_14(glval) = CopyValue : r1632_8 +# 1632| r1632_15(int &) = CopyValue : r1632_14 +# 1632| m1632_16(int &) = Store[i] : &:r1632_5, r1632_15 +# 1632| r1632_17(glval) = VariableAddress[d] : +# 1632| r1632_18(glval) = VariableAddress[(unnamed local variable)] : +# 1632| r1632_19(glval) = FunctionAddress[get] : +# 1632| r1632_20(double &) = Call[get] : func:r1632_19, this:r1632_18 +# 1632| m1632_21(unknown) = ^CallSideEffect : ~m1632_10 +# 1632| m1632_22(unknown) = Chi : total:m1632_10, partial:m1632_21 +# 1632| v1632_23(void) = ^IndirectReadSideEffect[-1] : &:r1632_18, m1632_13 +# 1632| m1632_24(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1632_18 +# 1632| m1632_25(StructuredBindingTupleRefGet) = Chi : total:m1632_13, partial:m1632_24 +# 1632| r1632_26(glval) = CopyValue : r1632_20 +# 1632| r1632_27(double &) = CopyValue : r1632_26 +# 1632| m1632_28(double &) = Store[d] : &:r1632_17, r1632_27 +# 1632| r1632_29(glval) = VariableAddress[r] : +# 1632| r1632_30(glval) = VariableAddress[(unnamed local variable)] : +# 1632| r1632_31(glval) = FunctionAddress[get] : +# 1632| r1632_32(int &) = Call[get] : func:r1632_31, this:r1632_30 +# 1632| m1632_33(unknown) = ^CallSideEffect : ~m1632_22 +# 1632| m1632_34(unknown) = Chi : total:m1632_22, partial:m1632_33 +# 1632| v1632_35(void) = ^IndirectReadSideEffect[-1] : &:r1632_30, m1632_25 +# 1632| m1632_36(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1632_30 +# 1632| m1632_37(StructuredBindingTupleRefGet) = Chi : total:m1632_25, partial:m1632_36 +# 1632| r1632_38(glval) = CopyValue : r1632_32 +# 1632| r1632_39(int &) = CopyValue : r1632_38 +# 1632| m1632_40(int &) = Store[r] : &:r1632_29, r1632_39 +# 1633| r1633_1(double) = Constant[4.0] : +# 1633| r1633_2(glval) = VariableAddress[d] : +# 1633| r1633_3(double &) = Load[d] : &:r1633_2, m1632_28 +# 1633| r1633_4(glval) = CopyValue : r1633_3 +# 1633| m1633_5(double) = Store[?] : &:r1633_4, r1633_1 +# 1633| m1633_6(StructuredBindingTupleRefGet) = Chi : total:m1632_37, partial:m1633_5 +# 1634| r1634_1(glval) = VariableAddress[rd] : +# 1634| r1634_2(glval) = VariableAddress[d] : +# 1634| r1634_3(double &) = Load[d] : &:r1634_2, m1632_28 +# 1634| r1634_4(glval) = CopyValue : r1634_3 +# 1634| r1634_5(double &) = CopyValue : r1634_4 +# 1634| m1634_6(double &) = Store[rd] : &:r1634_1, r1634_5 +# 1635| r1635_1(glval) = VariableAddress[v] : +# 1635| r1635_2(glval) = VariableAddress[i] : +# 1635| r1635_3(int &) = Load[i] : &:r1635_2, m1632_16 +# 1635| r1635_4(int) = Load[?] : &:r1635_3, ~m1632_37 +# 1635| m1635_5(int) = Store[v] : &:r1635_1, r1635_4 +# 1636| r1636_1(int) = Constant[5] : +# 1636| r1636_2(glval) = VariableAddress[r] : +# 1636| r1636_3(int &) = Load[r] : &:r1636_2, m1632_40 +# 1636| r1636_4(glval) = CopyValue : r1636_3 +# 1636| m1636_5(int) = Store[?] : &:r1636_4, r1636_1 +# 1636| m1636_6(unknown) = Chi : total:m1632_34, partial:m1636_5 +# 1637| r1637_1(glval) = VariableAddress[rr] : +# 1637| r1637_2(glval) = VariableAddress[r] : +# 1637| r1637_3(int &) = Load[r] : &:r1637_2, m1632_40 +# 1637| r1637_4(glval) = CopyValue : r1637_3 +# 1637| r1637_5(int &) = CopyValue : r1637_4 +# 1637| m1637_6(int &) = Store[rr] : &:r1637_1, r1637_5 +# 1638| r1638_1(glval) = VariableAddress[w] : +# 1638| r1638_2(glval) = VariableAddress[r] : +# 1638| r1638_3(int &) = Load[r] : &:r1638_2, m1632_40 +# 1638| r1638_4(int) = Load[?] : &:r1638_3, ~m1636_6 +# 1638| m1638_5(int) = Store[w] : &:r1638_1, r1638_4 +# 1642| r1642_1(glval) = VariableAddress[unnamed_local_variable] : +# 1642| r1642_2(glval) = VariableAddress[t] : +# 1642| r1642_3(StructuredBindingTupleRefGet) = Load[t] : &:r1642_2, m1629_8 +# 1642| m1642_4(StructuredBindingTupleRefGet) = Store[unnamed_local_variable] : &:r1642_1, r1642_3 +# 1643| r1643_1(glval) = VariableAddress[i] : +# 1643| r1643_2(glval) = VariableAddress[unnamed_local_variable] : +# 1643| r1643_3(glval) = FunctionAddress[get] : +# 1643| r1643_4(int &) = Call[get] : func:r1643_3, this:r1643_2 +# 1643| m1643_5(unknown) = ^CallSideEffect : ~m1636_6 +# 1643| m1643_6(unknown) = Chi : total:m1636_6, partial:m1643_5 +# 1643| v1643_7(void) = ^IndirectReadSideEffect[-1] : &:r1643_2, m1642_4 +# 1643| m1643_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1643_2 +# 1643| m1643_9(StructuredBindingTupleRefGet) = Chi : total:m1642_4, partial:m1643_8 +# 1643| r1643_10(glval) = CopyValue : r1643_4 +# 1643| r1643_11(int &) = CopyValue : r1643_10 +# 1643| m1643_12(int &) = Store[i] : &:r1643_1, r1643_11 +# 1644| r1644_1(glval) = VariableAddress[d] : +# 1644| r1644_2(glval) = VariableAddress[unnamed_local_variable] : +# 1644| r1644_3(glval) = FunctionAddress[get] : +# 1644| r1644_4(double &) = Call[get] : func:r1644_3, this:r1644_2 +# 1644| m1644_5(unknown) = ^CallSideEffect : ~m1643_6 +# 1644| m1644_6(unknown) = Chi : total:m1643_6, partial:m1644_5 +# 1644| v1644_7(void) = ^IndirectReadSideEffect[-1] : &:r1644_2, m1643_9 +# 1644| m1644_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1644_2 +# 1644| m1644_9(StructuredBindingTupleRefGet) = Chi : total:m1643_9, partial:m1644_8 +# 1644| r1644_10(glval) = CopyValue : r1644_4 +# 1644| r1644_11(double &) = CopyValue : r1644_10 +# 1644| m1644_12(double &) = Store[d] : &:r1644_1, r1644_11 +# 1645| r1645_1(glval) = VariableAddress[r] : +# 1645| r1645_2(glval) = VariableAddress[unnamed_local_variable] : +# 1645| r1645_3(glval) = FunctionAddress[get] : +# 1645| r1645_4(int &) = Call[get] : func:r1645_3, this:r1645_2 +# 1645| m1645_5(unknown) = ^CallSideEffect : ~m1644_6 +# 1645| m1645_6(unknown) = Chi : total:m1644_6, partial:m1645_5 +# 1645| v1645_7(void) = ^IndirectReadSideEffect[-1] : &:r1645_2, m1644_9 +# 1645| m1645_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1645_2 +# 1645| m1645_9(StructuredBindingTupleRefGet) = Chi : total:m1644_9, partial:m1645_8 +# 1645| r1645_10(glval) = CopyValue : r1645_4 +# 1645| r1645_11(int &) = CopyValue : r1645_10 +# 1645| m1645_12(int &) = Store[r] : &:r1645_1, r1645_11 +# 1646| r1646_1(double) = Constant[4.0] : +# 1646| r1646_2(glval) = VariableAddress[d] : +# 1646| r1646_3(double &) = Load[d] : &:r1646_2, m1644_12 +# 1646| r1646_4(glval) = CopyValue : r1646_3 +# 1646| m1646_5(double) = Store[?] : &:r1646_4, r1646_1 +# 1646| m1646_6(StructuredBindingTupleRefGet) = Chi : total:m1645_9, partial:m1646_5 +# 1647| r1647_1(glval) = VariableAddress[rd] : +# 1647| r1647_2(glval) = VariableAddress[d] : +# 1647| r1647_3(double &) = Load[d] : &:r1647_2, m1644_12 +# 1647| r1647_4(glval) = CopyValue : r1647_3 +# 1647| r1647_5(double &) = CopyValue : r1647_4 +# 1647| m1647_6(double &) = Store[rd] : &:r1647_1, r1647_5 +# 1648| r1648_1(glval) = VariableAddress[v] : +# 1648| r1648_2(glval) = VariableAddress[i] : +# 1648| r1648_3(int &) = Load[i] : &:r1648_2, m1643_12 +# 1648| r1648_4(int) = Load[?] : &:r1648_3, ~m1645_9 +# 1648| m1648_5(int) = Store[v] : &:r1648_1, r1648_4 +# 1649| r1649_1(int) = Constant[5] : +# 1649| r1649_2(glval) = VariableAddress[r] : +# 1649| r1649_3(int &) = Load[r] : &:r1649_2, m1645_12 +# 1649| r1649_4(glval) = CopyValue : r1649_3 +# 1649| m1649_5(int) = Store[?] : &:r1649_4, r1649_1 +# 1649| m1649_6(unknown) = Chi : total:m1645_6, partial:m1649_5 +# 1650| r1650_1(glval) = VariableAddress[rr] : +# 1650| r1650_2(glval) = VariableAddress[r] : +# 1650| r1650_3(int &) = Load[r] : &:r1650_2, m1645_12 +# 1650| r1650_4(glval) = CopyValue : r1650_3 +# 1650| r1650_5(int &) = CopyValue : r1650_4 +# 1650| m1650_6(int &) = Store[rr] : &:r1650_1, r1650_5 +# 1651| r1651_1(glval) = VariableAddress[w] : +# 1651| r1651_2(glval) = VariableAddress[r] : +# 1651| r1651_3(int &) = Load[r] : &:r1651_2, m1645_12 +# 1651| r1651_4(int) = Load[?] : &:r1651_3, ~m1649_6 +# 1651| m1651_5(int) = Store[w] : &:r1651_1, r1651_4 +# 1653| v1653_1(void) = NoOp : +# 1628| v1628_5(void) = ReturnVoid : +# 1628| v1628_6(void) = AliasedUse : ~m1649_6 +# 1628| v1628_7(void) = ExitFunction : -# 1608| void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet() -# 1608| Block 0 -# 1608| v1608_1(void) = EnterFunction : -# 1608| m1608_2(unknown) = AliasedDefinition : -# 1608| m1608_3(unknown) = InitializeNonLocal : -# 1608| m1608_4(unknown) = Chi : total:m1608_2, partial:m1608_3 -# 1608| r1608_5(glval) = VariableAddress[#this] : -# 1608| m1608_6(glval) = InitializeParameter[#this] : &:r1608_5 -# 1608| r1608_7(glval) = Load[#this] : &:r1608_5, m1608_6 -# 1608| m1608_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1608_7 -# 1608| v1608_9(void) = NoOp : -# 1608| v1608_10(void) = ReturnIndirection[#this] : &:r1608_7, m1608_8 -# 1608| v1608_11(void) = ReturnVoid : -# 1608| v1608_12(void) = AliasedUse : m1608_3 -# 1608| v1608_13(void) = ExitFunction : +# 1655| void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet() +# 1655| Block 0 +# 1655| v1655_1(void) = EnterFunction : +# 1655| m1655_2(unknown) = AliasedDefinition : +# 1655| m1655_3(unknown) = InitializeNonLocal : +# 1655| m1655_4(unknown) = Chi : total:m1655_2, partial:m1655_3 +# 1655| r1655_5(glval) = VariableAddress[#this] : +# 1655| m1655_6(glval) = InitializeParameter[#this] : &:r1655_5 +# 1655| r1655_7(glval) = Load[#this] : &:r1655_5, m1655_6 +# 1655| m1655_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1655_7 +# 1655| v1655_9(void) = NoOp : +# 1655| v1655_10(void) = ReturnIndirection[#this] : &:r1655_7, m1655_8 +# 1655| v1655_11(void) = ReturnVoid : +# 1655| v1655_12(void) = AliasedUse : m1655_3 +# 1655| v1655_13(void) = ExitFunction : -# 1635| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1635| Block 0 -# 1635| v1635_1(void) = EnterFunction : -# 1635| m1635_2(unknown) = AliasedDefinition : -# 1635| m1635_3(unknown) = InitializeNonLocal : -# 1635| m1635_4(unknown) = Chi : total:m1635_2, partial:m1635_3 -# 1635| r1635_5(glval) = VariableAddress[#this] : -# 1635| m1635_6(glval) = InitializeParameter[#this] : &:r1635_5 -# 1635| r1635_7(glval) = Load[#this] : &:r1635_5, m1635_6 -# 1635| m1635_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1635_7 -# 1636| r1636_1(glval) = VariableAddress[#return] : -# 1636| r1636_2(glval) = VariableAddress[#this] : -# 1636| r1636_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1636_2, m1635_6 -# 1636| r1636_4(glval) = FieldAddress[i] : r1636_3 -# 1636| r1636_5(int) = Load[?] : &:r1636_4, ~m1635_8 -# 1636| m1636_6(int) = Store[#return] : &:r1636_1, r1636_5 -# 1635| v1635_9(void) = ReturnIndirection[#this] : &:r1635_7, m1635_8 -# 1635| r1635_10(glval) = VariableAddress[#return] : -# 1635| v1635_11(void) = ReturnValue : &:r1635_10, m1636_6 -# 1635| v1635_12(void) = AliasedUse : m1635_3 -# 1635| v1635_13(void) = ExitFunction : +# 1682| std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1682| Block 0 +# 1682| v1682_1(void) = EnterFunction : +# 1682| m1682_2(unknown) = AliasedDefinition : +# 1682| m1682_3(unknown) = InitializeNonLocal : +# 1682| m1682_4(unknown) = Chi : total:m1682_2, partial:m1682_3 +# 1682| r1682_5(glval) = VariableAddress[#this] : +# 1682| m1682_6(glval) = InitializeParameter[#this] : &:r1682_5 +# 1682| r1682_7(glval) = Load[#this] : &:r1682_5, m1682_6 +# 1682| m1682_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1682_7 +# 1683| r1683_1(glval) = VariableAddress[#return] : +# 1683| r1683_2(glval) = VariableAddress[#this] : +# 1683| r1683_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1683_2, m1682_6 +# 1683| r1683_4(glval) = FieldAddress[i] : r1683_3 +# 1683| r1683_5(int) = Load[?] : &:r1683_4, ~m1682_8 +# 1683| m1683_6(int) = Store[#return] : &:r1683_1, r1683_5 +# 1682| v1682_9(void) = ReturnIndirection[#this] : &:r1682_7, m1682_8 +# 1682| r1682_10(glval) = VariableAddress[#return] : +# 1682| v1682_11(void) = ReturnValue : &:r1682_10, m1683_6 +# 1682| v1682_12(void) = AliasedUse : m1682_3 +# 1682| v1682_13(void) = ExitFunction : -# 1639| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1639| Block 0 -# 1639| v1639_1(void) = EnterFunction : -# 1639| m1639_2(unknown) = AliasedDefinition : -# 1639| m1639_3(unknown) = InitializeNonLocal : -# 1639| m1639_4(unknown) = Chi : total:m1639_2, partial:m1639_3 -# 1639| r1639_5(glval) = VariableAddress[#this] : -# 1639| m1639_6(glval) = InitializeParameter[#this] : &:r1639_5 -# 1639| r1639_7(glval) = Load[#this] : &:r1639_5, m1639_6 -# 1639| m1639_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1639_7 -# 1640| r1640_1(glval) = VariableAddress[#return] : -# 1640| r1640_2(glval) = VariableAddress[#this] : -# 1640| r1640_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1640_2, m1639_6 -# 1640| r1640_4(glval) = FieldAddress[r] : r1640_3 -# 1640| r1640_5(int &) = Load[?] : &:r1640_4, ~m1639_8 -# 1640| r1640_6(glval) = CopyValue : r1640_5 -# 1640| r1640_7(int &) = CopyValue : r1640_6 -# 1640| m1640_8(int &) = Store[#return] : &:r1640_1, r1640_7 -# 1639| v1639_9(void) = ReturnIndirection[#this] : &:r1639_7, m1639_8 -# 1639| r1639_10(glval) = VariableAddress[#return] : -# 1639| v1639_11(void) = ReturnValue : &:r1639_10, m1640_8 -# 1639| v1639_12(void) = AliasedUse : m1639_3 -# 1639| v1639_13(void) = ExitFunction : +# 1686| std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1686| Block 0 +# 1686| v1686_1(void) = EnterFunction : +# 1686| m1686_2(unknown) = AliasedDefinition : +# 1686| m1686_3(unknown) = InitializeNonLocal : +# 1686| m1686_4(unknown) = Chi : total:m1686_2, partial:m1686_3 +# 1686| r1686_5(glval) = VariableAddress[#this] : +# 1686| m1686_6(glval) = InitializeParameter[#this] : &:r1686_5 +# 1686| r1686_7(glval) = Load[#this] : &:r1686_5, m1686_6 +# 1686| m1686_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1686_7 +# 1687| r1687_1(glval) = VariableAddress[#return] : +# 1687| r1687_2(glval) = VariableAddress[#this] : +# 1687| r1687_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1687_2, m1686_6 +# 1687| r1687_4(glval) = FieldAddress[r] : r1687_3 +# 1687| r1687_5(int &) = Load[?] : &:r1687_4, ~m1686_8 +# 1687| r1687_6(glval) = CopyValue : r1687_5 +# 1687| r1687_7(int &) = CopyValue : r1687_6 +# 1687| m1687_8(int &) = Store[#return] : &:r1687_1, r1687_7 +# 1686| v1686_9(void) = ReturnIndirection[#this] : &:r1686_7, m1686_8 +# 1686| r1686_10(glval) = VariableAddress[#return] : +# 1686| v1686_11(void) = ReturnValue : &:r1686_10, m1687_8 +# 1686| v1686_12(void) = AliasedUse : m1686_3 +# 1686| v1686_13(void) = ExitFunction : -# 1643| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1643| Block 0 -# 1643| v1643_1(void) = EnterFunction : -# 1643| m1643_2(unknown) = AliasedDefinition : -# 1643| m1643_3(unknown) = InitializeNonLocal : -# 1643| m1643_4(unknown) = Chi : total:m1643_2, partial:m1643_3 -# 1643| r1643_5(glval) = VariableAddress[#this] : -# 1643| m1643_6(glval) = InitializeParameter[#this] : &:r1643_5 -# 1643| r1643_7(glval) = Load[#this] : &:r1643_5, m1643_6 -# 1643| m1643_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1643_7 -# 1644| r1644_1(glval) = VariableAddress[#return] : -# 1644| r1644_2(glval) = VariableAddress[#temp1644:12] : -# 1644| r1644_3(int) = Constant[5] : -# 1644| m1644_4(int) = Store[#temp1644:12] : &:r1644_2, r1644_3 -# 1644| r1644_5(int &) = CopyValue : r1644_2 -# 1644| m1644_6(int &&) = Store[#return] : &:r1644_1, r1644_5 -# 1643| v1643_9(void) = ReturnIndirection[#this] : &:r1643_7, m1643_8 -# 1643| r1643_10(glval) = VariableAddress[#return] : -# 1643| v1643_11(void) = ReturnValue : &:r1643_10, m1644_6 -# 1643| v1643_12(void) = AliasedUse : m1643_3 -# 1643| v1643_13(void) = ExitFunction : +# 1690| std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1690| Block 0 +# 1690| v1690_1(void) = EnterFunction : +# 1690| m1690_2(unknown) = AliasedDefinition : +# 1690| m1690_3(unknown) = InitializeNonLocal : +# 1690| m1690_4(unknown) = Chi : total:m1690_2, partial:m1690_3 +# 1690| r1690_5(glval) = VariableAddress[#this] : +# 1690| m1690_6(glval) = InitializeParameter[#this] : &:r1690_5 +# 1690| r1690_7(glval) = Load[#this] : &:r1690_5, m1690_6 +# 1690| m1690_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1690_7 +# 1691| r1691_1(glval) = VariableAddress[#return] : +# 1691| r1691_2(glval) = VariableAddress[#temp1691:12] : +# 1691| r1691_3(int) = Constant[5] : +# 1691| m1691_4(int) = Store[#temp1691:12] : &:r1691_2, r1691_3 +# 1691| r1691_5(int &) = CopyValue : r1691_2 +# 1691| m1691_6(int &&) = Store[#return] : &:r1691_1, r1691_5 +# 1690| v1690_9(void) = ReturnIndirection[#this] : &:r1690_7, m1690_8 +# 1690| r1690_10(glval) = VariableAddress[#return] : +# 1690| v1690_11(void) = ReturnValue : &:r1690_10, m1691_6 +# 1690| v1690_12(void) = AliasedUse : m1690_3 +# 1690| v1690_13(void) = ExitFunction : -# 1647| void tuple_structured_binding_no_ref_get() -# 1647| Block 0 -# 1647| v1647_1(void) = EnterFunction : -# 1647| m1647_2(unknown) = AliasedDefinition : -# 1647| m1647_3(unknown) = InitializeNonLocal : -# 1647| m1647_4(unknown) = Chi : total:m1647_2, partial:m1647_3 -# 1648| r1648_1(glval) = VariableAddress[t] : -# 1648| m1648_2(StructuredBindingTupleNoRefGet) = Uninitialized[t] : &:r1648_1 -# 1648| r1648_3(glval) = FunctionAddress[StructuredBindingTupleNoRefGet] : -# 1648| v1648_4(void) = Call[StructuredBindingTupleNoRefGet] : func:r1648_3, this:r1648_1 -# 1648| m1648_5(unknown) = ^CallSideEffect : ~m1647_4 -# 1648| m1648_6(unknown) = Chi : total:m1647_4, partial:m1648_5 -# 1648| m1648_7(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1648_1 -# 1648| m1648_8(StructuredBindingTupleNoRefGet) = Chi : total:m1648_2, partial:m1648_7 -# 1651| r1651_1(glval) = VariableAddress[(unnamed local variable)] : -# 1651| r1651_2(glval) = VariableAddress[t] : -# 1651| r1651_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1651_2 -# 1651| m1651_4(StructuredBindingTupleNoRefGet &) = Store[(unnamed local variable)] : &:r1651_1, r1651_3 -# 1651| r1651_5(glval) = VariableAddress[i] : -# 1651| r1651_6(glval) = VariableAddress[#temp1651:16] : -# 1651| r1651_7(glval) = VariableAddress[(unnamed local variable)] : -# 1651| r1651_8(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1651_7, m1651_4 -# 1651| r1651_9(glval) = CopyValue : r1651_8 -# 1651| r1651_10(glval) = FunctionAddress[get] : -# 1651| r1651_11(int) = Call[get] : func:r1651_10, this:r1651_9 -# 1651| m1651_12(unknown) = ^CallSideEffect : ~m1648_6 -# 1651| m1651_13(unknown) = Chi : total:m1648_6, partial:m1651_12 -# 1651| v1651_14(void) = ^IndirectReadSideEffect[-1] : &:r1651_9, m1648_8 -# 1651| m1651_15(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1651_9 -# 1651| m1651_16(StructuredBindingTupleNoRefGet) = Chi : total:m1648_8, partial:m1651_15 -# 1651| m1651_17(int) = Store[#temp1651:16] : &:r1651_6, r1651_11 -# 1651| r1651_18(int &) = CopyValue : r1651_6 -# 1651| m1651_19(int &&) = Store[i] : &:r1651_5, r1651_18 -# 1651| r1651_20(glval) = VariableAddress[r] : -# 1651| r1651_21(glval) = VariableAddress[(unnamed local variable)] : -# 1651| r1651_22(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1651_21, m1651_4 -# 1651| r1651_23(glval) = CopyValue : r1651_22 -# 1651| r1651_24(glval) = FunctionAddress[get] : -# 1651| r1651_25(int &) = Call[get] : func:r1651_24, this:r1651_23 -# 1651| m1651_26(unknown) = ^CallSideEffect : ~m1651_13 -# 1651| m1651_27(unknown) = Chi : total:m1651_13, partial:m1651_26 -# 1651| v1651_28(void) = ^IndirectReadSideEffect[-1] : &:r1651_23, m1651_16 -# 1651| m1651_29(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1651_23 -# 1651| m1651_30(StructuredBindingTupleNoRefGet) = Chi : total:m1651_16, partial:m1651_29 -# 1651| r1651_31(glval) = CopyValue : r1651_25 -# 1651| r1651_32(int &) = CopyValue : r1651_31 -# 1651| m1651_33(int &) = Store[r] : &:r1651_20, r1651_32 -# 1651| r1651_34(glval) = VariableAddress[rv] : -# 1651| r1651_35(glval) = VariableAddress[(unnamed local variable)] : -# 1651| r1651_36(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1651_35, m1651_4 -# 1651| r1651_37(glval) = CopyValue : r1651_36 -# 1651| r1651_38(glval) = FunctionAddress[get] : -# 1651| r1651_39(int &&) = Call[get] : func:r1651_38, this:r1651_37 -# 1651| m1651_40(unknown) = ^CallSideEffect : ~m1651_27 -# 1651| m1651_41(unknown) = Chi : total:m1651_27, partial:m1651_40 -# 1651| v1651_42(void) = ^IndirectReadSideEffect[-1] : &:r1651_37, m1651_30 -# 1651| m1651_43(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1651_37 -# 1651| m1651_44(StructuredBindingTupleNoRefGet) = Chi : total:m1651_30, partial:m1651_43 -# 1651| r1651_45(glval) = CopyValue : r1651_39 -# 1651| r1651_46(int &) = CopyValue : r1651_45 -# 1651| m1651_47(int &&) = Store[rv] : &:r1651_34, r1651_46 -# 1652| r1652_1(int) = Constant[4] : -# 1652| r1652_2(glval) = VariableAddress[i] : -# 1652| r1652_3(int &&) = Load[i] : &:r1652_2, m1651_19 -# 1652| r1652_4(glval) = CopyValue : r1652_3 -# 1652| m1652_5(int) = Store[?] : &:r1652_4, r1652_1 -# 1653| r1653_1(glval) = VariableAddress[ri] : -# 1653| r1653_2(glval) = VariableAddress[i] : -# 1653| r1653_3(int &&) = Load[i] : &:r1653_2, m1651_19 -# 1653| r1653_4(glval) = CopyValue : r1653_3 -# 1653| r1653_5(int &) = CopyValue : r1653_4 -# 1653| m1653_6(int &) = Store[ri] : &:r1653_1, r1653_5 -# 1654| r1654_1(glval) = VariableAddress[v] : -# 1654| r1654_2(glval) = VariableAddress[i] : -# 1654| r1654_3(int &&) = Load[i] : &:r1654_2, m1651_19 -# 1654| r1654_4(int) = Load[?] : &:r1654_3, m1652_5 -# 1654| m1654_5(int) = Store[v] : &:r1654_1, r1654_4 -# 1655| r1655_1(int) = Constant[5] : -# 1655| r1655_2(glval) = VariableAddress[r] : -# 1655| r1655_3(int &) = Load[r] : &:r1655_2, m1651_33 -# 1655| r1655_4(glval) = CopyValue : r1655_3 -# 1655| m1655_5(int) = Store[?] : &:r1655_4, r1655_1 -# 1655| m1655_6(unknown) = Chi : total:m1651_41, partial:m1655_5 -# 1656| r1656_1(glval) = VariableAddress[rr] : -# 1656| r1656_2(glval) = VariableAddress[r] : -# 1656| r1656_3(int &) = Load[r] : &:r1656_2, m1651_33 -# 1656| r1656_4(glval) = CopyValue : r1656_3 -# 1656| r1656_5(int &) = CopyValue : r1656_4 -# 1656| m1656_6(int &) = Store[rr] : &:r1656_1, r1656_5 -# 1657| r1657_1(glval) = VariableAddress[w] : -# 1657| r1657_2(glval) = VariableAddress[r] : -# 1657| r1657_3(int &) = Load[r] : &:r1657_2, m1651_33 -# 1657| r1657_4(int) = Load[?] : &:r1657_3, ~m1655_6 -# 1657| m1657_5(int) = Store[w] : &:r1657_1, r1657_4 -# 1661| r1661_1(glval) = VariableAddress[unnamed_local_variable] : -# 1661| r1661_2(glval) = VariableAddress[t] : -# 1661| r1661_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1661_2 -# 1661| m1661_4(StructuredBindingTupleNoRefGet &) = Store[unnamed_local_variable] : &:r1661_1, r1661_3 -# 1662| r1662_1(glval) = VariableAddress[i] : -# 1662| r1662_2(glval) = VariableAddress[#temp1662:20] : -# 1662| r1662_3(glval) = VariableAddress[unnamed_local_variable] : -# 1662| r1662_4(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1662_3, m1661_4 -# 1662| r1662_5(glval) = CopyValue : r1662_4 -# 1662| r1662_6(glval) = FunctionAddress[get] : -# 1662| r1662_7(int) = Call[get] : func:r1662_6, this:r1662_5 -# 1662| m1662_8(unknown) = ^CallSideEffect : ~m1655_6 -# 1662| m1662_9(unknown) = Chi : total:m1655_6, partial:m1662_8 -# 1662| v1662_10(void) = ^IndirectReadSideEffect[-1] : &:r1662_5, m1651_44 -# 1662| m1662_11(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1662_5 -# 1662| m1662_12(StructuredBindingTupleNoRefGet) = Chi : total:m1651_44, partial:m1662_11 -# 1662| m1662_13(int) = Store[#temp1662:20] : &:r1662_2, r1662_7 -# 1662| r1662_14(int &) = CopyValue : r1662_2 -# 1662| m1662_15(int &&) = Store[i] : &:r1662_1, r1662_14 -# 1663| r1663_1(glval) = VariableAddress[r] : -# 1663| r1663_2(glval) = VariableAddress[unnamed_local_variable] : -# 1663| r1663_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1663_2, m1661_4 -# 1663| r1663_4(glval) = CopyValue : r1663_3 -# 1663| r1663_5(glval) = FunctionAddress[get] : -# 1663| r1663_6(int &) = Call[get] : func:r1663_5, this:r1663_4 -# 1663| m1663_7(unknown) = ^CallSideEffect : ~m1662_9 -# 1663| m1663_8(unknown) = Chi : total:m1662_9, partial:m1663_7 -# 1663| v1663_9(void) = ^IndirectReadSideEffect[-1] : &:r1663_4, m1662_12 -# 1663| m1663_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1663_4 -# 1663| m1663_11(StructuredBindingTupleNoRefGet) = Chi : total:m1662_12, partial:m1663_10 -# 1663| r1663_12(glval) = CopyValue : r1663_6 -# 1663| r1663_13(int &) = CopyValue : r1663_12 -# 1663| m1663_14(int &) = Store[r] : &:r1663_1, r1663_13 -# 1664| r1664_1(glval) = VariableAddress[rv] : -# 1664| r1664_2(glval) = VariableAddress[unnamed_local_variable] : -# 1664| r1664_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1664_2, m1661_4 -# 1664| r1664_4(glval) = CopyValue : r1664_3 -# 1664| r1664_5(glval) = FunctionAddress[get] : -# 1664| r1664_6(int &&) = Call[get] : func:r1664_5, this:r1664_4 -# 1664| m1664_7(unknown) = ^CallSideEffect : ~m1663_8 -# 1664| m1664_8(unknown) = Chi : total:m1663_8, partial:m1664_7 -# 1664| v1664_9(void) = ^IndirectReadSideEffect[-1] : &:r1664_4, m1663_11 -# 1664| m1664_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1664_4 -# 1664| m1664_11(StructuredBindingTupleNoRefGet) = Chi : total:m1663_11, partial:m1664_10 -# 1664| r1664_12(glval) = CopyValue : r1664_6 -# 1664| r1664_13(int &) = CopyValue : r1664_12 -# 1664| m1664_14(int &&) = Store[rv] : &:r1664_1, r1664_13 -# 1665| r1665_1(int) = Constant[4] : -# 1665| r1665_2(glval) = VariableAddress[i] : -# 1665| r1665_3(int &&) = Load[i] : &:r1665_2, m1662_15 -# 1665| r1665_4(glval) = CopyValue : r1665_3 -# 1665| m1665_5(int) = Store[?] : &:r1665_4, r1665_1 -# 1666| r1666_1(glval) = VariableAddress[ri] : -# 1666| r1666_2(glval) = VariableAddress[i] : -# 1666| r1666_3(int &&) = Load[i] : &:r1666_2, m1662_15 -# 1666| r1666_4(glval) = CopyValue : r1666_3 -# 1666| r1666_5(int &) = CopyValue : r1666_4 -# 1666| m1666_6(int &) = Store[ri] : &:r1666_1, r1666_5 -# 1667| r1667_1(glval) = VariableAddress[v] : -# 1667| r1667_2(glval) = VariableAddress[i] : -# 1667| r1667_3(int &&) = Load[i] : &:r1667_2, m1662_15 -# 1667| r1667_4(int) = Load[?] : &:r1667_3, m1665_5 -# 1667| m1667_5(int) = Store[v] : &:r1667_1, r1667_4 -# 1668| r1668_1(int) = Constant[5] : -# 1668| r1668_2(glval) = VariableAddress[r] : -# 1668| r1668_3(int &) = Load[r] : &:r1668_2, m1663_14 -# 1668| r1668_4(glval) = CopyValue : r1668_3 -# 1668| m1668_5(int) = Store[?] : &:r1668_4, r1668_1 -# 1668| m1668_6(unknown) = Chi : total:m1664_8, partial:m1668_5 -# 1669| r1669_1(glval) = VariableAddress[rr] : -# 1669| r1669_2(glval) = VariableAddress[r] : -# 1669| r1669_3(int &) = Load[r] : &:r1669_2, m1663_14 -# 1669| r1669_4(glval) = CopyValue : r1669_3 -# 1669| r1669_5(int &) = CopyValue : r1669_4 -# 1669| m1669_6(int &) = Store[rr] : &:r1669_1, r1669_5 -# 1670| r1670_1(glval) = VariableAddress[w] : -# 1670| r1670_2(glval) = VariableAddress[r] : -# 1670| r1670_3(int &) = Load[r] : &:r1670_2, m1663_14 -# 1670| r1670_4(int) = Load[?] : &:r1670_3, ~m1668_6 -# 1670| m1670_5(int) = Store[w] : &:r1670_1, r1670_4 -# 1672| v1672_1(void) = NoOp : -# 1647| v1647_5(void) = ReturnVoid : -# 1647| v1647_6(void) = AliasedUse : ~m1668_6 -# 1647| v1647_7(void) = ExitFunction : +# 1694| void tuple_structured_binding_no_ref_get() +# 1694| Block 0 +# 1694| v1694_1(void) = EnterFunction : +# 1694| m1694_2(unknown) = AliasedDefinition : +# 1694| m1694_3(unknown) = InitializeNonLocal : +# 1694| m1694_4(unknown) = Chi : total:m1694_2, partial:m1694_3 +# 1695| r1695_1(glval) = VariableAddress[t] : +# 1695| m1695_2(StructuredBindingTupleNoRefGet) = Uninitialized[t] : &:r1695_1 +# 1695| r1695_3(glval) = FunctionAddress[StructuredBindingTupleNoRefGet] : +# 1695| v1695_4(void) = Call[StructuredBindingTupleNoRefGet] : func:r1695_3, this:r1695_1 +# 1695| m1695_5(unknown) = ^CallSideEffect : ~m1694_4 +# 1695| m1695_6(unknown) = Chi : total:m1694_4, partial:m1695_5 +# 1695| m1695_7(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1695_1 +# 1695| m1695_8(StructuredBindingTupleNoRefGet) = Chi : total:m1695_2, partial:m1695_7 +# 1698| r1698_1(glval) = VariableAddress[(unnamed local variable)] : +# 1698| r1698_2(glval) = VariableAddress[t] : +# 1698| r1698_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1698_2 +# 1698| m1698_4(StructuredBindingTupleNoRefGet &) = Store[(unnamed local variable)] : &:r1698_1, r1698_3 +# 1698| r1698_5(glval) = VariableAddress[i] : +# 1698| r1698_6(glval) = VariableAddress[#temp1698:16] : +# 1698| r1698_7(glval) = VariableAddress[(unnamed local variable)] : +# 1698| r1698_8(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1698_7, m1698_4 +# 1698| r1698_9(glval) = CopyValue : r1698_8 +# 1698| r1698_10(glval) = FunctionAddress[get] : +# 1698| r1698_11(int) = Call[get] : func:r1698_10, this:r1698_9 +# 1698| m1698_12(unknown) = ^CallSideEffect : ~m1695_6 +# 1698| m1698_13(unknown) = Chi : total:m1695_6, partial:m1698_12 +# 1698| v1698_14(void) = ^IndirectReadSideEffect[-1] : &:r1698_9, m1695_8 +# 1698| m1698_15(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1698_9 +# 1698| m1698_16(StructuredBindingTupleNoRefGet) = Chi : total:m1695_8, partial:m1698_15 +# 1698| m1698_17(int) = Store[#temp1698:16] : &:r1698_6, r1698_11 +# 1698| r1698_18(int &) = CopyValue : r1698_6 +# 1698| m1698_19(int &&) = Store[i] : &:r1698_5, r1698_18 +# 1698| r1698_20(glval) = VariableAddress[r] : +# 1698| r1698_21(glval) = VariableAddress[(unnamed local variable)] : +# 1698| r1698_22(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1698_21, m1698_4 +# 1698| r1698_23(glval) = CopyValue : r1698_22 +# 1698| r1698_24(glval) = FunctionAddress[get] : +# 1698| r1698_25(int &) = Call[get] : func:r1698_24, this:r1698_23 +# 1698| m1698_26(unknown) = ^CallSideEffect : ~m1698_13 +# 1698| m1698_27(unknown) = Chi : total:m1698_13, partial:m1698_26 +# 1698| v1698_28(void) = ^IndirectReadSideEffect[-1] : &:r1698_23, m1698_16 +# 1698| m1698_29(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1698_23 +# 1698| m1698_30(StructuredBindingTupleNoRefGet) = Chi : total:m1698_16, partial:m1698_29 +# 1698| r1698_31(glval) = CopyValue : r1698_25 +# 1698| r1698_32(int &) = CopyValue : r1698_31 +# 1698| m1698_33(int &) = Store[r] : &:r1698_20, r1698_32 +# 1698| r1698_34(glval) = VariableAddress[rv] : +# 1698| r1698_35(glval) = VariableAddress[(unnamed local variable)] : +# 1698| r1698_36(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1698_35, m1698_4 +# 1698| r1698_37(glval) = CopyValue : r1698_36 +# 1698| r1698_38(glval) = FunctionAddress[get] : +# 1698| r1698_39(int &&) = Call[get] : func:r1698_38, this:r1698_37 +# 1698| m1698_40(unknown) = ^CallSideEffect : ~m1698_27 +# 1698| m1698_41(unknown) = Chi : total:m1698_27, partial:m1698_40 +# 1698| v1698_42(void) = ^IndirectReadSideEffect[-1] : &:r1698_37, m1698_30 +# 1698| m1698_43(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1698_37 +# 1698| m1698_44(StructuredBindingTupleNoRefGet) = Chi : total:m1698_30, partial:m1698_43 +# 1698| r1698_45(glval) = CopyValue : r1698_39 +# 1698| r1698_46(int &) = CopyValue : r1698_45 +# 1698| m1698_47(int &&) = Store[rv] : &:r1698_34, r1698_46 +# 1699| r1699_1(int) = Constant[4] : +# 1699| r1699_2(glval) = VariableAddress[i] : +# 1699| r1699_3(int &&) = Load[i] : &:r1699_2, m1698_19 +# 1699| r1699_4(glval) = CopyValue : r1699_3 +# 1699| m1699_5(int) = Store[?] : &:r1699_4, r1699_1 +# 1700| r1700_1(glval) = VariableAddress[ri] : +# 1700| r1700_2(glval) = VariableAddress[i] : +# 1700| r1700_3(int &&) = Load[i] : &:r1700_2, m1698_19 +# 1700| r1700_4(glval) = CopyValue : r1700_3 +# 1700| r1700_5(int &) = CopyValue : r1700_4 +# 1700| m1700_6(int &) = Store[ri] : &:r1700_1, r1700_5 +# 1701| r1701_1(glval) = VariableAddress[v] : +# 1701| r1701_2(glval) = VariableAddress[i] : +# 1701| r1701_3(int &&) = Load[i] : &:r1701_2, m1698_19 +# 1701| r1701_4(int) = Load[?] : &:r1701_3, m1699_5 +# 1701| m1701_5(int) = Store[v] : &:r1701_1, r1701_4 +# 1702| r1702_1(int) = Constant[5] : +# 1702| r1702_2(glval) = VariableAddress[r] : +# 1702| r1702_3(int &) = Load[r] : &:r1702_2, m1698_33 +# 1702| r1702_4(glval) = CopyValue : r1702_3 +# 1702| m1702_5(int) = Store[?] : &:r1702_4, r1702_1 +# 1702| m1702_6(unknown) = Chi : total:m1698_41, partial:m1702_5 +# 1703| r1703_1(glval) = VariableAddress[rr] : +# 1703| r1703_2(glval) = VariableAddress[r] : +# 1703| r1703_3(int &) = Load[r] : &:r1703_2, m1698_33 +# 1703| r1703_4(glval) = CopyValue : r1703_3 +# 1703| r1703_5(int &) = CopyValue : r1703_4 +# 1703| m1703_6(int &) = Store[rr] : &:r1703_1, r1703_5 +# 1704| r1704_1(glval) = VariableAddress[w] : +# 1704| r1704_2(glval) = VariableAddress[r] : +# 1704| r1704_3(int &) = Load[r] : &:r1704_2, m1698_33 +# 1704| r1704_4(int) = Load[?] : &:r1704_3, ~m1702_6 +# 1704| m1704_5(int) = Store[w] : &:r1704_1, r1704_4 +# 1708| r1708_1(glval) = VariableAddress[unnamed_local_variable] : +# 1708| r1708_2(glval) = VariableAddress[t] : +# 1708| r1708_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1708_2 +# 1708| m1708_4(StructuredBindingTupleNoRefGet &) = Store[unnamed_local_variable] : &:r1708_1, r1708_3 +# 1709| r1709_1(glval) = VariableAddress[i] : +# 1709| r1709_2(glval) = VariableAddress[#temp1709:20] : +# 1709| r1709_3(glval) = VariableAddress[unnamed_local_variable] : +# 1709| r1709_4(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1709_3, m1708_4 +# 1709| r1709_5(glval) = CopyValue : r1709_4 +# 1709| r1709_6(glval) = FunctionAddress[get] : +# 1709| r1709_7(int) = Call[get] : func:r1709_6, this:r1709_5 +# 1709| m1709_8(unknown) = ^CallSideEffect : ~m1702_6 +# 1709| m1709_9(unknown) = Chi : total:m1702_6, partial:m1709_8 +# 1709| v1709_10(void) = ^IndirectReadSideEffect[-1] : &:r1709_5, m1698_44 +# 1709| m1709_11(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1709_5 +# 1709| m1709_12(StructuredBindingTupleNoRefGet) = Chi : total:m1698_44, partial:m1709_11 +# 1709| m1709_13(int) = Store[#temp1709:20] : &:r1709_2, r1709_7 +# 1709| r1709_14(int &) = CopyValue : r1709_2 +# 1709| m1709_15(int &&) = Store[i] : &:r1709_1, r1709_14 +# 1710| r1710_1(glval) = VariableAddress[r] : +# 1710| r1710_2(glval) = VariableAddress[unnamed_local_variable] : +# 1710| r1710_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1710_2, m1708_4 +# 1710| r1710_4(glval) = CopyValue : r1710_3 +# 1710| r1710_5(glval) = FunctionAddress[get] : +# 1710| r1710_6(int &) = Call[get] : func:r1710_5, this:r1710_4 +# 1710| m1710_7(unknown) = ^CallSideEffect : ~m1709_9 +# 1710| m1710_8(unknown) = Chi : total:m1709_9, partial:m1710_7 +# 1710| v1710_9(void) = ^IndirectReadSideEffect[-1] : &:r1710_4, m1709_12 +# 1710| m1710_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1710_4 +# 1710| m1710_11(StructuredBindingTupleNoRefGet) = Chi : total:m1709_12, partial:m1710_10 +# 1710| r1710_12(glval) = CopyValue : r1710_6 +# 1710| r1710_13(int &) = CopyValue : r1710_12 +# 1710| m1710_14(int &) = Store[r] : &:r1710_1, r1710_13 +# 1711| r1711_1(glval) = VariableAddress[rv] : +# 1711| r1711_2(glval) = VariableAddress[unnamed_local_variable] : +# 1711| r1711_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1711_2, m1708_4 +# 1711| r1711_4(glval) = CopyValue : r1711_3 +# 1711| r1711_5(glval) = FunctionAddress[get] : +# 1711| r1711_6(int &&) = Call[get] : func:r1711_5, this:r1711_4 +# 1711| m1711_7(unknown) = ^CallSideEffect : ~m1710_8 +# 1711| m1711_8(unknown) = Chi : total:m1710_8, partial:m1711_7 +# 1711| v1711_9(void) = ^IndirectReadSideEffect[-1] : &:r1711_4, m1710_11 +# 1711| m1711_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1711_4 +# 1711| m1711_11(StructuredBindingTupleNoRefGet) = Chi : total:m1710_11, partial:m1711_10 +# 1711| r1711_12(glval) = CopyValue : r1711_6 +# 1711| r1711_13(int &) = CopyValue : r1711_12 +# 1711| m1711_14(int &&) = Store[rv] : &:r1711_1, r1711_13 +# 1712| r1712_1(int) = Constant[4] : +# 1712| r1712_2(glval) = VariableAddress[i] : +# 1712| r1712_3(int &&) = Load[i] : &:r1712_2, m1709_15 +# 1712| r1712_4(glval) = CopyValue : r1712_3 +# 1712| m1712_5(int) = Store[?] : &:r1712_4, r1712_1 +# 1713| r1713_1(glval) = VariableAddress[ri] : +# 1713| r1713_2(glval) = VariableAddress[i] : +# 1713| r1713_3(int &&) = Load[i] : &:r1713_2, m1709_15 +# 1713| r1713_4(glval) = CopyValue : r1713_3 +# 1713| r1713_5(int &) = CopyValue : r1713_4 +# 1713| m1713_6(int &) = Store[ri] : &:r1713_1, r1713_5 +# 1714| r1714_1(glval) = VariableAddress[v] : +# 1714| r1714_2(glval) = VariableAddress[i] : +# 1714| r1714_3(int &&) = Load[i] : &:r1714_2, m1709_15 +# 1714| r1714_4(int) = Load[?] : &:r1714_3, m1712_5 +# 1714| m1714_5(int) = Store[v] : &:r1714_1, r1714_4 +# 1715| r1715_1(int) = Constant[5] : +# 1715| r1715_2(glval) = VariableAddress[r] : +# 1715| r1715_3(int &) = Load[r] : &:r1715_2, m1710_14 +# 1715| r1715_4(glval) = CopyValue : r1715_3 +# 1715| m1715_5(int) = Store[?] : &:r1715_4, r1715_1 +# 1715| m1715_6(unknown) = Chi : total:m1711_8, partial:m1715_5 +# 1716| r1716_1(glval) = VariableAddress[rr] : +# 1716| r1716_2(glval) = VariableAddress[r] : +# 1716| r1716_3(int &) = Load[r] : &:r1716_2, m1710_14 +# 1716| r1716_4(glval) = CopyValue : r1716_3 +# 1716| r1716_5(int &) = CopyValue : r1716_4 +# 1716| m1716_6(int &) = Store[rr] : &:r1716_1, r1716_5 +# 1717| r1717_1(glval) = VariableAddress[w] : +# 1717| r1717_2(glval) = VariableAddress[r] : +# 1717| r1717_3(int &) = Load[r] : &:r1717_2, m1710_14 +# 1717| r1717_4(int) = Load[?] : &:r1717_3, ~m1715_6 +# 1717| m1717_5(int) = Store[w] : &:r1717_1, r1717_4 +# 1719| v1719_1(void) = NoOp : +# 1694| v1694_5(void) = ReturnVoid : +# 1694| v1694_6(void) = AliasedUse : ~m1715_6 +# 1694| v1694_7(void) = ExitFunction : -# 1674| void array_structured_binding_non_ref_init() -# 1674| Block 0 -# 1674| v1674_1(void) = EnterFunction : -# 1674| m1674_2(unknown) = AliasedDefinition : -# 1674| m1674_3(unknown) = InitializeNonLocal : -# 1674| m1674_4(unknown) = Chi : total:m1674_2, partial:m1674_3 -# 1675| r1675_1(glval) = VariableAddress[xs] : -# 1675| m1675_2(int[2]) = Uninitialized[xs] : &:r1675_1 -# 1675| r1675_3(int) = Constant[0] : -# 1675| r1675_4(glval) = PointerAdd[4] : r1675_1, r1675_3 -# 1675| r1675_5(int) = Constant[1] : -# 1675| m1675_6(int) = Store[?] : &:r1675_4, r1675_5 -# 1675| m1675_7(int[2]) = Chi : total:m1675_2, partial:m1675_6 -# 1675| r1675_8(int) = Constant[1] : -# 1675| r1675_9(glval) = PointerAdd[4] : r1675_1, r1675_8 -# 1675| r1675_10(int) = Constant[2] : -# 1675| m1675_11(int) = Store[?] : &:r1675_9, r1675_10 -# 1675| m1675_12(int[2]) = Chi : total:m1675_7, partial:m1675_11 -# 1676| r1676_1(glval) = VariableAddress[(unnamed local variable)] : -# 1676| r1676_2(glval) = VariableAddress[xs] : -# 1676| r1676_3(int[2]) = Load[xs] : &:r1676_2, m1675_12 -# 1676| m1676_4(int[2]) = Store[(unnamed local variable)] : &:r1676_1, r1676_3 -# 1676| r1676_5(glval) = VariableAddress[x0] : +# 1721| void array_structured_binding_non_ref_init() +# 1721| Block 0 +# 1721| v1721_1(void) = EnterFunction : +# 1721| m1721_2(unknown) = AliasedDefinition : +# 1721| m1721_3(unknown) = InitializeNonLocal : +# 1721| m1721_4(unknown) = Chi : total:m1721_2, partial:m1721_3 +# 1722| r1722_1(glval) = VariableAddress[xs] : +# 1722| m1722_2(int[2]) = Uninitialized[xs] : &:r1722_1 +# 1722| r1722_3(int) = Constant[0] : +# 1722| r1722_4(glval) = PointerAdd[4] : r1722_1, r1722_3 +# 1722| r1722_5(int) = Constant[1] : +# 1722| m1722_6(int) = Store[?] : &:r1722_4, r1722_5 +# 1722| m1722_7(int[2]) = Chi : total:m1722_2, partial:m1722_6 +# 1722| r1722_8(int) = Constant[1] : +# 1722| r1722_9(glval) = PointerAdd[4] : r1722_1, r1722_8 +# 1722| r1722_10(int) = Constant[2] : +# 1722| m1722_11(int) = Store[?] : &:r1722_9, r1722_10 +# 1722| m1722_12(int[2]) = Chi : total:m1722_7, partial:m1722_11 +# 1723| r1723_1(glval) = VariableAddress[(unnamed local variable)] : +# 1723| r1723_2(glval) = VariableAddress[xs] : +# 1723| r1723_3(int[2]) = Load[xs] : &:r1723_2, m1722_12 +# 1723| m1723_4(int[2]) = Store[(unnamed local variable)] : &:r1723_1, r1723_3 +# 1723| r1723_5(glval) = VariableAddress[x0] : #-----| r0_1(glval) = VariableAddress[(unnamed local variable)] : #-----| r0_2(int *) = Convert : r0_1 #-----| r0_3(unsigned long) = Constant[0] : #-----| r0_4(glval) = PointerAdd[4] : r0_2, r0_3 -#-----| m0_5(int &) = Store[x0] : &:r1676_5, r0_4 -# 1676| r1676_6(glval) = VariableAddress[x1] : +#-----| m0_5(int &) = Store[x0] : &:r1723_5, r0_4 +# 1723| r1723_6(glval) = VariableAddress[x1] : #-----| r0_6(glval) = VariableAddress[(unnamed local variable)] : #-----| r0_7(int *) = Convert : r0_6 #-----| r0_8(unsigned long) = Constant[1] : #-----| r0_9(glval) = PointerAdd[4] : r0_7, r0_8 -#-----| m0_10(int &) = Store[x1] : &:r1676_6, r0_9 -# 1677| v1677_1(void) = NoOp : -# 1674| v1674_5(void) = ReturnVoid : -# 1674| v1674_6(void) = AliasedUse : m1674_3 -# 1674| v1674_7(void) = ExitFunction : +#-----| m0_10(int &) = Store[x1] : &:r1723_6, r0_9 +# 1724| v1724_1(void) = NoOp : +# 1721| v1721_5(void) = ReturnVoid : +# 1721| v1721_6(void) = AliasedUse : m1721_3 +# 1721| v1721_7(void) = ExitFunction : -# 1682| void CapturedLambdaMyObj::CapturedLambdaMyObj() -# 1682| Block 0 -# 1682| v1682_1(void) = EnterFunction : -# 1682| m1682_2(unknown) = AliasedDefinition : -# 1682| m1682_3(unknown) = InitializeNonLocal : -# 1682| m1682_4(unknown) = Chi : total:m1682_2, partial:m1682_3 -# 1682| r1682_5(glval) = VariableAddress[#this] : -# 1682| m1682_6(glval) = InitializeParameter[#this] : &:r1682_5 -# 1682| r1682_7(glval) = Load[#this] : &:r1682_5, m1682_6 -# 1682| m1682_8(CapturedLambdaMyObj) = InitializeIndirection[#this] : &:r1682_7 -# 1682| v1682_9(void) = NoOp : -# 1682| v1682_10(void) = ReturnIndirection[#this] : &:r1682_7, m1682_8 -# 1682| v1682_11(void) = ReturnVoid : -# 1682| v1682_12(void) = AliasedUse : m1682_3 -# 1682| v1682_13(void) = ExitFunction : +# 1729| void CapturedLambdaMyObj::CapturedLambdaMyObj() +# 1729| Block 0 +# 1729| v1729_1(void) = EnterFunction : +# 1729| m1729_2(unknown) = AliasedDefinition : +# 1729| m1729_3(unknown) = InitializeNonLocal : +# 1729| m1729_4(unknown) = Chi : total:m1729_2, partial:m1729_3 +# 1729| r1729_5(glval) = VariableAddress[#this] : +# 1729| m1729_6(glval) = InitializeParameter[#this] : &:r1729_5 +# 1729| r1729_7(glval) = Load[#this] : &:r1729_5, m1729_6 +# 1729| m1729_8(CapturedLambdaMyObj) = InitializeIndirection[#this] : &:r1729_7 +# 1729| v1729_9(void) = NoOp : +# 1729| v1729_10(void) = ReturnIndirection[#this] : &:r1729_7, m1729_8 +# 1729| v1729_11(void) = ReturnVoid : +# 1729| v1729_12(void) = AliasedUse : m1729_3 +# 1729| v1729_13(void) = ExitFunction : -# 1685| void captured_lambda(int, int&, int&&) -# 1685| Block 0 -# 1685| v1685_1(void) = EnterFunction : -# 1685| m1685_2(unknown) = AliasedDefinition : -# 1685| m1685_3(unknown) = InitializeNonLocal : -# 1685| m1685_4(unknown) = Chi : total:m1685_2, partial:m1685_3 -# 1685| r1685_5(glval) = VariableAddress[x] : -# 1685| m1685_6(int) = InitializeParameter[x] : &:r1685_5 -# 1685| r1685_7(glval) = VariableAddress[y] : -# 1685| m1685_8(int &) = InitializeParameter[y] : &:r1685_7 -# 1685| r1685_9(int &) = Load[y] : &:r1685_7, m1685_8 -# 1685| m1685_10(unknown) = InitializeIndirection[y] : &:r1685_9 -# 1685| r1685_11(glval) = VariableAddress[z] : -# 1685| m1685_12(int &&) = InitializeParameter[z] : &:r1685_11 -# 1685| r1685_13(int &&) = Load[z] : &:r1685_11, m1685_12 -# 1685| m1685_14(unknown) = InitializeIndirection[z] : &:r1685_13 -# 1687| r1687_1(glval) = VariableAddress[obj1] : -# 1687| r1687_2(glval) = VariableAddress[#temp1687:24] : -# 1687| m1687_3(CapturedLambdaMyObj) = Uninitialized[#temp1687:24] : &:r1687_2 -# 1687| r1687_4(glval) = FunctionAddress[CapturedLambdaMyObj] : -# 1687| v1687_5(void) = Call[CapturedLambdaMyObj] : func:r1687_4, this:r1687_2 -# 1687| m1687_6(unknown) = ^CallSideEffect : ~m1685_4 -# 1687| m1687_7(unknown) = Chi : total:m1685_4, partial:m1687_6 -# 1687| m1687_8(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1687_2 -# 1687| m1687_9(CapturedLambdaMyObj) = Chi : total:m1687_3, partial:m1687_8 -# 1687| r1687_10(glval) = Convert : r1687_2 -# 1687| r1687_11(CapturedLambdaMyObj &) = CopyValue : r1687_10 -# 1687| m1687_12(CapturedLambdaMyObj &) = Store[obj1] : &:r1687_1, r1687_11 -# 1688| r1688_1(glval) = VariableAddress[obj2] : -# 1688| m1688_2(CapturedLambdaMyObj) = Uninitialized[obj2] : &:r1688_1 -# 1688| r1688_3(glval) = FunctionAddress[CapturedLambdaMyObj] : -# 1688| v1688_4(void) = Call[CapturedLambdaMyObj] : func:r1688_3, this:r1688_1 -# 1688| m1688_5(unknown) = ^CallSideEffect : ~m1687_7 -# 1688| m1688_6(unknown) = Chi : total:m1687_7, partial:m1688_5 -# 1688| m1688_7(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1688_1 -# 1688| m1688_8(CapturedLambdaMyObj) = Chi : total:m1688_2, partial:m1688_7 -# 1690| r1690_1(glval) = VariableAddress[lambda_outer] : -# 1690| r1690_2(glval) = VariableAddress[#temp1690:24] : -# 1690| m1690_3(decltype([...](...){...})) = Uninitialized[#temp1690:24] : &:r1690_2 -# 1690| r1690_4(glval) = FieldAddress[obj1] : r1690_2 -# 1690| r1690_5(glval) = VariableAddress[obj1] : -# 1690| r1690_6(CapturedLambdaMyObj &) = Load[obj1] : &:r1690_5, m1687_12 -#-----| r0_1(CapturedLambdaMyObj) = Load[?] : &:r1690_6, m1687_9 -#-----| m0_2(CapturedLambdaMyObj) = Store[?] : &:r1690_4, r0_1 -#-----| m0_3(decltype([...](...){...})) = Chi : total:m1690_3, partial:m0_2 -# 1690| r1690_7(glval) = FieldAddress[obj2] : r1690_2 -# 1690| r1690_8(glval) = VariableAddress[obj2] : -# 1690| r1690_9(CapturedLambdaMyObj) = Load[obj2] : &:r1690_8, m1688_8 -# 1690| m1690_10(CapturedLambdaMyObj) = Store[?] : &:r1690_7, r1690_9 -# 1690| m1690_11(decltype([...](...){...})) = Chi : total:m0_3, partial:m1690_10 -# 1690| r1690_12(glval) = FieldAddress[x] : r1690_2 -# 1690| r1690_13(glval) = VariableAddress[x] : -# 1690| r1690_14(int) = Load[x] : &:r1690_13, m1685_6 -# 1690| m1690_15(int) = Store[?] : &:r1690_12, r1690_14 -# 1690| m1690_16(decltype([...](...){...})) = Chi : total:m1690_11, partial:m1690_15 -# 1690| r1690_17(glval) = FieldAddress[y] : r1690_2 -# 1690| r1690_18(glval) = VariableAddress[y] : -# 1690| r1690_19(int &) = Load[y] : &:r1690_18, m1685_8 -# 1692| r1692_1(int) = Load[?] : &:r1690_19, ~m1685_10 -# 1692| m1692_2(int) = Store[?] : &:r1690_17, r1692_1 -# 1692| m1692_3(decltype([...](...){...})) = Chi : total:m1690_16, partial:m1692_2 -# 1690| r1690_20(glval) = FieldAddress[z] : r1690_2 -# 1690| r1690_21(glval) = VariableAddress[z] : -# 1690| r1690_22(int &&) = Load[z] : &:r1690_21, m1685_12 -# 1692| r1692_4(int) = Load[?] : &:r1690_22, ~m1685_14 -# 1692| m1692_5(int) = Store[?] : &:r1690_20, r1692_4 -# 1692| m1692_6(decltype([...](...){...})) = Chi : total:m1692_3, partial:m1692_5 -# 1690| r1690_23(decltype([...](...){...})) = Load[#temp1690:24] : &:r1690_2, m1692_6 -# 1690| m1690_24(decltype([...](...){...})) = Store[lambda_outer] : &:r1690_1, r1690_23 -# 1693| v1693_1(void) = NoOp : -# 1685| v1685_15(void) = ReturnIndirection[y] : &:r1685_9, m1685_10 -# 1685| v1685_16(void) = ReturnIndirection[z] : &:r1685_13, m1685_14 -# 1685| v1685_17(void) = ReturnVoid : -# 1685| v1685_18(void) = AliasedUse : ~m1688_6 -# 1685| v1685_19(void) = ExitFunction : +# 1732| void captured_lambda(int, int&, int&&) +# 1732| Block 0 +# 1732| v1732_1(void) = EnterFunction : +# 1732| m1732_2(unknown) = AliasedDefinition : +# 1732| m1732_3(unknown) = InitializeNonLocal : +# 1732| m1732_4(unknown) = Chi : total:m1732_2, partial:m1732_3 +# 1732| r1732_5(glval) = VariableAddress[x] : +# 1732| m1732_6(int) = InitializeParameter[x] : &:r1732_5 +# 1732| r1732_7(glval) = VariableAddress[y] : +# 1732| m1732_8(int &) = InitializeParameter[y] : &:r1732_7 +# 1732| r1732_9(int &) = Load[y] : &:r1732_7, m1732_8 +# 1732| m1732_10(unknown) = InitializeIndirection[y] : &:r1732_9 +# 1732| r1732_11(glval) = VariableAddress[z] : +# 1732| m1732_12(int &&) = InitializeParameter[z] : &:r1732_11 +# 1732| r1732_13(int &&) = Load[z] : &:r1732_11, m1732_12 +# 1732| m1732_14(unknown) = InitializeIndirection[z] : &:r1732_13 +# 1734| r1734_1(glval) = VariableAddress[obj1] : +# 1734| r1734_2(glval) = VariableAddress[#temp1734:24] : +# 1734| m1734_3(CapturedLambdaMyObj) = Uninitialized[#temp1734:24] : &:r1734_2 +# 1734| r1734_4(glval) = FunctionAddress[CapturedLambdaMyObj] : +# 1734| v1734_5(void) = Call[CapturedLambdaMyObj] : func:r1734_4, this:r1734_2 +# 1734| m1734_6(unknown) = ^CallSideEffect : ~m1732_4 +# 1734| m1734_7(unknown) = Chi : total:m1732_4, partial:m1734_6 +# 1734| m1734_8(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1734_2 +# 1734| m1734_9(CapturedLambdaMyObj) = Chi : total:m1734_3, partial:m1734_8 +# 1734| r1734_10(glval) = Convert : r1734_2 +# 1734| r1734_11(CapturedLambdaMyObj &) = CopyValue : r1734_10 +# 1734| m1734_12(CapturedLambdaMyObj &) = Store[obj1] : &:r1734_1, r1734_11 +# 1735| r1735_1(glval) = VariableAddress[obj2] : +# 1735| m1735_2(CapturedLambdaMyObj) = Uninitialized[obj2] : &:r1735_1 +# 1735| r1735_3(glval) = FunctionAddress[CapturedLambdaMyObj] : +# 1735| v1735_4(void) = Call[CapturedLambdaMyObj] : func:r1735_3, this:r1735_1 +# 1735| m1735_5(unknown) = ^CallSideEffect : ~m1734_7 +# 1735| m1735_6(unknown) = Chi : total:m1734_7, partial:m1735_5 +# 1735| m1735_7(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1735_1 +# 1735| m1735_8(CapturedLambdaMyObj) = Chi : total:m1735_2, partial:m1735_7 +# 1737| r1737_1(glval) = VariableAddress[lambda_outer] : +# 1737| r1737_2(glval) = VariableAddress[#temp1737:24] : +# 1737| m1737_3(decltype([...](...){...})) = Uninitialized[#temp1737:24] : &:r1737_2 +# 1737| r1737_4(glval) = FieldAddress[obj1] : r1737_2 +# 1737| r1737_5(glval) = VariableAddress[obj1] : +# 1737| r1737_6(CapturedLambdaMyObj &) = Load[obj1] : &:r1737_5, m1734_12 +#-----| r0_1(CapturedLambdaMyObj) = Load[?] : &:r1737_6, m1734_9 +#-----| m0_2(CapturedLambdaMyObj) = Store[?] : &:r1737_4, r0_1 +#-----| m0_3(decltype([...](...){...})) = Chi : total:m1737_3, partial:m0_2 +# 1737| r1737_7(glval) = FieldAddress[obj2] : r1737_2 +# 1737| r1737_8(glval) = VariableAddress[obj2] : +# 1737| r1737_9(CapturedLambdaMyObj) = Load[obj2] : &:r1737_8, m1735_8 +# 1737| m1737_10(CapturedLambdaMyObj) = Store[?] : &:r1737_7, r1737_9 +# 1737| m1737_11(decltype([...](...){...})) = Chi : total:m0_3, partial:m1737_10 +# 1737| r1737_12(glval) = FieldAddress[x] : r1737_2 +# 1737| r1737_13(glval) = VariableAddress[x] : +# 1737| r1737_14(int) = Load[x] : &:r1737_13, m1732_6 +# 1737| m1737_15(int) = Store[?] : &:r1737_12, r1737_14 +# 1737| m1737_16(decltype([...](...){...})) = Chi : total:m1737_11, partial:m1737_15 +# 1737| r1737_17(glval) = FieldAddress[y] : r1737_2 +# 1737| r1737_18(glval) = VariableAddress[y] : +# 1737| r1737_19(int &) = Load[y] : &:r1737_18, m1732_8 +# 1739| r1739_1(int) = Load[?] : &:r1737_19, ~m1732_10 +# 1739| m1739_2(int) = Store[?] : &:r1737_17, r1739_1 +# 1739| m1739_3(decltype([...](...){...})) = Chi : total:m1737_16, partial:m1739_2 +# 1737| r1737_20(glval) = FieldAddress[z] : r1737_2 +# 1737| r1737_21(glval) = VariableAddress[z] : +# 1737| r1737_22(int &&) = Load[z] : &:r1737_21, m1732_12 +# 1739| r1739_4(int) = Load[?] : &:r1737_22, ~m1732_14 +# 1739| m1739_5(int) = Store[?] : &:r1737_20, r1739_4 +# 1739| m1739_6(decltype([...](...){...})) = Chi : total:m1739_3, partial:m1739_5 +# 1737| r1737_23(decltype([...](...){...})) = Load[#temp1737:24] : &:r1737_2, m1739_6 +# 1737| m1737_24(decltype([...](...){...})) = Store[lambda_outer] : &:r1737_1, r1737_23 +# 1740| v1740_1(void) = NoOp : +# 1732| v1732_15(void) = ReturnIndirection[y] : &:r1732_9, m1732_10 +# 1732| v1732_16(void) = ReturnIndirection[z] : &:r1732_13, m1732_14 +# 1732| v1732_17(void) = ReturnVoid : +# 1732| v1732_18(void) = AliasedUse : ~m1735_6 +# 1732| v1732_19(void) = ExitFunction : -# 1690| void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const -# 1690| Block 0 -# 1690| v1690_1(void) = EnterFunction : -# 1690| m1690_2(unknown) = AliasedDefinition : -# 1690| m1690_3(unknown) = InitializeNonLocal : -# 1690| m1690_4(unknown) = Chi : total:m1690_2, partial:m1690_3 -# 1690| r1690_5(glval) = VariableAddress[#this] : -# 1690| m1690_6(glval) = InitializeParameter[#this] : &:r1690_5 -# 1690| r1690_7(glval) = Load[#this] : &:r1690_5, m1690_6 -# 1690| m1690_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1690_7 -# 1691| r1691_1(glval) = VariableAddress[lambda_inner] : -# 1691| r1691_2(glval) = VariableAddress[#temp1691:28] : -# 1691| m1691_3(decltype([...](...){...})) = Uninitialized[#temp1691:28] : &:r1691_2 -# 1691| r1691_4(glval) = FieldAddress[obj1] : r1691_2 -# 1691| r1691_5(glval) = VariableAddress[#this] : -# 1691| r1691_6(lambda [] type at line 1691, col. 29 *) = Load[#this] : &:r1691_5, m1690_6 -# 1691| r1691_7(glval) = FieldAddress[obj1] : r1691_6 -# 1691| r1691_8(CapturedLambdaMyObj) = Load[?] : &:r1691_7, ~m1690_8 -# 1691| m1691_9(CapturedLambdaMyObj) = Store[?] : &:r1691_4, r1691_8 -# 1691| m1691_10(decltype([...](...){...})) = Chi : total:m1691_3, partial:m1691_9 -# 1691| r1691_11(glval) = FieldAddress[obj2] : r1691_2 -# 1691| r1691_12(glval) = VariableAddress[#this] : -# 1691| r1691_13(lambda [] type at line 1691, col. 29 *) = Load[#this] : &:r1691_12, m1690_6 -# 1691| r1691_14(glval) = FieldAddress[obj2] : r1691_13 -# 1691| r1691_15(CapturedLambdaMyObj) = Load[?] : &:r1691_14, ~m1690_8 -# 1691| m1691_16(CapturedLambdaMyObj) = Store[?] : &:r1691_11, r1691_15 -# 1691| m1691_17(decltype([...](...){...})) = Chi : total:m1691_10, partial:m1691_16 -# 1691| r1691_18(glval) = FieldAddress[x] : r1691_2 -# 1691| r1691_19(glval) = VariableAddress[#this] : -# 1691| r1691_20(lambda [] type at line 1690, col. 25 *) = Load[#this] : &:r1691_19, m1690_6 -# 1691| r1691_21(glval) = FieldAddress[x] : r1691_20 -# 1691| r1691_22(int) = Load[?] : &:r1691_21, ~m1690_8 -# 1691| m1691_23(int) = Store[?] : &:r1691_18, r1691_22 -# 1691| m1691_24(decltype([...](...){...})) = Chi : total:m1691_17, partial:m1691_23 -# 1691| r1691_25(glval) = FieldAddress[y] : r1691_2 -# 1691| r1691_26(glval) = VariableAddress[#this] : -# 1691| r1691_27(lambda [] type at line 1690, col. 25 *) = Load[#this] : &:r1691_26, m1690_6 -# 1691| r1691_28(glval) = FieldAddress[y] : r1691_27 -# 1691| r1691_29(int) = Load[?] : &:r1691_28, ~m1690_8 -# 1691| m1691_30(int) = Store[?] : &:r1691_25, r1691_29 -# 1691| m1691_31(decltype([...](...){...})) = Chi : total:m1691_24, partial:m1691_30 -# 1691| r1691_32(glval) = FieldAddress[z] : r1691_2 -# 1691| r1691_33(glval) = VariableAddress[#this] : -# 1691| r1691_34(lambda [] type at line 1690, col. 25 *) = Load[#this] : &:r1691_33, m1690_6 -# 1691| r1691_35(glval) = FieldAddress[z] : r1691_34 -# 1691| r1691_36(int) = Load[?] : &:r1691_35, ~m1690_8 -# 1691| m1691_37(int) = Store[?] : &:r1691_32, r1691_36 -# 1691| m1691_38(decltype([...](...){...})) = Chi : total:m1691_31, partial:m1691_37 -# 1691| r1691_39(decltype([...](...){...})) = Load[#temp1691:28] : &:r1691_2, m1691_38 -# 1691| m1691_40(decltype([...](...){...})) = Store[lambda_inner] : &:r1691_1, r1691_39 -# 1692| v1692_1(void) = NoOp : -# 1690| v1690_9(void) = ReturnIndirection[#this] : &:r1690_7, m1690_8 -# 1690| v1690_10(void) = ReturnVoid : -# 1690| v1690_11(void) = AliasedUse : m1690_3 -# 1690| v1690_12(void) = ExitFunction : +# 1737| void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const +# 1737| Block 0 +# 1737| v1737_1(void) = EnterFunction : +# 1737| m1737_2(unknown) = AliasedDefinition : +# 1737| m1737_3(unknown) = InitializeNonLocal : +# 1737| m1737_4(unknown) = Chi : total:m1737_2, partial:m1737_3 +# 1737| r1737_5(glval) = VariableAddress[#this] : +# 1737| m1737_6(glval) = InitializeParameter[#this] : &:r1737_5 +# 1737| r1737_7(glval) = Load[#this] : &:r1737_5, m1737_6 +# 1737| m1737_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1737_7 +# 1738| r1738_1(glval) = VariableAddress[lambda_inner] : +# 1738| r1738_2(glval) = VariableAddress[#temp1738:28] : +# 1738| m1738_3(decltype([...](...){...})) = Uninitialized[#temp1738:28] : &:r1738_2 +# 1738| r1738_4(glval) = FieldAddress[obj1] : r1738_2 +# 1738| r1738_5(glval) = VariableAddress[#this] : +# 1738| r1738_6(lambda [] type at line 1738, col. 29 *) = Load[#this] : &:r1738_5, m1737_6 +# 1738| r1738_7(glval) = FieldAddress[obj1] : r1738_6 +# 1738| r1738_8(CapturedLambdaMyObj) = Load[?] : &:r1738_7, ~m1737_8 +# 1738| m1738_9(CapturedLambdaMyObj) = Store[?] : &:r1738_4, r1738_8 +# 1738| m1738_10(decltype([...](...){...})) = Chi : total:m1738_3, partial:m1738_9 +# 1738| r1738_11(glval) = FieldAddress[obj2] : r1738_2 +# 1738| r1738_12(glval) = VariableAddress[#this] : +# 1738| r1738_13(lambda [] type at line 1738, col. 29 *) = Load[#this] : &:r1738_12, m1737_6 +# 1738| r1738_14(glval) = FieldAddress[obj2] : r1738_13 +# 1738| r1738_15(CapturedLambdaMyObj) = Load[?] : &:r1738_14, ~m1737_8 +# 1738| m1738_16(CapturedLambdaMyObj) = Store[?] : &:r1738_11, r1738_15 +# 1738| m1738_17(decltype([...](...){...})) = Chi : total:m1738_10, partial:m1738_16 +# 1738| r1738_18(glval) = FieldAddress[x] : r1738_2 +# 1738| r1738_19(glval) = VariableAddress[#this] : +# 1738| r1738_20(lambda [] type at line 1737, col. 25 *) = Load[#this] : &:r1738_19, m1737_6 +# 1738| r1738_21(glval) = FieldAddress[x] : r1738_20 +# 1738| r1738_22(int) = Load[?] : &:r1738_21, ~m1737_8 +# 1738| m1738_23(int) = Store[?] : &:r1738_18, r1738_22 +# 1738| m1738_24(decltype([...](...){...})) = Chi : total:m1738_17, partial:m1738_23 +# 1738| r1738_25(glval) = FieldAddress[y] : r1738_2 +# 1738| r1738_26(glval) = VariableAddress[#this] : +# 1738| r1738_27(lambda [] type at line 1737, col. 25 *) = Load[#this] : &:r1738_26, m1737_6 +# 1738| r1738_28(glval) = FieldAddress[y] : r1738_27 +# 1738| r1738_29(int) = Load[?] : &:r1738_28, ~m1737_8 +# 1738| m1738_30(int) = Store[?] : &:r1738_25, r1738_29 +# 1738| m1738_31(decltype([...](...){...})) = Chi : total:m1738_24, partial:m1738_30 +# 1738| r1738_32(glval) = FieldAddress[z] : r1738_2 +# 1738| r1738_33(glval) = VariableAddress[#this] : +# 1738| r1738_34(lambda [] type at line 1737, col. 25 *) = Load[#this] : &:r1738_33, m1737_6 +# 1738| r1738_35(glval) = FieldAddress[z] : r1738_34 +# 1738| r1738_36(int) = Load[?] : &:r1738_35, ~m1737_8 +# 1738| m1738_37(int) = Store[?] : &:r1738_32, r1738_36 +# 1738| m1738_38(decltype([...](...){...})) = Chi : total:m1738_31, partial:m1738_37 +# 1738| r1738_39(decltype([...](...){...})) = Load[#temp1738:28] : &:r1738_2, m1738_38 +# 1738| m1738_40(decltype([...](...){...})) = Store[lambda_inner] : &:r1738_1, r1738_39 +# 1739| v1739_1(void) = NoOp : +# 1737| v1737_9(void) = ReturnIndirection[#this] : &:r1737_7, m1737_8 +# 1737| v1737_10(void) = ReturnVoid : +# 1737| v1737_11(void) = AliasedUse : m1737_3 +# 1737| v1737_12(void) = ExitFunction : -# 1691| void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)::operator()() const -# 1691| Block 0 -# 1691| v1691_1(void) = EnterFunction : -# 1691| m1691_2(unknown) = AliasedDefinition : -# 1691| m1691_3(unknown) = InitializeNonLocal : -# 1691| m1691_4(unknown) = Chi : total:m1691_2, partial:m1691_3 -# 1691| r1691_5(glval) = VariableAddress[#this] : -# 1691| m1691_6(glval) = InitializeParameter[#this] : &:r1691_5 -# 1691| r1691_7(glval) = Load[#this] : &:r1691_5, m1691_6 -# 1691| m1691_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1691_7 -# 1691| v1691_9(void) = NoOp : -# 1691| v1691_10(void) = NoOp : -# 1691| v1691_11(void) = ReturnIndirection[#this] : &:r1691_7, m1691_8 -# 1691| v1691_12(void) = ReturnVoid : -# 1691| v1691_13(void) = AliasedUse : m1691_3 -# 1691| v1691_14(void) = ExitFunction : - -# 1695| int goto_on_same_line() -# 1695| Block 0 -# 1695| v1695_1(void) = EnterFunction : -# 1695| m1695_2(unknown) = AliasedDefinition : -# 1695| m1695_3(unknown) = InitializeNonLocal : -# 1695| m1695_4(unknown) = Chi : total:m1695_2, partial:m1695_3 -# 1696| r1696_1(glval) = VariableAddress[x] : -# 1696| r1696_2(int) = Constant[42] : -# 1696| m1696_3(int) = Store[x] : &:r1696_1, r1696_2 -# 1697| v1697_1(void) = NoOp : -# 1697| v1697_2(void) = NoOp : -# 1698| r1698_1(glval) = VariableAddress[#return] : -# 1698| r1698_2(glval) = VariableAddress[x] : -# 1698| r1698_3(int) = Load[x] : &:r1698_2, m1696_3 -# 1698| m1698_4(int) = Store[#return] : &:r1698_1, r1698_3 -# 1695| r1695_5(glval) = VariableAddress[#return] : -# 1695| v1695_6(void) = ReturnValue : &:r1695_5, m1698_4 -# 1695| v1695_7(void) = AliasedUse : m1695_3 -# 1695| v1695_8(void) = ExitFunction : - -# 1703| void TrivialLambdaClass::m() const -# 1703| Block 0 -# 1703| v1703_1(void) = EnterFunction : -# 1703| m1703_2(unknown) = AliasedDefinition : -# 1703| m1703_3(unknown) = InitializeNonLocal : -# 1703| m1703_4(unknown) = Chi : total:m1703_2, partial:m1703_3 -# 1703| r1703_5(glval) = VariableAddress[#this] : -# 1703| m1703_6(glval) = InitializeParameter[#this] : &:r1703_5 -# 1703| r1703_7(glval) = Load[#this] : &:r1703_5, m1703_6 -# 1703| m1703_8(TrivialLambdaClass) = InitializeIndirection[#this] : &:r1703_7 -# 1704| r1704_1(glval) = VariableAddress[l_m_outer] : -# 1704| r1704_2(glval) = VariableAddress[#temp1704:25] : -# 1704| m1704_3(decltype([...](...){...})) = Uninitialized[#temp1704:25] : &:r1704_2 -# 1704| r1704_4(glval) = FieldAddress[(captured this)] : r1704_2 -# 1704| r1704_5(glval) = VariableAddress[#this] : -# 1704| r1704_6(TrivialLambdaClass *) = Load[#this] : &:r1704_5, m1703_6 -# 1704| r1704_7(TrivialLambdaClass) = Load[?] : &:r1704_6, ~m1703_8 -# 1704| m1704_8(TrivialLambdaClass) = Store[?] : &:r1704_4, r1704_7 -# 1704| r1704_9(decltype([...](...){...})) = Load[#temp1704:25] : &:r1704_2, ~m1704_8 -# 1704| m1704_10(decltype([...](...){...})) = Store[l_m_outer] : &:r1704_1, r1704_9 -# 1711| v1711_1(void) = NoOp : -# 1703| v1703_9(void) = ReturnIndirection[#this] : &:r1703_7, m1703_8 -# 1703| v1703_10(void) = ReturnVoid : -# 1703| v1703_11(void) = AliasedUse : m1703_3 -# 1703| v1703_12(void) = ExitFunction : - -# 1704| void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const -# 1704| Block 0 -# 1704| v1704_1(void) = EnterFunction : -# 1704| m1704_2(unknown) = AliasedDefinition : -# 1704| m1704_3(unknown) = InitializeNonLocal : -# 1704| m1704_4(unknown) = Chi : total:m1704_2, partial:m1704_3 -# 1704| r1704_5(glval) = VariableAddress[#this] : -# 1704| m1704_6(glval) = InitializeParameter[#this] : &:r1704_5 -# 1704| r1704_7(glval) = Load[#this] : &:r1704_5, m1704_6 -# 1704| m1704_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1704_7 -# 1705| r1705_1(glval) = VariableAddress[#this] : -# 1705| r1705_2(lambda [] type at line 1704, col. 26 *) = Load[#this] : &:r1705_1, m1704_6 -# 1705| r1705_3(glval) = FieldAddress[(captured this)] : r1705_2 -# 1705| r1705_4(TrivialLambdaClass *) = CopyValue : r1705_3 -# 1705| r1705_5(glval) = FunctionAddress[m] : -# 1705| v1705_6(void) = Call[m] : func:r1705_5, this:r1705_4 -# 1705| m1705_7(unknown) = ^CallSideEffect : ~m1704_4 -# 1705| m1705_8(unknown) = Chi : total:m1704_4, partial:m1705_7 -# 1705| v1705_9(void) = ^IndirectReadSideEffect[-1] : &:r1705_4, ~m1704_8 -# 1707| r1707_1(glval) = VariableAddress[l_m_inner] : -# 1707| r1707_2(glval) = VariableAddress[#temp1707:29] : -# 1707| m1707_3(decltype([...](...){...})) = Uninitialized[#temp1707:29] : &:r1707_2 -# 1707| r1707_4(glval) = FieldAddress[(captured this)] : r1707_2 -# 1707| r1707_5(glval) = VariableAddress[#this] : -# 1707| r1707_6(lambda [] type at line 1707, col. 30 *) = Load[#this] : &:r1707_5, m1704_6 -# 1707| r1707_7(glval) = FieldAddress[(captured this)] : r1707_6 -# 1707| r1707_8(TrivialLambdaClass) = Load[?] : &:r1707_7, ~m1704_8 -# 1707| m1707_9(TrivialLambdaClass) = Store[?] : &:r1707_4, r1707_8 -# 1707| r1707_10(decltype([...](...){...})) = Load[#temp1707:29] : &:r1707_2, ~m1707_9 -# 1707| m1707_11(decltype([...](...){...})) = Store[l_m_inner] : &:r1707_1, r1707_10 -# 1710| v1710_1(void) = NoOp : -# 1704| v1704_9(void) = ReturnIndirection[#this] : &:r1704_7, m1704_8 -# 1704| v1704_10(void) = ReturnVoid : -# 1704| v1704_11(void) = AliasedUse : ~m1705_8 -# 1704| v1704_12(void) = ExitFunction : - -# 1707| void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)::operator()() const -# 1707| Block 0 -# 1707| v1707_1(void) = EnterFunction : -# 1707| m1707_2(unknown) = AliasedDefinition : -# 1707| m1707_3(unknown) = InitializeNonLocal : -# 1707| m1707_4(unknown) = Chi : total:m1707_2, partial:m1707_3 -# 1707| r1707_5(glval) = VariableAddress[#this] : -# 1707| m1707_6(glval) = InitializeParameter[#this] : &:r1707_5 -# 1707| r1707_7(glval) = Load[#this] : &:r1707_5, m1707_6 -# 1707| m1707_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1707_7 -# 1708| r1708_1(glval) = VariableAddress[#this] : -# 1708| r1708_2(lambda [] type at line 1707, col. 30 *) = Load[#this] : &:r1708_1, m1707_6 -# 1708| r1708_3(glval) = FieldAddress[(captured this)] : r1708_2 -# 1708| r1708_4(TrivialLambdaClass *) = CopyValue : r1708_3 -# 1708| r1708_5(glval) = FunctionAddress[m] : -# 1708| v1708_6(void) = Call[m] : func:r1708_5, this:r1708_4 -# 1708| m1708_7(unknown) = ^CallSideEffect : ~m1707_4 -# 1708| m1708_8(unknown) = Chi : total:m1707_4, partial:m1708_7 -# 1708| v1708_9(void) = ^IndirectReadSideEffect[-1] : &:r1708_4, ~m1707_8 -# 1709| v1709_1(void) = NoOp : -# 1707| v1707_9(void) = ReturnIndirection[#this] : &:r1707_7, m1707_8 -# 1707| v1707_10(void) = ReturnVoid : -# 1707| v1707_11(void) = AliasedUse : ~m1708_8 -# 1707| v1707_12(void) = ExitFunction : - -# 1714| void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&) -# 1714| Block 0 -# 1714| v1714_1(void) = EnterFunction : -# 1714| m1714_2(unknown) = AliasedDefinition : -# 1714| m1714_3(unknown) = InitializeNonLocal : -# 1714| m1714_4(unknown) = Chi : total:m1714_2, partial:m1714_3 -# 1714| r1714_5(glval) = VariableAddress[p1] : -# 1714| m1714_6(TrivialLambdaClass) = InitializeParameter[p1] : &:r1714_5 -# 1714| r1714_7(glval) = VariableAddress[p2] : -# 1714| m1714_8(TrivialLambdaClass &) = InitializeParameter[p2] : &:r1714_7 -# 1714| r1714_9(TrivialLambdaClass &) = Load[p2] : &:r1714_7, m1714_8 -# 1714| m1714_10(unknown) = InitializeIndirection[p2] : &:r1714_9 -# 1714| r1714_11(glval) = VariableAddress[p3] : -# 1714| m1714_12(TrivialLambdaClass &&) = InitializeParameter[p3] : &:r1714_11 -# 1714| r1714_13(TrivialLambdaClass &&) = Load[p3] : &:r1714_11, m1714_12 -# 1714| m1714_14(unknown) = InitializeIndirection[p3] : &:r1714_13 -# 1715| r1715_1(glval) = VariableAddress[l1] : -# 1715| m1715_2(TrivialLambdaClass) = Uninitialized[l1] : &:r1715_1 -# 1716| r1716_1(glval) = VariableAddress[l2] : -# 1716| r1716_2(glval) = VariableAddress[#temp1716:36] : -# 1716| r1716_3(TrivialLambdaClass) = Constant[0] : -# 1716| m1716_4(TrivialLambdaClass) = Store[#temp1716:36] : &:r1716_2, r1716_3 -# 1716| r1716_5(glval) = Convert : r1716_2 -# 1716| r1716_6(TrivialLambdaClass &) = CopyValue : r1716_5 -# 1716| m1716_7(TrivialLambdaClass &) = Store[l2] : &:r1716_1, r1716_6 -# 1718| r1718_1(glval) = VariableAddress[l_outer1] : -# 1718| r1718_2(glval) = VariableAddress[#temp1718:20] : -# 1718| m1718_3(decltype([...](...){...})) = Uninitialized[#temp1718:20] : &:r1718_2 -# 1718| r1718_4(glval) = FieldAddress[p1] : r1718_2 -# 1718| r1718_5(glval) = VariableAddress[p1] : -# 1718| r1718_6(TrivialLambdaClass) = Load[p1] : &:r1718_5, m1714_6 -# 1718| m1718_7(TrivialLambdaClass) = Store[?] : &:r1718_4, r1718_6 -# 1718| m1718_8(decltype([...](...){...})) = Chi : total:m1718_3, partial:m1718_7 -# 1718| r1718_9(glval) = FieldAddress[p2] : r1718_2 -# 1718| r1718_10(glval) = VariableAddress[p2] : -# 1718| r1718_11(TrivialLambdaClass &) = Load[p2] : &:r1718_10, m1714_8 -#-----| r0_1(TrivialLambdaClass) = Load[?] : &:r1718_11, ~m1714_10 -#-----| m0_2(TrivialLambdaClass) = Store[?] : &:r1718_9, r0_1 -#-----| m0_3(decltype([...](...){...})) = Chi : total:m1718_8, partial:m0_2 -# 1718| r1718_12(glval) = FieldAddress[p3] : r1718_2 -# 1718| r1718_13(glval) = VariableAddress[p3] : -# 1718| r1718_14(TrivialLambdaClass &&) = Load[p3] : &:r1718_13, m1714_12 -#-----| r0_4(TrivialLambdaClass) = Load[?] : &:r1718_14, ~m1714_14 -#-----| m0_5(TrivialLambdaClass) = Store[?] : &:r1718_12, r0_4 -#-----| m0_6(decltype([...](...){...})) = Chi : total:m0_3, partial:m0_5 -# 1718| r1718_15(glval) = FieldAddress[l1] : r1718_2 -# 1718| r1718_16(glval) = VariableAddress[l1] : -# 1718| r1718_17(TrivialLambdaClass) = Load[l1] : &:r1718_16, m1715_2 -# 1718| m1718_18(TrivialLambdaClass) = Store[?] : &:r1718_15, r1718_17 -# 1718| m1718_19(decltype([...](...){...})) = Chi : total:m0_6, partial:m1718_18 -# 1718| r1718_20(glval) = FieldAddress[l2] : r1718_2 -# 1718| r1718_21(glval) = VariableAddress[l2] : -# 1718| r1718_22(TrivialLambdaClass &) = Load[l2] : &:r1718_21, m1716_7 -#-----| r0_7(TrivialLambdaClass) = Load[?] : &:r1718_22, m1716_4 -#-----| m0_8(TrivialLambdaClass) = Store[?] : &:r1718_20, r0_7 -#-----| m0_9(decltype([...](...){...})) = Chi : total:m1718_19, partial:m0_8 -# 1718| r1718_23(decltype([...](...){...})) = Load[#temp1718:20] : &:r1718_2, m0_9 -# 1718| m1718_24(decltype([...](...){...})) = Store[l_outer1] : &:r1718_1, r1718_23 -# 1721| v1721_1(void) = NoOp : -# 1714| v1714_15(void) = ReturnIndirection[p2] : &:r1714_9, m1714_10 -# 1714| v1714_16(void) = ReturnIndirection[p3] : &:r1714_13, m1714_14 -# 1714| v1714_17(void) = ReturnVoid : -# 1714| v1714_18(void) = AliasedUse : m1714_3 -# 1714| v1714_19(void) = ExitFunction : - -# 1718| void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const -# 1718| Block 0 -# 1718| v1718_1(void) = EnterFunction : -# 1718| m1718_2(unknown) = AliasedDefinition : -# 1718| m1718_3(unknown) = InitializeNonLocal : -# 1718| m1718_4(unknown) = Chi : total:m1718_2, partial:m1718_3 -# 1718| r1718_5(glval) = VariableAddress[#this] : -# 1718| m1718_6(glval) = InitializeParameter[#this] : &:r1718_5 -# 1718| r1718_7(glval) = Load[#this] : &:r1718_5, m1718_6 -# 1718| m1718_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1718_7 -# 1719| r1719_1(glval) = VariableAddress[l_inner1] : -# 1719| r1719_2(glval) = VariableAddress[#temp1719:24] : -# 1719| m1719_3(decltype([...](...){...})) = Uninitialized[#temp1719:24] : &:r1719_2 -# 1719| r1719_4(glval) = FieldAddress[p1] : r1719_2 -# 1719| r1719_5(glval) = VariableAddress[#this] : -# 1719| r1719_6(lambda [] type at line 1719, col. 25 *) = Load[#this] : &:r1719_5, m1718_6 -# 1719| r1719_7(glval) = FieldAddress[p1] : r1719_6 -# 1719| r1719_8(TrivialLambdaClass) = Load[?] : &:r1719_7, ~m1718_8 -# 1719| m1719_9(TrivialLambdaClass) = Store[?] : &:r1719_4, r1719_8 -# 1719| r1719_10(decltype([...](...){...})) = Load[#temp1719:24] : &:r1719_2, ~m1719_9 -# 1719| m1719_11(decltype([...](...){...})) = Store[l_inner1] : &:r1719_1, r1719_10 -# 1720| v1720_1(void) = NoOp : -# 1718| v1718_9(void) = ReturnIndirection[#this] : &:r1718_7, m1718_8 -# 1718| v1718_10(void) = ReturnVoid : -# 1718| v1718_11(void) = AliasedUse : m1718_3 -# 1718| v1718_12(void) = ExitFunction : - -# 1719| void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)::operator()() const -# 1719| Block 0 -# 1719| v1719_1(void) = EnterFunction : -# 1719| m1719_2(unknown) = AliasedDefinition : -# 1719| m1719_3(unknown) = InitializeNonLocal : -# 1719| m1719_4(unknown) = Chi : total:m1719_2, partial:m1719_3 -# 1719| r1719_5(glval) = VariableAddress[#this] : -# 1719| m1719_6(glval) = InitializeParameter[#this] : &:r1719_5 -# 1719| r1719_7(glval) = Load[#this] : &:r1719_5, m1719_6 -# 1719| m1719_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1719_7 -# 1719| v1719_9(void) = NoOp : -# 1719| v1719_10(void) = ReturnIndirection[#this] : &:r1719_7, m1719_8 -# 1719| v1719_11(void) = ReturnVoid : -# 1719| v1719_12(void) = AliasedUse : m1719_3 -# 1719| v1719_13(void) = ExitFunction : - -# 1726| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass() -# 1726| Block 0 -# 1726| v1726_1(void) = EnterFunction : -# 1726| m1726_2(unknown) = AliasedDefinition : -# 1726| m1726_3(unknown) = InitializeNonLocal : -# 1726| m1726_4(unknown) = Chi : total:m1726_2, partial:m1726_3 -# 1726| r1726_5(glval) = VariableAddress[#this] : -# 1726| m1726_6(glval) = InitializeParameter[#this] : &:r1726_5 -# 1726| r1726_7(glval) = Load[#this] : &:r1726_5, m1726_6 -# 1726| m1726_8(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1726_7 -# 1726| v1726_9(void) = NoOp : -# 1726| v1726_10(void) = ReturnIndirection[#this] : &:r1726_7, m1726_8 -# 1726| v1726_11(void) = ReturnVoid : -# 1726| v1726_12(void) = AliasedUse : m1726_3 -# 1726| v1726_13(void) = ExitFunction : - -# 1727| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass(CopyConstructorWithImplicitArgumentClass const&) -# 1727| Block 0 -# 1727| v1727_1(void) = EnterFunction : -# 1727| m1727_2(unknown) = AliasedDefinition : -# 1727| m1727_3(unknown) = InitializeNonLocal : -# 1727| m1727_4(unknown) = Chi : total:m1727_2, partial:m1727_3 -# 1727| r1727_5(glval) = VariableAddress[#this] : -# 1727| m1727_6(glval) = InitializeParameter[#this] : &:r1727_5 -# 1727| r1727_7(glval) = Load[#this] : &:r1727_5, m1727_6 -# 1727| m1727_8(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1727_7 -# 1727| r1727_9(glval) = VariableAddress[c] : -# 1727| m1727_10(CopyConstructorWithImplicitArgumentClass &) = InitializeParameter[c] : &:r1727_9 -# 1727| r1727_11(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1727_9, m1727_10 -# 1727| m1727_12(unknown) = InitializeIndirection[c] : &:r1727_11 -# 1728| r1728_1(glval) = VariableAddress[c] : -# 1728| r1728_2(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1728_1, m1727_10 -# 1728| r1728_3(glval) = CopyValue : r1728_2 -# 1728| r1728_4(glval) = FieldAddress[x] : r1728_3 -# 1728| r1728_5(int) = Load[?] : &:r1728_4, ~m1727_12 -# 1728| r1728_6(glval) = VariableAddress[#this] : -# 1728| r1728_7(CopyConstructorWithImplicitArgumentClass *) = Load[#this] : &:r1728_6, m1727_6 -# 1728| r1728_8(glval) = FieldAddress[x] : r1728_7 -# 1728| m1728_9(int) = Store[?] : &:r1728_8, r1728_5 -# 1728| m1728_10(unknown) = Chi : total:m1727_8, partial:m1728_9 -# 1729| v1729_1(void) = NoOp : -# 1727| v1727_13(void) = ReturnIndirection[#this] : &:r1727_7, m1728_10 -# 1727| v1727_14(void) = ReturnIndirection[c] : &:r1727_11, m1727_12 -# 1727| v1727_15(void) = ReturnVoid : -# 1727| v1727_16(void) = AliasedUse : m1727_3 -# 1727| v1727_17(void) = ExitFunction : - -# 1735| void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass() -# 1735| Block 0 -# 1735| v1735_1(void) = EnterFunction : -# 1735| m1735_2(unknown) = AliasedDefinition : -# 1735| m1735_3(unknown) = InitializeNonLocal : -# 1735| m1735_4(unknown) = Chi : total:m1735_2, partial:m1735_3 -# 1735| r1735_5(glval) = VariableAddress[#this] : -# 1735| m1735_6(glval) = InitializeParameter[#this] : &:r1735_5 -# 1735| r1735_7(glval) = Load[#this] : &:r1735_5, m1735_6 -# 1735| m1735_8(CopyConstructorWithBitwiseCopyClass) = InitializeIndirection[#this] : &:r1735_7 -# 1735| v1735_9(void) = NoOp : -# 1735| v1735_10(void) = ReturnIndirection[#this] : &:r1735_7, m1735_8 -# 1735| v1735_11(void) = ReturnVoid : -# 1735| v1735_12(void) = AliasedUse : m1735_3 -# 1735| v1735_13(void) = ExitFunction : - -# 1738| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&) +# 1738| void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)::operator()() const # 1738| Block 0 -# 1738| v1738_1(void) = EnterFunction : -# 1738| m1738_2(unknown) = AliasedDefinition : -# 1738| m1738_3(unknown) = InitializeNonLocal : -# 1738| m1738_4(unknown) = Chi : total:m1738_2, partial:m1738_3 -# 1738| r1738_5(glval) = VariableAddress[#this] : -# 1738| m1738_6(glval) = InitializeParameter[#this] : &:r1738_5 -# 1738| r1738_7(glval) = Load[#this] : &:r1738_5, m1738_6 -# 1738| m1738_8(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1738_7 +# 1738| v1738_1(void) = EnterFunction : +# 1738| m1738_2(unknown) = AliasedDefinition : +# 1738| m1738_3(unknown) = InitializeNonLocal : +# 1738| m1738_4(unknown) = Chi : total:m1738_2, partial:m1738_3 +# 1738| r1738_5(glval) = VariableAddress[#this] : +# 1738| m1738_6(glval) = InitializeParameter[#this] : &:r1738_5 +# 1738| r1738_7(glval) = Load[#this] : &:r1738_5, m1738_6 +# 1738| m1738_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1738_7 +# 1738| v1738_9(void) = NoOp : +# 1738| v1738_10(void) = NoOp : +# 1738| v1738_11(void) = ReturnIndirection[#this] : &:r1738_7, m1738_8 +# 1738| v1738_12(void) = ReturnVoid : +# 1738| v1738_13(void) = AliasedUse : m1738_3 +# 1738| v1738_14(void) = ExitFunction : + +# 1742| int goto_on_same_line() +# 1742| Block 0 +# 1742| v1742_1(void) = EnterFunction : +# 1742| m1742_2(unknown) = AliasedDefinition : +# 1742| m1742_3(unknown) = InitializeNonLocal : +# 1742| m1742_4(unknown) = Chi : total:m1742_2, partial:m1742_3 +# 1743| r1743_1(glval) = VariableAddress[x] : +# 1743| r1743_2(int) = Constant[42] : +# 1743| m1743_3(int) = Store[x] : &:r1743_1, r1743_2 +# 1744| v1744_1(void) = NoOp : +# 1744| v1744_2(void) = NoOp : +# 1745| r1745_1(glval) = VariableAddress[#return] : +# 1745| r1745_2(glval) = VariableAddress[x] : +# 1745| r1745_3(int) = Load[x] : &:r1745_2, m1743_3 +# 1745| m1745_4(int) = Store[#return] : &:r1745_1, r1745_3 +# 1742| r1742_5(glval) = VariableAddress[#return] : +# 1742| v1742_6(void) = ReturnValue : &:r1742_5, m1745_4 +# 1742| v1742_7(void) = AliasedUse : m1742_3 +# 1742| v1742_8(void) = ExitFunction : + +# 1750| void TrivialLambdaClass::m() const +# 1750| Block 0 +# 1750| v1750_1(void) = EnterFunction : +# 1750| m1750_2(unknown) = AliasedDefinition : +# 1750| m1750_3(unknown) = InitializeNonLocal : +# 1750| m1750_4(unknown) = Chi : total:m1750_2, partial:m1750_3 +# 1750| r1750_5(glval) = VariableAddress[#this] : +# 1750| m1750_6(glval) = InitializeParameter[#this] : &:r1750_5 +# 1750| r1750_7(glval) = Load[#this] : &:r1750_5, m1750_6 +# 1750| m1750_8(TrivialLambdaClass) = InitializeIndirection[#this] : &:r1750_7 +# 1751| r1751_1(glval) = VariableAddress[l_m_outer] : +# 1751| r1751_2(glval) = VariableAddress[#temp1751:25] : +# 1751| m1751_3(decltype([...](...){...})) = Uninitialized[#temp1751:25] : &:r1751_2 +# 1751| r1751_4(glval) = FieldAddress[(captured this)] : r1751_2 +# 1751| r1751_5(glval) = VariableAddress[#this] : +# 1751| r1751_6(TrivialLambdaClass *) = Load[#this] : &:r1751_5, m1750_6 +# 1751| r1751_7(TrivialLambdaClass) = Load[?] : &:r1751_6, ~m1750_8 +# 1751| m1751_8(TrivialLambdaClass) = Store[?] : &:r1751_4, r1751_7 +# 1751| r1751_9(decltype([...](...){...})) = Load[#temp1751:25] : &:r1751_2, ~m1751_8 +# 1751| m1751_10(decltype([...](...){...})) = Store[l_m_outer] : &:r1751_1, r1751_9 +# 1758| v1758_1(void) = NoOp : +# 1750| v1750_9(void) = ReturnIndirection[#this] : &:r1750_7, m1750_8 +# 1750| v1750_10(void) = ReturnVoid : +# 1750| v1750_11(void) = AliasedUse : m1750_3 +# 1750| v1750_12(void) = ExitFunction : + +# 1751| void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const +# 1751| Block 0 +# 1751| v1751_1(void) = EnterFunction : +# 1751| m1751_2(unknown) = AliasedDefinition : +# 1751| m1751_3(unknown) = InitializeNonLocal : +# 1751| m1751_4(unknown) = Chi : total:m1751_2, partial:m1751_3 +# 1751| r1751_5(glval) = VariableAddress[#this] : +# 1751| m1751_6(glval) = InitializeParameter[#this] : &:r1751_5 +# 1751| r1751_7(glval) = Load[#this] : &:r1751_5, m1751_6 +# 1751| m1751_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1751_7 +# 1752| r1752_1(glval) = VariableAddress[#this] : +# 1752| r1752_2(lambda [] type at line 1751, col. 26 *) = Load[#this] : &:r1752_1, m1751_6 +# 1752| r1752_3(glval) = FieldAddress[(captured this)] : r1752_2 +# 1752| r1752_4(TrivialLambdaClass *) = CopyValue : r1752_3 +# 1752| r1752_5(glval) = FunctionAddress[m] : +# 1752| v1752_6(void) = Call[m] : func:r1752_5, this:r1752_4 +# 1752| m1752_7(unknown) = ^CallSideEffect : ~m1751_4 +# 1752| m1752_8(unknown) = Chi : total:m1751_4, partial:m1752_7 +# 1752| v1752_9(void) = ^IndirectReadSideEffect[-1] : &:r1752_4, ~m1751_8 +# 1754| r1754_1(glval) = VariableAddress[l_m_inner] : +# 1754| r1754_2(glval) = VariableAddress[#temp1754:29] : +# 1754| m1754_3(decltype([...](...){...})) = Uninitialized[#temp1754:29] : &:r1754_2 +# 1754| r1754_4(glval) = FieldAddress[(captured this)] : r1754_2 +# 1754| r1754_5(glval) = VariableAddress[#this] : +# 1754| r1754_6(lambda [] type at line 1754, col. 30 *) = Load[#this] : &:r1754_5, m1751_6 +# 1754| r1754_7(glval) = FieldAddress[(captured this)] : r1754_6 +# 1754| r1754_8(TrivialLambdaClass) = Load[?] : &:r1754_7, ~m1751_8 +# 1754| m1754_9(TrivialLambdaClass) = Store[?] : &:r1754_4, r1754_8 +# 1754| r1754_10(decltype([...](...){...})) = Load[#temp1754:29] : &:r1754_2, ~m1754_9 +# 1754| m1754_11(decltype([...](...){...})) = Store[l_m_inner] : &:r1754_1, r1754_10 +# 1757| v1757_1(void) = NoOp : +# 1751| v1751_9(void) = ReturnIndirection[#this] : &:r1751_7, m1751_8 +# 1751| v1751_10(void) = ReturnVoid : +# 1751| v1751_11(void) = AliasedUse : ~m1752_8 +# 1751| v1751_12(void) = ExitFunction : + +# 1754| void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)::operator()() const +# 1754| Block 0 +# 1754| v1754_1(void) = EnterFunction : +# 1754| m1754_2(unknown) = AliasedDefinition : +# 1754| m1754_3(unknown) = InitializeNonLocal : +# 1754| m1754_4(unknown) = Chi : total:m1754_2, partial:m1754_3 +# 1754| r1754_5(glval) = VariableAddress[#this] : +# 1754| m1754_6(glval) = InitializeParameter[#this] : &:r1754_5 +# 1754| r1754_7(glval) = Load[#this] : &:r1754_5, m1754_6 +# 1754| m1754_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1754_7 +# 1755| r1755_1(glval) = VariableAddress[#this] : +# 1755| r1755_2(lambda [] type at line 1754, col. 30 *) = Load[#this] : &:r1755_1, m1754_6 +# 1755| r1755_3(glval) = FieldAddress[(captured this)] : r1755_2 +# 1755| r1755_4(TrivialLambdaClass *) = CopyValue : r1755_3 +# 1755| r1755_5(glval) = FunctionAddress[m] : +# 1755| v1755_6(void) = Call[m] : func:r1755_5, this:r1755_4 +# 1755| m1755_7(unknown) = ^CallSideEffect : ~m1754_4 +# 1755| m1755_8(unknown) = Chi : total:m1754_4, partial:m1755_7 +# 1755| v1755_9(void) = ^IndirectReadSideEffect[-1] : &:r1755_4, ~m1754_8 +# 1756| v1756_1(void) = NoOp : +# 1754| v1754_9(void) = ReturnIndirection[#this] : &:r1754_7, m1754_8 +# 1754| v1754_10(void) = ReturnVoid : +# 1754| v1754_11(void) = AliasedUse : ~m1755_8 +# 1754| v1754_12(void) = ExitFunction : + +# 1761| void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&) +# 1761| Block 0 +# 1761| v1761_1(void) = EnterFunction : +# 1761| m1761_2(unknown) = AliasedDefinition : +# 1761| m1761_3(unknown) = InitializeNonLocal : +# 1761| m1761_4(unknown) = Chi : total:m1761_2, partial:m1761_3 +# 1761| r1761_5(glval) = VariableAddress[p1] : +# 1761| m1761_6(TrivialLambdaClass) = InitializeParameter[p1] : &:r1761_5 +# 1761| r1761_7(glval) = VariableAddress[p2] : +# 1761| m1761_8(TrivialLambdaClass &) = InitializeParameter[p2] : &:r1761_7 +# 1761| r1761_9(TrivialLambdaClass &) = Load[p2] : &:r1761_7, m1761_8 +# 1761| m1761_10(unknown) = InitializeIndirection[p2] : &:r1761_9 +# 1761| r1761_11(glval) = VariableAddress[p3] : +# 1761| m1761_12(TrivialLambdaClass &&) = InitializeParameter[p3] : &:r1761_11 +# 1761| r1761_13(TrivialLambdaClass &&) = Load[p3] : &:r1761_11, m1761_12 +# 1761| m1761_14(unknown) = InitializeIndirection[p3] : &:r1761_13 +# 1762| r1762_1(glval) = VariableAddress[l1] : +# 1762| m1762_2(TrivialLambdaClass) = Uninitialized[l1] : &:r1762_1 +# 1763| r1763_1(glval) = VariableAddress[l2] : +# 1763| r1763_2(glval) = VariableAddress[#temp1763:36] : +# 1763| r1763_3(TrivialLambdaClass) = Constant[0] : +# 1763| m1763_4(TrivialLambdaClass) = Store[#temp1763:36] : &:r1763_2, r1763_3 +# 1763| r1763_5(glval) = Convert : r1763_2 +# 1763| r1763_6(TrivialLambdaClass &) = CopyValue : r1763_5 +# 1763| m1763_7(TrivialLambdaClass &) = Store[l2] : &:r1763_1, r1763_6 +# 1765| r1765_1(glval) = VariableAddress[l_outer1] : +# 1765| r1765_2(glval) = VariableAddress[#temp1765:20] : +# 1765| m1765_3(decltype([...](...){...})) = Uninitialized[#temp1765:20] : &:r1765_2 +# 1765| r1765_4(glval) = FieldAddress[p1] : r1765_2 +# 1765| r1765_5(glval) = VariableAddress[p1] : +# 1765| r1765_6(TrivialLambdaClass) = Load[p1] : &:r1765_5, m1761_6 +# 1765| m1765_7(TrivialLambdaClass) = Store[?] : &:r1765_4, r1765_6 +# 1765| m1765_8(decltype([...](...){...})) = Chi : total:m1765_3, partial:m1765_7 +# 1765| r1765_9(glval) = FieldAddress[p2] : r1765_2 +# 1765| r1765_10(glval) = VariableAddress[p2] : +# 1765| r1765_11(TrivialLambdaClass &) = Load[p2] : &:r1765_10, m1761_8 +#-----| r0_1(TrivialLambdaClass) = Load[?] : &:r1765_11, ~m1761_10 +#-----| m0_2(TrivialLambdaClass) = Store[?] : &:r1765_9, r0_1 +#-----| m0_3(decltype([...](...){...})) = Chi : total:m1765_8, partial:m0_2 +# 1765| r1765_12(glval) = FieldAddress[p3] : r1765_2 +# 1765| r1765_13(glval) = VariableAddress[p3] : +# 1765| r1765_14(TrivialLambdaClass &&) = Load[p3] : &:r1765_13, m1761_12 +#-----| r0_4(TrivialLambdaClass) = Load[?] : &:r1765_14, ~m1761_14 +#-----| m0_5(TrivialLambdaClass) = Store[?] : &:r1765_12, r0_4 +#-----| m0_6(decltype([...](...){...})) = Chi : total:m0_3, partial:m0_5 +# 1765| r1765_15(glval) = FieldAddress[l1] : r1765_2 +# 1765| r1765_16(glval) = VariableAddress[l1] : +# 1765| r1765_17(TrivialLambdaClass) = Load[l1] : &:r1765_16, m1762_2 +# 1765| m1765_18(TrivialLambdaClass) = Store[?] : &:r1765_15, r1765_17 +# 1765| m1765_19(decltype([...](...){...})) = Chi : total:m0_6, partial:m1765_18 +# 1765| r1765_20(glval) = FieldAddress[l2] : r1765_2 +# 1765| r1765_21(glval) = VariableAddress[l2] : +# 1765| r1765_22(TrivialLambdaClass &) = Load[l2] : &:r1765_21, m1763_7 +#-----| r0_7(TrivialLambdaClass) = Load[?] : &:r1765_22, m1763_4 +#-----| m0_8(TrivialLambdaClass) = Store[?] : &:r1765_20, r0_7 +#-----| m0_9(decltype([...](...){...})) = Chi : total:m1765_19, partial:m0_8 +# 1765| r1765_23(decltype([...](...){...})) = Load[#temp1765:20] : &:r1765_2, m0_9 +# 1765| m1765_24(decltype([...](...){...})) = Store[l_outer1] : &:r1765_1, r1765_23 +# 1768| v1768_1(void) = NoOp : +# 1761| v1761_15(void) = ReturnIndirection[p2] : &:r1761_9, m1761_10 +# 1761| v1761_16(void) = ReturnIndirection[p3] : &:r1761_13, m1761_14 +# 1761| v1761_17(void) = ReturnVoid : +# 1761| v1761_18(void) = AliasedUse : m1761_3 +# 1761| v1761_19(void) = ExitFunction : + +# 1765| void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const +# 1765| Block 0 +# 1765| v1765_1(void) = EnterFunction : +# 1765| m1765_2(unknown) = AliasedDefinition : +# 1765| m1765_3(unknown) = InitializeNonLocal : +# 1765| m1765_4(unknown) = Chi : total:m1765_2, partial:m1765_3 +# 1765| r1765_5(glval) = VariableAddress[#this] : +# 1765| m1765_6(glval) = InitializeParameter[#this] : &:r1765_5 +# 1765| r1765_7(glval) = Load[#this] : &:r1765_5, m1765_6 +# 1765| m1765_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1765_7 +# 1766| r1766_1(glval) = VariableAddress[l_inner1] : +# 1766| r1766_2(glval) = VariableAddress[#temp1766:24] : +# 1766| m1766_3(decltype([...](...){...})) = Uninitialized[#temp1766:24] : &:r1766_2 +# 1766| r1766_4(glval) = FieldAddress[p1] : r1766_2 +# 1766| r1766_5(glval) = VariableAddress[#this] : +# 1766| r1766_6(lambda [] type at line 1766, col. 25 *) = Load[#this] : &:r1766_5, m1765_6 +# 1766| r1766_7(glval) = FieldAddress[p1] : r1766_6 +# 1766| r1766_8(TrivialLambdaClass) = Load[?] : &:r1766_7, ~m1765_8 +# 1766| m1766_9(TrivialLambdaClass) = Store[?] : &:r1766_4, r1766_8 +# 1766| r1766_10(decltype([...](...){...})) = Load[#temp1766:24] : &:r1766_2, ~m1766_9 +# 1766| m1766_11(decltype([...](...){...})) = Store[l_inner1] : &:r1766_1, r1766_10 +# 1767| v1767_1(void) = NoOp : +# 1765| v1765_9(void) = ReturnIndirection[#this] : &:r1765_7, m1765_8 +# 1765| v1765_10(void) = ReturnVoid : +# 1765| v1765_11(void) = AliasedUse : m1765_3 +# 1765| v1765_12(void) = ExitFunction : + +# 1766| void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)::operator()() const +# 1766| Block 0 +# 1766| v1766_1(void) = EnterFunction : +# 1766| m1766_2(unknown) = AliasedDefinition : +# 1766| m1766_3(unknown) = InitializeNonLocal : +# 1766| m1766_4(unknown) = Chi : total:m1766_2, partial:m1766_3 +# 1766| r1766_5(glval) = VariableAddress[#this] : +# 1766| m1766_6(glval) = InitializeParameter[#this] : &:r1766_5 +# 1766| r1766_7(glval) = Load[#this] : &:r1766_5, m1766_6 +# 1766| m1766_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1766_7 +# 1766| v1766_9(void) = NoOp : +# 1766| v1766_10(void) = ReturnIndirection[#this] : &:r1766_7, m1766_8 +# 1766| v1766_11(void) = ReturnVoid : +# 1766| v1766_12(void) = AliasedUse : m1766_3 +# 1766| v1766_13(void) = ExitFunction : + +# 1773| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass() +# 1773| Block 0 +# 1773| v1773_1(void) = EnterFunction : +# 1773| m1773_2(unknown) = AliasedDefinition : +# 1773| m1773_3(unknown) = InitializeNonLocal : +# 1773| m1773_4(unknown) = Chi : total:m1773_2, partial:m1773_3 +# 1773| r1773_5(glval) = VariableAddress[#this] : +# 1773| m1773_6(glval) = InitializeParameter[#this] : &:r1773_5 +# 1773| r1773_7(glval) = Load[#this] : &:r1773_5, m1773_6 +# 1773| m1773_8(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1773_7 +# 1773| v1773_9(void) = NoOp : +# 1773| v1773_10(void) = ReturnIndirection[#this] : &:r1773_7, m1773_8 +# 1773| v1773_11(void) = ReturnVoid : +# 1773| v1773_12(void) = AliasedUse : m1773_3 +# 1773| v1773_13(void) = ExitFunction : + +# 1774| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass(CopyConstructorWithImplicitArgumentClass const&) +# 1774| Block 0 +# 1774| v1774_1(void) = EnterFunction : +# 1774| m1774_2(unknown) = AliasedDefinition : +# 1774| m1774_3(unknown) = InitializeNonLocal : +# 1774| m1774_4(unknown) = Chi : total:m1774_2, partial:m1774_3 +# 1774| r1774_5(glval) = VariableAddress[#this] : +# 1774| m1774_6(glval) = InitializeParameter[#this] : &:r1774_5 +# 1774| r1774_7(glval) = Load[#this] : &:r1774_5, m1774_6 +# 1774| m1774_8(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1774_7 +# 1774| r1774_9(glval) = VariableAddress[c] : +# 1774| m1774_10(CopyConstructorWithImplicitArgumentClass &) = InitializeParameter[c] : &:r1774_9 +# 1774| r1774_11(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1774_9, m1774_10 +# 1774| m1774_12(unknown) = InitializeIndirection[c] : &:r1774_11 +# 1775| r1775_1(glval) = VariableAddress[c] : +# 1775| r1775_2(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1775_1, m1774_10 +# 1775| r1775_3(glval) = CopyValue : r1775_2 +# 1775| r1775_4(glval) = FieldAddress[x] : r1775_3 +# 1775| r1775_5(int) = Load[?] : &:r1775_4, ~m1774_12 +# 1775| r1775_6(glval) = VariableAddress[#this] : +# 1775| r1775_7(CopyConstructorWithImplicitArgumentClass *) = Load[#this] : &:r1775_6, m1774_6 +# 1775| r1775_8(glval) = FieldAddress[x] : r1775_7 +# 1775| m1775_9(int) = Store[?] : &:r1775_8, r1775_5 +# 1775| m1775_10(unknown) = Chi : total:m1774_8, partial:m1775_9 +# 1776| v1776_1(void) = NoOp : +# 1774| v1774_13(void) = ReturnIndirection[#this] : &:r1774_7, m1775_10 +# 1774| v1774_14(void) = ReturnIndirection[c] : &:r1774_11, m1774_12 +# 1774| v1774_15(void) = ReturnVoid : +# 1774| v1774_16(void) = AliasedUse : m1774_3 +# 1774| v1774_17(void) = ExitFunction : + +# 1782| void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass() +# 1782| Block 0 +# 1782| v1782_1(void) = EnterFunction : +# 1782| m1782_2(unknown) = AliasedDefinition : +# 1782| m1782_3(unknown) = InitializeNonLocal : +# 1782| m1782_4(unknown) = Chi : total:m1782_2, partial:m1782_3 +# 1782| r1782_5(glval) = VariableAddress[#this] : +# 1782| m1782_6(glval) = InitializeParameter[#this] : &:r1782_5 +# 1782| r1782_7(glval) = Load[#this] : &:r1782_5, m1782_6 +# 1782| m1782_8(CopyConstructorWithBitwiseCopyClass) = InitializeIndirection[#this] : &:r1782_7 +# 1782| v1782_9(void) = NoOp : +# 1782| v1782_10(void) = ReturnIndirection[#this] : &:r1782_7, m1782_8 +# 1782| v1782_11(void) = ReturnVoid : +# 1782| v1782_12(void) = AliasedUse : m1782_3 +# 1782| v1782_13(void) = ExitFunction : + +# 1785| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&) +# 1785| Block 0 +# 1785| v1785_1(void) = EnterFunction : +# 1785| m1785_2(unknown) = AliasedDefinition : +# 1785| m1785_3(unknown) = InitializeNonLocal : +# 1785| m1785_4(unknown) = Chi : total:m1785_2, partial:m1785_3 +# 1785| r1785_5(glval) = VariableAddress[#this] : +# 1785| m1785_6(glval) = InitializeParameter[#this] : &:r1785_5 +# 1785| r1785_7(glval) = Load[#this] : &:r1785_5, m1785_6 +# 1785| m1785_8(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1785_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1738| r1738_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1738_6 -# 1738| r1738_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1738| r1738_11(glval) = VariableAddress[(unnamed parameter 0)] : -# 1738| r1738_12(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r1738_11, m0_2 -# 1738| r1738_13(glval) = CopyValue : r1738_12 -# 1738| r1738_14(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1738_13 -# 1738| r1738_15(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1738_14 -# 1738| v1738_16(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1738_10, this:r1738_9, 0:r1738_15 -# 1738| m1738_17(unknown) = ^CallSideEffect : ~m1738_4 -# 1738| m1738_18(unknown) = Chi : total:m1738_4, partial:m1738_17 -# 1738| v1738_19(void) = ^BufferReadSideEffect[0] : &:r1738_15, ~m0_4 -# 1738| m1738_20(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1738_9 -# 1738| m1738_21(unknown) = Chi : total:m1738_8, partial:m1738_20 -# 1738| v1738_22(void) = NoOp : -# 1738| v1738_23(void) = ReturnIndirection[#this] : &:r1738_7, m1738_21 +# 1785| r1785_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1785_6 +# 1785| r1785_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : +# 1785| r1785_11(glval) = VariableAddress[(unnamed parameter 0)] : +# 1785| r1785_12(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r1785_11, m0_2 +# 1785| r1785_13(glval) = CopyValue : r1785_12 +# 1785| r1785_14(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1785_13 +# 1785| r1785_15(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1785_14 +# 1785| v1785_16(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1785_10, this:r1785_9, 0:r1785_15 +# 1785| m1785_17(unknown) = ^CallSideEffect : ~m1785_4 +# 1785| m1785_18(unknown) = Chi : total:m1785_4, partial:m1785_17 +# 1785| v1785_19(void) = ^BufferReadSideEffect[0] : &:r1785_15, ~m0_4 +# 1785| m1785_20(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1785_9 +# 1785| m1785_21(unknown) = Chi : total:m1785_8, partial:m1785_20 +# 1785| v1785_22(void) = NoOp : +# 1785| v1785_23(void) = ReturnIndirection[#this] : &:r1785_7, m1785_21 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 1738| v1738_24(void) = ReturnVoid : -# 1738| v1738_25(void) = AliasedUse : ~m1738_18 -# 1738| v1738_26(void) = ExitFunction : +# 1785| v1785_24(void) = ReturnVoid : +# 1785| v1785_25(void) = AliasedUse : ~m1785_18 +# 1785| v1785_26(void) = ExitFunction : -# 1742| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass() -# 1742| Block 0 -# 1742| v1742_1(void) = EnterFunction : -# 1742| m1742_2(unknown) = AliasedDefinition : -# 1742| m1742_3(unknown) = InitializeNonLocal : -# 1742| m1742_4(unknown) = Chi : total:m1742_2, partial:m1742_3 -# 1742| r1742_5(glval) = VariableAddress[#this] : -# 1742| m1742_6(glval) = InitializeParameter[#this] : &:r1742_5 -# 1742| r1742_7(glval) = Load[#this] : &:r1742_5, m1742_6 -# 1742| m1742_8(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1742_7 -# 1742| r1742_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1742_6 -# 1742| r1742_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1742| v1742_11(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1742_10, this:r1742_9 -# 1742| m1742_12(unknown) = ^CallSideEffect : ~m1742_4 -# 1742| m1742_13(unknown) = Chi : total:m1742_4, partial:m1742_12 -# 1742| m1742_14(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1742_9 -# 1742| m1742_15(unknown) = Chi : total:m1742_8, partial:m1742_14 -# 1742| r1742_16(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithBitwiseCopyClass] : m1742_6 -# 1742| r1742_17(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : -# 1742| v1742_18(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1742_17, this:r1742_16 -# 1742| m1742_19(unknown) = ^CallSideEffect : ~m1742_13 -# 1742| m1742_20(unknown) = Chi : total:m1742_13, partial:m1742_19 -# 1742| m1742_21(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1742_16 -# 1742| m1742_22(unknown) = Chi : total:m1742_15, partial:m1742_21 -# 1742| v1742_23(void) = NoOp : -# 1742| v1742_24(void) = ReturnIndirection[#this] : &:r1742_7, m1742_22 -# 1742| v1742_25(void) = ReturnVoid : -# 1742| v1742_26(void) = AliasedUse : ~m1742_20 -# 1742| v1742_27(void) = ExitFunction : +# 1789| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass() +# 1789| Block 0 +# 1789| v1789_1(void) = EnterFunction : +# 1789| m1789_2(unknown) = AliasedDefinition : +# 1789| m1789_3(unknown) = InitializeNonLocal : +# 1789| m1789_4(unknown) = Chi : total:m1789_2, partial:m1789_3 +# 1789| r1789_5(glval) = VariableAddress[#this] : +# 1789| m1789_6(glval) = InitializeParameter[#this] : &:r1789_5 +# 1789| r1789_7(glval) = Load[#this] : &:r1789_5, m1789_6 +# 1789| m1789_8(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1789_7 +# 1789| r1789_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1789_6 +# 1789| r1789_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : +# 1789| v1789_11(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1789_10, this:r1789_9 +# 1789| m1789_12(unknown) = ^CallSideEffect : ~m1789_4 +# 1789| m1789_13(unknown) = Chi : total:m1789_4, partial:m1789_12 +# 1789| m1789_14(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1789_9 +# 1789| m1789_15(unknown) = Chi : total:m1789_8, partial:m1789_14 +# 1789| r1789_16(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithBitwiseCopyClass] : m1789_6 +# 1789| r1789_17(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : +# 1789| v1789_18(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1789_17, this:r1789_16 +# 1789| m1789_19(unknown) = ^CallSideEffect : ~m1789_13 +# 1789| m1789_20(unknown) = Chi : total:m1789_13, partial:m1789_19 +# 1789| m1789_21(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1789_16 +# 1789| m1789_22(unknown) = Chi : total:m1789_15, partial:m1789_21 +# 1789| v1789_23(void) = NoOp : +# 1789| v1789_24(void) = ReturnIndirection[#this] : &:r1789_7, m1789_22 +# 1789| v1789_25(void) = ReturnVoid : +# 1789| v1789_26(void) = AliasedUse : ~m1789_20 +# 1789| v1789_27(void) = ExitFunction : -# 1745| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&) -# 1745| Block 0 -# 1745| v1745_1(void) = EnterFunction : -# 1745| m1745_2(unknown) = AliasedDefinition : -# 1745| m1745_3(unknown) = InitializeNonLocal : -# 1745| m1745_4(unknown) = Chi : total:m1745_2, partial:m1745_3 -# 1745| r1745_5(glval) = VariableAddress[#this] : -# 1745| m1745_6(glval) = InitializeParameter[#this] : &:r1745_5 -# 1745| r1745_7(glval) = Load[#this] : &:r1745_5, m1745_6 -# 1745| m1745_8(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1745_7 +# 1792| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&) +# 1792| Block 0 +# 1792| v1792_1(void) = EnterFunction : +# 1792| m1792_2(unknown) = AliasedDefinition : +# 1792| m1792_3(unknown) = InitializeNonLocal : +# 1792| m1792_4(unknown) = Chi : total:m1792_2, partial:m1792_3 +# 1792| r1792_5(glval) = VariableAddress[#this] : +# 1792| m1792_6(glval) = InitializeParameter[#this] : &:r1792_5 +# 1792| r1792_7(glval) = Load[#this] : &:r1792_5, m1792_6 +# 1792| m1792_8(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1792_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(CopyConstructorTestVirtualClass &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1745| r1745_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1745_6 -# 1745| r1745_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1745| r1745_11(glval) = VariableAddress[(unnamed parameter 0)] : -# 1745| r1745_12(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r1745_11, m0_2 -# 1745| r1745_13(glval) = CopyValue : r1745_12 -# 1745| r1745_14(glval) = ConvertToVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1745_13 -# 1745| r1745_15(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1745_14 -# 1745| v1745_16(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1745_10, this:r1745_9, 0:r1745_15 -# 1745| m1745_17(unknown) = ^CallSideEffect : ~m1745_4 -# 1745| m1745_18(unknown) = Chi : total:m1745_4, partial:m1745_17 -# 1745| v1745_19(void) = ^BufferReadSideEffect[0] : &:r1745_15, ~m0_4 -# 1745| m1745_20(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1745_9 -# 1745| m1745_21(unknown) = Chi : total:m1745_18, partial:m1745_20 -# 1745| v1745_22(void) = NoOp : -# 1745| v1745_23(void) = ReturnIndirection[#this] : &:r1745_7, m1745_8 +# 1792| r1792_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1792_6 +# 1792| r1792_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : +# 1792| r1792_11(glval) = VariableAddress[(unnamed parameter 0)] : +# 1792| r1792_12(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r1792_11, m0_2 +# 1792| r1792_13(glval) = CopyValue : r1792_12 +# 1792| r1792_14(glval) = ConvertToVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1792_13 +# 1792| r1792_15(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1792_14 +# 1792| v1792_16(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1792_10, this:r1792_9, 0:r1792_15 +# 1792| m1792_17(unknown) = ^CallSideEffect : ~m1792_4 +# 1792| m1792_18(unknown) = Chi : total:m1792_4, partial:m1792_17 +# 1792| v1792_19(void) = ^BufferReadSideEffect[0] : &:r1792_15, ~m0_4 +# 1792| m1792_20(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1792_9 +# 1792| m1792_21(unknown) = Chi : total:m1792_18, partial:m1792_20 +# 1792| v1792_22(void) = NoOp : +# 1792| v1792_23(void) = ReturnIndirection[#this] : &:r1792_7, m1792_8 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 1745| v1745_24(void) = ReturnVoid : -# 1745| v1745_25(void) = AliasedUse : ~m1745_21 -# 1745| v1745_26(void) = ExitFunction : +# 1792| v1792_24(void) = ReturnVoid : +# 1792| v1792_25(void) = AliasedUse : ~m1792_21 +# 1792| v1792_26(void) = ExitFunction : -# 1749| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass() -# 1749| Block 0 -# 1749| v1749_1(void) = EnterFunction : -# 1749| m1749_2(unknown) = AliasedDefinition : -# 1749| m1749_3(unknown) = InitializeNonLocal : -# 1749| m1749_4(unknown) = Chi : total:m1749_2, partial:m1749_3 -# 1749| r1749_5(glval) = VariableAddress[#this] : -# 1749| m1749_6(glval) = InitializeParameter[#this] : &:r1749_5 -# 1749| r1749_7(glval) = Load[#this] : &:r1749_5, m1749_6 -# 1749| m1749_8(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1749_7 -# 1749| r1749_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1749_6 -# 1749| r1749_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1749| v1749_11(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1749_10, this:r1749_9 -# 1749| m1749_12(unknown) = ^CallSideEffect : ~m1749_4 -# 1749| m1749_13(unknown) = Chi : total:m1749_4, partial:m1749_12 -# 1749| m1749_14(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1749_9 -# 1749| m1749_15(unknown) = Chi : total:m1749_13, partial:m1749_14 -# 1749| r1749_16(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithBitwiseCopyClass] : m1749_6 -# 1749| r1749_17(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : -# 1749| v1749_18(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1749_17, this:r1749_16 -# 1749| m1749_19(unknown) = ^CallSideEffect : ~m1749_15 -# 1749| m1749_20(unknown) = Chi : total:m1749_15, partial:m1749_19 -# 1749| m1749_21(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1749_16 -# 1749| m1749_22(unknown) = Chi : total:m1749_20, partial:m1749_21 -# 1749| v1749_23(void) = NoOp : -# 1749| v1749_24(void) = ReturnIndirection[#this] : &:r1749_7, m1749_8 -# 1749| v1749_25(void) = ReturnVoid : -# 1749| v1749_26(void) = AliasedUse : ~m1749_22 -# 1749| v1749_27(void) = ExitFunction : +# 1796| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass() +# 1796| Block 0 +# 1796| v1796_1(void) = EnterFunction : +# 1796| m1796_2(unknown) = AliasedDefinition : +# 1796| m1796_3(unknown) = InitializeNonLocal : +# 1796| m1796_4(unknown) = Chi : total:m1796_2, partial:m1796_3 +# 1796| r1796_5(glval) = VariableAddress[#this] : +# 1796| m1796_6(glval) = InitializeParameter[#this] : &:r1796_5 +# 1796| r1796_7(glval) = Load[#this] : &:r1796_5, m1796_6 +# 1796| m1796_8(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1796_7 +# 1796| r1796_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1796_6 +# 1796| r1796_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : +# 1796| v1796_11(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1796_10, this:r1796_9 +# 1796| m1796_12(unknown) = ^CallSideEffect : ~m1796_4 +# 1796| m1796_13(unknown) = Chi : total:m1796_4, partial:m1796_12 +# 1796| m1796_14(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1796_9 +# 1796| m1796_15(unknown) = Chi : total:m1796_13, partial:m1796_14 +# 1796| r1796_16(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithBitwiseCopyClass] : m1796_6 +# 1796| r1796_17(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : +# 1796| v1796_18(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1796_17, this:r1796_16 +# 1796| m1796_19(unknown) = ^CallSideEffect : ~m1796_15 +# 1796| m1796_20(unknown) = Chi : total:m1796_15, partial:m1796_19 +# 1796| m1796_21(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1796_16 +# 1796| m1796_22(unknown) = Chi : total:m1796_20, partial:m1796_21 +# 1796| v1796_23(void) = NoOp : +# 1796| v1796_24(void) = ReturnIndirection[#this] : &:r1796_7, m1796_8 +# 1796| v1796_25(void) = ReturnVoid : +# 1796| v1796_26(void) = AliasedUse : ~m1796_22 +# 1796| v1796_27(void) = ExitFunction : -# 1752| int implicit_copy_constructor_test(CopyConstructorTestNonVirtualClass const&, CopyConstructorTestVirtualClass const&) -# 1752| Block 0 -# 1752| v1752_1(void) = EnterFunction : -# 1752| m1752_2(unknown) = AliasedDefinition : -# 1752| m1752_3(unknown) = InitializeNonLocal : -# 1752| m1752_4(unknown) = Chi : total:m1752_2, partial:m1752_3 -# 1753| r1753_1(glval) = VariableAddress[x] : -# 1753| m1753_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[x] : &:r1753_1 -# 1753| r1753_3(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1753_1, m1753_2 -# 1753| m1753_4(unknown) = InitializeIndirection[x] : &:r1753_3 -# 1754| r1754_1(glval) = VariableAddress[y] : -# 1754| m1754_2(CopyConstructorTestVirtualClass &) = InitializeParameter[y] : &:r1754_1 -# 1754| r1754_3(CopyConstructorTestVirtualClass &) = Load[y] : &:r1754_1, m1754_2 -# 1754| m1754_4(unknown) = InitializeIndirection[y] : &:r1754_3 -# 1755| r1755_1(glval) = VariableAddress[cx] : -# 1755| m1755_2(CopyConstructorTestNonVirtualClass) = Uninitialized[cx] : &:r1755_1 -# 1755| r1755_3(glval) = FunctionAddress[CopyConstructorTestNonVirtualClass] : -# 1755| r1755_4(glval) = VariableAddress[x] : -# 1755| r1755_5(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1755_4, m1753_2 -# 1755| r1755_6(glval) = CopyValue : r1755_5 -# 1755| r1755_7(CopyConstructorTestNonVirtualClass &) = CopyValue : r1755_6 -# 1755| v1755_8(void) = Call[CopyConstructorTestNonVirtualClass] : func:r1755_3, this:r1755_1, 0:r1755_7 -# 1755| m1755_9(unknown) = ^CallSideEffect : ~m1752_4 -# 1755| m1755_10(unknown) = Chi : total:m1752_4, partial:m1755_9 -# 1755| v1755_11(void) = ^BufferReadSideEffect[0] : &:r1755_7, ~m1753_4 -# 1755| m1755_12(CopyConstructorTestNonVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1755_1 -# 1755| m1755_13(CopyConstructorTestNonVirtualClass) = Chi : total:m1755_2, partial:m1755_12 -# 1756| r1756_1(glval) = VariableAddress[cy] : -# 1756| m1756_2(CopyConstructorTestVirtualClass) = Uninitialized[cy] : &:r1756_1 -# 1756| r1756_3(glval) = FunctionAddress[CopyConstructorTestVirtualClass] : -# 1756| r1756_4(glval) = VariableAddress[y] : -# 1756| r1756_5(CopyConstructorTestVirtualClass &) = Load[y] : &:r1756_4, m1754_2 -# 1756| r1756_6(glval) = CopyValue : r1756_5 -# 1756| r1756_7(CopyConstructorTestVirtualClass &) = CopyValue : r1756_6 -# 1756| v1756_8(void) = Call[CopyConstructorTestVirtualClass] : func:r1756_3, this:r1756_1, 0:r1756_7 -# 1756| m1756_9(unknown) = ^CallSideEffect : ~m1755_10 -# 1756| m1756_10(unknown) = Chi : total:m1755_10, partial:m1756_9 -# 1756| v1756_11(void) = ^BufferReadSideEffect[0] : &:r1756_7, ~m1754_4 -# 1756| m1756_12(CopyConstructorTestVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1756_1 -# 1756| m1756_13(CopyConstructorTestVirtualClass) = Chi : total:m1756_2, partial:m1756_12 -# 1757| r1757_1(glval) = VariableAddress[#return] : -# 1757| m1757_2(int) = Uninitialized[#return] : &:r1757_1 -# 1753| v1753_5(void) = ReturnIndirection[x] : &:r1753_3, m1753_4 -# 1754| v1754_5(void) = ReturnIndirection[y] : &:r1754_3, m1754_4 -# 1752| r1752_5(glval) = VariableAddress[#return] : -# 1752| v1752_6(void) = ReturnValue : &:r1752_5, m1757_2 -# 1752| v1752_7(void) = AliasedUse : ~m1756_10 -# 1752| v1752_8(void) = ExitFunction : +# 1799| int implicit_copy_constructor_test(CopyConstructorTestNonVirtualClass const&, CopyConstructorTestVirtualClass const&) +# 1799| Block 0 +# 1799| v1799_1(void) = EnterFunction : +# 1799| m1799_2(unknown) = AliasedDefinition : +# 1799| m1799_3(unknown) = InitializeNonLocal : +# 1799| m1799_4(unknown) = Chi : total:m1799_2, partial:m1799_3 +# 1800| r1800_1(glval) = VariableAddress[x] : +# 1800| m1800_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[x] : &:r1800_1 +# 1800| r1800_3(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1800_1, m1800_2 +# 1800| m1800_4(unknown) = InitializeIndirection[x] : &:r1800_3 +# 1801| r1801_1(glval) = VariableAddress[y] : +# 1801| m1801_2(CopyConstructorTestVirtualClass &) = InitializeParameter[y] : &:r1801_1 +# 1801| r1801_3(CopyConstructorTestVirtualClass &) = Load[y] : &:r1801_1, m1801_2 +# 1801| m1801_4(unknown) = InitializeIndirection[y] : &:r1801_3 +# 1802| r1802_1(glval) = VariableAddress[cx] : +# 1802| m1802_2(CopyConstructorTestNonVirtualClass) = Uninitialized[cx] : &:r1802_1 +# 1802| r1802_3(glval) = FunctionAddress[CopyConstructorTestNonVirtualClass] : +# 1802| r1802_4(glval) = VariableAddress[x] : +# 1802| r1802_5(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1802_4, m1800_2 +# 1802| r1802_6(glval) = CopyValue : r1802_5 +# 1802| r1802_7(CopyConstructorTestNonVirtualClass &) = CopyValue : r1802_6 +# 1802| v1802_8(void) = Call[CopyConstructorTestNonVirtualClass] : func:r1802_3, this:r1802_1, 0:r1802_7 +# 1802| m1802_9(unknown) = ^CallSideEffect : ~m1799_4 +# 1802| m1802_10(unknown) = Chi : total:m1799_4, partial:m1802_9 +# 1802| v1802_11(void) = ^BufferReadSideEffect[0] : &:r1802_7, ~m1800_4 +# 1802| m1802_12(CopyConstructorTestNonVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1802_1 +# 1802| m1802_13(CopyConstructorTestNonVirtualClass) = Chi : total:m1802_2, partial:m1802_12 +# 1803| r1803_1(glval) = VariableAddress[cy] : +# 1803| m1803_2(CopyConstructorTestVirtualClass) = Uninitialized[cy] : &:r1803_1 +# 1803| r1803_3(glval) = FunctionAddress[CopyConstructorTestVirtualClass] : +# 1803| r1803_4(glval) = VariableAddress[y] : +# 1803| r1803_5(CopyConstructorTestVirtualClass &) = Load[y] : &:r1803_4, m1801_2 +# 1803| r1803_6(glval) = CopyValue : r1803_5 +# 1803| r1803_7(CopyConstructorTestVirtualClass &) = CopyValue : r1803_6 +# 1803| v1803_8(void) = Call[CopyConstructorTestVirtualClass] : func:r1803_3, this:r1803_1, 0:r1803_7 +# 1803| m1803_9(unknown) = ^CallSideEffect : ~m1802_10 +# 1803| m1803_10(unknown) = Chi : total:m1802_10, partial:m1803_9 +# 1803| v1803_11(void) = ^BufferReadSideEffect[0] : &:r1803_7, ~m1801_4 +# 1803| m1803_12(CopyConstructorTestVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1803_1 +# 1803| m1803_13(CopyConstructorTestVirtualClass) = Chi : total:m1803_2, partial:m1803_12 +# 1804| r1804_1(glval) = VariableAddress[#return] : +# 1804| m1804_2(int) = Uninitialized[#return] : &:r1804_1 +# 1800| v1800_5(void) = ReturnIndirection[x] : &:r1800_3, m1800_4 +# 1801| v1801_5(void) = ReturnIndirection[y] : &:r1801_3, m1801_4 +# 1799| r1799_5(glval) = VariableAddress[#return] : +# 1799| v1799_6(void) = ReturnValue : &:r1799_5, m1804_2 +# 1799| v1799_7(void) = AliasedUse : ~m1803_10 +# 1799| v1799_8(void) = ExitFunction : -# 1759| void if_initialization(int) -# 1759| Block 0 -# 1759| v1759_1(void) = EnterFunction : -# 1759| m1759_2(unknown) = AliasedDefinition : -# 1759| m1759_3(unknown) = InitializeNonLocal : -# 1759| m1759_4(unknown) = Chi : total:m1759_2, partial:m1759_3 -# 1759| r1759_5(glval) = VariableAddress[x] : -# 1759| m1759_6(int) = InitializeParameter[x] : &:r1759_5 -# 1760| r1760_1(glval) = VariableAddress[y] : -# 1760| r1760_2(glval) = VariableAddress[x] : -# 1760| r1760_3(int) = Load[x] : &:r1760_2, m1759_6 -# 1760| m1760_4(int) = Store[y] : &:r1760_1, r1760_3 -# 1760| r1760_5(glval) = VariableAddress[x] : -# 1760| r1760_6(int) = Load[x] : &:r1760_5, m1759_6 -# 1760| r1760_7(int) = Constant[1] : -# 1760| r1760_8(int) = Add : r1760_6, r1760_7 -# 1760| r1760_9(int) = Constant[0] : -# 1760| r1760_10(bool) = CompareNE : r1760_8, r1760_9 -# 1760| v1760_11(void) = ConditionalBranch : r1760_10 +# 1806| void if_initialization(int) +# 1806| Block 0 +# 1806| v1806_1(void) = EnterFunction : +# 1806| m1806_2(unknown) = AliasedDefinition : +# 1806| m1806_3(unknown) = InitializeNonLocal : +# 1806| m1806_4(unknown) = Chi : total:m1806_2, partial:m1806_3 +# 1806| r1806_5(glval) = VariableAddress[x] : +# 1806| m1806_6(int) = InitializeParameter[x] : &:r1806_5 +# 1807| r1807_1(glval) = VariableAddress[y] : +# 1807| r1807_2(glval) = VariableAddress[x] : +# 1807| r1807_3(int) = Load[x] : &:r1807_2, m1806_6 +# 1807| m1807_4(int) = Store[y] : &:r1807_1, r1807_3 +# 1807| r1807_5(glval) = VariableAddress[x] : +# 1807| r1807_6(int) = Load[x] : &:r1807_5, m1806_6 +# 1807| r1807_7(int) = Constant[1] : +# 1807| r1807_8(int) = Add : r1807_6, r1807_7 +# 1807| r1807_9(int) = Constant[0] : +# 1807| r1807_10(bool) = CompareNE : r1807_8, r1807_9 +# 1807| v1807_11(void) = ConditionalBranch : r1807_10 #-----| False -> Block 2 #-----| True -> Block 1 -# 1761| Block 1 -# 1761| r1761_1(glval) = VariableAddress[x] : -# 1761| r1761_2(int) = Load[x] : &:r1761_1, m1759_6 -# 1761| r1761_3(glval) = VariableAddress[y] : -# 1761| r1761_4(int) = Load[y] : &:r1761_3, m1760_4 -# 1761| r1761_5(int) = Add : r1761_2, r1761_4 -# 1761| r1761_6(glval) = VariableAddress[x] : -# 1761| m1761_7(int) = Store[x] : &:r1761_6, r1761_5 +# 1808| Block 1 +# 1808| r1808_1(glval) = VariableAddress[x] : +# 1808| r1808_2(int) = Load[x] : &:r1808_1, m1806_6 +# 1808| r1808_3(glval) = VariableAddress[y] : +# 1808| r1808_4(int) = Load[y] : &:r1808_3, m1807_4 +# 1808| r1808_5(int) = Add : r1808_2, r1808_4 +# 1808| r1808_6(glval) = VariableAddress[x] : +# 1808| m1808_7(int) = Store[x] : &:r1808_6, r1808_5 #-----| Goto -> Block 2 -# 1764| Block 2 -# 1764| m1764_1(int) = Phi : from 0:m1759_6, from 1:m1761_7 -# 1764| r1764_2(glval) = VariableAddress[w] : -# 1764| m1764_3(int) = Uninitialized[w] : &:r1764_2 -# 1765| r1765_1(glval) = VariableAddress[x] : -# 1765| r1765_2(int) = Load[x] : &:r1765_1, m1764_1 -# 1765| r1765_3(glval) = VariableAddress[w] : -# 1765| m1765_4(int) = Store[w] : &:r1765_3, r1765_2 -# 1765| r1765_5(glval) = VariableAddress[x] : -# 1765| r1765_6(int) = Load[x] : &:r1765_5, m1764_1 -# 1765| r1765_7(int) = Constant[1] : -# 1765| r1765_8(int) = Add : r1765_6, r1765_7 -# 1765| r1765_9(int) = Constant[0] : -# 1765| r1765_10(bool) = CompareNE : r1765_8, r1765_9 -# 1765| v1765_11(void) = ConditionalBranch : r1765_10 +# 1811| Block 2 +# 1811| m1811_1(int) = Phi : from 0:m1806_6, from 1:m1808_7 +# 1811| r1811_2(glval) = VariableAddress[w] : +# 1811| m1811_3(int) = Uninitialized[w] : &:r1811_2 +# 1812| r1812_1(glval) = VariableAddress[x] : +# 1812| r1812_2(int) = Load[x] : &:r1812_1, m1811_1 +# 1812| r1812_3(glval) = VariableAddress[w] : +# 1812| m1812_4(int) = Store[w] : &:r1812_3, r1812_2 +# 1812| r1812_5(glval) = VariableAddress[x] : +# 1812| r1812_6(int) = Load[x] : &:r1812_5, m1811_1 +# 1812| r1812_7(int) = Constant[1] : +# 1812| r1812_8(int) = Add : r1812_6, r1812_7 +# 1812| r1812_9(int) = Constant[0] : +# 1812| r1812_10(bool) = CompareNE : r1812_8, r1812_9 +# 1812| v1812_11(void) = ConditionalBranch : r1812_10 #-----| False -> Block 4 #-----| True -> Block 3 -# 1766| Block 3 -# 1766| r1766_1(glval) = VariableAddress[x] : -# 1766| r1766_2(int) = Load[x] : &:r1766_1, m1764_1 -# 1766| r1766_3(glval) = VariableAddress[w] : -# 1766| r1766_4(int) = Load[w] : &:r1766_3, m1765_4 -# 1766| r1766_5(int) = Add : r1766_2, r1766_4 -# 1766| r1766_6(glval) = VariableAddress[x] : -# 1766| m1766_7(int) = Store[x] : &:r1766_6, r1766_5 +# 1813| Block 3 +# 1813| r1813_1(glval) = VariableAddress[x] : +# 1813| r1813_2(int) = Load[x] : &:r1813_1, m1811_1 +# 1813| r1813_3(glval) = VariableAddress[w] : +# 1813| r1813_4(int) = Load[w] : &:r1813_3, m1812_4 +# 1813| r1813_5(int) = Add : r1813_2, r1813_4 +# 1813| r1813_6(glval) = VariableAddress[x] : +# 1813| m1813_7(int) = Store[x] : &:r1813_6, r1813_5 #-----| Goto -> Block 4 -# 1769| Block 4 -# 1769| m1769_1(int) = Phi : from 2:m1764_1, from 3:m1766_7 -# 1769| r1769_2(glval) = VariableAddress[x] : -# 1769| r1769_3(int) = Load[x] : &:r1769_2, m1769_1 -# 1769| r1769_4(glval) = VariableAddress[w] : -# 1769| m1769_5(int) = Store[w] : &:r1769_4, r1769_3 -# 1769| r1769_6(glval) = VariableAddress[w2] : -# 1769| r1769_7(glval) = VariableAddress[w] : -# 1769| r1769_8(int) = Load[w] : &:r1769_7, m1769_5 -# 1769| m1769_9(int) = Store[w2] : &:r1769_6, r1769_8 -# 1769| r1769_10(glval) = VariableAddress[w2] : -# 1769| r1769_11(int) = Load[w2] : &:r1769_10, m1769_9 -# 1769| r1769_12(int) = Constant[0] : -# 1769| r1769_13(bool) = CompareNE : r1769_11, r1769_12 -# 1769| r1769_14(bool) = CopyValue : r1769_13 -# 1769| v1769_15(void) = ConditionalBranch : r1769_14 +# 1816| Block 4 +# 1816| m1816_1(int) = Phi : from 2:m1811_1, from 3:m1813_7 +# 1816| r1816_2(glval) = VariableAddress[x] : +# 1816| r1816_3(int) = Load[x] : &:r1816_2, m1816_1 +# 1816| r1816_4(glval) = VariableAddress[w] : +# 1816| m1816_5(int) = Store[w] : &:r1816_4, r1816_3 +# 1816| r1816_6(glval) = VariableAddress[w2] : +# 1816| r1816_7(glval) = VariableAddress[w] : +# 1816| r1816_8(int) = Load[w] : &:r1816_7, m1816_5 +# 1816| m1816_9(int) = Store[w2] : &:r1816_6, r1816_8 +# 1816| r1816_10(glval) = VariableAddress[w2] : +# 1816| r1816_11(int) = Load[w2] : &:r1816_10, m1816_9 +# 1816| r1816_12(int) = Constant[0] : +# 1816| r1816_13(bool) = CompareNE : r1816_11, r1816_12 +# 1816| r1816_14(bool) = CopyValue : r1816_13 +# 1816| v1816_15(void) = ConditionalBranch : r1816_14 #-----| False -> Block 6 #-----| True -> Block 5 -# 1770| Block 5 -# 1770| r1770_1(glval) = VariableAddress[x] : -# 1770| r1770_2(int) = Load[x] : &:r1770_1, m1769_1 -# 1770| r1770_3(glval) = VariableAddress[w] : -# 1770| r1770_4(int) = Load[w] : &:r1770_3, m1769_5 -# 1770| r1770_5(int) = Add : r1770_2, r1770_4 -# 1770| r1770_6(glval) = VariableAddress[x] : -# 1770| m1770_7(int) = Store[x] : &:r1770_6, r1770_5 +# 1817| Block 5 +# 1817| r1817_1(glval) = VariableAddress[x] : +# 1817| r1817_2(int) = Load[x] : &:r1817_1, m1816_1 +# 1817| r1817_3(glval) = VariableAddress[w] : +# 1817| r1817_4(int) = Load[w] : &:r1817_3, m1816_5 +# 1817| r1817_5(int) = Add : r1817_2, r1817_4 +# 1817| r1817_6(glval) = VariableAddress[x] : +# 1817| m1817_7(int) = Store[x] : &:r1817_6, r1817_5 #-----| Goto -> Block 6 -# 1773| Block 6 -# 1773| m1773_1(int) = Phi : from 4:m1769_1, from 5:m1770_7 -# 1773| r1773_2(glval) = VariableAddress[v] : -# 1773| r1773_3(glval) = VariableAddress[x] : -# 1773| r1773_4(int) = Load[x] : &:r1773_3, m1773_1 -# 1773| m1773_5(int) = Store[v] : &:r1773_2, r1773_4 -# 1773| r1773_6(glval) = VariableAddress[v2] : -# 1773| r1773_7(glval) = VariableAddress[v] : -# 1773| r1773_8(int) = Load[v] : &:r1773_7, m1773_5 -# 1773| m1773_9(int) = Store[v2] : &:r1773_6, r1773_8 -# 1773| r1773_10(glval) = VariableAddress[v2] : -# 1773| r1773_11(int) = Load[v2] : &:r1773_10, m1773_9 -# 1773| r1773_12(int) = Constant[0] : -# 1773| r1773_13(bool) = CompareNE : r1773_11, r1773_12 -# 1773| r1773_14(bool) = CopyValue : r1773_13 -# 1773| v1773_15(void) = ConditionalBranch : r1773_14 +# 1820| Block 6 +# 1820| m1820_1(int) = Phi : from 4:m1816_1, from 5:m1817_7 +# 1820| r1820_2(glval) = VariableAddress[v] : +# 1820| r1820_3(glval) = VariableAddress[x] : +# 1820| r1820_4(int) = Load[x] : &:r1820_3, m1820_1 +# 1820| m1820_5(int) = Store[v] : &:r1820_2, r1820_4 +# 1820| r1820_6(glval) = VariableAddress[v2] : +# 1820| r1820_7(glval) = VariableAddress[v] : +# 1820| r1820_8(int) = Load[v] : &:r1820_7, m1820_5 +# 1820| m1820_9(int) = Store[v2] : &:r1820_6, r1820_8 +# 1820| r1820_10(glval) = VariableAddress[v2] : +# 1820| r1820_11(int) = Load[v2] : &:r1820_10, m1820_9 +# 1820| r1820_12(int) = Constant[0] : +# 1820| r1820_13(bool) = CompareNE : r1820_11, r1820_12 +# 1820| r1820_14(bool) = CopyValue : r1820_13 +# 1820| v1820_15(void) = ConditionalBranch : r1820_14 #-----| False -> Block 8 #-----| True -> Block 7 -# 1774| Block 7 -# 1774| r1774_1(glval) = VariableAddress[x] : -# 1774| r1774_2(int) = Load[x] : &:r1774_1, m1773_1 -# 1774| r1774_3(glval) = VariableAddress[v] : -# 1774| r1774_4(int) = Load[v] : &:r1774_3, m1773_5 -# 1774| r1774_5(int) = Add : r1774_2, r1774_4 -# 1774| r1774_6(glval) = VariableAddress[x] : -# 1774| m1774_7(int) = Store[x] : &:r1774_6, r1774_5 +# 1821| Block 7 +# 1821| r1821_1(glval) = VariableAddress[x] : +# 1821| r1821_2(int) = Load[x] : &:r1821_1, m1820_1 +# 1821| r1821_3(glval) = VariableAddress[v] : +# 1821| r1821_4(int) = Load[v] : &:r1821_3, m1820_5 +# 1821| r1821_5(int) = Add : r1821_2, r1821_4 +# 1821| r1821_6(glval) = VariableAddress[x] : +# 1821| m1821_7(int) = Store[x] : &:r1821_6, r1821_5 #-----| Goto -> Block 8 -# 1777| Block 8 -# 1777| m1777_1(int) = Phi : from 6:m1773_1, from 7:m1774_7 -# 1777| r1777_2(glval) = VariableAddress[z] : -# 1777| r1777_3(glval) = VariableAddress[x] : -# 1777| r1777_4(int) = Load[x] : &:r1777_3, m1777_1 -# 1777| m1777_5(int) = Store[z] : &:r1777_2, r1777_4 -# 1778| r1778_1(glval) = VariableAddress[z] : -# 1778| r1778_2(int) = Load[z] : &:r1778_1, m1777_5 -# 1778| r1778_3(int) = Constant[0] : -# 1778| r1778_4(bool) = CompareNE : r1778_2, r1778_3 -# 1778| v1778_5(void) = ConditionalBranch : r1778_4 +# 1824| Block 8 +# 1824| m1824_1(int) = Phi : from 6:m1820_1, from 7:m1821_7 +# 1824| r1824_2(glval) = VariableAddress[z] : +# 1824| r1824_3(glval) = VariableAddress[x] : +# 1824| r1824_4(int) = Load[x] : &:r1824_3, m1824_1 +# 1824| m1824_5(int) = Store[z] : &:r1824_2, r1824_4 +# 1825| r1825_1(glval) = VariableAddress[z] : +# 1825| r1825_2(int) = Load[z] : &:r1825_1, m1824_5 +# 1825| r1825_3(int) = Constant[0] : +# 1825| r1825_4(bool) = CompareNE : r1825_2, r1825_3 +# 1825| v1825_5(void) = ConditionalBranch : r1825_4 #-----| False -> Block 10 #-----| True -> Block 9 -# 1779| Block 9 -# 1779| r1779_1(glval) = VariableAddress[x] : -# 1779| r1779_2(int) = Load[x] : &:r1779_1, m1777_1 -# 1779| r1779_3(glval) = VariableAddress[z] : -# 1779| r1779_4(int) = Load[z] : &:r1779_3, m1777_5 -# 1779| r1779_5(int) = Add : r1779_2, r1779_4 -# 1779| r1779_6(glval) = VariableAddress[x] : -# 1779| m1779_7(int) = Store[x] : &:r1779_6, r1779_5 +# 1826| Block 9 +# 1826| r1826_1(glval) = VariableAddress[x] : +# 1826| r1826_2(int) = Load[x] : &:r1826_1, m1824_1 +# 1826| r1826_3(glval) = VariableAddress[z] : +# 1826| r1826_4(int) = Load[z] : &:r1826_3, m1824_5 +# 1826| r1826_5(int) = Add : r1826_2, r1826_4 +# 1826| r1826_6(glval) = VariableAddress[x] : +# 1826| m1826_7(int) = Store[x] : &:r1826_6, r1826_5 #-----| Goto -> Block 10 -# 1782| Block 10 -# 1782| m1782_1(int) = Phi : from 8:m1777_1, from 9:m1779_7 -# 1782| r1782_2(glval) = VariableAddress[z2] : -# 1782| r1782_3(glval) = VariableAddress[z] : -# 1782| r1782_4(int) = Load[z] : &:r1782_3, m1777_5 -# 1782| m1782_5(int) = Store[z2] : &:r1782_2, r1782_4 -# 1782| r1782_6(glval) = VariableAddress[z2] : -# 1782| r1782_7(int) = Load[z2] : &:r1782_6, m1782_5 -# 1782| r1782_8(int) = Constant[0] : -# 1782| r1782_9(bool) = CompareNE : r1782_7, r1782_8 -# 1782| r1782_10(bool) = CopyValue : r1782_9 -# 1782| v1782_11(void) = ConditionalBranch : r1782_10 +# 1829| Block 10 +# 1829| m1829_1(int) = Phi : from 8:m1824_1, from 9:m1826_7 +# 1829| r1829_2(glval) = VariableAddress[z2] : +# 1829| r1829_3(glval) = VariableAddress[z] : +# 1829| r1829_4(int) = Load[z] : &:r1829_3, m1824_5 +# 1829| m1829_5(int) = Store[z2] : &:r1829_2, r1829_4 +# 1829| r1829_6(glval) = VariableAddress[z2] : +# 1829| r1829_7(int) = Load[z2] : &:r1829_6, m1829_5 +# 1829| r1829_8(int) = Constant[0] : +# 1829| r1829_9(bool) = CompareNE : r1829_7, r1829_8 +# 1829| r1829_10(bool) = CopyValue : r1829_9 +# 1829| v1829_11(void) = ConditionalBranch : r1829_10 #-----| False -> Block 12 #-----| True -> Block 11 -# 1783| Block 11 -# 1783| r1783_1(glval) = VariableAddress[z2] : -# 1783| r1783_2(int) = Load[z2] : &:r1783_1, m1782_5 -# 1783| r1783_3(glval) = VariableAddress[x] : -# 1783| r1783_4(int) = Load[x] : &:r1783_3, m1782_1 -# 1783| r1783_5(int) = Add : r1783_4, r1783_2 -# 1783| m1783_6(int) = Store[x] : &:r1783_3, r1783_5 +# 1830| Block 11 +# 1830| r1830_1(glval) = VariableAddress[z2] : +# 1830| r1830_2(int) = Load[z2] : &:r1830_1, m1829_5 +# 1830| r1830_3(glval) = VariableAddress[x] : +# 1830| r1830_4(int) = Load[x] : &:r1830_3, m1829_1 +# 1830| r1830_5(int) = Add : r1830_4, r1830_2 +# 1830| m1830_6(int) = Store[x] : &:r1830_3, r1830_5 #-----| Goto -> Block 12 -# 1785| Block 12 -# 1785| v1785_1(void) = NoOp : -# 1759| v1759_7(void) = ReturnVoid : -# 1759| v1759_8(void) = AliasedUse : m1759_3 -# 1759| v1759_9(void) = ExitFunction : +# 1832| Block 12 +# 1832| v1832_1(void) = NoOp : +# 1806| v1806_7(void) = ReturnVoid : +# 1806| v1806_8(void) = AliasedUse : m1806_3 +# 1806| v1806_9(void) = ExitFunction : -# 1787| void switch_initialization(int) -# 1787| Block 0 -# 1787| v1787_1(void) = EnterFunction : -# 1787| m1787_2(unknown) = AliasedDefinition : -# 1787| m1787_3(unknown) = InitializeNonLocal : -# 1787| m1787_4(unknown) = Chi : total:m1787_2, partial:m1787_3 -# 1787| r1787_5(glval) = VariableAddress[x] : -# 1787| m1787_6(int) = InitializeParameter[x] : &:r1787_5 -# 1788| r1788_1(glval) = VariableAddress[y] : -# 1788| r1788_2(glval) = VariableAddress[x] : -# 1788| r1788_3(int) = Load[x] : &:r1788_2, m1787_6 -# 1788| m1788_4(int) = Store[y] : &:r1788_1, r1788_3 -# 1788| r1788_5(glval) = VariableAddress[x] : -# 1788| r1788_6(int) = Load[x] : &:r1788_5, m1787_6 -# 1788| r1788_7(int) = Constant[1] : -# 1788| r1788_8(int) = Add : r1788_6, r1788_7 -# 1788| v1788_9(void) = Switch : r1788_8 +# 1834| void switch_initialization(int) +# 1834| Block 0 +# 1834| v1834_1(void) = EnterFunction : +# 1834| m1834_2(unknown) = AliasedDefinition : +# 1834| m1834_3(unknown) = InitializeNonLocal : +# 1834| m1834_4(unknown) = Chi : total:m1834_2, partial:m1834_3 +# 1834| r1834_5(glval) = VariableAddress[x] : +# 1834| m1834_6(int) = InitializeParameter[x] : &:r1834_5 +# 1835| r1835_1(glval) = VariableAddress[y] : +# 1835| r1835_2(glval) = VariableAddress[x] : +# 1835| r1835_3(int) = Load[x] : &:r1835_2, m1834_6 +# 1835| m1835_4(int) = Store[y] : &:r1835_1, r1835_3 +# 1835| r1835_5(glval) = VariableAddress[x] : +# 1835| r1835_6(int) = Load[x] : &:r1835_5, m1834_6 +# 1835| r1835_7(int) = Constant[1] : +# 1835| r1835_8(int) = Add : r1835_6, r1835_7 +# 1835| v1835_9(void) = Switch : r1835_8 #-----| Default -> Block 1 -# 1789| Block 1 -# 1789| v1789_1(void) = NoOp : -# 1790| r1790_1(glval) = VariableAddress[x] : -# 1790| r1790_2(int) = Load[x] : &:r1790_1, m1787_6 -# 1790| r1790_3(glval) = VariableAddress[y] : -# 1790| r1790_4(int) = Load[y] : &:r1790_3, m1788_4 -# 1790| r1790_5(int) = Add : r1790_2, r1790_4 -# 1790| r1790_6(glval) = VariableAddress[x] : -# 1790| m1790_7(int) = Store[x] : &:r1790_6, r1790_5 -# 1793| r1793_1(glval) = VariableAddress[w] : -# 1793| m1793_2(int) = Uninitialized[w] : &:r1793_1 -# 1794| r1794_1(glval) = VariableAddress[x] : -# 1794| r1794_2(int) = Load[x] : &:r1794_1, m1790_7 -# 1794| r1794_3(glval) = VariableAddress[w] : -# 1794| m1794_4(int) = Store[w] : &:r1794_3, r1794_2 -# 1794| r1794_5(glval) = VariableAddress[x] : -# 1794| r1794_6(int) = Load[x] : &:r1794_5, m1790_7 -# 1794| r1794_7(int) = Constant[1] : -# 1794| r1794_8(int) = Add : r1794_6, r1794_7 -# 1794| v1794_9(void) = Switch : r1794_8 +# 1836| Block 1 +# 1836| v1836_1(void) = NoOp : +# 1837| r1837_1(glval) = VariableAddress[x] : +# 1837| r1837_2(int) = Load[x] : &:r1837_1, m1834_6 +# 1837| r1837_3(glval) = VariableAddress[y] : +# 1837| r1837_4(int) = Load[y] : &:r1837_3, m1835_4 +# 1837| r1837_5(int) = Add : r1837_2, r1837_4 +# 1837| r1837_6(glval) = VariableAddress[x] : +# 1837| m1837_7(int) = Store[x] : &:r1837_6, r1837_5 +# 1840| r1840_1(glval) = VariableAddress[w] : +# 1840| m1840_2(int) = Uninitialized[w] : &:r1840_1 +# 1841| r1841_1(glval) = VariableAddress[x] : +# 1841| r1841_2(int) = Load[x] : &:r1841_1, m1837_7 +# 1841| r1841_3(glval) = VariableAddress[w] : +# 1841| m1841_4(int) = Store[w] : &:r1841_3, r1841_2 +# 1841| r1841_5(glval) = VariableAddress[x] : +# 1841| r1841_6(int) = Load[x] : &:r1841_5, m1837_7 +# 1841| r1841_7(int) = Constant[1] : +# 1841| r1841_8(int) = Add : r1841_6, r1841_7 +# 1841| v1841_9(void) = Switch : r1841_8 #-----| Default -> Block 2 -# 1795| Block 2 -# 1795| v1795_1(void) = NoOp : -# 1796| r1796_1(glval) = VariableAddress[x] : -# 1796| r1796_2(int) = Load[x] : &:r1796_1, m1790_7 -# 1796| r1796_3(glval) = VariableAddress[w] : -# 1796| r1796_4(int) = Load[w] : &:r1796_3, m1794_4 -# 1796| r1796_5(int) = Add : r1796_2, r1796_4 -# 1796| r1796_6(glval) = VariableAddress[x] : -# 1796| m1796_7(int) = Store[x] : &:r1796_6, r1796_5 -# 1799| r1799_1(glval) = VariableAddress[x] : -# 1799| r1799_2(int) = Load[x] : &:r1799_1, m1796_7 -# 1799| r1799_3(glval) = VariableAddress[w] : -# 1799| m1799_4(int) = Store[w] : &:r1799_3, r1799_2 -# 1799| r1799_5(glval) = VariableAddress[w2] : -# 1799| r1799_6(glval) = VariableAddress[w] : -# 1799| r1799_7(int) = Load[w] : &:r1799_6, m1799_4 -# 1799| m1799_8(int) = Store[w2] : &:r1799_5, r1799_7 -# 1799| r1799_9(glval) = VariableAddress[w2] : -# 1799| r1799_10(int) = Load[w2] : &:r1799_9, m1799_8 -# 1799| r1799_11(int) = CopyValue : r1799_10 -# 1799| v1799_12(void) = Switch : r1799_11 +# 1842| Block 2 +# 1842| v1842_1(void) = NoOp : +# 1843| r1843_1(glval) = VariableAddress[x] : +# 1843| r1843_2(int) = Load[x] : &:r1843_1, m1837_7 +# 1843| r1843_3(glval) = VariableAddress[w] : +# 1843| r1843_4(int) = Load[w] : &:r1843_3, m1841_4 +# 1843| r1843_5(int) = Add : r1843_2, r1843_4 +# 1843| r1843_6(glval) = VariableAddress[x] : +# 1843| m1843_7(int) = Store[x] : &:r1843_6, r1843_5 +# 1846| r1846_1(glval) = VariableAddress[x] : +# 1846| r1846_2(int) = Load[x] : &:r1846_1, m1843_7 +# 1846| r1846_3(glval) = VariableAddress[w] : +# 1846| m1846_4(int) = Store[w] : &:r1846_3, r1846_2 +# 1846| r1846_5(glval) = VariableAddress[w2] : +# 1846| r1846_6(glval) = VariableAddress[w] : +# 1846| r1846_7(int) = Load[w] : &:r1846_6, m1846_4 +# 1846| m1846_8(int) = Store[w2] : &:r1846_5, r1846_7 +# 1846| r1846_9(glval) = VariableAddress[w2] : +# 1846| r1846_10(int) = Load[w2] : &:r1846_9, m1846_8 +# 1846| r1846_11(int) = CopyValue : r1846_10 +# 1846| v1846_12(void) = Switch : r1846_11 #-----| Default -> Block 3 -# 1800| Block 3 -# 1800| v1800_1(void) = NoOp : -# 1801| r1801_1(glval) = VariableAddress[x] : -# 1801| r1801_2(int) = Load[x] : &:r1801_1, m1796_7 -# 1801| r1801_3(glval) = VariableAddress[w] : -# 1801| r1801_4(int) = Load[w] : &:r1801_3, m1799_4 -# 1801| r1801_5(int) = Add : r1801_2, r1801_4 -# 1801| r1801_6(glval) = VariableAddress[x] : -# 1801| m1801_7(int) = Store[x] : &:r1801_6, r1801_5 -# 1804| r1804_1(glval) = VariableAddress[v] : -# 1804| r1804_2(glval) = VariableAddress[x] : -# 1804| r1804_3(int) = Load[x] : &:r1804_2, m1801_7 -# 1804| m1804_4(int) = Store[v] : &:r1804_1, r1804_3 -# 1804| r1804_5(glval) = VariableAddress[v2] : -# 1804| r1804_6(glval) = VariableAddress[v] : -# 1804| r1804_7(int) = Load[v] : &:r1804_6, m1804_4 -# 1804| m1804_8(int) = Store[v2] : &:r1804_5, r1804_7 -# 1804| r1804_9(glval) = VariableAddress[v2] : -# 1804| r1804_10(int) = Load[v2] : &:r1804_9, m1804_8 -# 1804| r1804_11(int) = CopyValue : r1804_10 -# 1804| v1804_12(void) = Switch : r1804_11 +# 1847| Block 3 +# 1847| v1847_1(void) = NoOp : +# 1848| r1848_1(glval) = VariableAddress[x] : +# 1848| r1848_2(int) = Load[x] : &:r1848_1, m1843_7 +# 1848| r1848_3(glval) = VariableAddress[w] : +# 1848| r1848_4(int) = Load[w] : &:r1848_3, m1846_4 +# 1848| r1848_5(int) = Add : r1848_2, r1848_4 +# 1848| r1848_6(glval) = VariableAddress[x] : +# 1848| m1848_7(int) = Store[x] : &:r1848_6, r1848_5 +# 1851| r1851_1(glval) = VariableAddress[v] : +# 1851| r1851_2(glval) = VariableAddress[x] : +# 1851| r1851_3(int) = Load[x] : &:r1851_2, m1848_7 +# 1851| m1851_4(int) = Store[v] : &:r1851_1, r1851_3 +# 1851| r1851_5(glval) = VariableAddress[v2] : +# 1851| r1851_6(glval) = VariableAddress[v] : +# 1851| r1851_7(int) = Load[v] : &:r1851_6, m1851_4 +# 1851| m1851_8(int) = Store[v2] : &:r1851_5, r1851_7 +# 1851| r1851_9(glval) = VariableAddress[v2] : +# 1851| r1851_10(int) = Load[v2] : &:r1851_9, m1851_8 +# 1851| r1851_11(int) = CopyValue : r1851_10 +# 1851| v1851_12(void) = Switch : r1851_11 #-----| Default -> Block 4 -# 1805| Block 4 -# 1805| v1805_1(void) = NoOp : -# 1806| r1806_1(glval) = VariableAddress[x] : -# 1806| r1806_2(int) = Load[x] : &:r1806_1, m1801_7 -# 1806| r1806_3(glval) = VariableAddress[v] : -# 1806| r1806_4(int) = Load[v] : &:r1806_3, m1804_4 -# 1806| r1806_5(int) = Add : r1806_2, r1806_4 -# 1806| r1806_6(glval) = VariableAddress[x] : -# 1806| m1806_7(int) = Store[x] : &:r1806_6, r1806_5 -# 1809| r1809_1(glval) = VariableAddress[z] : -# 1809| r1809_2(glval) = VariableAddress[x] : -# 1809| r1809_3(int) = Load[x] : &:r1809_2, m1806_7 -# 1809| m1809_4(int) = Store[z] : &:r1809_1, r1809_3 -# 1810| r1810_1(glval) = VariableAddress[z] : -# 1810| r1810_2(int) = Load[z] : &:r1810_1, m1809_4 -# 1810| v1810_3(void) = Switch : r1810_2 +# 1852| Block 4 +# 1852| v1852_1(void) = NoOp : +# 1853| r1853_1(glval) = VariableAddress[x] : +# 1853| r1853_2(int) = Load[x] : &:r1853_1, m1848_7 +# 1853| r1853_3(glval) = VariableAddress[v] : +# 1853| r1853_4(int) = Load[v] : &:r1853_3, m1851_4 +# 1853| r1853_5(int) = Add : r1853_2, r1853_4 +# 1853| r1853_6(glval) = VariableAddress[x] : +# 1853| m1853_7(int) = Store[x] : &:r1853_6, r1853_5 +# 1856| r1856_1(glval) = VariableAddress[z] : +# 1856| r1856_2(glval) = VariableAddress[x] : +# 1856| r1856_3(int) = Load[x] : &:r1856_2, m1853_7 +# 1856| m1856_4(int) = Store[z] : &:r1856_1, r1856_3 +# 1857| r1857_1(glval) = VariableAddress[z] : +# 1857| r1857_2(int) = Load[z] : &:r1857_1, m1856_4 +# 1857| v1857_3(void) = Switch : r1857_2 #-----| Default -> Block 5 -# 1811| Block 5 -# 1811| v1811_1(void) = NoOp : -# 1812| r1812_1(glval) = VariableAddress[x] : -# 1812| r1812_2(int) = Load[x] : &:r1812_1, m1806_7 -# 1812| r1812_3(glval) = VariableAddress[z] : -# 1812| r1812_4(int) = Load[z] : &:r1812_3, m1809_4 -# 1812| r1812_5(int) = Add : r1812_2, r1812_4 -# 1812| r1812_6(glval) = VariableAddress[x] : -# 1812| m1812_7(int) = Store[x] : &:r1812_6, r1812_5 -# 1815| r1815_1(glval) = VariableAddress[z2] : -# 1815| r1815_2(glval) = VariableAddress[z] : -# 1815| r1815_3(int) = Load[z] : &:r1815_2, m1809_4 -# 1815| m1815_4(int) = Store[z2] : &:r1815_1, r1815_3 -# 1815| r1815_5(glval) = VariableAddress[z2] : -# 1815| r1815_6(int) = Load[z2] : &:r1815_5, m1815_4 -# 1815| r1815_7(int) = CopyValue : r1815_6 -# 1815| v1815_8(void) = Switch : r1815_7 +# 1858| Block 5 +# 1858| v1858_1(void) = NoOp : +# 1859| r1859_1(glval) = VariableAddress[x] : +# 1859| r1859_2(int) = Load[x] : &:r1859_1, m1853_7 +# 1859| r1859_3(glval) = VariableAddress[z] : +# 1859| r1859_4(int) = Load[z] : &:r1859_3, m1856_4 +# 1859| r1859_5(int) = Add : r1859_2, r1859_4 +# 1859| r1859_6(glval) = VariableAddress[x] : +# 1859| m1859_7(int) = Store[x] : &:r1859_6, r1859_5 +# 1862| r1862_1(glval) = VariableAddress[z2] : +# 1862| r1862_2(glval) = VariableAddress[z] : +# 1862| r1862_3(int) = Load[z] : &:r1862_2, m1856_4 +# 1862| m1862_4(int) = Store[z2] : &:r1862_1, r1862_3 +# 1862| r1862_5(glval) = VariableAddress[z2] : +# 1862| r1862_6(int) = Load[z2] : &:r1862_5, m1862_4 +# 1862| r1862_7(int) = CopyValue : r1862_6 +# 1862| v1862_8(void) = Switch : r1862_7 #-----| Default -> Block 6 -# 1816| Block 6 -# 1816| v1816_1(void) = NoOp : -# 1817| r1817_1(glval) = VariableAddress[z2] : -# 1817| r1817_2(int) = Load[z2] : &:r1817_1, m1815_4 -# 1817| r1817_3(glval) = VariableAddress[x] : -# 1817| r1817_4(int) = Load[x] : &:r1817_3, m1812_7 -# 1817| r1817_5(int) = Add : r1817_4, r1817_2 -# 1817| m1817_6(int) = Store[x] : &:r1817_3, r1817_5 -# 1819| v1819_1(void) = NoOp : -# 1787| v1787_7(void) = ReturnVoid : -# 1787| v1787_8(void) = AliasedUse : m1787_3 -# 1787| v1787_9(void) = ExitFunction : +# 1863| Block 6 +# 1863| v1863_1(void) = NoOp : +# 1864| r1864_1(glval) = VariableAddress[z2] : +# 1864| r1864_2(int) = Load[z2] : &:r1864_1, m1862_4 +# 1864| r1864_3(glval) = VariableAddress[x] : +# 1864| r1864_4(int) = Load[x] : &:r1864_3, m1859_7 +# 1864| r1864_5(int) = Add : r1864_4, r1864_2 +# 1864| m1864_6(int) = Store[x] : &:r1864_3, r1864_5 +# 1866| v1866_1(void) = NoOp : +# 1834| v1834_7(void) = ReturnVoid : +# 1834| v1834_8(void) = AliasedUse : m1834_3 +# 1834| v1834_9(void) = ExitFunction : -# 1823| int global_2 -# 1823| Block 0 -# 1823| v1823_1(void) = EnterFunction : -# 1823| m1823_2(unknown) = AliasedDefinition : -# 1823| r1823_3(glval) = VariableAddress[global_2] : -# 1823| r1823_4(int) = Constant[1] : -# 1823| m1823_5(int) = Store[global_2] : &:r1823_3, r1823_4 -# 1823| m1823_6(unknown) = Chi : total:m1823_2, partial:m1823_5 -# 1823| v1823_7(void) = ReturnVoid : -# 1823| v1823_8(void) = AliasedUse : ~m1823_6 -# 1823| v1823_9(void) = ExitFunction : +# 1870| int global_2 +# 1870| Block 0 +# 1870| v1870_1(void) = EnterFunction : +# 1870| m1870_2(unknown) = AliasedDefinition : +# 1870| r1870_3(glval) = VariableAddress[global_2] : +# 1870| r1870_4(int) = Constant[1] : +# 1870| m1870_5(int) = Store[global_2] : &:r1870_3, r1870_4 +# 1870| m1870_6(unknown) = Chi : total:m1870_2, partial:m1870_5 +# 1870| v1870_7(void) = ReturnVoid : +# 1870| v1870_8(void) = AliasedUse : ~m1870_6 +# 1870| v1870_9(void) = ExitFunction : -# 1827| constructor_only global_4 -# 1827| Block 0 -# 1827| v1827_1(void) = EnterFunction : -# 1827| m1827_2(unknown) = AliasedDefinition : -# 1827| r1827_3(glval) = VariableAddress[global_4] : -# 1827| r1827_4(glval) = FunctionAddress[constructor_only] : -# 1827| r1827_5(int) = Constant[1] : -# 1827| v1827_6(void) = Call[constructor_only] : func:r1827_4, this:r1827_3, 0:r1827_5 -# 1827| m1827_7(unknown) = ^CallSideEffect : ~m1827_2 -# 1827| m1827_8(unknown) = Chi : total:m1827_2, partial:m1827_7 -# 1827| m1827_9(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1827_3 -# 1827| m1827_10(unknown) = Chi : total:m1827_8, partial:m1827_9 -# 1827| v1827_11(void) = ReturnVoid : -# 1827| v1827_12(void) = AliasedUse : ~m1827_10 -# 1827| v1827_13(void) = ExitFunction : +# 1874| constructor_only global_4 +# 1874| Block 0 +# 1874| v1874_1(void) = EnterFunction : +# 1874| m1874_2(unknown) = AliasedDefinition : +# 1874| r1874_3(glval) = VariableAddress[global_4] : +# 1874| r1874_4(glval) = FunctionAddress[constructor_only] : +# 1874| r1874_5(int) = Constant[1] : +# 1874| v1874_6(void) = Call[constructor_only] : func:r1874_4, this:r1874_3, 0:r1874_5 +# 1874| m1874_7(unknown) = ^CallSideEffect : ~m1874_2 +# 1874| m1874_8(unknown) = Chi : total:m1874_2, partial:m1874_7 +# 1874| m1874_9(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1874_3 +# 1874| m1874_10(unknown) = Chi : total:m1874_8, partial:m1874_9 +# 1874| v1874_11(void) = ReturnVoid : +# 1874| v1874_12(void) = AliasedUse : ~m1874_10 +# 1874| v1874_13(void) = ExitFunction : -# 1829| constructor_only global_5 -# 1829| Block 0 -# 1829| v1829_1(void) = EnterFunction : -# 1829| m1829_2(unknown) = AliasedDefinition : -# 1829| r1829_3(glval) = VariableAddress[global_5] : -# 1829| r1829_4(glval) = FunctionAddress[constructor_only] : -# 1829| r1829_5(int) = Constant[2] : -# 1829| v1829_6(void) = Call[constructor_only] : func:r1829_4, this:r1829_3, 0:r1829_5 -# 1829| m1829_7(unknown) = ^CallSideEffect : ~m1829_2 -# 1829| m1829_8(unknown) = Chi : total:m1829_2, partial:m1829_7 -# 1829| m1829_9(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1829_3 -# 1829| m1829_10(unknown) = Chi : total:m1829_8, partial:m1829_9 -# 1829| v1829_11(void) = ReturnVoid : -# 1829| v1829_12(void) = AliasedUse : ~m1829_10 -# 1829| v1829_13(void) = ExitFunction : +# 1876| constructor_only global_5 +# 1876| Block 0 +# 1876| v1876_1(void) = EnterFunction : +# 1876| m1876_2(unknown) = AliasedDefinition : +# 1876| r1876_3(glval) = VariableAddress[global_5] : +# 1876| r1876_4(glval) = FunctionAddress[constructor_only] : +# 1876| r1876_5(int) = Constant[2] : +# 1876| v1876_6(void) = Call[constructor_only] : func:r1876_4, this:r1876_3, 0:r1876_5 +# 1876| m1876_7(unknown) = ^CallSideEffect : ~m1876_2 +# 1876| m1876_8(unknown) = Chi : total:m1876_2, partial:m1876_7 +# 1876| m1876_9(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1876_3 +# 1876| m1876_10(unknown) = Chi : total:m1876_8, partial:m1876_9 +# 1876| v1876_11(void) = ReturnVoid : +# 1876| v1876_12(void) = AliasedUse : ~m1876_10 +# 1876| v1876_13(void) = ExitFunction : -# 1831| char* global_string -# 1831| Block 0 -# 1831| v1831_1(void) = EnterFunction : -# 1831| m1831_2(unknown) = AliasedDefinition : -# 1831| r1831_3(glval) = VariableAddress[global_string] : -# 1831| r1831_4(glval) = StringConstant["global string"] : -# 1831| r1831_5(char *) = Convert : r1831_4 -# 1831| r1831_6(char *) = Convert : r1831_5 -# 1831| m1831_7(char *) = Store[global_string] : &:r1831_3, r1831_6 -# 1831| m1831_8(unknown) = Chi : total:m1831_2, partial:m1831_7 -# 1831| v1831_9(void) = ReturnVoid : -# 1831| v1831_10(void) = AliasedUse : ~m1831_8 -# 1831| v1831_11(void) = ExitFunction : +# 1878| char* global_string +# 1878| Block 0 +# 1878| v1878_1(void) = EnterFunction : +# 1878| m1878_2(unknown) = AliasedDefinition : +# 1878| r1878_3(glval) = VariableAddress[global_string] : +# 1878| r1878_4(glval) = StringConstant["global string"] : +# 1878| r1878_5(char *) = Convert : r1878_4 +# 1878| r1878_6(char *) = Convert : r1878_5 +# 1878| m1878_7(char *) = Store[global_string] : &:r1878_3, r1878_6 +# 1878| m1878_8(unknown) = Chi : total:m1878_2, partial:m1878_7 +# 1878| v1878_9(void) = ReturnVoid : +# 1878| v1878_10(void) = AliasedUse : ~m1878_8 +# 1878| v1878_11(void) = ExitFunction : -# 1833| int global_6 -# 1833| Block 0 -# 1833| v1833_1(void) = EnterFunction : -# 1833| m1833_2(unknown) = AliasedDefinition : -# 1833| r1833_3(glval) = VariableAddress[global_6] : -# 1833| r1833_4(glval) = VariableAddress[global_2] : -# 1833| r1833_5(int) = Load[global_2] : &:r1833_4, ~m1833_2 -# 1833| m1833_6(int) = Store[global_6] : &:r1833_3, r1833_5 -# 1833| m1833_7(unknown) = Chi : total:m1833_2, partial:m1833_6 -# 1833| v1833_8(void) = ReturnVoid : -# 1833| v1833_9(void) = AliasedUse : ~m1833_7 -# 1833| v1833_10(void) = ExitFunction : +# 1880| int global_6 +# 1880| Block 0 +# 1880| v1880_1(void) = EnterFunction : +# 1880| m1880_2(unknown) = AliasedDefinition : +# 1880| r1880_3(glval) = VariableAddress[global_6] : +# 1880| r1880_4(glval) = VariableAddress[global_2] : +# 1880| r1880_5(int) = Load[global_2] : &:r1880_4, ~m1880_2 +# 1880| m1880_6(int) = Store[global_6] : &:r1880_3, r1880_5 +# 1880| m1880_7(unknown) = Chi : total:m1880_2, partial:m1880_6 +# 1880| v1880_8(void) = ReturnVoid : +# 1880| v1880_9(void) = AliasedUse : ~m1880_7 +# 1880| v1880_10(void) = ExitFunction : -# 1836| block_assignment::A& block_assignment::A::operator=(block_assignment::A&&) -# 1836| Block 0 -# 1836| v1836_1(void) = EnterFunction : -# 1836| m1836_2(unknown) = AliasedDefinition : -# 1836| m1836_3(unknown) = InitializeNonLocal : -# 1836| m1836_4(unknown) = Chi : total:m1836_2, partial:m1836_3 -# 1836| r1836_5(glval) = VariableAddress[#this] : -# 1836| m1836_6(glval) = InitializeParameter[#this] : &:r1836_5 -# 1836| r1836_7(glval) = Load[#this] : &:r1836_5, m1836_6 -# 1836| m1836_8(A) = InitializeIndirection[#this] : &:r1836_7 +# 1883| block_assignment::A& block_assignment::A::operator=(block_assignment::A&&) +# 1883| Block 0 +# 1883| v1883_1(void) = EnterFunction : +# 1883| m1883_2(unknown) = AliasedDefinition : +# 1883| m1883_3(unknown) = InitializeNonLocal : +# 1883| m1883_4(unknown) = Chi : total:m1883_2, partial:m1883_3 +# 1883| r1883_5(glval) = VariableAddress[#this] : +# 1883| m1883_6(glval) = InitializeParameter[#this] : &:r1883_5 +# 1883| r1883_7(glval) = Load[#this] : &:r1883_5, m1883_6 +# 1883| m1883_8(A) = InitializeIndirection[#this] : &:r1883_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(A &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(A &&) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 #-----| r0_5(glval) = VariableAddress[#this] : -#-----| r0_6(A *) = Load[#this] : &:r0_5, m1836_6 +#-----| r0_6(A *) = Load[#this] : &:r0_5, m1883_6 #-----| r0_7(glval[1]>) = FieldAddress[e] : r0_6 #-----| r0_8(glval) = VariableAddress[(unnamed parameter 0)] : #-----| r0_9(A &&) = Load[(unnamed parameter 0)] : &:r0_8, m0_2 @@ -11304,3787 +11318,3822 @@ ir.cpp: #-----| r0_11(glval[1]>) = FieldAddress[e] : r0_10 #-----| r0_12(enum [1]) = Load[?] : &:r0_11, ~m0_4 #-----| m0_13(enum [1]) = Store[?] : &:r0_7, r0_12 -#-----| m0_14(unknown) = Chi : total:m1836_8, partial:m0_13 +#-----| m0_14(unknown) = Chi : total:m1883_8, partial:m0_13 #-----| r0_15(glval) = VariableAddress[#return] : #-----| r0_16(glval) = VariableAddress[#this] : -#-----| r0_17(A *) = Load[#this] : &:r0_16, m1836_6 +#-----| r0_17(A *) = Load[#this] : &:r0_16, m1883_6 #-----| r0_18(glval) = CopyValue : r0_17 #-----| r0_19(A &) = CopyValue : r0_18 #-----| m0_20(A &) = Store[#return] : &:r0_15, r0_19 -# 1836| v1836_9(void) = ReturnIndirection[#this] : &:r1836_7, m0_14 +# 1883| v1883_9(void) = ReturnIndirection[#this] : &:r1883_7, m0_14 #-----| v0_21(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 1836| r1836_10(glval) = VariableAddress[#return] : -# 1836| v1836_11(void) = ReturnValue : &:r1836_10, m0_20 -# 1836| v1836_12(void) = AliasedUse : m1836_3 -# 1836| v1836_13(void) = ExitFunction : +# 1883| r1883_10(glval) = VariableAddress[#return] : +# 1883| v1883_11(void) = ReturnValue : &:r1883_10, m0_20 +# 1883| v1883_12(void) = AliasedUse : m1883_3 +# 1883| v1883_13(void) = ExitFunction : -# 1841| block_assignment::B& block_assignment::B::operator=(block_assignment::B&&) -# 1841| Block 0 -# 1841| v1841_1(void) = EnterFunction : -# 1841| m1841_2(unknown) = AliasedDefinition : -# 1841| m1841_3(unknown) = InitializeNonLocal : -# 1841| m1841_4(unknown) = Chi : total:m1841_2, partial:m1841_3 -# 1841| r1841_5(glval) = VariableAddress[#this] : -# 1841| m1841_6(glval) = InitializeParameter[#this] : &:r1841_5 -# 1841| r1841_7(glval) = Load[#this] : &:r1841_5, m1841_6 -# 1841| m1841_8(B) = InitializeIndirection[#this] : &:r1841_7 +# 1888| block_assignment::B& block_assignment::B::operator=(block_assignment::B&&) +# 1888| Block 0 +# 1888| v1888_1(void) = EnterFunction : +# 1888| m1888_2(unknown) = AliasedDefinition : +# 1888| m1888_3(unknown) = InitializeNonLocal : +# 1888| m1888_4(unknown) = Chi : total:m1888_2, partial:m1888_3 +# 1888| r1888_5(glval) = VariableAddress[#this] : +# 1888| m1888_6(glval) = InitializeParameter[#this] : &:r1888_5 +# 1888| r1888_7(glval) = Load[#this] : &:r1888_5, m1888_6 +# 1888| m1888_8(B) = InitializeIndirection[#this] : &:r1888_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(B &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(B &&) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1841| r1841_9(glval) = VariableAddress[#this] : -# 1841| r1841_10(B *) = Load[#this] : &:r1841_9, m1841_6 -#-----| r0_5(A *) = ConvertToNonVirtualBase[B : A] : r1841_10 -# 1841| r1841_11(glval) = FunctionAddress[operator=] : -# 1841| r1841_12(glval) = VariableAddress[(unnamed parameter 0)] : -# 1841| r1841_13(B &&) = Load[(unnamed parameter 0)] : &:r1841_12, m0_2 -#-----| r0_6(glval) = CopyValue : r1841_13 -# 1841| r1841_14(B *) = CopyValue : r0_6 -#-----| r0_7(A *) = ConvertToNonVirtualBase[B : A] : r1841_14 -# 1841| r1841_15(glval) = CopyValue : r0_7 -#-----| r0_8(A &) = CopyValue : r1841_15 -# 1841| r1841_16(A &) = Call[operator=] : func:r1841_11, this:r0_5, 0:r0_8 -# 1841| m1841_17(unknown) = ^CallSideEffect : ~m1841_4 -# 1841| m1841_18(unknown) = Chi : total:m1841_4, partial:m1841_17 -#-----| v0_9(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m1841_8 +# 1888| r1888_9(glval) = VariableAddress[#this] : +# 1888| r1888_10(B *) = Load[#this] : &:r1888_9, m1888_6 +#-----| r0_5(A *) = ConvertToNonVirtualBase[B : A] : r1888_10 +# 1888| r1888_11(glval) = FunctionAddress[operator=] : +# 1888| r1888_12(glval) = VariableAddress[(unnamed parameter 0)] : +# 1888| r1888_13(B &&) = Load[(unnamed parameter 0)] : &:r1888_12, m0_2 +#-----| r0_6(glval) = CopyValue : r1888_13 +# 1888| r1888_14(B *) = CopyValue : r0_6 +#-----| r0_7(A *) = ConvertToNonVirtualBase[B : A] : r1888_14 +# 1888| r1888_15(glval) = CopyValue : r0_7 +#-----| r0_8(A &) = CopyValue : r1888_15 +# 1888| r1888_16(A &) = Call[operator=] : func:r1888_11, this:r0_5, 0:r0_8 +# 1888| m1888_17(unknown) = ^CallSideEffect : ~m1888_4 +# 1888| m1888_18(unknown) = Chi : total:m1888_4, partial:m1888_17 +#-----| v0_9(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m1888_8 #-----| v0_10(void) = ^BufferReadSideEffect[0] : &:r0_8, ~m0_4 #-----| m0_11(A) = ^IndirectMayWriteSideEffect[-1] : &:r0_5 -#-----| m0_12(unknown) = Chi : total:m1841_8, partial:m0_11 +#-----| m0_12(unknown) = Chi : total:m1888_8, partial:m0_11 #-----| m0_13(unknown) = ^BufferMayWriteSideEffect[0] : &:r0_8 #-----| m0_14(unknown) = Chi : total:m0_4, partial:m0_13 -#-----| r0_15(glval) = CopyValue : r1841_16 +#-----| r0_15(glval) = CopyValue : r1888_16 #-----| r0_16(glval) = VariableAddress[#return] : #-----| r0_17(glval) = VariableAddress[#this] : -#-----| r0_18(B *) = Load[#this] : &:r0_17, m1841_6 +#-----| r0_18(B *) = Load[#this] : &:r0_17, m1888_6 #-----| r0_19(glval) = CopyValue : r0_18 #-----| r0_20(B &) = CopyValue : r0_19 #-----| m0_21(B &) = Store[#return] : &:r0_16, r0_20 -# 1841| v1841_19(void) = ReturnIndirection[#this] : &:r1841_7, m0_12 +# 1888| v1888_19(void) = ReturnIndirection[#this] : &:r1888_7, m0_12 #-----| v0_22(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_14 -# 1841| r1841_20(glval) = VariableAddress[#return] : -# 1841| v1841_21(void) = ReturnValue : &:r1841_20, m0_21 -# 1841| v1841_22(void) = AliasedUse : ~m1841_18 -# 1841| v1841_23(void) = ExitFunction : +# 1888| r1888_20(glval) = VariableAddress[#return] : +# 1888| v1888_21(void) = ReturnValue : &:r1888_20, m0_21 +# 1888| v1888_22(void) = AliasedUse : ~m1888_18 +# 1888| v1888_23(void) = ExitFunction : -# 1845| void block_assignment::foo() -# 1845| Block 0 -# 1845| v1845_1(void) = EnterFunction : -# 1845| m1845_2(unknown) = AliasedDefinition : -# 1845| m1845_3(unknown) = InitializeNonLocal : -# 1845| m1845_4(unknown) = Chi : total:m1845_2, partial:m1845_3 -# 1846| r1846_1(glval) = VariableAddress[v] : -# 1846| m1846_2(B) = Uninitialized[v] : &:r1846_1 -# 1846| r1846_3(glval) = FunctionAddress[B] : -# 1846| r1846_4(A *) = Constant[0] : -# 1846| v1846_5(void) = Call[B] : func:r1846_3, this:r1846_1, 0:r1846_4 -# 1846| m1846_6(unknown) = ^CallSideEffect : ~m1845_4 -# 1846| m1846_7(unknown) = Chi : total:m1845_4, partial:m1846_6 -# 1846| v1846_8(void) = ^BufferReadSideEffect[0] : &:r1846_4, ~m1846_7 -# 1846| m1846_9(B) = ^IndirectMayWriteSideEffect[-1] : &:r1846_1 -# 1846| m1846_10(B) = Chi : total:m1846_2, partial:m1846_9 -# 1846| m1846_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1846_4 -# 1846| m1846_12(unknown) = Chi : total:m1846_7, partial:m1846_11 -# 1847| r1847_1(glval) = VariableAddress[v] : -# 1847| r1847_2(glval) = FunctionAddress[operator=] : -# 1847| r1847_3(glval) = VariableAddress[#temp1847:13] : -# 1847| m1847_4(B) = Uninitialized[#temp1847:13] : &:r1847_3 -# 1847| r1847_5(glval) = FunctionAddress[B] : -# 1847| r1847_6(A *) = Constant[0] : -# 1847| v1847_7(void) = Call[B] : func:r1847_5, this:r1847_3, 0:r1847_6 -# 1847| m1847_8(unknown) = ^CallSideEffect : ~m1846_12 -# 1847| m1847_9(unknown) = Chi : total:m1846_12, partial:m1847_8 -# 1847| v1847_10(void) = ^BufferReadSideEffect[0] : &:r1847_6, ~m1847_9 -# 1847| m1847_11(B) = ^IndirectMayWriteSideEffect[-1] : &:r1847_3 -# 1847| m1847_12(B) = Chi : total:m1847_4, partial:m1847_11 -# 1847| m1847_13(unknown) = ^BufferMayWriteSideEffect[0] : &:r1847_6 -# 1847| m1847_14(unknown) = Chi : total:m1847_9, partial:m1847_13 -# 1847| r1847_15(B &) = CopyValue : r1847_3 -# 1847| r1847_16(B &) = Call[operator=] : func:r1847_2, this:r1847_1, 0:r1847_15 -# 1847| m1847_17(unknown) = ^CallSideEffect : ~m1847_14 -# 1847| m1847_18(unknown) = Chi : total:m1847_14, partial:m1847_17 -# 1847| v1847_19(void) = ^IndirectReadSideEffect[-1] : &:r1847_1, m1846_10 -# 1847| v1847_20(void) = ^BufferReadSideEffect[0] : &:r1847_15, ~m1847_12 -# 1847| m1847_21(B) = ^IndirectMayWriteSideEffect[-1] : &:r1847_1 -# 1847| m1847_22(B) = Chi : total:m1846_10, partial:m1847_21 -# 1847| m1847_23(unknown) = ^BufferMayWriteSideEffect[0] : &:r1847_15 -# 1847| m1847_24(B) = Chi : total:m1847_12, partial:m1847_23 -# 1847| r1847_25(glval) = CopyValue : r1847_16 -# 1848| v1848_1(void) = NoOp : -# 1845| v1845_5(void) = ReturnVoid : -# 1845| v1845_6(void) = AliasedUse : ~m1847_18 -# 1845| v1845_7(void) = ExitFunction : +# 1892| void block_assignment::foo() +# 1892| Block 0 +# 1892| v1892_1(void) = EnterFunction : +# 1892| m1892_2(unknown) = AliasedDefinition : +# 1892| m1892_3(unknown) = InitializeNonLocal : +# 1892| m1892_4(unknown) = Chi : total:m1892_2, partial:m1892_3 +# 1893| r1893_1(glval) = VariableAddress[v] : +# 1893| m1893_2(B) = Uninitialized[v] : &:r1893_1 +# 1893| r1893_3(glval) = FunctionAddress[B] : +# 1893| r1893_4(A *) = Constant[0] : +# 1893| v1893_5(void) = Call[B] : func:r1893_3, this:r1893_1, 0:r1893_4 +# 1893| m1893_6(unknown) = ^CallSideEffect : ~m1892_4 +# 1893| m1893_7(unknown) = Chi : total:m1892_4, partial:m1893_6 +# 1893| v1893_8(void) = ^BufferReadSideEffect[0] : &:r1893_4, ~m1893_7 +# 1893| m1893_9(B) = ^IndirectMayWriteSideEffect[-1] : &:r1893_1 +# 1893| m1893_10(B) = Chi : total:m1893_2, partial:m1893_9 +# 1893| m1893_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1893_4 +# 1893| m1893_12(unknown) = Chi : total:m1893_7, partial:m1893_11 +# 1894| r1894_1(glval) = VariableAddress[v] : +# 1894| r1894_2(glval) = FunctionAddress[operator=] : +# 1894| r1894_3(glval) = VariableAddress[#temp1894:13] : +# 1894| m1894_4(B) = Uninitialized[#temp1894:13] : &:r1894_3 +# 1894| r1894_5(glval) = FunctionAddress[B] : +# 1894| r1894_6(A *) = Constant[0] : +# 1894| v1894_7(void) = Call[B] : func:r1894_5, this:r1894_3, 0:r1894_6 +# 1894| m1894_8(unknown) = ^CallSideEffect : ~m1893_12 +# 1894| m1894_9(unknown) = Chi : total:m1893_12, partial:m1894_8 +# 1894| v1894_10(void) = ^BufferReadSideEffect[0] : &:r1894_6, ~m1894_9 +# 1894| m1894_11(B) = ^IndirectMayWriteSideEffect[-1] : &:r1894_3 +# 1894| m1894_12(B) = Chi : total:m1894_4, partial:m1894_11 +# 1894| m1894_13(unknown) = ^BufferMayWriteSideEffect[0] : &:r1894_6 +# 1894| m1894_14(unknown) = Chi : total:m1894_9, partial:m1894_13 +# 1894| r1894_15(B &) = CopyValue : r1894_3 +# 1894| r1894_16(B &) = Call[operator=] : func:r1894_2, this:r1894_1, 0:r1894_15 +# 1894| m1894_17(unknown) = ^CallSideEffect : ~m1894_14 +# 1894| m1894_18(unknown) = Chi : total:m1894_14, partial:m1894_17 +# 1894| v1894_19(void) = ^IndirectReadSideEffect[-1] : &:r1894_1, m1893_10 +# 1894| v1894_20(void) = ^BufferReadSideEffect[0] : &:r1894_15, ~m1894_12 +# 1894| m1894_21(B) = ^IndirectMayWriteSideEffect[-1] : &:r1894_1 +# 1894| m1894_22(B) = Chi : total:m1893_10, partial:m1894_21 +# 1894| m1894_23(unknown) = ^BufferMayWriteSideEffect[0] : &:r1894_15 +# 1894| m1894_24(B) = Chi : total:m1894_12, partial:m1894_23 +# 1894| r1894_25(glval) = CopyValue : r1894_16 +# 1895| v1895_1(void) = NoOp : +# 1892| v1892_5(void) = ReturnVoid : +# 1892| v1892_6(void) = AliasedUse : ~m1894_18 +# 1892| v1892_7(void) = ExitFunction : -# 1851| void magicvars() -# 1851| Block 0 -# 1851| v1851_1(void) = EnterFunction : -# 1851| m1851_2(unknown) = AliasedDefinition : -# 1851| m1851_3(unknown) = InitializeNonLocal : -# 1851| m1851_4(unknown) = Chi : total:m1851_2, partial:m1851_3 -# 1852| r1852_1(glval) = VariableAddress[pf] : -# 1852| r1852_2(glval) = VariableAddress[__PRETTY_FUNCTION__] : -# 1852| r1852_3(char *) = Convert : r1852_2 -# 1852| m1852_4(char *) = Store[pf] : &:r1852_1, r1852_3 -# 1853| r1853_1(glval) = VariableAddress[strfunc] : -# 1853| r1853_2(glval) = VariableAddress[__func__] : -# 1853| r1853_3(char *) = Convert : r1853_2 -# 1853| m1853_4(char *) = Store[strfunc] : &:r1853_1, r1853_3 -# 1854| v1854_1(void) = NoOp : -# 1851| v1851_5(void) = ReturnVoid : -# 1851| v1851_6(void) = AliasedUse : m1851_3 -# 1851| v1851_7(void) = ExitFunction : +# 1898| void magicvars() +# 1898| Block 0 +# 1898| v1898_1(void) = EnterFunction : +# 1898| m1898_2(unknown) = AliasedDefinition : +# 1898| m1898_3(unknown) = InitializeNonLocal : +# 1898| m1898_4(unknown) = Chi : total:m1898_2, partial:m1898_3 +# 1899| r1899_1(glval) = VariableAddress[pf] : +# 1899| r1899_2(glval) = VariableAddress[__PRETTY_FUNCTION__] : +# 1899| r1899_3(char *) = Convert : r1899_2 +# 1899| m1899_4(char *) = Store[pf] : &:r1899_1, r1899_3 +# 1900| r1900_1(glval) = VariableAddress[strfunc] : +# 1900| r1900_2(glval) = VariableAddress[__func__] : +# 1900| r1900_3(char *) = Convert : r1900_2 +# 1900| m1900_4(char *) = Store[strfunc] : &:r1900_1, r1900_3 +# 1901| v1901_1(void) = NoOp : +# 1898| v1898_5(void) = ReturnVoid : +# 1898| v1898_6(void) = AliasedUse : m1898_3 +# 1898| v1898_7(void) = ExitFunction : -# 1864| void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) -# 1864| Block 0 -# 1864| v1864_1(void) = EnterFunction : -# 1864| m1864_2(unknown) = AliasedDefinition : -# 1864| m1864_3(unknown) = InitializeNonLocal : -# 1864| m1864_4(unknown) = Chi : total:m1864_2, partial:m1864_3 -# 1864| r1864_5(glval) = VariableAddress[#this] : -# 1864| m1864_6(glval>) = InitializeParameter[#this] : &:r1864_5 -# 1864| r1864_7(glval>) = Load[#this] : &:r1864_5, m1864_6 -# 1864| m1864_8(Bar1) = InitializeIndirection[#this] : &:r1864_7 -# 1864| r1864_9(glval) = VariableAddress[p] : -# 1864| m1864_10(S *) = InitializeParameter[p] : &:r1864_9 -# 1864| r1864_11(S *) = Load[p] : &:r1864_9, m1864_10 -# 1864| m1864_12(unknown) = InitializeIndirection[p] : &:r1864_11 -# 1866| r1866_1(glval) = VariableAddress[#return] : -# 1866| r1866_2(glval) = VariableAddress[p] : -# 1866| r1866_3(S *) = Load[p] : &:r1866_2, m1864_10 -# 1866| r1866_4(void *) = Convert : r1866_3 -# 1866| m1866_5(void *) = Store[#return] : &:r1866_1, r1866_4 -# 1864| v1864_13(void) = ReturnIndirection[#this] : &:r1864_7, m1864_8 -# 1864| v1864_14(void) = ReturnIndirection[p] : &:r1864_11, m1864_12 -# 1864| r1864_15(glval) = VariableAddress[#return] : -# 1864| v1864_16(void) = ReturnValue : &:r1864_15, m1866_5 -# 1864| v1864_17(void) = AliasedUse : m1864_3 -# 1864| v1864_18(void) = ExitFunction : +# 1911| void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) +# 1911| Block 0 +# 1911| v1911_1(void) = EnterFunction : +# 1911| m1911_2(unknown) = AliasedDefinition : +# 1911| m1911_3(unknown) = InitializeNonLocal : +# 1911| m1911_4(unknown) = Chi : total:m1911_2, partial:m1911_3 +# 1911| r1911_5(glval) = VariableAddress[#this] : +# 1911| m1911_6(glval>) = InitializeParameter[#this] : &:r1911_5 +# 1911| r1911_7(glval>) = Load[#this] : &:r1911_5, m1911_6 +# 1911| m1911_8(Bar1) = InitializeIndirection[#this] : &:r1911_7 +# 1911| r1911_9(glval) = VariableAddress[p] : +# 1911| m1911_10(S *) = InitializeParameter[p] : &:r1911_9 +# 1911| r1911_11(S *) = Load[p] : &:r1911_9, m1911_10 +# 1911| m1911_12(unknown) = InitializeIndirection[p] : &:r1911_11 +# 1913| r1913_1(glval) = VariableAddress[#return] : +# 1913| r1913_2(glval) = VariableAddress[p] : +# 1913| r1913_3(S *) = Load[p] : &:r1913_2, m1911_10 +# 1913| r1913_4(void *) = Convert : r1913_3 +# 1913| m1913_5(void *) = Store[#return] : &:r1913_1, r1913_4 +# 1911| v1911_13(void) = ReturnIndirection[#this] : &:r1911_7, m1911_8 +# 1911| v1911_14(void) = ReturnIndirection[p] : &:r1911_11, m1911_12 +# 1911| r1911_15(glval) = VariableAddress[#return] : +# 1911| v1911_16(void) = ReturnValue : &:r1911_15, m1913_5 +# 1911| v1911_17(void) = AliasedUse : m1911_3 +# 1911| v1911_18(void) = ExitFunction : -# 1870| void missing_declaration_entries::test1() -# 1870| Block 0 -# 1870| v1870_1(void) = EnterFunction : -# 1870| m1870_2(unknown) = AliasedDefinition : -# 1870| m1870_3(unknown) = InitializeNonLocal : -# 1870| m1870_4(unknown) = Chi : total:m1870_2, partial:m1870_3 -# 1871| r1871_1(glval>) = VariableAddress[b] : -# 1871| m1871_2(Bar1) = Uninitialized[b] : &:r1871_1 -# 1872| r1872_1(glval>) = VariableAddress[b] : -# 1872| r1872_2(glval) = FunctionAddress[missing_type_decl_entry] : -# 1872| r1872_3(S *) = Constant[0] : -# 1872| r1872_4(void *) = Call[missing_type_decl_entry] : func:r1872_2, this:r1872_1, 0:r1872_3 -# 1872| m1872_5(unknown) = ^CallSideEffect : ~m1870_4 -# 1872| m1872_6(unknown) = Chi : total:m1870_4, partial:m1872_5 -# 1872| v1872_7(void) = ^IndirectReadSideEffect[-1] : &:r1872_1, m1871_2 -# 1872| v1872_8(void) = ^BufferReadSideEffect[0] : &:r1872_3, ~m1872_6 -# 1872| m1872_9(Bar1) = ^IndirectMayWriteSideEffect[-1] : &:r1872_1 -# 1872| m1872_10(Bar1) = Chi : total:m1871_2, partial:m1872_9 -# 1872| m1872_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1872_3 -# 1872| m1872_12(unknown) = Chi : total:m1872_6, partial:m1872_11 -# 1873| v1873_1(void) = NoOp : -# 1870| v1870_5(void) = ReturnVoid : -# 1870| v1870_6(void) = AliasedUse : ~m1872_12 -# 1870| v1870_7(void) = ExitFunction : +# 1917| void missing_declaration_entries::test1() +# 1917| Block 0 +# 1917| v1917_1(void) = EnterFunction : +# 1917| m1917_2(unknown) = AliasedDefinition : +# 1917| m1917_3(unknown) = InitializeNonLocal : +# 1917| m1917_4(unknown) = Chi : total:m1917_2, partial:m1917_3 +# 1918| r1918_1(glval>) = VariableAddress[b] : +# 1918| m1918_2(Bar1) = Uninitialized[b] : &:r1918_1 +# 1919| r1919_1(glval>) = VariableAddress[b] : +# 1919| r1919_2(glval) = FunctionAddress[missing_type_decl_entry] : +# 1919| r1919_3(S *) = Constant[0] : +# 1919| r1919_4(void *) = Call[missing_type_decl_entry] : func:r1919_2, this:r1919_1, 0:r1919_3 +# 1919| m1919_5(unknown) = ^CallSideEffect : ~m1917_4 +# 1919| m1919_6(unknown) = Chi : total:m1917_4, partial:m1919_5 +# 1919| v1919_7(void) = ^IndirectReadSideEffect[-1] : &:r1919_1, m1918_2 +# 1919| v1919_8(void) = ^BufferReadSideEffect[0] : &:r1919_3, ~m1919_6 +# 1919| m1919_9(Bar1) = ^IndirectMayWriteSideEffect[-1] : &:r1919_1 +# 1919| m1919_10(Bar1) = Chi : total:m1918_2, partial:m1919_9 +# 1919| m1919_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1919_3 +# 1919| m1919_12(unknown) = Chi : total:m1919_6, partial:m1919_11 +# 1920| v1920_1(void) = NoOp : +# 1917| v1917_5(void) = ReturnVoid : +# 1917| v1917_6(void) = AliasedUse : ~m1919_12 +# 1917| v1917_7(void) = ExitFunction : -# 1877| int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() -# 1877| Block 0 -# 1877| v1877_1(void) = EnterFunction : -# 1877| m1877_2(unknown) = AliasedDefinition : -# 1877| m1877_3(unknown) = InitializeNonLocal : -# 1877| m1877_4(unknown) = Chi : total:m1877_2, partial:m1877_3 -# 1877| r1877_5(glval) = VariableAddress[#this] : -# 1877| m1877_6(glval>) = InitializeParameter[#this] : &:r1877_5 -# 1877| r1877_7(glval>) = Load[#this] : &:r1877_5, m1877_6 -# 1877| m1877_8(Bar2) = InitializeIndirection[#this] : &:r1877_7 -# 1878| r1878_1(glval) = VariableAddress[x] : -# 1878| m1878_2(int[10]) = Uninitialized[x] : &:r1878_1 -# 1878| r1878_3(glval) = VariableAddress[y] : -# 1878| m1878_4(int[10]) = Uninitialized[y] : &:r1878_3 -# 1879| r1879_1(int) = Constant[10] : -# 1879| r1879_2(glval) = VariableAddress[x] : -# 1879| r1879_3(int *) = Convert : r1879_2 -# 1879| r1879_4(glval) = CopyValue : r1879_3 -# 1879| m1879_5(int) = Store[?] : &:r1879_4, r1879_1 -# 1879| m1879_6(int[10]) = Chi : total:m1878_2, partial:m1879_5 -# 1880| r1880_1(int) = Constant[10] : -# 1880| r1880_2(glval) = VariableAddress[y] : -# 1880| r1880_3(int *) = Convert : r1880_2 -# 1880| r1880_4(glval) = CopyValue : r1880_3 -# 1880| m1880_5(int) = Store[?] : &:r1880_4, r1880_1 -# 1880| m1880_6(int[10]) = Chi : total:m1878_4, partial:m1880_5 -# 1881| r1881_1(glval) = VariableAddress[#return] : -# 1881| r1881_2(glval) = VariableAddress[x] : -# 1881| r1881_3(int *) = Convert : r1881_2 -# 1881| r1881_4(int) = Load[?] : &:r1881_3, m1879_5 -# 1881| r1881_5(glval) = VariableAddress[y] : -# 1881| r1881_6(int *) = Convert : r1881_5 -# 1881| r1881_7(int) = Load[?] : &:r1881_6, m1880_5 -# 1881| r1881_8(int) = Add : r1881_4, r1881_7 -# 1881| m1881_9(int) = Store[#return] : &:r1881_1, r1881_8 -# 1877| v1877_9(void) = ReturnIndirection[#this] : &:r1877_7, m1877_8 -# 1877| r1877_10(glval) = VariableAddress[#return] : -# 1877| v1877_11(void) = ReturnValue : &:r1877_10, m1881_9 -# 1877| v1877_12(void) = AliasedUse : m1877_3 -# 1877| v1877_13(void) = ExitFunction : +# 1924| int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() +# 1924| Block 0 +# 1924| v1924_1(void) = EnterFunction : +# 1924| m1924_2(unknown) = AliasedDefinition : +# 1924| m1924_3(unknown) = InitializeNonLocal : +# 1924| m1924_4(unknown) = Chi : total:m1924_2, partial:m1924_3 +# 1924| r1924_5(glval) = VariableAddress[#this] : +# 1924| m1924_6(glval>) = InitializeParameter[#this] : &:r1924_5 +# 1924| r1924_7(glval>) = Load[#this] : &:r1924_5, m1924_6 +# 1924| m1924_8(Bar2) = InitializeIndirection[#this] : &:r1924_7 +# 1925| r1925_1(glval) = VariableAddress[x] : +# 1925| m1925_2(int[10]) = Uninitialized[x] : &:r1925_1 +# 1925| r1925_3(glval) = VariableAddress[y] : +# 1925| m1925_4(int[10]) = Uninitialized[y] : &:r1925_3 +# 1926| r1926_1(int) = Constant[10] : +# 1926| r1926_2(glval) = VariableAddress[x] : +# 1926| r1926_3(int *) = Convert : r1926_2 +# 1926| r1926_4(glval) = CopyValue : r1926_3 +# 1926| m1926_5(int) = Store[?] : &:r1926_4, r1926_1 +# 1926| m1926_6(int[10]) = Chi : total:m1925_2, partial:m1926_5 +# 1927| r1927_1(int) = Constant[10] : +# 1927| r1927_2(glval) = VariableAddress[y] : +# 1927| r1927_3(int *) = Convert : r1927_2 +# 1927| r1927_4(glval) = CopyValue : r1927_3 +# 1927| m1927_5(int) = Store[?] : &:r1927_4, r1927_1 +# 1927| m1927_6(int[10]) = Chi : total:m1925_4, partial:m1927_5 +# 1928| r1928_1(glval) = VariableAddress[#return] : +# 1928| r1928_2(glval) = VariableAddress[x] : +# 1928| r1928_3(int *) = Convert : r1928_2 +# 1928| r1928_4(int) = Load[?] : &:r1928_3, m1926_5 +# 1928| r1928_5(glval) = VariableAddress[y] : +# 1928| r1928_6(int *) = Convert : r1928_5 +# 1928| r1928_7(int) = Load[?] : &:r1928_6, m1927_5 +# 1928| r1928_8(int) = Add : r1928_4, r1928_7 +# 1928| m1928_9(int) = Store[#return] : &:r1928_1, r1928_8 +# 1924| v1924_9(void) = ReturnIndirection[#this] : &:r1924_7, m1924_8 +# 1924| r1924_10(glval) = VariableAddress[#return] : +# 1924| v1924_11(void) = ReturnValue : &:r1924_10, m1928_9 +# 1924| v1924_12(void) = AliasedUse : m1924_3 +# 1924| v1924_13(void) = ExitFunction : -# 1885| void missing_declaration_entries::test2() -# 1885| Block 0 -# 1885| v1885_1(void) = EnterFunction : -# 1885| m1885_2(unknown) = AliasedDefinition : -# 1885| m1885_3(unknown) = InitializeNonLocal : -# 1885| m1885_4(unknown) = Chi : total:m1885_2, partial:m1885_3 -# 1886| r1886_1(glval>) = VariableAddress[b] : -# 1886| m1886_2(Bar2) = Uninitialized[b] : &:r1886_1 -# 1887| r1887_1(glval>) = VariableAddress[b] : -# 1887| r1887_2(glval) = FunctionAddress[two_missing_variable_declaration_entries] : -# 1887| r1887_3(int) = Call[two_missing_variable_declaration_entries] : func:r1887_2, this:r1887_1 -# 1887| m1887_4(unknown) = ^CallSideEffect : ~m1885_4 -# 1887| m1887_5(unknown) = Chi : total:m1885_4, partial:m1887_4 -# 1887| v1887_6(void) = ^IndirectReadSideEffect[-1] : &:r1887_1, m1886_2 -# 1887| m1887_7(Bar2) = ^IndirectMayWriteSideEffect[-1] : &:r1887_1 -# 1887| m1887_8(Bar2) = Chi : total:m1886_2, partial:m1887_7 -# 1888| v1888_1(void) = NoOp : -# 1885| v1885_5(void) = ReturnVoid : -# 1885| v1885_6(void) = AliasedUse : ~m1887_5 -# 1885| v1885_7(void) = ExitFunction : +# 1932| void missing_declaration_entries::test2() +# 1932| Block 0 +# 1932| v1932_1(void) = EnterFunction : +# 1932| m1932_2(unknown) = AliasedDefinition : +# 1932| m1932_3(unknown) = InitializeNonLocal : +# 1932| m1932_4(unknown) = Chi : total:m1932_2, partial:m1932_3 +# 1933| r1933_1(glval>) = VariableAddress[b] : +# 1933| m1933_2(Bar2) = Uninitialized[b] : &:r1933_1 +# 1934| r1934_1(glval>) = VariableAddress[b] : +# 1934| r1934_2(glval) = FunctionAddress[two_missing_variable_declaration_entries] : +# 1934| r1934_3(int) = Call[two_missing_variable_declaration_entries] : func:r1934_2, this:r1934_1 +# 1934| m1934_4(unknown) = ^CallSideEffect : ~m1932_4 +# 1934| m1934_5(unknown) = Chi : total:m1932_4, partial:m1934_4 +# 1934| v1934_6(void) = ^IndirectReadSideEffect[-1] : &:r1934_1, m1933_2 +# 1934| m1934_7(Bar2) = ^IndirectMayWriteSideEffect[-1] : &:r1934_1 +# 1934| m1934_8(Bar2) = Chi : total:m1933_2, partial:m1934_7 +# 1935| v1935_1(void) = NoOp : +# 1932| v1932_5(void) = ReturnVoid : +# 1932| v1932_6(void) = AliasedUse : ~m1934_5 +# 1932| v1932_7(void) = ExitFunction : -# 1891| char global_template -# 1891| Block 0 -# 1891| v1891_1(void) = EnterFunction : -# 1891| m1891_2(unknown) = AliasedDefinition : -# 1891| r1891_3(glval) = VariableAddress[global_template] : -# 1891| r1891_4(char) = Constant[42] : -# 1891| m1891_5(char) = Store[global_template] : &:r1891_3, r1891_4 -# 1891| m1891_6(unknown) = Chi : total:m1891_2, partial:m1891_5 -# 1891| v1891_7(void) = ReturnVoid : -# 1891| v1891_8(void) = AliasedUse : ~m1891_6 -# 1891| v1891_9(void) = ExitFunction : +# 1938| char global_template +# 1938| Block 0 +# 1938| v1938_1(void) = EnterFunction : +# 1938| m1938_2(unknown) = AliasedDefinition : +# 1938| r1938_3(glval) = VariableAddress[global_template] : +# 1938| r1938_4(char) = Constant[42] : +# 1938| m1938_5(char) = Store[global_template] : &:r1938_3, r1938_4 +# 1938| m1938_6(unknown) = Chi : total:m1938_2, partial:m1938_5 +# 1938| v1938_7(void) = ReturnVoid : +# 1938| v1938_8(void) = AliasedUse : ~m1938_6 +# 1938| v1938_9(void) = ExitFunction : -# 1891| int global_template -# 1891| Block 0 -# 1891| v1891_1(void) = EnterFunction : -# 1891| m1891_2(unknown) = AliasedDefinition : -# 1891| r1891_3(glval) = VariableAddress[global_template] : -# 1891| r1891_4(int) = Constant[42] : -# 1891| m1891_5(int) = Store[global_template] : &:r1891_3, r1891_4 -# 1891| m1891_6(unknown) = Chi : total:m1891_2, partial:m1891_5 -# 1891| v1891_7(void) = ReturnVoid : -# 1891| v1891_8(void) = AliasedUse : ~m1891_6 -# 1891| v1891_9(void) = ExitFunction : +# 1938| int global_template +# 1938| Block 0 +# 1938| v1938_1(void) = EnterFunction : +# 1938| m1938_2(unknown) = AliasedDefinition : +# 1938| r1938_3(glval) = VariableAddress[global_template] : +# 1938| r1938_4(int) = Constant[42] : +# 1938| m1938_5(int) = Store[global_template] : &:r1938_3, r1938_4 +# 1938| m1938_6(unknown) = Chi : total:m1938_2, partial:m1938_5 +# 1938| v1938_7(void) = ReturnVoid : +# 1938| v1938_8(void) = AliasedUse : ~m1938_6 +# 1938| v1938_9(void) = ExitFunction : -# 1893| int test_global_template_int() -# 1893| Block 0 -# 1893| v1893_1(void) = EnterFunction : -# 1893| m1893_2(unknown) = AliasedDefinition : -# 1893| m1893_3(unknown) = InitializeNonLocal : -# 1893| m1893_4(unknown) = Chi : total:m1893_2, partial:m1893_3 -# 1894| r1894_1(glval) = VariableAddress[local_int] : -# 1894| r1894_2(glval) = VariableAddress[global_template] : -# 1894| r1894_3(int) = Load[global_template] : &:r1894_2, ~m1893_3 -# 1894| m1894_4(int) = Store[local_int] : &:r1894_1, r1894_3 -# 1895| r1895_1(glval) = VariableAddress[local_char] : -# 1895| r1895_2(glval) = VariableAddress[global_template] : -# 1895| r1895_3(char) = Load[global_template] : &:r1895_2, ~m1893_3 -# 1895| m1895_4(char) = Store[local_char] : &:r1895_1, r1895_3 -# 1896| r1896_1(glval) = VariableAddress[#return] : -# 1896| r1896_2(glval) = VariableAddress[local_int] : -# 1896| r1896_3(int) = Load[local_int] : &:r1896_2, m1894_4 -# 1896| r1896_4(glval) = VariableAddress[local_char] : -# 1896| r1896_5(char) = Load[local_char] : &:r1896_4, m1895_4 -# 1896| r1896_6(int) = Convert : r1896_5 -# 1896| r1896_7(int) = Add : r1896_3, r1896_6 -# 1896| m1896_8(int) = Store[#return] : &:r1896_1, r1896_7 -# 1893| r1893_5(glval) = VariableAddress[#return] : -# 1893| v1893_6(void) = ReturnValue : &:r1893_5, m1896_8 -# 1893| v1893_7(void) = AliasedUse : m1893_3 -# 1893| v1893_8(void) = ExitFunction : +# 1940| int test_global_template_int() +# 1940| Block 0 +# 1940| v1940_1(void) = EnterFunction : +# 1940| m1940_2(unknown) = AliasedDefinition : +# 1940| m1940_3(unknown) = InitializeNonLocal : +# 1940| m1940_4(unknown) = Chi : total:m1940_2, partial:m1940_3 +# 1941| r1941_1(glval) = VariableAddress[local_int] : +# 1941| r1941_2(glval) = VariableAddress[global_template] : +# 1941| r1941_3(int) = Load[global_template] : &:r1941_2, ~m1940_3 +# 1941| m1941_4(int) = Store[local_int] : &:r1941_1, r1941_3 +# 1942| r1942_1(glval) = VariableAddress[local_char] : +# 1942| r1942_2(glval) = VariableAddress[global_template] : +# 1942| r1942_3(char) = Load[global_template] : &:r1942_2, ~m1940_3 +# 1942| m1942_4(char) = Store[local_char] : &:r1942_1, r1942_3 +# 1943| r1943_1(glval) = VariableAddress[#return] : +# 1943| r1943_2(glval) = VariableAddress[local_int] : +# 1943| r1943_3(int) = Load[local_int] : &:r1943_2, m1941_4 +# 1943| r1943_4(glval) = VariableAddress[local_char] : +# 1943| r1943_5(char) = Load[local_char] : &:r1943_4, m1942_4 +# 1943| r1943_6(int) = Convert : r1943_5 +# 1943| r1943_7(int) = Add : r1943_3, r1943_6 +# 1943| m1943_8(int) = Store[#return] : &:r1943_1, r1943_7 +# 1940| r1940_5(glval) = VariableAddress[#return] : +# 1940| v1940_6(void) = ReturnValue : &:r1940_5, m1943_8 +# 1940| v1940_7(void) = AliasedUse : m1940_3 +# 1940| v1940_8(void) = ExitFunction : -# 1901| int noreturnTest(int) -# 1901| Block 0 -# 1901| v1901_1(void) = EnterFunction : -# 1901| m1901_2(unknown) = AliasedDefinition : -# 1901| m1901_3(unknown) = InitializeNonLocal : -# 1901| m1901_4(unknown) = Chi : total:m1901_2, partial:m1901_3 -# 1901| r1901_5(glval) = VariableAddress[x] : -# 1901| m1901_6(int) = InitializeParameter[x] : &:r1901_5 -# 1902| r1902_1(glval) = VariableAddress[x] : -# 1902| r1902_2(int) = Load[x] : &:r1902_1, m1901_6 -# 1902| r1902_3(int) = Constant[10] : -# 1902| r1902_4(bool) = CompareLT : r1902_2, r1902_3 -# 1902| v1902_5(void) = ConditionalBranch : r1902_4 +# 1948| int noreturnTest(int) +# 1948| Block 0 +# 1948| v1948_1(void) = EnterFunction : +# 1948| m1948_2(unknown) = AliasedDefinition : +# 1948| m1948_3(unknown) = InitializeNonLocal : +# 1948| m1948_4(unknown) = Chi : total:m1948_2, partial:m1948_3 +# 1948| r1948_5(glval) = VariableAddress[x] : +# 1948| m1948_6(int) = InitializeParameter[x] : &:r1948_5 +# 1949| r1949_1(glval) = VariableAddress[x] : +# 1949| r1949_2(int) = Load[x] : &:r1949_1, m1948_6 +# 1949| r1949_3(int) = Constant[10] : +# 1949| r1949_4(bool) = CompareLT : r1949_2, r1949_3 +# 1949| v1949_5(void) = ConditionalBranch : r1949_4 #-----| False -> Block 2 #-----| True -> Block 1 -# 1903| Block 1 -# 1903| r1903_1(glval) = VariableAddress[#return] : -# 1903| r1903_2(glval) = VariableAddress[x] : -# 1903| r1903_3(int) = Load[x] : &:r1903_2, m1901_6 -# 1903| m1903_4(int) = Store[#return] : &:r1903_1, r1903_3 -# 1901| r1901_7(glval) = VariableAddress[#return] : -# 1901| v1901_8(void) = ReturnValue : &:r1901_7, m1903_4 -# 1901| v1901_9(void) = AliasedUse : m1901_3 -# 1901| v1901_10(void) = ExitFunction : +# 1950| Block 1 +# 1950| r1950_1(glval) = VariableAddress[#return] : +# 1950| r1950_2(glval) = VariableAddress[x] : +# 1950| r1950_3(int) = Load[x] : &:r1950_2, m1948_6 +# 1950| m1950_4(int) = Store[#return] : &:r1950_1, r1950_3 +# 1948| r1948_7(glval) = VariableAddress[#return] : +# 1948| v1948_8(void) = ReturnValue : &:r1948_7, m1950_4 +# 1948| v1948_9(void) = AliasedUse : m1948_3 +# 1948| v1948_10(void) = ExitFunction : -# 1905| Block 2 -# 1905| r1905_1(glval) = FunctionAddress[noreturnFunc] : -# 1905| v1905_2(void) = Call[noreturnFunc] : func:r1905_1 -# 1905| m1905_3(unknown) = ^CallSideEffect : ~m1901_4 -# 1905| m1905_4(unknown) = Chi : total:m1901_4, partial:m1905_3 -# 1901| v1901_11(void) = Unreached : +# 1952| Block 2 +# 1952| r1952_1(glval) = FunctionAddress[noreturnFunc] : +# 1952| v1952_2(void) = Call[noreturnFunc] : func:r1952_1 +# 1952| m1952_3(unknown) = ^CallSideEffect : ~m1948_4 +# 1952| m1952_4(unknown) = Chi : total:m1948_4, partial:m1952_3 +# 1948| v1948_11(void) = Unreached : -# 1909| int noreturnTest2(int) -# 1909| Block 0 -# 1909| v1909_1(void) = EnterFunction : -# 1909| m1909_2(unknown) = AliasedDefinition : -# 1909| m1909_3(unknown) = InitializeNonLocal : -# 1909| m1909_4(unknown) = Chi : total:m1909_2, partial:m1909_3 -# 1909| r1909_5(glval) = VariableAddress[x] : -# 1909| m1909_6(int) = InitializeParameter[x] : &:r1909_5 -# 1910| r1910_1(glval) = VariableAddress[x] : -# 1910| r1910_2(int) = Load[x] : &:r1910_1, m1909_6 -# 1910| r1910_3(int) = Constant[10] : -# 1910| r1910_4(bool) = CompareLT : r1910_2, r1910_3 -# 1910| v1910_5(void) = ConditionalBranch : r1910_4 +# 1956| int noreturnTest2(int) +# 1956| Block 0 +# 1956| v1956_1(void) = EnterFunction : +# 1956| m1956_2(unknown) = AliasedDefinition : +# 1956| m1956_3(unknown) = InitializeNonLocal : +# 1956| m1956_4(unknown) = Chi : total:m1956_2, partial:m1956_3 +# 1956| r1956_5(glval) = VariableAddress[x] : +# 1956| m1956_6(int) = InitializeParameter[x] : &:r1956_5 +# 1957| r1957_1(glval) = VariableAddress[x] : +# 1957| r1957_2(int) = Load[x] : &:r1957_1, m1956_6 +# 1957| r1957_3(int) = Constant[10] : +# 1957| r1957_4(bool) = CompareLT : r1957_2, r1957_3 +# 1957| v1957_5(void) = ConditionalBranch : r1957_4 #-----| False -> Block 2 #-----| True -> Block 1 -# 1911| Block 1 -# 1911| r1911_1(glval) = FunctionAddress[noreturnFunc] : -# 1911| v1911_2(void) = Call[noreturnFunc] : func:r1911_1 -# 1911| m1911_3(unknown) = ^CallSideEffect : ~m1909_4 -# 1911| m1911_4(unknown) = Chi : total:m1909_4, partial:m1911_3 -# 1909| v1909_7(void) = Unreached : +# 1958| Block 1 +# 1958| r1958_1(glval) = FunctionAddress[noreturnFunc] : +# 1958| v1958_2(void) = Call[noreturnFunc] : func:r1958_1 +# 1958| m1958_3(unknown) = ^CallSideEffect : ~m1956_4 +# 1958| m1958_4(unknown) = Chi : total:m1956_4, partial:m1958_3 +# 1956| v1956_7(void) = Unreached : -# 1913| Block 2 -# 1913| r1913_1(glval) = VariableAddress[#return] : -# 1913| r1913_2(glval) = VariableAddress[x] : -# 1913| r1913_3(int) = Load[x] : &:r1913_2, m1909_6 -# 1913| m1913_4(int) = Store[#return] : &:r1913_1, r1913_3 -# 1909| r1909_8(glval) = VariableAddress[#return] : -# 1909| v1909_9(void) = ReturnValue : &:r1909_8, m1913_4 -# 1909| v1909_10(void) = AliasedUse : m1909_3 -# 1909| v1909_11(void) = ExitFunction : +# 1960| Block 2 +# 1960| r1960_1(glval) = VariableAddress[#return] : +# 1960| r1960_2(glval) = VariableAddress[x] : +# 1960| r1960_3(int) = Load[x] : &:r1960_2, m1956_6 +# 1960| m1960_4(int) = Store[#return] : &:r1960_1, r1960_3 +# 1956| r1956_8(glval) = VariableAddress[#return] : +# 1956| v1956_9(void) = ReturnValue : &:r1956_8, m1960_4 +# 1956| v1956_10(void) = AliasedUse : m1956_3 +# 1956| v1956_11(void) = ExitFunction : -# 1916| int static_function(int) -# 1916| Block 0 -# 1916| v1916_1(void) = EnterFunction : -# 1916| m1916_2(unknown) = AliasedDefinition : -# 1916| m1916_3(unknown) = InitializeNonLocal : -# 1916| m1916_4(unknown) = Chi : total:m1916_2, partial:m1916_3 -# 1916| r1916_5(glval) = VariableAddress[x] : -# 1916| m1916_6(int) = InitializeParameter[x] : &:r1916_5 -# 1917| r1917_1(glval) = VariableAddress[#return] : -# 1917| r1917_2(glval) = VariableAddress[x] : -# 1917| r1917_3(int) = Load[x] : &:r1917_2, m1916_6 -# 1917| m1917_4(int) = Store[#return] : &:r1917_1, r1917_3 -# 1916| r1916_7(glval) = VariableAddress[#return] : -# 1916| v1916_8(void) = ReturnValue : &:r1916_7, m1917_4 -# 1916| v1916_9(void) = AliasedUse : m1916_3 -# 1916| v1916_10(void) = ExitFunction : +# 1963| int static_function(int) +# 1963| Block 0 +# 1963| v1963_1(void) = EnterFunction : +# 1963| m1963_2(unknown) = AliasedDefinition : +# 1963| m1963_3(unknown) = InitializeNonLocal : +# 1963| m1963_4(unknown) = Chi : total:m1963_2, partial:m1963_3 +# 1963| r1963_5(glval) = VariableAddress[x] : +# 1963| m1963_6(int) = InitializeParameter[x] : &:r1963_5 +# 1964| r1964_1(glval) = VariableAddress[#return] : +# 1964| r1964_2(glval) = VariableAddress[x] : +# 1964| r1964_3(int) = Load[x] : &:r1964_2, m1963_6 +# 1964| m1964_4(int) = Store[#return] : &:r1964_1, r1964_3 +# 1963| r1963_7(glval) = VariableAddress[#return] : +# 1963| v1963_8(void) = ReturnValue : &:r1963_7, m1964_4 +# 1963| v1963_9(void) = AliasedUse : m1963_3 +# 1963| v1963_10(void) = ExitFunction : -# 1920| void test_static_functions_with_assignments() -# 1920| Block 0 -# 1920| v1920_1(void) = EnterFunction : -# 1920| m1920_2(unknown) = AliasedDefinition : -# 1920| m1920_3(unknown) = InitializeNonLocal : -# 1920| m1920_4(unknown) = Chi : total:m1920_2, partial:m1920_3 -# 1921| r1921_1(glval) = VariableAddress[c] : -# 1921| m1921_2(C) = Uninitialized[c] : &:r1921_1 -# 1921| r1921_3(glval) = FunctionAddress[C] : -# 1921| v1921_4(void) = Call[C] : func:r1921_3, this:r1921_1 -# 1921| m1921_5(unknown) = ^CallSideEffect : ~m1920_4 -# 1921| m1921_6(unknown) = Chi : total:m1920_4, partial:m1921_5 -# 1921| m1921_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1921_1 -# 1921| m1921_8(C) = Chi : total:m1921_2, partial:m1921_7 -# 1922| r1922_1(glval) = VariableAddress[x] : -# 1922| m1922_2(int) = Uninitialized[x] : &:r1922_1 -# 1923| r1923_1(glval) = VariableAddress[c] : -# 1923| r1923_2(glval) = FunctionAddress[StaticMemberFunction] : -# 1923| r1923_3(int) = Constant[10] : -# 1923| r1923_4(int) = Call[StaticMemberFunction] : func:r1923_2, 0:r1923_3 -# 1923| m1923_5(unknown) = ^CallSideEffect : ~m1921_6 -# 1923| m1923_6(unknown) = Chi : total:m1921_6, partial:m1923_5 -# 1923| r1923_7(glval) = VariableAddress[x] : -# 1923| m1923_8(int) = Store[x] : &:r1923_7, r1923_4 -# 1924| r1924_1(glval) = VariableAddress[y] : -# 1924| m1924_2(int) = Uninitialized[y] : &:r1924_1 -# 1925| r1925_1(glval) = FunctionAddress[StaticMemberFunction] : -# 1925| r1925_2(int) = Constant[10] : -# 1925| r1925_3(int) = Call[StaticMemberFunction] : func:r1925_1, 0:r1925_2 -# 1925| m1925_4(unknown) = ^CallSideEffect : ~m1923_6 -# 1925| m1925_5(unknown) = Chi : total:m1923_6, partial:m1925_4 -# 1925| r1925_6(glval) = VariableAddress[y] : -# 1925| m1925_7(int) = Store[y] : &:r1925_6, r1925_3 -# 1926| r1926_1(glval) = VariableAddress[z] : -# 1926| m1926_2(int) = Uninitialized[z] : &:r1926_1 -# 1927| r1927_1(glval) = FunctionAddress[static_function] : -# 1927| r1927_2(int) = Constant[10] : -# 1927| r1927_3(int) = Call[static_function] : func:r1927_1, 0:r1927_2 -# 1927| m1927_4(unknown) = ^CallSideEffect : ~m1925_5 -# 1927| m1927_5(unknown) = Chi : total:m1925_5, partial:m1927_4 -# 1927| r1927_6(glval) = VariableAddress[z] : -# 1927| m1927_7(int) = Store[z] : &:r1927_6, r1927_3 -# 1928| v1928_1(void) = NoOp : -# 1928| r1928_2(glval) = VariableAddress[c] : -# 1928| r1928_3(glval) = FunctionAddress[~C] : -# 1928| v1928_4(void) = Call[~C] : func:r1928_3, this:r1928_2 -# 1928| m1928_5(unknown) = ^CallSideEffect : ~m1927_5 -# 1928| m1928_6(unknown) = Chi : total:m1927_5, partial:m1928_5 -# 1928| v1928_7(void) = ^IndirectReadSideEffect[-1] : &:r1928_2, m1921_8 -# 1928| m1928_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r1928_2 -# 1928| m1928_9(C) = Chi : total:m1921_8, partial:m1928_8 -# 1920| v1920_5(void) = ReturnVoid : -# 1920| v1920_6(void) = AliasedUse : ~m1928_6 -# 1920| v1920_7(void) = ExitFunction : +# 1967| void test_static_functions_with_assignments() +# 1967| Block 0 +# 1967| v1967_1(void) = EnterFunction : +# 1967| m1967_2(unknown) = AliasedDefinition : +# 1967| m1967_3(unknown) = InitializeNonLocal : +# 1967| m1967_4(unknown) = Chi : total:m1967_2, partial:m1967_3 +# 1968| r1968_1(glval) = VariableAddress[c] : +# 1968| m1968_2(C) = Uninitialized[c] : &:r1968_1 +# 1968| r1968_3(glval) = FunctionAddress[C] : +# 1968| v1968_4(void) = Call[C] : func:r1968_3, this:r1968_1 +# 1968| m1968_5(unknown) = ^CallSideEffect : ~m1967_4 +# 1968| m1968_6(unknown) = Chi : total:m1967_4, partial:m1968_5 +# 1968| m1968_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1968_1 +# 1968| m1968_8(C) = Chi : total:m1968_2, partial:m1968_7 +# 1969| r1969_1(glval) = VariableAddress[x] : +# 1969| m1969_2(int) = Uninitialized[x] : &:r1969_1 +# 1970| r1970_1(glval) = VariableAddress[c] : +# 1970| r1970_2(glval) = FunctionAddress[StaticMemberFunction] : +# 1970| r1970_3(int) = Constant[10] : +# 1970| r1970_4(int) = Call[StaticMemberFunction] : func:r1970_2, 0:r1970_3 +# 1970| m1970_5(unknown) = ^CallSideEffect : ~m1968_6 +# 1970| m1970_6(unknown) = Chi : total:m1968_6, partial:m1970_5 +# 1970| r1970_7(glval) = VariableAddress[x] : +# 1970| m1970_8(int) = Store[x] : &:r1970_7, r1970_4 +# 1971| r1971_1(glval) = VariableAddress[y] : +# 1971| m1971_2(int) = Uninitialized[y] : &:r1971_1 +# 1972| r1972_1(glval) = FunctionAddress[StaticMemberFunction] : +# 1972| r1972_2(int) = Constant[10] : +# 1972| r1972_3(int) = Call[StaticMemberFunction] : func:r1972_1, 0:r1972_2 +# 1972| m1972_4(unknown) = ^CallSideEffect : ~m1970_6 +# 1972| m1972_5(unknown) = Chi : total:m1970_6, partial:m1972_4 +# 1972| r1972_6(glval) = VariableAddress[y] : +# 1972| m1972_7(int) = Store[y] : &:r1972_6, r1972_3 +# 1973| r1973_1(glval) = VariableAddress[z] : +# 1973| m1973_2(int) = Uninitialized[z] : &:r1973_1 +# 1974| r1974_1(glval) = FunctionAddress[static_function] : +# 1974| r1974_2(int) = Constant[10] : +# 1974| r1974_3(int) = Call[static_function] : func:r1974_1, 0:r1974_2 +# 1974| m1974_4(unknown) = ^CallSideEffect : ~m1972_5 +# 1974| m1974_5(unknown) = Chi : total:m1972_5, partial:m1974_4 +# 1974| r1974_6(glval) = VariableAddress[z] : +# 1974| m1974_7(int) = Store[z] : &:r1974_6, r1974_3 +# 1975| v1975_1(void) = NoOp : +# 1975| r1975_2(glval) = VariableAddress[c] : +# 1975| r1975_3(glval) = FunctionAddress[~C] : +# 1975| v1975_4(void) = Call[~C] : func:r1975_3, this:r1975_2 +# 1975| m1975_5(unknown) = ^CallSideEffect : ~m1974_5 +# 1975| m1975_6(unknown) = Chi : total:m1974_5, partial:m1975_5 +# 1975| v1975_7(void) = ^IndirectReadSideEffect[-1] : &:r1975_2, m1968_8 +# 1975| m1975_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r1975_2 +# 1975| m1975_9(C) = Chi : total:m1968_8, partial:m1975_8 +# 1967| v1967_5(void) = ReturnVoid : +# 1967| v1967_6(void) = AliasedUse : ~m1975_6 +# 1967| v1967_7(void) = ExitFunction : -# 1930| void test_double_assign() -# 1930| Block 0 -# 1930| v1930_1(void) = EnterFunction : -# 1930| m1930_2(unknown) = AliasedDefinition : -# 1930| m1930_3(unknown) = InitializeNonLocal : -# 1930| m1930_4(unknown) = Chi : total:m1930_2, partial:m1930_3 -# 1931| r1931_1(glval) = VariableAddress[i] : -# 1931| m1931_2(int) = Uninitialized[i] : &:r1931_1 -# 1931| r1931_3(glval) = VariableAddress[j] : -# 1931| m1931_4(int) = Uninitialized[j] : &:r1931_3 -# 1932| r1932_1(int) = Constant[40] : -# 1932| r1932_2(glval) = VariableAddress[j] : -# 1932| m1932_3(int) = Store[j] : &:r1932_2, r1932_1 -# 1932| r1932_4(int) = Load[j] : &:r1932_2, m1932_3 -# 1932| r1932_5(glval) = VariableAddress[i] : -# 1932| m1932_6(int) = Store[i] : &:r1932_5, r1932_4 -# 1933| v1933_1(void) = NoOp : -# 1930| v1930_5(void) = ReturnVoid : -# 1930| v1930_6(void) = AliasedUse : m1930_3 -# 1930| v1930_7(void) = ExitFunction : +# 1977| void test_double_assign() +# 1977| Block 0 +# 1977| v1977_1(void) = EnterFunction : +# 1977| m1977_2(unknown) = AliasedDefinition : +# 1977| m1977_3(unknown) = InitializeNonLocal : +# 1977| m1977_4(unknown) = Chi : total:m1977_2, partial:m1977_3 +# 1978| r1978_1(glval) = VariableAddress[i] : +# 1978| m1978_2(int) = Uninitialized[i] : &:r1978_1 +# 1978| r1978_3(glval) = VariableAddress[j] : +# 1978| m1978_4(int) = Uninitialized[j] : &:r1978_3 +# 1979| r1979_1(int) = Constant[40] : +# 1979| r1979_2(glval) = VariableAddress[j] : +# 1979| m1979_3(int) = Store[j] : &:r1979_2, r1979_1 +# 1979| r1979_4(int) = Load[j] : &:r1979_2, m1979_3 +# 1979| r1979_5(glval) = VariableAddress[i] : +# 1979| m1979_6(int) = Store[i] : &:r1979_5, r1979_4 +# 1980| v1980_1(void) = NoOp : +# 1977| v1977_5(void) = ReturnVoid : +# 1977| v1977_6(void) = AliasedUse : m1977_3 +# 1977| v1977_7(void) = ExitFunction : -# 1935| void test_assign_with_assign_operation() -# 1935| Block 0 -# 1935| v1935_1(void) = EnterFunction : -# 1935| m1935_2(unknown) = AliasedDefinition : -# 1935| m1935_3(unknown) = InitializeNonLocal : -# 1935| m1935_4(unknown) = Chi : total:m1935_2, partial:m1935_3 -# 1936| r1936_1(glval) = VariableAddress[i] : -# 1936| m1936_2(int) = Uninitialized[i] : &:r1936_1 -# 1936| r1936_3(glval) = VariableAddress[j] : -# 1936| r1936_4(int) = Constant[0] : -# 1936| m1936_5(int) = Store[j] : &:r1936_3, r1936_4 -# 1937| r1937_1(int) = Constant[40] : -# 1937| r1937_2(glval) = VariableAddress[j] : -# 1937| r1937_3(int) = Load[j] : &:r1937_2, m1936_5 -# 1937| r1937_4(int) = Add : r1937_3, r1937_1 -# 1937| m1937_5(int) = Store[j] : &:r1937_2, r1937_4 -# 1937| r1937_6(int) = Load[j] : &:r1937_2, m1937_5 -# 1937| r1937_7(glval) = VariableAddress[i] : -# 1937| m1937_8(int) = Store[i] : &:r1937_7, r1937_6 -# 1938| v1938_1(void) = NoOp : -# 1935| v1935_5(void) = ReturnVoid : -# 1935| v1935_6(void) = AliasedUse : m1935_3 -# 1935| v1935_7(void) = ExitFunction : +# 1982| void test_assign_with_assign_operation() +# 1982| Block 0 +# 1982| v1982_1(void) = EnterFunction : +# 1982| m1982_2(unknown) = AliasedDefinition : +# 1982| m1982_3(unknown) = InitializeNonLocal : +# 1982| m1982_4(unknown) = Chi : total:m1982_2, partial:m1982_3 +# 1983| r1983_1(glval) = VariableAddress[i] : +# 1983| m1983_2(int) = Uninitialized[i] : &:r1983_1 +# 1983| r1983_3(glval) = VariableAddress[j] : +# 1983| r1983_4(int) = Constant[0] : +# 1983| m1983_5(int) = Store[j] : &:r1983_3, r1983_4 +# 1984| r1984_1(int) = Constant[40] : +# 1984| r1984_2(glval) = VariableAddress[j] : +# 1984| r1984_3(int) = Load[j] : &:r1984_2, m1983_5 +# 1984| r1984_4(int) = Add : r1984_3, r1984_1 +# 1984| m1984_5(int) = Store[j] : &:r1984_2, r1984_4 +# 1984| r1984_6(int) = Load[j] : &:r1984_2, m1984_5 +# 1984| r1984_7(glval) = VariableAddress[i] : +# 1984| m1984_8(int) = Store[i] : &:r1984_7, r1984_6 +# 1985| v1985_1(void) = NoOp : +# 1982| v1982_5(void) = ReturnVoid : +# 1982| v1982_6(void) = AliasedUse : m1982_3 +# 1982| v1982_7(void) = ExitFunction : -# 1944| D& D::ReferenceStaticMemberFunction() -# 1944| Block 0 -# 1944| v1944_1(void) = EnterFunction : -# 1944| m1944_2(unknown) = AliasedDefinition : -# 1944| m1944_3(unknown) = InitializeNonLocal : -# 1944| m1944_4(unknown) = Chi : total:m1944_2, partial:m1944_3 -# 1945| r1945_1(glval) = VariableAddress[#return] : -# 1945| r1945_2(glval) = VariableAddress[x] : -# 1945| r1945_3(D &) = CopyValue : r1945_2 -# 1945| m1945_4(D &) = Store[#return] : &:r1945_1, r1945_3 -# 1944| r1944_5(glval) = VariableAddress[#return] : -# 1944| v1944_6(void) = ReturnValue : &:r1944_5, m1945_4 -# 1944| v1944_7(void) = AliasedUse : m1944_3 -# 1944| v1944_8(void) = ExitFunction : +# 1991| D& D::ReferenceStaticMemberFunction() +# 1991| Block 0 +# 1991| v1991_1(void) = EnterFunction : +# 1991| m1991_2(unknown) = AliasedDefinition : +# 1991| m1991_3(unknown) = InitializeNonLocal : +# 1991| m1991_4(unknown) = Chi : total:m1991_2, partial:m1991_3 +# 1992| r1992_1(glval) = VariableAddress[#return] : +# 1992| r1992_2(glval) = VariableAddress[x] : +# 1992| r1992_3(D &) = CopyValue : r1992_2 +# 1992| m1992_4(D &) = Store[#return] : &:r1992_1, r1992_3 +# 1991| r1991_5(glval) = VariableAddress[#return] : +# 1991| v1991_6(void) = ReturnValue : &:r1991_5, m1992_4 +# 1991| v1991_7(void) = AliasedUse : m1991_3 +# 1991| v1991_8(void) = ExitFunction : -# 1947| D D::ObjectStaticMemberFunction() -# 1947| Block 0 -# 1947| v1947_1(void) = EnterFunction : -# 1947| m1947_2(unknown) = AliasedDefinition : -# 1947| m1947_3(unknown) = InitializeNonLocal : -# 1947| m1947_4(unknown) = Chi : total:m1947_2, partial:m1947_3 -# 1948| r1948_1(glval) = VariableAddress[#return] : -# 1948| r1948_2(glval) = VariableAddress[x] : -# 1948| r1948_3(D) = Load[x] : &:r1948_2, ~m1947_3 -# 1948| m1948_4(D) = Store[#return] : &:r1948_1, r1948_3 -# 1947| r1947_5(glval) = VariableAddress[#return] : -# 1947| v1947_6(void) = ReturnValue : &:r1947_5, m1948_4 -# 1947| v1947_7(void) = AliasedUse : m1947_3 -# 1947| v1947_8(void) = ExitFunction : +# 1994| D D::ObjectStaticMemberFunction() +# 1994| Block 0 +# 1994| v1994_1(void) = EnterFunction : +# 1994| m1994_2(unknown) = AliasedDefinition : +# 1994| m1994_3(unknown) = InitializeNonLocal : +# 1994| m1994_4(unknown) = Chi : total:m1994_2, partial:m1994_3 +# 1995| r1995_1(glval) = VariableAddress[#return] : +# 1995| r1995_2(glval) = VariableAddress[x] : +# 1995| r1995_3(D) = Load[x] : &:r1995_2, ~m1994_3 +# 1995| m1995_4(D) = Store[#return] : &:r1995_1, r1995_3 +# 1994| r1994_5(glval) = VariableAddress[#return] : +# 1994| v1994_6(void) = ReturnValue : &:r1994_5, m1995_4 +# 1994| v1994_7(void) = AliasedUse : m1994_3 +# 1994| v1994_8(void) = ExitFunction : -# 1952| void test_static_member_functions_with_reference_return() -# 1952| Block 0 -# 1952| v1952_1(void) = EnterFunction : -# 1952| m1952_2(unknown) = AliasedDefinition : -# 1952| m1952_3(unknown) = InitializeNonLocal : -# 1952| m1952_4(unknown) = Chi : total:m1952_2, partial:m1952_3 -# 1953| r1953_1(glval) = VariableAddress[d] : -# 1953| m1953_2(D) = Uninitialized[d] : &:r1953_1 -# 1955| r1955_1(glval) = VariableAddress[d] : -# 1955| r1955_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1955| r1955_3(D &) = Call[ReferenceStaticMemberFunction] : func:r1955_2 -# 1955| m1955_4(unknown) = ^CallSideEffect : ~m1952_4 -# 1955| m1955_5(unknown) = Chi : total:m1952_4, partial:m1955_4 -# 1955| r1955_6(glval) = CopyValue : r1955_3 -# 1956| r1956_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1956| r1956_2(D &) = Call[ReferenceStaticMemberFunction] : func:r1956_1 -# 1956| m1956_3(unknown) = ^CallSideEffect : ~m1955_5 -# 1956| m1956_4(unknown) = Chi : total:m1955_5, partial:m1956_3 -# 1956| r1956_5(glval) = CopyValue : r1956_2 -# 1957| r1957_1(glval) = VariableAddress[d] : -# 1957| r1957_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1957| r1957_3(D) = Call[ObjectStaticMemberFunction] : func:r1957_2 -# 1957| m1957_4(unknown) = ^CallSideEffect : ~m1956_4 -# 1957| m1957_5(unknown) = Chi : total:m1956_4, partial:m1957_4 -# 1958| r1958_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1958| r1958_2(D) = Call[ObjectStaticMemberFunction] : func:r1958_1 -# 1958| m1958_3(unknown) = ^CallSideEffect : ~m1957_5 -# 1958| m1958_4(unknown) = Chi : total:m1957_5, partial:m1958_3 -# 1960| r1960_1(glval) = VariableAddress[x] : -# 1960| m1960_2(D) = Uninitialized[x] : &:r1960_1 -# 1961| r1961_1(glval) = VariableAddress[d] : -# 1961| r1961_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1961| r1961_3(D &) = Call[ReferenceStaticMemberFunction] : func:r1961_2 -# 1961| m1961_4(unknown) = ^CallSideEffect : ~m1958_4 -# 1961| m1961_5(unknown) = Chi : total:m1958_4, partial:m1961_4 -# 1961| r1961_6(D) = Load[?] : &:r1961_3, ~m1961_5 -# 1961| r1961_7(glval) = VariableAddress[x] : -# 1961| m1961_8(D) = Store[x] : &:r1961_7, r1961_6 -# 1962| r1962_1(glval) = VariableAddress[y] : -# 1962| m1962_2(D) = Uninitialized[y] : &:r1962_1 -# 1963| r1963_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1963| r1963_2(D &) = Call[ReferenceStaticMemberFunction] : func:r1963_1 -# 1963| m1963_3(unknown) = ^CallSideEffect : ~m1961_5 -# 1963| m1963_4(unknown) = Chi : total:m1961_5, partial:m1963_3 -# 1963| r1963_5(D) = Load[?] : &:r1963_2, ~m1963_4 -# 1963| r1963_6(glval) = VariableAddress[y] : -# 1963| m1963_7(D) = Store[y] : &:r1963_6, r1963_5 -# 1964| r1964_1(glval) = VariableAddress[j] : -# 1964| m1964_2(D) = Uninitialized[j] : &:r1964_1 -# 1965| r1965_1(glval) = VariableAddress[d] : -# 1965| r1965_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1965| r1965_3(D) = Call[ObjectStaticMemberFunction] : func:r1965_2 -# 1965| m1965_4(unknown) = ^CallSideEffect : ~m1963_4 -# 1965| m1965_5(unknown) = Chi : total:m1963_4, partial:m1965_4 -# 1965| r1965_6(glval) = VariableAddress[j] : -# 1965| m1965_7(D) = Store[j] : &:r1965_6, r1965_3 -# 1966| r1966_1(glval) = VariableAddress[k] : -# 1966| m1966_2(D) = Uninitialized[k] : &:r1966_1 -# 1967| r1967_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1967| r1967_2(D) = Call[ObjectStaticMemberFunction] : func:r1967_1 -# 1967| m1967_3(unknown) = ^CallSideEffect : ~m1965_5 -# 1967| m1967_4(unknown) = Chi : total:m1965_5, partial:m1967_3 -# 1967| r1967_5(glval) = VariableAddress[k] : -# 1967| m1967_6(D) = Store[k] : &:r1967_5, r1967_2 -# 1968| v1968_1(void) = NoOp : -# 1952| v1952_5(void) = ReturnVoid : -# 1952| v1952_6(void) = AliasedUse : ~m1967_4 -# 1952| v1952_7(void) = ExitFunction : +# 1999| void test_static_member_functions_with_reference_return() +# 1999| Block 0 +# 1999| v1999_1(void) = EnterFunction : +# 1999| m1999_2(unknown) = AliasedDefinition : +# 1999| m1999_3(unknown) = InitializeNonLocal : +# 1999| m1999_4(unknown) = Chi : total:m1999_2, partial:m1999_3 +# 2000| r2000_1(glval) = VariableAddress[d] : +# 2000| m2000_2(D) = Uninitialized[d] : &:r2000_1 +# 2002| r2002_1(glval) = VariableAddress[d] : +# 2002| r2002_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2002| r2002_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2002_2 +# 2002| m2002_4(unknown) = ^CallSideEffect : ~m1999_4 +# 2002| m2002_5(unknown) = Chi : total:m1999_4, partial:m2002_4 +# 2002| r2002_6(glval) = CopyValue : r2002_3 +# 2003| r2003_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2003| r2003_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2003_1 +# 2003| m2003_3(unknown) = ^CallSideEffect : ~m2002_5 +# 2003| m2003_4(unknown) = Chi : total:m2002_5, partial:m2003_3 +# 2003| r2003_5(glval) = CopyValue : r2003_2 +# 2004| r2004_1(glval) = VariableAddress[d] : +# 2004| r2004_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2004| r2004_3(D) = Call[ObjectStaticMemberFunction] : func:r2004_2 +# 2004| m2004_4(unknown) = ^CallSideEffect : ~m2003_4 +# 2004| m2004_5(unknown) = Chi : total:m2003_4, partial:m2004_4 +# 2005| r2005_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2005| r2005_2(D) = Call[ObjectStaticMemberFunction] : func:r2005_1 +# 2005| m2005_3(unknown) = ^CallSideEffect : ~m2004_5 +# 2005| m2005_4(unknown) = Chi : total:m2004_5, partial:m2005_3 +# 2007| r2007_1(glval) = VariableAddress[x] : +# 2007| m2007_2(D) = Uninitialized[x] : &:r2007_1 +# 2008| r2008_1(glval) = VariableAddress[d] : +# 2008| r2008_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2008| r2008_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2008_2 +# 2008| m2008_4(unknown) = ^CallSideEffect : ~m2005_4 +# 2008| m2008_5(unknown) = Chi : total:m2005_4, partial:m2008_4 +# 2008| r2008_6(D) = Load[?] : &:r2008_3, ~m2008_5 +# 2008| r2008_7(glval) = VariableAddress[x] : +# 2008| m2008_8(D) = Store[x] : &:r2008_7, r2008_6 +# 2009| r2009_1(glval) = VariableAddress[y] : +# 2009| m2009_2(D) = Uninitialized[y] : &:r2009_1 +# 2010| r2010_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2010| r2010_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2010_1 +# 2010| m2010_3(unknown) = ^CallSideEffect : ~m2008_5 +# 2010| m2010_4(unknown) = Chi : total:m2008_5, partial:m2010_3 +# 2010| r2010_5(D) = Load[?] : &:r2010_2, ~m2010_4 +# 2010| r2010_6(glval) = VariableAddress[y] : +# 2010| m2010_7(D) = Store[y] : &:r2010_6, r2010_5 +# 2011| r2011_1(glval) = VariableAddress[j] : +# 2011| m2011_2(D) = Uninitialized[j] : &:r2011_1 +# 2012| r2012_1(glval) = VariableAddress[d] : +# 2012| r2012_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2012| r2012_3(D) = Call[ObjectStaticMemberFunction] : func:r2012_2 +# 2012| m2012_4(unknown) = ^CallSideEffect : ~m2010_4 +# 2012| m2012_5(unknown) = Chi : total:m2010_4, partial:m2012_4 +# 2012| r2012_6(glval) = VariableAddress[j] : +# 2012| m2012_7(D) = Store[j] : &:r2012_6, r2012_3 +# 2013| r2013_1(glval) = VariableAddress[k] : +# 2013| m2013_2(D) = Uninitialized[k] : &:r2013_1 +# 2014| r2014_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2014| r2014_2(D) = Call[ObjectStaticMemberFunction] : func:r2014_1 +# 2014| m2014_3(unknown) = ^CallSideEffect : ~m2012_5 +# 2014| m2014_4(unknown) = Chi : total:m2012_5, partial:m2014_3 +# 2014| r2014_5(glval) = VariableAddress[k] : +# 2014| m2014_6(D) = Store[k] : &:r2014_5, r2014_2 +# 2015| v2015_1(void) = NoOp : +# 1999| v1999_5(void) = ReturnVoid : +# 1999| v1999_6(void) = AliasedUse : ~m2014_4 +# 1999| v1999_7(void) = ExitFunction : -# 1970| void test_volatile() -# 1970| Block 0 -# 1970| v1970_1(void) = EnterFunction : -# 1970| m1970_2(unknown) = AliasedDefinition : -# 1970| m1970_3(unknown) = InitializeNonLocal : -# 1970| m1970_4(unknown) = Chi : total:m1970_2, partial:m1970_3 -# 1971| r1971_1(glval) = VariableAddress[x] : -# 1971| m1971_2(int) = Uninitialized[x] : &:r1971_1 -# 1972| r1972_1(glval) = VariableAddress[x] : -# 1972| r1972_2(int) = Load[x] : &:r1972_1, m1971_2 -# 1973| v1973_1(void) = NoOp : -# 1970| v1970_5(void) = ReturnVoid : -# 1970| v1970_6(void) = AliasedUse : m1970_3 -# 1970| v1970_7(void) = ExitFunction : +# 2017| void test_volatile() +# 2017| Block 0 +# 2017| v2017_1(void) = EnterFunction : +# 2017| m2017_2(unknown) = AliasedDefinition : +# 2017| m2017_3(unknown) = InitializeNonLocal : +# 2017| m2017_4(unknown) = Chi : total:m2017_2, partial:m2017_3 +# 2018| r2018_1(glval) = VariableAddress[x] : +# 2018| m2018_2(int) = Uninitialized[x] : &:r2018_1 +# 2019| r2019_1(glval) = VariableAddress[x] : +# 2019| r2019_2(int) = Load[x] : &:r2019_1, m2018_2 +# 2020| v2020_1(void) = NoOp : +# 2017| v2017_5(void) = ReturnVoid : +# 2017| v2017_6(void) = AliasedUse : m2017_3 +# 2017| v2017_7(void) = ExitFunction : -# 1981| void value_category_test() -# 1981| Block 0 -# 1981| v1981_1(void) = EnterFunction : -# 1981| m1981_2(unknown) = AliasedDefinition : -# 1981| m1981_3(unknown) = InitializeNonLocal : -# 1981| m1981_4(unknown) = Chi : total:m1981_2, partial:m1981_3 -# 1982| r1982_1(glval) = VariableAddress[c] : -# 1982| m1982_2(ValCat) = Uninitialized[c] : &:r1982_1 +# 2028| void value_category_test() +# 2028| Block 0 +# 2028| v2028_1(void) = EnterFunction : +# 2028| m2028_2(unknown) = AliasedDefinition : +# 2028| m2028_3(unknown) = InitializeNonLocal : +# 2028| m2028_4(unknown) = Chi : total:m2028_2, partial:m2028_3 +# 2029| r2029_1(glval) = VariableAddress[c] : +# 2029| m2029_2(ValCat) = Uninitialized[c] : &:r2029_1 #-----| r0_1(glval) = VariableAddress[#temp0:0] : #-----| m0_2(ValCat) = Uninitialized[#temp0:0] : &:r0_1 #-----| r0_3(ValCat) = Load[#temp0:0] : &:r0_1, m0_2 -# 1984| r1984_1(glval) = VariableAddress[c] : -# 1984| r1984_2(glval) = FunctionAddress[lvalue] : -# 1984| r1984_3(ValCat &) = Call[lvalue] : func:r1984_2 -# 1984| m1984_4(unknown) = ^CallSideEffect : ~m1981_4 -# 1984| m1984_5(unknown) = Chi : total:m1981_4, partial:m1984_4 -# 1984| r1984_6(glval) = CopyValue : r1984_3 -# 1984| m1984_7(ValCat) = Store[?] : &:r1984_6, r0_3 -# 1984| m1984_8(unknown) = Chi : total:m1984_5, partial:m1984_7 +# 2031| r2031_1(glval) = VariableAddress[c] : +# 2031| r2031_2(glval) = FunctionAddress[lvalue] : +# 2031| r2031_3(ValCat &) = Call[lvalue] : func:r2031_2 +# 2031| m2031_4(unknown) = ^CallSideEffect : ~m2028_4 +# 2031| m2031_5(unknown) = Chi : total:m2028_4, partial:m2031_4 +# 2031| r2031_6(glval) = CopyValue : r2031_3 +# 2031| m2031_7(ValCat) = Store[?] : &:r2031_6, r0_3 +# 2031| m2031_8(unknown) = Chi : total:m2031_5, partial:m2031_7 #-----| r0_4(glval) = VariableAddress[#temp0:0] : #-----| m0_5(ValCat) = Uninitialized[#temp0:0] : &:r0_4 #-----| r0_6(ValCat) = Load[#temp0:0] : &:r0_4, m0_5 -# 1985| r1985_1(glval) = VariableAddress[c] : -# 1985| r1985_2(glval) = FunctionAddress[xvalue] : -# 1985| r1985_3(ValCat &&) = Call[xvalue] : func:r1985_2 -# 1985| m1985_4(unknown) = ^CallSideEffect : ~m1984_8 -# 1985| m1985_5(unknown) = Chi : total:m1984_8, partial:m1985_4 -# 1985| r1985_6(glval) = CopyValue : r1985_3 -# 1985| m1985_7(ValCat) = Store[?] : &:r1985_6, r0_6 -# 1985| m1985_8(unknown) = Chi : total:m1985_5, partial:m1985_7 +# 2032| r2032_1(glval) = VariableAddress[c] : +# 2032| r2032_2(glval) = FunctionAddress[xvalue] : +# 2032| r2032_3(ValCat &&) = Call[xvalue] : func:r2032_2 +# 2032| m2032_4(unknown) = ^CallSideEffect : ~m2031_8 +# 2032| m2032_5(unknown) = Chi : total:m2031_8, partial:m2032_4 +# 2032| r2032_6(glval) = CopyValue : r2032_3 +# 2032| m2032_7(ValCat) = Store[?] : &:r2032_6, r0_6 +# 2032| m2032_8(unknown) = Chi : total:m2032_5, partial:m2032_7 #-----| r0_7(glval) = VariableAddress[#temp0:0] : #-----| m0_8(ValCat) = Uninitialized[#temp0:0] : &:r0_7 #-----| r0_9(ValCat) = Load[#temp0:0] : &:r0_7, m0_8 -# 1986| r1986_1(glval) = VariableAddress[#temp1986:5] : -# 1986| r1986_2(glval) = VariableAddress[c] : -# 1986| r1986_3(glval) = FunctionAddress[prvalue] : -# 1986| r1986_4(ValCat) = Call[prvalue] : func:r1986_3 -# 1986| m1986_5(unknown) = ^CallSideEffect : ~m1985_8 -# 1986| m1986_6(unknown) = Chi : total:m1985_8, partial:m1986_5 -# 1986| m1986_7(ValCat) = Store[#temp1986:5] : &:r1986_1, r1986_4 -# 1986| m1986_8(ValCat) = Store[#temp1986:5] : &:r1986_1, r0_9 +# 2033| r2033_1(glval) = VariableAddress[#temp2033:5] : +# 2033| r2033_2(glval) = VariableAddress[c] : +# 2033| r2033_3(glval) = FunctionAddress[prvalue] : +# 2033| r2033_4(ValCat) = Call[prvalue] : func:r2033_3 +# 2033| m2033_5(unknown) = ^CallSideEffect : ~m2032_8 +# 2033| m2033_6(unknown) = Chi : total:m2032_8, partial:m2033_5 +# 2033| m2033_7(ValCat) = Store[#temp2033:5] : &:r2033_1, r2033_4 +# 2033| m2033_8(ValCat) = Store[#temp2033:5] : &:r2033_1, r0_9 #-----| r0_10(glval) = VariableAddress[#temp0:0] : #-----| m0_11(ValCat) = Uninitialized[#temp0:0] : &:r0_10 #-----| r0_12(ValCat) = Load[#temp0:0] : &:r0_10, m0_11 -# 1987| r1987_1(glval) = FunctionAddress[lvalue] : -# 1987| r1987_2(ValCat &) = Call[lvalue] : func:r1987_1 -# 1987| m1987_3(unknown) = ^CallSideEffect : ~m1986_6 -# 1987| m1987_4(unknown) = Chi : total:m1986_6, partial:m1987_3 -# 1987| r1987_5(glval) = CopyValue : r1987_2 -# 1987| m1987_6(ValCat) = Store[?] : &:r1987_5, r0_12 -# 1987| m1987_7(unknown) = Chi : total:m1987_4, partial:m1987_6 +# 2034| r2034_1(glval) = FunctionAddress[lvalue] : +# 2034| r2034_2(ValCat &) = Call[lvalue] : func:r2034_1 +# 2034| m2034_3(unknown) = ^CallSideEffect : ~m2033_6 +# 2034| m2034_4(unknown) = Chi : total:m2033_6, partial:m2034_3 +# 2034| r2034_5(glval) = CopyValue : r2034_2 +# 2034| m2034_6(ValCat) = Store[?] : &:r2034_5, r0_12 +# 2034| m2034_7(unknown) = Chi : total:m2034_4, partial:m2034_6 #-----| r0_13(glval) = VariableAddress[#temp0:0] : #-----| m0_14(ValCat) = Uninitialized[#temp0:0] : &:r0_13 #-----| r0_15(ValCat) = Load[#temp0:0] : &:r0_13, m0_14 -# 1988| r1988_1(glval) = FunctionAddress[xvalue] : -# 1988| r1988_2(ValCat &&) = Call[xvalue] : func:r1988_1 -# 1988| m1988_3(unknown) = ^CallSideEffect : ~m1987_7 -# 1988| m1988_4(unknown) = Chi : total:m1987_7, partial:m1988_3 -# 1988| r1988_5(glval) = CopyValue : r1988_2 -# 1988| m1988_6(ValCat) = Store[?] : &:r1988_5, r0_15 -# 1988| m1988_7(unknown) = Chi : total:m1988_4, partial:m1988_6 +# 2035| r2035_1(glval) = FunctionAddress[xvalue] : +# 2035| r2035_2(ValCat &&) = Call[xvalue] : func:r2035_1 +# 2035| m2035_3(unknown) = ^CallSideEffect : ~m2034_7 +# 2035| m2035_4(unknown) = Chi : total:m2034_7, partial:m2035_3 +# 2035| r2035_5(glval) = CopyValue : r2035_2 +# 2035| m2035_6(ValCat) = Store[?] : &:r2035_5, r0_15 +# 2035| m2035_7(unknown) = Chi : total:m2035_4, partial:m2035_6 #-----| r0_16(glval) = VariableAddress[#temp0:0] : #-----| m0_17(ValCat) = Uninitialized[#temp0:0] : &:r0_16 #-----| r0_18(ValCat) = Load[#temp0:0] : &:r0_16, m0_17 -# 1989| r1989_1(glval) = VariableAddress[#temp1989:5] : -# 1989| r1989_2(glval) = FunctionAddress[prvalue] : -# 1989| r1989_3(ValCat) = Call[prvalue] : func:r1989_2 -# 1989| m1989_4(unknown) = ^CallSideEffect : ~m1988_7 -# 1989| m1989_5(unknown) = Chi : total:m1988_7, partial:m1989_4 -# 1989| m1989_6(ValCat) = Store[#temp1989:5] : &:r1989_1, r1989_3 -# 1989| m1989_7(ValCat) = Store[#temp1989:5] : &:r1989_1, r0_18 -# 1990| v1990_1(void) = NoOp : -# 1981| v1981_5(void) = ReturnVoid : -# 1981| v1981_6(void) = AliasedUse : ~m1989_5 -# 1981| v1981_7(void) = ExitFunction : +# 2036| r2036_1(glval) = VariableAddress[#temp2036:5] : +# 2036| r2036_2(glval) = FunctionAddress[prvalue] : +# 2036| r2036_3(ValCat) = Call[prvalue] : func:r2036_2 +# 2036| m2036_4(unknown) = ^CallSideEffect : ~m2035_7 +# 2036| m2036_5(unknown) = Chi : total:m2035_7, partial:m2036_4 +# 2036| m2036_6(ValCat) = Store[#temp2036:5] : &:r2036_1, r2036_3 +# 2036| m2036_7(ValCat) = Store[#temp2036:5] : &:r2036_1, r0_18 +# 2037| v2037_1(void) = NoOp : +# 2028| v2028_5(void) = ReturnVoid : +# 2028| v2028_6(void) = AliasedUse : ~m2036_5 +# 2028| v2028_7(void) = ExitFunction : -# 1992| void SetStaticFuncPtr() -# 1992| Block 0 -# 1992| v1992_1(void) = EnterFunction : -# 1992| m1992_2(unknown) = AliasedDefinition : -# 1992| m1992_3(unknown) = InitializeNonLocal : -# 1992| m1992_4(unknown) = Chi : total:m1992_2, partial:m1992_3 -# 1993| r1993_1(glval) = VariableAddress[c] : -# 1993| m1993_2(C) = Uninitialized[c] : &:r1993_1 -# 1993| r1993_3(glval) = FunctionAddress[C] : -# 1993| v1993_4(void) = Call[C] : func:r1993_3, this:r1993_1 -# 1993| m1993_5(unknown) = ^CallSideEffect : ~m1992_4 -# 1993| m1993_6(unknown) = Chi : total:m1992_4, partial:m1993_5 -# 1993| m1993_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1993_1 -# 1993| m1993_8(C) = Chi : total:m1993_2, partial:m1993_7 -# 1994| r1994_1(glval<..(*)(..)>) = VariableAddress[pfn] : -# 1994| r1994_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : -# 1994| m1994_3(..(*)(..)) = Store[pfn] : &:r1994_1, r1994_2 -# 1995| r1995_1(glval) = VariableAddress[c] : -# 1995| r1995_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : -# 1995| r1995_3(glval<..(*)(..)>) = VariableAddress[pfn] : -# 1995| m1995_4(..(*)(..)) = Store[pfn] : &:r1995_3, r1995_2 -# 1996| v1996_1(void) = NoOp : -# 1996| r1996_2(glval) = VariableAddress[c] : -# 1996| r1996_3(glval) = FunctionAddress[~C] : -# 1996| v1996_4(void) = Call[~C] : func:r1996_3, this:r1996_2 -# 1996| m1996_5(unknown) = ^CallSideEffect : ~m1993_6 -# 1996| m1996_6(unknown) = Chi : total:m1993_6, partial:m1996_5 -# 1996| v1996_7(void) = ^IndirectReadSideEffect[-1] : &:r1996_2, m1993_8 -# 1996| m1996_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r1996_2 -# 1996| m1996_9(C) = Chi : total:m1993_8, partial:m1996_8 -# 1992| v1992_5(void) = ReturnVoid : -# 1992| v1992_6(void) = AliasedUse : ~m1996_6 -# 1992| v1992_7(void) = ExitFunction : +# 2039| void SetStaticFuncPtr() +# 2039| Block 0 +# 2039| v2039_1(void) = EnterFunction : +# 2039| m2039_2(unknown) = AliasedDefinition : +# 2039| m2039_3(unknown) = InitializeNonLocal : +# 2039| m2039_4(unknown) = Chi : total:m2039_2, partial:m2039_3 +# 2040| r2040_1(glval) = VariableAddress[c] : +# 2040| m2040_2(C) = Uninitialized[c] : &:r2040_1 +# 2040| r2040_3(glval) = FunctionAddress[C] : +# 2040| v2040_4(void) = Call[C] : func:r2040_3, this:r2040_1 +# 2040| m2040_5(unknown) = ^CallSideEffect : ~m2039_4 +# 2040| m2040_6(unknown) = Chi : total:m2039_4, partial:m2040_5 +# 2040| m2040_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r2040_1 +# 2040| m2040_8(C) = Chi : total:m2040_2, partial:m2040_7 +# 2041| r2041_1(glval<..(*)(..)>) = VariableAddress[pfn] : +# 2041| r2041_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : +# 2041| m2041_3(..(*)(..)) = Store[pfn] : &:r2041_1, r2041_2 +# 2042| r2042_1(glval) = VariableAddress[c] : +# 2042| r2042_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : +# 2042| r2042_3(glval<..(*)(..)>) = VariableAddress[pfn] : +# 2042| m2042_4(..(*)(..)) = Store[pfn] : &:r2042_3, r2042_2 +# 2043| v2043_1(void) = NoOp : +# 2043| r2043_2(glval) = VariableAddress[c] : +# 2043| r2043_3(glval) = FunctionAddress[~C] : +# 2043| v2043_4(void) = Call[~C] : func:r2043_3, this:r2043_2 +# 2043| m2043_5(unknown) = ^CallSideEffect : ~m2040_6 +# 2043| m2043_6(unknown) = Chi : total:m2040_6, partial:m2043_5 +# 2043| v2043_7(void) = ^IndirectReadSideEffect[-1] : &:r2043_2, m2040_8 +# 2043| m2043_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r2043_2 +# 2043| m2043_9(C) = Chi : total:m2040_8, partial:m2043_8 +# 2039| v2039_5(void) = ReturnVoid : +# 2039| v2039_6(void) = AliasedUse : ~m2043_6 +# 2039| v2039_7(void) = ExitFunction : -# 1998| void TernaryTestInt(bool, int, int, int) -# 1998| Block 0 -# 1998| v1998_1(void) = EnterFunction : -# 1998| m1998_2(unknown) = AliasedDefinition : -# 1998| m1998_3(unknown) = InitializeNonLocal : -# 1998| m1998_4(unknown) = Chi : total:m1998_2, partial:m1998_3 -# 1998| r1998_5(glval) = VariableAddress[a] : -# 1998| m1998_6(bool) = InitializeParameter[a] : &:r1998_5 -# 1998| r1998_7(glval) = VariableAddress[x] : -# 1998| m1998_8(int) = InitializeParameter[x] : &:r1998_7 -# 1998| r1998_9(glval) = VariableAddress[y] : -# 1998| m1998_10(int) = InitializeParameter[y] : &:r1998_9 -# 1998| r1998_11(glval) = VariableAddress[z] : -# 1998| m1998_12(int) = InitializeParameter[z] : &:r1998_11 -# 1999| r1999_1(glval) = VariableAddress[a] : -# 1999| r1999_2(bool) = Load[a] : &:r1999_1, m1998_6 -# 1999| v1999_3(void) = ConditionalBranch : r1999_2 +# 2045| void TernaryTestInt(bool, int, int, int) +# 2045| Block 0 +# 2045| v2045_1(void) = EnterFunction : +# 2045| m2045_2(unknown) = AliasedDefinition : +# 2045| m2045_3(unknown) = InitializeNonLocal : +# 2045| m2045_4(unknown) = Chi : total:m2045_2, partial:m2045_3 +# 2045| r2045_5(glval) = VariableAddress[a] : +# 2045| m2045_6(bool) = InitializeParameter[a] : &:r2045_5 +# 2045| r2045_7(glval) = VariableAddress[x] : +# 2045| m2045_8(int) = InitializeParameter[x] : &:r2045_7 +# 2045| r2045_9(glval) = VariableAddress[y] : +# 2045| m2045_10(int) = InitializeParameter[y] : &:r2045_9 +# 2045| r2045_11(glval) = VariableAddress[z] : +# 2045| m2045_12(int) = InitializeParameter[z] : &:r2045_11 +# 2046| r2046_1(glval) = VariableAddress[a] : +# 2046| r2046_2(bool) = Load[a] : &:r2046_1, m2045_6 +# 2046| v2046_3(void) = ConditionalBranch : r2046_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 1999| Block 1 -# 1999| m1999_4(int) = Phi : from 2:m1999_12, from 3:m1999_16 -# 1999| r1999_5(glval) = VariableAddress[#temp1999:9] : -# 1999| r1999_6(int) = Load[#temp1999:9] : &:r1999_5, m1999_4 -# 1999| r1999_7(glval) = VariableAddress[z] : -# 1999| m1999_8(int) = Store[z] : &:r1999_7, r1999_6 -# 2000| r2000_1(glval) = VariableAddress[a] : -# 2000| r2000_2(bool) = Load[a] : &:r2000_1, m1998_6 -# 2000| v2000_3(void) = ConditionalBranch : r2000_2 +# 2046| Block 1 +# 2046| m2046_4(int) = Phi : from 2:m2046_12, from 3:m2046_16 +# 2046| r2046_5(glval) = VariableAddress[#temp2046:9] : +# 2046| r2046_6(int) = Load[#temp2046:9] : &:r2046_5, m2046_4 +# 2046| r2046_7(glval) = VariableAddress[z] : +# 2046| m2046_8(int) = Store[z] : &:r2046_7, r2046_6 +# 2047| r2047_1(glval) = VariableAddress[a] : +# 2047| r2047_2(bool) = Load[a] : &:r2047_1, m2045_6 +# 2047| v2047_3(void) = ConditionalBranch : r2047_2 #-----| False -> Block 6 #-----| True -> Block 5 -# 1999| Block 2 -# 1999| r1999_9(glval) = VariableAddress[x] : -# 1999| r1999_10(int) = Load[x] : &:r1999_9, m1998_8 -# 1999| r1999_11(glval) = VariableAddress[#temp1999:9] : -# 1999| m1999_12(int) = Store[#temp1999:9] : &:r1999_11, r1999_10 +# 2046| Block 2 +# 2046| r2046_9(glval) = VariableAddress[x] : +# 2046| r2046_10(int) = Load[x] : &:r2046_9, m2045_8 +# 2046| r2046_11(glval) = VariableAddress[#temp2046:9] : +# 2046| m2046_12(int) = Store[#temp2046:9] : &:r2046_11, r2046_10 #-----| Goto -> Block 1 -# 1999| Block 3 -# 1999| r1999_13(glval) = VariableAddress[y] : -# 1999| r1999_14(int) = Load[y] : &:r1999_13, m1998_10 -# 1999| r1999_15(glval) = VariableAddress[#temp1999:9] : -# 1999| m1999_16(int) = Store[#temp1999:9] : &:r1999_15, r1999_14 +# 2046| Block 3 +# 2046| r2046_13(glval) = VariableAddress[y] : +# 2046| r2046_14(int) = Load[y] : &:r2046_13, m2045_10 +# 2046| r2046_15(glval) = VariableAddress[#temp2046:9] : +# 2046| m2046_16(int) = Store[#temp2046:9] : &:r2046_15, r2046_14 #-----| Goto -> Block 1 -# 2000| Block 4 -# 2000| m2000_4(int) = Phi : from 5:m2000_12, from 6:m2000_15 -# 2000| r2000_5(glval) = VariableAddress[#temp2000:9] : -# 2000| r2000_6(int) = Load[#temp2000:9] : &:r2000_5, m2000_4 -# 2000| r2000_7(glval) = VariableAddress[z] : -# 2000| m2000_8(int) = Store[z] : &:r2000_7, r2000_6 -# 2001| r2001_1(glval) = VariableAddress[a] : -# 2001| r2001_2(bool) = Load[a] : &:r2001_1, m1998_6 -# 2001| v2001_3(void) = ConditionalBranch : r2001_2 +# 2047| Block 4 +# 2047| m2047_4(int) = Phi : from 5:m2047_12, from 6:m2047_15 +# 2047| r2047_5(glval) = VariableAddress[#temp2047:9] : +# 2047| r2047_6(int) = Load[#temp2047:9] : &:r2047_5, m2047_4 +# 2047| r2047_7(glval) = VariableAddress[z] : +# 2047| m2047_8(int) = Store[z] : &:r2047_7, r2047_6 +# 2048| r2048_1(glval) = VariableAddress[a] : +# 2048| r2048_2(bool) = Load[a] : &:r2048_1, m2045_6 +# 2048| v2048_3(void) = ConditionalBranch : r2048_2 #-----| False -> Block 9 #-----| True -> Block 8 -# 2000| Block 5 -# 2000| r2000_9(glval) = VariableAddress[x] : -# 2000| r2000_10(int) = Load[x] : &:r2000_9, m1998_8 -# 2000| r2000_11(glval) = VariableAddress[#temp2000:9] : -# 2000| m2000_12(int) = Store[#temp2000:9] : &:r2000_11, r2000_10 +# 2047| Block 5 +# 2047| r2047_9(glval) = VariableAddress[x] : +# 2047| r2047_10(int) = Load[x] : &:r2047_9, m2045_8 +# 2047| r2047_11(glval) = VariableAddress[#temp2047:9] : +# 2047| m2047_12(int) = Store[#temp2047:9] : &:r2047_11, r2047_10 #-----| Goto -> Block 4 -# 2000| Block 6 -# 2000| r2000_13(int) = Constant[5] : -# 2000| r2000_14(glval) = VariableAddress[#temp2000:9] : -# 2000| m2000_15(int) = Store[#temp2000:9] : &:r2000_14, r2000_13 +# 2047| Block 6 +# 2047| r2047_13(int) = Constant[5] : +# 2047| r2047_14(glval) = VariableAddress[#temp2047:9] : +# 2047| m2047_15(int) = Store[#temp2047:9] : &:r2047_14, r2047_13 #-----| Goto -> Block 4 -# 2001| Block 7 -# 2001| m2001_4(int) = Phi : from 8:m2001_11, from 9:m2001_14 -# 2001| r2001_5(glval) = VariableAddress[#temp2001:9] : -# 2001| r2001_6(int) = Load[#temp2001:9] : &:r2001_5, m2001_4 -# 2001| r2001_7(glval) = VariableAddress[z] : -# 2001| m2001_8(int) = Store[z] : &:r2001_7, r2001_6 -# 2002| r2002_1(int) = Constant[7] : -# 2002| r2002_2(glval) = VariableAddress[a] : -# 2002| r2002_3(bool) = Load[a] : &:r2002_2, m1998_6 -# 2002| v2002_4(void) = ConditionalBranch : r2002_3 +# 2048| Block 7 +# 2048| m2048_4(int) = Phi : from 8:m2048_11, from 9:m2048_14 +# 2048| r2048_5(glval) = VariableAddress[#temp2048:9] : +# 2048| r2048_6(int) = Load[#temp2048:9] : &:r2048_5, m2048_4 +# 2048| r2048_7(glval) = VariableAddress[z] : +# 2048| m2048_8(int) = Store[z] : &:r2048_7, r2048_6 +# 2049| r2049_1(int) = Constant[7] : +# 2049| r2049_2(glval) = VariableAddress[a] : +# 2049| r2049_3(bool) = Load[a] : &:r2049_2, m2045_6 +# 2049| v2049_4(void) = ConditionalBranch : r2049_3 #-----| False -> Block 12 #-----| True -> Block 11 -# 2001| Block 8 -# 2001| r2001_9(int) = Constant[3] : -# 2001| r2001_10(glval) = VariableAddress[#temp2001:9] : -# 2001| m2001_11(int) = Store[#temp2001:9] : &:r2001_10, r2001_9 +# 2048| Block 8 +# 2048| r2048_9(int) = Constant[3] : +# 2048| r2048_10(glval) = VariableAddress[#temp2048:9] : +# 2048| m2048_11(int) = Store[#temp2048:9] : &:r2048_10, r2048_9 #-----| Goto -> Block 7 -# 2001| Block 9 -# 2001| r2001_12(int) = Constant[5] : -# 2001| r2001_13(glval) = VariableAddress[#temp2001:9] : -# 2001| m2001_14(int) = Store[#temp2001:9] : &:r2001_13, r2001_12 +# 2048| Block 9 +# 2048| r2048_12(int) = Constant[5] : +# 2048| r2048_13(glval) = VariableAddress[#temp2048:9] : +# 2048| m2048_14(int) = Store[#temp2048:9] : &:r2048_13, r2048_12 #-----| Goto -> Block 7 -# 2002| Block 10 -# 2002| m2002_5(glval) = Phi : from 11:m2002_12, from 12:m2002_15 -# 2002| r2002_6(glval) = VariableAddress[#temp2002:6] : -# 2002| r2002_7(glval) = Load[#temp2002:6] : &:r2002_6, m2002_5 -# 2002| m2002_8(int) = Store[?] : &:r2002_7, r2002_1 -# 2002| m2002_9(unknown) = Chi : total:m1998_4, partial:m2002_8 -# 2003| v2003_1(void) = NoOp : -# 1998| v1998_13(void) = ReturnVoid : -# 1998| v1998_14(void) = AliasedUse : ~m2002_9 -# 1998| v1998_15(void) = ExitFunction : +# 2049| Block 10 +# 2049| m2049_5(glval) = Phi : from 11:m2049_12, from 12:m2049_15 +# 2049| r2049_6(glval) = VariableAddress[#temp2049:6] : +# 2049| r2049_7(glval) = Load[#temp2049:6] : &:r2049_6, m2049_5 +# 2049| m2049_8(int) = Store[?] : &:r2049_7, r2049_1 +# 2049| m2049_9(unknown) = Chi : total:m2045_4, partial:m2049_8 +# 2050| v2050_1(void) = NoOp : +# 2045| v2045_13(void) = ReturnVoid : +# 2045| v2045_14(void) = AliasedUse : ~m2049_9 +# 2045| v2045_15(void) = ExitFunction : -# 2002| Block 11 -# 2002| r2002_10(glval) = VariableAddress[x] : -# 2002| r2002_11(glval) = VariableAddress[#temp2002:6] : -# 2002| m2002_12(glval) = Store[#temp2002:6] : &:r2002_11, r2002_10 +# 2049| Block 11 +# 2049| r2049_10(glval) = VariableAddress[x] : +# 2049| r2049_11(glval) = VariableAddress[#temp2049:6] : +# 2049| m2049_12(glval) = Store[#temp2049:6] : &:r2049_11, r2049_10 #-----| Goto -> Block 10 -# 2002| Block 12 -# 2002| r2002_13(glval) = VariableAddress[y] : -# 2002| r2002_14(glval) = VariableAddress[#temp2002:6] : -# 2002| m2002_15(glval) = Store[#temp2002:6] : &:r2002_14, r2002_13 +# 2049| Block 12 +# 2049| r2049_13(glval) = VariableAddress[y] : +# 2049| r2049_14(glval) = VariableAddress[#temp2049:6] : +# 2049| m2049_15(glval) = Store[#temp2049:6] : &:r2049_14, r2049_13 #-----| Goto -> Block 10 -# 2008| void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) -# 2008| Block 0 -# 2008| v2008_1(void) = EnterFunction : -# 2008| m2008_2(unknown) = AliasedDefinition : -# 2008| m2008_3(unknown) = InitializeNonLocal : -# 2008| m2008_4(unknown) = Chi : total:m2008_2, partial:m2008_3 -# 2008| r2008_5(glval) = VariableAddress[a] : -# 2008| m2008_6(bool) = InitializeParameter[a] : &:r2008_5 -# 2008| r2008_7(glval) = VariableAddress[x] : -# 2008| m2008_8(TernaryPodObj) = InitializeParameter[x] : &:r2008_7 -# 2008| r2008_9(glval) = VariableAddress[y] : -# 2008| m2008_10(TernaryPodObj) = InitializeParameter[y] : &:r2008_9 -# 2008| r2008_11(glval) = VariableAddress[z] : -# 2008| m2008_12(TernaryPodObj) = InitializeParameter[z] : &:r2008_11 -# 2009| r2009_1(glval) = VariableAddress[a] : -# 2009| r2009_2(bool) = Load[a] : &:r2009_1, m2008_6 -# 2009| v2009_3(void) = ConditionalBranch : r2009_2 +# 2055| void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) +# 2055| Block 0 +# 2055| v2055_1(void) = EnterFunction : +# 2055| m2055_2(unknown) = AliasedDefinition : +# 2055| m2055_3(unknown) = InitializeNonLocal : +# 2055| m2055_4(unknown) = Chi : total:m2055_2, partial:m2055_3 +# 2055| r2055_5(glval) = VariableAddress[a] : +# 2055| m2055_6(bool) = InitializeParameter[a] : &:r2055_5 +# 2055| r2055_7(glval) = VariableAddress[x] : +# 2055| m2055_8(TernaryPodObj) = InitializeParameter[x] : &:r2055_7 +# 2055| r2055_9(glval) = VariableAddress[y] : +# 2055| m2055_10(TernaryPodObj) = InitializeParameter[y] : &:r2055_9 +# 2055| r2055_11(glval) = VariableAddress[z] : +# 2055| m2055_12(TernaryPodObj) = InitializeParameter[z] : &:r2055_11 +# 2056| r2056_1(glval) = VariableAddress[a] : +# 2056| r2056_2(bool) = Load[a] : &:r2056_1, m2055_6 +# 2056| v2056_3(void) = ConditionalBranch : r2056_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2009| Block 1 -# 2009| m2009_4(TernaryPodObj) = Phi : from 2:m2009_12, from 3:m2009_16 -# 2009| r2009_5(glval) = VariableAddress[#temp2009:9] : -# 2009| r2009_6(TernaryPodObj) = Load[#temp2009:9] : &:r2009_5, m2009_4 -# 2009| r2009_7(glval) = VariableAddress[z] : -# 2009| m2009_8(TernaryPodObj) = Store[z] : &:r2009_7, r2009_6 -# 2010| r2010_1(glval) = VariableAddress[#temp2010:9] : -# 2010| r2010_2(glval) = VariableAddress[a] : -# 2010| r2010_3(bool) = Load[a] : &:r2010_2, m2008_6 -# 2010| v2010_4(void) = ConditionalBranch : r2010_3 +# 2056| Block 1 +# 2056| m2056_4(TernaryPodObj) = Phi : from 2:m2056_12, from 3:m2056_16 +# 2056| r2056_5(glval) = VariableAddress[#temp2056:9] : +# 2056| r2056_6(TernaryPodObj) = Load[#temp2056:9] : &:r2056_5, m2056_4 +# 2056| r2056_7(glval) = VariableAddress[z] : +# 2056| m2056_8(TernaryPodObj) = Store[z] : &:r2056_7, r2056_6 +# 2057| r2057_1(glval) = VariableAddress[#temp2057:9] : +# 2057| r2057_2(glval) = VariableAddress[a] : +# 2057| r2057_3(bool) = Load[a] : &:r2057_2, m2055_6 +# 2057| v2057_4(void) = ConditionalBranch : r2057_3 #-----| False -> Block 6 #-----| True -> Block 5 -# 2009| Block 2 -# 2009| r2009_9(glval) = VariableAddress[x] : -# 2009| r2009_10(TernaryPodObj) = Load[x] : &:r2009_9, m2008_8 -# 2009| r2009_11(glval) = VariableAddress[#temp2009:9] : -# 2009| m2009_12(TernaryPodObj) = Store[#temp2009:9] : &:r2009_11, r2009_10 +# 2056| Block 2 +# 2056| r2056_9(glval) = VariableAddress[x] : +# 2056| r2056_10(TernaryPodObj) = Load[x] : &:r2056_9, m2055_8 +# 2056| r2056_11(glval) = VariableAddress[#temp2056:9] : +# 2056| m2056_12(TernaryPodObj) = Store[#temp2056:9] : &:r2056_11, r2056_10 #-----| Goto -> Block 1 -# 2009| Block 3 -# 2009| r2009_13(glval) = VariableAddress[y] : -# 2009| r2009_14(TernaryPodObj) = Load[y] : &:r2009_13, m2008_10 -# 2009| r2009_15(glval) = VariableAddress[#temp2009:9] : -# 2009| m2009_16(TernaryPodObj) = Store[#temp2009:9] : &:r2009_15, r2009_14 +# 2056| Block 3 +# 2056| r2056_13(glval) = VariableAddress[y] : +# 2056| r2056_14(TernaryPodObj) = Load[y] : &:r2056_13, m2055_10 +# 2056| r2056_15(glval) = VariableAddress[#temp2056:9] : +# 2056| m2056_16(TernaryPodObj) = Store[#temp2056:9] : &:r2056_15, r2056_14 #-----| Goto -> Block 1 -# 2010| Block 4 -# 2010| m2010_5(TernaryPodObj) = Phi : from 5:m2010_18, from 6:m2010_24 -# 2010| r2010_6(glval) = VariableAddress[#temp2010:9] : -# 2010| r2010_7(TernaryPodObj) = Load[#temp2010:9] : &:r2010_6, m2010_5 -# 2010| m2010_8(TernaryPodObj) = Store[#temp2010:9] : &:r2010_1, r2010_7 -# 2010| r2010_9(TernaryPodObj) = Load[#temp2010:9] : &:r2010_1, m2010_8 -# 2010| r2010_10(glval) = VariableAddress[z] : -# 2010| m2010_11(TernaryPodObj) = Store[z] : &:r2010_10, r2010_9 -# 2011| r2011_1(glval) = VariableAddress[#temp2011:9] : -# 2011| r2011_2(glval) = VariableAddress[a] : -# 2011| r2011_3(bool) = Load[a] : &:r2011_2, m2008_6 -# 2011| v2011_4(void) = ConditionalBranch : r2011_3 +# 2057| Block 4 +# 2057| m2057_5(TernaryPodObj) = Phi : from 5:m2057_18, from 6:m2057_24 +# 2057| r2057_6(glval) = VariableAddress[#temp2057:9] : +# 2057| r2057_7(TernaryPodObj) = Load[#temp2057:9] : &:r2057_6, m2057_5 +# 2057| m2057_8(TernaryPodObj) = Store[#temp2057:9] : &:r2057_1, r2057_7 +# 2057| r2057_9(TernaryPodObj) = Load[#temp2057:9] : &:r2057_1, m2057_8 +# 2057| r2057_10(glval) = VariableAddress[z] : +# 2057| m2057_11(TernaryPodObj) = Store[z] : &:r2057_10, r2057_9 +# 2058| r2058_1(glval) = VariableAddress[#temp2058:9] : +# 2058| r2058_2(glval) = VariableAddress[a] : +# 2058| r2058_3(bool) = Load[a] : &:r2058_2, m2055_6 +# 2058| v2058_4(void) = ConditionalBranch : r2058_3 #-----| False -> Block 9 #-----| True -> Block 8 -# 2010| Block 5 -# 2010| r2010_12(glval) = VariableAddress[#temp2010:13] : -# 2010| r2010_13(glval) = VariableAddress[x] : -# 2010| r2010_14(TernaryPodObj) = Load[x] : &:r2010_13, m2008_8 -# 2010| m2010_15(TernaryPodObj) = Store[#temp2010:13] : &:r2010_12, r2010_14 -# 2010| r2010_16(TernaryPodObj) = Load[#temp2010:13] : &:r2010_12, m2010_15 -# 2010| r2010_17(glval) = VariableAddress[#temp2010:9] : -# 2010| m2010_18(TernaryPodObj) = Store[#temp2010:9] : &:r2010_17, r2010_16 +# 2057| Block 5 +# 2057| r2057_12(glval) = VariableAddress[#temp2057:13] : +# 2057| r2057_13(glval) = VariableAddress[x] : +# 2057| r2057_14(TernaryPodObj) = Load[x] : &:r2057_13, m2055_8 +# 2057| m2057_15(TernaryPodObj) = Store[#temp2057:13] : &:r2057_12, r2057_14 +# 2057| r2057_16(TernaryPodObj) = Load[#temp2057:13] : &:r2057_12, m2057_15 +# 2057| r2057_17(glval) = VariableAddress[#temp2057:9] : +# 2057| m2057_18(TernaryPodObj) = Store[#temp2057:9] : &:r2057_17, r2057_16 #-----| Goto -> Block 4 -# 2010| Block 6 -# 2010| r2010_19(glval) = VariableAddress[#temp2010:17] : -# 2010| r2010_20(TernaryPodObj) = Constant[0] : -# 2010| m2010_21(TernaryPodObj) = Store[#temp2010:17] : &:r2010_19, r2010_20 -# 2010| r2010_22(TernaryPodObj) = Load[#temp2010:17] : &:r2010_19, m2010_21 -# 2010| r2010_23(glval) = VariableAddress[#temp2010:9] : -# 2010| m2010_24(TernaryPodObj) = Store[#temp2010:9] : &:r2010_23, r2010_22 +# 2057| Block 6 +# 2057| r2057_19(glval) = VariableAddress[#temp2057:17] : +# 2057| r2057_20(TernaryPodObj) = Constant[0] : +# 2057| m2057_21(TernaryPodObj) = Store[#temp2057:17] : &:r2057_19, r2057_20 +# 2057| r2057_22(TernaryPodObj) = Load[#temp2057:17] : &:r2057_19, m2057_21 +# 2057| r2057_23(glval) = VariableAddress[#temp2057:9] : +# 2057| m2057_24(TernaryPodObj) = Store[#temp2057:9] : &:r2057_23, r2057_22 #-----| Goto -> Block 4 -# 2011| Block 7 -# 2011| m2011_5(TernaryPodObj) = Phi : from 8:m2011_17, from 9:m2011_23 -# 2011| r2011_6(glval) = VariableAddress[#temp2011:9] : -# 2011| r2011_7(TernaryPodObj) = Load[#temp2011:9] : &:r2011_6, m2011_5 -# 2011| m2011_8(TernaryPodObj) = Store[#temp2011:9] : &:r2011_1, r2011_7 -# 2011| r2011_9(TernaryPodObj) = Load[#temp2011:9] : &:r2011_1, m2011_8 -# 2011| r2011_10(glval) = VariableAddress[z] : -# 2011| m2011_11(TernaryPodObj) = Store[z] : &:r2011_10, r2011_9 -# 2012| r2012_1(glval) = VariableAddress[#temp2012:23] : -# 2012| r2012_2(TernaryPodObj) = Constant[0] : -# 2012| m2012_3(TernaryPodObj) = Store[#temp2012:23] : &:r2012_1, r2012_2 -# 2012| r2012_4(TernaryPodObj) = Load[#temp2012:23] : &:r2012_1, m2012_3 -# 2012| r2012_5(glval) = VariableAddress[a] : -# 2012| r2012_6(bool) = Load[a] : &:r2012_5, m2008_6 -# 2012| v2012_7(void) = ConditionalBranch : r2012_6 +# 2058| Block 7 +# 2058| m2058_5(TernaryPodObj) = Phi : from 8:m2058_17, from 9:m2058_23 +# 2058| r2058_6(glval) = VariableAddress[#temp2058:9] : +# 2058| r2058_7(TernaryPodObj) = Load[#temp2058:9] : &:r2058_6, m2058_5 +# 2058| m2058_8(TernaryPodObj) = Store[#temp2058:9] : &:r2058_1, r2058_7 +# 2058| r2058_9(TernaryPodObj) = Load[#temp2058:9] : &:r2058_1, m2058_8 +# 2058| r2058_10(glval) = VariableAddress[z] : +# 2058| m2058_11(TernaryPodObj) = Store[z] : &:r2058_10, r2058_9 +# 2059| r2059_1(glval) = VariableAddress[#temp2059:23] : +# 2059| r2059_2(TernaryPodObj) = Constant[0] : +# 2059| m2059_3(TernaryPodObj) = Store[#temp2059:23] : &:r2059_1, r2059_2 +# 2059| r2059_4(TernaryPodObj) = Load[#temp2059:23] : &:r2059_1, m2059_3 +# 2059| r2059_5(glval) = VariableAddress[a] : +# 2059| r2059_6(bool) = Load[a] : &:r2059_5, m2055_6 +# 2059| v2059_7(void) = ConditionalBranch : r2059_6 #-----| False -> Block 12 #-----| True -> Block 11 -# 2011| Block 8 -# 2011| r2011_12(glval) = VariableAddress[#temp2011:13] : -# 2011| r2011_13(TernaryPodObj) = Constant[0] : -# 2011| m2011_14(TernaryPodObj) = Store[#temp2011:13] : &:r2011_12, r2011_13 -# 2011| r2011_15(TernaryPodObj) = Load[#temp2011:13] : &:r2011_12, m2011_14 -# 2011| r2011_16(glval) = VariableAddress[#temp2011:9] : -# 2011| m2011_17(TernaryPodObj) = Store[#temp2011:9] : &:r2011_16, r2011_15 +# 2058| Block 8 +# 2058| r2058_12(glval) = VariableAddress[#temp2058:13] : +# 2058| r2058_13(TernaryPodObj) = Constant[0] : +# 2058| m2058_14(TernaryPodObj) = Store[#temp2058:13] : &:r2058_12, r2058_13 +# 2058| r2058_15(TernaryPodObj) = Load[#temp2058:13] : &:r2058_12, m2058_14 +# 2058| r2058_16(glval) = VariableAddress[#temp2058:9] : +# 2058| m2058_17(TernaryPodObj) = Store[#temp2058:9] : &:r2058_16, r2058_15 #-----| Goto -> Block 7 -# 2011| Block 9 -# 2011| r2011_18(glval) = VariableAddress[#temp2011:31] : -# 2011| r2011_19(TernaryPodObj) = Constant[0] : -# 2011| m2011_20(TernaryPodObj) = Store[#temp2011:31] : &:r2011_18, r2011_19 -# 2011| r2011_21(TernaryPodObj) = Load[#temp2011:31] : &:r2011_18, m2011_20 -# 2011| r2011_22(glval) = VariableAddress[#temp2011:9] : -# 2011| m2011_23(TernaryPodObj) = Store[#temp2011:9] : &:r2011_22, r2011_21 +# 2058| Block 9 +# 2058| r2058_18(glval) = VariableAddress[#temp2058:31] : +# 2058| r2058_19(TernaryPodObj) = Constant[0] : +# 2058| m2058_20(TernaryPodObj) = Store[#temp2058:31] : &:r2058_18, r2058_19 +# 2058| r2058_21(TernaryPodObj) = Load[#temp2058:31] : &:r2058_18, m2058_20 +# 2058| r2058_22(glval) = VariableAddress[#temp2058:9] : +# 2058| m2058_23(TernaryPodObj) = Store[#temp2058:9] : &:r2058_22, r2058_21 #-----| Goto -> Block 7 -# 2012| Block 10 -# 2012| m2012_8(TernaryPodObj) = Phi : from 11:m2012_18, from 12:m2012_22 -# 2012| r2012_9(glval) = VariableAddress[#temp2012:10] : -# 2012| r2012_10(TernaryPodObj) = Load[#temp2012:10] : &:r2012_9, m2012_8 -# 2012| r2012_11(glval) = VariableAddress[z] : -# 2012| m2012_12(TernaryPodObj) = Store[z] : &:r2012_11, r2012_10 -# 2012| r2012_13(glval) = CopyValue : r2012_11 -# 2012| m2012_14(TernaryPodObj) = Store[?] : &:r2012_13, r2012_4 -# 2013| v2013_1(void) = NoOp : -# 2008| v2008_13(void) = ReturnVoid : -# 2008| v2008_14(void) = AliasedUse : m2008_3 -# 2008| v2008_15(void) = ExitFunction : +# 2059| Block 10 +# 2059| m2059_8(TernaryPodObj) = Phi : from 11:m2059_18, from 12:m2059_22 +# 2059| r2059_9(glval) = VariableAddress[#temp2059:10] : +# 2059| r2059_10(TernaryPodObj) = Load[#temp2059:10] : &:r2059_9, m2059_8 +# 2059| r2059_11(glval) = VariableAddress[z] : +# 2059| m2059_12(TernaryPodObj) = Store[z] : &:r2059_11, r2059_10 +# 2059| r2059_13(glval) = CopyValue : r2059_11 +# 2059| m2059_14(TernaryPodObj) = Store[?] : &:r2059_13, r2059_4 +# 2060| v2060_1(void) = NoOp : +# 2055| v2055_13(void) = ReturnVoid : +# 2055| v2055_14(void) = AliasedUse : m2055_3 +# 2055| v2055_15(void) = ExitFunction : -# 2012| Block 11 -# 2012| r2012_15(glval) = VariableAddress[x] : -# 2012| r2012_16(TernaryPodObj) = Load[x] : &:r2012_15, m2008_8 -# 2012| r2012_17(glval) = VariableAddress[#temp2012:10] : -# 2012| m2012_18(TernaryPodObj) = Store[#temp2012:10] : &:r2012_17, r2012_16 +# 2059| Block 11 +# 2059| r2059_15(glval) = VariableAddress[x] : +# 2059| r2059_16(TernaryPodObj) = Load[x] : &:r2059_15, m2055_8 +# 2059| r2059_17(glval) = VariableAddress[#temp2059:10] : +# 2059| m2059_18(TernaryPodObj) = Store[#temp2059:10] : &:r2059_17, r2059_16 #-----| Goto -> Block 10 -# 2012| Block 12 -# 2012| r2012_19(glval) = VariableAddress[y] : -# 2012| r2012_20(TernaryPodObj) = Load[y] : &:r2012_19, m2008_10 -# 2012| r2012_21(glval) = VariableAddress[#temp2012:10] : -# 2012| m2012_22(TernaryPodObj) = Store[#temp2012:10] : &:r2012_21, r2012_20 +# 2059| Block 12 +# 2059| r2059_19(glval) = VariableAddress[y] : +# 2059| r2059_20(TernaryPodObj) = Load[y] : &:r2059_19, m2055_10 +# 2059| r2059_21(glval) = VariableAddress[#temp2059:10] : +# 2059| m2059_22(TernaryPodObj) = Store[#temp2059:10] : &:r2059_21, r2059_20 #-----| Goto -> Block 10 -# 2015| TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) -# 2015| Block 0 -# 2015| v2015_1(void) = EnterFunction : -# 2015| m2015_2(unknown) = AliasedDefinition : -# 2015| m2015_3(unknown) = InitializeNonLocal : -# 2015| m2015_4(unknown) = Chi : total:m2015_2, partial:m2015_3 -# 2015| r2015_5(glval) = VariableAddress[#this] : -# 2015| m2015_6(glval) = InitializeParameter[#this] : &:r2015_5 -# 2015| r2015_7(glval) = Load[#this] : &:r2015_5, m2015_6 -# 2015| m2015_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2015_7 +# 2062| TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) +# 2062| Block 0 +# 2062| v2062_1(void) = EnterFunction : +# 2062| m2062_2(unknown) = AliasedDefinition : +# 2062| m2062_3(unknown) = InitializeNonLocal : +# 2062| m2062_4(unknown) = Chi : total:m2062_2, partial:m2062_3 +# 2062| r2062_5(glval) = VariableAddress[#this] : +# 2062| m2062_6(glval) = InitializeParameter[#this] : &:r2062_5 +# 2062| r2062_7(glval) = Load[#this] : &:r2062_5, m2062_6 +# 2062| m2062_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(TernaryNonPodObj &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(TernaryNonPodObj &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 #-----| r0_5(glval) = VariableAddress[#return] : #-----| r0_6(glval) = VariableAddress[#this] : -#-----| r0_7(TernaryNonPodObj *) = Load[#this] : &:r0_6, m2015_6 +#-----| r0_7(TernaryNonPodObj *) = Load[#this] : &:r0_6, m2062_6 #-----| r0_8(glval) = CopyValue : r0_7 #-----| r0_9(TernaryNonPodObj &) = CopyValue : r0_8 #-----| m0_10(TernaryNonPodObj &) = Store[#return] : &:r0_5, r0_9 -# 2015| v2015_9(void) = ReturnIndirection[#this] : &:r2015_7, m2015_8 +# 2062| v2062_9(void) = ReturnIndirection[#this] : &:r2062_7, m2062_8 #-----| v0_11(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 2015| r2015_10(glval) = VariableAddress[#return] : -# 2015| v2015_11(void) = ReturnValue : &:r2015_10, m0_10 -# 2015| v2015_12(void) = AliasedUse : m2015_3 -# 2015| v2015_13(void) = ExitFunction : +# 2062| r2062_10(glval) = VariableAddress[#return] : +# 2062| v2062_11(void) = ReturnValue : &:r2062_10, m0_10 +# 2062| v2062_12(void) = AliasedUse : m2062_3 +# 2062| v2062_13(void) = ExitFunction : -# 2015| void TernaryNonPodObj::TernaryNonPodObj() -# 2015| Block 0 -# 2015| v2015_1(void) = EnterFunction : -# 2015| m2015_2(unknown) = AliasedDefinition : -# 2015| m2015_3(unknown) = InitializeNonLocal : -# 2015| m2015_4(unknown) = Chi : total:m2015_2, partial:m2015_3 -# 2015| r2015_5(glval) = VariableAddress[#this] : -# 2015| m2015_6(glval) = InitializeParameter[#this] : &:r2015_5 -# 2015| r2015_7(glval) = Load[#this] : &:r2015_5, m2015_6 -# 2015| m2015_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2015_7 -# 2015| v2015_9(void) = NoOp : -# 2015| v2015_10(void) = ReturnIndirection[#this] : &:r2015_7, m2015_8 -# 2015| v2015_11(void) = ReturnVoid : -# 2015| v2015_12(void) = AliasedUse : m2015_3 -# 2015| v2015_13(void) = ExitFunction : +# 2062| void TernaryNonPodObj::TernaryNonPodObj() +# 2062| Block 0 +# 2062| v2062_1(void) = EnterFunction : +# 2062| m2062_2(unknown) = AliasedDefinition : +# 2062| m2062_3(unknown) = InitializeNonLocal : +# 2062| m2062_4(unknown) = Chi : total:m2062_2, partial:m2062_3 +# 2062| r2062_5(glval) = VariableAddress[#this] : +# 2062| m2062_6(glval) = InitializeParameter[#this] : &:r2062_5 +# 2062| r2062_7(glval) = Load[#this] : &:r2062_5, m2062_6 +# 2062| m2062_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_7 +# 2062| v2062_9(void) = NoOp : +# 2062| v2062_10(void) = ReturnIndirection[#this] : &:r2062_7, m2062_8 +# 2062| v2062_11(void) = ReturnVoid : +# 2062| v2062_12(void) = AliasedUse : m2062_3 +# 2062| v2062_13(void) = ExitFunction : -# 2015| void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) -# 2015| Block 0 -# 2015| v2015_1(void) = EnterFunction : -# 2015| m2015_2(unknown) = AliasedDefinition : -# 2015| m2015_3(unknown) = InitializeNonLocal : -# 2015| m2015_4(unknown) = Chi : total:m2015_2, partial:m2015_3 -# 2015| r2015_5(glval) = VariableAddress[#this] : -# 2015| m2015_6(glval) = InitializeParameter[#this] : &:r2015_5 -# 2015| r2015_7(glval) = Load[#this] : &:r2015_5, m2015_6 -# 2015| m2015_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2015_7 +# 2062| void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) +# 2062| Block 0 +# 2062| v2062_1(void) = EnterFunction : +# 2062| m2062_2(unknown) = AliasedDefinition : +# 2062| m2062_3(unknown) = InitializeNonLocal : +# 2062| m2062_4(unknown) = Chi : total:m2062_2, partial:m2062_3 +# 2062| r2062_5(glval) = VariableAddress[#this] : +# 2062| m2062_6(glval) = InitializeParameter[#this] : &:r2062_5 +# 2062| r2062_7(glval) = Load[#this] : &:r2062_5, m2062_6 +# 2062| m2062_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(TernaryNonPodObj &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(TernaryNonPodObj &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 2015| v2015_9(void) = NoOp : -# 2015| v2015_10(void) = ReturnIndirection[#this] : &:r2015_7, m2015_8 +# 2062| v2062_9(void) = NoOp : +# 2062| v2062_10(void) = ReturnIndirection[#this] : &:r2062_7, m2062_8 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 2015| v2015_11(void) = ReturnVoid : -# 2015| v2015_12(void) = AliasedUse : m2015_3 -# 2015| v2015_13(void) = ExitFunction : +# 2062| v2062_11(void) = ReturnVoid : +# 2062| v2062_12(void) = AliasedUse : m2062_3 +# 2062| v2062_13(void) = ExitFunction : -# 2016| void TernaryNonPodObj::~TernaryNonPodObj() -# 2016| Block 0 -# 2016| v2016_1(void) = EnterFunction : -# 2016| m2016_2(unknown) = AliasedDefinition : -# 2016| m2016_3(unknown) = InitializeNonLocal : -# 2016| m2016_4(unknown) = Chi : total:m2016_2, partial:m2016_3 -# 2016| r2016_5(glval) = VariableAddress[#this] : -# 2016| m2016_6(glval) = InitializeParameter[#this] : &:r2016_5 -# 2016| r2016_7(glval) = Load[#this] : &:r2016_5, m2016_6 -# 2016| m2016_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2016_7 -# 2016| v2016_9(void) = NoOp : -# 2016| v2016_10(void) = ReturnIndirection[#this] : &:r2016_7, m2016_8 -# 2016| v2016_11(void) = ReturnVoid : -# 2016| v2016_12(void) = AliasedUse : m2016_3 -# 2016| v2016_13(void) = ExitFunction : +# 2063| void TernaryNonPodObj::~TernaryNonPodObj() +# 2063| Block 0 +# 2063| v2063_1(void) = EnterFunction : +# 2063| m2063_2(unknown) = AliasedDefinition : +# 2063| m2063_3(unknown) = InitializeNonLocal : +# 2063| m2063_4(unknown) = Chi : total:m2063_2, partial:m2063_3 +# 2063| r2063_5(glval) = VariableAddress[#this] : +# 2063| m2063_6(glval) = InitializeParameter[#this] : &:r2063_5 +# 2063| r2063_7(glval) = Load[#this] : &:r2063_5, m2063_6 +# 2063| m2063_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2063_7 +# 2063| v2063_9(void) = NoOp : +# 2063| v2063_10(void) = ReturnIndirection[#this] : &:r2063_7, m2063_8 +# 2063| v2063_11(void) = ReturnVoid : +# 2063| v2063_12(void) = AliasedUse : m2063_3 +# 2063| v2063_13(void) = ExitFunction : -# 2019| void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) -# 2019| Block 0 -# 2019| v2019_1(void) = EnterFunction : -# 2019| m2019_2(unknown) = AliasedDefinition : -# 2019| m2019_3(unknown) = InitializeNonLocal : -# 2019| m2019_4(unknown) = Chi : total:m2019_2, partial:m2019_3 -# 2019| r2019_5(glval) = VariableAddress[a] : -# 2019| m2019_6(bool) = InitializeParameter[a] : &:r2019_5 -# 2019| r2019_7(glval) = VariableAddress[x] : -# 2019| m2019_8(TernaryNonPodObj) = InitializeParameter[x] : &:r2019_7 -# 2019| r2019_9(glval) = VariableAddress[y] : -# 2019| m2019_10(TernaryNonPodObj) = InitializeParameter[y] : &:r2019_9 -# 2019| r2019_11(glval) = VariableAddress[z] : -# 2019| m2019_12(TernaryNonPodObj) = InitializeParameter[z] : &:r2019_11 -# 2020| r2020_1(glval) = VariableAddress[z] : -# 2020| r2020_2(glval) = FunctionAddress[operator=] : -# 2020| r2020_3(glval) = VariableAddress[a] : -# 2020| r2020_4(bool) = Load[a] : &:r2020_3, m2019_6 -# 2020| v2020_5(void) = ConditionalBranch : r2020_4 +# 2066| void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) +# 2066| Block 0 +# 2066| v2066_1(void) = EnterFunction : +# 2066| m2066_2(unknown) = AliasedDefinition : +# 2066| m2066_3(unknown) = InitializeNonLocal : +# 2066| m2066_4(unknown) = Chi : total:m2066_2, partial:m2066_3 +# 2066| r2066_5(glval) = VariableAddress[a] : +# 2066| m2066_6(bool) = InitializeParameter[a] : &:r2066_5 +# 2066| r2066_7(glval) = VariableAddress[x] : +# 2066| m2066_8(TernaryNonPodObj) = InitializeParameter[x] : &:r2066_7 +# 2066| r2066_9(glval) = VariableAddress[y] : +# 2066| m2066_10(TernaryNonPodObj) = InitializeParameter[y] : &:r2066_9 +# 2066| r2066_11(glval) = VariableAddress[z] : +# 2066| m2066_12(TernaryNonPodObj) = InitializeParameter[z] : &:r2066_11 +# 2067| r2067_1(glval) = VariableAddress[z] : +# 2067| r2067_2(glval) = FunctionAddress[operator=] : +# 2067| r2067_3(glval) = VariableAddress[a] : +# 2067| r2067_4(bool) = Load[a] : &:r2067_3, m2066_6 +# 2067| v2067_5(void) = ConditionalBranch : r2067_4 #-----| False -> Block 3 #-----| True -> Block 2 -# 2020| Block 1 -# 2020| m2020_6(glval) = Phi : from 2:m2020_21, from 3:m2020_24 -# 2020| r2020_7(glval) = VariableAddress[#temp2020:9] : -# 2020| r2020_8(glval) = Load[#temp2020:9] : &:r2020_7, m2020_6 -# 2020| r2020_9(glval) = Convert : r2020_8 -# 2020| r2020_10(TernaryNonPodObj &) = CopyValue : r2020_9 -# 2020| r2020_11(TernaryNonPodObj &) = Call[operator=] : func:r2020_2, this:r2020_1, 0:r2020_10 -# 2020| m2020_12(unknown) = ^CallSideEffect : ~m2019_4 -# 2020| m2020_13(unknown) = Chi : total:m2019_4, partial:m2020_12 -# 2020| v2020_14(void) = ^IndirectReadSideEffect[-1] : &:r2020_1, m2019_12 -# 2020| v2020_15(void) = ^BufferReadSideEffect[0] : &:r2020_10, ~m2020_13 -# 2020| m2020_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2020_1 -# 2020| m2020_17(TernaryNonPodObj) = Chi : total:m2019_12, partial:m2020_16 -# 2020| r2020_18(glval) = CopyValue : r2020_11 -# 2021| r2021_1(glval) = VariableAddress[z] : -# 2021| r2021_2(glval) = FunctionAddress[operator=] : -# 2021| r2021_3(glval) = VariableAddress[#temp2021:9] : -# 2021| r2021_4(glval) = VariableAddress[a] : -# 2021| r2021_5(bool) = Load[a] : &:r2021_4, m2019_6 -# 2021| v2021_6(void) = ConditionalBranch : r2021_5 +# 2067| Block 1 +# 2067| m2067_6(glval) = Phi : from 2:m2067_21, from 3:m2067_24 +# 2067| r2067_7(glval) = VariableAddress[#temp2067:9] : +# 2067| r2067_8(glval) = Load[#temp2067:9] : &:r2067_7, m2067_6 +# 2067| r2067_9(glval) = Convert : r2067_8 +# 2067| r2067_10(TernaryNonPodObj &) = CopyValue : r2067_9 +# 2067| r2067_11(TernaryNonPodObj &) = Call[operator=] : func:r2067_2, this:r2067_1, 0:r2067_10 +# 2067| m2067_12(unknown) = ^CallSideEffect : ~m2066_4 +# 2067| m2067_13(unknown) = Chi : total:m2066_4, partial:m2067_12 +# 2067| v2067_14(void) = ^IndirectReadSideEffect[-1] : &:r2067_1, m2066_12 +# 2067| v2067_15(void) = ^BufferReadSideEffect[0] : &:r2067_10, ~m2067_13 +# 2067| m2067_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2067_1 +# 2067| m2067_17(TernaryNonPodObj) = Chi : total:m2066_12, partial:m2067_16 +# 2067| r2067_18(glval) = CopyValue : r2067_11 +# 2068| r2068_1(glval) = VariableAddress[z] : +# 2068| r2068_2(glval) = FunctionAddress[operator=] : +# 2068| r2068_3(glval) = VariableAddress[#temp2068:9] : +# 2068| r2068_4(glval) = VariableAddress[a] : +# 2068| r2068_5(bool) = Load[a] : &:r2068_4, m2066_6 +# 2068| v2068_6(void) = ConditionalBranch : r2068_5 #-----| False -> Block 6 #-----| True -> Block 5 -# 2020| Block 2 -# 2020| r2020_19(glval) = VariableAddress[x] : -# 2020| r2020_20(glval) = VariableAddress[#temp2020:9] : -# 2020| m2020_21(glval) = Store[#temp2020:9] : &:r2020_20, r2020_19 +# 2067| Block 2 +# 2067| r2067_19(glval) = VariableAddress[x] : +# 2067| r2067_20(glval) = VariableAddress[#temp2067:9] : +# 2067| m2067_21(glval) = Store[#temp2067:9] : &:r2067_20, r2067_19 #-----| Goto -> Block 1 -# 2020| Block 3 -# 2020| r2020_22(glval) = VariableAddress[y] : -# 2020| r2020_23(glval) = VariableAddress[#temp2020:9] : -# 2020| m2020_24(glval) = Store[#temp2020:9] : &:r2020_23, r2020_22 +# 2067| Block 3 +# 2067| r2067_22(glval) = VariableAddress[y] : +# 2067| r2067_23(glval) = VariableAddress[#temp2067:9] : +# 2067| m2067_24(glval) = Store[#temp2067:9] : &:r2067_23, r2067_22 #-----| Goto -> Block 1 -# 2021| Block 4 -# 2021| m2021_7(unknown) = Phi : from 5:~m2021_30, from 6:~m2021_42 -# 2021| m2021_8(TernaryNonPodObj) = Phi : from 5:m2021_36, from 6:m2021_47 -# 2021| r2021_9(glval) = VariableAddress[#temp2021:9] : -# 2021| r2021_10(TernaryNonPodObj) = Load[#temp2021:9] : &:r2021_9, m2021_8 -# 2021| m2021_11(TernaryNonPodObj) = Store[#temp2021:9] : &:r2021_3, r2021_10 -# 2021| r2021_12(glval) = Convert : r2021_3 -# 2021| r2021_13(TernaryNonPodObj &) = CopyValue : r2021_12 -# 2021| r2021_14(TernaryNonPodObj &) = Call[operator=] : func:r2021_2, this:r2021_1, 0:r2021_13 -# 2021| m2021_15(unknown) = ^CallSideEffect : ~m2021_7 -# 2021| m2021_16(unknown) = Chi : total:m2021_7, partial:m2021_15 -# 2021| v2021_17(void) = ^IndirectReadSideEffect[-1] : &:r2021_1, m2020_17 -# 2021| v2021_18(void) = ^BufferReadSideEffect[0] : &:r2021_13, ~m2021_11 -# 2021| m2021_19(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_1 -# 2021| m2021_20(TernaryNonPodObj) = Chi : total:m2020_17, partial:m2021_19 -# 2021| r2021_21(glval) = CopyValue : r2021_14 -# 2022| r2022_1(glval) = VariableAddress[z] : -# 2022| r2022_2(glval) = FunctionAddress[operator=] : -# 2022| r2022_3(glval) = VariableAddress[#temp2022:9] : -# 2022| r2022_4(glval) = VariableAddress[a] : -# 2022| r2022_5(bool) = Load[a] : &:r2022_4, m2019_6 -# 2022| v2022_6(void) = ConditionalBranch : r2022_5 +# 2068| Block 4 +# 2068| m2068_7(unknown) = Phi : from 5:~m2068_30, from 6:~m2068_42 +# 2068| m2068_8(TernaryNonPodObj) = Phi : from 5:m2068_36, from 6:m2068_47 +# 2068| r2068_9(glval) = VariableAddress[#temp2068:9] : +# 2068| r2068_10(TernaryNonPodObj) = Load[#temp2068:9] : &:r2068_9, m2068_8 +# 2068| m2068_11(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_3, r2068_10 +# 2068| r2068_12(glval) = Convert : r2068_3 +# 2068| r2068_13(TernaryNonPodObj &) = CopyValue : r2068_12 +# 2068| r2068_14(TernaryNonPodObj &) = Call[operator=] : func:r2068_2, this:r2068_1, 0:r2068_13 +# 2068| m2068_15(unknown) = ^CallSideEffect : ~m2068_7 +# 2068| m2068_16(unknown) = Chi : total:m2068_7, partial:m2068_15 +# 2068| v2068_17(void) = ^IndirectReadSideEffect[-1] : &:r2068_1, m2067_17 +# 2068| v2068_18(void) = ^BufferReadSideEffect[0] : &:r2068_13, ~m2068_11 +# 2068| m2068_19(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_1 +# 2068| m2068_20(TernaryNonPodObj) = Chi : total:m2067_17, partial:m2068_19 +# 2068| r2068_21(glval) = CopyValue : r2068_14 +# 2069| r2069_1(glval) = VariableAddress[z] : +# 2069| r2069_2(glval) = FunctionAddress[operator=] : +# 2069| r2069_3(glval) = VariableAddress[#temp2069:9] : +# 2069| r2069_4(glval) = VariableAddress[a] : +# 2069| r2069_5(bool) = Load[a] : &:r2069_4, m2066_6 +# 2069| v2069_6(void) = ConditionalBranch : r2069_5 #-----| False -> Block 9 #-----| True -> Block 8 -# 2021| Block 5 -# 2021| r2021_22(glval) = VariableAddress[#temp2021:13] : -# 2021| m2021_23(TernaryNonPodObj) = Uninitialized[#temp2021:13] : &:r2021_22 -# 2021| r2021_24(glval) = FunctionAddress[TernaryNonPodObj] : -# 2021| r2021_25(glval) = VariableAddress[x] : -# 2021| r2021_26(glval) = Convert : r2021_25 -# 2021| r2021_27(TernaryNonPodObj &) = CopyValue : r2021_26 -# 2021| v2021_28(void) = Call[TernaryNonPodObj] : func:r2021_24, this:r2021_22, 0:r2021_27 -# 2021| m2021_29(unknown) = ^CallSideEffect : ~m2020_13 -# 2021| m2021_30(unknown) = Chi : total:m2020_13, partial:m2021_29 -# 2021| v2021_31(void) = ^BufferReadSideEffect[0] : &:r2021_27, ~m2019_8 -# 2021| m2021_32(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_22 -# 2021| m2021_33(TernaryNonPodObj) = Chi : total:m2021_23, partial:m2021_32 -# 2021| r2021_34(TernaryNonPodObj) = Load[#temp2021:13] : &:r2021_22, m2021_33 -# 2021| r2021_35(glval) = VariableAddress[#temp2021:9] : -# 2021| m2021_36(TernaryNonPodObj) = Store[#temp2021:9] : &:r2021_35, r2021_34 +# 2068| Block 5 +# 2068| r2068_22(glval) = VariableAddress[#temp2068:13] : +# 2068| m2068_23(TernaryNonPodObj) = Uninitialized[#temp2068:13] : &:r2068_22 +# 2068| r2068_24(glval) = FunctionAddress[TernaryNonPodObj] : +# 2068| r2068_25(glval) = VariableAddress[x] : +# 2068| r2068_26(glval) = Convert : r2068_25 +# 2068| r2068_27(TernaryNonPodObj &) = CopyValue : r2068_26 +# 2068| v2068_28(void) = Call[TernaryNonPodObj] : func:r2068_24, this:r2068_22, 0:r2068_27 +# 2068| m2068_29(unknown) = ^CallSideEffect : ~m2067_13 +# 2068| m2068_30(unknown) = Chi : total:m2067_13, partial:m2068_29 +# 2068| v2068_31(void) = ^BufferReadSideEffect[0] : &:r2068_27, ~m2066_8 +# 2068| m2068_32(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_22 +# 2068| m2068_33(TernaryNonPodObj) = Chi : total:m2068_23, partial:m2068_32 +# 2068| r2068_34(TernaryNonPodObj) = Load[#temp2068:13] : &:r2068_22, m2068_33 +# 2068| r2068_35(glval) = VariableAddress[#temp2068:9] : +# 2068| m2068_36(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_35, r2068_34 #-----| Goto -> Block 4 -# 2021| Block 6 -# 2021| r2021_37(glval) = VariableAddress[#temp2021:17] : -# 2021| m2021_38(TernaryNonPodObj) = Uninitialized[#temp2021:17] : &:r2021_37 -# 2021| r2021_39(glval) = FunctionAddress[TernaryNonPodObj] : -# 2021| v2021_40(void) = Call[TernaryNonPodObj] : func:r2021_39, this:r2021_37 -# 2021| m2021_41(unknown) = ^CallSideEffect : ~m2020_13 -# 2021| m2021_42(unknown) = Chi : total:m2020_13, partial:m2021_41 -# 2021| m2021_43(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_37 -# 2021| m2021_44(TernaryNonPodObj) = Chi : total:m2021_38, partial:m2021_43 -# 2021| r2021_45(TernaryNonPodObj) = Load[#temp2021:17] : &:r2021_37, m2021_44 -# 2021| r2021_46(glval) = VariableAddress[#temp2021:9] : -# 2021| m2021_47(TernaryNonPodObj) = Store[#temp2021:9] : &:r2021_46, r2021_45 +# 2068| Block 6 +# 2068| r2068_37(glval) = VariableAddress[#temp2068:17] : +# 2068| m2068_38(TernaryNonPodObj) = Uninitialized[#temp2068:17] : &:r2068_37 +# 2068| r2068_39(glval) = FunctionAddress[TernaryNonPodObj] : +# 2068| v2068_40(void) = Call[TernaryNonPodObj] : func:r2068_39, this:r2068_37 +# 2068| m2068_41(unknown) = ^CallSideEffect : ~m2067_13 +# 2068| m2068_42(unknown) = Chi : total:m2067_13, partial:m2068_41 +# 2068| m2068_43(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_37 +# 2068| m2068_44(TernaryNonPodObj) = Chi : total:m2068_38, partial:m2068_43 +# 2068| r2068_45(TernaryNonPodObj) = Load[#temp2068:17] : &:r2068_37, m2068_44 +# 2068| r2068_46(glval) = VariableAddress[#temp2068:9] : +# 2068| m2068_47(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_46, r2068_45 #-----| Goto -> Block 4 -# 2022| Block 7 -# 2022| m2022_7(unknown) = Phi : from 8:~m2022_27, from 9:~m2022_38 -# 2022| m2022_8(TernaryNonPodObj) = Phi : from 8:m2022_32, from 9:m2022_43 -# 2022| r2022_9(glval) = VariableAddress[#temp2022:9] : -# 2022| r2022_10(TernaryNonPodObj) = Load[#temp2022:9] : &:r2022_9, m2022_8 -# 2022| m2022_11(TernaryNonPodObj) = Store[#temp2022:9] : &:r2022_3, r2022_10 -# 2022| r2022_12(glval) = Convert : r2022_3 -# 2022| r2022_13(TernaryNonPodObj &) = CopyValue : r2022_12 -# 2022| r2022_14(TernaryNonPodObj &) = Call[operator=] : func:r2022_2, this:r2022_1, 0:r2022_13 -# 2022| m2022_15(unknown) = ^CallSideEffect : ~m2022_7 -# 2022| m2022_16(unknown) = Chi : total:m2022_7, partial:m2022_15 -# 2022| v2022_17(void) = ^IndirectReadSideEffect[-1] : &:r2022_1, m2021_20 -# 2022| v2022_18(void) = ^BufferReadSideEffect[0] : &:r2022_13, ~m2022_11 -# 2022| m2022_19(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2022_1 -# 2022| m2022_20(TernaryNonPodObj) = Chi : total:m2021_20, partial:m2022_19 -# 2022| r2022_21(glval) = CopyValue : r2022_14 -# 2023| r2023_1(glval) = VariableAddress[z] : -# 2023| r2023_2(glval) = FunctionAddress[operator=] : -# 2023| r2023_3(glval) = VariableAddress[a] : -# 2023| r2023_4(bool) = Load[a] : &:r2023_3, m2019_6 -# 2023| v2023_5(void) = ConditionalBranch : r2023_4 +# 2069| Block 7 +# 2069| m2069_7(unknown) = Phi : from 8:~m2069_27, from 9:~m2069_38 +# 2069| m2069_8(TernaryNonPodObj) = Phi : from 8:m2069_32, from 9:m2069_43 +# 2069| r2069_9(glval) = VariableAddress[#temp2069:9] : +# 2069| r2069_10(TernaryNonPodObj) = Load[#temp2069:9] : &:r2069_9, m2069_8 +# 2069| m2069_11(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_3, r2069_10 +# 2069| r2069_12(glval) = Convert : r2069_3 +# 2069| r2069_13(TernaryNonPodObj &) = CopyValue : r2069_12 +# 2069| r2069_14(TernaryNonPodObj &) = Call[operator=] : func:r2069_2, this:r2069_1, 0:r2069_13 +# 2069| m2069_15(unknown) = ^CallSideEffect : ~m2069_7 +# 2069| m2069_16(unknown) = Chi : total:m2069_7, partial:m2069_15 +# 2069| v2069_17(void) = ^IndirectReadSideEffect[-1] : &:r2069_1, m2068_20 +# 2069| v2069_18(void) = ^BufferReadSideEffect[0] : &:r2069_13, ~m2069_11 +# 2069| m2069_19(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_1 +# 2069| m2069_20(TernaryNonPodObj) = Chi : total:m2068_20, partial:m2069_19 +# 2069| r2069_21(glval) = CopyValue : r2069_14 +# 2070| r2070_1(glval) = VariableAddress[z] : +# 2070| r2070_2(glval) = FunctionAddress[operator=] : +# 2070| r2070_3(glval) = VariableAddress[a] : +# 2070| r2070_4(bool) = Load[a] : &:r2070_3, m2066_6 +# 2070| v2070_5(void) = ConditionalBranch : r2070_4 #-----| False -> Block 12 #-----| True -> Block 11 -# 2022| Block 8 -# 2022| r2022_22(glval) = VariableAddress[#temp2022:13] : -# 2022| m2022_23(TernaryNonPodObj) = Uninitialized[#temp2022:13] : &:r2022_22 -# 2022| r2022_24(glval) = FunctionAddress[TernaryNonPodObj] : -# 2022| v2022_25(void) = Call[TernaryNonPodObj] : func:r2022_24, this:r2022_22 -# 2022| m2022_26(unknown) = ^CallSideEffect : ~m2021_16 -# 2022| m2022_27(unknown) = Chi : total:m2021_16, partial:m2022_26 -# 2022| m2022_28(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2022_22 -# 2022| m2022_29(TernaryNonPodObj) = Chi : total:m2022_23, partial:m2022_28 -# 2022| r2022_30(TernaryNonPodObj) = Load[#temp2022:13] : &:r2022_22, m2022_29 -# 2022| r2022_31(glval) = VariableAddress[#temp2022:9] : -# 2022| m2022_32(TernaryNonPodObj) = Store[#temp2022:9] : &:r2022_31, r2022_30 +# 2069| Block 8 +# 2069| r2069_22(glval) = VariableAddress[#temp2069:13] : +# 2069| m2069_23(TernaryNonPodObj) = Uninitialized[#temp2069:13] : &:r2069_22 +# 2069| r2069_24(glval) = FunctionAddress[TernaryNonPodObj] : +# 2069| v2069_25(void) = Call[TernaryNonPodObj] : func:r2069_24, this:r2069_22 +# 2069| m2069_26(unknown) = ^CallSideEffect : ~m2068_16 +# 2069| m2069_27(unknown) = Chi : total:m2068_16, partial:m2069_26 +# 2069| m2069_28(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_22 +# 2069| m2069_29(TernaryNonPodObj) = Chi : total:m2069_23, partial:m2069_28 +# 2069| r2069_30(TernaryNonPodObj) = Load[#temp2069:13] : &:r2069_22, m2069_29 +# 2069| r2069_31(glval) = VariableAddress[#temp2069:9] : +# 2069| m2069_32(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_31, r2069_30 #-----| Goto -> Block 7 -# 2022| Block 9 -# 2022| r2022_33(glval) = VariableAddress[#temp2022:34] : -# 2022| m2022_34(TernaryNonPodObj) = Uninitialized[#temp2022:34] : &:r2022_33 -# 2022| r2022_35(glval) = FunctionAddress[TernaryNonPodObj] : -# 2022| v2022_36(void) = Call[TernaryNonPodObj] : func:r2022_35, this:r2022_33 -# 2022| m2022_37(unknown) = ^CallSideEffect : ~m2021_16 -# 2022| m2022_38(unknown) = Chi : total:m2021_16, partial:m2022_37 -# 2022| m2022_39(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2022_33 -# 2022| m2022_40(TernaryNonPodObj) = Chi : total:m2022_34, partial:m2022_39 -# 2022| r2022_41(TernaryNonPodObj) = Load[#temp2022:34] : &:r2022_33, m2022_40 -# 2022| r2022_42(glval) = VariableAddress[#temp2022:9] : -# 2022| m2022_43(TernaryNonPodObj) = Store[#temp2022:9] : &:r2022_42, r2022_41 +# 2069| Block 9 +# 2069| r2069_33(glval) = VariableAddress[#temp2069:34] : +# 2069| m2069_34(TernaryNonPodObj) = Uninitialized[#temp2069:34] : &:r2069_33 +# 2069| r2069_35(glval) = FunctionAddress[TernaryNonPodObj] : +# 2069| v2069_36(void) = Call[TernaryNonPodObj] : func:r2069_35, this:r2069_33 +# 2069| m2069_37(unknown) = ^CallSideEffect : ~m2068_16 +# 2069| m2069_38(unknown) = Chi : total:m2068_16, partial:m2069_37 +# 2069| m2069_39(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_33 +# 2069| m2069_40(TernaryNonPodObj) = Chi : total:m2069_34, partial:m2069_39 +# 2069| r2069_41(TernaryNonPodObj) = Load[#temp2069:34] : &:r2069_33, m2069_40 +# 2069| r2069_42(glval) = VariableAddress[#temp2069:9] : +# 2069| m2069_43(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_42, r2069_41 #-----| Goto -> Block 7 -# 2023| Block 10 -# 2023| m2023_6(glval) = Phi : from 11:m2023_40, from 12:m2023_43 -# 2023| r2023_7(glval) = VariableAddress[#temp2023:10] : -# 2023| r2023_8(glval) = Load[#temp2023:10] : &:r2023_7, m2023_6 -# 2023| r2023_9(glval) = Convert : r2023_8 -# 2023| r2023_10(TernaryNonPodObj &) = CopyValue : r2023_9 -# 2023| r2023_11(TernaryNonPodObj &) = Call[operator=] : func:r2023_2, this:r2023_1, 0:r2023_10 -# 2023| m2023_12(unknown) = ^CallSideEffect : ~m2022_16 -# 2023| m2023_13(unknown) = Chi : total:m2022_16, partial:m2023_12 -# 2023| v2023_14(void) = ^IndirectReadSideEffect[-1] : &:r2023_1, m2022_20 -# 2023| v2023_15(void) = ^BufferReadSideEffect[0] : &:r2023_10, ~m2023_13 -# 2023| m2023_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2023_1 -# 2023| m2023_17(TernaryNonPodObj) = Chi : total:m2022_20, partial:m2023_16 -# 2023| r2023_18(glval) = CopyValue : r2023_11 -# 2023| r2023_19(glval) = FunctionAddress[operator=] : -# 2023| r2023_20(glval) = VariableAddress[#temp2023:23] : -# 2023| m2023_21(TernaryNonPodObj) = Uninitialized[#temp2023:23] : &:r2023_20 -# 2023| r2023_22(glval) = FunctionAddress[TernaryNonPodObj] : -# 2023| v2023_23(void) = Call[TernaryNonPodObj] : func:r2023_22, this:r2023_20 -# 2023| m2023_24(unknown) = ^CallSideEffect : ~m2023_13 -# 2023| m2023_25(unknown) = Chi : total:m2023_13, partial:m2023_24 -# 2023| m2023_26(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2023_20 -# 2023| m2023_27(TernaryNonPodObj) = Chi : total:m2023_21, partial:m2023_26 -# 2023| r2023_28(glval) = Convert : r2023_20 -# 2023| r2023_29(TernaryNonPodObj &) = CopyValue : r2023_28 -# 2023| r2023_30(TernaryNonPodObj &) = Call[operator=] : func:r2023_19, this:r2023_18, 0:r2023_29 -# 2023| m2023_31(unknown) = ^CallSideEffect : ~m2023_25 -# 2023| m2023_32(unknown) = Chi : total:m2023_25, partial:m2023_31 -# 2023| v2023_33(void) = ^IndirectReadSideEffect[-1] : &:r2023_18, m2023_17 -# 2023| v2023_34(void) = ^BufferReadSideEffect[0] : &:r2023_29, ~m2023_27 -# 2023| m2023_35(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2023_18 -# 2023| m2023_36(TernaryNonPodObj) = Chi : total:m2023_17, partial:m2023_35 -# 2023| r2023_37(glval) = CopyValue : r2023_30 -# 2024| v2024_1(void) = NoOp : -# 2019| v2019_13(void) = ReturnVoid : -# 2019| v2019_14(void) = AliasedUse : ~m2023_32 -# 2019| v2019_15(void) = ExitFunction : +# 2070| Block 10 +# 2070| m2070_6(glval) = Phi : from 11:m2070_40, from 12:m2070_43 +# 2070| r2070_7(glval) = VariableAddress[#temp2070:10] : +# 2070| r2070_8(glval) = Load[#temp2070:10] : &:r2070_7, m2070_6 +# 2070| r2070_9(glval) = Convert : r2070_8 +# 2070| r2070_10(TernaryNonPodObj &) = CopyValue : r2070_9 +# 2070| r2070_11(TernaryNonPodObj &) = Call[operator=] : func:r2070_2, this:r2070_1, 0:r2070_10 +# 2070| m2070_12(unknown) = ^CallSideEffect : ~m2069_16 +# 2070| m2070_13(unknown) = Chi : total:m2069_16, partial:m2070_12 +# 2070| v2070_14(void) = ^IndirectReadSideEffect[-1] : &:r2070_1, m2069_20 +# 2070| v2070_15(void) = ^BufferReadSideEffect[0] : &:r2070_10, ~m2070_13 +# 2070| m2070_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_1 +# 2070| m2070_17(TernaryNonPodObj) = Chi : total:m2069_20, partial:m2070_16 +# 2070| r2070_18(glval) = CopyValue : r2070_11 +# 2070| r2070_19(glval) = FunctionAddress[operator=] : +# 2070| r2070_20(glval) = VariableAddress[#temp2070:23] : +# 2070| m2070_21(TernaryNonPodObj) = Uninitialized[#temp2070:23] : &:r2070_20 +# 2070| r2070_22(glval) = FunctionAddress[TernaryNonPodObj] : +# 2070| v2070_23(void) = Call[TernaryNonPodObj] : func:r2070_22, this:r2070_20 +# 2070| m2070_24(unknown) = ^CallSideEffect : ~m2070_13 +# 2070| m2070_25(unknown) = Chi : total:m2070_13, partial:m2070_24 +# 2070| m2070_26(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_20 +# 2070| m2070_27(TernaryNonPodObj) = Chi : total:m2070_21, partial:m2070_26 +# 2070| r2070_28(glval) = Convert : r2070_20 +# 2070| r2070_29(TernaryNonPodObj &) = CopyValue : r2070_28 +# 2070| r2070_30(TernaryNonPodObj &) = Call[operator=] : func:r2070_19, this:r2070_18, 0:r2070_29 +# 2070| m2070_31(unknown) = ^CallSideEffect : ~m2070_25 +# 2070| m2070_32(unknown) = Chi : total:m2070_25, partial:m2070_31 +# 2070| v2070_33(void) = ^IndirectReadSideEffect[-1] : &:r2070_18, m2070_17 +# 2070| v2070_34(void) = ^BufferReadSideEffect[0] : &:r2070_29, ~m2070_27 +# 2070| m2070_35(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_18 +# 2070| m2070_36(TernaryNonPodObj) = Chi : total:m2070_17, partial:m2070_35 +# 2070| r2070_37(glval) = CopyValue : r2070_30 +# 2071| v2071_1(void) = NoOp : +# 2066| v2066_13(void) = ReturnVoid : +# 2066| v2066_14(void) = AliasedUse : ~m2070_32 +# 2066| v2066_15(void) = ExitFunction : -# 2023| Block 11 -# 2023| r2023_38(glval) = VariableAddress[x] : -# 2023| r2023_39(glval) = VariableAddress[#temp2023:10] : -# 2023| m2023_40(glval) = Store[#temp2023:10] : &:r2023_39, r2023_38 +# 2070| Block 11 +# 2070| r2070_38(glval) = VariableAddress[x] : +# 2070| r2070_39(glval) = VariableAddress[#temp2070:10] : +# 2070| m2070_40(glval) = Store[#temp2070:10] : &:r2070_39, r2070_38 #-----| Goto -> Block 10 -# 2023| Block 12 -# 2023| r2023_41(glval) = VariableAddress[y] : -# 2023| r2023_42(glval) = VariableAddress[#temp2023:10] : -# 2023| m2023_43(glval) = Store[#temp2023:10] : &:r2023_42, r2023_41 +# 2070| Block 12 +# 2070| r2070_41(glval) = VariableAddress[y] : +# 2070| r2070_42(glval) = VariableAddress[#temp2070:10] : +# 2070| m2070_43(glval) = Store[#temp2070:10] : &:r2070_42, r2070_41 #-----| Goto -> Block 10 -# 2028| unsigned int CommaTest(unsigned int) -# 2028| Block 0 -# 2028| v2028_1(void) = EnterFunction : -# 2028| m2028_2(unknown) = AliasedDefinition : -# 2028| m2028_3(unknown) = InitializeNonLocal : -# 2028| m2028_4(unknown) = Chi : total:m2028_2, partial:m2028_3 -# 2028| r2028_5(glval) = VariableAddress[x] : -# 2028| m2028_6(unsigned int) = InitializeParameter[x] : &:r2028_5 -# 2029| r2029_1(glval) = VariableAddress[y] : -# 2029| m2029_2(unsigned int) = Uninitialized[y] : &:r2029_1 -# 2030| r2030_1(glval) = VariableAddress[x] : -# 2030| r2030_2(unsigned int) = Load[x] : &:r2030_1, m2028_6 -# 2030| r2030_3(unsigned int) = Constant[100] : -# 2030| r2030_4(bool) = CompareLT : r2030_2, r2030_3 -# 2030| v2030_5(void) = ConditionalBranch : r2030_4 +# 2075| unsigned int CommaTest(unsigned int) +# 2075| Block 0 +# 2075| v2075_1(void) = EnterFunction : +# 2075| m2075_2(unknown) = AliasedDefinition : +# 2075| m2075_3(unknown) = InitializeNonLocal : +# 2075| m2075_4(unknown) = Chi : total:m2075_2, partial:m2075_3 +# 2075| r2075_5(glval) = VariableAddress[x] : +# 2075| m2075_6(unsigned int) = InitializeParameter[x] : &:r2075_5 +# 2076| r2076_1(glval) = VariableAddress[y] : +# 2076| m2076_2(unsigned int) = Uninitialized[y] : &:r2076_1 +# 2077| r2077_1(glval) = VariableAddress[x] : +# 2077| r2077_2(unsigned int) = Load[x] : &:r2077_1, m2075_6 +# 2077| r2077_3(unsigned int) = Constant[100] : +# 2077| r2077_4(bool) = CompareLT : r2077_2, r2077_3 +# 2077| v2077_5(void) = ConditionalBranch : r2077_4 #-----| False -> Block 3 #-----| True -> Block 2 -# 2030| Block 1 -# 2030| m2030_6(unknown) = Phi : from 2:~m2031_6, from 3:~m2032_6 -# 2030| m2030_7(unsigned int) = Phi : from 2:m2030_13, from 3:m2030_15 -# 2030| r2030_8(glval) = VariableAddress[#temp2030:7] : -# 2030| r2030_9(unsigned int) = Load[#temp2030:7] : &:r2030_8, m2030_7 -# 2030| r2030_10(glval) = VariableAddress[y] : -# 2030| m2030_11(unsigned int) = Store[y] : &:r2030_10, r2030_9 -# 2033| r2033_1(glval) = VariableAddress[#return] : -# 2033| m2033_2(unsigned int) = Uninitialized[#return] : &:r2033_1 -# 2028| r2028_7(glval) = VariableAddress[#return] : -# 2028| v2028_8(void) = ReturnValue : &:r2028_7, m2033_2 -# 2028| v2028_9(void) = AliasedUse : ~m2030_6 -# 2028| v2028_10(void) = ExitFunction : +# 2077| Block 1 +# 2077| m2077_6(unknown) = Phi : from 2:~m2078_6, from 3:~m2079_6 +# 2077| m2077_7(unsigned int) = Phi : from 2:m2077_13, from 3:m2077_15 +# 2077| r2077_8(glval) = VariableAddress[#temp2077:7] : +# 2077| r2077_9(unsigned int) = Load[#temp2077:7] : &:r2077_8, m2077_7 +# 2077| r2077_10(glval) = VariableAddress[y] : +# 2077| m2077_11(unsigned int) = Store[y] : &:r2077_10, r2077_9 +# 2080| r2080_1(glval) = VariableAddress[#return] : +# 2080| m2080_2(unsigned int) = Uninitialized[#return] : &:r2080_1 +# 2075| r2075_7(glval) = VariableAddress[#return] : +# 2075| v2075_8(void) = ReturnValue : &:r2075_7, m2080_2 +# 2075| v2075_9(void) = AliasedUse : ~m2077_6 +# 2075| v2075_10(void) = ExitFunction : -# 2031| Block 2 -# 2031| r2031_1(glval) = FunctionAddress[CommaTestHelper] : -# 2031| r2031_2(glval) = VariableAddress[x] : -# 2031| r2031_3(unsigned int) = Load[x] : &:r2031_2, m2028_6 -# 2031| v2031_4(void) = Call[CommaTestHelper] : func:r2031_1, 0:r2031_3 -# 2031| m2031_5(unknown) = ^CallSideEffect : ~m2028_4 -# 2031| m2031_6(unknown) = Chi : total:m2028_4, partial:m2031_5 -# 2031| r2031_7(glval) = VariableAddress[x] : -# 2031| r2031_8(unsigned int) = Load[x] : &:r2031_7, m2028_6 -# 2031| r2031_9(unsigned int) = CopyValue : r2031_8 -# 2030| r2030_12(glval) = VariableAddress[#temp2030:7] : -# 2030| m2030_13(unsigned int) = Store[#temp2030:7] : &:r2030_12, r2031_9 +# 2078| Block 2 +# 2078| r2078_1(glval) = FunctionAddress[CommaTestHelper] : +# 2078| r2078_2(glval) = VariableAddress[x] : +# 2078| r2078_3(unsigned int) = Load[x] : &:r2078_2, m2075_6 +# 2078| v2078_4(void) = Call[CommaTestHelper] : func:r2078_1, 0:r2078_3 +# 2078| m2078_5(unknown) = ^CallSideEffect : ~m2075_4 +# 2078| m2078_6(unknown) = Chi : total:m2075_4, partial:m2078_5 +# 2078| r2078_7(glval) = VariableAddress[x] : +# 2078| r2078_8(unsigned int) = Load[x] : &:r2078_7, m2075_6 +# 2078| r2078_9(unsigned int) = CopyValue : r2078_8 +# 2077| r2077_12(glval) = VariableAddress[#temp2077:7] : +# 2077| m2077_13(unsigned int) = Store[#temp2077:7] : &:r2077_12, r2078_9 #-----| Goto -> Block 1 -# 2032| Block 3 -# 2032| r2032_1(glval) = FunctionAddress[CommaTestHelper] : -# 2032| r2032_2(glval) = VariableAddress[x] : -# 2032| r2032_3(unsigned int) = Load[x] : &:r2032_2, m2028_6 -# 2032| v2032_4(void) = Call[CommaTestHelper] : func:r2032_1, 0:r2032_3 -# 2032| m2032_5(unknown) = ^CallSideEffect : ~m2028_4 -# 2032| m2032_6(unknown) = Chi : total:m2028_4, partial:m2032_5 -# 2032| r2032_7(int) = Constant[10] : -# 2032| r2032_8(int) = CopyValue : r2032_7 -# 2032| r2032_9(unsigned int) = Convert : r2032_8 -# 2030| r2030_14(glval) = VariableAddress[#temp2030:7] : -# 2030| m2030_15(unsigned int) = Store[#temp2030:7] : &:r2030_14, r2032_9 +# 2079| Block 3 +# 2079| r2079_1(glval) = FunctionAddress[CommaTestHelper] : +# 2079| r2079_2(glval) = VariableAddress[x] : +# 2079| r2079_3(unsigned int) = Load[x] : &:r2079_2, m2075_6 +# 2079| v2079_4(void) = Call[CommaTestHelper] : func:r2079_1, 0:r2079_3 +# 2079| m2079_5(unknown) = ^CallSideEffect : ~m2075_4 +# 2079| m2079_6(unknown) = Chi : total:m2075_4, partial:m2079_5 +# 2079| r2079_7(int) = Constant[10] : +# 2079| r2079_8(int) = CopyValue : r2079_7 +# 2079| r2079_9(unsigned int) = Convert : r2079_8 +# 2077| r2077_14(glval) = VariableAddress[#temp2077:7] : +# 2077| m2077_15(unsigned int) = Store[#temp2077:7] : &:r2077_14, r2079_9 #-----| Goto -> Block 1 -# 2035| void NewDeleteMem() -# 2035| Block 0 -# 2035| v2035_1(void) = EnterFunction : -# 2035| m2035_2(unknown) = AliasedDefinition : -# 2035| m2035_3(unknown) = InitializeNonLocal : -# 2035| m2035_4(unknown) = Chi : total:m2035_2, partial:m2035_3 -# 2036| r2036_1(glval) = VariableAddress[x] : -# 2036| r2036_2(glval) = FunctionAddress[operator new] : -# 2036| r2036_3(unsigned long) = Constant[4] : -# 2036| r2036_4(void *) = Call[operator new] : func:r2036_2, 0:r2036_3 -# 2036| m2036_5(unknown) = ^CallSideEffect : ~m2035_4 -# 2036| m2036_6(unknown) = Chi : total:m2035_4, partial:m2036_5 -# 2036| m2036_7(unknown) = ^InitializeDynamicAllocation : &:r2036_4 -# 2036| r2036_8(int *) = Convert : r2036_4 -# 2036| m2036_9(int *) = Store[x] : &:r2036_1, r2036_8 -# 2037| r2037_1(int) = Constant[6] : -# 2037| r2037_2(glval) = VariableAddress[x] : -# 2037| r2037_3(int *) = Load[x] : &:r2037_2, m2036_9 -# 2037| r2037_4(glval) = CopyValue : r2037_3 -# 2037| m2037_5(int) = Store[?] : &:r2037_4, r2037_1 -# 2037| m2037_6(unknown) = Chi : total:m2036_7, partial:m2037_5 -# 2038| r2038_1(glval) = FunctionAddress[operator delete] : -# 2038| r2038_2(glval) = VariableAddress[x] : -# 2038| r2038_3(int *) = Load[x] : &:r2038_2, m2036_9 -# 2038| v2038_4(void) = Call[operator delete] : func:r2038_1, 0:r2038_3 -# 2038| m2038_5(unknown) = ^CallSideEffect : ~m2036_6 -# 2038| m2038_6(unknown) = Chi : total:m2036_6, partial:m2038_5 -# 2039| v2039_1(void) = NoOp : -# 2035| v2035_5(void) = ReturnVoid : -# 2035| v2035_6(void) = AliasedUse : ~m2038_6 -# 2035| v2035_7(void) = ExitFunction : +# 2082| void NewDeleteMem() +# 2082| Block 0 +# 2082| v2082_1(void) = EnterFunction : +# 2082| m2082_2(unknown) = AliasedDefinition : +# 2082| m2082_3(unknown) = InitializeNonLocal : +# 2082| m2082_4(unknown) = Chi : total:m2082_2, partial:m2082_3 +# 2083| r2083_1(glval) = VariableAddress[x] : +# 2083| r2083_2(glval) = FunctionAddress[operator new] : +# 2083| r2083_3(unsigned long) = Constant[4] : +# 2083| r2083_4(void *) = Call[operator new] : func:r2083_2, 0:r2083_3 +# 2083| m2083_5(unknown) = ^CallSideEffect : ~m2082_4 +# 2083| m2083_6(unknown) = Chi : total:m2082_4, partial:m2083_5 +# 2083| m2083_7(unknown) = ^InitializeDynamicAllocation : &:r2083_4 +# 2083| r2083_8(int *) = Convert : r2083_4 +# 2083| m2083_9(int *) = Store[x] : &:r2083_1, r2083_8 +# 2084| r2084_1(int) = Constant[6] : +# 2084| r2084_2(glval) = VariableAddress[x] : +# 2084| r2084_3(int *) = Load[x] : &:r2084_2, m2083_9 +# 2084| r2084_4(glval) = CopyValue : r2084_3 +# 2084| m2084_5(int) = Store[?] : &:r2084_4, r2084_1 +# 2084| m2084_6(unknown) = Chi : total:m2083_7, partial:m2084_5 +# 2085| r2085_1(glval) = FunctionAddress[operator delete] : +# 2085| r2085_2(glval) = VariableAddress[x] : +# 2085| r2085_3(int *) = Load[x] : &:r2085_2, m2083_9 +# 2085| v2085_4(void) = Call[operator delete] : func:r2085_1, 0:r2085_3 +# 2085| m2085_5(unknown) = ^CallSideEffect : ~m2083_6 +# 2085| m2085_6(unknown) = Chi : total:m2083_6, partial:m2085_5 +# 2086| v2086_1(void) = NoOp : +# 2082| v2082_5(void) = ReturnVoid : +# 2082| v2082_6(void) = AliasedUse : ~m2085_6 +# 2082| v2082_7(void) = ExitFunction : -# 2041| void Base2::Base2() -# 2041| Block 0 -# 2041| v2041_1(void) = EnterFunction : -# 2041| m2041_2(unknown) = AliasedDefinition : -# 2041| m2041_3(unknown) = InitializeNonLocal : -# 2041| m2041_4(unknown) = Chi : total:m2041_2, partial:m2041_3 -# 2041| r2041_5(glval) = VariableAddress[#this] : -# 2041| m2041_6(glval) = InitializeParameter[#this] : &:r2041_5 -# 2041| r2041_7(glval) = Load[#this] : &:r2041_5, m2041_6 -# 2041| m2041_8(Base2) = InitializeIndirection[#this] : &:r2041_7 -# 2041| v2041_9(void) = NoOp : -# 2041| v2041_10(void) = ReturnIndirection[#this] : &:r2041_7, m2041_8 -# 2041| v2041_11(void) = ReturnVoid : -# 2041| v2041_12(void) = AliasedUse : m2041_3 -# 2041| v2041_13(void) = ExitFunction : +# 2088| void Base2::Base2() +# 2088| Block 0 +# 2088| v2088_1(void) = EnterFunction : +# 2088| m2088_2(unknown) = AliasedDefinition : +# 2088| m2088_3(unknown) = InitializeNonLocal : +# 2088| m2088_4(unknown) = Chi : total:m2088_2, partial:m2088_3 +# 2088| r2088_5(glval) = VariableAddress[#this] : +# 2088| m2088_6(glval) = InitializeParameter[#this] : &:r2088_5 +# 2088| r2088_7(glval) = Load[#this] : &:r2088_5, m2088_6 +# 2088| m2088_8(Base2) = InitializeIndirection[#this] : &:r2088_7 +# 2088| v2088_9(void) = NoOp : +# 2088| v2088_10(void) = ReturnIndirection[#this] : &:r2088_7, m2088_8 +# 2088| v2088_11(void) = ReturnVoid : +# 2088| v2088_12(void) = AliasedUse : m2088_3 +# 2088| v2088_13(void) = ExitFunction : -# 2043| void Base2::operator delete(void*) -# 2043| Block 0 -# 2043| v2043_1(void) = EnterFunction : -# 2043| m2043_2(unknown) = AliasedDefinition : -# 2043| m2043_3(unknown) = InitializeNonLocal : -# 2043| m2043_4(unknown) = Chi : total:m2043_2, partial:m2043_3 -# 2043| r2043_5(glval) = VariableAddress[p] : -# 2043| m2043_6(void *) = InitializeParameter[p] : &:r2043_5 -# 2043| r2043_7(void *) = Load[p] : &:r2043_5, m2043_6 -# 2043| m2043_8(unknown) = InitializeIndirection[p] : &:r2043_7 -# 2044| v2044_1(void) = NoOp : -# 2043| v2043_9(void) = ReturnIndirection[p] : &:r2043_7, m2043_8 -# 2043| v2043_10(void) = ReturnVoid : -# 2043| v2043_11(void) = AliasedUse : m2043_3 -# 2043| v2043_12(void) = ExitFunction : +# 2090| void Base2::operator delete(void*) +# 2090| Block 0 +# 2090| v2090_1(void) = EnterFunction : +# 2090| m2090_2(unknown) = AliasedDefinition : +# 2090| m2090_3(unknown) = InitializeNonLocal : +# 2090| m2090_4(unknown) = Chi : total:m2090_2, partial:m2090_3 +# 2090| r2090_5(glval) = VariableAddress[p] : +# 2090| m2090_6(void *) = InitializeParameter[p] : &:r2090_5 +# 2090| r2090_7(void *) = Load[p] : &:r2090_5, m2090_6 +# 2090| m2090_8(unknown) = InitializeIndirection[p] : &:r2090_7 +# 2091| v2091_1(void) = NoOp : +# 2090| v2090_9(void) = ReturnIndirection[p] : &:r2090_7, m2090_8 +# 2090| v2090_10(void) = ReturnVoid : +# 2090| v2090_11(void) = AliasedUse : m2090_3 +# 2090| v2090_12(void) = ExitFunction : -# 2045| void Base2::~Base2() -# 2045| Block 0 -# 2045| v2045_1(void) = EnterFunction : -# 2045| m2045_2(unknown) = AliasedDefinition : -# 2045| m2045_3(unknown) = InitializeNonLocal : -# 2045| m2045_4(unknown) = Chi : total:m2045_2, partial:m2045_3 -# 2045| r2045_5(glval) = VariableAddress[#this] : -# 2045| m2045_6(glval) = InitializeParameter[#this] : &:r2045_5 -# 2045| r2045_7(glval) = Load[#this] : &:r2045_5, m2045_6 -# 2045| m2045_8(Base2) = InitializeIndirection[#this] : &:r2045_7 -# 2045| v2045_9(void) = NoOp : -# 2045| v2045_10(void) = ReturnIndirection[#this] : &:r2045_7, m2045_8 -# 2045| v2045_11(void) = ReturnVoid : -# 2045| v2045_12(void) = AliasedUse : m2045_3 -# 2045| v2045_13(void) = ExitFunction : - -# 2048| void Derived2::Derived2() -# 2048| Block 0 -# 2048| v2048_1(void) = EnterFunction : -# 2048| m2048_2(unknown) = AliasedDefinition : -# 2048| m2048_3(unknown) = InitializeNonLocal : -# 2048| m2048_4(unknown) = Chi : total:m2048_2, partial:m2048_3 -# 2048| r2048_5(glval) = VariableAddress[#this] : -# 2048| m2048_6(glval) = InitializeParameter[#this] : &:r2048_5 -# 2048| r2048_7(glval) = Load[#this] : &:r2048_5, m2048_6 -# 2048| m2048_8(Derived2) = InitializeIndirection[#this] : &:r2048_7 -# 2048| r2048_9(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : m2048_6 -# 2048| r2048_10(glval) = FunctionAddress[Base2] : -# 2048| v2048_11(void) = Call[Base2] : func:r2048_10, this:r2048_9 -# 2048| m2048_12(unknown) = ^CallSideEffect : ~m2048_4 -# 2048| m2048_13(unknown) = Chi : total:m2048_4, partial:m2048_12 -# 2048| m2048_14(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2048_9 -# 2048| m2048_15(unknown) = Chi : total:m2048_8, partial:m2048_14 -# 2048| v2048_16(void) = NoOp : -# 2048| v2048_17(void) = ReturnIndirection[#this] : &:r2048_7, m2048_15 -# 2048| v2048_18(void) = ReturnVoid : -# 2048| v2048_19(void) = AliasedUse : ~m2048_13 -# 2048| v2048_20(void) = ExitFunction : - -# 2051| void Derived2::~Derived2() -# 2051| Block 0 -# 2051| v2051_1(void) = EnterFunction : -# 2051| m2051_2(unknown) = AliasedDefinition : -# 2051| m2051_3(unknown) = InitializeNonLocal : -# 2051| m2051_4(unknown) = Chi : total:m2051_2, partial:m2051_3 -# 2051| r2051_5(glval) = VariableAddress[#this] : -# 2051| m2051_6(glval) = InitializeParameter[#this] : &:r2051_5 -# 2051| r2051_7(glval) = Load[#this] : &:r2051_5, m2051_6 -# 2051| m2051_8(Derived2) = InitializeIndirection[#this] : &:r2051_7 -# 2051| v2051_9(void) = NoOp : -# 2051| r2051_10(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : m2051_6 -# 2051| r2051_11(glval) = FunctionAddress[~Base2] : -# 2051| v2051_12(void) = Call[~Base2] : func:r2051_11, this:r2051_10 -# 2051| m2051_13(unknown) = ^CallSideEffect : ~m2051_4 -# 2051| m2051_14(unknown) = Chi : total:m2051_4, partial:m2051_13 -# 2051| v2051_15(void) = ReturnIndirection[#this] : &:r2051_7, m2051_8 -# 2051| v2051_16(void) = ReturnVoid : -# 2051| v2051_17(void) = AliasedUse : ~m2051_14 -# 2051| v2051_18(void) = ExitFunction : - -# 2053| void Derived2::operator delete(void*) -# 2053| Block 0 -# 2053| v2053_1(void) = EnterFunction : -# 2053| m2053_2(unknown) = AliasedDefinition : -# 2053| m2053_3(unknown) = InitializeNonLocal : -# 2053| m2053_4(unknown) = Chi : total:m2053_2, partial:m2053_3 -# 2053| r2053_5(glval) = VariableAddress[p] : -# 2053| m2053_6(void *) = InitializeParameter[p] : &:r2053_5 -# 2053| r2053_7(void *) = Load[p] : &:r2053_5, m2053_6 -# 2053| m2053_8(unknown) = InitializeIndirection[p] : &:r2053_7 -# 2054| v2054_1(void) = NoOp : -# 2053| v2053_9(void) = ReturnIndirection[p] : &:r2053_7, m2053_8 -# 2053| v2053_10(void) = ReturnVoid : -# 2053| v2053_11(void) = AliasedUse : m2053_3 -# 2053| v2053_12(void) = ExitFunction : - -# 2058| int virtual_delete() -# 2058| Block 0 -# 2058| v2058_1(void) = EnterFunction : -# 2058| m2058_2(unknown) = AliasedDefinition : -# 2058| m2058_3(unknown) = InitializeNonLocal : -# 2058| m2058_4(unknown) = Chi : total:m2058_2, partial:m2058_3 -# 2060| r2060_1(glval) = VariableAddress[b1] : -# 2060| r2060_2(glval) = FunctionAddress[operator new] : -# 2060| r2060_3(unsigned long) = Constant[8] : -# 2060| r2060_4(void *) = Call[operator new] : func:r2060_2, 0:r2060_3 -# 2060| m2060_5(unknown) = ^CallSideEffect : ~m2058_4 -# 2060| m2060_6(unknown) = Chi : total:m2058_4, partial:m2060_5 -# 2060| m2060_7(unknown) = ^InitializeDynamicAllocation : &:r2060_4 -# 2060| r2060_8(Base2 *) = Convert : r2060_4 -# 2060| r2060_9(glval) = FunctionAddress[Base2] : -# 2060| v2060_10(void) = Call[Base2] : func:r2060_9, this:r2060_8 -# 2060| m2060_11(unknown) = ^CallSideEffect : ~m2060_6 -# 2060| m2060_12(unknown) = Chi : total:m2060_6, partial:m2060_11 -# 2060| m2060_13(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2060_8 -# 2060| m2060_14(unknown) = Chi : total:m2060_7, partial:m2060_13 -# 2060| m2060_15(Base2 *) = Store[b1] : &:r2060_1, r2060_8 -# 2061| r2061_1(glval) = VirtualDeleteFunctionAddress : -# 2061| r2061_2(glval) = VariableAddress[b1] : -# 2061| r2061_3(Base2 *) = Load[b1] : &:r2061_2, m2060_15 -# 2061| v2061_4(void) = Call[?] : func:r2061_1, 0:r2061_3 -# 2061| m2061_5(unknown) = ^CallSideEffect : ~m2060_12 -# 2061| m2061_6(unknown) = Chi : total:m2060_12, partial:m2061_5 -# 2063| r2063_1(glval) = VariableAddress[b2] : -# 2063| r2063_2(glval) = FunctionAddress[operator new] : -# 2063| r2063_3(unsigned long) = Constant[16] : -# 2063| r2063_4(void *) = Call[operator new] : func:r2063_2, 0:r2063_3 -# 2063| m2063_5(unknown) = ^CallSideEffect : ~m2061_6 -# 2063| m2063_6(unknown) = Chi : total:m2061_6, partial:m2063_5 -# 2063| m2063_7(unknown) = ^InitializeDynamicAllocation : &:r2063_4 -# 2063| r2063_8(Derived2 *) = Convert : r2063_4 -# 2063| r2063_9(glval) = FunctionAddress[Derived2] : -# 2063| v2063_10(void) = Call[Derived2] : func:r2063_9, this:r2063_8 -# 2063| m2063_11(unknown) = ^CallSideEffect : ~m2063_6 -# 2063| m2063_12(unknown) = Chi : total:m2063_6, partial:m2063_11 -# 2063| m2063_13(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2063_8 -# 2063| m2063_14(unknown) = Chi : total:m2063_7, partial:m2063_13 -# 2063| r2063_15(Base2 *) = ConvertToNonVirtualBase[Derived2 : Base2] : r2063_8 -# 2063| m2063_16(Base2 *) = Store[b2] : &:r2063_1, r2063_15 -# 2064| r2064_1(glval) = VirtualDeleteFunctionAddress : -# 2064| r2064_2(glval) = VariableAddress[b2] : -# 2064| r2064_3(Base2 *) = Load[b2] : &:r2064_2, m2063_16 -# 2064| v2064_4(void) = Call[?] : func:r2064_1, 0:r2064_3 -# 2064| m2064_5(unknown) = ^CallSideEffect : ~m2063_12 -# 2064| m2064_6(unknown) = Chi : total:m2063_12, partial:m2064_5 -# 2066| r2066_1(glval) = VariableAddress[d] : -# 2066| r2066_2(glval) = FunctionAddress[operator new] : -# 2066| r2066_3(unsigned long) = Constant[16] : -# 2066| r2066_4(void *) = Call[operator new] : func:r2066_2, 0:r2066_3 -# 2066| m2066_5(unknown) = ^CallSideEffect : ~m2064_6 -# 2066| m2066_6(unknown) = Chi : total:m2064_6, partial:m2066_5 -# 2066| m2066_7(unknown) = ^InitializeDynamicAllocation : &:r2066_4 -# 2066| r2066_8(Derived2 *) = Convert : r2066_4 -# 2066| r2066_9(glval) = FunctionAddress[Derived2] : -# 2066| v2066_10(void) = Call[Derived2] : func:r2066_9, this:r2066_8 -# 2066| m2066_11(unknown) = ^CallSideEffect : ~m2066_6 -# 2066| m2066_12(unknown) = Chi : total:m2066_6, partial:m2066_11 -# 2066| m2066_13(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2066_8 -# 2066| m2066_14(unknown) = Chi : total:m2066_7, partial:m2066_13 -# 2066| m2066_15(Derived2 *) = Store[d] : &:r2066_1, r2066_8 -# 2067| r2067_1(glval) = VirtualDeleteFunctionAddress : -# 2067| r2067_2(glval) = VariableAddress[d] : -# 2067| r2067_3(Derived2 *) = Load[d] : &:r2067_2, m2066_15 -# 2067| v2067_4(void) = Call[?] : func:r2067_1, 0:r2067_3 -# 2067| m2067_5(unknown) = ^CallSideEffect : ~m2066_12 -# 2067| m2067_6(unknown) = Chi : total:m2066_12, partial:m2067_5 -# 2068| r2068_1(glval) = VariableAddress[#return] : -# 2068| m2068_2(int) = Uninitialized[#return] : &:r2068_1 -# 2058| r2058_5(glval) = VariableAddress[#return] : -# 2058| v2058_6(void) = ReturnValue : &:r2058_5, m2068_2 -# 2058| v2058_7(void) = AliasedUse : ~m2067_6 -# 2058| v2058_8(void) = ExitFunction : - -# 2072| void test_constant_folding() -# 2072| Block 0 -# 2072| v2072_1(void) = EnterFunction : -# 2072| m2072_2(unknown) = AliasedDefinition : -# 2072| m2072_3(unknown) = InitializeNonLocal : -# 2072| m2072_4(unknown) = Chi : total:m2072_2, partial:m2072_3 -# 2073| r2073_1(glval) = VariableAddress[x] : -# 2073| r2073_2(int) = Constant[116] : -# 2073| m2073_3(int) = Store[x] : &:r2073_1, r2073_2 -# 2074| r2074_1(glval) = FunctionAddress[test_constant_folding_use] : -# 2074| r2074_2(int) = Constant[116] : -# 2074| v2074_3(void) = Call[test_constant_folding_use] : func:r2074_1, 0:r2074_2 -# 2074| m2074_4(unknown) = ^CallSideEffect : ~m2072_4 -# 2074| m2074_5(unknown) = Chi : total:m2072_4, partial:m2074_4 -# 2075| v2075_1(void) = NoOp : -# 2072| v2072_5(void) = ReturnVoid : -# 2072| v2072_6(void) = AliasedUse : ~m2074_5 -# 2072| v2072_7(void) = ExitFunction : - -# 2079| int NonExit() -# 2079| Block 0 -# 2079| v2079_1(void) = EnterFunction : -# 2079| m2079_2(unknown) = AliasedDefinition : -# 2079| m2079_3(unknown) = InitializeNonLocal : -# 2079| m2079_4(unknown) = Chi : total:m2079_2, partial:m2079_3 -# 2080| r2080_1(glval) = VariableAddress[x] : -# 2080| r2080_2(glval) = FunctionAddress[Add] : -# 2080| r2080_3(int) = Constant[3] : -# 2080| r2080_4(int) = Constant[4] : -# 2080| r2080_5(int) = Call[Add] : func:r2080_2, 0:r2080_3, 1:r2080_4 -# 2080| m2080_6(unknown) = ^CallSideEffect : ~m2079_4 -# 2080| m2080_7(unknown) = Chi : total:m2079_4, partial:m2080_6 -# 2080| m2080_8(int) = Store[x] : &:r2080_1, r2080_5 -# 2081| r2081_1(glval) = VariableAddress[x] : -# 2081| r2081_2(int) = Load[x] : &:r2081_1, m2080_8 -# 2081| r2081_3(int) = Constant[7] : -# 2081| r2081_4(bool) = CompareEQ : r2081_2, r2081_3 -# 2081| v2081_5(void) = ConditionalBranch : r2081_4 -#-----| False -> Block 2 -#-----| True -> Block 1 - -# 2082| Block 1 -# 2082| r2082_1(glval) = FunctionAddress[exit] : -# 2082| r2082_2(int) = Constant[3] : -# 2082| v2082_3(void) = Call[exit] : func:r2082_1, 0:r2082_2 -# 2082| m2082_4(unknown) = ^CallSideEffect : ~m2080_7 -# 2082| m2082_5(unknown) = Chi : total:m2080_7, partial:m2082_4 -# 2079| v2079_5(void) = Unreached : - -# 2083| Block 2 -# 2083| r2083_1(glval) = FunctionAddress[VoidFunc] : -# 2083| v2083_2(void) = Call[VoidFunc] : func:r2083_1 -# 2083| m2083_3(unknown) = ^CallSideEffect : ~m2080_7 -# 2083| m2083_4(unknown) = Chi : total:m2080_7, partial:m2083_3 -# 2084| r2084_1(glval) = VariableAddress[#return] : -# 2084| r2084_2(glval) = VariableAddress[x] : -# 2084| r2084_3(int) = Load[x] : &:r2084_2, m2080_8 -# 2084| m2084_4(int) = Store[#return] : &:r2084_1, r2084_3 -# 2079| r2079_6(glval) = VariableAddress[#return] : -# 2079| v2079_7(void) = ReturnValue : &:r2079_6, m2084_4 -# 2079| v2079_8(void) = AliasedUse : ~m2083_4 -# 2079| v2079_9(void) = ExitFunction : - -# 2087| void CallsNonExit() -# 2087| Block 0 -# 2087| v2087_1(void) = EnterFunction : -# 2087| m2087_2(unknown) = AliasedDefinition : -# 2087| m2087_3(unknown) = InitializeNonLocal : -# 2087| m2087_4(unknown) = Chi : total:m2087_2, partial:m2087_3 -# 2088| r2088_1(glval) = FunctionAddress[VoidFunc] : -# 2088| v2088_2(void) = Call[VoidFunc] : func:r2088_1 -# 2088| m2088_3(unknown) = ^CallSideEffect : ~m2087_4 -# 2088| m2088_4(unknown) = Chi : total:m2087_4, partial:m2088_3 -# 2089| r2089_1(glval) = FunctionAddress[exit] : -# 2089| r2089_2(int) = Constant[3] : -# 2089| v2089_3(void) = Call[exit] : func:r2089_1, 0:r2089_2 -# 2089| m2089_4(unknown) = ^CallSideEffect : ~m2088_4 -# 2089| m2089_5(unknown) = Chi : total:m2088_4, partial:m2089_4 -# 2087| v2087_5(void) = Unreached : - -# 2092| int TransNonExit() +# 2092| void Base2::~Base2() # 2092| Block 0 -# 2092| v2092_1(void) = EnterFunction : -# 2092| m2092_2(unknown) = AliasedDefinition : -# 2092| m2092_3(unknown) = InitializeNonLocal : -# 2092| m2092_4(unknown) = Chi : total:m2092_2, partial:m2092_3 -# 2093| r2093_1(glval) = VariableAddress[x] : -# 2093| r2093_2(glval) = FunctionAddress[Add] : -# 2093| r2093_3(int) = Constant[3] : -# 2093| r2093_4(int) = Constant[4] : -# 2093| r2093_5(int) = Call[Add] : func:r2093_2, 0:r2093_3, 1:r2093_4 -# 2093| m2093_6(unknown) = ^CallSideEffect : ~m2092_4 -# 2093| m2093_7(unknown) = Chi : total:m2092_4, partial:m2093_6 -# 2093| m2093_8(int) = Store[x] : &:r2093_1, r2093_5 -# 2094| r2094_1(glval) = VariableAddress[x] : -# 2094| r2094_2(int) = Load[x] : &:r2094_1, m2093_8 -# 2094| r2094_3(int) = Constant[7] : -# 2094| r2094_4(bool) = CompareEQ : r2094_2, r2094_3 -# 2094| v2094_5(void) = ConditionalBranch : r2094_4 -#-----| False -> Block 2 -#-----| True -> Block 1 +# 2092| v2092_1(void) = EnterFunction : +# 2092| m2092_2(unknown) = AliasedDefinition : +# 2092| m2092_3(unknown) = InitializeNonLocal : +# 2092| m2092_4(unknown) = Chi : total:m2092_2, partial:m2092_3 +# 2092| r2092_5(glval) = VariableAddress[#this] : +# 2092| m2092_6(glval) = InitializeParameter[#this] : &:r2092_5 +# 2092| r2092_7(glval) = Load[#this] : &:r2092_5, m2092_6 +# 2092| m2092_8(Base2) = InitializeIndirection[#this] : &:r2092_7 +# 2092| v2092_9(void) = NoOp : +# 2092| v2092_10(void) = ReturnIndirection[#this] : &:r2092_7, m2092_8 +# 2092| v2092_11(void) = ReturnVoid : +# 2092| v2092_12(void) = AliasedUse : m2092_3 +# 2092| v2092_13(void) = ExitFunction : -# 2095| Block 1 -# 2095| r2095_1(glval) = FunctionAddress[CallsNonExit] : -# 2095| v2095_2(void) = Call[CallsNonExit] : func:r2095_1 -# 2092| v2092_5(void) = Unreached : +# 2095| void Derived2::Derived2() +# 2095| Block 0 +# 2095| v2095_1(void) = EnterFunction : +# 2095| m2095_2(unknown) = AliasedDefinition : +# 2095| m2095_3(unknown) = InitializeNonLocal : +# 2095| m2095_4(unknown) = Chi : total:m2095_2, partial:m2095_3 +# 2095| r2095_5(glval) = VariableAddress[#this] : +# 2095| m2095_6(glval) = InitializeParameter[#this] : &:r2095_5 +# 2095| r2095_7(glval) = Load[#this] : &:r2095_5, m2095_6 +# 2095| m2095_8(Derived2) = InitializeIndirection[#this] : &:r2095_7 +# 2095| r2095_9(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : m2095_6 +# 2095| r2095_10(glval) = FunctionAddress[Base2] : +# 2095| v2095_11(void) = Call[Base2] : func:r2095_10, this:r2095_9 +# 2095| m2095_12(unknown) = ^CallSideEffect : ~m2095_4 +# 2095| m2095_13(unknown) = Chi : total:m2095_4, partial:m2095_12 +# 2095| m2095_14(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2095_9 +# 2095| m2095_15(unknown) = Chi : total:m2095_8, partial:m2095_14 +# 2095| v2095_16(void) = NoOp : +# 2095| v2095_17(void) = ReturnIndirection[#this] : &:r2095_7, m2095_15 +# 2095| v2095_18(void) = ReturnVoid : +# 2095| v2095_19(void) = AliasedUse : ~m2095_13 +# 2095| v2095_20(void) = ExitFunction : -# 2096| Block 2 -# 2096| r2096_1(glval) = FunctionAddress[VoidFunc] : -# 2096| v2096_2(void) = Call[VoidFunc] : func:r2096_1 -# 2096| m2096_3(unknown) = ^CallSideEffect : ~m2093_7 -# 2096| m2096_4(unknown) = Chi : total:m2093_7, partial:m2096_3 -# 2097| r2097_1(glval) = VariableAddress[#return] : -# 2097| r2097_2(glval) = VariableAddress[x] : -# 2097| r2097_3(int) = Load[x] : &:r2097_2, m2093_8 -# 2097| m2097_4(int) = Store[#return] : &:r2097_1, r2097_3 -# 2092| r2092_6(glval) = VariableAddress[#return] : -# 2092| v2092_7(void) = ReturnValue : &:r2092_6, m2097_4 -# 2092| v2092_8(void) = AliasedUse : ~m2096_4 -# 2092| v2092_9(void) = ExitFunction : +# 2098| void Derived2::~Derived2() +# 2098| Block 0 +# 2098| v2098_1(void) = EnterFunction : +# 2098| m2098_2(unknown) = AliasedDefinition : +# 2098| m2098_3(unknown) = InitializeNonLocal : +# 2098| m2098_4(unknown) = Chi : total:m2098_2, partial:m2098_3 +# 2098| r2098_5(glval) = VariableAddress[#this] : +# 2098| m2098_6(glval) = InitializeParameter[#this] : &:r2098_5 +# 2098| r2098_7(glval) = Load[#this] : &:r2098_5, m2098_6 +# 2098| m2098_8(Derived2) = InitializeIndirection[#this] : &:r2098_7 +# 2098| v2098_9(void) = NoOp : +# 2098| r2098_10(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : m2098_6 +# 2098| r2098_11(glval) = FunctionAddress[~Base2] : +# 2098| v2098_12(void) = Call[~Base2] : func:r2098_11, this:r2098_10 +# 2098| m2098_13(unknown) = ^CallSideEffect : ~m2098_4 +# 2098| m2098_14(unknown) = Chi : total:m2098_4, partial:m2098_13 +# 2098| v2098_15(void) = ReturnIndirection[#this] : &:r2098_7, m2098_8 +# 2098| v2098_16(void) = ReturnVoid : +# 2098| v2098_17(void) = AliasedUse : ~m2098_14 +# 2098| v2098_18(void) = ExitFunction : -# 2100| void newArrayCorrectType(size_t) +# 2100| void Derived2::operator delete(void*) # 2100| Block 0 -# 2100| v2100_1(void) = EnterFunction : -# 2100| m2100_2(unknown) = AliasedDefinition : -# 2100| m2100_3(unknown) = InitializeNonLocal : -# 2100| m2100_4(unknown) = Chi : total:m2100_2, partial:m2100_3 -# 2100| r2100_5(glval) = VariableAddress[n] : -# 2100| m2100_6(unsigned long) = InitializeParameter[n] : &:r2100_5 -# 2101| r2101_1(glval) = FunctionAddress[operator new[]] : -# 2101| r2101_2(glval) = VariableAddress[n] : -# 2101| r2101_3(unsigned long) = Load[n] : &:r2101_2, m2100_6 -# 2101| r2101_4(unsigned long) = Constant[4] : -# 2101| r2101_5(unsigned long) = Mul : r2101_3, r2101_4 -# 2101| r2101_6(void *) = Call[operator new[]] : func:r2101_1, 0:r2101_5 -# 2101| m2101_7(unknown) = ^CallSideEffect : ~m2100_4 -# 2101| m2101_8(unknown) = Chi : total:m2100_4, partial:m2101_7 -# 2101| m2101_9(unknown) = ^InitializeDynamicAllocation : &:r2101_6 -# 2101| r2101_10(int *) = Convert : r2101_6 -# 2102| r2102_1(glval) = FunctionAddress[operator new[]] : -# 2102| r2102_2(glval) = VariableAddress[n] : -# 2102| r2102_3(unsigned long) = Load[n] : &:r2102_2, m2100_6 -# 2102| r2102_4(unsigned long) = Constant[4] : -# 2102| r2102_5(unsigned long) = Mul : r2102_3, r2102_4 -# 2102| r2102_6(float) = Constant[1.0] : -# 2102| r2102_7(void *) = Call[operator new[]] : func:r2102_1, 0:r2102_5, 1:r2102_6 -# 2102| m2102_8(unknown) = ^CallSideEffect : ~m2101_8 -# 2102| m2102_9(unknown) = Chi : total:m2101_8, partial:m2102_8 -# 2102| m2102_10(unknown) = ^InitializeDynamicAllocation : &:r2102_7 -# 2102| r2102_11(int *) = Convert : r2102_7 -# 2103| r2103_1(glval) = FunctionAddress[operator new[]] : -# 2103| r2103_2(glval) = VariableAddress[n] : -# 2103| r2103_3(unsigned long) = Load[n] : &:r2103_2, m2100_6 -# 2103| r2103_4(unsigned long) = Constant[8] : -# 2103| r2103_5(unsigned long) = Mul : r2103_3, r2103_4 -# 2103| r2103_6(void *) = Call[operator new[]] : func:r2103_1, 0:r2103_5 -# 2103| m2103_7(unknown) = ^CallSideEffect : ~m2102_9 -# 2103| m2103_8(unknown) = Chi : total:m2102_9, partial:m2103_7 -# 2103| m2103_9(unknown) = ^InitializeDynamicAllocation : &:r2103_6 -# 2103| r2103_10(String *) = Convert : r2103_6 -# 2104| r2104_1(glval) = FunctionAddress[operator new[]] : -# 2104| r2104_2(glval) = VariableAddress[n] : -# 2104| r2104_3(unsigned long) = Load[n] : &:r2104_2, m2100_6 -# 2104| r2104_4(unsigned long) = Constant[256] : -# 2104| r2104_5(unsigned long) = Mul : r2104_3, r2104_4 -# 2104| r2104_6(align_val_t) = Constant[128] : -# 2104| r2104_7(void *) = Call[operator new[]] : func:r2104_1, 0:r2104_5, 1:r2104_6 -# 2104| m2104_8(unknown) = ^CallSideEffect : ~m2103_8 -# 2104| m2104_9(unknown) = Chi : total:m2103_8, partial:m2104_8 -# 2104| m2104_10(unknown) = ^InitializeDynamicAllocation : &:r2104_7 -# 2104| r2104_11(Overaligned *) = Convert : r2104_7 -# 2105| r2105_1(glval) = FunctionAddress[operator new[]] : -# 2105| r2105_2(glval) = VariableAddress[n] : -# 2105| r2105_3(unsigned long) = Load[n] : &:r2105_2, m2100_6 -# 2105| r2105_4(unsigned long) = Constant[1] : -# 2105| r2105_5(unsigned long) = Mul : r2105_3, r2105_4 -# 2105| r2105_6(void *) = Call[operator new[]] : func:r2105_1, 0:r2105_5 -# 2105| m2105_7(unknown) = ^CallSideEffect : ~m2104_9 -# 2105| m2105_8(unknown) = Chi : total:m2104_9, partial:m2105_7 -# 2105| m2105_9(unknown) = ^InitializeDynamicAllocation : &:r2105_6 -# 2105| r2105_10(DefaultCtorWithDefaultParam *) = Convert : r2105_6 -# 2106| r2106_1(glval) = FunctionAddress[operator new[]] : -# 2106| r2106_2(glval) = VariableAddress[n] : -# 2106| r2106_3(unsigned long) = Load[n] : &:r2106_2, m2100_6 -# 2106| r2106_4(unsigned long) = Constant[4] : -# 2106| r2106_5(unsigned long) = Mul : r2106_3, r2106_4 -# 2106| r2106_6(void *) = Call[operator new[]] : func:r2106_1, 0:r2106_5 -# 2106| m2106_7(unknown) = ^CallSideEffect : ~m2105_8 -# 2106| m2106_8(unknown) = Chi : total:m2105_8, partial:m2106_7 -# 2106| m2106_9(unknown) = ^InitializeDynamicAllocation : &:r2106_6 -# 2106| r2106_10(int *) = Convert : r2106_6 -# 2107| v2107_1(void) = NoOp : -# 2100| v2100_7(void) = ReturnVoid : -# 2100| v2100_8(void) = AliasedUse : ~m2106_8 -# 2100| v2100_9(void) = ExitFunction : +# 2100| v2100_1(void) = EnterFunction : +# 2100| m2100_2(unknown) = AliasedDefinition : +# 2100| m2100_3(unknown) = InitializeNonLocal : +# 2100| m2100_4(unknown) = Chi : total:m2100_2, partial:m2100_3 +# 2100| r2100_5(glval) = VariableAddress[p] : +# 2100| m2100_6(void *) = InitializeParameter[p] : &:r2100_5 +# 2100| r2100_7(void *) = Load[p] : &:r2100_5, m2100_6 +# 2100| m2100_8(unknown) = InitializeIndirection[p] : &:r2100_7 +# 2101| v2101_1(void) = NoOp : +# 2100| v2100_9(void) = ReturnIndirection[p] : &:r2100_7, m2100_8 +# 2100| v2100_10(void) = ReturnVoid : +# 2100| v2100_11(void) = AliasedUse : m2100_3 +# 2100| v2100_12(void) = ExitFunction : -# 2111| char* test_strtod(char*) -# 2111| Block 0 -# 2111| v2111_1(void) = EnterFunction : -# 2111| m2111_2(unknown) = AliasedDefinition : -# 2111| m2111_3(unknown) = InitializeNonLocal : -# 2111| m2111_4(unknown) = Chi : total:m2111_2, partial:m2111_3 -# 2111| r2111_5(glval) = VariableAddress[s] : -# 2111| m2111_6(char *) = InitializeParameter[s] : &:r2111_5 -# 2111| r2111_7(char *) = Load[s] : &:r2111_5, m2111_6 -# 2111| m2111_8(unknown) = InitializeIndirection[s] : &:r2111_7 -# 2112| r2112_1(glval) = VariableAddress[end] : -# 2112| m2112_2(char *) = Uninitialized[end] : &:r2112_1 -# 2113| r2113_1(glval) = VariableAddress[d] : -# 2113| r2113_2(glval) = FunctionAddress[strtod] : -# 2113| r2113_3(glval) = VariableAddress[s] : -# 2113| r2113_4(char *) = Load[s] : &:r2113_3, m2111_6 -# 2113| r2113_5(char *) = Convert : r2113_4 -# 2113| r2113_6(glval) = VariableAddress[end] : -# 2113| r2113_7(char **) = CopyValue : r2113_6 -# 2113| r2113_8(double) = Call[strtod] : func:r2113_2, 0:r2113_5, 1:r2113_7 -# 2113| v2113_9(void) = ^BufferReadSideEffect[0] : &:r2113_5, ~m2111_8 -# 2113| m2113_10(char *) = ^IndirectMayWriteSideEffect[1] : &:r2113_7 -# 2113| m2113_11(char *) = Chi : total:m2112_2, partial:m2113_10 -# 2113| m2113_12(double) = Store[d] : &:r2113_1, r2113_8 -# 2114| r2114_1(glval) = VariableAddress[#return] : -# 2114| r2114_2(glval) = VariableAddress[end] : -# 2114| r2114_3(char *) = Load[end] : &:r2114_2, m2113_11 -# 2114| m2114_4(char *) = Store[#return] : &:r2114_1, r2114_3 -# 2111| v2111_9(void) = ReturnIndirection[s] : &:r2111_7, m2111_8 -# 2111| r2111_10(glval) = VariableAddress[#return] : -# 2111| v2111_11(void) = ReturnValue : &:r2111_10, m2114_4 -# 2111| v2111_12(void) = AliasedUse : m2111_3 -# 2111| v2111_13(void) = ExitFunction : +# 2105| int virtual_delete() +# 2105| Block 0 +# 2105| v2105_1(void) = EnterFunction : +# 2105| m2105_2(unknown) = AliasedDefinition : +# 2105| m2105_3(unknown) = InitializeNonLocal : +# 2105| m2105_4(unknown) = Chi : total:m2105_2, partial:m2105_3 +# 2107| r2107_1(glval) = VariableAddress[b1] : +# 2107| r2107_2(glval) = FunctionAddress[operator new] : +# 2107| r2107_3(unsigned long) = Constant[8] : +# 2107| r2107_4(void *) = Call[operator new] : func:r2107_2, 0:r2107_3 +# 2107| m2107_5(unknown) = ^CallSideEffect : ~m2105_4 +# 2107| m2107_6(unknown) = Chi : total:m2105_4, partial:m2107_5 +# 2107| m2107_7(unknown) = ^InitializeDynamicAllocation : &:r2107_4 +# 2107| r2107_8(Base2 *) = Convert : r2107_4 +# 2107| r2107_9(glval) = FunctionAddress[Base2] : +# 2107| v2107_10(void) = Call[Base2] : func:r2107_9, this:r2107_8 +# 2107| m2107_11(unknown) = ^CallSideEffect : ~m2107_6 +# 2107| m2107_12(unknown) = Chi : total:m2107_6, partial:m2107_11 +# 2107| m2107_13(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2107_8 +# 2107| m2107_14(unknown) = Chi : total:m2107_7, partial:m2107_13 +# 2107| m2107_15(Base2 *) = Store[b1] : &:r2107_1, r2107_8 +# 2108| r2108_1(glval) = VirtualDeleteFunctionAddress : +# 2108| r2108_2(glval) = VariableAddress[b1] : +# 2108| r2108_3(Base2 *) = Load[b1] : &:r2108_2, m2107_15 +# 2108| v2108_4(void) = Call[?] : func:r2108_1, 0:r2108_3 +# 2108| m2108_5(unknown) = ^CallSideEffect : ~m2107_12 +# 2108| m2108_6(unknown) = Chi : total:m2107_12, partial:m2108_5 +# 2110| r2110_1(glval) = VariableAddress[b2] : +# 2110| r2110_2(glval) = FunctionAddress[operator new] : +# 2110| r2110_3(unsigned long) = Constant[16] : +# 2110| r2110_4(void *) = Call[operator new] : func:r2110_2, 0:r2110_3 +# 2110| m2110_5(unknown) = ^CallSideEffect : ~m2108_6 +# 2110| m2110_6(unknown) = Chi : total:m2108_6, partial:m2110_5 +# 2110| m2110_7(unknown) = ^InitializeDynamicAllocation : &:r2110_4 +# 2110| r2110_8(Derived2 *) = Convert : r2110_4 +# 2110| r2110_9(glval) = FunctionAddress[Derived2] : +# 2110| v2110_10(void) = Call[Derived2] : func:r2110_9, this:r2110_8 +# 2110| m2110_11(unknown) = ^CallSideEffect : ~m2110_6 +# 2110| m2110_12(unknown) = Chi : total:m2110_6, partial:m2110_11 +# 2110| m2110_13(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2110_8 +# 2110| m2110_14(unknown) = Chi : total:m2110_7, partial:m2110_13 +# 2110| r2110_15(Base2 *) = ConvertToNonVirtualBase[Derived2 : Base2] : r2110_8 +# 2110| m2110_16(Base2 *) = Store[b2] : &:r2110_1, r2110_15 +# 2111| r2111_1(glval) = VirtualDeleteFunctionAddress : +# 2111| r2111_2(glval) = VariableAddress[b2] : +# 2111| r2111_3(Base2 *) = Load[b2] : &:r2111_2, m2110_16 +# 2111| v2111_4(void) = Call[?] : func:r2111_1, 0:r2111_3 +# 2111| m2111_5(unknown) = ^CallSideEffect : ~m2110_12 +# 2111| m2111_6(unknown) = Chi : total:m2110_12, partial:m2111_5 +# 2113| r2113_1(glval) = VariableAddress[d] : +# 2113| r2113_2(glval) = FunctionAddress[operator new] : +# 2113| r2113_3(unsigned long) = Constant[16] : +# 2113| r2113_4(void *) = Call[operator new] : func:r2113_2, 0:r2113_3 +# 2113| m2113_5(unknown) = ^CallSideEffect : ~m2111_6 +# 2113| m2113_6(unknown) = Chi : total:m2111_6, partial:m2113_5 +# 2113| m2113_7(unknown) = ^InitializeDynamicAllocation : &:r2113_4 +# 2113| r2113_8(Derived2 *) = Convert : r2113_4 +# 2113| r2113_9(glval) = FunctionAddress[Derived2] : +# 2113| v2113_10(void) = Call[Derived2] : func:r2113_9, this:r2113_8 +# 2113| m2113_11(unknown) = ^CallSideEffect : ~m2113_6 +# 2113| m2113_12(unknown) = Chi : total:m2113_6, partial:m2113_11 +# 2113| m2113_13(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2113_8 +# 2113| m2113_14(unknown) = Chi : total:m2113_7, partial:m2113_13 +# 2113| m2113_15(Derived2 *) = Store[d] : &:r2113_1, r2113_8 +# 2114| r2114_1(glval) = VirtualDeleteFunctionAddress : +# 2114| r2114_2(glval) = VariableAddress[d] : +# 2114| r2114_3(Derived2 *) = Load[d] : &:r2114_2, m2113_15 +# 2114| v2114_4(void) = Call[?] : func:r2114_1, 0:r2114_3 +# 2114| m2114_5(unknown) = ^CallSideEffect : ~m2113_12 +# 2114| m2114_6(unknown) = Chi : total:m2113_12, partial:m2114_5 +# 2115| r2115_1(glval) = VariableAddress[#return] : +# 2115| m2115_2(int) = Uninitialized[#return] : &:r2115_1 +# 2105| r2105_5(glval) = VariableAddress[#return] : +# 2105| v2105_6(void) = ReturnValue : &:r2105_5, m2115_2 +# 2105| v2105_7(void) = AliasedUse : ~m2114_6 +# 2105| v2105_8(void) = ExitFunction : -# 2121| void call_as_child_of_ConditionDeclExpr() -# 2121| Block 0 -# 2121| v2121_1(void) = EnterFunction : -# 2121| m2121_2(unknown) = AliasedDefinition : -# 2121| m2121_3(unknown) = InitializeNonLocal : -# 2121| m2121_4(unknown) = Chi : total:m2121_2, partial:m2121_3 -# 2122| r2122_1(glval) = VariableAddress[b] : -# 2122| r2122_2(HasOperatorBool) = Constant[0] : -# 2122| m2122_3(HasOperatorBool) = Store[b] : &:r2122_1, r2122_2 -# 2122| r2122_4(glval) = VariableAddress[b] : -# 2122| r2122_5(glval) = FunctionAddress[operator bool] : -# 2122| r2122_6(bool) = Call[operator bool] : func:r2122_5, this:r2122_4 -# 2122| m2122_7(unknown) = ^CallSideEffect : ~m2121_4 -# 2122| m2122_8(unknown) = Chi : total:m2121_4, partial:m2122_7 -# 2122| v2122_9(void) = ^IndirectReadSideEffect[-1] : &:r2122_4, m2122_3 -# 2122| m2122_10(HasOperatorBool) = ^IndirectMayWriteSideEffect[-1] : &:r2122_4 -# 2122| m2122_11(HasOperatorBool) = Chi : total:m2122_3, partial:m2122_10 -# 2122| r2122_12(bool) = CopyValue : r2122_6 -# 2122| v2122_13(void) = ConditionalBranch : r2122_12 +# 2119| void test_constant_folding() +# 2119| Block 0 +# 2119| v2119_1(void) = EnterFunction : +# 2119| m2119_2(unknown) = AliasedDefinition : +# 2119| m2119_3(unknown) = InitializeNonLocal : +# 2119| m2119_4(unknown) = Chi : total:m2119_2, partial:m2119_3 +# 2120| r2120_1(glval) = VariableAddress[x] : +# 2120| r2120_2(int) = Constant[116] : +# 2120| m2120_3(int) = Store[x] : &:r2120_1, r2120_2 +# 2121| r2121_1(glval) = FunctionAddress[test_constant_folding_use] : +# 2121| r2121_2(int) = Constant[116] : +# 2121| v2121_3(void) = Call[test_constant_folding_use] : func:r2121_1, 0:r2121_2 +# 2121| m2121_4(unknown) = ^CallSideEffect : ~m2119_4 +# 2121| m2121_5(unknown) = Chi : total:m2119_4, partial:m2121_4 +# 2122| v2122_1(void) = NoOp : +# 2119| v2119_5(void) = ReturnVoid : +# 2119| v2119_6(void) = AliasedUse : ~m2121_5 +# 2119| v2119_7(void) = ExitFunction : + +# 2126| int NonExit() +# 2126| Block 0 +# 2126| v2126_1(void) = EnterFunction : +# 2126| m2126_2(unknown) = AliasedDefinition : +# 2126| m2126_3(unknown) = InitializeNonLocal : +# 2126| m2126_4(unknown) = Chi : total:m2126_2, partial:m2126_3 +# 2127| r2127_1(glval) = VariableAddress[x] : +# 2127| r2127_2(glval) = FunctionAddress[Add] : +# 2127| r2127_3(int) = Constant[3] : +# 2127| r2127_4(int) = Constant[4] : +# 2127| r2127_5(int) = Call[Add] : func:r2127_2, 0:r2127_3, 1:r2127_4 +# 2127| m2127_6(unknown) = ^CallSideEffect : ~m2126_4 +# 2127| m2127_7(unknown) = Chi : total:m2126_4, partial:m2127_6 +# 2127| m2127_8(int) = Store[x] : &:r2127_1, r2127_5 +# 2128| r2128_1(glval) = VariableAddress[x] : +# 2128| r2128_2(int) = Load[x] : &:r2128_1, m2127_8 +# 2128| r2128_3(int) = Constant[7] : +# 2128| r2128_4(bool) = CompareEQ : r2128_2, r2128_3 +# 2128| v2128_5(void) = ConditionalBranch : r2128_4 #-----| False -> Block 2 #-----| True -> Block 1 -# 2122| Block 1 -# 2122| v2122_14(void) = NoOp : +# 2129| Block 1 +# 2129| r2129_1(glval) = FunctionAddress[exit] : +# 2129| r2129_2(int) = Constant[3] : +# 2129| v2129_3(void) = Call[exit] : func:r2129_1, 0:r2129_2 +# 2129| m2129_4(unknown) = ^CallSideEffect : ~m2127_7 +# 2129| m2129_5(unknown) = Chi : total:m2127_7, partial:m2129_4 +# 2126| v2126_5(void) = Unreached : + +# 2130| Block 2 +# 2130| r2130_1(glval) = FunctionAddress[VoidFunc] : +# 2130| v2130_2(void) = Call[VoidFunc] : func:r2130_1 +# 2130| m2130_3(unknown) = ^CallSideEffect : ~m2127_7 +# 2130| m2130_4(unknown) = Chi : total:m2127_7, partial:m2130_3 +# 2131| r2131_1(glval) = VariableAddress[#return] : +# 2131| r2131_2(glval) = VariableAddress[x] : +# 2131| r2131_3(int) = Load[x] : &:r2131_2, m2127_8 +# 2131| m2131_4(int) = Store[#return] : &:r2131_1, r2131_3 +# 2126| r2126_6(glval) = VariableAddress[#return] : +# 2126| v2126_7(void) = ReturnValue : &:r2126_6, m2131_4 +# 2126| v2126_8(void) = AliasedUse : ~m2130_4 +# 2126| v2126_9(void) = ExitFunction : + +# 2134| void CallsNonExit() +# 2134| Block 0 +# 2134| v2134_1(void) = EnterFunction : +# 2134| m2134_2(unknown) = AliasedDefinition : +# 2134| m2134_3(unknown) = InitializeNonLocal : +# 2134| m2134_4(unknown) = Chi : total:m2134_2, partial:m2134_3 +# 2135| r2135_1(glval) = FunctionAddress[VoidFunc] : +# 2135| v2135_2(void) = Call[VoidFunc] : func:r2135_1 +# 2135| m2135_3(unknown) = ^CallSideEffect : ~m2134_4 +# 2135| m2135_4(unknown) = Chi : total:m2134_4, partial:m2135_3 +# 2136| r2136_1(glval) = FunctionAddress[exit] : +# 2136| r2136_2(int) = Constant[3] : +# 2136| v2136_3(void) = Call[exit] : func:r2136_1, 0:r2136_2 +# 2136| m2136_4(unknown) = ^CallSideEffect : ~m2135_4 +# 2136| m2136_5(unknown) = Chi : total:m2135_4, partial:m2136_4 +# 2134| v2134_5(void) = Unreached : + +# 2139| int TransNonExit() +# 2139| Block 0 +# 2139| v2139_1(void) = EnterFunction : +# 2139| m2139_2(unknown) = AliasedDefinition : +# 2139| m2139_3(unknown) = InitializeNonLocal : +# 2139| m2139_4(unknown) = Chi : total:m2139_2, partial:m2139_3 +# 2140| r2140_1(glval) = VariableAddress[x] : +# 2140| r2140_2(glval) = FunctionAddress[Add] : +# 2140| r2140_3(int) = Constant[3] : +# 2140| r2140_4(int) = Constant[4] : +# 2140| r2140_5(int) = Call[Add] : func:r2140_2, 0:r2140_3, 1:r2140_4 +# 2140| m2140_6(unknown) = ^CallSideEffect : ~m2139_4 +# 2140| m2140_7(unknown) = Chi : total:m2139_4, partial:m2140_6 +# 2140| m2140_8(int) = Store[x] : &:r2140_1, r2140_5 +# 2141| r2141_1(glval) = VariableAddress[x] : +# 2141| r2141_2(int) = Load[x] : &:r2141_1, m2140_8 +# 2141| r2141_3(int) = Constant[7] : +# 2141| r2141_4(bool) = CompareEQ : r2141_2, r2141_3 +# 2141| v2141_5(void) = ConditionalBranch : r2141_4 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 2142| Block 1 +# 2142| r2142_1(glval) = FunctionAddress[CallsNonExit] : +# 2142| v2142_2(void) = Call[CallsNonExit] : func:r2142_1 +# 2139| v2139_5(void) = Unreached : + +# 2143| Block 2 +# 2143| r2143_1(glval) = FunctionAddress[VoidFunc] : +# 2143| v2143_2(void) = Call[VoidFunc] : func:r2143_1 +# 2143| m2143_3(unknown) = ^CallSideEffect : ~m2140_7 +# 2143| m2143_4(unknown) = Chi : total:m2140_7, partial:m2143_3 +# 2144| r2144_1(glval) = VariableAddress[#return] : +# 2144| r2144_2(glval) = VariableAddress[x] : +# 2144| r2144_3(int) = Load[x] : &:r2144_2, m2140_8 +# 2144| m2144_4(int) = Store[#return] : &:r2144_1, r2144_3 +# 2139| r2139_6(glval) = VariableAddress[#return] : +# 2139| v2139_7(void) = ReturnValue : &:r2139_6, m2144_4 +# 2139| v2139_8(void) = AliasedUse : ~m2143_4 +# 2139| v2139_9(void) = ExitFunction : + +# 2147| void newArrayCorrectType(size_t) +# 2147| Block 0 +# 2147| v2147_1(void) = EnterFunction : +# 2147| m2147_2(unknown) = AliasedDefinition : +# 2147| m2147_3(unknown) = InitializeNonLocal : +# 2147| m2147_4(unknown) = Chi : total:m2147_2, partial:m2147_3 +# 2147| r2147_5(glval) = VariableAddress[n] : +# 2147| m2147_6(unsigned long) = InitializeParameter[n] : &:r2147_5 +# 2148| r2148_1(glval) = FunctionAddress[operator new[]] : +# 2148| r2148_2(glval) = VariableAddress[n] : +# 2148| r2148_3(unsigned long) = Load[n] : &:r2148_2, m2147_6 +# 2148| r2148_4(unsigned long) = Constant[4] : +# 2148| r2148_5(unsigned long) = Mul : r2148_3, r2148_4 +# 2148| r2148_6(void *) = Call[operator new[]] : func:r2148_1, 0:r2148_5 +# 2148| m2148_7(unknown) = ^CallSideEffect : ~m2147_4 +# 2148| m2148_8(unknown) = Chi : total:m2147_4, partial:m2148_7 +# 2148| m2148_9(unknown) = ^InitializeDynamicAllocation : &:r2148_6 +# 2148| r2148_10(int *) = Convert : r2148_6 +# 2149| r2149_1(glval) = FunctionAddress[operator new[]] : +# 2149| r2149_2(glval) = VariableAddress[n] : +# 2149| r2149_3(unsigned long) = Load[n] : &:r2149_2, m2147_6 +# 2149| r2149_4(unsigned long) = Constant[4] : +# 2149| r2149_5(unsigned long) = Mul : r2149_3, r2149_4 +# 2149| r2149_6(float) = Constant[1.0] : +# 2149| r2149_7(void *) = Call[operator new[]] : func:r2149_1, 0:r2149_5, 1:r2149_6 +# 2149| m2149_8(unknown) = ^CallSideEffect : ~m2148_8 +# 2149| m2149_9(unknown) = Chi : total:m2148_8, partial:m2149_8 +# 2149| m2149_10(unknown) = ^InitializeDynamicAllocation : &:r2149_7 +# 2149| r2149_11(int *) = Convert : r2149_7 +# 2150| r2150_1(glval) = FunctionAddress[operator new[]] : +# 2150| r2150_2(glval) = VariableAddress[n] : +# 2150| r2150_3(unsigned long) = Load[n] : &:r2150_2, m2147_6 +# 2150| r2150_4(unsigned long) = Constant[8] : +# 2150| r2150_5(unsigned long) = Mul : r2150_3, r2150_4 +# 2150| r2150_6(void *) = Call[operator new[]] : func:r2150_1, 0:r2150_5 +# 2150| m2150_7(unknown) = ^CallSideEffect : ~m2149_9 +# 2150| m2150_8(unknown) = Chi : total:m2149_9, partial:m2150_7 +# 2150| m2150_9(unknown) = ^InitializeDynamicAllocation : &:r2150_6 +# 2150| r2150_10(String *) = Convert : r2150_6 +# 2151| r2151_1(glval) = FunctionAddress[operator new[]] : +# 2151| r2151_2(glval) = VariableAddress[n] : +# 2151| r2151_3(unsigned long) = Load[n] : &:r2151_2, m2147_6 +# 2151| r2151_4(unsigned long) = Constant[256] : +# 2151| r2151_5(unsigned long) = Mul : r2151_3, r2151_4 +# 2151| r2151_6(align_val_t) = Constant[128] : +# 2151| r2151_7(void *) = Call[operator new[]] : func:r2151_1, 0:r2151_5, 1:r2151_6 +# 2151| m2151_8(unknown) = ^CallSideEffect : ~m2150_8 +# 2151| m2151_9(unknown) = Chi : total:m2150_8, partial:m2151_8 +# 2151| m2151_10(unknown) = ^InitializeDynamicAllocation : &:r2151_7 +# 2151| r2151_11(Overaligned *) = Convert : r2151_7 +# 2152| r2152_1(glval) = FunctionAddress[operator new[]] : +# 2152| r2152_2(glval) = VariableAddress[n] : +# 2152| r2152_3(unsigned long) = Load[n] : &:r2152_2, m2147_6 +# 2152| r2152_4(unsigned long) = Constant[1] : +# 2152| r2152_5(unsigned long) = Mul : r2152_3, r2152_4 +# 2152| r2152_6(void *) = Call[operator new[]] : func:r2152_1, 0:r2152_5 +# 2152| m2152_7(unknown) = ^CallSideEffect : ~m2151_9 +# 2152| m2152_8(unknown) = Chi : total:m2151_9, partial:m2152_7 +# 2152| m2152_9(unknown) = ^InitializeDynamicAllocation : &:r2152_6 +# 2152| r2152_10(DefaultCtorWithDefaultParam *) = Convert : r2152_6 +# 2153| r2153_1(glval) = FunctionAddress[operator new[]] : +# 2153| r2153_2(glval) = VariableAddress[n] : +# 2153| r2153_3(unsigned long) = Load[n] : &:r2153_2, m2147_6 +# 2153| r2153_4(unsigned long) = Constant[4] : +# 2153| r2153_5(unsigned long) = Mul : r2153_3, r2153_4 +# 2153| r2153_6(void *) = Call[operator new[]] : func:r2153_1, 0:r2153_5 +# 2153| m2153_7(unknown) = ^CallSideEffect : ~m2152_8 +# 2153| m2153_8(unknown) = Chi : total:m2152_8, partial:m2153_7 +# 2153| m2153_9(unknown) = ^InitializeDynamicAllocation : &:r2153_6 +# 2153| r2153_10(int *) = Convert : r2153_6 +# 2154| v2154_1(void) = NoOp : +# 2147| v2147_7(void) = ReturnVoid : +# 2147| v2147_8(void) = AliasedUse : ~m2153_8 +# 2147| v2147_9(void) = ExitFunction : + +# 2158| char* test_strtod(char*) +# 2158| Block 0 +# 2158| v2158_1(void) = EnterFunction : +# 2158| m2158_2(unknown) = AliasedDefinition : +# 2158| m2158_3(unknown) = InitializeNonLocal : +# 2158| m2158_4(unknown) = Chi : total:m2158_2, partial:m2158_3 +# 2158| r2158_5(glval) = VariableAddress[s] : +# 2158| m2158_6(char *) = InitializeParameter[s] : &:r2158_5 +# 2158| r2158_7(char *) = Load[s] : &:r2158_5, m2158_6 +# 2158| m2158_8(unknown) = InitializeIndirection[s] : &:r2158_7 +# 2159| r2159_1(glval) = VariableAddress[end] : +# 2159| m2159_2(char *) = Uninitialized[end] : &:r2159_1 +# 2160| r2160_1(glval) = VariableAddress[d] : +# 2160| r2160_2(glval) = FunctionAddress[strtod] : +# 2160| r2160_3(glval) = VariableAddress[s] : +# 2160| r2160_4(char *) = Load[s] : &:r2160_3, m2158_6 +# 2160| r2160_5(char *) = Convert : r2160_4 +# 2160| r2160_6(glval) = VariableAddress[end] : +# 2160| r2160_7(char **) = CopyValue : r2160_6 +# 2160| r2160_8(double) = Call[strtod] : func:r2160_2, 0:r2160_5, 1:r2160_7 +# 2160| v2160_9(void) = ^BufferReadSideEffect[0] : &:r2160_5, ~m2158_8 +# 2160| m2160_10(char *) = ^IndirectMayWriteSideEffect[1] : &:r2160_7 +# 2160| m2160_11(char *) = Chi : total:m2159_2, partial:m2160_10 +# 2160| m2160_12(double) = Store[d] : &:r2160_1, r2160_8 +# 2161| r2161_1(glval) = VariableAddress[#return] : +# 2161| r2161_2(glval) = VariableAddress[end] : +# 2161| r2161_3(char *) = Load[end] : &:r2161_2, m2160_11 +# 2161| m2161_4(char *) = Store[#return] : &:r2161_1, r2161_3 +# 2158| v2158_9(void) = ReturnIndirection[s] : &:r2158_7, m2158_8 +# 2158| r2158_10(glval) = VariableAddress[#return] : +# 2158| v2158_11(void) = ReturnValue : &:r2158_10, m2161_4 +# 2158| v2158_12(void) = AliasedUse : m2158_3 +# 2158| v2158_13(void) = ExitFunction : + +# 2168| void call_as_child_of_ConditionDeclExpr() +# 2168| Block 0 +# 2168| v2168_1(void) = EnterFunction : +# 2168| m2168_2(unknown) = AliasedDefinition : +# 2168| m2168_3(unknown) = InitializeNonLocal : +# 2168| m2168_4(unknown) = Chi : total:m2168_2, partial:m2168_3 +# 2169| r2169_1(glval) = VariableAddress[b] : +# 2169| r2169_2(HasOperatorBool) = Constant[0] : +# 2169| m2169_3(HasOperatorBool) = Store[b] : &:r2169_1, r2169_2 +# 2169| r2169_4(glval) = VariableAddress[b] : +# 2169| r2169_5(glval) = FunctionAddress[operator bool] : +# 2169| r2169_6(bool) = Call[operator bool] : func:r2169_5, this:r2169_4 +# 2169| m2169_7(unknown) = ^CallSideEffect : ~m2168_4 +# 2169| m2169_8(unknown) = Chi : total:m2168_4, partial:m2169_7 +# 2169| v2169_9(void) = ^IndirectReadSideEffect[-1] : &:r2169_4, m2169_3 +# 2169| m2169_10(HasOperatorBool) = ^IndirectMayWriteSideEffect[-1] : &:r2169_4 +# 2169| m2169_11(HasOperatorBool) = Chi : total:m2169_3, partial:m2169_10 +# 2169| r2169_12(bool) = CopyValue : r2169_6 +# 2169| v2169_13(void) = ConditionalBranch : r2169_12 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 2169| Block 1 +# 2169| v2169_14(void) = NoOp : #-----| Goto -> Block 2 -# 2123| Block 2 -# 2123| v2123_1(void) = NoOp : -# 2121| v2121_5(void) = ReturnVoid : -# 2121| v2121_6(void) = AliasedUse : ~m2122_8 -# 2121| v2121_7(void) = ExitFunction : +# 2170| Block 2 +# 2170| v2170_1(void) = NoOp : +# 2168| v2168_5(void) = ReturnVoid : +# 2168| v2168_6(void) = AliasedUse : ~m2169_8 +# 2168| v2168_7(void) = ExitFunction : -# 2125| void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) -# 2125| Block 0 -# 2125| v2125_1(void) = EnterFunction : -# 2125| m2125_2(unknown) = AliasedDefinition : -# 2125| m2125_3(unknown) = InitializeNonLocal : -# 2125| m2125_4(unknown) = Chi : total:m2125_2, partial:m2125_3 -# 2125| r2125_5(glval) = VariableAddress[#this] : -# 2125| m2125_6(glval) = InitializeParameter[#this] : &:r2125_5 -# 2125| r2125_7(glval) = Load[#this] : &:r2125_5, m2125_6 -# 2125| m2125_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2125_7 +# 2172| void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) +# 2172| Block 0 +# 2172| v2172_1(void) = EnterFunction : +# 2172| m2172_2(unknown) = AliasedDefinition : +# 2172| m2172_3(unknown) = InitializeNonLocal : +# 2172| m2172_4(unknown) = Chi : total:m2172_2, partial:m2172_3 +# 2172| r2172_5(glval) = VariableAddress[#this] : +# 2172| m2172_6(glval) = InitializeParameter[#this] : &:r2172_5 +# 2172| r2172_7(glval) = Load[#this] : &:r2172_5, m2172_6 +# 2172| m2172_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2172_7 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| m0_2(ClassWithDestructor &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 #-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 2125| r2125_9(glval) = FieldAddress[x] : m2125_6 -# 2125| r2125_10(glval) = VariableAddress[(unnamed parameter 0)] : -# 2125| r2125_11(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r2125_10, m0_2 -# 2125| r2125_12(glval) = CopyValue : r2125_11 -# 2125| r2125_13(glval) = FieldAddress[x] : r2125_12 -# 2125| r2125_14(char *) = Load[?] : &:r2125_13, ~m0_4 -# 2125| m2125_15(char *) = Store[?] : &:r2125_9, r2125_14 -# 2125| m2125_16(unknown) = Chi : total:m2125_8, partial:m2125_15 -# 2125| v2125_17(void) = NoOp : -# 2125| v2125_18(void) = ReturnIndirection[#this] : &:r2125_7, m2125_16 +# 2172| r2172_9(glval) = FieldAddress[x] : m2172_6 +# 2172| r2172_10(glval) = VariableAddress[(unnamed parameter 0)] : +# 2172| r2172_11(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r2172_10, m0_2 +# 2172| r2172_12(glval) = CopyValue : r2172_11 +# 2172| r2172_13(glval) = FieldAddress[x] : r2172_12 +# 2172| r2172_14(char *) = Load[?] : &:r2172_13, ~m0_4 +# 2172| m2172_15(char *) = Store[?] : &:r2172_9, r2172_14 +# 2172| m2172_16(unknown) = Chi : total:m2172_8, partial:m2172_15 +# 2172| v2172_17(void) = NoOp : +# 2172| v2172_18(void) = ReturnIndirection[#this] : &:r2172_7, m2172_16 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 2125| v2125_19(void) = ReturnVoid : -# 2125| v2125_20(void) = AliasedUse : m2125_3 -# 2125| v2125_21(void) = ExitFunction : +# 2172| v2172_19(void) = ReturnVoid : +# 2172| v2172_20(void) = AliasedUse : m2172_3 +# 2172| v2172_21(void) = ExitFunction : -# 2128| void ClassWithDestructor::ClassWithDestructor() -# 2128| Block 0 -# 2128| v2128_1(void) = EnterFunction : -# 2128| m2128_2(unknown) = AliasedDefinition : -# 2128| m2128_3(unknown) = InitializeNonLocal : -# 2128| m2128_4(unknown) = Chi : total:m2128_2, partial:m2128_3 -# 2128| r2128_5(glval) = VariableAddress[#this] : -# 2128| m2128_6(glval) = InitializeParameter[#this] : &:r2128_5 -# 2128| r2128_7(glval) = Load[#this] : &:r2128_5, m2128_6 -# 2128| m2128_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2128_7 -# 2128| r2128_9(glval) = FunctionAddress[operator new] : -# 2128| r2128_10(unsigned long) = Constant[1] : -# 2128| r2128_11(void *) = Call[operator new] : func:r2128_9, 0:r2128_10 -# 2128| m2128_12(unknown) = ^CallSideEffect : ~m2128_4 -# 2128| m2128_13(unknown) = Chi : total:m2128_4, partial:m2128_12 -# 2128| m2128_14(unknown) = ^InitializeDynamicAllocation : &:r2128_11 -# 2128| r2128_15(char *) = Convert : r2128_11 -# 2128| r2128_16(glval) = VariableAddress[#this] : -# 2128| r2128_17(ClassWithDestructor *) = Load[#this] : &:r2128_16, m2128_6 -# 2128| r2128_18(glval) = FieldAddress[x] : r2128_17 -# 2128| m2128_19(char *) = Store[?] : &:r2128_18, r2128_15 -# 2128| m2128_20(unknown) = Chi : total:m2128_8, partial:m2128_19 -# 2128| v2128_21(void) = NoOp : -# 2128| v2128_22(void) = ReturnIndirection[#this] : &:r2128_7, m2128_20 -# 2128| v2128_23(void) = ReturnVoid : -# 2128| v2128_24(void) = AliasedUse : ~m2128_13 -# 2128| v2128_25(void) = ExitFunction : +# 2175| void ClassWithDestructor::ClassWithDestructor() +# 2175| Block 0 +# 2175| v2175_1(void) = EnterFunction : +# 2175| m2175_2(unknown) = AliasedDefinition : +# 2175| m2175_3(unknown) = InitializeNonLocal : +# 2175| m2175_4(unknown) = Chi : total:m2175_2, partial:m2175_3 +# 2175| r2175_5(glval) = VariableAddress[#this] : +# 2175| m2175_6(glval) = InitializeParameter[#this] : &:r2175_5 +# 2175| r2175_7(glval) = Load[#this] : &:r2175_5, m2175_6 +# 2175| m2175_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2175_7 +# 2175| r2175_9(glval) = FunctionAddress[operator new] : +# 2175| r2175_10(unsigned long) = Constant[1] : +# 2175| r2175_11(void *) = Call[operator new] : func:r2175_9, 0:r2175_10 +# 2175| m2175_12(unknown) = ^CallSideEffect : ~m2175_4 +# 2175| m2175_13(unknown) = Chi : total:m2175_4, partial:m2175_12 +# 2175| m2175_14(unknown) = ^InitializeDynamicAllocation : &:r2175_11 +# 2175| r2175_15(char *) = Convert : r2175_11 +# 2175| r2175_16(glval) = VariableAddress[#this] : +# 2175| r2175_17(ClassWithDestructor *) = Load[#this] : &:r2175_16, m2175_6 +# 2175| r2175_18(glval) = FieldAddress[x] : r2175_17 +# 2175| m2175_19(char *) = Store[?] : &:r2175_18, r2175_15 +# 2175| m2175_20(unknown) = Chi : total:m2175_8, partial:m2175_19 +# 2175| v2175_21(void) = NoOp : +# 2175| v2175_22(void) = ReturnIndirection[#this] : &:r2175_7, m2175_20 +# 2175| v2175_23(void) = ReturnVoid : +# 2175| v2175_24(void) = AliasedUse : ~m2175_13 +# 2175| v2175_25(void) = ExitFunction : -# 2129| void ClassWithDestructor::~ClassWithDestructor() -# 2129| Block 0 -# 2129| v2129_1(void) = EnterFunction : -# 2129| m2129_2(unknown) = AliasedDefinition : -# 2129| m2129_3(unknown) = InitializeNonLocal : -# 2129| m2129_4(unknown) = Chi : total:m2129_2, partial:m2129_3 -# 2129| r2129_5(glval) = VariableAddress[#this] : -# 2129| m2129_6(glval) = InitializeParameter[#this] : &:r2129_5 -# 2129| r2129_7(glval) = Load[#this] : &:r2129_5, m2129_6 -# 2129| m2129_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2129_7 -# 2129| r2129_9(glval) = FunctionAddress[operator delete] : -# 2129| r2129_10(glval) = VariableAddress[#this] : -# 2129| r2129_11(ClassWithDestructor *) = Load[#this] : &:r2129_10, m2129_6 -# 2129| r2129_12(glval) = FieldAddress[x] : r2129_11 -# 2129| r2129_13(char *) = Load[?] : &:r2129_12, ~m2129_8 -# 2129| v2129_14(void) = Call[operator delete] : func:r2129_9, 0:r2129_13 -# 2129| m2129_15(unknown) = ^CallSideEffect : ~m2129_4 -# 2129| m2129_16(unknown) = Chi : total:m2129_4, partial:m2129_15 -# 2129| v2129_17(void) = NoOp : -# 2129| v2129_18(void) = ReturnIndirection[#this] : &:r2129_7, m2129_8 -# 2129| v2129_19(void) = ReturnVoid : -# 2129| v2129_20(void) = AliasedUse : ~m2129_16 -# 2129| v2129_21(void) = ExitFunction : +# 2176| void ClassWithDestructor::~ClassWithDestructor() +# 2176| Block 0 +# 2176| v2176_1(void) = EnterFunction : +# 2176| m2176_2(unknown) = AliasedDefinition : +# 2176| m2176_3(unknown) = InitializeNonLocal : +# 2176| m2176_4(unknown) = Chi : total:m2176_2, partial:m2176_3 +# 2176| r2176_5(glval) = VariableAddress[#this] : +# 2176| m2176_6(glval) = InitializeParameter[#this] : &:r2176_5 +# 2176| r2176_7(glval) = Load[#this] : &:r2176_5, m2176_6 +# 2176| m2176_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2176_7 +# 2176| r2176_9(glval) = FunctionAddress[operator delete] : +# 2176| r2176_10(glval) = VariableAddress[#this] : +# 2176| r2176_11(ClassWithDestructor *) = Load[#this] : &:r2176_10, m2176_6 +# 2176| r2176_12(glval) = FieldAddress[x] : r2176_11 +# 2176| r2176_13(char *) = Load[?] : &:r2176_12, ~m2176_8 +# 2176| v2176_14(void) = Call[operator delete] : func:r2176_9, 0:r2176_13 +# 2176| m2176_15(unknown) = ^CallSideEffect : ~m2176_4 +# 2176| m2176_16(unknown) = Chi : total:m2176_4, partial:m2176_15 +# 2176| v2176_17(void) = NoOp : +# 2176| v2176_18(void) = ReturnIndirection[#this] : &:r2176_7, m2176_8 +# 2176| v2176_19(void) = ReturnVoid : +# 2176| v2176_20(void) = AliasedUse : ~m2176_16 +# 2176| v2176_21(void) = ExitFunction : -# 2131| void ClassWithDestructor::set_x(char) -# 2131| Block 0 -# 2131| v2131_1(void) = EnterFunction : -# 2131| m2131_2(unknown) = AliasedDefinition : -# 2131| m2131_3(unknown) = InitializeNonLocal : -# 2131| m2131_4(unknown) = Chi : total:m2131_2, partial:m2131_3 -# 2131| r2131_5(glval) = VariableAddress[#this] : -# 2131| m2131_6(glval) = InitializeParameter[#this] : &:r2131_5 -# 2131| r2131_7(glval) = Load[#this] : &:r2131_5, m2131_6 -# 2131| m2131_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2131_7 -# 2131| r2131_9(glval) = VariableAddress[y] : -# 2131| m2131_10(char) = InitializeParameter[y] : &:r2131_9 -# 2131| r2131_11(glval) = VariableAddress[y] : -# 2131| r2131_12(char) = Load[y] : &:r2131_11, m2131_10 -# 2131| r2131_13(glval) = VariableAddress[#this] : -# 2131| r2131_14(ClassWithDestructor *) = Load[#this] : &:r2131_13, m2131_6 -# 2131| r2131_15(glval) = FieldAddress[x] : r2131_14 -# 2131| r2131_16(char *) = Load[?] : &:r2131_15, ~m2131_8 -# 2131| r2131_17(glval) = CopyValue : r2131_16 -# 2131| m2131_18(char) = Store[?] : &:r2131_17, r2131_12 -# 2131| m2131_19(unknown) = Chi : total:m2131_4, partial:m2131_18 -# 2131| v2131_20(void) = NoOp : -# 2131| v2131_21(void) = ReturnIndirection[#this] : &:r2131_7, m2131_8 -# 2131| v2131_22(void) = ReturnVoid : -# 2131| v2131_23(void) = AliasedUse : ~m2131_19 -# 2131| v2131_24(void) = ExitFunction : +# 2178| void ClassWithDestructor::set_x(char) +# 2178| Block 0 +# 2178| v2178_1(void) = EnterFunction : +# 2178| m2178_2(unknown) = AliasedDefinition : +# 2178| m2178_3(unknown) = InitializeNonLocal : +# 2178| m2178_4(unknown) = Chi : total:m2178_2, partial:m2178_3 +# 2178| r2178_5(glval) = VariableAddress[#this] : +# 2178| m2178_6(glval) = InitializeParameter[#this] : &:r2178_5 +# 2178| r2178_7(glval) = Load[#this] : &:r2178_5, m2178_6 +# 2178| m2178_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2178_7 +# 2178| r2178_9(glval) = VariableAddress[y] : +# 2178| m2178_10(char) = InitializeParameter[y] : &:r2178_9 +# 2178| r2178_11(glval) = VariableAddress[y] : +# 2178| r2178_12(char) = Load[y] : &:r2178_11, m2178_10 +# 2178| r2178_13(glval) = VariableAddress[#this] : +# 2178| r2178_14(ClassWithDestructor *) = Load[#this] : &:r2178_13, m2178_6 +# 2178| r2178_15(glval) = FieldAddress[x] : r2178_14 +# 2178| r2178_16(char *) = Load[?] : &:r2178_15, ~m2178_8 +# 2178| r2178_17(glval) = CopyValue : r2178_16 +# 2178| m2178_18(char) = Store[?] : &:r2178_17, r2178_12 +# 2178| m2178_19(unknown) = Chi : total:m2178_4, partial:m2178_18 +# 2178| v2178_20(void) = NoOp : +# 2178| v2178_21(void) = ReturnIndirection[#this] : &:r2178_7, m2178_8 +# 2178| v2178_22(void) = ReturnVoid : +# 2178| v2178_23(void) = AliasedUse : ~m2178_19 +# 2178| v2178_24(void) = ExitFunction : -# 2132| char ClassWithDestructor::get_x() -# 2132| Block 0 -# 2132| v2132_1(void) = EnterFunction : -# 2132| m2132_2(unknown) = AliasedDefinition : -# 2132| m2132_3(unknown) = InitializeNonLocal : -# 2132| m2132_4(unknown) = Chi : total:m2132_2, partial:m2132_3 -# 2132| r2132_5(glval) = VariableAddress[#this] : -# 2132| m2132_6(glval) = InitializeParameter[#this] : &:r2132_5 -# 2132| r2132_7(glval) = Load[#this] : &:r2132_5, m2132_6 -# 2132| m2132_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2132_7 -# 2132| r2132_9(glval) = VariableAddress[#return] : -# 2132| r2132_10(glval) = VariableAddress[#this] : -# 2132| r2132_11(ClassWithDestructor *) = Load[#this] : &:r2132_10, m2132_6 -# 2132| r2132_12(glval) = FieldAddress[x] : r2132_11 -# 2132| r2132_13(char *) = Load[?] : &:r2132_12, ~m2132_8 -# 2132| r2132_14(char) = Load[?] : &:r2132_13, ~m2132_4 -# 2132| m2132_15(char) = Store[#return] : &:r2132_9, r2132_14 -# 2132| v2132_16(void) = ReturnIndirection[#this] : &:r2132_7, m2132_8 -# 2132| r2132_17(glval) = VariableAddress[#return] : -# 2132| v2132_18(void) = ReturnValue : &:r2132_17, m2132_15 -# 2132| v2132_19(void) = AliasedUse : m2132_3 -# 2132| v2132_20(void) = ExitFunction : - -# 2135| bool initialization_with_destructor_bool -# 2135| Block 0 -# 2135| v2135_1(void) = EnterFunction : -# 2135| m2135_2(unknown) = AliasedDefinition : -# 2135| r2135_3(glval) = VariableAddress[initialization_with_destructor_bool] : -# 2135| r2135_4(bool) = Constant[1] : -# 2135| m2135_5(bool) = Store[initialization_with_destructor_bool] : &:r2135_3, r2135_4 -# 2135| m2135_6(unknown) = Chi : total:m2135_2, partial:m2135_5 -# 2135| v2135_7(void) = ReturnVoid : -# 2135| v2135_8(void) = AliasedUse : ~m2135_6 -# 2135| v2135_9(void) = ExitFunction : - -# 2137| void initialization_with_destructor(bool, char) -# 2137| Block 0 -# 2137| v2137_1(void) = EnterFunction : -# 2137| m2137_2(unknown) = AliasedDefinition : -# 2137| m2137_3(unknown) = InitializeNonLocal : -# 2137| m2137_4(unknown) = Chi : total:m2137_2, partial:m2137_3 -# 2137| r2137_5(glval) = VariableAddress[b] : -# 2137| m2137_6(bool) = InitializeParameter[b] : &:r2137_5 -# 2137| r2137_7(glval) = VariableAddress[c] : -# 2137| m2137_8(char) = InitializeParameter[c] : &:r2137_7 -# 2138| r2138_1(glval) = VariableAddress[x] : -# 2138| m2138_2(ClassWithDestructor) = Uninitialized[x] : &:r2138_1 -# 2138| r2138_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2138| v2138_4(void) = Call[ClassWithDestructor] : func:r2138_3, this:r2138_1 -# 2138| m2138_5(unknown) = ^CallSideEffect : ~m2137_4 -# 2138| m2138_6(unknown) = Chi : total:m2137_4, partial:m2138_5 -# 2138| m2138_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2138_1 -# 2138| m2138_8(ClassWithDestructor) = Chi : total:m2138_2, partial:m2138_7 -# 2138| r2138_9(glval) = VariableAddress[b] : -# 2138| r2138_10(bool) = Load[b] : &:r2138_9, m2137_6 -# 2138| v2138_11(void) = ConditionalBranch : r2138_10 -#-----| False -> Block 3 -#-----| True -> Block 2 - -# 2137| Block 1 -# 2137| m2137_9(unknown) = Phi : from 13:~m2172_5, from 19:~m2172_13, from 23:~m2172_22 -# 2137| v2137_10(void) = ReturnVoid : -# 2137| v2137_11(void) = AliasedUse : ~m2137_9 -# 2137| v2137_12(void) = ExitFunction : - -# 2139| Block 2 -# 2139| r2139_1(glval) = VariableAddress[x] : -# 2139| r2139_2(glval) = FunctionAddress[set_x] : -# 2139| r2139_3(char) = Constant[97] : -# 2139| v2139_4(void) = Call[set_x] : func:r2139_2, this:r2139_1, 0:r2139_3 -# 2139| m2139_5(unknown) = ^CallSideEffect : ~m2138_6 -# 2139| m2139_6(unknown) = Chi : total:m2138_6, partial:m2139_5 -# 2139| v2139_7(void) = ^IndirectReadSideEffect[-1] : &:r2139_1, m2138_8 -# 2139| m2139_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2139_1 -# 2139| m2139_9(ClassWithDestructor) = Chi : total:m2138_8, partial:m2139_8 -# 2139| r2139_10(glval) = VariableAddress[x] : -# 2139| r2139_11(glval) = FunctionAddress[~ClassWithDestructor] : -# 2139| v2139_12(void) = Call[~ClassWithDestructor] : func:r2139_11, this:r2139_10 -# 2139| m2139_13(unknown) = ^CallSideEffect : ~m2139_6 -# 2139| m2139_14(unknown) = Chi : total:m2139_6, partial:m2139_13 -# 2139| v2139_15(void) = ^IndirectReadSideEffect[-1] : &:r2139_10, m2139_9 -# 2139| m2139_16(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2139_10 -# 2139| m2139_17(ClassWithDestructor) = Chi : total:m2139_9, partial:m2139_16 -#-----| Goto -> Block 3 - -# 2141| Block 3 -# 2141| m2141_1(unknown) = Phi : from 0:~m2138_6, from 2:~m2139_14 -# 2141| r2141_2(glval) = VariableAddress[x] : -# 2141| m2141_3(ClassWithDestructor) = Uninitialized[x] : &:r2141_2 -# 2141| r2141_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2141| v2141_5(void) = Call[ClassWithDestructor] : func:r2141_4, this:r2141_2 -# 2141| m2141_6(unknown) = ^CallSideEffect : ~m2141_1 -# 2141| m2141_7(unknown) = Chi : total:m2141_1, partial:m2141_6 -# 2141| m2141_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2141_2 -# 2141| m2141_9(ClassWithDestructor) = Chi : total:m2141_3, partial:m2141_8 -# 2141| r2141_10(bool) = Constant[1] : -# 2141| v2141_11(void) = ConditionalBranch : r2141_10 -#-----| False -> Block 24 -#-----| True -> Block 4 - -# 2142| Block 4 -# 2142| r2142_1(glval) = VariableAddress[x] : -# 2142| r2142_2(glval) = FunctionAddress[set_x] : -# 2142| r2142_3(char) = Constant[97] : -# 2142| v2142_4(void) = Call[set_x] : func:r2142_2, this:r2142_1, 0:r2142_3 -# 2142| m2142_5(unknown) = ^CallSideEffect : ~m2141_7 -# 2142| m2142_6(unknown) = Chi : total:m2141_7, partial:m2142_5 -# 2142| v2142_7(void) = ^IndirectReadSideEffect[-1] : &:r2142_1, m2141_9 -# 2142| m2142_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2142_1 -# 2142| m2142_9(ClassWithDestructor) = Chi : total:m2141_9, partial:m2142_8 -# 2144| r2144_1(glval) = VariableAddress[x] : -# 2144| m2144_2(ClassWithDestructor) = Uninitialized[x] : &:r2144_1 -# 2144| r2144_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2144| v2144_4(void) = Call[ClassWithDestructor] : func:r2144_3, this:r2144_1 -# 2144| m2144_5(unknown) = ^CallSideEffect : ~m2142_6 -# 2144| m2144_6(unknown) = Chi : total:m2142_6, partial:m2144_5 -# 2144| m2144_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2144_1 -# 2144| m2144_8(ClassWithDestructor) = Chi : total:m2144_2, partial:m2144_7 -# 2144| r2144_9(glval) = VariableAddress[c] : -# 2144| r2144_10(char) = Load[c] : &:r2144_9, m2137_8 -# 2144| r2144_11(int) = Convert : r2144_10 -# 2144| v2144_12(void) = Switch : r2144_11 -#-----| Case[97] -> Block 5 -#-----| Default -> Block 6 - -# 2145| Block 5 -# 2145| v2145_1(void) = NoOp : -# 2146| r2146_1(glval) = VariableAddress[x] : -# 2146| r2146_2(glval) = FunctionAddress[set_x] : -# 2146| r2146_3(char) = Constant[97] : -# 2146| v2146_4(void) = Call[set_x] : func:r2146_2, this:r2146_1, 0:r2146_3 -# 2146| m2146_5(unknown) = ^CallSideEffect : ~m2144_6 -# 2146| m2146_6(unknown) = Chi : total:m2144_6, partial:m2146_5 -# 2146| v2146_7(void) = ^IndirectReadSideEffect[-1] : &:r2146_1, m2144_8 -# 2146| m2146_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2146_1 -# 2146| m2146_9(ClassWithDestructor) = Chi : total:m2144_8, partial:m2146_8 -# 2147| v2147_1(void) = NoOp : -#-----| Goto -> Block 7 - -# 2148| Block 6 -# 2148| v2148_1(void) = NoOp : -# 2149| r2149_1(glval) = VariableAddress[x] : -# 2149| r2149_2(glval) = FunctionAddress[set_x] : -# 2149| r2149_3(char) = Constant[98] : -# 2149| v2149_4(void) = Call[set_x] : func:r2149_2, this:r2149_1, 0:r2149_3 -# 2149| m2149_5(unknown) = ^CallSideEffect : ~m2144_6 -# 2149| m2149_6(unknown) = Chi : total:m2144_6, partial:m2149_5 -# 2149| v2149_7(void) = ^IndirectReadSideEffect[-1] : &:r2149_1, m2144_8 -# 2149| m2149_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2149_1 -# 2149| m2149_9(ClassWithDestructor) = Chi : total:m2144_8, partial:m2149_8 -# 2150| v2150_1(void) = NoOp : -#-----| Goto -> Block 7 - -# 2151| Block 7 -# 2151| m2151_1(unknown) = Phi : from 5:~m2146_6, from 6:~m2149_6 -# 2151| v2151_2(void) = NoOp : -# 2153| r2153_1(glval) = VariableAddress[x] : -# 2153| m2153_2(ClassWithDestructor) = Uninitialized[x] : &:r2153_1 -# 2153| r2153_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2153| v2153_4(void) = Call[ClassWithDestructor] : func:r2153_3, this:r2153_1 -# 2153| m2153_5(unknown) = ^CallSideEffect : ~m2151_1 -# 2153| m2153_6(unknown) = Chi : total:m2151_1, partial:m2153_5 -# 2153| m2153_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2153_1 -# 2153| m2153_8(ClassWithDestructor) = Chi : total:m2153_2, partial:m2153_7 -# 2154| r2154_1(glval>) = VariableAddress[ys] : -# 2154| m2154_2(vector) = Uninitialized[ys] : &:r2154_1 -# 2154| r2154_3(glval) = FunctionAddress[vector] : -# 2154| r2154_4(glval) = VariableAddress[#temp2154:40] : -# 2154| r2154_5(glval) = VariableAddress[x] : -# 2154| r2154_6(ClassWithDestructor) = Load[x] : &:r2154_5, m2153_8 -# 2154| m2154_7(ClassWithDestructor) = Store[#temp2154:40] : &:r2154_4, r2154_6 -# 2154| r2154_8(ClassWithDestructor) = Load[#temp2154:40] : &:r2154_4, m2154_7 -# 2154| v2154_9(void) = Call[vector] : func:r2154_3, this:r2154_1, 0:r2154_8 -# 2154| m2154_10(unknown) = ^CallSideEffect : ~m2153_6 -# 2154| m2154_11(unknown) = Chi : total:m2153_6, partial:m2154_10 -# 2154| m2154_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2154_1 -# 2154| m2154_13(vector) = Chi : total:m2154_2, partial:m2154_12 -# 2154| r2154_14(glval &>) = VariableAddress[(__range)] : -# 2154| r2154_15(glval>) = VariableAddress[ys] : -# 2154| r2154_16(vector &) = CopyValue : r2154_15 -# 2154| m2154_17(vector &) = Store[(__range)] : &:r2154_14, r2154_16 -# 2154| r2154_18(glval) = VariableAddress[(__begin)] : -# 2154| r2154_19(glval &>) = VariableAddress[(__range)] : -# 2154| r2154_20(vector &) = Load[(__range)] : &:r2154_19, m2154_17 -#-----| r0_1(glval>) = CopyValue : r2154_20 -#-----| r0_2(glval>) = Convert : r0_1 -# 2154| r2154_21(glval) = FunctionAddress[begin] : -# 2154| r2154_22(iterator) = Call[begin] : func:r2154_21, this:r0_2 -# 2154| m2154_23(unknown) = ^CallSideEffect : ~m2154_11 -# 2154| m2154_24(unknown) = Chi : total:m2154_11, partial:m2154_23 -#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, m2154_13 -# 2154| m2154_25(iterator) = Store[(__begin)] : &:r2154_18, r2154_22 -# 2154| r2154_26(glval) = VariableAddress[(__end)] : -# 2154| r2154_27(glval &>) = VariableAddress[(__range)] : -# 2154| r2154_28(vector &) = Load[(__range)] : &:r2154_27, m2154_17 -#-----| r0_4(glval>) = CopyValue : r2154_28 -#-----| r0_5(glval>) = Convert : r0_4 -# 2154| r2154_29(glval) = FunctionAddress[end] : -# 2154| r2154_30(iterator) = Call[end] : func:r2154_29, this:r0_5 -# 2154| m2154_31(unknown) = ^CallSideEffect : ~m2154_24 -# 2154| m2154_32(unknown) = Chi : total:m2154_24, partial:m2154_31 -#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m2154_13 -# 2154| m2154_33(iterator) = Store[(__end)] : &:r2154_26, r2154_30 -#-----| Goto -> Block 8 - -# 2154| Block 8 -# 2154| m2154_34(iterator) = Phi : from 7:m2154_25, from 9:m2154_67 -# 2154| m2154_35(unknown) = Phi : from 7:~m2154_32, from 9:~m2154_64 -# 2154| r2154_36(glval) = VariableAddress[(__begin)] : -#-----| r0_7(glval) = Convert : r2154_36 -# 2154| r2154_37(glval) = FunctionAddress[operator!=] : -# 2154| r2154_38(glval) = VariableAddress[(__end)] : -# 2154| r2154_39(iterator) = Load[(__end)] : &:r2154_38, m2154_33 -# 2154| r2154_40(bool) = Call[operator!=] : func:r2154_37, this:r0_7, 0:r2154_39 -# 2154| m2154_41(unknown) = ^CallSideEffect : ~m2154_35 -# 2154| m2154_42(unknown) = Chi : total:m2154_35, partial:m2154_41 -#-----| v0_8(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2154_34 -# 2154| v2154_43(void) = ConditionalBranch : r2154_40 -#-----| False -> Block 10 -#-----| True -> Block 9 - -# 2154| Block 9 -# 2154| r2154_44(glval) = VariableAddress[y] : -# 2154| r2154_45(glval) = VariableAddress[(__begin)] : -#-----| r0_9(glval) = Convert : r2154_45 -# 2154| r2154_46(glval) = FunctionAddress[operator*] : -# 2154| r2154_47(ClassWithDestructor &) = Call[operator*] : func:r2154_46, this:r0_9 -# 2154| m2154_48(unknown) = ^CallSideEffect : ~m2154_42 -# 2154| m2154_49(unknown) = Chi : total:m2154_42, partial:m2154_48 -#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_9, m2154_34 -# 2154| r2154_50(ClassWithDestructor) = Load[?] : &:r2154_47, ~m2154_49 -# 2154| m2154_51(ClassWithDestructor) = Store[y] : &:r2154_44, r2154_50 -# 2155| r2155_1(glval) = VariableAddress[y] : -# 2155| r2155_2(glval) = FunctionAddress[set_x] : -# 2155| r2155_3(char) = Constant[97] : -# 2155| v2155_4(void) = Call[set_x] : func:r2155_2, this:r2155_1, 0:r2155_3 -# 2155| m2155_5(unknown) = ^CallSideEffect : ~m2154_49 -# 2155| m2155_6(unknown) = Chi : total:m2154_49, partial:m2155_5 -# 2155| v2155_7(void) = ^IndirectReadSideEffect[-1] : &:r2155_1, m2154_51 -# 2155| m2155_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2155_1 -# 2155| m2155_9(ClassWithDestructor) = Chi : total:m2154_51, partial:m2155_8 -# 2154| r2154_52(glval) = VariableAddress[y] : -# 2154| r2154_53(glval) = FunctionAddress[~ClassWithDestructor] : -# 2154| v2154_54(void) = Call[~ClassWithDestructor] : func:r2154_53, this:r2154_52 -# 2154| m2154_55(unknown) = ^CallSideEffect : ~m2155_6 -# 2154| m2154_56(unknown) = Chi : total:m2155_6, partial:m2154_55 -# 2154| v2154_57(void) = ^IndirectReadSideEffect[-1] : &:r2154_52, m2155_9 -# 2154| m2154_58(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2154_52 -# 2154| m2154_59(ClassWithDestructor) = Chi : total:m2155_9, partial:m2154_58 -# 2154| r2154_60(glval) = VariableAddress[(__begin)] : -# 2154| r2154_61(glval) = FunctionAddress[operator++] : -# 2154| r2154_62(iterator &) = Call[operator++] : func:r2154_61, this:r2154_60 -# 2154| m2154_63(unknown) = ^CallSideEffect : ~m2154_56 -# 2154| m2154_64(unknown) = Chi : total:m2154_56, partial:m2154_63 -# 2154| v2154_65(void) = ^IndirectReadSideEffect[-1] : &:r2154_60, m2154_34 -# 2154| m2154_66(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2154_60 -# 2154| m2154_67(iterator) = Chi : total:m2154_34, partial:m2154_66 -# 2154| r2154_68(glval) = CopyValue : r2154_62 -#-----| Goto (back edge) -> Block 8 - -# 2157| Block 10 -# 2157| r2157_1(glval>) = VariableAddress[ys] : -# 2157| m2157_2(vector) = Uninitialized[ys] : &:r2157_1 -# 2157| r2157_3(glval) = FunctionAddress[vector] : -# 2157| r2157_4(glval) = VariableAddress[#temp2157:40] : -# 2157| r2157_5(glval) = VariableAddress[x] : -# 2157| r2157_6(ClassWithDestructor) = Load[x] : &:r2157_5, m2153_8 -# 2157| m2157_7(ClassWithDestructor) = Store[#temp2157:40] : &:r2157_4, r2157_6 -# 2157| r2157_8(ClassWithDestructor) = Load[#temp2157:40] : &:r2157_4, m2157_7 -# 2157| v2157_9(void) = Call[vector] : func:r2157_3, this:r2157_1, 0:r2157_8 -# 2157| m2157_10(unknown) = ^CallSideEffect : ~m2154_42 -# 2157| m2157_11(unknown) = Chi : total:m2154_42, partial:m2157_10 -# 2157| m2157_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2157_1 -# 2157| m2157_13(vector) = Chi : total:m2157_2, partial:m2157_12 -# 2157| r2157_14(glval &>) = VariableAddress[(__range)] : -# 2157| r2157_15(glval>) = VariableAddress[ys] : -# 2157| r2157_16(vector &) = CopyValue : r2157_15 -# 2157| m2157_17(vector &) = Store[(__range)] : &:r2157_14, r2157_16 -# 2157| r2157_18(glval) = VariableAddress[(__begin)] : -# 2157| r2157_19(glval &>) = VariableAddress[(__range)] : -# 2157| r2157_20(vector &) = Load[(__range)] : &:r2157_19, m2157_17 -#-----| r0_11(glval>) = CopyValue : r2157_20 -#-----| r0_12(glval>) = Convert : r0_11 -# 2157| r2157_21(glval) = FunctionAddress[begin] : -# 2157| r2157_22(iterator) = Call[begin] : func:r2157_21, this:r0_12 -# 2157| m2157_23(unknown) = ^CallSideEffect : ~m2157_11 -# 2157| m2157_24(unknown) = Chi : total:m2157_11, partial:m2157_23 -#-----| v0_13(void) = ^IndirectReadSideEffect[-1] : &:r0_12, m2157_13 -# 2157| m2157_25(iterator) = Store[(__begin)] : &:r2157_18, r2157_22 -# 2157| r2157_26(glval) = VariableAddress[(__end)] : -# 2157| r2157_27(glval &>) = VariableAddress[(__range)] : -# 2157| r2157_28(vector &) = Load[(__range)] : &:r2157_27, m2157_17 -#-----| r0_14(glval>) = CopyValue : r2157_28 -#-----| r0_15(glval>) = Convert : r0_14 -# 2157| r2157_29(glval) = FunctionAddress[end] : -# 2157| r2157_30(iterator) = Call[end] : func:r2157_29, this:r0_15 -# 2157| m2157_31(unknown) = ^CallSideEffect : ~m2157_24 -# 2157| m2157_32(unknown) = Chi : total:m2157_24, partial:m2157_31 -#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, m2157_13 -# 2157| m2157_33(iterator) = Store[(__end)] : &:r2157_26, r2157_30 -#-----| Goto -> Block 11 - -# 2157| Block 11 -# 2157| m2157_34(iterator) = Phi : from 10:m2157_25, from 14:m2157_83 -# 2157| m2157_35(unknown) = Phi : from 10:~m2157_32, from 14:~m2157_80 -# 2157| r2157_36(glval) = VariableAddress[(__begin)] : -#-----| r0_17(glval) = Convert : r2157_36 -# 2157| r2157_37(glval) = FunctionAddress[operator!=] : -# 2157| r2157_38(glval) = VariableAddress[(__end)] : -# 2157| r2157_39(iterator) = Load[(__end)] : &:r2157_38, m2157_33 -# 2157| r2157_40(bool) = Call[operator!=] : func:r2157_37, this:r0_17, 0:r2157_39 -# 2157| m2157_41(unknown) = ^CallSideEffect : ~m2157_35 -# 2157| m2157_42(unknown) = Chi : total:m2157_35, partial:m2157_41 -#-----| v0_18(void) = ^IndirectReadSideEffect[-1] : &:r0_17, m2157_34 -# 2157| v2157_43(void) = ConditionalBranch : r2157_40 -#-----| False -> Block 15 -#-----| True -> Block 12 - -# 2157| Block 12 -# 2157| r2157_44(glval) = VariableAddress[y] : -# 2157| r2157_45(glval) = VariableAddress[(__begin)] : -#-----| r0_19(glval) = Convert : r2157_45 -# 2157| r2157_46(glval) = FunctionAddress[operator*] : -# 2157| r2157_47(ClassWithDestructor &) = Call[operator*] : func:r2157_46, this:r0_19 -# 2157| m2157_48(unknown) = ^CallSideEffect : ~m2157_42 -# 2157| m2157_49(unknown) = Chi : total:m2157_42, partial:m2157_48 -#-----| v0_20(void) = ^IndirectReadSideEffect[-1] : &:r0_19, m2157_34 -# 2157| r2157_50(ClassWithDestructor) = Load[?] : &:r2157_47, ~m2157_49 -# 2157| m2157_51(ClassWithDestructor) = Store[y] : &:r2157_44, r2157_50 -# 2158| r2158_1(glval) = VariableAddress[y] : -# 2158| r2158_2(glval) = FunctionAddress[set_x] : -# 2158| r2158_3(char) = Constant[97] : -# 2158| v2158_4(void) = Call[set_x] : func:r2158_2, this:r2158_1, 0:r2158_3 -# 2158| m2158_5(unknown) = ^CallSideEffect : ~m2157_49 -# 2158| m2158_6(unknown) = Chi : total:m2157_49, partial:m2158_5 -# 2158| v2158_7(void) = ^IndirectReadSideEffect[-1] : &:r2158_1, m2157_51 -# 2158| m2158_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2158_1 -# 2158| m2158_9(ClassWithDestructor) = Chi : total:m2157_51, partial:m2158_8 -# 2159| r2159_1(glval) = VariableAddress[y] : -# 2159| r2159_2(glval) = FunctionAddress[get_x] : -# 2159| r2159_3(char) = Call[get_x] : func:r2159_2, this:r2159_1 -# 2159| m2159_4(unknown) = ^CallSideEffect : ~m2158_6 -# 2159| m2159_5(unknown) = Chi : total:m2158_6, partial:m2159_4 -# 2159| v2159_6(void) = ^IndirectReadSideEffect[-1] : &:r2159_1, m2158_9 -# 2159| m2159_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2159_1 -# 2159| m2159_8(ClassWithDestructor) = Chi : total:m2158_9, partial:m2159_7 -# 2159| r2159_9(int) = Convert : r2159_3 -# 2159| r2159_10(int) = Constant[98] : -# 2159| r2159_11(bool) = CompareEQ : r2159_9, r2159_10 -# 2159| v2159_12(void) = ConditionalBranch : r2159_11 -#-----| False -> Block 14 -#-----| True -> Block 13 - -# 2160| Block 13 -# 2160| v2160_1(void) = NoOp : -# 2157| r2157_52(glval) = VariableAddress[y] : -# 2157| r2157_53(glval) = FunctionAddress[~ClassWithDestructor] : -# 2157| v2157_54(void) = Call[~ClassWithDestructor] : func:r2157_53, this:r2157_52 -# 2157| m2157_55(unknown) = ^CallSideEffect : ~m2159_5 -# 2157| m2157_56(unknown) = Chi : total:m2159_5, partial:m2157_55 -# 2157| v2157_57(void) = ^IndirectReadSideEffect[-1] : &:r2157_52, m2159_8 -# 2157| m2157_58(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2157_52 -# 2157| m2157_59(ClassWithDestructor) = Chi : total:m2159_8, partial:m2157_58 -# 2157| r2157_60(glval>) = VariableAddress[ys] : -# 2157| r2157_61(glval) = FunctionAddress[~vector] : -# 2157| v2157_62(void) = Call[~vector] : func:r2157_61, this:r2157_60 -# 2157| m2157_63(unknown) = ^CallSideEffect : ~m2157_56 -# 2157| m2157_64(unknown) = Chi : total:m2157_56, partial:m2157_63 -# 2157| v2157_65(void) = ^IndirectReadSideEffect[-1] : &:r2157_60, m2157_13 -# 2157| m2157_66(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2157_60 -# 2157| m2157_67(vector) = Chi : total:m2157_13, partial:m2157_66 -# 2172| r2172_1(glval) = VariableAddress[x] : -# 2172| r2172_2(glval) = FunctionAddress[~ClassWithDestructor] : -# 2172| v2172_3(void) = Call[~ClassWithDestructor] : func:r2172_2, this:r2172_1 -# 2172| m2172_4(unknown) = ^CallSideEffect : ~m2157_64 -# 2172| m2172_5(unknown) = Chi : total:m2157_64, partial:m2172_4 -# 2172| v2172_6(void) = ^IndirectReadSideEffect[-1] : &:r2172_1, m2153_8 -# 2172| m2172_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2172_1 -# 2172| m2172_8(ClassWithDestructor) = Chi : total:m2153_8, partial:m2172_7 -#-----| Goto -> Block 1 - -# 2157| Block 14 -# 2157| r2157_68(glval) = VariableAddress[y] : -# 2157| r2157_69(glval) = FunctionAddress[~ClassWithDestructor] : -# 2157| v2157_70(void) = Call[~ClassWithDestructor] : func:r2157_69, this:r2157_68 -# 2157| m2157_71(unknown) = ^CallSideEffect : ~m2159_5 -# 2157| m2157_72(unknown) = Chi : total:m2159_5, partial:m2157_71 -# 2157| v2157_73(void) = ^IndirectReadSideEffect[-1] : &:r2157_68, m2159_8 -# 2157| m2157_74(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2157_68 -# 2157| m2157_75(ClassWithDestructor) = Chi : total:m2159_8, partial:m2157_74 -# 2157| r2157_76(glval) = VariableAddress[(__begin)] : -# 2157| r2157_77(glval) = FunctionAddress[operator++] : -# 2157| r2157_78(iterator &) = Call[operator++] : func:r2157_77, this:r2157_76 -# 2157| m2157_79(unknown) = ^CallSideEffect : ~m2157_72 -# 2157| m2157_80(unknown) = Chi : total:m2157_72, partial:m2157_79 -# 2157| v2157_81(void) = ^IndirectReadSideEffect[-1] : &:r2157_76, m2157_34 -# 2157| m2157_82(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2157_76 -# 2157| m2157_83(iterator) = Chi : total:m2157_34, partial:m2157_82 -# 2157| r2157_84(glval) = CopyValue : r2157_78 -#-----| Goto (back edge) -> Block 11 - -# 2163| Block 15 -# 2163| r2163_1(glval>) = VariableAddress[ys] : -# 2163| m2163_2(vector) = Uninitialized[ys] : &:r2163_1 -# 2163| r2163_3(glval) = FunctionAddress[vector] : -# 2163| r2163_4(int) = Constant[1] : -# 2163| v2163_5(void) = Call[vector] : func:r2163_3, this:r2163_1, 0:r2163_4 -# 2163| m2163_6(unknown) = ^CallSideEffect : ~m2157_42 -# 2163| m2163_7(unknown) = Chi : total:m2157_42, partial:m2163_6 -# 2163| m2163_8(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2163_1 -# 2163| m2163_9(vector) = Chi : total:m2163_2, partial:m2163_8 -# 2163| r2163_10(glval &>) = VariableAddress[(__range)] : -# 2163| r2163_11(glval>) = VariableAddress[ys] : -# 2163| r2163_12(vector &) = CopyValue : r2163_11 -# 2163| m2163_13(vector &) = Store[(__range)] : &:r2163_10, r2163_12 -# 2163| r2163_14(glval) = VariableAddress[(__begin)] : -# 2163| r2163_15(glval &>) = VariableAddress[(__range)] : -# 2163| r2163_16(vector &) = Load[(__range)] : &:r2163_15, m2163_13 -#-----| r0_21(glval>) = CopyValue : r2163_16 -#-----| r0_22(glval>) = Convert : r0_21 -# 2163| r2163_17(glval) = FunctionAddress[begin] : -# 2163| r2163_18(iterator) = Call[begin] : func:r2163_17, this:r0_22 -# 2163| m2163_19(unknown) = ^CallSideEffect : ~m2163_7 -# 2163| m2163_20(unknown) = Chi : total:m2163_7, partial:m2163_19 -#-----| v0_23(void) = ^IndirectReadSideEffect[-1] : &:r0_22, m2163_9 -# 2163| m2163_21(iterator) = Store[(__begin)] : &:r2163_14, r2163_18 -# 2163| r2163_22(glval) = VariableAddress[(__end)] : -# 2163| r2163_23(glval &>) = VariableAddress[(__range)] : -# 2163| r2163_24(vector &) = Load[(__range)] : &:r2163_23, m2163_13 -#-----| r0_24(glval>) = CopyValue : r2163_24 -#-----| r0_25(glval>) = Convert : r0_24 -# 2163| r2163_25(glval) = FunctionAddress[end] : -# 2163| r2163_26(iterator) = Call[end] : func:r2163_25, this:r0_25 -# 2163| m2163_27(unknown) = ^CallSideEffect : ~m2163_20 -# 2163| m2163_28(unknown) = Chi : total:m2163_20, partial:m2163_27 -#-----| v0_26(void) = ^IndirectReadSideEffect[-1] : &:r0_25, m2163_9 -# 2163| m2163_29(iterator) = Store[(__end)] : &:r2163_22, r2163_26 -#-----| Goto -> Block 16 - -# 2163| Block 16 -# 2163| m2163_30(iterator) = Phi : from 15:m2163_21, from 17:m2163_47 -# 2163| m2163_31(unknown) = Phi : from 15:~m2163_28, from 17:~m2163_44 -# 2163| r2163_32(glval) = VariableAddress[(__begin)] : -#-----| r0_27(glval) = Convert : r2163_32 -# 2163| r2163_33(glval) = FunctionAddress[operator!=] : -# 2163| r2163_34(glval) = VariableAddress[(__end)] : -# 2163| r2163_35(iterator) = Load[(__end)] : &:r2163_34, m2163_29 -# 2163| r2163_36(bool) = Call[operator!=] : func:r2163_33, this:r0_27, 0:r2163_35 -# 2163| m2163_37(unknown) = ^CallSideEffect : ~m2163_31 -# 2163| m2163_38(unknown) = Chi : total:m2163_31, partial:m2163_37 -#-----| v0_28(void) = ^IndirectReadSideEffect[-1] : &:r0_27, m2163_30 -# 2163| v2163_39(void) = ConditionalBranch : r2163_36 -#-----| False -> Block 20 -#-----| True -> Block 18 - -# 2163| Block 17 -# 2163| r2163_40(glval) = VariableAddress[(__begin)] : -# 2163| r2163_41(glval) = FunctionAddress[operator++] : -# 2163| r2163_42(iterator &) = Call[operator++] : func:r2163_41, this:r2163_40 -# 2163| m2163_43(unknown) = ^CallSideEffect : ~m2163_54 -# 2163| m2163_44(unknown) = Chi : total:m2163_54, partial:m2163_43 -# 2163| v2163_45(void) = ^IndirectReadSideEffect[-1] : &:r2163_40, m2163_30 -# 2163| m2163_46(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2163_40 -# 2163| m2163_47(iterator) = Chi : total:m2163_30, partial:m2163_46 -# 2163| r2163_48(glval) = CopyValue : r2163_42 -#-----| Goto (back edge) -> Block 16 - -# 2163| Block 18 -# 2163| r2163_49(glval) = VariableAddress[y] : -# 2163| r2163_50(glval) = VariableAddress[(__begin)] : -#-----| r0_29(glval) = Convert : r2163_50 -# 2163| r2163_51(glval) = FunctionAddress[operator*] : -# 2163| r2163_52(int &) = Call[operator*] : func:r2163_51, this:r0_29 -# 2163| m2163_53(unknown) = ^CallSideEffect : ~m2163_38 -# 2163| m2163_54(unknown) = Chi : total:m2163_38, partial:m2163_53 -#-----| v0_30(void) = ^IndirectReadSideEffect[-1] : &:r0_29, m2163_30 -# 2163| r2163_55(int) = Load[?] : &:r2163_52, ~m2163_54 -# 2163| m2163_56(int) = Store[y] : &:r2163_49, r2163_55 -# 2164| r2164_1(glval) = VariableAddress[y] : -# 2164| r2164_2(int) = Load[y] : &:r2164_1, m2163_56 -# 2164| r2164_3(int) = Constant[1] : -# 2164| r2164_4(bool) = CompareEQ : r2164_2, r2164_3 -# 2164| v2164_5(void) = ConditionalBranch : r2164_4 -#-----| False -> Block 17 -#-----| True -> Block 19 - -# 2165| Block 19 -# 2165| v2165_1(void) = NoOp : -# 2163| r2163_57(glval>) = VariableAddress[ys] : -# 2163| r2163_58(glval) = FunctionAddress[~vector] : -# 2163| v2163_59(void) = Call[~vector] : func:r2163_58, this:r2163_57 -# 2163| m2163_60(unknown) = ^CallSideEffect : ~m2163_54 -# 2163| m2163_61(unknown) = Chi : total:m2163_54, partial:m2163_60 -# 2163| v2163_62(void) = ^IndirectReadSideEffect[-1] : &:r2163_57, m2163_9 -# 2163| m2163_63(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2163_57 -# 2163| m2163_64(vector) = Chi : total:m2163_9, partial:m2163_63 -# 2172| r2172_9(glval) = VariableAddress[x] : -# 2172| r2172_10(glval) = FunctionAddress[~ClassWithDestructor] : -# 2172| v2172_11(void) = Call[~ClassWithDestructor] : func:r2172_10, this:r2172_9 -# 2172| m2172_12(unknown) = ^CallSideEffect : ~m2163_61 -# 2172| m2172_13(unknown) = Chi : total:m2163_61, partial:m2172_12 -# 2172| v2172_14(void) = ^IndirectReadSideEffect[-1] : &:r2172_9, m2153_8 -# 2172| m2172_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2172_9 -# 2172| m2172_16(ClassWithDestructor) = Chi : total:m2153_8, partial:m2172_15 -#-----| Goto -> Block 1 - -# 2168| Block 20 -# 2168| r2168_1(glval>) = VariableAddress[ys] : -# 2168| m2168_2(vector) = Uninitialized[ys] : &:r2168_1 -# 2168| r2168_3(glval) = FunctionAddress[vector] : -# 2168| r2168_4(glval) = VariableAddress[#temp2168:40] : -# 2168| r2168_5(glval) = VariableAddress[x] : -# 2168| r2168_6(ClassWithDestructor) = Load[x] : &:r2168_5, m2153_8 -# 2168| m2168_7(ClassWithDestructor) = Store[#temp2168:40] : &:r2168_4, r2168_6 -# 2168| r2168_8(ClassWithDestructor) = Load[#temp2168:40] : &:r2168_4, m2168_7 -# 2168| v2168_9(void) = Call[vector] : func:r2168_3, this:r2168_1, 0:r2168_8 -# 2168| m2168_10(unknown) = ^CallSideEffect : ~m2163_38 -# 2168| m2168_11(unknown) = Chi : total:m2163_38, partial:m2168_10 -# 2168| m2168_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2168_1 -# 2168| m2168_13(vector) = Chi : total:m2168_2, partial:m2168_12 -# 2168| r2168_14(glval &>) = VariableAddress[(__range)] : -# 2168| r2168_15(glval>) = VariableAddress[ys] : -# 2168| r2168_16(vector &) = CopyValue : r2168_15 -# 2168| m2168_17(vector &) = Store[(__range)] : &:r2168_14, r2168_16 -# 2168| r2168_18(glval) = VariableAddress[(__begin)] : -# 2168| r2168_19(glval &>) = VariableAddress[(__range)] : -# 2168| r2168_20(vector &) = Load[(__range)] : &:r2168_19, m2168_17 -#-----| r0_31(glval>) = CopyValue : r2168_20 -#-----| r0_32(glval>) = Convert : r0_31 -# 2168| r2168_21(glval) = FunctionAddress[begin] : -# 2168| r2168_22(iterator) = Call[begin] : func:r2168_21, this:r0_32 -# 2168| m2168_23(unknown) = ^CallSideEffect : ~m2168_11 -# 2168| m2168_24(unknown) = Chi : total:m2168_11, partial:m2168_23 -#-----| v0_33(void) = ^IndirectReadSideEffect[-1] : &:r0_32, m2168_13 -# 2168| m2168_25(iterator) = Store[(__begin)] : &:r2168_18, r2168_22 -# 2168| r2168_26(glval) = VariableAddress[(__end)] : -# 2168| r2168_27(glval &>) = VariableAddress[(__range)] : -# 2168| r2168_28(vector &) = Load[(__range)] : &:r2168_27, m2168_17 -#-----| r0_34(glval>) = CopyValue : r2168_28 -#-----| r0_35(glval>) = Convert : r0_34 -# 2168| r2168_29(glval) = FunctionAddress[end] : -# 2168| r2168_30(iterator) = Call[end] : func:r2168_29, this:r0_35 -# 2168| m2168_31(unknown) = ^CallSideEffect : ~m2168_24 -# 2168| m2168_32(unknown) = Chi : total:m2168_24, partial:m2168_31 -#-----| v0_36(void) = ^IndirectReadSideEffect[-1] : &:r0_35, m2168_13 -# 2168| m2168_33(iterator) = Store[(__end)] : &:r2168_26, r2168_30 -#-----| Goto -> Block 21 - -# 2168| Block 21 -# 2168| m2168_34(iterator) = Phi : from 20:m2168_25, from 22:m2168_67 -# 2168| m2168_35(unknown) = Phi : from 20:~m2168_32, from 22:~m2168_64 -# 2168| r2168_36(glval) = VariableAddress[(__begin)] : -#-----| r0_37(glval) = Convert : r2168_36 -# 2168| r2168_37(glval) = FunctionAddress[operator!=] : -# 2168| r2168_38(glval) = VariableAddress[(__end)] : -# 2168| r2168_39(iterator) = Load[(__end)] : &:r2168_38, m2168_33 -# 2168| r2168_40(bool) = Call[operator!=] : func:r2168_37, this:r0_37, 0:r2168_39 -# 2168| m2168_41(unknown) = ^CallSideEffect : ~m2168_35 -# 2168| m2168_42(unknown) = Chi : total:m2168_35, partial:m2168_41 -#-----| v0_38(void) = ^IndirectReadSideEffect[-1] : &:r0_37, m2168_34 -# 2168| v2168_43(void) = ConditionalBranch : r2168_40 -#-----| False -> Block 23 -#-----| True -> Block 22 - -# 2168| Block 22 -# 2168| r2168_44(glval) = VariableAddress[y] : -# 2168| r2168_45(glval) = VariableAddress[(__begin)] : -#-----| r0_39(glval) = Convert : r2168_45 -# 2168| r2168_46(glval) = FunctionAddress[operator*] : -# 2168| r2168_47(ClassWithDestructor &) = Call[operator*] : func:r2168_46, this:r0_39 -# 2168| m2168_48(unknown) = ^CallSideEffect : ~m2168_42 -# 2168| m2168_49(unknown) = Chi : total:m2168_42, partial:m2168_48 -#-----| v0_40(void) = ^IndirectReadSideEffect[-1] : &:r0_39, m2168_34 -# 2168| r2168_50(ClassWithDestructor) = Load[?] : &:r2168_47, ~m2168_49 -# 2168| m2168_51(ClassWithDestructor) = Store[y] : &:r2168_44, r2168_50 -# 2169| r2169_1(glval) = VariableAddress[z1] : -# 2169| m2169_2(ClassWithDestructor) = Uninitialized[z1] : &:r2169_1 -# 2169| r2169_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2169| v2169_4(void) = Call[ClassWithDestructor] : func:r2169_3, this:r2169_1 -# 2169| m2169_5(unknown) = ^CallSideEffect : ~m2168_49 -# 2169| m2169_6(unknown) = Chi : total:m2168_49, partial:m2169_5 -# 2169| m2169_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2169_1 -# 2169| m2169_8(ClassWithDestructor) = Chi : total:m2169_2, partial:m2169_7 -# 2170| r2170_1(glval) = VariableAddress[z2] : -# 2170| m2170_2(ClassWithDestructor) = Uninitialized[z2] : &:r2170_1 -# 2170| r2170_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2170| v2170_4(void) = Call[ClassWithDestructor] : func:r2170_3, this:r2170_1 -# 2170| m2170_5(unknown) = ^CallSideEffect : ~m2169_6 -# 2170| m2170_6(unknown) = Chi : total:m2169_6, partial:m2170_5 -# 2170| m2170_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2170_1 -# 2170| m2170_8(ClassWithDestructor) = Chi : total:m2170_2, partial:m2170_7 -# 2171| r2171_1(glval) = VariableAddress[z2] : -# 2171| r2171_2(glval) = FunctionAddress[~ClassWithDestructor] : -# 2171| v2171_3(void) = Call[~ClassWithDestructor] : func:r2171_2, this:r2171_1 -# 2171| m2171_4(unknown) = ^CallSideEffect : ~m2170_6 -# 2171| m2171_5(unknown) = Chi : total:m2170_6, partial:m2171_4 -# 2171| v2171_6(void) = ^IndirectReadSideEffect[-1] : &:r2171_1, m2170_8 -# 2171| m2171_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2171_1 -# 2171| m2171_8(ClassWithDestructor) = Chi : total:m2170_8, partial:m2171_7 -# 2171| r2171_9(glval) = VariableAddress[z1] : -# 2171| r2171_10(glval) = FunctionAddress[~ClassWithDestructor] : -# 2171| v2171_11(void) = Call[~ClassWithDestructor] : func:r2171_10, this:r2171_9 -# 2171| m2171_12(unknown) = ^CallSideEffect : ~m2171_5 -# 2171| m2171_13(unknown) = Chi : total:m2171_5, partial:m2171_12 -# 2171| v2171_14(void) = ^IndirectReadSideEffect[-1] : &:r2171_9, m2169_8 -# 2171| m2171_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2171_9 -# 2171| m2171_16(ClassWithDestructor) = Chi : total:m2169_8, partial:m2171_15 -# 2168| r2168_52(glval) = VariableAddress[y] : -# 2168| r2168_53(glval) = FunctionAddress[~ClassWithDestructor] : -# 2168| v2168_54(void) = Call[~ClassWithDestructor] : func:r2168_53, this:r2168_52 -# 2168| m2168_55(unknown) = ^CallSideEffect : ~m2171_13 -# 2168| m2168_56(unknown) = Chi : total:m2171_13, partial:m2168_55 -# 2168| v2168_57(void) = ^IndirectReadSideEffect[-1] : &:r2168_52, m2168_51 -# 2168| m2168_58(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2168_52 -# 2168| m2168_59(ClassWithDestructor) = Chi : total:m2168_51, partial:m2168_58 -# 2168| r2168_60(glval) = VariableAddress[(__begin)] : -# 2168| r2168_61(glval) = FunctionAddress[operator++] : -# 2168| r2168_62(iterator &) = Call[operator++] : func:r2168_61, this:r2168_60 -# 2168| m2168_63(unknown) = ^CallSideEffect : ~m2168_56 -# 2168| m2168_64(unknown) = Chi : total:m2168_56, partial:m2168_63 -# 2168| v2168_65(void) = ^IndirectReadSideEffect[-1] : &:r2168_60, m2168_34 -# 2168| m2168_66(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2168_60 -# 2168| m2168_67(iterator) = Chi : total:m2168_34, partial:m2168_66 -# 2168| r2168_68(glval) = CopyValue : r2168_62 -#-----| Goto (back edge) -> Block 21 - -# 2172| Block 23 -# 2172| v2172_17(void) = NoOp : -# 2172| r2172_18(glval) = VariableAddress[x] : -# 2172| r2172_19(glval) = FunctionAddress[~ClassWithDestructor] : -# 2172| v2172_20(void) = Call[~ClassWithDestructor] : func:r2172_19, this:r2172_18 -# 2172| m2172_21(unknown) = ^CallSideEffect : ~m2168_42 -# 2172| m2172_22(unknown) = Chi : total:m2168_42, partial:m2172_21 -# 2172| v2172_23(void) = ^IndirectReadSideEffect[-1] : &:r2172_18, m2153_8 -# 2172| m2172_24(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2172_18 -# 2172| m2172_25(ClassWithDestructor) = Chi : total:m2153_8, partial:m2172_24 -#-----| Goto -> Block 1 - -# 2137| Block 24 -# 2137| v2137_13(void) = Unreached : - -# 2174| void static_variable_with_destructor_1() -# 2174| Block 0 -# 2174| v2174_1(void) = EnterFunction : -# 2174| m2174_2(unknown) = AliasedDefinition : -# 2174| m2174_3(unknown) = InitializeNonLocal : -# 2174| m2174_4(unknown) = Chi : total:m2174_2, partial:m2174_3 -# 2175| r2175_1(glval) = VariableAddress[a] : -# 2175| m2175_2(ClassWithDestructor) = Uninitialized[a] : &:r2175_1 -# 2175| r2175_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2175| v2175_4(void) = Call[ClassWithDestructor] : func:r2175_3, this:r2175_1 -# 2175| m2175_5(unknown) = ^CallSideEffect : ~m2174_4 -# 2175| m2175_6(unknown) = Chi : total:m2174_4, partial:m2175_5 -# 2175| m2175_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2175_1 -# 2175| m2175_8(ClassWithDestructor) = Chi : total:m2175_2, partial:m2175_7 -# 2176| r2176_1(glval) = VariableAddress[b#init] : -# 2176| r2176_2(bool) = Load[b#init] : &:r2176_1, ~m2175_6 -# 2176| v2176_3(void) = ConditionalBranch : r2176_2 -#-----| False -> Block 1 -#-----| True -> Block 2 - -# 2176| Block 1 -# 2176| r2176_4(glval) = VariableAddress[b] : -#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2176_4 -#-----| m0_3(unknown) = ^CallSideEffect : ~m2175_6 -#-----| m0_4(unknown) = Chi : total:m2175_6, partial:m0_3 -#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2176_4 -#-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 -# 2176| r2176_5(bool) = Constant[1] : -# 2176| m2176_6(bool) = Store[b#init] : &:r2176_1, r2176_5 -# 2176| m2176_7(unknown) = Chi : total:m0_6, partial:m2176_6 -#-----| Goto -> Block 2 - -# 2177| Block 2 -# 2177| m2177_1(unknown) = Phi : from 0:~m2175_6, from 1:~m2176_7 -# 2177| v2177_2(void) = NoOp : -# 2177| r2177_3(glval) = VariableAddress[a] : -# 2177| r2177_4(glval) = FunctionAddress[~ClassWithDestructor] : -# 2177| v2177_5(void) = Call[~ClassWithDestructor] : func:r2177_4, this:r2177_3 -# 2177| m2177_6(unknown) = ^CallSideEffect : ~m2177_1 -# 2177| m2177_7(unknown) = Chi : total:m2177_1, partial:m2177_6 -# 2177| v2177_8(void) = ^IndirectReadSideEffect[-1] : &:r2177_3, m2175_8 -# 2177| m2177_9(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2177_3 -# 2177| m2177_10(ClassWithDestructor) = Chi : total:m2175_8, partial:m2177_9 -# 2174| v2174_5(void) = ReturnVoid : -# 2174| v2174_6(void) = AliasedUse : ~m2177_7 -# 2174| v2174_7(void) = ExitFunction : - -# 2179| void static_variable_with_destructor_2() +# 2179| char ClassWithDestructor::get_x() # 2179| Block 0 -# 2179| v2179_1(void) = EnterFunction : -# 2179| m2179_2(unknown) = AliasedDefinition : -# 2179| m2179_3(unknown) = InitializeNonLocal : -# 2179| m2179_4(unknown) = Chi : total:m2179_2, partial:m2179_3 -# 2180| r2180_1(glval) = VariableAddress[a#init] : -# 2180| r2180_2(bool) = Load[a#init] : &:r2180_1, ~m2179_3 -# 2180| v2180_3(void) = ConditionalBranch : r2180_2 -#-----| False -> Block 1 -#-----| True -> Block 2 +# 2179| v2179_1(void) = EnterFunction : +# 2179| m2179_2(unknown) = AliasedDefinition : +# 2179| m2179_3(unknown) = InitializeNonLocal : +# 2179| m2179_4(unknown) = Chi : total:m2179_2, partial:m2179_3 +# 2179| r2179_5(glval) = VariableAddress[#this] : +# 2179| m2179_6(glval) = InitializeParameter[#this] : &:r2179_5 +# 2179| r2179_7(glval) = Load[#this] : &:r2179_5, m2179_6 +# 2179| m2179_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2179_7 +# 2179| r2179_9(glval) = VariableAddress[#return] : +# 2179| r2179_10(glval) = VariableAddress[#this] : +# 2179| r2179_11(ClassWithDestructor *) = Load[#this] : &:r2179_10, m2179_6 +# 2179| r2179_12(glval) = FieldAddress[x] : r2179_11 +# 2179| r2179_13(char *) = Load[?] : &:r2179_12, ~m2179_8 +# 2179| r2179_14(char) = Load[?] : &:r2179_13, ~m2179_4 +# 2179| m2179_15(char) = Store[#return] : &:r2179_9, r2179_14 +# 2179| v2179_16(void) = ReturnIndirection[#this] : &:r2179_7, m2179_8 +# 2179| r2179_17(glval) = VariableAddress[#return] : +# 2179| v2179_18(void) = ReturnValue : &:r2179_17, m2179_15 +# 2179| v2179_19(void) = AliasedUse : m2179_3 +# 2179| v2179_20(void) = ExitFunction : -# 2180| Block 1 -# 2180| r2180_4(glval) = VariableAddress[a] : -#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2180_4 -#-----| m0_3(unknown) = ^CallSideEffect : ~m2179_4 -#-----| m0_4(unknown) = Chi : total:m2179_4, partial:m0_3 -#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2180_4 -#-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 -# 2180| r2180_5(bool) = Constant[1] : -# 2180| m2180_6(bool) = Store[a#init] : &:r2180_1, r2180_5 -# 2180| m2180_7(unknown) = Chi : total:m0_6, partial:m2180_6 -#-----| Goto -> Block 2 +# 2182| bool initialization_with_destructor_bool +# 2182| Block 0 +# 2182| v2182_1(void) = EnterFunction : +# 2182| m2182_2(unknown) = AliasedDefinition : +# 2182| r2182_3(glval) = VariableAddress[initialization_with_destructor_bool] : +# 2182| r2182_4(bool) = Constant[1] : +# 2182| m2182_5(bool) = Store[initialization_with_destructor_bool] : &:r2182_3, r2182_4 +# 2182| m2182_6(unknown) = Chi : total:m2182_2, partial:m2182_5 +# 2182| v2182_7(void) = ReturnVoid : +# 2182| v2182_8(void) = AliasedUse : ~m2182_6 +# 2182| v2182_9(void) = ExitFunction : -# 2181| Block 2 -# 2181| m2181_1(unknown) = Phi : from 0:~m2179_4, from 1:~m2180_7 -# 2181| r2181_2(glval) = VariableAddress[b] : -# 2181| m2181_3(ClassWithDestructor) = Uninitialized[b] : &:r2181_2 -# 2181| r2181_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2181| v2181_5(void) = Call[ClassWithDestructor] : func:r2181_4, this:r2181_2 -# 2181| m2181_6(unknown) = ^CallSideEffect : ~m2181_1 -# 2181| m2181_7(unknown) = Chi : total:m2181_1, partial:m2181_6 -# 2181| m2181_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2181_2 -# 2181| m2181_9(ClassWithDestructor) = Chi : total:m2181_3, partial:m2181_8 -# 2182| v2182_1(void) = NoOp : -# 2182| r2182_2(glval) = VariableAddress[b] : -# 2182| r2182_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2182| v2182_4(void) = Call[~ClassWithDestructor] : func:r2182_3, this:r2182_2 -# 2182| m2182_5(unknown) = ^CallSideEffect : ~m2181_7 -# 2182| m2182_6(unknown) = Chi : total:m2181_7, partial:m2182_5 -# 2182| v2182_7(void) = ^IndirectReadSideEffect[-1] : &:r2182_2, m2181_9 -# 2182| m2182_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2182_2 -# 2182| m2182_9(ClassWithDestructor) = Chi : total:m2181_9, partial:m2182_8 -# 2179| v2179_5(void) = ReturnVoid : -# 2179| v2179_6(void) = AliasedUse : ~m2182_6 -# 2179| v2179_7(void) = ExitFunction : - -# 2184| void static_variable_with_destructor_3() +# 2184| void initialization_with_destructor(bool, char) # 2184| Block 0 # 2184| v2184_1(void) = EnterFunction : # 2184| m2184_2(unknown) = AliasedDefinition : # 2184| m2184_3(unknown) = InitializeNonLocal : # 2184| m2184_4(unknown) = Chi : total:m2184_2, partial:m2184_3 -# 2185| r2185_1(glval) = VariableAddress[a] : -# 2185| m2185_2(ClassWithDestructor) = Uninitialized[a] : &:r2185_1 +# 2184| r2184_5(glval) = VariableAddress[b] : +# 2184| m2184_6(bool) = InitializeParameter[b] : &:r2184_5 +# 2184| r2184_7(glval) = VariableAddress[c] : +# 2184| m2184_8(char) = InitializeParameter[c] : &:r2184_7 +# 2185| r2185_1(glval) = VariableAddress[x] : +# 2185| m2185_2(ClassWithDestructor) = Uninitialized[x] : &:r2185_1 # 2185| r2185_3(glval) = FunctionAddress[ClassWithDestructor] : # 2185| v2185_4(void) = Call[ClassWithDestructor] : func:r2185_3, this:r2185_1 # 2185| m2185_5(unknown) = ^CallSideEffect : ~m2184_4 # 2185| m2185_6(unknown) = Chi : total:m2184_4, partial:m2185_5 # 2185| m2185_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2185_1 # 2185| m2185_8(ClassWithDestructor) = Chi : total:m2185_2, partial:m2185_7 -# 2186| r2186_1(glval) = VariableAddress[b] : -# 2186| m2186_2(ClassWithDestructor) = Uninitialized[b] : &:r2186_1 -# 2186| r2186_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2186| v2186_4(void) = Call[ClassWithDestructor] : func:r2186_3, this:r2186_1 -# 2186| m2186_5(unknown) = ^CallSideEffect : ~m2185_6 -# 2186| m2186_6(unknown) = Chi : total:m2185_6, partial:m2186_5 -# 2186| m2186_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2186_1 -# 2186| m2186_8(ClassWithDestructor) = Chi : total:m2186_2, partial:m2186_7 -# 2187| r2187_1(glval) = VariableAddress[c#init] : -# 2187| r2187_2(bool) = Load[c#init] : &:r2187_1, ~m2186_6 -# 2187| v2187_3(void) = ConditionalBranch : r2187_2 +# 2185| r2185_9(glval) = VariableAddress[b] : +# 2185| r2185_10(bool) = Load[b] : &:r2185_9, m2184_6 +# 2185| v2185_11(void) = ConditionalBranch : r2185_10 +#-----| False -> Block 3 +#-----| True -> Block 2 + +# 2184| Block 1 +# 2184| m2184_9(unknown) = Phi : from 13:~m2219_5, from 19:~m2219_13, from 23:~m2219_22 +# 2184| v2184_10(void) = ReturnVoid : +# 2184| v2184_11(void) = AliasedUse : ~m2184_9 +# 2184| v2184_12(void) = ExitFunction : + +# 2186| Block 2 +# 2186| r2186_1(glval) = VariableAddress[x] : +# 2186| r2186_2(glval) = FunctionAddress[set_x] : +# 2186| r2186_3(char) = Constant[97] : +# 2186| v2186_4(void) = Call[set_x] : func:r2186_2, this:r2186_1, 0:r2186_3 +# 2186| m2186_5(unknown) = ^CallSideEffect : ~m2185_6 +# 2186| m2186_6(unknown) = Chi : total:m2185_6, partial:m2186_5 +# 2186| v2186_7(void) = ^IndirectReadSideEffect[-1] : &:r2186_1, m2185_8 +# 2186| m2186_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2186_1 +# 2186| m2186_9(ClassWithDestructor) = Chi : total:m2185_8, partial:m2186_8 +# 2186| r2186_10(glval) = VariableAddress[x] : +# 2186| r2186_11(glval) = FunctionAddress[~ClassWithDestructor] : +# 2186| v2186_12(void) = Call[~ClassWithDestructor] : func:r2186_11, this:r2186_10 +# 2186| m2186_13(unknown) = ^CallSideEffect : ~m2186_6 +# 2186| m2186_14(unknown) = Chi : total:m2186_6, partial:m2186_13 +# 2186| v2186_15(void) = ^IndirectReadSideEffect[-1] : &:r2186_10, m2186_9 +# 2186| m2186_16(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2186_10 +# 2186| m2186_17(ClassWithDestructor) = Chi : total:m2186_9, partial:m2186_16 +#-----| Goto -> Block 3 + +# 2188| Block 3 +# 2188| m2188_1(unknown) = Phi : from 0:~m2185_6, from 2:~m2186_14 +# 2188| r2188_2(glval) = VariableAddress[x] : +# 2188| m2188_3(ClassWithDestructor) = Uninitialized[x] : &:r2188_2 +# 2188| r2188_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2188| v2188_5(void) = Call[ClassWithDestructor] : func:r2188_4, this:r2188_2 +# 2188| m2188_6(unknown) = ^CallSideEffect : ~m2188_1 +# 2188| m2188_7(unknown) = Chi : total:m2188_1, partial:m2188_6 +# 2188| m2188_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2188_2 +# 2188| m2188_9(ClassWithDestructor) = Chi : total:m2188_3, partial:m2188_8 +# 2188| r2188_10(bool) = Constant[1] : +# 2188| v2188_11(void) = ConditionalBranch : r2188_10 +#-----| False -> Block 24 +#-----| True -> Block 4 + +# 2189| Block 4 +# 2189| r2189_1(glval) = VariableAddress[x] : +# 2189| r2189_2(glval) = FunctionAddress[set_x] : +# 2189| r2189_3(char) = Constant[97] : +# 2189| v2189_4(void) = Call[set_x] : func:r2189_2, this:r2189_1, 0:r2189_3 +# 2189| m2189_5(unknown) = ^CallSideEffect : ~m2188_7 +# 2189| m2189_6(unknown) = Chi : total:m2188_7, partial:m2189_5 +# 2189| v2189_7(void) = ^IndirectReadSideEffect[-1] : &:r2189_1, m2188_9 +# 2189| m2189_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2189_1 +# 2189| m2189_9(ClassWithDestructor) = Chi : total:m2188_9, partial:m2189_8 +# 2191| r2191_1(glval) = VariableAddress[x] : +# 2191| m2191_2(ClassWithDestructor) = Uninitialized[x] : &:r2191_1 +# 2191| r2191_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2191| v2191_4(void) = Call[ClassWithDestructor] : func:r2191_3, this:r2191_1 +# 2191| m2191_5(unknown) = ^CallSideEffect : ~m2189_6 +# 2191| m2191_6(unknown) = Chi : total:m2189_6, partial:m2191_5 +# 2191| m2191_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2191_1 +# 2191| m2191_8(ClassWithDestructor) = Chi : total:m2191_2, partial:m2191_7 +# 2191| r2191_9(glval) = VariableAddress[c] : +# 2191| r2191_10(char) = Load[c] : &:r2191_9, m2184_8 +# 2191| r2191_11(int) = Convert : r2191_10 +# 2191| v2191_12(void) = Switch : r2191_11 +#-----| Case[97] -> Block 5 +#-----| Default -> Block 6 + +# 2192| Block 5 +# 2192| v2192_1(void) = NoOp : +# 2193| r2193_1(glval) = VariableAddress[x] : +# 2193| r2193_2(glval) = FunctionAddress[set_x] : +# 2193| r2193_3(char) = Constant[97] : +# 2193| v2193_4(void) = Call[set_x] : func:r2193_2, this:r2193_1, 0:r2193_3 +# 2193| m2193_5(unknown) = ^CallSideEffect : ~m2191_6 +# 2193| m2193_6(unknown) = Chi : total:m2191_6, partial:m2193_5 +# 2193| v2193_7(void) = ^IndirectReadSideEffect[-1] : &:r2193_1, m2191_8 +# 2193| m2193_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2193_1 +# 2193| m2193_9(ClassWithDestructor) = Chi : total:m2191_8, partial:m2193_8 +# 2194| v2194_1(void) = NoOp : +#-----| Goto -> Block 7 + +# 2195| Block 6 +# 2195| v2195_1(void) = NoOp : +# 2196| r2196_1(glval) = VariableAddress[x] : +# 2196| r2196_2(glval) = FunctionAddress[set_x] : +# 2196| r2196_3(char) = Constant[98] : +# 2196| v2196_4(void) = Call[set_x] : func:r2196_2, this:r2196_1, 0:r2196_3 +# 2196| m2196_5(unknown) = ^CallSideEffect : ~m2191_6 +# 2196| m2196_6(unknown) = Chi : total:m2191_6, partial:m2196_5 +# 2196| v2196_7(void) = ^IndirectReadSideEffect[-1] : &:r2196_1, m2191_8 +# 2196| m2196_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2196_1 +# 2196| m2196_9(ClassWithDestructor) = Chi : total:m2191_8, partial:m2196_8 +# 2197| v2197_1(void) = NoOp : +#-----| Goto -> Block 7 + +# 2198| Block 7 +# 2198| m2198_1(unknown) = Phi : from 5:~m2193_6, from 6:~m2196_6 +# 2198| v2198_2(void) = NoOp : +# 2200| r2200_1(glval) = VariableAddress[x] : +# 2200| m2200_2(ClassWithDestructor) = Uninitialized[x] : &:r2200_1 +# 2200| r2200_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2200| v2200_4(void) = Call[ClassWithDestructor] : func:r2200_3, this:r2200_1 +# 2200| m2200_5(unknown) = ^CallSideEffect : ~m2198_1 +# 2200| m2200_6(unknown) = Chi : total:m2198_1, partial:m2200_5 +# 2200| m2200_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2200_1 +# 2200| m2200_8(ClassWithDestructor) = Chi : total:m2200_2, partial:m2200_7 +# 2201| r2201_1(glval>) = VariableAddress[ys] : +# 2201| m2201_2(vector) = Uninitialized[ys] : &:r2201_1 +# 2201| r2201_3(glval) = FunctionAddress[vector] : +# 2201| r2201_4(glval) = VariableAddress[#temp2201:45] : +# 2201| r2201_5(glval) = VariableAddress[x] : +# 2201| r2201_6(ClassWithDestructor) = Load[x] : &:r2201_5, m2200_8 +# 2201| m2201_7(ClassWithDestructor) = Store[#temp2201:45] : &:r2201_4, r2201_6 +# 2201| r2201_8(ClassWithDestructor) = Load[#temp2201:45] : &:r2201_4, m2201_7 +# 2201| v2201_9(void) = Call[vector] : func:r2201_3, this:r2201_1, 0:r2201_8 +# 2201| m2201_10(unknown) = ^CallSideEffect : ~m2200_6 +# 2201| m2201_11(unknown) = Chi : total:m2200_6, partial:m2201_10 +# 2201| m2201_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2201_1 +# 2201| m2201_13(vector) = Chi : total:m2201_2, partial:m2201_12 +# 2201| r2201_14(glval &>) = VariableAddress[(__range)] : +# 2201| r2201_15(glval>) = VariableAddress[ys] : +# 2201| r2201_16(vector &) = CopyValue : r2201_15 +# 2201| m2201_17(vector &) = Store[(__range)] : &:r2201_14, r2201_16 +# 2201| r2201_18(glval>) = VariableAddress[(__begin)] : +# 2201| r2201_19(glval &>) = VariableAddress[(__range)] : +# 2201| r2201_20(vector &) = Load[(__range)] : &:r2201_19, m2201_17 +#-----| r0_1(glval>) = CopyValue : r2201_20 +#-----| r0_2(glval>) = Convert : r0_1 +# 2201| r2201_21(glval) = FunctionAddress[begin] : +# 2201| r2201_22(iterator) = Call[begin] : func:r2201_21, this:r0_2 +#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, m2201_13 +# 2201| m2201_23(iterator) = Store[(__begin)] : &:r2201_18, r2201_22 +# 2201| r2201_24(glval>) = VariableAddress[(__end)] : +# 2201| r2201_25(glval &>) = VariableAddress[(__range)] : +# 2201| r2201_26(vector &) = Load[(__range)] : &:r2201_25, m2201_17 +#-----| r0_4(glval>) = CopyValue : r2201_26 +#-----| r0_5(glval>) = Convert : r0_4 +# 2201| r2201_27(glval) = FunctionAddress[end] : +# 2201| r2201_28(iterator) = Call[end] : func:r2201_27, this:r0_5 +#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m2201_13 +# 2201| m2201_29(iterator) = Store[(__end)] : &:r2201_24, r2201_28 +#-----| Goto -> Block 8 + +# 2201| Block 8 +# 2201| m2201_30(iterator) = Phi : from 7:m2201_23, from 9:m2201_68 +# 2201| m2201_31(unknown) = Phi : from 7:~m2201_11, from 9:~m2201_65 +# 2201| r2201_32(glval>) = VariableAddress[(__begin)] : +#-----| r0_7(glval>) = Convert : r2201_32 +# 2201| r2201_33(glval) = FunctionAddress[operator!=] : +#-----| r0_8(glval>) = VariableAddress[#temp0:0] : +#-----| m0_9(iterator) = Uninitialized[#temp0:0] : &:r0_8 +# 2201| r2201_34(glval) = FunctionAddress[iterator] : +# 2201| r2201_35(glval>) = VariableAddress[(__end)] : +#-----| r0_10(glval>) = Convert : r2201_35 +#-----| r0_11(iterator &) = CopyValue : r0_10 +# 2201| v2201_36(void) = Call[iterator] : func:r2201_34, this:r0_8, 0:r0_11 +# 2201| m2201_37(unknown) = ^CallSideEffect : ~m2201_31 +# 2201| m2201_38(unknown) = Chi : total:m2201_31, partial:m2201_37 +#-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m2201_29 +# 2201| m2201_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 +# 2201| m2201_40(iterator) = Chi : total:m0_9, partial:m2201_39 +#-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, m2201_40 +# 2201| r2201_41(bool) = Call[operator!=] : func:r2201_33, this:r0_7, 0:r0_13 +# 2201| m2201_42(unknown) = ^CallSideEffect : ~m2201_38 +# 2201| m2201_43(unknown) = Chi : total:m2201_38, partial:m2201_42 +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2201_30 +# 2201| v2201_44(void) = ConditionalBranch : r2201_41 +#-----| False -> Block 10 +#-----| True -> Block 9 + +# 2201| Block 9 +# 2201| r2201_45(glval) = VariableAddress[y] : +# 2201| r2201_46(glval>) = VariableAddress[(__begin)] : +#-----| r0_15(glval>) = Convert : r2201_46 +# 2201| r2201_47(glval) = FunctionAddress[operator*] : +# 2201| r2201_48(ClassWithDestructor &) = Call[operator*] : func:r2201_47, this:r0_15 +# 2201| m2201_49(unknown) = ^CallSideEffect : ~m2201_43 +# 2201| m2201_50(unknown) = Chi : total:m2201_43, partial:m2201_49 +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, m2201_30 +# 2201| r2201_51(ClassWithDestructor) = Load[?] : &:r2201_48, ~m2201_50 +# 2201| m2201_52(ClassWithDestructor) = Store[y] : &:r2201_45, r2201_51 +# 2202| r2202_1(glval) = VariableAddress[y] : +# 2202| r2202_2(glval) = FunctionAddress[set_x] : +# 2202| r2202_3(char) = Constant[97] : +# 2202| v2202_4(void) = Call[set_x] : func:r2202_2, this:r2202_1, 0:r2202_3 +# 2202| m2202_5(unknown) = ^CallSideEffect : ~m2201_50 +# 2202| m2202_6(unknown) = Chi : total:m2201_50, partial:m2202_5 +# 2202| v2202_7(void) = ^IndirectReadSideEffect[-1] : &:r2202_1, m2201_52 +# 2202| m2202_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2202_1 +# 2202| m2202_9(ClassWithDestructor) = Chi : total:m2201_52, partial:m2202_8 +# 2201| r2201_53(glval) = VariableAddress[y] : +# 2201| r2201_54(glval) = FunctionAddress[~ClassWithDestructor] : +# 2201| v2201_55(void) = Call[~ClassWithDestructor] : func:r2201_54, this:r2201_53 +# 2201| m2201_56(unknown) = ^CallSideEffect : ~m2202_6 +# 2201| m2201_57(unknown) = Chi : total:m2202_6, partial:m2201_56 +# 2201| v2201_58(void) = ^IndirectReadSideEffect[-1] : &:r2201_53, m2202_9 +# 2201| m2201_59(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2201_53 +# 2201| m2201_60(ClassWithDestructor) = Chi : total:m2202_9, partial:m2201_59 +# 2201| r2201_61(glval>) = VariableAddress[(__begin)] : +# 2201| r2201_62(glval) = FunctionAddress[operator++] : +# 2201| r2201_63(iterator &) = Call[operator++] : func:r2201_62, this:r2201_61 +# 2201| m2201_64(unknown) = ^CallSideEffect : ~m2201_57 +# 2201| m2201_65(unknown) = Chi : total:m2201_57, partial:m2201_64 +# 2201| v2201_66(void) = ^IndirectReadSideEffect[-1] : &:r2201_61, m2201_30 +# 2201| m2201_67(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2201_61 +# 2201| m2201_68(iterator) = Chi : total:m2201_30, partial:m2201_67 +# 2201| r2201_69(glval>) = CopyValue : r2201_63 +#-----| Goto (back edge) -> Block 8 + +# 2204| Block 10 +# 2204| r2204_1(glval>) = VariableAddress[ys] : +# 2204| m2204_2(vector) = Uninitialized[ys] : &:r2204_1 +# 2204| r2204_3(glval) = FunctionAddress[vector] : +# 2204| r2204_4(glval) = VariableAddress[#temp2204:45] : +# 2204| r2204_5(glval) = VariableAddress[x] : +# 2204| r2204_6(ClassWithDestructor) = Load[x] : &:r2204_5, m2200_8 +# 2204| m2204_7(ClassWithDestructor) = Store[#temp2204:45] : &:r2204_4, r2204_6 +# 2204| r2204_8(ClassWithDestructor) = Load[#temp2204:45] : &:r2204_4, m2204_7 +# 2204| v2204_9(void) = Call[vector] : func:r2204_3, this:r2204_1, 0:r2204_8 +# 2204| m2204_10(unknown) = ^CallSideEffect : ~m2201_43 +# 2204| m2204_11(unknown) = Chi : total:m2201_43, partial:m2204_10 +# 2204| m2204_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2204_1 +# 2204| m2204_13(vector) = Chi : total:m2204_2, partial:m2204_12 +# 2204| r2204_14(glval &>) = VariableAddress[(__range)] : +# 2204| r2204_15(glval>) = VariableAddress[ys] : +# 2204| r2204_16(vector &) = CopyValue : r2204_15 +# 2204| m2204_17(vector &) = Store[(__range)] : &:r2204_14, r2204_16 +# 2204| r2204_18(glval>) = VariableAddress[(__begin)] : +# 2204| r2204_19(glval &>) = VariableAddress[(__range)] : +# 2204| r2204_20(vector &) = Load[(__range)] : &:r2204_19, m2204_17 +#-----| r0_17(glval>) = CopyValue : r2204_20 +#-----| r0_18(glval>) = Convert : r0_17 +# 2204| r2204_21(glval) = FunctionAddress[begin] : +# 2204| r2204_22(iterator) = Call[begin] : func:r2204_21, this:r0_18 +#-----| v0_19(void) = ^IndirectReadSideEffect[-1] : &:r0_18, m2204_13 +# 2204| m2204_23(iterator) = Store[(__begin)] : &:r2204_18, r2204_22 +# 2204| r2204_24(glval>) = VariableAddress[(__end)] : +# 2204| r2204_25(glval &>) = VariableAddress[(__range)] : +# 2204| r2204_26(vector &) = Load[(__range)] : &:r2204_25, m2204_17 +#-----| r0_20(glval>) = CopyValue : r2204_26 +#-----| r0_21(glval>) = Convert : r0_20 +# 2204| r2204_27(glval) = FunctionAddress[end] : +# 2204| r2204_28(iterator) = Call[end] : func:r2204_27, this:r0_21 +#-----| v0_22(void) = ^IndirectReadSideEffect[-1] : &:r0_21, m2204_13 +# 2204| m2204_29(iterator) = Store[(__end)] : &:r2204_24, r2204_28 +#-----| Goto -> Block 11 + +# 2204| Block 11 +# 2204| m2204_30(iterator) = Phi : from 10:m2204_23, from 14:m2204_84 +# 2204| m2204_31(unknown) = Phi : from 10:~m2204_11, from 14:~m2204_81 +# 2204| r2204_32(glval>) = VariableAddress[(__begin)] : +#-----| r0_23(glval>) = Convert : r2204_32 +# 2204| r2204_33(glval) = FunctionAddress[operator!=] : +#-----| r0_24(glval>) = VariableAddress[#temp0:0] : +#-----| m0_25(iterator) = Uninitialized[#temp0:0] : &:r0_24 +# 2204| r2204_34(glval) = FunctionAddress[iterator] : +# 2204| r2204_35(glval>) = VariableAddress[(__end)] : +#-----| r0_26(glval>) = Convert : r2204_35 +#-----| r0_27(iterator &) = CopyValue : r0_26 +# 2204| v2204_36(void) = Call[iterator] : func:r2204_34, this:r0_24, 0:r0_27 +# 2204| m2204_37(unknown) = ^CallSideEffect : ~m2204_31 +# 2204| m2204_38(unknown) = Chi : total:m2204_31, partial:m2204_37 +#-----| v0_28(void) = ^BufferReadSideEffect[0] : &:r0_27, ~m2204_29 +# 2204| m2204_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_24 +# 2204| m2204_40(iterator) = Chi : total:m0_25, partial:m2204_39 +#-----| r0_29(iterator) = Load[#temp0:0] : &:r0_24, m2204_40 +# 2204| r2204_41(bool) = Call[operator!=] : func:r2204_33, this:r0_23, 0:r0_29 +# 2204| m2204_42(unknown) = ^CallSideEffect : ~m2204_38 +# 2204| m2204_43(unknown) = Chi : total:m2204_38, partial:m2204_42 +#-----| v0_30(void) = ^IndirectReadSideEffect[-1] : &:r0_23, m2204_30 +# 2204| v2204_44(void) = ConditionalBranch : r2204_41 +#-----| False -> Block 15 +#-----| True -> Block 12 + +# 2204| Block 12 +# 2204| r2204_45(glval) = VariableAddress[y] : +# 2204| r2204_46(glval>) = VariableAddress[(__begin)] : +#-----| r0_31(glval>) = Convert : r2204_46 +# 2204| r2204_47(glval) = FunctionAddress[operator*] : +# 2204| r2204_48(ClassWithDestructor &) = Call[operator*] : func:r2204_47, this:r0_31 +# 2204| m2204_49(unknown) = ^CallSideEffect : ~m2204_43 +# 2204| m2204_50(unknown) = Chi : total:m2204_43, partial:m2204_49 +#-----| v0_32(void) = ^IndirectReadSideEffect[-1] : &:r0_31, m2204_30 +# 2204| r2204_51(ClassWithDestructor) = Load[?] : &:r2204_48, ~m2204_50 +# 2204| m2204_52(ClassWithDestructor) = Store[y] : &:r2204_45, r2204_51 +# 2205| r2205_1(glval) = VariableAddress[y] : +# 2205| r2205_2(glval) = FunctionAddress[set_x] : +# 2205| r2205_3(char) = Constant[97] : +# 2205| v2205_4(void) = Call[set_x] : func:r2205_2, this:r2205_1, 0:r2205_3 +# 2205| m2205_5(unknown) = ^CallSideEffect : ~m2204_50 +# 2205| m2205_6(unknown) = Chi : total:m2204_50, partial:m2205_5 +# 2205| v2205_7(void) = ^IndirectReadSideEffect[-1] : &:r2205_1, m2204_52 +# 2205| m2205_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2205_1 +# 2205| m2205_9(ClassWithDestructor) = Chi : total:m2204_52, partial:m2205_8 +# 2206| r2206_1(glval) = VariableAddress[y] : +# 2206| r2206_2(glval) = FunctionAddress[get_x] : +# 2206| r2206_3(char) = Call[get_x] : func:r2206_2, this:r2206_1 +# 2206| m2206_4(unknown) = ^CallSideEffect : ~m2205_6 +# 2206| m2206_5(unknown) = Chi : total:m2205_6, partial:m2206_4 +# 2206| v2206_6(void) = ^IndirectReadSideEffect[-1] : &:r2206_1, m2205_9 +# 2206| m2206_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2206_1 +# 2206| m2206_8(ClassWithDestructor) = Chi : total:m2205_9, partial:m2206_7 +# 2206| r2206_9(int) = Convert : r2206_3 +# 2206| r2206_10(int) = Constant[98] : +# 2206| r2206_11(bool) = CompareEQ : r2206_9, r2206_10 +# 2206| v2206_12(void) = ConditionalBranch : r2206_11 +#-----| False -> Block 14 +#-----| True -> Block 13 + +# 2207| Block 13 +# 2207| v2207_1(void) = NoOp : +# 2204| r2204_53(glval) = VariableAddress[y] : +# 2204| r2204_54(glval) = FunctionAddress[~ClassWithDestructor] : +# 2204| v2204_55(void) = Call[~ClassWithDestructor] : func:r2204_54, this:r2204_53 +# 2204| m2204_56(unknown) = ^CallSideEffect : ~m2206_5 +# 2204| m2204_57(unknown) = Chi : total:m2206_5, partial:m2204_56 +# 2204| v2204_58(void) = ^IndirectReadSideEffect[-1] : &:r2204_53, m2206_8 +# 2204| m2204_59(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2204_53 +# 2204| m2204_60(ClassWithDestructor) = Chi : total:m2206_8, partial:m2204_59 +# 2204| r2204_61(glval>) = VariableAddress[ys] : +# 2204| r2204_62(glval) = FunctionAddress[~vector] : +# 2204| v2204_63(void) = Call[~vector] : func:r2204_62, this:r2204_61 +# 2204| m2204_64(unknown) = ^CallSideEffect : ~m2204_57 +# 2204| m2204_65(unknown) = Chi : total:m2204_57, partial:m2204_64 +# 2204| v2204_66(void) = ^IndirectReadSideEffect[-1] : &:r2204_61, m2204_13 +# 2204| m2204_67(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2204_61 +# 2204| m2204_68(vector) = Chi : total:m2204_13, partial:m2204_67 +# 2219| r2219_1(glval) = VariableAddress[x] : +# 2219| r2219_2(glval) = FunctionAddress[~ClassWithDestructor] : +# 2219| v2219_3(void) = Call[~ClassWithDestructor] : func:r2219_2, this:r2219_1 +# 2219| m2219_4(unknown) = ^CallSideEffect : ~m2204_65 +# 2219| m2219_5(unknown) = Chi : total:m2204_65, partial:m2219_4 +# 2219| v2219_6(void) = ^IndirectReadSideEffect[-1] : &:r2219_1, m2200_8 +# 2219| m2219_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_1 +# 2219| m2219_8(ClassWithDestructor) = Chi : total:m2200_8, partial:m2219_7 +#-----| Goto -> Block 1 + +# 2204| Block 14 +# 2204| r2204_69(glval) = VariableAddress[y] : +# 2204| r2204_70(glval) = FunctionAddress[~ClassWithDestructor] : +# 2204| v2204_71(void) = Call[~ClassWithDestructor] : func:r2204_70, this:r2204_69 +# 2204| m2204_72(unknown) = ^CallSideEffect : ~m2206_5 +# 2204| m2204_73(unknown) = Chi : total:m2206_5, partial:m2204_72 +# 2204| v2204_74(void) = ^IndirectReadSideEffect[-1] : &:r2204_69, m2206_8 +# 2204| m2204_75(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2204_69 +# 2204| m2204_76(ClassWithDestructor) = Chi : total:m2206_8, partial:m2204_75 +# 2204| r2204_77(glval>) = VariableAddress[(__begin)] : +# 2204| r2204_78(glval) = FunctionAddress[operator++] : +# 2204| r2204_79(iterator &) = Call[operator++] : func:r2204_78, this:r2204_77 +# 2204| m2204_80(unknown) = ^CallSideEffect : ~m2204_73 +# 2204| m2204_81(unknown) = Chi : total:m2204_73, partial:m2204_80 +# 2204| v2204_82(void) = ^IndirectReadSideEffect[-1] : &:r2204_77, m2204_30 +# 2204| m2204_83(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2204_77 +# 2204| m2204_84(iterator) = Chi : total:m2204_30, partial:m2204_83 +# 2204| r2204_85(glval>) = CopyValue : r2204_79 +#-----| Goto (back edge) -> Block 11 + +# 2210| Block 15 +# 2210| r2210_1(glval>) = VariableAddress[ys] : +# 2210| m2210_2(vector) = Uninitialized[ys] : &:r2210_1 +# 2210| r2210_3(glval) = FunctionAddress[vector] : +# 2210| r2210_4(int) = Constant[1] : +# 2210| v2210_5(void) = Call[vector] : func:r2210_3, this:r2210_1, 0:r2210_4 +# 2210| m2210_6(unknown) = ^CallSideEffect : ~m2204_43 +# 2210| m2210_7(unknown) = Chi : total:m2204_43, partial:m2210_6 +# 2210| m2210_8(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2210_1 +# 2210| m2210_9(vector) = Chi : total:m2210_2, partial:m2210_8 +# 2210| r2210_10(glval &>) = VariableAddress[(__range)] : +# 2210| r2210_11(glval>) = VariableAddress[ys] : +# 2210| r2210_12(vector &) = CopyValue : r2210_11 +# 2210| m2210_13(vector &) = Store[(__range)] : &:r2210_10, r2210_12 +# 2210| r2210_14(glval>) = VariableAddress[(__begin)] : +# 2210| r2210_15(glval &>) = VariableAddress[(__range)] : +# 2210| r2210_16(vector &) = Load[(__range)] : &:r2210_15, m2210_13 +#-----| r0_33(glval>) = CopyValue : r2210_16 +#-----| r0_34(glval>) = Convert : r0_33 +# 2210| r2210_17(glval) = FunctionAddress[begin] : +# 2210| r2210_18(iterator) = Call[begin] : func:r2210_17, this:r0_34 +#-----| v0_35(void) = ^IndirectReadSideEffect[-1] : &:r0_34, m2210_9 +# 2210| m2210_19(iterator) = Store[(__begin)] : &:r2210_14, r2210_18 +# 2210| r2210_20(glval>) = VariableAddress[(__end)] : +# 2210| r2210_21(glval &>) = VariableAddress[(__range)] : +# 2210| r2210_22(vector &) = Load[(__range)] : &:r2210_21, m2210_13 +#-----| r0_36(glval>) = CopyValue : r2210_22 +#-----| r0_37(glval>) = Convert : r0_36 +# 2210| r2210_23(glval) = FunctionAddress[end] : +# 2210| r2210_24(iterator) = Call[end] : func:r2210_23, this:r0_37 +#-----| v0_38(void) = ^IndirectReadSideEffect[-1] : &:r0_37, m2210_9 +# 2210| m2210_25(iterator) = Store[(__end)] : &:r2210_20, r2210_24 +#-----| Goto -> Block 16 + +# 2210| Block 16 +# 2210| m2210_26(iterator) = Phi : from 15:m2210_19, from 17:m2210_48 +# 2210| m2210_27(unknown) = Phi : from 15:~m2210_7, from 17:~m2210_45 +# 2210| r2210_28(glval>) = VariableAddress[(__begin)] : +#-----| r0_39(glval>) = Convert : r2210_28 +# 2210| r2210_29(glval) = FunctionAddress[operator!=] : +#-----| r0_40(glval>) = VariableAddress[#temp0:0] : +#-----| m0_41(iterator) = Uninitialized[#temp0:0] : &:r0_40 +# 2210| r2210_30(glval) = FunctionAddress[iterator] : +# 2210| r2210_31(glval>) = VariableAddress[(__end)] : +#-----| r0_42(glval>) = Convert : r2210_31 +#-----| r0_43(iterator &) = CopyValue : r0_42 +# 2210| v2210_32(void) = Call[iterator] : func:r2210_30, this:r0_40, 0:r0_43 +# 2210| m2210_33(unknown) = ^CallSideEffect : ~m2210_27 +# 2210| m2210_34(unknown) = Chi : total:m2210_27, partial:m2210_33 +#-----| v0_44(void) = ^BufferReadSideEffect[0] : &:r0_43, ~m2210_25 +# 2210| m2210_35(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_40 +# 2210| m2210_36(iterator) = Chi : total:m0_41, partial:m2210_35 +#-----| r0_45(iterator) = Load[#temp0:0] : &:r0_40, m2210_36 +# 2210| r2210_37(bool) = Call[operator!=] : func:r2210_29, this:r0_39, 0:r0_45 +# 2210| m2210_38(unknown) = ^CallSideEffect : ~m2210_34 +# 2210| m2210_39(unknown) = Chi : total:m2210_34, partial:m2210_38 +#-----| v0_46(void) = ^IndirectReadSideEffect[-1] : &:r0_39, m2210_26 +# 2210| v2210_40(void) = ConditionalBranch : r2210_37 +#-----| False -> Block 20 +#-----| True -> Block 18 + +# 2210| Block 17 +# 2210| r2210_41(glval>) = VariableAddress[(__begin)] : +# 2210| r2210_42(glval) = FunctionAddress[operator++] : +# 2210| r2210_43(iterator &) = Call[operator++] : func:r2210_42, this:r2210_41 +# 2210| m2210_44(unknown) = ^CallSideEffect : ~m2210_55 +# 2210| m2210_45(unknown) = Chi : total:m2210_55, partial:m2210_44 +# 2210| v2210_46(void) = ^IndirectReadSideEffect[-1] : &:r2210_41, m2210_26 +# 2210| m2210_47(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2210_41 +# 2210| m2210_48(iterator) = Chi : total:m2210_26, partial:m2210_47 +# 2210| r2210_49(glval>) = CopyValue : r2210_43 +#-----| Goto (back edge) -> Block 16 + +# 2210| Block 18 +# 2210| r2210_50(glval) = VariableAddress[y] : +# 2210| r2210_51(glval>) = VariableAddress[(__begin)] : +#-----| r0_47(glval>) = Convert : r2210_51 +# 2210| r2210_52(glval) = FunctionAddress[operator*] : +# 2210| r2210_53(int &) = Call[operator*] : func:r2210_52, this:r0_47 +# 2210| m2210_54(unknown) = ^CallSideEffect : ~m2210_39 +# 2210| m2210_55(unknown) = Chi : total:m2210_39, partial:m2210_54 +#-----| v0_48(void) = ^IndirectReadSideEffect[-1] : &:r0_47, m2210_26 +# 2210| r2210_56(int) = Load[?] : &:r2210_53, ~m2210_55 +# 2210| m2210_57(int) = Store[y] : &:r2210_50, r2210_56 +# 2211| r2211_1(glval) = VariableAddress[y] : +# 2211| r2211_2(int) = Load[y] : &:r2211_1, m2210_57 +# 2211| r2211_3(int) = Constant[1] : +# 2211| r2211_4(bool) = CompareEQ : r2211_2, r2211_3 +# 2211| v2211_5(void) = ConditionalBranch : r2211_4 +#-----| False -> Block 17 +#-----| True -> Block 19 + +# 2212| Block 19 +# 2212| v2212_1(void) = NoOp : +# 2210| r2210_58(glval>) = VariableAddress[ys] : +# 2210| r2210_59(glval) = FunctionAddress[~vector] : +# 2210| v2210_60(void) = Call[~vector] : func:r2210_59, this:r2210_58 +# 2210| m2210_61(unknown) = ^CallSideEffect : ~m2210_55 +# 2210| m2210_62(unknown) = Chi : total:m2210_55, partial:m2210_61 +# 2210| v2210_63(void) = ^IndirectReadSideEffect[-1] : &:r2210_58, m2210_9 +# 2210| m2210_64(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2210_58 +# 2210| m2210_65(vector) = Chi : total:m2210_9, partial:m2210_64 +# 2219| r2219_9(glval) = VariableAddress[x] : +# 2219| r2219_10(glval) = FunctionAddress[~ClassWithDestructor] : +# 2219| v2219_11(void) = Call[~ClassWithDestructor] : func:r2219_10, this:r2219_9 +# 2219| m2219_12(unknown) = ^CallSideEffect : ~m2210_62 +# 2219| m2219_13(unknown) = Chi : total:m2210_62, partial:m2219_12 +# 2219| v2219_14(void) = ^IndirectReadSideEffect[-1] : &:r2219_9, m2200_8 +# 2219| m2219_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_9 +# 2219| m2219_16(ClassWithDestructor) = Chi : total:m2200_8, partial:m2219_15 +#-----| Goto -> Block 1 + +# 2215| Block 20 +# 2215| r2215_1(glval>) = VariableAddress[ys] : +# 2215| m2215_2(vector) = Uninitialized[ys] : &:r2215_1 +# 2215| r2215_3(glval) = FunctionAddress[vector] : +# 2215| r2215_4(glval) = VariableAddress[#temp2215:45] : +# 2215| r2215_5(glval) = VariableAddress[x] : +# 2215| r2215_6(ClassWithDestructor) = Load[x] : &:r2215_5, m2200_8 +# 2215| m2215_7(ClassWithDestructor) = Store[#temp2215:45] : &:r2215_4, r2215_6 +# 2215| r2215_8(ClassWithDestructor) = Load[#temp2215:45] : &:r2215_4, m2215_7 +# 2215| v2215_9(void) = Call[vector] : func:r2215_3, this:r2215_1, 0:r2215_8 +# 2215| m2215_10(unknown) = ^CallSideEffect : ~m2210_39 +# 2215| m2215_11(unknown) = Chi : total:m2210_39, partial:m2215_10 +# 2215| m2215_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2215_1 +# 2215| m2215_13(vector) = Chi : total:m2215_2, partial:m2215_12 +# 2215| r2215_14(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_15(glval>) = VariableAddress[ys] : +# 2215| r2215_16(vector &) = CopyValue : r2215_15 +# 2215| m2215_17(vector &) = Store[(__range)] : &:r2215_14, r2215_16 +# 2215| r2215_18(glval>) = VariableAddress[(__begin)] : +# 2215| r2215_19(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_20(vector &) = Load[(__range)] : &:r2215_19, m2215_17 +#-----| r0_49(glval>) = CopyValue : r2215_20 +#-----| r0_50(glval>) = Convert : r0_49 +# 2215| r2215_21(glval) = FunctionAddress[begin] : +# 2215| r2215_22(iterator) = Call[begin] : func:r2215_21, this:r0_50 +#-----| v0_51(void) = ^IndirectReadSideEffect[-1] : &:r0_50, m2215_13 +# 2215| m2215_23(iterator) = Store[(__begin)] : &:r2215_18, r2215_22 +# 2215| r2215_24(glval>) = VariableAddress[(__end)] : +# 2215| r2215_25(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_26(vector &) = Load[(__range)] : &:r2215_25, m2215_17 +#-----| r0_52(glval>) = CopyValue : r2215_26 +#-----| r0_53(glval>) = Convert : r0_52 +# 2215| r2215_27(glval) = FunctionAddress[end] : +# 2215| r2215_28(iterator) = Call[end] : func:r2215_27, this:r0_53 +#-----| v0_54(void) = ^IndirectReadSideEffect[-1] : &:r0_53, m2215_13 +# 2215| m2215_29(iterator) = Store[(__end)] : &:r2215_24, r2215_28 +#-----| Goto -> Block 21 + +# 2215| Block 21 +# 2215| m2215_30(iterator) = Phi : from 20:m2215_23, from 22:m2215_68 +# 2215| m2215_31(unknown) = Phi : from 20:~m2215_11, from 22:~m2215_65 +# 2215| r2215_32(glval>) = VariableAddress[(__begin)] : +#-----| r0_55(glval>) = Convert : r2215_32 +# 2215| r2215_33(glval) = FunctionAddress[operator!=] : +#-----| r0_56(glval>) = VariableAddress[#temp0:0] : +#-----| m0_57(iterator) = Uninitialized[#temp0:0] : &:r0_56 +# 2215| r2215_34(glval) = FunctionAddress[iterator] : +# 2215| r2215_35(glval>) = VariableAddress[(__end)] : +#-----| r0_58(glval>) = Convert : r2215_35 +#-----| r0_59(iterator &) = CopyValue : r0_58 +# 2215| v2215_36(void) = Call[iterator] : func:r2215_34, this:r0_56, 0:r0_59 +# 2215| m2215_37(unknown) = ^CallSideEffect : ~m2215_31 +# 2215| m2215_38(unknown) = Chi : total:m2215_31, partial:m2215_37 +#-----| v0_60(void) = ^BufferReadSideEffect[0] : &:r0_59, ~m2215_29 +# 2215| m2215_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_56 +# 2215| m2215_40(iterator) = Chi : total:m0_57, partial:m2215_39 +#-----| r0_61(iterator) = Load[#temp0:0] : &:r0_56, m2215_40 +# 2215| r2215_41(bool) = Call[operator!=] : func:r2215_33, this:r0_55, 0:r0_61 +# 2215| m2215_42(unknown) = ^CallSideEffect : ~m2215_38 +# 2215| m2215_43(unknown) = Chi : total:m2215_38, partial:m2215_42 +#-----| v0_62(void) = ^IndirectReadSideEffect[-1] : &:r0_55, m2215_30 +# 2215| v2215_44(void) = ConditionalBranch : r2215_41 +#-----| False -> Block 23 +#-----| True -> Block 22 + +# 2215| Block 22 +# 2215| r2215_45(glval) = VariableAddress[y] : +# 2215| r2215_46(glval>) = VariableAddress[(__begin)] : +#-----| r0_63(glval>) = Convert : r2215_46 +# 2215| r2215_47(glval) = FunctionAddress[operator*] : +# 2215| r2215_48(ClassWithDestructor &) = Call[operator*] : func:r2215_47, this:r0_63 +# 2215| m2215_49(unknown) = ^CallSideEffect : ~m2215_43 +# 2215| m2215_50(unknown) = Chi : total:m2215_43, partial:m2215_49 +#-----| v0_64(void) = ^IndirectReadSideEffect[-1] : &:r0_63, m2215_30 +# 2215| r2215_51(ClassWithDestructor) = Load[?] : &:r2215_48, ~m2215_50 +# 2215| m2215_52(ClassWithDestructor) = Store[y] : &:r2215_45, r2215_51 +# 2216| r2216_1(glval) = VariableAddress[z1] : +# 2216| m2216_2(ClassWithDestructor) = Uninitialized[z1] : &:r2216_1 +# 2216| r2216_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2216| v2216_4(void) = Call[ClassWithDestructor] : func:r2216_3, this:r2216_1 +# 2216| m2216_5(unknown) = ^CallSideEffect : ~m2215_50 +# 2216| m2216_6(unknown) = Chi : total:m2215_50, partial:m2216_5 +# 2216| m2216_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2216_1 +# 2216| m2216_8(ClassWithDestructor) = Chi : total:m2216_2, partial:m2216_7 +# 2217| r2217_1(glval) = VariableAddress[z2] : +# 2217| m2217_2(ClassWithDestructor) = Uninitialized[z2] : &:r2217_1 +# 2217| r2217_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2217| v2217_4(void) = Call[ClassWithDestructor] : func:r2217_3, this:r2217_1 +# 2217| m2217_5(unknown) = ^CallSideEffect : ~m2216_6 +# 2217| m2217_6(unknown) = Chi : total:m2216_6, partial:m2217_5 +# 2217| m2217_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2217_1 +# 2217| m2217_8(ClassWithDestructor) = Chi : total:m2217_2, partial:m2217_7 +# 2218| r2218_1(glval) = VariableAddress[z2] : +# 2218| r2218_2(glval) = FunctionAddress[~ClassWithDestructor] : +# 2218| v2218_3(void) = Call[~ClassWithDestructor] : func:r2218_2, this:r2218_1 +# 2218| m2218_4(unknown) = ^CallSideEffect : ~m2217_6 +# 2218| m2218_5(unknown) = Chi : total:m2217_6, partial:m2218_4 +# 2218| v2218_6(void) = ^IndirectReadSideEffect[-1] : &:r2218_1, m2217_8 +# 2218| m2218_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_1 +# 2218| m2218_8(ClassWithDestructor) = Chi : total:m2217_8, partial:m2218_7 +# 2218| r2218_9(glval) = VariableAddress[z1] : +# 2218| r2218_10(glval) = FunctionAddress[~ClassWithDestructor] : +# 2218| v2218_11(void) = Call[~ClassWithDestructor] : func:r2218_10, this:r2218_9 +# 2218| m2218_12(unknown) = ^CallSideEffect : ~m2218_5 +# 2218| m2218_13(unknown) = Chi : total:m2218_5, partial:m2218_12 +# 2218| v2218_14(void) = ^IndirectReadSideEffect[-1] : &:r2218_9, m2216_8 +# 2218| m2218_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_9 +# 2218| m2218_16(ClassWithDestructor) = Chi : total:m2216_8, partial:m2218_15 +# 2215| r2215_53(glval) = VariableAddress[y] : +# 2215| r2215_54(glval) = FunctionAddress[~ClassWithDestructor] : +# 2215| v2215_55(void) = Call[~ClassWithDestructor] : func:r2215_54, this:r2215_53 +# 2215| m2215_56(unknown) = ^CallSideEffect : ~m2218_13 +# 2215| m2215_57(unknown) = Chi : total:m2218_13, partial:m2215_56 +# 2215| v2215_58(void) = ^IndirectReadSideEffect[-1] : &:r2215_53, m2215_52 +# 2215| m2215_59(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2215_53 +# 2215| m2215_60(ClassWithDestructor) = Chi : total:m2215_52, partial:m2215_59 +# 2215| r2215_61(glval>) = VariableAddress[(__begin)] : +# 2215| r2215_62(glval) = FunctionAddress[operator++] : +# 2215| r2215_63(iterator &) = Call[operator++] : func:r2215_62, this:r2215_61 +# 2215| m2215_64(unknown) = ^CallSideEffect : ~m2215_57 +# 2215| m2215_65(unknown) = Chi : total:m2215_57, partial:m2215_64 +# 2215| v2215_66(void) = ^IndirectReadSideEffect[-1] : &:r2215_61, m2215_30 +# 2215| m2215_67(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2215_61 +# 2215| m2215_68(iterator) = Chi : total:m2215_30, partial:m2215_67 +# 2215| r2215_69(glval>) = CopyValue : r2215_63 +#-----| Goto (back edge) -> Block 21 + +# 2219| Block 23 +# 2219| v2219_17(void) = NoOp : +# 2219| r2219_18(glval) = VariableAddress[x] : +# 2219| r2219_19(glval) = FunctionAddress[~ClassWithDestructor] : +# 2219| v2219_20(void) = Call[~ClassWithDestructor] : func:r2219_19, this:r2219_18 +# 2219| m2219_21(unknown) = ^CallSideEffect : ~m2215_43 +# 2219| m2219_22(unknown) = Chi : total:m2215_43, partial:m2219_21 +# 2219| v2219_23(void) = ^IndirectReadSideEffect[-1] : &:r2219_18, m2200_8 +# 2219| m2219_24(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_18 +# 2219| m2219_25(ClassWithDestructor) = Chi : total:m2200_8, partial:m2219_24 +#-----| Goto -> Block 1 + +# 2184| Block 24 +# 2184| v2184_13(void) = Unreached : + +# 2221| void static_variable_with_destructor_1() +# 2221| Block 0 +# 2221| v2221_1(void) = EnterFunction : +# 2221| m2221_2(unknown) = AliasedDefinition : +# 2221| m2221_3(unknown) = InitializeNonLocal : +# 2221| m2221_4(unknown) = Chi : total:m2221_2, partial:m2221_3 +# 2222| r2222_1(glval) = VariableAddress[a] : +# 2222| m2222_2(ClassWithDestructor) = Uninitialized[a] : &:r2222_1 +# 2222| r2222_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2222| v2222_4(void) = Call[ClassWithDestructor] : func:r2222_3, this:r2222_1 +# 2222| m2222_5(unknown) = ^CallSideEffect : ~m2221_4 +# 2222| m2222_6(unknown) = Chi : total:m2221_4, partial:m2222_5 +# 2222| m2222_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2222_1 +# 2222| m2222_8(ClassWithDestructor) = Chi : total:m2222_2, partial:m2222_7 +# 2223| r2223_1(glval) = VariableAddress[b#init] : +# 2223| r2223_2(bool) = Load[b#init] : &:r2223_1, ~m2222_6 +# 2223| v2223_3(void) = ConditionalBranch : r2223_2 #-----| False -> Block 1 #-----| True -> Block 2 -# 2187| Block 1 -# 2187| r2187_4(glval) = VariableAddress[c] : +# 2223| Block 1 +# 2223| r2223_4(glval) = VariableAddress[b] : #-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2187_4 -#-----| m0_3(unknown) = ^CallSideEffect : ~m2186_6 -#-----| m0_4(unknown) = Chi : total:m2186_6, partial:m0_3 -#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2187_4 +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2223_4 +#-----| m0_3(unknown) = ^CallSideEffect : ~m2222_6 +#-----| m0_4(unknown) = Chi : total:m2222_6, partial:m0_3 +#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2223_4 #-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 -# 2187| r2187_5(bool) = Constant[1] : -# 2187| m2187_6(bool) = Store[c#init] : &:r2187_1, r2187_5 -# 2187| m2187_7(unknown) = Chi : total:m0_6, partial:m2187_6 +# 2223| r2223_5(bool) = Constant[1] : +# 2223| m2223_6(bool) = Store[b#init] : &:r2223_1, r2223_5 +# 2223| m2223_7(unknown) = Chi : total:m0_6, partial:m2223_6 #-----| Goto -> Block 2 -# 2188| Block 2 -# 2188| m2188_1(unknown) = Phi : from 0:~m2186_6, from 1:~m2187_7 -# 2188| v2188_2(void) = NoOp : -# 2188| r2188_3(glval) = VariableAddress[b] : -# 2188| r2188_4(glval) = FunctionAddress[~ClassWithDestructor] : -# 2188| v2188_5(void) = Call[~ClassWithDestructor] : func:r2188_4, this:r2188_3 -# 2188| m2188_6(unknown) = ^CallSideEffect : ~m2188_1 -# 2188| m2188_7(unknown) = Chi : total:m2188_1, partial:m2188_6 -# 2188| v2188_8(void) = ^IndirectReadSideEffect[-1] : &:r2188_3, m2186_8 -# 2188| m2188_9(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2188_3 -# 2188| m2188_10(ClassWithDestructor) = Chi : total:m2186_8, partial:m2188_9 -# 2188| r2188_11(glval) = VariableAddress[a] : -# 2188| r2188_12(glval) = FunctionAddress[~ClassWithDestructor] : -# 2188| v2188_13(void) = Call[~ClassWithDestructor] : func:r2188_12, this:r2188_11 -# 2188| m2188_14(unknown) = ^CallSideEffect : ~m2188_7 -# 2188| m2188_15(unknown) = Chi : total:m2188_7, partial:m2188_14 -# 2188| v2188_16(void) = ^IndirectReadSideEffect[-1] : &:r2188_11, m2185_8 -# 2188| m2188_17(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2188_11 -# 2188| m2188_18(ClassWithDestructor) = Chi : total:m2185_8, partial:m2188_17 -# 2184| v2184_5(void) = ReturnVoid : -# 2184| v2184_6(void) = AliasedUse : ~m2188_15 -# 2184| v2184_7(void) = ExitFunction : +# 2224| Block 2 +# 2224| m2224_1(unknown) = Phi : from 0:~m2222_6, from 1:~m2223_7 +# 2224| v2224_2(void) = NoOp : +# 2224| r2224_3(glval) = VariableAddress[a] : +# 2224| r2224_4(glval) = FunctionAddress[~ClassWithDestructor] : +# 2224| v2224_5(void) = Call[~ClassWithDestructor] : func:r2224_4, this:r2224_3 +# 2224| m2224_6(unknown) = ^CallSideEffect : ~m2224_1 +# 2224| m2224_7(unknown) = Chi : total:m2224_1, partial:m2224_6 +# 2224| v2224_8(void) = ^IndirectReadSideEffect[-1] : &:r2224_3, m2222_8 +# 2224| m2224_9(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2224_3 +# 2224| m2224_10(ClassWithDestructor) = Chi : total:m2222_8, partial:m2224_9 +# 2221| v2221_5(void) = ReturnVoid : +# 2221| v2221_6(void) = AliasedUse : ~m2224_7 +# 2221| v2221_7(void) = ExitFunction : -# 2190| ClassWithDestructor global_class_with_destructor -# 2190| Block 0 -# 2190| v2190_1(void) = EnterFunction : -# 2190| m2190_2(unknown) = AliasedDefinition : -# 2190| r2190_3(glval) = VariableAddress[global_class_with_destructor] : -# 2190| r2190_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2190| v2190_5(void) = Call[ClassWithDestructor] : func:r2190_4, this:r2190_3 -# 2190| m2190_6(unknown) = ^CallSideEffect : ~m2190_2 -# 2190| m2190_7(unknown) = Chi : total:m2190_2, partial:m2190_6 -# 2190| m2190_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2190_3 -# 2190| m2190_9(unknown) = Chi : total:m2190_7, partial:m2190_8 -# 2190| v2190_10(void) = ReturnVoid : -# 2190| v2190_11(void) = AliasedUse : ~m2190_9 -# 2190| v2190_12(void) = ExitFunction : +# 2226| void static_variable_with_destructor_2() +# 2226| Block 0 +# 2226| v2226_1(void) = EnterFunction : +# 2226| m2226_2(unknown) = AliasedDefinition : +# 2226| m2226_3(unknown) = InitializeNonLocal : +# 2226| m2226_4(unknown) = Chi : total:m2226_2, partial:m2226_3 +# 2227| r2227_1(glval) = VariableAddress[a#init] : +# 2227| r2227_2(bool) = Load[a#init] : &:r2227_1, ~m2226_3 +# 2227| v2227_3(void) = ConditionalBranch : r2227_2 +#-----| False -> Block 1 +#-----| True -> Block 2 -# 2194| ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) -# 2194| Block 0 -# 2194| v2194_1(void) = EnterFunction : -# 2194| m2194_2(unknown) = AliasedDefinition : -# 2194| m2194_3(unknown) = InitializeNonLocal : -# 2194| m2194_4(unknown) = Chi : total:m2194_2, partial:m2194_3 -# 2194| r2194_5(glval) = VariableAddress[t] : -# 2194| m2194_6(ClassWithDestructor &) = InitializeParameter[t] : &:r2194_5 -# 2194| r2194_7(ClassWithDestructor &) = Load[t] : &:r2194_5, m2194_6 -# 2194| m2194_8(unknown) = InitializeIndirection[t] : &:r2194_7 -# 2194| r2194_9(glval) = VariableAddress[#return] : -# 2194| r2194_10(glval) = VariableAddress[t] : -# 2194| r2194_11(ClassWithDestructor &) = Load[t] : &:r2194_10, m2194_6 -# 2194| r2194_12(glval) = CopyValue : r2194_11 -# 2194| r2194_13(ClassWithDestructor &) = CopyValue : r2194_12 -# 2194| m2194_14(ClassWithDestructor &) = Store[#return] : &:r2194_9, r2194_13 -# 2194| v2194_15(void) = ReturnIndirection[t] : &:r2194_7, m2194_8 -# 2194| r2194_16(glval) = VariableAddress[#return] : -# 2194| v2194_17(void) = ReturnValue : &:r2194_16, m2194_14 -# 2194| v2194_18(void) = AliasedUse : m2194_3 -# 2194| v2194_19(void) = ExitFunction : +# 2227| Block 1 +# 2227| r2227_4(glval) = VariableAddress[a] : +#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2227_4 +#-----| m0_3(unknown) = ^CallSideEffect : ~m2226_4 +#-----| m0_4(unknown) = Chi : total:m2226_4, partial:m0_3 +#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2227_4 +#-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 +# 2227| r2227_5(bool) = Constant[1] : +# 2227| m2227_6(bool) = Store[a#init] : &:r2227_1, r2227_5 +# 2227| m2227_7(unknown) = Chi : total:m0_6, partial:m2227_6 +#-----| Goto -> Block 2 -# 2194| int& vacuous_destructor_call::get(int&) -# 2194| Block 0 -# 2194| v2194_1(void) = EnterFunction : -# 2194| m2194_2(unknown) = AliasedDefinition : -# 2194| m2194_3(unknown) = InitializeNonLocal : -# 2194| m2194_4(unknown) = Chi : total:m2194_2, partial:m2194_3 -# 2194| r2194_5(glval) = VariableAddress[t] : -# 2194| m2194_6(int &) = InitializeParameter[t] : &:r2194_5 -# 2194| r2194_7(int &) = Load[t] : &:r2194_5, m2194_6 -# 2194| m2194_8(unknown) = InitializeIndirection[t] : &:r2194_7 -# 2194| r2194_9(glval) = VariableAddress[#return] : -# 2194| r2194_10(glval) = VariableAddress[t] : -# 2194| r2194_11(int &) = Load[t] : &:r2194_10, m2194_6 -# 2194| r2194_12(glval) = CopyValue : r2194_11 -# 2194| r2194_13(int &) = CopyValue : r2194_12 -# 2194| m2194_14(int &) = Store[#return] : &:r2194_9, r2194_13 -# 2194| v2194_15(void) = ReturnIndirection[t] : &:r2194_7, m2194_8 -# 2194| r2194_16(glval) = VariableAddress[#return] : -# 2194| v2194_17(void) = ReturnValue : &:r2194_16, m2194_14 -# 2194| v2194_18(void) = AliasedUse : m2194_3 -# 2194| v2194_19(void) = ExitFunction : +# 2228| Block 2 +# 2228| m2228_1(unknown) = Phi : from 0:~m2226_4, from 1:~m2227_7 +# 2228| r2228_2(glval) = VariableAddress[b] : +# 2228| m2228_3(ClassWithDestructor) = Uninitialized[b] : &:r2228_2 +# 2228| r2228_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2228| v2228_5(void) = Call[ClassWithDestructor] : func:r2228_4, this:r2228_2 +# 2228| m2228_6(unknown) = ^CallSideEffect : ~m2228_1 +# 2228| m2228_7(unknown) = Chi : total:m2228_1, partial:m2228_6 +# 2228| m2228_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2228_2 +# 2228| m2228_9(ClassWithDestructor) = Chi : total:m2228_3, partial:m2228_8 +# 2229| v2229_1(void) = NoOp : +# 2229| r2229_2(glval) = VariableAddress[b] : +# 2229| r2229_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2229| v2229_4(void) = Call[~ClassWithDestructor] : func:r2229_3, this:r2229_2 +# 2229| m2229_5(unknown) = ^CallSideEffect : ~m2228_7 +# 2229| m2229_6(unknown) = Chi : total:m2228_7, partial:m2229_5 +# 2229| v2229_7(void) = ^IndirectReadSideEffect[-1] : &:r2229_2, m2228_9 +# 2229| m2229_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2229_2 +# 2229| m2229_9(ClassWithDestructor) = Chi : total:m2228_9, partial:m2229_8 +# 2226| v2226_5(void) = ReturnVoid : +# 2226| v2226_6(void) = AliasedUse : ~m2229_6 +# 2226| v2226_7(void) = ExitFunction : -# 2197| void vacuous_destructor_call::call_destructor(ClassWithDestructor&) -# 2197| Block 0 -# 2197| v2197_1(void) = EnterFunction : -# 2197| m2197_2(unknown) = AliasedDefinition : -# 2197| m2197_3(unknown) = InitializeNonLocal : -# 2197| m2197_4(unknown) = Chi : total:m2197_2, partial:m2197_3 -# 2197| r2197_5(glval) = VariableAddress[t] : -# 2197| m2197_6(ClassWithDestructor &) = InitializeParameter[t] : &:r2197_5 -# 2197| r2197_7(ClassWithDestructor &) = Load[t] : &:r2197_5, m2197_6 -# 2197| m2197_8(unknown) = InitializeIndirection[t] : &:r2197_7 -# 2198| r2198_1(glval) = FunctionAddress[get] : -# 2198| r2198_2(glval) = VariableAddress[t] : -# 2198| r2198_3(ClassWithDestructor &) = Load[t] : &:r2198_2, m2197_6 -# 2198| r2198_4(glval) = CopyValue : r2198_3 -# 2198| r2198_5(ClassWithDestructor &) = CopyValue : r2198_4 -# 2198| r2198_6(ClassWithDestructor &) = Call[get] : func:r2198_1, 0:r2198_5 -# 2198| m2198_7(unknown) = ^CallSideEffect : ~m2197_4 -# 2198| m2198_8(unknown) = Chi : total:m2197_4, partial:m2198_7 -# 2198| v2198_9(void) = ^BufferReadSideEffect[0] : &:r2198_5, ~m2197_8 -# 2198| m2198_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r2198_5 -# 2198| m2198_11(unknown) = Chi : total:m2197_8, partial:m2198_10 -# 2198| r2198_12(glval) = CopyValue : r2198_6 -# 2198| r2198_13(glval) = FunctionAddress[~ClassWithDestructor] : -# 2198| v2198_14(void) = Call[~ClassWithDestructor] : func:r2198_13 -# 2198| m2198_15(unknown) = ^CallSideEffect : ~m2198_8 -# 2198| m2198_16(unknown) = Chi : total:m2198_8, partial:m2198_15 -# 2198| v2198_17(void) = ^IndirectReadSideEffect[-1] : &:r2198_12, ~m2198_11 -# 2198| m2198_18(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2198_12 -# 2198| m2198_19(unknown) = Chi : total:m2198_11, partial:m2198_18 -# 2199| v2199_1(void) = NoOp : -# 2197| v2197_9(void) = ReturnIndirection[t] : &:r2197_7, m2198_19 -# 2197| v2197_10(void) = ReturnVoid : -# 2197| v2197_11(void) = AliasedUse : ~m2198_16 -# 2197| v2197_12(void) = ExitFunction : +# 2231| void static_variable_with_destructor_3() +# 2231| Block 0 +# 2231| v2231_1(void) = EnterFunction : +# 2231| m2231_2(unknown) = AliasedDefinition : +# 2231| m2231_3(unknown) = InitializeNonLocal : +# 2231| m2231_4(unknown) = Chi : total:m2231_2, partial:m2231_3 +# 2232| r2232_1(glval) = VariableAddress[a] : +# 2232| m2232_2(ClassWithDestructor) = Uninitialized[a] : &:r2232_1 +# 2232| r2232_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2232| v2232_4(void) = Call[ClassWithDestructor] : func:r2232_3, this:r2232_1 +# 2232| m2232_5(unknown) = ^CallSideEffect : ~m2231_4 +# 2232| m2232_6(unknown) = Chi : total:m2231_4, partial:m2232_5 +# 2232| m2232_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2232_1 +# 2232| m2232_8(ClassWithDestructor) = Chi : total:m2232_2, partial:m2232_7 +# 2233| r2233_1(glval) = VariableAddress[b] : +# 2233| m2233_2(ClassWithDestructor) = Uninitialized[b] : &:r2233_1 +# 2233| r2233_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2233| v2233_4(void) = Call[ClassWithDestructor] : func:r2233_3, this:r2233_1 +# 2233| m2233_5(unknown) = ^CallSideEffect : ~m2232_6 +# 2233| m2233_6(unknown) = Chi : total:m2232_6, partial:m2233_5 +# 2233| m2233_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2233_1 +# 2233| m2233_8(ClassWithDestructor) = Chi : total:m2233_2, partial:m2233_7 +# 2234| r2234_1(glval) = VariableAddress[c#init] : +# 2234| r2234_2(bool) = Load[c#init] : &:r2234_1, ~m2233_6 +# 2234| v2234_3(void) = ConditionalBranch : r2234_2 +#-----| False -> Block 1 +#-----| True -> Block 2 -# 2197| void vacuous_destructor_call::call_destructor(int&) -# 2197| Block 0 -# 2197| v2197_1(void) = EnterFunction : -# 2197| m2197_2(unknown) = AliasedDefinition : -# 2197| m2197_3(unknown) = InitializeNonLocal : -# 2197| m2197_4(unknown) = Chi : total:m2197_2, partial:m2197_3 -# 2197| r2197_5(glval) = VariableAddress[t] : -# 2197| m2197_6(int &) = InitializeParameter[t] : &:r2197_5 -# 2197| r2197_7(int &) = Load[t] : &:r2197_5, m2197_6 -# 2197| m2197_8(unknown) = InitializeIndirection[t] : &:r2197_7 -# 2198| r2198_1(glval) = FunctionAddress[get] : -# 2198| r2198_2(glval) = VariableAddress[t] : -# 2198| r2198_3(int &) = Load[t] : &:r2198_2, m2197_6 -# 2198| r2198_4(glval) = CopyValue : r2198_3 -# 2198| r2198_5(int &) = CopyValue : r2198_4 -# 2198| r2198_6(int &) = Call[get] : func:r2198_1, 0:r2198_5 -# 2198| m2198_7(unknown) = ^CallSideEffect : ~m2197_4 -# 2198| m2198_8(unknown) = Chi : total:m2197_4, partial:m2198_7 -# 2198| v2198_9(void) = ^BufferReadSideEffect[0] : &:r2198_5, ~m2197_8 -# 2198| m2198_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r2198_5 -# 2198| m2198_11(unknown) = Chi : total:m2197_8, partial:m2198_10 -# 2198| r2198_12(glval) = CopyValue : r2198_6 -# 2199| v2199_1(void) = NoOp : -# 2197| v2197_9(void) = ReturnIndirection[t] : &:r2197_7, m2198_11 -# 2197| v2197_10(void) = ReturnVoid : -# 2197| v2197_11(void) = AliasedUse : ~m2198_8 -# 2197| v2197_12(void) = ExitFunction : +# 2234| Block 1 +# 2234| r2234_4(glval) = VariableAddress[c] : +#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2234_4 +#-----| m0_3(unknown) = ^CallSideEffect : ~m2233_6 +#-----| m0_4(unknown) = Chi : total:m2233_6, partial:m0_3 +#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2234_4 +#-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 +# 2234| r2234_5(bool) = Constant[1] : +# 2234| m2234_6(bool) = Store[c#init] : &:r2234_1, r2234_5 +# 2234| m2234_7(unknown) = Chi : total:m0_6, partial:m2234_6 +#-----| Goto -> Block 2 -# 2201| void vacuous_destructor_call::non_vacuous_destructor_call() -# 2201| Block 0 -# 2201| v2201_1(void) = EnterFunction : -# 2201| m2201_2(unknown) = AliasedDefinition : -# 2201| m2201_3(unknown) = InitializeNonLocal : -# 2201| m2201_4(unknown) = Chi : total:m2201_2, partial:m2201_3 -# 2202| r2202_1(glval) = VariableAddress[c] : -# 2202| m2202_2(ClassWithDestructor) = Uninitialized[c] : &:r2202_1 -# 2202| r2202_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2202| v2202_4(void) = Call[ClassWithDestructor] : func:r2202_3, this:r2202_1 -# 2202| m2202_5(unknown) = ^CallSideEffect : ~m2201_4 -# 2202| m2202_6(unknown) = Chi : total:m2201_4, partial:m2202_5 -# 2202| m2202_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2202_1 -# 2202| m2202_8(ClassWithDestructor) = Chi : total:m2202_2, partial:m2202_7 -# 2203| r2203_1(glval) = FunctionAddress[call_destructor] : -# 2203| r2203_2(glval) = VariableAddress[c] : -# 2203| r2203_3(ClassWithDestructor &) = CopyValue : r2203_2 -# 2203| v2203_4(void) = Call[call_destructor] : func:r2203_1, 0:r2203_3 -# 2203| m2203_5(unknown) = ^CallSideEffect : ~m2202_6 -# 2203| m2203_6(unknown) = Chi : total:m2202_6, partial:m2203_5 -# 2203| v2203_7(void) = ^BufferReadSideEffect[0] : &:r2203_3, ~m2202_8 -# 2203| m2203_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r2203_3 -# 2203| m2203_9(ClassWithDestructor) = Chi : total:m2202_8, partial:m2203_8 -# 2204| v2204_1(void) = NoOp : -# 2204| r2204_2(glval) = VariableAddress[c] : -# 2204| r2204_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2204| v2204_4(void) = Call[~ClassWithDestructor] : func:r2204_3, this:r2204_2 -# 2204| m2204_5(unknown) = ^CallSideEffect : ~m2203_6 -# 2204| m2204_6(unknown) = Chi : total:m2203_6, partial:m2204_5 -# 2204| v2204_7(void) = ^IndirectReadSideEffect[-1] : &:r2204_2, m2203_9 -# 2204| m2204_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2204_2 -# 2204| m2204_9(ClassWithDestructor) = Chi : total:m2203_9, partial:m2204_8 -# 2201| v2201_5(void) = ReturnVoid : -# 2201| v2201_6(void) = AliasedUse : ~m2204_6 -# 2201| v2201_7(void) = ExitFunction : +# 2235| Block 2 +# 2235| m2235_1(unknown) = Phi : from 0:~m2233_6, from 1:~m2234_7 +# 2235| v2235_2(void) = NoOp : +# 2235| r2235_3(glval) = VariableAddress[b] : +# 2235| r2235_4(glval) = FunctionAddress[~ClassWithDestructor] : +# 2235| v2235_5(void) = Call[~ClassWithDestructor] : func:r2235_4, this:r2235_3 +# 2235| m2235_6(unknown) = ^CallSideEffect : ~m2235_1 +# 2235| m2235_7(unknown) = Chi : total:m2235_1, partial:m2235_6 +# 2235| v2235_8(void) = ^IndirectReadSideEffect[-1] : &:r2235_3, m2233_8 +# 2235| m2235_9(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2235_3 +# 2235| m2235_10(ClassWithDestructor) = Chi : total:m2233_8, partial:m2235_9 +# 2235| r2235_11(glval) = VariableAddress[a] : +# 2235| r2235_12(glval) = FunctionAddress[~ClassWithDestructor] : +# 2235| v2235_13(void) = Call[~ClassWithDestructor] : func:r2235_12, this:r2235_11 +# 2235| m2235_14(unknown) = ^CallSideEffect : ~m2235_7 +# 2235| m2235_15(unknown) = Chi : total:m2235_7, partial:m2235_14 +# 2235| v2235_16(void) = ^IndirectReadSideEffect[-1] : &:r2235_11, m2232_8 +# 2235| m2235_17(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2235_11 +# 2235| m2235_18(ClassWithDestructor) = Chi : total:m2232_8, partial:m2235_17 +# 2231| v2231_5(void) = ReturnVoid : +# 2231| v2231_6(void) = AliasedUse : ~m2235_15 +# 2231| v2231_7(void) = ExitFunction : -# 2206| void vacuous_destructor_call::vacuous_destructor_call() -# 2206| Block 0 -# 2206| v2206_1(void) = EnterFunction : -# 2206| m2206_2(unknown) = AliasedDefinition : -# 2206| m2206_3(unknown) = InitializeNonLocal : -# 2206| m2206_4(unknown) = Chi : total:m2206_2, partial:m2206_3 -# 2207| r2207_1(glval) = VariableAddress[i] : -# 2207| m2207_2(int) = Uninitialized[i] : &:r2207_1 -# 2208| r2208_1(glval) = FunctionAddress[call_destructor] : -# 2208| r2208_2(glval) = VariableAddress[i] : -# 2208| r2208_3(int &) = CopyValue : r2208_2 -# 2208| v2208_4(void) = Call[call_destructor] : func:r2208_1, 0:r2208_3 -# 2208| m2208_5(unknown) = ^CallSideEffect : ~m2206_4 -# 2208| m2208_6(unknown) = Chi : total:m2206_4, partial:m2208_5 -# 2208| v2208_7(void) = ^BufferReadSideEffect[0] : &:r2208_3, ~m2207_2 -# 2208| m2208_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r2208_3 -# 2208| m2208_9(int) = Chi : total:m2207_2, partial:m2208_8 -# 2209| v2209_1(void) = NoOp : -# 2206| v2206_5(void) = ReturnVoid : -# 2206| v2206_6(void) = AliasedUse : ~m2208_6 -# 2206| v2206_7(void) = ExitFunction : +# 2237| ClassWithDestructor global_class_with_destructor +# 2237| Block 0 +# 2237| v2237_1(void) = EnterFunction : +# 2237| m2237_2(unknown) = AliasedDefinition : +# 2237| r2237_3(glval) = VariableAddress[global_class_with_destructor] : +# 2237| r2237_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2237| v2237_5(void) = Call[ClassWithDestructor] : func:r2237_4, this:r2237_3 +# 2237| m2237_6(unknown) = ^CallSideEffect : ~m2237_2 +# 2237| m2237_7(unknown) = Chi : total:m2237_2, partial:m2237_6 +# 2237| m2237_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2237_3 +# 2237| m2237_9(unknown) = Chi : total:m2237_7, partial:m2237_8 +# 2237| v2237_10(void) = ReturnVoid : +# 2237| v2237_11(void) = AliasedUse : ~m2237_9 +# 2237| v2237_12(void) = ExitFunction : -# 2212| void TryCatchDestructors(bool) -# 2212| Block 0 -# 2212| v2212_1(void) = EnterFunction : -# 2212| m2212_2(unknown) = AliasedDefinition : -# 2212| m2212_3(unknown) = InitializeNonLocal : -# 2212| m2212_4(unknown) = Chi : total:m2212_2, partial:m2212_3 -# 2212| r2212_5(glval) = VariableAddress[b] : -# 2212| m2212_6(bool) = InitializeParameter[b] : &:r2212_5 -# 2214| r2214_1(glval) = VariableAddress[s] : -# 2214| m2214_2(String) = Uninitialized[s] : &:r2214_1 -# 2214| r2214_3(glval) = FunctionAddress[String] : -# 2214| v2214_4(void) = Call[String] : func:r2214_3, this:r2214_1 -# 2214| m2214_5(unknown) = ^CallSideEffect : ~m2212_4 -# 2214| m2214_6(unknown) = Chi : total:m2212_4, partial:m2214_5 -# 2214| m2214_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2214_1 -# 2214| m2214_8(String) = Chi : total:m2214_2, partial:m2214_7 -# 2215| r2215_1(glval) = VariableAddress[b] : -# 2215| r2215_2(bool) = Load[b] : &:r2215_1, m2212_6 -# 2215| v2215_3(void) = ConditionalBranch : r2215_2 +# 2241| ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) +# 2241| Block 0 +# 2241| v2241_1(void) = EnterFunction : +# 2241| m2241_2(unknown) = AliasedDefinition : +# 2241| m2241_3(unknown) = InitializeNonLocal : +# 2241| m2241_4(unknown) = Chi : total:m2241_2, partial:m2241_3 +# 2241| r2241_5(glval) = VariableAddress[t] : +# 2241| m2241_6(ClassWithDestructor &) = InitializeParameter[t] : &:r2241_5 +# 2241| r2241_7(ClassWithDestructor &) = Load[t] : &:r2241_5, m2241_6 +# 2241| m2241_8(unknown) = InitializeIndirection[t] : &:r2241_7 +# 2241| r2241_9(glval) = VariableAddress[#return] : +# 2241| r2241_10(glval) = VariableAddress[t] : +# 2241| r2241_11(ClassWithDestructor &) = Load[t] : &:r2241_10, m2241_6 +# 2241| r2241_12(glval) = CopyValue : r2241_11 +# 2241| r2241_13(ClassWithDestructor &) = CopyValue : r2241_12 +# 2241| m2241_14(ClassWithDestructor &) = Store[#return] : &:r2241_9, r2241_13 +# 2241| v2241_15(void) = ReturnIndirection[t] : &:r2241_7, m2241_8 +# 2241| r2241_16(glval) = VariableAddress[#return] : +# 2241| v2241_17(void) = ReturnValue : &:r2241_16, m2241_14 +# 2241| v2241_18(void) = AliasedUse : m2241_3 +# 2241| v2241_19(void) = ExitFunction : + +# 2241| int& vacuous_destructor_call::get(int&) +# 2241| Block 0 +# 2241| v2241_1(void) = EnterFunction : +# 2241| m2241_2(unknown) = AliasedDefinition : +# 2241| m2241_3(unknown) = InitializeNonLocal : +# 2241| m2241_4(unknown) = Chi : total:m2241_2, partial:m2241_3 +# 2241| r2241_5(glval) = VariableAddress[t] : +# 2241| m2241_6(int &) = InitializeParameter[t] : &:r2241_5 +# 2241| r2241_7(int &) = Load[t] : &:r2241_5, m2241_6 +# 2241| m2241_8(unknown) = InitializeIndirection[t] : &:r2241_7 +# 2241| r2241_9(glval) = VariableAddress[#return] : +# 2241| r2241_10(glval) = VariableAddress[t] : +# 2241| r2241_11(int &) = Load[t] : &:r2241_10, m2241_6 +# 2241| r2241_12(glval) = CopyValue : r2241_11 +# 2241| r2241_13(int &) = CopyValue : r2241_12 +# 2241| m2241_14(int &) = Store[#return] : &:r2241_9, r2241_13 +# 2241| v2241_15(void) = ReturnIndirection[t] : &:r2241_7, m2241_8 +# 2241| r2241_16(glval) = VariableAddress[#return] : +# 2241| v2241_17(void) = ReturnValue : &:r2241_16, m2241_14 +# 2241| v2241_18(void) = AliasedUse : m2241_3 +# 2241| v2241_19(void) = ExitFunction : + +# 2244| void vacuous_destructor_call::call_destructor(ClassWithDestructor&) +# 2244| Block 0 +# 2244| v2244_1(void) = EnterFunction : +# 2244| m2244_2(unknown) = AliasedDefinition : +# 2244| m2244_3(unknown) = InitializeNonLocal : +# 2244| m2244_4(unknown) = Chi : total:m2244_2, partial:m2244_3 +# 2244| r2244_5(glval) = VariableAddress[t] : +# 2244| m2244_6(ClassWithDestructor &) = InitializeParameter[t] : &:r2244_5 +# 2244| r2244_7(ClassWithDestructor &) = Load[t] : &:r2244_5, m2244_6 +# 2244| m2244_8(unknown) = InitializeIndirection[t] : &:r2244_7 +# 2245| r2245_1(glval) = FunctionAddress[get] : +# 2245| r2245_2(glval) = VariableAddress[t] : +# 2245| r2245_3(ClassWithDestructor &) = Load[t] : &:r2245_2, m2244_6 +# 2245| r2245_4(glval) = CopyValue : r2245_3 +# 2245| r2245_5(ClassWithDestructor &) = CopyValue : r2245_4 +# 2245| r2245_6(ClassWithDestructor &) = Call[get] : func:r2245_1, 0:r2245_5 +# 2245| m2245_7(unknown) = ^CallSideEffect : ~m2244_4 +# 2245| m2245_8(unknown) = Chi : total:m2244_4, partial:m2245_7 +# 2245| v2245_9(void) = ^BufferReadSideEffect[0] : &:r2245_5, ~m2244_8 +# 2245| m2245_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r2245_5 +# 2245| m2245_11(unknown) = Chi : total:m2244_8, partial:m2245_10 +# 2245| r2245_12(glval) = CopyValue : r2245_6 +# 2245| r2245_13(glval) = FunctionAddress[~ClassWithDestructor] : +# 2245| v2245_14(void) = Call[~ClassWithDestructor] : func:r2245_13 +# 2245| m2245_15(unknown) = ^CallSideEffect : ~m2245_8 +# 2245| m2245_16(unknown) = Chi : total:m2245_8, partial:m2245_15 +# 2245| v2245_17(void) = ^IndirectReadSideEffect[-1] : &:r2245_12, ~m2245_11 +# 2245| m2245_18(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2245_12 +# 2245| m2245_19(unknown) = Chi : total:m2245_11, partial:m2245_18 +# 2246| v2246_1(void) = NoOp : +# 2244| v2244_9(void) = ReturnIndirection[t] : &:r2244_7, m2245_19 +# 2244| v2244_10(void) = ReturnVoid : +# 2244| v2244_11(void) = AliasedUse : ~m2245_16 +# 2244| v2244_12(void) = ExitFunction : + +# 2244| void vacuous_destructor_call::call_destructor(int&) +# 2244| Block 0 +# 2244| v2244_1(void) = EnterFunction : +# 2244| m2244_2(unknown) = AliasedDefinition : +# 2244| m2244_3(unknown) = InitializeNonLocal : +# 2244| m2244_4(unknown) = Chi : total:m2244_2, partial:m2244_3 +# 2244| r2244_5(glval) = VariableAddress[t] : +# 2244| m2244_6(int &) = InitializeParameter[t] : &:r2244_5 +# 2244| r2244_7(int &) = Load[t] : &:r2244_5, m2244_6 +# 2244| m2244_8(unknown) = InitializeIndirection[t] : &:r2244_7 +# 2245| r2245_1(glval) = FunctionAddress[get] : +# 2245| r2245_2(glval) = VariableAddress[t] : +# 2245| r2245_3(int &) = Load[t] : &:r2245_2, m2244_6 +# 2245| r2245_4(glval) = CopyValue : r2245_3 +# 2245| r2245_5(int &) = CopyValue : r2245_4 +# 2245| r2245_6(int &) = Call[get] : func:r2245_1, 0:r2245_5 +# 2245| m2245_7(unknown) = ^CallSideEffect : ~m2244_4 +# 2245| m2245_8(unknown) = Chi : total:m2244_4, partial:m2245_7 +# 2245| v2245_9(void) = ^BufferReadSideEffect[0] : &:r2245_5, ~m2244_8 +# 2245| m2245_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r2245_5 +# 2245| m2245_11(unknown) = Chi : total:m2244_8, partial:m2245_10 +# 2245| r2245_12(glval) = CopyValue : r2245_6 +# 2246| v2246_1(void) = NoOp : +# 2244| v2244_9(void) = ReturnIndirection[t] : &:r2244_7, m2245_11 +# 2244| v2244_10(void) = ReturnVoid : +# 2244| v2244_11(void) = AliasedUse : ~m2245_8 +# 2244| v2244_12(void) = ExitFunction : + +# 2248| void vacuous_destructor_call::non_vacuous_destructor_call() +# 2248| Block 0 +# 2248| v2248_1(void) = EnterFunction : +# 2248| m2248_2(unknown) = AliasedDefinition : +# 2248| m2248_3(unknown) = InitializeNonLocal : +# 2248| m2248_4(unknown) = Chi : total:m2248_2, partial:m2248_3 +# 2249| r2249_1(glval) = VariableAddress[c] : +# 2249| m2249_2(ClassWithDestructor) = Uninitialized[c] : &:r2249_1 +# 2249| r2249_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2249| v2249_4(void) = Call[ClassWithDestructor] : func:r2249_3, this:r2249_1 +# 2249| m2249_5(unknown) = ^CallSideEffect : ~m2248_4 +# 2249| m2249_6(unknown) = Chi : total:m2248_4, partial:m2249_5 +# 2249| m2249_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2249_1 +# 2249| m2249_8(ClassWithDestructor) = Chi : total:m2249_2, partial:m2249_7 +# 2250| r2250_1(glval) = FunctionAddress[call_destructor] : +# 2250| r2250_2(glval) = VariableAddress[c] : +# 2250| r2250_3(ClassWithDestructor &) = CopyValue : r2250_2 +# 2250| v2250_4(void) = Call[call_destructor] : func:r2250_1, 0:r2250_3 +# 2250| m2250_5(unknown) = ^CallSideEffect : ~m2249_6 +# 2250| m2250_6(unknown) = Chi : total:m2249_6, partial:m2250_5 +# 2250| v2250_7(void) = ^BufferReadSideEffect[0] : &:r2250_3, ~m2249_8 +# 2250| m2250_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r2250_3 +# 2250| m2250_9(ClassWithDestructor) = Chi : total:m2249_8, partial:m2250_8 +# 2251| v2251_1(void) = NoOp : +# 2251| r2251_2(glval) = VariableAddress[c] : +# 2251| r2251_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2251| v2251_4(void) = Call[~ClassWithDestructor] : func:r2251_3, this:r2251_2 +# 2251| m2251_5(unknown) = ^CallSideEffect : ~m2250_6 +# 2251| m2251_6(unknown) = Chi : total:m2250_6, partial:m2251_5 +# 2251| v2251_7(void) = ^IndirectReadSideEffect[-1] : &:r2251_2, m2250_9 +# 2251| m2251_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2251_2 +# 2251| m2251_9(ClassWithDestructor) = Chi : total:m2250_9, partial:m2251_8 +# 2248| v2248_5(void) = ReturnVoid : +# 2248| v2248_6(void) = AliasedUse : ~m2251_6 +# 2248| v2248_7(void) = ExitFunction : + +# 2253| void vacuous_destructor_call::vacuous_destructor_call() +# 2253| Block 0 +# 2253| v2253_1(void) = EnterFunction : +# 2253| m2253_2(unknown) = AliasedDefinition : +# 2253| m2253_3(unknown) = InitializeNonLocal : +# 2253| m2253_4(unknown) = Chi : total:m2253_2, partial:m2253_3 +# 2254| r2254_1(glval) = VariableAddress[i] : +# 2254| m2254_2(int) = Uninitialized[i] : &:r2254_1 +# 2255| r2255_1(glval) = FunctionAddress[call_destructor] : +# 2255| r2255_2(glval) = VariableAddress[i] : +# 2255| r2255_3(int &) = CopyValue : r2255_2 +# 2255| v2255_4(void) = Call[call_destructor] : func:r2255_1, 0:r2255_3 +# 2255| m2255_5(unknown) = ^CallSideEffect : ~m2253_4 +# 2255| m2255_6(unknown) = Chi : total:m2253_4, partial:m2255_5 +# 2255| v2255_7(void) = ^BufferReadSideEffect[0] : &:r2255_3, ~m2254_2 +# 2255| m2255_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r2255_3 +# 2255| m2255_9(int) = Chi : total:m2254_2, partial:m2255_8 +# 2256| v2256_1(void) = NoOp : +# 2253| v2253_5(void) = ReturnVoid : +# 2253| v2253_6(void) = AliasedUse : ~m2255_6 +# 2253| v2253_7(void) = ExitFunction : + +# 2259| void TryCatchDestructors(bool) +# 2259| Block 0 +# 2259| v2259_1(void) = EnterFunction : +# 2259| m2259_2(unknown) = AliasedDefinition : +# 2259| m2259_3(unknown) = InitializeNonLocal : +# 2259| m2259_4(unknown) = Chi : total:m2259_2, partial:m2259_3 +# 2259| r2259_5(glval) = VariableAddress[b] : +# 2259| m2259_6(bool) = InitializeParameter[b] : &:r2259_5 +# 2261| r2261_1(glval) = VariableAddress[s] : +# 2261| m2261_2(String) = Uninitialized[s] : &:r2261_1 +# 2261| r2261_3(glval) = FunctionAddress[String] : +# 2261| v2261_4(void) = Call[String] : func:r2261_3, this:r2261_1 +# 2261| m2261_5(unknown) = ^CallSideEffect : ~m2259_4 +# 2261| m2261_6(unknown) = Chi : total:m2259_4, partial:m2261_5 +# 2261| m2261_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2261_1 +# 2261| m2261_8(String) = Chi : total:m2261_2, partial:m2261_7 +# 2262| r2262_1(glval) = VariableAddress[b] : +# 2262| r2262_2(bool) = Load[b] : &:r2262_1, m2259_6 +# 2262| v2262_3(void) = ConditionalBranch : r2262_2 #-----| False -> Block 4 #-----| True -> Block 3 -# 2212| Block 1 -# 2212| m2212_7(unknown) = Phi : from 2:~m2212_10, from 10:~m2228_1 -# 2212| v2212_8(void) = AliasedUse : ~m2212_7 -# 2212| v2212_9(void) = ExitFunction : +# 2259| Block 1 +# 2259| m2259_7(unknown) = Phi : from 2:~m2259_10, from 10:~m2275_1 +# 2259| v2259_8(void) = AliasedUse : ~m2259_7 +# 2259| v2259_9(void) = ExitFunction : -# 2212| Block 2 -# 2212| m2212_10(unknown) = Phi : from 6:~m2221_8, from 9:~m2214_6 -# 2212| v2212_11(void) = Unwind : +# 2259| Block 2 +# 2259| m2259_10(unknown) = Phi : from 6:~m2268_8, from 9:~m2261_6 +# 2259| v2259_11(void) = Unwind : #-----| Goto -> Block 1 -# 2216| Block 3 -# 2216| r2216_1(glval) = VariableAddress[#throw2216:7] : -# 2216| r2216_2(glval) = StringConstant["string literal"] : -# 2216| r2216_3(char *) = Convert : r2216_2 -# 2216| m2216_4(char *) = Store[#throw2216:7] : &:r2216_1, r2216_3 -# 2216| v2216_5(void) = ThrowValue : &:r2216_1, m2216_4 +# 2263| Block 3 +# 2263| r2263_1(glval) = VariableAddress[#throw2263:7] : +# 2263| r2263_2(glval) = StringConstant["string literal"] : +# 2263| r2263_3(char *) = Convert : r2263_2 +# 2263| m2263_4(char *) = Store[#throw2263:7] : &:r2263_1, r2263_3 +# 2263| v2263_5(void) = ThrowValue : &:r2263_1, m2263_4 #-----| Exception -> Block 5 -# 2218| Block 4 -# 2218| r2218_1(glval) = VariableAddress[s2] : -# 2218| m2218_2(String) = Uninitialized[s2] : &:r2218_1 -# 2218| r2218_3(glval) = FunctionAddress[String] : -# 2218| v2218_4(void) = Call[String] : func:r2218_3, this:r2218_1 -# 2218| m2218_5(unknown) = ^CallSideEffect : ~m2214_6 -# 2218| m2218_6(unknown) = Chi : total:m2214_6, partial:m2218_5 -# 2218| m2218_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2218_1 -# 2218| m2218_8(String) = Chi : total:m2218_2, partial:m2218_7 -# 2219| r2219_1(glval) = VariableAddress[s2] : -# 2219| r2219_2(glval) = FunctionAddress[~String] : -# 2219| v2219_3(void) = Call[~String] : func:r2219_2, this:r2219_1 -# 2219| m2219_4(unknown) = ^CallSideEffect : ~m2218_6 -# 2219| m2219_5(unknown) = Chi : total:m2218_6, partial:m2219_4 -# 2219| v2219_6(void) = ^IndirectReadSideEffect[-1] : &:r2219_1, m2218_8 -# 2219| m2219_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2219_1 -# 2219| m2219_8(String) = Chi : total:m2218_8, partial:m2219_7 -# 2219| r2219_9(glval) = VariableAddress[s] : -# 2219| r2219_10(glval) = FunctionAddress[~String] : -# 2219| v2219_11(void) = Call[~String] : func:r2219_10, this:r2219_9 -# 2219| m2219_12(unknown) = ^CallSideEffect : ~m2219_5 -# 2219| m2219_13(unknown) = Chi : total:m2219_5, partial:m2219_12 -# 2219| v2219_14(void) = ^IndirectReadSideEffect[-1] : &:r2219_9, m2214_8 -# 2219| m2219_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2219_9 -# 2219| m2219_16(String) = Chi : total:m2214_8, partial:m2219_15 +# 2265| Block 4 +# 2265| r2265_1(glval) = VariableAddress[s2] : +# 2265| m2265_2(String) = Uninitialized[s2] : &:r2265_1 +# 2265| r2265_3(glval) = FunctionAddress[String] : +# 2265| v2265_4(void) = Call[String] : func:r2265_3, this:r2265_1 +# 2265| m2265_5(unknown) = ^CallSideEffect : ~m2261_6 +# 2265| m2265_6(unknown) = Chi : total:m2261_6, partial:m2265_5 +# 2265| m2265_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2265_1 +# 2265| m2265_8(String) = Chi : total:m2265_2, partial:m2265_7 +# 2266| r2266_1(glval) = VariableAddress[s2] : +# 2266| r2266_2(glval) = FunctionAddress[~String] : +# 2266| v2266_3(void) = Call[~String] : func:r2266_2, this:r2266_1 +# 2266| m2266_4(unknown) = ^CallSideEffect : ~m2265_6 +# 2266| m2266_5(unknown) = Chi : total:m2265_6, partial:m2266_4 +# 2266| v2266_6(void) = ^IndirectReadSideEffect[-1] : &:r2266_1, m2265_8 +# 2266| m2266_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2266_1 +# 2266| m2266_8(String) = Chi : total:m2265_8, partial:m2266_7 +# 2266| r2266_9(glval) = VariableAddress[s] : +# 2266| r2266_10(glval) = FunctionAddress[~String] : +# 2266| v2266_11(void) = Call[~String] : func:r2266_10, this:r2266_9 +# 2266| m2266_12(unknown) = ^CallSideEffect : ~m2266_5 +# 2266| m2266_13(unknown) = Chi : total:m2266_5, partial:m2266_12 +# 2266| v2266_14(void) = ^IndirectReadSideEffect[-1] : &:r2266_9, m2261_8 +# 2266| m2266_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2266_9 +# 2266| m2266_16(String) = Chi : total:m2261_8, partial:m2266_15 #-----| Goto -> Block 10 -# 2220| Block 5 -# 2220| v2220_1(void) = CatchByType[const char *] : +# 2267| Block 5 +# 2267| v2267_1(void) = CatchByType[const char *] : #-----| Exception -> Block 7 #-----| Goto -> Block 6 -# 2220| Block 6 -# 2220| r2220_2(glval) = VariableAddress[s] : -# 2220| m2220_3(char *) = InitializeParameter[s] : &:r2220_2 -# 2220| r2220_4(char *) = Load[s] : &:r2220_2, m2220_3 -# 2220| m2220_5(unknown) = InitializeIndirection[s] : &:r2220_4 -# 2221| r2221_1(glval) = VariableAddress[#throw2221:5] : -# 2221| m2221_2(String) = Uninitialized[#throw2221:5] : &:r2221_1 -# 2221| r2221_3(glval) = FunctionAddress[String] : -# 2221| r2221_4(glval) = VariableAddress[s] : -# 2221| r2221_5(char *) = Load[s] : &:r2221_4, m2220_3 -# 2221| v2221_6(void) = Call[String] : func:r2221_3, this:r2221_1, 0:r2221_5 -# 2221| m2221_7(unknown) = ^CallSideEffect : ~m2214_6 -# 2221| m2221_8(unknown) = Chi : total:m2214_6, partial:m2221_7 -# 2221| v2221_9(void) = ^BufferReadSideEffect[0] : &:r2221_5, ~m2220_5 -# 2221| m2221_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2221_1 -# 2221| m2221_11(String) = Chi : total:m2221_2, partial:m2221_10 -# 2221| v2221_12(void) = ThrowValue : &:r2221_1, m2221_11 +# 2267| Block 6 +# 2267| r2267_2(glval) = VariableAddress[s] : +# 2267| m2267_3(char *) = InitializeParameter[s] : &:r2267_2 +# 2267| r2267_4(char *) = Load[s] : &:r2267_2, m2267_3 +# 2267| m2267_5(unknown) = InitializeIndirection[s] : &:r2267_4 +# 2268| r2268_1(glval) = VariableAddress[#throw2268:5] : +# 2268| m2268_2(String) = Uninitialized[#throw2268:5] : &:r2268_1 +# 2268| r2268_3(glval) = FunctionAddress[String] : +# 2268| r2268_4(glval) = VariableAddress[s] : +# 2268| r2268_5(char *) = Load[s] : &:r2268_4, m2267_3 +# 2268| v2268_6(void) = Call[String] : func:r2268_3, this:r2268_1, 0:r2268_5 +# 2268| m2268_7(unknown) = ^CallSideEffect : ~m2261_6 +# 2268| m2268_8(unknown) = Chi : total:m2261_6, partial:m2268_7 +# 2268| v2268_9(void) = ^BufferReadSideEffect[0] : &:r2268_5, ~m2267_5 +# 2268| m2268_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2268_1 +# 2268| m2268_11(String) = Chi : total:m2268_2, partial:m2268_10 +# 2268| v2268_12(void) = ThrowValue : &:r2268_1, m2268_11 #-----| Exception -> Block 2 -# 2223| Block 7 -# 2223| v2223_1(void) = CatchByType[const String &] : +# 2270| Block 7 +# 2270| v2270_1(void) = CatchByType[const String &] : #-----| Exception -> Block 9 #-----| Goto -> Block 8 -# 2223| Block 8 -# 2223| r2223_2(glval) = VariableAddress[e] : -# 2223| m2223_3(String &) = InitializeParameter[e] : &:r2223_2 -# 2223| r2223_4(String &) = Load[e] : &:r2223_2, m2223_3 -# 2223| m2223_5(unknown) = InitializeIndirection[e] : &:r2223_4 -# 2223| v2223_6(void) = NoOp : +# 2270| Block 8 +# 2270| r2270_2(glval) = VariableAddress[e] : +# 2270| m2270_3(String &) = InitializeParameter[e] : &:r2270_2 +# 2270| r2270_4(String &) = Load[e] : &:r2270_2, m2270_3 +# 2270| m2270_5(unknown) = InitializeIndirection[e] : &:r2270_4 +# 2270| v2270_6(void) = NoOp : #-----| Goto -> Block 10 -# 2225| Block 9 -# 2225| v2225_1(void) = CatchAny : -# 2226| v2226_1(void) = ReThrow : +# 2272| Block 9 +# 2272| v2272_1(void) = CatchAny : +# 2273| v2273_1(void) = ReThrow : #-----| Exception -> Block 2 -# 2228| Block 10 -# 2228| m2228_1(unknown) = Phi : from 4:~m2219_13, from 8:~m2214_6 -# 2228| v2228_2(void) = NoOp : -# 2212| v2212_12(void) = ReturnVoid : +# 2275| Block 10 +# 2275| m2275_1(unknown) = Phi : from 4:~m2266_13, from 8:~m2261_6 +# 2275| v2275_2(void) = NoOp : +# 2259| v2259_12(void) = ReturnVoid : #-----| Goto -> Block 1 -# 2230| void IfDestructors(bool) -# 2230| Block 0 -# 2230| v2230_1(void) = EnterFunction : -# 2230| m2230_2(unknown) = AliasedDefinition : -# 2230| m2230_3(unknown) = InitializeNonLocal : -# 2230| m2230_4(unknown) = Chi : total:m2230_2, partial:m2230_3 -# 2230| r2230_5(glval) = VariableAddress[b] : -# 2230| m2230_6(bool) = InitializeParameter[b] : &:r2230_5 -# 2231| r2231_1(glval) = VariableAddress[s1] : -# 2231| m2231_2(String) = Uninitialized[s1] : &:r2231_1 -# 2231| r2231_3(glval) = FunctionAddress[String] : -# 2231| v2231_4(void) = Call[String] : func:r2231_3, this:r2231_1 -# 2231| m2231_5(unknown) = ^CallSideEffect : ~m2230_4 -# 2231| m2231_6(unknown) = Chi : total:m2230_4, partial:m2231_5 -# 2231| m2231_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2231_1 -# 2231| m2231_8(String) = Chi : total:m2231_2, partial:m2231_7 -# 2232| r2232_1(glval) = VariableAddress[b] : -# 2232| r2232_2(bool) = Load[b] : &:r2232_1, m2230_6 -# 2232| v2232_3(void) = ConditionalBranch : r2232_2 +# 2277| void IfDestructors(bool) +# 2277| Block 0 +# 2277| v2277_1(void) = EnterFunction : +# 2277| m2277_2(unknown) = AliasedDefinition : +# 2277| m2277_3(unknown) = InitializeNonLocal : +# 2277| m2277_4(unknown) = Chi : total:m2277_2, partial:m2277_3 +# 2277| r2277_5(glval) = VariableAddress[b] : +# 2277| m2277_6(bool) = InitializeParameter[b] : &:r2277_5 +# 2278| r2278_1(glval) = VariableAddress[s1] : +# 2278| m2278_2(String) = Uninitialized[s1] : &:r2278_1 +# 2278| r2278_3(glval) = FunctionAddress[String] : +# 2278| v2278_4(void) = Call[String] : func:r2278_3, this:r2278_1 +# 2278| m2278_5(unknown) = ^CallSideEffect : ~m2277_4 +# 2278| m2278_6(unknown) = Chi : total:m2277_4, partial:m2278_5 +# 2278| m2278_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2278_1 +# 2278| m2278_8(String) = Chi : total:m2278_2, partial:m2278_7 +# 2279| r2279_1(glval) = VariableAddress[b] : +# 2279| r2279_2(bool) = Load[b] : &:r2279_1, m2277_6 +# 2279| v2279_3(void) = ConditionalBranch : r2279_2 #-----| False -> Block 2 #-----| True -> Block 1 -# 2233| Block 1 -# 2233| r2233_1(glval) = VariableAddress[s2] : -# 2233| m2233_2(String) = Uninitialized[s2] : &:r2233_1 -# 2233| r2233_3(glval) = FunctionAddress[String] : -# 2233| v2233_4(void) = Call[String] : func:r2233_3, this:r2233_1 -# 2233| m2233_5(unknown) = ^CallSideEffect : ~m2231_6 -# 2233| m2233_6(unknown) = Chi : total:m2231_6, partial:m2233_5 -# 2233| m2233_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2233_1 -# 2233| m2233_8(String) = Chi : total:m2233_2, partial:m2233_7 -# 2234| r2234_1(glval) = VariableAddress[s2] : -# 2234| r2234_2(glval) = FunctionAddress[~String] : -# 2234| v2234_3(void) = Call[~String] : func:r2234_2, this:r2234_1 -# 2234| m2234_4(unknown) = ^CallSideEffect : ~m2233_6 -# 2234| m2234_5(unknown) = Chi : total:m2233_6, partial:m2234_4 -# 2234| v2234_6(void) = ^IndirectReadSideEffect[-1] : &:r2234_1, m2233_8 -# 2234| m2234_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2234_1 -# 2234| m2234_8(String) = Chi : total:m2233_8, partial:m2234_7 +# 2280| Block 1 +# 2280| r2280_1(glval) = VariableAddress[s2] : +# 2280| m2280_2(String) = Uninitialized[s2] : &:r2280_1 +# 2280| r2280_3(glval) = FunctionAddress[String] : +# 2280| v2280_4(void) = Call[String] : func:r2280_3, this:r2280_1 +# 2280| m2280_5(unknown) = ^CallSideEffect : ~m2278_6 +# 2280| m2280_6(unknown) = Chi : total:m2278_6, partial:m2280_5 +# 2280| m2280_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_1 +# 2280| m2280_8(String) = Chi : total:m2280_2, partial:m2280_7 +# 2281| r2281_1(glval) = VariableAddress[s2] : +# 2281| r2281_2(glval) = FunctionAddress[~String] : +# 2281| v2281_3(void) = Call[~String] : func:r2281_2, this:r2281_1 +# 2281| m2281_4(unknown) = ^CallSideEffect : ~m2280_6 +# 2281| m2281_5(unknown) = Chi : total:m2280_6, partial:m2281_4 +# 2281| v2281_6(void) = ^IndirectReadSideEffect[-1] : &:r2281_1, m2280_8 +# 2281| m2281_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2281_1 +# 2281| m2281_8(String) = Chi : total:m2280_8, partial:m2281_7 #-----| Goto -> Block 3 -# 2235| Block 2 -# 2235| r2235_1(glval) = VariableAddress[s3] : -# 2235| m2235_2(String) = Uninitialized[s3] : &:r2235_1 -# 2235| r2235_3(glval) = FunctionAddress[String] : -# 2235| v2235_4(void) = Call[String] : func:r2235_3, this:r2235_1 -# 2235| m2235_5(unknown) = ^CallSideEffect : ~m2231_6 -# 2235| m2235_6(unknown) = Chi : total:m2231_6, partial:m2235_5 -# 2235| m2235_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2235_1 -# 2235| m2235_8(String) = Chi : total:m2235_2, partial:m2235_7 -# 2236| r2236_1(glval) = VariableAddress[s3] : -# 2236| r2236_2(glval) = FunctionAddress[~String] : -# 2236| v2236_3(void) = Call[~String] : func:r2236_2, this:r2236_1 -# 2236| m2236_4(unknown) = ^CallSideEffect : ~m2235_6 -# 2236| m2236_5(unknown) = Chi : total:m2235_6, partial:m2236_4 -# 2236| v2236_6(void) = ^IndirectReadSideEffect[-1] : &:r2236_1, m2235_8 -# 2236| m2236_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2236_1 -# 2236| m2236_8(String) = Chi : total:m2235_8, partial:m2236_7 +# 2282| Block 2 +# 2282| r2282_1(glval) = VariableAddress[s3] : +# 2282| m2282_2(String) = Uninitialized[s3] : &:r2282_1 +# 2282| r2282_3(glval) = FunctionAddress[String] : +# 2282| v2282_4(void) = Call[String] : func:r2282_3, this:r2282_1 +# 2282| m2282_5(unknown) = ^CallSideEffect : ~m2278_6 +# 2282| m2282_6(unknown) = Chi : total:m2278_6, partial:m2282_5 +# 2282| m2282_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2282_1 +# 2282| m2282_8(String) = Chi : total:m2282_2, partial:m2282_7 +# 2283| r2283_1(glval) = VariableAddress[s3] : +# 2283| r2283_2(glval) = FunctionAddress[~String] : +# 2283| v2283_3(void) = Call[~String] : func:r2283_2, this:r2283_1 +# 2283| m2283_4(unknown) = ^CallSideEffect : ~m2282_6 +# 2283| m2283_5(unknown) = Chi : total:m2282_6, partial:m2283_4 +# 2283| v2283_6(void) = ^IndirectReadSideEffect[-1] : &:r2283_1, m2282_8 +# 2283| m2283_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2283_1 +# 2283| m2283_8(String) = Chi : total:m2282_8, partial:m2283_7 #-----| Goto -> Block 3 -# 2237| Block 3 -# 2237| m2237_1(unknown) = Phi : from 1:~m2234_5, from 2:~m2236_5 -# 2237| r2237_2(glval) = VariableAddress[s4] : -# 2237| m2237_3(String) = Uninitialized[s4] : &:r2237_2 -# 2237| r2237_4(glval) = FunctionAddress[String] : -# 2237| v2237_5(void) = Call[String] : func:r2237_4, this:r2237_2 -# 2237| m2237_6(unknown) = ^CallSideEffect : ~m2237_1 -# 2237| m2237_7(unknown) = Chi : total:m2237_1, partial:m2237_6 -# 2237| m2237_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2237_2 -# 2237| m2237_9(String) = Chi : total:m2237_3, partial:m2237_8 -# 2238| v2238_1(void) = NoOp : -# 2238| r2238_2(glval) = VariableAddress[s4] : -# 2238| r2238_3(glval) = FunctionAddress[~String] : -# 2238| v2238_4(void) = Call[~String] : func:r2238_3, this:r2238_2 -# 2238| m2238_5(unknown) = ^CallSideEffect : ~m2237_7 -# 2238| m2238_6(unknown) = Chi : total:m2237_7, partial:m2238_5 -# 2238| v2238_7(void) = ^IndirectReadSideEffect[-1] : &:r2238_2, m2237_9 -# 2238| m2238_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2238_2 -# 2238| m2238_9(String) = Chi : total:m2237_9, partial:m2238_8 -# 2238| r2238_10(glval) = VariableAddress[s1] : -# 2238| r2238_11(glval) = FunctionAddress[~String] : -# 2238| v2238_12(void) = Call[~String] : func:r2238_11, this:r2238_10 -# 2238| m2238_13(unknown) = ^CallSideEffect : ~m2238_6 -# 2238| m2238_14(unknown) = Chi : total:m2238_6, partial:m2238_13 -# 2238| v2238_15(void) = ^IndirectReadSideEffect[-1] : &:r2238_10, m2231_8 -# 2238| m2238_16(String) = ^IndirectMayWriteSideEffect[-1] : &:r2238_10 -# 2238| m2238_17(String) = Chi : total:m2231_8, partial:m2238_16 -# 2230| v2230_7(void) = ReturnVoid : -# 2230| v2230_8(void) = AliasedUse : ~m2238_14 -# 2230| v2230_9(void) = ExitFunction : +# 2284| Block 3 +# 2284| m2284_1(unknown) = Phi : from 1:~m2281_5, from 2:~m2283_5 +# 2284| r2284_2(glval) = VariableAddress[s4] : +# 2284| m2284_3(String) = Uninitialized[s4] : &:r2284_2 +# 2284| r2284_4(glval) = FunctionAddress[String] : +# 2284| v2284_5(void) = Call[String] : func:r2284_4, this:r2284_2 +# 2284| m2284_6(unknown) = ^CallSideEffect : ~m2284_1 +# 2284| m2284_7(unknown) = Chi : total:m2284_1, partial:m2284_6 +# 2284| m2284_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2284_2 +# 2284| m2284_9(String) = Chi : total:m2284_3, partial:m2284_8 +# 2285| v2285_1(void) = NoOp : +# 2285| r2285_2(glval) = VariableAddress[s4] : +# 2285| r2285_3(glval) = FunctionAddress[~String] : +# 2285| v2285_4(void) = Call[~String] : func:r2285_3, this:r2285_2 +# 2285| m2285_5(unknown) = ^CallSideEffect : ~m2284_7 +# 2285| m2285_6(unknown) = Chi : total:m2284_7, partial:m2285_5 +# 2285| v2285_7(void) = ^IndirectReadSideEffect[-1] : &:r2285_2, m2284_9 +# 2285| m2285_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2285_2 +# 2285| m2285_9(String) = Chi : total:m2284_9, partial:m2285_8 +# 2285| r2285_10(glval) = VariableAddress[s1] : +# 2285| r2285_11(glval) = FunctionAddress[~String] : +# 2285| v2285_12(void) = Call[~String] : func:r2285_11, this:r2285_10 +# 2285| m2285_13(unknown) = ^CallSideEffect : ~m2285_6 +# 2285| m2285_14(unknown) = Chi : total:m2285_6, partial:m2285_13 +# 2285| v2285_15(void) = ^IndirectReadSideEffect[-1] : &:r2285_10, m2278_8 +# 2285| m2285_16(String) = ^IndirectMayWriteSideEffect[-1] : &:r2285_10 +# 2285| m2285_17(String) = Chi : total:m2278_8, partial:m2285_16 +# 2277| v2277_7(void) = ReturnVoid : +# 2277| v2277_8(void) = AliasedUse : ~m2285_14 +# 2277| v2277_9(void) = ExitFunction : -# 2240| void ForDestructors() -# 2240| Block 0 -# 2240| v2240_1(void) = EnterFunction : -# 2240| m2240_2(unknown) = AliasedDefinition : -# 2240| m2240_3(unknown) = InitializeNonLocal : -# 2240| m2240_4(unknown) = Chi : total:m2240_2, partial:m2240_3 -# 2241| r2241_1(glval) = VariableAddress[c] : -# 2241| r2241_2(char) = Constant[97] : -# 2241| m2241_3(char) = Store[c] : &:r2241_1, r2241_2 -# 2242| r2242_1(glval) = VariableAddress[s] : -# 2242| m2242_2(String) = Uninitialized[s] : &:r2242_1 -# 2242| r2242_3(glval) = FunctionAddress[String] : -# 2242| r2242_4(glval) = StringConstant["hello"] : -# 2242| r2242_5(char *) = Convert : r2242_4 -# 2242| v2242_6(void) = Call[String] : func:r2242_3, this:r2242_1, 0:r2242_5 -# 2242| m2242_7(unknown) = ^CallSideEffect : ~m2240_4 -# 2242| m2242_8(unknown) = Chi : total:m2240_4, partial:m2242_7 -# 2242| v2242_9(void) = ^BufferReadSideEffect[0] : &:r2242_5, ~m2240_3 -# 2242| m2242_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2242_1 -# 2242| m2242_11(String) = Chi : total:m2242_2, partial:m2242_10 +# 2287| void ForDestructors() +# 2287| Block 0 +# 2287| v2287_1(void) = EnterFunction : +# 2287| m2287_2(unknown) = AliasedDefinition : +# 2287| m2287_3(unknown) = InitializeNonLocal : +# 2287| m2287_4(unknown) = Chi : total:m2287_2, partial:m2287_3 +# 2288| r2288_1(glval) = VariableAddress[c] : +# 2288| r2288_2(char) = Constant[97] : +# 2288| m2288_3(char) = Store[c] : &:r2288_1, r2288_2 +# 2289| r2289_1(glval) = VariableAddress[s] : +# 2289| m2289_2(String) = Uninitialized[s] : &:r2289_1 +# 2289| r2289_3(glval) = FunctionAddress[String] : +# 2289| r2289_4(glval) = StringConstant["hello"] : +# 2289| r2289_5(char *) = Convert : r2289_4 +# 2289| v2289_6(void) = Call[String] : func:r2289_3, this:r2289_1, 0:r2289_5 +# 2289| m2289_7(unknown) = ^CallSideEffect : ~m2287_4 +# 2289| m2289_8(unknown) = Chi : total:m2287_4, partial:m2289_7 +# 2289| v2289_9(void) = ^BufferReadSideEffect[0] : &:r2289_5, ~m2287_3 +# 2289| m2289_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_1 +# 2289| m2289_11(String) = Chi : total:m2289_2, partial:m2289_10 #-----| Goto -> Block 1 -# 2242| Block 1 -# 2242| m2242_12(String) = Phi : from 0:m2242_11, from 2:m2242_28 -# 2242| m2242_13(unknown) = Phi : from 0:~m2242_8, from 2:~m2242_25 -# 2242| m2242_14(char) = Phi : from 0:m2241_3, from 2:m2242_30 -# 2242| r2242_15(glval) = VariableAddress[c] : -# 2242| r2242_16(char) = Load[c] : &:r2242_15, m2242_14 -# 2242| r2242_17(int) = Convert : r2242_16 -# 2242| r2242_18(int) = Constant[0] : -# 2242| r2242_19(bool) = CompareNE : r2242_17, r2242_18 -# 2242| v2242_20(void) = ConditionalBranch : r2242_19 +# 2289| Block 1 +# 2289| m2289_12(String) = Phi : from 0:m2289_11, from 2:m2289_28 +# 2289| m2289_13(unknown) = Phi : from 0:~m2289_8, from 2:~m2289_25 +# 2289| m2289_14(char) = Phi : from 0:m2288_3, from 2:m2289_30 +# 2289| r2289_15(glval) = VariableAddress[c] : +# 2289| r2289_16(char) = Load[c] : &:r2289_15, m2289_14 +# 2289| r2289_17(int) = Convert : r2289_16 +# 2289| r2289_18(int) = Constant[0] : +# 2289| r2289_19(bool) = CompareNE : r2289_17, r2289_18 +# 2289| v2289_20(void) = ConditionalBranch : r2289_19 #-----| False -> Block 3 #-----| True -> Block 2 -# 2243| Block 2 -# 2243| r2243_1(glval) = VariableAddress[s2] : -# 2243| m2243_2(String) = Uninitialized[s2] : &:r2243_1 -# 2243| r2243_3(glval) = FunctionAddress[String] : -# 2243| v2243_4(void) = Call[String] : func:r2243_3, this:r2243_1 -# 2243| m2243_5(unknown) = ^CallSideEffect : ~m2242_13 -# 2243| m2243_6(unknown) = Chi : total:m2242_13, partial:m2243_5 -# 2243| m2243_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2243_1 -# 2243| m2243_8(String) = Chi : total:m2243_2, partial:m2243_7 -# 2244| r2244_1(glval) = VariableAddress[s2] : -# 2244| r2244_2(glval) = FunctionAddress[~String] : -# 2244| v2244_3(void) = Call[~String] : func:r2244_2, this:r2244_1 -# 2244| m2244_4(unknown) = ^CallSideEffect : ~m2243_6 -# 2244| m2244_5(unknown) = Chi : total:m2243_6, partial:m2244_4 -# 2244| v2244_6(void) = ^IndirectReadSideEffect[-1] : &:r2244_1, m2243_8 -# 2244| m2244_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2244_1 -# 2244| m2244_8(String) = Chi : total:m2243_8, partial:m2244_7 -# 2242| r2242_21(glval) = VariableAddress[s] : -# 2242| r2242_22(glval) = FunctionAddress[pop_back] : -# 2242| r2242_23(char) = Call[pop_back] : func:r2242_22, this:r2242_21 -# 2242| m2242_24(unknown) = ^CallSideEffect : ~m2244_5 -# 2242| m2242_25(unknown) = Chi : total:m2244_5, partial:m2242_24 -# 2242| v2242_26(void) = ^IndirectReadSideEffect[-1] : &:r2242_21, m2242_12 -# 2242| m2242_27(String) = ^IndirectMayWriteSideEffect[-1] : &:r2242_21 -# 2242| m2242_28(String) = Chi : total:m2242_12, partial:m2242_27 -# 2242| r2242_29(glval) = VariableAddress[c] : -# 2242| m2242_30(char) = Store[c] : &:r2242_29, r2242_23 +# 2290| Block 2 +# 2290| r2290_1(glval) = VariableAddress[s2] : +# 2290| m2290_2(String) = Uninitialized[s2] : &:r2290_1 +# 2290| r2290_3(glval) = FunctionAddress[String] : +# 2290| v2290_4(void) = Call[String] : func:r2290_3, this:r2290_1 +# 2290| m2290_5(unknown) = ^CallSideEffect : ~m2289_13 +# 2290| m2290_6(unknown) = Chi : total:m2289_13, partial:m2290_5 +# 2290| m2290_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2290_1 +# 2290| m2290_8(String) = Chi : total:m2290_2, partial:m2290_7 +# 2291| r2291_1(glval) = VariableAddress[s2] : +# 2291| r2291_2(glval) = FunctionAddress[~String] : +# 2291| v2291_3(void) = Call[~String] : func:r2291_2, this:r2291_1 +# 2291| m2291_4(unknown) = ^CallSideEffect : ~m2290_6 +# 2291| m2291_5(unknown) = Chi : total:m2290_6, partial:m2291_4 +# 2291| v2291_6(void) = ^IndirectReadSideEffect[-1] : &:r2291_1, m2290_8 +# 2291| m2291_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2291_1 +# 2291| m2291_8(String) = Chi : total:m2290_8, partial:m2291_7 +# 2289| r2289_21(glval) = VariableAddress[s] : +# 2289| r2289_22(glval) = FunctionAddress[pop_back] : +# 2289| r2289_23(char) = Call[pop_back] : func:r2289_22, this:r2289_21 +# 2289| m2289_24(unknown) = ^CallSideEffect : ~m2291_5 +# 2289| m2289_25(unknown) = Chi : total:m2291_5, partial:m2289_24 +# 2289| v2289_26(void) = ^IndirectReadSideEffect[-1] : &:r2289_21, m2289_12 +# 2289| m2289_27(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_21 +# 2289| m2289_28(String) = Chi : total:m2289_12, partial:m2289_27 +# 2289| r2289_29(glval) = VariableAddress[c] : +# 2289| m2289_30(char) = Store[c] : &:r2289_29, r2289_23 #-----| Goto (back edge) -> Block 1 -# 2242| Block 3 -# 2242| r2242_31(glval) = VariableAddress[s] : -# 2242| r2242_32(glval) = FunctionAddress[~String] : -# 2242| v2242_33(void) = Call[~String] : func:r2242_32, this:r2242_31 -# 2242| m2242_34(unknown) = ^CallSideEffect : ~m2242_13 -# 2242| m2242_35(unknown) = Chi : total:m2242_13, partial:m2242_34 -# 2242| v2242_36(void) = ^IndirectReadSideEffect[-1] : &:r2242_31, m2242_12 -# 2242| m2242_37(String) = ^IndirectMayWriteSideEffect[-1] : &:r2242_31 -# 2242| m2242_38(String) = Chi : total:m2242_12, partial:m2242_37 -# 2246| r2246_1(glval &&>) = VariableAddress[(__range)] : -# 2246| r2246_2(glval>) = VariableAddress[#temp2246:20] : -# 2246| m2246_3(vector) = Uninitialized[#temp2246:20] : &:r2246_2 -# 2246| r2246_4(glval) = FunctionAddress[vector] : -# 2246| r2246_5(glval) = VariableAddress[#temp2246:35] : -# 2246| m2246_6(String) = Uninitialized[#temp2246:35] : &:r2246_5 -# 2246| r2246_7(glval) = FunctionAddress[String] : -# 2246| r2246_8(glval) = StringConstant["hello"] : -# 2246| r2246_9(char *) = Convert : r2246_8 -# 2246| v2246_10(void) = Call[String] : func:r2246_7, this:r2246_5, 0:r2246_9 -# 2246| m2246_11(unknown) = ^CallSideEffect : ~m2242_35 -# 2246| m2246_12(unknown) = Chi : total:m2242_35, partial:m2246_11 -# 2246| v2246_13(void) = ^BufferReadSideEffect[0] : &:r2246_9, ~m2240_3 -# 2246| m2246_14(String) = ^IndirectMayWriteSideEffect[-1] : &:r2246_5 -# 2246| m2246_15(String) = Chi : total:m2246_6, partial:m2246_14 -# 2246| r2246_16(String) = Load[#temp2246:35] : &:r2246_5, m2246_15 -# 2246| v2246_17(void) = Call[vector] : func:r2246_4, this:r2246_2, 0:r2246_16 -# 2246| m2246_18(unknown) = ^CallSideEffect : ~m2246_12 -# 2246| m2246_19(unknown) = Chi : total:m2246_12, partial:m2246_18 -# 2246| m2246_20(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2246_2 -# 2246| m2246_21(vector) = Chi : total:m2246_3, partial:m2246_20 -# 2246| r2246_22(vector &) = CopyValue : r2246_2 -# 2246| m2246_23(vector &&) = Store[(__range)] : &:r2246_1, r2246_22 -# 2246| r2246_24(glval) = VariableAddress[(__begin)] : -# 2246| r2246_25(glval &&>) = VariableAddress[(__range)] : -# 2246| r2246_26(vector &&) = Load[(__range)] : &:r2246_25, m2246_23 -#-----| r0_1(glval>) = CopyValue : r2246_26 -#-----| r0_2(glval>) = Convert : r0_1 -# 2246| r2246_27(glval) = FunctionAddress[begin] : -# 2246| r2246_28(iterator) = Call[begin] : func:r2246_27, this:r0_2 -# 2246| m2246_29(unknown) = ^CallSideEffect : ~m2246_19 -# 2246| m2246_30(unknown) = Chi : total:m2246_19, partial:m2246_29 -#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, m2246_21 -# 2246| m2246_31(iterator) = Store[(__begin)] : &:r2246_24, r2246_28 -# 2246| r2246_32(glval) = VariableAddress[(__end)] : -# 2246| r2246_33(glval &&>) = VariableAddress[(__range)] : -# 2246| r2246_34(vector &&) = Load[(__range)] : &:r2246_33, m2246_23 -#-----| r0_4(glval>) = CopyValue : r2246_34 -#-----| r0_5(glval>) = Convert : r0_4 -# 2246| r2246_35(glval) = FunctionAddress[end] : -# 2246| r2246_36(iterator) = Call[end] : func:r2246_35, this:r0_5 -# 2246| m2246_37(unknown) = ^CallSideEffect : ~m2246_30 -# 2246| m2246_38(unknown) = Chi : total:m2246_30, partial:m2246_37 -#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m2246_21 -# 2246| m2246_39(iterator) = Store[(__end)] : &:r2246_32, r2246_36 +# 2289| Block 3 +# 2289| r2289_31(glval) = VariableAddress[s] : +# 2289| r2289_32(glval) = FunctionAddress[~String] : +# 2289| v2289_33(void) = Call[~String] : func:r2289_32, this:r2289_31 +# 2289| m2289_34(unknown) = ^CallSideEffect : ~m2289_13 +# 2289| m2289_35(unknown) = Chi : total:m2289_13, partial:m2289_34 +# 2289| v2289_36(void) = ^IndirectReadSideEffect[-1] : &:r2289_31, m2289_12 +# 2289| m2289_37(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_31 +# 2289| m2289_38(String) = Chi : total:m2289_12, partial:m2289_37 +# 2293| r2293_1(glval &&>) = VariableAddress[(__range)] : +# 2293| r2293_2(glval>) = VariableAddress[#temp2293:20] : +# 2293| m2293_3(vector) = Uninitialized[#temp2293:20] : &:r2293_2 +# 2293| r2293_4(glval) = FunctionAddress[vector] : +# 2293| r2293_5(glval) = VariableAddress[#temp2293:40] : +# 2293| m2293_6(String) = Uninitialized[#temp2293:40] : &:r2293_5 +# 2293| r2293_7(glval) = FunctionAddress[String] : +# 2293| r2293_8(glval) = StringConstant["hello"] : +# 2293| r2293_9(char *) = Convert : r2293_8 +# 2293| v2293_10(void) = Call[String] : func:r2293_7, this:r2293_5, 0:r2293_9 +# 2293| m2293_11(unknown) = ^CallSideEffect : ~m2289_35 +# 2293| m2293_12(unknown) = Chi : total:m2289_35, partial:m2293_11 +# 2293| v2293_13(void) = ^BufferReadSideEffect[0] : &:r2293_9, ~m2287_3 +# 2293| m2293_14(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_5 +# 2293| m2293_15(String) = Chi : total:m2293_6, partial:m2293_14 +# 2293| r2293_16(String) = Load[#temp2293:40] : &:r2293_5, m2293_15 +# 2293| v2293_17(void) = Call[vector] : func:r2293_4, this:r2293_2, 0:r2293_16 +# 2293| m2293_18(unknown) = ^CallSideEffect : ~m2293_12 +# 2293| m2293_19(unknown) = Chi : total:m2293_12, partial:m2293_18 +# 2293| m2293_20(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2293_2 +# 2293| m2293_21(vector) = Chi : total:m2293_3, partial:m2293_20 +# 2293| r2293_22(vector &) = CopyValue : r2293_2 +# 2293| m2293_23(vector &&) = Store[(__range)] : &:r2293_1, r2293_22 +# 2293| r2293_24(glval>) = VariableAddress[(__begin)] : +# 2293| r2293_25(glval &&>) = VariableAddress[(__range)] : +# 2293| r2293_26(vector &&) = Load[(__range)] : &:r2293_25, m2293_23 +#-----| r0_1(glval>) = CopyValue : r2293_26 +#-----| r0_2(glval>) = Convert : r0_1 +# 2293| r2293_27(glval) = FunctionAddress[begin] : +# 2293| r2293_28(iterator) = Call[begin] : func:r2293_27, this:r0_2 +#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, m2293_21 +# 2293| m2293_29(iterator) = Store[(__begin)] : &:r2293_24, r2293_28 +# 2293| r2293_30(glval>) = VariableAddress[(__end)] : +# 2293| r2293_31(glval &&>) = VariableAddress[(__range)] : +# 2293| r2293_32(vector &&) = Load[(__range)] : &:r2293_31, m2293_23 +#-----| r0_4(glval>) = CopyValue : r2293_32 +#-----| r0_5(glval>) = Convert : r0_4 +# 2293| r2293_33(glval) = FunctionAddress[end] : +# 2293| r2293_34(iterator) = Call[end] : func:r2293_33, this:r0_5 +#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m2293_21 +# 2293| m2293_35(iterator) = Store[(__end)] : &:r2293_30, r2293_34 #-----| Goto -> Block 4 -# 2246| Block 4 -# 2246| m2246_40(iterator) = Phi : from 3:m2246_31, from 5:m2246_82 -# 2246| m2246_41(unknown) = Phi : from 3:~m2246_38, from 5:~m2246_79 -# 2246| r2246_42(glval) = VariableAddress[(__begin)] : -#-----| r0_7(glval) = Convert : r2246_42 -# 2246| r2246_43(glval) = FunctionAddress[operator!=] : -# 2246| r2246_44(glval) = VariableAddress[(__end)] : -# 2246| r2246_45(iterator) = Load[(__end)] : &:r2246_44, m2246_39 -# 2246| r2246_46(bool) = Call[operator!=] : func:r2246_43, this:r0_7, 0:r2246_45 -# 2246| m2246_47(unknown) = ^CallSideEffect : ~m2246_41 -# 2246| m2246_48(unknown) = Chi : total:m2246_41, partial:m2246_47 -#-----| v0_8(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2246_40 -# 2246| v2246_49(void) = ConditionalBranch : r2246_46 +# 2293| Block 4 +# 2293| m2293_36(iterator) = Phi : from 3:m2293_29, from 5:m2293_83 +# 2293| m2293_37(unknown) = Phi : from 3:~m2293_19, from 5:~m2293_80 +# 2293| r2293_38(glval>) = VariableAddress[(__begin)] : +#-----| r0_7(glval>) = Convert : r2293_38 +# 2293| r2293_39(glval) = FunctionAddress[operator!=] : +#-----| r0_8(glval>) = VariableAddress[#temp0:0] : +#-----| m0_9(iterator) = Uninitialized[#temp0:0] : &:r0_8 +# 2293| r2293_40(glval) = FunctionAddress[iterator] : +# 2293| r2293_41(glval>) = VariableAddress[(__end)] : +#-----| r0_10(glval>) = Convert : r2293_41 +#-----| r0_11(iterator &) = CopyValue : r0_10 +# 2293| v2293_42(void) = Call[iterator] : func:r2293_40, this:r0_8, 0:r0_11 +# 2293| m2293_43(unknown) = ^CallSideEffect : ~m2293_37 +# 2293| m2293_44(unknown) = Chi : total:m2293_37, partial:m2293_43 +#-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m2293_35 +# 2293| m2293_45(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 +# 2293| m2293_46(iterator) = Chi : total:m0_9, partial:m2293_45 +#-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, m2293_46 +# 2293| r2293_47(bool) = Call[operator!=] : func:r2293_39, this:r0_7, 0:r0_13 +# 2293| m2293_48(unknown) = ^CallSideEffect : ~m2293_44 +# 2293| m2293_49(unknown) = Chi : total:m2293_44, partial:m2293_48 +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2293_36 +# 2293| v2293_50(void) = ConditionalBranch : r2293_47 #-----| False -> Block 6 #-----| True -> Block 5 -# 2246| Block 5 -# 2246| r2246_50(glval) = VariableAddress[s] : -# 2246| m2246_51(String) = Uninitialized[s] : &:r2246_50 -# 2246| r2246_52(glval) = FunctionAddress[String] : -# 2246| r2246_53(glval) = VariableAddress[(__begin)] : -#-----| r0_9(glval) = Convert : r2246_53 -# 2246| r2246_54(glval) = FunctionAddress[operator*] : -# 2246| r2246_55(String &) = Call[operator*] : func:r2246_54, this:r0_9 -# 2246| m2246_56(unknown) = ^CallSideEffect : ~m2246_48 -# 2246| m2246_57(unknown) = Chi : total:m2246_48, partial:m2246_56 -#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_9, m2246_40 -# 2246| r2246_58(glval) = CopyValue : r2246_55 -# 2246| r2246_59(glval) = Convert : r2246_58 -# 2246| r2246_60(String &) = CopyValue : r2246_59 -# 2246| v2246_61(void) = Call[String] : func:r2246_52, this:r2246_50, 0:r2246_60 -# 2246| m2246_62(unknown) = ^CallSideEffect : ~m2246_57 -# 2246| m2246_63(unknown) = Chi : total:m2246_57, partial:m2246_62 -# 2246| v2246_64(void) = ^BufferReadSideEffect[0] : &:r2246_60, ~m2246_63 -# 2246| m2246_65(String) = ^IndirectMayWriteSideEffect[-1] : &:r2246_50 -# 2246| m2246_66(String) = Chi : total:m2246_51, partial:m2246_65 -# 2247| r2247_1(glval) = VariableAddress[s2] : -# 2247| m2247_2(String) = Uninitialized[s2] : &:r2247_1 -# 2247| r2247_3(glval) = FunctionAddress[String] : -# 2247| v2247_4(void) = Call[String] : func:r2247_3, this:r2247_1 -# 2247| m2247_5(unknown) = ^CallSideEffect : ~m2246_63 -# 2247| m2247_6(unknown) = Chi : total:m2246_63, partial:m2247_5 -# 2247| m2247_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2247_1 -# 2247| m2247_8(String) = Chi : total:m2247_2, partial:m2247_7 -# 2248| r2248_1(glval) = VariableAddress[s2] : -# 2248| r2248_2(glval) = FunctionAddress[~String] : -# 2248| v2248_3(void) = Call[~String] : func:r2248_2, this:r2248_1 -# 2248| m2248_4(unknown) = ^CallSideEffect : ~m2247_6 -# 2248| m2248_5(unknown) = Chi : total:m2247_6, partial:m2248_4 -# 2248| v2248_6(void) = ^IndirectReadSideEffect[-1] : &:r2248_1, m2247_8 -# 2248| m2248_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2248_1 -# 2248| m2248_8(String) = Chi : total:m2247_8, partial:m2248_7 -# 2246| r2246_67(glval) = VariableAddress[s] : -# 2246| r2246_68(glval) = FunctionAddress[~String] : -# 2246| v2246_69(void) = Call[~String] : func:r2246_68, this:r2246_67 -# 2246| m2246_70(unknown) = ^CallSideEffect : ~m2248_5 -# 2246| m2246_71(unknown) = Chi : total:m2248_5, partial:m2246_70 -# 2246| v2246_72(void) = ^IndirectReadSideEffect[-1] : &:r2246_67, m2246_66 -# 2246| m2246_73(String) = ^IndirectMayWriteSideEffect[-1] : &:r2246_67 -# 2246| m2246_74(String) = Chi : total:m2246_66, partial:m2246_73 -# 2246| r2246_75(glval) = VariableAddress[(__begin)] : -# 2246| r2246_76(glval) = FunctionAddress[operator++] : -# 2246| r2246_77(iterator &) = Call[operator++] : func:r2246_76, this:r2246_75 -# 2246| m2246_78(unknown) = ^CallSideEffect : ~m2246_71 -# 2246| m2246_79(unknown) = Chi : total:m2246_71, partial:m2246_78 -# 2246| v2246_80(void) = ^IndirectReadSideEffect[-1] : &:r2246_75, m2246_40 -# 2246| m2246_81(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2246_75 -# 2246| m2246_82(iterator) = Chi : total:m2246_40, partial:m2246_81 -# 2246| r2246_83(glval) = CopyValue : r2246_77 +# 2293| Block 5 +# 2293| r2293_51(glval) = VariableAddress[s] : +# 2293| m2293_52(String) = Uninitialized[s] : &:r2293_51 +# 2293| r2293_53(glval) = FunctionAddress[String] : +# 2293| r2293_54(glval>) = VariableAddress[(__begin)] : +#-----| r0_15(glval>) = Convert : r2293_54 +# 2293| r2293_55(glval) = FunctionAddress[operator*] : +# 2293| r2293_56(String &) = Call[operator*] : func:r2293_55, this:r0_15 +# 2293| m2293_57(unknown) = ^CallSideEffect : ~m2293_49 +# 2293| m2293_58(unknown) = Chi : total:m2293_49, partial:m2293_57 +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, m2293_36 +# 2293| r2293_59(glval) = CopyValue : r2293_56 +# 2293| r2293_60(glval) = Convert : r2293_59 +# 2293| r2293_61(String &) = CopyValue : r2293_60 +# 2293| v2293_62(void) = Call[String] : func:r2293_53, this:r2293_51, 0:r2293_61 +# 2293| m2293_63(unknown) = ^CallSideEffect : ~m2293_58 +# 2293| m2293_64(unknown) = Chi : total:m2293_58, partial:m2293_63 +# 2293| v2293_65(void) = ^BufferReadSideEffect[0] : &:r2293_61, ~m2293_64 +# 2293| m2293_66(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_51 +# 2293| m2293_67(String) = Chi : total:m2293_52, partial:m2293_66 +# 2294| r2294_1(glval) = VariableAddress[s2] : +# 2294| m2294_2(String) = Uninitialized[s2] : &:r2294_1 +# 2294| r2294_3(glval) = FunctionAddress[String] : +# 2294| v2294_4(void) = Call[String] : func:r2294_3, this:r2294_1 +# 2294| m2294_5(unknown) = ^CallSideEffect : ~m2293_64 +# 2294| m2294_6(unknown) = Chi : total:m2293_64, partial:m2294_5 +# 2294| m2294_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2294_1 +# 2294| m2294_8(String) = Chi : total:m2294_2, partial:m2294_7 +# 2295| r2295_1(glval) = VariableAddress[s2] : +# 2295| r2295_2(glval) = FunctionAddress[~String] : +# 2295| v2295_3(void) = Call[~String] : func:r2295_2, this:r2295_1 +# 2295| m2295_4(unknown) = ^CallSideEffect : ~m2294_6 +# 2295| m2295_5(unknown) = Chi : total:m2294_6, partial:m2295_4 +# 2295| v2295_6(void) = ^IndirectReadSideEffect[-1] : &:r2295_1, m2294_8 +# 2295| m2295_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2295_1 +# 2295| m2295_8(String) = Chi : total:m2294_8, partial:m2295_7 +# 2293| r2293_68(glval) = VariableAddress[s] : +# 2293| r2293_69(glval) = FunctionAddress[~String] : +# 2293| v2293_70(void) = Call[~String] : func:r2293_69, this:r2293_68 +# 2293| m2293_71(unknown) = ^CallSideEffect : ~m2295_5 +# 2293| m2293_72(unknown) = Chi : total:m2295_5, partial:m2293_71 +# 2293| v2293_73(void) = ^IndirectReadSideEffect[-1] : &:r2293_68, m2293_67 +# 2293| m2293_74(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_68 +# 2293| m2293_75(String) = Chi : total:m2293_67, partial:m2293_74 +# 2293| r2293_76(glval>) = VariableAddress[(__begin)] : +# 2293| r2293_77(glval) = FunctionAddress[operator++] : +# 2293| r2293_78(iterator &) = Call[operator++] : func:r2293_77, this:r2293_76 +# 2293| m2293_79(unknown) = ^CallSideEffect : ~m2293_72 +# 2293| m2293_80(unknown) = Chi : total:m2293_72, partial:m2293_79 +# 2293| v2293_81(void) = ^IndirectReadSideEffect[-1] : &:r2293_76, m2293_36 +# 2293| m2293_82(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2293_76 +# 2293| m2293_83(iterator) = Chi : total:m2293_36, partial:m2293_82 +# 2293| r2293_84(glval>) = CopyValue : r2293_78 #-----| Goto (back edge) -> Block 4 -# 2250| Block 6 -# 2250| r2250_1(glval) = VariableAddress[s] : -# 2250| m2250_2(String) = Uninitialized[s] : &:r2250_1 -# 2250| r2250_3(glval) = FunctionAddress[String] : -# 2250| r2250_4(glval) = StringConstant["hello"] : -# 2250| r2250_5(char *) = Convert : r2250_4 -# 2250| v2250_6(void) = Call[String] : func:r2250_3, this:r2250_1, 0:r2250_5 -# 2250| m2250_7(unknown) = ^CallSideEffect : ~m2246_48 -# 2250| m2250_8(unknown) = Chi : total:m2246_48, partial:m2250_7 -# 2250| v2250_9(void) = ^BufferReadSideEffect[0] : &:r2250_5, ~m2240_3 -# 2250| m2250_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_1 -# 2250| m2250_11(String) = Chi : total:m2250_2, partial:m2250_10 -# 2250| r2250_12(glval) = VariableAddress[s2] : -# 2250| m2250_13(String) = Uninitialized[s2] : &:r2250_12 -# 2250| r2250_14(glval) = FunctionAddress[String] : -# 2250| r2250_15(glval) = StringConstant["world"] : -# 2250| r2250_16(char *) = Convert : r2250_15 -# 2250| v2250_17(void) = Call[String] : func:r2250_14, this:r2250_12, 0:r2250_16 -# 2250| m2250_18(unknown) = ^CallSideEffect : ~m2250_8 -# 2250| m2250_19(unknown) = Chi : total:m2250_8, partial:m2250_18 -# 2250| v2250_20(void) = ^BufferReadSideEffect[0] : &:r2250_16, ~m2240_3 -# 2250| m2250_21(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_12 -# 2250| m2250_22(String) = Chi : total:m2250_13, partial:m2250_21 +# 2297| Block 6 +# 2297| r2297_1(glval) = VariableAddress[s] : +# 2297| m2297_2(String) = Uninitialized[s] : &:r2297_1 +# 2297| r2297_3(glval) = FunctionAddress[String] : +# 2297| r2297_4(glval) = StringConstant["hello"] : +# 2297| r2297_5(char *) = Convert : r2297_4 +# 2297| v2297_6(void) = Call[String] : func:r2297_3, this:r2297_1, 0:r2297_5 +# 2297| m2297_7(unknown) = ^CallSideEffect : ~m2293_49 +# 2297| m2297_8(unknown) = Chi : total:m2293_49, partial:m2297_7 +# 2297| v2297_9(void) = ^BufferReadSideEffect[0] : &:r2297_5, ~m2287_3 +# 2297| m2297_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_1 +# 2297| m2297_11(String) = Chi : total:m2297_2, partial:m2297_10 +# 2297| r2297_12(glval) = VariableAddress[s2] : +# 2297| m2297_13(String) = Uninitialized[s2] : &:r2297_12 +# 2297| r2297_14(glval) = FunctionAddress[String] : +# 2297| r2297_15(glval) = StringConstant["world"] : +# 2297| r2297_16(char *) = Convert : r2297_15 +# 2297| v2297_17(void) = Call[String] : func:r2297_14, this:r2297_12, 0:r2297_16 +# 2297| m2297_18(unknown) = ^CallSideEffect : ~m2297_8 +# 2297| m2297_19(unknown) = Chi : total:m2297_8, partial:m2297_18 +# 2297| v2297_20(void) = ^BufferReadSideEffect[0] : &:r2297_16, ~m2287_3 +# 2297| m2297_21(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_12 +# 2297| m2297_22(String) = Chi : total:m2297_13, partial:m2297_21 #-----| Goto -> Block 7 -# 2250| Block 7 -# 2250| m2250_23(String) = Phi : from 6:m2250_11, from 8:m2250_39 -# 2250| m2250_24(unknown) = Phi : from 6:~m2250_19, from 8:~m2250_36 -# 2250| m2250_25(char) = Phi : from 6:m2242_14, from 8:m2250_41 -# 2250| r2250_26(glval) = VariableAddress[c] : -# 2250| r2250_27(char) = Load[c] : &:r2250_26, m2250_25 -# 2250| r2250_28(int) = Convert : r2250_27 -# 2250| r2250_29(int) = Constant[0] : -# 2250| r2250_30(bool) = CompareNE : r2250_28, r2250_29 -# 2250| v2250_31(void) = ConditionalBranch : r2250_30 +# 2297| Block 7 +# 2297| m2297_23(String) = Phi : from 6:m2297_11, from 8:m2297_39 +# 2297| m2297_24(unknown) = Phi : from 6:~m2297_19, from 8:~m2297_36 +# 2297| m2297_25(char) = Phi : from 6:m2289_14, from 8:m2297_41 +# 2297| r2297_26(glval) = VariableAddress[c] : +# 2297| r2297_27(char) = Load[c] : &:r2297_26, m2297_25 +# 2297| r2297_28(int) = Convert : r2297_27 +# 2297| r2297_29(int) = Constant[0] : +# 2297| r2297_30(bool) = CompareNE : r2297_28, r2297_29 +# 2297| v2297_31(void) = ConditionalBranch : r2297_30 #-----| False -> Block 9 #-----| True -> Block 8 -# 2251| Block 8 -# 2251| r2251_1(char) = Constant[0] : -# 2251| r2251_2(glval) = VariableAddress[c] : -# 2251| m2251_3(char) = Store[c] : &:r2251_2, r2251_1 -# 2250| r2250_32(glval) = VariableAddress[s] : -# 2250| r2250_33(glval) = FunctionAddress[pop_back] : -# 2250| r2250_34(char) = Call[pop_back] : func:r2250_33, this:r2250_32 -# 2250| m2250_35(unknown) = ^CallSideEffect : ~m2250_24 -# 2250| m2250_36(unknown) = Chi : total:m2250_24, partial:m2250_35 -# 2250| v2250_37(void) = ^IndirectReadSideEffect[-1] : &:r2250_32, m2250_23 -# 2250| m2250_38(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_32 -# 2250| m2250_39(String) = Chi : total:m2250_23, partial:m2250_38 -# 2250| r2250_40(glval) = VariableAddress[c] : -# 2250| m2250_41(char) = Store[c] : &:r2250_40, r2250_34 +# 2298| Block 8 +# 2298| r2298_1(char) = Constant[0] : +# 2298| r2298_2(glval) = VariableAddress[c] : +# 2298| m2298_3(char) = Store[c] : &:r2298_2, r2298_1 +# 2297| r2297_32(glval) = VariableAddress[s] : +# 2297| r2297_33(glval) = FunctionAddress[pop_back] : +# 2297| r2297_34(char) = Call[pop_back] : func:r2297_33, this:r2297_32 +# 2297| m2297_35(unknown) = ^CallSideEffect : ~m2297_24 +# 2297| m2297_36(unknown) = Chi : total:m2297_24, partial:m2297_35 +# 2297| v2297_37(void) = ^IndirectReadSideEffect[-1] : &:r2297_32, m2297_23 +# 2297| m2297_38(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_32 +# 2297| m2297_39(String) = Chi : total:m2297_23, partial:m2297_38 +# 2297| r2297_40(glval) = VariableAddress[c] : +# 2297| m2297_41(char) = Store[c] : &:r2297_40, r2297_34 #-----| Goto (back edge) -> Block 7 -# 2250| Block 9 -# 2250| r2250_42(glval) = VariableAddress[s2] : -# 2250| r2250_43(glval) = FunctionAddress[~String] : -# 2250| v2250_44(void) = Call[~String] : func:r2250_43, this:r2250_42 -# 2250| m2250_45(unknown) = ^CallSideEffect : ~m2250_24 -# 2250| m2250_46(unknown) = Chi : total:m2250_24, partial:m2250_45 -# 2250| v2250_47(void) = ^IndirectReadSideEffect[-1] : &:r2250_42, m2250_22 -# 2250| m2250_48(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_42 -# 2250| m2250_49(String) = Chi : total:m2250_22, partial:m2250_48 -# 2250| r2250_50(glval) = VariableAddress[s] : -# 2250| r2250_51(glval) = FunctionAddress[~String] : -# 2250| v2250_52(void) = Call[~String] : func:r2250_51, this:r2250_50 -# 2250| m2250_53(unknown) = ^CallSideEffect : ~m2250_46 -# 2250| m2250_54(unknown) = Chi : total:m2250_46, partial:m2250_53 -# 2250| v2250_55(void) = ^IndirectReadSideEffect[-1] : &:r2250_50, m2250_23 -# 2250| m2250_56(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_50 -# 2250| m2250_57(String) = Chi : total:m2250_23, partial:m2250_56 -# 2253| v2253_1(void) = NoOp : -# 2240| v2240_5(void) = ReturnVoid : -# 2240| v2240_6(void) = AliasedUse : ~m2250_54 -# 2240| v2240_7(void) = ExitFunction : +# 2297| Block 9 +# 2297| r2297_42(glval) = VariableAddress[s2] : +# 2297| r2297_43(glval) = FunctionAddress[~String] : +# 2297| v2297_44(void) = Call[~String] : func:r2297_43, this:r2297_42 +# 2297| m2297_45(unknown) = ^CallSideEffect : ~m2297_24 +# 2297| m2297_46(unknown) = Chi : total:m2297_24, partial:m2297_45 +# 2297| v2297_47(void) = ^IndirectReadSideEffect[-1] : &:r2297_42, m2297_22 +# 2297| m2297_48(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_42 +# 2297| m2297_49(String) = Chi : total:m2297_22, partial:m2297_48 +# 2297| r2297_50(glval) = VariableAddress[s] : +# 2297| r2297_51(glval) = FunctionAddress[~String] : +# 2297| v2297_52(void) = Call[~String] : func:r2297_51, this:r2297_50 +# 2297| m2297_53(unknown) = ^CallSideEffect : ~m2297_46 +# 2297| m2297_54(unknown) = Chi : total:m2297_46, partial:m2297_53 +# 2297| v2297_55(void) = ^IndirectReadSideEffect[-1] : &:r2297_50, m2297_23 +# 2297| m2297_56(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_50 +# 2297| m2297_57(String) = Chi : total:m2297_23, partial:m2297_56 +# 2300| v2300_1(void) = NoOp : +# 2287| v2287_5(void) = ReturnVoid : +# 2287| v2287_6(void) = AliasedUse : ~m2297_54 +# 2287| v2287_7(void) = ExitFunction : -# 2255| void IfDestructors2(bool) -# 2255| Block 0 -# 2255| v2255_1(void) = EnterFunction : -# 2255| m2255_2(unknown) = AliasedDefinition : -# 2255| m2255_3(unknown) = InitializeNonLocal : -# 2255| m2255_4(unknown) = Chi : total:m2255_2, partial:m2255_3 -# 2255| r2255_5(glval) = VariableAddress[b] : -# 2255| m2255_6(bool) = InitializeParameter[b] : &:r2255_5 -# 2256| r2256_1(glval) = VariableAddress[s] : -# 2256| m2256_2(String) = Uninitialized[s] : &:r2256_1 -# 2256| r2256_3(glval) = FunctionAddress[String] : -# 2256| r2256_4(glval) = StringConstant["hello"] : -# 2256| r2256_5(char *) = Convert : r2256_4 -# 2256| v2256_6(void) = Call[String] : func:r2256_3, this:r2256_1, 0:r2256_5 -# 2256| m2256_7(unknown) = ^CallSideEffect : ~m2255_4 -# 2256| m2256_8(unknown) = Chi : total:m2255_4, partial:m2256_7 -# 2256| v2256_9(void) = ^BufferReadSideEffect[0] : &:r2256_5, ~m2255_3 -# 2256| m2256_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2256_1 -# 2256| m2256_11(String) = Chi : total:m2256_2, partial:m2256_10 -# 2256| r2256_12(glval) = VariableAddress[b] : -# 2256| r2256_13(bool) = Load[b] : &:r2256_12, m2255_6 -# 2256| v2256_14(void) = ConditionalBranch : r2256_13 +# 2302| void IfDestructors2(bool) +# 2302| Block 0 +# 2302| v2302_1(void) = EnterFunction : +# 2302| m2302_2(unknown) = AliasedDefinition : +# 2302| m2302_3(unknown) = InitializeNonLocal : +# 2302| m2302_4(unknown) = Chi : total:m2302_2, partial:m2302_3 +# 2302| r2302_5(glval) = VariableAddress[b] : +# 2302| m2302_6(bool) = InitializeParameter[b] : &:r2302_5 +# 2303| r2303_1(glval) = VariableAddress[s] : +# 2303| m2303_2(String) = Uninitialized[s] : &:r2303_1 +# 2303| r2303_3(glval) = FunctionAddress[String] : +# 2303| r2303_4(glval) = StringConstant["hello"] : +# 2303| r2303_5(char *) = Convert : r2303_4 +# 2303| v2303_6(void) = Call[String] : func:r2303_3, this:r2303_1, 0:r2303_5 +# 2303| m2303_7(unknown) = ^CallSideEffect : ~m2302_4 +# 2303| m2303_8(unknown) = Chi : total:m2302_4, partial:m2303_7 +# 2303| v2303_9(void) = ^BufferReadSideEffect[0] : &:r2303_5, ~m2302_3 +# 2303| m2303_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2303_1 +# 2303| m2303_11(String) = Chi : total:m2303_2, partial:m2303_10 +# 2303| r2303_12(glval) = VariableAddress[b] : +# 2303| r2303_13(bool) = Load[b] : &:r2303_12, m2302_6 +# 2303| v2303_14(void) = ConditionalBranch : r2303_13 #-----| False -> Block 2 #-----| True -> Block 1 -# 2257| Block 1 -# 2257| r2257_1(glval) = VariableAddress[x] : -# 2257| r2257_2(int) = Constant[0] : -# 2257| m2257_3(int) = Store[x] : &:r2257_1, r2257_2 +# 2304| Block 1 +# 2304| r2304_1(glval) = VariableAddress[x] : +# 2304| r2304_2(int) = Constant[0] : +# 2304| m2304_3(int) = Store[x] : &:r2304_1, r2304_2 #-----| Goto -> Block 3 -# 2259| Block 2 -# 2259| r2259_1(glval) = VariableAddress[y] : -# 2259| r2259_2(int) = Constant[0] : -# 2259| m2259_3(int) = Store[y] : &:r2259_1, r2259_2 +# 2306| Block 2 +# 2306| r2306_1(glval) = VariableAddress[y] : +# 2306| r2306_2(int) = Constant[0] : +# 2306| m2306_3(int) = Store[y] : &:r2306_1, r2306_2 #-----| Goto -> Block 3 -# 2260| Block 3 -# 2260| r2260_1(glval) = VariableAddress[s] : -# 2260| r2260_2(glval) = FunctionAddress[~String] : -# 2260| v2260_3(void) = Call[~String] : func:r2260_2, this:r2260_1 -# 2260| m2260_4(unknown) = ^CallSideEffect : ~m2256_8 -# 2260| m2260_5(unknown) = Chi : total:m2256_8, partial:m2260_4 -# 2260| v2260_6(void) = ^IndirectReadSideEffect[-1] : &:r2260_1, m2256_11 -# 2260| m2260_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2260_1 -# 2260| m2260_8(String) = Chi : total:m2256_11, partial:m2260_7 -# 2261| v2261_1(void) = NoOp : -# 2255| v2255_7(void) = ReturnVoid : -# 2255| v2255_8(void) = AliasedUse : ~m2260_5 -# 2255| v2255_9(void) = ExitFunction : +# 2307| Block 3 +# 2307| r2307_1(glval) = VariableAddress[s] : +# 2307| r2307_2(glval) = FunctionAddress[~String] : +# 2307| v2307_3(void) = Call[~String] : func:r2307_2, this:r2307_1 +# 2307| m2307_4(unknown) = ^CallSideEffect : ~m2303_8 +# 2307| m2307_5(unknown) = Chi : total:m2303_8, partial:m2307_4 +# 2307| v2307_6(void) = ^IndirectReadSideEffect[-1] : &:r2307_1, m2303_11 +# 2307| m2307_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_1 +# 2307| m2307_8(String) = Chi : total:m2303_11, partial:m2307_7 +# 2308| v2308_1(void) = NoOp : +# 2302| v2302_7(void) = ReturnVoid : +# 2302| v2302_8(void) = AliasedUse : ~m2307_5 +# 2302| v2302_9(void) = ExitFunction : -# 2270| void IfDestructors3(bool) -# 2270| Block 0 -# 2270| v2270_1(void) = EnterFunction : -# 2270| m2270_2(unknown) = AliasedDefinition : -# 2270| m2270_3(unknown) = InitializeNonLocal : -# 2270| m2270_4(unknown) = Chi : total:m2270_2, partial:m2270_3 -# 2270| r2270_5(glval) = VariableAddress[b] : -# 2270| m2270_6(bool) = InitializeParameter[b] : &:r2270_5 -# 2271| r2271_1(glval) = VariableAddress[B] : -# 2271| m2271_2(Bool) = Uninitialized[B] : &:r2271_1 -# 2271| r2271_3(glval) = FunctionAddress[Bool] : -# 2271| r2271_4(glval) = VariableAddress[b] : -# 2271| r2271_5(bool) = Load[b] : &:r2271_4, m2270_6 -# 2271| v2271_6(void) = Call[Bool] : func:r2271_3, this:r2271_1, 0:r2271_5 -# 2271| m2271_7(unknown) = ^CallSideEffect : ~m2270_4 -# 2271| m2271_8(unknown) = Chi : total:m2270_4, partial:m2271_7 -# 2271| m2271_9(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2271_1 -# 2271| m2271_10(Bool) = Chi : total:m2271_2, partial:m2271_9 -# 2271| r2271_11(glval) = VariableAddress[B] : -# 2271| r2271_12(glval) = FunctionAddress[operator bool] : -# 2271| r2271_13(bool) = Call[operator bool] : func:r2271_12, this:r2271_11 -# 2271| m2271_14(unknown) = ^CallSideEffect : ~m2271_8 -# 2271| m2271_15(unknown) = Chi : total:m2271_8, partial:m2271_14 -# 2271| v2271_16(void) = ^IndirectReadSideEffect[-1] : &:r2271_11, m2271_10 -# 2271| m2271_17(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2271_11 -# 2271| m2271_18(Bool) = Chi : total:m2271_10, partial:m2271_17 -# 2271| r2271_19(bool) = CopyValue : r2271_13 -# 2271| v2271_20(void) = ConditionalBranch : r2271_19 +# 2317| void IfDestructors3(bool) +# 2317| Block 0 +# 2317| v2317_1(void) = EnterFunction : +# 2317| m2317_2(unknown) = AliasedDefinition : +# 2317| m2317_3(unknown) = InitializeNonLocal : +# 2317| m2317_4(unknown) = Chi : total:m2317_2, partial:m2317_3 +# 2317| r2317_5(glval) = VariableAddress[b] : +# 2317| m2317_6(bool) = InitializeParameter[b] : &:r2317_5 +# 2318| r2318_1(glval) = VariableAddress[B] : +# 2318| m2318_2(Bool) = Uninitialized[B] : &:r2318_1 +# 2318| r2318_3(glval) = FunctionAddress[Bool] : +# 2318| r2318_4(glval) = VariableAddress[b] : +# 2318| r2318_5(bool) = Load[b] : &:r2318_4, m2317_6 +# 2318| v2318_6(void) = Call[Bool] : func:r2318_3, this:r2318_1, 0:r2318_5 +# 2318| m2318_7(unknown) = ^CallSideEffect : ~m2317_4 +# 2318| m2318_8(unknown) = Chi : total:m2317_4, partial:m2318_7 +# 2318| m2318_9(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2318_1 +# 2318| m2318_10(Bool) = Chi : total:m2318_2, partial:m2318_9 +# 2318| r2318_11(glval) = VariableAddress[B] : +# 2318| r2318_12(glval) = FunctionAddress[operator bool] : +# 2318| r2318_13(bool) = Call[operator bool] : func:r2318_12, this:r2318_11 +# 2318| m2318_14(unknown) = ^CallSideEffect : ~m2318_8 +# 2318| m2318_15(unknown) = Chi : total:m2318_8, partial:m2318_14 +# 2318| v2318_16(void) = ^IndirectReadSideEffect[-1] : &:r2318_11, m2318_10 +# 2318| m2318_17(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2318_11 +# 2318| m2318_18(Bool) = Chi : total:m2318_10, partial:m2318_17 +# 2318| r2318_19(bool) = CopyValue : r2318_13 +# 2318| v2318_20(void) = ConditionalBranch : r2318_19 #-----| False -> Block 2 #-----| True -> Block 1 -# 2272| Block 1 -# 2272| r2272_1(glval) = VariableAddress[s1] : -# 2272| m2272_2(String) = Uninitialized[s1] : &:r2272_1 -# 2272| r2272_3(glval) = FunctionAddress[String] : -# 2272| v2272_4(void) = Call[String] : func:r2272_3, this:r2272_1 -# 2272| m2272_5(unknown) = ^CallSideEffect : ~m2271_15 -# 2272| m2272_6(unknown) = Chi : total:m2271_15, partial:m2272_5 -# 2272| m2272_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2272_1 -# 2272| m2272_8(String) = Chi : total:m2272_2, partial:m2272_7 -# 2273| r2273_1(glval) = VariableAddress[s1] : -# 2273| r2273_2(glval) = FunctionAddress[~String] : -# 2273| v2273_3(void) = Call[~String] : func:r2273_2, this:r2273_1 -# 2273| m2273_4(unknown) = ^CallSideEffect : ~m2272_6 -# 2273| m2273_5(unknown) = Chi : total:m2272_6, partial:m2273_4 -# 2273| v2273_6(void) = ^IndirectReadSideEffect[-1] : &:r2273_1, m2272_8 -# 2273| m2273_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2273_1 -# 2273| m2273_8(String) = Chi : total:m2272_8, partial:m2273_7 +# 2319| Block 1 +# 2319| r2319_1(glval) = VariableAddress[s1] : +# 2319| m2319_2(String) = Uninitialized[s1] : &:r2319_1 +# 2319| r2319_3(glval) = FunctionAddress[String] : +# 2319| v2319_4(void) = Call[String] : func:r2319_3, this:r2319_1 +# 2319| m2319_5(unknown) = ^CallSideEffect : ~m2318_15 +# 2319| m2319_6(unknown) = Chi : total:m2318_15, partial:m2319_5 +# 2319| m2319_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2319_1 +# 2319| m2319_8(String) = Chi : total:m2319_2, partial:m2319_7 +# 2320| r2320_1(glval) = VariableAddress[s1] : +# 2320| r2320_2(glval) = FunctionAddress[~String] : +# 2320| v2320_3(void) = Call[~String] : func:r2320_2, this:r2320_1 +# 2320| m2320_4(unknown) = ^CallSideEffect : ~m2319_6 +# 2320| m2320_5(unknown) = Chi : total:m2319_6, partial:m2320_4 +# 2320| v2320_6(void) = ^IndirectReadSideEffect[-1] : &:r2320_1, m2319_8 +# 2320| m2320_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2320_1 +# 2320| m2320_8(String) = Chi : total:m2319_8, partial:m2320_7 #-----| Goto -> Block 3 -# 2274| Block 2 -# 2274| r2274_1(glval) = VariableAddress[s2] : -# 2274| m2274_2(String) = Uninitialized[s2] : &:r2274_1 -# 2274| r2274_3(glval) = FunctionAddress[String] : -# 2274| v2274_4(void) = Call[String] : func:r2274_3, this:r2274_1 -# 2274| m2274_5(unknown) = ^CallSideEffect : ~m2271_15 -# 2274| m2274_6(unknown) = Chi : total:m2271_15, partial:m2274_5 -# 2274| m2274_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2274_1 -# 2274| m2274_8(String) = Chi : total:m2274_2, partial:m2274_7 -# 2275| r2275_1(glval) = VariableAddress[s2] : -# 2275| r2275_2(glval) = FunctionAddress[~String] : -# 2275| v2275_3(void) = Call[~String] : func:r2275_2, this:r2275_1 -# 2275| m2275_4(unknown) = ^CallSideEffect : ~m2274_6 -# 2275| m2275_5(unknown) = Chi : total:m2274_6, partial:m2275_4 -# 2275| v2275_6(void) = ^IndirectReadSideEffect[-1] : &:r2275_1, m2274_8 -# 2275| m2275_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2275_1 -# 2275| m2275_8(String) = Chi : total:m2274_8, partial:m2275_7 +# 2321| Block 2 +# 2321| r2321_1(glval) = VariableAddress[s2] : +# 2321| m2321_2(String) = Uninitialized[s2] : &:r2321_1 +# 2321| r2321_3(glval) = FunctionAddress[String] : +# 2321| v2321_4(void) = Call[String] : func:r2321_3, this:r2321_1 +# 2321| m2321_5(unknown) = ^CallSideEffect : ~m2318_15 +# 2321| m2321_6(unknown) = Chi : total:m2318_15, partial:m2321_5 +# 2321| m2321_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2321_1 +# 2321| m2321_8(String) = Chi : total:m2321_2, partial:m2321_7 +# 2322| r2322_1(glval) = VariableAddress[s2] : +# 2322| r2322_2(glval) = FunctionAddress[~String] : +# 2322| v2322_3(void) = Call[~String] : func:r2322_2, this:r2322_1 +# 2322| m2322_4(unknown) = ^CallSideEffect : ~m2321_6 +# 2322| m2322_5(unknown) = Chi : total:m2321_6, partial:m2322_4 +# 2322| v2322_6(void) = ^IndirectReadSideEffect[-1] : &:r2322_1, m2321_8 +# 2322| m2322_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2322_1 +# 2322| m2322_8(String) = Chi : total:m2321_8, partial:m2322_7 #-----| Goto -> Block 3 -# 2275| Block 3 -# 2275| m2275_9(unknown) = Phi : from 1:~m2273_5, from 2:~m2275_5 -# 2275| r2275_10(glval) = VariableAddress[B] : -# 2275| r2275_11(glval) = FunctionAddress[~Bool] : -# 2275| v2275_12(void) = Call[~Bool] : func:r2275_11, this:r2275_10 -# 2275| m2275_13(unknown) = ^CallSideEffect : ~m2275_9 -# 2275| m2275_14(unknown) = Chi : total:m2275_9, partial:m2275_13 -# 2275| v2275_15(void) = ^IndirectReadSideEffect[-1] : &:r2275_10, m2271_18 -# 2275| m2275_16(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2275_10 -# 2275| m2275_17(Bool) = Chi : total:m2271_18, partial:m2275_16 -# 2276| v2276_1(void) = NoOp : -# 2270| v2270_7(void) = ReturnVoid : -# 2270| v2270_8(void) = AliasedUse : ~m2275_14 -# 2270| v2270_9(void) = ExitFunction : +# 2322| Block 3 +# 2322| m2322_9(unknown) = Phi : from 1:~m2320_5, from 2:~m2322_5 +# 2322| r2322_10(glval) = VariableAddress[B] : +# 2322| r2322_11(glval) = FunctionAddress[~Bool] : +# 2322| v2322_12(void) = Call[~Bool] : func:r2322_11, this:r2322_10 +# 2322| m2322_13(unknown) = ^CallSideEffect : ~m2322_9 +# 2322| m2322_14(unknown) = Chi : total:m2322_9, partial:m2322_13 +# 2322| v2322_15(void) = ^IndirectReadSideEffect[-1] : &:r2322_10, m2318_18 +# 2322| m2322_16(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2322_10 +# 2322| m2322_17(Bool) = Chi : total:m2318_18, partial:m2322_16 +# 2323| v2323_1(void) = NoOp : +# 2317| v2317_7(void) = ReturnVoid : +# 2317| v2317_8(void) = AliasedUse : ~m2322_14 +# 2317| v2317_9(void) = ExitFunction : -# 2278| void WhileLoopDestructors(bool) -# 2278| Block 0 -# 2278| v2278_1(void) = EnterFunction : -# 2278| m2278_2(unknown) = AliasedDefinition : -# 2278| m2278_3(unknown) = InitializeNonLocal : -# 2278| m2278_4(unknown) = Chi : total:m2278_2, partial:m2278_3 -# 2278| r2278_5(glval) = VariableAddress[b] : -# 2278| m2278_6(bool) = InitializeParameter[b] : &:r2278_5 -# 2280| r2280_1(glval) = VariableAddress[s] : -# 2280| m2280_2(String) = Uninitialized[s] : &:r2280_1 -# 2280| r2280_3(glval) = FunctionAddress[String] : -# 2280| v2280_4(void) = Call[String] : func:r2280_3, this:r2280_1 -# 2280| m2280_5(unknown) = ^CallSideEffect : ~m2278_4 -# 2280| m2280_6(unknown) = Chi : total:m2278_4, partial:m2280_5 -# 2280| m2280_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_1 -# 2280| m2280_8(String) = Chi : total:m2280_2, partial:m2280_7 +# 2325| void WhileLoopDestructors(bool) +# 2325| Block 0 +# 2325| v2325_1(void) = EnterFunction : +# 2325| m2325_2(unknown) = AliasedDefinition : +# 2325| m2325_3(unknown) = InitializeNonLocal : +# 2325| m2325_4(unknown) = Chi : total:m2325_2, partial:m2325_3 +# 2325| r2325_5(glval) = VariableAddress[b] : +# 2325| m2325_6(bool) = InitializeParameter[b] : &:r2325_5 +# 2327| r2327_1(glval) = VariableAddress[s] : +# 2327| m2327_2(String) = Uninitialized[s] : &:r2327_1 +# 2327| r2327_3(glval) = FunctionAddress[String] : +# 2327| v2327_4(void) = Call[String] : func:r2327_3, this:r2327_1 +# 2327| m2327_5(unknown) = ^CallSideEffect : ~m2325_4 +# 2327| m2327_6(unknown) = Chi : total:m2325_4, partial:m2327_5 +# 2327| m2327_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2327_1 +# 2327| m2327_8(String) = Chi : total:m2327_2, partial:m2327_7 #-----| Goto -> Block 1 -# 2281| Block 1 -# 2281| m2281_1(bool) = Phi : from 0:m2278_6, from 2:m2282_3 -# 2281| r2281_2(glval) = VariableAddress[b] : -# 2281| r2281_3(bool) = Load[b] : &:r2281_2, m2281_1 -# 2281| v2281_4(void) = ConditionalBranch : r2281_3 +# 2328| Block 1 +# 2328| m2328_1(bool) = Phi : from 0:m2325_6, from 2:m2329_3 +# 2328| r2328_2(glval) = VariableAddress[b] : +# 2328| r2328_3(bool) = Load[b] : &:r2328_2, m2328_1 +# 2328| v2328_4(void) = ConditionalBranch : r2328_3 #-----| False -> Block 3 #-----| True -> Block 2 -# 2282| Block 2 -# 2282| r2282_1(bool) = Constant[0] : -# 2282| r2282_2(glval) = VariableAddress[b] : -# 2282| m2282_3(bool) = Store[b] : &:r2282_2, r2282_1 +# 2329| Block 2 +# 2329| r2329_1(bool) = Constant[0] : +# 2329| r2329_2(glval) = VariableAddress[b] : +# 2329| m2329_3(bool) = Store[b] : &:r2329_2, r2329_1 #-----| Goto (back edge) -> Block 1 -# 2284| Block 3 -# 2284| r2284_1(glval) = VariableAddress[s] : -# 2284| r2284_2(glval) = FunctionAddress[~String] : -# 2284| v2284_3(void) = Call[~String] : func:r2284_2, this:r2284_1 -# 2284| m2284_4(unknown) = ^CallSideEffect : ~m2280_6 -# 2284| m2284_5(unknown) = Chi : total:m2280_6, partial:m2284_4 -# 2284| v2284_6(void) = ^IndirectReadSideEffect[-1] : &:r2284_1, m2280_8 -# 2284| m2284_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2284_1 -# 2284| m2284_8(String) = Chi : total:m2280_8, partial:m2284_7 +# 2331| Block 3 +# 2331| r2331_1(glval) = VariableAddress[s] : +# 2331| r2331_2(glval) = FunctionAddress[~String] : +# 2331| v2331_3(void) = Call[~String] : func:r2331_2, this:r2331_1 +# 2331| m2331_4(unknown) = ^CallSideEffect : ~m2327_6 +# 2331| m2331_5(unknown) = Chi : total:m2327_6, partial:m2331_4 +# 2331| v2331_6(void) = ^IndirectReadSideEffect[-1] : &:r2331_1, m2327_8 +# 2331| m2331_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2331_1 +# 2331| m2331_8(String) = Chi : total:m2327_8, partial:m2331_7 #-----| Goto -> Block 4 -# 2287| Block 4 -# 2287| m2287_1(unknown) = Phi : from 3:~m2284_5, from 5:~m2289_5 -# 2287| m2287_2(bool) = Phi : from 3:m2281_1, from 5:m2288_3 -# 2287| r2287_3(glval) = VariableAddress[B] : -# 2287| m2287_4(Bool) = Uninitialized[B] : &:r2287_3 -# 2287| r2287_5(glval) = FunctionAddress[Bool] : -# 2287| r2287_6(glval) = VariableAddress[b] : -# 2287| r2287_7(bool) = Load[b] : &:r2287_6, m2287_2 -# 2287| v2287_8(void) = Call[Bool] : func:r2287_5, this:r2287_3, 0:r2287_7 -# 2287| m2287_9(unknown) = ^CallSideEffect : ~m2287_1 -# 2287| m2287_10(unknown) = Chi : total:m2287_1, partial:m2287_9 -# 2287| m2287_11(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2287_3 -# 2287| m2287_12(Bool) = Chi : total:m2287_4, partial:m2287_11 -# 2287| r2287_13(glval) = VariableAddress[B] : -# 2287| r2287_14(glval) = FunctionAddress[operator bool] : -# 2287| r2287_15(bool) = Call[operator bool] : func:r2287_14, this:r2287_13 -# 2287| m2287_16(unknown) = ^CallSideEffect : ~m2287_10 -# 2287| m2287_17(unknown) = Chi : total:m2287_10, partial:m2287_16 -# 2287| v2287_18(void) = ^IndirectReadSideEffect[-1] : &:r2287_13, m2287_12 -# 2287| m2287_19(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2287_13 -# 2287| m2287_20(Bool) = Chi : total:m2287_12, partial:m2287_19 -# 2287| r2287_21(bool) = CopyValue : r2287_15 -# 2287| v2287_22(void) = ConditionalBranch : r2287_21 +# 2334| Block 4 +# 2334| m2334_1(unknown) = Phi : from 3:~m2331_5, from 5:~m2336_5 +# 2334| m2334_2(bool) = Phi : from 3:m2328_1, from 5:m2335_3 +# 2334| r2334_3(glval) = VariableAddress[B] : +# 2334| m2334_4(Bool) = Uninitialized[B] : &:r2334_3 +# 2334| r2334_5(glval) = FunctionAddress[Bool] : +# 2334| r2334_6(glval) = VariableAddress[b] : +# 2334| r2334_7(bool) = Load[b] : &:r2334_6, m2334_2 +# 2334| v2334_8(void) = Call[Bool] : func:r2334_5, this:r2334_3, 0:r2334_7 +# 2334| m2334_9(unknown) = ^CallSideEffect : ~m2334_1 +# 2334| m2334_10(unknown) = Chi : total:m2334_1, partial:m2334_9 +# 2334| m2334_11(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2334_3 +# 2334| m2334_12(Bool) = Chi : total:m2334_4, partial:m2334_11 +# 2334| r2334_13(glval) = VariableAddress[B] : +# 2334| r2334_14(glval) = FunctionAddress[operator bool] : +# 2334| r2334_15(bool) = Call[operator bool] : func:r2334_14, this:r2334_13 +# 2334| m2334_16(unknown) = ^CallSideEffect : ~m2334_10 +# 2334| m2334_17(unknown) = Chi : total:m2334_10, partial:m2334_16 +# 2334| v2334_18(void) = ^IndirectReadSideEffect[-1] : &:r2334_13, m2334_12 +# 2334| m2334_19(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2334_13 +# 2334| m2334_20(Bool) = Chi : total:m2334_12, partial:m2334_19 +# 2334| r2334_21(bool) = CopyValue : r2334_15 +# 2334| v2334_22(void) = ConditionalBranch : r2334_21 #-----| False -> Block 6 #-----| True -> Block 5 -# 2288| Block 5 -# 2288| r2288_1(bool) = Constant[0] : -# 2288| r2288_2(glval) = VariableAddress[b] : -# 2288| m2288_3(bool) = Store[b] : &:r2288_2, r2288_1 -# 2289| r2289_1(glval) = VariableAddress[B] : -# 2289| r2289_2(glval) = FunctionAddress[~Bool] : -# 2289| v2289_3(void) = Call[~Bool] : func:r2289_2, this:r2289_1 -# 2289| m2289_4(unknown) = ^CallSideEffect : ~m2287_17 -# 2289| m2289_5(unknown) = Chi : total:m2287_17, partial:m2289_4 -# 2289| v2289_6(void) = ^IndirectReadSideEffect[-1] : &:r2289_1, m2287_20 -# 2289| m2289_7(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2289_1 -# 2289| m2289_8(Bool) = Chi : total:m2287_20, partial:m2289_7 +# 2335| Block 5 +# 2335| r2335_1(bool) = Constant[0] : +# 2335| r2335_2(glval) = VariableAddress[b] : +# 2335| m2335_3(bool) = Store[b] : &:r2335_2, r2335_1 +# 2336| r2336_1(glval) = VariableAddress[B] : +# 2336| r2336_2(glval) = FunctionAddress[~Bool] : +# 2336| v2336_3(void) = Call[~Bool] : func:r2336_2, this:r2336_1 +# 2336| m2336_4(unknown) = ^CallSideEffect : ~m2334_17 +# 2336| m2336_5(unknown) = Chi : total:m2334_17, partial:m2336_4 +# 2336| v2336_6(void) = ^IndirectReadSideEffect[-1] : &:r2336_1, m2334_20 +# 2336| m2336_7(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2336_1 +# 2336| m2336_8(Bool) = Chi : total:m2334_20, partial:m2336_7 #-----| Goto (back edge) -> Block 4 -# 2289| Block 6 -# 2289| r2289_9(glval) = VariableAddress[B] : -# 2289| r2289_10(glval) = FunctionAddress[~Bool] : -# 2289| v2289_11(void) = Call[~Bool] : func:r2289_10, this:r2289_9 -# 2289| m2289_12(unknown) = ^CallSideEffect : ~m2287_17 -# 2289| m2289_13(unknown) = Chi : total:m2287_17, partial:m2289_12 -# 2289| v2289_14(void) = ^IndirectReadSideEffect[-1] : &:r2289_9, m2287_20 -# 2289| m2289_15(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2289_9 -# 2289| m2289_16(Bool) = Chi : total:m2287_20, partial:m2289_15 -# 2291| v2291_1(void) = NoOp : -# 2278| v2278_7(void) = ReturnVoid : -# 2278| v2278_8(void) = AliasedUse : ~m2289_13 -# 2278| v2278_9(void) = ExitFunction : +# 2336| Block 6 +# 2336| r2336_9(glval) = VariableAddress[B] : +# 2336| r2336_10(glval) = FunctionAddress[~Bool] : +# 2336| v2336_11(void) = Call[~Bool] : func:r2336_10, this:r2336_9 +# 2336| m2336_12(unknown) = ^CallSideEffect : ~m2334_17 +# 2336| m2336_13(unknown) = Chi : total:m2334_17, partial:m2336_12 +# 2336| v2336_14(void) = ^IndirectReadSideEffect[-1] : &:r2336_9, m2334_20 +# 2336| m2336_15(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2336_9 +# 2336| m2336_16(Bool) = Chi : total:m2334_20, partial:m2336_15 +# 2338| v2338_1(void) = NoOp : +# 2325| v2325_7(void) = ReturnVoid : +# 2325| v2325_8(void) = AliasedUse : ~m2336_13 +# 2325| v2325_9(void) = ExitFunction : -# 2293| void VoidFunc() -# 2293| Block 0 -# 2293| v2293_1(void) = EnterFunction : -# 2293| m2293_2(unknown) = AliasedDefinition : -# 2293| m2293_3(unknown) = InitializeNonLocal : -# 2293| m2293_4(unknown) = Chi : total:m2293_2, partial:m2293_3 -# 2293| v2293_5(void) = NoOp : -# 2293| v2293_6(void) = ReturnVoid : -# 2293| v2293_7(void) = AliasedUse : m2293_3 -# 2293| v2293_8(void) = ExitFunction : +# 2340| void VoidFunc() +# 2340| Block 0 +# 2340| v2340_1(void) = EnterFunction : +# 2340| m2340_2(unknown) = AliasedDefinition : +# 2340| m2340_3(unknown) = InitializeNonLocal : +# 2340| m2340_4(unknown) = Chi : total:m2340_2, partial:m2340_3 +# 2340| v2340_5(void) = NoOp : +# 2340| v2340_6(void) = ReturnVoid : +# 2340| v2340_7(void) = AliasedUse : m2340_3 +# 2340| v2340_8(void) = ExitFunction : -# 2295| void IfReturnDestructors(bool) -# 2295| Block 0 -# 2295| v2295_1(void) = EnterFunction : -# 2295| m2295_2(unknown) = AliasedDefinition : -# 2295| m2295_3(unknown) = InitializeNonLocal : -# 2295| m2295_4(unknown) = Chi : total:m2295_2, partial:m2295_3 -# 2295| r2295_5(glval) = VariableAddress[b] : -# 2295| m2295_6(bool) = InitializeParameter[b] : &:r2295_5 -# 2296| r2296_1(glval) = VariableAddress[s] : -# 2296| m2296_2(String) = Uninitialized[s] : &:r2296_1 -# 2296| r2296_3(glval) = FunctionAddress[String] : -# 2296| v2296_4(void) = Call[String] : func:r2296_3, this:r2296_1 -# 2296| m2296_5(unknown) = ^CallSideEffect : ~m2295_4 -# 2296| m2296_6(unknown) = Chi : total:m2295_4, partial:m2296_5 -# 2296| m2296_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2296_1 -# 2296| m2296_8(String) = Chi : total:m2296_2, partial:m2296_7 -# 2297| r2297_1(glval) = VariableAddress[b] : -# 2297| r2297_2(bool) = Load[b] : &:r2297_1, m2295_6 -# 2297| v2297_3(void) = ConditionalBranch : r2297_2 +# 2342| void IfReturnDestructors(bool) +# 2342| Block 0 +# 2342| v2342_1(void) = EnterFunction : +# 2342| m2342_2(unknown) = AliasedDefinition : +# 2342| m2342_3(unknown) = InitializeNonLocal : +# 2342| m2342_4(unknown) = Chi : total:m2342_2, partial:m2342_3 +# 2342| r2342_5(glval) = VariableAddress[b] : +# 2342| m2342_6(bool) = InitializeParameter[b] : &:r2342_5 +# 2343| r2343_1(glval) = VariableAddress[s] : +# 2343| m2343_2(String) = Uninitialized[s] : &:r2343_1 +# 2343| r2343_3(glval) = FunctionAddress[String] : +# 2343| v2343_4(void) = Call[String] : func:r2343_3, this:r2343_1 +# 2343| m2343_5(unknown) = ^CallSideEffect : ~m2342_4 +# 2343| m2343_6(unknown) = Chi : total:m2342_4, partial:m2343_5 +# 2343| m2343_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2343_1 +# 2343| m2343_8(String) = Chi : total:m2343_2, partial:m2343_7 +# 2344| r2344_1(glval) = VariableAddress[b] : +# 2344| r2344_2(bool) = Load[b] : &:r2344_1, m2342_6 +# 2344| v2344_3(void) = ConditionalBranch : r2344_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2295| Block 1 -# 2295| m2295_7(unknown) = Phi : from 2:~m2304_5, from 4:~m2304_13, from 5:~m2304_22 -# 2295| v2295_8(void) = ReturnVoid : -# 2295| v2295_9(void) = AliasedUse : ~m2295_7 -# 2295| v2295_10(void) = ExitFunction : +# 2342| Block 1 +# 2342| m2342_7(unknown) = Phi : from 2:~m2351_5, from 4:~m2351_13, from 5:~m2351_22 +# 2342| v2342_8(void) = ReturnVoid : +# 2342| v2342_9(void) = AliasedUse : ~m2342_7 +# 2342| v2342_10(void) = ExitFunction : -# 2298| Block 2 -# 2298| v2298_1(void) = NoOp : -# 2304| r2304_1(glval) = VariableAddress[s] : -# 2304| r2304_2(glval) = FunctionAddress[~String] : -# 2304| v2304_3(void) = Call[~String] : func:r2304_2, this:r2304_1 -# 2304| m2304_4(unknown) = ^CallSideEffect : ~m2296_6 -# 2304| m2304_5(unknown) = Chi : total:m2296_6, partial:m2304_4 -# 2304| v2304_6(void) = ^IndirectReadSideEffect[-1] : &:r2304_1, m2296_8 -# 2304| m2304_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2304_1 -# 2304| m2304_8(String) = Chi : total:m2296_8, partial:m2304_7 +# 2345| Block 2 +# 2345| v2345_1(void) = NoOp : +# 2351| r2351_1(glval) = VariableAddress[s] : +# 2351| r2351_2(glval) = FunctionAddress[~String] : +# 2351| v2351_3(void) = Call[~String] : func:r2351_2, this:r2351_1 +# 2351| m2351_4(unknown) = ^CallSideEffect : ~m2343_6 +# 2351| m2351_5(unknown) = Chi : total:m2343_6, partial:m2351_4 +# 2351| v2351_6(void) = ^IndirectReadSideEffect[-1] : &:r2351_1, m2343_8 +# 2351| m2351_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_1 +# 2351| m2351_8(String) = Chi : total:m2343_8, partial:m2351_7 #-----| Goto -> Block 1 -# 2300| Block 3 -# 2300| r2300_1(glval) = VariableAddress[b] : -# 2300| r2300_2(bool) = Load[b] : &:r2300_1, m2295_6 -# 2300| v2300_3(void) = ConditionalBranch : r2300_2 +# 2347| Block 3 +# 2347| r2347_1(glval) = VariableAddress[b] : +# 2347| r2347_2(bool) = Load[b] : &:r2347_1, m2342_6 +# 2347| v2347_3(void) = ConditionalBranch : r2347_2 #-----| False -> Block 5 #-----| True -> Block 4 -# 2301| Block 4 -# 2301| r2301_1(glval) = FunctionAddress[VoidFunc] : -# 2301| v2301_2(void) = Call[VoidFunc] : func:r2301_1 -# 2301| m2301_3(unknown) = ^CallSideEffect : ~m2296_6 -# 2301| m2301_4(unknown) = Chi : total:m2296_6, partial:m2301_3 -# 2301| v2301_5(void) = NoOp : -# 2304| r2304_9(glval) = VariableAddress[s] : -# 2304| r2304_10(glval) = FunctionAddress[~String] : -# 2304| v2304_11(void) = Call[~String] : func:r2304_10, this:r2304_9 -# 2304| m2304_12(unknown) = ^CallSideEffect : ~m2301_4 -# 2304| m2304_13(unknown) = Chi : total:m2301_4, partial:m2304_12 -# 2304| v2304_14(void) = ^IndirectReadSideEffect[-1] : &:r2304_9, m2296_8 -# 2304| m2304_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2304_9 -# 2304| m2304_16(String) = Chi : total:m2296_8, partial:m2304_15 +# 2348| Block 4 +# 2348| r2348_1(glval) = FunctionAddress[VoidFunc] : +# 2348| v2348_2(void) = Call[VoidFunc] : func:r2348_1 +# 2348| m2348_3(unknown) = ^CallSideEffect : ~m2343_6 +# 2348| m2348_4(unknown) = Chi : total:m2343_6, partial:m2348_3 +# 2348| v2348_5(void) = NoOp : +# 2351| r2351_9(glval) = VariableAddress[s] : +# 2351| r2351_10(glval) = FunctionAddress[~String] : +# 2351| v2351_11(void) = Call[~String] : func:r2351_10, this:r2351_9 +# 2351| m2351_12(unknown) = ^CallSideEffect : ~m2348_4 +# 2351| m2351_13(unknown) = Chi : total:m2348_4, partial:m2351_12 +# 2351| v2351_14(void) = ^IndirectReadSideEffect[-1] : &:r2351_9, m2343_8 +# 2351| m2351_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_9 +# 2351| m2351_16(String) = Chi : total:m2343_8, partial:m2351_15 #-----| Goto -> Block 1 -# 2303| Block 5 -# 2303| r2303_1(glval) = VariableAddress[s] : -# 2304| v2304_17(void) = NoOp : -# 2304| r2304_18(glval) = VariableAddress[s] : -# 2304| r2304_19(glval) = FunctionAddress[~String] : -# 2304| v2304_20(void) = Call[~String] : func:r2304_19, this:r2304_18 -# 2304| m2304_21(unknown) = ^CallSideEffect : ~m2296_6 -# 2304| m2304_22(unknown) = Chi : total:m2296_6, partial:m2304_21 -# 2304| v2304_23(void) = ^IndirectReadSideEffect[-1] : &:r2304_18, m2296_8 -# 2304| m2304_24(String) = ^IndirectMayWriteSideEffect[-1] : &:r2304_18 -# 2304| m2304_25(String) = Chi : total:m2296_8, partial:m2304_24 +# 2350| Block 5 +# 2350| r2350_1(glval) = VariableAddress[s] : +# 2351| v2351_17(void) = NoOp : +# 2351| r2351_18(glval) = VariableAddress[s] : +# 2351| r2351_19(glval) = FunctionAddress[~String] : +# 2351| v2351_20(void) = Call[~String] : func:r2351_19, this:r2351_18 +# 2351| m2351_21(unknown) = ^CallSideEffect : ~m2343_6 +# 2351| m2351_22(unknown) = Chi : total:m2343_6, partial:m2351_21 +# 2351| v2351_23(void) = ^IndirectReadSideEffect[-1] : &:r2351_18, m2343_8 +# 2351| m2351_24(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_18 +# 2351| m2351_25(String) = Chi : total:m2343_8, partial:m2351_24 #-----| Goto -> Block 1 -# 2306| int IfReturnDestructors3(bool) -# 2306| Block 0 -# 2306| v2306_1(void) = EnterFunction : -# 2306| m2306_2(unknown) = AliasedDefinition : -# 2306| m2306_3(unknown) = InitializeNonLocal : -# 2306| m2306_4(unknown) = Chi : total:m2306_2, partial:m2306_3 -# 2306| r2306_5(glval) = VariableAddress[b] : -# 2306| m2306_6(bool) = InitializeParameter[b] : &:r2306_5 -# 2307| r2307_1(glval) = VariableAddress[s] : -# 2307| m2307_2(String) = Uninitialized[s] : &:r2307_1 -# 2307| r2307_3(glval) = FunctionAddress[String] : -# 2307| v2307_4(void) = Call[String] : func:r2307_3, this:r2307_1 -# 2307| m2307_5(unknown) = ^CallSideEffect : ~m2306_4 -# 2307| m2307_6(unknown) = Chi : total:m2306_4, partial:m2307_5 -# 2307| m2307_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_1 -# 2307| m2307_8(String) = Chi : total:m2307_2, partial:m2307_7 -# 2308| r2308_1(glval) = VariableAddress[b] : -# 2308| r2308_2(bool) = Load[b] : &:r2308_1, m2306_6 -# 2308| v2308_3(void) = ConditionalBranch : r2308_2 +# 2353| int IfReturnDestructors3(bool) +# 2353| Block 0 +# 2353| v2353_1(void) = EnterFunction : +# 2353| m2353_2(unknown) = AliasedDefinition : +# 2353| m2353_3(unknown) = InitializeNonLocal : +# 2353| m2353_4(unknown) = Chi : total:m2353_2, partial:m2353_3 +# 2353| r2353_5(glval) = VariableAddress[b] : +# 2353| m2353_6(bool) = InitializeParameter[b] : &:r2353_5 +# 2354| r2354_1(glval) = VariableAddress[s] : +# 2354| m2354_2(String) = Uninitialized[s] : &:r2354_1 +# 2354| r2354_3(glval) = FunctionAddress[String] : +# 2354| v2354_4(void) = Call[String] : func:r2354_3, this:r2354_1 +# 2354| m2354_5(unknown) = ^CallSideEffect : ~m2353_4 +# 2354| m2354_6(unknown) = Chi : total:m2353_4, partial:m2354_5 +# 2354| m2354_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2354_1 +# 2354| m2354_8(String) = Chi : total:m2354_2, partial:m2354_7 +# 2355| r2355_1(glval) = VariableAddress[b] : +# 2355| r2355_2(bool) = Load[b] : &:r2355_1, m2353_6 +# 2355| v2355_3(void) = ConditionalBranch : r2355_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2306| Block 1 -# 2306| m2306_7(unknown) = Phi : from 2:~m2312_5, from 3:~m2312_13 -# 2306| m2306_8(int) = Phi : from 2:m2309_3, from 3:m2311_3 -# 2306| r2306_9(glval) = VariableAddress[#return] : -# 2306| v2306_10(void) = ReturnValue : &:r2306_9, m2306_8 -# 2306| v2306_11(void) = AliasedUse : ~m2306_7 -# 2306| v2306_12(void) = ExitFunction : +# 2353| Block 1 +# 2353| m2353_7(unknown) = Phi : from 2:~m2359_5, from 3:~m2359_13 +# 2353| m2353_8(int) = Phi : from 2:m2356_3, from 3:m2358_3 +# 2353| r2353_9(glval) = VariableAddress[#return] : +# 2353| v2353_10(void) = ReturnValue : &:r2353_9, m2353_8 +# 2353| v2353_11(void) = AliasedUse : ~m2353_7 +# 2353| v2353_12(void) = ExitFunction : -# 2309| Block 2 -# 2309| r2309_1(glval) = VariableAddress[#return] : -# 2309| r2309_2(int) = Constant[1] : -# 2309| m2309_3(int) = Store[#return] : &:r2309_1, r2309_2 -# 2312| r2312_1(glval) = VariableAddress[s] : -# 2312| r2312_2(glval) = FunctionAddress[~String] : -# 2312| v2312_3(void) = Call[~String] : func:r2312_2, this:r2312_1 -# 2312| m2312_4(unknown) = ^CallSideEffect : ~m2307_6 -# 2312| m2312_5(unknown) = Chi : total:m2307_6, partial:m2312_4 -# 2312| v2312_6(void) = ^IndirectReadSideEffect[-1] : &:r2312_1, m2307_8 -# 2312| m2312_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2312_1 -# 2312| m2312_8(String) = Chi : total:m2307_8, partial:m2312_7 +# 2356| Block 2 +# 2356| r2356_1(glval) = VariableAddress[#return] : +# 2356| r2356_2(int) = Constant[1] : +# 2356| m2356_3(int) = Store[#return] : &:r2356_1, r2356_2 +# 2359| r2359_1(glval) = VariableAddress[s] : +# 2359| r2359_2(glval) = FunctionAddress[~String] : +# 2359| v2359_3(void) = Call[~String] : func:r2359_2, this:r2359_1 +# 2359| m2359_4(unknown) = ^CallSideEffect : ~m2354_6 +# 2359| m2359_5(unknown) = Chi : total:m2354_6, partial:m2359_4 +# 2359| v2359_6(void) = ^IndirectReadSideEffect[-1] : &:r2359_1, m2354_8 +# 2359| m2359_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2359_1 +# 2359| m2359_8(String) = Chi : total:m2354_8, partial:m2359_7 #-----| Goto -> Block 1 -# 2311| Block 3 -# 2311| r2311_1(glval) = VariableAddress[#return] : -# 2311| r2311_2(int) = Constant[0] : -# 2311| m2311_3(int) = Store[#return] : &:r2311_1, r2311_2 -# 2312| r2312_9(glval) = VariableAddress[s] : -# 2312| r2312_10(glval) = FunctionAddress[~String] : -# 2312| v2312_11(void) = Call[~String] : func:r2312_10, this:r2312_9 -# 2312| m2312_12(unknown) = ^CallSideEffect : ~m2307_6 -# 2312| m2312_13(unknown) = Chi : total:m2307_6, partial:m2312_12 -# 2312| v2312_14(void) = ^IndirectReadSideEffect[-1] : &:r2312_9, m2307_8 -# 2312| m2312_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2312_9 -# 2312| m2312_16(String) = Chi : total:m2307_8, partial:m2312_15 +# 2358| Block 3 +# 2358| r2358_1(glval) = VariableAddress[#return] : +# 2358| r2358_2(int) = Constant[0] : +# 2358| m2358_3(int) = Store[#return] : &:r2358_1, r2358_2 +# 2359| r2359_9(glval) = VariableAddress[s] : +# 2359| r2359_10(glval) = FunctionAddress[~String] : +# 2359| v2359_11(void) = Call[~String] : func:r2359_10, this:r2359_9 +# 2359| m2359_12(unknown) = ^CallSideEffect : ~m2354_6 +# 2359| m2359_13(unknown) = Chi : total:m2354_6, partial:m2359_12 +# 2359| v2359_14(void) = ^IndirectReadSideEffect[-1] : &:r2359_9, m2354_8 +# 2359| m2359_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2359_9 +# 2359| m2359_16(String) = Chi : total:m2354_8, partial:m2359_15 #-----| Goto -> Block 1 -# 2314| void VoidReturnDestructors() -# 2314| Block 0 -# 2314| v2314_1(void) = EnterFunction : -# 2314| m2314_2(unknown) = AliasedDefinition : -# 2314| m2314_3(unknown) = InitializeNonLocal : -# 2314| m2314_4(unknown) = Chi : total:m2314_2, partial:m2314_3 -# 2315| r2315_1(glval) = VariableAddress[s] : -# 2315| m2315_2(String) = Uninitialized[s] : &:r2315_1 -# 2315| r2315_3(glval) = FunctionAddress[String] : -# 2315| v2315_4(void) = Call[String] : func:r2315_3, this:r2315_1 -# 2315| m2315_5(unknown) = ^CallSideEffect : ~m2314_4 -# 2315| m2315_6(unknown) = Chi : total:m2314_4, partial:m2315_5 -# 2315| m2315_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2315_1 -# 2315| m2315_8(String) = Chi : total:m2315_2, partial:m2315_7 -# 2316| r2316_1(glval) = FunctionAddress[VoidFunc] : -# 2316| v2316_2(void) = Call[VoidFunc] : func:r2316_1 -# 2316| m2316_3(unknown) = ^CallSideEffect : ~m2315_6 -# 2316| m2316_4(unknown) = Chi : total:m2315_6, partial:m2316_3 -# 2316| v2316_5(void) = NoOp : -# 2317| r2317_1(glval) = VariableAddress[s] : -# 2317| r2317_2(glval) = FunctionAddress[~String] : -# 2317| v2317_3(void) = Call[~String] : func:r2317_2, this:r2317_1 -# 2317| m2317_4(unknown) = ^CallSideEffect : ~m2316_4 -# 2317| m2317_5(unknown) = Chi : total:m2316_4, partial:m2317_4 -# 2317| v2317_6(void) = ^IndirectReadSideEffect[-1] : &:r2317_1, m2315_8 -# 2317| m2317_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2317_1 -# 2317| m2317_8(String) = Chi : total:m2315_8, partial:m2317_7 -# 2314| v2314_5(void) = ReturnVoid : -# 2314| v2314_6(void) = AliasedUse : ~m2317_5 -# 2314| v2314_7(void) = ExitFunction : +# 2361| void VoidReturnDestructors() +# 2361| Block 0 +# 2361| v2361_1(void) = EnterFunction : +# 2361| m2361_2(unknown) = AliasedDefinition : +# 2361| m2361_3(unknown) = InitializeNonLocal : +# 2361| m2361_4(unknown) = Chi : total:m2361_2, partial:m2361_3 +# 2362| r2362_1(glval) = VariableAddress[s] : +# 2362| m2362_2(String) = Uninitialized[s] : &:r2362_1 +# 2362| r2362_3(glval) = FunctionAddress[String] : +# 2362| v2362_4(void) = Call[String] : func:r2362_3, this:r2362_1 +# 2362| m2362_5(unknown) = ^CallSideEffect : ~m2361_4 +# 2362| m2362_6(unknown) = Chi : total:m2361_4, partial:m2362_5 +# 2362| m2362_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2362_1 +# 2362| m2362_8(String) = Chi : total:m2362_2, partial:m2362_7 +# 2363| r2363_1(glval) = FunctionAddress[VoidFunc] : +# 2363| v2363_2(void) = Call[VoidFunc] : func:r2363_1 +# 2363| m2363_3(unknown) = ^CallSideEffect : ~m2362_6 +# 2363| m2363_4(unknown) = Chi : total:m2362_6, partial:m2363_3 +# 2363| v2363_5(void) = NoOp : +# 2364| r2364_1(glval) = VariableAddress[s] : +# 2364| r2364_2(glval) = FunctionAddress[~String] : +# 2364| v2364_3(void) = Call[~String] : func:r2364_2, this:r2364_1 +# 2364| m2364_4(unknown) = ^CallSideEffect : ~m2363_4 +# 2364| m2364_5(unknown) = Chi : total:m2363_4, partial:m2364_4 +# 2364| v2364_6(void) = ^IndirectReadSideEffect[-1] : &:r2364_1, m2362_8 +# 2364| m2364_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2364_1 +# 2364| m2364_8(String) = Chi : total:m2362_8, partial:m2364_7 +# 2361| v2361_5(void) = ReturnVoid : +# 2361| v2361_6(void) = AliasedUse : ~m2364_5 +# 2361| v2361_7(void) = ExitFunction : -# 2327| return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() -# 2327| Block 0 -# 2327| v2327_1(void) = EnterFunction : -# 2327| m2327_2(unknown) = AliasedDefinition : -# 2327| m2327_3(unknown) = InitializeNonLocal : -# 2327| m2327_4(unknown) = Chi : total:m2327_2, partial:m2327_3 -# 2329| r2329_1(glval<..:: *>) = VariableAddress[#return] : -# 2329| r2329_2(..()(..)) = FunctionAddress[VoidToInt] : -# 2329| m2329_3(..:: *) = Store[#return] : &:r2329_1, r2329_2 -# 2327| r2327_5(glval<..:: *>) = VariableAddress[#return] : -# 2327| v2327_6(void) = ReturnValue : &:r2327_5, m2329_3 -# 2327| v2327_7(void) = AliasedUse : m2327_3 -# 2327| v2327_8(void) = ExitFunction : +# 2374| return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() +# 2374| Block 0 +# 2374| v2374_1(void) = EnterFunction : +# 2374| m2374_2(unknown) = AliasedDefinition : +# 2374| m2374_3(unknown) = InitializeNonLocal : +# 2374| m2374_4(unknown) = Chi : total:m2374_2, partial:m2374_3 +# 2376| r2376_1(glval<..:: *>) = VariableAddress[#return] : +# 2376| r2376_2(..()(..)) = FunctionAddress[VoidToInt] : +# 2376| m2376_3(..:: *) = Store[#return] : &:r2376_1, r2376_2 +# 2374| r2374_5(glval<..:: *>) = VariableAddress[#return] : +# 2374| v2374_6(void) = ReturnValue : &:r2374_5, m2376_3 +# 2374| v2374_7(void) = AliasedUse : m2374_3 +# 2374| v2374_8(void) = ExitFunction : perf-regression.cpp: # 6| void Big::Big() diff --git a/cpp/ql/test/library-tests/ir/ir/ir.cpp b/cpp/ql/test/library-tests/ir/ir/ir.cpp index b63449d96f0..492f8c71c11 100644 --- a/cpp/ql/test/library-tests/ir/ir/ir.cpp +++ b/cpp/ql/test/library-tests/ir/ir/ir.cpp @@ -1055,28 +1055,75 @@ void Lambda(int x, const String& s) { lambda_inits(6); } -template -struct vector { - struct iterator { - T* p; - iterator& operator++(); - T& operator*() const; +namespace std { + template + struct remove_const { typedef T type; }; - bool operator!=(iterator right) const; + template + struct remove_const { typedef T type; }; + + // `remove_const_t` removes any `const` specifier from `T` + template + using remove_const_t = typename remove_const::type; + + struct ptrdiff_t; + + template struct iterator_traits; + + template + struct iterator { + typedef Category iterator_category; + + iterator(); + iterator(iterator > const &other); // non-const -> const conversion constructor + + iterator &operator++(); + iterator operator++(int); + iterator &operator--(); + iterator operator--(int); + bool operator==(iterator other) const; + bool operator!=(iterator other) const; + reference_type operator*() const; + pointer_type operator->() const; + iterator operator+(int); + iterator operator-(int); + iterator &operator+=(int); + iterator &operator-=(int); + int operator-(iterator); + reference_type operator[](int); }; - vector(T); - ~vector(); - iterator begin() const; - iterator end() const; -}; + struct input_iterator_tag {}; + struct forward_iterator_tag : public input_iterator_tag {}; + struct bidirectional_iterator_tag : public forward_iterator_tag {}; + struct random_access_iterator_tag : public bidirectional_iterator_tag {}; -template -bool operator==(typename vector::iterator left, typename vector::iterator right); -template -bool operator!=(typename vector::iterator left, typename vector::iterator right); + struct output_iterator_tag {}; -void RangeBasedFor(const vector& v) { + template + struct vector { + vector(T); + ~vector(); + + using iterator = std::iterator; + using const_iterator = std::iterator; + + iterator begin() const; + iterator end() const; + }; + + template + bool operator==(typename vector::iterator left, typename vector::iterator right); + template + bool operator!=(typename vector::iterator left, typename vector::iterator right); + +} + +void RangeBasedFor(const std::vector& v) { for (int e : v) { if (e > 0) { continue; @@ -2151,21 +2198,21 @@ void initialization_with_destructor(bool b, char c) { } ClassWithDestructor x; - for(vector ys(x); ClassWithDestructor y : ys) + for(std::vector ys(x); ClassWithDestructor y : ys) y.set_x('a'); - for(vector ys(x); ClassWithDestructor y : ys) { + for(std::vector ys(x); ClassWithDestructor y : ys) { y.set_x('a'); if (y.get_x() == 'b') return; } - for(vector ys(1); int y : ys) { + for(std::vector ys(1); int y : ys) { if (y == 1) return; } - for(vector ys(x); ClassWithDestructor y : ys) { + for(std::vector ys(x); ClassWithDestructor y : ys) { ClassWithDestructor z1; ClassWithDestructor z2; } @@ -2243,7 +2290,7 @@ void ForDestructors() { String s2; } - for(String s : vector(String("hello"))) { + for(String s : std::vector(String("hello"))) { String s2; } diff --git a/cpp/ql/test/library-tests/ir/ir/operand_locations.expected b/cpp/ql/test/library-tests/ir/ir/operand_locations.expected index 7f606978b58..ad4cfdb1e7c 100644 --- a/cpp/ql/test/library-tests/ir/ir/operand_locations.expected +++ b/cpp/ql/test/library-tests/ir/ir/operand_locations.expected @@ -1178,7 +1178,9 @@ | file://:0:0:0:0 | Address | &:r0_5 | | file://:0:0:0:0 | Address | &:r0_6 | | file://:0:0:0:0 | Address | &:r0_6 | -| file://:0:0:0:0 | Address | &:r0_7 | +| file://:0:0:0:0 | Address | &:r0_6 | +| file://:0:0:0:0 | Address | &:r0_6 | +| file://:0:0:0:0 | Address | &:r0_6 | | file://:0:0:0:0 | Address | &:r0_7 | | file://:0:0:0:0 | Address | &:r0_7 | | file://:0:0:0:0 | Address | &:r0_7 | @@ -1191,8 +1193,12 @@ | file://:0:0:0:0 | Address | &:r0_8 | | file://:0:0:0:0 | Address | &:r0_8 | | file://:0:0:0:0 | Address | &:r0_8 | -| file://:0:0:0:0 | Address | &:r0_9 | -| file://:0:0:0:0 | Address | &:r0_9 | +| file://:0:0:0:0 | Address | &:r0_8 | +| file://:0:0:0:0 | Address | &:r0_8 | +| file://:0:0:0:0 | Address | &:r0_8 | +| file://:0:0:0:0 | Address | &:r0_8 | +| file://:0:0:0:0 | Address | &:r0_8 | +| file://:0:0:0:0 | Address | &:r0_8 | | file://:0:0:0:0 | Address | &:r0_9 | | file://:0:0:0:0 | Address | &:r0_9 | | file://:0:0:0:0 | Address | &:r0_10 | @@ -1201,7 +1207,7 @@ | file://:0:0:0:0 | Address | &:r0_11 | | file://:0:0:0:0 | Address | &:r0_11 | | file://:0:0:0:0 | Address | &:r0_11 | -| file://:0:0:0:0 | Address | &:r0_12 | +| file://:0:0:0:0 | Address | &:r0_11 | | file://:0:0:0:0 | Address | &:r0_13 | | file://:0:0:0:0 | Address | &:r0_13 | | file://:0:0:0:0 | Address | &:r0_13 | @@ -1210,6 +1216,7 @@ | file://:0:0:0:0 | Address | &:r0_15 | | file://:0:0:0:0 | Address | &:r0_15 | | file://:0:0:0:0 | Address | &:r0_15 | +| file://:0:0:0:0 | Address | &:r0_15 | | file://:0:0:0:0 | Address | &:r0_16 | | file://:0:0:0:0 | Address | &:r0_16 | | file://:0:0:0:0 | Address | &:r0_16 | @@ -1218,23 +1225,58 @@ | file://:0:0:0:0 | Address | &:r0_17 | | file://:0:0:0:0 | Address | &:r0_18 | | file://:0:0:0:0 | Address | &:r0_18 | +| file://:0:0:0:0 | Address | &:r0_18 | | file://:0:0:0:0 | Address | &:r0_19 | | file://:0:0:0:0 | Address | &:r0_19 | | file://:0:0:0:0 | Address | &:r0_19 | -| file://:0:0:0:0 | Address | &:r0_22 | -| file://:0:0:0:0 | Address | &:r0_25 | +| file://:0:0:0:0 | Address | &:r0_20 | +| file://:0:0:0:0 | Address | &:r0_20 | +| file://:0:0:0:0 | Address | &:r0_20 | +| file://:0:0:0:0 | Address | &:r0_21 | +| file://:0:0:0:0 | Address | &:r0_23 | +| file://:0:0:0:0 | Address | &:r0_23 | +| file://:0:0:0:0 | Address | &:r0_24 | +| file://:0:0:0:0 | Address | &:r0_24 | +| file://:0:0:0:0 | Address | &:r0_24 | | file://:0:0:0:0 | Address | &:r0_27 | -| file://:0:0:0:0 | Address | &:r0_29 | -| file://:0:0:0:0 | Address | &:r0_32 | -| file://:0:0:0:0 | Address | &:r0_35 | +| file://:0:0:0:0 | Address | &:r0_27 | +| file://:0:0:0:0 | Address | &:r0_31 | +| file://:0:0:0:0 | Address | &:r0_34 | | file://:0:0:0:0 | Address | &:r0_37 | | file://:0:0:0:0 | Address | &:r0_39 | +| file://:0:0:0:0 | Address | &:r0_40 | +| file://:0:0:0:0 | Address | &:r0_40 | +| file://:0:0:0:0 | Address | &:r0_40 | +| file://:0:0:0:0 | Address | &:r0_43 | +| file://:0:0:0:0 | Address | &:r0_47 | +| file://:0:0:0:0 | Address | &:r0_50 | +| file://:0:0:0:0 | Address | &:r0_53 | +| file://:0:0:0:0 | Address | &:r0_55 | +| file://:0:0:0:0 | Address | &:r0_56 | +| file://:0:0:0:0 | Address | &:r0_56 | +| file://:0:0:0:0 | Address | &:r0_56 | +| file://:0:0:0:0 | Address | &:r0_59 | +| file://:0:0:0:0 | Address | &:r0_63 | | file://:0:0:0:0 | Arg(0) | 0:r0_6 | | file://:0:0:0:0 | Arg(0) | 0:r0_8 | | file://:0:0:0:0 | Arg(0) | 0:r0_8 | | file://:0:0:0:0 | Arg(0) | 0:r0_8 | +| file://:0:0:0:0 | Arg(0) | 0:r0_9 | +| file://:0:0:0:0 | Arg(0) | 0:r0_11 | +| file://:0:0:0:0 | Arg(0) | 0:r0_11 | +| file://:0:0:0:0 | Arg(0) | 0:r0_11 | +| file://:0:0:0:0 | Arg(0) | 0:r0_13 | +| file://:0:0:0:0 | Arg(0) | 0:r0_13 | | file://:0:0:0:0 | Arg(0) | 0:r0_15 | | file://:0:0:0:0 | Arg(0) | 0:r0_15 | +| file://:0:0:0:0 | Arg(0) | 0:r0_23 | +| file://:0:0:0:0 | Arg(0) | 0:r0_25 | +| file://:0:0:0:0 | Arg(0) | 0:r0_27 | +| file://:0:0:0:0 | Arg(0) | 0:r0_29 | +| file://:0:0:0:0 | Arg(0) | 0:r0_43 | +| file://:0:0:0:0 | Arg(0) | 0:r0_45 | +| file://:0:0:0:0 | Arg(0) | 0:r0_59 | +| file://:0:0:0:0 | Arg(0) | 0:r0_61 | | file://:0:0:0:0 | CallTarget | func:r0_1 | | file://:0:0:0:0 | CallTarget | func:r0_1 | | file://:0:0:0:0 | CallTarget | func:r0_1 | @@ -1266,15 +1308,15 @@ | file://:0:0:0:0 | ChiTotal | total:m754_8 | | file://:0:0:0:0 | ChiTotal | total:m763_8 | | file://:0:0:0:0 | ChiTotal | total:m1043_10 | -| file://:0:0:0:0 | ChiTotal | total:m1242_4 | -| file://:0:0:0:0 | ChiTotal | total:m1690_3 | -| file://:0:0:0:0 | ChiTotal | total:m1718_8 | -| file://:0:0:0:0 | ChiTotal | total:m1718_19 | -| file://:0:0:0:0 | ChiTotal | total:m1836_8 | -| file://:0:0:0:0 | ChiTotal | total:m1841_8 | -| file://:0:0:0:0 | ChiTotal | total:m2175_6 | -| file://:0:0:0:0 | ChiTotal | total:m2179_4 | -| file://:0:0:0:0 | ChiTotal | total:m2186_6 | +| file://:0:0:0:0 | ChiTotal | total:m1289_4 | +| file://:0:0:0:0 | ChiTotal | total:m1737_3 | +| file://:0:0:0:0 | ChiTotal | total:m1765_8 | +| file://:0:0:0:0 | ChiTotal | total:m1765_19 | +| file://:0:0:0:0 | ChiTotal | total:m1883_8 | +| file://:0:0:0:0 | ChiTotal | total:m1888_8 | +| file://:0:0:0:0 | ChiTotal | total:m2222_6 | +| file://:0:0:0:0 | ChiTotal | total:m2226_4 | +| file://:0:0:0:0 | ChiTotal | total:m2233_6 | | file://:0:0:0:0 | Left | r0_2 | | file://:0:0:0:0 | Left | r0_4 | | file://:0:0:0:0 | Left | r0_7 | @@ -1306,18 +1348,25 @@ | file://:0:0:0:0 | Load | m745_6 | | file://:0:0:0:0 | Load | m754_6 | | file://:0:0:0:0 | Load | m763_6 | -| file://:0:0:0:0 | Load | m1468_4 | -| file://:0:0:0:0 | Load | m1468_4 | -| file://:0:0:0:0 | Load | m1687_9 | -| file://:0:0:0:0 | Load | m1716_4 | -| file://:0:0:0:0 | Load | m1836_6 | -| file://:0:0:0:0 | Load | m1836_6 | -| file://:0:0:0:0 | Load | m1841_6 | -| file://:0:0:0:0 | Load | m2015_6 | +| file://:0:0:0:0 | Load | m1127_29 | +| file://:0:0:0:0 | Load | m1133_29 | +| file://:0:0:0:0 | Load | m1515_4 | +| file://:0:0:0:0 | Load | m1515_4 | +| file://:0:0:0:0 | Load | m1734_9 | +| file://:0:0:0:0 | Load | m1763_4 | +| file://:0:0:0:0 | Load | m1883_6 | +| file://:0:0:0:0 | Load | m1883_6 | +| file://:0:0:0:0 | Load | m1888_6 | +| file://:0:0:0:0 | Load | m2062_6 | +| file://:0:0:0:0 | Load | m2201_40 | +| file://:0:0:0:0 | Load | m2204_40 | +| file://:0:0:0:0 | Load | m2210_36 | +| file://:0:0:0:0 | Load | m2215_40 | +| file://:0:0:0:0 | Load | m2293_46 | | file://:0:0:0:0 | Load | ~m0_4 | -| file://:0:0:0:0 | Load | ~m1446_6 | -| file://:0:0:0:0 | Load | ~m1714_10 | -| file://:0:0:0:0 | Load | ~m1714_14 | +| file://:0:0:0:0 | Load | ~m1493_6 | +| file://:0:0:0:0 | Load | ~m1761_10 | +| file://:0:0:0:0 | Load | ~m1761_14 | | file://:0:0:0:0 | Right | r0_3 | | file://:0:0:0:0 | Right | r0_5 | | file://:0:0:0:0 | Right | r0_8 | @@ -1339,30 +1388,30 @@ | file://:0:0:0:0 | SideEffect | m0_4 | | file://:0:0:0:0 | SideEffect | m0_4 | | file://:0:0:0:0 | SideEffect | m0_14 | -| file://:0:0:0:0 | SideEffect | m1080_23 | -| file://:0:0:0:0 | SideEffect | m1080_23 | -| file://:0:0:0:0 | SideEffect | m1086_23 | -| file://:0:0:0:0 | SideEffect | m1086_23 | -| file://:0:0:0:0 | SideEffect | m2154_13 | -| file://:0:0:0:0 | SideEffect | m2154_13 | -| file://:0:0:0:0 | SideEffect | m2154_34 | -| file://:0:0:0:0 | SideEffect | m2154_34 | -| file://:0:0:0:0 | SideEffect | m2157_13 | -| file://:0:0:0:0 | SideEffect | m2157_13 | -| file://:0:0:0:0 | SideEffect | m2157_34 | -| file://:0:0:0:0 | SideEffect | m2157_34 | -| file://:0:0:0:0 | SideEffect | m2163_9 | -| file://:0:0:0:0 | SideEffect | m2163_9 | -| file://:0:0:0:0 | SideEffect | m2163_30 | -| file://:0:0:0:0 | SideEffect | m2163_30 | -| file://:0:0:0:0 | SideEffect | m2168_13 | -| file://:0:0:0:0 | SideEffect | m2168_13 | -| file://:0:0:0:0 | SideEffect | m2168_34 | -| file://:0:0:0:0 | SideEffect | m2168_34 | -| file://:0:0:0:0 | SideEffect | m2246_21 | -| file://:0:0:0:0 | SideEffect | m2246_21 | -| file://:0:0:0:0 | SideEffect | m2246_40 | -| file://:0:0:0:0 | SideEffect | m2246_40 | +| file://:0:0:0:0 | SideEffect | m1127_19 | +| file://:0:0:0:0 | SideEffect | m1127_19 | +| file://:0:0:0:0 | SideEffect | m1133_19 | +| file://:0:0:0:0 | SideEffect | m1133_19 | +| file://:0:0:0:0 | SideEffect | m2201_13 | +| file://:0:0:0:0 | SideEffect | m2201_13 | +| file://:0:0:0:0 | SideEffect | m2201_30 | +| file://:0:0:0:0 | SideEffect | m2201_30 | +| file://:0:0:0:0 | SideEffect | m2204_13 | +| file://:0:0:0:0 | SideEffect | m2204_13 | +| file://:0:0:0:0 | SideEffect | m2204_30 | +| file://:0:0:0:0 | SideEffect | m2204_30 | +| file://:0:0:0:0 | SideEffect | m2210_9 | +| file://:0:0:0:0 | SideEffect | m2210_9 | +| file://:0:0:0:0 | SideEffect | m2210_26 | +| file://:0:0:0:0 | SideEffect | m2210_26 | +| file://:0:0:0:0 | SideEffect | m2215_13 | +| file://:0:0:0:0 | SideEffect | m2215_13 | +| file://:0:0:0:0 | SideEffect | m2215_30 | +| file://:0:0:0:0 | SideEffect | m2215_30 | +| file://:0:0:0:0 | SideEffect | m2293_21 | +| file://:0:0:0:0 | SideEffect | m2293_21 | +| file://:0:0:0:0 | SideEffect | m2293_36 | +| file://:0:0:0:0 | SideEffect | m2293_36 | | file://:0:0:0:0 | SideEffect | ~m0_4 | | file://:0:0:0:0 | SideEffect | ~m0_4 | | file://:0:0:0:0 | SideEffect | ~m0_4 | @@ -1372,16 +1421,23 @@ | file://:0:0:0:0 | SideEffect | ~m96_8 | | file://:0:0:0:0 | SideEffect | ~m754_8 | | file://:0:0:0:0 | SideEffect | ~m763_8 | -| file://:0:0:0:0 | SideEffect | ~m1079_8 | -| file://:0:0:0:0 | SideEffect | ~m1079_8 | -| file://:0:0:0:0 | SideEffect | ~m1079_8 | -| file://:0:0:0:0 | SideEffect | ~m1079_8 | -| file://:0:0:0:0 | SideEffect | ~m1242_4 | -| file://:0:0:0:0 | SideEffect | ~m1449_6 | -| file://:0:0:0:0 | SideEffect | ~m1841_8 | -| file://:0:0:0:0 | SideEffect | ~m2175_6 | -| file://:0:0:0:0 | SideEffect | ~m2179_4 | -| file://:0:0:0:0 | SideEffect | ~m2186_6 | +| file://:0:0:0:0 | SideEffect | ~m1126_8 | +| file://:0:0:0:0 | SideEffect | ~m1126_8 | +| file://:0:0:0:0 | SideEffect | ~m1126_8 | +| file://:0:0:0:0 | SideEffect | ~m1126_8 | +| file://:0:0:0:0 | SideEffect | ~m1127_18 | +| file://:0:0:0:0 | SideEffect | ~m1133_18 | +| file://:0:0:0:0 | SideEffect | ~m1289_4 | +| file://:0:0:0:0 | SideEffect | ~m1496_6 | +| file://:0:0:0:0 | SideEffect | ~m1888_8 | +| file://:0:0:0:0 | SideEffect | ~m2201_29 | +| file://:0:0:0:0 | SideEffect | ~m2204_29 | +| file://:0:0:0:0 | SideEffect | ~m2210_25 | +| file://:0:0:0:0 | SideEffect | ~m2215_29 | +| file://:0:0:0:0 | SideEffect | ~m2222_6 | +| file://:0:0:0:0 | SideEffect | ~m2226_4 | +| file://:0:0:0:0 | SideEffect | ~m2233_6 | +| file://:0:0:0:0 | SideEffect | ~m2293_35 | | file://:0:0:0:0 | StoreValue | r0_1 | | file://:0:0:0:0 | StoreValue | r0_1 | | file://:0:0:0:0 | StoreValue | r0_1 | @@ -1432,30 +1488,37 @@ | file://:0:0:0:0 | Unary | r0_7 | | file://:0:0:0:0 | Unary | r0_8 | | file://:0:0:0:0 | Unary | r0_8 | +| file://:0:0:0:0 | Unary | r0_8 | | file://:0:0:0:0 | Unary | r0_9 | | file://:0:0:0:0 | Unary | r0_9 | | file://:0:0:0:0 | Unary | r0_9 | | file://:0:0:0:0 | Unary | r0_10 | | file://:0:0:0:0 | Unary | r0_10 | | file://:0:0:0:0 | Unary | r0_10 | -| file://:0:0:0:0 | Unary | r0_11 | +| file://:0:0:0:0 | Unary | r0_10 | +| file://:0:0:0:0 | Unary | r0_10 | | file://:0:0:0:0 | Unary | r0_11 | | file://:0:0:0:0 | Unary | r0_12 | | file://:0:0:0:0 | Unary | r0_14 | | file://:0:0:0:0 | Unary | r0_14 | -| file://:0:0:0:0 | Unary | r0_14 | +| file://:0:0:0:0 | Unary | r0_17 | | file://:0:0:0:0 | Unary | r0_17 | | file://:0:0:0:0 | Unary | r0_18 | | file://:0:0:0:0 | Unary | r0_18 | | file://:0:0:0:0 | Unary | r0_19 | | file://:0:0:0:0 | Unary | r0_20 | | file://:0:0:0:0 | Unary | r0_20 | +| file://:0:0:0:0 | Unary | r0_20 | | file://:0:0:0:0 | Unary | r0_21 | | file://:0:0:0:0 | Unary | r0_21 | -| file://:0:0:0:0 | Unary | r0_21 | -| file://:0:0:0:0 | Unary | r0_24 | -| file://:0:0:0:0 | Unary | r0_31 | -| file://:0:0:0:0 | Unary | r0_34 | +| file://:0:0:0:0 | Unary | r0_22 | +| file://:0:0:0:0 | Unary | r0_26 | +| file://:0:0:0:0 | Unary | r0_33 | +| file://:0:0:0:0 | Unary | r0_36 | +| file://:0:0:0:0 | Unary | r0_42 | +| file://:0:0:0:0 | Unary | r0_49 | +| file://:0:0:0:0 | Unary | r0_52 | +| file://:0:0:0:0 | Unary | r0_58 | | ir.c:7:6:7:17 | ChiPartial | partial:m7_3 | | ir.c:7:6:7:17 | ChiTotal | total:m7_2 | | ir.c:7:6:7:17 | SideEffect | ~m10_6 | @@ -6147,6333 +6210,6326 @@ | ir.cpp:1056:1:1056:1 | SideEffect | m1049_12 | | ir.cpp:1056:1:1056:1 | SideEffect | ~m1055_7 | | ir.cpp:1056:1:1056:1 | SideEffect | ~m1056_6 | -| ir.cpp:1079:6:1079:18 | ChiPartial | partial:m1079_3 | -| ir.cpp:1079:6:1079:18 | ChiTotal | total:m1079_2 | -| ir.cpp:1079:6:1079:18 | SideEffect | ~m1090_1 | -| ir.cpp:1079:39:1079:39 | Address | &:r1079_5 | -| ir.cpp:1079:39:1079:39 | Address | &:r1079_5 | -| ir.cpp:1079:39:1079:39 | Address | &:r1079_7 | -| ir.cpp:1079:39:1079:39 | Address | &:r1079_7 | -| ir.cpp:1079:39:1079:39 | Load | m1079_6 | -| ir.cpp:1079:39:1079:39 | SideEffect | m1079_8 | -| ir.cpp:1080:5:1080:5 | Address | &:r1080_1 | -| ir.cpp:1080:5:1080:5 | Address | &:r1080_7 | -| ir.cpp:1080:5:1080:5 | Address | &:r1080_15 | -| ir.cpp:1080:14:1080:14 | Address | &:r1080_33 | -| ir.cpp:1080:18:1080:18 | Address | &:r1080_2 | -| ir.cpp:1080:18:1080:18 | Address | &:r1080_8 | -| ir.cpp:1080:18:1080:18 | Address | &:r1080_16 | -| ir.cpp:1080:18:1080:18 | Address | &:r1080_27 | -| ir.cpp:1080:18:1080:18 | Address | &:r1080_36 | -| ir.cpp:1080:18:1080:18 | Address | &:r1080_42 | -| ir.cpp:1080:18:1080:18 | Address | &:r1080_42 | -| ir.cpp:1080:18:1080:18 | Arg(0) | 0:r1080_28 | -| ir.cpp:1080:18:1080:18 | Arg(this) | this:r0_1 | -| ir.cpp:1080:18:1080:18 | Arg(this) | this:r0_3 | -| ir.cpp:1080:18:1080:18 | Arg(this) | this:r0_5 | -| ir.cpp:1080:18:1080:18 | Arg(this) | this:r0_7 | -| ir.cpp:1080:18:1080:18 | Arg(this) | this:r1080_42 | -| ir.cpp:1080:18:1080:18 | CallTarget | func:r1080_10 | -| ir.cpp:1080:18:1080:18 | CallTarget | func:r1080_18 | -| ir.cpp:1080:18:1080:18 | CallTarget | func:r1080_26 | -| ir.cpp:1080:18:1080:18 | CallTarget | func:r1080_35 | -| ir.cpp:1080:18:1080:18 | CallTarget | func:r1080_43 | -| ir.cpp:1080:18:1080:18 | ChiPartial | partial:m1080_12 | -| ir.cpp:1080:18:1080:18 | ChiPartial | partial:m1080_20 | -| ir.cpp:1080:18:1080:18 | ChiPartial | partial:m1080_30 | -| ir.cpp:1080:18:1080:18 | ChiPartial | partial:m1080_37 | -| ir.cpp:1080:18:1080:18 | ChiPartial | partial:m1080_45 | -| ir.cpp:1080:18:1080:18 | ChiPartial | partial:m1080_48 | -| ir.cpp:1080:18:1080:18 | ChiTotal | total:m1079_4 | -| ir.cpp:1080:18:1080:18 | ChiTotal | total:m1080_13 | -| ir.cpp:1080:18:1080:18 | ChiTotal | total:m1080_23 | -| ir.cpp:1080:18:1080:18 | ChiTotal | total:m1080_24 | -| ir.cpp:1080:18:1080:18 | ChiTotal | total:m1080_31 | -| ir.cpp:1080:18:1080:18 | ChiTotal | total:m1080_38 | -| ir.cpp:1080:18:1080:18 | Condition | r1080_29 | -| ir.cpp:1080:18:1080:18 | Load | m1079_6 | -| ir.cpp:1080:18:1080:18 | Load | m1080_6 | -| ir.cpp:1080:18:1080:18 | Load | m1080_6 | -| ir.cpp:1080:18:1080:18 | Load | m1080_22 | -| ir.cpp:1080:18:1080:18 | Phi | from 0:m1080_14 | -| ir.cpp:1080:18:1080:18 | Phi | from 0:~m1080_21 | -| ir.cpp:1080:18:1080:18 | Phi | from 4:m1080_49 | -| ir.cpp:1080:18:1080:18 | Phi | from 4:~m1080_46 | -| ir.cpp:1080:18:1080:18 | SideEffect | m1080_23 | -| ir.cpp:1080:18:1080:18 | SideEffect | ~m1079_4 | -| ir.cpp:1080:18:1080:18 | SideEffect | ~m1080_13 | -| ir.cpp:1080:18:1080:18 | SideEffect | ~m1080_24 | -| ir.cpp:1080:18:1080:18 | SideEffect | ~m1080_31 | -| ir.cpp:1080:18:1080:18 | SideEffect | ~m1080_38 | -| ir.cpp:1080:18:1080:18 | StoreValue | r1080_5 | -| ir.cpp:1080:18:1080:18 | StoreValue | r1080_11 | -| ir.cpp:1080:18:1080:18 | StoreValue | r1080_19 | -| ir.cpp:1080:18:1080:18 | Unary | r1080_3 | -| ir.cpp:1080:18:1080:18 | Unary | r1080_4 | -| ir.cpp:1080:18:1080:18 | Unary | r1080_9 | -| ir.cpp:1080:18:1080:18 | Unary | r1080_17 | -| ir.cpp:1080:18:1080:18 | Unary | r1080_25 | -| ir.cpp:1080:18:1080:18 | Unary | r1080_34 | -| ir.cpp:1080:18:1080:18 | Unary | r1080_44 | -| ir.cpp:1080:18:1080:19 | Load | ~m1080_38 | -| ir.cpp:1080:18:1080:19 | StoreValue | r1080_39 | -| ir.cpp:1081:13:1081:13 | Address | &:r1081_1 | -| ir.cpp:1081:13:1081:13 | Left | r1081_2 | -| ir.cpp:1081:13:1081:13 | Load | m1080_40 | -| ir.cpp:1081:13:1081:17 | Condition | r1081_4 | -| ir.cpp:1081:17:1081:17 | Right | r1081_3 | -| ir.cpp:1086:5:1086:5 | Address | &:r1086_1 | -| ir.cpp:1086:5:1086:5 | Address | &:r1086_7 | -| ir.cpp:1086:5:1086:5 | Address | &:r1086_15 | -| ir.cpp:1086:21:1086:21 | Address | &:r1086_42 | -| ir.cpp:1086:25:1086:25 | Address | &:r1086_2 | -| ir.cpp:1086:25:1086:25 | Address | &:r1086_8 | -| ir.cpp:1086:25:1086:25 | Address | &:r1086_16 | -| ir.cpp:1086:25:1086:25 | Address | &:r1086_27 | -| ir.cpp:1086:25:1086:25 | Address | &:r1086_33 | -| ir.cpp:1086:25:1086:25 | Address | &:r1086_33 | -| ir.cpp:1086:25:1086:25 | Arg(0) | 0:r1086_28 | -| ir.cpp:1086:25:1086:25 | Arg(this) | this:r0_9 | -| ir.cpp:1086:25:1086:25 | Arg(this) | this:r0_11 | -| ir.cpp:1086:25:1086:25 | Arg(this) | this:r0_13 | -| ir.cpp:1086:25:1086:25 | Arg(this) | this:r0_15 | -| ir.cpp:1086:25:1086:25 | Arg(this) | this:r1086_33 | -| ir.cpp:1086:25:1086:25 | CallTarget | func:r1086_10 | -| ir.cpp:1086:25:1086:25 | CallTarget | func:r1086_18 | -| ir.cpp:1086:25:1086:25 | CallTarget | func:r1086_26 | -| ir.cpp:1086:25:1086:25 | CallTarget | func:r1086_34 | -| ir.cpp:1086:25:1086:25 | CallTarget | func:r1086_44 | -| ir.cpp:1086:25:1086:25 | ChiPartial | partial:m1086_12 | -| ir.cpp:1086:25:1086:25 | ChiPartial | partial:m1086_20 | -| ir.cpp:1086:25:1086:25 | ChiPartial | partial:m1086_30 | -| ir.cpp:1086:25:1086:25 | ChiPartial | partial:m1086_36 | -| ir.cpp:1086:25:1086:25 | ChiPartial | partial:m1086_39 | -| ir.cpp:1086:25:1086:25 | ChiPartial | partial:m1086_46 | -| ir.cpp:1086:25:1086:25 | ChiTotal | total:m1080_31 | -| ir.cpp:1086:25:1086:25 | ChiTotal | total:m1086_13 | -| ir.cpp:1086:25:1086:25 | ChiTotal | total:m1086_23 | -| ir.cpp:1086:25:1086:25 | ChiTotal | total:m1086_24 | -| ir.cpp:1086:25:1086:25 | ChiTotal | total:m1086_31 | -| ir.cpp:1086:25:1086:25 | ChiTotal | total:m1086_47 | -| ir.cpp:1086:25:1086:25 | Condition | r1086_29 | -| ir.cpp:1086:25:1086:25 | Load | m1079_6 | -| ir.cpp:1086:25:1086:25 | Load | m1086_6 | -| ir.cpp:1086:25:1086:25 | Load | m1086_6 | -| ir.cpp:1086:25:1086:25 | Load | m1086_22 | -| ir.cpp:1086:25:1086:25 | Phi | from 5:m1086_14 | -| ir.cpp:1086:25:1086:25 | Phi | from 5:~m1086_21 | -| ir.cpp:1086:25:1086:25 | Phi | from 7:m1086_40 | -| ir.cpp:1086:25:1086:25 | Phi | from 7:~m1086_37 | -| ir.cpp:1086:25:1086:25 | SideEffect | m1086_23 | -| ir.cpp:1086:25:1086:25 | SideEffect | ~m1080_31 | -| ir.cpp:1086:25:1086:25 | SideEffect | ~m1086_13 | -| ir.cpp:1086:25:1086:25 | SideEffect | ~m1086_24 | -| ir.cpp:1086:25:1086:25 | SideEffect | ~m1086_31 | -| ir.cpp:1086:25:1086:25 | SideEffect | ~m1086_47 | -| ir.cpp:1086:25:1086:25 | StoreValue | r1086_5 | -| ir.cpp:1086:25:1086:25 | StoreValue | r1086_11 | -| ir.cpp:1086:25:1086:25 | StoreValue | r1086_19 | -| ir.cpp:1086:25:1086:25 | Unary | r1086_3 | -| ir.cpp:1086:25:1086:25 | Unary | r1086_4 | -| ir.cpp:1086:25:1086:25 | Unary | r1086_9 | -| ir.cpp:1086:25:1086:25 | Unary | r1086_17 | -| ir.cpp:1086:25:1086:25 | Unary | r1086_25 | -| ir.cpp:1086:25:1086:25 | Unary | r1086_35 | -| ir.cpp:1086:25:1086:25 | Unary | r1086_43 | -| ir.cpp:1086:25:1086:25 | Unary | r1086_45 | -| ir.cpp:1086:25:1086:26 | StoreValue | r1086_50 | -| ir.cpp:1086:25:1086:26 | Unary | r1086_48 | -| ir.cpp:1086:25:1086:26 | Unary | r1086_49 | -| ir.cpp:1087:13:1087:13 | Address | &:r1087_1 | -| ir.cpp:1087:13:1087:13 | Address | &:r1087_2 | -| ir.cpp:1087:13:1087:13 | Left | r1087_3 | -| ir.cpp:1087:13:1087:13 | Load | m1086_51 | -| ir.cpp:1087:13:1087:13 | Load | ~m1086_47 | -| ir.cpp:1087:13:1087:17 | Condition | r1087_5 | -| ir.cpp:1087:17:1087:17 | Right | r1087_4 | -| ir.cpp:1090:5:1090:5 | Phi | from 6:~m1086_31 | -| ir.cpp:1090:5:1090:5 | Phi | from 9:~m1086_47 | -| ir.cpp:1110:5:1110:11 | Address | &:r1110_7 | -| ir.cpp:1110:5:1110:11 | ChiPartial | partial:m1110_3 | -| ir.cpp:1110:5:1110:11 | ChiTotal | total:m1110_2 | -| ir.cpp:1110:5:1110:11 | Load | m1112_4 | -| ir.cpp:1110:5:1110:11 | SideEffect | ~m1111_2 | -| ir.cpp:1110:17:1110:17 | Address | &:r1110_5 | -| ir.cpp:1111:3:1111:14 | ChiPartial | partial:m1111_1 | -| ir.cpp:1111:3:1111:14 | ChiTotal | total:m1110_4 | -| ir.cpp:1111:3:1111:14 | SideEffect | ~m1110_4 | -| ir.cpp:1112:3:1112:11 | Address | &:r1112_1 | -| ir.cpp:1112:10:1112:10 | Address | &:r1112_2 | -| ir.cpp:1112:10:1112:10 | Load | m1110_6 | -| ir.cpp:1112:10:1112:10 | StoreValue | r1112_3 | -| ir.cpp:1115:13:1115:30 | ChiPartial | partial:m1115_3 | -| ir.cpp:1115:13:1115:30 | ChiTotal | total:m1115_2 | -| ir.cpp:1115:13:1115:30 | SideEffect | ~m1117_2 | -| ir.cpp:1115:46:1115:46 | Address | &:r1115_5 | -| ir.cpp:1115:46:1115:46 | Address | &:r1115_5 | -| ir.cpp:1115:46:1115:46 | Address | &:r1115_7 | -| ir.cpp:1115:46:1115:46 | Address | &:r1115_7 | -| ir.cpp:1115:46:1115:46 | Load | m1115_6 | -| ir.cpp:1115:46:1115:46 | SideEffect | m1115_8 | -| ir.cpp:1115:62:1115:62 | Address | &:r1115_9 | -| ir.cpp:1115:79:1115:79 | Address | &:r1115_11 | -| ir.cpp:1115:79:1115:79 | Address | &:r1115_11 | -| ir.cpp:1115:79:1115:79 | Address | &:r1115_13 | -| ir.cpp:1115:79:1115:79 | Address | &:r1115_13 | -| ir.cpp:1115:79:1115:79 | Load | m1115_12 | -| ir.cpp:1115:79:1115:79 | SideEffect | m1115_14 | -| ir.cpp:1115:95:1115:95 | Address | &:r1115_15 | -| ir.cpp:1117:3:1121:6 | ChiPartial | partial:m1117_1 | -| ir.cpp:1117:3:1121:6 | ChiTotal | total:m1115_4 | -| ir.cpp:1117:3:1121:6 | SideEffect | ~m1115_4 | -| ir.cpp:1120:13:1120:13 | Address | &:r1120_1 | -| ir.cpp:1120:13:1120:13 | AsmOperand(0) | 0:r1120_3 | -| ir.cpp:1120:13:1120:13 | Load | m1115_6 | -| ir.cpp:1120:13:1120:13 | Unary | r1120_2 | -| ir.cpp:1120:23:1120:23 | AsmOperand(1) | 1:r1120_4 | -| ir.cpp:1120:33:1120:33 | Address | &:r1120_5 | -| ir.cpp:1120:33:1120:33 | Address | &:r1120_6 | -| ir.cpp:1120:33:1120:33 | AsmOperand(2) | 2:r1120_7 | -| ir.cpp:1120:33:1120:33 | Load | m1115_12 | -| ir.cpp:1120:33:1120:33 | Load | ~m1115_14 | -| ir.cpp:1120:42:1120:42 | Address | &:r1120_8 | -| ir.cpp:1120:42:1120:42 | AsmOperand(3) | 3:r1120_9 | -| ir.cpp:1120:42:1120:42 | Load | m1115_16 | -| ir.cpp:1124:6:1124:23 | ChiPartial | partial:m1124_3 | -| ir.cpp:1124:6:1124:23 | ChiTotal | total:m1124_2 | -| ir.cpp:1124:6:1124:23 | SideEffect | m1124_3 | -| ir.cpp:1127:9:1127:9 | Address | &:r1127_1 | -| ir.cpp:1128:9:1128:9 | Address | &:r1128_1 | -| ir.cpp:1129:29:1129:29 | Address | &:r1129_1 | -| ir.cpp:1139:6:1139:30 | ChiPartial | partial:m1139_3 | -| ir.cpp:1139:6:1139:30 | ChiTotal | total:m1139_2 | -| ir.cpp:1139:6:1139:30 | SideEffect | m1139_3 | -| ir.cpp:1141:5:1141:20 | Address | &:r1141_1 | -| ir.cpp:1141:5:1141:20 | Address | &:r1141_5 | -| ir.cpp:1141:5:1141:20 | Address | &:r1141_10 | -| ir.cpp:1141:5:1141:20 | Address | &:r1141_10 | -| ir.cpp:1141:5:1141:20 | Condition | r1141_8 | -| ir.cpp:1141:5:1141:20 | Left | r1141_6 | -| ir.cpp:1141:5:1141:20 | Left | r1141_11 | -| ir.cpp:1141:5:1141:20 | Load | m1141_4 | -| ir.cpp:1141:5:1141:20 | Load | m1141_4 | -| ir.cpp:1141:5:1141:20 | Phi | from 0:m1141_3 | -| ir.cpp:1141:5:1141:20 | Phi | from 2:m1141_14 | -| ir.cpp:1141:5:1141:20 | Right | r1141_7 | -| ir.cpp:1141:5:1141:20 | Right | r1141_12 | -| ir.cpp:1141:5:1141:20 | StoreValue | r1141_2 | -| ir.cpp:1141:5:1141:20 | StoreValue | r1141_13 | -| ir.cpp:1144:6:1144:23 | ChiPartial | partial:m1144_3 | -| ir.cpp:1144:6:1144:23 | ChiTotal | total:m1144_2 | -| ir.cpp:1144:6:1144:23 | Phi | from 2:~m1144_10 | -| ir.cpp:1144:6:1144:23 | Phi | from 7:~m1156_8 | -| ir.cpp:1144:6:1144:23 | Phi | from 8:~m1144_4 | -| ir.cpp:1144:6:1144:23 | Phi | from 10:~m1144_4 | -| ir.cpp:1144:6:1144:23 | SideEffect | ~m1144_7 | -| ir.cpp:1144:30:1144:30 | Address | &:r1144_5 | -| ir.cpp:1146:9:1146:9 | Address | &:r1146_1 | -| ir.cpp:1146:12:1146:13 | StoreValue | r1146_2 | -| ir.cpp:1147:9:1147:9 | Address | &:r1147_1 | -| ir.cpp:1147:9:1147:9 | Condition | r1147_2 | -| ir.cpp:1147:9:1147:9 | Load | m1144_6 | -| ir.cpp:1148:7:1148:28 | Address | &:r1148_1 | -| ir.cpp:1148:7:1148:28 | Address | &:r1148_1 | -| ir.cpp:1148:7:1148:28 | Load | m1148_4 | -| ir.cpp:1148:13:1148:28 | StoreValue | r1148_3 | -| ir.cpp:1148:13:1148:28 | Unary | r1148_2 | -| ir.cpp:1150:14:1150:14 | Address | &:r1150_1 | -| ir.cpp:1150:14:1150:14 | Left | r1150_2 | -| ir.cpp:1150:14:1150:14 | Load | m1146_3 | -| ir.cpp:1150:14:1150:18 | Condition | r1150_4 | -| ir.cpp:1150:18:1150:18 | Right | r1150_3 | -| ir.cpp:1153:5:1153:5 | Address | &:r1153_2 | -| ir.cpp:1153:9:1153:9 | StoreValue | r1153_1 | -| ir.cpp:1155:22:1155:22 | Address | &:r1155_2 | -| ir.cpp:1155:22:1155:22 | Address | &:r1155_2 | -| ir.cpp:1155:22:1155:22 | Address | &:r1155_4 | -| ir.cpp:1155:22:1155:22 | Load | m1155_3 | -| ir.cpp:1156:5:1156:19 | Address | &:r1156_1 | -| ir.cpp:1156:5:1156:19 | Address | &:r1156_1 | -| ir.cpp:1156:5:1156:19 | Address | &:r1156_1 | -| ir.cpp:1156:5:1156:19 | Arg(this) | this:r1156_1 | -| ir.cpp:1156:5:1156:19 | CallTarget | func:r1156_3 | -| ir.cpp:1156:5:1156:19 | ChiPartial | partial:m1156_7 | -| ir.cpp:1156:5:1156:19 | ChiPartial | partial:m1156_10 | -| ir.cpp:1156:5:1156:19 | ChiTotal | total:m1144_4 | -| ir.cpp:1156:5:1156:19 | ChiTotal | total:m1156_2 | -| ir.cpp:1156:5:1156:19 | Load | m1156_11 | -| ir.cpp:1156:5:1156:19 | SideEffect | ~m1144_4 | -| ir.cpp:1156:18:1156:18 | Address | &:r1156_4 | -| ir.cpp:1156:18:1156:18 | Address | &:r1156_5 | -| ir.cpp:1156:18:1156:18 | Arg(0) | 0:r1156_5 | -| ir.cpp:1156:18:1156:18 | Load | m1155_3 | -| ir.cpp:1156:18:1156:18 | SideEffect | ~m1155_5 | -| ir.cpp:1158:24:1158:24 | Address | &:r1158_2 | -| ir.cpp:1158:24:1158:24 | Address | &:r1158_2 | -| ir.cpp:1158:24:1158:24 | Address | &:r1158_4 | -| ir.cpp:1158:24:1158:24 | Load | m1158_3 | -| ir.cpp:1164:6:1164:16 | ChiPartial | partial:m1164_3 | -| ir.cpp:1164:6:1164:16 | ChiTotal | total:m1164_2 | -| ir.cpp:1164:6:1164:16 | SideEffect | m1164_3 | -| ir.cpp:1164:22:1164:22 | Address | &:r1164_5 | -| ir.cpp:1165:18:1165:20 | Address | &:r1165_1 | -| ir.cpp:1165:18:1165:20 | Left | r1165_1 | -| ir.cpp:1165:18:1165:20 | Left | r1165_1 | -| ir.cpp:1165:18:1165:20 | Left | r1165_1 | -| ir.cpp:1165:18:1165:20 | Left | r1165_1 | -| ir.cpp:1165:23:1165:37 | Address | &:r1165_4 | -| ir.cpp:1165:23:1165:37 | Address | &:r1165_9 | -| ir.cpp:1165:23:1165:37 | Address | &:r1165_14 | -| ir.cpp:1165:23:1165:37 | Address | &:r1165_19 | -| ir.cpp:1165:23:1165:37 | Right | r1165_3 | -| ir.cpp:1165:23:1165:37 | Right | r1165_8 | -| ir.cpp:1165:23:1165:37 | Right | r1165_13 | -| ir.cpp:1165:23:1165:37 | Right | r1165_18 | -| ir.cpp:1165:26:1165:26 | ChiPartial | partial:m1165_6 | -| ir.cpp:1165:26:1165:26 | ChiTotal | total:m1165_2 | -| ir.cpp:1165:26:1165:26 | StoreValue | r1165_5 | -| ir.cpp:1165:29:1165:29 | ChiPartial | partial:m1165_11 | -| ir.cpp:1165:29:1165:29 | ChiTotal | total:m1165_7 | -| ir.cpp:1165:29:1165:29 | StoreValue | r1165_10 | -| ir.cpp:1165:32:1165:32 | ChiPartial | partial:m1165_16 | -| ir.cpp:1165:32:1165:32 | ChiTotal | total:m1165_12 | -| ir.cpp:1165:32:1165:32 | StoreValue | r1165_15 | -| ir.cpp:1165:35:1165:35 | ChiPartial | partial:m1165_21 | -| ir.cpp:1165:35:1165:35 | ChiTotal | total:m1165_17 | -| ir.cpp:1165:35:1165:35 | StoreValue | r1165_20 | -| ir.cpp:1166:7:1166:7 | Address | &:r1166_1 | -| ir.cpp:1166:11:1166:13 | Left | r1166_2 | -| ir.cpp:1166:11:1166:16 | Address | &:r1166_5 | -| ir.cpp:1166:11:1166:16 | Load | ~m1165_22 | -| ir.cpp:1166:11:1166:16 | StoreValue | r1166_6 | -| ir.cpp:1166:15:1166:15 | Address | &:r1166_3 | -| ir.cpp:1166:15:1166:15 | Load | m1164_6 | -| ir.cpp:1166:15:1166:15 | Right | r1166_4 | -| ir.cpp:1167:3:1167:5 | Left | r1167_3 | -| ir.cpp:1167:3:1167:8 | Address | &:r1167_6 | -| ir.cpp:1167:3:1167:12 | ChiPartial | partial:m1167_7 | -| ir.cpp:1167:3:1167:12 | ChiTotal | total:m1165_22 | -| ir.cpp:1167:7:1167:7 | Address | &:r1167_4 | -| ir.cpp:1167:7:1167:7 | Load | m1164_6 | -| ir.cpp:1167:7:1167:7 | Right | r1167_5 | -| ir.cpp:1167:12:1167:12 | Address | &:r1167_1 | -| ir.cpp:1167:12:1167:12 | Load | m1166_7 | -| ir.cpp:1167:12:1167:12 | StoreValue | r1167_2 | -| ir.cpp:1168:18:1168:28 | Address | &:r1168_1 | -| ir.cpp:1168:32:1168:78 | Arg(2) | 2:r1168_6 | -| ir.cpp:1168:32:1168:78 | StoreValue | r1168_10 | -| ir.cpp:1168:56:1168:58 | Address | &:r1168_2 | -| ir.cpp:1168:56:1168:58 | Arg(0) | 0:r1168_3 | -| ir.cpp:1168:56:1168:58 | Load | m1167_8 | -| ir.cpp:1168:61:1168:63 | Address | &:r1168_4 | -| ir.cpp:1168:61:1168:63 | Arg(1) | 1:r1168_5 | -| ir.cpp:1168:61:1168:63 | Load | m1167_8 | -| ir.cpp:1168:71:1168:71 | Arg(3) | 3:r1168_7 | -| ir.cpp:1168:74:1168:74 | Arg(4) | 4:r1168_8 | -| ir.cpp:1168:77:1168:77 | Arg(5) | 5:r1168_9 | -| ir.cpp:1169:3:1169:5 | Address | &:r1169_6 | -| ir.cpp:1169:9:1169:11 | Address | &:r1169_1 | -| ir.cpp:1169:9:1169:11 | Left | r1169_2 | -| ir.cpp:1169:9:1169:11 | Load | m1167_8 | -| ir.cpp:1169:9:1169:25 | StoreValue | r1169_5 | -| ir.cpp:1169:15:1169:25 | Address | &:r1169_3 | -| ir.cpp:1169:15:1169:25 | Load | m1168_11 | -| ir.cpp:1169:15:1169:25 | Right | r1169_4 | -| ir.cpp:1174:5:1174:21 | Address | &:r1174_7 | -| ir.cpp:1174:5:1174:21 | ChiPartial | partial:m1174_3 | -| ir.cpp:1174:5:1174:21 | ChiTotal | total:m1174_2 | -| ir.cpp:1174:5:1174:21 | Load | m1177_4 | -| ir.cpp:1174:5:1174:21 | SideEffect | m1174_3 | -| ir.cpp:1174:27:1174:27 | Address | &:r1174_5 | -| ir.cpp:1175:7:1175:7 | Address | &:r1175_1 | -| ir.cpp:1176:3:1176:8 | CallTarget | func:r1176_1 | -| ir.cpp:1176:10:1176:11 | Address | &:r1176_4 | -| ir.cpp:1176:10:1176:11 | Arg(0) | 0:r1176_4 | -| ir.cpp:1176:10:1176:11 | ChiPartial | partial:m1176_11 | -| ir.cpp:1176:10:1176:11 | ChiTotal | total:m1175_2 | -| ir.cpp:1176:10:1176:11 | Unary | r1176_3 | -| ir.cpp:1176:11:1176:11 | Unary | r1176_2 | -| ir.cpp:1176:14:1176:15 | Address | &:r1176_7 | -| ir.cpp:1176:14:1176:15 | Arg(1) | 1:r1176_7 | -| ir.cpp:1176:14:1176:15 | SideEffect | ~m1174_6 | -| ir.cpp:1176:14:1176:15 | Unary | r1176_6 | -| ir.cpp:1176:15:1176:15 | Unary | r1176_5 | -| ir.cpp:1176:18:1176:28 | Arg(2) | 2:r1176_8 | -| ir.cpp:1176:18:1176:28 | BufferSize | r1176_8 | -| ir.cpp:1176:18:1176:28 | BufferSize | r1176_8 | -| ir.cpp:1177:3:1177:11 | Address | &:r1177_1 | -| ir.cpp:1177:10:1177:10 | Address | &:r1177_2 | -| ir.cpp:1177:10:1177:10 | Load | m1176_12 | -| ir.cpp:1177:10:1177:10 | StoreValue | r1177_3 | -| ir.cpp:1180:8:1180:23 | Address | &:r1180_5 | -| ir.cpp:1180:8:1180:23 | ChiPartial | partial:m1180_3 | -| ir.cpp:1180:8:1180:23 | ChiTotal | total:m1180_2 | -| ir.cpp:1180:8:1180:23 | Load | m1181_11 | -| ir.cpp:1180:8:1180:23 | SideEffect | ~m1181_8 | -| ir.cpp:1181:3:1181:23 | Address | &:r1181_1 | -| ir.cpp:1181:3:1181:23 | Address | &:r1181_1 | -| ir.cpp:1181:3:1181:23 | Arg(this) | this:r1181_1 | -| ir.cpp:1181:3:1181:23 | CallTarget | func:r1181_3 | -| ir.cpp:1181:3:1181:23 | ChiPartial | partial:m1181_7 | -| ir.cpp:1181:3:1181:23 | ChiPartial | partial:m1181_10 | -| ir.cpp:1181:3:1181:23 | ChiTotal | total:m1180_4 | -| ir.cpp:1181:3:1181:23 | ChiTotal | total:m1181_2 | -| ir.cpp:1181:3:1181:23 | SideEffect | ~m1180_4 | -| ir.cpp:1181:17:1181:21 | Address | &:r1181_5 | -| ir.cpp:1181:17:1181:21 | Arg(0) | 0:r1181_5 | -| ir.cpp:1181:17:1181:21 | SideEffect | ~m1180_3 | -| ir.cpp:1181:17:1181:21 | Unary | r1181_4 | -| ir.cpp:1184:6:1184:16 | ChiPartial | partial:m1184_3 | -| ir.cpp:1184:6:1184:16 | ChiTotal | total:m1184_2 | -| ir.cpp:1184:6:1184:16 | SideEffect | m1184_3 | -| ir.cpp:1184:22:1184:22 | Address | &:r1184_5 | -| ir.cpp:1185:9:1185:9 | Address | &:r1185_1 | -| ir.cpp:1185:12:1185:13 | StoreValue | r1185_2 | -| ir.cpp:1186:12:1186:12 | Address | &:r1186_1 | -| ir.cpp:1186:12:1186:12 | Condition | r1186_2 | -| ir.cpp:1186:12:1186:12 | Load | m1184_6 | -| ir.cpp:1188:9:1188:9 | Address | &:r1188_2 | -| ir.cpp:1188:13:1188:13 | StoreValue | r1188_1 | -| ir.cpp:1190:9:1190:9 | Address | &:r1190_2 | -| ir.cpp:1190:9:1190:9 | Phi | from 0:m1185_3 | -| ir.cpp:1190:9:1190:9 | Phi | from 1:m1188_3 | -| ir.cpp:1190:13:1190:13 | Address | &:r1190_3 | -| ir.cpp:1190:13:1190:13 | Load | m1190_1 | -| ir.cpp:1190:13:1190:13 | StoreValue | r1190_4 | -| ir.cpp:1193:6:1193:28 | ChiPartial | partial:m1193_3 | -| ir.cpp:1193:6:1193:28 | ChiTotal | total:m1193_2 | -| ir.cpp:1193:6:1193:28 | SideEffect | m1193_3 | -| ir.cpp:1193:34:1193:34 | Address | &:r1193_5 | +| ir.cpp:1126:6:1126:18 | ChiPartial | partial:m1126_3 | +| ir.cpp:1126:6:1126:18 | ChiTotal | total:m1126_2 | +| ir.cpp:1126:6:1126:18 | SideEffect | ~m1137_1 | +| ir.cpp:1126:44:1126:44 | Address | &:r1126_5 | +| ir.cpp:1126:44:1126:44 | Address | &:r1126_5 | +| ir.cpp:1126:44:1126:44 | Address | &:r1126_7 | +| ir.cpp:1126:44:1126:44 | Address | &:r1126_7 | +| ir.cpp:1126:44:1126:44 | Load | m1126_6 | +| ir.cpp:1126:44:1126:44 | SideEffect | m1126_8 | +| ir.cpp:1127:5:1127:5 | Address | &:r1127_1 | +| ir.cpp:1127:5:1127:5 | Address | &:r1127_7 | +| ir.cpp:1127:5:1127:5 | Address | &:r1127_13 | +| ir.cpp:1127:14:1127:14 | Address | &:r1127_34 | +| ir.cpp:1127:18:1127:18 | Address | &:r1127_2 | +| ir.cpp:1127:18:1127:18 | Address | &:r1127_8 | +| ir.cpp:1127:18:1127:18 | Address | &:r1127_14 | +| ir.cpp:1127:18:1127:18 | Address | &:r1127_37 | +| ir.cpp:1127:18:1127:18 | Address | &:r1127_43 | +| ir.cpp:1127:18:1127:18 | Address | &:r1127_43 | +| ir.cpp:1127:18:1127:18 | Arg(this) | this:r0_1 | +| ir.cpp:1127:18:1127:18 | Arg(this) | this:r0_3 | +| ir.cpp:1127:18:1127:18 | Arg(this) | this:r0_5 | +| ir.cpp:1127:18:1127:18 | Arg(this) | this:r0_6 | +| ir.cpp:1127:18:1127:18 | Arg(this) | this:r0_13 | +| ir.cpp:1127:18:1127:18 | Arg(this) | this:r1127_43 | +| ir.cpp:1127:18:1127:18 | CallTarget | func:r1127_10 | +| ir.cpp:1127:18:1127:18 | CallTarget | func:r1127_16 | +| ir.cpp:1127:18:1127:18 | CallTarget | func:r1127_22 | +| ir.cpp:1127:18:1127:18 | CallTarget | func:r1127_23 | +| ir.cpp:1127:18:1127:18 | CallTarget | func:r1127_36 | +| ir.cpp:1127:18:1127:18 | CallTarget | func:r1127_44 | +| ir.cpp:1127:18:1127:18 | ChiPartial | partial:m1127_26 | +| ir.cpp:1127:18:1127:18 | ChiPartial | partial:m1127_28 | +| ir.cpp:1127:18:1127:18 | ChiPartial | partial:m1127_31 | +| ir.cpp:1127:18:1127:18 | ChiPartial | partial:m1127_38 | +| ir.cpp:1127:18:1127:18 | ChiPartial | partial:m1127_46 | +| ir.cpp:1127:18:1127:18 | ChiPartial | partial:m1127_49 | +| ir.cpp:1127:18:1127:18 | ChiTotal | total:m0_7 | +| ir.cpp:1127:18:1127:18 | ChiTotal | total:m1127_19 | +| ir.cpp:1127:18:1127:18 | ChiTotal | total:m1127_20 | +| ir.cpp:1127:18:1127:18 | ChiTotal | total:m1127_27 | +| ir.cpp:1127:18:1127:18 | ChiTotal | total:m1127_32 | +| ir.cpp:1127:18:1127:18 | ChiTotal | total:m1127_39 | +| ir.cpp:1127:18:1127:18 | Condition | r1127_30 | +| ir.cpp:1127:18:1127:18 | Load | m1126_6 | +| ir.cpp:1127:18:1127:18 | Load | m1127_6 | +| ir.cpp:1127:18:1127:18 | Load | m1127_6 | +| ir.cpp:1127:18:1127:18 | Phi | from 0:m1127_12 | +| ir.cpp:1127:18:1127:18 | Phi | from 0:~m1126_4 | +| ir.cpp:1127:18:1127:18 | Phi | from 4:m1127_50 | +| ir.cpp:1127:18:1127:18 | Phi | from 4:~m1127_47 | +| ir.cpp:1127:18:1127:18 | SideEffect | m1127_19 | +| ir.cpp:1127:18:1127:18 | SideEffect | ~m1127_20 | +| ir.cpp:1127:18:1127:18 | SideEffect | ~m1127_27 | +| ir.cpp:1127:18:1127:18 | SideEffect | ~m1127_32 | +| ir.cpp:1127:18:1127:18 | SideEffect | ~m1127_39 | +| ir.cpp:1127:18:1127:18 | StoreValue | r1127_5 | +| ir.cpp:1127:18:1127:18 | StoreValue | r1127_11 | +| ir.cpp:1127:18:1127:18 | StoreValue | r1127_17 | +| ir.cpp:1127:18:1127:18 | Unary | r1127_3 | +| ir.cpp:1127:18:1127:18 | Unary | r1127_4 | +| ir.cpp:1127:18:1127:18 | Unary | r1127_9 | +| ir.cpp:1127:18:1127:18 | Unary | r1127_15 | +| ir.cpp:1127:18:1127:18 | Unary | r1127_21 | +| ir.cpp:1127:18:1127:18 | Unary | r1127_24 | +| ir.cpp:1127:18:1127:18 | Unary | r1127_35 | +| ir.cpp:1127:18:1127:18 | Unary | r1127_45 | +| ir.cpp:1127:18:1127:19 | Load | ~m1127_39 | +| ir.cpp:1127:18:1127:19 | StoreValue | r1127_40 | +| ir.cpp:1128:13:1128:13 | Address | &:r1128_1 | +| ir.cpp:1128:13:1128:13 | Left | r1128_2 | +| ir.cpp:1128:13:1128:13 | Load | m1127_41 | +| ir.cpp:1128:13:1128:17 | Condition | r1128_4 | +| ir.cpp:1128:17:1128:17 | Right | r1128_3 | +| ir.cpp:1133:5:1133:5 | Address | &:r1133_1 | +| ir.cpp:1133:5:1133:5 | Address | &:r1133_7 | +| ir.cpp:1133:5:1133:5 | Address | &:r1133_13 | +| ir.cpp:1133:21:1133:21 | Address | &:r1133_43 | +| ir.cpp:1133:25:1133:25 | Address | &:r1133_2 | +| ir.cpp:1133:25:1133:25 | Address | &:r1133_8 | +| ir.cpp:1133:25:1133:25 | Address | &:r1133_14 | +| ir.cpp:1133:25:1133:25 | Address | &:r1133_34 | +| ir.cpp:1133:25:1133:25 | Address | &:r1133_34 | +| ir.cpp:1133:25:1133:25 | Arg(this) | this:r0_15 | +| ir.cpp:1133:25:1133:25 | Arg(this) | this:r0_17 | +| ir.cpp:1133:25:1133:25 | Arg(this) | this:r0_19 | +| ir.cpp:1133:25:1133:25 | Arg(this) | this:r0_20 | +| ir.cpp:1133:25:1133:25 | Arg(this) | this:r0_27 | +| ir.cpp:1133:25:1133:25 | Arg(this) | this:r1133_34 | +| ir.cpp:1133:25:1133:25 | CallTarget | func:r1133_10 | +| ir.cpp:1133:25:1133:25 | CallTarget | func:r1133_16 | +| ir.cpp:1133:25:1133:25 | CallTarget | func:r1133_22 | +| ir.cpp:1133:25:1133:25 | CallTarget | func:r1133_23 | +| ir.cpp:1133:25:1133:25 | CallTarget | func:r1133_35 | +| ir.cpp:1133:25:1133:25 | CallTarget | func:r1133_45 | +| ir.cpp:1133:25:1133:25 | ChiPartial | partial:m1133_26 | +| ir.cpp:1133:25:1133:25 | ChiPartial | partial:m1133_28 | +| ir.cpp:1133:25:1133:25 | ChiPartial | partial:m1133_31 | +| ir.cpp:1133:25:1133:25 | ChiPartial | partial:m1133_37 | +| ir.cpp:1133:25:1133:25 | ChiPartial | partial:m1133_40 | +| ir.cpp:1133:25:1133:25 | ChiPartial | partial:m1133_47 | +| ir.cpp:1133:25:1133:25 | ChiTotal | total:m0_21 | +| ir.cpp:1133:25:1133:25 | ChiTotal | total:m1133_19 | +| ir.cpp:1133:25:1133:25 | ChiTotal | total:m1133_20 | +| ir.cpp:1133:25:1133:25 | ChiTotal | total:m1133_27 | +| ir.cpp:1133:25:1133:25 | ChiTotal | total:m1133_32 | +| ir.cpp:1133:25:1133:25 | ChiTotal | total:m1133_48 | +| ir.cpp:1133:25:1133:25 | Condition | r1133_30 | +| ir.cpp:1133:25:1133:25 | Load | m1126_6 | +| ir.cpp:1133:25:1133:25 | Load | m1133_6 | +| ir.cpp:1133:25:1133:25 | Load | m1133_6 | +| ir.cpp:1133:25:1133:25 | Phi | from 5:m1133_12 | +| ir.cpp:1133:25:1133:25 | Phi | from 5:~m1127_32 | +| ir.cpp:1133:25:1133:25 | Phi | from 7:m1133_41 | +| ir.cpp:1133:25:1133:25 | Phi | from 7:~m1133_38 | +| ir.cpp:1133:25:1133:25 | SideEffect | m1133_19 | +| ir.cpp:1133:25:1133:25 | SideEffect | ~m1133_20 | +| ir.cpp:1133:25:1133:25 | SideEffect | ~m1133_27 | +| ir.cpp:1133:25:1133:25 | SideEffect | ~m1133_32 | +| ir.cpp:1133:25:1133:25 | SideEffect | ~m1133_48 | +| ir.cpp:1133:25:1133:25 | StoreValue | r1133_5 | +| ir.cpp:1133:25:1133:25 | StoreValue | r1133_11 | +| ir.cpp:1133:25:1133:25 | StoreValue | r1133_17 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_3 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_4 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_9 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_15 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_21 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_24 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_36 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_44 | +| ir.cpp:1133:25:1133:25 | Unary | r1133_46 | +| ir.cpp:1133:25:1133:26 | StoreValue | r1133_51 | +| ir.cpp:1133:25:1133:26 | Unary | r1133_49 | +| ir.cpp:1133:25:1133:26 | Unary | r1133_50 | +| ir.cpp:1134:13:1134:13 | Address | &:r1134_1 | +| ir.cpp:1134:13:1134:13 | Address | &:r1134_2 | +| ir.cpp:1134:13:1134:13 | Left | r1134_3 | +| ir.cpp:1134:13:1134:13 | Load | m1133_52 | +| ir.cpp:1134:13:1134:13 | Load | ~m1133_48 | +| ir.cpp:1134:13:1134:17 | Condition | r1134_5 | +| ir.cpp:1134:17:1134:17 | Right | r1134_4 | +| ir.cpp:1137:5:1137:5 | Phi | from 6:~m1133_32 | +| ir.cpp:1137:5:1137:5 | Phi | from 9:~m1133_48 | +| ir.cpp:1157:5:1157:11 | Address | &:r1157_7 | +| ir.cpp:1157:5:1157:11 | ChiPartial | partial:m1157_3 | +| ir.cpp:1157:5:1157:11 | ChiTotal | total:m1157_2 | +| ir.cpp:1157:5:1157:11 | Load | m1159_4 | +| ir.cpp:1157:5:1157:11 | SideEffect | ~m1158_2 | +| ir.cpp:1157:17:1157:17 | Address | &:r1157_5 | +| ir.cpp:1158:3:1158:14 | ChiPartial | partial:m1158_1 | +| ir.cpp:1158:3:1158:14 | ChiTotal | total:m1157_4 | +| ir.cpp:1158:3:1158:14 | SideEffect | ~m1157_4 | +| ir.cpp:1159:3:1159:11 | Address | &:r1159_1 | +| ir.cpp:1159:10:1159:10 | Address | &:r1159_2 | +| ir.cpp:1159:10:1159:10 | Load | m1157_6 | +| ir.cpp:1159:10:1159:10 | StoreValue | r1159_3 | +| ir.cpp:1162:13:1162:30 | ChiPartial | partial:m1162_3 | +| ir.cpp:1162:13:1162:30 | ChiTotal | total:m1162_2 | +| ir.cpp:1162:13:1162:30 | SideEffect | ~m1164_2 | +| ir.cpp:1162:46:1162:46 | Address | &:r1162_5 | +| ir.cpp:1162:46:1162:46 | Address | &:r1162_5 | +| ir.cpp:1162:46:1162:46 | Address | &:r1162_7 | +| ir.cpp:1162:46:1162:46 | Address | &:r1162_7 | +| ir.cpp:1162:46:1162:46 | Load | m1162_6 | +| ir.cpp:1162:46:1162:46 | SideEffect | m1162_8 | +| ir.cpp:1162:62:1162:62 | Address | &:r1162_9 | +| ir.cpp:1162:79:1162:79 | Address | &:r1162_11 | +| ir.cpp:1162:79:1162:79 | Address | &:r1162_11 | +| ir.cpp:1162:79:1162:79 | Address | &:r1162_13 | +| ir.cpp:1162:79:1162:79 | Address | &:r1162_13 | +| ir.cpp:1162:79:1162:79 | Load | m1162_12 | +| ir.cpp:1162:79:1162:79 | SideEffect | m1162_14 | +| ir.cpp:1162:95:1162:95 | Address | &:r1162_15 | +| ir.cpp:1164:3:1168:6 | ChiPartial | partial:m1164_1 | +| ir.cpp:1164:3:1168:6 | ChiTotal | total:m1162_4 | +| ir.cpp:1164:3:1168:6 | SideEffect | ~m1162_4 | +| ir.cpp:1167:13:1167:13 | Address | &:r1167_1 | +| ir.cpp:1167:13:1167:13 | AsmOperand(0) | 0:r1167_3 | +| ir.cpp:1167:13:1167:13 | Load | m1162_6 | +| ir.cpp:1167:13:1167:13 | Unary | r1167_2 | +| ir.cpp:1167:23:1167:23 | AsmOperand(1) | 1:r1167_4 | +| ir.cpp:1167:33:1167:33 | Address | &:r1167_5 | +| ir.cpp:1167:33:1167:33 | Address | &:r1167_6 | +| ir.cpp:1167:33:1167:33 | AsmOperand(2) | 2:r1167_7 | +| ir.cpp:1167:33:1167:33 | Load | m1162_12 | +| ir.cpp:1167:33:1167:33 | Load | ~m1162_14 | +| ir.cpp:1167:42:1167:42 | Address | &:r1167_8 | +| ir.cpp:1167:42:1167:42 | AsmOperand(3) | 3:r1167_9 | +| ir.cpp:1167:42:1167:42 | Load | m1162_16 | +| ir.cpp:1171:6:1171:23 | ChiPartial | partial:m1171_3 | +| ir.cpp:1171:6:1171:23 | ChiTotal | total:m1171_2 | +| ir.cpp:1171:6:1171:23 | SideEffect | m1171_3 | +| ir.cpp:1174:9:1174:9 | Address | &:r1174_1 | +| ir.cpp:1175:9:1175:9 | Address | &:r1175_1 | +| ir.cpp:1176:29:1176:29 | Address | &:r1176_1 | +| ir.cpp:1186:6:1186:30 | ChiPartial | partial:m1186_3 | +| ir.cpp:1186:6:1186:30 | ChiTotal | total:m1186_2 | +| ir.cpp:1186:6:1186:30 | SideEffect | m1186_3 | +| ir.cpp:1188:5:1188:20 | Address | &:r1188_1 | +| ir.cpp:1188:5:1188:20 | Address | &:r1188_5 | +| ir.cpp:1188:5:1188:20 | Address | &:r1188_10 | +| ir.cpp:1188:5:1188:20 | Address | &:r1188_10 | +| ir.cpp:1188:5:1188:20 | Condition | r1188_8 | +| ir.cpp:1188:5:1188:20 | Left | r1188_6 | +| ir.cpp:1188:5:1188:20 | Left | r1188_11 | +| ir.cpp:1188:5:1188:20 | Load | m1188_4 | +| ir.cpp:1188:5:1188:20 | Load | m1188_4 | +| ir.cpp:1188:5:1188:20 | Phi | from 0:m1188_3 | +| ir.cpp:1188:5:1188:20 | Phi | from 2:m1188_14 | +| ir.cpp:1188:5:1188:20 | Right | r1188_7 | +| ir.cpp:1188:5:1188:20 | Right | r1188_12 | +| ir.cpp:1188:5:1188:20 | StoreValue | r1188_2 | +| ir.cpp:1188:5:1188:20 | StoreValue | r1188_13 | +| ir.cpp:1191:6:1191:23 | ChiPartial | partial:m1191_3 | +| ir.cpp:1191:6:1191:23 | ChiTotal | total:m1191_2 | +| ir.cpp:1191:6:1191:23 | Phi | from 2:~m1191_10 | +| ir.cpp:1191:6:1191:23 | Phi | from 7:~m1203_8 | +| ir.cpp:1191:6:1191:23 | Phi | from 8:~m1191_4 | +| ir.cpp:1191:6:1191:23 | Phi | from 10:~m1191_4 | +| ir.cpp:1191:6:1191:23 | SideEffect | ~m1191_7 | +| ir.cpp:1191:30:1191:30 | Address | &:r1191_5 | +| ir.cpp:1193:9:1193:9 | Address | &:r1193_1 | +| ir.cpp:1193:12:1193:13 | StoreValue | r1193_2 | | ir.cpp:1194:9:1194:9 | Address | &:r1194_1 | -| ir.cpp:1194:12:1194:13 | StoreValue | r1194_2 | -| ir.cpp:1195:12:1195:12 | Address | &:r1195_1 | -| ir.cpp:1195:12:1195:12 | Condition | r1195_2 | -| ir.cpp:1195:12:1195:12 | Load | m1193_6 | -| ir.cpp:1197:9:1197:9 | Address | &:r1197_2 | -| ir.cpp:1197:13:1197:13 | StoreValue | r1197_1 | -| ir.cpp:1199:9:1199:9 | Address | &:r1199_2 | -| ir.cpp:1199:13:1199:13 | StoreValue | r1199_1 | -| ir.cpp:1201:9:1201:9 | Address | &:r1201_2 | -| ir.cpp:1201:9:1201:9 | Phi | from 0:m1194_3 | -| ir.cpp:1201:9:1201:9 | Phi | from 2:m1199_3 | -| ir.cpp:1201:13:1201:13 | Address | &:r1201_3 | -| ir.cpp:1201:13:1201:13 | Load | m1201_1 | -| ir.cpp:1201:13:1201:13 | StoreValue | r1201_4 | -| ir.cpp:1204:6:1204:16 | ChiPartial | partial:m1204_3 | -| ir.cpp:1204:6:1204:16 | ChiTotal | total:m1204_2 | -| ir.cpp:1204:6:1204:16 | SideEffect | m1204_3 | -| ir.cpp:1204:22:1204:22 | Address | &:r1204_5 | -| ir.cpp:1205:9:1205:9 | Address | &:r1205_1 | -| ir.cpp:1205:12:1205:13 | StoreValue | r1205_2 | -| ir.cpp:1206:12:1206:12 | Address | &:r1206_1 | -| ir.cpp:1206:12:1206:12 | Condition | r1206_2 | -| ir.cpp:1206:12:1206:12 | Load | m1204_6 | -| ir.cpp:1208:9:1208:9 | Address | &:r1208_2 | -| ir.cpp:1208:13:1208:13 | StoreValue | r1208_1 | -| ir.cpp:1211:9:1211:9 | Address | &:r1211_2 | -| ir.cpp:1211:13:1211:13 | StoreValue | r1211_1 | -| ir.cpp:1212:5:1212:5 | Phi | from 0:m1205_3 | -| ir.cpp:1212:5:1212:5 | Phi | from 1:m1208_3 | -| ir.cpp:1212:5:1212:5 | Phi | from 2:m1211_3 | -| ir.cpp:1213:9:1213:9 | Address | &:r1213_1 | -| ir.cpp:1213:13:1213:13 | Address | &:r1213_2 | -| ir.cpp:1213:13:1213:13 | Load | m1212_1 | -| ir.cpp:1213:13:1213:13 | StoreValue | r1213_3 | -| ir.cpp:1216:6:1216:24 | ChiPartial | partial:m1216_3 | -| ir.cpp:1216:6:1216:24 | ChiTotal | total:m1216_2 | -| ir.cpp:1216:6:1216:24 | SideEffect | m1216_3 | -| ir.cpp:1216:30:1216:30 | Address | &:r1216_5 | -| ir.cpp:1217:9:1217:9 | Address | &:r1217_1 | -| ir.cpp:1217:12:1217:13 | StoreValue | r1217_2 | -| ir.cpp:1218:12:1218:12 | Address | &:r1218_1 | -| ir.cpp:1218:12:1218:12 | Condition | r1218_2 | -| ir.cpp:1218:12:1218:12 | Load | m1216_6 | -| ir.cpp:1220:13:1220:13 | Address | &:r1220_2 | -| ir.cpp:1220:17:1220:17 | StoreValue | r1220_1 | -| ir.cpp:1224:13:1224:13 | Address | &:r1224_2 | -| ir.cpp:1224:17:1224:17 | StoreValue | r1224_1 | -| ir.cpp:1228:13:1228:13 | Address | &:r1228_2 | -| ir.cpp:1228:17:1228:17 | StoreValue | r1228_1 | -| ir.cpp:1229:5:1229:5 | Phi | from 1:m1220_3 | -| ir.cpp:1229:5:1229:5 | Phi | from 2:m1224_3 | -| ir.cpp:1229:5:1229:5 | Phi | from 3:m1228_3 | -| ir.cpp:1230:9:1230:9 | Address | &:r1230_1 | -| ir.cpp:1230:13:1230:13 | Address | &:r1230_2 | -| ir.cpp:1230:13:1230:13 | Load | m1229_1 | -| ir.cpp:1230:13:1230:13 | StoreValue | r1230_3 | -| ir.cpp:1233:5:1233:19 | Address | &:r1233_7 | -| ir.cpp:1233:5:1233:19 | ChiPartial | partial:m1233_3 | -| ir.cpp:1233:5:1233:19 | ChiTotal | total:m1233_2 | -| ir.cpp:1233:5:1233:19 | Load | m1239_15 | -| ir.cpp:1233:5:1233:19 | SideEffect | ~m1239_2 | -| ir.cpp:1233:25:1233:25 | Address | &:r1233_5 | -| ir.cpp:1234:16:1234:16 | Address | &:r1234_3 | -| ir.cpp:1234:16:1234:16 | SideEffect | ~m1234_6 | -| ir.cpp:1234:20:1234:20 | ChiPartial | partial:m1234_5 | -| ir.cpp:1234:20:1234:20 | ChiTotal | total:m1234_2 | -| ir.cpp:1234:20:1234:20 | StoreValue | r1234_4 | -| ir.cpp:1235:16:1235:16 | Address | &:r1235_3 | -| ir.cpp:1235:16:1235:16 | SideEffect | ~m1235_6 | -| ir.cpp:1235:20:1235:28 | ChiPartial | partial:m1235_5 | -| ir.cpp:1235:20:1235:28 | ChiTotal | total:m1235_2 | -| ir.cpp:1235:20:1235:28 | StoreValue | r1235_4 | -| ir.cpp:1236:16:1236:16 | Address | &:r1236_1 | -| ir.cpp:1236:16:1236:16 | Address | &:r1236_1 | -| ir.cpp:1236:16:1236:16 | Address | &:r1236_4 | -| ir.cpp:1236:16:1236:16 | ChiPartial | partial:m1236_10 | -| ir.cpp:1236:16:1236:16 | ChiTotal | total:m1236_8 | -| ir.cpp:1236:16:1236:16 | Condition | r1236_2 | -| ir.cpp:1236:16:1236:16 | Load | ~m1233_3 | -| ir.cpp:1236:16:1236:16 | StoreValue | r1236_9 | -| ir.cpp:1236:20:1236:20 | Address | &:r1236_5 | -| ir.cpp:1236:20:1236:20 | ChiPartial | partial:m1236_7 | -| ir.cpp:1236:20:1236:20 | ChiTotal | total:m1233_4 | -| ir.cpp:1236:20:1236:20 | Load | m1233_6 | -| ir.cpp:1236:20:1236:20 | StoreValue | r1236_6 | -| ir.cpp:1239:5:1239:25 | Address | &:r1239_3 | -| ir.cpp:1239:5:1239:25 | Phi | from 0:~m1233_3 | -| ir.cpp:1239:5:1239:25 | Phi | from 0:~m1233_4 | -| ir.cpp:1239:5:1239:25 | Phi | from 1:m1236_7 | -| ir.cpp:1239:5:1239:25 | Phi | from 1:~m1236_11 | -| ir.cpp:1239:12:1239:12 | Address | &:r1239_4 | -| ir.cpp:1239:12:1239:12 | Left | r1239_5 | -| ir.cpp:1239:12:1239:12 | Load | ~m1239_2 | -| ir.cpp:1239:12:1239:16 | Left | r1239_8 | -| ir.cpp:1239:12:1239:20 | Left | r1239_11 | -| ir.cpp:1239:12:1239:24 | StoreValue | r1239_14 | -| ir.cpp:1239:16:1239:16 | Address | &:r1239_6 | -| ir.cpp:1239:16:1239:16 | Load | ~m1239_2 | -| ir.cpp:1239:16:1239:16 | Right | r1239_7 | -| ir.cpp:1239:20:1239:20 | Address | &:r1239_9 | -| ir.cpp:1239:20:1239:20 | Load | m1239_1 | -| ir.cpp:1239:20:1239:20 | Right | r1239_10 | -| ir.cpp:1239:24:1239:24 | Address | &:r1239_12 | -| ir.cpp:1239:24:1239:24 | Load | ~m1239_2 | -| ir.cpp:1239:24:1239:24 | Right | r1239_13 | -| ir.cpp:1242:6:1242:31 | ChiPartial | partial:m1242_3 | -| ir.cpp:1242:6:1242:31 | ChiTotal | total:m1242_2 | -| ir.cpp:1242:6:1242:31 | SideEffect | ~m1246_1 | -| ir.cpp:1242:45:1242:51 | Address | &:r1242_5 | -| ir.cpp:1242:45:1242:51 | Address | &:r1242_5 | -| ir.cpp:1242:45:1242:51 | Address | &:r1242_7 | -| ir.cpp:1242:45:1242:51 | Address | &:r1242_7 | -| ir.cpp:1242:45:1242:51 | Load | m1242_6 | -| ir.cpp:1242:45:1242:51 | SideEffect | m1242_8 | -| ir.cpp:1243:19:1243:19 | Address | &:r1243_1 | -| ir.cpp:1243:19:1243:19 | Address | &:r1243_1 | -| ir.cpp:1243:19:1243:19 | Address | &:r1243_4 | -| ir.cpp:1243:19:1243:19 | Arg(this) | this:r1243_4 | -| ir.cpp:1243:19:1243:19 | ChiPartial | partial:m1243_6 | -| ir.cpp:1243:19:1243:19 | ChiTotal | total:m0_6 | -| ir.cpp:1243:19:1243:19 | Condition | r1243_2 | -| ir.cpp:1243:19:1243:19 | Load | ~m1242_3 | -| ir.cpp:1243:19:1243:19 | StoreValue | r1243_5 | -| ir.cpp:1244:19:1244:19 | Address | &:r1244_2 | -| ir.cpp:1244:19:1244:19 | Address | &:r1244_2 | -| ir.cpp:1244:19:1244:19 | Address | &:r1244_5 | -| ir.cpp:1244:19:1244:19 | Arg(this) | this:r1244_5 | -| ir.cpp:1244:19:1244:19 | ChiPartial | partial:m1244_16 | -| ir.cpp:1244:19:1244:19 | ChiTotal | total:m1244_14 | -| ir.cpp:1244:19:1244:19 | Condition | r1244_3 | -| ir.cpp:1244:19:1244:19 | Load | ~m1244_1 | -| ir.cpp:1244:19:1244:19 | Phi | from 0:~m1242_4 | -| ir.cpp:1244:19:1244:19 | Phi | from 1:~m1243_7 | -| ir.cpp:1244:19:1244:19 | StoreValue | r1244_15 | -| ir.cpp:1244:20:1244:29 | CallTarget | func:r1244_6 | -| ir.cpp:1244:20:1244:29 | ChiPartial | partial:m1244_10 | -| ir.cpp:1244:20:1244:29 | ChiPartial | partial:m1244_13 | -| ir.cpp:1244:20:1244:29 | ChiTotal | total:m1244_1 | -| ir.cpp:1244:20:1244:29 | ChiTotal | total:m1244_11 | -| ir.cpp:1244:20:1244:29 | SideEffect | ~m1244_1 | -| ir.cpp:1244:21:1244:28 | Address | &:r1244_8 | -| ir.cpp:1244:21:1244:28 | Arg(0) | 0:r1244_8 | -| ir.cpp:1244:21:1244:28 | SideEffect | ~m1242_3 | -| ir.cpp:1244:21:1244:28 | Unary | r1244_7 | -| ir.cpp:1245:19:1245:19 | Address | &:r1245_2 | -| ir.cpp:1245:19:1245:19 | Address | &:r1245_2 | -| ir.cpp:1245:19:1245:19 | Address | &:r1245_5 | -| ir.cpp:1245:19:1245:19 | Arg(this) | this:r1245_5 | -| ir.cpp:1245:19:1245:19 | ChiPartial | partial:m1245_16 | -| ir.cpp:1245:19:1245:19 | ChiTotal | total:m1245_14 | -| ir.cpp:1245:19:1245:19 | Condition | r1245_3 | -| ir.cpp:1245:19:1245:19 | Load | ~m1245_1 | -| ir.cpp:1245:19:1245:19 | Phi | from 2:~m1244_1 | -| ir.cpp:1245:19:1245:19 | Phi | from 3:~m1244_17 | -| ir.cpp:1245:19:1245:19 | StoreValue | r1245_15 | -| ir.cpp:1245:20:1245:28 | CallTarget | func:r1245_6 | -| ir.cpp:1245:20:1245:28 | ChiPartial | partial:m1245_10 | -| ir.cpp:1245:20:1245:28 | ChiPartial | partial:m1245_13 | -| ir.cpp:1245:20:1245:28 | ChiTotal | total:m1245_1 | -| ir.cpp:1245:20:1245:28 | ChiTotal | total:m1245_11 | -| ir.cpp:1245:20:1245:28 | SideEffect | ~m1245_1 | -| ir.cpp:1245:21:1245:27 | Address | &:r1245_7 | -| ir.cpp:1245:21:1245:27 | Address | &:r1245_8 | -| ir.cpp:1245:21:1245:27 | Arg(0) | 0:r1245_8 | -| ir.cpp:1245:21:1245:27 | Load | m1242_6 | -| ir.cpp:1245:21:1245:27 | SideEffect | ~m1242_8 | -| ir.cpp:1246:1:1246:1 | Phi | from 4:~m1245_1 | -| ir.cpp:1246:1:1246:1 | Phi | from 5:~m1245_17 | -| ir.cpp:1253:6:1253:17 | ChiPartial | partial:m1253_3 | -| ir.cpp:1253:6:1253:17 | ChiTotal | total:m1253_2 | -| ir.cpp:1253:6:1253:17 | SideEffect | m1253_3 | -| ir.cpp:1253:25:1253:26 | Address | &:r1253_5 | -| ir.cpp:1253:25:1253:26 | Address | &:r1253_5 | -| ir.cpp:1253:25:1253:26 | Address | &:r1253_7 | -| ir.cpp:1253:25:1253:26 | Address | &:r1253_7 | -| ir.cpp:1253:25:1253:26 | Load | m1253_6 | -| ir.cpp:1253:25:1253:26 | SideEffect | m1253_8 | -| ir.cpp:1253:35:1253:36 | Address | &:r1253_9 | -| ir.cpp:1253:35:1253:36 | Address | &:r1253_9 | -| ir.cpp:1253:35:1253:36 | Address | &:r1253_11 | -| ir.cpp:1253:35:1253:36 | Address | &:r1253_11 | -| ir.cpp:1253:35:1253:36 | Load | m1253_10 | -| ir.cpp:1253:35:1253:36 | SideEffect | m1253_12 | -| ir.cpp:1254:10:1254:15 | Address | &:r1254_1 | -| ir.cpp:1254:10:1254:15 | Left | r1254_1 | -| ir.cpp:1254:10:1254:15 | Left | r1254_1 | -| ir.cpp:1254:24:1254:27 | Address | &:r1254_4 | -| ir.cpp:1254:24:1254:27 | Address | &:r1254_9 | -| ir.cpp:1254:24:1254:27 | ChiPartial | partial:m1254_11 | -| ir.cpp:1254:24:1254:27 | ChiTotal | total:m1254_7 | -| ir.cpp:1254:24:1254:27 | Right | r1254_3 | -| ir.cpp:1254:24:1254:27 | Right | r1254_8 | -| ir.cpp:1254:24:1254:27 | StoreValue | r1254_10 | -| ir.cpp:1254:26:1254:26 | ChiPartial | partial:m1254_6 | -| ir.cpp:1254:26:1254:26 | ChiTotal | total:m1254_2 | -| ir.cpp:1254:26:1254:26 | StoreValue | r1254_5 | -| ir.cpp:1256:5:1256:10 | CallTarget | func:r1256_1 | -| ir.cpp:1256:12:1256:17 | Address | &:r1256_3 | -| ir.cpp:1256:12:1256:17 | Arg(0) | 0:r1256_3 | -| ir.cpp:1256:12:1256:17 | ChiPartial | partial:m1256_9 | -| ir.cpp:1256:12:1256:17 | ChiTotal | total:m1254_12 | -| ir.cpp:1256:12:1256:17 | Unary | r1256_2 | -| ir.cpp:1256:20:1256:21 | Address | &:r1256_4 | -| ir.cpp:1256:20:1256:21 | Address | &:r1256_6 | -| ir.cpp:1256:20:1256:21 | Arg(1) | 1:r1256_6 | -| ir.cpp:1256:20:1256:21 | Load | m1253_6 | -| ir.cpp:1256:20:1256:21 | SideEffect | ~m1253_8 | -| ir.cpp:1256:20:1256:21 | Unary | r1256_5 | -| ir.cpp:1257:5:1257:10 | CallTarget | func:r1257_1 | -| ir.cpp:1257:12:1257:17 | Address | &:r1257_3 | -| ir.cpp:1257:12:1257:17 | Address | &:r1257_3 | -| ir.cpp:1257:12:1257:17 | Arg(0) | 0:r1257_3 | -| ir.cpp:1257:12:1257:17 | ChiPartial | partial:m1257_10 | -| ir.cpp:1257:12:1257:17 | ChiTotal | total:m1256_10 | -| ir.cpp:1257:12:1257:17 | SideEffect | ~m1256_10 | -| ir.cpp:1257:12:1257:17 | Unary | r1257_2 | -| ir.cpp:1257:20:1257:21 | Address | &:r1257_4 | -| ir.cpp:1257:20:1257:21 | Address | &:r1257_6 | -| ir.cpp:1257:20:1257:21 | Arg(1) | 1:r1257_6 | -| ir.cpp:1257:20:1257:21 | Load | m1253_10 | -| ir.cpp:1257:20:1257:21 | SideEffect | ~m1253_12 | -| ir.cpp:1257:20:1257:21 | Unary | r1257_5 | -| ir.cpp:1263:17:1263:29 | ChiPartial | partial:m1263_3 | -| ir.cpp:1263:17:1263:29 | ChiTotal | total:m1263_2 | -| ir.cpp:1263:17:1263:29 | SideEffect | m1263_3 | -| ir.cpp:1263:34:1263:34 | Address | &:r1263_5 | -| ir.cpp:1263:34:1263:34 | Address | &:r1263_5 | -| ir.cpp:1263:34:1263:34 | Address | &:r1263_7 | -| ir.cpp:1263:34:1263:34 | Address | &:r1263_7 | -| ir.cpp:1263:34:1263:34 | Load | m1263_6 | -| ir.cpp:1263:34:1263:34 | SideEffect | m1264_7 | -| ir.cpp:1263:41:1263:41 | Address | &:r1263_9 | -| ir.cpp:1264:9:1264:9 | Address | &:r1264_3 | -| ir.cpp:1264:9:1264:9 | Load | m1263_6 | -| ir.cpp:1264:9:1264:9 | Unary | r1264_4 | -| ir.cpp:1264:9:1264:21 | ChiPartial | partial:m1264_6 | -| ir.cpp:1264:9:1264:21 | ChiTotal | total:m1263_8 | -| ir.cpp:1264:12:1264:17 | Address | &:r1264_5 | -| ir.cpp:1264:21:1264:21 | Address | &:r1264_1 | -| ir.cpp:1264:21:1264:21 | Load | m1263_10 | -| ir.cpp:1264:21:1264:21 | StoreValue | r1264_2 | -| ir.cpp:1272:6:1272:33 | ChiPartial | partial:m1272_3 | -| ir.cpp:1272:6:1272:33 | ChiTotal | total:m1272_2 | -| ir.cpp:1272:6:1272:33 | SideEffect | ~m1289_6 | -| ir.cpp:1272:39:1272:45 | Address | &:r1272_5 | -| ir.cpp:1272:51:1272:55 | Address | &:r1272_7 | -| ir.cpp:1272:51:1272:55 | Address | &:r1272_7 | -| ir.cpp:1272:51:1272:55 | Address | &:r1272_9 | -| ir.cpp:1272:51:1272:55 | Address | &:r1272_9 | -| ir.cpp:1272:51:1272:55 | Load | m1272_8 | -| ir.cpp:1272:51:1272:55 | SideEffect | m1283_12 | -| ir.cpp:1273:7:1273:7 | Address | &:r1273_1 | -| ir.cpp:1273:7:1273:7 | Address | &:r1273_1 | -| ir.cpp:1273:7:1273:7 | Arg(this) | this:r1273_1 | -| ir.cpp:1273:7:1273:7 | CallTarget | func:r1273_3 | -| ir.cpp:1273:7:1273:7 | ChiPartial | partial:m1273_5 | -| ir.cpp:1273:7:1273:7 | ChiPartial | partial:m1273_7 | -| ir.cpp:1273:7:1273:7 | ChiTotal | total:m1272_4 | -| ir.cpp:1273:7:1273:7 | ChiTotal | total:m1273_2 | -| ir.cpp:1273:7:1273:7 | SideEffect | ~m1272_4 | -| ir.cpp:1274:7:1274:26 | CallTarget | func:r1274_2 | -| ir.cpp:1274:7:1274:26 | ChiPartial | partial:m1274_5 | -| ir.cpp:1274:7:1274:26 | ChiTotal | total:m1273_6 | -| ir.cpp:1274:7:1274:26 | SideEffect | ~m1273_6 | -| ir.cpp:1274:28:1274:29 | Arg(0) | 0:r1274_3 | -| ir.cpp:1275:5:1275:27 | CallTarget | func:r1275_1 | -| ir.cpp:1275:5:1275:27 | ChiPartial | partial:m1275_4 | -| ir.cpp:1275:5:1275:27 | ChiTotal | total:m1274_6 | -| ir.cpp:1275:5:1275:27 | SideEffect | ~m1274_6 | -| ir.cpp:1275:29:1275:30 | Arg(0) | 0:r1275_2 | -| ir.cpp:1277:7:1277:7 | Address | &:r1277_1 | -| ir.cpp:1278:7:1278:19 | CallTarget | func:r1278_2 | -| ir.cpp:1278:7:1278:19 | ChiPartial | partial:m1278_8 | -| ir.cpp:1278:7:1278:19 | ChiTotal | total:m1275_5 | -| ir.cpp:1278:7:1278:19 | SideEffect | ~m1275_5 | -| ir.cpp:1278:21:1278:22 | Address | &:r1278_4 | -| ir.cpp:1278:21:1278:22 | Address | &:r1278_4 | -| ir.cpp:1278:21:1278:22 | Arg(0) | 0:r1278_4 | -| ir.cpp:1278:21:1278:22 | ChiPartial | partial:m1278_11 | -| ir.cpp:1278:21:1278:22 | ChiTotal | total:m1277_2 | -| ir.cpp:1278:21:1278:22 | SideEffect | ~m1277_2 | -| ir.cpp:1278:22:1278:22 | Unary | r1278_3 | -| ir.cpp:1278:25:1278:31 | Address | &:r1278_5 | -| ir.cpp:1278:25:1278:31 | Arg(1) | 1:r1278_6 | -| ir.cpp:1278:25:1278:31 | Load | m1272_6 | -| ir.cpp:1279:5:1279:20 | CallTarget | func:r1279_1 | -| ir.cpp:1279:5:1279:20 | ChiPartial | partial:m1279_7 | -| ir.cpp:1279:5:1279:20 | ChiTotal | total:m1278_9 | -| ir.cpp:1279:5:1279:20 | SideEffect | ~m1278_9 | -| ir.cpp:1279:22:1279:23 | Address | &:r1279_3 | -| ir.cpp:1279:22:1279:23 | Address | &:r1279_3 | -| ir.cpp:1279:22:1279:23 | Arg(0) | 0:r1279_3 | -| ir.cpp:1279:22:1279:23 | ChiPartial | partial:m1279_10 | -| ir.cpp:1279:22:1279:23 | ChiTotal | total:m1278_12 | -| ir.cpp:1279:22:1279:23 | SideEffect | ~m1278_12 | -| ir.cpp:1279:23:1279:23 | Unary | r1279_2 | -| ir.cpp:1279:26:1279:32 | Address | &:r1279_4 | -| ir.cpp:1279:26:1279:32 | Arg(1) | 1:r1279_5 | -| ir.cpp:1279:26:1279:32 | Load | m1272_6 | -| ir.cpp:1281:7:1281:7 | Unary | r1281_1 | -| ir.cpp:1281:11:1281:23 | CallTarget | func:r1281_3 | -| ir.cpp:1281:11:1281:23 | ChiPartial | partial:m1281_11 | -| ir.cpp:1281:11:1281:23 | ChiTotal | total:m1279_8 | -| ir.cpp:1281:11:1281:23 | SideEffect | ~m1279_8 | -| ir.cpp:1281:25:1281:29 | Address | &:r1281_4 | -| ir.cpp:1281:25:1281:29 | Address | &:r1281_5 | -| ir.cpp:1281:25:1281:29 | Address | &:r1281_5 | -| ir.cpp:1281:25:1281:29 | Arg(0) | 0:r1281_5 | -| ir.cpp:1281:25:1281:29 | ChiPartial | partial:m1281_14 | -| ir.cpp:1281:25:1281:29 | ChiTotal | total:m1272_10 | -| ir.cpp:1281:25:1281:29 | Load | m1272_8 | -| ir.cpp:1281:25:1281:29 | SideEffect | ~m1272_10 | -| ir.cpp:1281:32:1281:38 | Address | &:r1281_6 | -| ir.cpp:1281:32:1281:38 | Left | r1281_7 | -| ir.cpp:1281:32:1281:38 | Load | m1272_6 | -| ir.cpp:1281:32:1281:42 | Arg(1) | 1:r1281_9 | -| ir.cpp:1281:42:1281:42 | Right | r1281_8 | -| ir.cpp:1282:7:1282:11 | Address | &:r1282_1 | -| ir.cpp:1282:7:1282:11 | Load | m1272_8 | -| ir.cpp:1282:7:1282:11 | Unary | r1282_2 | -| ir.cpp:1282:14:1282:26 | CallTarget | func:r1282_4 | -| ir.cpp:1282:14:1282:26 | ChiPartial | partial:m1282_9 | -| ir.cpp:1282:14:1282:26 | ChiTotal | total:m1281_12 | -| ir.cpp:1282:14:1282:26 | SideEffect | ~m1281_12 | -| ir.cpp:1282:28:1282:29 | Address | &:r1282_6 | -| ir.cpp:1282:28:1282:29 | Address | &:r1282_6 | -| ir.cpp:1282:28:1282:29 | Arg(0) | 0:r1282_6 | -| ir.cpp:1282:28:1282:29 | ChiPartial | partial:m1282_12 | -| ir.cpp:1282:28:1282:29 | ChiTotal | total:m1279_11 | -| ir.cpp:1282:28:1282:29 | SideEffect | ~m1279_11 | -| ir.cpp:1282:29:1282:29 | Unary | r1282_5 | -| ir.cpp:1282:32:1282:33 | Arg(1) | 1:r1282_7 | -| ir.cpp:1283:5:1283:9 | Address | &:r1283_1 | -| ir.cpp:1283:5:1283:9 | Load | m1272_8 | -| ir.cpp:1283:12:1283:24 | CallTarget | func:r1283_3 | -| ir.cpp:1283:12:1283:24 | ChiPartial | partial:m1283_8 | -| ir.cpp:1283:12:1283:24 | ChiTotal | total:m1282_10 | -| ir.cpp:1283:12:1283:24 | SideEffect | ~m1282_10 | -| ir.cpp:1283:26:1283:30 | Address | &:r1283_4 | -| ir.cpp:1283:26:1283:30 | Address | &:r1283_5 | -| ir.cpp:1283:26:1283:30 | Address | &:r1283_5 | -| ir.cpp:1283:26:1283:30 | Arg(0) | 0:r1283_5 | -| ir.cpp:1283:26:1283:30 | ChiPartial | partial:m1283_11 | -| ir.cpp:1283:26:1283:30 | ChiTotal | total:m1281_15 | -| ir.cpp:1283:26:1283:30 | Load | m1272_8 | -| ir.cpp:1283:26:1283:30 | SideEffect | ~m1281_15 | -| ir.cpp:1283:33:1283:34 | Arg(1) | 1:r1283_6 | -| ir.cpp:1285:7:1285:31 | CallTarget | func:r1285_2 | -| ir.cpp:1285:7:1285:31 | ChiPartial | partial:m1285_4 | -| ir.cpp:1285:7:1285:31 | ChiTotal | total:m1283_9 | -| ir.cpp:1285:7:1285:31 | SideEffect | ~m1283_9 | -| ir.cpp:1286:5:1286:32 | CallTarget | func:r1286_1 | -| ir.cpp:1286:5:1286:32 | ChiPartial | partial:m1286_3 | -| ir.cpp:1286:5:1286:32 | ChiTotal | total:m1285_5 | -| ir.cpp:1286:5:1286:32 | SideEffect | ~m1285_5 | -| ir.cpp:1288:5:1288:20 | CallTarget | func:r1288_1 | -| ir.cpp:1288:5:1288:20 | ChiPartial | partial:m1288_3 | -| ir.cpp:1288:5:1288:20 | ChiTotal | total:m1286_4 | -| ir.cpp:1288:5:1288:20 | SideEffect | ~m1286_4 | -| ir.cpp:1288:25:1288:49 | CallTarget | func:r1288_5 | -| ir.cpp:1288:25:1288:49 | ChiPartial | partial:m1288_7 | -| ir.cpp:1288:25:1288:49 | ChiTotal | total:m1288_4 | -| ir.cpp:1288:25:1288:49 | SideEffect | ~m1288_4 | -| ir.cpp:1289:1:1289:1 | Address | &:r1289_2 | -| ir.cpp:1289:1:1289:1 | Address | &:r1289_2 | -| ir.cpp:1289:1:1289:1 | Arg(this) | this:r1289_2 | -| ir.cpp:1289:1:1289:1 | CallTarget | func:r1289_3 | -| ir.cpp:1289:1:1289:1 | ChiPartial | partial:m1289_5 | -| ir.cpp:1289:1:1289:1 | ChiPartial | partial:m1289_8 | -| ir.cpp:1289:1:1289:1 | ChiTotal | total:m1273_8 | -| ir.cpp:1289:1:1289:1 | ChiTotal | total:m1288_8 | -| ir.cpp:1289:1:1289:1 | SideEffect | m1273_8 | -| ir.cpp:1289:1:1289:1 | SideEffect | ~m1288_8 | -| ir.cpp:1291:5:1291:22 | Address | &:r1291_10 | -| ir.cpp:1291:5:1291:22 | ChiPartial | partial:m1291_3 | -| ir.cpp:1291:5:1291:22 | ChiTotal | total:m1291_2 | -| ir.cpp:1291:5:1291:22 | Load | m1291_9 | -| ir.cpp:1291:5:1291:22 | Phi | from 2:m1293_4 | -| ir.cpp:1291:5:1291:22 | Phi | from 3:m1295_2 | -| ir.cpp:1291:5:1291:22 | SideEffect | m1291_3 | -| ir.cpp:1291:29:1291:29 | Address | &:r1291_5 | -| ir.cpp:1291:36:1291:36 | Address | &:r1291_7 | -| ir.cpp:1292:9:1292:9 | Address | &:r1292_1 | -| ir.cpp:1292:9:1292:9 | Condition | r1292_2 | -| ir.cpp:1292:9:1292:9 | Load | m1291_6 | -| ir.cpp:1293:9:1293:17 | Address | &:r1293_1 | -| ir.cpp:1293:16:1293:16 | Address | &:r1293_2 | -| ir.cpp:1293:16:1293:16 | Load | m1291_8 | -| ir.cpp:1293:16:1293:16 | StoreValue | r1293_3 | -| ir.cpp:1295:1:1295:1 | Address | &:r1295_1 | -| ir.cpp:1297:6:1297:15 | ChiPartial | partial:m1297_3 | -| ir.cpp:1297:6:1297:15 | ChiTotal | total:m1297_2 | -| ir.cpp:1297:6:1297:15 | SideEffect | ~m1298_8 | -| ir.cpp:1297:21:1297:21 | Address | &:r1297_5 | -| ir.cpp:1297:28:1297:28 | Address | &:r1297_7 | -| ir.cpp:1298:12:1298:21 | CallTarget | func:r1298_1 | -| ir.cpp:1298:12:1298:21 | ChiPartial | partial:m1298_7 | -| ir.cpp:1298:12:1298:21 | ChiTotal | total:m1297_4 | -| ir.cpp:1298:12:1298:21 | SideEffect | ~m1297_4 | -| ir.cpp:1298:23:1298:23 | Address | &:r1298_2 | -| ir.cpp:1298:23:1298:23 | Arg(0) | 0:r1298_3 | -| ir.cpp:1298:23:1298:23 | Load | m1297_6 | -| ir.cpp:1298:26:1298:26 | Address | &:r1298_4 | -| ir.cpp:1298:26:1298:26 | Arg(1) | 1:r1298_5 | -| ir.cpp:1298:26:1298:26 | Load | m1297_8 | -| ir.cpp:1301:6:1301:25 | ChiPartial | partial:m1301_3 | -| ir.cpp:1301:6:1301:25 | ChiTotal | total:m1301_2 | -| ir.cpp:1301:6:1301:25 | SideEffect | m1301_3 | -| ir.cpp:1301:32:1301:32 | Address | &:r1301_5 | -| ir.cpp:1301:39:1301:39 | Address | &:r1301_7 | -| ir.cpp:1301:47:1301:47 | Address | &:r1301_9 | -| ir.cpp:1302:9:1302:9 | Address | &:r1302_1 | -| ir.cpp:1302:13:1302:13 | Address | &:r1302_2 | -| ir.cpp:1302:13:1302:13 | Load | m1301_8 | -| ir.cpp:1302:13:1302:13 | StoreValue | r1302_3 | -| ir.cpp:1303:5:1303:5 | Address | &:r1303_7 | -| ir.cpp:1303:9:1303:9 | Address | &:r1303_1 | -| ir.cpp:1303:9:1303:9 | Condition | r1303_2 | -| ir.cpp:1303:9:1303:9 | Load | m1301_6 | -| ir.cpp:1303:9:1303:9 | StoreValue | r1303_2 | -| ir.cpp:1303:9:1303:14 | Address | &:r1303_5 | -| ir.cpp:1303:9:1303:14 | Address | &:r1303_9 | -| ir.cpp:1303:9:1303:14 | Address | &:r1303_13 | -| ir.cpp:1303:9:1303:14 | Load | m1303_4 | -| ir.cpp:1303:9:1303:14 | Phi | from 2:m1303_10 | -| ir.cpp:1303:9:1303:14 | Phi | from 3:m1303_14 | -| ir.cpp:1303:9:1303:14 | StoreValue | r1303_6 | -| ir.cpp:1303:14:1303:14 | Address | &:r1303_11 | -| ir.cpp:1303:14:1303:14 | Load | m1301_8 | -| ir.cpp:1303:14:1303:14 | StoreValue | r1303_12 | -| ir.cpp:1304:5:1304:5 | Address | &:r1304_8 | -| ir.cpp:1304:9:1304:9 | Address | &:r1304_1 | -| ir.cpp:1304:9:1304:9 | Condition | r1304_2 | -| ir.cpp:1304:9:1304:9 | Load | m1301_6 | -| ir.cpp:1304:9:1304:9 | StoreValue | r1304_2 | -| ir.cpp:1304:9:1304:14 | Address | &:r1304_5 | -| ir.cpp:1304:9:1304:14 | Address | &:r1304_10 | -| ir.cpp:1304:9:1304:14 | Address | &:r1304_14 | -| ir.cpp:1304:9:1304:14 | Load | m1304_4 | -| ir.cpp:1304:9:1304:14 | Phi | from 5:m1304_11 | -| ir.cpp:1304:9:1304:14 | Phi | from 6:m1304_15 | -| ir.cpp:1304:9:1304:14 | StoreValue | r1304_7 | -| ir.cpp:1304:9:1304:14 | Unary | r1304_6 | -| ir.cpp:1304:14:1304:14 | Address | &:r1304_12 | -| ir.cpp:1304:14:1304:14 | Load | m1301_10 | -| ir.cpp:1304:14:1304:14 | StoreValue | r1304_13 | -| ir.cpp:1305:5:1305:5 | Address | &:r1305_9 | -| ir.cpp:1305:9:1305:9 | Address | &:r1305_1 | -| ir.cpp:1305:9:1305:9 | Condition | r1305_4 | -| ir.cpp:1305:9:1305:9 | Left | r1305_2 | -| ir.cpp:1305:9:1305:9 | Load | m1301_8 | -| ir.cpp:1305:9:1305:9 | Right | r1305_3 | -| ir.cpp:1305:9:1305:9 | StoreValue | r1305_2 | -| ir.cpp:1305:9:1305:14 | Address | &:r1305_7 | -| ir.cpp:1305:9:1305:14 | Address | &:r1305_11 | -| ir.cpp:1305:9:1305:14 | Address | &:r1305_15 | -| ir.cpp:1305:9:1305:14 | Load | m1305_6 | -| ir.cpp:1305:9:1305:14 | Phi | from 8:m1305_12 | -| ir.cpp:1305:9:1305:14 | Phi | from 9:m1305_16 | -| ir.cpp:1305:9:1305:14 | StoreValue | r1305_8 | -| ir.cpp:1305:14:1305:14 | Address | &:r1305_13 | -| ir.cpp:1305:14:1305:14 | Load | m1301_8 | -| ir.cpp:1305:14:1305:14 | StoreValue | r1305_14 | -| ir.cpp:1306:5:1306:5 | Address | &:r1306_10 | -| ir.cpp:1306:9:1306:9 | Address | &:r1306_1 | -| ir.cpp:1306:9:1306:9 | Condition | r1306_4 | -| ir.cpp:1306:9:1306:9 | Left | r1306_2 | -| ir.cpp:1306:9:1306:9 | Load | m1301_8 | -| ir.cpp:1306:9:1306:9 | Right | r1306_3 | -| ir.cpp:1306:9:1306:9 | StoreValue | r1306_2 | -| ir.cpp:1306:9:1306:14 | Address | &:r1306_7 | -| ir.cpp:1306:9:1306:14 | Address | &:r1306_12 | -| ir.cpp:1306:9:1306:14 | Address | &:r1306_16 | -| ir.cpp:1306:9:1306:14 | Load | m1306_6 | -| ir.cpp:1306:9:1306:14 | Phi | from 11:m1306_13 | -| ir.cpp:1306:9:1306:14 | Phi | from 12:m1306_17 | -| ir.cpp:1306:9:1306:14 | StoreValue | r1306_9 | -| ir.cpp:1306:9:1306:14 | Unary | r1306_8 | -| ir.cpp:1306:14:1306:14 | Address | &:r1306_14 | -| ir.cpp:1306:14:1306:14 | Load | m1301_10 | -| ir.cpp:1306:14:1306:14 | StoreValue | r1306_15 | -| ir.cpp:1307:5:1307:5 | Address | &:r1307_10 | -| ir.cpp:1307:9:1307:9 | Address | &:r1307_1 | -| ir.cpp:1307:9:1307:9 | Condition | r1307_4 | -| ir.cpp:1307:9:1307:9 | Left | r1307_2 | -| ir.cpp:1307:9:1307:9 | Load | m1301_10 | -| ir.cpp:1307:9:1307:9 | Right | r1307_3 | -| ir.cpp:1307:9:1307:9 | StoreValue | r1307_2 | -| ir.cpp:1307:9:1307:14 | Address | &:r1307_7 | -| ir.cpp:1307:9:1307:14 | Address | &:r1307_12 | -| ir.cpp:1307:9:1307:14 | Address | &:r1307_17 | -| ir.cpp:1307:9:1307:14 | Load | m1307_6 | -| ir.cpp:1307:9:1307:14 | Phi | from 14:m1307_13 | -| ir.cpp:1307:9:1307:14 | Phi | from 15:m1307_18 | -| ir.cpp:1307:9:1307:14 | StoreValue | r1307_9 | -| ir.cpp:1307:9:1307:14 | Unary | r1307_8 | -| ir.cpp:1307:14:1307:14 | Address | &:r1307_14 | -| ir.cpp:1307:14:1307:14 | Load | m1301_8 | -| ir.cpp:1307:14:1307:14 | StoreValue | r1307_16 | -| ir.cpp:1307:14:1307:14 | Unary | r1307_15 | -| ir.cpp:1308:5:1308:5 | Address | &:r1308_10 | -| ir.cpp:1308:9:1308:9 | Address | &:r1308_1 | -| ir.cpp:1308:9:1308:9 | Condition | r1308_4 | -| ir.cpp:1308:9:1308:9 | Left | r1308_2 | -| ir.cpp:1308:9:1308:9 | Load | m1301_10 | -| ir.cpp:1308:9:1308:9 | Right | r1308_3 | -| ir.cpp:1308:9:1308:9 | StoreValue | r1308_2 | -| ir.cpp:1308:9:1308:14 | Address | &:r1308_7 | -| ir.cpp:1308:9:1308:14 | Address | &:r1308_12 | -| ir.cpp:1308:9:1308:14 | Address | &:r1308_16 | -| ir.cpp:1308:9:1308:14 | Load | m1308_6 | -| ir.cpp:1308:9:1308:14 | Phi | from 17:m1308_13 | -| ir.cpp:1308:9:1308:14 | Phi | from 18:m1308_17 | -| ir.cpp:1308:9:1308:14 | StoreValue | r1308_9 | -| ir.cpp:1308:9:1308:14 | Unary | r1308_8 | -| ir.cpp:1308:14:1308:14 | Address | &:r1308_14 | -| ir.cpp:1308:14:1308:14 | Load | m1301_10 | -| ir.cpp:1308:14:1308:14 | StoreValue | r1308_15 | -| ir.cpp:1310:5:1310:5 | Address | &:r1310_9 | -| ir.cpp:1310:9:1310:26 | Address | &:r1310_7 | -| ir.cpp:1310:9:1310:26 | Address | &:r1310_11 | -| ir.cpp:1310:9:1310:26 | Address | &:r1310_33 | -| ir.cpp:1310:9:1310:26 | Load | m1310_6 | -| ir.cpp:1310:9:1310:26 | Phi | from 20:m1310_12 | -| ir.cpp:1310:9:1310:26 | Phi | from 26:m1310_34 | -| ir.cpp:1310:9:1310:26 | StoreValue | r1310_8 | -| ir.cpp:1310:10:1310:10 | Address | &:r1310_1 | -| ir.cpp:1310:10:1310:10 | Condition | r1310_4 | -| ir.cpp:1310:10:1310:10 | Left | r1310_2 | -| ir.cpp:1310:10:1310:10 | Load | m1301_8 | -| ir.cpp:1310:10:1310:10 | Right | r1310_3 | -| ir.cpp:1310:10:1310:20 | Address | &:r1310_13 | -| ir.cpp:1310:10:1310:20 | Address | &:r1310_17 | -| ir.cpp:1310:10:1310:20 | Address | &:r1310_20 | -| ir.cpp:1310:10:1310:20 | Condition | r1310_18 | -| ir.cpp:1310:10:1310:20 | Load | m1310_16 | -| ir.cpp:1310:10:1310:20 | Phi | from 21:m1310_15 | -| ir.cpp:1310:10:1310:20 | Phi | from 23:m1310_22 | -| ir.cpp:1310:10:1310:20 | StoreValue | r1310_14 | -| ir.cpp:1310:10:1310:20 | StoreValue | r1310_18 | -| ir.cpp:1310:10:1310:20 | StoreValue | r1310_21 | -| ir.cpp:1310:15:1310:15 | Address | &:r1310_23 | -| ir.cpp:1310:15:1310:15 | Condition | r1310_24 | -| ir.cpp:1310:15:1310:15 | Load | m1301_6 | -| ir.cpp:1310:20:1310:20 | Address | &:r1310_26 | -| ir.cpp:1310:20:1310:20 | Condition | r1310_29 | -| ir.cpp:1310:20:1310:20 | Left | r1310_27 | -| ir.cpp:1310:20:1310:20 | Load | m1301_10 | -| ir.cpp:1310:20:1310:20 | Right | r1310_28 | -| ir.cpp:1310:26:1310:26 | Address | &:r1310_31 | -| ir.cpp:1310:26:1310:26 | Load | m1301_8 | -| ir.cpp:1310:26:1310:26 | StoreValue | r1310_32 | -| ir.cpp:1316:5:1316:27 | Address | &:r1316_9 | -| ir.cpp:1316:5:1316:27 | ChiPartial | partial:m1316_3 | -| ir.cpp:1316:5:1316:27 | ChiTotal | total:m1316_2 | -| ir.cpp:1316:5:1316:27 | Load | m1317_11 | -| ir.cpp:1316:5:1316:27 | SideEffect | ~m1317_7 | -| ir.cpp:1316:33:1316:33 | Address | &:r1316_5 | -| ir.cpp:1316:40:1316:40 | Address | &:r1316_7 | -| ir.cpp:1317:5:1317:48 | Address | &:r1317_1 | -| ir.cpp:1317:12:1317:21 | CallTarget | func:r1317_2 | -| ir.cpp:1317:12:1317:21 | ChiPartial | partial:m1317_4 | -| ir.cpp:1317:12:1317:21 | ChiTotal | total:m1316_4 | -| ir.cpp:1317:12:1317:21 | Condition | r1317_3 | -| ir.cpp:1317:12:1317:21 | SideEffect | ~m1316_4 | -| ir.cpp:1317:12:1317:47 | Address | &:r1317_9 | -| ir.cpp:1317:12:1317:47 | Address | &:r1317_19 | -| ir.cpp:1317:12:1317:47 | Address | &:r1317_24 | -| ir.cpp:1317:12:1317:47 | Load | m1317_8 | -| ir.cpp:1317:12:1317:47 | Phi | from 3:m1317_20 | -| ir.cpp:1317:12:1317:47 | Phi | from 3:~m1317_15 | -| ir.cpp:1317:12:1317:47 | Phi | from 4:m1317_25 | -| ir.cpp:1317:12:1317:47 | Phi | from 4:~m1317_21 | -| ir.cpp:1317:12:1317:47 | StoreValue | r1317_10 | -| ir.cpp:1317:28:1317:37 | CallTarget | func:r1317_12 | -| ir.cpp:1317:28:1317:37 | ChiPartial | partial:m1317_14 | -| ir.cpp:1317:28:1317:37 | ChiTotal | total:m1317_5 | -| ir.cpp:1317:28:1317:37 | Condition | r1317_13 | -| ir.cpp:1317:28:1317:37 | SideEffect | ~m1317_5 | -| ir.cpp:1317:43:1317:43 | Address | &:r1317_17 | -| ir.cpp:1317:43:1317:43 | Load | m1316_6 | -| ir.cpp:1317:43:1317:43 | StoreValue | r1317_18 | -| ir.cpp:1317:47:1317:47 | Address | &:r1317_22 | -| ir.cpp:1317:47:1317:47 | Load | m1316_8 | -| ir.cpp:1317:47:1317:47 | Phi | from 0:~m1317_5 | -| ir.cpp:1317:47:1317:47 | Phi | from 2:~m1317_15 | -| ir.cpp:1317:47:1317:47 | StoreValue | r1317_23 | -| ir.cpp:1322:6:1322:6 | ChiPartial | partial:m1322_3 | -| ir.cpp:1322:6:1322:6 | ChiTotal | total:m1322_2 | -| ir.cpp:1322:6:1322:6 | SideEffect | ~m1324_8 | -| ir.cpp:1322:13:1322:13 | Address | &:r1322_5 | -| ir.cpp:1322:13:1322:13 | Address | &:r1322_5 | -| ir.cpp:1322:13:1322:13 | Address | &:r1322_7 | -| ir.cpp:1322:13:1322:13 | Address | &:r1322_7 | -| ir.cpp:1322:13:1322:13 | Load | m1322_6 | -| ir.cpp:1322:13:1322:13 | SideEffect | m1322_8 | -| ir.cpp:1324:3:1324:13 | Address | &:r1324_6 | -| ir.cpp:1324:3:1324:13 | Arg(0) | 0:r1324_2 | -| ir.cpp:1324:3:1324:13 | CallTarget | func:r1324_1 | -| ir.cpp:1324:3:1324:13 | ChiPartial | partial:m1324_7 | -| ir.cpp:1324:3:1324:13 | ChiTotal | total:m1322_4 | -| ir.cpp:1324:3:1324:13 | SideEffect | ~m1322_4 | -| ir.cpp:1324:3:1324:13 | Unary | r1324_6 | -| ir.cpp:1324:8:1324:8 | Address | &:r1324_3 | -| ir.cpp:1324:8:1324:8 | Arg(1) | 1:r1324_5 | -| ir.cpp:1324:8:1324:8 | Load | m1322_6 | -| ir.cpp:1324:8:1324:8 | Unary | r1324_4 | -| ir.cpp:1328:3:1328:3 | Address | &:r1328_5 | -| ir.cpp:1328:3:1328:3 | Address | &:r1328_5 | -| ir.cpp:1328:3:1328:3 | Address | &:r1328_5 | -| ir.cpp:1328:3:1328:3 | Address | &:r1328_5 | -| ir.cpp:1328:3:1328:3 | ChiPartial | partial:m1328_3 | -| ir.cpp:1328:3:1328:3 | ChiPartial | partial:m1328_3 | -| ir.cpp:1328:3:1328:3 | ChiPartial | partial:m1328_3 | -| ir.cpp:1328:3:1328:3 | ChiPartial | partial:m1328_3 | -| ir.cpp:1328:3:1328:3 | ChiTotal | total:m1328_2 | -| ir.cpp:1328:3:1328:3 | ChiTotal | total:m1328_2 | -| ir.cpp:1328:3:1328:3 | ChiTotal | total:m1328_2 | -| ir.cpp:1328:3:1328:3 | ChiTotal | total:m1328_2 | -| ir.cpp:1328:3:1328:3 | Load | m1329_3 | -| ir.cpp:1328:3:1328:3 | Load | m1329_3 | -| ir.cpp:1328:3:1328:3 | Load | m1329_8 | -| ir.cpp:1328:3:1328:3 | Load | m1329_8 | -| ir.cpp:1328:3:1328:3 | SideEffect | m1328_3 | -| ir.cpp:1328:3:1328:3 | SideEffect | m1328_3 | -| ir.cpp:1328:3:1328:3 | SideEffect | ~m1329_6 | -| ir.cpp:1328:3:1328:3 | SideEffect | ~m1329_6 | -| ir.cpp:1329:5:1329:15 | Address | &:r1329_1 | -| ir.cpp:1329:5:1329:15 | Address | &:r1329_1 | -| ir.cpp:1329:5:1329:15 | Address | &:r1329_1 | -| ir.cpp:1329:5:1329:15 | Address | &:r1329_1 | -| ir.cpp:1329:5:1329:15 | Address | &:r1329_1 | -| ir.cpp:1329:5:1329:15 | Address | &:r1329_1 | -| ir.cpp:1329:5:1329:15 | Arg(this) | this:r1329_1 | -| ir.cpp:1329:5:1329:15 | Arg(this) | this:r1329_1 | -| ir.cpp:1329:5:1329:15 | CallTarget | func:r1329_3 | -| ir.cpp:1329:5:1329:15 | CallTarget | func:r1329_3 | -| ir.cpp:1329:5:1329:15 | ChiPartial | partial:m1329_5 | -| ir.cpp:1329:5:1329:15 | ChiPartial | partial:m1329_5 | -| ir.cpp:1329:5:1329:15 | ChiPartial | partial:m1329_7 | -| ir.cpp:1329:5:1329:15 | ChiPartial | partial:m1329_7 | -| ir.cpp:1329:5:1329:15 | ChiTotal | total:m1328_4 | -| ir.cpp:1329:5:1329:15 | ChiTotal | total:m1328_4 | -| ir.cpp:1329:5:1329:15 | ChiTotal | total:m1329_2 | -| ir.cpp:1329:5:1329:15 | ChiTotal | total:m1329_2 | -| ir.cpp:1329:5:1329:15 | SideEffect | ~m1328_4 | -| ir.cpp:1329:5:1329:15 | SideEffect | ~m1328_4 | -| ir.cpp:1329:5:1329:15 | StoreValue | r1329_2 | -| ir.cpp:1329:5:1329:15 | StoreValue | r1329_2 | -| ir.cpp:1367:6:1367:21 | ChiPartial | partial:m1367_3 | -| ir.cpp:1367:6:1367:21 | ChiTotal | total:m1367_2 | -| ir.cpp:1367:6:1367:21 | SideEffect | ~m1379_6 | -| ir.cpp:1368:12:1368:12 | Address | &:r1368_1 | -| ir.cpp:1368:16:1368:34 | CallTarget | func:r1368_2 | -| ir.cpp:1368:16:1368:34 | ChiPartial | partial:m1368_4 | -| ir.cpp:1368:16:1368:34 | ChiTotal | total:m1367_4 | -| ir.cpp:1368:16:1368:34 | SideEffect | ~m1367_4 | -| ir.cpp:1368:16:1368:34 | StoreValue | r1368_3 | -| ir.cpp:1369:19:1369:20 | Address | &:r1369_1 | -| ir.cpp:1369:24:1369:42 | CallTarget | func:r1369_3 | -| ir.cpp:1369:24:1369:42 | ChiPartial | partial:m1369_5 | -| ir.cpp:1369:24:1369:42 | ChiTotal | total:m1368_5 | -| ir.cpp:1369:24:1369:42 | SideEffect | ~m1368_5 | -| ir.cpp:1369:24:1369:42 | StoreValue | r1369_4 | -| ir.cpp:1369:24:1369:44 | Address | &:r1369_2 | -| ir.cpp:1369:24:1369:44 | StoreValue | r1369_9 | -| ir.cpp:1369:24:1369:44 | Unary | r1369_2 | -| ir.cpp:1369:24:1369:44 | Unary | r1369_8 | -| ir.cpp:1371:5:1371:13 | CallTarget | func:r1371_1 | -| ir.cpp:1371:5:1371:13 | ChiPartial | partial:m1371_6 | -| ir.cpp:1371:5:1371:13 | ChiTotal | total:m1369_6 | -| ir.cpp:1371:5:1371:13 | SideEffect | ~m1369_6 | -| ir.cpp:1371:15:1371:15 | Address | &:r1371_4 | -| ir.cpp:1371:15:1371:15 | Arg(0) | 0:r1371_4 | -| ir.cpp:1371:15:1371:15 | SideEffect | ~m1368_6 | -| ir.cpp:1371:15:1371:15 | Unary | r1371_2 | -| ir.cpp:1371:15:1371:15 | Unary | r1371_3 | -| ir.cpp:1372:5:1372:21 | CallTarget | func:r1372_1 | -| ir.cpp:1372:5:1372:21 | ChiPartial | partial:m1372_15 | -| ir.cpp:1372:5:1372:21 | ChiTotal | total:m1372_9 | -| ir.cpp:1372:5:1372:21 | SideEffect | ~m1372_9 | -| ir.cpp:1372:23:1372:27 | Address | &:r1372_2 | -| ir.cpp:1372:23:1372:27 | Address | &:r1372_2 | -| ir.cpp:1372:23:1372:27 | Address | &:r1372_6 | -| ir.cpp:1372:23:1372:27 | Address | &:r1372_13 | -| ir.cpp:1372:23:1372:27 | Arg(0) | 0:r1372_6 | -| ir.cpp:1372:23:1372:27 | Arg(0) | 0:r1372_13 | -| ir.cpp:1372:23:1372:27 | Arg(this) | this:r1372_2 | -| ir.cpp:1372:23:1372:27 | CallTarget | func:r1372_4 | -| ir.cpp:1372:23:1372:27 | ChiPartial | partial:m1372_8 | -| ir.cpp:1372:23:1372:27 | ChiPartial | partial:m1372_11 | -| ir.cpp:1372:23:1372:27 | ChiTotal | total:m1371_7 | -| ir.cpp:1372:23:1372:27 | ChiTotal | total:m1372_3 | -| ir.cpp:1372:23:1372:27 | SideEffect | ~m1367_3 | -| ir.cpp:1372:23:1372:27 | SideEffect | ~m1371_7 | -| ir.cpp:1372:23:1372:27 | SideEffect | ~m1372_12 | -| ir.cpp:1372:23:1372:27 | Unary | r1372_2 | -| ir.cpp:1372:23:1372:27 | Unary | r1372_5 | -| ir.cpp:1373:5:1373:15 | CallTarget | func:r1373_1 | -| ir.cpp:1373:5:1373:15 | ChiPartial | partial:m1373_16 | -| ir.cpp:1373:5:1373:15 | ChiTotal | total:m1373_10 | -| ir.cpp:1373:5:1373:15 | SideEffect | ~m1373_10 | -| ir.cpp:1373:17:1373:17 | Address | &:r1373_2 | -| ir.cpp:1373:17:1373:17 | Address | &:r1373_2 | -| ir.cpp:1373:17:1373:17 | Address | &:r1373_2 | -| ir.cpp:1373:17:1373:17 | Address | &:r1373_7 | -| ir.cpp:1373:17:1373:17 | Arg(0) | 0:r1373_7 | -| ir.cpp:1373:17:1373:17 | Arg(0) | 0:r1373_14 | -| ir.cpp:1373:17:1373:17 | Arg(this) | this:r1373_2 | -| ir.cpp:1373:17:1373:17 | CallTarget | func:r1373_4 | -| ir.cpp:1373:17:1373:17 | ChiPartial | partial:m1373_9 | -| ir.cpp:1373:17:1373:17 | ChiPartial | partial:m1373_12 | -| ir.cpp:1373:17:1373:17 | ChiTotal | total:m1372_16 | -| ir.cpp:1373:17:1373:17 | ChiTotal | total:m1373_3 | -| ir.cpp:1373:17:1373:17 | Load | m1373_13 | -| ir.cpp:1373:17:1373:17 | SideEffect | ~m1368_6 | -| ir.cpp:1373:17:1373:17 | SideEffect | ~m1372_16 | -| ir.cpp:1373:17:1373:17 | Unary | r1373_5 | -| ir.cpp:1373:17:1373:17 | Unary | r1373_6 | -| ir.cpp:1374:5:1374:23 | CallTarget | func:r1374_1 | -| ir.cpp:1374:5:1374:23 | ChiPartial | partial:m1374_15 | -| ir.cpp:1374:5:1374:23 | ChiTotal | total:m1374_9 | -| ir.cpp:1374:5:1374:23 | SideEffect | ~m1374_9 | -| ir.cpp:1374:25:1374:29 | Address | &:r1374_2 | -| ir.cpp:1374:25:1374:29 | Address | &:r1374_2 | -| ir.cpp:1374:25:1374:29 | Address | &:r1374_2 | -| ir.cpp:1374:25:1374:29 | Address | &:r1374_6 | -| ir.cpp:1374:25:1374:29 | Arg(0) | 0:r1374_6 | -| ir.cpp:1374:25:1374:29 | Arg(0) | 0:r1374_13 | -| ir.cpp:1374:25:1374:29 | Arg(this) | this:r1374_2 | -| ir.cpp:1374:25:1374:29 | CallTarget | func:r1374_4 | -| ir.cpp:1374:25:1374:29 | ChiPartial | partial:m1374_8 | -| ir.cpp:1374:25:1374:29 | ChiPartial | partial:m1374_11 | -| ir.cpp:1374:25:1374:29 | ChiTotal | total:m1373_17 | -| ir.cpp:1374:25:1374:29 | ChiTotal | total:m1374_3 | -| ir.cpp:1374:25:1374:29 | Load | m1374_12 | -| ir.cpp:1374:25:1374:29 | SideEffect | ~m1367_3 | -| ir.cpp:1374:25:1374:29 | SideEffect | ~m1373_17 | -| ir.cpp:1374:25:1374:29 | Unary | r1374_5 | -| ir.cpp:1375:5:1375:12 | Address | &:r1375_1 | -| ir.cpp:1375:5:1375:12 | Address | &:r1375_1 | -| ir.cpp:1375:5:1375:12 | Address | &:r1375_9 | -| ir.cpp:1375:5:1375:12 | Arg(this) | this:r1375_1 | -| ir.cpp:1375:5:1375:12 | Arg(this) | this:r1375_9 | -| ir.cpp:1375:5:1375:12 | CallTarget | func:r1375_3 | -| ir.cpp:1375:5:1375:12 | ChiPartial | partial:m1375_5 | -| ir.cpp:1375:5:1375:12 | ChiPartial | partial:m1375_7 | -| ir.cpp:1375:5:1375:12 | ChiTotal | total:m1374_16 | -| ir.cpp:1375:5:1375:12 | ChiTotal | total:m1375_2 | -| ir.cpp:1375:5:1375:12 | SideEffect | m1375_8 | -| ir.cpp:1375:5:1375:12 | SideEffect | ~m1374_16 | -| ir.cpp:1375:5:1375:12 | Unary | r1375_1 | -| ir.cpp:1375:14:1375:18 | CallTarget | func:r1375_10 | -| ir.cpp:1375:14:1375:18 | ChiPartial | partial:m1375_12 | -| ir.cpp:1375:14:1375:18 | ChiTotal | total:m1375_6 | -| ir.cpp:1375:14:1375:18 | SideEffect | ~m1375_6 | -| ir.cpp:1376:5:1376:23 | CallTarget | func:r1376_2 | -| ir.cpp:1376:5:1376:23 | ChiPartial | partial:m1376_4 | -| ir.cpp:1376:5:1376:23 | ChiTotal | total:m1375_13 | -| ir.cpp:1376:5:1376:23 | SideEffect | ~m1375_13 | -| ir.cpp:1376:5:1376:23 | StoreValue | r1376_3 | -| ir.cpp:1376:5:1376:25 | Address | &:r1376_1 | -| ir.cpp:1376:5:1376:25 | Address | &:r1376_7 | -| ir.cpp:1376:5:1376:25 | Arg(this) | this:r1376_7 | -| ir.cpp:1376:5:1376:25 | SideEffect | m1376_6 | -| ir.cpp:1376:5:1376:25 | Unary | r1376_1 | -| ir.cpp:1376:27:1376:31 | CallTarget | func:r1376_8 | -| ir.cpp:1376:27:1376:31 | ChiPartial | partial:m1376_10 | -| ir.cpp:1376:27:1376:31 | ChiTotal | total:m1376_5 | -| ir.cpp:1376:27:1376:31 | SideEffect | ~m1376_5 | -| ir.cpp:1378:5:1378:28 | CallTarget | func:r1378_2 | -| ir.cpp:1378:5:1378:28 | ChiPartial | partial:m1378_4 | -| ir.cpp:1378:5:1378:28 | ChiTotal | total:m1376_11 | -| ir.cpp:1378:5:1378:28 | SideEffect | ~m1376_11 | -| ir.cpp:1378:5:1378:28 | StoreValue | r1378_3 | -| ir.cpp:1378:5:1378:30 | Address | &:r1378_1 | -| ir.cpp:1379:1:1379:1 | Address | &:r1379_2 | -| ir.cpp:1379:1:1379:1 | Address | &:r1379_2 | -| ir.cpp:1379:1:1379:1 | Arg(this) | this:r1379_2 | -| ir.cpp:1379:1:1379:1 | CallTarget | func:r1379_3 | -| ir.cpp:1379:1:1379:1 | ChiPartial | partial:m1379_5 | -| ir.cpp:1379:1:1379:1 | ChiPartial | partial:m1379_8 | -| ir.cpp:1379:1:1379:1 | ChiTotal | total:m1368_6 | -| ir.cpp:1379:1:1379:1 | ChiTotal | total:m1378_5 | -| ir.cpp:1379:1:1379:1 | SideEffect | m1368_6 | -| ir.cpp:1379:1:1379:1 | SideEffect | ~m1378_5 | -| ir.cpp:1381:6:1381:30 | ChiPartial | partial:m1381_3 | -| ir.cpp:1381:6:1381:30 | ChiTotal | total:m1381_2 | -| ir.cpp:1381:6:1381:30 | SideEffect | ~m1391_14 | -| ir.cpp:1382:21:1382:21 | Address | &:r1382_1 | -| ir.cpp:1382:25:1382:52 | CallTarget | func:r1382_2 | -| ir.cpp:1382:25:1382:52 | ChiPartial | partial:m1382_4 | -| ir.cpp:1382:25:1382:52 | ChiTotal | total:m1381_4 | -| ir.cpp:1382:25:1382:52 | SideEffect | ~m1381_4 | -| ir.cpp:1382:25:1382:52 | StoreValue | r1382_3 | -| ir.cpp:1383:28:1383:29 | Address | &:r1383_1 | -| ir.cpp:1383:33:1383:60 | CallTarget | func:r1383_3 | -| ir.cpp:1383:33:1383:60 | ChiPartial | partial:m1383_5 | -| ir.cpp:1383:33:1383:60 | ChiTotal | total:m1382_5 | -| ir.cpp:1383:33:1383:60 | SideEffect | ~m1382_5 | -| ir.cpp:1383:33:1383:60 | StoreValue | r1383_4 | -| ir.cpp:1383:33:1383:62 | Address | &:r1383_2 | -| ir.cpp:1383:33:1383:62 | StoreValue | r1383_9 | -| ir.cpp:1383:33:1383:62 | Unary | r1383_2 | -| ir.cpp:1383:33:1383:62 | Unary | r1383_8 | -| ir.cpp:1384:21:1384:22 | Address | &:r1384_1 | -| ir.cpp:1385:5:1385:13 | CallTarget | func:r1385_1 | -| ir.cpp:1385:5:1385:13 | ChiPartial | partial:m1385_6 | -| ir.cpp:1385:5:1385:13 | ChiTotal | total:m1383_6 | -| ir.cpp:1385:5:1385:13 | SideEffect | ~m1383_6 | -| ir.cpp:1385:15:1385:15 | Address | &:r1385_4 | -| ir.cpp:1385:15:1385:15 | Arg(0) | 0:r1385_4 | -| ir.cpp:1385:15:1385:15 | SideEffect | ~m1382_6 | -| ir.cpp:1385:15:1385:15 | Unary | r1385_2 | -| ir.cpp:1385:15:1385:15 | Unary | r1385_3 | -| ir.cpp:1386:5:1386:15 | CallTarget | func:r1386_1 | -| ir.cpp:1386:5:1386:15 | ChiPartial | partial:m1386_8 | -| ir.cpp:1386:5:1386:15 | ChiTotal | total:m1385_7 | -| ir.cpp:1386:5:1386:15 | SideEffect | ~m1385_7 | -| ir.cpp:1386:17:1386:17 | Address | &:r1386_2 | -| ir.cpp:1386:17:1386:17 | Address | &:r1386_2 | -| ir.cpp:1386:17:1386:17 | Address | &:r1386_3 | -| ir.cpp:1386:17:1386:17 | Arg(0) | 0:r1386_6 | -| ir.cpp:1386:17:1386:17 | Load | m1382_6 | -| ir.cpp:1386:17:1386:17 | Load | m1386_5 | -| ir.cpp:1386:17:1386:17 | StoreValue | r1386_4 | -| ir.cpp:1387:5:1387:21 | Address | &:r1387_1 | -| ir.cpp:1387:5:1387:21 | Address | &:r1387_1 | -| ir.cpp:1387:5:1387:21 | Address | &:r1387_1 | -| ir.cpp:1387:5:1387:21 | Arg(this) | this:r1387_1 | -| ir.cpp:1387:5:1387:21 | ChiPartial | partial:m1387_9 | -| ir.cpp:1387:5:1387:21 | ChiTotal | total:m1387_3 | -| ir.cpp:1387:5:1387:21 | SideEffect | m1387_3 | -| ir.cpp:1387:5:1387:21 | StoreValue | r1387_2 | -| ir.cpp:1387:23:1387:28 | CallTarget | func:r1387_4 | -| ir.cpp:1387:23:1387:28 | ChiPartial | partial:m1387_6 | -| ir.cpp:1387:23:1387:28 | ChiTotal | total:m1386_9 | -| ir.cpp:1387:23:1387:28 | SideEffect | ~m1386_9 | -| ir.cpp:1388:5:1388:32 | CallTarget | func:r1388_2 | -| ir.cpp:1388:5:1388:32 | ChiPartial | partial:m1388_4 | -| ir.cpp:1388:5:1388:32 | ChiTotal | total:m1387_7 | -| ir.cpp:1388:5:1388:32 | SideEffect | ~m1387_7 | -| ir.cpp:1388:5:1388:32 | StoreValue | r1388_3 | -| ir.cpp:1388:5:1388:34 | Address | &:r1388_1 | -| ir.cpp:1388:5:1388:34 | Address | &:r1388_1 | -| ir.cpp:1388:5:1388:34 | Address | &:r1388_1 | -| ir.cpp:1388:5:1388:34 | Arg(this) | this:r1388_1 | -| ir.cpp:1388:5:1388:34 | ChiPartial | partial:m1388_12 | -| ir.cpp:1388:5:1388:34 | ChiTotal | total:m1388_6 | -| ir.cpp:1388:5:1388:34 | SideEffect | m1388_6 | -| ir.cpp:1388:36:1388:41 | CallTarget | func:r1388_7 | -| ir.cpp:1388:36:1388:41 | ChiPartial | partial:m1388_9 | -| ir.cpp:1388:36:1388:41 | ChiTotal | total:m1388_5 | -| ir.cpp:1388:36:1388:41 | SideEffect | ~m1388_5 | -| ir.cpp:1390:5:1390:37 | CallTarget | func:r1390_2 | -| ir.cpp:1390:5:1390:37 | ChiPartial | partial:m1390_4 | -| ir.cpp:1390:5:1390:37 | ChiTotal | total:m1388_10 | -| ir.cpp:1390:5:1390:37 | SideEffect | ~m1388_10 | -| ir.cpp:1390:5:1390:37 | StoreValue | r1390_3 | -| ir.cpp:1390:5:1390:39 | Address | &:r1390_1 | -| ir.cpp:1391:1:1391:1 | Address | &:r1391_2 | -| ir.cpp:1391:1:1391:1 | Address | &:r1391_2 | -| ir.cpp:1391:1:1391:1 | Address | &:r1391_10 | -| ir.cpp:1391:1:1391:1 | Address | &:r1391_10 | -| ir.cpp:1391:1:1391:1 | Arg(this) | this:r1391_2 | -| ir.cpp:1391:1:1391:1 | Arg(this) | this:r1391_10 | -| ir.cpp:1391:1:1391:1 | CallTarget | func:r1391_3 | -| ir.cpp:1391:1:1391:1 | CallTarget | func:r1391_11 | -| ir.cpp:1391:1:1391:1 | ChiPartial | partial:m1391_5 | -| ir.cpp:1391:1:1391:1 | ChiPartial | partial:m1391_8 | -| ir.cpp:1391:1:1391:1 | ChiPartial | partial:m1391_13 | -| ir.cpp:1391:1:1391:1 | ChiPartial | partial:m1391_16 | -| ir.cpp:1391:1:1391:1 | ChiTotal | total:m1382_6 | -| ir.cpp:1391:1:1391:1 | ChiTotal | total:m1384_2 | -| ir.cpp:1391:1:1391:1 | ChiTotal | total:m1390_5 | -| ir.cpp:1391:1:1391:1 | ChiTotal | total:m1391_6 | -| ir.cpp:1391:1:1391:1 | SideEffect | m1382_6 | -| ir.cpp:1391:1:1391:1 | SideEffect | m1384_2 | -| ir.cpp:1391:1:1391:1 | SideEffect | ~m1390_5 | -| ir.cpp:1391:1:1391:1 | SideEffect | ~m1391_6 | -| ir.cpp:1393:6:1393:31 | ChiPartial | partial:m1393_3 | -| ir.cpp:1393:6:1393:31 | ChiTotal | total:m1393_2 | -| ir.cpp:1393:6:1393:31 | SideEffect | ~m1403_6 | -| ir.cpp:1394:22:1394:22 | Address | &:r1394_1 | -| ir.cpp:1394:26:1394:54 | CallTarget | func:r1394_2 | -| ir.cpp:1394:26:1394:54 | ChiPartial | partial:m1394_4 | -| ir.cpp:1394:26:1394:54 | ChiTotal | total:m1393_4 | -| ir.cpp:1394:26:1394:54 | SideEffect | ~m1393_4 | -| ir.cpp:1394:26:1394:54 | StoreValue | r1394_3 | -| ir.cpp:1395:29:1395:30 | Address | &:r1395_1 | -| ir.cpp:1395:34:1395:62 | CallTarget | func:r1395_3 | -| ir.cpp:1395:34:1395:62 | ChiPartial | partial:m1395_5 | -| ir.cpp:1395:34:1395:62 | ChiTotal | total:m1394_5 | -| ir.cpp:1395:34:1395:62 | SideEffect | ~m1394_5 | -| ir.cpp:1395:34:1395:62 | StoreValue | r1395_4 | -| ir.cpp:1395:34:1395:64 | Address | &:r1395_2 | -| ir.cpp:1395:34:1395:64 | StoreValue | r1395_9 | -| ir.cpp:1395:34:1395:64 | Unary | r1395_2 | -| ir.cpp:1395:34:1395:64 | Unary | r1395_8 | -| ir.cpp:1396:22:1396:23 | Address | &:r1396_1 | -| ir.cpp:1396:22:1396:23 | Address | &:r1396_1 | -| ir.cpp:1396:22:1396:23 | Arg(this) | this:r1396_1 | -| ir.cpp:1396:22:1396:23 | CallTarget | func:r1396_3 | -| ir.cpp:1396:22:1396:23 | ChiPartial | partial:m1396_5 | -| ir.cpp:1396:22:1396:23 | ChiPartial | partial:m1396_7 | -| ir.cpp:1396:22:1396:23 | ChiTotal | total:m1395_6 | -| ir.cpp:1396:22:1396:23 | ChiTotal | total:m1396_2 | -| ir.cpp:1396:22:1396:23 | SideEffect | ~m1395_6 | -| ir.cpp:1397:5:1397:13 | CallTarget | func:r1397_1 | -| ir.cpp:1397:5:1397:13 | ChiPartial | partial:m1397_6 | -| ir.cpp:1397:5:1397:13 | ChiTotal | total:m1396_6 | -| ir.cpp:1397:5:1397:13 | SideEffect | ~m1396_6 | -| ir.cpp:1397:15:1397:15 | Address | &:r1397_4 | -| ir.cpp:1397:15:1397:15 | Arg(0) | 0:r1397_4 | -| ir.cpp:1397:15:1397:15 | SideEffect | ~m1394_6 | -| ir.cpp:1397:15:1397:15 | Unary | r1397_2 | -| ir.cpp:1397:15:1397:15 | Unary | r1397_3 | -| ir.cpp:1398:5:1398:15 | CallTarget | func:r1398_1 | -| ir.cpp:1398:5:1398:15 | ChiPartial | partial:m1398_16 | -| ir.cpp:1398:5:1398:15 | ChiTotal | total:m1398_10 | -| ir.cpp:1398:5:1398:15 | SideEffect | ~m1398_10 | -| ir.cpp:1398:17:1398:17 | Address | &:r1398_2 | -| ir.cpp:1398:17:1398:17 | Address | &:r1398_2 | -| ir.cpp:1398:17:1398:17 | Address | &:r1398_2 | -| ir.cpp:1398:17:1398:17 | Address | &:r1398_7 | -| ir.cpp:1398:17:1398:17 | Arg(0) | 0:r1398_7 | -| ir.cpp:1398:17:1398:17 | Arg(0) | 0:r1398_14 | -| ir.cpp:1398:17:1398:17 | Arg(this) | this:r1398_2 | -| ir.cpp:1398:17:1398:17 | CallTarget | func:r1398_4 | -| ir.cpp:1398:17:1398:17 | ChiPartial | partial:m1398_9 | -| ir.cpp:1398:17:1398:17 | ChiPartial | partial:m1398_12 | -| ir.cpp:1398:17:1398:17 | ChiTotal | total:m1397_7 | -| ir.cpp:1398:17:1398:17 | ChiTotal | total:m1398_3 | -| ir.cpp:1398:17:1398:17 | Load | m1398_13 | -| ir.cpp:1398:17:1398:17 | SideEffect | ~m1394_6 | -| ir.cpp:1398:17:1398:17 | SideEffect | ~m1397_7 | -| ir.cpp:1398:17:1398:17 | Unary | r1398_5 | -| ir.cpp:1398:17:1398:17 | Unary | r1398_6 | -| ir.cpp:1399:5:1399:22 | Address | &:r1399_1 | -| ir.cpp:1399:5:1399:22 | Address | &:r1399_1 | -| ir.cpp:1399:5:1399:22 | Address | &:r1399_1 | -| ir.cpp:1399:5:1399:22 | Address | &:r1399_1 | -| ir.cpp:1399:5:1399:22 | Arg(this) | this:r1399_1 | -| ir.cpp:1399:5:1399:22 | Arg(this) | this:r1399_1 | -| ir.cpp:1399:5:1399:22 | CallTarget | func:r1399_3 | -| ir.cpp:1399:5:1399:22 | ChiPartial | partial:m1399_5 | -| ir.cpp:1399:5:1399:22 | ChiPartial | partial:m1399_7 | -| ir.cpp:1399:5:1399:22 | ChiPartial | partial:m1399_14 | -| ir.cpp:1399:5:1399:22 | ChiTotal | total:m1398_17 | -| ir.cpp:1399:5:1399:22 | ChiTotal | total:m1399_2 | -| ir.cpp:1399:5:1399:22 | ChiTotal | total:m1399_8 | -| ir.cpp:1399:5:1399:22 | SideEffect | m1399_8 | -| ir.cpp:1399:5:1399:22 | SideEffect | ~m1398_17 | -| ir.cpp:1399:24:1399:29 | CallTarget | func:r1399_9 | -| ir.cpp:1399:24:1399:29 | ChiPartial | partial:m1399_11 | -| ir.cpp:1399:24:1399:29 | ChiTotal | total:m1399_6 | -| ir.cpp:1399:24:1399:29 | SideEffect | ~m1399_6 | -| ir.cpp:1400:5:1400:33 | CallTarget | func:r1400_2 | -| ir.cpp:1400:5:1400:33 | ChiPartial | partial:m1400_4 | -| ir.cpp:1400:5:1400:33 | ChiTotal | total:m1399_12 | -| ir.cpp:1400:5:1400:33 | SideEffect | ~m1399_12 | -| ir.cpp:1400:5:1400:33 | StoreValue | r1400_3 | -| ir.cpp:1400:5:1400:35 | Address | &:r1400_1 | -| ir.cpp:1400:5:1400:35 | Address | &:r1400_1 | -| ir.cpp:1400:5:1400:35 | Address | &:r1400_1 | -| ir.cpp:1400:5:1400:35 | Arg(this) | this:r1400_1 | -| ir.cpp:1400:5:1400:35 | ChiPartial | partial:m1400_12 | -| ir.cpp:1400:5:1400:35 | ChiTotal | total:m1400_6 | -| ir.cpp:1400:5:1400:35 | SideEffect | m1400_6 | -| ir.cpp:1400:37:1400:42 | CallTarget | func:r1400_7 | -| ir.cpp:1400:37:1400:42 | ChiPartial | partial:m1400_9 | -| ir.cpp:1400:37:1400:42 | ChiTotal | total:m1400_5 | -| ir.cpp:1400:37:1400:42 | SideEffect | ~m1400_5 | -| ir.cpp:1401:5:1401:38 | CallTarget | func:r1401_2 | -| ir.cpp:1401:5:1401:38 | ChiPartial | partial:m1401_4 | -| ir.cpp:1401:5:1401:38 | ChiTotal | total:m1400_10 | -| ir.cpp:1401:5:1401:38 | SideEffect | ~m1400_10 | -| ir.cpp:1401:5:1401:38 | StoreValue | r1401_3 | -| ir.cpp:1401:5:1401:40 | Address | &:r1401_1 | -| ir.cpp:1403:9:1403:9 | Address | &:r1403_1 | -| ir.cpp:1403:13:1403:41 | CallTarget | func:r1403_3 | -| ir.cpp:1403:13:1403:41 | ChiPartial | partial:m1403_5 | -| ir.cpp:1403:13:1403:41 | ChiTotal | total:m1401_5 | -| ir.cpp:1403:13:1403:41 | SideEffect | ~m1401_5 | -| ir.cpp:1403:13:1403:41 | StoreValue | r1403_4 | -| ir.cpp:1403:13:1403:43 | Address | &:r1403_2 | -| ir.cpp:1403:13:1403:43 | Unary | r1403_2 | -| ir.cpp:1403:45:1403:45 | Address | &:r1403_8 | -| ir.cpp:1403:45:1403:45 | Load | ~m1403_7 | -| ir.cpp:1403:45:1403:45 | StoreValue | r1403_9 | -| ir.cpp:1406:6:1406:20 | ChiPartial | partial:m1406_3 | -| ir.cpp:1406:6:1406:20 | ChiTotal | total:m1406_2 | -| ir.cpp:1406:6:1406:20 | SideEffect | ~m1415_4 | -| ir.cpp:1407:11:1407:11 | Address | &:r1407_1 | -| ir.cpp:1407:15:1407:32 | CallTarget | func:r1407_2 | -| ir.cpp:1407:15:1407:32 | ChiPartial | partial:m1407_4 | -| ir.cpp:1407:15:1407:32 | ChiTotal | total:m1406_4 | -| ir.cpp:1407:15:1407:32 | SideEffect | ~m1406_4 | -| ir.cpp:1407:15:1407:32 | StoreValue | r1407_3 | -| ir.cpp:1408:18:1408:19 | Address | &:r1408_1 | -| ir.cpp:1408:23:1408:40 | CallTarget | func:r1408_3 | -| ir.cpp:1408:23:1408:40 | ChiPartial | partial:m1408_5 | -| ir.cpp:1408:23:1408:40 | ChiTotal | total:m1407_5 | -| ir.cpp:1408:23:1408:40 | SideEffect | ~m1407_5 | -| ir.cpp:1408:23:1408:40 | StoreValue | r1408_4 | -| ir.cpp:1408:23:1408:42 | Address | &:r1408_2 | -| ir.cpp:1408:23:1408:42 | StoreValue | r1408_9 | -| ir.cpp:1408:23:1408:42 | Unary | r1408_2 | -| ir.cpp:1408:23:1408:42 | Unary | r1408_8 | -| ir.cpp:1410:5:1410:13 | CallTarget | func:r1410_1 | -| ir.cpp:1410:5:1410:13 | ChiPartial | partial:m1410_6 | -| ir.cpp:1410:5:1410:13 | ChiTotal | total:m1408_6 | -| ir.cpp:1410:5:1410:13 | SideEffect | ~m1408_6 | -| ir.cpp:1410:15:1410:15 | Address | &:r1410_4 | -| ir.cpp:1410:15:1410:15 | Arg(0) | 0:r1410_4 | -| ir.cpp:1410:15:1410:15 | SideEffect | ~m1407_6 | -| ir.cpp:1410:15:1410:15 | Unary | r1410_2 | -| ir.cpp:1410:15:1410:15 | Unary | r1410_3 | -| ir.cpp:1411:5:1411:15 | CallTarget | func:r1411_1 | -| ir.cpp:1411:5:1411:15 | ChiPartial | partial:m1411_5 | -| ir.cpp:1411:5:1411:15 | ChiTotal | total:m1410_7 | -| ir.cpp:1411:5:1411:15 | SideEffect | ~m1410_7 | -| ir.cpp:1411:17:1411:17 | Address | &:r1411_2 | -| ir.cpp:1411:17:1411:17 | Arg(0) | 0:r1411_3 | -| ir.cpp:1411:17:1411:17 | Load | m1407_6 | -| ir.cpp:1413:9:1413:9 | Address | &:r1413_1 | -| ir.cpp:1413:13:1413:30 | Address | &:r1413_6 | -| ir.cpp:1413:13:1413:30 | CallTarget | func:r1413_2 | -| ir.cpp:1413:13:1413:30 | ChiPartial | partial:m1413_4 | -| ir.cpp:1413:13:1413:30 | ChiTotal | total:m1411_6 | -| ir.cpp:1413:13:1413:30 | SideEffect | ~m1411_6 | -| ir.cpp:1413:13:1413:30 | StoreValue | r1413_3 | -| ir.cpp:1413:13:1413:30 | Unary | r1413_6 | -| ir.cpp:1413:34:1413:34 | Address | &:r1413_8 | -| ir.cpp:1413:34:1413:34 | Load | ~m1413_7 | -| ir.cpp:1413:34:1413:34 | StoreValue | r1413_9 | -| ir.cpp:1415:5:1415:27 | CallTarget | func:r1415_1 | -| ir.cpp:1415:5:1415:27 | ChiPartial | partial:m1415_3 | -| ir.cpp:1415:5:1415:27 | ChiTotal | total:m1413_5 | -| ir.cpp:1415:5:1415:27 | SideEffect | ~m1413_5 | -| ir.cpp:1423:6:1423:29 | ChiPartial | partial:m1423_3 | -| ir.cpp:1423:6:1423:29 | ChiTotal | total:m1423_2 | -| ir.cpp:1423:6:1423:29 | SideEffect | ~m1428_5 | -| ir.cpp:1424:16:1424:17 | Address | &:r1424_1 | -| ir.cpp:1424:21:1424:46 | Address | &:r1424_6 | -| ir.cpp:1424:21:1424:46 | CallTarget | func:r1424_2 | -| ir.cpp:1424:21:1424:46 | ChiPartial | partial:m1424_4 | -| ir.cpp:1424:21:1424:46 | ChiTotal | total:m1423_4 | -| ir.cpp:1424:21:1424:46 | SideEffect | ~m1423_4 | -| ir.cpp:1424:21:1424:46 | StoreValue | r1424_3 | -| ir.cpp:1424:21:1424:46 | Unary | r1424_6 | -| ir.cpp:1424:21:1424:50 | StoreValue | r1424_12 | -| ir.cpp:1424:21:1424:50 | Unary | r1424_10 | -| ir.cpp:1424:21:1424:50 | Unary | r1424_11 | -| ir.cpp:1424:50:1424:50 | Address | &:r1424_8 | -| ir.cpp:1424:50:1424:50 | Load | ~m1424_7 | -| ir.cpp:1424:50:1424:50 | Unary | r1424_9 | -| ir.cpp:1425:9:1425:9 | Address | &:r1425_1 | -| ir.cpp:1425:13:1425:38 | Address | &:r1425_6 | -| ir.cpp:1425:13:1425:38 | CallTarget | func:r1425_2 | -| ir.cpp:1425:13:1425:38 | ChiPartial | partial:m1425_4 | -| ir.cpp:1425:13:1425:38 | ChiTotal | total:m1424_5 | -| ir.cpp:1425:13:1425:38 | SideEffect | ~m1424_5 | -| ir.cpp:1425:13:1425:38 | StoreValue | r1425_3 | -| ir.cpp:1425:13:1425:38 | Unary | r1425_6 | -| ir.cpp:1425:13:1425:42 | Load | ~m1425_5 | -| ir.cpp:1425:13:1425:42 | StoreValue | r1425_10 | -| ir.cpp:1425:42:1425:42 | Address | &:r1425_8 | -| ir.cpp:1425:42:1425:42 | Address | &:r1425_9 | -| ir.cpp:1425:42:1425:42 | Load | ~m1425_7 | -| ir.cpp:1427:18:1427:19 | Address | &:r1427_1 | -| ir.cpp:1427:23:1427:48 | Address | &:r1427_6 | -| ir.cpp:1427:23:1427:48 | CallTarget | func:r1427_2 | -| ir.cpp:1427:23:1427:48 | ChiPartial | partial:m1427_4 | -| ir.cpp:1427:23:1427:48 | ChiTotal | total:m1425_5 | -| ir.cpp:1427:23:1427:48 | SideEffect | ~m1425_5 | -| ir.cpp:1427:23:1427:48 | StoreValue | r1427_3 | -| ir.cpp:1427:23:1427:48 | Unary | r1427_6 | -| ir.cpp:1427:23:1427:52 | Left | r1427_9 | -| ir.cpp:1427:23:1427:55 | StoreValue | r1427_13 | -| ir.cpp:1427:23:1427:55 | Unary | r1427_11 | -| ir.cpp:1427:23:1427:55 | Unary | r1427_12 | -| ir.cpp:1427:52:1427:52 | Unary | r1427_8 | -| ir.cpp:1427:54:1427:54 | Right | r1427_10 | -| ir.cpp:1428:11:1428:11 | Address | &:r1428_1 | -| ir.cpp:1428:15:1428:40 | Address | &:r1428_6 | -| ir.cpp:1428:15:1428:40 | CallTarget | func:r1428_2 | -| ir.cpp:1428:15:1428:40 | ChiPartial | partial:m1428_4 | -| ir.cpp:1428:15:1428:40 | ChiTotal | total:m1427_5 | -| ir.cpp:1428:15:1428:40 | SideEffect | ~m1427_5 | -| ir.cpp:1428:15:1428:40 | StoreValue | r1428_3 | -| ir.cpp:1428:15:1428:40 | Unary | r1428_6 | -| ir.cpp:1428:15:1428:44 | Left | r1428_9 | -| ir.cpp:1428:15:1428:47 | Address | &:r1428_11 | -| ir.cpp:1428:15:1428:47 | Load | ~m1428_7 | -| ir.cpp:1428:15:1428:47 | StoreValue | r1428_12 | -| ir.cpp:1428:44:1428:44 | Unary | r1428_8 | -| ir.cpp:1428:46:1428:46 | Right | r1428_10 | -| ir.cpp:1445:6:1445:24 | ChiPartial | partial:m1445_3 | -| ir.cpp:1445:6:1445:24 | ChiTotal | total:m1445_2 | -| ir.cpp:1445:6:1445:24 | SideEffect | ~m1449_10 | -| ir.cpp:1446:14:1446:14 | Address | &:r1446_1 | -| ir.cpp:1446:18:1446:40 | CallTarget | func:r1446_2 | -| ir.cpp:1446:18:1446:40 | ChiPartial | partial:m1446_4 | -| ir.cpp:1446:18:1446:40 | ChiTotal | total:m1445_4 | -| ir.cpp:1446:18:1446:40 | SideEffect | ~m1445_4 | -| ir.cpp:1446:18:1446:40 | StoreValue | r1446_3 | -| ir.cpp:1447:5:1447:5 | Address | &:r1447_10 | -| ir.cpp:1447:9:1447:36 | Address | &:r1447_1 | -| ir.cpp:1447:9:1447:36 | Address | &:r1447_8 | -| ir.cpp:1447:9:1447:36 | Load | ~m1447_6 | -| ir.cpp:1447:9:1447:36 | StoreValue | r1447_9 | -| ir.cpp:1447:9:1447:36 | Unary | r1447_1 | -| ir.cpp:1447:9:1447:36 | Unary | r1447_7 | -| ir.cpp:1447:10:1447:33 | CallTarget | func:r1447_2 | -| ir.cpp:1447:10:1447:33 | ChiPartial | partial:m1447_4 | -| ir.cpp:1447:10:1447:33 | ChiTotal | total:m1446_5 | -| ir.cpp:1447:10:1447:33 | SideEffect | ~m1446_5 | -| ir.cpp:1447:10:1447:33 | StoreValue | r1447_3 | -| ir.cpp:1448:9:1448:9 | Address | &:r1448_1 | -| ir.cpp:1448:13:1448:36 | CallTarget | func:r1448_2 | -| ir.cpp:1448:13:1448:36 | ChiPartial | partial:m1448_4 | -| ir.cpp:1448:13:1448:36 | ChiTotal | total:m1447_5 | -| ir.cpp:1448:13:1448:36 | SideEffect | ~m1447_5 | -| ir.cpp:1448:13:1448:36 | StoreValue | r1448_3 | -| ir.cpp:1448:40:1448:40 | Address | &:r1448_7 | -| ir.cpp:1448:40:1448:40 | Load | ~m1448_6 | -| ir.cpp:1448:40:1448:40 | StoreValue | r1448_8 | -| ir.cpp:1449:11:1449:11 | Address | &:r1449_1 | -| ir.cpp:1449:16:1449:39 | CallTarget | func:r1449_2 | -| ir.cpp:1449:16:1449:39 | ChiPartial | partial:m1449_4 | -| ir.cpp:1449:16:1449:39 | ChiTotal | total:m1448_5 | -| ir.cpp:1449:16:1449:39 | SideEffect | ~m1448_5 | -| ir.cpp:1449:16:1449:39 | StoreValue | r1449_3 | -| ir.cpp:1449:44:1449:44 | Arg(this) | this:r0_11 | -| ir.cpp:1449:44:1449:44 | CallTarget | func:r1449_7 | -| ir.cpp:1449:44:1449:44 | ChiPartial | partial:m1449_9 | -| ir.cpp:1449:44:1449:44 | ChiTotal | total:m1449_5 | -| ir.cpp:1449:44:1449:44 | SideEffect | ~m1449_5 | -| ir.cpp:1449:44:1449:44 | StoreValue | r1449_8 | -| ir.cpp:1453:3:1453:21 | Address | &:r1453_5 | -| ir.cpp:1453:3:1453:21 | Address | &:r1453_5 | -| ir.cpp:1453:3:1453:21 | Address | &:r1453_7 | -| ir.cpp:1453:3:1453:21 | Address | &:r1453_7 | -| ir.cpp:1453:3:1453:21 | ChiPartial | partial:m1453_3 | -| ir.cpp:1453:3:1453:21 | ChiTotal | total:m1453_2 | -| ir.cpp:1453:3:1453:21 | Load | m1453_6 | -| ir.cpp:1453:3:1453:21 | SideEffect | m1453_3 | -| ir.cpp:1453:3:1453:21 | SideEffect | m1453_8 | -| ir.cpp:1459:3:1459:20 | Address | &:r1459_5 | -| ir.cpp:1459:3:1459:20 | Address | &:r1459_5 | -| ir.cpp:1459:3:1459:20 | Address | &:r1459_7 | -| ir.cpp:1459:3:1459:20 | Address | &:r1459_7 | -| ir.cpp:1459:3:1459:20 | ChiPartial | partial:m1459_3 | -| ir.cpp:1459:3:1459:20 | ChiTotal | total:m1459_2 | -| ir.cpp:1459:3:1459:20 | Load | m1459_6 | -| ir.cpp:1459:3:1459:20 | SideEffect | m1459_3 | -| ir.cpp:1459:3:1459:20 | SideEffect | m1460_6 | -| ir.cpp:1459:3:1459:20 | Unary | m1459_6 | -| ir.cpp:1459:26:1459:30 | Address | &:r1459_9 | -| ir.cpp:1459:26:1459:30 | ChiPartial | partial:m1459_11 | -| ir.cpp:1459:26:1459:30 | ChiTotal | total:m1459_8 | -| ir.cpp:1459:26:1459:30 | StoreValue | r1459_10 | -| ir.cpp:1460:5:1460:5 | Address | &:r1460_2 | -| ir.cpp:1460:5:1460:5 | Address | &:r1460_4 | -| ir.cpp:1460:5:1460:5 | Load | m1459_6 | -| ir.cpp:1460:5:1460:5 | Unary | r1460_3 | -| ir.cpp:1460:5:1460:9 | ChiPartial | partial:m1460_5 | -| ir.cpp:1460:5:1460:9 | ChiTotal | total:m1459_12 | -| ir.cpp:1460:9:1460:9 | StoreValue | r1460_1 | -| ir.cpp:1464:6:1464:29 | ChiPartial | partial:m1464_3 | -| ir.cpp:1464:6:1464:29 | ChiTotal | total:m1464_2 | -| ir.cpp:1464:6:1464:29 | SideEffect | m1464_3 | -| ir.cpp:1465:9:1465:10 | Address | &:r1465_1 | -| ir.cpp:1465:9:1465:10 | Left | r1465_1 | -| ir.cpp:1465:9:1465:10 | Left | r1465_1 | -| ir.cpp:1465:16:1465:22 | Address | &:r1465_4 | -| ir.cpp:1465:16:1465:22 | Address | &:r1465_9 | -| ir.cpp:1465:16:1465:22 | Right | r1465_3 | -| ir.cpp:1465:16:1465:22 | Right | r1465_8 | -| ir.cpp:1465:18:1465:18 | ChiPartial | partial:m1465_6 | -| ir.cpp:1465:18:1465:18 | ChiTotal | total:m1465_2 | -| ir.cpp:1465:18:1465:18 | StoreValue | r1465_5 | -| ir.cpp:1465:21:1465:21 | ChiPartial | partial:m1465_11 | -| ir.cpp:1465:21:1465:21 | ChiTotal | total:m1465_7 | -| ir.cpp:1465:21:1465:21 | StoreValue | r1465_10 | -| ir.cpp:1468:15:1468:15 | Address | &:r1468_1 | -| ir.cpp:1468:16:1468:16 | Address | &:r1468_5 | -| ir.cpp:1468:20:1468:20 | Address | &:r1468_6 | -| ir.cpp:1468:26:1468:27 | StoreValue | r1468_3 | -| ir.cpp:1468:26:1468:27 | Unary | r1468_2 | -| ir.cpp:1469:9:1469:10 | Address | &:r1469_2 | -| ir.cpp:1469:9:1469:10 | Address | &:r1469_3 | -| ir.cpp:1469:9:1469:10 | Load | m0_14 | -| ir.cpp:1469:9:1469:14 | ChiPartial | partial:m1469_4 | -| ir.cpp:1469:9:1469:14 | ChiTotal | total:m1465_12 | -| ir.cpp:1469:14:1469:14 | StoreValue | r1469_1 | -| ir.cpp:1470:14:1470:16 | Address | &:r1470_1 | -| ir.cpp:1470:20:1470:21 | Address | &:r1470_2 | -| ir.cpp:1470:20:1470:21 | Load | m0_14 | -| ir.cpp:1470:20:1470:21 | StoreValue | r1470_4 | -| ir.cpp:1470:20:1470:21 | Unary | r1470_3 | -| ir.cpp:1471:13:1471:13 | Address | &:r1471_1 | -| ir.cpp:1471:17:1471:18 | Address | &:r1471_2 | -| ir.cpp:1471:17:1471:18 | Address | &:r1471_3 | -| ir.cpp:1471:17:1471:18 | Load | m0_14 | -| ir.cpp:1471:17:1471:18 | Load | m1469_4 | -| ir.cpp:1471:17:1471:18 | StoreValue | r1471_4 | -| ir.cpp:1475:15:1475:36 | Address | &:r1475_1 | -| ir.cpp:1475:40:1475:41 | StoreValue | r1475_3 | -| ir.cpp:1475:40:1475:41 | Unary | r1475_2 | -| ir.cpp:1476:15:1476:16 | Address | &:r1476_1 | -| ir.cpp:1476:20:1476:41 | Address | &:r1476_2 | -| ir.cpp:1476:20:1476:41 | Left | r1476_5 | -| ir.cpp:1476:20:1476:41 | Load | m1475_4 | -| ir.cpp:1476:20:1476:41 | Unary | r1476_3 | -| ir.cpp:1476:20:1476:41 | Unary | r1476_4 | -| ir.cpp:1476:20:1476:44 | StoreValue | r1476_8 | -| ir.cpp:1476:20:1476:44 | Unary | r1476_7 | -| ir.cpp:1476:43:1476:43 | Right | r1476_6 | -| ir.cpp:1477:15:1477:16 | Address | &:r1477_1 | -| ir.cpp:1477:20:1477:41 | Address | &:r1477_2 | -| ir.cpp:1477:20:1477:41 | Left | r1477_5 | -| ir.cpp:1477:20:1477:41 | Load | m1475_4 | -| ir.cpp:1477:20:1477:41 | Unary | r1477_3 | -| ir.cpp:1477:20:1477:41 | Unary | r1477_4 | -| ir.cpp:1477:20:1477:44 | StoreValue | r1477_8 | -| ir.cpp:1477:20:1477:44 | Unary | r1477_7 | -| ir.cpp:1477:43:1477:43 | Right | r1477_6 | -| ir.cpp:1478:9:1478:10 | Address | &:r1478_2 | -| ir.cpp:1478:9:1478:10 | Address | &:r1478_4 | -| ir.cpp:1478:9:1478:10 | Load | m1477_9 | -| ir.cpp:1478:9:1478:10 | Unary | r1478_3 | -| ir.cpp:1478:9:1478:14 | ChiPartial | partial:m1478_5 | -| ir.cpp:1478:9:1478:14 | ChiTotal | total:m1469_5 | -| ir.cpp:1478:14:1478:14 | StoreValue | r1478_1 | -| ir.cpp:1479:14:1479:16 | Address | &:r1479_1 | -| ir.cpp:1479:20:1479:21 | Address | &:r1479_2 | -| ir.cpp:1479:20:1479:21 | Load | m1477_9 | -| ir.cpp:1479:20:1479:21 | StoreValue | r1479_5 | -| ir.cpp:1479:20:1479:21 | Unary | r1479_3 | -| ir.cpp:1479:20:1479:21 | Unary | r1479_4 | -| ir.cpp:1480:13:1480:13 | Address | &:r1480_1 | -| ir.cpp:1480:17:1480:18 | Address | &:r1480_2 | -| ir.cpp:1480:17:1480:18 | Address | &:r1480_3 | -| ir.cpp:1480:17:1480:18 | Load | m1477_9 | -| ir.cpp:1480:17:1480:18 | Load | m1478_5 | -| ir.cpp:1480:17:1480:18 | StoreValue | r1480_4 | -| ir.cpp:1484:8:1484:8 | Address | &:r1484_5 | -| ir.cpp:1484:8:1484:8 | Address | &:r1484_5 | -| ir.cpp:1484:8:1484:8 | Address | &:r1484_7 | -| ir.cpp:1484:8:1484:8 | Address | &:r1484_7 | -| ir.cpp:1484:8:1484:8 | ChiPartial | partial:m1484_3 | -| ir.cpp:1484:8:1484:8 | ChiTotal | total:m1484_2 | -| ir.cpp:1484:8:1484:8 | Load | m1484_6 | -| ir.cpp:1484:8:1484:8 | SideEffect | m1484_3 | -| ir.cpp:1484:8:1484:8 | SideEffect | m1484_8 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_5 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_5 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_5 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_5 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_7 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_7 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_7 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_7 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_9 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_10 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_13 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_17 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_18 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_21 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_25 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_26 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_29 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_33 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_34 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_37 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_41 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_42 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_45 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_49 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_50 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_53 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_57 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_58 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_61 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_65 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_66 | -| ir.cpp:1488:8:1488:8 | Address | &:r1488_69 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_3 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_3 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_15 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_23 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_31 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_39 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_47 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_55 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_63 | -| ir.cpp:1488:8:1488:8 | ChiPartial | partial:m1488_71 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_2 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_2 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_8 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_16 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_24 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_32 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_40 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_48 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_56 | -| ir.cpp:1488:8:1488:8 | ChiTotal | total:m1488_64 | -| ir.cpp:1488:8:1488:8 | Load | m0_2 | -| ir.cpp:1488:8:1488:8 | Load | m0_2 | -| ir.cpp:1488:8:1488:8 | Load | m0_2 | -| ir.cpp:1488:8:1488:8 | Load | m0_2 | -| ir.cpp:1488:8:1488:8 | Load | m0_2 | -| ir.cpp:1488:8:1488:8 | Load | m0_2 | -| ir.cpp:1488:8:1488:8 | Load | m0_2 | -| ir.cpp:1488:8:1488:8 | Load | m0_2 | -| ir.cpp:1488:8:1488:8 | Load | m1488_6 | -| ir.cpp:1488:8:1488:8 | Load | m1488_6 | -| ir.cpp:1488:8:1488:8 | Load | ~m0_4 | -| ir.cpp:1488:8:1488:8 | Load | ~m0_4 | -| ir.cpp:1488:8:1488:8 | Load | ~m0_4 | -| ir.cpp:1488:8:1488:8 | Load | ~m0_4 | -| ir.cpp:1488:8:1488:8 | Load | ~m0_4 | -| ir.cpp:1488:8:1488:8 | Load | ~m0_4 | -| ir.cpp:1488:8:1488:8 | Load | ~m0_4 | -| ir.cpp:1488:8:1488:8 | Load | ~m0_4 | -| ir.cpp:1488:8:1488:8 | SideEffect | m1488_3 | -| ir.cpp:1488:8:1488:8 | SideEffect | m1488_3 | -| ir.cpp:1488:8:1488:8 | SideEffect | m1488_8 | -| ir.cpp:1488:8:1488:8 | SideEffect | m1488_72 | -| ir.cpp:1488:8:1488:8 | StoreValue | r1488_14 | -| ir.cpp:1488:8:1488:8 | StoreValue | r1488_22 | -| ir.cpp:1488:8:1488:8 | StoreValue | r1488_30 | -| ir.cpp:1488:8:1488:8 | StoreValue | r1488_38 | -| ir.cpp:1488:8:1488:8 | StoreValue | r1488_46 | -| ir.cpp:1488:8:1488:8 | StoreValue | r1488_54 | -| ir.cpp:1488:8:1488:8 | StoreValue | r1488_62 | -| ir.cpp:1488:8:1488:8 | StoreValue | r1488_70 | -| ir.cpp:1488:8:1488:8 | Unary | m1488_6 | -| ir.cpp:1488:8:1488:8 | Unary | m1488_6 | -| ir.cpp:1488:8:1488:8 | Unary | m1488_6 | -| ir.cpp:1488:8:1488:8 | Unary | m1488_6 | -| ir.cpp:1488:8:1488:8 | Unary | m1488_6 | -| ir.cpp:1488:8:1488:8 | Unary | m1488_6 | -| ir.cpp:1488:8:1488:8 | Unary | m1488_6 | -| ir.cpp:1488:8:1488:8 | Unary | m1488_6 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_11 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_12 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_19 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_20 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_27 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_28 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_35 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_36 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_43 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_44 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_51 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_52 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_59 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_60 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_67 | -| ir.cpp:1488:8:1488:8 | Unary | r1488_68 | -| ir.cpp:1501:6:1501:35 | ChiPartial | partial:m1501_3 | -| ir.cpp:1501:6:1501:35 | ChiTotal | total:m1501_2 | -| ir.cpp:1501:6:1501:35 | SideEffect | ~m1527_7 | -| ir.cpp:1502:39:1502:39 | Address | &:r1502_1 | -| ir.cpp:1502:39:1502:39 | Address | &:r1502_1 | -| ir.cpp:1502:39:1502:39 | Arg(this) | this:r1502_1 | -| ir.cpp:1502:39:1502:39 | CallTarget | func:r1502_3 | -| ir.cpp:1502:39:1502:39 | ChiPartial | partial:m1502_5 | -| ir.cpp:1502:39:1502:39 | ChiPartial | partial:m1502_7 | -| ir.cpp:1502:39:1502:39 | ChiTotal | total:m1501_4 | -| ir.cpp:1502:39:1502:39 | ChiTotal | total:m1502_2 | -| ir.cpp:1502:39:1502:39 | SideEffect | ~m1501_4 | -| ir.cpp:1505:14:1505:14 | Address | &:r1505_1 | -| ir.cpp:1505:15:1505:15 | Address | &:r1505_5 | -| ir.cpp:1505:18:1505:18 | Address | &:r1505_9 | -| ir.cpp:1505:21:1505:21 | Address | &:r1505_13 | -| ir.cpp:1505:24:1505:24 | Address | &:r1505_17 | -| ir.cpp:1505:27:1505:27 | Address | &:r1505_23 | -| ir.cpp:1505:30:1505:30 | Address | &:r1505_27 | -| ir.cpp:1505:34:1505:34 | Address | &:r1505_31 | -| ir.cpp:1505:41:1505:41 | Address | &:r1505_37 | -| ir.cpp:1505:46:1505:46 | Address | &:r1505_2 | -| ir.cpp:1505:46:1505:46 | Load | m1502_8 | -| ir.cpp:1505:46:1505:46 | StoreValue | r1505_3 | -| ir.cpp:1505:47:1505:47 | Address | &:r1505_19 | -| ir.cpp:1505:47:1505:47 | Address | &:r1505_33 | -| ir.cpp:1505:47:1505:47 | Load | ~m1505_4 | -| ir.cpp:1505:47:1505:47 | Load | ~m1505_4 | -| ir.cpp:1505:47:1505:47 | StoreValue | r1505_7 | -| ir.cpp:1505:47:1505:47 | StoreValue | r1505_11 | -| ir.cpp:1505:47:1505:47 | StoreValue | r1505_15 | -| ir.cpp:1505:47:1505:47 | StoreValue | r1505_21 | -| ir.cpp:1505:47:1505:47 | StoreValue | r1505_25 | -| ir.cpp:1505:47:1505:47 | StoreValue | r1505_29 | -| ir.cpp:1505:47:1505:47 | StoreValue | r1505_35 | -| ir.cpp:1505:47:1505:47 | StoreValue | r1505_39 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_6 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_10 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_14 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_18 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_20 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_24 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_28 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_32 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_34 | -| ir.cpp:1505:47:1505:47 | Unary | r1505_38 | -| ir.cpp:1506:9:1506:9 | Address | &:r1506_2 | -| ir.cpp:1506:9:1506:9 | Address | &:r1506_3 | -| ir.cpp:1506:9:1506:9 | Load | m1505_12 | -| ir.cpp:1506:9:1506:15 | ChiPartial | partial:m1506_4 | -| ir.cpp:1506:9:1506:15 | ChiTotal | total:m1505_4 | -| ir.cpp:1506:13:1506:15 | StoreValue | r1506_1 | -| ir.cpp:1507:17:1507:18 | Address | &:r1507_1 | -| ir.cpp:1507:22:1507:22 | Address | &:r1507_2 | -| ir.cpp:1507:22:1507:22 | Load | m1505_12 | -| ir.cpp:1507:22:1507:22 | StoreValue | r1507_4 | -| ir.cpp:1507:22:1507:22 | Unary | r1507_3 | -| ir.cpp:1508:13:1508:13 | Address | &:r1508_1 | -| ir.cpp:1508:17:1508:17 | Address | &:r1508_2 | -| ir.cpp:1508:17:1508:17 | Address | &:r1508_3 | -| ir.cpp:1508:17:1508:17 | Load | m1505_8 | -| ir.cpp:1508:17:1508:17 | Load | ~m1505_4 | -| ir.cpp:1508:17:1508:17 | StoreValue | r1508_4 | -| ir.cpp:1509:9:1509:9 | Address | &:r1509_2 | -| ir.cpp:1509:9:1509:9 | Address | &:r1509_3 | -| ir.cpp:1509:9:1509:9 | Load | m1505_22 | -| ir.cpp:1509:9:1509:13 | ChiPartial | partial:m1509_4 | -| ir.cpp:1509:9:1509:13 | ChiTotal | total:m1502_6 | -| ir.cpp:1509:13:1509:13 | StoreValue | r1509_1 | -| ir.cpp:1510:9:1510:10 | Address | &:r1510_5 | -| ir.cpp:1510:9:1510:14 | ChiPartial | partial:m1510_6 | -| ir.cpp:1510:9:1510:14 | ChiTotal | total:m1509_5 | -| ir.cpp:1510:10:1510:10 | Address | &:r1510_2 | -| ir.cpp:1510:10:1510:10 | Address | &:r1510_3 | -| ir.cpp:1510:10:1510:10 | Load | m1505_26 | -| ir.cpp:1510:10:1510:10 | Load | ~m1505_4 | -| ir.cpp:1510:10:1510:10 | Unary | r1510_4 | -| ir.cpp:1510:14:1510:14 | StoreValue | r1510_1 | -| ir.cpp:1511:14:1511:15 | Address | &:r1511_1 | -| ir.cpp:1511:19:1511:19 | Address | &:r1511_2 | -| ir.cpp:1511:19:1511:19 | Load | m1505_22 | -| ir.cpp:1511:19:1511:19 | StoreValue | r1511_4 | -| ir.cpp:1511:19:1511:19 | Unary | r1511_3 | -| ir.cpp:1512:14:1512:15 | Address | &:r1512_1 | -| ir.cpp:1512:19:1512:20 | StoreValue | r1512_4 | -| ir.cpp:1512:20:1512:20 | Address | &:r1512_2 | -| ir.cpp:1512:20:1512:20 | Load | m1505_22 | -| ir.cpp:1512:20:1512:20 | Unary | r1512_3 | -| ir.cpp:1513:13:1513:13 | Address | &:r1513_1 | -| ir.cpp:1513:17:1513:17 | Address | &:r1513_2 | -| ir.cpp:1513:17:1513:17 | Address | &:r1513_3 | -| ir.cpp:1513:17:1513:17 | Load | m1505_22 | -| ir.cpp:1513:17:1513:17 | Load | ~m1510_7 | -| ir.cpp:1513:17:1513:17 | StoreValue | r1513_4 | -| ir.cpp:1517:14:1517:35 | Address | &:r1517_1 | -| ir.cpp:1517:39:1517:39 | Address | &:r1517_2 | -| ir.cpp:1517:39:1517:39 | Load | m1502_8 | -| ir.cpp:1517:39:1517:39 | StoreValue | r1517_3 | -| ir.cpp:1518:15:1518:15 | Address | &:r1518_1 | -| ir.cpp:1518:19:1518:40 | Unary | r1518_2 | -| ir.cpp:1518:19:1518:42 | StoreValue | r1518_4 | -| ir.cpp:1518:42:1518:42 | Unary | r1518_3 | -| ir.cpp:1519:15:1519:15 | Address | &:r1519_1 | -| ir.cpp:1519:19:1519:40 | Unary | r1519_2 | -| ir.cpp:1519:19:1519:42 | StoreValue | r1519_4 | -| ir.cpp:1519:42:1519:42 | Unary | r1519_3 | -| ir.cpp:1521:15:1521:15 | Address | &:r1521_1 | -| ir.cpp:1521:19:1521:40 | Unary | r1521_2 | -| ir.cpp:1521:19:1521:42 | StoreValue | r1521_6 | -| ir.cpp:1521:19:1521:42 | Unary | r1521_5 | -| ir.cpp:1521:42:1521:42 | Address | &:r1521_3 | -| ir.cpp:1521:42:1521:42 | Load | ~m1517_4 | -| ir.cpp:1521:42:1521:42 | Unary | r1521_4 | -| ir.cpp:1522:15:1522:15 | Address | &:r1522_1 | -| ir.cpp:1522:19:1522:40 | Unary | r1522_2 | -| ir.cpp:1522:19:1522:42 | StoreValue | r1522_4 | -| ir.cpp:1522:42:1522:42 | Unary | r1522_3 | -| ir.cpp:1523:9:1523:9 | Address | &:r1523_2 | -| ir.cpp:1523:9:1523:9 | Address | &:r1523_4 | -| ir.cpp:1523:9:1523:9 | Load | m1519_5 | -| ir.cpp:1523:9:1523:9 | Unary | r1523_3 | -| ir.cpp:1523:9:1523:15 | ChiPartial | partial:m1523_5 | -| ir.cpp:1523:9:1523:15 | ChiTotal | total:m1517_4 | -| ir.cpp:1523:13:1523:15 | StoreValue | r1523_1 | -| ir.cpp:1524:17:1524:18 | Address | &:r1524_1 | -| ir.cpp:1524:22:1524:22 | Address | &:r1524_2 | -| ir.cpp:1524:22:1524:22 | Load | m1519_5 | -| ir.cpp:1524:22:1524:22 | StoreValue | r1524_5 | -| ir.cpp:1524:22:1524:22 | Unary | r1524_3 | -| ir.cpp:1524:22:1524:22 | Unary | r1524_4 | -| ir.cpp:1525:13:1525:13 | Address | &:r1525_1 | -| ir.cpp:1525:17:1525:17 | Address | &:r1525_2 | -| ir.cpp:1525:17:1525:17 | Address | &:r1525_3 | -| ir.cpp:1525:17:1525:17 | Load | m1518_5 | -| ir.cpp:1525:17:1525:17 | Load | ~m1517_4 | -| ir.cpp:1525:17:1525:17 | StoreValue | r1525_4 | -| ir.cpp:1526:9:1526:9 | Address | &:r1526_2 | -| ir.cpp:1526:9:1526:9 | Address | &:r1526_4 | -| ir.cpp:1526:9:1526:9 | Load | m1521_7 | -| ir.cpp:1526:9:1526:9 | Unary | r1526_3 | -| ir.cpp:1526:9:1526:13 | ChiPartial | partial:m1526_5 | -| ir.cpp:1526:9:1526:13 | ChiTotal | total:m1510_7 | -| ir.cpp:1526:13:1526:13 | StoreValue | r1526_1 | -| ir.cpp:1527:9:1527:10 | Address | &:r1527_5 | -| ir.cpp:1527:9:1527:14 | ChiPartial | partial:m1527_6 | -| ir.cpp:1527:9:1527:14 | ChiTotal | total:m1526_6 | -| ir.cpp:1527:10:1527:10 | Address | &:r1527_2 | -| ir.cpp:1527:10:1527:10 | Address | &:r1527_3 | -| ir.cpp:1527:10:1527:10 | Load | m1522_5 | -| ir.cpp:1527:10:1527:10 | Load | ~m1517_4 | -| ir.cpp:1527:10:1527:10 | Unary | r1527_4 | -| ir.cpp:1527:14:1527:14 | StoreValue | r1527_1 | -| ir.cpp:1528:14:1528:15 | Address | &:r1528_1 | -| ir.cpp:1528:19:1528:19 | Address | &:r1528_2 | -| ir.cpp:1528:19:1528:19 | Load | m1521_7 | -| ir.cpp:1528:19:1528:19 | StoreValue | r1528_5 | -| ir.cpp:1528:19:1528:19 | Unary | r1528_3 | -| ir.cpp:1528:19:1528:19 | Unary | r1528_4 | -| ir.cpp:1529:14:1529:15 | Address | &:r1529_1 | -| ir.cpp:1529:19:1529:20 | StoreValue | r1529_5 | -| ir.cpp:1529:20:1529:20 | Address | &:r1529_2 | -| ir.cpp:1529:20:1529:20 | Load | m1521_7 | -| ir.cpp:1529:20:1529:20 | Unary | r1529_3 | -| ir.cpp:1529:20:1529:20 | Unary | r1529_4 | -| ir.cpp:1530:13:1530:13 | Address | &:r1530_1 | -| ir.cpp:1530:17:1530:17 | Address | &:r1530_2 | -| ir.cpp:1530:17:1530:17 | Address | &:r1530_3 | -| ir.cpp:1530:17:1530:17 | Load | m1521_7 | -| ir.cpp:1530:17:1530:17 | Load | ~m1527_7 | -| ir.cpp:1530:17:1530:17 | StoreValue | r1530_4 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_5 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_5 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_5 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_5 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_7 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_7 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_7 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_7 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_9 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_10 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_13 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_17 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_18 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_21 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_25 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_26 | -| ir.cpp:1541:8:1541:8 | Address | &:r1541_29 | -| ir.cpp:1541:8:1541:8 | ChiPartial | partial:m1541_3 | -| ir.cpp:1541:8:1541:8 | ChiPartial | partial:m1541_3 | -| ir.cpp:1541:8:1541:8 | ChiPartial | partial:m1541_15 | -| ir.cpp:1541:8:1541:8 | ChiPartial | partial:m1541_23 | -| ir.cpp:1541:8:1541:8 | ChiPartial | partial:m1541_31 | -| ir.cpp:1541:8:1541:8 | ChiTotal | total:m1541_2 | -| ir.cpp:1541:8:1541:8 | ChiTotal | total:m1541_2 | -| ir.cpp:1541:8:1541:8 | ChiTotal | total:m1541_8 | -| ir.cpp:1541:8:1541:8 | ChiTotal | total:m1541_16 | -| ir.cpp:1541:8:1541:8 | ChiTotal | total:m1541_24 | -| ir.cpp:1541:8:1541:8 | Load | m0_2 | -| ir.cpp:1541:8:1541:8 | Load | m0_2 | -| ir.cpp:1541:8:1541:8 | Load | m0_2 | -| ir.cpp:1541:8:1541:8 | Load | m1541_6 | -| ir.cpp:1541:8:1541:8 | Load | m1541_6 | -| ir.cpp:1541:8:1541:8 | Load | ~m0_4 | -| ir.cpp:1541:8:1541:8 | Load | ~m0_4 | -| ir.cpp:1541:8:1541:8 | Load | ~m0_4 | -| ir.cpp:1541:8:1541:8 | SideEffect | m1541_3 | -| ir.cpp:1541:8:1541:8 | SideEffect | m1541_3 | -| ir.cpp:1541:8:1541:8 | SideEffect | m1541_8 | -| ir.cpp:1541:8:1541:8 | SideEffect | m1541_32 | -| ir.cpp:1541:8:1541:8 | StoreValue | r1541_14 | -| ir.cpp:1541:8:1541:8 | StoreValue | r1541_22 | -| ir.cpp:1541:8:1541:8 | StoreValue | r1541_30 | -| ir.cpp:1541:8:1541:8 | Unary | m1541_6 | -| ir.cpp:1541:8:1541:8 | Unary | m1541_6 | -| ir.cpp:1541:8:1541:8 | Unary | m1541_6 | -| ir.cpp:1541:8:1541:8 | Unary | r1541_11 | -| ir.cpp:1541:8:1541:8 | Unary | r1541_12 | -| ir.cpp:1541:8:1541:8 | Unary | r1541_19 | -| ir.cpp:1541:8:1541:8 | Unary | r1541_20 | -| ir.cpp:1541:8:1541:8 | Unary | r1541_27 | -| ir.cpp:1541:8:1541:8 | Unary | r1541_28 | -| ir.cpp:1569:60:1569:95 | Address | &:r1569_5 | -| ir.cpp:1569:60:1569:95 | Address | &:r1569_5 | -| ir.cpp:1569:60:1569:95 | Address | &:r1569_7 | -| ir.cpp:1569:60:1569:95 | Address | &:r1569_7 | -| ir.cpp:1569:60:1569:95 | Address | &:r1569_10 | -| ir.cpp:1569:60:1569:95 | ChiPartial | partial:m1569_3 | -| ir.cpp:1569:60:1569:95 | ChiTotal | total:m1569_2 | -| ir.cpp:1569:60:1569:95 | Load | m0_2 | -| ir.cpp:1569:60:1569:95 | Load | m1569_6 | -| ir.cpp:1569:60:1569:95 | SideEffect | m1569_3 | -| ir.cpp:1569:60:1569:95 | SideEffect | m1569_8 | -| ir.cpp:1570:5:1570:13 | Address | &:r1570_1 | -| ir.cpp:1570:12:1570:12 | Address | &:r1570_2 | -| ir.cpp:1570:12:1570:12 | Load | m1569_6 | -| ir.cpp:1570:12:1570:12 | Unary | r1570_3 | -| ir.cpp:1570:12:1570:12 | Unary | r1570_4 | -| ir.cpp:1573:60:1573:95 | Address | &:r1573_5 | -| ir.cpp:1573:60:1573:95 | Address | &:r1573_5 | -| ir.cpp:1573:60:1573:95 | Address | &:r1573_7 | -| ir.cpp:1573:60:1573:95 | Address | &:r1573_7 | -| ir.cpp:1573:60:1573:95 | Address | &:r1573_10 | -| ir.cpp:1573:60:1573:95 | ChiPartial | partial:m1573_3 | -| ir.cpp:1573:60:1573:95 | ChiTotal | total:m1573_2 | -| ir.cpp:1573:60:1573:95 | Load | m0_2 | -| ir.cpp:1573:60:1573:95 | Load | m1573_6 | -| ir.cpp:1573:60:1573:95 | SideEffect | m1573_3 | -| ir.cpp:1573:60:1573:95 | SideEffect | m1573_8 | -| ir.cpp:1574:5:1574:13 | Address | &:r1574_1 | -| ir.cpp:1574:12:1574:12 | Address | &:r1574_2 | -| ir.cpp:1574:12:1574:12 | Load | m1573_6 | -| ir.cpp:1574:12:1574:12 | Unary | r1574_3 | -| ir.cpp:1574:12:1574:12 | Unary | r1574_4 | -| ir.cpp:1577:60:1577:95 | Address | &:r1577_5 | -| ir.cpp:1577:60:1577:95 | Address | &:r1577_5 | -| ir.cpp:1577:60:1577:95 | Address | &:r1577_7 | -| ir.cpp:1577:60:1577:95 | Address | &:r1577_7 | -| ir.cpp:1577:60:1577:95 | Address | &:r1577_10 | -| ir.cpp:1577:60:1577:95 | ChiPartial | partial:m1577_3 | -| ir.cpp:1577:60:1577:95 | ChiTotal | total:m1577_2 | -| ir.cpp:1577:60:1577:95 | Load | m1577_6 | -| ir.cpp:1577:60:1577:95 | Load | m1578_8 | -| ir.cpp:1577:60:1577:95 | SideEffect | m1577_3 | -| ir.cpp:1577:60:1577:95 | SideEffect | m1577_8 | -| ir.cpp:1578:5:1578:13 | Address | &:r1578_1 | -| ir.cpp:1578:12:1578:12 | Address | &:r1578_2 | -| ir.cpp:1578:12:1578:12 | Address | &:r1578_4 | -| ir.cpp:1578:12:1578:12 | Load | m1577_6 | -| ir.cpp:1578:12:1578:12 | Load | ~m1577_8 | -| ir.cpp:1578:12:1578:12 | StoreValue | r1578_7 | -| ir.cpp:1578:12:1578:12 | Unary | r1578_3 | -| ir.cpp:1578:12:1578:12 | Unary | r1578_5 | -| ir.cpp:1578:12:1578:12 | Unary | r1578_6 | -| ir.cpp:1581:6:1581:37 | ChiPartial | partial:m1581_3 | -| ir.cpp:1581:6:1581:37 | ChiTotal | total:m1581_2 | -| ir.cpp:1581:6:1581:37 | SideEffect | ~m1602_6 | -| ir.cpp:1582:34:1582:34 | Address | &:r1582_1 | -| ir.cpp:1582:34:1582:34 | Address | &:r1582_1 | -| ir.cpp:1582:34:1582:34 | Arg(this) | this:r1582_1 | -| ir.cpp:1582:34:1582:34 | CallTarget | func:r1582_3 | -| ir.cpp:1582:34:1582:34 | ChiPartial | partial:m1582_5 | -| ir.cpp:1582:34:1582:34 | ChiPartial | partial:m1582_7 | -| ir.cpp:1582:34:1582:34 | ChiTotal | total:m1581_4 | -| ir.cpp:1582:34:1582:34 | ChiTotal | total:m1582_2 | -| ir.cpp:1582:34:1582:34 | SideEffect | ~m1581_4 | -| ir.cpp:1585:14:1585:14 | Address | &:r1585_1 | -| ir.cpp:1585:14:1585:14 | Address | &:r1585_6 | -| ir.cpp:1585:14:1585:14 | Address | &:r1585_6 | -| ir.cpp:1585:14:1585:14 | Address | &:r1585_18 | -| ir.cpp:1585:14:1585:14 | Address | &:r1585_18 | -| ir.cpp:1585:14:1585:14 | Address | &:r1585_30 | -| ir.cpp:1585:14:1585:14 | Address | &:r1585_30 | -| ir.cpp:1585:14:1585:14 | Arg(this) | this:r1585_6 | -| ir.cpp:1585:14:1585:14 | Arg(this) | this:r1585_18 | -| ir.cpp:1585:14:1585:14 | Arg(this) | this:r1585_30 | -| ir.cpp:1585:14:1585:14 | CallTarget | func:r1585_7 | -| ir.cpp:1585:14:1585:14 | CallTarget | func:r1585_19 | -| ir.cpp:1585:14:1585:14 | CallTarget | func:r1585_31 | -| ir.cpp:1585:14:1585:14 | ChiPartial | partial:m1585_9 | -| ir.cpp:1585:14:1585:14 | ChiPartial | partial:m1585_12 | -| ir.cpp:1585:14:1585:14 | ChiPartial | partial:m1585_21 | -| ir.cpp:1585:14:1585:14 | ChiPartial | partial:m1585_24 | -| ir.cpp:1585:14:1585:14 | ChiPartial | partial:m1585_33 | -| ir.cpp:1585:14:1585:14 | ChiPartial | partial:m1585_36 | -| ir.cpp:1585:14:1585:14 | ChiTotal | total:m1582_6 | -| ir.cpp:1585:14:1585:14 | ChiTotal | total:m1585_4 | -| ir.cpp:1585:14:1585:14 | ChiTotal | total:m1585_10 | -| ir.cpp:1585:14:1585:14 | ChiTotal | total:m1585_13 | -| ir.cpp:1585:14:1585:14 | ChiTotal | total:m1585_22 | -| ir.cpp:1585:14:1585:14 | ChiTotal | total:m1585_25 | -| ir.cpp:1585:14:1585:14 | SideEffect | m1585_4 | -| ir.cpp:1585:14:1585:14 | SideEffect | m1585_13 | -| ir.cpp:1585:14:1585:14 | SideEffect | m1585_25 | -| ir.cpp:1585:14:1585:14 | SideEffect | ~m1582_6 | -| ir.cpp:1585:14:1585:14 | SideEffect | ~m1585_10 | -| ir.cpp:1585:14:1585:14 | SideEffect | ~m1585_22 | -| ir.cpp:1585:14:1585:14 | Unary | r1585_8 | -| ir.cpp:1585:14:1585:14 | Unary | r1585_20 | -| ir.cpp:1585:14:1585:14 | Unary | r1585_32 | -| ir.cpp:1585:14:1585:27 | StoreValue | r1585_15 | -| ir.cpp:1585:14:1585:27 | StoreValue | r1585_27 | -| ir.cpp:1585:14:1585:27 | StoreValue | r1585_39 | -| ir.cpp:1585:14:1585:27 | Unary | r1585_14 | -| ir.cpp:1585:14:1585:27 | Unary | r1585_26 | -| ir.cpp:1585:14:1585:27 | Unary | r1585_38 | -| ir.cpp:1585:15:1585:15 | Address | &:r1585_5 | -| ir.cpp:1585:18:1585:18 | Address | &:r1585_17 | -| ir.cpp:1585:21:1585:21 | Address | &:r1585_29 | -| ir.cpp:1585:26:1585:26 | Address | &:r1585_2 | -| ir.cpp:1585:26:1585:26 | Load | m1582_8 | -| ir.cpp:1585:26:1585:26 | StoreValue | r1585_3 | -| ir.cpp:1586:9:1586:9 | Address | &:r1586_2 | -| ir.cpp:1586:9:1586:9 | Address | &:r1586_4 | -| ir.cpp:1586:9:1586:9 | Load | m1585_28 | -| ir.cpp:1586:9:1586:9 | Unary | r1586_3 | -| ir.cpp:1586:9:1586:15 | ChiPartial | partial:m1586_5 | -| ir.cpp:1586:9:1586:15 | ChiTotal | total:m1585_37 | -| ir.cpp:1586:13:1586:15 | StoreValue | r1586_1 | -| ir.cpp:1587:17:1587:18 | Address | &:r1587_1 | -| ir.cpp:1587:22:1587:22 | Address | &:r1587_2 | -| ir.cpp:1587:22:1587:22 | Load | m1585_28 | -| ir.cpp:1587:22:1587:22 | StoreValue | r1587_5 | -| ir.cpp:1587:22:1587:22 | Unary | r1587_3 | -| ir.cpp:1587:22:1587:22 | Unary | r1587_4 | -| ir.cpp:1588:13:1588:13 | Address | &:r1588_1 | -| ir.cpp:1588:17:1588:17 | Address | &:r1588_2 | -| ir.cpp:1588:17:1588:17 | Address | &:r1588_3 | -| ir.cpp:1588:17:1588:17 | Load | m1585_16 | -| ir.cpp:1588:17:1588:17 | Load | ~m1585_37 | -| ir.cpp:1588:17:1588:17 | StoreValue | r1588_4 | -| ir.cpp:1589:9:1589:9 | Address | &:r1589_2 | -| ir.cpp:1589:9:1589:9 | Address | &:r1589_4 | -| ir.cpp:1589:9:1589:9 | Load | m1585_40 | -| ir.cpp:1589:9:1589:9 | Unary | r1589_3 | -| ir.cpp:1589:9:1589:13 | ChiPartial | partial:m1589_5 | -| ir.cpp:1589:9:1589:13 | ChiTotal | total:m1585_34 | -| ir.cpp:1589:13:1589:13 | StoreValue | r1589_1 | -| ir.cpp:1590:14:1590:15 | Address | &:r1590_1 | -| ir.cpp:1590:19:1590:19 | Address | &:r1590_2 | -| ir.cpp:1590:19:1590:19 | Load | m1585_40 | -| ir.cpp:1590:19:1590:19 | StoreValue | r1590_5 | -| ir.cpp:1590:19:1590:19 | Unary | r1590_3 | -| ir.cpp:1590:19:1590:19 | Unary | r1590_4 | -| ir.cpp:1591:13:1591:13 | Address | &:r1591_1 | -| ir.cpp:1591:17:1591:17 | Address | &:r1591_2 | -| ir.cpp:1591:17:1591:17 | Address | &:r1591_3 | -| ir.cpp:1591:17:1591:17 | Load | m1585_40 | -| ir.cpp:1591:17:1591:17 | Load | ~m1589_6 | -| ir.cpp:1591:17:1591:17 | StoreValue | r1591_4 | -| ir.cpp:1595:14:1595:35 | Address | &:r1595_1 | -| ir.cpp:1595:39:1595:39 | Address | &:r1595_2 | -| ir.cpp:1595:39:1595:39 | Load | m1582_8 | -| ir.cpp:1595:39:1595:39 | StoreValue | r1595_3 | -| ir.cpp:1596:15:1596:15 | Address | &:r1596_1 | -| ir.cpp:1596:19:1596:40 | Address | &:r1596_2 | -| ir.cpp:1596:19:1596:40 | Address | &:r1596_2 | -| ir.cpp:1596:19:1596:40 | Arg(this) | this:r1596_2 | -| ir.cpp:1596:19:1596:40 | ChiPartial | partial:m1596_8 | -| ir.cpp:1596:19:1596:40 | ChiTotal | total:m1595_4 | -| ir.cpp:1596:19:1596:40 | SideEffect | m1595_4 | -| ir.cpp:1596:42:1596:47 | CallTarget | func:r1596_3 | -| ir.cpp:1596:42:1596:47 | ChiPartial | partial:m1596_5 | -| ir.cpp:1596:42:1596:47 | ChiTotal | total:m1589_6 | -| ir.cpp:1596:42:1596:47 | SideEffect | ~m1589_6 | -| ir.cpp:1596:42:1596:47 | Unary | r1596_4 | -| ir.cpp:1596:48:1596:50 | StoreValue | r1596_11 | -| ir.cpp:1596:48:1596:50 | Unary | r1596_10 | -| ir.cpp:1597:15:1597:15 | Address | &:r1597_1 | -| ir.cpp:1597:19:1597:40 | Address | &:r1597_2 | -| ir.cpp:1597:19:1597:40 | Address | &:r1597_2 | -| ir.cpp:1597:19:1597:40 | Arg(this) | this:r1597_2 | -| ir.cpp:1597:19:1597:40 | ChiPartial | partial:m1597_8 | -| ir.cpp:1597:19:1597:40 | ChiTotal | total:m1596_9 | -| ir.cpp:1597:19:1597:40 | SideEffect | m1596_9 | -| ir.cpp:1597:42:1597:47 | CallTarget | func:r1597_3 | -| ir.cpp:1597:42:1597:47 | ChiPartial | partial:m1597_5 | -| ir.cpp:1597:42:1597:47 | ChiTotal | total:m1596_6 | -| ir.cpp:1597:42:1597:47 | SideEffect | ~m1596_6 | -| ir.cpp:1597:42:1597:47 | Unary | r1597_4 | -| ir.cpp:1597:48:1597:50 | StoreValue | r1597_11 | -| ir.cpp:1597:48:1597:50 | Unary | r1597_10 | -| ir.cpp:1598:15:1598:15 | Address | &:r1598_1 | -| ir.cpp:1598:19:1598:40 | Address | &:r1598_2 | -| ir.cpp:1598:19:1598:40 | Address | &:r1598_2 | -| ir.cpp:1598:19:1598:40 | Arg(this) | this:r1598_2 | -| ir.cpp:1598:19:1598:40 | ChiPartial | partial:m1598_8 | -| ir.cpp:1598:19:1598:40 | ChiTotal | total:m1597_9 | -| ir.cpp:1598:19:1598:40 | SideEffect | m1597_9 | -| ir.cpp:1598:42:1598:47 | CallTarget | func:r1598_3 | -| ir.cpp:1598:42:1598:47 | ChiPartial | partial:m1598_5 | -| ir.cpp:1598:42:1598:47 | ChiTotal | total:m1597_6 | -| ir.cpp:1598:42:1598:47 | SideEffect | ~m1597_6 | -| ir.cpp:1598:42:1598:47 | Unary | r1598_4 | -| ir.cpp:1598:48:1598:50 | StoreValue | r1598_11 | -| ir.cpp:1598:48:1598:50 | Unary | r1598_10 | -| ir.cpp:1599:9:1599:9 | Address | &:r1599_2 | -| ir.cpp:1599:9:1599:9 | Address | &:r1599_4 | -| ir.cpp:1599:9:1599:9 | Load | m1597_12 | -| ir.cpp:1599:9:1599:9 | Unary | r1599_3 | -| ir.cpp:1599:9:1599:15 | ChiPartial | partial:m1599_5 | -| ir.cpp:1599:9:1599:15 | ChiTotal | total:m1598_9 | -| ir.cpp:1599:13:1599:15 | StoreValue | r1599_1 | -| ir.cpp:1600:17:1600:18 | Address | &:r1600_1 | -| ir.cpp:1600:22:1600:22 | Address | &:r1600_2 | -| ir.cpp:1600:22:1600:22 | Load | m1597_12 | -| ir.cpp:1600:22:1600:22 | StoreValue | r1600_5 | -| ir.cpp:1600:22:1600:22 | Unary | r1600_3 | -| ir.cpp:1600:22:1600:22 | Unary | r1600_4 | -| ir.cpp:1601:13:1601:13 | Address | &:r1601_1 | -| ir.cpp:1601:17:1601:17 | Address | &:r1601_2 | -| ir.cpp:1601:17:1601:17 | Address | &:r1601_3 | -| ir.cpp:1601:17:1601:17 | Load | m1596_12 | -| ir.cpp:1601:17:1601:17 | Load | ~m1598_9 | -| ir.cpp:1601:17:1601:17 | StoreValue | r1601_4 | -| ir.cpp:1602:9:1602:9 | Address | &:r1602_2 | -| ir.cpp:1602:9:1602:9 | Address | &:r1602_4 | -| ir.cpp:1602:9:1602:9 | Load | m1598_12 | -| ir.cpp:1602:9:1602:9 | Unary | r1602_3 | -| ir.cpp:1602:9:1602:13 | ChiPartial | partial:m1602_5 | -| ir.cpp:1602:9:1602:13 | ChiTotal | total:m1598_6 | -| ir.cpp:1602:13:1602:13 | StoreValue | r1602_1 | -| ir.cpp:1603:14:1603:15 | Address | &:r1603_1 | -| ir.cpp:1603:19:1603:19 | Address | &:r1603_2 | -| ir.cpp:1603:19:1603:19 | Load | m1598_12 | -| ir.cpp:1603:19:1603:19 | StoreValue | r1603_5 | -| ir.cpp:1603:19:1603:19 | Unary | r1603_3 | -| ir.cpp:1603:19:1603:19 | Unary | r1603_4 | -| ir.cpp:1604:13:1604:13 | Address | &:r1604_1 | -| ir.cpp:1604:17:1604:17 | Address | &:r1604_2 | -| ir.cpp:1604:17:1604:17 | Address | &:r1604_3 | -| ir.cpp:1604:17:1604:17 | Load | m1598_12 | -| ir.cpp:1604:17:1604:17 | Load | ~m1602_6 | -| ir.cpp:1604:17:1604:17 | StoreValue | r1604_4 | -| ir.cpp:1608:8:1608:8 | Address | &:r1608_5 | -| ir.cpp:1608:8:1608:8 | Address | &:r1608_5 | -| ir.cpp:1608:8:1608:8 | Address | &:r1608_7 | -| ir.cpp:1608:8:1608:8 | Address | &:r1608_7 | -| ir.cpp:1608:8:1608:8 | ChiPartial | partial:m1608_3 | -| ir.cpp:1608:8:1608:8 | ChiTotal | total:m1608_2 | -| ir.cpp:1608:8:1608:8 | Load | m1608_6 | -| ir.cpp:1608:8:1608:8 | SideEffect | m1608_3 | -| ir.cpp:1608:8:1608:8 | SideEffect | m1608_8 | -| ir.cpp:1635:61:1635:98 | Address | &:r1635_5 | -| ir.cpp:1635:61:1635:98 | Address | &:r1635_5 | -| ir.cpp:1635:61:1635:98 | Address | &:r1635_7 | -| ir.cpp:1635:61:1635:98 | Address | &:r1635_7 | -| ir.cpp:1635:61:1635:98 | Address | &:r1635_10 | -| ir.cpp:1635:61:1635:98 | ChiPartial | partial:m1635_3 | -| ir.cpp:1635:61:1635:98 | ChiTotal | total:m1635_2 | -| ir.cpp:1635:61:1635:98 | Load | m1635_6 | -| ir.cpp:1635:61:1635:98 | Load | m1636_6 | -| ir.cpp:1635:61:1635:98 | SideEffect | m1635_3 | -| ir.cpp:1635:61:1635:98 | SideEffect | m1635_8 | -| ir.cpp:1636:5:1636:13 | Address | &:r1636_1 | -| ir.cpp:1636:12:1636:12 | Address | &:r1636_2 | -| ir.cpp:1636:12:1636:12 | Address | &:r1636_4 | -| ir.cpp:1636:12:1636:12 | Load | m1635_6 | -| ir.cpp:1636:12:1636:12 | Load | ~m1635_8 | -| ir.cpp:1636:12:1636:12 | StoreValue | r1636_5 | -| ir.cpp:1636:12:1636:12 | Unary | r1636_3 | -| ir.cpp:1639:61:1639:98 | Address | &:r1639_5 | -| ir.cpp:1639:61:1639:98 | Address | &:r1639_5 | -| ir.cpp:1639:61:1639:98 | Address | &:r1639_7 | -| ir.cpp:1639:61:1639:98 | Address | &:r1639_7 | -| ir.cpp:1639:61:1639:98 | Address | &:r1639_10 | -| ir.cpp:1639:61:1639:98 | ChiPartial | partial:m1639_3 | -| ir.cpp:1639:61:1639:98 | ChiTotal | total:m1639_2 | -| ir.cpp:1639:61:1639:98 | Load | m1639_6 | -| ir.cpp:1639:61:1639:98 | Load | m1640_8 | -| ir.cpp:1639:61:1639:98 | SideEffect | m1639_3 | -| ir.cpp:1639:61:1639:98 | SideEffect | m1639_8 | -| ir.cpp:1640:5:1640:13 | Address | &:r1640_1 | -| ir.cpp:1640:12:1640:12 | Address | &:r1640_2 | -| ir.cpp:1640:12:1640:12 | Address | &:r1640_4 | -| ir.cpp:1640:12:1640:12 | Load | m1639_6 | -| ir.cpp:1640:12:1640:12 | Load | ~m1639_8 | -| ir.cpp:1640:12:1640:12 | StoreValue | r1640_7 | -| ir.cpp:1640:12:1640:12 | Unary | r1640_3 | -| ir.cpp:1640:12:1640:12 | Unary | r1640_5 | -| ir.cpp:1640:12:1640:12 | Unary | r1640_6 | -| ir.cpp:1643:61:1643:98 | Address | &:r1643_5 | -| ir.cpp:1643:61:1643:98 | Address | &:r1643_5 | -| ir.cpp:1643:61:1643:98 | Address | &:r1643_7 | -| ir.cpp:1643:61:1643:98 | Address | &:r1643_7 | -| ir.cpp:1643:61:1643:98 | Address | &:r1643_10 | -| ir.cpp:1643:61:1643:98 | ChiPartial | partial:m1643_3 | -| ir.cpp:1643:61:1643:98 | ChiTotal | total:m1643_2 | -| ir.cpp:1643:61:1643:98 | Load | m1643_6 | -| ir.cpp:1643:61:1643:98 | Load | m1644_6 | -| ir.cpp:1643:61:1643:98 | SideEffect | m1643_3 | -| ir.cpp:1643:61:1643:98 | SideEffect | m1643_8 | -| ir.cpp:1644:5:1644:13 | Address | &:r1644_1 | -| ir.cpp:1644:12:1644:12 | Address | &:r1644_2 | -| ir.cpp:1644:12:1644:12 | StoreValue | r1644_3 | -| ir.cpp:1644:12:1644:12 | StoreValue | r1644_5 | -| ir.cpp:1644:12:1644:12 | Unary | r1644_2 | -| ir.cpp:1647:6:1647:40 | ChiPartial | partial:m1647_3 | -| ir.cpp:1647:6:1647:40 | ChiTotal | total:m1647_2 | -| ir.cpp:1647:6:1647:40 | SideEffect | ~m1668_6 | -| ir.cpp:1648:36:1648:36 | Address | &:r1648_1 | -| ir.cpp:1648:36:1648:36 | Address | &:r1648_1 | -| ir.cpp:1648:36:1648:36 | Arg(this) | this:r1648_1 | -| ir.cpp:1648:36:1648:36 | CallTarget | func:r1648_3 | -| ir.cpp:1648:36:1648:36 | ChiPartial | partial:m1648_5 | -| ir.cpp:1648:36:1648:36 | ChiPartial | partial:m1648_7 | -| ir.cpp:1648:36:1648:36 | ChiTotal | total:m1647_4 | -| ir.cpp:1648:36:1648:36 | ChiTotal | total:m1648_2 | -| ir.cpp:1648:36:1648:36 | SideEffect | ~m1647_4 | -| ir.cpp:1651:16:1651:16 | Address | &:r1651_1 | -| ir.cpp:1651:16:1651:16 | Address | &:r1651_7 | -| ir.cpp:1651:16:1651:16 | Address | &:r1651_21 | -| ir.cpp:1651:16:1651:16 | Address | &:r1651_35 | -| ir.cpp:1651:16:1651:16 | CallTarget | func:r1651_10 | -| ir.cpp:1651:16:1651:16 | CallTarget | func:r1651_24 | -| ir.cpp:1651:16:1651:16 | CallTarget | func:r1651_38 | -| ir.cpp:1651:16:1651:16 | ChiPartial | partial:m1651_12 | -| ir.cpp:1651:16:1651:16 | ChiPartial | partial:m1651_26 | -| ir.cpp:1651:16:1651:16 | ChiPartial | partial:m1651_40 | -| ir.cpp:1651:16:1651:16 | ChiTotal | total:m1648_6 | -| ir.cpp:1651:16:1651:16 | ChiTotal | total:m1651_13 | -| ir.cpp:1651:16:1651:16 | ChiTotal | total:m1651_27 | -| ir.cpp:1651:16:1651:16 | Load | m1651_4 | -| ir.cpp:1651:16:1651:16 | Load | m1651_4 | -| ir.cpp:1651:16:1651:16 | Load | m1651_4 | -| ir.cpp:1651:16:1651:16 | SideEffect | ~m1648_6 | -| ir.cpp:1651:16:1651:16 | SideEffect | ~m1651_13 | -| ir.cpp:1651:16:1651:16 | SideEffect | ~m1651_27 | -| ir.cpp:1651:16:1651:16 | StoreValue | r1651_11 | -| ir.cpp:1651:16:1651:16 | Unary | r1651_8 | -| ir.cpp:1651:16:1651:16 | Unary | r1651_22 | -| ir.cpp:1651:16:1651:16 | Unary | r1651_25 | -| ir.cpp:1651:16:1651:16 | Unary | r1651_36 | -| ir.cpp:1651:16:1651:16 | Unary | r1651_39 | -| ir.cpp:1651:16:1651:30 | Address | &:r1651_6 | -| ir.cpp:1651:16:1651:30 | StoreValue | r1651_18 | -| ir.cpp:1651:16:1651:30 | StoreValue | r1651_32 | -| ir.cpp:1651:16:1651:30 | StoreValue | r1651_46 | -| ir.cpp:1651:16:1651:30 | Unary | r1651_6 | -| ir.cpp:1651:16:1651:30 | Unary | r1651_31 | -| ir.cpp:1651:16:1651:30 | Unary | r1651_45 | -| ir.cpp:1651:17:1651:17 | Address | &:r1651_5 | -| ir.cpp:1651:20:1651:20 | Address | &:r1651_20 | -| ir.cpp:1651:23:1651:23 | Address | &:r1651_34 | -| ir.cpp:1651:29:1651:29 | StoreValue | r1651_3 | -| ir.cpp:1651:29:1651:29 | Unary | r1651_2 | -| ir.cpp:1651:30:1651:30 | Address | &:r1651_9 | -| ir.cpp:1651:30:1651:30 | Address | &:r1651_9 | -| ir.cpp:1651:30:1651:30 | Address | &:r1651_23 | -| ir.cpp:1651:30:1651:30 | Address | &:r1651_23 | -| ir.cpp:1651:30:1651:30 | Address | &:r1651_37 | -| ir.cpp:1651:30:1651:30 | Address | &:r1651_37 | -| ir.cpp:1651:30:1651:30 | Arg(this) | this:r1651_9 | -| ir.cpp:1651:30:1651:30 | Arg(this) | this:r1651_23 | -| ir.cpp:1651:30:1651:30 | Arg(this) | this:r1651_37 | -| ir.cpp:1651:30:1651:30 | ChiPartial | partial:m1651_15 | -| ir.cpp:1651:30:1651:30 | ChiPartial | partial:m1651_29 | -| ir.cpp:1651:30:1651:30 | ChiPartial | partial:m1651_43 | -| ir.cpp:1651:30:1651:30 | ChiTotal | total:m1648_8 | -| ir.cpp:1651:30:1651:30 | ChiTotal | total:m1651_16 | -| ir.cpp:1651:30:1651:30 | ChiTotal | total:m1651_30 | -| ir.cpp:1651:30:1651:30 | SideEffect | m1648_8 | -| ir.cpp:1651:30:1651:30 | SideEffect | m1651_16 | -| ir.cpp:1651:30:1651:30 | SideEffect | m1651_30 | -| ir.cpp:1652:9:1652:9 | Address | &:r1652_2 | -| ir.cpp:1652:9:1652:9 | Address | &:r1652_4 | -| ir.cpp:1652:9:1652:9 | Load | m1651_19 | -| ir.cpp:1652:9:1652:9 | Unary | r1652_3 | -| ir.cpp:1652:13:1652:13 | StoreValue | r1652_1 | -| ir.cpp:1653:14:1653:15 | Address | &:r1653_1 | -| ir.cpp:1653:19:1653:19 | Address | &:r1653_2 | -| ir.cpp:1653:19:1653:19 | Load | m1651_19 | -| ir.cpp:1653:19:1653:19 | StoreValue | r1653_5 | -| ir.cpp:1653:19:1653:19 | Unary | r1653_3 | -| ir.cpp:1653:19:1653:19 | Unary | r1653_4 | -| ir.cpp:1654:13:1654:13 | Address | &:r1654_1 | -| ir.cpp:1654:17:1654:17 | Address | &:r1654_2 | -| ir.cpp:1654:17:1654:17 | Address | &:r1654_3 | -| ir.cpp:1654:17:1654:17 | Load | m1651_19 | -| ir.cpp:1654:17:1654:17 | Load | m1652_5 | -| ir.cpp:1654:17:1654:17 | StoreValue | r1654_4 | -| ir.cpp:1655:9:1655:9 | Address | &:r1655_2 | -| ir.cpp:1655:9:1655:9 | Address | &:r1655_4 | -| ir.cpp:1655:9:1655:9 | Load | m1651_33 | -| ir.cpp:1655:9:1655:9 | Unary | r1655_3 | -| ir.cpp:1655:9:1655:13 | ChiPartial | partial:m1655_5 | -| ir.cpp:1655:9:1655:13 | ChiTotal | total:m1651_41 | -| ir.cpp:1655:13:1655:13 | StoreValue | r1655_1 | -| ir.cpp:1656:14:1656:15 | Address | &:r1656_1 | -| ir.cpp:1656:19:1656:19 | Address | &:r1656_2 | -| ir.cpp:1656:19:1656:19 | Load | m1651_33 | -| ir.cpp:1656:19:1656:19 | StoreValue | r1656_5 | -| ir.cpp:1656:19:1656:19 | Unary | r1656_3 | -| ir.cpp:1656:19:1656:19 | Unary | r1656_4 | -| ir.cpp:1657:13:1657:13 | Address | &:r1657_1 | -| ir.cpp:1657:17:1657:17 | Address | &:r1657_2 | -| ir.cpp:1657:17:1657:17 | Address | &:r1657_3 | -| ir.cpp:1657:17:1657:17 | Load | m1651_33 | -| ir.cpp:1657:17:1657:17 | Load | ~m1655_6 | -| ir.cpp:1657:17:1657:17 | StoreValue | r1657_4 | -| ir.cpp:1661:16:1661:37 | Address | &:r1661_1 | -| ir.cpp:1661:41:1661:41 | StoreValue | r1661_3 | -| ir.cpp:1661:41:1661:41 | Unary | r1661_2 | -| ir.cpp:1662:16:1662:16 | Address | &:r1662_1 | -| ir.cpp:1662:20:1662:41 | Address | &:r1662_3 | -| ir.cpp:1662:20:1662:41 | Address | &:r1662_5 | -| ir.cpp:1662:20:1662:41 | Address | &:r1662_5 | -| ir.cpp:1662:20:1662:41 | Arg(this) | this:r1662_5 | -| ir.cpp:1662:20:1662:41 | ChiPartial | partial:m1662_11 | -| ir.cpp:1662:20:1662:41 | ChiTotal | total:m1651_44 | -| ir.cpp:1662:20:1662:41 | Load | m1661_4 | -| ir.cpp:1662:20:1662:41 | SideEffect | m1651_44 | -| ir.cpp:1662:20:1662:41 | Unary | r1662_4 | -| ir.cpp:1662:20:1662:50 | Address | &:r1662_2 | -| ir.cpp:1662:20:1662:50 | StoreValue | r1662_14 | -| ir.cpp:1662:20:1662:50 | Unary | r1662_2 | -| ir.cpp:1662:43:1662:48 | CallTarget | func:r1662_6 | -| ir.cpp:1662:43:1662:48 | ChiPartial | partial:m1662_8 | -| ir.cpp:1662:43:1662:48 | ChiTotal | total:m1655_6 | -| ir.cpp:1662:43:1662:48 | SideEffect | ~m1655_6 | -| ir.cpp:1662:43:1662:48 | StoreValue | r1662_7 | -| ir.cpp:1663:15:1663:15 | Address | &:r1663_1 | -| ir.cpp:1663:19:1663:40 | Address | &:r1663_2 | -| ir.cpp:1663:19:1663:40 | Address | &:r1663_4 | -| ir.cpp:1663:19:1663:40 | Address | &:r1663_4 | -| ir.cpp:1663:19:1663:40 | Arg(this) | this:r1663_4 | -| ir.cpp:1663:19:1663:40 | ChiPartial | partial:m1663_10 | -| ir.cpp:1663:19:1663:40 | ChiTotal | total:m1662_12 | -| ir.cpp:1663:19:1663:40 | Load | m1661_4 | -| ir.cpp:1663:19:1663:40 | SideEffect | m1662_12 | -| ir.cpp:1663:19:1663:40 | Unary | r1663_3 | -| ir.cpp:1663:42:1663:47 | CallTarget | func:r1663_5 | -| ir.cpp:1663:42:1663:47 | ChiPartial | partial:m1663_7 | -| ir.cpp:1663:42:1663:47 | ChiTotal | total:m1662_9 | -| ir.cpp:1663:42:1663:47 | SideEffect | ~m1662_9 | -| ir.cpp:1663:42:1663:47 | Unary | r1663_6 | -| ir.cpp:1663:48:1663:50 | StoreValue | r1663_13 | -| ir.cpp:1663:48:1663:50 | Unary | r1663_12 | -| ir.cpp:1664:16:1664:17 | Address | &:r1664_1 | -| ir.cpp:1664:21:1664:42 | Address | &:r1664_2 | -| ir.cpp:1664:21:1664:42 | Address | &:r1664_4 | -| ir.cpp:1664:21:1664:42 | Address | &:r1664_4 | -| ir.cpp:1664:21:1664:42 | Arg(this) | this:r1664_4 | -| ir.cpp:1664:21:1664:42 | ChiPartial | partial:m1664_10 | -| ir.cpp:1664:21:1664:42 | ChiTotal | total:m1663_11 | -| ir.cpp:1664:21:1664:42 | Load | m1661_4 | -| ir.cpp:1664:21:1664:42 | SideEffect | m1663_11 | -| ir.cpp:1664:21:1664:42 | Unary | r1664_3 | -| ir.cpp:1664:44:1664:49 | CallTarget | func:r1664_5 | -| ir.cpp:1664:44:1664:49 | ChiPartial | partial:m1664_7 | -| ir.cpp:1664:44:1664:49 | ChiTotal | total:m1663_8 | -| ir.cpp:1664:44:1664:49 | SideEffect | ~m1663_8 | -| ir.cpp:1664:44:1664:49 | Unary | r1664_6 | -| ir.cpp:1664:50:1664:52 | StoreValue | r1664_13 | -| ir.cpp:1664:50:1664:52 | Unary | r1664_12 | -| ir.cpp:1665:9:1665:9 | Address | &:r1665_2 | -| ir.cpp:1665:9:1665:9 | Address | &:r1665_4 | -| ir.cpp:1665:9:1665:9 | Load | m1662_15 | -| ir.cpp:1665:9:1665:9 | Unary | r1665_3 | -| ir.cpp:1665:13:1665:13 | StoreValue | r1665_1 | -| ir.cpp:1666:14:1666:15 | Address | &:r1666_1 | -| ir.cpp:1666:19:1666:19 | Address | &:r1666_2 | -| ir.cpp:1666:19:1666:19 | Load | m1662_15 | -| ir.cpp:1666:19:1666:19 | StoreValue | r1666_5 | -| ir.cpp:1666:19:1666:19 | Unary | r1666_3 | -| ir.cpp:1666:19:1666:19 | Unary | r1666_4 | -| ir.cpp:1667:13:1667:13 | Address | &:r1667_1 | -| ir.cpp:1667:17:1667:17 | Address | &:r1667_2 | -| ir.cpp:1667:17:1667:17 | Address | &:r1667_3 | -| ir.cpp:1667:17:1667:17 | Load | m1662_15 | -| ir.cpp:1667:17:1667:17 | Load | m1665_5 | -| ir.cpp:1667:17:1667:17 | StoreValue | r1667_4 | -| ir.cpp:1668:9:1668:9 | Address | &:r1668_2 | -| ir.cpp:1668:9:1668:9 | Address | &:r1668_4 | -| ir.cpp:1668:9:1668:9 | Load | m1663_14 | -| ir.cpp:1668:9:1668:9 | Unary | r1668_3 | -| ir.cpp:1668:9:1668:13 | ChiPartial | partial:m1668_5 | -| ir.cpp:1668:9:1668:13 | ChiTotal | total:m1664_8 | -| ir.cpp:1668:13:1668:13 | StoreValue | r1668_1 | -| ir.cpp:1669:14:1669:15 | Address | &:r1669_1 | -| ir.cpp:1669:19:1669:19 | Address | &:r1669_2 | -| ir.cpp:1669:19:1669:19 | Load | m1663_14 | -| ir.cpp:1669:19:1669:19 | StoreValue | r1669_5 | -| ir.cpp:1669:19:1669:19 | Unary | r1669_3 | -| ir.cpp:1669:19:1669:19 | Unary | r1669_4 | -| ir.cpp:1670:13:1670:13 | Address | &:r1670_1 | -| ir.cpp:1670:17:1670:17 | Address | &:r1670_2 | -| ir.cpp:1670:17:1670:17 | Address | &:r1670_3 | -| ir.cpp:1670:17:1670:17 | Load | m1663_14 | -| ir.cpp:1670:17:1670:17 | Load | ~m1668_6 | -| ir.cpp:1670:17:1670:17 | StoreValue | r1670_4 | -| ir.cpp:1674:6:1674:42 | ChiPartial | partial:m1674_3 | -| ir.cpp:1674:6:1674:42 | ChiTotal | total:m1674_2 | -| ir.cpp:1674:6:1674:42 | SideEffect | m1674_3 | -| ir.cpp:1675:9:1675:10 | Address | &:r1675_1 | -| ir.cpp:1675:9:1675:10 | Left | r1675_1 | -| ir.cpp:1675:9:1675:10 | Left | r1675_1 | -| ir.cpp:1675:16:1675:22 | Address | &:r1675_4 | -| ir.cpp:1675:16:1675:22 | Address | &:r1675_9 | -| ir.cpp:1675:16:1675:22 | Right | r1675_3 | -| ir.cpp:1675:16:1675:22 | Right | r1675_8 | -| ir.cpp:1675:18:1675:18 | ChiPartial | partial:m1675_6 | -| ir.cpp:1675:18:1675:18 | ChiTotal | total:m1675_2 | -| ir.cpp:1675:18:1675:18 | StoreValue | r1675_5 | -| ir.cpp:1675:21:1675:21 | ChiPartial | partial:m1675_11 | -| ir.cpp:1675:21:1675:21 | ChiTotal | total:m1675_7 | -| ir.cpp:1675:21:1675:21 | StoreValue | r1675_10 | -| ir.cpp:1676:10:1676:10 | Address | &:r1676_1 | -| ir.cpp:1676:11:1676:11 | Address | &:r1676_5 | -| ir.cpp:1676:15:1676:15 | Address | &:r1676_6 | -| ir.cpp:1676:21:1676:22 | Address | &:r1676_2 | -| ir.cpp:1676:21:1676:22 | Load | m1675_12 | -| ir.cpp:1676:21:1676:22 | StoreValue | r1676_3 | -| ir.cpp:1682:5:1682:23 | Address | &:r1682_5 | -| ir.cpp:1682:5:1682:23 | Address | &:r1682_5 | -| ir.cpp:1682:5:1682:23 | Address | &:r1682_7 | -| ir.cpp:1682:5:1682:23 | Address | &:r1682_7 | -| ir.cpp:1682:5:1682:23 | ChiPartial | partial:m1682_3 | -| ir.cpp:1682:5:1682:23 | ChiTotal | total:m1682_2 | -| ir.cpp:1682:5:1682:23 | Load | m1682_6 | -| ir.cpp:1682:5:1682:23 | SideEffect | m1682_3 | -| ir.cpp:1682:5:1682:23 | SideEffect | m1682_8 | -| ir.cpp:1685:6:1685:20 | ChiPartial | partial:m1685_3 | -| ir.cpp:1685:6:1685:20 | ChiTotal | total:m1685_2 | -| ir.cpp:1685:6:1685:20 | SideEffect | ~m1688_6 | -| ir.cpp:1685:26:1685:26 | Address | &:r1685_5 | -| ir.cpp:1685:34:1685:34 | Address | &:r1685_7 | -| ir.cpp:1685:34:1685:34 | Address | &:r1685_7 | -| ir.cpp:1685:34:1685:34 | Address | &:r1685_9 | -| ir.cpp:1685:34:1685:34 | Address | &:r1685_9 | -| ir.cpp:1685:34:1685:34 | Load | m1685_8 | -| ir.cpp:1685:34:1685:34 | SideEffect | m1685_10 | -| ir.cpp:1685:43:1685:43 | Address | &:r1685_11 | -| ir.cpp:1685:43:1685:43 | Address | &:r1685_11 | -| ir.cpp:1685:43:1685:43 | Address | &:r1685_13 | -| ir.cpp:1685:43:1685:43 | Address | &:r1685_13 | -| ir.cpp:1685:43:1685:43 | Load | m1685_12 | -| ir.cpp:1685:43:1685:43 | SideEffect | m1685_14 | -| ir.cpp:1687:17:1687:20 | Address | &:r1687_1 | -| ir.cpp:1687:24:1687:44 | Address | &:r1687_2 | -| ir.cpp:1687:24:1687:44 | Address | &:r1687_2 | -| ir.cpp:1687:24:1687:44 | Arg(this) | this:r1687_2 | -| ir.cpp:1687:24:1687:44 | CallTarget | func:r1687_4 | -| ir.cpp:1687:24:1687:44 | ChiPartial | partial:m1687_6 | -| ir.cpp:1687:24:1687:44 | ChiPartial | partial:m1687_8 | -| ir.cpp:1687:24:1687:44 | ChiTotal | total:m1685_4 | -| ir.cpp:1687:24:1687:44 | ChiTotal | total:m1687_3 | -| ir.cpp:1687:24:1687:44 | SideEffect | ~m1685_4 | -| ir.cpp:1687:24:1687:44 | StoreValue | r1687_11 | -| ir.cpp:1687:24:1687:44 | Unary | r1687_2 | -| ir.cpp:1687:24:1687:44 | Unary | r1687_10 | -| ir.cpp:1688:10:1688:13 | Address | &:r1688_1 | -| ir.cpp:1688:10:1688:13 | Address | &:r1688_1 | -| ir.cpp:1688:10:1688:13 | Arg(this) | this:r1688_1 | -| ir.cpp:1688:16:1688:37 | CallTarget | func:r1688_3 | -| ir.cpp:1688:16:1688:37 | ChiPartial | partial:m1688_5 | -| ir.cpp:1688:16:1688:37 | ChiPartial | partial:m1688_7 | -| ir.cpp:1688:16:1688:37 | ChiTotal | total:m1687_7 | -| ir.cpp:1688:16:1688:37 | ChiTotal | total:m1688_2 | -| ir.cpp:1688:16:1688:37 | SideEffect | ~m1687_7 | -| ir.cpp:1690:10:1690:21 | Address | &:r1690_1 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_2 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_2 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_4 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_5 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_6 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_7 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_8 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_12 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_17 | -| ir.cpp:1690:24:1692:5 | Address | &:r1690_20 | -| ir.cpp:1690:24:1692:5 | ChiPartial | partial:m1690_10 | -| ir.cpp:1690:24:1692:5 | ChiTotal | total:m0_3 | -| ir.cpp:1690:24:1692:5 | Load | m1687_12 | -| ir.cpp:1690:24:1692:5 | Load | m1688_8 | -| ir.cpp:1690:24:1692:5 | Load | m1692_6 | -| ir.cpp:1690:24:1692:5 | StoreValue | r1690_9 | -| ir.cpp:1690:24:1692:5 | StoreValue | r1690_23 | -| ir.cpp:1690:24:1692:5 | Unary | r1690_2 | -| ir.cpp:1690:24:1692:5 | Unary | r1690_2 | -| ir.cpp:1690:24:1692:5 | Unary | r1690_2 | -| ir.cpp:1690:24:1692:5 | Unary | r1690_2 | -| ir.cpp:1690:24:1692:5 | Unary | r1690_2 | -| ir.cpp:1690:38:1690:38 | Address | &:r1690_13 | -| ir.cpp:1690:38:1690:38 | ChiPartial | partial:m1690_15 | -| ir.cpp:1690:38:1690:38 | ChiTotal | total:m1690_11 | -| ir.cpp:1690:38:1690:38 | Load | m1685_6 | -| ir.cpp:1690:38:1690:38 | StoreValue | r1690_14 | -| ir.cpp:1690:41:1690:41 | Address | &:r1690_18 | -| ir.cpp:1690:41:1690:41 | Address | &:r1690_19 | -| ir.cpp:1690:41:1690:41 | Load | m1685_8 | -| ir.cpp:1690:44:1690:44 | Address | &:r1690_21 | -| ir.cpp:1690:44:1690:44 | Address | &:r1690_22 | -| ir.cpp:1690:44:1690:44 | Load | m1685_12 | -| ir.cpp:1690:46:1690:46 | Address | &:r1690_5 | -| ir.cpp:1690:46:1690:46 | Address | &:r1690_5 | -| ir.cpp:1690:46:1690:46 | Address | &:r1690_7 | -| ir.cpp:1690:46:1690:46 | Address | &:r1690_7 | -| ir.cpp:1690:46:1690:46 | ChiPartial | partial:m1690_3 | -| ir.cpp:1690:46:1690:46 | ChiTotal | total:m1690_2 | -| ir.cpp:1690:46:1690:46 | Load | m1690_6 | -| ir.cpp:1690:46:1690:46 | SideEffect | m1690_3 | -| ir.cpp:1690:46:1690:46 | SideEffect | m1690_8 | -| ir.cpp:1691:14:1691:25 | Address | &:r1691_1 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_2 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_2 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_4 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_5 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_7 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_11 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_12 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_14 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_18 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_19 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_21 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_25 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_26 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_28 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_32 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_33 | -| ir.cpp:1691:28:1691:54 | Address | &:r1691_35 | -| ir.cpp:1691:28:1691:54 | ChiPartial | partial:m1691_9 | -| ir.cpp:1691:28:1691:54 | ChiPartial | partial:m1691_16 | -| ir.cpp:1691:28:1691:54 | ChiPartial | partial:m1691_23 | -| ir.cpp:1691:28:1691:54 | ChiPartial | partial:m1691_30 | -| ir.cpp:1691:28:1691:54 | ChiPartial | partial:m1691_37 | -| ir.cpp:1691:28:1691:54 | ChiTotal | total:m1691_3 | -| ir.cpp:1691:28:1691:54 | ChiTotal | total:m1691_10 | -| ir.cpp:1691:28:1691:54 | ChiTotal | total:m1691_17 | -| ir.cpp:1691:28:1691:54 | ChiTotal | total:m1691_24 | -| ir.cpp:1691:28:1691:54 | ChiTotal | total:m1691_31 | -| ir.cpp:1691:28:1691:54 | Load | m1690_6 | -| ir.cpp:1691:28:1691:54 | Load | m1690_6 | -| ir.cpp:1691:28:1691:54 | Load | m1690_6 | -| ir.cpp:1691:28:1691:54 | Load | m1690_6 | -| ir.cpp:1691:28:1691:54 | Load | m1690_6 | -| ir.cpp:1691:28:1691:54 | Load | m1691_38 | -| ir.cpp:1691:28:1691:54 | Load | ~m1690_8 | -| ir.cpp:1691:28:1691:54 | Load | ~m1690_8 | -| ir.cpp:1691:28:1691:54 | Load | ~m1690_8 | -| ir.cpp:1691:28:1691:54 | Load | ~m1690_8 | -| ir.cpp:1691:28:1691:54 | Load | ~m1690_8 | -| ir.cpp:1691:28:1691:54 | StoreValue | r1691_8 | -| ir.cpp:1691:28:1691:54 | StoreValue | r1691_15 | -| ir.cpp:1691:28:1691:54 | StoreValue | r1691_22 | -| ir.cpp:1691:28:1691:54 | StoreValue | r1691_29 | -| ir.cpp:1691:28:1691:54 | StoreValue | r1691_36 | -| ir.cpp:1691:28:1691:54 | StoreValue | r1691_39 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_2 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_2 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_2 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_2 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_2 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_6 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_13 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_20 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_27 | -| ir.cpp:1691:28:1691:54 | Unary | r1691_34 | -| ir.cpp:1691:50:1691:50 | Address | &:r1691_5 | -| ir.cpp:1691:50:1691:50 | Address | &:r1691_5 | -| ir.cpp:1691:50:1691:50 | Address | &:r1691_7 | -| ir.cpp:1691:50:1691:50 | Address | &:r1691_7 | -| ir.cpp:1691:50:1691:50 | ChiPartial | partial:m1691_3 | -| ir.cpp:1691:50:1691:50 | ChiTotal | total:m1691_2 | -| ir.cpp:1691:50:1691:50 | Load | m1691_6 | -| ir.cpp:1691:50:1691:50 | SideEffect | m1691_3 | -| ir.cpp:1691:50:1691:50 | SideEffect | m1691_8 | -| ir.cpp:1692:6:1692:6 | ChiPartial | partial:m1692_2 | -| ir.cpp:1692:6:1692:6 | ChiPartial | partial:m1692_5 | -| ir.cpp:1692:6:1692:6 | ChiTotal | total:m1690_16 | -| ir.cpp:1692:6:1692:6 | ChiTotal | total:m1692_3 | -| ir.cpp:1692:6:1692:6 | Load | ~m1685_10 | -| ir.cpp:1692:6:1692:6 | Load | ~m1685_14 | -| ir.cpp:1692:6:1692:6 | StoreValue | r1692_1 | -| ir.cpp:1692:6:1692:6 | StoreValue | r1692_4 | -| ir.cpp:1695:5:1695:21 | Address | &:r1695_5 | -| ir.cpp:1695:5:1695:21 | ChiPartial | partial:m1695_3 | -| ir.cpp:1695:5:1695:21 | ChiTotal | total:m1695_2 | -| ir.cpp:1695:5:1695:21 | Load | m1698_4 | -| ir.cpp:1695:5:1695:21 | SideEffect | m1695_3 | -| ir.cpp:1696:7:1696:7 | Address | &:r1696_1 | -| ir.cpp:1696:10:1696:12 | StoreValue | r1696_2 | -| ir.cpp:1698:3:1698:11 | Address | &:r1698_1 | -| ir.cpp:1698:10:1698:10 | Address | &:r1698_2 | -| ir.cpp:1698:10:1698:10 | Load | m1696_3 | -| ir.cpp:1698:10:1698:10 | StoreValue | r1698_3 | -| ir.cpp:1703:10:1703:10 | Address | &:r1703_5 | -| ir.cpp:1703:10:1703:10 | Address | &:r1703_5 | -| ir.cpp:1703:10:1703:10 | Address | &:r1703_7 | -| ir.cpp:1703:10:1703:10 | Address | &:r1703_7 | -| ir.cpp:1703:10:1703:10 | ChiPartial | partial:m1703_3 | -| ir.cpp:1703:10:1703:10 | ChiTotal | total:m1703_2 | -| ir.cpp:1703:10:1703:10 | Load | m1703_6 | -| ir.cpp:1703:10:1703:10 | SideEffect | m1703_3 | -| ir.cpp:1703:10:1703:10 | SideEffect | m1703_8 | -| ir.cpp:1704:14:1704:22 | Address | &:r1704_1 | -| ir.cpp:1704:25:1710:9 | Address | &:r1704_2 | -| ir.cpp:1704:25:1710:9 | Address | &:r1704_2 | -| ir.cpp:1704:25:1710:9 | Address | &:r1704_4 | -| ir.cpp:1704:25:1710:9 | Address | &:r1704_5 | -| ir.cpp:1704:25:1710:9 | Address | &:r1704_6 | -| ir.cpp:1704:25:1710:9 | Load | m1703_6 | -| ir.cpp:1704:25:1710:9 | Load | ~m1703_8 | -| ir.cpp:1704:25:1710:9 | Load | ~m1704_8 | -| ir.cpp:1704:25:1710:9 | StoreValue | r1704_7 | -| ir.cpp:1704:25:1710:9 | StoreValue | r1704_9 | -| ir.cpp:1704:25:1710:9 | Unary | r1704_2 | -| ir.cpp:1704:34:1704:34 | Address | &:r1704_5 | -| ir.cpp:1704:34:1704:34 | Address | &:r1704_5 | -| ir.cpp:1704:34:1704:34 | Address | &:r1704_7 | -| ir.cpp:1704:34:1704:34 | Address | &:r1704_7 | -| ir.cpp:1704:34:1704:34 | ChiPartial | partial:m1704_3 | -| ir.cpp:1704:34:1704:34 | ChiTotal | total:m1704_2 | -| ir.cpp:1704:34:1704:34 | Load | m1704_6 | -| ir.cpp:1704:34:1704:34 | SideEffect | m1704_8 | -| ir.cpp:1704:34:1704:34 | SideEffect | ~m1705_8 | -| ir.cpp:1705:13:1705:13 | Address | &:r1705_1 | -| ir.cpp:1705:13:1705:13 | Address | &:r1705_4 | -| ir.cpp:1705:13:1705:13 | Arg(this) | this:r1705_4 | -| ir.cpp:1705:13:1705:13 | CallTarget | func:r1705_5 | -| ir.cpp:1705:13:1705:13 | ChiPartial | partial:m1705_7 | -| ir.cpp:1705:13:1705:13 | ChiTotal | total:m1704_4 | -| ir.cpp:1705:13:1705:13 | Load | m1704_6 | -| ir.cpp:1705:13:1705:13 | SideEffect | ~m1704_4 | -| ir.cpp:1705:13:1705:13 | SideEffect | ~m1704_8 | -| ir.cpp:1705:13:1705:13 | Unary | r1705_2 | -| ir.cpp:1705:13:1705:13 | Unary | r1705_3 | -| ir.cpp:1707:18:1707:26 | Address | &:r1707_1 | -| ir.cpp:1707:29:1709:13 | Address | &:r1707_2 | -| ir.cpp:1707:29:1709:13 | Address | &:r1707_2 | -| ir.cpp:1707:29:1709:13 | Address | &:r1707_4 | -| ir.cpp:1707:29:1709:13 | Address | &:r1707_5 | -| ir.cpp:1707:29:1709:13 | Address | &:r1707_7 | -| ir.cpp:1707:29:1709:13 | Load | m1704_6 | -| ir.cpp:1707:29:1709:13 | Load | ~m1704_8 | -| ir.cpp:1707:29:1709:13 | Load | ~m1707_9 | -| ir.cpp:1707:29:1709:13 | StoreValue | r1707_8 | -| ir.cpp:1707:29:1709:13 | StoreValue | r1707_10 | -| ir.cpp:1707:29:1709:13 | Unary | r1707_2 | -| ir.cpp:1707:29:1709:13 | Unary | r1707_6 | -| ir.cpp:1707:38:1707:38 | Address | &:r1707_5 | -| ir.cpp:1707:38:1707:38 | Address | &:r1707_5 | -| ir.cpp:1707:38:1707:38 | Address | &:r1707_7 | -| ir.cpp:1707:38:1707:38 | Address | &:r1707_7 | -| ir.cpp:1707:38:1707:38 | ChiPartial | partial:m1707_3 | -| ir.cpp:1707:38:1707:38 | ChiTotal | total:m1707_2 | -| ir.cpp:1707:38:1707:38 | Load | m1707_6 | -| ir.cpp:1707:38:1707:38 | SideEffect | m1707_8 | -| ir.cpp:1707:38:1707:38 | SideEffect | ~m1708_8 | -| ir.cpp:1708:17:1708:17 | Address | &:r1708_1 | -| ir.cpp:1708:17:1708:17 | Address | &:r1708_4 | -| ir.cpp:1708:17:1708:17 | Arg(this) | this:r1708_4 | -| ir.cpp:1708:17:1708:17 | CallTarget | func:r1708_5 | -| ir.cpp:1708:17:1708:17 | ChiPartial | partial:m1708_7 | -| ir.cpp:1708:17:1708:17 | ChiTotal | total:m1707_4 | -| ir.cpp:1708:17:1708:17 | Load | m1707_6 | -| ir.cpp:1708:17:1708:17 | SideEffect | ~m1707_4 | -| ir.cpp:1708:17:1708:17 | SideEffect | ~m1707_8 | -| ir.cpp:1708:17:1708:17 | Unary | r1708_2 | -| ir.cpp:1708:17:1708:17 | Unary | r1708_3 | -| ir.cpp:1714:6:1714:21 | ChiPartial | partial:m1714_3 | -| ir.cpp:1714:6:1714:21 | ChiTotal | total:m1714_2 | -| ir.cpp:1714:6:1714:21 | SideEffect | m1714_3 | -| ir.cpp:1714:42:1714:43 | Address | &:r1714_5 | -| ir.cpp:1714:66:1714:67 | Address | &:r1714_7 | -| ir.cpp:1714:66:1714:67 | Address | &:r1714_7 | -| ir.cpp:1714:66:1714:67 | Address | &:r1714_9 | -| ir.cpp:1714:66:1714:67 | Address | &:r1714_9 | -| ir.cpp:1714:66:1714:67 | Load | m1714_8 | -| ir.cpp:1714:66:1714:67 | SideEffect | m1714_10 | -| ir.cpp:1714:91:1714:92 | Address | &:r1714_11 | -| ir.cpp:1714:91:1714:92 | Address | &:r1714_11 | -| ir.cpp:1714:91:1714:92 | Address | &:r1714_13 | -| ir.cpp:1714:91:1714:92 | Address | &:r1714_13 | -| ir.cpp:1714:91:1714:92 | Load | m1714_12 | -| ir.cpp:1714:91:1714:92 | SideEffect | m1714_14 | -| ir.cpp:1715:30:1715:31 | Address | &:r1715_1 | -| ir.cpp:1716:31:1716:32 | Address | &:r1716_1 | -| ir.cpp:1716:36:1716:55 | Address | &:r1716_2 | -| ir.cpp:1716:36:1716:55 | StoreValue | r1716_3 | -| ir.cpp:1716:36:1716:55 | StoreValue | r1716_6 | -| ir.cpp:1716:36:1716:55 | Unary | r1716_2 | -| ir.cpp:1716:36:1716:55 | Unary | r1716_5 | -| ir.cpp:1718:10:1718:17 | Address | &:r1718_1 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_2 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_2 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_4 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_5 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_9 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_10 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_11 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_12 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_13 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_14 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_15 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_16 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_20 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_21 | -| ir.cpp:1718:20:1720:5 | Address | &:r1718_22 | -| ir.cpp:1718:20:1720:5 | ChiPartial | partial:m1718_7 | -| ir.cpp:1718:20:1720:5 | ChiPartial | partial:m1718_18 | -| ir.cpp:1718:20:1720:5 | ChiTotal | total:m0_6 | -| ir.cpp:1718:20:1720:5 | ChiTotal | total:m1718_3 | -| ir.cpp:1718:20:1720:5 | Load | m0_9 | -| ir.cpp:1718:20:1720:5 | Load | m1714_6 | -| ir.cpp:1718:20:1720:5 | Load | m1714_8 | -| ir.cpp:1718:20:1720:5 | Load | m1714_12 | -| ir.cpp:1718:20:1720:5 | Load | m1715_2 | -| ir.cpp:1718:20:1720:5 | Load | m1716_7 | -| ir.cpp:1718:20:1720:5 | StoreValue | r1718_6 | -| ir.cpp:1718:20:1720:5 | StoreValue | r1718_17 | -| ir.cpp:1718:20:1720:5 | StoreValue | r1718_23 | -| ir.cpp:1718:20:1720:5 | Unary | r1718_2 | -| ir.cpp:1718:20:1720:5 | Unary | r1718_2 | -| ir.cpp:1718:20:1720:5 | Unary | r1718_2 | -| ir.cpp:1718:20:1720:5 | Unary | r1718_2 | -| ir.cpp:1718:20:1720:5 | Unary | r1718_2 | -| ir.cpp:1718:42:1718:42 | Address | &:r1718_5 | -| ir.cpp:1718:42:1718:42 | Address | &:r1718_5 | -| ir.cpp:1718:42:1718:42 | Address | &:r1718_7 | -| ir.cpp:1718:42:1718:42 | Address | &:r1718_7 | -| ir.cpp:1718:42:1718:42 | ChiPartial | partial:m1718_3 | -| ir.cpp:1718:42:1718:42 | ChiTotal | total:m1718_2 | -| ir.cpp:1718:42:1718:42 | Load | m1718_6 | -| ir.cpp:1718:42:1718:42 | SideEffect | m1718_3 | -| ir.cpp:1718:42:1718:42 | SideEffect | m1718_8 | -| ir.cpp:1719:14:1719:21 | Address | &:r1719_1 | -| ir.cpp:1719:24:1719:31 | Address | &:r1719_2 | -| ir.cpp:1719:24:1719:31 | Address | &:r1719_2 | -| ir.cpp:1719:24:1719:31 | Address | &:r1719_4 | -| ir.cpp:1719:24:1719:31 | Address | &:r1719_5 | -| ir.cpp:1719:24:1719:31 | Address | &:r1719_7 | -| ir.cpp:1719:24:1719:31 | Load | m1718_6 | -| ir.cpp:1719:24:1719:31 | Load | ~m1718_8 | -| ir.cpp:1719:24:1719:31 | Load | ~m1719_9 | -| ir.cpp:1719:24:1719:31 | StoreValue | r1719_8 | -| ir.cpp:1719:24:1719:31 | StoreValue | r1719_10 | -| ir.cpp:1719:24:1719:31 | Unary | r1719_2 | -| ir.cpp:1719:24:1719:31 | Unary | r1719_6 | -| ir.cpp:1719:30:1719:30 | Address | &:r1719_5 | -| ir.cpp:1719:30:1719:30 | Address | &:r1719_5 | -| ir.cpp:1719:30:1719:30 | Address | &:r1719_7 | -| ir.cpp:1719:30:1719:30 | Address | &:r1719_7 | -| ir.cpp:1719:30:1719:30 | ChiPartial | partial:m1719_3 | -| ir.cpp:1719:30:1719:30 | ChiTotal | total:m1719_2 | -| ir.cpp:1719:30:1719:30 | Load | m1719_6 | -| ir.cpp:1719:30:1719:30 | SideEffect | m1719_3 | -| ir.cpp:1719:30:1719:30 | SideEffect | m1719_8 | -| ir.cpp:1726:5:1726:44 | Address | &:r1726_5 | -| ir.cpp:1726:5:1726:44 | Address | &:r1726_5 | -| ir.cpp:1726:5:1726:44 | Address | &:r1726_7 | -| ir.cpp:1726:5:1726:44 | Address | &:r1726_7 | -| ir.cpp:1726:5:1726:44 | ChiPartial | partial:m1726_3 | -| ir.cpp:1726:5:1726:44 | ChiTotal | total:m1726_2 | -| ir.cpp:1726:5:1726:44 | Load | m1726_6 | -| ir.cpp:1726:5:1726:44 | SideEffect | m1726_3 | -| ir.cpp:1726:5:1726:44 | SideEffect | m1726_8 | -| ir.cpp:1727:5:1727:44 | Address | &:r1727_5 | -| ir.cpp:1727:5:1727:44 | Address | &:r1727_5 | -| ir.cpp:1727:5:1727:44 | Address | &:r1727_7 | -| ir.cpp:1727:5:1727:44 | Address | &:r1727_7 | -| ir.cpp:1727:5:1727:44 | ChiPartial | partial:m1727_3 | -| ir.cpp:1727:5:1727:44 | ChiTotal | total:m1727_2 | -| ir.cpp:1727:5:1727:44 | Load | m1727_6 | -| ir.cpp:1727:5:1727:44 | SideEffect | m1727_3 | -| ir.cpp:1727:5:1727:44 | SideEffect | m1728_10 | -| ir.cpp:1727:94:1727:94 | Address | &:r1727_9 | -| ir.cpp:1727:94:1727:94 | Address | &:r1727_9 | -| ir.cpp:1727:94:1727:94 | Address | &:r1727_11 | -| ir.cpp:1727:94:1727:94 | Address | &:r1727_11 | -| ir.cpp:1727:94:1727:94 | Load | m1727_10 | -| ir.cpp:1727:94:1727:94 | SideEffect | m1727_12 | -| ir.cpp:1728:9:1728:9 | Address | &:r1728_6 | -| ir.cpp:1728:9:1728:9 | Address | &:r1728_8 | -| ir.cpp:1728:9:1728:9 | Load | m1727_6 | -| ir.cpp:1728:9:1728:9 | Unary | r1728_7 | -| ir.cpp:1728:9:1728:15 | ChiPartial | partial:m1728_9 | -| ir.cpp:1728:9:1728:15 | ChiTotal | total:m1727_8 | -| ir.cpp:1728:13:1728:13 | Address | &:r1728_1 | -| ir.cpp:1728:13:1728:13 | Load | m1727_10 | -| ir.cpp:1728:13:1728:13 | Unary | r1728_2 | -| ir.cpp:1728:13:1728:13 | Unary | r1728_3 | -| ir.cpp:1728:15:1728:15 | Address | &:r1728_4 | -| ir.cpp:1728:15:1728:15 | Load | ~m1727_12 | -| ir.cpp:1728:15:1728:15 | StoreValue | r1728_5 | -| ir.cpp:1735:5:1735:39 | Address | &:r1735_5 | -| ir.cpp:1735:5:1735:39 | Address | &:r1735_5 | -| ir.cpp:1735:5:1735:39 | Address | &:r1735_7 | -| ir.cpp:1735:5:1735:39 | Address | &:r1735_7 | -| ir.cpp:1735:5:1735:39 | ChiPartial | partial:m1735_3 | -| ir.cpp:1735:5:1735:39 | ChiTotal | total:m1735_2 | -| ir.cpp:1735:5:1735:39 | Load | m1735_6 | -| ir.cpp:1735:5:1735:39 | SideEffect | m1735_3 | -| ir.cpp:1735:5:1735:39 | SideEffect | m1735_8 | -| ir.cpp:1738:7:1738:7 | Address | &:r1738_5 | -| ir.cpp:1738:7:1738:7 | Address | &:r1738_5 | -| ir.cpp:1738:7:1738:7 | Address | &:r1738_7 | -| ir.cpp:1738:7:1738:7 | Address | &:r1738_7 | -| ir.cpp:1738:7:1738:7 | Address | &:r1738_9 | -| ir.cpp:1738:7:1738:7 | Address | &:r1738_11 | -| ir.cpp:1738:7:1738:7 | Address | &:r1738_15 | -| ir.cpp:1738:7:1738:7 | Arg(0) | 0:r1738_15 | -| ir.cpp:1738:7:1738:7 | Arg(this) | this:r1738_9 | -| ir.cpp:1738:7:1738:7 | CallTarget | func:r1738_10 | -| ir.cpp:1738:7:1738:7 | ChiPartial | partial:m1738_3 | -| ir.cpp:1738:7:1738:7 | ChiPartial | partial:m1738_17 | -| ir.cpp:1738:7:1738:7 | ChiPartial | partial:m1738_20 | -| ir.cpp:1738:7:1738:7 | ChiTotal | total:m1738_2 | -| ir.cpp:1738:7:1738:7 | ChiTotal | total:m1738_4 | -| ir.cpp:1738:7:1738:7 | ChiTotal | total:m1738_8 | -| ir.cpp:1738:7:1738:7 | Load | m0_2 | -| ir.cpp:1738:7:1738:7 | Load | m1738_6 | -| ir.cpp:1738:7:1738:7 | SideEffect | m1738_21 | -| ir.cpp:1738:7:1738:7 | SideEffect | ~m0_4 | -| ir.cpp:1738:7:1738:7 | SideEffect | ~m1738_4 | -| ir.cpp:1738:7:1738:7 | SideEffect | ~m1738_18 | -| ir.cpp:1738:7:1738:7 | Unary | m1738_6 | -| ir.cpp:1738:7:1738:7 | Unary | r1738_12 | -| ir.cpp:1738:7:1738:7 | Unary | r1738_13 | -| ir.cpp:1738:7:1738:7 | Unary | r1738_14 | -| ir.cpp:1742:5:1742:38 | Address | &:r1742_5 | -| ir.cpp:1742:5:1742:38 | Address | &:r1742_5 | -| ir.cpp:1742:5:1742:38 | Address | &:r1742_7 | -| ir.cpp:1742:5:1742:38 | Address | &:r1742_7 | -| ir.cpp:1742:5:1742:38 | ChiPartial | partial:m1742_3 | -| ir.cpp:1742:5:1742:38 | ChiTotal | total:m1742_2 | -| ir.cpp:1742:5:1742:38 | Load | m1742_6 | -| ir.cpp:1742:5:1742:38 | SideEffect | m1742_22 | -| ir.cpp:1742:5:1742:38 | SideEffect | ~m1742_20 | -| ir.cpp:1742:5:1742:38 | Unary | m1742_6 | -| ir.cpp:1742:5:1742:38 | Unary | m1742_6 | -| ir.cpp:1742:42:1742:42 | Address | &:r1742_9 | -| ir.cpp:1742:42:1742:42 | Address | &:r1742_16 | -| ir.cpp:1742:42:1742:42 | Arg(this) | this:r1742_9 | -| ir.cpp:1742:42:1742:42 | Arg(this) | this:r1742_16 | -| ir.cpp:1742:42:1742:42 | CallTarget | func:r1742_10 | -| ir.cpp:1742:42:1742:42 | CallTarget | func:r1742_17 | -| ir.cpp:1742:42:1742:42 | ChiPartial | partial:m1742_12 | -| ir.cpp:1742:42:1742:42 | ChiPartial | partial:m1742_14 | -| ir.cpp:1742:42:1742:42 | ChiPartial | partial:m1742_19 | -| ir.cpp:1742:42:1742:42 | ChiPartial | partial:m1742_21 | -| ir.cpp:1742:42:1742:42 | ChiTotal | total:m1742_4 | -| ir.cpp:1742:42:1742:42 | ChiTotal | total:m1742_8 | -| ir.cpp:1742:42:1742:42 | ChiTotal | total:m1742_13 | -| ir.cpp:1742:42:1742:42 | ChiTotal | total:m1742_15 | -| ir.cpp:1742:42:1742:42 | SideEffect | ~m1742_4 | -| ir.cpp:1742:42:1742:42 | SideEffect | ~m1742_13 | -| ir.cpp:1745:7:1745:7 | Address | &:r1745_5 | -| ir.cpp:1745:7:1745:7 | Address | &:r1745_5 | -| ir.cpp:1745:7:1745:7 | Address | &:r1745_7 | -| ir.cpp:1745:7:1745:7 | Address | &:r1745_7 | -| ir.cpp:1745:7:1745:7 | Address | &:r1745_9 | -| ir.cpp:1745:7:1745:7 | Address | &:r1745_11 | -| ir.cpp:1745:7:1745:7 | Address | &:r1745_15 | -| ir.cpp:1745:7:1745:7 | Arg(0) | 0:r1745_15 | -| ir.cpp:1745:7:1745:7 | Arg(this) | this:r1745_9 | -| ir.cpp:1745:7:1745:7 | CallTarget | func:r1745_10 | -| ir.cpp:1745:7:1745:7 | ChiPartial | partial:m1745_3 | -| ir.cpp:1745:7:1745:7 | ChiPartial | partial:m1745_17 | -| ir.cpp:1745:7:1745:7 | ChiPartial | partial:m1745_20 | -| ir.cpp:1745:7:1745:7 | ChiTotal | total:m1745_2 | -| ir.cpp:1745:7:1745:7 | ChiTotal | total:m1745_4 | -| ir.cpp:1745:7:1745:7 | ChiTotal | total:m1745_18 | -| ir.cpp:1745:7:1745:7 | Load | m0_2 | -| ir.cpp:1745:7:1745:7 | Load | m1745_6 | -| ir.cpp:1745:7:1745:7 | SideEffect | m1745_8 | -| ir.cpp:1745:7:1745:7 | SideEffect | ~m0_4 | -| ir.cpp:1745:7:1745:7 | SideEffect | ~m1745_4 | -| ir.cpp:1745:7:1745:7 | SideEffect | ~m1745_21 | -| ir.cpp:1745:7:1745:7 | Unary | m1745_6 | -| ir.cpp:1745:7:1745:7 | Unary | r1745_12 | -| ir.cpp:1745:7:1745:7 | Unary | r1745_13 | -| ir.cpp:1745:7:1745:7 | Unary | r1745_14 | -| ir.cpp:1749:5:1749:35 | Address | &:r1749_5 | -| ir.cpp:1749:5:1749:35 | Address | &:r1749_5 | -| ir.cpp:1749:5:1749:35 | Address | &:r1749_7 | -| ir.cpp:1749:5:1749:35 | Address | &:r1749_7 | -| ir.cpp:1749:5:1749:35 | ChiPartial | partial:m1749_3 | -| ir.cpp:1749:5:1749:35 | ChiTotal | total:m1749_2 | -| ir.cpp:1749:5:1749:35 | Load | m1749_6 | -| ir.cpp:1749:5:1749:35 | SideEffect | m1749_8 | -| ir.cpp:1749:5:1749:35 | SideEffect | ~m1749_22 | -| ir.cpp:1749:5:1749:35 | Unary | m1749_6 | -| ir.cpp:1749:5:1749:35 | Unary | m1749_6 | -| ir.cpp:1749:39:1749:39 | Address | &:r1749_9 | -| ir.cpp:1749:39:1749:39 | Address | &:r1749_16 | -| ir.cpp:1749:39:1749:39 | Arg(this) | this:r1749_9 | -| ir.cpp:1749:39:1749:39 | Arg(this) | this:r1749_16 | -| ir.cpp:1749:39:1749:39 | CallTarget | func:r1749_10 | -| ir.cpp:1749:39:1749:39 | CallTarget | func:r1749_17 | -| ir.cpp:1749:39:1749:39 | ChiPartial | partial:m1749_12 | -| ir.cpp:1749:39:1749:39 | ChiPartial | partial:m1749_14 | -| ir.cpp:1749:39:1749:39 | ChiPartial | partial:m1749_19 | -| ir.cpp:1749:39:1749:39 | ChiPartial | partial:m1749_21 | -| ir.cpp:1749:39:1749:39 | ChiTotal | total:m1749_4 | -| ir.cpp:1749:39:1749:39 | ChiTotal | total:m1749_13 | -| ir.cpp:1749:39:1749:39 | ChiTotal | total:m1749_15 | -| ir.cpp:1749:39:1749:39 | ChiTotal | total:m1749_20 | -| ir.cpp:1749:39:1749:39 | SideEffect | ~m1749_4 | -| ir.cpp:1749:39:1749:39 | SideEffect | ~m1749_15 | -| ir.cpp:1752:5:1752:34 | Address | &:r1752_5 | -| ir.cpp:1752:5:1752:34 | ChiPartial | partial:m1752_3 | -| ir.cpp:1752:5:1752:34 | ChiTotal | total:m1752_2 | -| ir.cpp:1752:5:1752:34 | Load | m1757_2 | -| ir.cpp:1752:5:1752:34 | SideEffect | ~m1756_10 | -| ir.cpp:1753:51:1753:51 | Address | &:r1753_1 | -| ir.cpp:1753:51:1753:51 | Address | &:r1753_1 | -| ir.cpp:1753:51:1753:51 | Address | &:r1753_3 | -| ir.cpp:1753:51:1753:51 | Address | &:r1753_3 | -| ir.cpp:1753:51:1753:51 | Load | m1753_2 | -| ir.cpp:1753:51:1753:51 | SideEffect | m1753_4 | -| ir.cpp:1754:48:1754:48 | Address | &:r1754_1 | -| ir.cpp:1754:48:1754:48 | Address | &:r1754_1 | -| ir.cpp:1754:48:1754:48 | Address | &:r1754_3 | -| ir.cpp:1754:48:1754:48 | Address | &:r1754_3 | -| ir.cpp:1754:48:1754:48 | Load | m1754_2 | -| ir.cpp:1754:48:1754:48 | SideEffect | m1754_4 | -| ir.cpp:1755:40:1755:41 | Address | &:r1755_1 | -| ir.cpp:1755:40:1755:41 | Address | &:r1755_1 | -| ir.cpp:1755:40:1755:41 | Arg(this) | this:r1755_1 | -| ir.cpp:1755:44:1755:45 | CallTarget | func:r1755_3 | -| ir.cpp:1755:44:1755:45 | ChiPartial | partial:m1755_9 | -| ir.cpp:1755:44:1755:45 | ChiPartial | partial:m1755_12 | -| ir.cpp:1755:44:1755:45 | ChiTotal | total:m1752_4 | -| ir.cpp:1755:44:1755:45 | ChiTotal | total:m1755_2 | -| ir.cpp:1755:44:1755:45 | SideEffect | ~m1752_4 | -| ir.cpp:1755:45:1755:45 | Address | &:r1755_4 | -| ir.cpp:1755:45:1755:45 | Address | &:r1755_7 | -| ir.cpp:1755:45:1755:45 | Arg(0) | 0:r1755_7 | -| ir.cpp:1755:45:1755:45 | Load | m1753_2 | -| ir.cpp:1755:45:1755:45 | SideEffect | ~m1753_4 | -| ir.cpp:1755:45:1755:45 | Unary | r1755_5 | -| ir.cpp:1755:45:1755:45 | Unary | r1755_6 | -| ir.cpp:1756:37:1756:38 | Address | &:r1756_1 | -| ir.cpp:1756:37:1756:38 | Address | &:r1756_1 | -| ir.cpp:1756:37:1756:38 | Arg(this) | this:r1756_1 | -| ir.cpp:1756:41:1756:42 | CallTarget | func:r1756_3 | -| ir.cpp:1756:41:1756:42 | ChiPartial | partial:m1756_9 | -| ir.cpp:1756:41:1756:42 | ChiPartial | partial:m1756_12 | -| ir.cpp:1756:41:1756:42 | ChiTotal | total:m1755_10 | -| ir.cpp:1756:41:1756:42 | ChiTotal | total:m1756_2 | -| ir.cpp:1756:41:1756:42 | SideEffect | ~m1755_10 | -| ir.cpp:1756:42:1756:42 | Address | &:r1756_4 | -| ir.cpp:1756:42:1756:42 | Address | &:r1756_7 | -| ir.cpp:1756:42:1756:42 | Arg(0) | 0:r1756_7 | -| ir.cpp:1756:42:1756:42 | Load | m1754_2 | -| ir.cpp:1756:42:1756:42 | SideEffect | ~m1754_4 | -| ir.cpp:1756:42:1756:42 | Unary | r1756_5 | -| ir.cpp:1756:42:1756:42 | Unary | r1756_6 | -| ir.cpp:1757:1:1757:1 | Address | &:r1757_1 | -| ir.cpp:1759:6:1759:22 | ChiPartial | partial:m1759_3 | -| ir.cpp:1759:6:1759:22 | ChiTotal | total:m1759_2 | -| ir.cpp:1759:6:1759:22 | SideEffect | m1759_3 | -| ir.cpp:1759:28:1759:28 | Address | &:r1759_5 | -| ir.cpp:1760:13:1760:13 | Address | &:r1760_1 | -| ir.cpp:1760:17:1760:17 | Address | &:r1760_2 | -| ir.cpp:1760:17:1760:17 | Load | m1759_6 | -| ir.cpp:1760:17:1760:17 | StoreValue | r1760_3 | -| ir.cpp:1760:20:1760:20 | Address | &:r1760_5 | -| ir.cpp:1760:20:1760:20 | Left | r1760_6 | -| ir.cpp:1760:20:1760:20 | Load | m1759_6 | -| ir.cpp:1760:20:1760:24 | Condition | r1760_10 | -| ir.cpp:1760:20:1760:24 | Left | r1760_8 | -| ir.cpp:1760:20:1760:24 | Right | r1760_9 | -| ir.cpp:1760:24:1760:24 | Right | r1760_7 | -| ir.cpp:1761:9:1761:9 | Address | &:r1761_6 | -| ir.cpp:1761:13:1761:13 | Address | &:r1761_1 | -| ir.cpp:1761:13:1761:13 | Left | r1761_2 | -| ir.cpp:1761:13:1761:13 | Load | m1759_6 | -| ir.cpp:1761:13:1761:17 | StoreValue | r1761_5 | -| ir.cpp:1761:17:1761:17 | Address | &:r1761_3 | -| ir.cpp:1761:17:1761:17 | Load | m1760_4 | -| ir.cpp:1761:17:1761:17 | Right | r1761_4 | -| ir.cpp:1764:9:1764:9 | Address | &:r1764_2 | -| ir.cpp:1764:9:1764:9 | Phi | from 0:m1759_6 | -| ir.cpp:1764:9:1764:9 | Phi | from 1:m1761_7 | -| ir.cpp:1765:9:1765:9 | Address | &:r1765_3 | -| ir.cpp:1765:13:1765:13 | Address | &:r1765_1 | -| ir.cpp:1765:13:1765:13 | Load | m1764_1 | -| ir.cpp:1765:13:1765:13 | StoreValue | r1765_2 | -| ir.cpp:1765:16:1765:16 | Address | &:r1765_5 | -| ir.cpp:1765:16:1765:16 | Left | r1765_6 | -| ir.cpp:1765:16:1765:16 | Load | m1764_1 | -| ir.cpp:1765:16:1765:20 | Condition | r1765_10 | -| ir.cpp:1765:16:1765:20 | Left | r1765_8 | -| ir.cpp:1765:16:1765:20 | Right | r1765_9 | -| ir.cpp:1765:20:1765:20 | Right | r1765_7 | -| ir.cpp:1766:9:1766:9 | Address | &:r1766_6 | -| ir.cpp:1766:13:1766:13 | Address | &:r1766_1 | -| ir.cpp:1766:13:1766:13 | Left | r1766_2 | -| ir.cpp:1766:13:1766:13 | Load | m1764_1 | -| ir.cpp:1766:13:1766:17 | StoreValue | r1766_5 | -| ir.cpp:1766:17:1766:17 | Address | &:r1766_3 | -| ir.cpp:1766:17:1766:17 | Load | m1765_4 | -| ir.cpp:1766:17:1766:17 | Right | r1766_4 | -| ir.cpp:1769:9:1769:9 | Address | &:r1769_4 | -| ir.cpp:1769:13:1769:13 | Address | &:r1769_2 | -| ir.cpp:1769:13:1769:13 | Load | m1769_1 | -| ir.cpp:1769:13:1769:13 | Phi | from 2:m1764_1 | -| ir.cpp:1769:13:1769:13 | Phi | from 3:m1766_7 | -| ir.cpp:1769:13:1769:13 | StoreValue | r1769_3 | -| ir.cpp:1769:14:1769:25 | Address | &:r1769_6 | -| ir.cpp:1769:14:1769:25 | Condition | r1769_14 | -| ir.cpp:1769:20:1769:21 | Address | &:r1769_10 | -| ir.cpp:1769:20:1769:21 | Left | r1769_11 | -| ir.cpp:1769:20:1769:21 | Load | m1769_9 | -| ir.cpp:1769:20:1769:21 | Right | r1769_12 | -| ir.cpp:1769:20:1769:21 | Unary | r1769_13 | -| ir.cpp:1769:25:1769:25 | Address | &:r1769_7 | -| ir.cpp:1769:25:1769:25 | Load | m1769_5 | -| ir.cpp:1769:25:1769:25 | StoreValue | r1769_8 | -| ir.cpp:1770:9:1770:9 | Address | &:r1770_6 | -| ir.cpp:1770:13:1770:13 | Address | &:r1770_1 | -| ir.cpp:1770:13:1770:13 | Left | r1770_2 | -| ir.cpp:1770:13:1770:13 | Load | m1769_1 | -| ir.cpp:1770:13:1770:17 | StoreValue | r1770_5 | -| ir.cpp:1770:17:1770:17 | Address | &:r1770_3 | -| ir.cpp:1770:17:1770:17 | Load | m1769_5 | -| ir.cpp:1770:17:1770:17 | Right | r1770_4 | -| ir.cpp:1773:9:1773:29 | Address | &:r1773_6 | -| ir.cpp:1773:9:1773:29 | Condition | r1773_14 | -| ir.cpp:1773:13:1773:13 | Address | &:r1773_2 | -| ir.cpp:1773:13:1773:13 | Phi | from 4:m1769_1 | -| ir.cpp:1773:13:1773:13 | Phi | from 5:m1770_7 | -| ir.cpp:1773:17:1773:17 | Address | &:r1773_3 | -| ir.cpp:1773:17:1773:17 | Load | m1773_1 | -| ir.cpp:1773:17:1773:17 | StoreValue | r1773_4 | -| ir.cpp:1773:24:1773:25 | Address | &:r1773_10 | -| ir.cpp:1773:24:1773:25 | Left | r1773_11 | -| ir.cpp:1773:24:1773:25 | Load | m1773_9 | -| ir.cpp:1773:24:1773:25 | Right | r1773_12 | -| ir.cpp:1773:24:1773:25 | Unary | r1773_13 | -| ir.cpp:1773:29:1773:29 | Address | &:r1773_7 | -| ir.cpp:1773:29:1773:29 | Load | m1773_5 | -| ir.cpp:1773:29:1773:29 | StoreValue | r1773_8 | -| ir.cpp:1774:9:1774:9 | Address | &:r1774_6 | -| ir.cpp:1774:13:1774:13 | Address | &:r1774_1 | -| ir.cpp:1774:13:1774:13 | Left | r1774_2 | -| ir.cpp:1774:13:1774:13 | Load | m1773_1 | -| ir.cpp:1774:13:1774:17 | StoreValue | r1774_5 | -| ir.cpp:1774:17:1774:17 | Address | &:r1774_3 | -| ir.cpp:1774:17:1774:17 | Load | m1773_5 | -| ir.cpp:1774:17:1774:17 | Right | r1774_4 | -| ir.cpp:1777:9:1777:9 | Address | &:r1777_2 | -| ir.cpp:1777:9:1777:9 | Phi | from 6:m1773_1 | -| ir.cpp:1777:9:1777:9 | Phi | from 7:m1774_7 | -| ir.cpp:1777:13:1777:13 | Address | &:r1777_3 | -| ir.cpp:1777:13:1777:13 | Load | m1777_1 | -| ir.cpp:1777:13:1777:13 | StoreValue | r1777_4 | -| ir.cpp:1778:9:1778:9 | Address | &:r1778_1 | -| ir.cpp:1778:9:1778:9 | Condition | r1778_4 | -| ir.cpp:1778:9:1778:9 | Left | r1778_2 | -| ir.cpp:1778:9:1778:9 | Load | m1777_5 | -| ir.cpp:1778:9:1778:9 | Right | r1778_3 | -| ir.cpp:1779:9:1779:9 | Address | &:r1779_6 | -| ir.cpp:1779:13:1779:13 | Address | &:r1779_1 | -| ir.cpp:1779:13:1779:13 | Left | r1779_2 | -| ir.cpp:1779:13:1779:13 | Load | m1777_1 | -| ir.cpp:1779:13:1779:17 | StoreValue | r1779_5 | -| ir.cpp:1779:17:1779:17 | Address | &:r1779_3 | -| ir.cpp:1779:17:1779:17 | Load | m1777_5 | -| ir.cpp:1779:17:1779:17 | Right | r1779_4 | -| ir.cpp:1782:9:1782:18 | Address | &:r1782_2 | -| ir.cpp:1782:9:1782:18 | Condition | r1782_10 | -| ir.cpp:1782:9:1782:18 | Phi | from 8:m1777_1 | -| ir.cpp:1782:9:1782:18 | Phi | from 9:m1779_7 | -| ir.cpp:1782:13:1782:14 | Address | &:r1782_6 | -| ir.cpp:1782:13:1782:14 | Left | r1782_7 | -| ir.cpp:1782:13:1782:14 | Load | m1782_5 | -| ir.cpp:1782:13:1782:14 | Right | r1782_8 | -| ir.cpp:1782:13:1782:14 | Unary | r1782_9 | -| ir.cpp:1782:18:1782:18 | Address | &:r1782_3 | -| ir.cpp:1782:18:1782:18 | Load | m1777_5 | -| ir.cpp:1782:18:1782:18 | StoreValue | r1782_4 | -| ir.cpp:1783:9:1783:9 | Address | &:r1783_3 | -| ir.cpp:1783:9:1783:9 | Address | &:r1783_3 | -| ir.cpp:1783:9:1783:9 | Left | r1783_4 | -| ir.cpp:1783:9:1783:9 | Load | m1782_1 | -| ir.cpp:1783:9:1783:15 | StoreValue | r1783_5 | -| ir.cpp:1783:14:1783:15 | Address | &:r1783_1 | -| ir.cpp:1783:14:1783:15 | Load | m1782_5 | -| ir.cpp:1783:14:1783:15 | Right | r1783_2 | -| ir.cpp:1787:6:1787:26 | ChiPartial | partial:m1787_3 | -| ir.cpp:1787:6:1787:26 | ChiTotal | total:m1787_2 | -| ir.cpp:1787:6:1787:26 | SideEffect | m1787_3 | -| ir.cpp:1787:32:1787:32 | Address | &:r1787_5 | -| ir.cpp:1788:17:1788:17 | Address | &:r1788_1 | -| ir.cpp:1788:21:1788:21 | Address | &:r1788_2 | -| ir.cpp:1788:21:1788:21 | Load | m1787_6 | -| ir.cpp:1788:21:1788:21 | StoreValue | r1788_3 | -| ir.cpp:1788:24:1788:24 | Address | &:r1788_5 | -| ir.cpp:1788:24:1788:24 | Left | r1788_6 | -| ir.cpp:1788:24:1788:24 | Load | m1787_6 | -| ir.cpp:1788:24:1788:28 | Condition | r1788_8 | -| ir.cpp:1788:28:1788:28 | Right | r1788_7 | -| ir.cpp:1790:9:1790:9 | Address | &:r1790_6 | -| ir.cpp:1790:13:1790:13 | Address | &:r1790_1 | -| ir.cpp:1790:13:1790:13 | Left | r1790_2 | -| ir.cpp:1790:13:1790:13 | Load | m1787_6 | -| ir.cpp:1790:13:1790:17 | StoreValue | r1790_5 | -| ir.cpp:1790:17:1790:17 | Address | &:r1790_3 | -| ir.cpp:1790:17:1790:17 | Load | m1788_4 | -| ir.cpp:1790:17:1790:17 | Right | r1790_4 | -| ir.cpp:1793:9:1793:9 | Address | &:r1793_1 | -| ir.cpp:1794:13:1794:13 | Address | &:r1794_3 | -| ir.cpp:1794:17:1794:17 | Address | &:r1794_1 | -| ir.cpp:1794:17:1794:17 | Load | m1790_7 | -| ir.cpp:1794:17:1794:17 | StoreValue | r1794_2 | -| ir.cpp:1794:20:1794:20 | Address | &:r1794_5 | -| ir.cpp:1794:20:1794:20 | Left | r1794_6 | -| ir.cpp:1794:20:1794:20 | Load | m1790_7 | -| ir.cpp:1794:20:1794:24 | Condition | r1794_8 | -| ir.cpp:1794:24:1794:24 | Right | r1794_7 | -| ir.cpp:1796:9:1796:9 | Address | &:r1796_6 | -| ir.cpp:1796:13:1796:13 | Address | &:r1796_1 | -| ir.cpp:1796:13:1796:13 | Left | r1796_2 | -| ir.cpp:1796:13:1796:13 | Load | m1790_7 | -| ir.cpp:1796:13:1796:17 | StoreValue | r1796_5 | -| ir.cpp:1796:17:1796:17 | Address | &:r1796_3 | -| ir.cpp:1796:17:1796:17 | Load | m1794_4 | -| ir.cpp:1796:17:1796:17 | Right | r1796_4 | -| ir.cpp:1799:13:1799:13 | Address | &:r1799_3 | -| ir.cpp:1799:17:1799:17 | Address | &:r1799_1 | -| ir.cpp:1799:17:1799:17 | Load | m1796_7 | -| ir.cpp:1799:17:1799:17 | StoreValue | r1799_2 | -| ir.cpp:1799:18:1799:29 | Address | &:r1799_5 | -| ir.cpp:1799:18:1799:29 | Condition | r1799_11 | -| ir.cpp:1799:24:1799:25 | Address | &:r1799_9 | -| ir.cpp:1799:24:1799:25 | Load | m1799_8 | -| ir.cpp:1799:24:1799:25 | Unary | r1799_10 | -| ir.cpp:1799:29:1799:29 | Address | &:r1799_6 | -| ir.cpp:1799:29:1799:29 | Load | m1799_4 | -| ir.cpp:1799:29:1799:29 | StoreValue | r1799_7 | -| ir.cpp:1801:9:1801:9 | Address | &:r1801_6 | -| ir.cpp:1801:13:1801:13 | Address | &:r1801_1 | -| ir.cpp:1801:13:1801:13 | Left | r1801_2 | -| ir.cpp:1801:13:1801:13 | Load | m1796_7 | -| ir.cpp:1801:13:1801:17 | StoreValue | r1801_5 | -| ir.cpp:1801:17:1801:17 | Address | &:r1801_3 | -| ir.cpp:1801:17:1801:17 | Load | m1799_4 | -| ir.cpp:1801:17:1801:17 | Right | r1801_4 | -| ir.cpp:1804:13:1804:33 | Address | &:r1804_5 | -| ir.cpp:1804:13:1804:33 | Condition | r1804_11 | -| ir.cpp:1804:17:1804:17 | Address | &:r1804_1 | -| ir.cpp:1804:21:1804:21 | Address | &:r1804_2 | -| ir.cpp:1804:21:1804:21 | Load | m1801_7 | -| ir.cpp:1804:21:1804:21 | StoreValue | r1804_3 | -| ir.cpp:1804:28:1804:29 | Address | &:r1804_9 | -| ir.cpp:1804:28:1804:29 | Load | m1804_8 | -| ir.cpp:1804:28:1804:29 | Unary | r1804_10 | -| ir.cpp:1804:33:1804:33 | Address | &:r1804_6 | -| ir.cpp:1804:33:1804:33 | Load | m1804_4 | -| ir.cpp:1804:33:1804:33 | StoreValue | r1804_7 | -| ir.cpp:1806:9:1806:9 | Address | &:r1806_6 | -| ir.cpp:1806:13:1806:13 | Address | &:r1806_1 | -| ir.cpp:1806:13:1806:13 | Left | r1806_2 | -| ir.cpp:1806:13:1806:13 | Load | m1801_7 | -| ir.cpp:1806:13:1806:17 | StoreValue | r1806_5 | -| ir.cpp:1806:17:1806:17 | Address | &:r1806_3 | -| ir.cpp:1806:17:1806:17 | Load | m1804_4 | -| ir.cpp:1806:17:1806:17 | Right | r1806_4 | -| ir.cpp:1809:9:1809:9 | Address | &:r1809_1 | -| ir.cpp:1809:13:1809:13 | Address | &:r1809_2 | -| ir.cpp:1809:13:1809:13 | Load | m1806_7 | -| ir.cpp:1809:13:1809:13 | StoreValue | r1809_3 | -| ir.cpp:1810:13:1810:13 | Address | &:r1810_1 | -| ir.cpp:1810:13:1810:13 | Condition | r1810_2 | -| ir.cpp:1810:13:1810:13 | Load | m1809_4 | -| ir.cpp:1812:9:1812:9 | Address | &:r1812_6 | +| ir.cpp:1194:9:1194:9 | Condition | r1194_2 | +| ir.cpp:1194:9:1194:9 | Load | m1191_6 | +| ir.cpp:1195:7:1195:28 | Address | &:r1195_1 | +| ir.cpp:1195:7:1195:28 | Address | &:r1195_1 | +| ir.cpp:1195:7:1195:28 | Load | m1195_4 | +| ir.cpp:1195:13:1195:28 | StoreValue | r1195_3 | +| ir.cpp:1195:13:1195:28 | Unary | r1195_2 | +| ir.cpp:1197:14:1197:14 | Address | &:r1197_1 | +| ir.cpp:1197:14:1197:14 | Left | r1197_2 | +| ir.cpp:1197:14:1197:14 | Load | m1193_3 | +| ir.cpp:1197:14:1197:18 | Condition | r1197_4 | +| ir.cpp:1197:18:1197:18 | Right | r1197_3 | +| ir.cpp:1200:5:1200:5 | Address | &:r1200_2 | +| ir.cpp:1200:9:1200:9 | StoreValue | r1200_1 | +| ir.cpp:1202:22:1202:22 | Address | &:r1202_2 | +| ir.cpp:1202:22:1202:22 | Address | &:r1202_2 | +| ir.cpp:1202:22:1202:22 | Address | &:r1202_4 | +| ir.cpp:1202:22:1202:22 | Load | m1202_3 | +| ir.cpp:1203:5:1203:19 | Address | &:r1203_1 | +| ir.cpp:1203:5:1203:19 | Address | &:r1203_1 | +| ir.cpp:1203:5:1203:19 | Address | &:r1203_1 | +| ir.cpp:1203:5:1203:19 | Arg(this) | this:r1203_1 | +| ir.cpp:1203:5:1203:19 | CallTarget | func:r1203_3 | +| ir.cpp:1203:5:1203:19 | ChiPartial | partial:m1203_7 | +| ir.cpp:1203:5:1203:19 | ChiPartial | partial:m1203_10 | +| ir.cpp:1203:5:1203:19 | ChiTotal | total:m1191_4 | +| ir.cpp:1203:5:1203:19 | ChiTotal | total:m1203_2 | +| ir.cpp:1203:5:1203:19 | Load | m1203_11 | +| ir.cpp:1203:5:1203:19 | SideEffect | ~m1191_4 | +| ir.cpp:1203:18:1203:18 | Address | &:r1203_4 | +| ir.cpp:1203:18:1203:18 | Address | &:r1203_5 | +| ir.cpp:1203:18:1203:18 | Arg(0) | 0:r1203_5 | +| ir.cpp:1203:18:1203:18 | Load | m1202_3 | +| ir.cpp:1203:18:1203:18 | SideEffect | ~m1202_5 | +| ir.cpp:1205:24:1205:24 | Address | &:r1205_2 | +| ir.cpp:1205:24:1205:24 | Address | &:r1205_2 | +| ir.cpp:1205:24:1205:24 | Address | &:r1205_4 | +| ir.cpp:1205:24:1205:24 | Load | m1205_3 | +| ir.cpp:1211:6:1211:16 | ChiPartial | partial:m1211_3 | +| ir.cpp:1211:6:1211:16 | ChiTotal | total:m1211_2 | +| ir.cpp:1211:6:1211:16 | SideEffect | m1211_3 | +| ir.cpp:1211:22:1211:22 | Address | &:r1211_5 | +| ir.cpp:1212:18:1212:20 | Address | &:r1212_1 | +| ir.cpp:1212:18:1212:20 | Left | r1212_1 | +| ir.cpp:1212:18:1212:20 | Left | r1212_1 | +| ir.cpp:1212:18:1212:20 | Left | r1212_1 | +| ir.cpp:1212:18:1212:20 | Left | r1212_1 | +| ir.cpp:1212:23:1212:37 | Address | &:r1212_4 | +| ir.cpp:1212:23:1212:37 | Address | &:r1212_9 | +| ir.cpp:1212:23:1212:37 | Address | &:r1212_14 | +| ir.cpp:1212:23:1212:37 | Address | &:r1212_19 | +| ir.cpp:1212:23:1212:37 | Right | r1212_3 | +| ir.cpp:1212:23:1212:37 | Right | r1212_8 | +| ir.cpp:1212:23:1212:37 | Right | r1212_13 | +| ir.cpp:1212:23:1212:37 | Right | r1212_18 | +| ir.cpp:1212:26:1212:26 | ChiPartial | partial:m1212_6 | +| ir.cpp:1212:26:1212:26 | ChiTotal | total:m1212_2 | +| ir.cpp:1212:26:1212:26 | StoreValue | r1212_5 | +| ir.cpp:1212:29:1212:29 | ChiPartial | partial:m1212_11 | +| ir.cpp:1212:29:1212:29 | ChiTotal | total:m1212_7 | +| ir.cpp:1212:29:1212:29 | StoreValue | r1212_10 | +| ir.cpp:1212:32:1212:32 | ChiPartial | partial:m1212_16 | +| ir.cpp:1212:32:1212:32 | ChiTotal | total:m1212_12 | +| ir.cpp:1212:32:1212:32 | StoreValue | r1212_15 | +| ir.cpp:1212:35:1212:35 | ChiPartial | partial:m1212_21 | +| ir.cpp:1212:35:1212:35 | ChiTotal | total:m1212_17 | +| ir.cpp:1212:35:1212:35 | StoreValue | r1212_20 | +| ir.cpp:1213:7:1213:7 | Address | &:r1213_1 | +| ir.cpp:1213:11:1213:13 | Left | r1213_2 | +| ir.cpp:1213:11:1213:16 | Address | &:r1213_5 | +| ir.cpp:1213:11:1213:16 | Load | ~m1212_22 | +| ir.cpp:1213:11:1213:16 | StoreValue | r1213_6 | +| ir.cpp:1213:15:1213:15 | Address | &:r1213_3 | +| ir.cpp:1213:15:1213:15 | Load | m1211_6 | +| ir.cpp:1213:15:1213:15 | Right | r1213_4 | +| ir.cpp:1214:3:1214:5 | Left | r1214_3 | +| ir.cpp:1214:3:1214:8 | Address | &:r1214_6 | +| ir.cpp:1214:3:1214:12 | ChiPartial | partial:m1214_7 | +| ir.cpp:1214:3:1214:12 | ChiTotal | total:m1212_22 | +| ir.cpp:1214:7:1214:7 | Address | &:r1214_4 | +| ir.cpp:1214:7:1214:7 | Load | m1211_6 | +| ir.cpp:1214:7:1214:7 | Right | r1214_5 | +| ir.cpp:1214:12:1214:12 | Address | &:r1214_1 | +| ir.cpp:1214:12:1214:12 | Load | m1213_7 | +| ir.cpp:1214:12:1214:12 | StoreValue | r1214_2 | +| ir.cpp:1215:18:1215:28 | Address | &:r1215_1 | +| ir.cpp:1215:32:1215:78 | Arg(2) | 2:r1215_6 | +| ir.cpp:1215:32:1215:78 | StoreValue | r1215_10 | +| ir.cpp:1215:56:1215:58 | Address | &:r1215_2 | +| ir.cpp:1215:56:1215:58 | Arg(0) | 0:r1215_3 | +| ir.cpp:1215:56:1215:58 | Load | m1214_8 | +| ir.cpp:1215:61:1215:63 | Address | &:r1215_4 | +| ir.cpp:1215:61:1215:63 | Arg(1) | 1:r1215_5 | +| ir.cpp:1215:61:1215:63 | Load | m1214_8 | +| ir.cpp:1215:71:1215:71 | Arg(3) | 3:r1215_7 | +| ir.cpp:1215:74:1215:74 | Arg(4) | 4:r1215_8 | +| ir.cpp:1215:77:1215:77 | Arg(5) | 5:r1215_9 | +| ir.cpp:1216:3:1216:5 | Address | &:r1216_6 | +| ir.cpp:1216:9:1216:11 | Address | &:r1216_1 | +| ir.cpp:1216:9:1216:11 | Left | r1216_2 | +| ir.cpp:1216:9:1216:11 | Load | m1214_8 | +| ir.cpp:1216:9:1216:25 | StoreValue | r1216_5 | +| ir.cpp:1216:15:1216:25 | Address | &:r1216_3 | +| ir.cpp:1216:15:1216:25 | Load | m1215_11 | +| ir.cpp:1216:15:1216:25 | Right | r1216_4 | +| ir.cpp:1221:5:1221:21 | Address | &:r1221_7 | +| ir.cpp:1221:5:1221:21 | ChiPartial | partial:m1221_3 | +| ir.cpp:1221:5:1221:21 | ChiTotal | total:m1221_2 | +| ir.cpp:1221:5:1221:21 | Load | m1224_4 | +| ir.cpp:1221:5:1221:21 | SideEffect | m1221_3 | +| ir.cpp:1221:27:1221:27 | Address | &:r1221_5 | +| ir.cpp:1222:7:1222:7 | Address | &:r1222_1 | +| ir.cpp:1223:3:1223:8 | CallTarget | func:r1223_1 | +| ir.cpp:1223:10:1223:11 | Address | &:r1223_4 | +| ir.cpp:1223:10:1223:11 | Arg(0) | 0:r1223_4 | +| ir.cpp:1223:10:1223:11 | ChiPartial | partial:m1223_11 | +| ir.cpp:1223:10:1223:11 | ChiTotal | total:m1222_2 | +| ir.cpp:1223:10:1223:11 | Unary | r1223_3 | +| ir.cpp:1223:11:1223:11 | Unary | r1223_2 | +| ir.cpp:1223:14:1223:15 | Address | &:r1223_7 | +| ir.cpp:1223:14:1223:15 | Arg(1) | 1:r1223_7 | +| ir.cpp:1223:14:1223:15 | SideEffect | ~m1221_6 | +| ir.cpp:1223:14:1223:15 | Unary | r1223_6 | +| ir.cpp:1223:15:1223:15 | Unary | r1223_5 | +| ir.cpp:1223:18:1223:28 | Arg(2) | 2:r1223_8 | +| ir.cpp:1223:18:1223:28 | BufferSize | r1223_8 | +| ir.cpp:1223:18:1223:28 | BufferSize | r1223_8 | +| ir.cpp:1224:3:1224:11 | Address | &:r1224_1 | +| ir.cpp:1224:10:1224:10 | Address | &:r1224_2 | +| ir.cpp:1224:10:1224:10 | Load | m1223_12 | +| ir.cpp:1224:10:1224:10 | StoreValue | r1224_3 | +| ir.cpp:1227:8:1227:23 | Address | &:r1227_5 | +| ir.cpp:1227:8:1227:23 | ChiPartial | partial:m1227_3 | +| ir.cpp:1227:8:1227:23 | ChiTotal | total:m1227_2 | +| ir.cpp:1227:8:1227:23 | Load | m1228_11 | +| ir.cpp:1227:8:1227:23 | SideEffect | ~m1228_8 | +| ir.cpp:1228:3:1228:23 | Address | &:r1228_1 | +| ir.cpp:1228:3:1228:23 | Address | &:r1228_1 | +| ir.cpp:1228:3:1228:23 | Arg(this) | this:r1228_1 | +| ir.cpp:1228:3:1228:23 | CallTarget | func:r1228_3 | +| ir.cpp:1228:3:1228:23 | ChiPartial | partial:m1228_7 | +| ir.cpp:1228:3:1228:23 | ChiPartial | partial:m1228_10 | +| ir.cpp:1228:3:1228:23 | ChiTotal | total:m1227_4 | +| ir.cpp:1228:3:1228:23 | ChiTotal | total:m1228_2 | +| ir.cpp:1228:3:1228:23 | SideEffect | ~m1227_4 | +| ir.cpp:1228:17:1228:21 | Address | &:r1228_5 | +| ir.cpp:1228:17:1228:21 | Arg(0) | 0:r1228_5 | +| ir.cpp:1228:17:1228:21 | SideEffect | ~m1227_3 | +| ir.cpp:1228:17:1228:21 | Unary | r1228_4 | +| ir.cpp:1231:6:1231:16 | ChiPartial | partial:m1231_3 | +| ir.cpp:1231:6:1231:16 | ChiTotal | total:m1231_2 | +| ir.cpp:1231:6:1231:16 | SideEffect | m1231_3 | +| ir.cpp:1231:22:1231:22 | Address | &:r1231_5 | +| ir.cpp:1232:9:1232:9 | Address | &:r1232_1 | +| ir.cpp:1232:12:1232:13 | StoreValue | r1232_2 | +| ir.cpp:1233:12:1233:12 | Address | &:r1233_1 | +| ir.cpp:1233:12:1233:12 | Condition | r1233_2 | +| ir.cpp:1233:12:1233:12 | Load | m1231_6 | +| ir.cpp:1235:9:1235:9 | Address | &:r1235_2 | +| ir.cpp:1235:13:1235:13 | StoreValue | r1235_1 | +| ir.cpp:1237:9:1237:9 | Address | &:r1237_2 | +| ir.cpp:1237:9:1237:9 | Phi | from 0:m1232_3 | +| ir.cpp:1237:9:1237:9 | Phi | from 1:m1235_3 | +| ir.cpp:1237:13:1237:13 | Address | &:r1237_3 | +| ir.cpp:1237:13:1237:13 | Load | m1237_1 | +| ir.cpp:1237:13:1237:13 | StoreValue | r1237_4 | +| ir.cpp:1240:6:1240:28 | ChiPartial | partial:m1240_3 | +| ir.cpp:1240:6:1240:28 | ChiTotal | total:m1240_2 | +| ir.cpp:1240:6:1240:28 | SideEffect | m1240_3 | +| ir.cpp:1240:34:1240:34 | Address | &:r1240_5 | +| ir.cpp:1241:9:1241:9 | Address | &:r1241_1 | +| ir.cpp:1241:12:1241:13 | StoreValue | r1241_2 | +| ir.cpp:1242:12:1242:12 | Address | &:r1242_1 | +| ir.cpp:1242:12:1242:12 | Condition | r1242_2 | +| ir.cpp:1242:12:1242:12 | Load | m1240_6 | +| ir.cpp:1244:9:1244:9 | Address | &:r1244_2 | +| ir.cpp:1244:13:1244:13 | StoreValue | r1244_1 | +| ir.cpp:1246:9:1246:9 | Address | &:r1246_2 | +| ir.cpp:1246:13:1246:13 | StoreValue | r1246_1 | +| ir.cpp:1248:9:1248:9 | Address | &:r1248_2 | +| ir.cpp:1248:9:1248:9 | Phi | from 0:m1241_3 | +| ir.cpp:1248:9:1248:9 | Phi | from 2:m1246_3 | +| ir.cpp:1248:13:1248:13 | Address | &:r1248_3 | +| ir.cpp:1248:13:1248:13 | Load | m1248_1 | +| ir.cpp:1248:13:1248:13 | StoreValue | r1248_4 | +| ir.cpp:1251:6:1251:16 | ChiPartial | partial:m1251_3 | +| ir.cpp:1251:6:1251:16 | ChiTotal | total:m1251_2 | +| ir.cpp:1251:6:1251:16 | SideEffect | m1251_3 | +| ir.cpp:1251:22:1251:22 | Address | &:r1251_5 | +| ir.cpp:1252:9:1252:9 | Address | &:r1252_1 | +| ir.cpp:1252:12:1252:13 | StoreValue | r1252_2 | +| ir.cpp:1253:12:1253:12 | Address | &:r1253_1 | +| ir.cpp:1253:12:1253:12 | Condition | r1253_2 | +| ir.cpp:1253:12:1253:12 | Load | m1251_6 | +| ir.cpp:1255:9:1255:9 | Address | &:r1255_2 | +| ir.cpp:1255:13:1255:13 | StoreValue | r1255_1 | +| ir.cpp:1258:9:1258:9 | Address | &:r1258_2 | +| ir.cpp:1258:13:1258:13 | StoreValue | r1258_1 | +| ir.cpp:1259:5:1259:5 | Phi | from 0:m1252_3 | +| ir.cpp:1259:5:1259:5 | Phi | from 1:m1255_3 | +| ir.cpp:1259:5:1259:5 | Phi | from 2:m1258_3 | +| ir.cpp:1260:9:1260:9 | Address | &:r1260_1 | +| ir.cpp:1260:13:1260:13 | Address | &:r1260_2 | +| ir.cpp:1260:13:1260:13 | Load | m1259_1 | +| ir.cpp:1260:13:1260:13 | StoreValue | r1260_3 | +| ir.cpp:1263:6:1263:24 | ChiPartial | partial:m1263_3 | +| ir.cpp:1263:6:1263:24 | ChiTotal | total:m1263_2 | +| ir.cpp:1263:6:1263:24 | SideEffect | m1263_3 | +| ir.cpp:1263:30:1263:30 | Address | &:r1263_5 | +| ir.cpp:1264:9:1264:9 | Address | &:r1264_1 | +| ir.cpp:1264:12:1264:13 | StoreValue | r1264_2 | +| ir.cpp:1265:12:1265:12 | Address | &:r1265_1 | +| ir.cpp:1265:12:1265:12 | Condition | r1265_2 | +| ir.cpp:1265:12:1265:12 | Load | m1263_6 | +| ir.cpp:1267:13:1267:13 | Address | &:r1267_2 | +| ir.cpp:1267:17:1267:17 | StoreValue | r1267_1 | +| ir.cpp:1271:13:1271:13 | Address | &:r1271_2 | +| ir.cpp:1271:17:1271:17 | StoreValue | r1271_1 | +| ir.cpp:1275:13:1275:13 | Address | &:r1275_2 | +| ir.cpp:1275:17:1275:17 | StoreValue | r1275_1 | +| ir.cpp:1276:5:1276:5 | Phi | from 1:m1267_3 | +| ir.cpp:1276:5:1276:5 | Phi | from 2:m1271_3 | +| ir.cpp:1276:5:1276:5 | Phi | from 3:m1275_3 | +| ir.cpp:1277:9:1277:9 | Address | &:r1277_1 | +| ir.cpp:1277:13:1277:13 | Address | &:r1277_2 | +| ir.cpp:1277:13:1277:13 | Load | m1276_1 | +| ir.cpp:1277:13:1277:13 | StoreValue | r1277_3 | +| ir.cpp:1280:5:1280:19 | Address | &:r1280_7 | +| ir.cpp:1280:5:1280:19 | ChiPartial | partial:m1280_3 | +| ir.cpp:1280:5:1280:19 | ChiTotal | total:m1280_2 | +| ir.cpp:1280:5:1280:19 | Load | m1286_15 | +| ir.cpp:1280:5:1280:19 | SideEffect | ~m1286_2 | +| ir.cpp:1280:25:1280:25 | Address | &:r1280_5 | +| ir.cpp:1281:16:1281:16 | Address | &:r1281_3 | +| ir.cpp:1281:16:1281:16 | SideEffect | ~m1281_6 | +| ir.cpp:1281:20:1281:20 | ChiPartial | partial:m1281_5 | +| ir.cpp:1281:20:1281:20 | ChiTotal | total:m1281_2 | +| ir.cpp:1281:20:1281:20 | StoreValue | r1281_4 | +| ir.cpp:1282:16:1282:16 | Address | &:r1282_3 | +| ir.cpp:1282:16:1282:16 | SideEffect | ~m1282_6 | +| ir.cpp:1282:20:1282:28 | ChiPartial | partial:m1282_5 | +| ir.cpp:1282:20:1282:28 | ChiTotal | total:m1282_2 | +| ir.cpp:1282:20:1282:28 | StoreValue | r1282_4 | +| ir.cpp:1283:16:1283:16 | Address | &:r1283_1 | +| ir.cpp:1283:16:1283:16 | Address | &:r1283_1 | +| ir.cpp:1283:16:1283:16 | Address | &:r1283_4 | +| ir.cpp:1283:16:1283:16 | ChiPartial | partial:m1283_10 | +| ir.cpp:1283:16:1283:16 | ChiTotal | total:m1283_8 | +| ir.cpp:1283:16:1283:16 | Condition | r1283_2 | +| ir.cpp:1283:16:1283:16 | Load | ~m1280_3 | +| ir.cpp:1283:16:1283:16 | StoreValue | r1283_9 | +| ir.cpp:1283:20:1283:20 | Address | &:r1283_5 | +| ir.cpp:1283:20:1283:20 | ChiPartial | partial:m1283_7 | +| ir.cpp:1283:20:1283:20 | ChiTotal | total:m1280_4 | +| ir.cpp:1283:20:1283:20 | Load | m1280_6 | +| ir.cpp:1283:20:1283:20 | StoreValue | r1283_6 | +| ir.cpp:1286:5:1286:25 | Address | &:r1286_3 | +| ir.cpp:1286:5:1286:25 | Phi | from 0:~m1280_3 | +| ir.cpp:1286:5:1286:25 | Phi | from 0:~m1280_4 | +| ir.cpp:1286:5:1286:25 | Phi | from 1:m1283_7 | +| ir.cpp:1286:5:1286:25 | Phi | from 1:~m1283_11 | +| ir.cpp:1286:12:1286:12 | Address | &:r1286_4 | +| ir.cpp:1286:12:1286:12 | Left | r1286_5 | +| ir.cpp:1286:12:1286:12 | Load | ~m1286_2 | +| ir.cpp:1286:12:1286:16 | Left | r1286_8 | +| ir.cpp:1286:12:1286:20 | Left | r1286_11 | +| ir.cpp:1286:12:1286:24 | StoreValue | r1286_14 | +| ir.cpp:1286:16:1286:16 | Address | &:r1286_6 | +| ir.cpp:1286:16:1286:16 | Load | ~m1286_2 | +| ir.cpp:1286:16:1286:16 | Right | r1286_7 | +| ir.cpp:1286:20:1286:20 | Address | &:r1286_9 | +| ir.cpp:1286:20:1286:20 | Load | m1286_1 | +| ir.cpp:1286:20:1286:20 | Right | r1286_10 | +| ir.cpp:1286:24:1286:24 | Address | &:r1286_12 | +| ir.cpp:1286:24:1286:24 | Load | ~m1286_2 | +| ir.cpp:1286:24:1286:24 | Right | r1286_13 | +| ir.cpp:1289:6:1289:31 | ChiPartial | partial:m1289_3 | +| ir.cpp:1289:6:1289:31 | ChiTotal | total:m1289_2 | +| ir.cpp:1289:6:1289:31 | SideEffect | ~m1293_1 | +| ir.cpp:1289:45:1289:51 | Address | &:r1289_5 | +| ir.cpp:1289:45:1289:51 | Address | &:r1289_5 | +| ir.cpp:1289:45:1289:51 | Address | &:r1289_7 | +| ir.cpp:1289:45:1289:51 | Address | &:r1289_7 | +| ir.cpp:1289:45:1289:51 | Load | m1289_6 | +| ir.cpp:1289:45:1289:51 | SideEffect | m1289_8 | +| ir.cpp:1290:19:1290:19 | Address | &:r1290_1 | +| ir.cpp:1290:19:1290:19 | Address | &:r1290_1 | +| ir.cpp:1290:19:1290:19 | Address | &:r1290_4 | +| ir.cpp:1290:19:1290:19 | Arg(this) | this:r1290_4 | +| ir.cpp:1290:19:1290:19 | ChiPartial | partial:m1290_6 | +| ir.cpp:1290:19:1290:19 | ChiTotal | total:m0_6 | +| ir.cpp:1290:19:1290:19 | Condition | r1290_2 | +| ir.cpp:1290:19:1290:19 | Load | ~m1289_3 | +| ir.cpp:1290:19:1290:19 | StoreValue | r1290_5 | +| ir.cpp:1291:19:1291:19 | Address | &:r1291_2 | +| ir.cpp:1291:19:1291:19 | Address | &:r1291_2 | +| ir.cpp:1291:19:1291:19 | Address | &:r1291_5 | +| ir.cpp:1291:19:1291:19 | Arg(this) | this:r1291_5 | +| ir.cpp:1291:19:1291:19 | ChiPartial | partial:m1291_16 | +| ir.cpp:1291:19:1291:19 | ChiTotal | total:m1291_14 | +| ir.cpp:1291:19:1291:19 | Condition | r1291_3 | +| ir.cpp:1291:19:1291:19 | Load | ~m1291_1 | +| ir.cpp:1291:19:1291:19 | Phi | from 0:~m1289_4 | +| ir.cpp:1291:19:1291:19 | Phi | from 1:~m1290_7 | +| ir.cpp:1291:19:1291:19 | StoreValue | r1291_15 | +| ir.cpp:1291:20:1291:29 | CallTarget | func:r1291_6 | +| ir.cpp:1291:20:1291:29 | ChiPartial | partial:m1291_10 | +| ir.cpp:1291:20:1291:29 | ChiPartial | partial:m1291_13 | +| ir.cpp:1291:20:1291:29 | ChiTotal | total:m1291_1 | +| ir.cpp:1291:20:1291:29 | ChiTotal | total:m1291_11 | +| ir.cpp:1291:20:1291:29 | SideEffect | ~m1291_1 | +| ir.cpp:1291:21:1291:28 | Address | &:r1291_8 | +| ir.cpp:1291:21:1291:28 | Arg(0) | 0:r1291_8 | +| ir.cpp:1291:21:1291:28 | SideEffect | ~m1289_3 | +| ir.cpp:1291:21:1291:28 | Unary | r1291_7 | +| ir.cpp:1292:19:1292:19 | Address | &:r1292_2 | +| ir.cpp:1292:19:1292:19 | Address | &:r1292_2 | +| ir.cpp:1292:19:1292:19 | Address | &:r1292_5 | +| ir.cpp:1292:19:1292:19 | Arg(this) | this:r1292_5 | +| ir.cpp:1292:19:1292:19 | ChiPartial | partial:m1292_16 | +| ir.cpp:1292:19:1292:19 | ChiTotal | total:m1292_14 | +| ir.cpp:1292:19:1292:19 | Condition | r1292_3 | +| ir.cpp:1292:19:1292:19 | Load | ~m1292_1 | +| ir.cpp:1292:19:1292:19 | Phi | from 2:~m1291_1 | +| ir.cpp:1292:19:1292:19 | Phi | from 3:~m1291_17 | +| ir.cpp:1292:19:1292:19 | StoreValue | r1292_15 | +| ir.cpp:1292:20:1292:28 | CallTarget | func:r1292_6 | +| ir.cpp:1292:20:1292:28 | ChiPartial | partial:m1292_10 | +| ir.cpp:1292:20:1292:28 | ChiPartial | partial:m1292_13 | +| ir.cpp:1292:20:1292:28 | ChiTotal | total:m1292_1 | +| ir.cpp:1292:20:1292:28 | ChiTotal | total:m1292_11 | +| ir.cpp:1292:20:1292:28 | SideEffect | ~m1292_1 | +| ir.cpp:1292:21:1292:27 | Address | &:r1292_7 | +| ir.cpp:1292:21:1292:27 | Address | &:r1292_8 | +| ir.cpp:1292:21:1292:27 | Arg(0) | 0:r1292_8 | +| ir.cpp:1292:21:1292:27 | Load | m1289_6 | +| ir.cpp:1292:21:1292:27 | SideEffect | ~m1289_8 | +| ir.cpp:1293:1:1293:1 | Phi | from 4:~m1292_1 | +| ir.cpp:1293:1:1293:1 | Phi | from 5:~m1292_17 | +| ir.cpp:1300:6:1300:17 | ChiPartial | partial:m1300_3 | +| ir.cpp:1300:6:1300:17 | ChiTotal | total:m1300_2 | +| ir.cpp:1300:6:1300:17 | SideEffect | m1300_3 | +| ir.cpp:1300:25:1300:26 | Address | &:r1300_5 | +| ir.cpp:1300:25:1300:26 | Address | &:r1300_5 | +| ir.cpp:1300:25:1300:26 | Address | &:r1300_7 | +| ir.cpp:1300:25:1300:26 | Address | &:r1300_7 | +| ir.cpp:1300:25:1300:26 | Load | m1300_6 | +| ir.cpp:1300:25:1300:26 | SideEffect | m1300_8 | +| ir.cpp:1300:35:1300:36 | Address | &:r1300_9 | +| ir.cpp:1300:35:1300:36 | Address | &:r1300_9 | +| ir.cpp:1300:35:1300:36 | Address | &:r1300_11 | +| ir.cpp:1300:35:1300:36 | Address | &:r1300_11 | +| ir.cpp:1300:35:1300:36 | Load | m1300_10 | +| ir.cpp:1300:35:1300:36 | SideEffect | m1300_12 | +| ir.cpp:1301:10:1301:15 | Address | &:r1301_1 | +| ir.cpp:1301:10:1301:15 | Left | r1301_1 | +| ir.cpp:1301:10:1301:15 | Left | r1301_1 | +| ir.cpp:1301:24:1301:27 | Address | &:r1301_4 | +| ir.cpp:1301:24:1301:27 | Address | &:r1301_9 | +| ir.cpp:1301:24:1301:27 | ChiPartial | partial:m1301_11 | +| ir.cpp:1301:24:1301:27 | ChiTotal | total:m1301_7 | +| ir.cpp:1301:24:1301:27 | Right | r1301_3 | +| ir.cpp:1301:24:1301:27 | Right | r1301_8 | +| ir.cpp:1301:24:1301:27 | StoreValue | r1301_10 | +| ir.cpp:1301:26:1301:26 | ChiPartial | partial:m1301_6 | +| ir.cpp:1301:26:1301:26 | ChiTotal | total:m1301_2 | +| ir.cpp:1301:26:1301:26 | StoreValue | r1301_5 | +| ir.cpp:1303:5:1303:10 | CallTarget | func:r1303_1 | +| ir.cpp:1303:12:1303:17 | Address | &:r1303_3 | +| ir.cpp:1303:12:1303:17 | Arg(0) | 0:r1303_3 | +| ir.cpp:1303:12:1303:17 | ChiPartial | partial:m1303_9 | +| ir.cpp:1303:12:1303:17 | ChiTotal | total:m1301_12 | +| ir.cpp:1303:12:1303:17 | Unary | r1303_2 | +| ir.cpp:1303:20:1303:21 | Address | &:r1303_4 | +| ir.cpp:1303:20:1303:21 | Address | &:r1303_6 | +| ir.cpp:1303:20:1303:21 | Arg(1) | 1:r1303_6 | +| ir.cpp:1303:20:1303:21 | Load | m1300_6 | +| ir.cpp:1303:20:1303:21 | SideEffect | ~m1300_8 | +| ir.cpp:1303:20:1303:21 | Unary | r1303_5 | +| ir.cpp:1304:5:1304:10 | CallTarget | func:r1304_1 | +| ir.cpp:1304:12:1304:17 | Address | &:r1304_3 | +| ir.cpp:1304:12:1304:17 | Address | &:r1304_3 | +| ir.cpp:1304:12:1304:17 | Arg(0) | 0:r1304_3 | +| ir.cpp:1304:12:1304:17 | ChiPartial | partial:m1304_10 | +| ir.cpp:1304:12:1304:17 | ChiTotal | total:m1303_10 | +| ir.cpp:1304:12:1304:17 | SideEffect | ~m1303_10 | +| ir.cpp:1304:12:1304:17 | Unary | r1304_2 | +| ir.cpp:1304:20:1304:21 | Address | &:r1304_4 | +| ir.cpp:1304:20:1304:21 | Address | &:r1304_6 | +| ir.cpp:1304:20:1304:21 | Arg(1) | 1:r1304_6 | +| ir.cpp:1304:20:1304:21 | Load | m1300_10 | +| ir.cpp:1304:20:1304:21 | SideEffect | ~m1300_12 | +| ir.cpp:1304:20:1304:21 | Unary | r1304_5 | +| ir.cpp:1310:17:1310:29 | ChiPartial | partial:m1310_3 | +| ir.cpp:1310:17:1310:29 | ChiTotal | total:m1310_2 | +| ir.cpp:1310:17:1310:29 | SideEffect | m1310_3 | +| ir.cpp:1310:34:1310:34 | Address | &:r1310_5 | +| ir.cpp:1310:34:1310:34 | Address | &:r1310_5 | +| ir.cpp:1310:34:1310:34 | Address | &:r1310_7 | +| ir.cpp:1310:34:1310:34 | Address | &:r1310_7 | +| ir.cpp:1310:34:1310:34 | Load | m1310_6 | +| ir.cpp:1310:34:1310:34 | SideEffect | m1311_7 | +| ir.cpp:1310:41:1310:41 | Address | &:r1310_9 | +| ir.cpp:1311:9:1311:9 | Address | &:r1311_3 | +| ir.cpp:1311:9:1311:9 | Load | m1310_6 | +| ir.cpp:1311:9:1311:9 | Unary | r1311_4 | +| ir.cpp:1311:9:1311:21 | ChiPartial | partial:m1311_6 | +| ir.cpp:1311:9:1311:21 | ChiTotal | total:m1310_8 | +| ir.cpp:1311:12:1311:17 | Address | &:r1311_5 | +| ir.cpp:1311:21:1311:21 | Address | &:r1311_1 | +| ir.cpp:1311:21:1311:21 | Load | m1310_10 | +| ir.cpp:1311:21:1311:21 | StoreValue | r1311_2 | +| ir.cpp:1319:6:1319:33 | ChiPartial | partial:m1319_3 | +| ir.cpp:1319:6:1319:33 | ChiTotal | total:m1319_2 | +| ir.cpp:1319:6:1319:33 | SideEffect | ~m1336_6 | +| ir.cpp:1319:39:1319:45 | Address | &:r1319_5 | +| ir.cpp:1319:51:1319:55 | Address | &:r1319_7 | +| ir.cpp:1319:51:1319:55 | Address | &:r1319_7 | +| ir.cpp:1319:51:1319:55 | Address | &:r1319_9 | +| ir.cpp:1319:51:1319:55 | Address | &:r1319_9 | +| ir.cpp:1319:51:1319:55 | Load | m1319_8 | +| ir.cpp:1319:51:1319:55 | SideEffect | m1330_12 | +| ir.cpp:1320:7:1320:7 | Address | &:r1320_1 | +| ir.cpp:1320:7:1320:7 | Address | &:r1320_1 | +| ir.cpp:1320:7:1320:7 | Arg(this) | this:r1320_1 | +| ir.cpp:1320:7:1320:7 | CallTarget | func:r1320_3 | +| ir.cpp:1320:7:1320:7 | ChiPartial | partial:m1320_5 | +| ir.cpp:1320:7:1320:7 | ChiPartial | partial:m1320_7 | +| ir.cpp:1320:7:1320:7 | ChiTotal | total:m1319_4 | +| ir.cpp:1320:7:1320:7 | ChiTotal | total:m1320_2 | +| ir.cpp:1320:7:1320:7 | SideEffect | ~m1319_4 | +| ir.cpp:1321:7:1321:26 | CallTarget | func:r1321_2 | +| ir.cpp:1321:7:1321:26 | ChiPartial | partial:m1321_5 | +| ir.cpp:1321:7:1321:26 | ChiTotal | total:m1320_6 | +| ir.cpp:1321:7:1321:26 | SideEffect | ~m1320_6 | +| ir.cpp:1321:28:1321:29 | Arg(0) | 0:r1321_3 | +| ir.cpp:1322:5:1322:27 | CallTarget | func:r1322_1 | +| ir.cpp:1322:5:1322:27 | ChiPartial | partial:m1322_4 | +| ir.cpp:1322:5:1322:27 | ChiTotal | total:m1321_6 | +| ir.cpp:1322:5:1322:27 | SideEffect | ~m1321_6 | +| ir.cpp:1322:29:1322:30 | Arg(0) | 0:r1322_2 | +| ir.cpp:1324:7:1324:7 | Address | &:r1324_1 | +| ir.cpp:1325:7:1325:19 | CallTarget | func:r1325_2 | +| ir.cpp:1325:7:1325:19 | ChiPartial | partial:m1325_8 | +| ir.cpp:1325:7:1325:19 | ChiTotal | total:m1322_5 | +| ir.cpp:1325:7:1325:19 | SideEffect | ~m1322_5 | +| ir.cpp:1325:21:1325:22 | Address | &:r1325_4 | +| ir.cpp:1325:21:1325:22 | Address | &:r1325_4 | +| ir.cpp:1325:21:1325:22 | Arg(0) | 0:r1325_4 | +| ir.cpp:1325:21:1325:22 | ChiPartial | partial:m1325_11 | +| ir.cpp:1325:21:1325:22 | ChiTotal | total:m1324_2 | +| ir.cpp:1325:21:1325:22 | SideEffect | ~m1324_2 | +| ir.cpp:1325:22:1325:22 | Unary | r1325_3 | +| ir.cpp:1325:25:1325:31 | Address | &:r1325_5 | +| ir.cpp:1325:25:1325:31 | Arg(1) | 1:r1325_6 | +| ir.cpp:1325:25:1325:31 | Load | m1319_6 | +| ir.cpp:1326:5:1326:20 | CallTarget | func:r1326_1 | +| ir.cpp:1326:5:1326:20 | ChiPartial | partial:m1326_7 | +| ir.cpp:1326:5:1326:20 | ChiTotal | total:m1325_9 | +| ir.cpp:1326:5:1326:20 | SideEffect | ~m1325_9 | +| ir.cpp:1326:22:1326:23 | Address | &:r1326_3 | +| ir.cpp:1326:22:1326:23 | Address | &:r1326_3 | +| ir.cpp:1326:22:1326:23 | Arg(0) | 0:r1326_3 | +| ir.cpp:1326:22:1326:23 | ChiPartial | partial:m1326_10 | +| ir.cpp:1326:22:1326:23 | ChiTotal | total:m1325_12 | +| ir.cpp:1326:22:1326:23 | SideEffect | ~m1325_12 | +| ir.cpp:1326:23:1326:23 | Unary | r1326_2 | +| ir.cpp:1326:26:1326:32 | Address | &:r1326_4 | +| ir.cpp:1326:26:1326:32 | Arg(1) | 1:r1326_5 | +| ir.cpp:1326:26:1326:32 | Load | m1319_6 | +| ir.cpp:1328:7:1328:7 | Unary | r1328_1 | +| ir.cpp:1328:11:1328:23 | CallTarget | func:r1328_3 | +| ir.cpp:1328:11:1328:23 | ChiPartial | partial:m1328_11 | +| ir.cpp:1328:11:1328:23 | ChiTotal | total:m1326_8 | +| ir.cpp:1328:11:1328:23 | SideEffect | ~m1326_8 | +| ir.cpp:1328:25:1328:29 | Address | &:r1328_4 | +| ir.cpp:1328:25:1328:29 | Address | &:r1328_5 | +| ir.cpp:1328:25:1328:29 | Address | &:r1328_5 | +| ir.cpp:1328:25:1328:29 | Arg(0) | 0:r1328_5 | +| ir.cpp:1328:25:1328:29 | ChiPartial | partial:m1328_14 | +| ir.cpp:1328:25:1328:29 | ChiTotal | total:m1319_10 | +| ir.cpp:1328:25:1328:29 | Load | m1319_8 | +| ir.cpp:1328:25:1328:29 | SideEffect | ~m1319_10 | +| ir.cpp:1328:32:1328:38 | Address | &:r1328_6 | +| ir.cpp:1328:32:1328:38 | Left | r1328_7 | +| ir.cpp:1328:32:1328:38 | Load | m1319_6 | +| ir.cpp:1328:32:1328:42 | Arg(1) | 1:r1328_9 | +| ir.cpp:1328:42:1328:42 | Right | r1328_8 | +| ir.cpp:1329:7:1329:11 | Address | &:r1329_1 | +| ir.cpp:1329:7:1329:11 | Load | m1319_8 | +| ir.cpp:1329:7:1329:11 | Unary | r1329_2 | +| ir.cpp:1329:14:1329:26 | CallTarget | func:r1329_4 | +| ir.cpp:1329:14:1329:26 | ChiPartial | partial:m1329_9 | +| ir.cpp:1329:14:1329:26 | ChiTotal | total:m1328_12 | +| ir.cpp:1329:14:1329:26 | SideEffect | ~m1328_12 | +| ir.cpp:1329:28:1329:29 | Address | &:r1329_6 | +| ir.cpp:1329:28:1329:29 | Address | &:r1329_6 | +| ir.cpp:1329:28:1329:29 | Arg(0) | 0:r1329_6 | +| ir.cpp:1329:28:1329:29 | ChiPartial | partial:m1329_12 | +| ir.cpp:1329:28:1329:29 | ChiTotal | total:m1326_11 | +| ir.cpp:1329:28:1329:29 | SideEffect | ~m1326_11 | +| ir.cpp:1329:29:1329:29 | Unary | r1329_5 | +| ir.cpp:1329:32:1329:33 | Arg(1) | 1:r1329_7 | +| ir.cpp:1330:5:1330:9 | Address | &:r1330_1 | +| ir.cpp:1330:5:1330:9 | Load | m1319_8 | +| ir.cpp:1330:12:1330:24 | CallTarget | func:r1330_3 | +| ir.cpp:1330:12:1330:24 | ChiPartial | partial:m1330_8 | +| ir.cpp:1330:12:1330:24 | ChiTotal | total:m1329_10 | +| ir.cpp:1330:12:1330:24 | SideEffect | ~m1329_10 | +| ir.cpp:1330:26:1330:30 | Address | &:r1330_4 | +| ir.cpp:1330:26:1330:30 | Address | &:r1330_5 | +| ir.cpp:1330:26:1330:30 | Address | &:r1330_5 | +| ir.cpp:1330:26:1330:30 | Arg(0) | 0:r1330_5 | +| ir.cpp:1330:26:1330:30 | ChiPartial | partial:m1330_11 | +| ir.cpp:1330:26:1330:30 | ChiTotal | total:m1328_15 | +| ir.cpp:1330:26:1330:30 | Load | m1319_8 | +| ir.cpp:1330:26:1330:30 | SideEffect | ~m1328_15 | +| ir.cpp:1330:33:1330:34 | Arg(1) | 1:r1330_6 | +| ir.cpp:1332:7:1332:31 | CallTarget | func:r1332_2 | +| ir.cpp:1332:7:1332:31 | ChiPartial | partial:m1332_4 | +| ir.cpp:1332:7:1332:31 | ChiTotal | total:m1330_9 | +| ir.cpp:1332:7:1332:31 | SideEffect | ~m1330_9 | +| ir.cpp:1333:5:1333:32 | CallTarget | func:r1333_1 | +| ir.cpp:1333:5:1333:32 | ChiPartial | partial:m1333_3 | +| ir.cpp:1333:5:1333:32 | ChiTotal | total:m1332_5 | +| ir.cpp:1333:5:1333:32 | SideEffect | ~m1332_5 | +| ir.cpp:1335:5:1335:20 | CallTarget | func:r1335_1 | +| ir.cpp:1335:5:1335:20 | ChiPartial | partial:m1335_3 | +| ir.cpp:1335:5:1335:20 | ChiTotal | total:m1333_4 | +| ir.cpp:1335:5:1335:20 | SideEffect | ~m1333_4 | +| ir.cpp:1335:25:1335:49 | CallTarget | func:r1335_5 | +| ir.cpp:1335:25:1335:49 | ChiPartial | partial:m1335_7 | +| ir.cpp:1335:25:1335:49 | ChiTotal | total:m1335_4 | +| ir.cpp:1335:25:1335:49 | SideEffect | ~m1335_4 | +| ir.cpp:1336:1:1336:1 | Address | &:r1336_2 | +| ir.cpp:1336:1:1336:1 | Address | &:r1336_2 | +| ir.cpp:1336:1:1336:1 | Arg(this) | this:r1336_2 | +| ir.cpp:1336:1:1336:1 | CallTarget | func:r1336_3 | +| ir.cpp:1336:1:1336:1 | ChiPartial | partial:m1336_5 | +| ir.cpp:1336:1:1336:1 | ChiPartial | partial:m1336_8 | +| ir.cpp:1336:1:1336:1 | ChiTotal | total:m1320_8 | +| ir.cpp:1336:1:1336:1 | ChiTotal | total:m1335_8 | +| ir.cpp:1336:1:1336:1 | SideEffect | m1320_8 | +| ir.cpp:1336:1:1336:1 | SideEffect | ~m1335_8 | +| ir.cpp:1338:5:1338:22 | Address | &:r1338_10 | +| ir.cpp:1338:5:1338:22 | ChiPartial | partial:m1338_3 | +| ir.cpp:1338:5:1338:22 | ChiTotal | total:m1338_2 | +| ir.cpp:1338:5:1338:22 | Load | m1338_9 | +| ir.cpp:1338:5:1338:22 | Phi | from 2:m1340_4 | +| ir.cpp:1338:5:1338:22 | Phi | from 3:m1342_2 | +| ir.cpp:1338:5:1338:22 | SideEffect | m1338_3 | +| ir.cpp:1338:29:1338:29 | Address | &:r1338_5 | +| ir.cpp:1338:36:1338:36 | Address | &:r1338_7 | +| ir.cpp:1339:9:1339:9 | Address | &:r1339_1 | +| ir.cpp:1339:9:1339:9 | Condition | r1339_2 | +| ir.cpp:1339:9:1339:9 | Load | m1338_6 | +| ir.cpp:1340:9:1340:17 | Address | &:r1340_1 | +| ir.cpp:1340:16:1340:16 | Address | &:r1340_2 | +| ir.cpp:1340:16:1340:16 | Load | m1338_8 | +| ir.cpp:1340:16:1340:16 | StoreValue | r1340_3 | +| ir.cpp:1342:1:1342:1 | Address | &:r1342_1 | +| ir.cpp:1344:6:1344:15 | ChiPartial | partial:m1344_3 | +| ir.cpp:1344:6:1344:15 | ChiTotal | total:m1344_2 | +| ir.cpp:1344:6:1344:15 | SideEffect | ~m1345_8 | +| ir.cpp:1344:21:1344:21 | Address | &:r1344_5 | +| ir.cpp:1344:28:1344:28 | Address | &:r1344_7 | +| ir.cpp:1345:12:1345:21 | CallTarget | func:r1345_1 | +| ir.cpp:1345:12:1345:21 | ChiPartial | partial:m1345_7 | +| ir.cpp:1345:12:1345:21 | ChiTotal | total:m1344_4 | +| ir.cpp:1345:12:1345:21 | SideEffect | ~m1344_4 | +| ir.cpp:1345:23:1345:23 | Address | &:r1345_2 | +| ir.cpp:1345:23:1345:23 | Arg(0) | 0:r1345_3 | +| ir.cpp:1345:23:1345:23 | Load | m1344_6 | +| ir.cpp:1345:26:1345:26 | Address | &:r1345_4 | +| ir.cpp:1345:26:1345:26 | Arg(1) | 1:r1345_5 | +| ir.cpp:1345:26:1345:26 | Load | m1344_8 | +| ir.cpp:1348:6:1348:25 | ChiPartial | partial:m1348_3 | +| ir.cpp:1348:6:1348:25 | ChiTotal | total:m1348_2 | +| ir.cpp:1348:6:1348:25 | SideEffect | m1348_3 | +| ir.cpp:1348:32:1348:32 | Address | &:r1348_5 | +| ir.cpp:1348:39:1348:39 | Address | &:r1348_7 | +| ir.cpp:1348:47:1348:47 | Address | &:r1348_9 | +| ir.cpp:1349:9:1349:9 | Address | &:r1349_1 | +| ir.cpp:1349:13:1349:13 | Address | &:r1349_2 | +| ir.cpp:1349:13:1349:13 | Load | m1348_8 | +| ir.cpp:1349:13:1349:13 | StoreValue | r1349_3 | +| ir.cpp:1350:5:1350:5 | Address | &:r1350_7 | +| ir.cpp:1350:9:1350:9 | Address | &:r1350_1 | +| ir.cpp:1350:9:1350:9 | Condition | r1350_2 | +| ir.cpp:1350:9:1350:9 | Load | m1348_6 | +| ir.cpp:1350:9:1350:9 | StoreValue | r1350_2 | +| ir.cpp:1350:9:1350:14 | Address | &:r1350_5 | +| ir.cpp:1350:9:1350:14 | Address | &:r1350_9 | +| ir.cpp:1350:9:1350:14 | Address | &:r1350_13 | +| ir.cpp:1350:9:1350:14 | Load | m1350_4 | +| ir.cpp:1350:9:1350:14 | Phi | from 2:m1350_10 | +| ir.cpp:1350:9:1350:14 | Phi | from 3:m1350_14 | +| ir.cpp:1350:9:1350:14 | StoreValue | r1350_6 | +| ir.cpp:1350:14:1350:14 | Address | &:r1350_11 | +| ir.cpp:1350:14:1350:14 | Load | m1348_8 | +| ir.cpp:1350:14:1350:14 | StoreValue | r1350_12 | +| ir.cpp:1351:5:1351:5 | Address | &:r1351_8 | +| ir.cpp:1351:9:1351:9 | Address | &:r1351_1 | +| ir.cpp:1351:9:1351:9 | Condition | r1351_2 | +| ir.cpp:1351:9:1351:9 | Load | m1348_6 | +| ir.cpp:1351:9:1351:9 | StoreValue | r1351_2 | +| ir.cpp:1351:9:1351:14 | Address | &:r1351_5 | +| ir.cpp:1351:9:1351:14 | Address | &:r1351_10 | +| ir.cpp:1351:9:1351:14 | Address | &:r1351_14 | +| ir.cpp:1351:9:1351:14 | Load | m1351_4 | +| ir.cpp:1351:9:1351:14 | Phi | from 5:m1351_11 | +| ir.cpp:1351:9:1351:14 | Phi | from 6:m1351_15 | +| ir.cpp:1351:9:1351:14 | StoreValue | r1351_7 | +| ir.cpp:1351:9:1351:14 | Unary | r1351_6 | +| ir.cpp:1351:14:1351:14 | Address | &:r1351_12 | +| ir.cpp:1351:14:1351:14 | Load | m1348_10 | +| ir.cpp:1351:14:1351:14 | StoreValue | r1351_13 | +| ir.cpp:1352:5:1352:5 | Address | &:r1352_9 | +| ir.cpp:1352:9:1352:9 | Address | &:r1352_1 | +| ir.cpp:1352:9:1352:9 | Condition | r1352_4 | +| ir.cpp:1352:9:1352:9 | Left | r1352_2 | +| ir.cpp:1352:9:1352:9 | Load | m1348_8 | +| ir.cpp:1352:9:1352:9 | Right | r1352_3 | +| ir.cpp:1352:9:1352:9 | StoreValue | r1352_2 | +| ir.cpp:1352:9:1352:14 | Address | &:r1352_7 | +| ir.cpp:1352:9:1352:14 | Address | &:r1352_11 | +| ir.cpp:1352:9:1352:14 | Address | &:r1352_15 | +| ir.cpp:1352:9:1352:14 | Load | m1352_6 | +| ir.cpp:1352:9:1352:14 | Phi | from 8:m1352_12 | +| ir.cpp:1352:9:1352:14 | Phi | from 9:m1352_16 | +| ir.cpp:1352:9:1352:14 | StoreValue | r1352_8 | +| ir.cpp:1352:14:1352:14 | Address | &:r1352_13 | +| ir.cpp:1352:14:1352:14 | Load | m1348_8 | +| ir.cpp:1352:14:1352:14 | StoreValue | r1352_14 | +| ir.cpp:1353:5:1353:5 | Address | &:r1353_10 | +| ir.cpp:1353:9:1353:9 | Address | &:r1353_1 | +| ir.cpp:1353:9:1353:9 | Condition | r1353_4 | +| ir.cpp:1353:9:1353:9 | Left | r1353_2 | +| ir.cpp:1353:9:1353:9 | Load | m1348_8 | +| ir.cpp:1353:9:1353:9 | Right | r1353_3 | +| ir.cpp:1353:9:1353:9 | StoreValue | r1353_2 | +| ir.cpp:1353:9:1353:14 | Address | &:r1353_7 | +| ir.cpp:1353:9:1353:14 | Address | &:r1353_12 | +| ir.cpp:1353:9:1353:14 | Address | &:r1353_16 | +| ir.cpp:1353:9:1353:14 | Load | m1353_6 | +| ir.cpp:1353:9:1353:14 | Phi | from 11:m1353_13 | +| ir.cpp:1353:9:1353:14 | Phi | from 12:m1353_17 | +| ir.cpp:1353:9:1353:14 | StoreValue | r1353_9 | +| ir.cpp:1353:9:1353:14 | Unary | r1353_8 | +| ir.cpp:1353:14:1353:14 | Address | &:r1353_14 | +| ir.cpp:1353:14:1353:14 | Load | m1348_10 | +| ir.cpp:1353:14:1353:14 | StoreValue | r1353_15 | +| ir.cpp:1354:5:1354:5 | Address | &:r1354_10 | +| ir.cpp:1354:9:1354:9 | Address | &:r1354_1 | +| ir.cpp:1354:9:1354:9 | Condition | r1354_4 | +| ir.cpp:1354:9:1354:9 | Left | r1354_2 | +| ir.cpp:1354:9:1354:9 | Load | m1348_10 | +| ir.cpp:1354:9:1354:9 | Right | r1354_3 | +| ir.cpp:1354:9:1354:9 | StoreValue | r1354_2 | +| ir.cpp:1354:9:1354:14 | Address | &:r1354_7 | +| ir.cpp:1354:9:1354:14 | Address | &:r1354_12 | +| ir.cpp:1354:9:1354:14 | Address | &:r1354_17 | +| ir.cpp:1354:9:1354:14 | Load | m1354_6 | +| ir.cpp:1354:9:1354:14 | Phi | from 14:m1354_13 | +| ir.cpp:1354:9:1354:14 | Phi | from 15:m1354_18 | +| ir.cpp:1354:9:1354:14 | StoreValue | r1354_9 | +| ir.cpp:1354:9:1354:14 | Unary | r1354_8 | +| ir.cpp:1354:14:1354:14 | Address | &:r1354_14 | +| ir.cpp:1354:14:1354:14 | Load | m1348_8 | +| ir.cpp:1354:14:1354:14 | StoreValue | r1354_16 | +| ir.cpp:1354:14:1354:14 | Unary | r1354_15 | +| ir.cpp:1355:5:1355:5 | Address | &:r1355_10 | +| ir.cpp:1355:9:1355:9 | Address | &:r1355_1 | +| ir.cpp:1355:9:1355:9 | Condition | r1355_4 | +| ir.cpp:1355:9:1355:9 | Left | r1355_2 | +| ir.cpp:1355:9:1355:9 | Load | m1348_10 | +| ir.cpp:1355:9:1355:9 | Right | r1355_3 | +| ir.cpp:1355:9:1355:9 | StoreValue | r1355_2 | +| ir.cpp:1355:9:1355:14 | Address | &:r1355_7 | +| ir.cpp:1355:9:1355:14 | Address | &:r1355_12 | +| ir.cpp:1355:9:1355:14 | Address | &:r1355_16 | +| ir.cpp:1355:9:1355:14 | Load | m1355_6 | +| ir.cpp:1355:9:1355:14 | Phi | from 17:m1355_13 | +| ir.cpp:1355:9:1355:14 | Phi | from 18:m1355_17 | +| ir.cpp:1355:9:1355:14 | StoreValue | r1355_9 | +| ir.cpp:1355:9:1355:14 | Unary | r1355_8 | +| ir.cpp:1355:14:1355:14 | Address | &:r1355_14 | +| ir.cpp:1355:14:1355:14 | Load | m1348_10 | +| ir.cpp:1355:14:1355:14 | StoreValue | r1355_15 | +| ir.cpp:1357:5:1357:5 | Address | &:r1357_9 | +| ir.cpp:1357:9:1357:26 | Address | &:r1357_7 | +| ir.cpp:1357:9:1357:26 | Address | &:r1357_11 | +| ir.cpp:1357:9:1357:26 | Address | &:r1357_33 | +| ir.cpp:1357:9:1357:26 | Load | m1357_6 | +| ir.cpp:1357:9:1357:26 | Phi | from 20:m1357_12 | +| ir.cpp:1357:9:1357:26 | Phi | from 26:m1357_34 | +| ir.cpp:1357:9:1357:26 | StoreValue | r1357_8 | +| ir.cpp:1357:10:1357:10 | Address | &:r1357_1 | +| ir.cpp:1357:10:1357:10 | Condition | r1357_4 | +| ir.cpp:1357:10:1357:10 | Left | r1357_2 | +| ir.cpp:1357:10:1357:10 | Load | m1348_8 | +| ir.cpp:1357:10:1357:10 | Right | r1357_3 | +| ir.cpp:1357:10:1357:20 | Address | &:r1357_13 | +| ir.cpp:1357:10:1357:20 | Address | &:r1357_17 | +| ir.cpp:1357:10:1357:20 | Address | &:r1357_20 | +| ir.cpp:1357:10:1357:20 | Condition | r1357_18 | +| ir.cpp:1357:10:1357:20 | Load | m1357_16 | +| ir.cpp:1357:10:1357:20 | Phi | from 21:m1357_15 | +| ir.cpp:1357:10:1357:20 | Phi | from 23:m1357_22 | +| ir.cpp:1357:10:1357:20 | StoreValue | r1357_14 | +| ir.cpp:1357:10:1357:20 | StoreValue | r1357_18 | +| ir.cpp:1357:10:1357:20 | StoreValue | r1357_21 | +| ir.cpp:1357:15:1357:15 | Address | &:r1357_23 | +| ir.cpp:1357:15:1357:15 | Condition | r1357_24 | +| ir.cpp:1357:15:1357:15 | Load | m1348_6 | +| ir.cpp:1357:20:1357:20 | Address | &:r1357_26 | +| ir.cpp:1357:20:1357:20 | Condition | r1357_29 | +| ir.cpp:1357:20:1357:20 | Left | r1357_27 | +| ir.cpp:1357:20:1357:20 | Load | m1348_10 | +| ir.cpp:1357:20:1357:20 | Right | r1357_28 | +| ir.cpp:1357:26:1357:26 | Address | &:r1357_31 | +| ir.cpp:1357:26:1357:26 | Load | m1348_8 | +| ir.cpp:1357:26:1357:26 | StoreValue | r1357_32 | +| ir.cpp:1363:5:1363:27 | Address | &:r1363_9 | +| ir.cpp:1363:5:1363:27 | ChiPartial | partial:m1363_3 | +| ir.cpp:1363:5:1363:27 | ChiTotal | total:m1363_2 | +| ir.cpp:1363:5:1363:27 | Load | m1364_11 | +| ir.cpp:1363:5:1363:27 | SideEffect | ~m1364_7 | +| ir.cpp:1363:33:1363:33 | Address | &:r1363_5 | +| ir.cpp:1363:40:1363:40 | Address | &:r1363_7 | +| ir.cpp:1364:5:1364:48 | Address | &:r1364_1 | +| ir.cpp:1364:12:1364:21 | CallTarget | func:r1364_2 | +| ir.cpp:1364:12:1364:21 | ChiPartial | partial:m1364_4 | +| ir.cpp:1364:12:1364:21 | ChiTotal | total:m1363_4 | +| ir.cpp:1364:12:1364:21 | Condition | r1364_3 | +| ir.cpp:1364:12:1364:21 | SideEffect | ~m1363_4 | +| ir.cpp:1364:12:1364:47 | Address | &:r1364_9 | +| ir.cpp:1364:12:1364:47 | Address | &:r1364_19 | +| ir.cpp:1364:12:1364:47 | Address | &:r1364_24 | +| ir.cpp:1364:12:1364:47 | Load | m1364_8 | +| ir.cpp:1364:12:1364:47 | Phi | from 3:m1364_20 | +| ir.cpp:1364:12:1364:47 | Phi | from 3:~m1364_15 | +| ir.cpp:1364:12:1364:47 | Phi | from 4:m1364_25 | +| ir.cpp:1364:12:1364:47 | Phi | from 4:~m1364_21 | +| ir.cpp:1364:12:1364:47 | StoreValue | r1364_10 | +| ir.cpp:1364:28:1364:37 | CallTarget | func:r1364_12 | +| ir.cpp:1364:28:1364:37 | ChiPartial | partial:m1364_14 | +| ir.cpp:1364:28:1364:37 | ChiTotal | total:m1364_5 | +| ir.cpp:1364:28:1364:37 | Condition | r1364_13 | +| ir.cpp:1364:28:1364:37 | SideEffect | ~m1364_5 | +| ir.cpp:1364:43:1364:43 | Address | &:r1364_17 | +| ir.cpp:1364:43:1364:43 | Load | m1363_6 | +| ir.cpp:1364:43:1364:43 | StoreValue | r1364_18 | +| ir.cpp:1364:47:1364:47 | Address | &:r1364_22 | +| ir.cpp:1364:47:1364:47 | Load | m1363_8 | +| ir.cpp:1364:47:1364:47 | Phi | from 0:~m1364_5 | +| ir.cpp:1364:47:1364:47 | Phi | from 2:~m1364_15 | +| ir.cpp:1364:47:1364:47 | StoreValue | r1364_23 | +| ir.cpp:1369:6:1369:6 | ChiPartial | partial:m1369_3 | +| ir.cpp:1369:6:1369:6 | ChiTotal | total:m1369_2 | +| ir.cpp:1369:6:1369:6 | SideEffect | ~m1371_8 | +| ir.cpp:1369:13:1369:13 | Address | &:r1369_5 | +| ir.cpp:1369:13:1369:13 | Address | &:r1369_5 | +| ir.cpp:1369:13:1369:13 | Address | &:r1369_7 | +| ir.cpp:1369:13:1369:13 | Address | &:r1369_7 | +| ir.cpp:1369:13:1369:13 | Load | m1369_6 | +| ir.cpp:1369:13:1369:13 | SideEffect | m1369_8 | +| ir.cpp:1371:3:1371:13 | Address | &:r1371_6 | +| ir.cpp:1371:3:1371:13 | Arg(0) | 0:r1371_2 | +| ir.cpp:1371:3:1371:13 | CallTarget | func:r1371_1 | +| ir.cpp:1371:3:1371:13 | ChiPartial | partial:m1371_7 | +| ir.cpp:1371:3:1371:13 | ChiTotal | total:m1369_4 | +| ir.cpp:1371:3:1371:13 | SideEffect | ~m1369_4 | +| ir.cpp:1371:3:1371:13 | Unary | r1371_6 | +| ir.cpp:1371:8:1371:8 | Address | &:r1371_3 | +| ir.cpp:1371:8:1371:8 | Arg(1) | 1:r1371_5 | +| ir.cpp:1371:8:1371:8 | Load | m1369_6 | +| ir.cpp:1371:8:1371:8 | Unary | r1371_4 | +| ir.cpp:1375:3:1375:3 | Address | &:r1375_5 | +| ir.cpp:1375:3:1375:3 | Address | &:r1375_5 | +| ir.cpp:1375:3:1375:3 | Address | &:r1375_5 | +| ir.cpp:1375:3:1375:3 | Address | &:r1375_5 | +| ir.cpp:1375:3:1375:3 | ChiPartial | partial:m1375_3 | +| ir.cpp:1375:3:1375:3 | ChiPartial | partial:m1375_3 | +| ir.cpp:1375:3:1375:3 | ChiPartial | partial:m1375_3 | +| ir.cpp:1375:3:1375:3 | ChiPartial | partial:m1375_3 | +| ir.cpp:1375:3:1375:3 | ChiTotal | total:m1375_2 | +| ir.cpp:1375:3:1375:3 | ChiTotal | total:m1375_2 | +| ir.cpp:1375:3:1375:3 | ChiTotal | total:m1375_2 | +| ir.cpp:1375:3:1375:3 | ChiTotal | total:m1375_2 | +| ir.cpp:1375:3:1375:3 | Load | m1376_3 | +| ir.cpp:1375:3:1375:3 | Load | m1376_3 | +| ir.cpp:1375:3:1375:3 | Load | m1376_8 | +| ir.cpp:1375:3:1375:3 | Load | m1376_8 | +| ir.cpp:1375:3:1375:3 | SideEffect | m1375_3 | +| ir.cpp:1375:3:1375:3 | SideEffect | m1375_3 | +| ir.cpp:1375:3:1375:3 | SideEffect | ~m1376_6 | +| ir.cpp:1375:3:1375:3 | SideEffect | ~m1376_6 | +| ir.cpp:1376:5:1376:15 | Address | &:r1376_1 | +| ir.cpp:1376:5:1376:15 | Address | &:r1376_1 | +| ir.cpp:1376:5:1376:15 | Address | &:r1376_1 | +| ir.cpp:1376:5:1376:15 | Address | &:r1376_1 | +| ir.cpp:1376:5:1376:15 | Address | &:r1376_1 | +| ir.cpp:1376:5:1376:15 | Address | &:r1376_1 | +| ir.cpp:1376:5:1376:15 | Arg(this) | this:r1376_1 | +| ir.cpp:1376:5:1376:15 | Arg(this) | this:r1376_1 | +| ir.cpp:1376:5:1376:15 | CallTarget | func:r1376_3 | +| ir.cpp:1376:5:1376:15 | CallTarget | func:r1376_3 | +| ir.cpp:1376:5:1376:15 | ChiPartial | partial:m1376_5 | +| ir.cpp:1376:5:1376:15 | ChiPartial | partial:m1376_5 | +| ir.cpp:1376:5:1376:15 | ChiPartial | partial:m1376_7 | +| ir.cpp:1376:5:1376:15 | ChiPartial | partial:m1376_7 | +| ir.cpp:1376:5:1376:15 | ChiTotal | total:m1375_4 | +| ir.cpp:1376:5:1376:15 | ChiTotal | total:m1375_4 | +| ir.cpp:1376:5:1376:15 | ChiTotal | total:m1376_2 | +| ir.cpp:1376:5:1376:15 | ChiTotal | total:m1376_2 | +| ir.cpp:1376:5:1376:15 | SideEffect | ~m1375_4 | +| ir.cpp:1376:5:1376:15 | SideEffect | ~m1375_4 | +| ir.cpp:1376:5:1376:15 | StoreValue | r1376_2 | +| ir.cpp:1376:5:1376:15 | StoreValue | r1376_2 | +| ir.cpp:1414:6:1414:21 | ChiPartial | partial:m1414_3 | +| ir.cpp:1414:6:1414:21 | ChiTotal | total:m1414_2 | +| ir.cpp:1414:6:1414:21 | SideEffect | ~m1426_6 | +| ir.cpp:1415:12:1415:12 | Address | &:r1415_1 | +| ir.cpp:1415:16:1415:34 | CallTarget | func:r1415_2 | +| ir.cpp:1415:16:1415:34 | ChiPartial | partial:m1415_4 | +| ir.cpp:1415:16:1415:34 | ChiTotal | total:m1414_4 | +| ir.cpp:1415:16:1415:34 | SideEffect | ~m1414_4 | +| ir.cpp:1415:16:1415:34 | StoreValue | r1415_3 | +| ir.cpp:1416:19:1416:20 | Address | &:r1416_1 | +| ir.cpp:1416:24:1416:42 | CallTarget | func:r1416_3 | +| ir.cpp:1416:24:1416:42 | ChiPartial | partial:m1416_5 | +| ir.cpp:1416:24:1416:42 | ChiTotal | total:m1415_5 | +| ir.cpp:1416:24:1416:42 | SideEffect | ~m1415_5 | +| ir.cpp:1416:24:1416:42 | StoreValue | r1416_4 | +| ir.cpp:1416:24:1416:44 | Address | &:r1416_2 | +| ir.cpp:1416:24:1416:44 | StoreValue | r1416_9 | +| ir.cpp:1416:24:1416:44 | Unary | r1416_2 | +| ir.cpp:1416:24:1416:44 | Unary | r1416_8 | +| ir.cpp:1418:5:1418:13 | CallTarget | func:r1418_1 | +| ir.cpp:1418:5:1418:13 | ChiPartial | partial:m1418_6 | +| ir.cpp:1418:5:1418:13 | ChiTotal | total:m1416_6 | +| ir.cpp:1418:5:1418:13 | SideEffect | ~m1416_6 | +| ir.cpp:1418:15:1418:15 | Address | &:r1418_4 | +| ir.cpp:1418:15:1418:15 | Arg(0) | 0:r1418_4 | +| ir.cpp:1418:15:1418:15 | SideEffect | ~m1415_6 | +| ir.cpp:1418:15:1418:15 | Unary | r1418_2 | +| ir.cpp:1418:15:1418:15 | Unary | r1418_3 | +| ir.cpp:1419:5:1419:21 | CallTarget | func:r1419_1 | +| ir.cpp:1419:5:1419:21 | ChiPartial | partial:m1419_15 | +| ir.cpp:1419:5:1419:21 | ChiTotal | total:m1419_9 | +| ir.cpp:1419:5:1419:21 | SideEffect | ~m1419_9 | +| ir.cpp:1419:23:1419:27 | Address | &:r1419_2 | +| ir.cpp:1419:23:1419:27 | Address | &:r1419_2 | +| ir.cpp:1419:23:1419:27 | Address | &:r1419_6 | +| ir.cpp:1419:23:1419:27 | Address | &:r1419_13 | +| ir.cpp:1419:23:1419:27 | Arg(0) | 0:r1419_6 | +| ir.cpp:1419:23:1419:27 | Arg(0) | 0:r1419_13 | +| ir.cpp:1419:23:1419:27 | Arg(this) | this:r1419_2 | +| ir.cpp:1419:23:1419:27 | CallTarget | func:r1419_4 | +| ir.cpp:1419:23:1419:27 | ChiPartial | partial:m1419_8 | +| ir.cpp:1419:23:1419:27 | ChiPartial | partial:m1419_11 | +| ir.cpp:1419:23:1419:27 | ChiTotal | total:m1418_7 | +| ir.cpp:1419:23:1419:27 | ChiTotal | total:m1419_3 | +| ir.cpp:1419:23:1419:27 | SideEffect | ~m1414_3 | +| ir.cpp:1419:23:1419:27 | SideEffect | ~m1418_7 | +| ir.cpp:1419:23:1419:27 | SideEffect | ~m1419_12 | +| ir.cpp:1419:23:1419:27 | Unary | r1419_2 | +| ir.cpp:1419:23:1419:27 | Unary | r1419_5 | +| ir.cpp:1420:5:1420:15 | CallTarget | func:r1420_1 | +| ir.cpp:1420:5:1420:15 | ChiPartial | partial:m1420_16 | +| ir.cpp:1420:5:1420:15 | ChiTotal | total:m1420_10 | +| ir.cpp:1420:5:1420:15 | SideEffect | ~m1420_10 | +| ir.cpp:1420:17:1420:17 | Address | &:r1420_2 | +| ir.cpp:1420:17:1420:17 | Address | &:r1420_2 | +| ir.cpp:1420:17:1420:17 | Address | &:r1420_2 | +| ir.cpp:1420:17:1420:17 | Address | &:r1420_7 | +| ir.cpp:1420:17:1420:17 | Arg(0) | 0:r1420_7 | +| ir.cpp:1420:17:1420:17 | Arg(0) | 0:r1420_14 | +| ir.cpp:1420:17:1420:17 | Arg(this) | this:r1420_2 | +| ir.cpp:1420:17:1420:17 | CallTarget | func:r1420_4 | +| ir.cpp:1420:17:1420:17 | ChiPartial | partial:m1420_9 | +| ir.cpp:1420:17:1420:17 | ChiPartial | partial:m1420_12 | +| ir.cpp:1420:17:1420:17 | ChiTotal | total:m1419_16 | +| ir.cpp:1420:17:1420:17 | ChiTotal | total:m1420_3 | +| ir.cpp:1420:17:1420:17 | Load | m1420_13 | +| ir.cpp:1420:17:1420:17 | SideEffect | ~m1415_6 | +| ir.cpp:1420:17:1420:17 | SideEffect | ~m1419_16 | +| ir.cpp:1420:17:1420:17 | Unary | r1420_5 | +| ir.cpp:1420:17:1420:17 | Unary | r1420_6 | +| ir.cpp:1421:5:1421:23 | CallTarget | func:r1421_1 | +| ir.cpp:1421:5:1421:23 | ChiPartial | partial:m1421_15 | +| ir.cpp:1421:5:1421:23 | ChiTotal | total:m1421_9 | +| ir.cpp:1421:5:1421:23 | SideEffect | ~m1421_9 | +| ir.cpp:1421:25:1421:29 | Address | &:r1421_2 | +| ir.cpp:1421:25:1421:29 | Address | &:r1421_2 | +| ir.cpp:1421:25:1421:29 | Address | &:r1421_2 | +| ir.cpp:1421:25:1421:29 | Address | &:r1421_6 | +| ir.cpp:1421:25:1421:29 | Arg(0) | 0:r1421_6 | +| ir.cpp:1421:25:1421:29 | Arg(0) | 0:r1421_13 | +| ir.cpp:1421:25:1421:29 | Arg(this) | this:r1421_2 | +| ir.cpp:1421:25:1421:29 | CallTarget | func:r1421_4 | +| ir.cpp:1421:25:1421:29 | ChiPartial | partial:m1421_8 | +| ir.cpp:1421:25:1421:29 | ChiPartial | partial:m1421_11 | +| ir.cpp:1421:25:1421:29 | ChiTotal | total:m1420_17 | +| ir.cpp:1421:25:1421:29 | ChiTotal | total:m1421_3 | +| ir.cpp:1421:25:1421:29 | Load | m1421_12 | +| ir.cpp:1421:25:1421:29 | SideEffect | ~m1414_3 | +| ir.cpp:1421:25:1421:29 | SideEffect | ~m1420_17 | +| ir.cpp:1421:25:1421:29 | Unary | r1421_5 | +| ir.cpp:1422:5:1422:12 | Address | &:r1422_1 | +| ir.cpp:1422:5:1422:12 | Address | &:r1422_1 | +| ir.cpp:1422:5:1422:12 | Address | &:r1422_9 | +| ir.cpp:1422:5:1422:12 | Arg(this) | this:r1422_1 | +| ir.cpp:1422:5:1422:12 | Arg(this) | this:r1422_9 | +| ir.cpp:1422:5:1422:12 | CallTarget | func:r1422_3 | +| ir.cpp:1422:5:1422:12 | ChiPartial | partial:m1422_5 | +| ir.cpp:1422:5:1422:12 | ChiPartial | partial:m1422_7 | +| ir.cpp:1422:5:1422:12 | ChiTotal | total:m1421_16 | +| ir.cpp:1422:5:1422:12 | ChiTotal | total:m1422_2 | +| ir.cpp:1422:5:1422:12 | SideEffect | m1422_8 | +| ir.cpp:1422:5:1422:12 | SideEffect | ~m1421_16 | +| ir.cpp:1422:5:1422:12 | Unary | r1422_1 | +| ir.cpp:1422:14:1422:18 | CallTarget | func:r1422_10 | +| ir.cpp:1422:14:1422:18 | ChiPartial | partial:m1422_12 | +| ir.cpp:1422:14:1422:18 | ChiTotal | total:m1422_6 | +| ir.cpp:1422:14:1422:18 | SideEffect | ~m1422_6 | +| ir.cpp:1423:5:1423:23 | CallTarget | func:r1423_2 | +| ir.cpp:1423:5:1423:23 | ChiPartial | partial:m1423_4 | +| ir.cpp:1423:5:1423:23 | ChiTotal | total:m1422_13 | +| ir.cpp:1423:5:1423:23 | SideEffect | ~m1422_13 | +| ir.cpp:1423:5:1423:23 | StoreValue | r1423_3 | +| ir.cpp:1423:5:1423:25 | Address | &:r1423_1 | +| ir.cpp:1423:5:1423:25 | Address | &:r1423_7 | +| ir.cpp:1423:5:1423:25 | Arg(this) | this:r1423_7 | +| ir.cpp:1423:5:1423:25 | SideEffect | m1423_6 | +| ir.cpp:1423:5:1423:25 | Unary | r1423_1 | +| ir.cpp:1423:27:1423:31 | CallTarget | func:r1423_8 | +| ir.cpp:1423:27:1423:31 | ChiPartial | partial:m1423_10 | +| ir.cpp:1423:27:1423:31 | ChiTotal | total:m1423_5 | +| ir.cpp:1423:27:1423:31 | SideEffect | ~m1423_5 | +| ir.cpp:1425:5:1425:28 | CallTarget | func:r1425_2 | +| ir.cpp:1425:5:1425:28 | ChiPartial | partial:m1425_4 | +| ir.cpp:1425:5:1425:28 | ChiTotal | total:m1423_11 | +| ir.cpp:1425:5:1425:28 | SideEffect | ~m1423_11 | +| ir.cpp:1425:5:1425:28 | StoreValue | r1425_3 | +| ir.cpp:1425:5:1425:30 | Address | &:r1425_1 | +| ir.cpp:1426:1:1426:1 | Address | &:r1426_2 | +| ir.cpp:1426:1:1426:1 | Address | &:r1426_2 | +| ir.cpp:1426:1:1426:1 | Arg(this) | this:r1426_2 | +| ir.cpp:1426:1:1426:1 | CallTarget | func:r1426_3 | +| ir.cpp:1426:1:1426:1 | ChiPartial | partial:m1426_5 | +| ir.cpp:1426:1:1426:1 | ChiPartial | partial:m1426_8 | +| ir.cpp:1426:1:1426:1 | ChiTotal | total:m1415_6 | +| ir.cpp:1426:1:1426:1 | ChiTotal | total:m1425_5 | +| ir.cpp:1426:1:1426:1 | SideEffect | m1415_6 | +| ir.cpp:1426:1:1426:1 | SideEffect | ~m1425_5 | +| ir.cpp:1428:6:1428:30 | ChiPartial | partial:m1428_3 | +| ir.cpp:1428:6:1428:30 | ChiTotal | total:m1428_2 | +| ir.cpp:1428:6:1428:30 | SideEffect | ~m1438_14 | +| ir.cpp:1429:21:1429:21 | Address | &:r1429_1 | +| ir.cpp:1429:25:1429:52 | CallTarget | func:r1429_2 | +| ir.cpp:1429:25:1429:52 | ChiPartial | partial:m1429_4 | +| ir.cpp:1429:25:1429:52 | ChiTotal | total:m1428_4 | +| ir.cpp:1429:25:1429:52 | SideEffect | ~m1428_4 | +| ir.cpp:1429:25:1429:52 | StoreValue | r1429_3 | +| ir.cpp:1430:28:1430:29 | Address | &:r1430_1 | +| ir.cpp:1430:33:1430:60 | CallTarget | func:r1430_3 | +| ir.cpp:1430:33:1430:60 | ChiPartial | partial:m1430_5 | +| ir.cpp:1430:33:1430:60 | ChiTotal | total:m1429_5 | +| ir.cpp:1430:33:1430:60 | SideEffect | ~m1429_5 | +| ir.cpp:1430:33:1430:60 | StoreValue | r1430_4 | +| ir.cpp:1430:33:1430:62 | Address | &:r1430_2 | +| ir.cpp:1430:33:1430:62 | StoreValue | r1430_9 | +| ir.cpp:1430:33:1430:62 | Unary | r1430_2 | +| ir.cpp:1430:33:1430:62 | Unary | r1430_8 | +| ir.cpp:1431:21:1431:22 | Address | &:r1431_1 | +| ir.cpp:1432:5:1432:13 | CallTarget | func:r1432_1 | +| ir.cpp:1432:5:1432:13 | ChiPartial | partial:m1432_6 | +| ir.cpp:1432:5:1432:13 | ChiTotal | total:m1430_6 | +| ir.cpp:1432:5:1432:13 | SideEffect | ~m1430_6 | +| ir.cpp:1432:15:1432:15 | Address | &:r1432_4 | +| ir.cpp:1432:15:1432:15 | Arg(0) | 0:r1432_4 | +| ir.cpp:1432:15:1432:15 | SideEffect | ~m1429_6 | +| ir.cpp:1432:15:1432:15 | Unary | r1432_2 | +| ir.cpp:1432:15:1432:15 | Unary | r1432_3 | +| ir.cpp:1433:5:1433:15 | CallTarget | func:r1433_1 | +| ir.cpp:1433:5:1433:15 | ChiPartial | partial:m1433_8 | +| ir.cpp:1433:5:1433:15 | ChiTotal | total:m1432_7 | +| ir.cpp:1433:5:1433:15 | SideEffect | ~m1432_7 | +| ir.cpp:1433:17:1433:17 | Address | &:r1433_2 | +| ir.cpp:1433:17:1433:17 | Address | &:r1433_2 | +| ir.cpp:1433:17:1433:17 | Address | &:r1433_3 | +| ir.cpp:1433:17:1433:17 | Arg(0) | 0:r1433_6 | +| ir.cpp:1433:17:1433:17 | Load | m1429_6 | +| ir.cpp:1433:17:1433:17 | Load | m1433_5 | +| ir.cpp:1433:17:1433:17 | StoreValue | r1433_4 | +| ir.cpp:1434:5:1434:21 | Address | &:r1434_1 | +| ir.cpp:1434:5:1434:21 | Address | &:r1434_1 | +| ir.cpp:1434:5:1434:21 | Address | &:r1434_1 | +| ir.cpp:1434:5:1434:21 | Arg(this) | this:r1434_1 | +| ir.cpp:1434:5:1434:21 | ChiPartial | partial:m1434_9 | +| ir.cpp:1434:5:1434:21 | ChiTotal | total:m1434_3 | +| ir.cpp:1434:5:1434:21 | SideEffect | m1434_3 | +| ir.cpp:1434:5:1434:21 | StoreValue | r1434_2 | +| ir.cpp:1434:23:1434:28 | CallTarget | func:r1434_4 | +| ir.cpp:1434:23:1434:28 | ChiPartial | partial:m1434_6 | +| ir.cpp:1434:23:1434:28 | ChiTotal | total:m1433_9 | +| ir.cpp:1434:23:1434:28 | SideEffect | ~m1433_9 | +| ir.cpp:1435:5:1435:32 | CallTarget | func:r1435_2 | +| ir.cpp:1435:5:1435:32 | ChiPartial | partial:m1435_4 | +| ir.cpp:1435:5:1435:32 | ChiTotal | total:m1434_7 | +| ir.cpp:1435:5:1435:32 | SideEffect | ~m1434_7 | +| ir.cpp:1435:5:1435:32 | StoreValue | r1435_3 | +| ir.cpp:1435:5:1435:34 | Address | &:r1435_1 | +| ir.cpp:1435:5:1435:34 | Address | &:r1435_1 | +| ir.cpp:1435:5:1435:34 | Address | &:r1435_1 | +| ir.cpp:1435:5:1435:34 | Arg(this) | this:r1435_1 | +| ir.cpp:1435:5:1435:34 | ChiPartial | partial:m1435_12 | +| ir.cpp:1435:5:1435:34 | ChiTotal | total:m1435_6 | +| ir.cpp:1435:5:1435:34 | SideEffect | m1435_6 | +| ir.cpp:1435:36:1435:41 | CallTarget | func:r1435_7 | +| ir.cpp:1435:36:1435:41 | ChiPartial | partial:m1435_9 | +| ir.cpp:1435:36:1435:41 | ChiTotal | total:m1435_5 | +| ir.cpp:1435:36:1435:41 | SideEffect | ~m1435_5 | +| ir.cpp:1437:5:1437:37 | CallTarget | func:r1437_2 | +| ir.cpp:1437:5:1437:37 | ChiPartial | partial:m1437_4 | +| ir.cpp:1437:5:1437:37 | ChiTotal | total:m1435_10 | +| ir.cpp:1437:5:1437:37 | SideEffect | ~m1435_10 | +| ir.cpp:1437:5:1437:37 | StoreValue | r1437_3 | +| ir.cpp:1437:5:1437:39 | Address | &:r1437_1 | +| ir.cpp:1438:1:1438:1 | Address | &:r1438_2 | +| ir.cpp:1438:1:1438:1 | Address | &:r1438_2 | +| ir.cpp:1438:1:1438:1 | Address | &:r1438_10 | +| ir.cpp:1438:1:1438:1 | Address | &:r1438_10 | +| ir.cpp:1438:1:1438:1 | Arg(this) | this:r1438_2 | +| ir.cpp:1438:1:1438:1 | Arg(this) | this:r1438_10 | +| ir.cpp:1438:1:1438:1 | CallTarget | func:r1438_3 | +| ir.cpp:1438:1:1438:1 | CallTarget | func:r1438_11 | +| ir.cpp:1438:1:1438:1 | ChiPartial | partial:m1438_5 | +| ir.cpp:1438:1:1438:1 | ChiPartial | partial:m1438_8 | +| ir.cpp:1438:1:1438:1 | ChiPartial | partial:m1438_13 | +| ir.cpp:1438:1:1438:1 | ChiPartial | partial:m1438_16 | +| ir.cpp:1438:1:1438:1 | ChiTotal | total:m1429_6 | +| ir.cpp:1438:1:1438:1 | ChiTotal | total:m1431_2 | +| ir.cpp:1438:1:1438:1 | ChiTotal | total:m1437_5 | +| ir.cpp:1438:1:1438:1 | ChiTotal | total:m1438_6 | +| ir.cpp:1438:1:1438:1 | SideEffect | m1429_6 | +| ir.cpp:1438:1:1438:1 | SideEffect | m1431_2 | +| ir.cpp:1438:1:1438:1 | SideEffect | ~m1437_5 | +| ir.cpp:1438:1:1438:1 | SideEffect | ~m1438_6 | +| ir.cpp:1440:6:1440:31 | ChiPartial | partial:m1440_3 | +| ir.cpp:1440:6:1440:31 | ChiTotal | total:m1440_2 | +| ir.cpp:1440:6:1440:31 | SideEffect | ~m1450_6 | +| ir.cpp:1441:22:1441:22 | Address | &:r1441_1 | +| ir.cpp:1441:26:1441:54 | CallTarget | func:r1441_2 | +| ir.cpp:1441:26:1441:54 | ChiPartial | partial:m1441_4 | +| ir.cpp:1441:26:1441:54 | ChiTotal | total:m1440_4 | +| ir.cpp:1441:26:1441:54 | SideEffect | ~m1440_4 | +| ir.cpp:1441:26:1441:54 | StoreValue | r1441_3 | +| ir.cpp:1442:29:1442:30 | Address | &:r1442_1 | +| ir.cpp:1442:34:1442:62 | CallTarget | func:r1442_3 | +| ir.cpp:1442:34:1442:62 | ChiPartial | partial:m1442_5 | +| ir.cpp:1442:34:1442:62 | ChiTotal | total:m1441_5 | +| ir.cpp:1442:34:1442:62 | SideEffect | ~m1441_5 | +| ir.cpp:1442:34:1442:62 | StoreValue | r1442_4 | +| ir.cpp:1442:34:1442:64 | Address | &:r1442_2 | +| ir.cpp:1442:34:1442:64 | StoreValue | r1442_9 | +| ir.cpp:1442:34:1442:64 | Unary | r1442_2 | +| ir.cpp:1442:34:1442:64 | Unary | r1442_8 | +| ir.cpp:1443:22:1443:23 | Address | &:r1443_1 | +| ir.cpp:1443:22:1443:23 | Address | &:r1443_1 | +| ir.cpp:1443:22:1443:23 | Arg(this) | this:r1443_1 | +| ir.cpp:1443:22:1443:23 | CallTarget | func:r1443_3 | +| ir.cpp:1443:22:1443:23 | ChiPartial | partial:m1443_5 | +| ir.cpp:1443:22:1443:23 | ChiPartial | partial:m1443_7 | +| ir.cpp:1443:22:1443:23 | ChiTotal | total:m1442_6 | +| ir.cpp:1443:22:1443:23 | ChiTotal | total:m1443_2 | +| ir.cpp:1443:22:1443:23 | SideEffect | ~m1442_6 | +| ir.cpp:1444:5:1444:13 | CallTarget | func:r1444_1 | +| ir.cpp:1444:5:1444:13 | ChiPartial | partial:m1444_6 | +| ir.cpp:1444:5:1444:13 | ChiTotal | total:m1443_6 | +| ir.cpp:1444:5:1444:13 | SideEffect | ~m1443_6 | +| ir.cpp:1444:15:1444:15 | Address | &:r1444_4 | +| ir.cpp:1444:15:1444:15 | Arg(0) | 0:r1444_4 | +| ir.cpp:1444:15:1444:15 | SideEffect | ~m1441_6 | +| ir.cpp:1444:15:1444:15 | Unary | r1444_2 | +| ir.cpp:1444:15:1444:15 | Unary | r1444_3 | +| ir.cpp:1445:5:1445:15 | CallTarget | func:r1445_1 | +| ir.cpp:1445:5:1445:15 | ChiPartial | partial:m1445_16 | +| ir.cpp:1445:5:1445:15 | ChiTotal | total:m1445_10 | +| ir.cpp:1445:5:1445:15 | SideEffect | ~m1445_10 | +| ir.cpp:1445:17:1445:17 | Address | &:r1445_2 | +| ir.cpp:1445:17:1445:17 | Address | &:r1445_2 | +| ir.cpp:1445:17:1445:17 | Address | &:r1445_2 | +| ir.cpp:1445:17:1445:17 | Address | &:r1445_7 | +| ir.cpp:1445:17:1445:17 | Arg(0) | 0:r1445_7 | +| ir.cpp:1445:17:1445:17 | Arg(0) | 0:r1445_14 | +| ir.cpp:1445:17:1445:17 | Arg(this) | this:r1445_2 | +| ir.cpp:1445:17:1445:17 | CallTarget | func:r1445_4 | +| ir.cpp:1445:17:1445:17 | ChiPartial | partial:m1445_9 | +| ir.cpp:1445:17:1445:17 | ChiPartial | partial:m1445_12 | +| ir.cpp:1445:17:1445:17 | ChiTotal | total:m1444_7 | +| ir.cpp:1445:17:1445:17 | ChiTotal | total:m1445_3 | +| ir.cpp:1445:17:1445:17 | Load | m1445_13 | +| ir.cpp:1445:17:1445:17 | SideEffect | ~m1441_6 | +| ir.cpp:1445:17:1445:17 | SideEffect | ~m1444_7 | +| ir.cpp:1445:17:1445:17 | Unary | r1445_5 | +| ir.cpp:1445:17:1445:17 | Unary | r1445_6 | +| ir.cpp:1446:5:1446:22 | Address | &:r1446_1 | +| ir.cpp:1446:5:1446:22 | Address | &:r1446_1 | +| ir.cpp:1446:5:1446:22 | Address | &:r1446_1 | +| ir.cpp:1446:5:1446:22 | Address | &:r1446_1 | +| ir.cpp:1446:5:1446:22 | Arg(this) | this:r1446_1 | +| ir.cpp:1446:5:1446:22 | Arg(this) | this:r1446_1 | +| ir.cpp:1446:5:1446:22 | CallTarget | func:r1446_3 | +| ir.cpp:1446:5:1446:22 | ChiPartial | partial:m1446_5 | +| ir.cpp:1446:5:1446:22 | ChiPartial | partial:m1446_7 | +| ir.cpp:1446:5:1446:22 | ChiPartial | partial:m1446_14 | +| ir.cpp:1446:5:1446:22 | ChiTotal | total:m1445_17 | +| ir.cpp:1446:5:1446:22 | ChiTotal | total:m1446_2 | +| ir.cpp:1446:5:1446:22 | ChiTotal | total:m1446_8 | +| ir.cpp:1446:5:1446:22 | SideEffect | m1446_8 | +| ir.cpp:1446:5:1446:22 | SideEffect | ~m1445_17 | +| ir.cpp:1446:24:1446:29 | CallTarget | func:r1446_9 | +| ir.cpp:1446:24:1446:29 | ChiPartial | partial:m1446_11 | +| ir.cpp:1446:24:1446:29 | ChiTotal | total:m1446_6 | +| ir.cpp:1446:24:1446:29 | SideEffect | ~m1446_6 | +| ir.cpp:1447:5:1447:33 | CallTarget | func:r1447_2 | +| ir.cpp:1447:5:1447:33 | ChiPartial | partial:m1447_4 | +| ir.cpp:1447:5:1447:33 | ChiTotal | total:m1446_12 | +| ir.cpp:1447:5:1447:33 | SideEffect | ~m1446_12 | +| ir.cpp:1447:5:1447:33 | StoreValue | r1447_3 | +| ir.cpp:1447:5:1447:35 | Address | &:r1447_1 | +| ir.cpp:1447:5:1447:35 | Address | &:r1447_1 | +| ir.cpp:1447:5:1447:35 | Address | &:r1447_1 | +| ir.cpp:1447:5:1447:35 | Arg(this) | this:r1447_1 | +| ir.cpp:1447:5:1447:35 | ChiPartial | partial:m1447_12 | +| ir.cpp:1447:5:1447:35 | ChiTotal | total:m1447_6 | +| ir.cpp:1447:5:1447:35 | SideEffect | m1447_6 | +| ir.cpp:1447:37:1447:42 | CallTarget | func:r1447_7 | +| ir.cpp:1447:37:1447:42 | ChiPartial | partial:m1447_9 | +| ir.cpp:1447:37:1447:42 | ChiTotal | total:m1447_5 | +| ir.cpp:1447:37:1447:42 | SideEffect | ~m1447_5 | +| ir.cpp:1448:5:1448:38 | CallTarget | func:r1448_2 | +| ir.cpp:1448:5:1448:38 | ChiPartial | partial:m1448_4 | +| ir.cpp:1448:5:1448:38 | ChiTotal | total:m1447_10 | +| ir.cpp:1448:5:1448:38 | SideEffect | ~m1447_10 | +| ir.cpp:1448:5:1448:38 | StoreValue | r1448_3 | +| ir.cpp:1448:5:1448:40 | Address | &:r1448_1 | +| ir.cpp:1450:9:1450:9 | Address | &:r1450_1 | +| ir.cpp:1450:13:1450:41 | CallTarget | func:r1450_3 | +| ir.cpp:1450:13:1450:41 | ChiPartial | partial:m1450_5 | +| ir.cpp:1450:13:1450:41 | ChiTotal | total:m1448_5 | +| ir.cpp:1450:13:1450:41 | SideEffect | ~m1448_5 | +| ir.cpp:1450:13:1450:41 | StoreValue | r1450_4 | +| ir.cpp:1450:13:1450:43 | Address | &:r1450_2 | +| ir.cpp:1450:13:1450:43 | Unary | r1450_2 | +| ir.cpp:1450:45:1450:45 | Address | &:r1450_8 | +| ir.cpp:1450:45:1450:45 | Load | ~m1450_7 | +| ir.cpp:1450:45:1450:45 | StoreValue | r1450_9 | +| ir.cpp:1453:6:1453:20 | ChiPartial | partial:m1453_3 | +| ir.cpp:1453:6:1453:20 | ChiTotal | total:m1453_2 | +| ir.cpp:1453:6:1453:20 | SideEffect | ~m1462_4 | +| ir.cpp:1454:11:1454:11 | Address | &:r1454_1 | +| ir.cpp:1454:15:1454:32 | CallTarget | func:r1454_2 | +| ir.cpp:1454:15:1454:32 | ChiPartial | partial:m1454_4 | +| ir.cpp:1454:15:1454:32 | ChiTotal | total:m1453_4 | +| ir.cpp:1454:15:1454:32 | SideEffect | ~m1453_4 | +| ir.cpp:1454:15:1454:32 | StoreValue | r1454_3 | +| ir.cpp:1455:18:1455:19 | Address | &:r1455_1 | +| ir.cpp:1455:23:1455:40 | CallTarget | func:r1455_3 | +| ir.cpp:1455:23:1455:40 | ChiPartial | partial:m1455_5 | +| ir.cpp:1455:23:1455:40 | ChiTotal | total:m1454_5 | +| ir.cpp:1455:23:1455:40 | SideEffect | ~m1454_5 | +| ir.cpp:1455:23:1455:40 | StoreValue | r1455_4 | +| ir.cpp:1455:23:1455:42 | Address | &:r1455_2 | +| ir.cpp:1455:23:1455:42 | StoreValue | r1455_9 | +| ir.cpp:1455:23:1455:42 | Unary | r1455_2 | +| ir.cpp:1455:23:1455:42 | Unary | r1455_8 | +| ir.cpp:1457:5:1457:13 | CallTarget | func:r1457_1 | +| ir.cpp:1457:5:1457:13 | ChiPartial | partial:m1457_6 | +| ir.cpp:1457:5:1457:13 | ChiTotal | total:m1455_6 | +| ir.cpp:1457:5:1457:13 | SideEffect | ~m1455_6 | +| ir.cpp:1457:15:1457:15 | Address | &:r1457_4 | +| ir.cpp:1457:15:1457:15 | Arg(0) | 0:r1457_4 | +| ir.cpp:1457:15:1457:15 | SideEffect | ~m1454_6 | +| ir.cpp:1457:15:1457:15 | Unary | r1457_2 | +| ir.cpp:1457:15:1457:15 | Unary | r1457_3 | +| ir.cpp:1458:5:1458:15 | CallTarget | func:r1458_1 | +| ir.cpp:1458:5:1458:15 | ChiPartial | partial:m1458_5 | +| ir.cpp:1458:5:1458:15 | ChiTotal | total:m1457_7 | +| ir.cpp:1458:5:1458:15 | SideEffect | ~m1457_7 | +| ir.cpp:1458:17:1458:17 | Address | &:r1458_2 | +| ir.cpp:1458:17:1458:17 | Arg(0) | 0:r1458_3 | +| ir.cpp:1458:17:1458:17 | Load | m1454_6 | +| ir.cpp:1460:9:1460:9 | Address | &:r1460_1 | +| ir.cpp:1460:13:1460:30 | Address | &:r1460_6 | +| ir.cpp:1460:13:1460:30 | CallTarget | func:r1460_2 | +| ir.cpp:1460:13:1460:30 | ChiPartial | partial:m1460_4 | +| ir.cpp:1460:13:1460:30 | ChiTotal | total:m1458_6 | +| ir.cpp:1460:13:1460:30 | SideEffect | ~m1458_6 | +| ir.cpp:1460:13:1460:30 | StoreValue | r1460_3 | +| ir.cpp:1460:13:1460:30 | Unary | r1460_6 | +| ir.cpp:1460:34:1460:34 | Address | &:r1460_8 | +| ir.cpp:1460:34:1460:34 | Load | ~m1460_7 | +| ir.cpp:1460:34:1460:34 | StoreValue | r1460_9 | +| ir.cpp:1462:5:1462:27 | CallTarget | func:r1462_1 | +| ir.cpp:1462:5:1462:27 | ChiPartial | partial:m1462_3 | +| ir.cpp:1462:5:1462:27 | ChiTotal | total:m1460_5 | +| ir.cpp:1462:5:1462:27 | SideEffect | ~m1460_5 | +| ir.cpp:1470:6:1470:29 | ChiPartial | partial:m1470_3 | +| ir.cpp:1470:6:1470:29 | ChiTotal | total:m1470_2 | +| ir.cpp:1470:6:1470:29 | SideEffect | ~m1475_5 | +| ir.cpp:1471:16:1471:17 | Address | &:r1471_1 | +| ir.cpp:1471:21:1471:46 | Address | &:r1471_6 | +| ir.cpp:1471:21:1471:46 | CallTarget | func:r1471_2 | +| ir.cpp:1471:21:1471:46 | ChiPartial | partial:m1471_4 | +| ir.cpp:1471:21:1471:46 | ChiTotal | total:m1470_4 | +| ir.cpp:1471:21:1471:46 | SideEffect | ~m1470_4 | +| ir.cpp:1471:21:1471:46 | StoreValue | r1471_3 | +| ir.cpp:1471:21:1471:46 | Unary | r1471_6 | +| ir.cpp:1471:21:1471:50 | StoreValue | r1471_12 | +| ir.cpp:1471:21:1471:50 | Unary | r1471_10 | +| ir.cpp:1471:21:1471:50 | Unary | r1471_11 | +| ir.cpp:1471:50:1471:50 | Address | &:r1471_8 | +| ir.cpp:1471:50:1471:50 | Load | ~m1471_7 | +| ir.cpp:1471:50:1471:50 | Unary | r1471_9 | +| ir.cpp:1472:9:1472:9 | Address | &:r1472_1 | +| ir.cpp:1472:13:1472:38 | Address | &:r1472_6 | +| ir.cpp:1472:13:1472:38 | CallTarget | func:r1472_2 | +| ir.cpp:1472:13:1472:38 | ChiPartial | partial:m1472_4 | +| ir.cpp:1472:13:1472:38 | ChiTotal | total:m1471_5 | +| ir.cpp:1472:13:1472:38 | SideEffect | ~m1471_5 | +| ir.cpp:1472:13:1472:38 | StoreValue | r1472_3 | +| ir.cpp:1472:13:1472:38 | Unary | r1472_6 | +| ir.cpp:1472:13:1472:42 | Load | ~m1472_5 | +| ir.cpp:1472:13:1472:42 | StoreValue | r1472_10 | +| ir.cpp:1472:42:1472:42 | Address | &:r1472_8 | +| ir.cpp:1472:42:1472:42 | Address | &:r1472_9 | +| ir.cpp:1472:42:1472:42 | Load | ~m1472_7 | +| ir.cpp:1474:18:1474:19 | Address | &:r1474_1 | +| ir.cpp:1474:23:1474:48 | Address | &:r1474_6 | +| ir.cpp:1474:23:1474:48 | CallTarget | func:r1474_2 | +| ir.cpp:1474:23:1474:48 | ChiPartial | partial:m1474_4 | +| ir.cpp:1474:23:1474:48 | ChiTotal | total:m1472_5 | +| ir.cpp:1474:23:1474:48 | SideEffect | ~m1472_5 | +| ir.cpp:1474:23:1474:48 | StoreValue | r1474_3 | +| ir.cpp:1474:23:1474:48 | Unary | r1474_6 | +| ir.cpp:1474:23:1474:52 | Left | r1474_9 | +| ir.cpp:1474:23:1474:55 | StoreValue | r1474_13 | +| ir.cpp:1474:23:1474:55 | Unary | r1474_11 | +| ir.cpp:1474:23:1474:55 | Unary | r1474_12 | +| ir.cpp:1474:52:1474:52 | Unary | r1474_8 | +| ir.cpp:1474:54:1474:54 | Right | r1474_10 | +| ir.cpp:1475:11:1475:11 | Address | &:r1475_1 | +| ir.cpp:1475:15:1475:40 | Address | &:r1475_6 | +| ir.cpp:1475:15:1475:40 | CallTarget | func:r1475_2 | +| ir.cpp:1475:15:1475:40 | ChiPartial | partial:m1475_4 | +| ir.cpp:1475:15:1475:40 | ChiTotal | total:m1474_5 | +| ir.cpp:1475:15:1475:40 | SideEffect | ~m1474_5 | +| ir.cpp:1475:15:1475:40 | StoreValue | r1475_3 | +| ir.cpp:1475:15:1475:40 | Unary | r1475_6 | +| ir.cpp:1475:15:1475:44 | Left | r1475_9 | +| ir.cpp:1475:15:1475:47 | Address | &:r1475_11 | +| ir.cpp:1475:15:1475:47 | Load | ~m1475_7 | +| ir.cpp:1475:15:1475:47 | StoreValue | r1475_12 | +| ir.cpp:1475:44:1475:44 | Unary | r1475_8 | +| ir.cpp:1475:46:1475:46 | Right | r1475_10 | +| ir.cpp:1492:6:1492:24 | ChiPartial | partial:m1492_3 | +| ir.cpp:1492:6:1492:24 | ChiTotal | total:m1492_2 | +| ir.cpp:1492:6:1492:24 | SideEffect | ~m1496_10 | +| ir.cpp:1493:14:1493:14 | Address | &:r1493_1 | +| ir.cpp:1493:18:1493:40 | CallTarget | func:r1493_2 | +| ir.cpp:1493:18:1493:40 | ChiPartial | partial:m1493_4 | +| ir.cpp:1493:18:1493:40 | ChiTotal | total:m1492_4 | +| ir.cpp:1493:18:1493:40 | SideEffect | ~m1492_4 | +| ir.cpp:1493:18:1493:40 | StoreValue | r1493_3 | +| ir.cpp:1494:5:1494:5 | Address | &:r1494_10 | +| ir.cpp:1494:9:1494:36 | Address | &:r1494_1 | +| ir.cpp:1494:9:1494:36 | Address | &:r1494_8 | +| ir.cpp:1494:9:1494:36 | Load | ~m1494_6 | +| ir.cpp:1494:9:1494:36 | StoreValue | r1494_9 | +| ir.cpp:1494:9:1494:36 | Unary | r1494_1 | +| ir.cpp:1494:9:1494:36 | Unary | r1494_7 | +| ir.cpp:1494:10:1494:33 | CallTarget | func:r1494_2 | +| ir.cpp:1494:10:1494:33 | ChiPartial | partial:m1494_4 | +| ir.cpp:1494:10:1494:33 | ChiTotal | total:m1493_5 | +| ir.cpp:1494:10:1494:33 | SideEffect | ~m1493_5 | +| ir.cpp:1494:10:1494:33 | StoreValue | r1494_3 | +| ir.cpp:1495:9:1495:9 | Address | &:r1495_1 | +| ir.cpp:1495:13:1495:36 | CallTarget | func:r1495_2 | +| ir.cpp:1495:13:1495:36 | ChiPartial | partial:m1495_4 | +| ir.cpp:1495:13:1495:36 | ChiTotal | total:m1494_5 | +| ir.cpp:1495:13:1495:36 | SideEffect | ~m1494_5 | +| ir.cpp:1495:13:1495:36 | StoreValue | r1495_3 | +| ir.cpp:1495:40:1495:40 | Address | &:r1495_7 | +| ir.cpp:1495:40:1495:40 | Load | ~m1495_6 | +| ir.cpp:1495:40:1495:40 | StoreValue | r1495_8 | +| ir.cpp:1496:11:1496:11 | Address | &:r1496_1 | +| ir.cpp:1496:16:1496:39 | CallTarget | func:r1496_2 | +| ir.cpp:1496:16:1496:39 | ChiPartial | partial:m1496_4 | +| ir.cpp:1496:16:1496:39 | ChiTotal | total:m1495_5 | +| ir.cpp:1496:16:1496:39 | SideEffect | ~m1495_5 | +| ir.cpp:1496:16:1496:39 | StoreValue | r1496_3 | +| ir.cpp:1496:44:1496:44 | Arg(this) | this:r0_11 | +| ir.cpp:1496:44:1496:44 | CallTarget | func:r1496_7 | +| ir.cpp:1496:44:1496:44 | ChiPartial | partial:m1496_9 | +| ir.cpp:1496:44:1496:44 | ChiTotal | total:m1496_5 | +| ir.cpp:1496:44:1496:44 | SideEffect | ~m1496_5 | +| ir.cpp:1496:44:1496:44 | StoreValue | r1496_8 | +| ir.cpp:1500:3:1500:21 | Address | &:r1500_5 | +| ir.cpp:1500:3:1500:21 | Address | &:r1500_5 | +| ir.cpp:1500:3:1500:21 | Address | &:r1500_7 | +| ir.cpp:1500:3:1500:21 | Address | &:r1500_7 | +| ir.cpp:1500:3:1500:21 | ChiPartial | partial:m1500_3 | +| ir.cpp:1500:3:1500:21 | ChiTotal | total:m1500_2 | +| ir.cpp:1500:3:1500:21 | Load | m1500_6 | +| ir.cpp:1500:3:1500:21 | SideEffect | m1500_3 | +| ir.cpp:1500:3:1500:21 | SideEffect | m1500_8 | +| ir.cpp:1506:3:1506:20 | Address | &:r1506_5 | +| ir.cpp:1506:3:1506:20 | Address | &:r1506_5 | +| ir.cpp:1506:3:1506:20 | Address | &:r1506_7 | +| ir.cpp:1506:3:1506:20 | Address | &:r1506_7 | +| ir.cpp:1506:3:1506:20 | ChiPartial | partial:m1506_3 | +| ir.cpp:1506:3:1506:20 | ChiTotal | total:m1506_2 | +| ir.cpp:1506:3:1506:20 | Load | m1506_6 | +| ir.cpp:1506:3:1506:20 | SideEffect | m1506_3 | +| ir.cpp:1506:3:1506:20 | SideEffect | m1507_6 | +| ir.cpp:1506:3:1506:20 | Unary | m1506_6 | +| ir.cpp:1506:26:1506:30 | Address | &:r1506_9 | +| ir.cpp:1506:26:1506:30 | ChiPartial | partial:m1506_11 | +| ir.cpp:1506:26:1506:30 | ChiTotal | total:m1506_8 | +| ir.cpp:1506:26:1506:30 | StoreValue | r1506_10 | +| ir.cpp:1507:5:1507:5 | Address | &:r1507_2 | +| ir.cpp:1507:5:1507:5 | Address | &:r1507_4 | +| ir.cpp:1507:5:1507:5 | Load | m1506_6 | +| ir.cpp:1507:5:1507:5 | Unary | r1507_3 | +| ir.cpp:1507:5:1507:9 | ChiPartial | partial:m1507_5 | +| ir.cpp:1507:5:1507:9 | ChiTotal | total:m1506_12 | +| ir.cpp:1507:9:1507:9 | StoreValue | r1507_1 | +| ir.cpp:1511:6:1511:29 | ChiPartial | partial:m1511_3 | +| ir.cpp:1511:6:1511:29 | ChiTotal | total:m1511_2 | +| ir.cpp:1511:6:1511:29 | SideEffect | m1511_3 | +| ir.cpp:1512:9:1512:10 | Address | &:r1512_1 | +| ir.cpp:1512:9:1512:10 | Left | r1512_1 | +| ir.cpp:1512:9:1512:10 | Left | r1512_1 | +| ir.cpp:1512:16:1512:22 | Address | &:r1512_4 | +| ir.cpp:1512:16:1512:22 | Address | &:r1512_9 | +| ir.cpp:1512:16:1512:22 | Right | r1512_3 | +| ir.cpp:1512:16:1512:22 | Right | r1512_8 | +| ir.cpp:1512:18:1512:18 | ChiPartial | partial:m1512_6 | +| ir.cpp:1512:18:1512:18 | ChiTotal | total:m1512_2 | +| ir.cpp:1512:18:1512:18 | StoreValue | r1512_5 | +| ir.cpp:1512:21:1512:21 | ChiPartial | partial:m1512_11 | +| ir.cpp:1512:21:1512:21 | ChiTotal | total:m1512_7 | +| ir.cpp:1512:21:1512:21 | StoreValue | r1512_10 | +| ir.cpp:1515:15:1515:15 | Address | &:r1515_1 | +| ir.cpp:1515:16:1515:16 | Address | &:r1515_5 | +| ir.cpp:1515:20:1515:20 | Address | &:r1515_6 | +| ir.cpp:1515:26:1515:27 | StoreValue | r1515_3 | +| ir.cpp:1515:26:1515:27 | Unary | r1515_2 | +| ir.cpp:1516:9:1516:10 | Address | &:r1516_2 | +| ir.cpp:1516:9:1516:10 | Address | &:r1516_3 | +| ir.cpp:1516:9:1516:10 | Load | m0_14 | +| ir.cpp:1516:9:1516:14 | ChiPartial | partial:m1516_4 | +| ir.cpp:1516:9:1516:14 | ChiTotal | total:m1512_12 | +| ir.cpp:1516:14:1516:14 | StoreValue | r1516_1 | +| ir.cpp:1517:14:1517:16 | Address | &:r1517_1 | +| ir.cpp:1517:20:1517:21 | Address | &:r1517_2 | +| ir.cpp:1517:20:1517:21 | Load | m0_14 | +| ir.cpp:1517:20:1517:21 | StoreValue | r1517_4 | +| ir.cpp:1517:20:1517:21 | Unary | r1517_3 | +| ir.cpp:1518:13:1518:13 | Address | &:r1518_1 | +| ir.cpp:1518:17:1518:18 | Address | &:r1518_2 | +| ir.cpp:1518:17:1518:18 | Address | &:r1518_3 | +| ir.cpp:1518:17:1518:18 | Load | m0_14 | +| ir.cpp:1518:17:1518:18 | Load | m1516_4 | +| ir.cpp:1518:17:1518:18 | StoreValue | r1518_4 | +| ir.cpp:1522:15:1522:36 | Address | &:r1522_1 | +| ir.cpp:1522:40:1522:41 | StoreValue | r1522_3 | +| ir.cpp:1522:40:1522:41 | Unary | r1522_2 | +| ir.cpp:1523:15:1523:16 | Address | &:r1523_1 | +| ir.cpp:1523:20:1523:41 | Address | &:r1523_2 | +| ir.cpp:1523:20:1523:41 | Left | r1523_5 | +| ir.cpp:1523:20:1523:41 | Load | m1522_4 | +| ir.cpp:1523:20:1523:41 | Unary | r1523_3 | +| ir.cpp:1523:20:1523:41 | Unary | r1523_4 | +| ir.cpp:1523:20:1523:44 | StoreValue | r1523_8 | +| ir.cpp:1523:20:1523:44 | Unary | r1523_7 | +| ir.cpp:1523:43:1523:43 | Right | r1523_6 | +| ir.cpp:1524:15:1524:16 | Address | &:r1524_1 | +| ir.cpp:1524:20:1524:41 | Address | &:r1524_2 | +| ir.cpp:1524:20:1524:41 | Left | r1524_5 | +| ir.cpp:1524:20:1524:41 | Load | m1522_4 | +| ir.cpp:1524:20:1524:41 | Unary | r1524_3 | +| ir.cpp:1524:20:1524:41 | Unary | r1524_4 | +| ir.cpp:1524:20:1524:44 | StoreValue | r1524_8 | +| ir.cpp:1524:20:1524:44 | Unary | r1524_7 | +| ir.cpp:1524:43:1524:43 | Right | r1524_6 | +| ir.cpp:1525:9:1525:10 | Address | &:r1525_2 | +| ir.cpp:1525:9:1525:10 | Address | &:r1525_4 | +| ir.cpp:1525:9:1525:10 | Load | m1524_9 | +| ir.cpp:1525:9:1525:10 | Unary | r1525_3 | +| ir.cpp:1525:9:1525:14 | ChiPartial | partial:m1525_5 | +| ir.cpp:1525:9:1525:14 | ChiTotal | total:m1516_5 | +| ir.cpp:1525:14:1525:14 | StoreValue | r1525_1 | +| ir.cpp:1526:14:1526:16 | Address | &:r1526_1 | +| ir.cpp:1526:20:1526:21 | Address | &:r1526_2 | +| ir.cpp:1526:20:1526:21 | Load | m1524_9 | +| ir.cpp:1526:20:1526:21 | StoreValue | r1526_5 | +| ir.cpp:1526:20:1526:21 | Unary | r1526_3 | +| ir.cpp:1526:20:1526:21 | Unary | r1526_4 | +| ir.cpp:1527:13:1527:13 | Address | &:r1527_1 | +| ir.cpp:1527:17:1527:18 | Address | &:r1527_2 | +| ir.cpp:1527:17:1527:18 | Address | &:r1527_3 | +| ir.cpp:1527:17:1527:18 | Load | m1524_9 | +| ir.cpp:1527:17:1527:18 | Load | m1525_5 | +| ir.cpp:1527:17:1527:18 | StoreValue | r1527_4 | +| ir.cpp:1531:8:1531:8 | Address | &:r1531_5 | +| ir.cpp:1531:8:1531:8 | Address | &:r1531_5 | +| ir.cpp:1531:8:1531:8 | Address | &:r1531_7 | +| ir.cpp:1531:8:1531:8 | Address | &:r1531_7 | +| ir.cpp:1531:8:1531:8 | ChiPartial | partial:m1531_3 | +| ir.cpp:1531:8:1531:8 | ChiTotal | total:m1531_2 | +| ir.cpp:1531:8:1531:8 | Load | m1531_6 | +| ir.cpp:1531:8:1531:8 | SideEffect | m1531_3 | +| ir.cpp:1531:8:1531:8 | SideEffect | m1531_8 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_5 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_5 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_5 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_5 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_7 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_7 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_7 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_7 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_9 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_10 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_13 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_17 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_18 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_21 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_25 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_26 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_29 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_33 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_34 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_37 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_41 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_42 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_45 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_49 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_50 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_53 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_57 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_58 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_61 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_65 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_66 | +| ir.cpp:1535:8:1535:8 | Address | &:r1535_69 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_3 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_3 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_15 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_23 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_31 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_39 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_47 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_55 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_63 | +| ir.cpp:1535:8:1535:8 | ChiPartial | partial:m1535_71 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_2 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_2 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_8 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_16 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_24 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_32 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_40 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_48 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_56 | +| ir.cpp:1535:8:1535:8 | ChiTotal | total:m1535_64 | +| ir.cpp:1535:8:1535:8 | Load | m0_2 | +| ir.cpp:1535:8:1535:8 | Load | m0_2 | +| ir.cpp:1535:8:1535:8 | Load | m0_2 | +| ir.cpp:1535:8:1535:8 | Load | m0_2 | +| ir.cpp:1535:8:1535:8 | Load | m0_2 | +| ir.cpp:1535:8:1535:8 | Load | m0_2 | +| ir.cpp:1535:8:1535:8 | Load | m0_2 | +| ir.cpp:1535:8:1535:8 | Load | m0_2 | +| ir.cpp:1535:8:1535:8 | Load | m1535_6 | +| ir.cpp:1535:8:1535:8 | Load | m1535_6 | +| ir.cpp:1535:8:1535:8 | Load | ~m0_4 | +| ir.cpp:1535:8:1535:8 | Load | ~m0_4 | +| ir.cpp:1535:8:1535:8 | Load | ~m0_4 | +| ir.cpp:1535:8:1535:8 | Load | ~m0_4 | +| ir.cpp:1535:8:1535:8 | Load | ~m0_4 | +| ir.cpp:1535:8:1535:8 | Load | ~m0_4 | +| ir.cpp:1535:8:1535:8 | Load | ~m0_4 | +| ir.cpp:1535:8:1535:8 | Load | ~m0_4 | +| ir.cpp:1535:8:1535:8 | SideEffect | m1535_3 | +| ir.cpp:1535:8:1535:8 | SideEffect | m1535_3 | +| ir.cpp:1535:8:1535:8 | SideEffect | m1535_8 | +| ir.cpp:1535:8:1535:8 | SideEffect | m1535_72 | +| ir.cpp:1535:8:1535:8 | StoreValue | r1535_14 | +| ir.cpp:1535:8:1535:8 | StoreValue | r1535_22 | +| ir.cpp:1535:8:1535:8 | StoreValue | r1535_30 | +| ir.cpp:1535:8:1535:8 | StoreValue | r1535_38 | +| ir.cpp:1535:8:1535:8 | StoreValue | r1535_46 | +| ir.cpp:1535:8:1535:8 | StoreValue | r1535_54 | +| ir.cpp:1535:8:1535:8 | StoreValue | r1535_62 | +| ir.cpp:1535:8:1535:8 | StoreValue | r1535_70 | +| ir.cpp:1535:8:1535:8 | Unary | m1535_6 | +| ir.cpp:1535:8:1535:8 | Unary | m1535_6 | +| ir.cpp:1535:8:1535:8 | Unary | m1535_6 | +| ir.cpp:1535:8:1535:8 | Unary | m1535_6 | +| ir.cpp:1535:8:1535:8 | Unary | m1535_6 | +| ir.cpp:1535:8:1535:8 | Unary | m1535_6 | +| ir.cpp:1535:8:1535:8 | Unary | m1535_6 | +| ir.cpp:1535:8:1535:8 | Unary | m1535_6 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_11 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_12 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_19 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_20 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_27 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_28 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_35 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_36 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_43 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_44 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_51 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_52 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_59 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_60 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_67 | +| ir.cpp:1535:8:1535:8 | Unary | r1535_68 | +| ir.cpp:1548:6:1548:35 | ChiPartial | partial:m1548_3 | +| ir.cpp:1548:6:1548:35 | ChiTotal | total:m1548_2 | +| ir.cpp:1548:6:1548:35 | SideEffect | ~m1574_7 | +| ir.cpp:1549:39:1549:39 | Address | &:r1549_1 | +| ir.cpp:1549:39:1549:39 | Address | &:r1549_1 | +| ir.cpp:1549:39:1549:39 | Arg(this) | this:r1549_1 | +| ir.cpp:1549:39:1549:39 | CallTarget | func:r1549_3 | +| ir.cpp:1549:39:1549:39 | ChiPartial | partial:m1549_5 | +| ir.cpp:1549:39:1549:39 | ChiPartial | partial:m1549_7 | +| ir.cpp:1549:39:1549:39 | ChiTotal | total:m1548_4 | +| ir.cpp:1549:39:1549:39 | ChiTotal | total:m1549_2 | +| ir.cpp:1549:39:1549:39 | SideEffect | ~m1548_4 | +| ir.cpp:1552:14:1552:14 | Address | &:r1552_1 | +| ir.cpp:1552:15:1552:15 | Address | &:r1552_5 | +| ir.cpp:1552:18:1552:18 | Address | &:r1552_9 | +| ir.cpp:1552:21:1552:21 | Address | &:r1552_13 | +| ir.cpp:1552:24:1552:24 | Address | &:r1552_17 | +| ir.cpp:1552:27:1552:27 | Address | &:r1552_23 | +| ir.cpp:1552:30:1552:30 | Address | &:r1552_27 | +| ir.cpp:1552:34:1552:34 | Address | &:r1552_31 | +| ir.cpp:1552:41:1552:41 | Address | &:r1552_37 | +| ir.cpp:1552:46:1552:46 | Address | &:r1552_2 | +| ir.cpp:1552:46:1552:46 | Load | m1549_8 | +| ir.cpp:1552:46:1552:46 | StoreValue | r1552_3 | +| ir.cpp:1552:47:1552:47 | Address | &:r1552_19 | +| ir.cpp:1552:47:1552:47 | Address | &:r1552_33 | +| ir.cpp:1552:47:1552:47 | Load | ~m1552_4 | +| ir.cpp:1552:47:1552:47 | Load | ~m1552_4 | +| ir.cpp:1552:47:1552:47 | StoreValue | r1552_7 | +| ir.cpp:1552:47:1552:47 | StoreValue | r1552_11 | +| ir.cpp:1552:47:1552:47 | StoreValue | r1552_15 | +| ir.cpp:1552:47:1552:47 | StoreValue | r1552_21 | +| ir.cpp:1552:47:1552:47 | StoreValue | r1552_25 | +| ir.cpp:1552:47:1552:47 | StoreValue | r1552_29 | +| ir.cpp:1552:47:1552:47 | StoreValue | r1552_35 | +| ir.cpp:1552:47:1552:47 | StoreValue | r1552_39 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_6 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_10 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_14 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_18 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_20 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_24 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_28 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_32 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_34 | +| ir.cpp:1552:47:1552:47 | Unary | r1552_38 | +| ir.cpp:1553:9:1553:9 | Address | &:r1553_2 | +| ir.cpp:1553:9:1553:9 | Address | &:r1553_3 | +| ir.cpp:1553:9:1553:9 | Load | m1552_12 | +| ir.cpp:1553:9:1553:15 | ChiPartial | partial:m1553_4 | +| ir.cpp:1553:9:1553:15 | ChiTotal | total:m1552_4 | +| ir.cpp:1553:13:1553:15 | StoreValue | r1553_1 | +| ir.cpp:1554:17:1554:18 | Address | &:r1554_1 | +| ir.cpp:1554:22:1554:22 | Address | &:r1554_2 | +| ir.cpp:1554:22:1554:22 | Load | m1552_12 | +| ir.cpp:1554:22:1554:22 | StoreValue | r1554_4 | +| ir.cpp:1554:22:1554:22 | Unary | r1554_3 | +| ir.cpp:1555:13:1555:13 | Address | &:r1555_1 | +| ir.cpp:1555:17:1555:17 | Address | &:r1555_2 | +| ir.cpp:1555:17:1555:17 | Address | &:r1555_3 | +| ir.cpp:1555:17:1555:17 | Load | m1552_8 | +| ir.cpp:1555:17:1555:17 | Load | ~m1552_4 | +| ir.cpp:1555:17:1555:17 | StoreValue | r1555_4 | +| ir.cpp:1556:9:1556:9 | Address | &:r1556_2 | +| ir.cpp:1556:9:1556:9 | Address | &:r1556_3 | +| ir.cpp:1556:9:1556:9 | Load | m1552_22 | +| ir.cpp:1556:9:1556:13 | ChiPartial | partial:m1556_4 | +| ir.cpp:1556:9:1556:13 | ChiTotal | total:m1549_6 | +| ir.cpp:1556:13:1556:13 | StoreValue | r1556_1 | +| ir.cpp:1557:9:1557:10 | Address | &:r1557_5 | +| ir.cpp:1557:9:1557:14 | ChiPartial | partial:m1557_6 | +| ir.cpp:1557:9:1557:14 | ChiTotal | total:m1556_5 | +| ir.cpp:1557:10:1557:10 | Address | &:r1557_2 | +| ir.cpp:1557:10:1557:10 | Address | &:r1557_3 | +| ir.cpp:1557:10:1557:10 | Load | m1552_26 | +| ir.cpp:1557:10:1557:10 | Load | ~m1552_4 | +| ir.cpp:1557:10:1557:10 | Unary | r1557_4 | +| ir.cpp:1557:14:1557:14 | StoreValue | r1557_1 | +| ir.cpp:1558:14:1558:15 | Address | &:r1558_1 | +| ir.cpp:1558:19:1558:19 | Address | &:r1558_2 | +| ir.cpp:1558:19:1558:19 | Load | m1552_22 | +| ir.cpp:1558:19:1558:19 | StoreValue | r1558_4 | +| ir.cpp:1558:19:1558:19 | Unary | r1558_3 | +| ir.cpp:1559:14:1559:15 | Address | &:r1559_1 | +| ir.cpp:1559:19:1559:20 | StoreValue | r1559_4 | +| ir.cpp:1559:20:1559:20 | Address | &:r1559_2 | +| ir.cpp:1559:20:1559:20 | Load | m1552_22 | +| ir.cpp:1559:20:1559:20 | Unary | r1559_3 | +| ir.cpp:1560:13:1560:13 | Address | &:r1560_1 | +| ir.cpp:1560:17:1560:17 | Address | &:r1560_2 | +| ir.cpp:1560:17:1560:17 | Address | &:r1560_3 | +| ir.cpp:1560:17:1560:17 | Load | m1552_22 | +| ir.cpp:1560:17:1560:17 | Load | ~m1557_7 | +| ir.cpp:1560:17:1560:17 | StoreValue | r1560_4 | +| ir.cpp:1564:14:1564:35 | Address | &:r1564_1 | +| ir.cpp:1564:39:1564:39 | Address | &:r1564_2 | +| ir.cpp:1564:39:1564:39 | Load | m1549_8 | +| ir.cpp:1564:39:1564:39 | StoreValue | r1564_3 | +| ir.cpp:1565:15:1565:15 | Address | &:r1565_1 | +| ir.cpp:1565:19:1565:40 | Unary | r1565_2 | +| ir.cpp:1565:19:1565:42 | StoreValue | r1565_4 | +| ir.cpp:1565:42:1565:42 | Unary | r1565_3 | +| ir.cpp:1566:15:1566:15 | Address | &:r1566_1 | +| ir.cpp:1566:19:1566:40 | Unary | r1566_2 | +| ir.cpp:1566:19:1566:42 | StoreValue | r1566_4 | +| ir.cpp:1566:42:1566:42 | Unary | r1566_3 | +| ir.cpp:1568:15:1568:15 | Address | &:r1568_1 | +| ir.cpp:1568:19:1568:40 | Unary | r1568_2 | +| ir.cpp:1568:19:1568:42 | StoreValue | r1568_6 | +| ir.cpp:1568:19:1568:42 | Unary | r1568_5 | +| ir.cpp:1568:42:1568:42 | Address | &:r1568_3 | +| ir.cpp:1568:42:1568:42 | Load | ~m1564_4 | +| ir.cpp:1568:42:1568:42 | Unary | r1568_4 | +| ir.cpp:1569:15:1569:15 | Address | &:r1569_1 | +| ir.cpp:1569:19:1569:40 | Unary | r1569_2 | +| ir.cpp:1569:19:1569:42 | StoreValue | r1569_4 | +| ir.cpp:1569:42:1569:42 | Unary | r1569_3 | +| ir.cpp:1570:9:1570:9 | Address | &:r1570_2 | +| ir.cpp:1570:9:1570:9 | Address | &:r1570_4 | +| ir.cpp:1570:9:1570:9 | Load | m1566_5 | +| ir.cpp:1570:9:1570:9 | Unary | r1570_3 | +| ir.cpp:1570:9:1570:15 | ChiPartial | partial:m1570_5 | +| ir.cpp:1570:9:1570:15 | ChiTotal | total:m1564_4 | +| ir.cpp:1570:13:1570:15 | StoreValue | r1570_1 | +| ir.cpp:1571:17:1571:18 | Address | &:r1571_1 | +| ir.cpp:1571:22:1571:22 | Address | &:r1571_2 | +| ir.cpp:1571:22:1571:22 | Load | m1566_5 | +| ir.cpp:1571:22:1571:22 | StoreValue | r1571_5 | +| ir.cpp:1571:22:1571:22 | Unary | r1571_3 | +| ir.cpp:1571:22:1571:22 | Unary | r1571_4 | +| ir.cpp:1572:13:1572:13 | Address | &:r1572_1 | +| ir.cpp:1572:17:1572:17 | Address | &:r1572_2 | +| ir.cpp:1572:17:1572:17 | Address | &:r1572_3 | +| ir.cpp:1572:17:1572:17 | Load | m1565_5 | +| ir.cpp:1572:17:1572:17 | Load | ~m1564_4 | +| ir.cpp:1572:17:1572:17 | StoreValue | r1572_4 | +| ir.cpp:1573:9:1573:9 | Address | &:r1573_2 | +| ir.cpp:1573:9:1573:9 | Address | &:r1573_4 | +| ir.cpp:1573:9:1573:9 | Load | m1568_7 | +| ir.cpp:1573:9:1573:9 | Unary | r1573_3 | +| ir.cpp:1573:9:1573:13 | ChiPartial | partial:m1573_5 | +| ir.cpp:1573:9:1573:13 | ChiTotal | total:m1557_7 | +| ir.cpp:1573:13:1573:13 | StoreValue | r1573_1 | +| ir.cpp:1574:9:1574:10 | Address | &:r1574_5 | +| ir.cpp:1574:9:1574:14 | ChiPartial | partial:m1574_6 | +| ir.cpp:1574:9:1574:14 | ChiTotal | total:m1573_6 | +| ir.cpp:1574:10:1574:10 | Address | &:r1574_2 | +| ir.cpp:1574:10:1574:10 | Address | &:r1574_3 | +| ir.cpp:1574:10:1574:10 | Load | m1569_5 | +| ir.cpp:1574:10:1574:10 | Load | ~m1564_4 | +| ir.cpp:1574:10:1574:10 | Unary | r1574_4 | +| ir.cpp:1574:14:1574:14 | StoreValue | r1574_1 | +| ir.cpp:1575:14:1575:15 | Address | &:r1575_1 | +| ir.cpp:1575:19:1575:19 | Address | &:r1575_2 | +| ir.cpp:1575:19:1575:19 | Load | m1568_7 | +| ir.cpp:1575:19:1575:19 | StoreValue | r1575_5 | +| ir.cpp:1575:19:1575:19 | Unary | r1575_3 | +| ir.cpp:1575:19:1575:19 | Unary | r1575_4 | +| ir.cpp:1576:14:1576:15 | Address | &:r1576_1 | +| ir.cpp:1576:19:1576:20 | StoreValue | r1576_5 | +| ir.cpp:1576:20:1576:20 | Address | &:r1576_2 | +| ir.cpp:1576:20:1576:20 | Load | m1568_7 | +| ir.cpp:1576:20:1576:20 | Unary | r1576_3 | +| ir.cpp:1576:20:1576:20 | Unary | r1576_4 | +| ir.cpp:1577:13:1577:13 | Address | &:r1577_1 | +| ir.cpp:1577:17:1577:17 | Address | &:r1577_2 | +| ir.cpp:1577:17:1577:17 | Address | &:r1577_3 | +| ir.cpp:1577:17:1577:17 | Load | m1568_7 | +| ir.cpp:1577:17:1577:17 | Load | ~m1574_7 | +| ir.cpp:1577:17:1577:17 | StoreValue | r1577_4 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_5 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_5 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_5 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_5 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_7 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_7 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_7 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_7 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_9 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_10 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_13 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_17 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_18 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_21 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_25 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_26 | +| ir.cpp:1588:8:1588:8 | Address | &:r1588_29 | +| ir.cpp:1588:8:1588:8 | ChiPartial | partial:m1588_3 | +| ir.cpp:1588:8:1588:8 | ChiPartial | partial:m1588_3 | +| ir.cpp:1588:8:1588:8 | ChiPartial | partial:m1588_15 | +| ir.cpp:1588:8:1588:8 | ChiPartial | partial:m1588_23 | +| ir.cpp:1588:8:1588:8 | ChiPartial | partial:m1588_31 | +| ir.cpp:1588:8:1588:8 | ChiTotal | total:m1588_2 | +| ir.cpp:1588:8:1588:8 | ChiTotal | total:m1588_2 | +| ir.cpp:1588:8:1588:8 | ChiTotal | total:m1588_8 | +| ir.cpp:1588:8:1588:8 | ChiTotal | total:m1588_16 | +| ir.cpp:1588:8:1588:8 | ChiTotal | total:m1588_24 | +| ir.cpp:1588:8:1588:8 | Load | m0_2 | +| ir.cpp:1588:8:1588:8 | Load | m0_2 | +| ir.cpp:1588:8:1588:8 | Load | m0_2 | +| ir.cpp:1588:8:1588:8 | Load | m1588_6 | +| ir.cpp:1588:8:1588:8 | Load | m1588_6 | +| ir.cpp:1588:8:1588:8 | Load | ~m0_4 | +| ir.cpp:1588:8:1588:8 | Load | ~m0_4 | +| ir.cpp:1588:8:1588:8 | Load | ~m0_4 | +| ir.cpp:1588:8:1588:8 | SideEffect | m1588_3 | +| ir.cpp:1588:8:1588:8 | SideEffect | m1588_3 | +| ir.cpp:1588:8:1588:8 | SideEffect | m1588_8 | +| ir.cpp:1588:8:1588:8 | SideEffect | m1588_32 | +| ir.cpp:1588:8:1588:8 | StoreValue | r1588_14 | +| ir.cpp:1588:8:1588:8 | StoreValue | r1588_22 | +| ir.cpp:1588:8:1588:8 | StoreValue | r1588_30 | +| ir.cpp:1588:8:1588:8 | Unary | m1588_6 | +| ir.cpp:1588:8:1588:8 | Unary | m1588_6 | +| ir.cpp:1588:8:1588:8 | Unary | m1588_6 | +| ir.cpp:1588:8:1588:8 | Unary | r1588_11 | +| ir.cpp:1588:8:1588:8 | Unary | r1588_12 | +| ir.cpp:1588:8:1588:8 | Unary | r1588_19 | +| ir.cpp:1588:8:1588:8 | Unary | r1588_20 | +| ir.cpp:1588:8:1588:8 | Unary | r1588_27 | +| ir.cpp:1588:8:1588:8 | Unary | r1588_28 | +| ir.cpp:1616:60:1616:95 | Address | &:r1616_5 | +| ir.cpp:1616:60:1616:95 | Address | &:r1616_5 | +| ir.cpp:1616:60:1616:95 | Address | &:r1616_7 | +| ir.cpp:1616:60:1616:95 | Address | &:r1616_7 | +| ir.cpp:1616:60:1616:95 | Address | &:r1616_10 | +| ir.cpp:1616:60:1616:95 | ChiPartial | partial:m1616_3 | +| ir.cpp:1616:60:1616:95 | ChiTotal | total:m1616_2 | +| ir.cpp:1616:60:1616:95 | Load | m0_2 | +| ir.cpp:1616:60:1616:95 | Load | m1616_6 | +| ir.cpp:1616:60:1616:95 | SideEffect | m1616_3 | +| ir.cpp:1616:60:1616:95 | SideEffect | m1616_8 | +| ir.cpp:1617:5:1617:13 | Address | &:r1617_1 | +| ir.cpp:1617:12:1617:12 | Address | &:r1617_2 | +| ir.cpp:1617:12:1617:12 | Load | m1616_6 | +| ir.cpp:1617:12:1617:12 | Unary | r1617_3 | +| ir.cpp:1617:12:1617:12 | Unary | r1617_4 | +| ir.cpp:1620:60:1620:95 | Address | &:r1620_5 | +| ir.cpp:1620:60:1620:95 | Address | &:r1620_5 | +| ir.cpp:1620:60:1620:95 | Address | &:r1620_7 | +| ir.cpp:1620:60:1620:95 | Address | &:r1620_7 | +| ir.cpp:1620:60:1620:95 | Address | &:r1620_10 | +| ir.cpp:1620:60:1620:95 | ChiPartial | partial:m1620_3 | +| ir.cpp:1620:60:1620:95 | ChiTotal | total:m1620_2 | +| ir.cpp:1620:60:1620:95 | Load | m0_2 | +| ir.cpp:1620:60:1620:95 | Load | m1620_6 | +| ir.cpp:1620:60:1620:95 | SideEffect | m1620_3 | +| ir.cpp:1620:60:1620:95 | SideEffect | m1620_8 | +| ir.cpp:1621:5:1621:13 | Address | &:r1621_1 | +| ir.cpp:1621:12:1621:12 | Address | &:r1621_2 | +| ir.cpp:1621:12:1621:12 | Load | m1620_6 | +| ir.cpp:1621:12:1621:12 | Unary | r1621_3 | +| ir.cpp:1621:12:1621:12 | Unary | r1621_4 | +| ir.cpp:1624:60:1624:95 | Address | &:r1624_5 | +| ir.cpp:1624:60:1624:95 | Address | &:r1624_5 | +| ir.cpp:1624:60:1624:95 | Address | &:r1624_7 | +| ir.cpp:1624:60:1624:95 | Address | &:r1624_7 | +| ir.cpp:1624:60:1624:95 | Address | &:r1624_10 | +| ir.cpp:1624:60:1624:95 | ChiPartial | partial:m1624_3 | +| ir.cpp:1624:60:1624:95 | ChiTotal | total:m1624_2 | +| ir.cpp:1624:60:1624:95 | Load | m1624_6 | +| ir.cpp:1624:60:1624:95 | Load | m1625_8 | +| ir.cpp:1624:60:1624:95 | SideEffect | m1624_3 | +| ir.cpp:1624:60:1624:95 | SideEffect | m1624_8 | +| ir.cpp:1625:5:1625:13 | Address | &:r1625_1 | +| ir.cpp:1625:12:1625:12 | Address | &:r1625_2 | +| ir.cpp:1625:12:1625:12 | Address | &:r1625_4 | +| ir.cpp:1625:12:1625:12 | Load | m1624_6 | +| ir.cpp:1625:12:1625:12 | Load | ~m1624_8 | +| ir.cpp:1625:12:1625:12 | StoreValue | r1625_7 | +| ir.cpp:1625:12:1625:12 | Unary | r1625_3 | +| ir.cpp:1625:12:1625:12 | Unary | r1625_5 | +| ir.cpp:1625:12:1625:12 | Unary | r1625_6 | +| ir.cpp:1628:6:1628:37 | ChiPartial | partial:m1628_3 | +| ir.cpp:1628:6:1628:37 | ChiTotal | total:m1628_2 | +| ir.cpp:1628:6:1628:37 | SideEffect | ~m1649_6 | +| ir.cpp:1629:34:1629:34 | Address | &:r1629_1 | +| ir.cpp:1629:34:1629:34 | Address | &:r1629_1 | +| ir.cpp:1629:34:1629:34 | Arg(this) | this:r1629_1 | +| ir.cpp:1629:34:1629:34 | CallTarget | func:r1629_3 | +| ir.cpp:1629:34:1629:34 | ChiPartial | partial:m1629_5 | +| ir.cpp:1629:34:1629:34 | ChiPartial | partial:m1629_7 | +| ir.cpp:1629:34:1629:34 | ChiTotal | total:m1628_4 | +| ir.cpp:1629:34:1629:34 | ChiTotal | total:m1629_2 | +| ir.cpp:1629:34:1629:34 | SideEffect | ~m1628_4 | +| ir.cpp:1632:14:1632:14 | Address | &:r1632_1 | +| ir.cpp:1632:14:1632:14 | Address | &:r1632_6 | +| ir.cpp:1632:14:1632:14 | Address | &:r1632_6 | +| ir.cpp:1632:14:1632:14 | Address | &:r1632_18 | +| ir.cpp:1632:14:1632:14 | Address | &:r1632_18 | +| ir.cpp:1632:14:1632:14 | Address | &:r1632_30 | +| ir.cpp:1632:14:1632:14 | Address | &:r1632_30 | +| ir.cpp:1632:14:1632:14 | Arg(this) | this:r1632_6 | +| ir.cpp:1632:14:1632:14 | Arg(this) | this:r1632_18 | +| ir.cpp:1632:14:1632:14 | Arg(this) | this:r1632_30 | +| ir.cpp:1632:14:1632:14 | CallTarget | func:r1632_7 | +| ir.cpp:1632:14:1632:14 | CallTarget | func:r1632_19 | +| ir.cpp:1632:14:1632:14 | CallTarget | func:r1632_31 | +| ir.cpp:1632:14:1632:14 | ChiPartial | partial:m1632_9 | +| ir.cpp:1632:14:1632:14 | ChiPartial | partial:m1632_12 | +| ir.cpp:1632:14:1632:14 | ChiPartial | partial:m1632_21 | +| ir.cpp:1632:14:1632:14 | ChiPartial | partial:m1632_24 | +| ir.cpp:1632:14:1632:14 | ChiPartial | partial:m1632_33 | +| ir.cpp:1632:14:1632:14 | ChiPartial | partial:m1632_36 | +| ir.cpp:1632:14:1632:14 | ChiTotal | total:m1629_6 | +| ir.cpp:1632:14:1632:14 | ChiTotal | total:m1632_4 | +| ir.cpp:1632:14:1632:14 | ChiTotal | total:m1632_10 | +| ir.cpp:1632:14:1632:14 | ChiTotal | total:m1632_13 | +| ir.cpp:1632:14:1632:14 | ChiTotal | total:m1632_22 | +| ir.cpp:1632:14:1632:14 | ChiTotal | total:m1632_25 | +| ir.cpp:1632:14:1632:14 | SideEffect | m1632_4 | +| ir.cpp:1632:14:1632:14 | SideEffect | m1632_13 | +| ir.cpp:1632:14:1632:14 | SideEffect | m1632_25 | +| ir.cpp:1632:14:1632:14 | SideEffect | ~m1629_6 | +| ir.cpp:1632:14:1632:14 | SideEffect | ~m1632_10 | +| ir.cpp:1632:14:1632:14 | SideEffect | ~m1632_22 | +| ir.cpp:1632:14:1632:14 | Unary | r1632_8 | +| ir.cpp:1632:14:1632:14 | Unary | r1632_20 | +| ir.cpp:1632:14:1632:14 | Unary | r1632_32 | +| ir.cpp:1632:14:1632:27 | StoreValue | r1632_15 | +| ir.cpp:1632:14:1632:27 | StoreValue | r1632_27 | +| ir.cpp:1632:14:1632:27 | StoreValue | r1632_39 | +| ir.cpp:1632:14:1632:27 | Unary | r1632_14 | +| ir.cpp:1632:14:1632:27 | Unary | r1632_26 | +| ir.cpp:1632:14:1632:27 | Unary | r1632_38 | +| ir.cpp:1632:15:1632:15 | Address | &:r1632_5 | +| ir.cpp:1632:18:1632:18 | Address | &:r1632_17 | +| ir.cpp:1632:21:1632:21 | Address | &:r1632_29 | +| ir.cpp:1632:26:1632:26 | Address | &:r1632_2 | +| ir.cpp:1632:26:1632:26 | Load | m1629_8 | +| ir.cpp:1632:26:1632:26 | StoreValue | r1632_3 | +| ir.cpp:1633:9:1633:9 | Address | &:r1633_2 | +| ir.cpp:1633:9:1633:9 | Address | &:r1633_4 | +| ir.cpp:1633:9:1633:9 | Load | m1632_28 | +| ir.cpp:1633:9:1633:9 | Unary | r1633_3 | +| ir.cpp:1633:9:1633:15 | ChiPartial | partial:m1633_5 | +| ir.cpp:1633:9:1633:15 | ChiTotal | total:m1632_37 | +| ir.cpp:1633:13:1633:15 | StoreValue | r1633_1 | +| ir.cpp:1634:17:1634:18 | Address | &:r1634_1 | +| ir.cpp:1634:22:1634:22 | Address | &:r1634_2 | +| ir.cpp:1634:22:1634:22 | Load | m1632_28 | +| ir.cpp:1634:22:1634:22 | StoreValue | r1634_5 | +| ir.cpp:1634:22:1634:22 | Unary | r1634_3 | +| ir.cpp:1634:22:1634:22 | Unary | r1634_4 | +| ir.cpp:1635:13:1635:13 | Address | &:r1635_1 | +| ir.cpp:1635:17:1635:17 | Address | &:r1635_2 | +| ir.cpp:1635:17:1635:17 | Address | &:r1635_3 | +| ir.cpp:1635:17:1635:17 | Load | m1632_16 | +| ir.cpp:1635:17:1635:17 | Load | ~m1632_37 | +| ir.cpp:1635:17:1635:17 | StoreValue | r1635_4 | +| ir.cpp:1636:9:1636:9 | Address | &:r1636_2 | +| ir.cpp:1636:9:1636:9 | Address | &:r1636_4 | +| ir.cpp:1636:9:1636:9 | Load | m1632_40 | +| ir.cpp:1636:9:1636:9 | Unary | r1636_3 | +| ir.cpp:1636:9:1636:13 | ChiPartial | partial:m1636_5 | +| ir.cpp:1636:9:1636:13 | ChiTotal | total:m1632_34 | +| ir.cpp:1636:13:1636:13 | StoreValue | r1636_1 | +| ir.cpp:1637:14:1637:15 | Address | &:r1637_1 | +| ir.cpp:1637:19:1637:19 | Address | &:r1637_2 | +| ir.cpp:1637:19:1637:19 | Load | m1632_40 | +| ir.cpp:1637:19:1637:19 | StoreValue | r1637_5 | +| ir.cpp:1637:19:1637:19 | Unary | r1637_3 | +| ir.cpp:1637:19:1637:19 | Unary | r1637_4 | +| ir.cpp:1638:13:1638:13 | Address | &:r1638_1 | +| ir.cpp:1638:17:1638:17 | Address | &:r1638_2 | +| ir.cpp:1638:17:1638:17 | Address | &:r1638_3 | +| ir.cpp:1638:17:1638:17 | Load | m1632_40 | +| ir.cpp:1638:17:1638:17 | Load | ~m1636_6 | +| ir.cpp:1638:17:1638:17 | StoreValue | r1638_4 | +| ir.cpp:1642:14:1642:35 | Address | &:r1642_1 | +| ir.cpp:1642:39:1642:39 | Address | &:r1642_2 | +| ir.cpp:1642:39:1642:39 | Load | m1629_8 | +| ir.cpp:1642:39:1642:39 | StoreValue | r1642_3 | +| ir.cpp:1643:15:1643:15 | Address | &:r1643_1 | +| ir.cpp:1643:19:1643:40 | Address | &:r1643_2 | +| ir.cpp:1643:19:1643:40 | Address | &:r1643_2 | +| ir.cpp:1643:19:1643:40 | Arg(this) | this:r1643_2 | +| ir.cpp:1643:19:1643:40 | ChiPartial | partial:m1643_8 | +| ir.cpp:1643:19:1643:40 | ChiTotal | total:m1642_4 | +| ir.cpp:1643:19:1643:40 | SideEffect | m1642_4 | +| ir.cpp:1643:42:1643:47 | CallTarget | func:r1643_3 | +| ir.cpp:1643:42:1643:47 | ChiPartial | partial:m1643_5 | +| ir.cpp:1643:42:1643:47 | ChiTotal | total:m1636_6 | +| ir.cpp:1643:42:1643:47 | SideEffect | ~m1636_6 | +| ir.cpp:1643:42:1643:47 | Unary | r1643_4 | +| ir.cpp:1643:48:1643:50 | StoreValue | r1643_11 | +| ir.cpp:1643:48:1643:50 | Unary | r1643_10 | +| ir.cpp:1644:15:1644:15 | Address | &:r1644_1 | +| ir.cpp:1644:19:1644:40 | Address | &:r1644_2 | +| ir.cpp:1644:19:1644:40 | Address | &:r1644_2 | +| ir.cpp:1644:19:1644:40 | Arg(this) | this:r1644_2 | +| ir.cpp:1644:19:1644:40 | ChiPartial | partial:m1644_8 | +| ir.cpp:1644:19:1644:40 | ChiTotal | total:m1643_9 | +| ir.cpp:1644:19:1644:40 | SideEffect | m1643_9 | +| ir.cpp:1644:42:1644:47 | CallTarget | func:r1644_3 | +| ir.cpp:1644:42:1644:47 | ChiPartial | partial:m1644_5 | +| ir.cpp:1644:42:1644:47 | ChiTotal | total:m1643_6 | +| ir.cpp:1644:42:1644:47 | SideEffect | ~m1643_6 | +| ir.cpp:1644:42:1644:47 | Unary | r1644_4 | +| ir.cpp:1644:48:1644:50 | StoreValue | r1644_11 | +| ir.cpp:1644:48:1644:50 | Unary | r1644_10 | +| ir.cpp:1645:15:1645:15 | Address | &:r1645_1 | +| ir.cpp:1645:19:1645:40 | Address | &:r1645_2 | +| ir.cpp:1645:19:1645:40 | Address | &:r1645_2 | +| ir.cpp:1645:19:1645:40 | Arg(this) | this:r1645_2 | +| ir.cpp:1645:19:1645:40 | ChiPartial | partial:m1645_8 | +| ir.cpp:1645:19:1645:40 | ChiTotal | total:m1644_9 | +| ir.cpp:1645:19:1645:40 | SideEffect | m1644_9 | +| ir.cpp:1645:42:1645:47 | CallTarget | func:r1645_3 | +| ir.cpp:1645:42:1645:47 | ChiPartial | partial:m1645_5 | +| ir.cpp:1645:42:1645:47 | ChiTotal | total:m1644_6 | +| ir.cpp:1645:42:1645:47 | SideEffect | ~m1644_6 | +| ir.cpp:1645:42:1645:47 | Unary | r1645_4 | +| ir.cpp:1645:48:1645:50 | StoreValue | r1645_11 | +| ir.cpp:1645:48:1645:50 | Unary | r1645_10 | +| ir.cpp:1646:9:1646:9 | Address | &:r1646_2 | +| ir.cpp:1646:9:1646:9 | Address | &:r1646_4 | +| ir.cpp:1646:9:1646:9 | Load | m1644_12 | +| ir.cpp:1646:9:1646:9 | Unary | r1646_3 | +| ir.cpp:1646:9:1646:15 | ChiPartial | partial:m1646_5 | +| ir.cpp:1646:9:1646:15 | ChiTotal | total:m1645_9 | +| ir.cpp:1646:13:1646:15 | StoreValue | r1646_1 | +| ir.cpp:1647:17:1647:18 | Address | &:r1647_1 | +| ir.cpp:1647:22:1647:22 | Address | &:r1647_2 | +| ir.cpp:1647:22:1647:22 | Load | m1644_12 | +| ir.cpp:1647:22:1647:22 | StoreValue | r1647_5 | +| ir.cpp:1647:22:1647:22 | Unary | r1647_3 | +| ir.cpp:1647:22:1647:22 | Unary | r1647_4 | +| ir.cpp:1648:13:1648:13 | Address | &:r1648_1 | +| ir.cpp:1648:17:1648:17 | Address | &:r1648_2 | +| ir.cpp:1648:17:1648:17 | Address | &:r1648_3 | +| ir.cpp:1648:17:1648:17 | Load | m1643_12 | +| ir.cpp:1648:17:1648:17 | Load | ~m1645_9 | +| ir.cpp:1648:17:1648:17 | StoreValue | r1648_4 | +| ir.cpp:1649:9:1649:9 | Address | &:r1649_2 | +| ir.cpp:1649:9:1649:9 | Address | &:r1649_4 | +| ir.cpp:1649:9:1649:9 | Load | m1645_12 | +| ir.cpp:1649:9:1649:9 | Unary | r1649_3 | +| ir.cpp:1649:9:1649:13 | ChiPartial | partial:m1649_5 | +| ir.cpp:1649:9:1649:13 | ChiTotal | total:m1645_6 | +| ir.cpp:1649:13:1649:13 | StoreValue | r1649_1 | +| ir.cpp:1650:14:1650:15 | Address | &:r1650_1 | +| ir.cpp:1650:19:1650:19 | Address | &:r1650_2 | +| ir.cpp:1650:19:1650:19 | Load | m1645_12 | +| ir.cpp:1650:19:1650:19 | StoreValue | r1650_5 | +| ir.cpp:1650:19:1650:19 | Unary | r1650_3 | +| ir.cpp:1650:19:1650:19 | Unary | r1650_4 | +| ir.cpp:1651:13:1651:13 | Address | &:r1651_1 | +| ir.cpp:1651:17:1651:17 | Address | &:r1651_2 | +| ir.cpp:1651:17:1651:17 | Address | &:r1651_3 | +| ir.cpp:1651:17:1651:17 | Load | m1645_12 | +| ir.cpp:1651:17:1651:17 | Load | ~m1649_6 | +| ir.cpp:1651:17:1651:17 | StoreValue | r1651_4 | +| ir.cpp:1655:8:1655:8 | Address | &:r1655_5 | +| ir.cpp:1655:8:1655:8 | Address | &:r1655_5 | +| ir.cpp:1655:8:1655:8 | Address | &:r1655_7 | +| ir.cpp:1655:8:1655:8 | Address | &:r1655_7 | +| ir.cpp:1655:8:1655:8 | ChiPartial | partial:m1655_3 | +| ir.cpp:1655:8:1655:8 | ChiTotal | total:m1655_2 | +| ir.cpp:1655:8:1655:8 | Load | m1655_6 | +| ir.cpp:1655:8:1655:8 | SideEffect | m1655_3 | +| ir.cpp:1655:8:1655:8 | SideEffect | m1655_8 | +| ir.cpp:1682:61:1682:98 | Address | &:r1682_5 | +| ir.cpp:1682:61:1682:98 | Address | &:r1682_5 | +| ir.cpp:1682:61:1682:98 | Address | &:r1682_7 | +| ir.cpp:1682:61:1682:98 | Address | &:r1682_7 | +| ir.cpp:1682:61:1682:98 | Address | &:r1682_10 | +| ir.cpp:1682:61:1682:98 | ChiPartial | partial:m1682_3 | +| ir.cpp:1682:61:1682:98 | ChiTotal | total:m1682_2 | +| ir.cpp:1682:61:1682:98 | Load | m1682_6 | +| ir.cpp:1682:61:1682:98 | Load | m1683_6 | +| ir.cpp:1682:61:1682:98 | SideEffect | m1682_3 | +| ir.cpp:1682:61:1682:98 | SideEffect | m1682_8 | +| ir.cpp:1683:5:1683:13 | Address | &:r1683_1 | +| ir.cpp:1683:12:1683:12 | Address | &:r1683_2 | +| ir.cpp:1683:12:1683:12 | Address | &:r1683_4 | +| ir.cpp:1683:12:1683:12 | Load | m1682_6 | +| ir.cpp:1683:12:1683:12 | Load | ~m1682_8 | +| ir.cpp:1683:12:1683:12 | StoreValue | r1683_5 | +| ir.cpp:1683:12:1683:12 | Unary | r1683_3 | +| ir.cpp:1686:61:1686:98 | Address | &:r1686_5 | +| ir.cpp:1686:61:1686:98 | Address | &:r1686_5 | +| ir.cpp:1686:61:1686:98 | Address | &:r1686_7 | +| ir.cpp:1686:61:1686:98 | Address | &:r1686_7 | +| ir.cpp:1686:61:1686:98 | Address | &:r1686_10 | +| ir.cpp:1686:61:1686:98 | ChiPartial | partial:m1686_3 | +| ir.cpp:1686:61:1686:98 | ChiTotal | total:m1686_2 | +| ir.cpp:1686:61:1686:98 | Load | m1686_6 | +| ir.cpp:1686:61:1686:98 | Load | m1687_8 | +| ir.cpp:1686:61:1686:98 | SideEffect | m1686_3 | +| ir.cpp:1686:61:1686:98 | SideEffect | m1686_8 | +| ir.cpp:1687:5:1687:13 | Address | &:r1687_1 | +| ir.cpp:1687:12:1687:12 | Address | &:r1687_2 | +| ir.cpp:1687:12:1687:12 | Address | &:r1687_4 | +| ir.cpp:1687:12:1687:12 | Load | m1686_6 | +| ir.cpp:1687:12:1687:12 | Load | ~m1686_8 | +| ir.cpp:1687:12:1687:12 | StoreValue | r1687_7 | +| ir.cpp:1687:12:1687:12 | Unary | r1687_3 | +| ir.cpp:1687:12:1687:12 | Unary | r1687_5 | +| ir.cpp:1687:12:1687:12 | Unary | r1687_6 | +| ir.cpp:1690:61:1690:98 | Address | &:r1690_5 | +| ir.cpp:1690:61:1690:98 | Address | &:r1690_5 | +| ir.cpp:1690:61:1690:98 | Address | &:r1690_7 | +| ir.cpp:1690:61:1690:98 | Address | &:r1690_7 | +| ir.cpp:1690:61:1690:98 | Address | &:r1690_10 | +| ir.cpp:1690:61:1690:98 | ChiPartial | partial:m1690_3 | +| ir.cpp:1690:61:1690:98 | ChiTotal | total:m1690_2 | +| ir.cpp:1690:61:1690:98 | Load | m1690_6 | +| ir.cpp:1690:61:1690:98 | Load | m1691_6 | +| ir.cpp:1690:61:1690:98 | SideEffect | m1690_3 | +| ir.cpp:1690:61:1690:98 | SideEffect | m1690_8 | +| ir.cpp:1691:5:1691:13 | Address | &:r1691_1 | +| ir.cpp:1691:12:1691:12 | Address | &:r1691_2 | +| ir.cpp:1691:12:1691:12 | StoreValue | r1691_3 | +| ir.cpp:1691:12:1691:12 | StoreValue | r1691_5 | +| ir.cpp:1691:12:1691:12 | Unary | r1691_2 | +| ir.cpp:1694:6:1694:40 | ChiPartial | partial:m1694_3 | +| ir.cpp:1694:6:1694:40 | ChiTotal | total:m1694_2 | +| ir.cpp:1694:6:1694:40 | SideEffect | ~m1715_6 | +| ir.cpp:1695:36:1695:36 | Address | &:r1695_1 | +| ir.cpp:1695:36:1695:36 | Address | &:r1695_1 | +| ir.cpp:1695:36:1695:36 | Arg(this) | this:r1695_1 | +| ir.cpp:1695:36:1695:36 | CallTarget | func:r1695_3 | +| ir.cpp:1695:36:1695:36 | ChiPartial | partial:m1695_5 | +| ir.cpp:1695:36:1695:36 | ChiPartial | partial:m1695_7 | +| ir.cpp:1695:36:1695:36 | ChiTotal | total:m1694_4 | +| ir.cpp:1695:36:1695:36 | ChiTotal | total:m1695_2 | +| ir.cpp:1695:36:1695:36 | SideEffect | ~m1694_4 | +| ir.cpp:1698:16:1698:16 | Address | &:r1698_1 | +| ir.cpp:1698:16:1698:16 | Address | &:r1698_7 | +| ir.cpp:1698:16:1698:16 | Address | &:r1698_21 | +| ir.cpp:1698:16:1698:16 | Address | &:r1698_35 | +| ir.cpp:1698:16:1698:16 | CallTarget | func:r1698_10 | +| ir.cpp:1698:16:1698:16 | CallTarget | func:r1698_24 | +| ir.cpp:1698:16:1698:16 | CallTarget | func:r1698_38 | +| ir.cpp:1698:16:1698:16 | ChiPartial | partial:m1698_12 | +| ir.cpp:1698:16:1698:16 | ChiPartial | partial:m1698_26 | +| ir.cpp:1698:16:1698:16 | ChiPartial | partial:m1698_40 | +| ir.cpp:1698:16:1698:16 | ChiTotal | total:m1695_6 | +| ir.cpp:1698:16:1698:16 | ChiTotal | total:m1698_13 | +| ir.cpp:1698:16:1698:16 | ChiTotal | total:m1698_27 | +| ir.cpp:1698:16:1698:16 | Load | m1698_4 | +| ir.cpp:1698:16:1698:16 | Load | m1698_4 | +| ir.cpp:1698:16:1698:16 | Load | m1698_4 | +| ir.cpp:1698:16:1698:16 | SideEffect | ~m1695_6 | +| ir.cpp:1698:16:1698:16 | SideEffect | ~m1698_13 | +| ir.cpp:1698:16:1698:16 | SideEffect | ~m1698_27 | +| ir.cpp:1698:16:1698:16 | StoreValue | r1698_11 | +| ir.cpp:1698:16:1698:16 | Unary | r1698_8 | +| ir.cpp:1698:16:1698:16 | Unary | r1698_22 | +| ir.cpp:1698:16:1698:16 | Unary | r1698_25 | +| ir.cpp:1698:16:1698:16 | Unary | r1698_36 | +| ir.cpp:1698:16:1698:16 | Unary | r1698_39 | +| ir.cpp:1698:16:1698:30 | Address | &:r1698_6 | +| ir.cpp:1698:16:1698:30 | StoreValue | r1698_18 | +| ir.cpp:1698:16:1698:30 | StoreValue | r1698_32 | +| ir.cpp:1698:16:1698:30 | StoreValue | r1698_46 | +| ir.cpp:1698:16:1698:30 | Unary | r1698_6 | +| ir.cpp:1698:16:1698:30 | Unary | r1698_31 | +| ir.cpp:1698:16:1698:30 | Unary | r1698_45 | +| ir.cpp:1698:17:1698:17 | Address | &:r1698_5 | +| ir.cpp:1698:20:1698:20 | Address | &:r1698_20 | +| ir.cpp:1698:23:1698:23 | Address | &:r1698_34 | +| ir.cpp:1698:29:1698:29 | StoreValue | r1698_3 | +| ir.cpp:1698:29:1698:29 | Unary | r1698_2 | +| ir.cpp:1698:30:1698:30 | Address | &:r1698_9 | +| ir.cpp:1698:30:1698:30 | Address | &:r1698_9 | +| ir.cpp:1698:30:1698:30 | Address | &:r1698_23 | +| ir.cpp:1698:30:1698:30 | Address | &:r1698_23 | +| ir.cpp:1698:30:1698:30 | Address | &:r1698_37 | +| ir.cpp:1698:30:1698:30 | Address | &:r1698_37 | +| ir.cpp:1698:30:1698:30 | Arg(this) | this:r1698_9 | +| ir.cpp:1698:30:1698:30 | Arg(this) | this:r1698_23 | +| ir.cpp:1698:30:1698:30 | Arg(this) | this:r1698_37 | +| ir.cpp:1698:30:1698:30 | ChiPartial | partial:m1698_15 | +| ir.cpp:1698:30:1698:30 | ChiPartial | partial:m1698_29 | +| ir.cpp:1698:30:1698:30 | ChiPartial | partial:m1698_43 | +| ir.cpp:1698:30:1698:30 | ChiTotal | total:m1695_8 | +| ir.cpp:1698:30:1698:30 | ChiTotal | total:m1698_16 | +| ir.cpp:1698:30:1698:30 | ChiTotal | total:m1698_30 | +| ir.cpp:1698:30:1698:30 | SideEffect | m1695_8 | +| ir.cpp:1698:30:1698:30 | SideEffect | m1698_16 | +| ir.cpp:1698:30:1698:30 | SideEffect | m1698_30 | +| ir.cpp:1699:9:1699:9 | Address | &:r1699_2 | +| ir.cpp:1699:9:1699:9 | Address | &:r1699_4 | +| ir.cpp:1699:9:1699:9 | Load | m1698_19 | +| ir.cpp:1699:9:1699:9 | Unary | r1699_3 | +| ir.cpp:1699:13:1699:13 | StoreValue | r1699_1 | +| ir.cpp:1700:14:1700:15 | Address | &:r1700_1 | +| ir.cpp:1700:19:1700:19 | Address | &:r1700_2 | +| ir.cpp:1700:19:1700:19 | Load | m1698_19 | +| ir.cpp:1700:19:1700:19 | StoreValue | r1700_5 | +| ir.cpp:1700:19:1700:19 | Unary | r1700_3 | +| ir.cpp:1700:19:1700:19 | Unary | r1700_4 | +| ir.cpp:1701:13:1701:13 | Address | &:r1701_1 | +| ir.cpp:1701:17:1701:17 | Address | &:r1701_2 | +| ir.cpp:1701:17:1701:17 | Address | &:r1701_3 | +| ir.cpp:1701:17:1701:17 | Load | m1698_19 | +| ir.cpp:1701:17:1701:17 | Load | m1699_5 | +| ir.cpp:1701:17:1701:17 | StoreValue | r1701_4 | +| ir.cpp:1702:9:1702:9 | Address | &:r1702_2 | +| ir.cpp:1702:9:1702:9 | Address | &:r1702_4 | +| ir.cpp:1702:9:1702:9 | Load | m1698_33 | +| ir.cpp:1702:9:1702:9 | Unary | r1702_3 | +| ir.cpp:1702:9:1702:13 | ChiPartial | partial:m1702_5 | +| ir.cpp:1702:9:1702:13 | ChiTotal | total:m1698_41 | +| ir.cpp:1702:13:1702:13 | StoreValue | r1702_1 | +| ir.cpp:1703:14:1703:15 | Address | &:r1703_1 | +| ir.cpp:1703:19:1703:19 | Address | &:r1703_2 | +| ir.cpp:1703:19:1703:19 | Load | m1698_33 | +| ir.cpp:1703:19:1703:19 | StoreValue | r1703_5 | +| ir.cpp:1703:19:1703:19 | Unary | r1703_3 | +| ir.cpp:1703:19:1703:19 | Unary | r1703_4 | +| ir.cpp:1704:13:1704:13 | Address | &:r1704_1 | +| ir.cpp:1704:17:1704:17 | Address | &:r1704_2 | +| ir.cpp:1704:17:1704:17 | Address | &:r1704_3 | +| ir.cpp:1704:17:1704:17 | Load | m1698_33 | +| ir.cpp:1704:17:1704:17 | Load | ~m1702_6 | +| ir.cpp:1704:17:1704:17 | StoreValue | r1704_4 | +| ir.cpp:1708:16:1708:37 | Address | &:r1708_1 | +| ir.cpp:1708:41:1708:41 | StoreValue | r1708_3 | +| ir.cpp:1708:41:1708:41 | Unary | r1708_2 | +| ir.cpp:1709:16:1709:16 | Address | &:r1709_1 | +| ir.cpp:1709:20:1709:41 | Address | &:r1709_3 | +| ir.cpp:1709:20:1709:41 | Address | &:r1709_5 | +| ir.cpp:1709:20:1709:41 | Address | &:r1709_5 | +| ir.cpp:1709:20:1709:41 | Arg(this) | this:r1709_5 | +| ir.cpp:1709:20:1709:41 | ChiPartial | partial:m1709_11 | +| ir.cpp:1709:20:1709:41 | ChiTotal | total:m1698_44 | +| ir.cpp:1709:20:1709:41 | Load | m1708_4 | +| ir.cpp:1709:20:1709:41 | SideEffect | m1698_44 | +| ir.cpp:1709:20:1709:41 | Unary | r1709_4 | +| ir.cpp:1709:20:1709:50 | Address | &:r1709_2 | +| ir.cpp:1709:20:1709:50 | StoreValue | r1709_14 | +| ir.cpp:1709:20:1709:50 | Unary | r1709_2 | +| ir.cpp:1709:43:1709:48 | CallTarget | func:r1709_6 | +| ir.cpp:1709:43:1709:48 | ChiPartial | partial:m1709_8 | +| ir.cpp:1709:43:1709:48 | ChiTotal | total:m1702_6 | +| ir.cpp:1709:43:1709:48 | SideEffect | ~m1702_6 | +| ir.cpp:1709:43:1709:48 | StoreValue | r1709_7 | +| ir.cpp:1710:15:1710:15 | Address | &:r1710_1 | +| ir.cpp:1710:19:1710:40 | Address | &:r1710_2 | +| ir.cpp:1710:19:1710:40 | Address | &:r1710_4 | +| ir.cpp:1710:19:1710:40 | Address | &:r1710_4 | +| ir.cpp:1710:19:1710:40 | Arg(this) | this:r1710_4 | +| ir.cpp:1710:19:1710:40 | ChiPartial | partial:m1710_10 | +| ir.cpp:1710:19:1710:40 | ChiTotal | total:m1709_12 | +| ir.cpp:1710:19:1710:40 | Load | m1708_4 | +| ir.cpp:1710:19:1710:40 | SideEffect | m1709_12 | +| ir.cpp:1710:19:1710:40 | Unary | r1710_3 | +| ir.cpp:1710:42:1710:47 | CallTarget | func:r1710_5 | +| ir.cpp:1710:42:1710:47 | ChiPartial | partial:m1710_7 | +| ir.cpp:1710:42:1710:47 | ChiTotal | total:m1709_9 | +| ir.cpp:1710:42:1710:47 | SideEffect | ~m1709_9 | +| ir.cpp:1710:42:1710:47 | Unary | r1710_6 | +| ir.cpp:1710:48:1710:50 | StoreValue | r1710_13 | +| ir.cpp:1710:48:1710:50 | Unary | r1710_12 | +| ir.cpp:1711:16:1711:17 | Address | &:r1711_1 | +| ir.cpp:1711:21:1711:42 | Address | &:r1711_2 | +| ir.cpp:1711:21:1711:42 | Address | &:r1711_4 | +| ir.cpp:1711:21:1711:42 | Address | &:r1711_4 | +| ir.cpp:1711:21:1711:42 | Arg(this) | this:r1711_4 | +| ir.cpp:1711:21:1711:42 | ChiPartial | partial:m1711_10 | +| ir.cpp:1711:21:1711:42 | ChiTotal | total:m1710_11 | +| ir.cpp:1711:21:1711:42 | Load | m1708_4 | +| ir.cpp:1711:21:1711:42 | SideEffect | m1710_11 | +| ir.cpp:1711:21:1711:42 | Unary | r1711_3 | +| ir.cpp:1711:44:1711:49 | CallTarget | func:r1711_5 | +| ir.cpp:1711:44:1711:49 | ChiPartial | partial:m1711_7 | +| ir.cpp:1711:44:1711:49 | ChiTotal | total:m1710_8 | +| ir.cpp:1711:44:1711:49 | SideEffect | ~m1710_8 | +| ir.cpp:1711:44:1711:49 | Unary | r1711_6 | +| ir.cpp:1711:50:1711:52 | StoreValue | r1711_13 | +| ir.cpp:1711:50:1711:52 | Unary | r1711_12 | +| ir.cpp:1712:9:1712:9 | Address | &:r1712_2 | +| ir.cpp:1712:9:1712:9 | Address | &:r1712_4 | +| ir.cpp:1712:9:1712:9 | Load | m1709_15 | +| ir.cpp:1712:9:1712:9 | Unary | r1712_3 | +| ir.cpp:1712:13:1712:13 | StoreValue | r1712_1 | +| ir.cpp:1713:14:1713:15 | Address | &:r1713_1 | +| ir.cpp:1713:19:1713:19 | Address | &:r1713_2 | +| ir.cpp:1713:19:1713:19 | Load | m1709_15 | +| ir.cpp:1713:19:1713:19 | StoreValue | r1713_5 | +| ir.cpp:1713:19:1713:19 | Unary | r1713_3 | +| ir.cpp:1713:19:1713:19 | Unary | r1713_4 | +| ir.cpp:1714:13:1714:13 | Address | &:r1714_1 | +| ir.cpp:1714:17:1714:17 | Address | &:r1714_2 | +| ir.cpp:1714:17:1714:17 | Address | &:r1714_3 | +| ir.cpp:1714:17:1714:17 | Load | m1709_15 | +| ir.cpp:1714:17:1714:17 | Load | m1712_5 | +| ir.cpp:1714:17:1714:17 | StoreValue | r1714_4 | +| ir.cpp:1715:9:1715:9 | Address | &:r1715_2 | +| ir.cpp:1715:9:1715:9 | Address | &:r1715_4 | +| ir.cpp:1715:9:1715:9 | Load | m1710_14 | +| ir.cpp:1715:9:1715:9 | Unary | r1715_3 | +| ir.cpp:1715:9:1715:13 | ChiPartial | partial:m1715_5 | +| ir.cpp:1715:9:1715:13 | ChiTotal | total:m1711_8 | +| ir.cpp:1715:13:1715:13 | StoreValue | r1715_1 | +| ir.cpp:1716:14:1716:15 | Address | &:r1716_1 | +| ir.cpp:1716:19:1716:19 | Address | &:r1716_2 | +| ir.cpp:1716:19:1716:19 | Load | m1710_14 | +| ir.cpp:1716:19:1716:19 | StoreValue | r1716_5 | +| ir.cpp:1716:19:1716:19 | Unary | r1716_3 | +| ir.cpp:1716:19:1716:19 | Unary | r1716_4 | +| ir.cpp:1717:13:1717:13 | Address | &:r1717_1 | +| ir.cpp:1717:17:1717:17 | Address | &:r1717_2 | +| ir.cpp:1717:17:1717:17 | Address | &:r1717_3 | +| ir.cpp:1717:17:1717:17 | Load | m1710_14 | +| ir.cpp:1717:17:1717:17 | Load | ~m1715_6 | +| ir.cpp:1717:17:1717:17 | StoreValue | r1717_4 | +| ir.cpp:1721:6:1721:42 | ChiPartial | partial:m1721_3 | +| ir.cpp:1721:6:1721:42 | ChiTotal | total:m1721_2 | +| ir.cpp:1721:6:1721:42 | SideEffect | m1721_3 | +| ir.cpp:1722:9:1722:10 | Address | &:r1722_1 | +| ir.cpp:1722:9:1722:10 | Left | r1722_1 | +| ir.cpp:1722:9:1722:10 | Left | r1722_1 | +| ir.cpp:1722:16:1722:22 | Address | &:r1722_4 | +| ir.cpp:1722:16:1722:22 | Address | &:r1722_9 | +| ir.cpp:1722:16:1722:22 | Right | r1722_3 | +| ir.cpp:1722:16:1722:22 | Right | r1722_8 | +| ir.cpp:1722:18:1722:18 | ChiPartial | partial:m1722_6 | +| ir.cpp:1722:18:1722:18 | ChiTotal | total:m1722_2 | +| ir.cpp:1722:18:1722:18 | StoreValue | r1722_5 | +| ir.cpp:1722:21:1722:21 | ChiPartial | partial:m1722_11 | +| ir.cpp:1722:21:1722:21 | ChiTotal | total:m1722_7 | +| ir.cpp:1722:21:1722:21 | StoreValue | r1722_10 | +| ir.cpp:1723:10:1723:10 | Address | &:r1723_1 | +| ir.cpp:1723:11:1723:11 | Address | &:r1723_5 | +| ir.cpp:1723:15:1723:15 | Address | &:r1723_6 | +| ir.cpp:1723:21:1723:22 | Address | &:r1723_2 | +| ir.cpp:1723:21:1723:22 | Load | m1722_12 | +| ir.cpp:1723:21:1723:22 | StoreValue | r1723_3 | +| ir.cpp:1729:5:1729:23 | Address | &:r1729_5 | +| ir.cpp:1729:5:1729:23 | Address | &:r1729_5 | +| ir.cpp:1729:5:1729:23 | Address | &:r1729_7 | +| ir.cpp:1729:5:1729:23 | Address | &:r1729_7 | +| ir.cpp:1729:5:1729:23 | ChiPartial | partial:m1729_3 | +| ir.cpp:1729:5:1729:23 | ChiTotal | total:m1729_2 | +| ir.cpp:1729:5:1729:23 | Load | m1729_6 | +| ir.cpp:1729:5:1729:23 | SideEffect | m1729_3 | +| ir.cpp:1729:5:1729:23 | SideEffect | m1729_8 | +| ir.cpp:1732:6:1732:20 | ChiPartial | partial:m1732_3 | +| ir.cpp:1732:6:1732:20 | ChiTotal | total:m1732_2 | +| ir.cpp:1732:6:1732:20 | SideEffect | ~m1735_6 | +| ir.cpp:1732:26:1732:26 | Address | &:r1732_5 | +| ir.cpp:1732:34:1732:34 | Address | &:r1732_7 | +| ir.cpp:1732:34:1732:34 | Address | &:r1732_7 | +| ir.cpp:1732:34:1732:34 | Address | &:r1732_9 | +| ir.cpp:1732:34:1732:34 | Address | &:r1732_9 | +| ir.cpp:1732:34:1732:34 | Load | m1732_8 | +| ir.cpp:1732:34:1732:34 | SideEffect | m1732_10 | +| ir.cpp:1732:43:1732:43 | Address | &:r1732_11 | +| ir.cpp:1732:43:1732:43 | Address | &:r1732_11 | +| ir.cpp:1732:43:1732:43 | Address | &:r1732_13 | +| ir.cpp:1732:43:1732:43 | Address | &:r1732_13 | +| ir.cpp:1732:43:1732:43 | Load | m1732_12 | +| ir.cpp:1732:43:1732:43 | SideEffect | m1732_14 | +| ir.cpp:1734:17:1734:20 | Address | &:r1734_1 | +| ir.cpp:1734:24:1734:44 | Address | &:r1734_2 | +| ir.cpp:1734:24:1734:44 | Address | &:r1734_2 | +| ir.cpp:1734:24:1734:44 | Arg(this) | this:r1734_2 | +| ir.cpp:1734:24:1734:44 | CallTarget | func:r1734_4 | +| ir.cpp:1734:24:1734:44 | ChiPartial | partial:m1734_6 | +| ir.cpp:1734:24:1734:44 | ChiPartial | partial:m1734_8 | +| ir.cpp:1734:24:1734:44 | ChiTotal | total:m1732_4 | +| ir.cpp:1734:24:1734:44 | ChiTotal | total:m1734_3 | +| ir.cpp:1734:24:1734:44 | SideEffect | ~m1732_4 | +| ir.cpp:1734:24:1734:44 | StoreValue | r1734_11 | +| ir.cpp:1734:24:1734:44 | Unary | r1734_2 | +| ir.cpp:1734:24:1734:44 | Unary | r1734_10 | +| ir.cpp:1735:10:1735:13 | Address | &:r1735_1 | +| ir.cpp:1735:10:1735:13 | Address | &:r1735_1 | +| ir.cpp:1735:10:1735:13 | Arg(this) | this:r1735_1 | +| ir.cpp:1735:16:1735:37 | CallTarget | func:r1735_3 | +| ir.cpp:1735:16:1735:37 | ChiPartial | partial:m1735_5 | +| ir.cpp:1735:16:1735:37 | ChiPartial | partial:m1735_7 | +| ir.cpp:1735:16:1735:37 | ChiTotal | total:m1734_7 | +| ir.cpp:1735:16:1735:37 | ChiTotal | total:m1735_2 | +| ir.cpp:1735:16:1735:37 | SideEffect | ~m1734_7 | +| ir.cpp:1737:10:1737:21 | Address | &:r1737_1 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_2 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_2 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_4 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_5 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_6 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_7 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_8 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_12 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_17 | +| ir.cpp:1737:24:1739:5 | Address | &:r1737_20 | +| ir.cpp:1737:24:1739:5 | ChiPartial | partial:m1737_10 | +| ir.cpp:1737:24:1739:5 | ChiTotal | total:m0_3 | +| ir.cpp:1737:24:1739:5 | Load | m1734_12 | +| ir.cpp:1737:24:1739:5 | Load | m1735_8 | +| ir.cpp:1737:24:1739:5 | Load | m1739_6 | +| ir.cpp:1737:24:1739:5 | StoreValue | r1737_9 | +| ir.cpp:1737:24:1739:5 | StoreValue | r1737_23 | +| ir.cpp:1737:24:1739:5 | Unary | r1737_2 | +| ir.cpp:1737:24:1739:5 | Unary | r1737_2 | +| ir.cpp:1737:24:1739:5 | Unary | r1737_2 | +| ir.cpp:1737:24:1739:5 | Unary | r1737_2 | +| ir.cpp:1737:24:1739:5 | Unary | r1737_2 | +| ir.cpp:1737:38:1737:38 | Address | &:r1737_13 | +| ir.cpp:1737:38:1737:38 | ChiPartial | partial:m1737_15 | +| ir.cpp:1737:38:1737:38 | ChiTotal | total:m1737_11 | +| ir.cpp:1737:38:1737:38 | Load | m1732_6 | +| ir.cpp:1737:38:1737:38 | StoreValue | r1737_14 | +| ir.cpp:1737:41:1737:41 | Address | &:r1737_18 | +| ir.cpp:1737:41:1737:41 | Address | &:r1737_19 | +| ir.cpp:1737:41:1737:41 | Load | m1732_8 | +| ir.cpp:1737:44:1737:44 | Address | &:r1737_21 | +| ir.cpp:1737:44:1737:44 | Address | &:r1737_22 | +| ir.cpp:1737:44:1737:44 | Load | m1732_12 | +| ir.cpp:1737:46:1737:46 | Address | &:r1737_5 | +| ir.cpp:1737:46:1737:46 | Address | &:r1737_5 | +| ir.cpp:1737:46:1737:46 | Address | &:r1737_7 | +| ir.cpp:1737:46:1737:46 | Address | &:r1737_7 | +| ir.cpp:1737:46:1737:46 | ChiPartial | partial:m1737_3 | +| ir.cpp:1737:46:1737:46 | ChiTotal | total:m1737_2 | +| ir.cpp:1737:46:1737:46 | Load | m1737_6 | +| ir.cpp:1737:46:1737:46 | SideEffect | m1737_3 | +| ir.cpp:1737:46:1737:46 | SideEffect | m1737_8 | +| ir.cpp:1738:14:1738:25 | Address | &:r1738_1 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_2 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_2 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_4 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_5 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_7 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_11 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_12 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_14 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_18 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_19 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_21 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_25 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_26 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_28 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_32 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_33 | +| ir.cpp:1738:28:1738:54 | Address | &:r1738_35 | +| ir.cpp:1738:28:1738:54 | ChiPartial | partial:m1738_9 | +| ir.cpp:1738:28:1738:54 | ChiPartial | partial:m1738_16 | +| ir.cpp:1738:28:1738:54 | ChiPartial | partial:m1738_23 | +| ir.cpp:1738:28:1738:54 | ChiPartial | partial:m1738_30 | +| ir.cpp:1738:28:1738:54 | ChiPartial | partial:m1738_37 | +| ir.cpp:1738:28:1738:54 | ChiTotal | total:m1738_3 | +| ir.cpp:1738:28:1738:54 | ChiTotal | total:m1738_10 | +| ir.cpp:1738:28:1738:54 | ChiTotal | total:m1738_17 | +| ir.cpp:1738:28:1738:54 | ChiTotal | total:m1738_24 | +| ir.cpp:1738:28:1738:54 | ChiTotal | total:m1738_31 | +| ir.cpp:1738:28:1738:54 | Load | m1737_6 | +| ir.cpp:1738:28:1738:54 | Load | m1737_6 | +| ir.cpp:1738:28:1738:54 | Load | m1737_6 | +| ir.cpp:1738:28:1738:54 | Load | m1737_6 | +| ir.cpp:1738:28:1738:54 | Load | m1737_6 | +| ir.cpp:1738:28:1738:54 | Load | m1738_38 | +| ir.cpp:1738:28:1738:54 | Load | ~m1737_8 | +| ir.cpp:1738:28:1738:54 | Load | ~m1737_8 | +| ir.cpp:1738:28:1738:54 | Load | ~m1737_8 | +| ir.cpp:1738:28:1738:54 | Load | ~m1737_8 | +| ir.cpp:1738:28:1738:54 | Load | ~m1737_8 | +| ir.cpp:1738:28:1738:54 | StoreValue | r1738_8 | +| ir.cpp:1738:28:1738:54 | StoreValue | r1738_15 | +| ir.cpp:1738:28:1738:54 | StoreValue | r1738_22 | +| ir.cpp:1738:28:1738:54 | StoreValue | r1738_29 | +| ir.cpp:1738:28:1738:54 | StoreValue | r1738_36 | +| ir.cpp:1738:28:1738:54 | StoreValue | r1738_39 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_2 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_2 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_2 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_2 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_2 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_6 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_13 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_20 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_27 | +| ir.cpp:1738:28:1738:54 | Unary | r1738_34 | +| ir.cpp:1738:50:1738:50 | Address | &:r1738_5 | +| ir.cpp:1738:50:1738:50 | Address | &:r1738_5 | +| ir.cpp:1738:50:1738:50 | Address | &:r1738_7 | +| ir.cpp:1738:50:1738:50 | Address | &:r1738_7 | +| ir.cpp:1738:50:1738:50 | ChiPartial | partial:m1738_3 | +| ir.cpp:1738:50:1738:50 | ChiTotal | total:m1738_2 | +| ir.cpp:1738:50:1738:50 | Load | m1738_6 | +| ir.cpp:1738:50:1738:50 | SideEffect | m1738_3 | +| ir.cpp:1738:50:1738:50 | SideEffect | m1738_8 | +| ir.cpp:1739:6:1739:6 | ChiPartial | partial:m1739_2 | +| ir.cpp:1739:6:1739:6 | ChiPartial | partial:m1739_5 | +| ir.cpp:1739:6:1739:6 | ChiTotal | total:m1737_16 | +| ir.cpp:1739:6:1739:6 | ChiTotal | total:m1739_3 | +| ir.cpp:1739:6:1739:6 | Load | ~m1732_10 | +| ir.cpp:1739:6:1739:6 | Load | ~m1732_14 | +| ir.cpp:1739:6:1739:6 | StoreValue | r1739_1 | +| ir.cpp:1739:6:1739:6 | StoreValue | r1739_4 | +| ir.cpp:1742:5:1742:21 | Address | &:r1742_5 | +| ir.cpp:1742:5:1742:21 | ChiPartial | partial:m1742_3 | +| ir.cpp:1742:5:1742:21 | ChiTotal | total:m1742_2 | +| ir.cpp:1742:5:1742:21 | Load | m1745_4 | +| ir.cpp:1742:5:1742:21 | SideEffect | m1742_3 | +| ir.cpp:1743:7:1743:7 | Address | &:r1743_1 | +| ir.cpp:1743:10:1743:12 | StoreValue | r1743_2 | +| ir.cpp:1745:3:1745:11 | Address | &:r1745_1 | +| ir.cpp:1745:10:1745:10 | Address | &:r1745_2 | +| ir.cpp:1745:10:1745:10 | Load | m1743_3 | +| ir.cpp:1745:10:1745:10 | StoreValue | r1745_3 | +| ir.cpp:1750:10:1750:10 | Address | &:r1750_5 | +| ir.cpp:1750:10:1750:10 | Address | &:r1750_5 | +| ir.cpp:1750:10:1750:10 | Address | &:r1750_7 | +| ir.cpp:1750:10:1750:10 | Address | &:r1750_7 | +| ir.cpp:1750:10:1750:10 | ChiPartial | partial:m1750_3 | +| ir.cpp:1750:10:1750:10 | ChiTotal | total:m1750_2 | +| ir.cpp:1750:10:1750:10 | Load | m1750_6 | +| ir.cpp:1750:10:1750:10 | SideEffect | m1750_3 | +| ir.cpp:1750:10:1750:10 | SideEffect | m1750_8 | +| ir.cpp:1751:14:1751:22 | Address | &:r1751_1 | +| ir.cpp:1751:25:1757:9 | Address | &:r1751_2 | +| ir.cpp:1751:25:1757:9 | Address | &:r1751_2 | +| ir.cpp:1751:25:1757:9 | Address | &:r1751_4 | +| ir.cpp:1751:25:1757:9 | Address | &:r1751_5 | +| ir.cpp:1751:25:1757:9 | Address | &:r1751_6 | +| ir.cpp:1751:25:1757:9 | Load | m1750_6 | +| ir.cpp:1751:25:1757:9 | Load | ~m1750_8 | +| ir.cpp:1751:25:1757:9 | Load | ~m1751_8 | +| ir.cpp:1751:25:1757:9 | StoreValue | r1751_7 | +| ir.cpp:1751:25:1757:9 | StoreValue | r1751_9 | +| ir.cpp:1751:25:1757:9 | Unary | r1751_2 | +| ir.cpp:1751:34:1751:34 | Address | &:r1751_5 | +| ir.cpp:1751:34:1751:34 | Address | &:r1751_5 | +| ir.cpp:1751:34:1751:34 | Address | &:r1751_7 | +| ir.cpp:1751:34:1751:34 | Address | &:r1751_7 | +| ir.cpp:1751:34:1751:34 | ChiPartial | partial:m1751_3 | +| ir.cpp:1751:34:1751:34 | ChiTotal | total:m1751_2 | +| ir.cpp:1751:34:1751:34 | Load | m1751_6 | +| ir.cpp:1751:34:1751:34 | SideEffect | m1751_8 | +| ir.cpp:1751:34:1751:34 | SideEffect | ~m1752_8 | +| ir.cpp:1752:13:1752:13 | Address | &:r1752_1 | +| ir.cpp:1752:13:1752:13 | Address | &:r1752_4 | +| ir.cpp:1752:13:1752:13 | Arg(this) | this:r1752_4 | +| ir.cpp:1752:13:1752:13 | CallTarget | func:r1752_5 | +| ir.cpp:1752:13:1752:13 | ChiPartial | partial:m1752_7 | +| ir.cpp:1752:13:1752:13 | ChiTotal | total:m1751_4 | +| ir.cpp:1752:13:1752:13 | Load | m1751_6 | +| ir.cpp:1752:13:1752:13 | SideEffect | ~m1751_4 | +| ir.cpp:1752:13:1752:13 | SideEffect | ~m1751_8 | +| ir.cpp:1752:13:1752:13 | Unary | r1752_2 | +| ir.cpp:1752:13:1752:13 | Unary | r1752_3 | +| ir.cpp:1754:18:1754:26 | Address | &:r1754_1 | +| ir.cpp:1754:29:1756:13 | Address | &:r1754_2 | +| ir.cpp:1754:29:1756:13 | Address | &:r1754_2 | +| ir.cpp:1754:29:1756:13 | Address | &:r1754_4 | +| ir.cpp:1754:29:1756:13 | Address | &:r1754_5 | +| ir.cpp:1754:29:1756:13 | Address | &:r1754_7 | +| ir.cpp:1754:29:1756:13 | Load | m1751_6 | +| ir.cpp:1754:29:1756:13 | Load | ~m1751_8 | +| ir.cpp:1754:29:1756:13 | Load | ~m1754_9 | +| ir.cpp:1754:29:1756:13 | StoreValue | r1754_8 | +| ir.cpp:1754:29:1756:13 | StoreValue | r1754_10 | +| ir.cpp:1754:29:1756:13 | Unary | r1754_2 | +| ir.cpp:1754:29:1756:13 | Unary | r1754_6 | +| ir.cpp:1754:38:1754:38 | Address | &:r1754_5 | +| ir.cpp:1754:38:1754:38 | Address | &:r1754_5 | +| ir.cpp:1754:38:1754:38 | Address | &:r1754_7 | +| ir.cpp:1754:38:1754:38 | Address | &:r1754_7 | +| ir.cpp:1754:38:1754:38 | ChiPartial | partial:m1754_3 | +| ir.cpp:1754:38:1754:38 | ChiTotal | total:m1754_2 | +| ir.cpp:1754:38:1754:38 | Load | m1754_6 | +| ir.cpp:1754:38:1754:38 | SideEffect | m1754_8 | +| ir.cpp:1754:38:1754:38 | SideEffect | ~m1755_8 | +| ir.cpp:1755:17:1755:17 | Address | &:r1755_1 | +| ir.cpp:1755:17:1755:17 | Address | &:r1755_4 | +| ir.cpp:1755:17:1755:17 | Arg(this) | this:r1755_4 | +| ir.cpp:1755:17:1755:17 | CallTarget | func:r1755_5 | +| ir.cpp:1755:17:1755:17 | ChiPartial | partial:m1755_7 | +| ir.cpp:1755:17:1755:17 | ChiTotal | total:m1754_4 | +| ir.cpp:1755:17:1755:17 | Load | m1754_6 | +| ir.cpp:1755:17:1755:17 | SideEffect | ~m1754_4 | +| ir.cpp:1755:17:1755:17 | SideEffect | ~m1754_8 | +| ir.cpp:1755:17:1755:17 | Unary | r1755_2 | +| ir.cpp:1755:17:1755:17 | Unary | r1755_3 | +| ir.cpp:1761:6:1761:21 | ChiPartial | partial:m1761_3 | +| ir.cpp:1761:6:1761:21 | ChiTotal | total:m1761_2 | +| ir.cpp:1761:6:1761:21 | SideEffect | m1761_3 | +| ir.cpp:1761:42:1761:43 | Address | &:r1761_5 | +| ir.cpp:1761:66:1761:67 | Address | &:r1761_7 | +| ir.cpp:1761:66:1761:67 | Address | &:r1761_7 | +| ir.cpp:1761:66:1761:67 | Address | &:r1761_9 | +| ir.cpp:1761:66:1761:67 | Address | &:r1761_9 | +| ir.cpp:1761:66:1761:67 | Load | m1761_8 | +| ir.cpp:1761:66:1761:67 | SideEffect | m1761_10 | +| ir.cpp:1761:91:1761:92 | Address | &:r1761_11 | +| ir.cpp:1761:91:1761:92 | Address | &:r1761_11 | +| ir.cpp:1761:91:1761:92 | Address | &:r1761_13 | +| ir.cpp:1761:91:1761:92 | Address | &:r1761_13 | +| ir.cpp:1761:91:1761:92 | Load | m1761_12 | +| ir.cpp:1761:91:1761:92 | SideEffect | m1761_14 | +| ir.cpp:1762:30:1762:31 | Address | &:r1762_1 | +| ir.cpp:1763:31:1763:32 | Address | &:r1763_1 | +| ir.cpp:1763:36:1763:55 | Address | &:r1763_2 | +| ir.cpp:1763:36:1763:55 | StoreValue | r1763_3 | +| ir.cpp:1763:36:1763:55 | StoreValue | r1763_6 | +| ir.cpp:1763:36:1763:55 | Unary | r1763_2 | +| ir.cpp:1763:36:1763:55 | Unary | r1763_5 | +| ir.cpp:1765:10:1765:17 | Address | &:r1765_1 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_2 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_2 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_4 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_5 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_9 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_10 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_11 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_12 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_13 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_14 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_15 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_16 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_20 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_21 | +| ir.cpp:1765:20:1767:5 | Address | &:r1765_22 | +| ir.cpp:1765:20:1767:5 | ChiPartial | partial:m1765_7 | +| ir.cpp:1765:20:1767:5 | ChiPartial | partial:m1765_18 | +| ir.cpp:1765:20:1767:5 | ChiTotal | total:m0_6 | +| ir.cpp:1765:20:1767:5 | ChiTotal | total:m1765_3 | +| ir.cpp:1765:20:1767:5 | Load | m0_9 | +| ir.cpp:1765:20:1767:5 | Load | m1761_6 | +| ir.cpp:1765:20:1767:5 | Load | m1761_8 | +| ir.cpp:1765:20:1767:5 | Load | m1761_12 | +| ir.cpp:1765:20:1767:5 | Load | m1762_2 | +| ir.cpp:1765:20:1767:5 | Load | m1763_7 | +| ir.cpp:1765:20:1767:5 | StoreValue | r1765_6 | +| ir.cpp:1765:20:1767:5 | StoreValue | r1765_17 | +| ir.cpp:1765:20:1767:5 | StoreValue | r1765_23 | +| ir.cpp:1765:20:1767:5 | Unary | r1765_2 | +| ir.cpp:1765:20:1767:5 | Unary | r1765_2 | +| ir.cpp:1765:20:1767:5 | Unary | r1765_2 | +| ir.cpp:1765:20:1767:5 | Unary | r1765_2 | +| ir.cpp:1765:20:1767:5 | Unary | r1765_2 | +| ir.cpp:1765:42:1765:42 | Address | &:r1765_5 | +| ir.cpp:1765:42:1765:42 | Address | &:r1765_5 | +| ir.cpp:1765:42:1765:42 | Address | &:r1765_7 | +| ir.cpp:1765:42:1765:42 | Address | &:r1765_7 | +| ir.cpp:1765:42:1765:42 | ChiPartial | partial:m1765_3 | +| ir.cpp:1765:42:1765:42 | ChiTotal | total:m1765_2 | +| ir.cpp:1765:42:1765:42 | Load | m1765_6 | +| ir.cpp:1765:42:1765:42 | SideEffect | m1765_3 | +| ir.cpp:1765:42:1765:42 | SideEffect | m1765_8 | +| ir.cpp:1766:14:1766:21 | Address | &:r1766_1 | +| ir.cpp:1766:24:1766:31 | Address | &:r1766_2 | +| ir.cpp:1766:24:1766:31 | Address | &:r1766_2 | +| ir.cpp:1766:24:1766:31 | Address | &:r1766_4 | +| ir.cpp:1766:24:1766:31 | Address | &:r1766_5 | +| ir.cpp:1766:24:1766:31 | Address | &:r1766_7 | +| ir.cpp:1766:24:1766:31 | Load | m1765_6 | +| ir.cpp:1766:24:1766:31 | Load | ~m1765_8 | +| ir.cpp:1766:24:1766:31 | Load | ~m1766_9 | +| ir.cpp:1766:24:1766:31 | StoreValue | r1766_8 | +| ir.cpp:1766:24:1766:31 | StoreValue | r1766_10 | +| ir.cpp:1766:24:1766:31 | Unary | r1766_2 | +| ir.cpp:1766:24:1766:31 | Unary | r1766_6 | +| ir.cpp:1766:30:1766:30 | Address | &:r1766_5 | +| ir.cpp:1766:30:1766:30 | Address | &:r1766_5 | +| ir.cpp:1766:30:1766:30 | Address | &:r1766_7 | +| ir.cpp:1766:30:1766:30 | Address | &:r1766_7 | +| ir.cpp:1766:30:1766:30 | ChiPartial | partial:m1766_3 | +| ir.cpp:1766:30:1766:30 | ChiTotal | total:m1766_2 | +| ir.cpp:1766:30:1766:30 | Load | m1766_6 | +| ir.cpp:1766:30:1766:30 | SideEffect | m1766_3 | +| ir.cpp:1766:30:1766:30 | SideEffect | m1766_8 | +| ir.cpp:1773:5:1773:44 | Address | &:r1773_5 | +| ir.cpp:1773:5:1773:44 | Address | &:r1773_5 | +| ir.cpp:1773:5:1773:44 | Address | &:r1773_7 | +| ir.cpp:1773:5:1773:44 | Address | &:r1773_7 | +| ir.cpp:1773:5:1773:44 | ChiPartial | partial:m1773_3 | +| ir.cpp:1773:5:1773:44 | ChiTotal | total:m1773_2 | +| ir.cpp:1773:5:1773:44 | Load | m1773_6 | +| ir.cpp:1773:5:1773:44 | SideEffect | m1773_3 | +| ir.cpp:1773:5:1773:44 | SideEffect | m1773_8 | +| ir.cpp:1774:5:1774:44 | Address | &:r1774_5 | +| ir.cpp:1774:5:1774:44 | Address | &:r1774_5 | +| ir.cpp:1774:5:1774:44 | Address | &:r1774_7 | +| ir.cpp:1774:5:1774:44 | Address | &:r1774_7 | +| ir.cpp:1774:5:1774:44 | ChiPartial | partial:m1774_3 | +| ir.cpp:1774:5:1774:44 | ChiTotal | total:m1774_2 | +| ir.cpp:1774:5:1774:44 | Load | m1774_6 | +| ir.cpp:1774:5:1774:44 | SideEffect | m1774_3 | +| ir.cpp:1774:5:1774:44 | SideEffect | m1775_10 | +| ir.cpp:1774:94:1774:94 | Address | &:r1774_9 | +| ir.cpp:1774:94:1774:94 | Address | &:r1774_9 | +| ir.cpp:1774:94:1774:94 | Address | &:r1774_11 | +| ir.cpp:1774:94:1774:94 | Address | &:r1774_11 | +| ir.cpp:1774:94:1774:94 | Load | m1774_10 | +| ir.cpp:1774:94:1774:94 | SideEffect | m1774_12 | +| ir.cpp:1775:9:1775:9 | Address | &:r1775_6 | +| ir.cpp:1775:9:1775:9 | Address | &:r1775_8 | +| ir.cpp:1775:9:1775:9 | Load | m1774_6 | +| ir.cpp:1775:9:1775:9 | Unary | r1775_7 | +| ir.cpp:1775:9:1775:15 | ChiPartial | partial:m1775_9 | +| ir.cpp:1775:9:1775:15 | ChiTotal | total:m1774_8 | +| ir.cpp:1775:13:1775:13 | Address | &:r1775_1 | +| ir.cpp:1775:13:1775:13 | Load | m1774_10 | +| ir.cpp:1775:13:1775:13 | Unary | r1775_2 | +| ir.cpp:1775:13:1775:13 | Unary | r1775_3 | +| ir.cpp:1775:15:1775:15 | Address | &:r1775_4 | +| ir.cpp:1775:15:1775:15 | Load | ~m1774_12 | +| ir.cpp:1775:15:1775:15 | StoreValue | r1775_5 | +| ir.cpp:1782:5:1782:39 | Address | &:r1782_5 | +| ir.cpp:1782:5:1782:39 | Address | &:r1782_5 | +| ir.cpp:1782:5:1782:39 | Address | &:r1782_7 | +| ir.cpp:1782:5:1782:39 | Address | &:r1782_7 | +| ir.cpp:1782:5:1782:39 | ChiPartial | partial:m1782_3 | +| ir.cpp:1782:5:1782:39 | ChiTotal | total:m1782_2 | +| ir.cpp:1782:5:1782:39 | Load | m1782_6 | +| ir.cpp:1782:5:1782:39 | SideEffect | m1782_3 | +| ir.cpp:1782:5:1782:39 | SideEffect | m1782_8 | +| ir.cpp:1785:7:1785:7 | Address | &:r1785_5 | +| ir.cpp:1785:7:1785:7 | Address | &:r1785_5 | +| ir.cpp:1785:7:1785:7 | Address | &:r1785_7 | +| ir.cpp:1785:7:1785:7 | Address | &:r1785_7 | +| ir.cpp:1785:7:1785:7 | Address | &:r1785_9 | +| ir.cpp:1785:7:1785:7 | Address | &:r1785_11 | +| ir.cpp:1785:7:1785:7 | Address | &:r1785_15 | +| ir.cpp:1785:7:1785:7 | Arg(0) | 0:r1785_15 | +| ir.cpp:1785:7:1785:7 | Arg(this) | this:r1785_9 | +| ir.cpp:1785:7:1785:7 | CallTarget | func:r1785_10 | +| ir.cpp:1785:7:1785:7 | ChiPartial | partial:m1785_3 | +| ir.cpp:1785:7:1785:7 | ChiPartial | partial:m1785_17 | +| ir.cpp:1785:7:1785:7 | ChiPartial | partial:m1785_20 | +| ir.cpp:1785:7:1785:7 | ChiTotal | total:m1785_2 | +| ir.cpp:1785:7:1785:7 | ChiTotal | total:m1785_4 | +| ir.cpp:1785:7:1785:7 | ChiTotal | total:m1785_8 | +| ir.cpp:1785:7:1785:7 | Load | m0_2 | +| ir.cpp:1785:7:1785:7 | Load | m1785_6 | +| ir.cpp:1785:7:1785:7 | SideEffect | m1785_21 | +| ir.cpp:1785:7:1785:7 | SideEffect | ~m0_4 | +| ir.cpp:1785:7:1785:7 | SideEffect | ~m1785_4 | +| ir.cpp:1785:7:1785:7 | SideEffect | ~m1785_18 | +| ir.cpp:1785:7:1785:7 | Unary | m1785_6 | +| ir.cpp:1785:7:1785:7 | Unary | r1785_12 | +| ir.cpp:1785:7:1785:7 | Unary | r1785_13 | +| ir.cpp:1785:7:1785:7 | Unary | r1785_14 | +| ir.cpp:1789:5:1789:38 | Address | &:r1789_5 | +| ir.cpp:1789:5:1789:38 | Address | &:r1789_5 | +| ir.cpp:1789:5:1789:38 | Address | &:r1789_7 | +| ir.cpp:1789:5:1789:38 | Address | &:r1789_7 | +| ir.cpp:1789:5:1789:38 | ChiPartial | partial:m1789_3 | +| ir.cpp:1789:5:1789:38 | ChiTotal | total:m1789_2 | +| ir.cpp:1789:5:1789:38 | Load | m1789_6 | +| ir.cpp:1789:5:1789:38 | SideEffect | m1789_22 | +| ir.cpp:1789:5:1789:38 | SideEffect | ~m1789_20 | +| ir.cpp:1789:5:1789:38 | Unary | m1789_6 | +| ir.cpp:1789:5:1789:38 | Unary | m1789_6 | +| ir.cpp:1789:42:1789:42 | Address | &:r1789_9 | +| ir.cpp:1789:42:1789:42 | Address | &:r1789_16 | +| ir.cpp:1789:42:1789:42 | Arg(this) | this:r1789_9 | +| ir.cpp:1789:42:1789:42 | Arg(this) | this:r1789_16 | +| ir.cpp:1789:42:1789:42 | CallTarget | func:r1789_10 | +| ir.cpp:1789:42:1789:42 | CallTarget | func:r1789_17 | +| ir.cpp:1789:42:1789:42 | ChiPartial | partial:m1789_12 | +| ir.cpp:1789:42:1789:42 | ChiPartial | partial:m1789_14 | +| ir.cpp:1789:42:1789:42 | ChiPartial | partial:m1789_19 | +| ir.cpp:1789:42:1789:42 | ChiPartial | partial:m1789_21 | +| ir.cpp:1789:42:1789:42 | ChiTotal | total:m1789_4 | +| ir.cpp:1789:42:1789:42 | ChiTotal | total:m1789_8 | +| ir.cpp:1789:42:1789:42 | ChiTotal | total:m1789_13 | +| ir.cpp:1789:42:1789:42 | ChiTotal | total:m1789_15 | +| ir.cpp:1789:42:1789:42 | SideEffect | ~m1789_4 | +| ir.cpp:1789:42:1789:42 | SideEffect | ~m1789_13 | +| ir.cpp:1792:7:1792:7 | Address | &:r1792_5 | +| ir.cpp:1792:7:1792:7 | Address | &:r1792_5 | +| ir.cpp:1792:7:1792:7 | Address | &:r1792_7 | +| ir.cpp:1792:7:1792:7 | Address | &:r1792_7 | +| ir.cpp:1792:7:1792:7 | Address | &:r1792_9 | +| ir.cpp:1792:7:1792:7 | Address | &:r1792_11 | +| ir.cpp:1792:7:1792:7 | Address | &:r1792_15 | +| ir.cpp:1792:7:1792:7 | Arg(0) | 0:r1792_15 | +| ir.cpp:1792:7:1792:7 | Arg(this) | this:r1792_9 | +| ir.cpp:1792:7:1792:7 | CallTarget | func:r1792_10 | +| ir.cpp:1792:7:1792:7 | ChiPartial | partial:m1792_3 | +| ir.cpp:1792:7:1792:7 | ChiPartial | partial:m1792_17 | +| ir.cpp:1792:7:1792:7 | ChiPartial | partial:m1792_20 | +| ir.cpp:1792:7:1792:7 | ChiTotal | total:m1792_2 | +| ir.cpp:1792:7:1792:7 | ChiTotal | total:m1792_4 | +| ir.cpp:1792:7:1792:7 | ChiTotal | total:m1792_18 | +| ir.cpp:1792:7:1792:7 | Load | m0_2 | +| ir.cpp:1792:7:1792:7 | Load | m1792_6 | +| ir.cpp:1792:7:1792:7 | SideEffect | m1792_8 | +| ir.cpp:1792:7:1792:7 | SideEffect | ~m0_4 | +| ir.cpp:1792:7:1792:7 | SideEffect | ~m1792_4 | +| ir.cpp:1792:7:1792:7 | SideEffect | ~m1792_21 | +| ir.cpp:1792:7:1792:7 | Unary | m1792_6 | +| ir.cpp:1792:7:1792:7 | Unary | r1792_12 | +| ir.cpp:1792:7:1792:7 | Unary | r1792_13 | +| ir.cpp:1792:7:1792:7 | Unary | r1792_14 | +| ir.cpp:1796:5:1796:35 | Address | &:r1796_5 | +| ir.cpp:1796:5:1796:35 | Address | &:r1796_5 | +| ir.cpp:1796:5:1796:35 | Address | &:r1796_7 | +| ir.cpp:1796:5:1796:35 | Address | &:r1796_7 | +| ir.cpp:1796:5:1796:35 | ChiPartial | partial:m1796_3 | +| ir.cpp:1796:5:1796:35 | ChiTotal | total:m1796_2 | +| ir.cpp:1796:5:1796:35 | Load | m1796_6 | +| ir.cpp:1796:5:1796:35 | SideEffect | m1796_8 | +| ir.cpp:1796:5:1796:35 | SideEffect | ~m1796_22 | +| ir.cpp:1796:5:1796:35 | Unary | m1796_6 | +| ir.cpp:1796:5:1796:35 | Unary | m1796_6 | +| ir.cpp:1796:39:1796:39 | Address | &:r1796_9 | +| ir.cpp:1796:39:1796:39 | Address | &:r1796_16 | +| ir.cpp:1796:39:1796:39 | Arg(this) | this:r1796_9 | +| ir.cpp:1796:39:1796:39 | Arg(this) | this:r1796_16 | +| ir.cpp:1796:39:1796:39 | CallTarget | func:r1796_10 | +| ir.cpp:1796:39:1796:39 | CallTarget | func:r1796_17 | +| ir.cpp:1796:39:1796:39 | ChiPartial | partial:m1796_12 | +| ir.cpp:1796:39:1796:39 | ChiPartial | partial:m1796_14 | +| ir.cpp:1796:39:1796:39 | ChiPartial | partial:m1796_19 | +| ir.cpp:1796:39:1796:39 | ChiPartial | partial:m1796_21 | +| ir.cpp:1796:39:1796:39 | ChiTotal | total:m1796_4 | +| ir.cpp:1796:39:1796:39 | ChiTotal | total:m1796_13 | +| ir.cpp:1796:39:1796:39 | ChiTotal | total:m1796_15 | +| ir.cpp:1796:39:1796:39 | ChiTotal | total:m1796_20 | +| ir.cpp:1796:39:1796:39 | SideEffect | ~m1796_4 | +| ir.cpp:1796:39:1796:39 | SideEffect | ~m1796_15 | +| ir.cpp:1799:5:1799:34 | Address | &:r1799_5 | +| ir.cpp:1799:5:1799:34 | ChiPartial | partial:m1799_3 | +| ir.cpp:1799:5:1799:34 | ChiTotal | total:m1799_2 | +| ir.cpp:1799:5:1799:34 | Load | m1804_2 | +| ir.cpp:1799:5:1799:34 | SideEffect | ~m1803_10 | +| ir.cpp:1800:51:1800:51 | Address | &:r1800_1 | +| ir.cpp:1800:51:1800:51 | Address | &:r1800_1 | +| ir.cpp:1800:51:1800:51 | Address | &:r1800_3 | +| ir.cpp:1800:51:1800:51 | Address | &:r1800_3 | +| ir.cpp:1800:51:1800:51 | Load | m1800_2 | +| ir.cpp:1800:51:1800:51 | SideEffect | m1800_4 | +| ir.cpp:1801:48:1801:48 | Address | &:r1801_1 | +| ir.cpp:1801:48:1801:48 | Address | &:r1801_1 | +| ir.cpp:1801:48:1801:48 | Address | &:r1801_3 | +| ir.cpp:1801:48:1801:48 | Address | &:r1801_3 | +| ir.cpp:1801:48:1801:48 | Load | m1801_2 | +| ir.cpp:1801:48:1801:48 | SideEffect | m1801_4 | +| ir.cpp:1802:40:1802:41 | Address | &:r1802_1 | +| ir.cpp:1802:40:1802:41 | Address | &:r1802_1 | +| ir.cpp:1802:40:1802:41 | Arg(this) | this:r1802_1 | +| ir.cpp:1802:44:1802:45 | CallTarget | func:r1802_3 | +| ir.cpp:1802:44:1802:45 | ChiPartial | partial:m1802_9 | +| ir.cpp:1802:44:1802:45 | ChiPartial | partial:m1802_12 | +| ir.cpp:1802:44:1802:45 | ChiTotal | total:m1799_4 | +| ir.cpp:1802:44:1802:45 | ChiTotal | total:m1802_2 | +| ir.cpp:1802:44:1802:45 | SideEffect | ~m1799_4 | +| ir.cpp:1802:45:1802:45 | Address | &:r1802_4 | +| ir.cpp:1802:45:1802:45 | Address | &:r1802_7 | +| ir.cpp:1802:45:1802:45 | Arg(0) | 0:r1802_7 | +| ir.cpp:1802:45:1802:45 | Load | m1800_2 | +| ir.cpp:1802:45:1802:45 | SideEffect | ~m1800_4 | +| ir.cpp:1802:45:1802:45 | Unary | r1802_5 | +| ir.cpp:1802:45:1802:45 | Unary | r1802_6 | +| ir.cpp:1803:37:1803:38 | Address | &:r1803_1 | +| ir.cpp:1803:37:1803:38 | Address | &:r1803_1 | +| ir.cpp:1803:37:1803:38 | Arg(this) | this:r1803_1 | +| ir.cpp:1803:41:1803:42 | CallTarget | func:r1803_3 | +| ir.cpp:1803:41:1803:42 | ChiPartial | partial:m1803_9 | +| ir.cpp:1803:41:1803:42 | ChiPartial | partial:m1803_12 | +| ir.cpp:1803:41:1803:42 | ChiTotal | total:m1802_10 | +| ir.cpp:1803:41:1803:42 | ChiTotal | total:m1803_2 | +| ir.cpp:1803:41:1803:42 | SideEffect | ~m1802_10 | +| ir.cpp:1803:42:1803:42 | Address | &:r1803_4 | +| ir.cpp:1803:42:1803:42 | Address | &:r1803_7 | +| ir.cpp:1803:42:1803:42 | Arg(0) | 0:r1803_7 | +| ir.cpp:1803:42:1803:42 | Load | m1801_2 | +| ir.cpp:1803:42:1803:42 | SideEffect | ~m1801_4 | +| ir.cpp:1803:42:1803:42 | Unary | r1803_5 | +| ir.cpp:1803:42:1803:42 | Unary | r1803_6 | +| ir.cpp:1804:1:1804:1 | Address | &:r1804_1 | +| ir.cpp:1806:6:1806:22 | ChiPartial | partial:m1806_3 | +| ir.cpp:1806:6:1806:22 | ChiTotal | total:m1806_2 | +| ir.cpp:1806:6:1806:22 | SideEffect | m1806_3 | +| ir.cpp:1806:28:1806:28 | Address | &:r1806_5 | +| ir.cpp:1807:13:1807:13 | Address | &:r1807_1 | +| ir.cpp:1807:17:1807:17 | Address | &:r1807_2 | +| ir.cpp:1807:17:1807:17 | Load | m1806_6 | +| ir.cpp:1807:17:1807:17 | StoreValue | r1807_3 | +| ir.cpp:1807:20:1807:20 | Address | &:r1807_5 | +| ir.cpp:1807:20:1807:20 | Left | r1807_6 | +| ir.cpp:1807:20:1807:20 | Load | m1806_6 | +| ir.cpp:1807:20:1807:24 | Condition | r1807_10 | +| ir.cpp:1807:20:1807:24 | Left | r1807_8 | +| ir.cpp:1807:20:1807:24 | Right | r1807_9 | +| ir.cpp:1807:24:1807:24 | Right | r1807_7 | +| ir.cpp:1808:9:1808:9 | Address | &:r1808_6 | +| ir.cpp:1808:13:1808:13 | Address | &:r1808_1 | +| ir.cpp:1808:13:1808:13 | Left | r1808_2 | +| ir.cpp:1808:13:1808:13 | Load | m1806_6 | +| ir.cpp:1808:13:1808:17 | StoreValue | r1808_5 | +| ir.cpp:1808:17:1808:17 | Address | &:r1808_3 | +| ir.cpp:1808:17:1808:17 | Load | m1807_4 | +| ir.cpp:1808:17:1808:17 | Right | r1808_4 | +| ir.cpp:1811:9:1811:9 | Address | &:r1811_2 | +| ir.cpp:1811:9:1811:9 | Phi | from 0:m1806_6 | +| ir.cpp:1811:9:1811:9 | Phi | from 1:m1808_7 | +| ir.cpp:1812:9:1812:9 | Address | &:r1812_3 | | ir.cpp:1812:13:1812:13 | Address | &:r1812_1 | -| ir.cpp:1812:13:1812:13 | Left | r1812_2 | -| ir.cpp:1812:13:1812:13 | Load | m1806_7 | -| ir.cpp:1812:13:1812:17 | StoreValue | r1812_5 | -| ir.cpp:1812:17:1812:17 | Address | &:r1812_3 | -| ir.cpp:1812:17:1812:17 | Load | m1809_4 | -| ir.cpp:1812:17:1812:17 | Right | r1812_4 | -| ir.cpp:1815:13:1815:22 | Address | &:r1815_1 | -| ir.cpp:1815:13:1815:22 | Condition | r1815_7 | -| ir.cpp:1815:17:1815:18 | Address | &:r1815_5 | -| ir.cpp:1815:17:1815:18 | Load | m1815_4 | -| ir.cpp:1815:17:1815:18 | Unary | r1815_6 | -| ir.cpp:1815:22:1815:22 | Address | &:r1815_2 | -| ir.cpp:1815:22:1815:22 | Load | m1809_4 | -| ir.cpp:1815:22:1815:22 | StoreValue | r1815_3 | -| ir.cpp:1817:9:1817:9 | Address | &:r1817_3 | -| ir.cpp:1817:9:1817:9 | Address | &:r1817_3 | -| ir.cpp:1817:9:1817:9 | Left | r1817_4 | -| ir.cpp:1817:9:1817:9 | Load | m1812_7 | -| ir.cpp:1817:9:1817:15 | StoreValue | r1817_5 | -| ir.cpp:1817:14:1817:15 | Address | &:r1817_1 | -| ir.cpp:1817:14:1817:15 | Load | m1815_4 | -| ir.cpp:1817:14:1817:15 | Right | r1817_2 | -| ir.cpp:1823:5:1823:12 | Address | &:r1823_3 | -| ir.cpp:1823:5:1823:12 | SideEffect | ~m1823_6 | -| ir.cpp:1823:16:1823:16 | ChiPartial | partial:m1823_5 | -| ir.cpp:1823:16:1823:16 | ChiTotal | total:m1823_2 | -| ir.cpp:1823:16:1823:16 | StoreValue | r1823_4 | -| ir.cpp:1827:18:1827:25 | Address | &:r1827_3 | -| ir.cpp:1827:18:1827:25 | Arg(this) | this:r1827_3 | -| ir.cpp:1827:18:1827:25 | SideEffect | ~m1827_10 | -| ir.cpp:1827:27:1827:27 | Arg(0) | 0:r1827_5 | -| ir.cpp:1827:27:1827:28 | CallTarget | func:r1827_4 | -| ir.cpp:1827:27:1827:28 | ChiPartial | partial:m1827_7 | -| ir.cpp:1827:27:1827:28 | ChiPartial | partial:m1827_9 | -| ir.cpp:1827:27:1827:28 | ChiTotal | total:m1827_2 | -| ir.cpp:1827:27:1827:28 | ChiTotal | total:m1827_8 | -| ir.cpp:1827:27:1827:28 | SideEffect | ~m1827_2 | -| ir.cpp:1829:18:1829:25 | Address | &:r1829_3 | -| ir.cpp:1829:18:1829:25 | Arg(this) | this:r1829_3 | -| ir.cpp:1829:18:1829:25 | SideEffect | ~m1829_10 | -| ir.cpp:1829:28:1829:47 | CallTarget | func:r1829_4 | -| ir.cpp:1829:28:1829:47 | ChiPartial | partial:m1829_7 | -| ir.cpp:1829:28:1829:47 | ChiPartial | partial:m1829_9 | -| ir.cpp:1829:28:1829:47 | ChiTotal | total:m1829_2 | -| ir.cpp:1829:28:1829:47 | ChiTotal | total:m1829_8 | -| ir.cpp:1829:28:1829:47 | SideEffect | ~m1829_2 | -| ir.cpp:1829:46:1829:46 | Arg(0) | 0:r1829_5 | -| ir.cpp:1831:7:1831:19 | Address | &:r1831_3 | -| ir.cpp:1831:7:1831:19 | SideEffect | ~m1831_8 | -| ir.cpp:1831:23:1831:37 | ChiPartial | partial:m1831_7 | -| ir.cpp:1831:23:1831:37 | ChiTotal | total:m1831_2 | -| ir.cpp:1831:23:1831:37 | StoreValue | r1831_6 | -| ir.cpp:1831:23:1831:37 | Unary | r1831_4 | -| ir.cpp:1831:23:1831:37 | Unary | r1831_5 | -| ir.cpp:1833:5:1833:12 | Address | &:r1833_3 | -| ir.cpp:1833:5:1833:12 | SideEffect | ~m1833_7 | -| ir.cpp:1833:16:1833:23 | Address | &:r1833_4 | -| ir.cpp:1833:16:1833:23 | ChiPartial | partial:m1833_6 | -| ir.cpp:1833:16:1833:23 | ChiTotal | total:m1833_2 | -| ir.cpp:1833:16:1833:23 | Load | ~m1833_2 | -| ir.cpp:1833:16:1833:23 | StoreValue | r1833_5 | -| ir.cpp:1836:11:1836:11 | Address | &:r1836_5 | -| ir.cpp:1836:11:1836:11 | Address | &:r1836_5 | -| ir.cpp:1836:11:1836:11 | Address | &:r1836_7 | -| ir.cpp:1836:11:1836:11 | Address | &:r1836_7 | -| ir.cpp:1836:11:1836:11 | Address | &:r1836_10 | -| ir.cpp:1836:11:1836:11 | ChiPartial | partial:m1836_3 | -| ir.cpp:1836:11:1836:11 | ChiTotal | total:m1836_2 | -| ir.cpp:1836:11:1836:11 | Load | m0_20 | -| ir.cpp:1836:11:1836:11 | Load | m1836_6 | -| ir.cpp:1836:11:1836:11 | SideEffect | m0_14 | -| ir.cpp:1836:11:1836:11 | SideEffect | m1836_3 | -| ir.cpp:1841:12:1841:12 | Address | &:r1841_5 | -| ir.cpp:1841:12:1841:12 | Address | &:r1841_5 | -| ir.cpp:1841:12:1841:12 | Address | &:r1841_7 | -| ir.cpp:1841:12:1841:12 | Address | &:r1841_7 | -| ir.cpp:1841:12:1841:12 | Address | &:r1841_9 | -| ir.cpp:1841:12:1841:12 | Address | &:r1841_12 | -| ir.cpp:1841:12:1841:12 | Address | &:r1841_20 | -| ir.cpp:1841:12:1841:12 | Arg(this) | this:r0_5 | -| ir.cpp:1841:12:1841:12 | CallTarget | func:r1841_11 | -| ir.cpp:1841:12:1841:12 | ChiPartial | partial:m1841_3 | -| ir.cpp:1841:12:1841:12 | ChiPartial | partial:m1841_17 | -| ir.cpp:1841:12:1841:12 | ChiTotal | total:m1841_2 | -| ir.cpp:1841:12:1841:12 | ChiTotal | total:m1841_4 | -| ir.cpp:1841:12:1841:12 | Load | m0_2 | -| ir.cpp:1841:12:1841:12 | Load | m0_21 | -| ir.cpp:1841:12:1841:12 | Load | m1841_6 | -| ir.cpp:1841:12:1841:12 | Load | m1841_6 | -| ir.cpp:1841:12:1841:12 | SideEffect | m0_12 | -| ir.cpp:1841:12:1841:12 | SideEffect | ~m1841_4 | -| ir.cpp:1841:12:1841:12 | SideEffect | ~m1841_18 | -| ir.cpp:1841:12:1841:12 | Unary | r1841_10 | -| ir.cpp:1841:12:1841:12 | Unary | r1841_13 | -| ir.cpp:1841:12:1841:12 | Unary | r1841_14 | -| ir.cpp:1841:12:1841:12 | Unary | r1841_15 | -| ir.cpp:1841:12:1841:12 | Unary | r1841_16 | -| ir.cpp:1845:10:1845:12 | ChiPartial | partial:m1845_3 | -| ir.cpp:1845:10:1845:12 | ChiTotal | total:m1845_2 | -| ir.cpp:1845:10:1845:12 | SideEffect | ~m1847_18 | -| ir.cpp:1846:11:1846:11 | Address | &:r1846_1 | -| ir.cpp:1846:11:1846:11 | Address | &:r1846_1 | -| ir.cpp:1846:11:1846:11 | Arg(this) | this:r1846_1 | -| ir.cpp:1846:13:1846:13 | Address | &:r1846_4 | -| ir.cpp:1846:13:1846:13 | Address | &:r1846_4 | -| ir.cpp:1846:13:1846:13 | Arg(0) | 0:r1846_4 | -| ir.cpp:1846:13:1846:13 | ChiPartial | partial:m1846_11 | -| ir.cpp:1846:13:1846:13 | ChiTotal | total:m1846_7 | -| ir.cpp:1846:13:1846:13 | SideEffect | ~m1846_7 | -| ir.cpp:1846:13:1846:14 | CallTarget | func:r1846_3 | -| ir.cpp:1846:13:1846:14 | ChiPartial | partial:m1846_6 | -| ir.cpp:1846:13:1846:14 | ChiPartial | partial:m1846_9 | -| ir.cpp:1846:13:1846:14 | ChiTotal | total:m1845_4 | -| ir.cpp:1846:13:1846:14 | ChiTotal | total:m1846_2 | -| ir.cpp:1846:13:1846:14 | SideEffect | ~m1845_4 | -| ir.cpp:1847:9:1847:9 | Address | &:r1847_1 | -| ir.cpp:1847:9:1847:9 | Address | &:r1847_1 | -| ir.cpp:1847:9:1847:9 | Arg(this) | this:r1847_1 | -| ir.cpp:1847:9:1847:9 | ChiPartial | partial:m1847_21 | -| ir.cpp:1847:9:1847:9 | ChiTotal | total:m1846_10 | -| ir.cpp:1847:9:1847:9 | SideEffect | m1846_10 | -| ir.cpp:1847:11:1847:11 | CallTarget | func:r1847_2 | -| ir.cpp:1847:11:1847:11 | ChiPartial | partial:m1847_17 | -| ir.cpp:1847:11:1847:11 | ChiTotal | total:m1847_14 | -| ir.cpp:1847:11:1847:11 | SideEffect | ~m1847_14 | -| ir.cpp:1847:11:1847:11 | Unary | r1847_16 | -| ir.cpp:1847:13:1847:13 | Address | &:r1847_3 | -| ir.cpp:1847:13:1847:13 | Address | &:r1847_3 | -| ir.cpp:1847:13:1847:13 | Address | &:r1847_6 | -| ir.cpp:1847:13:1847:13 | Address | &:r1847_6 | -| ir.cpp:1847:13:1847:13 | Address | &:r1847_15 | -| ir.cpp:1847:13:1847:13 | Address | &:r1847_15 | -| ir.cpp:1847:13:1847:13 | Arg(0) | 0:r1847_6 | -| ir.cpp:1847:13:1847:13 | Arg(0) | 0:r1847_15 | -| ir.cpp:1847:13:1847:13 | Arg(this) | this:r1847_3 | -| ir.cpp:1847:13:1847:13 | CallTarget | func:r1847_5 | -| ir.cpp:1847:13:1847:13 | ChiPartial | partial:m1847_8 | -| ir.cpp:1847:13:1847:13 | ChiPartial | partial:m1847_11 | -| ir.cpp:1847:13:1847:13 | ChiPartial | partial:m1847_13 | -| ir.cpp:1847:13:1847:13 | ChiPartial | partial:m1847_23 | -| ir.cpp:1847:13:1847:13 | ChiTotal | total:m1846_12 | -| ir.cpp:1847:13:1847:13 | ChiTotal | total:m1847_4 | -| ir.cpp:1847:13:1847:13 | ChiTotal | total:m1847_9 | -| ir.cpp:1847:13:1847:13 | ChiTotal | total:m1847_12 | -| ir.cpp:1847:13:1847:13 | SideEffect | ~m1846_12 | -| ir.cpp:1847:13:1847:13 | SideEffect | ~m1847_9 | -| ir.cpp:1847:13:1847:13 | SideEffect | ~m1847_12 | -| ir.cpp:1847:13:1847:13 | Unary | r1847_3 | -| ir.cpp:1851:6:1851:14 | ChiPartial | partial:m1851_3 | -| ir.cpp:1851:6:1851:14 | ChiTotal | total:m1851_2 | -| ir.cpp:1851:6:1851:14 | SideEffect | m1851_3 | -| ir.cpp:1852:17:1852:18 | Address | &:r1852_1 | -| ir.cpp:1852:22:1852:40 | StoreValue | r1852_3 | -| ir.cpp:1852:22:1852:40 | Unary | r1852_2 | -| ir.cpp:1853:17:1853:23 | Address | &:r1853_1 | -| ir.cpp:1853:27:1853:34 | StoreValue | r1853_3 | -| ir.cpp:1853:27:1853:34 | Unary | r1853_2 | -| ir.cpp:1864:15:1864:15 | Address | &:r1864_5 | -| ir.cpp:1864:15:1864:15 | Address | &:r1864_5 | -| ir.cpp:1864:15:1864:15 | Address | &:r1864_7 | -| ir.cpp:1864:15:1864:15 | Address | &:r1864_7 | -| ir.cpp:1864:15:1864:15 | Address | &:r1864_15 | -| ir.cpp:1864:15:1864:15 | ChiPartial | partial:m1864_3 | -| ir.cpp:1864:15:1864:15 | ChiTotal | total:m1864_2 | -| ir.cpp:1864:15:1864:15 | Load | m1864_6 | -| ir.cpp:1864:15:1864:15 | Load | m1866_5 | -| ir.cpp:1864:15:1864:15 | SideEffect | m1864_3 | -| ir.cpp:1864:15:1864:15 | SideEffect | m1864_8 | -| ir.cpp:1864:47:1864:47 | Address | &:r1864_9 | -| ir.cpp:1864:47:1864:47 | Address | &:r1864_9 | -| ir.cpp:1864:47:1864:47 | Address | &:r1864_11 | -| ir.cpp:1864:47:1864:47 | Address | &:r1864_11 | -| ir.cpp:1864:47:1864:47 | Load | m1864_10 | -| ir.cpp:1864:47:1864:47 | SideEffect | m1864_12 | -| ir.cpp:1866:13:1866:21 | Address | &:r1866_1 | -| ir.cpp:1866:20:1866:20 | Address | &:r1866_2 | -| ir.cpp:1866:20:1866:20 | Load | m1864_10 | -| ir.cpp:1866:20:1866:20 | StoreValue | r1866_4 | -| ir.cpp:1866:20:1866:20 | Unary | r1866_3 | -| ir.cpp:1870:10:1870:14 | ChiPartial | partial:m1870_3 | -| ir.cpp:1870:10:1870:14 | ChiTotal | total:m1870_2 | -| ir.cpp:1870:10:1870:14 | SideEffect | ~m1872_12 | -| ir.cpp:1871:19:1871:19 | Address | &:r1871_1 | -| ir.cpp:1872:9:1872:9 | Address | &:r1872_1 | -| ir.cpp:1872:9:1872:9 | Address | &:r1872_1 | -| ir.cpp:1872:9:1872:9 | Arg(this) | this:r1872_1 | -| ir.cpp:1872:9:1872:9 | ChiPartial | partial:m1872_9 | -| ir.cpp:1872:9:1872:9 | ChiTotal | total:m1871_2 | -| ir.cpp:1872:9:1872:9 | SideEffect | m1871_2 | -| ir.cpp:1872:11:1872:33 | CallTarget | func:r1872_2 | -| ir.cpp:1872:11:1872:33 | ChiPartial | partial:m1872_5 | -| ir.cpp:1872:11:1872:33 | ChiTotal | total:m1870_4 | -| ir.cpp:1872:11:1872:33 | SideEffect | ~m1870_4 | -| ir.cpp:1872:35:1872:41 | Address | &:r1872_3 | -| ir.cpp:1872:35:1872:41 | Address | &:r1872_3 | -| ir.cpp:1872:35:1872:41 | Arg(0) | 0:r1872_3 | -| ir.cpp:1872:35:1872:41 | ChiPartial | partial:m1872_11 | -| ir.cpp:1872:35:1872:41 | ChiTotal | total:m1872_6 | -| ir.cpp:1872:35:1872:41 | SideEffect | ~m1872_6 | -| ir.cpp:1877:13:1877:13 | Address | &:r1877_5 | -| ir.cpp:1877:13:1877:13 | Address | &:r1877_5 | -| ir.cpp:1877:13:1877:13 | Address | &:r1877_7 | -| ir.cpp:1877:13:1877:13 | Address | &:r1877_7 | -| ir.cpp:1877:13:1877:13 | Address | &:r1877_10 | -| ir.cpp:1877:13:1877:13 | ChiPartial | partial:m1877_3 | -| ir.cpp:1877:13:1877:13 | ChiTotal | total:m1877_2 | -| ir.cpp:1877:13:1877:13 | Load | m1877_6 | -| ir.cpp:1877:13:1877:13 | Load | m1881_9 | -| ir.cpp:1877:13:1877:13 | SideEffect | m1877_3 | -| ir.cpp:1877:13:1877:13 | SideEffect | m1877_8 | -| ir.cpp:1878:13:1878:29 | Address | &:r1878_1 | -| ir.cpp:1878:13:1878:29 | Address | &:r1878_3 | -| ir.cpp:1879:13:1879:14 | Address | &:r1879_4 | -| ir.cpp:1879:13:1879:19 | ChiPartial | partial:m1879_5 | -| ir.cpp:1879:13:1879:19 | ChiTotal | total:m1878_2 | -| ir.cpp:1879:14:1879:14 | Unary | r1879_2 | -| ir.cpp:1879:14:1879:14 | Unary | r1879_3 | -| ir.cpp:1879:18:1879:19 | StoreValue | r1879_1 | -| ir.cpp:1880:13:1880:14 | Address | &:r1880_4 | -| ir.cpp:1880:13:1880:19 | ChiPartial | partial:m1880_5 | -| ir.cpp:1880:13:1880:19 | ChiTotal | total:m1878_4 | -| ir.cpp:1880:14:1880:14 | Unary | r1880_2 | -| ir.cpp:1880:14:1880:14 | Unary | r1880_3 | -| ir.cpp:1880:18:1880:19 | StoreValue | r1880_1 | -| ir.cpp:1881:13:1881:27 | Address | &:r1881_1 | -| ir.cpp:1881:20:1881:21 | Left | r1881_4 | -| ir.cpp:1881:20:1881:21 | Load | m1879_5 | -| ir.cpp:1881:20:1881:26 | StoreValue | r1881_8 | -| ir.cpp:1881:21:1881:21 | Address | &:r1881_3 | -| ir.cpp:1881:21:1881:21 | Unary | r1881_2 | -| ir.cpp:1881:25:1881:26 | Load | m1880_5 | -| ir.cpp:1881:25:1881:26 | Right | r1881_7 | -| ir.cpp:1881:26:1881:26 | Address | &:r1881_6 | -| ir.cpp:1881:26:1881:26 | Unary | r1881_5 | -| ir.cpp:1885:10:1885:14 | ChiPartial | partial:m1885_3 | -| ir.cpp:1885:10:1885:14 | ChiTotal | total:m1885_2 | -| ir.cpp:1885:10:1885:14 | SideEffect | ~m1887_5 | -| ir.cpp:1886:19:1886:19 | Address | &:r1886_1 | -| ir.cpp:1887:9:1887:9 | Address | &:r1887_1 | -| ir.cpp:1887:9:1887:9 | Address | &:r1887_1 | -| ir.cpp:1887:9:1887:9 | Arg(this) | this:r1887_1 | -| ir.cpp:1887:9:1887:9 | ChiPartial | partial:m1887_7 | -| ir.cpp:1887:9:1887:9 | ChiTotal | total:m1886_2 | -| ir.cpp:1887:9:1887:9 | SideEffect | m1886_2 | -| ir.cpp:1887:11:1887:50 | CallTarget | func:r1887_2 | -| ir.cpp:1887:11:1887:50 | ChiPartial | partial:m1887_4 | -| ir.cpp:1887:11:1887:50 | ChiTotal | total:m1885_4 | -| ir.cpp:1887:11:1887:50 | SideEffect | ~m1885_4 | -| ir.cpp:1891:24:1891:24 | Address | &:r1891_3 | -| ir.cpp:1891:24:1891:24 | Address | &:r1891_3 | -| ir.cpp:1891:24:1891:24 | SideEffect | ~m1891_6 | -| ir.cpp:1891:24:1891:24 | SideEffect | ~m1891_6 | -| ir.cpp:1891:42:1891:43 | ChiPartial | partial:m1891_5 | -| ir.cpp:1891:42:1891:43 | ChiPartial | partial:m1891_5 | -| ir.cpp:1891:42:1891:43 | ChiTotal | total:m1891_2 | -| ir.cpp:1891:42:1891:43 | ChiTotal | total:m1891_2 | -| ir.cpp:1891:42:1891:43 | StoreValue | r1891_4 | -| ir.cpp:1891:42:1891:43 | StoreValue | r1891_4 | -| ir.cpp:1893:5:1893:28 | Address | &:r1893_5 | -| ir.cpp:1893:5:1893:28 | ChiPartial | partial:m1893_3 | -| ir.cpp:1893:5:1893:28 | ChiTotal | total:m1893_2 | -| ir.cpp:1893:5:1893:28 | Load | m1896_8 | -| ir.cpp:1893:5:1893:28 | SideEffect | m1893_3 | -| ir.cpp:1894:9:1894:17 | Address | &:r1894_1 | -| ir.cpp:1894:21:1894:40 | Address | &:r1894_2 | -| ir.cpp:1894:21:1894:40 | Load | ~m1893_3 | -| ir.cpp:1894:21:1894:40 | StoreValue | r1894_3 | -| ir.cpp:1895:10:1895:19 | Address | &:r1895_1 | -| ir.cpp:1895:23:1895:43 | Address | &:r1895_2 | -| ir.cpp:1895:23:1895:43 | Load | ~m1893_3 | -| ir.cpp:1895:23:1895:43 | StoreValue | r1895_3 | -| ir.cpp:1896:5:1896:39 | Address | &:r1896_1 | -| ir.cpp:1896:12:1896:20 | Address | &:r1896_2 | -| ir.cpp:1896:12:1896:20 | Left | r1896_3 | -| ir.cpp:1896:12:1896:20 | Load | m1894_4 | -| ir.cpp:1896:12:1896:38 | StoreValue | r1896_7 | -| ir.cpp:1896:24:1896:38 | Right | r1896_6 | -| ir.cpp:1896:29:1896:38 | Address | &:r1896_4 | -| ir.cpp:1896:29:1896:38 | Load | m1895_4 | -| ir.cpp:1896:29:1896:38 | Unary | r1896_5 | -| ir.cpp:1901:5:1901:16 | Address | &:r1901_7 | -| ir.cpp:1901:5:1901:16 | ChiPartial | partial:m1901_3 | -| ir.cpp:1901:5:1901:16 | ChiTotal | total:m1901_2 | -| ir.cpp:1901:5:1901:16 | Load | m1903_4 | -| ir.cpp:1901:5:1901:16 | SideEffect | m1901_3 | -| ir.cpp:1901:22:1901:22 | Address | &:r1901_5 | -| ir.cpp:1902:9:1902:9 | Address | &:r1902_1 | -| ir.cpp:1902:9:1902:9 | Left | r1902_2 | -| ir.cpp:1902:9:1902:9 | Load | m1901_6 | -| ir.cpp:1902:9:1902:14 | Condition | r1902_4 | -| ir.cpp:1902:13:1902:14 | Right | r1902_3 | -| ir.cpp:1903:9:1903:17 | Address | &:r1903_1 | -| ir.cpp:1903:16:1903:16 | Address | &:r1903_2 | -| ir.cpp:1903:16:1903:16 | Load | m1901_6 | -| ir.cpp:1903:16:1903:16 | StoreValue | r1903_3 | -| ir.cpp:1905:9:1905:20 | CallTarget | func:r1905_1 | -| ir.cpp:1905:9:1905:20 | ChiPartial | partial:m1905_3 | -| ir.cpp:1905:9:1905:20 | ChiTotal | total:m1901_4 | -| ir.cpp:1905:9:1905:20 | SideEffect | ~m1901_4 | -| ir.cpp:1909:5:1909:17 | Address | &:r1909_8 | -| ir.cpp:1909:5:1909:17 | ChiPartial | partial:m1909_3 | -| ir.cpp:1909:5:1909:17 | ChiTotal | total:m1909_2 | -| ir.cpp:1909:5:1909:17 | Load | m1913_4 | -| ir.cpp:1909:5:1909:17 | SideEffect | m1909_3 | -| ir.cpp:1909:23:1909:23 | Address | &:r1909_5 | -| ir.cpp:1910:9:1910:9 | Address | &:r1910_1 | -| ir.cpp:1910:9:1910:9 | Left | r1910_2 | -| ir.cpp:1910:9:1910:9 | Load | m1909_6 | -| ir.cpp:1910:9:1910:14 | Condition | r1910_4 | -| ir.cpp:1910:13:1910:14 | Right | r1910_3 | -| ir.cpp:1911:9:1911:20 | CallTarget | func:r1911_1 | -| ir.cpp:1911:9:1911:20 | ChiPartial | partial:m1911_3 | -| ir.cpp:1911:9:1911:20 | ChiTotal | total:m1909_4 | -| ir.cpp:1911:9:1911:20 | SideEffect | ~m1909_4 | -| ir.cpp:1913:5:1913:13 | Address | &:r1913_1 | -| ir.cpp:1913:12:1913:12 | Address | &:r1913_2 | -| ir.cpp:1913:12:1913:12 | Load | m1909_6 | -| ir.cpp:1913:12:1913:12 | StoreValue | r1913_3 | -| ir.cpp:1916:5:1916:19 | Address | &:r1916_7 | -| ir.cpp:1916:5:1916:19 | ChiPartial | partial:m1916_3 | -| ir.cpp:1916:5:1916:19 | ChiTotal | total:m1916_2 | -| ir.cpp:1916:5:1916:19 | Load | m1917_4 | -| ir.cpp:1916:5:1916:19 | SideEffect | m1916_3 | -| ir.cpp:1916:25:1916:25 | Address | &:r1916_5 | -| ir.cpp:1917:5:1917:13 | Address | &:r1917_1 | -| ir.cpp:1917:12:1917:12 | Address | &:r1917_2 | -| ir.cpp:1917:12:1917:12 | Load | m1916_6 | -| ir.cpp:1917:12:1917:12 | StoreValue | r1917_3 | -| ir.cpp:1920:6:1920:43 | ChiPartial | partial:m1920_3 | -| ir.cpp:1920:6:1920:43 | ChiTotal | total:m1920_2 | -| ir.cpp:1920:6:1920:43 | SideEffect | ~m1928_6 | -| ir.cpp:1921:7:1921:7 | Address | &:r1921_1 | -| ir.cpp:1921:7:1921:7 | Address | &:r1921_1 | -| ir.cpp:1921:7:1921:7 | Arg(this) | this:r1921_1 | -| ir.cpp:1921:7:1921:7 | CallTarget | func:r1921_3 | -| ir.cpp:1921:7:1921:7 | ChiPartial | partial:m1921_5 | -| ir.cpp:1921:7:1921:7 | ChiPartial | partial:m1921_7 | -| ir.cpp:1921:7:1921:7 | ChiTotal | total:m1920_4 | -| ir.cpp:1921:7:1921:7 | ChiTotal | total:m1921_2 | -| ir.cpp:1921:7:1921:7 | SideEffect | ~m1920_4 | -| ir.cpp:1922:9:1922:9 | Address | &:r1922_1 | -| ir.cpp:1923:5:1923:5 | Address | &:r1923_7 | -| ir.cpp:1923:11:1923:30 | CallTarget | func:r1923_2 | -| ir.cpp:1923:11:1923:30 | ChiPartial | partial:m1923_5 | -| ir.cpp:1923:11:1923:30 | ChiTotal | total:m1921_6 | -| ir.cpp:1923:11:1923:30 | SideEffect | ~m1921_6 | -| ir.cpp:1923:11:1923:30 | StoreValue | r1923_4 | -| ir.cpp:1923:32:1923:33 | Arg(0) | 0:r1923_3 | -| ir.cpp:1924:9:1924:9 | Address | &:r1924_1 | -| ir.cpp:1925:5:1925:5 | Address | &:r1925_6 | -| ir.cpp:1925:9:1925:31 | CallTarget | func:r1925_1 | -| ir.cpp:1925:9:1925:31 | ChiPartial | partial:m1925_4 | -| ir.cpp:1925:9:1925:31 | ChiTotal | total:m1923_6 | -| ir.cpp:1925:9:1925:31 | SideEffect | ~m1923_6 | -| ir.cpp:1925:9:1925:31 | StoreValue | r1925_3 | -| ir.cpp:1925:33:1925:34 | Arg(0) | 0:r1925_2 | -| ir.cpp:1926:9:1926:9 | Address | &:r1926_1 | -| ir.cpp:1927:5:1927:5 | Address | &:r1927_6 | -| ir.cpp:1927:9:1927:23 | CallTarget | func:r1927_1 | -| ir.cpp:1927:9:1927:23 | ChiPartial | partial:m1927_4 | -| ir.cpp:1927:9:1927:23 | ChiTotal | total:m1925_5 | -| ir.cpp:1927:9:1927:23 | SideEffect | ~m1925_5 | -| ir.cpp:1927:9:1927:23 | StoreValue | r1927_3 | -| ir.cpp:1927:25:1927:26 | Arg(0) | 0:r1927_2 | -| ir.cpp:1928:1:1928:1 | Address | &:r1928_2 | -| ir.cpp:1928:1:1928:1 | Address | &:r1928_2 | -| ir.cpp:1928:1:1928:1 | Arg(this) | this:r1928_2 | -| ir.cpp:1928:1:1928:1 | CallTarget | func:r1928_3 | -| ir.cpp:1928:1:1928:1 | ChiPartial | partial:m1928_5 | -| ir.cpp:1928:1:1928:1 | ChiPartial | partial:m1928_8 | -| ir.cpp:1928:1:1928:1 | ChiTotal | total:m1921_8 | -| ir.cpp:1928:1:1928:1 | ChiTotal | total:m1927_5 | -| ir.cpp:1928:1:1928:1 | SideEffect | m1921_8 | -| ir.cpp:1928:1:1928:1 | SideEffect | ~m1927_5 | -| ir.cpp:1930:6:1930:23 | ChiPartial | partial:m1930_3 | -| ir.cpp:1930:6:1930:23 | ChiTotal | total:m1930_2 | -| ir.cpp:1930:6:1930:23 | SideEffect | m1930_3 | -| ir.cpp:1931:7:1931:7 | Address | &:r1931_1 | -| ir.cpp:1931:10:1931:10 | Address | &:r1931_3 | -| ir.cpp:1932:3:1932:3 | Address | &:r1932_5 | -| ir.cpp:1932:7:1932:7 | Address | &:r1932_2 | -| ir.cpp:1932:7:1932:7 | Address | &:r1932_2 | -| ir.cpp:1932:7:1932:12 | Load | m1932_3 | -| ir.cpp:1932:7:1932:12 | StoreValue | r1932_4 | -| ir.cpp:1932:11:1932:12 | StoreValue | r1932_1 | -| ir.cpp:1935:6:1935:38 | ChiPartial | partial:m1935_3 | -| ir.cpp:1935:6:1935:38 | ChiTotal | total:m1935_2 | -| ir.cpp:1935:6:1935:38 | SideEffect | m1935_3 | -| ir.cpp:1936:7:1936:7 | Address | &:r1936_1 | -| ir.cpp:1936:10:1936:10 | Address | &:r1936_3 | -| ir.cpp:1936:13:1936:14 | StoreValue | r1936_4 | -| ir.cpp:1937:3:1937:3 | Address | &:r1937_7 | -| ir.cpp:1937:8:1937:8 | Address | &:r1937_2 | -| ir.cpp:1937:8:1937:8 | Address | &:r1937_2 | -| ir.cpp:1937:8:1937:8 | Address | &:r1937_2 | -| ir.cpp:1937:8:1937:8 | Left | r1937_3 | -| ir.cpp:1937:8:1937:8 | Load | m1936_5 | -| ir.cpp:1937:8:1937:14 | Load | m1937_5 | -| ir.cpp:1937:8:1937:14 | StoreValue | r1937_4 | -| ir.cpp:1937:8:1937:14 | StoreValue | r1937_6 | -| ir.cpp:1937:13:1937:14 | Right | r1937_1 | -| ir.cpp:1944:15:1944:43 | Address | &:r1944_5 | -| ir.cpp:1944:15:1944:43 | ChiPartial | partial:m1944_3 | -| ir.cpp:1944:15:1944:43 | ChiTotal | total:m1944_2 | -| ir.cpp:1944:15:1944:43 | Load | m1945_4 | -| ir.cpp:1944:15:1944:43 | SideEffect | m1944_3 | -| ir.cpp:1945:9:1945:17 | Address | &:r1945_1 | -| ir.cpp:1945:16:1945:16 | StoreValue | r1945_3 | -| ir.cpp:1945:16:1945:16 | Unary | r1945_2 | -| ir.cpp:1947:14:1947:39 | Address | &:r1947_5 | -| ir.cpp:1947:14:1947:39 | ChiPartial | partial:m1947_3 | -| ir.cpp:1947:14:1947:39 | ChiTotal | total:m1947_2 | -| ir.cpp:1947:14:1947:39 | Load | m1948_4 | -| ir.cpp:1947:14:1947:39 | SideEffect | m1947_3 | -| ir.cpp:1948:9:1948:17 | Address | &:r1948_1 | -| ir.cpp:1948:16:1948:16 | Address | &:r1948_2 | -| ir.cpp:1948:16:1948:16 | Load | ~m1947_3 | -| ir.cpp:1948:16:1948:16 | StoreValue | r1948_3 | -| ir.cpp:1952:6:1952:55 | ChiPartial | partial:m1952_3 | -| ir.cpp:1952:6:1952:55 | ChiTotal | total:m1952_2 | -| ir.cpp:1952:6:1952:55 | SideEffect | ~m1967_4 | -| ir.cpp:1953:7:1953:7 | Address | &:r1953_1 | -| ir.cpp:1955:7:1955:35 | CallTarget | func:r1955_2 | -| ir.cpp:1955:7:1955:35 | ChiPartial | partial:m1955_4 | -| ir.cpp:1955:7:1955:35 | ChiTotal | total:m1952_4 | -| ir.cpp:1955:7:1955:35 | SideEffect | ~m1952_4 | -| ir.cpp:1955:7:1955:35 | Unary | r1955_3 | -| ir.cpp:1956:5:1956:36 | CallTarget | func:r1956_1 | -| ir.cpp:1956:5:1956:36 | ChiPartial | partial:m1956_3 | -| ir.cpp:1956:5:1956:36 | ChiTotal | total:m1955_5 | -| ir.cpp:1956:5:1956:36 | SideEffect | ~m1955_5 | -| ir.cpp:1956:5:1956:36 | Unary | r1956_2 | -| ir.cpp:1957:7:1957:32 | CallTarget | func:r1957_2 | -| ir.cpp:1957:7:1957:32 | ChiPartial | partial:m1957_4 | -| ir.cpp:1957:7:1957:32 | ChiTotal | total:m1956_4 | -| ir.cpp:1957:7:1957:32 | SideEffect | ~m1956_4 | -| ir.cpp:1958:5:1958:33 | CallTarget | func:r1958_1 | -| ir.cpp:1958:5:1958:33 | ChiPartial | partial:m1958_3 | -| ir.cpp:1958:5:1958:33 | ChiTotal | total:m1957_5 | -| ir.cpp:1958:5:1958:33 | SideEffect | ~m1957_5 | -| ir.cpp:1960:7:1960:7 | Address | &:r1960_1 | -| ir.cpp:1961:5:1961:5 | Address | &:r1961_7 | -| ir.cpp:1961:11:1961:39 | Address | &:r1961_3 | -| ir.cpp:1961:11:1961:39 | CallTarget | func:r1961_2 | -| ir.cpp:1961:11:1961:39 | ChiPartial | partial:m1961_4 | -| ir.cpp:1961:11:1961:39 | ChiTotal | total:m1958_4 | -| ir.cpp:1961:11:1961:39 | SideEffect | ~m1958_4 | -| ir.cpp:1961:40:1961:42 | Load | ~m1961_5 | -| ir.cpp:1961:40:1961:42 | StoreValue | r1961_6 | -| ir.cpp:1962:7:1962:7 | Address | &:r1962_1 | -| ir.cpp:1963:5:1963:5 | Address | &:r1963_6 | -| ir.cpp:1963:9:1963:40 | Address | &:r1963_2 | -| ir.cpp:1963:9:1963:40 | CallTarget | func:r1963_1 | -| ir.cpp:1963:9:1963:40 | ChiPartial | partial:m1963_3 | -| ir.cpp:1963:9:1963:40 | ChiTotal | total:m1961_5 | -| ir.cpp:1963:9:1963:40 | SideEffect | ~m1961_5 | -| ir.cpp:1963:41:1963:43 | Load | ~m1963_4 | -| ir.cpp:1963:41:1963:43 | StoreValue | r1963_5 | -| ir.cpp:1964:7:1964:7 | Address | &:r1964_1 | -| ir.cpp:1965:5:1965:5 | Address | &:r1965_6 | -| ir.cpp:1965:11:1965:36 | CallTarget | func:r1965_2 | -| ir.cpp:1965:11:1965:36 | ChiPartial | partial:m1965_4 | -| ir.cpp:1965:11:1965:36 | ChiTotal | total:m1963_4 | -| ir.cpp:1965:11:1965:36 | SideEffect | ~m1963_4 | -| ir.cpp:1965:11:1965:36 | StoreValue | r1965_3 | -| ir.cpp:1966:7:1966:7 | Address | &:r1966_1 | -| ir.cpp:1967:5:1967:5 | Address | &:r1967_5 | -| ir.cpp:1967:9:1967:37 | CallTarget | func:r1967_1 | -| ir.cpp:1967:9:1967:37 | ChiPartial | partial:m1967_3 | -| ir.cpp:1967:9:1967:37 | ChiTotal | total:m1965_5 | -| ir.cpp:1967:9:1967:37 | SideEffect | ~m1965_5 | -| ir.cpp:1967:9:1967:37 | StoreValue | r1967_2 | -| ir.cpp:1970:6:1970:18 | ChiPartial | partial:m1970_3 | -| ir.cpp:1970:6:1970:18 | ChiTotal | total:m1970_2 | -| ir.cpp:1970:6:1970:18 | SideEffect | m1970_3 | -| ir.cpp:1971:18:1971:18 | Address | &:r1971_1 | -| ir.cpp:1972:5:1972:5 | Address | &:r1972_1 | -| ir.cpp:1972:5:1972:5 | Load | m1971_2 | -| ir.cpp:1981:6:1981:24 | ChiPartial | partial:m1981_3 | -| ir.cpp:1981:6:1981:24 | ChiTotal | total:m1981_2 | -| ir.cpp:1981:6:1981:24 | SideEffect | ~m1989_5 | -| ir.cpp:1982:12:1982:12 | Address | &:r1982_1 | -| ir.cpp:1984:5:1984:19 | ChiPartial | partial:m1984_7 | -| ir.cpp:1984:5:1984:19 | ChiTotal | total:m1984_5 | -| ir.cpp:1984:7:1984:12 | CallTarget | func:r1984_2 | -| ir.cpp:1984:7:1984:12 | ChiPartial | partial:m1984_4 | -| ir.cpp:1984:7:1984:12 | ChiTotal | total:m1981_4 | -| ir.cpp:1984:7:1984:12 | SideEffect | ~m1981_4 | -| ir.cpp:1984:7:1984:12 | Unary | r1984_3 | -| ir.cpp:1984:13:1984:16 | Address | &:r1984_6 | -| ir.cpp:1985:5:1985:19 | ChiPartial | partial:m1985_7 | -| ir.cpp:1985:5:1985:19 | ChiTotal | total:m1985_5 | -| ir.cpp:1985:7:1985:12 | CallTarget | func:r1985_2 | -| ir.cpp:1985:7:1985:12 | ChiPartial | partial:m1985_4 | -| ir.cpp:1985:7:1985:12 | ChiTotal | total:m1984_8 | -| ir.cpp:1985:7:1985:12 | SideEffect | ~m1984_8 | -| ir.cpp:1985:7:1985:12 | Unary | r1985_3 | -| ir.cpp:1985:13:1985:16 | Address | &:r1985_6 | -| ir.cpp:1986:5:1986:15 | Address | &:r1986_1 | -| ir.cpp:1986:5:1986:15 | Address | &:r1986_1 | -| ir.cpp:1986:7:1986:13 | CallTarget | func:r1986_3 | -| ir.cpp:1986:7:1986:13 | ChiPartial | partial:m1986_5 | -| ir.cpp:1986:7:1986:13 | ChiTotal | total:m1985_8 | -| ir.cpp:1986:7:1986:13 | SideEffect | ~m1985_8 | -| ir.cpp:1986:7:1986:13 | StoreValue | r1986_4 | -| ir.cpp:1987:5:1987:18 | CallTarget | func:r1987_1 | -| ir.cpp:1987:5:1987:18 | ChiPartial | partial:m1987_3 | -| ir.cpp:1987:5:1987:18 | ChiTotal | total:m1986_6 | -| ir.cpp:1987:5:1987:18 | SideEffect | ~m1986_6 | -| ir.cpp:1987:5:1987:18 | Unary | r1987_2 | -| ir.cpp:1987:5:1987:25 | ChiPartial | partial:m1987_6 | -| ir.cpp:1987:5:1987:25 | ChiTotal | total:m1987_4 | -| ir.cpp:1987:19:1987:22 | Address | &:r1987_5 | -| ir.cpp:1988:5:1988:18 | CallTarget | func:r1988_1 | -| ir.cpp:1988:5:1988:18 | ChiPartial | partial:m1988_3 | -| ir.cpp:1988:5:1988:18 | ChiTotal | total:m1987_7 | -| ir.cpp:1988:5:1988:18 | SideEffect | ~m1987_7 | -| ir.cpp:1988:5:1988:18 | Unary | r1988_2 | -| ir.cpp:1988:5:1988:25 | ChiPartial | partial:m1988_6 | -| ir.cpp:1988:5:1988:25 | ChiTotal | total:m1988_4 | -| ir.cpp:1988:19:1988:22 | Address | &:r1988_5 | -| ir.cpp:1989:5:1989:19 | CallTarget | func:r1989_2 | -| ir.cpp:1989:5:1989:19 | ChiPartial | partial:m1989_4 | -| ir.cpp:1989:5:1989:19 | ChiTotal | total:m1988_7 | -| ir.cpp:1989:5:1989:19 | SideEffect | ~m1988_7 | -| ir.cpp:1989:5:1989:19 | StoreValue | r1989_3 | -| ir.cpp:1989:5:1989:21 | Address | &:r1989_1 | -| ir.cpp:1989:5:1989:21 | Address | &:r1989_1 | -| ir.cpp:1992:6:1992:21 | ChiPartial | partial:m1992_3 | -| ir.cpp:1992:6:1992:21 | ChiTotal | total:m1992_2 | -| ir.cpp:1992:6:1992:21 | SideEffect | ~m1996_6 | -| ir.cpp:1993:7:1993:7 | Address | &:r1993_1 | -| ir.cpp:1993:7:1993:7 | Address | &:r1993_1 | -| ir.cpp:1993:7:1993:7 | Arg(this) | this:r1993_1 | -| ir.cpp:1993:7:1993:7 | CallTarget | func:r1993_3 | -| ir.cpp:1993:7:1993:7 | ChiPartial | partial:m1993_5 | -| ir.cpp:1993:7:1993:7 | ChiPartial | partial:m1993_7 | -| ir.cpp:1993:7:1993:7 | ChiTotal | total:m1992_4 | -| ir.cpp:1993:7:1993:7 | ChiTotal | total:m1993_2 | -| ir.cpp:1993:7:1993:7 | SideEffect | ~m1992_4 | -| ir.cpp:1994:11:1994:13 | Address | &:r1994_1 | -| ir.cpp:1994:23:1994:45 | StoreValue | r1994_2 | -| ir.cpp:1995:5:1995:7 | Address | &:r1995_3 | -| ir.cpp:1995:13:1995:32 | StoreValue | r1995_2 | -| ir.cpp:1996:1:1996:1 | Address | &:r1996_2 | -| ir.cpp:1996:1:1996:1 | Address | &:r1996_2 | -| ir.cpp:1996:1:1996:1 | Arg(this) | this:r1996_2 | -| ir.cpp:1996:1:1996:1 | CallTarget | func:r1996_3 | -| ir.cpp:1996:1:1996:1 | ChiPartial | partial:m1996_5 | -| ir.cpp:1996:1:1996:1 | ChiPartial | partial:m1996_8 | -| ir.cpp:1996:1:1996:1 | ChiTotal | total:m1993_6 | -| ir.cpp:1996:1:1996:1 | ChiTotal | total:m1993_8 | -| ir.cpp:1996:1:1996:1 | SideEffect | m1993_8 | -| ir.cpp:1996:1:1996:1 | SideEffect | ~m1993_6 | -| ir.cpp:1998:6:1998:19 | ChiPartial | partial:m1998_3 | -| ir.cpp:1998:6:1998:19 | ChiTotal | total:m1998_2 | -| ir.cpp:1998:6:1998:19 | SideEffect | ~m2002_9 | -| ir.cpp:1998:26:1998:26 | Address | &:r1998_5 | -| ir.cpp:1998:33:1998:33 | Address | &:r1998_7 | -| ir.cpp:1998:40:1998:40 | Address | &:r1998_9 | -| ir.cpp:1998:47:1998:47 | Address | &:r1998_11 | -| ir.cpp:1999:5:1999:5 | Address | &:r1999_7 | -| ir.cpp:1999:9:1999:9 | Address | &:r1999_1 | -| ir.cpp:1999:9:1999:9 | Condition | r1999_2 | -| ir.cpp:1999:9:1999:9 | Load | m1998_6 | -| ir.cpp:1999:9:1999:17 | Address | &:r1999_5 | -| ir.cpp:1999:9:1999:17 | Address | &:r1999_11 | -| ir.cpp:1999:9:1999:17 | Address | &:r1999_15 | -| ir.cpp:1999:9:1999:17 | Load | m1999_4 | -| ir.cpp:1999:9:1999:17 | Phi | from 2:m1999_12 | -| ir.cpp:1999:9:1999:17 | Phi | from 3:m1999_16 | -| ir.cpp:1999:9:1999:17 | StoreValue | r1999_6 | -| ir.cpp:1999:13:1999:13 | Address | &:r1999_9 | -| ir.cpp:1999:13:1999:13 | Load | m1998_8 | -| ir.cpp:1999:13:1999:13 | StoreValue | r1999_10 | -| ir.cpp:1999:17:1999:17 | Address | &:r1999_13 | -| ir.cpp:1999:17:1999:17 | Load | m1998_10 | -| ir.cpp:1999:17:1999:17 | StoreValue | r1999_14 | -| ir.cpp:2000:5:2000:5 | Address | &:r2000_7 | -| ir.cpp:2000:9:2000:9 | Address | &:r2000_1 | -| ir.cpp:2000:9:2000:9 | Condition | r2000_2 | -| ir.cpp:2000:9:2000:9 | Load | m1998_6 | -| ir.cpp:2000:9:2000:17 | Address | &:r2000_5 | -| ir.cpp:2000:9:2000:17 | Address | &:r2000_11 | -| ir.cpp:2000:9:2000:17 | Address | &:r2000_14 | -| ir.cpp:2000:9:2000:17 | Load | m2000_4 | -| ir.cpp:2000:9:2000:17 | Phi | from 5:m2000_12 | -| ir.cpp:2000:9:2000:17 | Phi | from 6:m2000_15 | -| ir.cpp:2000:9:2000:17 | StoreValue | r2000_6 | -| ir.cpp:2000:13:2000:13 | Address | &:r2000_9 | -| ir.cpp:2000:13:2000:13 | Load | m1998_8 | -| ir.cpp:2000:13:2000:13 | StoreValue | r2000_10 | -| ir.cpp:2000:17:2000:17 | StoreValue | r2000_13 | -| ir.cpp:2001:5:2001:5 | Address | &:r2001_7 | -| ir.cpp:2001:9:2001:9 | Address | &:r2001_1 | -| ir.cpp:2001:9:2001:9 | Condition | r2001_2 | -| ir.cpp:2001:9:2001:9 | Load | m1998_6 | -| ir.cpp:2001:9:2001:17 | Address | &:r2001_5 | -| ir.cpp:2001:9:2001:17 | Address | &:r2001_10 | -| ir.cpp:2001:9:2001:17 | Address | &:r2001_13 | -| ir.cpp:2001:9:2001:17 | Load | m2001_4 | -| ir.cpp:2001:9:2001:17 | Phi | from 8:m2001_11 | -| ir.cpp:2001:9:2001:17 | Phi | from 9:m2001_14 | -| ir.cpp:2001:9:2001:17 | StoreValue | r2001_6 | -| ir.cpp:2001:13:2001:13 | StoreValue | r2001_9 | -| ir.cpp:2001:17:2001:17 | StoreValue | r2001_12 | -| ir.cpp:2002:5:2002:19 | ChiPartial | partial:m2002_8 | -| ir.cpp:2002:5:2002:19 | ChiTotal | total:m1998_4 | -| ir.cpp:2002:6:2002:6 | Address | &:r2002_2 | -| ir.cpp:2002:6:2002:6 | Condition | r2002_3 | -| ir.cpp:2002:6:2002:6 | Load | m1998_6 | -| ir.cpp:2002:6:2002:14 | Address | &:r2002_6 | -| ir.cpp:2002:6:2002:14 | Address | &:r2002_7 | -| ir.cpp:2002:6:2002:14 | Address | &:r2002_11 | -| ir.cpp:2002:6:2002:14 | Address | &:r2002_14 | -| ir.cpp:2002:6:2002:14 | Load | m2002_5 | -| ir.cpp:2002:6:2002:14 | Phi | from 11:m2002_12 | -| ir.cpp:2002:6:2002:14 | Phi | from 12:m2002_15 | -| ir.cpp:2002:10:2002:10 | StoreValue | r2002_10 | -| ir.cpp:2002:14:2002:14 | StoreValue | r2002_13 | -| ir.cpp:2002:19:2002:19 | StoreValue | r2002_1 | -| ir.cpp:2008:6:2008:22 | ChiPartial | partial:m2008_3 | -| ir.cpp:2008:6:2008:22 | ChiTotal | total:m2008_2 | -| ir.cpp:2008:6:2008:22 | SideEffect | m2008_3 | -| ir.cpp:2008:29:2008:29 | Address | &:r2008_5 | -| ir.cpp:2008:46:2008:46 | Address | &:r2008_7 | -| ir.cpp:2008:63:2008:63 | Address | &:r2008_9 | -| ir.cpp:2008:80:2008:80 | Address | &:r2008_11 | -| ir.cpp:2009:5:2009:5 | Address | &:r2009_7 | -| ir.cpp:2009:9:2009:9 | Address | &:r2009_1 | -| ir.cpp:2009:9:2009:9 | Condition | r2009_2 | -| ir.cpp:2009:9:2009:9 | Load | m2008_6 | -| ir.cpp:2009:9:2009:17 | Address | &:r2009_5 | -| ir.cpp:2009:9:2009:17 | Address | &:r2009_11 | -| ir.cpp:2009:9:2009:17 | Address | &:r2009_15 | -| ir.cpp:2009:9:2009:17 | Load | m2009_4 | -| ir.cpp:2009:9:2009:17 | Phi | from 2:m2009_12 | -| ir.cpp:2009:9:2009:17 | Phi | from 3:m2009_16 | -| ir.cpp:2009:9:2009:17 | StoreValue | r2009_6 | -| ir.cpp:2009:13:2009:13 | Address | &:r2009_9 | -| ir.cpp:2009:13:2009:13 | Load | m2008_8 | -| ir.cpp:2009:13:2009:13 | StoreValue | r2009_10 | -| ir.cpp:2009:17:2009:17 | Address | &:r2009_13 | -| ir.cpp:2009:17:2009:17 | Load | m2008_10 | -| ir.cpp:2009:17:2009:17 | StoreValue | r2009_14 | -| ir.cpp:2010:5:2010:5 | Address | &:r2010_10 | -| ir.cpp:2010:9:2010:9 | Address | &:r2010_2 | -| ir.cpp:2010:9:2010:9 | Address | &:r2010_6 | -| ir.cpp:2010:9:2010:9 | Address | &:r2010_17 | -| ir.cpp:2010:9:2010:9 | Address | &:r2010_23 | -| ir.cpp:2010:9:2010:9 | Condition | r2010_3 | -| ir.cpp:2010:9:2010:9 | Load | m2008_6 | -| ir.cpp:2010:9:2010:9 | Load | m2010_5 | -| ir.cpp:2010:9:2010:9 | Phi | from 5:m2010_18 | -| ir.cpp:2010:9:2010:9 | Phi | from 6:m2010_24 | -| ir.cpp:2010:9:2010:9 | StoreValue | r2010_7 | -| ir.cpp:2010:9:2010:31 | Address | &:r2010_1 | -| ir.cpp:2010:9:2010:31 | Address | &:r2010_1 | -| ir.cpp:2010:9:2010:31 | Load | m2010_8 | -| ir.cpp:2010:9:2010:31 | StoreValue | r2010_9 | -| ir.cpp:2010:13:2010:13 | Address | &:r2010_12 | -| ir.cpp:2010:13:2010:13 | Address | &:r2010_12 | -| ir.cpp:2010:13:2010:13 | Address | &:r2010_13 | -| ir.cpp:2010:13:2010:13 | Load | m2008_8 | -| ir.cpp:2010:13:2010:13 | Load | m2010_15 | -| ir.cpp:2010:13:2010:13 | StoreValue | r2010_14 | -| ir.cpp:2010:13:2010:13 | StoreValue | r2010_16 | -| ir.cpp:2010:17:2010:31 | Address | &:r2010_19 | -| ir.cpp:2010:17:2010:31 | Address | &:r2010_19 | -| ir.cpp:2010:17:2010:31 | Load | m2010_21 | -| ir.cpp:2010:17:2010:31 | StoreValue | r2010_20 | -| ir.cpp:2010:17:2010:31 | StoreValue | r2010_22 | -| ir.cpp:2011:5:2011:5 | Address | &:r2011_10 | -| ir.cpp:2011:9:2011:9 | Address | &:r2011_2 | -| ir.cpp:2011:9:2011:9 | Address | &:r2011_6 | -| ir.cpp:2011:9:2011:9 | Address | &:r2011_16 | -| ir.cpp:2011:9:2011:9 | Address | &:r2011_22 | -| ir.cpp:2011:9:2011:9 | Condition | r2011_3 | -| ir.cpp:2011:9:2011:9 | Load | m2008_6 | -| ir.cpp:2011:9:2011:9 | Load | m2011_5 | -| ir.cpp:2011:9:2011:9 | Phi | from 8:m2011_17 | -| ir.cpp:2011:9:2011:9 | Phi | from 9:m2011_23 | -| ir.cpp:2011:9:2011:9 | StoreValue | r2011_7 | -| ir.cpp:2011:9:2011:45 | Address | &:r2011_1 | -| ir.cpp:2011:9:2011:45 | Address | &:r2011_1 | -| ir.cpp:2011:9:2011:45 | Load | m2011_8 | -| ir.cpp:2011:9:2011:45 | StoreValue | r2011_9 | -| ir.cpp:2011:13:2011:27 | Address | &:r2011_12 | -| ir.cpp:2011:13:2011:27 | Address | &:r2011_12 | -| ir.cpp:2011:13:2011:27 | Load | m2011_14 | -| ir.cpp:2011:13:2011:27 | StoreValue | r2011_13 | -| ir.cpp:2011:13:2011:27 | StoreValue | r2011_15 | -| ir.cpp:2011:31:2011:45 | Address | &:r2011_18 | -| ir.cpp:2011:31:2011:45 | Address | &:r2011_18 | -| ir.cpp:2011:31:2011:45 | Load | m2011_20 | -| ir.cpp:2011:31:2011:45 | StoreValue | r2011_19 | -| ir.cpp:2011:31:2011:45 | StoreValue | r2011_21 | -| ir.cpp:2012:6:2012:6 | Address | &:r2012_11 | -| ir.cpp:2012:6:2012:6 | Unary | r2012_11 | -| ir.cpp:2012:6:2012:18 | Address | &:r2012_13 | -| ir.cpp:2012:10:2012:10 | Address | &:r2012_5 | -| ir.cpp:2012:10:2012:10 | Condition | r2012_6 | -| ir.cpp:2012:10:2012:10 | Load | m2008_6 | -| ir.cpp:2012:10:2012:18 | Address | &:r2012_9 | -| ir.cpp:2012:10:2012:18 | Address | &:r2012_17 | -| ir.cpp:2012:10:2012:18 | Address | &:r2012_21 | -| ir.cpp:2012:10:2012:18 | Load | m2012_8 | -| ir.cpp:2012:10:2012:18 | Phi | from 11:m2012_18 | -| ir.cpp:2012:10:2012:18 | Phi | from 12:m2012_22 | -| ir.cpp:2012:10:2012:18 | StoreValue | r2012_10 | -| ir.cpp:2012:14:2012:14 | Address | &:r2012_15 | -| ir.cpp:2012:14:2012:14 | Load | m2008_8 | -| ir.cpp:2012:14:2012:14 | StoreValue | r2012_16 | -| ir.cpp:2012:18:2012:18 | Address | &:r2012_19 | -| ir.cpp:2012:18:2012:18 | Load | m2008_10 | -| ir.cpp:2012:18:2012:18 | StoreValue | r2012_20 | -| ir.cpp:2012:23:2012:37 | Address | &:r2012_1 | -| ir.cpp:2012:23:2012:37 | Address | &:r2012_1 | -| ir.cpp:2012:23:2012:37 | Load | m2012_3 | -| ir.cpp:2012:23:2012:37 | StoreValue | r2012_2 | -| ir.cpp:2012:23:2012:37 | StoreValue | r2012_4 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_5 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_5 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_5 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_5 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_5 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_5 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_7 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_7 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_7 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_7 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_7 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_7 | -| ir.cpp:2015:8:2015:8 | Address | &:r2015_10 | -| ir.cpp:2015:8:2015:8 | ChiPartial | partial:m2015_3 | -| ir.cpp:2015:8:2015:8 | ChiPartial | partial:m2015_3 | -| ir.cpp:2015:8:2015:8 | ChiPartial | partial:m2015_3 | -| ir.cpp:2015:8:2015:8 | ChiTotal | total:m2015_2 | -| ir.cpp:2015:8:2015:8 | ChiTotal | total:m2015_2 | -| ir.cpp:2015:8:2015:8 | ChiTotal | total:m2015_2 | -| ir.cpp:2015:8:2015:8 | Load | m0_10 | -| ir.cpp:2015:8:2015:8 | Load | m2015_6 | -| ir.cpp:2015:8:2015:8 | Load | m2015_6 | -| ir.cpp:2015:8:2015:8 | Load | m2015_6 | -| ir.cpp:2015:8:2015:8 | SideEffect | m2015_3 | -| ir.cpp:2015:8:2015:8 | SideEffect | m2015_3 | -| ir.cpp:2015:8:2015:8 | SideEffect | m2015_3 | -| ir.cpp:2015:8:2015:8 | SideEffect | m2015_8 | -| ir.cpp:2015:8:2015:8 | SideEffect | m2015_8 | -| ir.cpp:2015:8:2015:8 | SideEffect | m2015_8 | -| ir.cpp:2016:13:2016:29 | Address | &:r2016_5 | -| ir.cpp:2016:13:2016:29 | Address | &:r2016_5 | -| ir.cpp:2016:13:2016:29 | Address | &:r2016_7 | -| ir.cpp:2016:13:2016:29 | Address | &:r2016_7 | -| ir.cpp:2016:13:2016:29 | ChiPartial | partial:m2016_3 | -| ir.cpp:2016:13:2016:29 | ChiTotal | total:m2016_2 | -| ir.cpp:2016:13:2016:29 | Load | m2016_6 | -| ir.cpp:2016:13:2016:29 | SideEffect | m2016_3 | -| ir.cpp:2016:13:2016:29 | SideEffect | m2016_8 | -| ir.cpp:2019:6:2019:25 | ChiPartial | partial:m2019_3 | -| ir.cpp:2019:6:2019:25 | ChiTotal | total:m2019_2 | -| ir.cpp:2019:6:2019:25 | SideEffect | ~m2023_32 | -| ir.cpp:2019:32:2019:32 | Address | &:r2019_5 | -| ir.cpp:2019:52:2019:52 | Address | &:r2019_7 | -| ir.cpp:2019:72:2019:72 | Address | &:r2019_9 | -| ir.cpp:2019:92:2019:92 | Address | &:r2019_11 | -| ir.cpp:2020:5:2020:5 | Address | &:r2020_1 | -| ir.cpp:2020:5:2020:5 | Address | &:r2020_1 | -| ir.cpp:2020:5:2020:5 | Arg(this) | this:r2020_1 | -| ir.cpp:2020:5:2020:5 | ChiPartial | partial:m2020_16 | -| ir.cpp:2020:5:2020:5 | ChiTotal | total:m2019_12 | -| ir.cpp:2020:5:2020:5 | SideEffect | m2019_12 | -| ir.cpp:2020:7:2020:7 | CallTarget | func:r2020_2 | -| ir.cpp:2020:7:2020:7 | ChiPartial | partial:m2020_12 | -| ir.cpp:2020:7:2020:7 | ChiTotal | total:m2019_4 | -| ir.cpp:2020:7:2020:7 | SideEffect | ~m2019_4 | -| ir.cpp:2020:7:2020:7 | Unary | r2020_11 | -| ir.cpp:2020:9:2020:9 | Address | &:r2020_3 | -| ir.cpp:2020:9:2020:9 | Condition | r2020_4 | -| ir.cpp:2020:9:2020:9 | Load | m2019_6 | -| ir.cpp:2020:9:2020:17 | Address | &:r2020_7 | -| ir.cpp:2020:9:2020:17 | Address | &:r2020_10 | -| ir.cpp:2020:9:2020:17 | Address | &:r2020_20 | -| ir.cpp:2020:9:2020:17 | Address | &:r2020_23 | -| ir.cpp:2020:9:2020:17 | Arg(0) | 0:r2020_10 | -| ir.cpp:2020:9:2020:17 | Load | m2020_6 | -| ir.cpp:2020:9:2020:17 | Phi | from 2:m2020_21 | -| ir.cpp:2020:9:2020:17 | Phi | from 3:m2020_24 | -| ir.cpp:2020:9:2020:17 | SideEffect | ~m2020_13 | -| ir.cpp:2020:9:2020:17 | Unary | r2020_8 | -| ir.cpp:2020:9:2020:17 | Unary | r2020_9 | -| ir.cpp:2020:13:2020:13 | StoreValue | r2020_19 | -| ir.cpp:2020:17:2020:17 | StoreValue | r2020_22 | -| ir.cpp:2021:5:2021:5 | Address | &:r2021_1 | -| ir.cpp:2021:5:2021:5 | Address | &:r2021_1 | -| ir.cpp:2021:5:2021:5 | Arg(this) | this:r2021_1 | -| ir.cpp:2021:5:2021:5 | ChiPartial | partial:m2021_19 | -| ir.cpp:2021:5:2021:5 | ChiTotal | total:m2020_17 | -| ir.cpp:2021:5:2021:5 | SideEffect | m2020_17 | -| ir.cpp:2021:7:2021:7 | CallTarget | func:r2021_2 | -| ir.cpp:2021:7:2021:7 | ChiPartial | partial:m2021_15 | -| ir.cpp:2021:7:2021:7 | ChiTotal | total:m2021_7 | -| ir.cpp:2021:7:2021:7 | SideEffect | ~m2021_7 | -| ir.cpp:2021:7:2021:7 | Unary | r2021_14 | -| ir.cpp:2021:9:2021:9 | Address | &:r2021_4 | -| ir.cpp:2021:9:2021:9 | Address | &:r2021_9 | -| ir.cpp:2021:9:2021:9 | Address | &:r2021_35 | -| ir.cpp:2021:9:2021:9 | Address | &:r2021_46 | -| ir.cpp:2021:9:2021:9 | Condition | r2021_5 | -| ir.cpp:2021:9:2021:9 | Load | m2019_6 | -| ir.cpp:2021:9:2021:9 | Load | m2021_8 | -| ir.cpp:2021:9:2021:9 | Phi | from 5:m2021_36 | -| ir.cpp:2021:9:2021:9 | Phi | from 5:~m2021_30 | -| ir.cpp:2021:9:2021:9 | Phi | from 6:m2021_47 | -| ir.cpp:2021:9:2021:9 | Phi | from 6:~m2021_42 | -| ir.cpp:2021:9:2021:9 | StoreValue | r2021_10 | -| ir.cpp:2021:9:2021:34 | Address | &:r2021_3 | -| ir.cpp:2021:9:2021:34 | Address | &:r2021_13 | -| ir.cpp:2021:9:2021:34 | Arg(0) | 0:r2021_13 | -| ir.cpp:2021:9:2021:34 | SideEffect | ~m2021_11 | -| ir.cpp:2021:9:2021:34 | Unary | r2021_3 | -| ir.cpp:2021:9:2021:34 | Unary | r2021_12 | -| ir.cpp:2021:13:2021:13 | Address | &:r2021_22 | -| ir.cpp:2021:13:2021:13 | Address | &:r2021_22 | -| ir.cpp:2021:13:2021:13 | Address | &:r2021_22 | -| ir.cpp:2021:13:2021:13 | Address | &:r2021_27 | -| ir.cpp:2021:13:2021:13 | Arg(0) | 0:r2021_27 | -| ir.cpp:2021:13:2021:13 | Arg(this) | this:r2021_22 | -| ir.cpp:2021:13:2021:13 | CallTarget | func:r2021_24 | -| ir.cpp:2021:13:2021:13 | ChiPartial | partial:m2021_29 | -| ir.cpp:2021:13:2021:13 | ChiPartial | partial:m2021_32 | -| ir.cpp:2021:13:2021:13 | ChiTotal | total:m2020_13 | -| ir.cpp:2021:13:2021:13 | ChiTotal | total:m2021_23 | -| ir.cpp:2021:13:2021:13 | Load | m2021_33 | -| ir.cpp:2021:13:2021:13 | SideEffect | ~m2019_8 | -| ir.cpp:2021:13:2021:13 | SideEffect | ~m2020_13 | -| ir.cpp:2021:13:2021:13 | StoreValue | r2021_34 | -| ir.cpp:2021:13:2021:13 | Unary | r2021_25 | -| ir.cpp:2021:13:2021:13 | Unary | r2021_26 | -| ir.cpp:2021:17:2021:34 | Address | &:r2021_37 | -| ir.cpp:2021:17:2021:34 | Address | &:r2021_37 | -| ir.cpp:2021:17:2021:34 | Address | &:r2021_37 | -| ir.cpp:2021:17:2021:34 | Arg(this) | this:r2021_37 | -| ir.cpp:2021:17:2021:34 | CallTarget | func:r2021_39 | -| ir.cpp:2021:17:2021:34 | ChiPartial | partial:m2021_41 | -| ir.cpp:2021:17:2021:34 | ChiPartial | partial:m2021_43 | -| ir.cpp:2021:17:2021:34 | ChiTotal | total:m2020_13 | -| ir.cpp:2021:17:2021:34 | ChiTotal | total:m2021_38 | -| ir.cpp:2021:17:2021:34 | Load | m2021_44 | -| ir.cpp:2021:17:2021:34 | SideEffect | ~m2020_13 | -| ir.cpp:2021:17:2021:34 | StoreValue | r2021_45 | -| ir.cpp:2022:5:2022:5 | Address | &:r2022_1 | -| ir.cpp:2022:5:2022:5 | Address | &:r2022_1 | -| ir.cpp:2022:5:2022:5 | Arg(this) | this:r2022_1 | -| ir.cpp:2022:5:2022:5 | ChiPartial | partial:m2022_19 | -| ir.cpp:2022:5:2022:5 | ChiTotal | total:m2021_20 | -| ir.cpp:2022:5:2022:5 | SideEffect | m2021_20 | -| ir.cpp:2022:7:2022:7 | CallTarget | func:r2022_2 | -| ir.cpp:2022:7:2022:7 | ChiPartial | partial:m2022_15 | -| ir.cpp:2022:7:2022:7 | ChiTotal | total:m2022_7 | -| ir.cpp:2022:7:2022:7 | SideEffect | ~m2022_7 | -| ir.cpp:2022:7:2022:7 | Unary | r2022_14 | -| ir.cpp:2022:9:2022:9 | Address | &:r2022_4 | -| ir.cpp:2022:9:2022:9 | Address | &:r2022_9 | -| ir.cpp:2022:9:2022:9 | Address | &:r2022_31 | -| ir.cpp:2022:9:2022:9 | Address | &:r2022_42 | -| ir.cpp:2022:9:2022:9 | Condition | r2022_5 | -| ir.cpp:2022:9:2022:9 | Load | m2019_6 | -| ir.cpp:2022:9:2022:9 | Load | m2022_8 | -| ir.cpp:2022:9:2022:9 | Phi | from 8:m2022_32 | -| ir.cpp:2022:9:2022:9 | Phi | from 8:~m2022_27 | -| ir.cpp:2022:9:2022:9 | Phi | from 9:m2022_43 | -| ir.cpp:2022:9:2022:9 | Phi | from 9:~m2022_38 | -| ir.cpp:2022:9:2022:9 | StoreValue | r2022_10 | -| ir.cpp:2022:9:2022:51 | Address | &:r2022_3 | -| ir.cpp:2022:9:2022:51 | Address | &:r2022_13 | -| ir.cpp:2022:9:2022:51 | Arg(0) | 0:r2022_13 | -| ir.cpp:2022:9:2022:51 | SideEffect | ~m2022_11 | -| ir.cpp:2022:9:2022:51 | Unary | r2022_3 | -| ir.cpp:2022:9:2022:51 | Unary | r2022_12 | -| ir.cpp:2022:13:2022:30 | Address | &:r2022_22 | -| ir.cpp:2022:13:2022:30 | Address | &:r2022_22 | -| ir.cpp:2022:13:2022:30 | Address | &:r2022_22 | -| ir.cpp:2022:13:2022:30 | Arg(this) | this:r2022_22 | -| ir.cpp:2022:13:2022:30 | CallTarget | func:r2022_24 | -| ir.cpp:2022:13:2022:30 | ChiPartial | partial:m2022_26 | -| ir.cpp:2022:13:2022:30 | ChiPartial | partial:m2022_28 | -| ir.cpp:2022:13:2022:30 | ChiTotal | total:m2021_16 | -| ir.cpp:2022:13:2022:30 | ChiTotal | total:m2022_23 | -| ir.cpp:2022:13:2022:30 | Load | m2022_29 | -| ir.cpp:2022:13:2022:30 | SideEffect | ~m2021_16 | -| ir.cpp:2022:13:2022:30 | StoreValue | r2022_30 | -| ir.cpp:2022:34:2022:51 | Address | &:r2022_33 | -| ir.cpp:2022:34:2022:51 | Address | &:r2022_33 | -| ir.cpp:2022:34:2022:51 | Address | &:r2022_33 | -| ir.cpp:2022:34:2022:51 | Arg(this) | this:r2022_33 | -| ir.cpp:2022:34:2022:51 | CallTarget | func:r2022_35 | -| ir.cpp:2022:34:2022:51 | ChiPartial | partial:m2022_37 | -| ir.cpp:2022:34:2022:51 | ChiPartial | partial:m2022_39 | -| ir.cpp:2022:34:2022:51 | ChiTotal | total:m2021_16 | -| ir.cpp:2022:34:2022:51 | ChiTotal | total:m2022_34 | -| ir.cpp:2022:34:2022:51 | Load | m2022_40 | -| ir.cpp:2022:34:2022:51 | SideEffect | ~m2021_16 | -| ir.cpp:2022:34:2022:51 | StoreValue | r2022_41 | -| ir.cpp:2023:5:2023:19 | ChiPartial | partial:m2023_35 | -| ir.cpp:2023:5:2023:19 | ChiTotal | total:m2023_17 | -| ir.cpp:2023:5:2023:19 | SideEffect | m2023_17 | -| ir.cpp:2023:6:2023:6 | Address | &:r2023_1 | -| ir.cpp:2023:6:2023:6 | Address | &:r2023_1 | -| ir.cpp:2023:6:2023:6 | Arg(this) | this:r2023_1 | -| ir.cpp:2023:6:2023:6 | ChiPartial | partial:m2023_16 | -| ir.cpp:2023:6:2023:6 | ChiTotal | total:m2022_20 | -| ir.cpp:2023:6:2023:6 | SideEffect | m2022_20 | -| ir.cpp:2023:8:2023:8 | CallTarget | func:r2023_2 | -| ir.cpp:2023:8:2023:8 | ChiPartial | partial:m2023_12 | -| ir.cpp:2023:8:2023:8 | ChiTotal | total:m2022_16 | -| ir.cpp:2023:8:2023:8 | SideEffect | ~m2022_16 | -| ir.cpp:2023:8:2023:8 | Unary | r2023_11 | -| ir.cpp:2023:8:2023:19 | Address | &:r2023_18 | -| ir.cpp:2023:8:2023:19 | Address | &:r2023_18 | -| ir.cpp:2023:8:2023:19 | Arg(this) | this:r2023_18 | -| ir.cpp:2023:10:2023:10 | Address | &:r2023_3 | -| ir.cpp:2023:10:2023:10 | Condition | r2023_4 | -| ir.cpp:2023:10:2023:10 | Load | m2019_6 | -| ir.cpp:2023:10:2023:18 | Address | &:r2023_7 | -| ir.cpp:2023:10:2023:18 | Address | &:r2023_10 | -| ir.cpp:2023:10:2023:18 | Address | &:r2023_39 | -| ir.cpp:2023:10:2023:18 | Address | &:r2023_42 | -| ir.cpp:2023:10:2023:18 | Arg(0) | 0:r2023_10 | -| ir.cpp:2023:10:2023:18 | Load | m2023_6 | -| ir.cpp:2023:10:2023:18 | Phi | from 11:m2023_40 | -| ir.cpp:2023:10:2023:18 | Phi | from 12:m2023_43 | -| ir.cpp:2023:10:2023:18 | SideEffect | ~m2023_13 | -| ir.cpp:2023:10:2023:18 | Unary | r2023_8 | -| ir.cpp:2023:10:2023:18 | Unary | r2023_9 | -| ir.cpp:2023:14:2023:14 | StoreValue | r2023_38 | -| ir.cpp:2023:18:2023:18 | StoreValue | r2023_41 | -| ir.cpp:2023:21:2023:21 | CallTarget | func:r2023_19 | -| ir.cpp:2023:21:2023:21 | ChiPartial | partial:m2023_31 | -| ir.cpp:2023:21:2023:21 | ChiTotal | total:m2023_25 | -| ir.cpp:2023:21:2023:21 | SideEffect | ~m2023_25 | -| ir.cpp:2023:21:2023:21 | Unary | r2023_30 | -| ir.cpp:2023:23:2023:40 | Address | &:r2023_20 | -| ir.cpp:2023:23:2023:40 | Address | &:r2023_20 | -| ir.cpp:2023:23:2023:40 | Address | &:r2023_29 | -| ir.cpp:2023:23:2023:40 | Arg(0) | 0:r2023_29 | -| ir.cpp:2023:23:2023:40 | Arg(this) | this:r2023_20 | -| ir.cpp:2023:23:2023:40 | CallTarget | func:r2023_22 | -| ir.cpp:2023:23:2023:40 | ChiPartial | partial:m2023_24 | -| ir.cpp:2023:23:2023:40 | ChiPartial | partial:m2023_26 | -| ir.cpp:2023:23:2023:40 | ChiTotal | total:m2023_13 | -| ir.cpp:2023:23:2023:40 | ChiTotal | total:m2023_21 | -| ir.cpp:2023:23:2023:40 | SideEffect | ~m2023_13 | -| ir.cpp:2023:23:2023:40 | SideEffect | ~m2023_27 | -| ir.cpp:2023:23:2023:40 | Unary | r2023_20 | -| ir.cpp:2023:23:2023:40 | Unary | r2023_28 | -| ir.cpp:2028:14:2028:22 | Address | &:r2028_7 | -| ir.cpp:2028:14:2028:22 | ChiPartial | partial:m2028_3 | -| ir.cpp:2028:14:2028:22 | ChiTotal | total:m2028_2 | -| ir.cpp:2028:14:2028:22 | Load | m2033_2 | -| ir.cpp:2028:14:2028:22 | SideEffect | ~m2030_6 | -| ir.cpp:2028:37:2028:37 | Address | &:r2028_5 | -| ir.cpp:2029:16:2029:16 | Address | &:r2029_1 | -| ir.cpp:2030:3:2030:3 | Address | &:r2030_10 | -| ir.cpp:2030:7:2030:7 | Address | &:r2030_1 | -| ir.cpp:2030:7:2030:7 | Left | r2030_2 | -| ir.cpp:2030:7:2030:7 | Load | m2028_6 | -| ir.cpp:2030:7:2030:13 | Condition | r2030_4 | -| ir.cpp:2030:7:2032:28 | Address | &:r2030_8 | -| ir.cpp:2030:7:2032:28 | Address | &:r2030_12 | -| ir.cpp:2030:7:2032:28 | Address | &:r2030_14 | -| ir.cpp:2030:7:2032:28 | Load | m2030_7 | -| ir.cpp:2030:7:2032:28 | Phi | from 2:m2030_13 | -| ir.cpp:2030:7:2032:28 | Phi | from 2:~m2031_6 | -| ir.cpp:2030:7:2032:28 | Phi | from 3:m2030_15 | -| ir.cpp:2030:7:2032:28 | Phi | from 3:~m2032_6 | -| ir.cpp:2030:7:2032:28 | StoreValue | r2030_9 | -| ir.cpp:2030:11:2030:13 | Right | r2030_3 | -| ir.cpp:2031:6:2031:20 | CallTarget | func:r2031_1 | -| ir.cpp:2031:6:2031:20 | ChiPartial | partial:m2031_5 | -| ir.cpp:2031:6:2031:20 | ChiTotal | total:m2028_4 | -| ir.cpp:2031:6:2031:20 | SideEffect | ~m2028_4 | -| ir.cpp:2031:6:2031:26 | StoreValue | r2031_9 | -| ir.cpp:2031:22:2031:22 | Address | &:r2031_2 | -| ir.cpp:2031:22:2031:22 | Arg(0) | 0:r2031_3 | -| ir.cpp:2031:22:2031:22 | Load | m2028_6 | -| ir.cpp:2031:26:2031:26 | Address | &:r2031_7 | -| ir.cpp:2031:26:2031:26 | Load | m2028_6 | -| ir.cpp:2031:26:2031:26 | Unary | r2031_8 | -| ir.cpp:2032:5:2032:28 | StoreValue | r2032_9 | -| ir.cpp:2032:6:2032:20 | CallTarget | func:r2032_1 | -| ir.cpp:2032:6:2032:20 | ChiPartial | partial:m2032_5 | -| ir.cpp:2032:6:2032:20 | ChiTotal | total:m2028_4 | -| ir.cpp:2032:6:2032:20 | SideEffect | ~m2028_4 | -| ir.cpp:2032:6:2032:27 | Unary | r2032_8 | -| ir.cpp:2032:22:2032:22 | Address | &:r2032_2 | -| ir.cpp:2032:22:2032:22 | Arg(0) | 0:r2032_3 | -| ir.cpp:2032:22:2032:22 | Load | m2028_6 | -| ir.cpp:2032:26:2032:27 | Unary | r2032_7 | -| ir.cpp:2033:1:2033:1 | Address | &:r2033_1 | -| ir.cpp:2035:6:2035:17 | ChiPartial | partial:m2035_3 | -| ir.cpp:2035:6:2035:17 | ChiTotal | total:m2035_2 | -| ir.cpp:2035:6:2035:17 | SideEffect | ~m2038_6 | -| ir.cpp:2036:8:2036:8 | Address | &:r2036_1 | -| ir.cpp:2036:12:2036:18 | Address | &:r2036_4 | -| ir.cpp:2036:12:2036:18 | Arg(0) | 0:r2036_3 | -| ir.cpp:2036:12:2036:18 | CallTarget | func:r2036_2 | -| ir.cpp:2036:12:2036:18 | ChiPartial | partial:m2036_5 | -| ir.cpp:2036:12:2036:18 | ChiTotal | total:m2035_4 | -| ir.cpp:2036:12:2036:18 | SideEffect | ~m2035_4 | -| ir.cpp:2036:12:2036:18 | StoreValue | r2036_8 | -| ir.cpp:2036:12:2036:18 | Unary | r2036_4 | -| ir.cpp:2037:3:2037:4 | Address | &:r2037_4 | -| ir.cpp:2037:3:2037:8 | ChiPartial | partial:m2037_5 | -| ir.cpp:2037:3:2037:8 | ChiTotal | total:m2036_7 | -| ir.cpp:2037:4:2037:4 | Address | &:r2037_2 | -| ir.cpp:2037:4:2037:4 | Load | m2036_9 | -| ir.cpp:2037:4:2037:4 | Unary | r2037_3 | -| ir.cpp:2037:8:2037:8 | StoreValue | r2037_1 | -| ir.cpp:2038:3:2038:10 | CallTarget | func:r2038_1 | -| ir.cpp:2038:3:2038:10 | ChiPartial | partial:m2038_5 | -| ir.cpp:2038:3:2038:10 | ChiTotal | total:m2036_6 | -| ir.cpp:2038:3:2038:10 | SideEffect | ~m2036_6 | -| ir.cpp:2038:10:2038:10 | Address | &:r2038_2 | -| ir.cpp:2038:10:2038:10 | Arg(0) | 0:r2038_3 | -| ir.cpp:2038:10:2038:10 | Load | m2036_9 | -| ir.cpp:2041:7:2041:7 | Address | &:r2041_5 | -| ir.cpp:2041:7:2041:7 | Address | &:r2041_5 | -| ir.cpp:2041:7:2041:7 | Address | &:r2041_7 | -| ir.cpp:2041:7:2041:7 | Address | &:r2041_7 | -| ir.cpp:2041:7:2041:7 | ChiPartial | partial:m2041_3 | -| ir.cpp:2041:7:2041:7 | ChiTotal | total:m2041_2 | -| ir.cpp:2041:7:2041:7 | Load | m2041_6 | -| ir.cpp:2041:7:2041:7 | SideEffect | m2041_3 | -| ir.cpp:2041:7:2041:7 | SideEffect | m2041_8 | -| ir.cpp:2043:10:2043:24 | ChiPartial | partial:m2043_3 | -| ir.cpp:2043:10:2043:24 | ChiTotal | total:m2043_2 | -| ir.cpp:2043:10:2043:24 | SideEffect | m2043_3 | -| ir.cpp:2043:32:2043:32 | Address | &:r2043_5 | -| ir.cpp:2043:32:2043:32 | Address | &:r2043_5 | -| ir.cpp:2043:32:2043:32 | Address | &:r2043_7 | -| ir.cpp:2043:32:2043:32 | Address | &:r2043_7 | -| ir.cpp:2043:32:2043:32 | Load | m2043_6 | -| ir.cpp:2043:32:2043:32 | SideEffect | m2043_8 | -| ir.cpp:2045:13:2045:18 | Address | &:r2045_5 | -| ir.cpp:2045:13:2045:18 | Address | &:r2045_5 | -| ir.cpp:2045:13:2045:18 | Address | &:r2045_7 | -| ir.cpp:2045:13:2045:18 | Address | &:r2045_7 | -| ir.cpp:2045:13:2045:18 | ChiPartial | partial:m2045_3 | -| ir.cpp:2045:13:2045:18 | ChiTotal | total:m2045_2 | -| ir.cpp:2045:13:2045:18 | Load | m2045_6 | -| ir.cpp:2045:13:2045:18 | SideEffect | m2045_3 | -| ir.cpp:2045:13:2045:18 | SideEffect | m2045_8 | -| ir.cpp:2048:7:2048:7 | Address | &:r2048_5 | -| ir.cpp:2048:7:2048:7 | Address | &:r2048_5 | -| ir.cpp:2048:7:2048:7 | Address | &:r2048_7 | -| ir.cpp:2048:7:2048:7 | Address | &:r2048_7 | -| ir.cpp:2048:7:2048:7 | Address | &:r2048_9 | -| ir.cpp:2048:7:2048:7 | Arg(this) | this:r2048_9 | -| ir.cpp:2048:7:2048:7 | CallTarget | func:r2048_10 | -| ir.cpp:2048:7:2048:7 | ChiPartial | partial:m2048_3 | -| ir.cpp:2048:7:2048:7 | ChiPartial | partial:m2048_12 | -| ir.cpp:2048:7:2048:7 | ChiPartial | partial:m2048_14 | -| ir.cpp:2048:7:2048:7 | ChiTotal | total:m2048_2 | -| ir.cpp:2048:7:2048:7 | ChiTotal | total:m2048_4 | -| ir.cpp:2048:7:2048:7 | ChiTotal | total:m2048_8 | -| ir.cpp:2048:7:2048:7 | Load | m2048_6 | -| ir.cpp:2048:7:2048:7 | SideEffect | m2048_15 | -| ir.cpp:2048:7:2048:7 | SideEffect | ~m2048_4 | -| ir.cpp:2048:7:2048:7 | SideEffect | ~m2048_13 | -| ir.cpp:2048:7:2048:7 | Unary | m2048_6 | -| ir.cpp:2051:5:2051:13 | Address | &:r2051_5 | -| ir.cpp:2051:5:2051:13 | Address | &:r2051_5 | -| ir.cpp:2051:5:2051:13 | Address | &:r2051_7 | -| ir.cpp:2051:5:2051:13 | Address | &:r2051_7 | -| ir.cpp:2051:5:2051:13 | ChiPartial | partial:m2051_3 | -| ir.cpp:2051:5:2051:13 | ChiTotal | total:m2051_2 | -| ir.cpp:2051:5:2051:13 | Load | m2051_6 | -| ir.cpp:2051:5:2051:13 | SideEffect | m2051_8 | -| ir.cpp:2051:5:2051:13 | SideEffect | ~m2051_14 | -| ir.cpp:2051:5:2051:13 | Unary | m2051_6 | -| ir.cpp:2051:18:2051:18 | Arg(this) | this:r2051_10 | -| ir.cpp:2051:18:2051:18 | CallTarget | func:r2051_11 | -| ir.cpp:2051:18:2051:18 | ChiPartial | partial:m2051_13 | -| ir.cpp:2051:18:2051:18 | ChiTotal | total:m2051_4 | -| ir.cpp:2051:18:2051:18 | SideEffect | ~m2051_4 | -| ir.cpp:2053:10:2053:24 | ChiPartial | partial:m2053_3 | -| ir.cpp:2053:10:2053:24 | ChiTotal | total:m2053_2 | -| ir.cpp:2053:10:2053:24 | SideEffect | m2053_3 | -| ir.cpp:2053:32:2053:32 | Address | &:r2053_5 | -| ir.cpp:2053:32:2053:32 | Address | &:r2053_5 | -| ir.cpp:2053:32:2053:32 | Address | &:r2053_7 | -| ir.cpp:2053:32:2053:32 | Address | &:r2053_7 | -| ir.cpp:2053:32:2053:32 | Load | m2053_6 | -| ir.cpp:2053:32:2053:32 | SideEffect | m2053_8 | -| ir.cpp:2058:5:2058:18 | Address | &:r2058_5 | -| ir.cpp:2058:5:2058:18 | ChiPartial | partial:m2058_3 | -| ir.cpp:2058:5:2058:18 | ChiTotal | total:m2058_2 | -| ir.cpp:2058:5:2058:18 | Load | m2068_2 | -| ir.cpp:2058:5:2058:18 | SideEffect | ~m2067_6 | -| ir.cpp:2060:12:2060:13 | Address | &:r2060_1 | -| ir.cpp:2060:17:2060:27 | Address | &:r2060_4 | -| ir.cpp:2060:17:2060:27 | Address | &:r2060_8 | -| ir.cpp:2060:17:2060:27 | Arg(0) | 0:r2060_3 | -| ir.cpp:2060:17:2060:27 | Arg(this) | this:r2060_8 | -| ir.cpp:2060:17:2060:27 | CallTarget | func:r2060_2 | -| ir.cpp:2060:17:2060:27 | CallTarget | func:r2060_9 | -| ir.cpp:2060:17:2060:27 | ChiPartial | partial:m2060_5 | -| ir.cpp:2060:17:2060:27 | ChiPartial | partial:m2060_11 | -| ir.cpp:2060:17:2060:27 | ChiPartial | partial:m2060_13 | -| ir.cpp:2060:17:2060:27 | ChiTotal | total:m2058_4 | -| ir.cpp:2060:17:2060:27 | ChiTotal | total:m2060_6 | -| ir.cpp:2060:17:2060:27 | ChiTotal | total:m2060_7 | -| ir.cpp:2060:17:2060:27 | SideEffect | ~m2058_4 | -| ir.cpp:2060:17:2060:27 | SideEffect | ~m2060_6 | -| ir.cpp:2060:17:2060:27 | StoreValue | r2060_8 | -| ir.cpp:2060:17:2060:27 | Unary | r2060_4 | -| ir.cpp:2061:5:2061:13 | CallTarget | func:r2061_1 | -| ir.cpp:2061:5:2061:13 | ChiPartial | partial:m2061_5 | -| ir.cpp:2061:5:2061:13 | ChiTotal | total:m2060_12 | -| ir.cpp:2061:5:2061:13 | SideEffect | ~m2060_12 | -| ir.cpp:2061:12:2061:13 | Address | &:r2061_2 | -| ir.cpp:2061:12:2061:13 | Arg(0) | 0:r2061_3 | -| ir.cpp:2061:12:2061:13 | Load | m2060_15 | -| ir.cpp:2063:12:2063:13 | Address | &:r2063_1 | -| ir.cpp:2063:17:2063:30 | Address | &:r2063_4 | -| ir.cpp:2063:17:2063:30 | Address | &:r2063_8 | -| ir.cpp:2063:17:2063:30 | Arg(0) | 0:r2063_3 | -| ir.cpp:2063:17:2063:30 | Arg(this) | this:r2063_8 | -| ir.cpp:2063:17:2063:30 | CallTarget | func:r2063_2 | -| ir.cpp:2063:17:2063:30 | CallTarget | func:r2063_9 | -| ir.cpp:2063:17:2063:30 | ChiPartial | partial:m2063_5 | -| ir.cpp:2063:17:2063:30 | ChiPartial | partial:m2063_11 | -| ir.cpp:2063:17:2063:30 | ChiPartial | partial:m2063_13 | -| ir.cpp:2063:17:2063:30 | ChiTotal | total:m2061_6 | -| ir.cpp:2063:17:2063:30 | ChiTotal | total:m2063_6 | -| ir.cpp:2063:17:2063:30 | ChiTotal | total:m2063_7 | -| ir.cpp:2063:17:2063:30 | SideEffect | ~m2061_6 | -| ir.cpp:2063:17:2063:30 | SideEffect | ~m2063_6 | -| ir.cpp:2063:17:2063:30 | StoreValue | r2063_15 | -| ir.cpp:2063:17:2063:30 | Unary | r2063_4 | -| ir.cpp:2063:17:2063:30 | Unary | r2063_8 | -| ir.cpp:2064:5:2064:13 | CallTarget | func:r2064_1 | -| ir.cpp:2064:5:2064:13 | ChiPartial | partial:m2064_5 | -| ir.cpp:2064:5:2064:13 | ChiTotal | total:m2063_12 | -| ir.cpp:2064:5:2064:13 | SideEffect | ~m2063_12 | -| ir.cpp:2064:12:2064:13 | Address | &:r2064_2 | -| ir.cpp:2064:12:2064:13 | Arg(0) | 0:r2064_3 | -| ir.cpp:2064:12:2064:13 | Load | m2063_16 | -| ir.cpp:2066:15:2066:15 | Address | &:r2066_1 | -| ir.cpp:2066:19:2066:32 | Address | &:r2066_4 | -| ir.cpp:2066:19:2066:32 | Address | &:r2066_8 | -| ir.cpp:2066:19:2066:32 | Arg(0) | 0:r2066_3 | -| ir.cpp:2066:19:2066:32 | Arg(this) | this:r2066_8 | -| ir.cpp:2066:19:2066:32 | CallTarget | func:r2066_2 | -| ir.cpp:2066:19:2066:32 | CallTarget | func:r2066_9 | -| ir.cpp:2066:19:2066:32 | ChiPartial | partial:m2066_5 | -| ir.cpp:2066:19:2066:32 | ChiPartial | partial:m2066_11 | -| ir.cpp:2066:19:2066:32 | ChiPartial | partial:m2066_13 | -| ir.cpp:2066:19:2066:32 | ChiTotal | total:m2064_6 | -| ir.cpp:2066:19:2066:32 | ChiTotal | total:m2066_6 | -| ir.cpp:2066:19:2066:32 | ChiTotal | total:m2066_7 | -| ir.cpp:2066:19:2066:32 | SideEffect | ~m2064_6 | -| ir.cpp:2066:19:2066:32 | SideEffect | ~m2066_6 | -| ir.cpp:2066:19:2066:32 | StoreValue | r2066_8 | -| ir.cpp:2066:19:2066:32 | Unary | r2066_4 | -| ir.cpp:2067:5:2067:12 | CallTarget | func:r2067_1 | -| ir.cpp:2067:5:2067:12 | ChiPartial | partial:m2067_5 | -| ir.cpp:2067:5:2067:12 | ChiTotal | total:m2066_12 | -| ir.cpp:2067:5:2067:12 | SideEffect | ~m2066_12 | -| ir.cpp:2067:12:2067:12 | Address | &:r2067_2 | -| ir.cpp:2067:12:2067:12 | Arg(0) | 0:r2067_3 | -| ir.cpp:2067:12:2067:12 | Load | m2066_15 | -| ir.cpp:2068:1:2068:1 | Address | &:r2068_1 | -| ir.cpp:2072:6:2072:26 | ChiPartial | partial:m2072_3 | -| ir.cpp:2072:6:2072:26 | ChiTotal | total:m2072_2 | -| ir.cpp:2072:6:2072:26 | SideEffect | ~m2074_5 | -| ir.cpp:2073:13:2073:13 | Address | &:r2073_1 | -| ir.cpp:2073:16:2073:19 | StoreValue | r2073_2 | -| ir.cpp:2074:3:2074:27 | CallTarget | func:r2074_1 | -| ir.cpp:2074:3:2074:27 | ChiPartial | partial:m2074_4 | -| ir.cpp:2074:3:2074:27 | ChiTotal | total:m2072_4 | -| ir.cpp:2074:3:2074:27 | SideEffect | ~m2072_4 | -| ir.cpp:2074:29:2074:29 | Arg(0) | 0:r2074_2 | -| ir.cpp:2079:5:2079:11 | Address | &:r2079_6 | -| ir.cpp:2079:5:2079:11 | ChiPartial | partial:m2079_3 | -| ir.cpp:2079:5:2079:11 | ChiTotal | total:m2079_2 | -| ir.cpp:2079:5:2079:11 | Load | m2084_4 | -| ir.cpp:2079:5:2079:11 | SideEffect | ~m2083_4 | -| ir.cpp:2080:9:2080:9 | Address | &:r2080_1 | -| ir.cpp:2080:13:2080:15 | CallTarget | func:r2080_2 | -| ir.cpp:2080:13:2080:15 | ChiPartial | partial:m2080_6 | -| ir.cpp:2080:13:2080:15 | ChiTotal | total:m2079_4 | -| ir.cpp:2080:13:2080:15 | SideEffect | ~m2079_4 | -| ir.cpp:2080:13:2080:15 | StoreValue | r2080_5 | -| ir.cpp:2080:17:2080:17 | Arg(0) | 0:r2080_3 | -| ir.cpp:2080:19:2080:19 | Arg(1) | 1:r2080_4 | -| ir.cpp:2081:9:2081:9 | Address | &:r2081_1 | -| ir.cpp:2081:9:2081:9 | Left | r2081_2 | -| ir.cpp:2081:9:2081:9 | Load | m2080_8 | -| ir.cpp:2081:9:2081:14 | Condition | r2081_4 | -| ir.cpp:2081:14:2081:14 | Right | r2081_3 | -| ir.cpp:2082:9:2082:12 | CallTarget | func:r2082_1 | -| ir.cpp:2082:9:2082:12 | ChiPartial | partial:m2082_4 | -| ir.cpp:2082:9:2082:12 | ChiTotal | total:m2080_7 | -| ir.cpp:2082:9:2082:12 | SideEffect | ~m2080_7 | -| ir.cpp:2082:14:2082:14 | Arg(0) | 0:r2082_2 | -| ir.cpp:2083:5:2083:12 | CallTarget | func:r2083_1 | -| ir.cpp:2083:5:2083:12 | ChiPartial | partial:m2083_3 | -| ir.cpp:2083:5:2083:12 | ChiTotal | total:m2080_7 | -| ir.cpp:2083:5:2083:12 | SideEffect | ~m2080_7 | -| ir.cpp:2084:5:2084:13 | Address | &:r2084_1 | -| ir.cpp:2084:12:2084:12 | Address | &:r2084_2 | -| ir.cpp:2084:12:2084:12 | Load | m2080_8 | -| ir.cpp:2084:12:2084:12 | StoreValue | r2084_3 | -| ir.cpp:2087:6:2087:17 | ChiPartial | partial:m2087_3 | -| ir.cpp:2087:6:2087:17 | ChiTotal | total:m2087_2 | -| ir.cpp:2088:5:2088:12 | CallTarget | func:r2088_1 | -| ir.cpp:2088:5:2088:12 | ChiPartial | partial:m2088_3 | -| ir.cpp:2088:5:2088:12 | ChiTotal | total:m2087_4 | -| ir.cpp:2088:5:2088:12 | SideEffect | ~m2087_4 | -| ir.cpp:2089:5:2089:8 | CallTarget | func:r2089_1 | -| ir.cpp:2089:5:2089:8 | ChiPartial | partial:m2089_4 | -| ir.cpp:2089:5:2089:8 | ChiTotal | total:m2088_4 | -| ir.cpp:2089:5:2089:8 | SideEffect | ~m2088_4 | -| ir.cpp:2089:10:2089:10 | Arg(0) | 0:r2089_2 | -| ir.cpp:2092:5:2092:16 | Address | &:r2092_6 | -| ir.cpp:2092:5:2092:16 | ChiPartial | partial:m2092_3 | -| ir.cpp:2092:5:2092:16 | ChiTotal | total:m2092_2 | -| ir.cpp:2092:5:2092:16 | Load | m2097_4 | -| ir.cpp:2092:5:2092:16 | SideEffect | ~m2096_4 | -| ir.cpp:2093:9:2093:9 | Address | &:r2093_1 | -| ir.cpp:2093:13:2093:15 | CallTarget | func:r2093_2 | -| ir.cpp:2093:13:2093:15 | ChiPartial | partial:m2093_6 | -| ir.cpp:2093:13:2093:15 | ChiTotal | total:m2092_4 | -| ir.cpp:2093:13:2093:15 | SideEffect | ~m2092_4 | -| ir.cpp:2093:13:2093:15 | StoreValue | r2093_5 | -| ir.cpp:2093:17:2093:17 | Arg(0) | 0:r2093_3 | -| ir.cpp:2093:19:2093:19 | Arg(1) | 1:r2093_4 | -| ir.cpp:2094:9:2094:9 | Address | &:r2094_1 | -| ir.cpp:2094:9:2094:9 | Left | r2094_2 | -| ir.cpp:2094:9:2094:9 | Load | m2093_8 | -| ir.cpp:2094:9:2094:14 | Condition | r2094_4 | -| ir.cpp:2094:14:2094:14 | Right | r2094_3 | -| ir.cpp:2095:9:2095:20 | CallTarget | func:r2095_1 | -| ir.cpp:2096:5:2096:12 | CallTarget | func:r2096_1 | -| ir.cpp:2096:5:2096:12 | ChiPartial | partial:m2096_3 | -| ir.cpp:2096:5:2096:12 | ChiTotal | total:m2093_7 | -| ir.cpp:2096:5:2096:12 | SideEffect | ~m2093_7 | -| ir.cpp:2097:5:2097:13 | Address | &:r2097_1 | -| ir.cpp:2097:12:2097:12 | Address | &:r2097_2 | -| ir.cpp:2097:12:2097:12 | Load | m2093_8 | -| ir.cpp:2097:12:2097:12 | StoreValue | r2097_3 | -| ir.cpp:2100:6:2100:24 | ChiPartial | partial:m2100_3 | -| ir.cpp:2100:6:2100:24 | ChiTotal | total:m2100_2 | -| ir.cpp:2100:6:2100:24 | SideEffect | ~m2106_8 | -| ir.cpp:2100:33:2100:33 | Address | &:r2100_5 | -| ir.cpp:2101:3:2101:12 | Address | &:r2101_6 | -| ir.cpp:2101:3:2101:12 | Arg(0) | 0:r2101_5 | -| ir.cpp:2101:3:2101:12 | CallTarget | func:r2101_1 | -| ir.cpp:2101:3:2101:12 | ChiPartial | partial:m2101_7 | -| ir.cpp:2101:3:2101:12 | ChiTotal | total:m2100_4 | -| ir.cpp:2101:3:2101:12 | Right | r2101_4 | -| ir.cpp:2101:3:2101:12 | SideEffect | ~m2100_4 | -| ir.cpp:2101:3:2101:12 | Unary | r2101_6 | -| ir.cpp:2101:11:2101:11 | Address | &:r2101_2 | -| ir.cpp:2101:11:2101:11 | Left | r2101_3 | -| ir.cpp:2101:11:2101:11 | Load | m2100_6 | -| ir.cpp:2102:3:2102:18 | Address | &:r2102_7 | -| ir.cpp:2102:3:2102:18 | Arg(0) | 0:r2102_5 | -| ir.cpp:2102:3:2102:18 | CallTarget | func:r2102_1 | -| ir.cpp:2102:3:2102:18 | ChiPartial | partial:m2102_8 | -| ir.cpp:2102:3:2102:18 | ChiTotal | total:m2101_8 | -| ir.cpp:2102:3:2102:18 | Right | r2102_4 | -| ir.cpp:2102:3:2102:18 | SideEffect | ~m2101_8 | -| ir.cpp:2102:3:2102:18 | Unary | r2102_7 | -| ir.cpp:2102:7:2102:10 | Arg(1) | 1:r2102_6 | -| ir.cpp:2102:17:2102:17 | Address | &:r2102_2 | -| ir.cpp:2102:17:2102:17 | Left | r2102_3 | -| ir.cpp:2102:17:2102:17 | Load | m2100_6 | -| ir.cpp:2103:3:2103:15 | Address | &:r2103_6 | -| ir.cpp:2103:3:2103:15 | Arg(0) | 0:r2103_5 | -| ir.cpp:2103:3:2103:15 | CallTarget | func:r2103_1 | -| ir.cpp:2103:3:2103:15 | ChiPartial | partial:m2103_7 | -| ir.cpp:2103:3:2103:15 | ChiTotal | total:m2102_9 | -| ir.cpp:2103:3:2103:15 | Right | r2103_4 | -| ir.cpp:2103:3:2103:15 | SideEffect | ~m2102_9 | -| ir.cpp:2103:3:2103:15 | Unary | r2103_6 | -| ir.cpp:2103:14:2103:14 | Address | &:r2103_2 | -| ir.cpp:2103:14:2103:14 | Left | r2103_3 | -| ir.cpp:2103:14:2103:14 | Load | m2100_6 | -| ir.cpp:2104:3:2104:20 | Address | &:r2104_7 | -| ir.cpp:2104:3:2104:20 | Arg(0) | 0:r2104_5 | -| ir.cpp:2104:3:2104:20 | CallTarget | func:r2104_1 | -| ir.cpp:2104:3:2104:20 | ChiPartial | partial:m2104_8 | -| ir.cpp:2104:3:2104:20 | ChiTotal | total:m2103_8 | -| ir.cpp:2104:3:2104:20 | Right | r2104_4 | -| ir.cpp:2104:3:2104:20 | SideEffect | ~m2103_8 | -| ir.cpp:2104:3:2104:20 | Unary | r2104_7 | -| ir.cpp:2104:19:2104:19 | Address | &:r2104_2 | -| ir.cpp:2104:19:2104:19 | Left | r2104_3 | -| ir.cpp:2104:19:2104:19 | Load | m2100_6 | -| ir.cpp:2104:21:2104:21 | Arg(1) | 1:r2104_6 | -| ir.cpp:2105:3:2105:36 | Address | &:r2105_6 | -| ir.cpp:2105:3:2105:36 | Arg(0) | 0:r2105_5 | -| ir.cpp:2105:3:2105:36 | CallTarget | func:r2105_1 | -| ir.cpp:2105:3:2105:36 | ChiPartial | partial:m2105_7 | -| ir.cpp:2105:3:2105:36 | ChiTotal | total:m2104_9 | -| ir.cpp:2105:3:2105:36 | Right | r2105_4 | -| ir.cpp:2105:3:2105:36 | SideEffect | ~m2104_9 | -| ir.cpp:2105:3:2105:36 | Unary | r2105_6 | -| ir.cpp:2105:35:2105:35 | Address | &:r2105_2 | -| ir.cpp:2105:35:2105:35 | Left | r2105_3 | -| ir.cpp:2105:35:2105:35 | Load | m2100_6 | -| ir.cpp:2106:3:2106:24 | Address | &:r2106_6 | -| ir.cpp:2106:3:2106:24 | Arg(0) | 0:r2106_5 | -| ir.cpp:2106:3:2106:24 | CallTarget | func:r2106_1 | -| ir.cpp:2106:3:2106:24 | ChiPartial | partial:m2106_7 | -| ir.cpp:2106:3:2106:24 | ChiTotal | total:m2105_8 | -| ir.cpp:2106:3:2106:24 | Right | r2106_4 | -| ir.cpp:2106:3:2106:24 | SideEffect | ~m2105_8 | -| ir.cpp:2106:3:2106:24 | Unary | r2106_6 | -| ir.cpp:2106:11:2106:11 | Address | &:r2106_2 | -| ir.cpp:2106:11:2106:11 | Left | r2106_3 | -| ir.cpp:2106:11:2106:11 | Load | m2100_6 | -| ir.cpp:2111:7:2111:17 | Address | &:r2111_10 | -| ir.cpp:2111:7:2111:17 | ChiPartial | partial:m2111_3 | -| ir.cpp:2111:7:2111:17 | ChiTotal | total:m2111_2 | -| ir.cpp:2111:7:2111:17 | Load | m2114_4 | -| ir.cpp:2111:7:2111:17 | SideEffect | m2111_3 | -| ir.cpp:2111:25:2111:25 | Address | &:r2111_5 | -| ir.cpp:2111:25:2111:25 | Address | &:r2111_5 | -| ir.cpp:2111:25:2111:25 | Address | &:r2111_7 | -| ir.cpp:2111:25:2111:25 | Address | &:r2111_7 | -| ir.cpp:2111:25:2111:25 | Load | m2111_6 | -| ir.cpp:2111:25:2111:25 | SideEffect | m2111_8 | -| ir.cpp:2112:9:2112:11 | Address | &:r2112_1 | -| ir.cpp:2113:10:2113:10 | Address | &:r2113_1 | -| ir.cpp:2113:14:2113:19 | CallTarget | func:r2113_2 | -| ir.cpp:2113:14:2113:19 | StoreValue | r2113_8 | -| ir.cpp:2113:21:2113:21 | Address | &:r2113_3 | -| ir.cpp:2113:21:2113:21 | Address | &:r2113_5 | -| ir.cpp:2113:21:2113:21 | Arg(0) | 0:r2113_5 | -| ir.cpp:2113:21:2113:21 | Load | m2111_6 | -| ir.cpp:2113:21:2113:21 | SideEffect | ~m2111_8 | -| ir.cpp:2113:21:2113:21 | Unary | r2113_4 | -| ir.cpp:2113:24:2113:27 | Address | &:r2113_7 | -| ir.cpp:2113:24:2113:27 | Arg(1) | 1:r2113_7 | -| ir.cpp:2113:24:2113:27 | ChiPartial | partial:m2113_10 | -| ir.cpp:2113:24:2113:27 | ChiTotal | total:m2112_2 | -| ir.cpp:2113:25:2113:27 | Unary | r2113_6 | -| ir.cpp:2114:3:2114:13 | Address | &:r2114_1 | -| ir.cpp:2114:10:2114:12 | Address | &:r2114_2 | -| ir.cpp:2114:10:2114:12 | Load | m2113_11 | -| ir.cpp:2114:10:2114:12 | StoreValue | r2114_3 | -| ir.cpp:2121:6:2121:39 | ChiPartial | partial:m2121_3 | -| ir.cpp:2121:6:2121:39 | ChiTotal | total:m2121_2 | -| ir.cpp:2121:6:2121:39 | SideEffect | ~m2122_8 | -| ir.cpp:2122:6:2122:42 | Address | &:r2122_1 | -| ir.cpp:2122:6:2122:42 | Condition | r2122_12 | -| ir.cpp:2122:22:2122:22 | Address | &:r2122_4 | -| ir.cpp:2122:22:2122:22 | Address | &:r2122_4 | -| ir.cpp:2122:22:2122:22 | Arg(this) | this:r2122_4 | -| ir.cpp:2122:22:2122:22 | CallTarget | func:r2122_5 | -| ir.cpp:2122:22:2122:22 | ChiPartial | partial:m2122_7 | -| ir.cpp:2122:22:2122:22 | ChiPartial | partial:m2122_10 | -| ir.cpp:2122:22:2122:22 | ChiTotal | total:m2121_4 | -| ir.cpp:2122:22:2122:22 | ChiTotal | total:m2122_3 | -| ir.cpp:2122:22:2122:22 | SideEffect | m2122_3 | -| ir.cpp:2122:22:2122:22 | SideEffect | ~m2121_4 | -| ir.cpp:2122:22:2122:22 | Unary | r2122_6 | -| ir.cpp:2122:25:2122:42 | StoreValue | r2122_2 | -| ir.cpp:2125:7:2125:7 | Address | &:r2125_5 | -| ir.cpp:2125:7:2125:7 | Address | &:r2125_5 | -| ir.cpp:2125:7:2125:7 | Address | &:r2125_7 | -| ir.cpp:2125:7:2125:7 | Address | &:r2125_7 | -| ir.cpp:2125:7:2125:7 | Address | &:r2125_9 | -| ir.cpp:2125:7:2125:7 | Address | &:r2125_10 | -| ir.cpp:2125:7:2125:7 | Address | &:r2125_13 | -| ir.cpp:2125:7:2125:7 | ChiPartial | partial:m2125_3 | -| ir.cpp:2125:7:2125:7 | ChiPartial | partial:m2125_15 | -| ir.cpp:2125:7:2125:7 | ChiTotal | total:m2125_2 | -| ir.cpp:2125:7:2125:7 | ChiTotal | total:m2125_8 | -| ir.cpp:2125:7:2125:7 | Load | m0_2 | -| ir.cpp:2125:7:2125:7 | Load | m2125_6 | -| ir.cpp:2125:7:2125:7 | Load | ~m0_4 | -| ir.cpp:2125:7:2125:7 | SideEffect | m2125_3 | -| ir.cpp:2125:7:2125:7 | SideEffect | m2125_16 | -| ir.cpp:2125:7:2125:7 | StoreValue | r2125_14 | -| ir.cpp:2125:7:2125:7 | Unary | m2125_6 | -| ir.cpp:2125:7:2125:7 | Unary | r2125_11 | -| ir.cpp:2125:7:2125:7 | Unary | r2125_12 | -| ir.cpp:2128:5:2128:23 | Address | &:r2128_5 | -| ir.cpp:2128:5:2128:23 | Address | &:r2128_5 | -| ir.cpp:2128:5:2128:23 | Address | &:r2128_7 | -| ir.cpp:2128:5:2128:23 | Address | &:r2128_7 | -| ir.cpp:2128:5:2128:23 | ChiPartial | partial:m2128_3 | -| ir.cpp:2128:5:2128:23 | ChiTotal | total:m2128_2 | -| ir.cpp:2128:5:2128:23 | Load | m2128_6 | -| ir.cpp:2128:5:2128:23 | SideEffect | m2128_20 | -| ir.cpp:2128:5:2128:23 | SideEffect | ~m2128_13 | -| ir.cpp:2128:29:2128:29 | Address | &:r2128_16 | -| ir.cpp:2128:29:2128:29 | Address | &:r2128_18 | -| ir.cpp:2128:29:2128:29 | Load | m2128_6 | -| ir.cpp:2128:29:2128:29 | Unary | r2128_17 | -| ir.cpp:2128:29:2128:40 | ChiPartial | partial:m2128_19 | -| ir.cpp:2128:29:2128:40 | ChiTotal | total:m2128_8 | -| ir.cpp:2128:33:2128:40 | Address | &:r2128_11 | -| ir.cpp:2128:33:2128:40 | Arg(0) | 0:r2128_10 | -| ir.cpp:2128:33:2128:40 | CallTarget | func:r2128_9 | -| ir.cpp:2128:33:2128:40 | ChiPartial | partial:m2128_12 | -| ir.cpp:2128:33:2128:40 | ChiTotal | total:m2128_4 | -| ir.cpp:2128:33:2128:40 | SideEffect | ~m2128_4 | -| ir.cpp:2128:33:2128:40 | StoreValue | r2128_15 | -| ir.cpp:2128:33:2128:40 | Unary | r2128_11 | -| ir.cpp:2129:5:2129:24 | Address | &:r2129_5 | -| ir.cpp:2129:5:2129:24 | Address | &:r2129_5 | -| ir.cpp:2129:5:2129:24 | Address | &:r2129_7 | -| ir.cpp:2129:5:2129:24 | Address | &:r2129_7 | -| ir.cpp:2129:5:2129:24 | ChiPartial | partial:m2129_3 | -| ir.cpp:2129:5:2129:24 | ChiTotal | total:m2129_2 | -| ir.cpp:2129:5:2129:24 | Load | m2129_6 | -| ir.cpp:2129:5:2129:24 | SideEffect | m2129_8 | -| ir.cpp:2129:5:2129:24 | SideEffect | ~m2129_16 | -| ir.cpp:2129:30:2129:37 | CallTarget | func:r2129_9 | -| ir.cpp:2129:30:2129:37 | ChiPartial | partial:m2129_15 | -| ir.cpp:2129:30:2129:37 | ChiTotal | total:m2129_4 | -| ir.cpp:2129:30:2129:37 | SideEffect | ~m2129_4 | -| ir.cpp:2129:37:2129:37 | Address | &:r2129_10 | -| ir.cpp:2129:37:2129:37 | Address | &:r2129_12 | -| ir.cpp:2129:37:2129:37 | Arg(0) | 0:r2129_13 | -| ir.cpp:2129:37:2129:37 | Load | m2129_6 | -| ir.cpp:2129:37:2129:37 | Load | ~m2129_8 | -| ir.cpp:2129:37:2129:37 | Unary | r2129_11 | -| ir.cpp:2131:10:2131:14 | Address | &:r2131_5 | -| ir.cpp:2131:10:2131:14 | Address | &:r2131_5 | -| ir.cpp:2131:10:2131:14 | Address | &:r2131_7 | -| ir.cpp:2131:10:2131:14 | Address | &:r2131_7 | -| ir.cpp:2131:10:2131:14 | ChiPartial | partial:m2131_3 | -| ir.cpp:2131:10:2131:14 | ChiTotal | total:m2131_2 | -| ir.cpp:2131:10:2131:14 | Load | m2131_6 | -| ir.cpp:2131:10:2131:14 | SideEffect | m2131_8 | -| ir.cpp:2131:10:2131:14 | SideEffect | ~m2131_19 | -| ir.cpp:2131:21:2131:21 | Address | &:r2131_9 | -| ir.cpp:2131:26:2131:27 | Address | &:r2131_17 | -| ir.cpp:2131:26:2131:31 | ChiPartial | partial:m2131_18 | -| ir.cpp:2131:26:2131:31 | ChiTotal | total:m2131_4 | -| ir.cpp:2131:27:2131:27 | Address | &:r2131_13 | -| ir.cpp:2131:27:2131:27 | Address | &:r2131_15 | -| ir.cpp:2131:27:2131:27 | Load | m2131_6 | -| ir.cpp:2131:27:2131:27 | Load | ~m2131_8 | -| ir.cpp:2131:27:2131:27 | Unary | r2131_14 | -| ir.cpp:2131:27:2131:27 | Unary | r2131_16 | -| ir.cpp:2131:31:2131:31 | Address | &:r2131_11 | -| ir.cpp:2131:31:2131:31 | Load | m2131_10 | -| ir.cpp:2131:31:2131:31 | StoreValue | r2131_12 | -| ir.cpp:2132:10:2132:14 | Address | &:r2132_5 | -| ir.cpp:2132:10:2132:14 | Address | &:r2132_5 | -| ir.cpp:2132:10:2132:14 | Address | &:r2132_7 | -| ir.cpp:2132:10:2132:14 | Address | &:r2132_7 | -| ir.cpp:2132:10:2132:14 | Address | &:r2132_17 | -| ir.cpp:2132:10:2132:14 | ChiPartial | partial:m2132_3 | -| ir.cpp:2132:10:2132:14 | ChiTotal | total:m2132_2 | -| ir.cpp:2132:10:2132:14 | Load | m2132_6 | -| ir.cpp:2132:10:2132:14 | Load | m2132_15 | -| ir.cpp:2132:10:2132:14 | SideEffect | m2132_3 | -| ir.cpp:2132:10:2132:14 | SideEffect | m2132_8 | -| ir.cpp:2132:20:2132:29 | Address | &:r2132_9 | -| ir.cpp:2132:27:2132:28 | Load | ~m2132_4 | -| ir.cpp:2132:27:2132:28 | StoreValue | r2132_14 | -| ir.cpp:2132:28:2132:28 | Address | &:r2132_10 | -| ir.cpp:2132:28:2132:28 | Address | &:r2132_12 | -| ir.cpp:2132:28:2132:28 | Address | &:r2132_13 | -| ir.cpp:2132:28:2132:28 | Load | m2132_6 | -| ir.cpp:2132:28:2132:28 | Load | ~m2132_8 | -| ir.cpp:2132:28:2132:28 | Unary | r2132_11 | -| ir.cpp:2135:16:2135:50 | Address | &:r2135_3 | -| ir.cpp:2135:16:2135:50 | SideEffect | ~m2135_6 | -| ir.cpp:2135:54:2135:57 | ChiPartial | partial:m2135_5 | -| ir.cpp:2135:54:2135:57 | ChiTotal | total:m2135_2 | -| ir.cpp:2135:54:2135:57 | StoreValue | r2135_4 | -| ir.cpp:2137:6:2137:35 | ChiPartial | partial:m2137_3 | -| ir.cpp:2137:6:2137:35 | ChiTotal | total:m2137_2 | -| ir.cpp:2137:6:2137:35 | Phi | from 13:~m2172_5 | -| ir.cpp:2137:6:2137:35 | Phi | from 19:~m2172_13 | -| ir.cpp:2137:6:2137:35 | Phi | from 23:~m2172_22 | -| ir.cpp:2137:6:2137:35 | SideEffect | ~m2137_9 | -| ir.cpp:2137:42:2137:42 | Address | &:r2137_5 | -| ir.cpp:2137:50:2137:50 | Address | &:r2137_7 | -| ir.cpp:2138:29:2138:29 | Address | &:r2138_1 | -| ir.cpp:2138:29:2138:29 | Address | &:r2138_1 | -| ir.cpp:2138:29:2138:29 | Arg(this) | this:r2138_1 | -| ir.cpp:2138:29:2138:29 | CallTarget | func:r2138_3 | -| ir.cpp:2138:29:2138:29 | ChiPartial | partial:m2138_5 | -| ir.cpp:2138:29:2138:29 | ChiPartial | partial:m2138_7 | -| ir.cpp:2138:29:2138:29 | ChiTotal | total:m2137_4 | -| ir.cpp:2138:29:2138:29 | ChiTotal | total:m2138_2 | -| ir.cpp:2138:29:2138:29 | SideEffect | ~m2137_4 | -| ir.cpp:2138:32:2138:32 | Address | &:r2138_9 | -| ir.cpp:2138:32:2138:32 | Condition | r2138_10 | -| ir.cpp:2138:32:2138:32 | Load | m2137_6 | -| ir.cpp:2139:9:2139:9 | Address | &:r2139_1 | -| ir.cpp:2139:9:2139:9 | Address | &:r2139_1 | -| ir.cpp:2139:9:2139:9 | Arg(this) | this:r2139_1 | -| ir.cpp:2139:9:2139:9 | ChiPartial | partial:m2139_8 | -| ir.cpp:2139:9:2139:9 | ChiTotal | total:m2138_8 | -| ir.cpp:2139:9:2139:9 | SideEffect | m2138_8 | -| ir.cpp:2139:11:2139:15 | CallTarget | func:r2139_2 | -| ir.cpp:2139:11:2139:15 | ChiPartial | partial:m2139_5 | -| ir.cpp:2139:11:2139:15 | ChiTotal | total:m2138_6 | -| ir.cpp:2139:11:2139:15 | SideEffect | ~m2138_6 | -| ir.cpp:2139:17:2139:19 | Arg(0) | 0:r2139_3 | -| ir.cpp:2139:21:2139:21 | Address | &:r2139_10 | -| ir.cpp:2139:21:2139:21 | Address | &:r2139_10 | -| ir.cpp:2139:21:2139:21 | Arg(this) | this:r2139_10 | -| ir.cpp:2139:21:2139:21 | CallTarget | func:r2139_11 | -| ir.cpp:2139:21:2139:21 | ChiPartial | partial:m2139_13 | -| ir.cpp:2139:21:2139:21 | ChiPartial | partial:m2139_16 | -| ir.cpp:2139:21:2139:21 | ChiTotal | total:m2139_6 | -| ir.cpp:2139:21:2139:21 | ChiTotal | total:m2139_9 | -| ir.cpp:2139:21:2139:21 | SideEffect | m2139_9 | -| ir.cpp:2139:21:2139:21 | SideEffect | ~m2139_6 | -| ir.cpp:2141:39:2141:39 | Address | &:r2141_2 | -| ir.cpp:2141:39:2141:39 | Address | &:r2141_2 | -| ir.cpp:2141:39:2141:39 | Arg(this) | this:r2141_2 | -| ir.cpp:2141:39:2141:39 | CallTarget | func:r2141_4 | -| ir.cpp:2141:39:2141:39 | ChiPartial | partial:m2141_6 | -| ir.cpp:2141:39:2141:39 | ChiPartial | partial:m2141_8 | -| ir.cpp:2141:39:2141:39 | ChiTotal | total:m2141_1 | -| ir.cpp:2141:39:2141:39 | ChiTotal | total:m2141_3 | -| ir.cpp:2141:39:2141:39 | Phi | from 0:~m2138_6 | -| ir.cpp:2141:39:2141:39 | Phi | from 2:~m2139_14 | -| ir.cpp:2141:39:2141:39 | SideEffect | ~m2141_1 | -| ir.cpp:2141:42:2141:76 | Condition | r2141_10 | -| ir.cpp:2142:9:2142:9 | Address | &:r2142_1 | -| ir.cpp:2142:9:2142:9 | Address | &:r2142_1 | -| ir.cpp:2142:9:2142:9 | Arg(this) | this:r2142_1 | -| ir.cpp:2142:9:2142:9 | ChiPartial | partial:m2142_8 | -| ir.cpp:2142:9:2142:9 | ChiTotal | total:m2141_9 | -| ir.cpp:2142:9:2142:9 | SideEffect | m2141_9 | -| ir.cpp:2142:11:2142:15 | CallTarget | func:r2142_2 | -| ir.cpp:2142:11:2142:15 | ChiPartial | partial:m2142_5 | -| ir.cpp:2142:11:2142:15 | ChiTotal | total:m2141_7 | -| ir.cpp:2142:11:2142:15 | SideEffect | ~m2141_7 | -| ir.cpp:2142:17:2142:19 | Arg(0) | 0:r2142_3 | -| ir.cpp:2144:32:2144:32 | Address | &:r2144_1 | -| ir.cpp:2144:32:2144:32 | Address | &:r2144_1 | -| ir.cpp:2144:32:2144:32 | Arg(this) | this:r2144_1 | -| ir.cpp:2144:32:2144:32 | CallTarget | func:r2144_3 | -| ir.cpp:2144:32:2144:32 | ChiPartial | partial:m2144_5 | -| ir.cpp:2144:32:2144:32 | ChiPartial | partial:m2144_7 | -| ir.cpp:2144:32:2144:32 | ChiTotal | total:m2142_6 | -| ir.cpp:2144:32:2144:32 | ChiTotal | total:m2144_2 | -| ir.cpp:2144:32:2144:32 | SideEffect | ~m2142_6 | -| ir.cpp:2144:35:2144:35 | Address | &:r2144_9 | -| ir.cpp:2144:35:2144:35 | Condition | r2144_11 | -| ir.cpp:2144:35:2144:35 | Load | m2137_8 | -| ir.cpp:2144:35:2144:35 | Unary | r2144_10 | -| ir.cpp:2146:11:2146:11 | Address | &:r2146_1 | -| ir.cpp:2146:11:2146:11 | Address | &:r2146_1 | -| ir.cpp:2146:11:2146:11 | Arg(this) | this:r2146_1 | -| ir.cpp:2146:11:2146:11 | ChiPartial | partial:m2146_8 | -| ir.cpp:2146:11:2146:11 | ChiTotal | total:m2144_8 | -| ir.cpp:2146:11:2146:11 | SideEffect | m2144_8 | -| ir.cpp:2146:13:2146:17 | CallTarget | func:r2146_2 | -| ir.cpp:2146:13:2146:17 | ChiPartial | partial:m2146_5 | -| ir.cpp:2146:13:2146:17 | ChiTotal | total:m2144_6 | -| ir.cpp:2146:13:2146:17 | SideEffect | ~m2144_6 | -| ir.cpp:2146:19:2146:21 | Arg(0) | 0:r2146_3 | -| ir.cpp:2149:11:2149:11 | Address | &:r2149_1 | -| ir.cpp:2149:11:2149:11 | Address | &:r2149_1 | -| ir.cpp:2149:11:2149:11 | Arg(this) | this:r2149_1 | -| ir.cpp:2149:11:2149:11 | ChiPartial | partial:m2149_8 | -| ir.cpp:2149:11:2149:11 | ChiTotal | total:m2144_8 | -| ir.cpp:2149:11:2149:11 | SideEffect | m2144_8 | -| ir.cpp:2149:13:2149:17 | CallTarget | func:r2149_2 | -| ir.cpp:2149:13:2149:17 | ChiPartial | partial:m2149_5 | -| ir.cpp:2149:13:2149:17 | ChiTotal | total:m2144_6 | -| ir.cpp:2149:13:2149:17 | SideEffect | ~m2144_6 | -| ir.cpp:2149:19:2149:21 | Arg(0) | 0:r2149_3 | -| ir.cpp:2151:5:2151:5 | Phi | from 5:~m2146_6 | -| ir.cpp:2151:5:2151:5 | Phi | from 6:~m2149_6 | -| ir.cpp:2153:25:2153:25 | Address | &:r2153_1 | -| ir.cpp:2153:25:2153:25 | Address | &:r2153_1 | -| ir.cpp:2153:25:2153:25 | Arg(this) | this:r2153_1 | -| ir.cpp:2153:25:2153:25 | CallTarget | func:r2153_3 | -| ir.cpp:2153:25:2153:25 | ChiPartial | partial:m2153_5 | -| ir.cpp:2153:25:2153:25 | ChiPartial | partial:m2153_7 | -| ir.cpp:2153:25:2153:25 | ChiTotal | total:m2151_1 | -| ir.cpp:2153:25:2153:25 | ChiTotal | total:m2153_2 | -| ir.cpp:2153:25:2153:25 | SideEffect | ~m2151_1 | -| ir.cpp:2154:5:2154:5 | Address | &:r2154_14 | -| ir.cpp:2154:5:2154:5 | Address | &:r2154_18 | -| ir.cpp:2154:5:2154:5 | Address | &:r2154_26 | -| ir.cpp:2154:37:2154:38 | Address | &:r2154_1 | -| ir.cpp:2154:37:2154:38 | Address | &:r2154_1 | -| ir.cpp:2154:37:2154:38 | Arg(this) | this:r2154_1 | -| ir.cpp:2154:40:2154:40 | Address | &:r2154_4 | -| ir.cpp:2154:40:2154:40 | Address | &:r2154_4 | -| ir.cpp:2154:40:2154:40 | Address | &:r2154_5 | -| ir.cpp:2154:40:2154:40 | Arg(0) | 0:r2154_8 | -| ir.cpp:2154:40:2154:40 | Load | m2153_8 | -| ir.cpp:2154:40:2154:40 | Load | m2154_7 | -| ir.cpp:2154:40:2154:40 | StoreValue | r2154_6 | -| ir.cpp:2154:40:2154:41 | CallTarget | func:r2154_3 | -| ir.cpp:2154:40:2154:41 | ChiPartial | partial:m2154_10 | -| ir.cpp:2154:40:2154:41 | ChiPartial | partial:m2154_12 | -| ir.cpp:2154:40:2154:41 | ChiTotal | total:m2153_6 | -| ir.cpp:2154:40:2154:41 | ChiTotal | total:m2154_2 | -| ir.cpp:2154:40:2154:41 | SideEffect | ~m2153_6 | -| ir.cpp:2154:64:2154:64 | Address | &:r2154_44 | -| ir.cpp:2154:64:2154:64 | Address | &:r2154_52 | -| ir.cpp:2154:64:2154:64 | Address | &:r2154_52 | -| ir.cpp:2154:64:2154:64 | Arg(this) | this:r2154_52 | -| ir.cpp:2154:64:2154:64 | CallTarget | func:r2154_53 | -| ir.cpp:2154:64:2154:64 | ChiPartial | partial:m2154_55 | -| ir.cpp:2154:64:2154:64 | ChiPartial | partial:m2154_58 | -| ir.cpp:2154:64:2154:64 | ChiTotal | total:m2155_6 | -| ir.cpp:2154:64:2154:64 | ChiTotal | total:m2155_9 | -| ir.cpp:2154:64:2154:64 | SideEffect | m2155_9 | -| ir.cpp:2154:64:2154:64 | SideEffect | ~m2155_6 | -| ir.cpp:2154:68:2154:68 | Address | &:r2154_19 | -| ir.cpp:2154:68:2154:68 | Address | &:r2154_27 | -| ir.cpp:2154:68:2154:68 | Address | &:r2154_38 | -| ir.cpp:2154:68:2154:68 | Address | &:r2154_47 | -| ir.cpp:2154:68:2154:68 | Address | &:r2154_60 | -| ir.cpp:2154:68:2154:68 | Address | &:r2154_60 | -| ir.cpp:2154:68:2154:68 | Arg(0) | 0:r2154_39 | -| ir.cpp:2154:68:2154:68 | Arg(this) | this:r0_2 | -| ir.cpp:2154:68:2154:68 | Arg(this) | this:r0_5 | -| ir.cpp:2154:68:2154:68 | Arg(this) | this:r0_7 | -| ir.cpp:2154:68:2154:68 | Arg(this) | this:r0_9 | -| ir.cpp:2154:68:2154:68 | Arg(this) | this:r2154_60 | -| ir.cpp:2154:68:2154:68 | CallTarget | func:r2154_21 | -| ir.cpp:2154:68:2154:68 | CallTarget | func:r2154_29 | -| ir.cpp:2154:68:2154:68 | CallTarget | func:r2154_37 | -| ir.cpp:2154:68:2154:68 | CallTarget | func:r2154_46 | -| ir.cpp:2154:68:2154:68 | CallTarget | func:r2154_61 | -| ir.cpp:2154:68:2154:68 | ChiPartial | partial:m2154_23 | -| ir.cpp:2154:68:2154:68 | ChiPartial | partial:m2154_31 | -| ir.cpp:2154:68:2154:68 | ChiPartial | partial:m2154_41 | -| ir.cpp:2154:68:2154:68 | ChiPartial | partial:m2154_48 | -| ir.cpp:2154:68:2154:68 | ChiPartial | partial:m2154_63 | -| ir.cpp:2154:68:2154:68 | ChiPartial | partial:m2154_66 | -| ir.cpp:2154:68:2154:68 | ChiTotal | total:m2154_11 | -| ir.cpp:2154:68:2154:68 | ChiTotal | total:m2154_24 | -| ir.cpp:2154:68:2154:68 | ChiTotal | total:m2154_34 | -| ir.cpp:2154:68:2154:68 | ChiTotal | total:m2154_35 | -| ir.cpp:2154:68:2154:68 | ChiTotal | total:m2154_42 | -| ir.cpp:2154:68:2154:68 | ChiTotal | total:m2154_56 | -| ir.cpp:2154:68:2154:68 | Condition | r2154_40 | -| ir.cpp:2154:68:2154:68 | Load | m2154_17 | -| ir.cpp:2154:68:2154:68 | Load | m2154_17 | -| ir.cpp:2154:68:2154:68 | Load | m2154_33 | -| ir.cpp:2154:68:2154:68 | Phi | from 7:m2154_25 | -| ir.cpp:2154:68:2154:68 | Phi | from 7:~m2154_32 | -| ir.cpp:2154:68:2154:68 | Phi | from 9:m2154_67 | -| ir.cpp:2154:68:2154:68 | Phi | from 9:~m2154_64 | -| ir.cpp:2154:68:2154:68 | SideEffect | m2154_34 | -| ir.cpp:2154:68:2154:68 | SideEffect | ~m2154_11 | -| ir.cpp:2154:68:2154:68 | SideEffect | ~m2154_24 | -| ir.cpp:2154:68:2154:68 | SideEffect | ~m2154_35 | -| ir.cpp:2154:68:2154:68 | SideEffect | ~m2154_42 | -| ir.cpp:2154:68:2154:68 | SideEffect | ~m2154_56 | -| ir.cpp:2154:68:2154:68 | StoreValue | r2154_22 | -| ir.cpp:2154:68:2154:68 | StoreValue | r2154_30 | -| ir.cpp:2154:68:2154:68 | Unary | r2154_20 | -| ir.cpp:2154:68:2154:68 | Unary | r2154_28 | -| ir.cpp:2154:68:2154:68 | Unary | r2154_36 | -| ir.cpp:2154:68:2154:68 | Unary | r2154_45 | -| ir.cpp:2154:68:2154:68 | Unary | r2154_62 | -| ir.cpp:2154:68:2154:69 | StoreValue | r2154_16 | -| ir.cpp:2154:68:2154:69 | Unary | r2154_15 | -| ir.cpp:2154:68:2154:70 | Load | ~m2154_49 | -| ir.cpp:2154:68:2154:70 | StoreValue | r2154_50 | -| ir.cpp:2155:7:2155:7 | Address | &:r2155_1 | -| ir.cpp:2155:7:2155:7 | Address | &:r2155_1 | -| ir.cpp:2155:7:2155:7 | Arg(this) | this:r2155_1 | -| ir.cpp:2155:7:2155:7 | ChiPartial | partial:m2155_8 | -| ir.cpp:2155:7:2155:7 | ChiTotal | total:m2154_51 | -| ir.cpp:2155:7:2155:7 | SideEffect | m2154_51 | -| ir.cpp:2155:9:2155:13 | CallTarget | func:r2155_2 | -| ir.cpp:2155:9:2155:13 | ChiPartial | partial:m2155_5 | -| ir.cpp:2155:9:2155:13 | ChiTotal | total:m2154_49 | -| ir.cpp:2155:9:2155:13 | SideEffect | ~m2154_49 | -| ir.cpp:2155:15:2155:17 | Arg(0) | 0:r2155_3 | -| ir.cpp:2157:5:2157:5 | Address | &:r2157_14 | -| ir.cpp:2157:5:2157:5 | Address | &:r2157_18 | -| ir.cpp:2157:5:2157:5 | Address | &:r2157_26 | -| ir.cpp:2157:37:2157:38 | Address | &:r2157_1 | -| ir.cpp:2157:37:2157:38 | Address | &:r2157_1 | -| ir.cpp:2157:37:2157:38 | Address | &:r2157_60 | -| ir.cpp:2157:37:2157:38 | Address | &:r2157_60 | -| ir.cpp:2157:37:2157:38 | Arg(this) | this:r2157_1 | -| ir.cpp:2157:37:2157:38 | Arg(this) | this:r2157_60 | -| ir.cpp:2157:37:2157:38 | CallTarget | func:r2157_61 | -| ir.cpp:2157:37:2157:38 | ChiPartial | partial:m2157_63 | -| ir.cpp:2157:37:2157:38 | ChiPartial | partial:m2157_66 | -| ir.cpp:2157:37:2157:38 | ChiTotal | total:m2157_13 | -| ir.cpp:2157:37:2157:38 | ChiTotal | total:m2157_56 | -| ir.cpp:2157:37:2157:38 | SideEffect | m2157_13 | -| ir.cpp:2157:37:2157:38 | SideEffect | ~m2157_56 | -| ir.cpp:2157:40:2157:40 | Address | &:r2157_4 | -| ir.cpp:2157:40:2157:40 | Address | &:r2157_4 | -| ir.cpp:2157:40:2157:40 | Address | &:r2157_5 | -| ir.cpp:2157:40:2157:40 | Arg(0) | 0:r2157_8 | -| ir.cpp:2157:40:2157:40 | Load | m2153_8 | -| ir.cpp:2157:40:2157:40 | Load | m2157_7 | -| ir.cpp:2157:40:2157:40 | StoreValue | r2157_6 | -| ir.cpp:2157:40:2157:41 | CallTarget | func:r2157_3 | -| ir.cpp:2157:40:2157:41 | ChiPartial | partial:m2157_10 | -| ir.cpp:2157:40:2157:41 | ChiPartial | partial:m2157_12 | -| ir.cpp:2157:40:2157:41 | ChiTotal | total:m2154_42 | -| ir.cpp:2157:40:2157:41 | ChiTotal | total:m2157_2 | -| ir.cpp:2157:40:2157:41 | SideEffect | ~m2154_42 | -| ir.cpp:2157:64:2157:64 | Address | &:r2157_44 | -| ir.cpp:2157:64:2157:64 | Address | &:r2157_52 | -| ir.cpp:2157:64:2157:64 | Address | &:r2157_52 | -| ir.cpp:2157:64:2157:64 | Address | &:r2157_68 | -| ir.cpp:2157:64:2157:64 | Address | &:r2157_68 | -| ir.cpp:2157:64:2157:64 | Arg(this) | this:r2157_52 | -| ir.cpp:2157:64:2157:64 | Arg(this) | this:r2157_68 | -| ir.cpp:2157:64:2157:64 | CallTarget | func:r2157_53 | -| ir.cpp:2157:64:2157:64 | CallTarget | func:r2157_69 | -| ir.cpp:2157:64:2157:64 | ChiPartial | partial:m2157_55 | -| ir.cpp:2157:64:2157:64 | ChiPartial | partial:m2157_58 | -| ir.cpp:2157:64:2157:64 | ChiPartial | partial:m2157_71 | -| ir.cpp:2157:64:2157:64 | ChiPartial | partial:m2157_74 | -| ir.cpp:2157:64:2157:64 | ChiTotal | total:m2159_5 | -| ir.cpp:2157:64:2157:64 | ChiTotal | total:m2159_5 | -| ir.cpp:2157:64:2157:64 | ChiTotal | total:m2159_8 | -| ir.cpp:2157:64:2157:64 | ChiTotal | total:m2159_8 | -| ir.cpp:2157:64:2157:64 | SideEffect | m2159_8 | -| ir.cpp:2157:64:2157:64 | SideEffect | m2159_8 | -| ir.cpp:2157:64:2157:64 | SideEffect | ~m2159_5 | -| ir.cpp:2157:64:2157:64 | SideEffect | ~m2159_5 | -| ir.cpp:2157:68:2157:68 | Address | &:r2157_19 | -| ir.cpp:2157:68:2157:68 | Address | &:r2157_27 | -| ir.cpp:2157:68:2157:68 | Address | &:r2157_38 | -| ir.cpp:2157:68:2157:68 | Address | &:r2157_47 | -| ir.cpp:2157:68:2157:68 | Address | &:r2157_76 | -| ir.cpp:2157:68:2157:68 | Address | &:r2157_76 | -| ir.cpp:2157:68:2157:68 | Arg(0) | 0:r2157_39 | -| ir.cpp:2157:68:2157:68 | Arg(this) | this:r0_12 | -| ir.cpp:2157:68:2157:68 | Arg(this) | this:r0_15 | -| ir.cpp:2157:68:2157:68 | Arg(this) | this:r0_17 | -| ir.cpp:2157:68:2157:68 | Arg(this) | this:r0_19 | -| ir.cpp:2157:68:2157:68 | Arg(this) | this:r2157_76 | -| ir.cpp:2157:68:2157:68 | CallTarget | func:r2157_21 | -| ir.cpp:2157:68:2157:68 | CallTarget | func:r2157_29 | -| ir.cpp:2157:68:2157:68 | CallTarget | func:r2157_37 | -| ir.cpp:2157:68:2157:68 | CallTarget | func:r2157_46 | -| ir.cpp:2157:68:2157:68 | CallTarget | func:r2157_77 | -| ir.cpp:2157:68:2157:68 | ChiPartial | partial:m2157_23 | -| ir.cpp:2157:68:2157:68 | ChiPartial | partial:m2157_31 | -| ir.cpp:2157:68:2157:68 | ChiPartial | partial:m2157_41 | -| ir.cpp:2157:68:2157:68 | ChiPartial | partial:m2157_48 | -| ir.cpp:2157:68:2157:68 | ChiPartial | partial:m2157_79 | -| ir.cpp:2157:68:2157:68 | ChiPartial | partial:m2157_82 | -| ir.cpp:2157:68:2157:68 | ChiTotal | total:m2157_11 | -| ir.cpp:2157:68:2157:68 | ChiTotal | total:m2157_24 | -| ir.cpp:2157:68:2157:68 | ChiTotal | total:m2157_34 | -| ir.cpp:2157:68:2157:68 | ChiTotal | total:m2157_35 | -| ir.cpp:2157:68:2157:68 | ChiTotal | total:m2157_42 | -| ir.cpp:2157:68:2157:68 | ChiTotal | total:m2157_72 | -| ir.cpp:2157:68:2157:68 | Condition | r2157_40 | -| ir.cpp:2157:68:2157:68 | Load | m2157_17 | -| ir.cpp:2157:68:2157:68 | Load | m2157_17 | -| ir.cpp:2157:68:2157:68 | Load | m2157_33 | -| ir.cpp:2157:68:2157:68 | Phi | from 10:m2157_25 | -| ir.cpp:2157:68:2157:68 | Phi | from 10:~m2157_32 | -| ir.cpp:2157:68:2157:68 | Phi | from 14:m2157_83 | -| ir.cpp:2157:68:2157:68 | Phi | from 14:~m2157_80 | -| ir.cpp:2157:68:2157:68 | SideEffect | m2157_34 | -| ir.cpp:2157:68:2157:68 | SideEffect | ~m2157_11 | -| ir.cpp:2157:68:2157:68 | SideEffect | ~m2157_24 | -| ir.cpp:2157:68:2157:68 | SideEffect | ~m2157_35 | -| ir.cpp:2157:68:2157:68 | SideEffect | ~m2157_42 | -| ir.cpp:2157:68:2157:68 | SideEffect | ~m2157_72 | -| ir.cpp:2157:68:2157:68 | StoreValue | r2157_22 | -| ir.cpp:2157:68:2157:68 | StoreValue | r2157_30 | -| ir.cpp:2157:68:2157:68 | Unary | r2157_20 | -| ir.cpp:2157:68:2157:68 | Unary | r2157_28 | -| ir.cpp:2157:68:2157:68 | Unary | r2157_36 | -| ir.cpp:2157:68:2157:68 | Unary | r2157_45 | -| ir.cpp:2157:68:2157:68 | Unary | r2157_78 | -| ir.cpp:2157:68:2157:69 | StoreValue | r2157_16 | -| ir.cpp:2157:68:2157:69 | Unary | r2157_15 | -| ir.cpp:2157:68:2157:70 | Load | ~m2157_49 | -| ir.cpp:2157:68:2157:70 | StoreValue | r2157_50 | -| ir.cpp:2158:7:2158:7 | Address | &:r2158_1 | -| ir.cpp:2158:7:2158:7 | Address | &:r2158_1 | -| ir.cpp:2158:7:2158:7 | Arg(this) | this:r2158_1 | -| ir.cpp:2158:7:2158:7 | ChiPartial | partial:m2158_8 | -| ir.cpp:2158:7:2158:7 | ChiTotal | total:m2157_51 | -| ir.cpp:2158:7:2158:7 | SideEffect | m2157_51 | -| ir.cpp:2158:9:2158:13 | CallTarget | func:r2158_2 | -| ir.cpp:2158:9:2158:13 | ChiPartial | partial:m2158_5 | -| ir.cpp:2158:9:2158:13 | ChiTotal | total:m2157_49 | -| ir.cpp:2158:9:2158:13 | SideEffect | ~m2157_49 | -| ir.cpp:2158:15:2158:17 | Arg(0) | 0:r2158_3 | -| ir.cpp:2159:11:2159:11 | Address | &:r2159_1 | -| ir.cpp:2159:11:2159:11 | Address | &:r2159_1 | -| ir.cpp:2159:11:2159:11 | Arg(this) | this:r2159_1 | -| ir.cpp:2159:11:2159:11 | ChiPartial | partial:m2159_7 | -| ir.cpp:2159:11:2159:11 | ChiTotal | total:m2158_9 | -| ir.cpp:2159:11:2159:11 | SideEffect | m2158_9 | -| ir.cpp:2159:11:2159:19 | Left | r2159_9 | -| ir.cpp:2159:11:2159:26 | Condition | r2159_11 | -| ir.cpp:2159:13:2159:17 | CallTarget | func:r2159_2 | -| ir.cpp:2159:13:2159:17 | ChiPartial | partial:m2159_4 | -| ir.cpp:2159:13:2159:17 | ChiTotal | total:m2158_6 | -| ir.cpp:2159:13:2159:17 | SideEffect | ~m2158_6 | -| ir.cpp:2159:13:2159:17 | Unary | r2159_3 | -| ir.cpp:2159:24:2159:26 | Right | r2159_10 | -| ir.cpp:2163:5:2163:5 | Address | &:r2163_10 | -| ir.cpp:2163:5:2163:5 | Address | &:r2163_14 | -| ir.cpp:2163:5:2163:5 | Address | &:r2163_22 | -| ir.cpp:2163:21:2163:22 | Address | &:r2163_1 | -| ir.cpp:2163:21:2163:22 | Address | &:r2163_1 | -| ir.cpp:2163:21:2163:22 | Address | &:r2163_57 | -| ir.cpp:2163:21:2163:22 | Address | &:r2163_57 | -| ir.cpp:2163:21:2163:22 | Arg(this) | this:r2163_1 | -| ir.cpp:2163:21:2163:22 | Arg(this) | this:r2163_57 | -| ir.cpp:2163:21:2163:22 | CallTarget | func:r2163_58 | -| ir.cpp:2163:21:2163:22 | ChiPartial | partial:m2163_60 | -| ir.cpp:2163:21:2163:22 | ChiPartial | partial:m2163_63 | -| ir.cpp:2163:21:2163:22 | ChiTotal | total:m2163_9 | -| ir.cpp:2163:21:2163:22 | ChiTotal | total:m2163_54 | -| ir.cpp:2163:21:2163:22 | SideEffect | m2163_9 | -| ir.cpp:2163:21:2163:22 | SideEffect | ~m2163_54 | -| ir.cpp:2163:24:2163:24 | Arg(0) | 0:r2163_4 | -| ir.cpp:2163:24:2163:25 | CallTarget | func:r2163_3 | -| ir.cpp:2163:24:2163:25 | ChiPartial | partial:m2163_6 | -| ir.cpp:2163:24:2163:25 | ChiPartial | partial:m2163_8 | -| ir.cpp:2163:24:2163:25 | ChiTotal | total:m2157_42 | -| ir.cpp:2163:24:2163:25 | ChiTotal | total:m2163_2 | -| ir.cpp:2163:24:2163:25 | SideEffect | ~m2157_42 | -| ir.cpp:2163:32:2163:32 | Address | &:r2163_49 | -| ir.cpp:2163:36:2163:36 | Address | &:r2163_15 | -| ir.cpp:2163:36:2163:36 | Address | &:r2163_23 | -| ir.cpp:2163:36:2163:36 | Address | &:r2163_34 | -| ir.cpp:2163:36:2163:36 | Address | &:r2163_40 | -| ir.cpp:2163:36:2163:36 | Address | &:r2163_40 | -| ir.cpp:2163:36:2163:36 | Address | &:r2163_52 | -| ir.cpp:2163:36:2163:36 | Arg(0) | 0:r2163_35 | -| ir.cpp:2163:36:2163:36 | Arg(this) | this:r0_22 | -| ir.cpp:2163:36:2163:36 | Arg(this) | this:r0_25 | -| ir.cpp:2163:36:2163:36 | Arg(this) | this:r0_27 | -| ir.cpp:2163:36:2163:36 | Arg(this) | this:r0_29 | -| ir.cpp:2163:36:2163:36 | Arg(this) | this:r2163_40 | -| ir.cpp:2163:36:2163:36 | CallTarget | func:r2163_17 | -| ir.cpp:2163:36:2163:36 | CallTarget | func:r2163_25 | -| ir.cpp:2163:36:2163:36 | CallTarget | func:r2163_33 | -| ir.cpp:2163:36:2163:36 | CallTarget | func:r2163_41 | -| ir.cpp:2163:36:2163:36 | CallTarget | func:r2163_51 | -| ir.cpp:2163:36:2163:36 | ChiPartial | partial:m2163_19 | -| ir.cpp:2163:36:2163:36 | ChiPartial | partial:m2163_27 | -| ir.cpp:2163:36:2163:36 | ChiPartial | partial:m2163_37 | -| ir.cpp:2163:36:2163:36 | ChiPartial | partial:m2163_43 | -| ir.cpp:2163:36:2163:36 | ChiPartial | partial:m2163_46 | -| ir.cpp:2163:36:2163:36 | ChiPartial | partial:m2163_53 | -| ir.cpp:2163:36:2163:36 | ChiTotal | total:m2163_7 | -| ir.cpp:2163:36:2163:36 | ChiTotal | total:m2163_20 | -| ir.cpp:2163:36:2163:36 | ChiTotal | total:m2163_30 | -| ir.cpp:2163:36:2163:36 | ChiTotal | total:m2163_31 | -| ir.cpp:2163:36:2163:36 | ChiTotal | total:m2163_38 | -| ir.cpp:2163:36:2163:36 | ChiTotal | total:m2163_54 | -| ir.cpp:2163:36:2163:36 | Condition | r2163_36 | -| ir.cpp:2163:36:2163:36 | Load | m2163_13 | -| ir.cpp:2163:36:2163:36 | Load | m2163_13 | -| ir.cpp:2163:36:2163:36 | Load | m2163_29 | -| ir.cpp:2163:36:2163:36 | Phi | from 15:m2163_21 | -| ir.cpp:2163:36:2163:36 | Phi | from 15:~m2163_28 | -| ir.cpp:2163:36:2163:36 | Phi | from 17:m2163_47 | -| ir.cpp:2163:36:2163:36 | Phi | from 17:~m2163_44 | -| ir.cpp:2163:36:2163:36 | SideEffect | m2163_30 | -| ir.cpp:2163:36:2163:36 | SideEffect | ~m2163_7 | -| ir.cpp:2163:36:2163:36 | SideEffect | ~m2163_20 | -| ir.cpp:2163:36:2163:36 | SideEffect | ~m2163_31 | -| ir.cpp:2163:36:2163:36 | SideEffect | ~m2163_38 | -| ir.cpp:2163:36:2163:36 | SideEffect | ~m2163_54 | -| ir.cpp:2163:36:2163:36 | StoreValue | r2163_18 | -| ir.cpp:2163:36:2163:36 | StoreValue | r2163_26 | -| ir.cpp:2163:36:2163:36 | Unary | r2163_16 | -| ir.cpp:2163:36:2163:36 | Unary | r2163_24 | -| ir.cpp:2163:36:2163:36 | Unary | r2163_32 | -| ir.cpp:2163:36:2163:36 | Unary | r2163_42 | -| ir.cpp:2163:36:2163:36 | Unary | r2163_50 | -| ir.cpp:2163:36:2163:37 | StoreValue | r2163_12 | -| ir.cpp:2163:36:2163:37 | Unary | r2163_11 | -| ir.cpp:2163:36:2163:38 | Load | ~m2163_54 | -| ir.cpp:2163:36:2163:38 | StoreValue | r2163_55 | -| ir.cpp:2164:11:2164:11 | Address | &:r2164_1 | -| ir.cpp:2164:11:2164:11 | Left | r2164_2 | -| ir.cpp:2164:11:2164:11 | Load | m2163_56 | -| ir.cpp:2164:11:2164:16 | Condition | r2164_4 | -| ir.cpp:2164:16:2164:16 | Right | r2164_3 | -| ir.cpp:2168:5:2168:5 | Address | &:r2168_14 | -| ir.cpp:2168:5:2168:5 | Address | &:r2168_18 | -| ir.cpp:2168:5:2168:5 | Address | &:r2168_26 | -| ir.cpp:2168:37:2168:38 | Address | &:r2168_1 | -| ir.cpp:2168:37:2168:38 | Address | &:r2168_1 | -| ir.cpp:2168:37:2168:38 | Arg(this) | this:r2168_1 | -| ir.cpp:2168:40:2168:40 | Address | &:r2168_4 | -| ir.cpp:2168:40:2168:40 | Address | &:r2168_4 | -| ir.cpp:2168:40:2168:40 | Address | &:r2168_5 | -| ir.cpp:2168:40:2168:40 | Arg(0) | 0:r2168_8 | -| ir.cpp:2168:40:2168:40 | Load | m2153_8 | -| ir.cpp:2168:40:2168:40 | Load | m2168_7 | -| ir.cpp:2168:40:2168:40 | StoreValue | r2168_6 | -| ir.cpp:2168:40:2168:41 | CallTarget | func:r2168_3 | -| ir.cpp:2168:40:2168:41 | ChiPartial | partial:m2168_10 | -| ir.cpp:2168:40:2168:41 | ChiPartial | partial:m2168_12 | -| ir.cpp:2168:40:2168:41 | ChiTotal | total:m2163_38 | -| ir.cpp:2168:40:2168:41 | ChiTotal | total:m2168_2 | -| ir.cpp:2168:40:2168:41 | SideEffect | ~m2163_38 | -| ir.cpp:2168:64:2168:64 | Address | &:r2168_44 | -| ir.cpp:2168:64:2168:64 | Address | &:r2168_52 | -| ir.cpp:2168:64:2168:64 | Address | &:r2168_52 | -| ir.cpp:2168:64:2168:64 | Arg(this) | this:r2168_52 | -| ir.cpp:2168:64:2168:64 | CallTarget | func:r2168_53 | -| ir.cpp:2168:64:2168:64 | ChiPartial | partial:m2168_55 | -| ir.cpp:2168:64:2168:64 | ChiPartial | partial:m2168_58 | -| ir.cpp:2168:64:2168:64 | ChiTotal | total:m2168_51 | -| ir.cpp:2168:64:2168:64 | ChiTotal | total:m2171_13 | -| ir.cpp:2168:64:2168:64 | SideEffect | m2168_51 | -| ir.cpp:2168:64:2168:64 | SideEffect | ~m2171_13 | -| ir.cpp:2168:68:2168:68 | Address | &:r2168_19 | -| ir.cpp:2168:68:2168:68 | Address | &:r2168_27 | -| ir.cpp:2168:68:2168:68 | Address | &:r2168_38 | -| ir.cpp:2168:68:2168:68 | Address | &:r2168_47 | -| ir.cpp:2168:68:2168:68 | Address | &:r2168_60 | -| ir.cpp:2168:68:2168:68 | Address | &:r2168_60 | -| ir.cpp:2168:68:2168:68 | Arg(0) | 0:r2168_39 | -| ir.cpp:2168:68:2168:68 | Arg(this) | this:r0_32 | -| ir.cpp:2168:68:2168:68 | Arg(this) | this:r0_35 | -| ir.cpp:2168:68:2168:68 | Arg(this) | this:r0_37 | -| ir.cpp:2168:68:2168:68 | Arg(this) | this:r0_39 | -| ir.cpp:2168:68:2168:68 | Arg(this) | this:r2168_60 | -| ir.cpp:2168:68:2168:68 | CallTarget | func:r2168_21 | -| ir.cpp:2168:68:2168:68 | CallTarget | func:r2168_29 | -| ir.cpp:2168:68:2168:68 | CallTarget | func:r2168_37 | -| ir.cpp:2168:68:2168:68 | CallTarget | func:r2168_46 | -| ir.cpp:2168:68:2168:68 | CallTarget | func:r2168_61 | -| ir.cpp:2168:68:2168:68 | ChiPartial | partial:m2168_23 | -| ir.cpp:2168:68:2168:68 | ChiPartial | partial:m2168_31 | -| ir.cpp:2168:68:2168:68 | ChiPartial | partial:m2168_41 | -| ir.cpp:2168:68:2168:68 | ChiPartial | partial:m2168_48 | -| ir.cpp:2168:68:2168:68 | ChiPartial | partial:m2168_63 | -| ir.cpp:2168:68:2168:68 | ChiPartial | partial:m2168_66 | -| ir.cpp:2168:68:2168:68 | ChiTotal | total:m2168_11 | -| ir.cpp:2168:68:2168:68 | ChiTotal | total:m2168_24 | -| ir.cpp:2168:68:2168:68 | ChiTotal | total:m2168_34 | -| ir.cpp:2168:68:2168:68 | ChiTotal | total:m2168_35 | -| ir.cpp:2168:68:2168:68 | ChiTotal | total:m2168_42 | -| ir.cpp:2168:68:2168:68 | ChiTotal | total:m2168_56 | -| ir.cpp:2168:68:2168:68 | Condition | r2168_40 | -| ir.cpp:2168:68:2168:68 | Load | m2168_17 | -| ir.cpp:2168:68:2168:68 | Load | m2168_17 | -| ir.cpp:2168:68:2168:68 | Load | m2168_33 | -| ir.cpp:2168:68:2168:68 | Phi | from 20:m2168_25 | -| ir.cpp:2168:68:2168:68 | Phi | from 20:~m2168_32 | -| ir.cpp:2168:68:2168:68 | Phi | from 22:m2168_67 | -| ir.cpp:2168:68:2168:68 | Phi | from 22:~m2168_64 | -| ir.cpp:2168:68:2168:68 | SideEffect | m2168_34 | -| ir.cpp:2168:68:2168:68 | SideEffect | ~m2168_11 | -| ir.cpp:2168:68:2168:68 | SideEffect | ~m2168_24 | -| ir.cpp:2168:68:2168:68 | SideEffect | ~m2168_35 | -| ir.cpp:2168:68:2168:68 | SideEffect | ~m2168_42 | -| ir.cpp:2168:68:2168:68 | SideEffect | ~m2168_56 | -| ir.cpp:2168:68:2168:68 | StoreValue | r2168_22 | -| ir.cpp:2168:68:2168:68 | StoreValue | r2168_30 | -| ir.cpp:2168:68:2168:68 | Unary | r2168_20 | -| ir.cpp:2168:68:2168:68 | Unary | r2168_28 | -| ir.cpp:2168:68:2168:68 | Unary | r2168_36 | -| ir.cpp:2168:68:2168:68 | Unary | r2168_45 | -| ir.cpp:2168:68:2168:68 | Unary | r2168_62 | -| ir.cpp:2168:68:2168:69 | StoreValue | r2168_16 | -| ir.cpp:2168:68:2168:69 | Unary | r2168_15 | -| ir.cpp:2168:68:2168:70 | Load | ~m2168_49 | -| ir.cpp:2168:68:2168:70 | StoreValue | r2168_50 | -| ir.cpp:2169:27:2169:28 | Address | &:r2169_1 | -| ir.cpp:2169:27:2169:28 | Address | &:r2169_1 | -| ir.cpp:2169:27:2169:28 | Arg(this) | this:r2169_1 | -| ir.cpp:2169:27:2169:28 | CallTarget | func:r2169_3 | -| ir.cpp:2169:27:2169:28 | ChiPartial | partial:m2169_5 | -| ir.cpp:2169:27:2169:28 | ChiPartial | partial:m2169_7 | -| ir.cpp:2169:27:2169:28 | ChiTotal | total:m2168_49 | -| ir.cpp:2169:27:2169:28 | ChiTotal | total:m2169_2 | -| ir.cpp:2169:27:2169:28 | SideEffect | ~m2168_49 | -| ir.cpp:2170:27:2170:28 | Address | &:r2170_1 | -| ir.cpp:2170:27:2170:28 | Address | &:r2170_1 | -| ir.cpp:2170:27:2170:28 | Arg(this) | this:r2170_1 | -| ir.cpp:2170:27:2170:28 | CallTarget | func:r2170_3 | -| ir.cpp:2170:27:2170:28 | ChiPartial | partial:m2170_5 | -| ir.cpp:2170:27:2170:28 | ChiPartial | partial:m2170_7 | -| ir.cpp:2170:27:2170:28 | ChiTotal | total:m2169_6 | -| ir.cpp:2170:27:2170:28 | ChiTotal | total:m2170_2 | -| ir.cpp:2170:27:2170:28 | SideEffect | ~m2169_6 | -| ir.cpp:2171:5:2171:5 | Address | &:r2171_1 | -| ir.cpp:2171:5:2171:5 | Address | &:r2171_1 | -| ir.cpp:2171:5:2171:5 | Address | &:r2171_9 | -| ir.cpp:2171:5:2171:5 | Address | &:r2171_9 | -| ir.cpp:2171:5:2171:5 | Arg(this) | this:r2171_1 | -| ir.cpp:2171:5:2171:5 | Arg(this) | this:r2171_9 | -| ir.cpp:2171:5:2171:5 | CallTarget | func:r2171_2 | -| ir.cpp:2171:5:2171:5 | CallTarget | func:r2171_10 | -| ir.cpp:2171:5:2171:5 | ChiPartial | partial:m2171_4 | -| ir.cpp:2171:5:2171:5 | ChiPartial | partial:m2171_7 | -| ir.cpp:2171:5:2171:5 | ChiPartial | partial:m2171_12 | -| ir.cpp:2171:5:2171:5 | ChiPartial | partial:m2171_15 | -| ir.cpp:2171:5:2171:5 | ChiTotal | total:m2169_8 | -| ir.cpp:2171:5:2171:5 | ChiTotal | total:m2170_6 | -| ir.cpp:2171:5:2171:5 | ChiTotal | total:m2170_8 | -| ir.cpp:2171:5:2171:5 | ChiTotal | total:m2171_5 | -| ir.cpp:2171:5:2171:5 | SideEffect | m2169_8 | -| ir.cpp:2171:5:2171:5 | SideEffect | m2170_8 | -| ir.cpp:2171:5:2171:5 | SideEffect | ~m2170_6 | -| ir.cpp:2171:5:2171:5 | SideEffect | ~m2171_5 | -| ir.cpp:2172:1:2172:1 | Address | &:r2172_1 | -| ir.cpp:2172:1:2172:1 | Address | &:r2172_1 | -| ir.cpp:2172:1:2172:1 | Address | &:r2172_9 | -| ir.cpp:2172:1:2172:1 | Address | &:r2172_9 | -| ir.cpp:2172:1:2172:1 | Address | &:r2172_18 | -| ir.cpp:2172:1:2172:1 | Address | &:r2172_18 | -| ir.cpp:2172:1:2172:1 | Arg(this) | this:r2172_1 | -| ir.cpp:2172:1:2172:1 | Arg(this) | this:r2172_9 | -| ir.cpp:2172:1:2172:1 | Arg(this) | this:r2172_18 | -| ir.cpp:2172:1:2172:1 | CallTarget | func:r2172_2 | -| ir.cpp:2172:1:2172:1 | CallTarget | func:r2172_10 | -| ir.cpp:2172:1:2172:1 | CallTarget | func:r2172_19 | -| ir.cpp:2172:1:2172:1 | ChiPartial | partial:m2172_4 | -| ir.cpp:2172:1:2172:1 | ChiPartial | partial:m2172_7 | -| ir.cpp:2172:1:2172:1 | ChiPartial | partial:m2172_12 | -| ir.cpp:2172:1:2172:1 | ChiPartial | partial:m2172_15 | -| ir.cpp:2172:1:2172:1 | ChiPartial | partial:m2172_21 | -| ir.cpp:2172:1:2172:1 | ChiPartial | partial:m2172_24 | -| ir.cpp:2172:1:2172:1 | ChiTotal | total:m2153_8 | -| ir.cpp:2172:1:2172:1 | ChiTotal | total:m2153_8 | -| ir.cpp:2172:1:2172:1 | ChiTotal | total:m2153_8 | -| ir.cpp:2172:1:2172:1 | ChiTotal | total:m2157_64 | -| ir.cpp:2172:1:2172:1 | ChiTotal | total:m2163_61 | -| ir.cpp:2172:1:2172:1 | ChiTotal | total:m2168_42 | -| ir.cpp:2172:1:2172:1 | SideEffect | m2153_8 | -| ir.cpp:2172:1:2172:1 | SideEffect | m2153_8 | -| ir.cpp:2172:1:2172:1 | SideEffect | m2153_8 | -| ir.cpp:2172:1:2172:1 | SideEffect | ~m2157_64 | -| ir.cpp:2172:1:2172:1 | SideEffect | ~m2163_61 | -| ir.cpp:2172:1:2172:1 | SideEffect | ~m2168_42 | -| ir.cpp:2174:6:2174:38 | ChiPartial | partial:m2174_3 | -| ir.cpp:2174:6:2174:38 | ChiTotal | total:m2174_2 | -| ir.cpp:2174:6:2174:38 | SideEffect | ~m2177_7 | -| ir.cpp:2175:25:2175:25 | Address | &:r2175_1 | -| ir.cpp:2175:25:2175:25 | Address | &:r2175_1 | -| ir.cpp:2175:25:2175:25 | Arg(this) | this:r2175_1 | -| ir.cpp:2175:25:2175:25 | CallTarget | func:r2175_3 | -| ir.cpp:2175:25:2175:25 | ChiPartial | partial:m2175_5 | -| ir.cpp:2175:25:2175:25 | ChiPartial | partial:m2175_7 | -| ir.cpp:2175:25:2175:25 | ChiTotal | total:m2174_4 | -| ir.cpp:2175:25:2175:25 | ChiTotal | total:m2175_2 | -| ir.cpp:2175:25:2175:25 | SideEffect | ~m2174_4 | -| ir.cpp:2176:32:2176:32 | Address | &:r2176_1 | -| ir.cpp:2176:32:2176:32 | Address | &:r2176_1 | -| ir.cpp:2176:32:2176:32 | Address | &:r2176_4 | -| ir.cpp:2176:32:2176:32 | Arg(this) | this:r2176_4 | -| ir.cpp:2176:32:2176:32 | ChiPartial | partial:m2176_6 | -| ir.cpp:2176:32:2176:32 | ChiTotal | total:m0_6 | -| ir.cpp:2176:32:2176:32 | Condition | r2176_2 | -| ir.cpp:2176:32:2176:32 | Load | ~m2175_6 | -| ir.cpp:2176:32:2176:32 | StoreValue | r2176_5 | -| ir.cpp:2177:1:2177:1 | Address | &:r2177_3 | -| ir.cpp:2177:1:2177:1 | Address | &:r2177_3 | -| ir.cpp:2177:1:2177:1 | Arg(this) | this:r2177_3 | -| ir.cpp:2177:1:2177:1 | CallTarget | func:r2177_4 | -| ir.cpp:2177:1:2177:1 | ChiPartial | partial:m2177_6 | -| ir.cpp:2177:1:2177:1 | ChiPartial | partial:m2177_9 | -| ir.cpp:2177:1:2177:1 | ChiTotal | total:m2175_8 | -| ir.cpp:2177:1:2177:1 | ChiTotal | total:m2177_1 | -| ir.cpp:2177:1:2177:1 | Phi | from 0:~m2175_6 | -| ir.cpp:2177:1:2177:1 | Phi | from 1:~m2176_7 | -| ir.cpp:2177:1:2177:1 | SideEffect | m2175_8 | -| ir.cpp:2177:1:2177:1 | SideEffect | ~m2177_1 | -| ir.cpp:2179:6:2179:38 | ChiPartial | partial:m2179_3 | -| ir.cpp:2179:6:2179:38 | ChiTotal | total:m2179_2 | -| ir.cpp:2179:6:2179:38 | SideEffect | ~m2182_6 | -| ir.cpp:2180:32:2180:32 | Address | &:r2180_1 | -| ir.cpp:2180:32:2180:32 | Address | &:r2180_1 | -| ir.cpp:2180:32:2180:32 | Address | &:r2180_4 | -| ir.cpp:2180:32:2180:32 | Arg(this) | this:r2180_4 | -| ir.cpp:2180:32:2180:32 | ChiPartial | partial:m2180_6 | -| ir.cpp:2180:32:2180:32 | ChiTotal | total:m0_6 | -| ir.cpp:2180:32:2180:32 | Condition | r2180_2 | -| ir.cpp:2180:32:2180:32 | Load | ~m2179_3 | -| ir.cpp:2180:32:2180:32 | StoreValue | r2180_5 | -| ir.cpp:2181:25:2181:25 | Address | &:r2181_2 | -| ir.cpp:2181:25:2181:25 | Address | &:r2181_2 | -| ir.cpp:2181:25:2181:25 | Arg(this) | this:r2181_2 | -| ir.cpp:2181:25:2181:25 | CallTarget | func:r2181_4 | -| ir.cpp:2181:25:2181:25 | ChiPartial | partial:m2181_6 | -| ir.cpp:2181:25:2181:25 | ChiPartial | partial:m2181_8 | -| ir.cpp:2181:25:2181:25 | ChiTotal | total:m2181_1 | -| ir.cpp:2181:25:2181:25 | ChiTotal | total:m2181_3 | -| ir.cpp:2181:25:2181:25 | Phi | from 0:~m2179_4 | -| ir.cpp:2181:25:2181:25 | Phi | from 1:~m2180_7 | -| ir.cpp:2181:25:2181:25 | SideEffect | ~m2181_1 | -| ir.cpp:2182:1:2182:1 | Address | &:r2182_2 | -| ir.cpp:2182:1:2182:1 | Address | &:r2182_2 | -| ir.cpp:2182:1:2182:1 | Arg(this) | this:r2182_2 | -| ir.cpp:2182:1:2182:1 | CallTarget | func:r2182_3 | -| ir.cpp:2182:1:2182:1 | ChiPartial | partial:m2182_5 | -| ir.cpp:2182:1:2182:1 | ChiPartial | partial:m2182_8 | -| ir.cpp:2182:1:2182:1 | ChiTotal | total:m2181_7 | -| ir.cpp:2182:1:2182:1 | ChiTotal | total:m2181_9 | -| ir.cpp:2182:1:2182:1 | SideEffect | m2181_9 | -| ir.cpp:2182:1:2182:1 | SideEffect | ~m2181_7 | -| ir.cpp:2184:6:2184:38 | ChiPartial | partial:m2184_3 | -| ir.cpp:2184:6:2184:38 | ChiTotal | total:m2184_2 | -| ir.cpp:2184:6:2184:38 | SideEffect | ~m2188_15 | -| ir.cpp:2185:25:2185:25 | Address | &:r2185_1 | -| ir.cpp:2185:25:2185:25 | Address | &:r2185_1 | -| ir.cpp:2185:25:2185:25 | Arg(this) | this:r2185_1 | -| ir.cpp:2185:25:2185:25 | CallTarget | func:r2185_3 | -| ir.cpp:2185:25:2185:25 | ChiPartial | partial:m2185_5 | -| ir.cpp:2185:25:2185:25 | ChiPartial | partial:m2185_7 | -| ir.cpp:2185:25:2185:25 | ChiTotal | total:m2184_4 | -| ir.cpp:2185:25:2185:25 | ChiTotal | total:m2185_2 | -| ir.cpp:2185:25:2185:25 | SideEffect | ~m2184_4 | -| ir.cpp:2186:25:2186:25 | Address | &:r2186_1 | -| ir.cpp:2186:25:2186:25 | Address | &:r2186_1 | -| ir.cpp:2186:25:2186:25 | Arg(this) | this:r2186_1 | -| ir.cpp:2186:25:2186:25 | CallTarget | func:r2186_3 | -| ir.cpp:2186:25:2186:25 | ChiPartial | partial:m2186_5 | -| ir.cpp:2186:25:2186:25 | ChiPartial | partial:m2186_7 | -| ir.cpp:2186:25:2186:25 | ChiTotal | total:m2185_6 | -| ir.cpp:2186:25:2186:25 | ChiTotal | total:m2186_2 | -| ir.cpp:2186:25:2186:25 | SideEffect | ~m2185_6 | -| ir.cpp:2187:32:2187:32 | Address | &:r2187_1 | -| ir.cpp:2187:32:2187:32 | Address | &:r2187_1 | -| ir.cpp:2187:32:2187:32 | Address | &:r2187_4 | -| ir.cpp:2187:32:2187:32 | Arg(this) | this:r2187_4 | -| ir.cpp:2187:32:2187:32 | ChiPartial | partial:m2187_6 | -| ir.cpp:2187:32:2187:32 | ChiTotal | total:m0_6 | -| ir.cpp:2187:32:2187:32 | Condition | r2187_2 | -| ir.cpp:2187:32:2187:32 | Load | ~m2186_6 | -| ir.cpp:2187:32:2187:32 | StoreValue | r2187_5 | -| ir.cpp:2188:1:2188:1 | Address | &:r2188_3 | -| ir.cpp:2188:1:2188:1 | Address | &:r2188_3 | -| ir.cpp:2188:1:2188:1 | Address | &:r2188_11 | -| ir.cpp:2188:1:2188:1 | Address | &:r2188_11 | -| ir.cpp:2188:1:2188:1 | Arg(this) | this:r2188_3 | -| ir.cpp:2188:1:2188:1 | Arg(this) | this:r2188_11 | -| ir.cpp:2188:1:2188:1 | CallTarget | func:r2188_4 | -| ir.cpp:2188:1:2188:1 | CallTarget | func:r2188_12 | -| ir.cpp:2188:1:2188:1 | ChiPartial | partial:m2188_6 | -| ir.cpp:2188:1:2188:1 | ChiPartial | partial:m2188_9 | -| ir.cpp:2188:1:2188:1 | ChiPartial | partial:m2188_14 | -| ir.cpp:2188:1:2188:1 | ChiPartial | partial:m2188_17 | -| ir.cpp:2188:1:2188:1 | ChiTotal | total:m2185_8 | -| ir.cpp:2188:1:2188:1 | ChiTotal | total:m2186_8 | -| ir.cpp:2188:1:2188:1 | ChiTotal | total:m2188_1 | -| ir.cpp:2188:1:2188:1 | ChiTotal | total:m2188_7 | -| ir.cpp:2188:1:2188:1 | Phi | from 0:~m2186_6 | -| ir.cpp:2188:1:2188:1 | Phi | from 1:~m2187_7 | -| ir.cpp:2188:1:2188:1 | SideEffect | m2185_8 | -| ir.cpp:2188:1:2188:1 | SideEffect | m2186_8 | -| ir.cpp:2188:1:2188:1 | SideEffect | ~m2188_1 | -| ir.cpp:2188:1:2188:1 | SideEffect | ~m2188_7 | -| ir.cpp:2190:28:2190:55 | Address | &:r2190_3 | -| ir.cpp:2190:28:2190:55 | Arg(this) | this:r2190_3 | -| ir.cpp:2190:28:2190:55 | CallTarget | func:r2190_4 | -| ir.cpp:2190:28:2190:55 | ChiPartial | partial:m2190_6 | -| ir.cpp:2190:28:2190:55 | ChiPartial | partial:m2190_8 | -| ir.cpp:2190:28:2190:55 | ChiTotal | total:m2190_2 | -| ir.cpp:2190:28:2190:55 | ChiTotal | total:m2190_7 | -| ir.cpp:2190:28:2190:55 | SideEffect | ~m2190_2 | -| ir.cpp:2190:28:2190:55 | SideEffect | ~m2190_9 | -| ir.cpp:2194:8:2194:8 | Address | &:r2194_16 | -| ir.cpp:2194:8:2194:8 | Address | &:r2194_16 | -| ir.cpp:2194:8:2194:8 | ChiPartial | partial:m2194_3 | -| ir.cpp:2194:8:2194:8 | ChiPartial | partial:m2194_3 | -| ir.cpp:2194:8:2194:8 | ChiTotal | total:m2194_2 | -| ir.cpp:2194:8:2194:8 | ChiTotal | total:m2194_2 | -| ir.cpp:2194:8:2194:8 | Load | m2194_14 | -| ir.cpp:2194:8:2194:8 | Load | m2194_14 | -| ir.cpp:2194:8:2194:8 | SideEffect | m2194_3 | -| ir.cpp:2194:8:2194:8 | SideEffect | m2194_3 | -| ir.cpp:2194:15:2194:15 | Address | &:r2194_5 | -| ir.cpp:2194:15:2194:15 | Address | &:r2194_5 | -| ir.cpp:2194:15:2194:15 | Address | &:r2194_5 | -| ir.cpp:2194:15:2194:15 | Address | &:r2194_5 | -| ir.cpp:2194:15:2194:15 | Address | &:r2194_7 | -| ir.cpp:2194:15:2194:15 | Address | &:r2194_7 | -| ir.cpp:2194:15:2194:15 | Address | &:r2194_7 | -| ir.cpp:2194:15:2194:15 | Address | &:r2194_7 | -| ir.cpp:2194:15:2194:15 | Load | m2194_6 | -| ir.cpp:2194:15:2194:15 | Load | m2194_6 | -| ir.cpp:2194:15:2194:15 | SideEffect | m2194_8 | -| ir.cpp:2194:15:2194:15 | SideEffect | m2194_8 | -| ir.cpp:2194:20:2194:28 | Address | &:r2194_9 | -| ir.cpp:2194:20:2194:28 | Address | &:r2194_9 | -| ir.cpp:2194:27:2194:27 | Address | &:r2194_10 | -| ir.cpp:2194:27:2194:27 | Address | &:r2194_10 | -| ir.cpp:2194:27:2194:27 | Load | m2194_6 | -| ir.cpp:2194:27:2194:27 | Load | m2194_6 | -| ir.cpp:2194:27:2194:27 | StoreValue | r2194_13 | -| ir.cpp:2194:27:2194:27 | StoreValue | r2194_13 | -| ir.cpp:2194:27:2194:27 | Unary | r2194_11 | -| ir.cpp:2194:27:2194:27 | Unary | r2194_11 | -| ir.cpp:2194:27:2194:27 | Unary | r2194_12 | -| ir.cpp:2194:27:2194:27 | Unary | r2194_12 | -| ir.cpp:2197:10:2197:10 | ChiPartial | partial:m2197_3 | -| ir.cpp:2197:10:2197:10 | ChiPartial | partial:m2197_3 | -| ir.cpp:2197:10:2197:10 | ChiTotal | total:m2197_2 | -| ir.cpp:2197:10:2197:10 | ChiTotal | total:m2197_2 | -| ir.cpp:2197:10:2197:10 | SideEffect | ~m2198_8 | -| ir.cpp:2197:10:2197:10 | SideEffect | ~m2198_16 | -| ir.cpp:2197:29:2197:29 | Address | &:r2197_5 | -| ir.cpp:2197:29:2197:29 | Address | &:r2197_5 | -| ir.cpp:2197:29:2197:29 | Address | &:r2197_5 | -| ir.cpp:2197:29:2197:29 | Address | &:r2197_5 | -| ir.cpp:2197:29:2197:29 | Address | &:r2197_7 | -| ir.cpp:2197:29:2197:29 | Address | &:r2197_7 | -| ir.cpp:2197:29:2197:29 | Address | &:r2197_7 | -| ir.cpp:2197:29:2197:29 | Address | &:r2197_7 | -| ir.cpp:2197:29:2197:29 | Load | m2197_6 | -| ir.cpp:2197:29:2197:29 | Load | m2197_6 | -| ir.cpp:2197:29:2197:29 | SideEffect | m2198_11 | -| ir.cpp:2197:29:2197:29 | SideEffect | m2198_19 | -| ir.cpp:2198:9:2198:11 | CallTarget | func:r2198_1 | -| ir.cpp:2198:9:2198:11 | CallTarget | func:r2198_1 | -| ir.cpp:2198:9:2198:11 | ChiPartial | partial:m2198_7 | -| ir.cpp:2198:9:2198:11 | ChiPartial | partial:m2198_7 | -| ir.cpp:2198:9:2198:11 | ChiTotal | total:m2197_4 | -| ir.cpp:2198:9:2198:11 | ChiTotal | total:m2197_4 | -| ir.cpp:2198:9:2198:11 | SideEffect | ~m2197_4 | -| ir.cpp:2198:9:2198:11 | SideEffect | ~m2197_4 | -| ir.cpp:2198:9:2198:11 | Unary | r2198_6 | -| ir.cpp:2198:9:2198:11 | Unary | r2198_6 | -| ir.cpp:2198:12:2198:15 | Address | &:r2198_12 | -| ir.cpp:2198:12:2198:15 | Address | &:r2198_12 | -| ir.cpp:2198:12:2198:15 | ChiPartial | partial:m2198_18 | -| ir.cpp:2198:12:2198:15 | ChiTotal | total:m2198_11 | -| ir.cpp:2198:12:2198:15 | SideEffect | ~m2198_11 | -| ir.cpp:2198:13:2198:13 | Address | &:r2198_2 | -| ir.cpp:2198:13:2198:13 | Address | &:r2198_2 | -| ir.cpp:2198:13:2198:13 | Address | &:r2198_5 | -| ir.cpp:2198:13:2198:13 | Address | &:r2198_5 | -| ir.cpp:2198:13:2198:13 | Address | &:r2198_5 | -| ir.cpp:2198:13:2198:13 | Address | &:r2198_5 | -| ir.cpp:2198:13:2198:13 | Arg(0) | 0:r2198_5 | -| ir.cpp:2198:13:2198:13 | Arg(0) | 0:r2198_5 | -| ir.cpp:2198:13:2198:13 | ChiPartial | partial:m2198_10 | -| ir.cpp:2198:13:2198:13 | ChiPartial | partial:m2198_10 | -| ir.cpp:2198:13:2198:13 | ChiTotal | total:m2197_8 | -| ir.cpp:2198:13:2198:13 | ChiTotal | total:m2197_8 | -| ir.cpp:2198:13:2198:13 | Load | m2197_6 | -| ir.cpp:2198:13:2198:13 | Load | m2197_6 | -| ir.cpp:2198:13:2198:13 | SideEffect | ~m2197_8 | -| ir.cpp:2198:13:2198:13 | SideEffect | ~m2197_8 | -| ir.cpp:2198:13:2198:13 | Unary | r2198_3 | -| ir.cpp:2198:13:2198:13 | Unary | r2198_3 | -| ir.cpp:2198:13:2198:13 | Unary | r2198_4 | -| ir.cpp:2198:13:2198:13 | Unary | r2198_4 | -| ir.cpp:2198:16:2198:17 | CallTarget | func:r2198_13 | -| ir.cpp:2198:16:2198:17 | ChiPartial | partial:m2198_15 | -| ir.cpp:2198:16:2198:17 | ChiTotal | total:m2198_8 | -| ir.cpp:2198:16:2198:17 | SideEffect | ~m2198_8 | -| ir.cpp:2201:10:2201:36 | ChiPartial | partial:m2201_3 | -| ir.cpp:2201:10:2201:36 | ChiTotal | total:m2201_2 | -| ir.cpp:2201:10:2201:36 | SideEffect | ~m2204_6 | -| ir.cpp:2202:29:2202:29 | Address | &:r2202_1 | -| ir.cpp:2202:29:2202:29 | Address | &:r2202_1 | -| ir.cpp:2202:29:2202:29 | Arg(this) | this:r2202_1 | -| ir.cpp:2202:29:2202:29 | CallTarget | func:r2202_3 | -| ir.cpp:2202:29:2202:29 | ChiPartial | partial:m2202_5 | -| ir.cpp:2202:29:2202:29 | ChiPartial | partial:m2202_7 | -| ir.cpp:2202:29:2202:29 | ChiTotal | total:m2201_4 | -| ir.cpp:2202:29:2202:29 | ChiTotal | total:m2202_2 | -| ir.cpp:2202:29:2202:29 | SideEffect | ~m2201_4 | -| ir.cpp:2203:9:2203:23 | CallTarget | func:r2203_1 | -| ir.cpp:2203:9:2203:23 | ChiPartial | partial:m2203_5 | -| ir.cpp:2203:9:2203:23 | ChiTotal | total:m2202_6 | -| ir.cpp:2203:9:2203:23 | SideEffect | ~m2202_6 | -| ir.cpp:2203:25:2203:25 | Address | &:r2203_3 | -| ir.cpp:2203:25:2203:25 | Address | &:r2203_3 | -| ir.cpp:2203:25:2203:25 | Arg(0) | 0:r2203_3 | -| ir.cpp:2203:25:2203:25 | ChiPartial | partial:m2203_8 | -| ir.cpp:2203:25:2203:25 | ChiTotal | total:m2202_8 | -| ir.cpp:2203:25:2203:25 | SideEffect | ~m2202_8 | -| ir.cpp:2203:25:2203:25 | Unary | r2203_2 | -| ir.cpp:2204:5:2204:5 | Address | &:r2204_2 | -| ir.cpp:2204:5:2204:5 | Address | &:r2204_2 | -| ir.cpp:2204:5:2204:5 | Arg(this) | this:r2204_2 | -| ir.cpp:2204:5:2204:5 | CallTarget | func:r2204_3 | -| ir.cpp:2204:5:2204:5 | ChiPartial | partial:m2204_5 | -| ir.cpp:2204:5:2204:5 | ChiPartial | partial:m2204_8 | -| ir.cpp:2204:5:2204:5 | ChiTotal | total:m2203_6 | -| ir.cpp:2204:5:2204:5 | ChiTotal | total:m2203_9 | -| ir.cpp:2204:5:2204:5 | SideEffect | m2203_9 | -| ir.cpp:2204:5:2204:5 | SideEffect | ~m2203_6 | -| ir.cpp:2206:10:2206:32 | ChiPartial | partial:m2206_3 | -| ir.cpp:2206:10:2206:32 | ChiTotal | total:m2206_2 | -| ir.cpp:2206:10:2206:32 | SideEffect | ~m2208_6 | -| ir.cpp:2207:13:2207:13 | Address | &:r2207_1 | -| ir.cpp:2208:9:2208:23 | CallTarget | func:r2208_1 | -| ir.cpp:2208:9:2208:23 | ChiPartial | partial:m2208_5 | -| ir.cpp:2208:9:2208:23 | ChiTotal | total:m2206_4 | -| ir.cpp:2208:9:2208:23 | SideEffect | ~m2206_4 | -| ir.cpp:2208:25:2208:25 | Address | &:r2208_3 | -| ir.cpp:2208:25:2208:25 | Address | &:r2208_3 | -| ir.cpp:2208:25:2208:25 | Arg(0) | 0:r2208_3 | -| ir.cpp:2208:25:2208:25 | ChiPartial | partial:m2208_8 | -| ir.cpp:2208:25:2208:25 | ChiTotal | total:m2207_2 | -| ir.cpp:2208:25:2208:25 | SideEffect | ~m2207_2 | -| ir.cpp:2208:25:2208:25 | Unary | r2208_2 | -| ir.cpp:2212:6:2212:24 | ChiPartial | partial:m2212_3 | -| ir.cpp:2212:6:2212:24 | ChiTotal | total:m2212_2 | -| ir.cpp:2212:6:2212:24 | Phi | from 2:~m2212_10 | -| ir.cpp:2212:6:2212:24 | Phi | from 6:~m2221_8 | -| ir.cpp:2212:6:2212:24 | Phi | from 9:~m2214_6 | -| ir.cpp:2212:6:2212:24 | Phi | from 10:~m2228_1 | -| ir.cpp:2212:6:2212:24 | SideEffect | ~m2212_7 | -| ir.cpp:2212:31:2212:31 | Address | &:r2212_5 | -| ir.cpp:2214:12:2214:12 | Address | &:r2214_1 | -| ir.cpp:2214:12:2214:12 | Address | &:r2214_1 | -| ir.cpp:2214:12:2214:12 | Arg(this) | this:r2214_1 | -| ir.cpp:2214:12:2214:12 | CallTarget | func:r2214_3 | -| ir.cpp:2214:12:2214:12 | ChiPartial | partial:m2214_5 | -| ir.cpp:2214:12:2214:12 | ChiPartial | partial:m2214_7 | -| ir.cpp:2214:12:2214:12 | ChiTotal | total:m2212_4 | -| ir.cpp:2214:12:2214:12 | ChiTotal | total:m2214_2 | -| ir.cpp:2214:12:2214:12 | SideEffect | ~m2212_4 | -| ir.cpp:2215:9:2215:9 | Address | &:r2215_1 | -| ir.cpp:2215:9:2215:9 | Condition | r2215_2 | -| ir.cpp:2215:9:2215:9 | Load | m2212_6 | -| ir.cpp:2216:7:2216:28 | Address | &:r2216_1 | -| ir.cpp:2216:7:2216:28 | Address | &:r2216_1 | -| ir.cpp:2216:7:2216:28 | Load | m2216_4 | -| ir.cpp:2216:13:2216:28 | StoreValue | r2216_3 | -| ir.cpp:2216:13:2216:28 | Unary | r2216_2 | -| ir.cpp:2218:12:2218:13 | Address | &:r2218_1 | -| ir.cpp:2218:12:2218:13 | Address | &:r2218_1 | -| ir.cpp:2218:12:2218:13 | Arg(this) | this:r2218_1 | -| ir.cpp:2218:12:2218:13 | CallTarget | func:r2218_3 | -| ir.cpp:2218:12:2218:13 | ChiPartial | partial:m2218_5 | -| ir.cpp:2218:12:2218:13 | ChiPartial | partial:m2218_7 | -| ir.cpp:2218:12:2218:13 | ChiTotal | total:m2214_6 | -| ir.cpp:2218:12:2218:13 | ChiTotal | total:m2218_2 | -| ir.cpp:2218:12:2218:13 | SideEffect | ~m2214_6 | -| ir.cpp:2219:3:2219:3 | Address | &:r2219_1 | -| ir.cpp:2219:3:2219:3 | Address | &:r2219_1 | -| ir.cpp:2219:3:2219:3 | Address | &:r2219_9 | -| ir.cpp:2219:3:2219:3 | Address | &:r2219_9 | -| ir.cpp:2219:3:2219:3 | Arg(this) | this:r2219_1 | -| ir.cpp:2219:3:2219:3 | Arg(this) | this:r2219_9 | -| ir.cpp:2219:3:2219:3 | CallTarget | func:r2219_2 | -| ir.cpp:2219:3:2219:3 | CallTarget | func:r2219_10 | -| ir.cpp:2219:3:2219:3 | ChiPartial | partial:m2219_4 | -| ir.cpp:2219:3:2219:3 | ChiPartial | partial:m2219_7 | -| ir.cpp:2219:3:2219:3 | ChiPartial | partial:m2219_12 | -| ir.cpp:2219:3:2219:3 | ChiPartial | partial:m2219_15 | -| ir.cpp:2219:3:2219:3 | ChiTotal | total:m2214_8 | -| ir.cpp:2219:3:2219:3 | ChiTotal | total:m2218_6 | -| ir.cpp:2219:3:2219:3 | ChiTotal | total:m2218_8 | -| ir.cpp:2219:3:2219:3 | ChiTotal | total:m2219_5 | -| ir.cpp:2219:3:2219:3 | SideEffect | m2214_8 | -| ir.cpp:2219:3:2219:3 | SideEffect | m2218_8 | -| ir.cpp:2219:3:2219:3 | SideEffect | ~m2218_6 | -| ir.cpp:2219:3:2219:3 | SideEffect | ~m2219_5 | -| ir.cpp:2220:22:2220:22 | Address | &:r2220_2 | -| ir.cpp:2220:22:2220:22 | Address | &:r2220_2 | -| ir.cpp:2220:22:2220:22 | Address | &:r2220_4 | -| ir.cpp:2220:22:2220:22 | Load | m2220_3 | -| ir.cpp:2221:5:2221:19 | Address | &:r2221_1 | -| ir.cpp:2221:5:2221:19 | Address | &:r2221_1 | -| ir.cpp:2221:5:2221:19 | Address | &:r2221_1 | -| ir.cpp:2221:5:2221:19 | Arg(this) | this:r2221_1 | -| ir.cpp:2221:5:2221:19 | CallTarget | func:r2221_3 | -| ir.cpp:2221:5:2221:19 | ChiPartial | partial:m2221_7 | -| ir.cpp:2221:5:2221:19 | ChiPartial | partial:m2221_10 | -| ir.cpp:2221:5:2221:19 | ChiTotal | total:m2214_6 | -| ir.cpp:2221:5:2221:19 | ChiTotal | total:m2221_2 | -| ir.cpp:2221:5:2221:19 | Load | m2221_11 | -| ir.cpp:2221:5:2221:19 | SideEffect | ~m2214_6 | -| ir.cpp:2221:18:2221:18 | Address | &:r2221_4 | -| ir.cpp:2221:18:2221:18 | Address | &:r2221_5 | -| ir.cpp:2221:18:2221:18 | Arg(0) | 0:r2221_5 | -| ir.cpp:2221:18:2221:18 | Load | m2220_3 | -| ir.cpp:2221:18:2221:18 | SideEffect | ~m2220_5 | -| ir.cpp:2223:24:2223:24 | Address | &:r2223_2 | -| ir.cpp:2223:24:2223:24 | Address | &:r2223_2 | -| ir.cpp:2223:24:2223:24 | Address | &:r2223_4 | -| ir.cpp:2223:24:2223:24 | Load | m2223_3 | -| ir.cpp:2228:1:2228:1 | Phi | from 4:~m2219_13 | -| ir.cpp:2228:1:2228:1 | Phi | from 8:~m2214_6 | -| ir.cpp:2230:6:2230:18 | ChiPartial | partial:m2230_3 | -| ir.cpp:2230:6:2230:18 | ChiTotal | total:m2230_2 | -| ir.cpp:2230:6:2230:18 | SideEffect | ~m2238_14 | -| ir.cpp:2230:25:2230:25 | Address | &:r2230_5 | -| ir.cpp:2231:12:2231:13 | Address | &:r2231_1 | -| ir.cpp:2231:12:2231:13 | Address | &:r2231_1 | -| ir.cpp:2231:12:2231:13 | Arg(this) | this:r2231_1 | -| ir.cpp:2231:12:2231:13 | CallTarget | func:r2231_3 | -| ir.cpp:2231:12:2231:13 | ChiPartial | partial:m2231_5 | -| ir.cpp:2231:12:2231:13 | ChiPartial | partial:m2231_7 | -| ir.cpp:2231:12:2231:13 | ChiTotal | total:m2230_4 | -| ir.cpp:2231:12:2231:13 | ChiTotal | total:m2231_2 | -| ir.cpp:2231:12:2231:13 | SideEffect | ~m2230_4 | -| ir.cpp:2232:8:2232:8 | Address | &:r2232_1 | -| ir.cpp:2232:8:2232:8 | Condition | r2232_2 | -| ir.cpp:2232:8:2232:8 | Load | m2230_6 | -| ir.cpp:2233:16:2233:17 | Address | &:r2233_1 | -| ir.cpp:2233:16:2233:17 | Address | &:r2233_1 | -| ir.cpp:2233:16:2233:17 | Arg(this) | this:r2233_1 | -| ir.cpp:2233:16:2233:17 | CallTarget | func:r2233_3 | -| ir.cpp:2233:16:2233:17 | ChiPartial | partial:m2233_5 | -| ir.cpp:2233:16:2233:17 | ChiPartial | partial:m2233_7 | -| ir.cpp:2233:16:2233:17 | ChiTotal | total:m2231_6 | -| ir.cpp:2233:16:2233:17 | ChiTotal | total:m2233_2 | -| ir.cpp:2233:16:2233:17 | SideEffect | ~m2231_6 | -| ir.cpp:2234:5:2234:5 | Address | &:r2234_1 | -| ir.cpp:2234:5:2234:5 | Address | &:r2234_1 | -| ir.cpp:2234:5:2234:5 | Arg(this) | this:r2234_1 | -| ir.cpp:2234:5:2234:5 | CallTarget | func:r2234_2 | -| ir.cpp:2234:5:2234:5 | ChiPartial | partial:m2234_4 | -| ir.cpp:2234:5:2234:5 | ChiPartial | partial:m2234_7 | -| ir.cpp:2234:5:2234:5 | ChiTotal | total:m2233_6 | -| ir.cpp:2234:5:2234:5 | ChiTotal | total:m2233_8 | -| ir.cpp:2234:5:2234:5 | SideEffect | m2233_8 | -| ir.cpp:2234:5:2234:5 | SideEffect | ~m2233_6 | -| ir.cpp:2235:16:2235:17 | Address | &:r2235_1 | -| ir.cpp:2235:16:2235:17 | Address | &:r2235_1 | -| ir.cpp:2235:16:2235:17 | Arg(this) | this:r2235_1 | -| ir.cpp:2235:16:2235:17 | CallTarget | func:r2235_3 | -| ir.cpp:2235:16:2235:17 | ChiPartial | partial:m2235_5 | -| ir.cpp:2235:16:2235:17 | ChiPartial | partial:m2235_7 | -| ir.cpp:2235:16:2235:17 | ChiTotal | total:m2231_6 | -| ir.cpp:2235:16:2235:17 | ChiTotal | total:m2235_2 | -| ir.cpp:2235:16:2235:17 | SideEffect | ~m2231_6 | -| ir.cpp:2236:5:2236:5 | Address | &:r2236_1 | -| ir.cpp:2236:5:2236:5 | Address | &:r2236_1 | -| ir.cpp:2236:5:2236:5 | Arg(this) | this:r2236_1 | -| ir.cpp:2236:5:2236:5 | CallTarget | func:r2236_2 | -| ir.cpp:2236:5:2236:5 | ChiPartial | partial:m2236_4 | -| ir.cpp:2236:5:2236:5 | ChiPartial | partial:m2236_7 | -| ir.cpp:2236:5:2236:5 | ChiTotal | total:m2235_6 | -| ir.cpp:2236:5:2236:5 | ChiTotal | total:m2235_8 | -| ir.cpp:2236:5:2236:5 | SideEffect | m2235_8 | -| ir.cpp:2236:5:2236:5 | SideEffect | ~m2235_6 | -| ir.cpp:2237:12:2237:13 | Address | &:r2237_2 | -| ir.cpp:2237:12:2237:13 | Address | &:r2237_2 | -| ir.cpp:2237:12:2237:13 | Arg(this) | this:r2237_2 | -| ir.cpp:2237:12:2237:13 | CallTarget | func:r2237_4 | -| ir.cpp:2237:12:2237:13 | ChiPartial | partial:m2237_6 | -| ir.cpp:2237:12:2237:13 | ChiPartial | partial:m2237_8 | -| ir.cpp:2237:12:2237:13 | ChiTotal | total:m2237_1 | -| ir.cpp:2237:12:2237:13 | ChiTotal | total:m2237_3 | -| ir.cpp:2237:12:2237:13 | Phi | from 1:~m2234_5 | -| ir.cpp:2237:12:2237:13 | Phi | from 2:~m2236_5 | -| ir.cpp:2237:12:2237:13 | SideEffect | ~m2237_1 | -| ir.cpp:2238:1:2238:1 | Address | &:r2238_2 | -| ir.cpp:2238:1:2238:1 | Address | &:r2238_2 | -| ir.cpp:2238:1:2238:1 | Address | &:r2238_10 | -| ir.cpp:2238:1:2238:1 | Address | &:r2238_10 | -| ir.cpp:2238:1:2238:1 | Arg(this) | this:r2238_2 | -| ir.cpp:2238:1:2238:1 | Arg(this) | this:r2238_10 | -| ir.cpp:2238:1:2238:1 | CallTarget | func:r2238_3 | -| ir.cpp:2238:1:2238:1 | CallTarget | func:r2238_11 | -| ir.cpp:2238:1:2238:1 | ChiPartial | partial:m2238_5 | -| ir.cpp:2238:1:2238:1 | ChiPartial | partial:m2238_8 | -| ir.cpp:2238:1:2238:1 | ChiPartial | partial:m2238_13 | -| ir.cpp:2238:1:2238:1 | ChiPartial | partial:m2238_16 | -| ir.cpp:2238:1:2238:1 | ChiTotal | total:m2231_8 | -| ir.cpp:2238:1:2238:1 | ChiTotal | total:m2237_7 | -| ir.cpp:2238:1:2238:1 | ChiTotal | total:m2237_9 | -| ir.cpp:2238:1:2238:1 | ChiTotal | total:m2238_6 | -| ir.cpp:2238:1:2238:1 | SideEffect | m2231_8 | -| ir.cpp:2238:1:2238:1 | SideEffect | m2237_9 | -| ir.cpp:2238:1:2238:1 | SideEffect | ~m2237_7 | -| ir.cpp:2238:1:2238:1 | SideEffect | ~m2238_6 | -| ir.cpp:2240:6:2240:19 | ChiPartial | partial:m2240_3 | -| ir.cpp:2240:6:2240:19 | ChiTotal | total:m2240_2 | -| ir.cpp:2240:6:2240:19 | SideEffect | ~m2250_54 | -| ir.cpp:2241:10:2241:10 | Address | &:r2241_1 | -| ir.cpp:2241:13:2241:16 | StoreValue | r2241_2 | -| ir.cpp:2242:16:2242:16 | Address | &:r2242_1 | -| ir.cpp:2242:16:2242:16 | Address | &:r2242_1 | -| ir.cpp:2242:16:2242:16 | Address | &:r2242_31 | -| ir.cpp:2242:16:2242:16 | Address | &:r2242_31 | -| ir.cpp:2242:16:2242:16 | Arg(this) | this:r2242_1 | -| ir.cpp:2242:16:2242:16 | Arg(this) | this:r2242_31 | -| ir.cpp:2242:16:2242:16 | CallTarget | func:r2242_32 | -| ir.cpp:2242:16:2242:16 | ChiPartial | partial:m2242_34 | -| ir.cpp:2242:16:2242:16 | ChiPartial | partial:m2242_37 | -| ir.cpp:2242:16:2242:16 | ChiTotal | total:m2242_12 | -| ir.cpp:2242:16:2242:16 | ChiTotal | total:m2242_13 | -| ir.cpp:2242:16:2242:16 | SideEffect | m2242_12 | -| ir.cpp:2242:16:2242:16 | SideEffect | ~m2242_13 | -| ir.cpp:2242:18:2242:24 | Address | &:r2242_5 | -| ir.cpp:2242:18:2242:24 | Arg(0) | 0:r2242_5 | -| ir.cpp:2242:18:2242:24 | SideEffect | ~m2240_3 | -| ir.cpp:2242:18:2242:24 | Unary | r2242_4 | -| ir.cpp:2242:18:2242:25 | CallTarget | func:r2242_3 | -| ir.cpp:2242:18:2242:25 | ChiPartial | partial:m2242_7 | -| ir.cpp:2242:18:2242:25 | ChiPartial | partial:m2242_10 | -| ir.cpp:2242:18:2242:25 | ChiTotal | total:m2240_4 | -| ir.cpp:2242:18:2242:25 | ChiTotal | total:m2242_2 | -| ir.cpp:2242:18:2242:25 | SideEffect | ~m2240_4 | -| ir.cpp:2242:28:2242:28 | Address | &:r2242_15 | -| ir.cpp:2242:28:2242:28 | Left | r2242_17 | -| ir.cpp:2242:28:2242:28 | Load | m2242_14 | -| ir.cpp:2242:28:2242:28 | Phi | from 0:m2241_3 | -| ir.cpp:2242:28:2242:28 | Phi | from 0:m2242_11 | -| ir.cpp:2242:28:2242:28 | Phi | from 0:~m2242_8 | -| ir.cpp:2242:28:2242:28 | Phi | from 2:m2242_28 | -| ir.cpp:2242:28:2242:28 | Phi | from 2:m2242_30 | -| ir.cpp:2242:28:2242:28 | Phi | from 2:~m2242_25 | -| ir.cpp:2242:28:2242:28 | Unary | r2242_16 | -| ir.cpp:2242:28:2242:33 | Condition | r2242_19 | -| ir.cpp:2242:33:2242:33 | Right | r2242_18 | -| ir.cpp:2242:36:2242:36 | Address | &:r2242_29 | -| ir.cpp:2242:40:2242:40 | Address | &:r2242_21 | -| ir.cpp:2242:40:2242:40 | Address | &:r2242_21 | -| ir.cpp:2242:40:2242:40 | Arg(this) | this:r2242_21 | -| ir.cpp:2242:40:2242:40 | ChiPartial | partial:m2242_27 | -| ir.cpp:2242:40:2242:40 | ChiTotal | total:m2242_12 | -| ir.cpp:2242:40:2242:40 | SideEffect | m2242_12 | -| ir.cpp:2242:42:2242:49 | CallTarget | func:r2242_22 | -| ir.cpp:2242:42:2242:49 | ChiPartial | partial:m2242_24 | -| ir.cpp:2242:42:2242:49 | ChiTotal | total:m2244_5 | -| ir.cpp:2242:42:2242:49 | SideEffect | ~m2244_5 | -| ir.cpp:2242:42:2242:49 | StoreValue | r2242_23 | -| ir.cpp:2243:16:2243:17 | Address | &:r2243_1 | -| ir.cpp:2243:16:2243:17 | Address | &:r2243_1 | -| ir.cpp:2243:16:2243:17 | Arg(this) | this:r2243_1 | -| ir.cpp:2243:16:2243:17 | CallTarget | func:r2243_3 | -| ir.cpp:2243:16:2243:17 | ChiPartial | partial:m2243_5 | -| ir.cpp:2243:16:2243:17 | ChiPartial | partial:m2243_7 | -| ir.cpp:2243:16:2243:17 | ChiTotal | total:m2242_13 | -| ir.cpp:2243:16:2243:17 | ChiTotal | total:m2243_2 | -| ir.cpp:2243:16:2243:17 | SideEffect | ~m2242_13 | -| ir.cpp:2244:5:2244:5 | Address | &:r2244_1 | -| ir.cpp:2244:5:2244:5 | Address | &:r2244_1 | -| ir.cpp:2244:5:2244:5 | Arg(this) | this:r2244_1 | -| ir.cpp:2244:5:2244:5 | CallTarget | func:r2244_2 | -| ir.cpp:2244:5:2244:5 | ChiPartial | partial:m2244_4 | -| ir.cpp:2244:5:2244:5 | ChiPartial | partial:m2244_7 | -| ir.cpp:2244:5:2244:5 | ChiTotal | total:m2243_6 | -| ir.cpp:2244:5:2244:5 | ChiTotal | total:m2243_8 | -| ir.cpp:2244:5:2244:5 | SideEffect | m2243_8 | -| ir.cpp:2244:5:2244:5 | SideEffect | ~m2243_6 | -| ir.cpp:2246:5:2246:5 | Address | &:r2246_1 | -| ir.cpp:2246:5:2246:5 | Address | &:r2246_24 | -| ir.cpp:2246:5:2246:5 | Address | &:r2246_32 | -| ir.cpp:2246:16:2246:16 | Address | &:r2246_50 | -| ir.cpp:2246:16:2246:16 | Address | &:r2246_50 | -| ir.cpp:2246:16:2246:16 | Address | &:r2246_67 | -| ir.cpp:2246:16:2246:16 | Address | &:r2246_67 | -| ir.cpp:2246:16:2246:16 | Arg(this) | this:r2246_50 | -| ir.cpp:2246:16:2246:16 | Arg(this) | this:r2246_67 | -| ir.cpp:2246:16:2246:16 | CallTarget | func:r2246_52 | -| ir.cpp:2246:16:2246:16 | CallTarget | func:r2246_68 | -| ir.cpp:2246:16:2246:16 | ChiPartial | partial:m2246_62 | -| ir.cpp:2246:16:2246:16 | ChiPartial | partial:m2246_65 | -| ir.cpp:2246:16:2246:16 | ChiPartial | partial:m2246_70 | -| ir.cpp:2246:16:2246:16 | ChiPartial | partial:m2246_73 | -| ir.cpp:2246:16:2246:16 | ChiTotal | total:m2246_51 | -| ir.cpp:2246:16:2246:16 | ChiTotal | total:m2246_57 | -| ir.cpp:2246:16:2246:16 | ChiTotal | total:m2246_66 | -| ir.cpp:2246:16:2246:16 | ChiTotal | total:m2248_5 | -| ir.cpp:2246:16:2246:16 | SideEffect | m2246_66 | -| ir.cpp:2246:16:2246:16 | SideEffect | ~m2246_57 | -| ir.cpp:2246:16:2246:16 | SideEffect | ~m2248_5 | -| ir.cpp:2246:20:2246:20 | Address | &:r2246_25 | -| ir.cpp:2246:20:2246:20 | Address | &:r2246_33 | -| ir.cpp:2246:20:2246:20 | Address | &:r2246_44 | -| ir.cpp:2246:20:2246:20 | Address | &:r2246_75 | -| ir.cpp:2246:20:2246:20 | Address | &:r2246_75 | -| ir.cpp:2246:20:2246:20 | Arg(0) | 0:r2246_45 | -| ir.cpp:2246:20:2246:20 | Arg(this) | this:r0_2 | -| ir.cpp:2246:20:2246:20 | Arg(this) | this:r0_5 | -| ir.cpp:2246:20:2246:20 | Arg(this) | this:r0_7 | -| ir.cpp:2246:20:2246:20 | Arg(this) | this:r0_9 | -| ir.cpp:2246:20:2246:20 | Arg(this) | this:r2246_75 | -| ir.cpp:2246:20:2246:20 | CallTarget | func:r2246_27 | -| ir.cpp:2246:20:2246:20 | CallTarget | func:r2246_35 | -| ir.cpp:2246:20:2246:20 | CallTarget | func:r2246_43 | -| ir.cpp:2246:20:2246:20 | CallTarget | func:r2246_54 | -| ir.cpp:2246:20:2246:20 | CallTarget | func:r2246_76 | -| ir.cpp:2246:20:2246:20 | ChiPartial | partial:m2246_29 | -| ir.cpp:2246:20:2246:20 | ChiPartial | partial:m2246_37 | -| ir.cpp:2246:20:2246:20 | ChiPartial | partial:m2246_47 | -| ir.cpp:2246:20:2246:20 | ChiPartial | partial:m2246_56 | -| ir.cpp:2246:20:2246:20 | ChiPartial | partial:m2246_78 | -| ir.cpp:2246:20:2246:20 | ChiPartial | partial:m2246_81 | -| ir.cpp:2246:20:2246:20 | ChiTotal | total:m2246_19 | -| ir.cpp:2246:20:2246:20 | ChiTotal | total:m2246_30 | -| ir.cpp:2246:20:2246:20 | ChiTotal | total:m2246_40 | -| ir.cpp:2246:20:2246:20 | ChiTotal | total:m2246_41 | -| ir.cpp:2246:20:2246:20 | ChiTotal | total:m2246_48 | -| ir.cpp:2246:20:2246:20 | ChiTotal | total:m2246_71 | -| ir.cpp:2246:20:2246:20 | Condition | r2246_46 | -| ir.cpp:2246:20:2246:20 | Load | m2246_23 | -| ir.cpp:2246:20:2246:20 | Load | m2246_23 | -| ir.cpp:2246:20:2246:20 | Load | m2246_39 | -| ir.cpp:2246:20:2246:20 | Phi | from 3:m2246_31 | -| ir.cpp:2246:20:2246:20 | Phi | from 3:~m2246_38 | -| ir.cpp:2246:20:2246:20 | Phi | from 5:m2246_82 | -| ir.cpp:2246:20:2246:20 | Phi | from 5:~m2246_79 | -| ir.cpp:2246:20:2246:20 | SideEffect | m2246_40 | -| ir.cpp:2246:20:2246:20 | SideEffect | ~m2246_19 | -| ir.cpp:2246:20:2246:20 | SideEffect | ~m2246_30 | -| ir.cpp:2246:20:2246:20 | SideEffect | ~m2246_41 | -| ir.cpp:2246:20:2246:20 | SideEffect | ~m2246_48 | -| ir.cpp:2246:20:2246:20 | SideEffect | ~m2246_71 | -| ir.cpp:2246:20:2246:20 | StoreValue | r2246_28 | -| ir.cpp:2246:20:2246:20 | StoreValue | r2246_36 | -| ir.cpp:2246:20:2246:20 | Unary | r2246_26 | -| ir.cpp:2246:20:2246:20 | Unary | r2246_34 | -| ir.cpp:2246:20:2246:20 | Unary | r2246_42 | -| ir.cpp:2246:20:2246:20 | Unary | r2246_53 | -| ir.cpp:2246:20:2246:20 | Unary | r2246_55 | -| ir.cpp:2246:20:2246:20 | Unary | r2246_77 | -| ir.cpp:2246:20:2246:50 | Address | &:r2246_2 | -| ir.cpp:2246:20:2246:50 | Address | &:r2246_2 | -| ir.cpp:2246:20:2246:50 | Arg(this) | this:r2246_2 | -| ir.cpp:2246:20:2246:50 | CallTarget | func:r2246_4 | -| ir.cpp:2246:20:2246:50 | ChiPartial | partial:m2246_18 | -| ir.cpp:2246:20:2246:50 | ChiPartial | partial:m2246_20 | -| ir.cpp:2246:20:2246:50 | ChiTotal | total:m2246_3 | -| ir.cpp:2246:20:2246:50 | ChiTotal | total:m2246_12 | -| ir.cpp:2246:20:2246:50 | SideEffect | ~m2246_12 | -| ir.cpp:2246:20:2246:50 | StoreValue | r2246_22 | -| ir.cpp:2246:20:2246:50 | Unary | r2246_2 | -| ir.cpp:2246:20:2246:51 | Address | &:r2246_60 | -| ir.cpp:2246:20:2246:51 | Arg(0) | 0:r2246_60 | -| ir.cpp:2246:20:2246:51 | SideEffect | ~m2246_63 | -| ir.cpp:2246:20:2246:51 | Unary | r2246_58 | -| ir.cpp:2246:20:2246:51 | Unary | r2246_59 | -| ir.cpp:2246:35:2246:49 | Address | &:r2246_5 | -| ir.cpp:2246:35:2246:49 | Address | &:r2246_5 | -| ir.cpp:2246:35:2246:49 | Address | &:r2246_5 | -| ir.cpp:2246:35:2246:49 | Arg(0) | 0:r2246_16 | -| ir.cpp:2246:35:2246:49 | Arg(this) | this:r2246_5 | -| ir.cpp:2246:35:2246:49 | CallTarget | func:r2246_7 | -| ir.cpp:2246:35:2246:49 | ChiPartial | partial:m2246_11 | -| ir.cpp:2246:35:2246:49 | ChiPartial | partial:m2246_14 | -| ir.cpp:2246:35:2246:49 | ChiTotal | total:m2242_35 | -| ir.cpp:2246:35:2246:49 | ChiTotal | total:m2246_6 | -| ir.cpp:2246:35:2246:49 | Load | m2246_15 | -| ir.cpp:2246:35:2246:49 | SideEffect | ~m2242_35 | -| ir.cpp:2246:42:2246:48 | Address | &:r2246_9 | -| ir.cpp:2246:42:2246:48 | Arg(0) | 0:r2246_9 | -| ir.cpp:2246:42:2246:48 | SideEffect | ~m2240_3 | -| ir.cpp:2246:42:2246:48 | Unary | r2246_8 | -| ir.cpp:2247:16:2247:17 | Address | &:r2247_1 | -| ir.cpp:2247:16:2247:17 | Address | &:r2247_1 | -| ir.cpp:2247:16:2247:17 | Arg(this) | this:r2247_1 | -| ir.cpp:2247:16:2247:17 | CallTarget | func:r2247_3 | -| ir.cpp:2247:16:2247:17 | ChiPartial | partial:m2247_5 | -| ir.cpp:2247:16:2247:17 | ChiPartial | partial:m2247_7 | -| ir.cpp:2247:16:2247:17 | ChiTotal | total:m2246_63 | -| ir.cpp:2247:16:2247:17 | ChiTotal | total:m2247_2 | -| ir.cpp:2247:16:2247:17 | SideEffect | ~m2246_63 | -| ir.cpp:2248:5:2248:5 | Address | &:r2248_1 | -| ir.cpp:2248:5:2248:5 | Address | &:r2248_1 | -| ir.cpp:2248:5:2248:5 | Arg(this) | this:r2248_1 | -| ir.cpp:2248:5:2248:5 | CallTarget | func:r2248_2 | -| ir.cpp:2248:5:2248:5 | ChiPartial | partial:m2248_4 | -| ir.cpp:2248:5:2248:5 | ChiPartial | partial:m2248_7 | -| ir.cpp:2248:5:2248:5 | ChiTotal | total:m2247_6 | -| ir.cpp:2248:5:2248:5 | ChiTotal | total:m2247_8 | -| ir.cpp:2248:5:2248:5 | SideEffect | m2247_8 | -| ir.cpp:2248:5:2248:5 | SideEffect | ~m2247_6 | -| ir.cpp:2250:16:2250:16 | Address | &:r2250_1 | -| ir.cpp:2250:16:2250:16 | Address | &:r2250_1 | -| ir.cpp:2250:16:2250:16 | Address | &:r2250_50 | -| ir.cpp:2250:16:2250:16 | Address | &:r2250_50 | -| ir.cpp:2250:16:2250:16 | Arg(this) | this:r2250_1 | -| ir.cpp:2250:16:2250:16 | Arg(this) | this:r2250_50 | -| ir.cpp:2250:16:2250:16 | CallTarget | func:r2250_51 | -| ir.cpp:2250:16:2250:16 | ChiPartial | partial:m2250_53 | -| ir.cpp:2250:16:2250:16 | ChiPartial | partial:m2250_56 | -| ir.cpp:2250:16:2250:16 | ChiTotal | total:m2250_23 | -| ir.cpp:2250:16:2250:16 | ChiTotal | total:m2250_46 | -| ir.cpp:2250:16:2250:16 | SideEffect | m2250_23 | -| ir.cpp:2250:16:2250:16 | SideEffect | ~m2250_46 | -| ir.cpp:2250:18:2250:24 | Address | &:r2250_5 | -| ir.cpp:2250:18:2250:24 | Arg(0) | 0:r2250_5 | -| ir.cpp:2250:18:2250:24 | SideEffect | ~m2240_3 | -| ir.cpp:2250:18:2250:24 | Unary | r2250_4 | -| ir.cpp:2250:18:2250:25 | CallTarget | func:r2250_3 | -| ir.cpp:2250:18:2250:25 | ChiPartial | partial:m2250_7 | -| ir.cpp:2250:18:2250:25 | ChiPartial | partial:m2250_10 | -| ir.cpp:2250:18:2250:25 | ChiTotal | total:m2246_48 | -| ir.cpp:2250:18:2250:25 | ChiTotal | total:m2250_2 | -| ir.cpp:2250:18:2250:25 | SideEffect | ~m2246_48 | -| ir.cpp:2250:28:2250:29 | Address | &:r2250_12 | -| ir.cpp:2250:28:2250:29 | Address | &:r2250_12 | -| ir.cpp:2250:28:2250:29 | Address | &:r2250_42 | -| ir.cpp:2250:28:2250:29 | Address | &:r2250_42 | -| ir.cpp:2250:28:2250:29 | Arg(this) | this:r2250_12 | -| ir.cpp:2250:28:2250:29 | Arg(this) | this:r2250_42 | -| ir.cpp:2250:28:2250:29 | CallTarget | func:r2250_43 | -| ir.cpp:2250:28:2250:29 | ChiPartial | partial:m2250_45 | -| ir.cpp:2250:28:2250:29 | ChiPartial | partial:m2250_48 | -| ir.cpp:2250:28:2250:29 | ChiTotal | total:m2250_22 | -| ir.cpp:2250:28:2250:29 | ChiTotal | total:m2250_24 | -| ir.cpp:2250:28:2250:29 | SideEffect | m2250_22 | -| ir.cpp:2250:28:2250:29 | SideEffect | ~m2250_24 | -| ir.cpp:2250:31:2250:37 | Address | &:r2250_16 | -| ir.cpp:2250:31:2250:37 | Arg(0) | 0:r2250_16 | -| ir.cpp:2250:31:2250:37 | SideEffect | ~m2240_3 | -| ir.cpp:2250:31:2250:37 | Unary | r2250_15 | -| ir.cpp:2250:31:2250:38 | CallTarget | func:r2250_14 | -| ir.cpp:2250:31:2250:38 | ChiPartial | partial:m2250_18 | -| ir.cpp:2250:31:2250:38 | ChiPartial | partial:m2250_21 | -| ir.cpp:2250:31:2250:38 | ChiTotal | total:m2250_8 | -| ir.cpp:2250:31:2250:38 | ChiTotal | total:m2250_13 | -| ir.cpp:2250:31:2250:38 | SideEffect | ~m2250_8 | -| ir.cpp:2250:41:2250:41 | Address | &:r2250_26 | -| ir.cpp:2250:41:2250:41 | Left | r2250_28 | -| ir.cpp:2250:41:2250:41 | Load | m2250_25 | -| ir.cpp:2250:41:2250:41 | Phi | from 6:m2242_14 | -| ir.cpp:2250:41:2250:41 | Phi | from 6:m2250_11 | -| ir.cpp:2250:41:2250:41 | Phi | from 6:~m2250_19 | -| ir.cpp:2250:41:2250:41 | Phi | from 8:m2250_39 | -| ir.cpp:2250:41:2250:41 | Phi | from 8:m2250_41 | -| ir.cpp:2250:41:2250:41 | Phi | from 8:~m2250_36 | -| ir.cpp:2250:41:2250:41 | Unary | r2250_27 | -| ir.cpp:2250:41:2250:46 | Condition | r2250_30 | -| ir.cpp:2250:46:2250:46 | Right | r2250_29 | -| ir.cpp:2250:49:2250:49 | Address | &:r2250_40 | -| ir.cpp:2250:53:2250:53 | Address | &:r2250_32 | -| ir.cpp:2250:53:2250:53 | Address | &:r2250_32 | -| ir.cpp:2250:53:2250:53 | Arg(this) | this:r2250_32 | -| ir.cpp:2250:53:2250:53 | ChiPartial | partial:m2250_38 | -| ir.cpp:2250:53:2250:53 | ChiTotal | total:m2250_23 | -| ir.cpp:2250:53:2250:53 | SideEffect | m2250_23 | -| ir.cpp:2250:55:2250:62 | CallTarget | func:r2250_33 | -| ir.cpp:2250:55:2250:62 | ChiPartial | partial:m2250_35 | -| ir.cpp:2250:55:2250:62 | ChiTotal | total:m2250_24 | -| ir.cpp:2250:55:2250:62 | SideEffect | ~m2250_24 | -| ir.cpp:2250:55:2250:62 | StoreValue | r2250_34 | -| ir.cpp:2251:9:2251:9 | Address | &:r2251_2 | -| ir.cpp:2251:13:2251:13 | StoreValue | r2251_1 | -| ir.cpp:2255:6:2255:19 | ChiPartial | partial:m2255_3 | -| ir.cpp:2255:6:2255:19 | ChiTotal | total:m2255_2 | -| ir.cpp:2255:6:2255:19 | SideEffect | ~m2260_5 | -| ir.cpp:2255:26:2255:26 | Address | &:r2255_5 | -| ir.cpp:2256:15:2256:15 | Address | &:r2256_1 | -| ir.cpp:2256:15:2256:15 | Address | &:r2256_1 | -| ir.cpp:2256:15:2256:15 | Arg(this) | this:r2256_1 | -| ir.cpp:2256:18:2256:33 | CallTarget | func:r2256_3 | -| ir.cpp:2256:18:2256:33 | ChiPartial | partial:m2256_7 | -| ir.cpp:2256:18:2256:33 | ChiPartial | partial:m2256_10 | -| ir.cpp:2256:18:2256:33 | ChiTotal | total:m2255_4 | -| ir.cpp:2256:18:2256:33 | ChiTotal | total:m2256_2 | -| ir.cpp:2256:18:2256:33 | SideEffect | ~m2255_4 | -| ir.cpp:2256:26:2256:32 | Address | &:r2256_5 | -| ir.cpp:2256:26:2256:32 | Arg(0) | 0:r2256_5 | -| ir.cpp:2256:26:2256:32 | SideEffect | ~m2255_3 | -| ir.cpp:2256:26:2256:32 | Unary | r2256_4 | -| ir.cpp:2256:36:2256:36 | Address | &:r2256_12 | -| ir.cpp:2256:36:2256:36 | Condition | r2256_13 | -| ir.cpp:2256:36:2256:36 | Load | m2255_6 | -| ir.cpp:2257:13:2257:13 | Address | &:r2257_1 | -| ir.cpp:2257:16:2257:17 | StoreValue | r2257_2 | -| ir.cpp:2259:13:2259:13 | Address | &:r2259_1 | -| ir.cpp:2259:16:2259:17 | StoreValue | r2259_2 | -| ir.cpp:2260:5:2260:5 | Address | &:r2260_1 | -| ir.cpp:2260:5:2260:5 | Address | &:r2260_1 | -| ir.cpp:2260:5:2260:5 | Arg(this) | this:r2260_1 | -| ir.cpp:2260:5:2260:5 | CallTarget | func:r2260_2 | -| ir.cpp:2260:5:2260:5 | ChiPartial | partial:m2260_4 | -| ir.cpp:2260:5:2260:5 | ChiPartial | partial:m2260_7 | -| ir.cpp:2260:5:2260:5 | ChiTotal | total:m2256_8 | -| ir.cpp:2260:5:2260:5 | ChiTotal | total:m2256_11 | -| ir.cpp:2260:5:2260:5 | SideEffect | m2256_11 | -| ir.cpp:2260:5:2260:5 | SideEffect | ~m2256_8 | -| ir.cpp:2270:6:2270:19 | ChiPartial | partial:m2270_3 | -| ir.cpp:2270:6:2270:19 | ChiTotal | total:m2270_2 | -| ir.cpp:2270:6:2270:19 | SideEffect | ~m2275_14 | -| ir.cpp:2270:26:2270:26 | Address | &:r2270_5 | -| ir.cpp:2271:8:2271:23 | Address | &:r2271_1 | -| ir.cpp:2271:8:2271:23 | Address | &:r2271_1 | -| ir.cpp:2271:8:2271:23 | Arg(this) | this:r2271_1 | -| ir.cpp:2271:8:2271:23 | Condition | r2271_19 | -| ir.cpp:2271:13:2271:13 | Address | &:r2271_11 | -| ir.cpp:2271:13:2271:13 | Address | &:r2271_11 | -| ir.cpp:2271:13:2271:13 | Arg(this) | this:r2271_11 | -| ir.cpp:2271:13:2271:13 | CallTarget | func:r2271_12 | -| ir.cpp:2271:13:2271:13 | ChiPartial | partial:m2271_14 | -| ir.cpp:2271:13:2271:13 | ChiPartial | partial:m2271_17 | -| ir.cpp:2271:13:2271:13 | ChiTotal | total:m2271_8 | -| ir.cpp:2271:13:2271:13 | ChiTotal | total:m2271_10 | -| ir.cpp:2271:13:2271:13 | SideEffect | m2271_10 | -| ir.cpp:2271:13:2271:13 | SideEffect | ~m2271_8 | -| ir.cpp:2271:13:2271:13 | Unary | r2271_13 | -| ir.cpp:2271:16:2271:23 | CallTarget | func:r2271_3 | -| ir.cpp:2271:16:2271:23 | ChiPartial | partial:m2271_7 | -| ir.cpp:2271:16:2271:23 | ChiPartial | partial:m2271_9 | -| ir.cpp:2271:16:2271:23 | ChiTotal | total:m2270_4 | -| ir.cpp:2271:16:2271:23 | ChiTotal | total:m2271_2 | -| ir.cpp:2271:16:2271:23 | SideEffect | ~m2270_4 | -| ir.cpp:2271:22:2271:22 | Address | &:r2271_4 | -| ir.cpp:2271:22:2271:22 | Arg(0) | 0:r2271_5 | -| ir.cpp:2271:22:2271:22 | Load | m2270_6 | -| ir.cpp:2272:16:2272:17 | Address | &:r2272_1 | -| ir.cpp:2272:16:2272:17 | Address | &:r2272_1 | -| ir.cpp:2272:16:2272:17 | Arg(this) | this:r2272_1 | -| ir.cpp:2272:16:2272:17 | CallTarget | func:r2272_3 | -| ir.cpp:2272:16:2272:17 | ChiPartial | partial:m2272_5 | -| ir.cpp:2272:16:2272:17 | ChiPartial | partial:m2272_7 | -| ir.cpp:2272:16:2272:17 | ChiTotal | total:m2271_15 | -| ir.cpp:2272:16:2272:17 | ChiTotal | total:m2272_2 | -| ir.cpp:2272:16:2272:17 | SideEffect | ~m2271_15 | -| ir.cpp:2273:5:2273:5 | Address | &:r2273_1 | -| ir.cpp:2273:5:2273:5 | Address | &:r2273_1 | -| ir.cpp:2273:5:2273:5 | Arg(this) | this:r2273_1 | -| ir.cpp:2273:5:2273:5 | CallTarget | func:r2273_2 | -| ir.cpp:2273:5:2273:5 | ChiPartial | partial:m2273_4 | -| ir.cpp:2273:5:2273:5 | ChiPartial | partial:m2273_7 | -| ir.cpp:2273:5:2273:5 | ChiTotal | total:m2272_6 | -| ir.cpp:2273:5:2273:5 | ChiTotal | total:m2272_8 | -| ir.cpp:2273:5:2273:5 | SideEffect | m2272_8 | -| ir.cpp:2273:5:2273:5 | SideEffect | ~m2272_6 | -| ir.cpp:2274:16:2274:17 | Address | &:r2274_1 | -| ir.cpp:2274:16:2274:17 | Address | &:r2274_1 | -| ir.cpp:2274:16:2274:17 | Arg(this) | this:r2274_1 | -| ir.cpp:2274:16:2274:17 | CallTarget | func:r2274_3 | -| ir.cpp:2274:16:2274:17 | ChiPartial | partial:m2274_5 | -| ir.cpp:2274:16:2274:17 | ChiPartial | partial:m2274_7 | -| ir.cpp:2274:16:2274:17 | ChiTotal | total:m2271_15 | -| ir.cpp:2274:16:2274:17 | ChiTotal | total:m2274_2 | -| ir.cpp:2274:16:2274:17 | SideEffect | ~m2271_15 | -| ir.cpp:2275:5:2275:5 | Address | &:r2275_1 | -| ir.cpp:2275:5:2275:5 | Address | &:r2275_1 | -| ir.cpp:2275:5:2275:5 | Address | &:r2275_10 | -| ir.cpp:2275:5:2275:5 | Address | &:r2275_10 | -| ir.cpp:2275:5:2275:5 | Arg(this) | this:r2275_1 | -| ir.cpp:2275:5:2275:5 | Arg(this) | this:r2275_10 | -| ir.cpp:2275:5:2275:5 | CallTarget | func:r2275_2 | -| ir.cpp:2275:5:2275:5 | CallTarget | func:r2275_11 | -| ir.cpp:2275:5:2275:5 | ChiPartial | partial:m2275_4 | -| ir.cpp:2275:5:2275:5 | ChiPartial | partial:m2275_7 | -| ir.cpp:2275:5:2275:5 | ChiPartial | partial:m2275_13 | -| ir.cpp:2275:5:2275:5 | ChiPartial | partial:m2275_16 | -| ir.cpp:2275:5:2275:5 | ChiTotal | total:m2271_18 | -| ir.cpp:2275:5:2275:5 | ChiTotal | total:m2274_6 | -| ir.cpp:2275:5:2275:5 | ChiTotal | total:m2274_8 | -| ir.cpp:2275:5:2275:5 | ChiTotal | total:m2275_9 | -| ir.cpp:2275:5:2275:5 | Phi | from 1:~m2273_5 | -| ir.cpp:2275:5:2275:5 | Phi | from 2:~m2275_5 | -| ir.cpp:2275:5:2275:5 | SideEffect | m2271_18 | -| ir.cpp:2275:5:2275:5 | SideEffect | m2274_8 | -| ir.cpp:2275:5:2275:5 | SideEffect | ~m2274_6 | -| ir.cpp:2275:5:2275:5 | SideEffect | ~m2275_9 | -| ir.cpp:2278:6:2278:25 | ChiPartial | partial:m2278_3 | -| ir.cpp:2278:6:2278:25 | ChiTotal | total:m2278_2 | -| ir.cpp:2278:6:2278:25 | SideEffect | ~m2289_13 | -| ir.cpp:2278:32:2278:32 | Address | &:r2278_5 | -| ir.cpp:2280:16:2280:16 | Address | &:r2280_1 | -| ir.cpp:2280:16:2280:16 | Address | &:r2280_1 | -| ir.cpp:2280:16:2280:16 | Arg(this) | this:r2280_1 | -| ir.cpp:2280:16:2280:16 | CallTarget | func:r2280_3 | -| ir.cpp:2280:16:2280:16 | ChiPartial | partial:m2280_5 | -| ir.cpp:2280:16:2280:16 | ChiPartial | partial:m2280_7 | -| ir.cpp:2280:16:2280:16 | ChiTotal | total:m2278_4 | -| ir.cpp:2280:16:2280:16 | ChiTotal | total:m2280_2 | -| ir.cpp:2280:16:2280:16 | SideEffect | ~m2278_4 | -| ir.cpp:2281:15:2281:15 | Address | &:r2281_2 | -| ir.cpp:2281:15:2281:15 | Condition | r2281_3 | -| ir.cpp:2281:15:2281:15 | Load | m2281_1 | -| ir.cpp:2281:15:2281:15 | Phi | from 0:m2278_6 | -| ir.cpp:2281:15:2281:15 | Phi | from 2:m2282_3 | -| ir.cpp:2282:13:2282:13 | Address | &:r2282_2 | -| ir.cpp:2282:17:2282:21 | StoreValue | r2282_1 | -| ir.cpp:2284:5:2284:5 | Address | &:r2284_1 | -| ir.cpp:2284:5:2284:5 | Address | &:r2284_1 | -| ir.cpp:2284:5:2284:5 | Arg(this) | this:r2284_1 | -| ir.cpp:2284:5:2284:5 | CallTarget | func:r2284_2 | -| ir.cpp:2284:5:2284:5 | ChiPartial | partial:m2284_4 | -| ir.cpp:2284:5:2284:5 | ChiPartial | partial:m2284_7 | -| ir.cpp:2284:5:2284:5 | ChiTotal | total:m2280_6 | -| ir.cpp:2284:5:2284:5 | ChiTotal | total:m2280_8 | -| ir.cpp:2284:5:2284:5 | SideEffect | m2280_8 | -| ir.cpp:2284:5:2284:5 | SideEffect | ~m2280_6 | -| ir.cpp:2287:16:2287:31 | Address | &:r2287_3 | -| ir.cpp:2287:16:2287:31 | Address | &:r2287_3 | -| ir.cpp:2287:16:2287:31 | Arg(this) | this:r2287_3 | -| ir.cpp:2287:16:2287:31 | Condition | r2287_21 | -| ir.cpp:2287:16:2287:31 | Phi | from 3:m2281_1 | -| ir.cpp:2287:16:2287:31 | Phi | from 3:~m2284_5 | -| ir.cpp:2287:16:2287:31 | Phi | from 5:m2288_3 | -| ir.cpp:2287:16:2287:31 | Phi | from 5:~m2289_5 | -| ir.cpp:2287:21:2287:21 | Address | &:r2287_13 | -| ir.cpp:2287:21:2287:21 | Address | &:r2287_13 | -| ir.cpp:2287:21:2287:21 | Arg(this) | this:r2287_13 | -| ir.cpp:2287:21:2287:21 | CallTarget | func:r2287_14 | -| ir.cpp:2287:21:2287:21 | ChiPartial | partial:m2287_16 | -| ir.cpp:2287:21:2287:21 | ChiPartial | partial:m2287_19 | -| ir.cpp:2287:21:2287:21 | ChiTotal | total:m2287_10 | -| ir.cpp:2287:21:2287:21 | ChiTotal | total:m2287_12 | -| ir.cpp:2287:21:2287:21 | SideEffect | m2287_12 | -| ir.cpp:2287:21:2287:21 | SideEffect | ~m2287_10 | -| ir.cpp:2287:21:2287:21 | Unary | r2287_15 | -| ir.cpp:2287:24:2287:31 | CallTarget | func:r2287_5 | -| ir.cpp:2287:24:2287:31 | ChiPartial | partial:m2287_9 | -| ir.cpp:2287:24:2287:31 | ChiPartial | partial:m2287_11 | -| ir.cpp:2287:24:2287:31 | ChiTotal | total:m2287_1 | -| ir.cpp:2287:24:2287:31 | ChiTotal | total:m2287_4 | -| ir.cpp:2287:24:2287:31 | SideEffect | ~m2287_1 | -| ir.cpp:2287:30:2287:30 | Address | &:r2287_6 | -| ir.cpp:2287:30:2287:30 | Arg(0) | 0:r2287_7 | -| ir.cpp:2287:30:2287:30 | Load | m2287_2 | -| ir.cpp:2288:13:2288:13 | Address | &:r2288_2 | -| ir.cpp:2288:17:2288:21 | StoreValue | r2288_1 | -| ir.cpp:2289:9:2289:9 | Address | &:r2289_1 | -| ir.cpp:2289:9:2289:9 | Address | &:r2289_1 | -| ir.cpp:2289:9:2289:9 | Address | &:r2289_9 | -| ir.cpp:2289:9:2289:9 | Address | &:r2289_9 | -| ir.cpp:2289:9:2289:9 | Arg(this) | this:r2289_1 | -| ir.cpp:2289:9:2289:9 | Arg(this) | this:r2289_9 | -| ir.cpp:2289:9:2289:9 | CallTarget | func:r2289_2 | -| ir.cpp:2289:9:2289:9 | CallTarget | func:r2289_10 | -| ir.cpp:2289:9:2289:9 | ChiPartial | partial:m2289_4 | -| ir.cpp:2289:9:2289:9 | ChiPartial | partial:m2289_7 | -| ir.cpp:2289:9:2289:9 | ChiPartial | partial:m2289_12 | -| ir.cpp:2289:9:2289:9 | ChiPartial | partial:m2289_15 | -| ir.cpp:2289:9:2289:9 | ChiTotal | total:m2287_17 | -| ir.cpp:2289:9:2289:9 | ChiTotal | total:m2287_17 | -| ir.cpp:2289:9:2289:9 | ChiTotal | total:m2287_20 | -| ir.cpp:2289:9:2289:9 | ChiTotal | total:m2287_20 | -| ir.cpp:2289:9:2289:9 | SideEffect | m2287_20 | -| ir.cpp:2289:9:2289:9 | SideEffect | m2287_20 | -| ir.cpp:2289:9:2289:9 | SideEffect | ~m2287_17 | -| ir.cpp:2289:9:2289:9 | SideEffect | ~m2287_17 | -| ir.cpp:2293:6:2293:13 | ChiPartial | partial:m2293_3 | -| ir.cpp:2293:6:2293:13 | ChiTotal | total:m2293_2 | -| ir.cpp:2293:6:2293:13 | SideEffect | m2293_3 | -| ir.cpp:2295:6:2295:24 | ChiPartial | partial:m2295_3 | -| ir.cpp:2295:6:2295:24 | ChiTotal | total:m2295_2 | -| ir.cpp:2295:6:2295:24 | Phi | from 2:~m2304_5 | -| ir.cpp:2295:6:2295:24 | Phi | from 4:~m2304_13 | -| ir.cpp:2295:6:2295:24 | Phi | from 5:~m2304_22 | -| ir.cpp:2295:6:2295:24 | SideEffect | ~m2295_7 | -| ir.cpp:2295:31:2295:31 | Address | &:r2295_5 | -| ir.cpp:2296:12:2296:12 | Address | &:r2296_1 | -| ir.cpp:2296:12:2296:12 | Address | &:r2296_1 | -| ir.cpp:2296:12:2296:12 | Arg(this) | this:r2296_1 | -| ir.cpp:2296:12:2296:12 | CallTarget | func:r2296_3 | -| ir.cpp:2296:12:2296:12 | ChiPartial | partial:m2296_5 | -| ir.cpp:2296:12:2296:12 | ChiPartial | partial:m2296_7 | -| ir.cpp:2296:12:2296:12 | ChiTotal | total:m2295_4 | -| ir.cpp:2296:12:2296:12 | ChiTotal | total:m2296_2 | -| ir.cpp:2296:12:2296:12 | SideEffect | ~m2295_4 | -| ir.cpp:2297:8:2297:8 | Address | &:r2297_1 | -| ir.cpp:2297:8:2297:8 | Condition | r2297_2 | -| ir.cpp:2297:8:2297:8 | Load | m2295_6 | -| ir.cpp:2300:8:2300:8 | Address | &:r2300_1 | -| ir.cpp:2300:8:2300:8 | Condition | r2300_2 | -| ir.cpp:2300:8:2300:8 | Load | m2295_6 | -| ir.cpp:2301:16:2301:23 | CallTarget | func:r2301_1 | -| ir.cpp:2301:16:2301:23 | ChiPartial | partial:m2301_3 | -| ir.cpp:2301:16:2301:23 | ChiTotal | total:m2296_6 | -| ir.cpp:2301:16:2301:23 | SideEffect | ~m2296_6 | -| ir.cpp:2304:1:2304:1 | Address | &:r2304_1 | -| ir.cpp:2304:1:2304:1 | Address | &:r2304_1 | -| ir.cpp:2304:1:2304:1 | Address | &:r2304_9 | -| ir.cpp:2304:1:2304:1 | Address | &:r2304_9 | -| ir.cpp:2304:1:2304:1 | Address | &:r2304_18 | -| ir.cpp:2304:1:2304:1 | Address | &:r2304_18 | -| ir.cpp:2304:1:2304:1 | Arg(this) | this:r2304_1 | -| ir.cpp:2304:1:2304:1 | Arg(this) | this:r2304_9 | -| ir.cpp:2304:1:2304:1 | Arg(this) | this:r2304_18 | -| ir.cpp:2304:1:2304:1 | CallTarget | func:r2304_2 | -| ir.cpp:2304:1:2304:1 | CallTarget | func:r2304_10 | -| ir.cpp:2304:1:2304:1 | CallTarget | func:r2304_19 | -| ir.cpp:2304:1:2304:1 | ChiPartial | partial:m2304_4 | -| ir.cpp:2304:1:2304:1 | ChiPartial | partial:m2304_7 | -| ir.cpp:2304:1:2304:1 | ChiPartial | partial:m2304_12 | -| ir.cpp:2304:1:2304:1 | ChiPartial | partial:m2304_15 | -| ir.cpp:2304:1:2304:1 | ChiPartial | partial:m2304_21 | -| ir.cpp:2304:1:2304:1 | ChiPartial | partial:m2304_24 | -| ir.cpp:2304:1:2304:1 | ChiTotal | total:m2296_6 | -| ir.cpp:2304:1:2304:1 | ChiTotal | total:m2296_6 | -| ir.cpp:2304:1:2304:1 | ChiTotal | total:m2296_8 | -| ir.cpp:2304:1:2304:1 | ChiTotal | total:m2296_8 | -| ir.cpp:2304:1:2304:1 | ChiTotal | total:m2296_8 | -| ir.cpp:2304:1:2304:1 | ChiTotal | total:m2301_4 | -| ir.cpp:2304:1:2304:1 | SideEffect | m2296_8 | -| ir.cpp:2304:1:2304:1 | SideEffect | m2296_8 | -| ir.cpp:2304:1:2304:1 | SideEffect | m2296_8 | -| ir.cpp:2304:1:2304:1 | SideEffect | ~m2296_6 | -| ir.cpp:2304:1:2304:1 | SideEffect | ~m2296_6 | -| ir.cpp:2304:1:2304:1 | SideEffect | ~m2301_4 | -| ir.cpp:2306:5:2306:24 | Address | &:r2306_9 | -| ir.cpp:2306:5:2306:24 | ChiPartial | partial:m2306_3 | -| ir.cpp:2306:5:2306:24 | ChiTotal | total:m2306_2 | -| ir.cpp:2306:5:2306:24 | Load | m2306_8 | -| ir.cpp:2306:5:2306:24 | Phi | from 2:m2309_3 | -| ir.cpp:2306:5:2306:24 | Phi | from 2:~m2312_5 | -| ir.cpp:2306:5:2306:24 | Phi | from 3:m2311_3 | -| ir.cpp:2306:5:2306:24 | Phi | from 3:~m2312_13 | -| ir.cpp:2306:5:2306:24 | SideEffect | ~m2306_7 | -| ir.cpp:2306:31:2306:31 | Address | &:r2306_5 | -| ir.cpp:2307:12:2307:12 | Address | &:r2307_1 | -| ir.cpp:2307:12:2307:12 | Address | &:r2307_1 | -| ir.cpp:2307:12:2307:12 | Arg(this) | this:r2307_1 | -| ir.cpp:2307:12:2307:12 | CallTarget | func:r2307_3 | -| ir.cpp:2307:12:2307:12 | ChiPartial | partial:m2307_5 | -| ir.cpp:2307:12:2307:12 | ChiPartial | partial:m2307_7 | -| ir.cpp:2307:12:2307:12 | ChiTotal | total:m2306_4 | -| ir.cpp:2307:12:2307:12 | ChiTotal | total:m2307_2 | -| ir.cpp:2307:12:2307:12 | SideEffect | ~m2306_4 | -| ir.cpp:2308:8:2308:8 | Address | &:r2308_1 | -| ir.cpp:2308:8:2308:8 | Condition | r2308_2 | -| ir.cpp:2308:8:2308:8 | Load | m2306_6 | -| ir.cpp:2309:9:2309:17 | Address | &:r2309_1 | -| ir.cpp:2309:16:2309:16 | StoreValue | r2309_2 | -| ir.cpp:2311:5:2311:13 | Address | &:r2311_1 | -| ir.cpp:2311:12:2311:12 | StoreValue | r2311_2 | -| ir.cpp:2312:1:2312:1 | Address | &:r2312_1 | -| ir.cpp:2312:1:2312:1 | Address | &:r2312_1 | -| ir.cpp:2312:1:2312:1 | Address | &:r2312_9 | -| ir.cpp:2312:1:2312:1 | Address | &:r2312_9 | -| ir.cpp:2312:1:2312:1 | Arg(this) | this:r2312_1 | -| ir.cpp:2312:1:2312:1 | Arg(this) | this:r2312_9 | -| ir.cpp:2312:1:2312:1 | CallTarget | func:r2312_2 | -| ir.cpp:2312:1:2312:1 | CallTarget | func:r2312_10 | -| ir.cpp:2312:1:2312:1 | ChiPartial | partial:m2312_4 | -| ir.cpp:2312:1:2312:1 | ChiPartial | partial:m2312_7 | -| ir.cpp:2312:1:2312:1 | ChiPartial | partial:m2312_12 | -| ir.cpp:2312:1:2312:1 | ChiPartial | partial:m2312_15 | -| ir.cpp:2312:1:2312:1 | ChiTotal | total:m2307_6 | -| ir.cpp:2312:1:2312:1 | ChiTotal | total:m2307_6 | -| ir.cpp:2312:1:2312:1 | ChiTotal | total:m2307_8 | -| ir.cpp:2312:1:2312:1 | ChiTotal | total:m2307_8 | -| ir.cpp:2312:1:2312:1 | SideEffect | m2307_8 | -| ir.cpp:2312:1:2312:1 | SideEffect | m2307_8 | -| ir.cpp:2312:1:2312:1 | SideEffect | ~m2307_6 | -| ir.cpp:2312:1:2312:1 | SideEffect | ~m2307_6 | -| ir.cpp:2314:6:2314:26 | ChiPartial | partial:m2314_3 | -| ir.cpp:2314:6:2314:26 | ChiTotal | total:m2314_2 | -| ir.cpp:2314:6:2314:26 | SideEffect | ~m2317_5 | -| ir.cpp:2315:12:2315:12 | Address | &:r2315_1 | -| ir.cpp:2315:12:2315:12 | Address | &:r2315_1 | -| ir.cpp:2315:12:2315:12 | Arg(this) | this:r2315_1 | -| ir.cpp:2315:12:2315:12 | CallTarget | func:r2315_3 | -| ir.cpp:2315:12:2315:12 | ChiPartial | partial:m2315_5 | -| ir.cpp:2315:12:2315:12 | ChiPartial | partial:m2315_7 | -| ir.cpp:2315:12:2315:12 | ChiTotal | total:m2314_4 | -| ir.cpp:2315:12:2315:12 | ChiTotal | total:m2315_2 | -| ir.cpp:2315:12:2315:12 | SideEffect | ~m2314_4 | -| ir.cpp:2316:12:2316:19 | CallTarget | func:r2316_1 | -| ir.cpp:2316:12:2316:19 | ChiPartial | partial:m2316_3 | -| ir.cpp:2316:12:2316:19 | ChiTotal | total:m2315_6 | -| ir.cpp:2316:12:2316:19 | SideEffect | ~m2315_6 | -| ir.cpp:2317:1:2317:1 | Address | &:r2317_1 | -| ir.cpp:2317:1:2317:1 | Address | &:r2317_1 | -| ir.cpp:2317:1:2317:1 | Arg(this) | this:r2317_1 | -| ir.cpp:2317:1:2317:1 | CallTarget | func:r2317_2 | -| ir.cpp:2317:1:2317:1 | ChiPartial | partial:m2317_4 | -| ir.cpp:2317:1:2317:1 | ChiPartial | partial:m2317_7 | -| ir.cpp:2317:1:2317:1 | ChiTotal | total:m2315_8 | -| ir.cpp:2317:1:2317:1 | ChiTotal | total:m2316_4 | -| ir.cpp:2317:1:2317:1 | SideEffect | m2315_8 | -| ir.cpp:2317:1:2317:1 | SideEffect | ~m2316_4 | -| ir.cpp:2327:32:2327:47 | Address | &:r2327_5 | -| ir.cpp:2327:32:2327:47 | ChiPartial | partial:m2327_3 | -| ir.cpp:2327:32:2327:47 | ChiTotal | total:m2327_2 | -| ir.cpp:2327:32:2327:47 | Load | m2329_3 | -| ir.cpp:2327:32:2327:47 | SideEffect | m2327_3 | -| ir.cpp:2329:9:2329:44 | Address | &:r2329_1 | -| ir.cpp:2329:16:2329:43 | StoreValue | r2329_2 | +| ir.cpp:1812:13:1812:13 | Load | m1811_1 | +| ir.cpp:1812:13:1812:13 | StoreValue | r1812_2 | +| ir.cpp:1812:16:1812:16 | Address | &:r1812_5 | +| ir.cpp:1812:16:1812:16 | Left | r1812_6 | +| ir.cpp:1812:16:1812:16 | Load | m1811_1 | +| ir.cpp:1812:16:1812:20 | Condition | r1812_10 | +| ir.cpp:1812:16:1812:20 | Left | r1812_8 | +| ir.cpp:1812:16:1812:20 | Right | r1812_9 | +| ir.cpp:1812:20:1812:20 | Right | r1812_7 | +| ir.cpp:1813:9:1813:9 | Address | &:r1813_6 | +| ir.cpp:1813:13:1813:13 | Address | &:r1813_1 | +| ir.cpp:1813:13:1813:13 | Left | r1813_2 | +| ir.cpp:1813:13:1813:13 | Load | m1811_1 | +| ir.cpp:1813:13:1813:17 | StoreValue | r1813_5 | +| ir.cpp:1813:17:1813:17 | Address | &:r1813_3 | +| ir.cpp:1813:17:1813:17 | Load | m1812_4 | +| ir.cpp:1813:17:1813:17 | Right | r1813_4 | +| ir.cpp:1816:9:1816:9 | Address | &:r1816_4 | +| ir.cpp:1816:13:1816:13 | Address | &:r1816_2 | +| ir.cpp:1816:13:1816:13 | Load | m1816_1 | +| ir.cpp:1816:13:1816:13 | Phi | from 2:m1811_1 | +| ir.cpp:1816:13:1816:13 | Phi | from 3:m1813_7 | +| ir.cpp:1816:13:1816:13 | StoreValue | r1816_3 | +| ir.cpp:1816:14:1816:25 | Address | &:r1816_6 | +| ir.cpp:1816:14:1816:25 | Condition | r1816_14 | +| ir.cpp:1816:20:1816:21 | Address | &:r1816_10 | +| ir.cpp:1816:20:1816:21 | Left | r1816_11 | +| ir.cpp:1816:20:1816:21 | Load | m1816_9 | +| ir.cpp:1816:20:1816:21 | Right | r1816_12 | +| ir.cpp:1816:20:1816:21 | Unary | r1816_13 | +| ir.cpp:1816:25:1816:25 | Address | &:r1816_7 | +| ir.cpp:1816:25:1816:25 | Load | m1816_5 | +| ir.cpp:1816:25:1816:25 | StoreValue | r1816_8 | +| ir.cpp:1817:9:1817:9 | Address | &:r1817_6 | +| ir.cpp:1817:13:1817:13 | Address | &:r1817_1 | +| ir.cpp:1817:13:1817:13 | Left | r1817_2 | +| ir.cpp:1817:13:1817:13 | Load | m1816_1 | +| ir.cpp:1817:13:1817:17 | StoreValue | r1817_5 | +| ir.cpp:1817:17:1817:17 | Address | &:r1817_3 | +| ir.cpp:1817:17:1817:17 | Load | m1816_5 | +| ir.cpp:1817:17:1817:17 | Right | r1817_4 | +| ir.cpp:1820:9:1820:29 | Address | &:r1820_6 | +| ir.cpp:1820:9:1820:29 | Condition | r1820_14 | +| ir.cpp:1820:13:1820:13 | Address | &:r1820_2 | +| ir.cpp:1820:13:1820:13 | Phi | from 4:m1816_1 | +| ir.cpp:1820:13:1820:13 | Phi | from 5:m1817_7 | +| ir.cpp:1820:17:1820:17 | Address | &:r1820_3 | +| ir.cpp:1820:17:1820:17 | Load | m1820_1 | +| ir.cpp:1820:17:1820:17 | StoreValue | r1820_4 | +| ir.cpp:1820:24:1820:25 | Address | &:r1820_10 | +| ir.cpp:1820:24:1820:25 | Left | r1820_11 | +| ir.cpp:1820:24:1820:25 | Load | m1820_9 | +| ir.cpp:1820:24:1820:25 | Right | r1820_12 | +| ir.cpp:1820:24:1820:25 | Unary | r1820_13 | +| ir.cpp:1820:29:1820:29 | Address | &:r1820_7 | +| ir.cpp:1820:29:1820:29 | Load | m1820_5 | +| ir.cpp:1820:29:1820:29 | StoreValue | r1820_8 | +| ir.cpp:1821:9:1821:9 | Address | &:r1821_6 | +| ir.cpp:1821:13:1821:13 | Address | &:r1821_1 | +| ir.cpp:1821:13:1821:13 | Left | r1821_2 | +| ir.cpp:1821:13:1821:13 | Load | m1820_1 | +| ir.cpp:1821:13:1821:17 | StoreValue | r1821_5 | +| ir.cpp:1821:17:1821:17 | Address | &:r1821_3 | +| ir.cpp:1821:17:1821:17 | Load | m1820_5 | +| ir.cpp:1821:17:1821:17 | Right | r1821_4 | +| ir.cpp:1824:9:1824:9 | Address | &:r1824_2 | +| ir.cpp:1824:9:1824:9 | Phi | from 6:m1820_1 | +| ir.cpp:1824:9:1824:9 | Phi | from 7:m1821_7 | +| ir.cpp:1824:13:1824:13 | Address | &:r1824_3 | +| ir.cpp:1824:13:1824:13 | Load | m1824_1 | +| ir.cpp:1824:13:1824:13 | StoreValue | r1824_4 | +| ir.cpp:1825:9:1825:9 | Address | &:r1825_1 | +| ir.cpp:1825:9:1825:9 | Condition | r1825_4 | +| ir.cpp:1825:9:1825:9 | Left | r1825_2 | +| ir.cpp:1825:9:1825:9 | Load | m1824_5 | +| ir.cpp:1825:9:1825:9 | Right | r1825_3 | +| ir.cpp:1826:9:1826:9 | Address | &:r1826_6 | +| ir.cpp:1826:13:1826:13 | Address | &:r1826_1 | +| ir.cpp:1826:13:1826:13 | Left | r1826_2 | +| ir.cpp:1826:13:1826:13 | Load | m1824_1 | +| ir.cpp:1826:13:1826:17 | StoreValue | r1826_5 | +| ir.cpp:1826:17:1826:17 | Address | &:r1826_3 | +| ir.cpp:1826:17:1826:17 | Load | m1824_5 | +| ir.cpp:1826:17:1826:17 | Right | r1826_4 | +| ir.cpp:1829:9:1829:18 | Address | &:r1829_2 | +| ir.cpp:1829:9:1829:18 | Condition | r1829_10 | +| ir.cpp:1829:9:1829:18 | Phi | from 8:m1824_1 | +| ir.cpp:1829:9:1829:18 | Phi | from 9:m1826_7 | +| ir.cpp:1829:13:1829:14 | Address | &:r1829_6 | +| ir.cpp:1829:13:1829:14 | Left | r1829_7 | +| ir.cpp:1829:13:1829:14 | Load | m1829_5 | +| ir.cpp:1829:13:1829:14 | Right | r1829_8 | +| ir.cpp:1829:13:1829:14 | Unary | r1829_9 | +| ir.cpp:1829:18:1829:18 | Address | &:r1829_3 | +| ir.cpp:1829:18:1829:18 | Load | m1824_5 | +| ir.cpp:1829:18:1829:18 | StoreValue | r1829_4 | +| ir.cpp:1830:9:1830:9 | Address | &:r1830_3 | +| ir.cpp:1830:9:1830:9 | Address | &:r1830_3 | +| ir.cpp:1830:9:1830:9 | Left | r1830_4 | +| ir.cpp:1830:9:1830:9 | Load | m1829_1 | +| ir.cpp:1830:9:1830:15 | StoreValue | r1830_5 | +| ir.cpp:1830:14:1830:15 | Address | &:r1830_1 | +| ir.cpp:1830:14:1830:15 | Load | m1829_5 | +| ir.cpp:1830:14:1830:15 | Right | r1830_2 | +| ir.cpp:1834:6:1834:26 | ChiPartial | partial:m1834_3 | +| ir.cpp:1834:6:1834:26 | ChiTotal | total:m1834_2 | +| ir.cpp:1834:6:1834:26 | SideEffect | m1834_3 | +| ir.cpp:1834:32:1834:32 | Address | &:r1834_5 | +| ir.cpp:1835:17:1835:17 | Address | &:r1835_1 | +| ir.cpp:1835:21:1835:21 | Address | &:r1835_2 | +| ir.cpp:1835:21:1835:21 | Load | m1834_6 | +| ir.cpp:1835:21:1835:21 | StoreValue | r1835_3 | +| ir.cpp:1835:24:1835:24 | Address | &:r1835_5 | +| ir.cpp:1835:24:1835:24 | Left | r1835_6 | +| ir.cpp:1835:24:1835:24 | Load | m1834_6 | +| ir.cpp:1835:24:1835:28 | Condition | r1835_8 | +| ir.cpp:1835:28:1835:28 | Right | r1835_7 | +| ir.cpp:1837:9:1837:9 | Address | &:r1837_6 | +| ir.cpp:1837:13:1837:13 | Address | &:r1837_1 | +| ir.cpp:1837:13:1837:13 | Left | r1837_2 | +| ir.cpp:1837:13:1837:13 | Load | m1834_6 | +| ir.cpp:1837:13:1837:17 | StoreValue | r1837_5 | +| ir.cpp:1837:17:1837:17 | Address | &:r1837_3 | +| ir.cpp:1837:17:1837:17 | Load | m1835_4 | +| ir.cpp:1837:17:1837:17 | Right | r1837_4 | +| ir.cpp:1840:9:1840:9 | Address | &:r1840_1 | +| ir.cpp:1841:13:1841:13 | Address | &:r1841_3 | +| ir.cpp:1841:17:1841:17 | Address | &:r1841_1 | +| ir.cpp:1841:17:1841:17 | Load | m1837_7 | +| ir.cpp:1841:17:1841:17 | StoreValue | r1841_2 | +| ir.cpp:1841:20:1841:20 | Address | &:r1841_5 | +| ir.cpp:1841:20:1841:20 | Left | r1841_6 | +| ir.cpp:1841:20:1841:20 | Load | m1837_7 | +| ir.cpp:1841:20:1841:24 | Condition | r1841_8 | +| ir.cpp:1841:24:1841:24 | Right | r1841_7 | +| ir.cpp:1843:9:1843:9 | Address | &:r1843_6 | +| ir.cpp:1843:13:1843:13 | Address | &:r1843_1 | +| ir.cpp:1843:13:1843:13 | Left | r1843_2 | +| ir.cpp:1843:13:1843:13 | Load | m1837_7 | +| ir.cpp:1843:13:1843:17 | StoreValue | r1843_5 | +| ir.cpp:1843:17:1843:17 | Address | &:r1843_3 | +| ir.cpp:1843:17:1843:17 | Load | m1841_4 | +| ir.cpp:1843:17:1843:17 | Right | r1843_4 | +| ir.cpp:1846:13:1846:13 | Address | &:r1846_3 | +| ir.cpp:1846:17:1846:17 | Address | &:r1846_1 | +| ir.cpp:1846:17:1846:17 | Load | m1843_7 | +| ir.cpp:1846:17:1846:17 | StoreValue | r1846_2 | +| ir.cpp:1846:18:1846:29 | Address | &:r1846_5 | +| ir.cpp:1846:18:1846:29 | Condition | r1846_11 | +| ir.cpp:1846:24:1846:25 | Address | &:r1846_9 | +| ir.cpp:1846:24:1846:25 | Load | m1846_8 | +| ir.cpp:1846:24:1846:25 | Unary | r1846_10 | +| ir.cpp:1846:29:1846:29 | Address | &:r1846_6 | +| ir.cpp:1846:29:1846:29 | Load | m1846_4 | +| ir.cpp:1846:29:1846:29 | StoreValue | r1846_7 | +| ir.cpp:1848:9:1848:9 | Address | &:r1848_6 | +| ir.cpp:1848:13:1848:13 | Address | &:r1848_1 | +| ir.cpp:1848:13:1848:13 | Left | r1848_2 | +| ir.cpp:1848:13:1848:13 | Load | m1843_7 | +| ir.cpp:1848:13:1848:17 | StoreValue | r1848_5 | +| ir.cpp:1848:17:1848:17 | Address | &:r1848_3 | +| ir.cpp:1848:17:1848:17 | Load | m1846_4 | +| ir.cpp:1848:17:1848:17 | Right | r1848_4 | +| ir.cpp:1851:13:1851:33 | Address | &:r1851_5 | +| ir.cpp:1851:13:1851:33 | Condition | r1851_11 | +| ir.cpp:1851:17:1851:17 | Address | &:r1851_1 | +| ir.cpp:1851:21:1851:21 | Address | &:r1851_2 | +| ir.cpp:1851:21:1851:21 | Load | m1848_7 | +| ir.cpp:1851:21:1851:21 | StoreValue | r1851_3 | +| ir.cpp:1851:28:1851:29 | Address | &:r1851_9 | +| ir.cpp:1851:28:1851:29 | Load | m1851_8 | +| ir.cpp:1851:28:1851:29 | Unary | r1851_10 | +| ir.cpp:1851:33:1851:33 | Address | &:r1851_6 | +| ir.cpp:1851:33:1851:33 | Load | m1851_4 | +| ir.cpp:1851:33:1851:33 | StoreValue | r1851_7 | +| ir.cpp:1853:9:1853:9 | Address | &:r1853_6 | +| ir.cpp:1853:13:1853:13 | Address | &:r1853_1 | +| ir.cpp:1853:13:1853:13 | Left | r1853_2 | +| ir.cpp:1853:13:1853:13 | Load | m1848_7 | +| ir.cpp:1853:13:1853:17 | StoreValue | r1853_5 | +| ir.cpp:1853:17:1853:17 | Address | &:r1853_3 | +| ir.cpp:1853:17:1853:17 | Load | m1851_4 | +| ir.cpp:1853:17:1853:17 | Right | r1853_4 | +| ir.cpp:1856:9:1856:9 | Address | &:r1856_1 | +| ir.cpp:1856:13:1856:13 | Address | &:r1856_2 | +| ir.cpp:1856:13:1856:13 | Load | m1853_7 | +| ir.cpp:1856:13:1856:13 | StoreValue | r1856_3 | +| ir.cpp:1857:13:1857:13 | Address | &:r1857_1 | +| ir.cpp:1857:13:1857:13 | Condition | r1857_2 | +| ir.cpp:1857:13:1857:13 | Load | m1856_4 | +| ir.cpp:1859:9:1859:9 | Address | &:r1859_6 | +| ir.cpp:1859:13:1859:13 | Address | &:r1859_1 | +| ir.cpp:1859:13:1859:13 | Left | r1859_2 | +| ir.cpp:1859:13:1859:13 | Load | m1853_7 | +| ir.cpp:1859:13:1859:17 | StoreValue | r1859_5 | +| ir.cpp:1859:17:1859:17 | Address | &:r1859_3 | +| ir.cpp:1859:17:1859:17 | Load | m1856_4 | +| ir.cpp:1859:17:1859:17 | Right | r1859_4 | +| ir.cpp:1862:13:1862:22 | Address | &:r1862_1 | +| ir.cpp:1862:13:1862:22 | Condition | r1862_7 | +| ir.cpp:1862:17:1862:18 | Address | &:r1862_5 | +| ir.cpp:1862:17:1862:18 | Load | m1862_4 | +| ir.cpp:1862:17:1862:18 | Unary | r1862_6 | +| ir.cpp:1862:22:1862:22 | Address | &:r1862_2 | +| ir.cpp:1862:22:1862:22 | Load | m1856_4 | +| ir.cpp:1862:22:1862:22 | StoreValue | r1862_3 | +| ir.cpp:1864:9:1864:9 | Address | &:r1864_3 | +| ir.cpp:1864:9:1864:9 | Address | &:r1864_3 | +| ir.cpp:1864:9:1864:9 | Left | r1864_4 | +| ir.cpp:1864:9:1864:9 | Load | m1859_7 | +| ir.cpp:1864:9:1864:15 | StoreValue | r1864_5 | +| ir.cpp:1864:14:1864:15 | Address | &:r1864_1 | +| ir.cpp:1864:14:1864:15 | Load | m1862_4 | +| ir.cpp:1864:14:1864:15 | Right | r1864_2 | +| ir.cpp:1870:5:1870:12 | Address | &:r1870_3 | +| ir.cpp:1870:5:1870:12 | SideEffect | ~m1870_6 | +| ir.cpp:1870:16:1870:16 | ChiPartial | partial:m1870_5 | +| ir.cpp:1870:16:1870:16 | ChiTotal | total:m1870_2 | +| ir.cpp:1870:16:1870:16 | StoreValue | r1870_4 | +| ir.cpp:1874:18:1874:25 | Address | &:r1874_3 | +| ir.cpp:1874:18:1874:25 | Arg(this) | this:r1874_3 | +| ir.cpp:1874:18:1874:25 | SideEffect | ~m1874_10 | +| ir.cpp:1874:27:1874:27 | Arg(0) | 0:r1874_5 | +| ir.cpp:1874:27:1874:28 | CallTarget | func:r1874_4 | +| ir.cpp:1874:27:1874:28 | ChiPartial | partial:m1874_7 | +| ir.cpp:1874:27:1874:28 | ChiPartial | partial:m1874_9 | +| ir.cpp:1874:27:1874:28 | ChiTotal | total:m1874_2 | +| ir.cpp:1874:27:1874:28 | ChiTotal | total:m1874_8 | +| ir.cpp:1874:27:1874:28 | SideEffect | ~m1874_2 | +| ir.cpp:1876:18:1876:25 | Address | &:r1876_3 | +| ir.cpp:1876:18:1876:25 | Arg(this) | this:r1876_3 | +| ir.cpp:1876:18:1876:25 | SideEffect | ~m1876_10 | +| ir.cpp:1876:28:1876:47 | CallTarget | func:r1876_4 | +| ir.cpp:1876:28:1876:47 | ChiPartial | partial:m1876_7 | +| ir.cpp:1876:28:1876:47 | ChiPartial | partial:m1876_9 | +| ir.cpp:1876:28:1876:47 | ChiTotal | total:m1876_2 | +| ir.cpp:1876:28:1876:47 | ChiTotal | total:m1876_8 | +| ir.cpp:1876:28:1876:47 | SideEffect | ~m1876_2 | +| ir.cpp:1876:46:1876:46 | Arg(0) | 0:r1876_5 | +| ir.cpp:1878:7:1878:19 | Address | &:r1878_3 | +| ir.cpp:1878:7:1878:19 | SideEffect | ~m1878_8 | +| ir.cpp:1878:23:1878:37 | ChiPartial | partial:m1878_7 | +| ir.cpp:1878:23:1878:37 | ChiTotal | total:m1878_2 | +| ir.cpp:1878:23:1878:37 | StoreValue | r1878_6 | +| ir.cpp:1878:23:1878:37 | Unary | r1878_4 | +| ir.cpp:1878:23:1878:37 | Unary | r1878_5 | +| ir.cpp:1880:5:1880:12 | Address | &:r1880_3 | +| ir.cpp:1880:5:1880:12 | SideEffect | ~m1880_7 | +| ir.cpp:1880:16:1880:23 | Address | &:r1880_4 | +| ir.cpp:1880:16:1880:23 | ChiPartial | partial:m1880_6 | +| ir.cpp:1880:16:1880:23 | ChiTotal | total:m1880_2 | +| ir.cpp:1880:16:1880:23 | Load | ~m1880_2 | +| ir.cpp:1880:16:1880:23 | StoreValue | r1880_5 | +| ir.cpp:1883:11:1883:11 | Address | &:r1883_5 | +| ir.cpp:1883:11:1883:11 | Address | &:r1883_5 | +| ir.cpp:1883:11:1883:11 | Address | &:r1883_7 | +| ir.cpp:1883:11:1883:11 | Address | &:r1883_7 | +| ir.cpp:1883:11:1883:11 | Address | &:r1883_10 | +| ir.cpp:1883:11:1883:11 | ChiPartial | partial:m1883_3 | +| ir.cpp:1883:11:1883:11 | ChiTotal | total:m1883_2 | +| ir.cpp:1883:11:1883:11 | Load | m0_20 | +| ir.cpp:1883:11:1883:11 | Load | m1883_6 | +| ir.cpp:1883:11:1883:11 | SideEffect | m0_14 | +| ir.cpp:1883:11:1883:11 | SideEffect | m1883_3 | +| ir.cpp:1888:12:1888:12 | Address | &:r1888_5 | +| ir.cpp:1888:12:1888:12 | Address | &:r1888_5 | +| ir.cpp:1888:12:1888:12 | Address | &:r1888_7 | +| ir.cpp:1888:12:1888:12 | Address | &:r1888_7 | +| ir.cpp:1888:12:1888:12 | Address | &:r1888_9 | +| ir.cpp:1888:12:1888:12 | Address | &:r1888_12 | +| ir.cpp:1888:12:1888:12 | Address | &:r1888_20 | +| ir.cpp:1888:12:1888:12 | Arg(this) | this:r0_5 | +| ir.cpp:1888:12:1888:12 | CallTarget | func:r1888_11 | +| ir.cpp:1888:12:1888:12 | ChiPartial | partial:m1888_3 | +| ir.cpp:1888:12:1888:12 | ChiPartial | partial:m1888_17 | +| ir.cpp:1888:12:1888:12 | ChiTotal | total:m1888_2 | +| ir.cpp:1888:12:1888:12 | ChiTotal | total:m1888_4 | +| ir.cpp:1888:12:1888:12 | Load | m0_2 | +| ir.cpp:1888:12:1888:12 | Load | m0_21 | +| ir.cpp:1888:12:1888:12 | Load | m1888_6 | +| ir.cpp:1888:12:1888:12 | Load | m1888_6 | +| ir.cpp:1888:12:1888:12 | SideEffect | m0_12 | +| ir.cpp:1888:12:1888:12 | SideEffect | ~m1888_4 | +| ir.cpp:1888:12:1888:12 | SideEffect | ~m1888_18 | +| ir.cpp:1888:12:1888:12 | Unary | r1888_10 | +| ir.cpp:1888:12:1888:12 | Unary | r1888_13 | +| ir.cpp:1888:12:1888:12 | Unary | r1888_14 | +| ir.cpp:1888:12:1888:12 | Unary | r1888_15 | +| ir.cpp:1888:12:1888:12 | Unary | r1888_16 | +| ir.cpp:1892:10:1892:12 | ChiPartial | partial:m1892_3 | +| ir.cpp:1892:10:1892:12 | ChiTotal | total:m1892_2 | +| ir.cpp:1892:10:1892:12 | SideEffect | ~m1894_18 | +| ir.cpp:1893:11:1893:11 | Address | &:r1893_1 | +| ir.cpp:1893:11:1893:11 | Address | &:r1893_1 | +| ir.cpp:1893:11:1893:11 | Arg(this) | this:r1893_1 | +| ir.cpp:1893:13:1893:13 | Address | &:r1893_4 | +| ir.cpp:1893:13:1893:13 | Address | &:r1893_4 | +| ir.cpp:1893:13:1893:13 | Arg(0) | 0:r1893_4 | +| ir.cpp:1893:13:1893:13 | ChiPartial | partial:m1893_11 | +| ir.cpp:1893:13:1893:13 | ChiTotal | total:m1893_7 | +| ir.cpp:1893:13:1893:13 | SideEffect | ~m1893_7 | +| ir.cpp:1893:13:1893:14 | CallTarget | func:r1893_3 | +| ir.cpp:1893:13:1893:14 | ChiPartial | partial:m1893_6 | +| ir.cpp:1893:13:1893:14 | ChiPartial | partial:m1893_9 | +| ir.cpp:1893:13:1893:14 | ChiTotal | total:m1892_4 | +| ir.cpp:1893:13:1893:14 | ChiTotal | total:m1893_2 | +| ir.cpp:1893:13:1893:14 | SideEffect | ~m1892_4 | +| ir.cpp:1894:9:1894:9 | Address | &:r1894_1 | +| ir.cpp:1894:9:1894:9 | Address | &:r1894_1 | +| ir.cpp:1894:9:1894:9 | Arg(this) | this:r1894_1 | +| ir.cpp:1894:9:1894:9 | ChiPartial | partial:m1894_21 | +| ir.cpp:1894:9:1894:9 | ChiTotal | total:m1893_10 | +| ir.cpp:1894:9:1894:9 | SideEffect | m1893_10 | +| ir.cpp:1894:11:1894:11 | CallTarget | func:r1894_2 | +| ir.cpp:1894:11:1894:11 | ChiPartial | partial:m1894_17 | +| ir.cpp:1894:11:1894:11 | ChiTotal | total:m1894_14 | +| ir.cpp:1894:11:1894:11 | SideEffect | ~m1894_14 | +| ir.cpp:1894:11:1894:11 | Unary | r1894_16 | +| ir.cpp:1894:13:1894:13 | Address | &:r1894_3 | +| ir.cpp:1894:13:1894:13 | Address | &:r1894_3 | +| ir.cpp:1894:13:1894:13 | Address | &:r1894_6 | +| ir.cpp:1894:13:1894:13 | Address | &:r1894_6 | +| ir.cpp:1894:13:1894:13 | Address | &:r1894_15 | +| ir.cpp:1894:13:1894:13 | Address | &:r1894_15 | +| ir.cpp:1894:13:1894:13 | Arg(0) | 0:r1894_6 | +| ir.cpp:1894:13:1894:13 | Arg(0) | 0:r1894_15 | +| ir.cpp:1894:13:1894:13 | Arg(this) | this:r1894_3 | +| ir.cpp:1894:13:1894:13 | CallTarget | func:r1894_5 | +| ir.cpp:1894:13:1894:13 | ChiPartial | partial:m1894_8 | +| ir.cpp:1894:13:1894:13 | ChiPartial | partial:m1894_11 | +| ir.cpp:1894:13:1894:13 | ChiPartial | partial:m1894_13 | +| ir.cpp:1894:13:1894:13 | ChiPartial | partial:m1894_23 | +| ir.cpp:1894:13:1894:13 | ChiTotal | total:m1893_12 | +| ir.cpp:1894:13:1894:13 | ChiTotal | total:m1894_4 | +| ir.cpp:1894:13:1894:13 | ChiTotal | total:m1894_9 | +| ir.cpp:1894:13:1894:13 | ChiTotal | total:m1894_12 | +| ir.cpp:1894:13:1894:13 | SideEffect | ~m1893_12 | +| ir.cpp:1894:13:1894:13 | SideEffect | ~m1894_9 | +| ir.cpp:1894:13:1894:13 | SideEffect | ~m1894_12 | +| ir.cpp:1894:13:1894:13 | Unary | r1894_3 | +| ir.cpp:1898:6:1898:14 | ChiPartial | partial:m1898_3 | +| ir.cpp:1898:6:1898:14 | ChiTotal | total:m1898_2 | +| ir.cpp:1898:6:1898:14 | SideEffect | m1898_3 | +| ir.cpp:1899:17:1899:18 | Address | &:r1899_1 | +| ir.cpp:1899:22:1899:40 | StoreValue | r1899_3 | +| ir.cpp:1899:22:1899:40 | Unary | r1899_2 | +| ir.cpp:1900:17:1900:23 | Address | &:r1900_1 | +| ir.cpp:1900:27:1900:34 | StoreValue | r1900_3 | +| ir.cpp:1900:27:1900:34 | Unary | r1900_2 | +| ir.cpp:1911:15:1911:15 | Address | &:r1911_5 | +| ir.cpp:1911:15:1911:15 | Address | &:r1911_5 | +| ir.cpp:1911:15:1911:15 | Address | &:r1911_7 | +| ir.cpp:1911:15:1911:15 | Address | &:r1911_7 | +| ir.cpp:1911:15:1911:15 | Address | &:r1911_15 | +| ir.cpp:1911:15:1911:15 | ChiPartial | partial:m1911_3 | +| ir.cpp:1911:15:1911:15 | ChiTotal | total:m1911_2 | +| ir.cpp:1911:15:1911:15 | Load | m1911_6 | +| ir.cpp:1911:15:1911:15 | Load | m1913_5 | +| ir.cpp:1911:15:1911:15 | SideEffect | m1911_3 | +| ir.cpp:1911:15:1911:15 | SideEffect | m1911_8 | +| ir.cpp:1911:47:1911:47 | Address | &:r1911_9 | +| ir.cpp:1911:47:1911:47 | Address | &:r1911_9 | +| ir.cpp:1911:47:1911:47 | Address | &:r1911_11 | +| ir.cpp:1911:47:1911:47 | Address | &:r1911_11 | +| ir.cpp:1911:47:1911:47 | Load | m1911_10 | +| ir.cpp:1911:47:1911:47 | SideEffect | m1911_12 | +| ir.cpp:1913:13:1913:21 | Address | &:r1913_1 | +| ir.cpp:1913:20:1913:20 | Address | &:r1913_2 | +| ir.cpp:1913:20:1913:20 | Load | m1911_10 | +| ir.cpp:1913:20:1913:20 | StoreValue | r1913_4 | +| ir.cpp:1913:20:1913:20 | Unary | r1913_3 | +| ir.cpp:1917:10:1917:14 | ChiPartial | partial:m1917_3 | +| ir.cpp:1917:10:1917:14 | ChiTotal | total:m1917_2 | +| ir.cpp:1917:10:1917:14 | SideEffect | ~m1919_12 | +| ir.cpp:1918:19:1918:19 | Address | &:r1918_1 | +| ir.cpp:1919:9:1919:9 | Address | &:r1919_1 | +| ir.cpp:1919:9:1919:9 | Address | &:r1919_1 | +| ir.cpp:1919:9:1919:9 | Arg(this) | this:r1919_1 | +| ir.cpp:1919:9:1919:9 | ChiPartial | partial:m1919_9 | +| ir.cpp:1919:9:1919:9 | ChiTotal | total:m1918_2 | +| ir.cpp:1919:9:1919:9 | SideEffect | m1918_2 | +| ir.cpp:1919:11:1919:33 | CallTarget | func:r1919_2 | +| ir.cpp:1919:11:1919:33 | ChiPartial | partial:m1919_5 | +| ir.cpp:1919:11:1919:33 | ChiTotal | total:m1917_4 | +| ir.cpp:1919:11:1919:33 | SideEffect | ~m1917_4 | +| ir.cpp:1919:35:1919:41 | Address | &:r1919_3 | +| ir.cpp:1919:35:1919:41 | Address | &:r1919_3 | +| ir.cpp:1919:35:1919:41 | Arg(0) | 0:r1919_3 | +| ir.cpp:1919:35:1919:41 | ChiPartial | partial:m1919_11 | +| ir.cpp:1919:35:1919:41 | ChiTotal | total:m1919_6 | +| ir.cpp:1919:35:1919:41 | SideEffect | ~m1919_6 | +| ir.cpp:1924:13:1924:13 | Address | &:r1924_5 | +| ir.cpp:1924:13:1924:13 | Address | &:r1924_5 | +| ir.cpp:1924:13:1924:13 | Address | &:r1924_7 | +| ir.cpp:1924:13:1924:13 | Address | &:r1924_7 | +| ir.cpp:1924:13:1924:13 | Address | &:r1924_10 | +| ir.cpp:1924:13:1924:13 | ChiPartial | partial:m1924_3 | +| ir.cpp:1924:13:1924:13 | ChiTotal | total:m1924_2 | +| ir.cpp:1924:13:1924:13 | Load | m1924_6 | +| ir.cpp:1924:13:1924:13 | Load | m1928_9 | +| ir.cpp:1924:13:1924:13 | SideEffect | m1924_3 | +| ir.cpp:1924:13:1924:13 | SideEffect | m1924_8 | +| ir.cpp:1925:13:1925:29 | Address | &:r1925_1 | +| ir.cpp:1925:13:1925:29 | Address | &:r1925_3 | +| ir.cpp:1926:13:1926:14 | Address | &:r1926_4 | +| ir.cpp:1926:13:1926:19 | ChiPartial | partial:m1926_5 | +| ir.cpp:1926:13:1926:19 | ChiTotal | total:m1925_2 | +| ir.cpp:1926:14:1926:14 | Unary | r1926_2 | +| ir.cpp:1926:14:1926:14 | Unary | r1926_3 | +| ir.cpp:1926:18:1926:19 | StoreValue | r1926_1 | +| ir.cpp:1927:13:1927:14 | Address | &:r1927_4 | +| ir.cpp:1927:13:1927:19 | ChiPartial | partial:m1927_5 | +| ir.cpp:1927:13:1927:19 | ChiTotal | total:m1925_4 | +| ir.cpp:1927:14:1927:14 | Unary | r1927_2 | +| ir.cpp:1927:14:1927:14 | Unary | r1927_3 | +| ir.cpp:1927:18:1927:19 | StoreValue | r1927_1 | +| ir.cpp:1928:13:1928:27 | Address | &:r1928_1 | +| ir.cpp:1928:20:1928:21 | Left | r1928_4 | +| ir.cpp:1928:20:1928:21 | Load | m1926_5 | +| ir.cpp:1928:20:1928:26 | StoreValue | r1928_8 | +| ir.cpp:1928:21:1928:21 | Address | &:r1928_3 | +| ir.cpp:1928:21:1928:21 | Unary | r1928_2 | +| ir.cpp:1928:25:1928:26 | Load | m1927_5 | +| ir.cpp:1928:25:1928:26 | Right | r1928_7 | +| ir.cpp:1928:26:1928:26 | Address | &:r1928_6 | +| ir.cpp:1928:26:1928:26 | Unary | r1928_5 | +| ir.cpp:1932:10:1932:14 | ChiPartial | partial:m1932_3 | +| ir.cpp:1932:10:1932:14 | ChiTotal | total:m1932_2 | +| ir.cpp:1932:10:1932:14 | SideEffect | ~m1934_5 | +| ir.cpp:1933:19:1933:19 | Address | &:r1933_1 | +| ir.cpp:1934:9:1934:9 | Address | &:r1934_1 | +| ir.cpp:1934:9:1934:9 | Address | &:r1934_1 | +| ir.cpp:1934:9:1934:9 | Arg(this) | this:r1934_1 | +| ir.cpp:1934:9:1934:9 | ChiPartial | partial:m1934_7 | +| ir.cpp:1934:9:1934:9 | ChiTotal | total:m1933_2 | +| ir.cpp:1934:9:1934:9 | SideEffect | m1933_2 | +| ir.cpp:1934:11:1934:50 | CallTarget | func:r1934_2 | +| ir.cpp:1934:11:1934:50 | ChiPartial | partial:m1934_4 | +| ir.cpp:1934:11:1934:50 | ChiTotal | total:m1932_4 | +| ir.cpp:1934:11:1934:50 | SideEffect | ~m1932_4 | +| ir.cpp:1938:24:1938:24 | Address | &:r1938_3 | +| ir.cpp:1938:24:1938:24 | Address | &:r1938_3 | +| ir.cpp:1938:24:1938:24 | SideEffect | ~m1938_6 | +| ir.cpp:1938:24:1938:24 | SideEffect | ~m1938_6 | +| ir.cpp:1938:42:1938:43 | ChiPartial | partial:m1938_5 | +| ir.cpp:1938:42:1938:43 | ChiPartial | partial:m1938_5 | +| ir.cpp:1938:42:1938:43 | ChiTotal | total:m1938_2 | +| ir.cpp:1938:42:1938:43 | ChiTotal | total:m1938_2 | +| ir.cpp:1938:42:1938:43 | StoreValue | r1938_4 | +| ir.cpp:1938:42:1938:43 | StoreValue | r1938_4 | +| ir.cpp:1940:5:1940:28 | Address | &:r1940_5 | +| ir.cpp:1940:5:1940:28 | ChiPartial | partial:m1940_3 | +| ir.cpp:1940:5:1940:28 | ChiTotal | total:m1940_2 | +| ir.cpp:1940:5:1940:28 | Load | m1943_8 | +| ir.cpp:1940:5:1940:28 | SideEffect | m1940_3 | +| ir.cpp:1941:9:1941:17 | Address | &:r1941_1 | +| ir.cpp:1941:21:1941:40 | Address | &:r1941_2 | +| ir.cpp:1941:21:1941:40 | Load | ~m1940_3 | +| ir.cpp:1941:21:1941:40 | StoreValue | r1941_3 | +| ir.cpp:1942:10:1942:19 | Address | &:r1942_1 | +| ir.cpp:1942:23:1942:43 | Address | &:r1942_2 | +| ir.cpp:1942:23:1942:43 | Load | ~m1940_3 | +| ir.cpp:1942:23:1942:43 | StoreValue | r1942_3 | +| ir.cpp:1943:5:1943:39 | Address | &:r1943_1 | +| ir.cpp:1943:12:1943:20 | Address | &:r1943_2 | +| ir.cpp:1943:12:1943:20 | Left | r1943_3 | +| ir.cpp:1943:12:1943:20 | Load | m1941_4 | +| ir.cpp:1943:12:1943:38 | StoreValue | r1943_7 | +| ir.cpp:1943:24:1943:38 | Right | r1943_6 | +| ir.cpp:1943:29:1943:38 | Address | &:r1943_4 | +| ir.cpp:1943:29:1943:38 | Load | m1942_4 | +| ir.cpp:1943:29:1943:38 | Unary | r1943_5 | +| ir.cpp:1948:5:1948:16 | Address | &:r1948_7 | +| ir.cpp:1948:5:1948:16 | ChiPartial | partial:m1948_3 | +| ir.cpp:1948:5:1948:16 | ChiTotal | total:m1948_2 | +| ir.cpp:1948:5:1948:16 | Load | m1950_4 | +| ir.cpp:1948:5:1948:16 | SideEffect | m1948_3 | +| ir.cpp:1948:22:1948:22 | Address | &:r1948_5 | +| ir.cpp:1949:9:1949:9 | Address | &:r1949_1 | +| ir.cpp:1949:9:1949:9 | Left | r1949_2 | +| ir.cpp:1949:9:1949:9 | Load | m1948_6 | +| ir.cpp:1949:9:1949:14 | Condition | r1949_4 | +| ir.cpp:1949:13:1949:14 | Right | r1949_3 | +| ir.cpp:1950:9:1950:17 | Address | &:r1950_1 | +| ir.cpp:1950:16:1950:16 | Address | &:r1950_2 | +| ir.cpp:1950:16:1950:16 | Load | m1948_6 | +| ir.cpp:1950:16:1950:16 | StoreValue | r1950_3 | +| ir.cpp:1952:9:1952:20 | CallTarget | func:r1952_1 | +| ir.cpp:1952:9:1952:20 | ChiPartial | partial:m1952_3 | +| ir.cpp:1952:9:1952:20 | ChiTotal | total:m1948_4 | +| ir.cpp:1952:9:1952:20 | SideEffect | ~m1948_4 | +| ir.cpp:1956:5:1956:17 | Address | &:r1956_8 | +| ir.cpp:1956:5:1956:17 | ChiPartial | partial:m1956_3 | +| ir.cpp:1956:5:1956:17 | ChiTotal | total:m1956_2 | +| ir.cpp:1956:5:1956:17 | Load | m1960_4 | +| ir.cpp:1956:5:1956:17 | SideEffect | m1956_3 | +| ir.cpp:1956:23:1956:23 | Address | &:r1956_5 | +| ir.cpp:1957:9:1957:9 | Address | &:r1957_1 | +| ir.cpp:1957:9:1957:9 | Left | r1957_2 | +| ir.cpp:1957:9:1957:9 | Load | m1956_6 | +| ir.cpp:1957:9:1957:14 | Condition | r1957_4 | +| ir.cpp:1957:13:1957:14 | Right | r1957_3 | +| ir.cpp:1958:9:1958:20 | CallTarget | func:r1958_1 | +| ir.cpp:1958:9:1958:20 | ChiPartial | partial:m1958_3 | +| ir.cpp:1958:9:1958:20 | ChiTotal | total:m1956_4 | +| ir.cpp:1958:9:1958:20 | SideEffect | ~m1956_4 | +| ir.cpp:1960:5:1960:13 | Address | &:r1960_1 | +| ir.cpp:1960:12:1960:12 | Address | &:r1960_2 | +| ir.cpp:1960:12:1960:12 | Load | m1956_6 | +| ir.cpp:1960:12:1960:12 | StoreValue | r1960_3 | +| ir.cpp:1963:5:1963:19 | Address | &:r1963_7 | +| ir.cpp:1963:5:1963:19 | ChiPartial | partial:m1963_3 | +| ir.cpp:1963:5:1963:19 | ChiTotal | total:m1963_2 | +| ir.cpp:1963:5:1963:19 | Load | m1964_4 | +| ir.cpp:1963:5:1963:19 | SideEffect | m1963_3 | +| ir.cpp:1963:25:1963:25 | Address | &:r1963_5 | +| ir.cpp:1964:5:1964:13 | Address | &:r1964_1 | +| ir.cpp:1964:12:1964:12 | Address | &:r1964_2 | +| ir.cpp:1964:12:1964:12 | Load | m1963_6 | +| ir.cpp:1964:12:1964:12 | StoreValue | r1964_3 | +| ir.cpp:1967:6:1967:43 | ChiPartial | partial:m1967_3 | +| ir.cpp:1967:6:1967:43 | ChiTotal | total:m1967_2 | +| ir.cpp:1967:6:1967:43 | SideEffect | ~m1975_6 | +| ir.cpp:1968:7:1968:7 | Address | &:r1968_1 | +| ir.cpp:1968:7:1968:7 | Address | &:r1968_1 | +| ir.cpp:1968:7:1968:7 | Arg(this) | this:r1968_1 | +| ir.cpp:1968:7:1968:7 | CallTarget | func:r1968_3 | +| ir.cpp:1968:7:1968:7 | ChiPartial | partial:m1968_5 | +| ir.cpp:1968:7:1968:7 | ChiPartial | partial:m1968_7 | +| ir.cpp:1968:7:1968:7 | ChiTotal | total:m1967_4 | +| ir.cpp:1968:7:1968:7 | ChiTotal | total:m1968_2 | +| ir.cpp:1968:7:1968:7 | SideEffect | ~m1967_4 | +| ir.cpp:1969:9:1969:9 | Address | &:r1969_1 | +| ir.cpp:1970:5:1970:5 | Address | &:r1970_7 | +| ir.cpp:1970:11:1970:30 | CallTarget | func:r1970_2 | +| ir.cpp:1970:11:1970:30 | ChiPartial | partial:m1970_5 | +| ir.cpp:1970:11:1970:30 | ChiTotal | total:m1968_6 | +| ir.cpp:1970:11:1970:30 | SideEffect | ~m1968_6 | +| ir.cpp:1970:11:1970:30 | StoreValue | r1970_4 | +| ir.cpp:1970:32:1970:33 | Arg(0) | 0:r1970_3 | +| ir.cpp:1971:9:1971:9 | Address | &:r1971_1 | +| ir.cpp:1972:5:1972:5 | Address | &:r1972_6 | +| ir.cpp:1972:9:1972:31 | CallTarget | func:r1972_1 | +| ir.cpp:1972:9:1972:31 | ChiPartial | partial:m1972_4 | +| ir.cpp:1972:9:1972:31 | ChiTotal | total:m1970_6 | +| ir.cpp:1972:9:1972:31 | SideEffect | ~m1970_6 | +| ir.cpp:1972:9:1972:31 | StoreValue | r1972_3 | +| ir.cpp:1972:33:1972:34 | Arg(0) | 0:r1972_2 | +| ir.cpp:1973:9:1973:9 | Address | &:r1973_1 | +| ir.cpp:1974:5:1974:5 | Address | &:r1974_6 | +| ir.cpp:1974:9:1974:23 | CallTarget | func:r1974_1 | +| ir.cpp:1974:9:1974:23 | ChiPartial | partial:m1974_4 | +| ir.cpp:1974:9:1974:23 | ChiTotal | total:m1972_5 | +| ir.cpp:1974:9:1974:23 | SideEffect | ~m1972_5 | +| ir.cpp:1974:9:1974:23 | StoreValue | r1974_3 | +| ir.cpp:1974:25:1974:26 | Arg(0) | 0:r1974_2 | +| ir.cpp:1975:1:1975:1 | Address | &:r1975_2 | +| ir.cpp:1975:1:1975:1 | Address | &:r1975_2 | +| ir.cpp:1975:1:1975:1 | Arg(this) | this:r1975_2 | +| ir.cpp:1975:1:1975:1 | CallTarget | func:r1975_3 | +| ir.cpp:1975:1:1975:1 | ChiPartial | partial:m1975_5 | +| ir.cpp:1975:1:1975:1 | ChiPartial | partial:m1975_8 | +| ir.cpp:1975:1:1975:1 | ChiTotal | total:m1968_8 | +| ir.cpp:1975:1:1975:1 | ChiTotal | total:m1974_5 | +| ir.cpp:1975:1:1975:1 | SideEffect | m1968_8 | +| ir.cpp:1975:1:1975:1 | SideEffect | ~m1974_5 | +| ir.cpp:1977:6:1977:23 | ChiPartial | partial:m1977_3 | +| ir.cpp:1977:6:1977:23 | ChiTotal | total:m1977_2 | +| ir.cpp:1977:6:1977:23 | SideEffect | m1977_3 | +| ir.cpp:1978:7:1978:7 | Address | &:r1978_1 | +| ir.cpp:1978:10:1978:10 | Address | &:r1978_3 | +| ir.cpp:1979:3:1979:3 | Address | &:r1979_5 | +| ir.cpp:1979:7:1979:7 | Address | &:r1979_2 | +| ir.cpp:1979:7:1979:7 | Address | &:r1979_2 | +| ir.cpp:1979:7:1979:12 | Load | m1979_3 | +| ir.cpp:1979:7:1979:12 | StoreValue | r1979_4 | +| ir.cpp:1979:11:1979:12 | StoreValue | r1979_1 | +| ir.cpp:1982:6:1982:38 | ChiPartial | partial:m1982_3 | +| ir.cpp:1982:6:1982:38 | ChiTotal | total:m1982_2 | +| ir.cpp:1982:6:1982:38 | SideEffect | m1982_3 | +| ir.cpp:1983:7:1983:7 | Address | &:r1983_1 | +| ir.cpp:1983:10:1983:10 | Address | &:r1983_3 | +| ir.cpp:1983:13:1983:14 | StoreValue | r1983_4 | +| ir.cpp:1984:3:1984:3 | Address | &:r1984_7 | +| ir.cpp:1984:8:1984:8 | Address | &:r1984_2 | +| ir.cpp:1984:8:1984:8 | Address | &:r1984_2 | +| ir.cpp:1984:8:1984:8 | Address | &:r1984_2 | +| ir.cpp:1984:8:1984:8 | Left | r1984_3 | +| ir.cpp:1984:8:1984:8 | Load | m1983_5 | +| ir.cpp:1984:8:1984:14 | Load | m1984_5 | +| ir.cpp:1984:8:1984:14 | StoreValue | r1984_4 | +| ir.cpp:1984:8:1984:14 | StoreValue | r1984_6 | +| ir.cpp:1984:13:1984:14 | Right | r1984_1 | +| ir.cpp:1991:15:1991:43 | Address | &:r1991_5 | +| ir.cpp:1991:15:1991:43 | ChiPartial | partial:m1991_3 | +| ir.cpp:1991:15:1991:43 | ChiTotal | total:m1991_2 | +| ir.cpp:1991:15:1991:43 | Load | m1992_4 | +| ir.cpp:1991:15:1991:43 | SideEffect | m1991_3 | +| ir.cpp:1992:9:1992:17 | Address | &:r1992_1 | +| ir.cpp:1992:16:1992:16 | StoreValue | r1992_3 | +| ir.cpp:1992:16:1992:16 | Unary | r1992_2 | +| ir.cpp:1994:14:1994:39 | Address | &:r1994_5 | +| ir.cpp:1994:14:1994:39 | ChiPartial | partial:m1994_3 | +| ir.cpp:1994:14:1994:39 | ChiTotal | total:m1994_2 | +| ir.cpp:1994:14:1994:39 | Load | m1995_4 | +| ir.cpp:1994:14:1994:39 | SideEffect | m1994_3 | +| ir.cpp:1995:9:1995:17 | Address | &:r1995_1 | +| ir.cpp:1995:16:1995:16 | Address | &:r1995_2 | +| ir.cpp:1995:16:1995:16 | Load | ~m1994_3 | +| ir.cpp:1995:16:1995:16 | StoreValue | r1995_3 | +| ir.cpp:1999:6:1999:55 | ChiPartial | partial:m1999_3 | +| ir.cpp:1999:6:1999:55 | ChiTotal | total:m1999_2 | +| ir.cpp:1999:6:1999:55 | SideEffect | ~m2014_4 | +| ir.cpp:2000:7:2000:7 | Address | &:r2000_1 | +| ir.cpp:2002:7:2002:35 | CallTarget | func:r2002_2 | +| ir.cpp:2002:7:2002:35 | ChiPartial | partial:m2002_4 | +| ir.cpp:2002:7:2002:35 | ChiTotal | total:m1999_4 | +| ir.cpp:2002:7:2002:35 | SideEffect | ~m1999_4 | +| ir.cpp:2002:7:2002:35 | Unary | r2002_3 | +| ir.cpp:2003:5:2003:36 | CallTarget | func:r2003_1 | +| ir.cpp:2003:5:2003:36 | ChiPartial | partial:m2003_3 | +| ir.cpp:2003:5:2003:36 | ChiTotal | total:m2002_5 | +| ir.cpp:2003:5:2003:36 | SideEffect | ~m2002_5 | +| ir.cpp:2003:5:2003:36 | Unary | r2003_2 | +| ir.cpp:2004:7:2004:32 | CallTarget | func:r2004_2 | +| ir.cpp:2004:7:2004:32 | ChiPartial | partial:m2004_4 | +| ir.cpp:2004:7:2004:32 | ChiTotal | total:m2003_4 | +| ir.cpp:2004:7:2004:32 | SideEffect | ~m2003_4 | +| ir.cpp:2005:5:2005:33 | CallTarget | func:r2005_1 | +| ir.cpp:2005:5:2005:33 | ChiPartial | partial:m2005_3 | +| ir.cpp:2005:5:2005:33 | ChiTotal | total:m2004_5 | +| ir.cpp:2005:5:2005:33 | SideEffect | ~m2004_5 | +| ir.cpp:2007:7:2007:7 | Address | &:r2007_1 | +| ir.cpp:2008:5:2008:5 | Address | &:r2008_7 | +| ir.cpp:2008:11:2008:39 | Address | &:r2008_3 | +| ir.cpp:2008:11:2008:39 | CallTarget | func:r2008_2 | +| ir.cpp:2008:11:2008:39 | ChiPartial | partial:m2008_4 | +| ir.cpp:2008:11:2008:39 | ChiTotal | total:m2005_4 | +| ir.cpp:2008:11:2008:39 | SideEffect | ~m2005_4 | +| ir.cpp:2008:40:2008:42 | Load | ~m2008_5 | +| ir.cpp:2008:40:2008:42 | StoreValue | r2008_6 | +| ir.cpp:2009:7:2009:7 | Address | &:r2009_1 | +| ir.cpp:2010:5:2010:5 | Address | &:r2010_6 | +| ir.cpp:2010:9:2010:40 | Address | &:r2010_2 | +| ir.cpp:2010:9:2010:40 | CallTarget | func:r2010_1 | +| ir.cpp:2010:9:2010:40 | ChiPartial | partial:m2010_3 | +| ir.cpp:2010:9:2010:40 | ChiTotal | total:m2008_5 | +| ir.cpp:2010:9:2010:40 | SideEffect | ~m2008_5 | +| ir.cpp:2010:41:2010:43 | Load | ~m2010_4 | +| ir.cpp:2010:41:2010:43 | StoreValue | r2010_5 | +| ir.cpp:2011:7:2011:7 | Address | &:r2011_1 | +| ir.cpp:2012:5:2012:5 | Address | &:r2012_6 | +| ir.cpp:2012:11:2012:36 | CallTarget | func:r2012_2 | +| ir.cpp:2012:11:2012:36 | ChiPartial | partial:m2012_4 | +| ir.cpp:2012:11:2012:36 | ChiTotal | total:m2010_4 | +| ir.cpp:2012:11:2012:36 | SideEffect | ~m2010_4 | +| ir.cpp:2012:11:2012:36 | StoreValue | r2012_3 | +| ir.cpp:2013:7:2013:7 | Address | &:r2013_1 | +| ir.cpp:2014:5:2014:5 | Address | &:r2014_5 | +| ir.cpp:2014:9:2014:37 | CallTarget | func:r2014_1 | +| ir.cpp:2014:9:2014:37 | ChiPartial | partial:m2014_3 | +| ir.cpp:2014:9:2014:37 | ChiTotal | total:m2012_5 | +| ir.cpp:2014:9:2014:37 | SideEffect | ~m2012_5 | +| ir.cpp:2014:9:2014:37 | StoreValue | r2014_2 | +| ir.cpp:2017:6:2017:18 | ChiPartial | partial:m2017_3 | +| ir.cpp:2017:6:2017:18 | ChiTotal | total:m2017_2 | +| ir.cpp:2017:6:2017:18 | SideEffect | m2017_3 | +| ir.cpp:2018:18:2018:18 | Address | &:r2018_1 | +| ir.cpp:2019:5:2019:5 | Address | &:r2019_1 | +| ir.cpp:2019:5:2019:5 | Load | m2018_2 | +| ir.cpp:2028:6:2028:24 | ChiPartial | partial:m2028_3 | +| ir.cpp:2028:6:2028:24 | ChiTotal | total:m2028_2 | +| ir.cpp:2028:6:2028:24 | SideEffect | ~m2036_5 | +| ir.cpp:2029:12:2029:12 | Address | &:r2029_1 | +| ir.cpp:2031:5:2031:19 | ChiPartial | partial:m2031_7 | +| ir.cpp:2031:5:2031:19 | ChiTotal | total:m2031_5 | +| ir.cpp:2031:7:2031:12 | CallTarget | func:r2031_2 | +| ir.cpp:2031:7:2031:12 | ChiPartial | partial:m2031_4 | +| ir.cpp:2031:7:2031:12 | ChiTotal | total:m2028_4 | +| ir.cpp:2031:7:2031:12 | SideEffect | ~m2028_4 | +| ir.cpp:2031:7:2031:12 | Unary | r2031_3 | +| ir.cpp:2031:13:2031:16 | Address | &:r2031_6 | +| ir.cpp:2032:5:2032:19 | ChiPartial | partial:m2032_7 | +| ir.cpp:2032:5:2032:19 | ChiTotal | total:m2032_5 | +| ir.cpp:2032:7:2032:12 | CallTarget | func:r2032_2 | +| ir.cpp:2032:7:2032:12 | ChiPartial | partial:m2032_4 | +| ir.cpp:2032:7:2032:12 | ChiTotal | total:m2031_8 | +| ir.cpp:2032:7:2032:12 | SideEffect | ~m2031_8 | +| ir.cpp:2032:7:2032:12 | Unary | r2032_3 | +| ir.cpp:2032:13:2032:16 | Address | &:r2032_6 | +| ir.cpp:2033:5:2033:15 | Address | &:r2033_1 | +| ir.cpp:2033:5:2033:15 | Address | &:r2033_1 | +| ir.cpp:2033:7:2033:13 | CallTarget | func:r2033_3 | +| ir.cpp:2033:7:2033:13 | ChiPartial | partial:m2033_5 | +| ir.cpp:2033:7:2033:13 | ChiTotal | total:m2032_8 | +| ir.cpp:2033:7:2033:13 | SideEffect | ~m2032_8 | +| ir.cpp:2033:7:2033:13 | StoreValue | r2033_4 | +| ir.cpp:2034:5:2034:18 | CallTarget | func:r2034_1 | +| ir.cpp:2034:5:2034:18 | ChiPartial | partial:m2034_3 | +| ir.cpp:2034:5:2034:18 | ChiTotal | total:m2033_6 | +| ir.cpp:2034:5:2034:18 | SideEffect | ~m2033_6 | +| ir.cpp:2034:5:2034:18 | Unary | r2034_2 | +| ir.cpp:2034:5:2034:25 | ChiPartial | partial:m2034_6 | +| ir.cpp:2034:5:2034:25 | ChiTotal | total:m2034_4 | +| ir.cpp:2034:19:2034:22 | Address | &:r2034_5 | +| ir.cpp:2035:5:2035:18 | CallTarget | func:r2035_1 | +| ir.cpp:2035:5:2035:18 | ChiPartial | partial:m2035_3 | +| ir.cpp:2035:5:2035:18 | ChiTotal | total:m2034_7 | +| ir.cpp:2035:5:2035:18 | SideEffect | ~m2034_7 | +| ir.cpp:2035:5:2035:18 | Unary | r2035_2 | +| ir.cpp:2035:5:2035:25 | ChiPartial | partial:m2035_6 | +| ir.cpp:2035:5:2035:25 | ChiTotal | total:m2035_4 | +| ir.cpp:2035:19:2035:22 | Address | &:r2035_5 | +| ir.cpp:2036:5:2036:19 | CallTarget | func:r2036_2 | +| ir.cpp:2036:5:2036:19 | ChiPartial | partial:m2036_4 | +| ir.cpp:2036:5:2036:19 | ChiTotal | total:m2035_7 | +| ir.cpp:2036:5:2036:19 | SideEffect | ~m2035_7 | +| ir.cpp:2036:5:2036:19 | StoreValue | r2036_3 | +| ir.cpp:2036:5:2036:21 | Address | &:r2036_1 | +| ir.cpp:2036:5:2036:21 | Address | &:r2036_1 | +| ir.cpp:2039:6:2039:21 | ChiPartial | partial:m2039_3 | +| ir.cpp:2039:6:2039:21 | ChiTotal | total:m2039_2 | +| ir.cpp:2039:6:2039:21 | SideEffect | ~m2043_6 | +| ir.cpp:2040:7:2040:7 | Address | &:r2040_1 | +| ir.cpp:2040:7:2040:7 | Address | &:r2040_1 | +| ir.cpp:2040:7:2040:7 | Arg(this) | this:r2040_1 | +| ir.cpp:2040:7:2040:7 | CallTarget | func:r2040_3 | +| ir.cpp:2040:7:2040:7 | ChiPartial | partial:m2040_5 | +| ir.cpp:2040:7:2040:7 | ChiPartial | partial:m2040_7 | +| ir.cpp:2040:7:2040:7 | ChiTotal | total:m2039_4 | +| ir.cpp:2040:7:2040:7 | ChiTotal | total:m2040_2 | +| ir.cpp:2040:7:2040:7 | SideEffect | ~m2039_4 | +| ir.cpp:2041:11:2041:13 | Address | &:r2041_1 | +| ir.cpp:2041:23:2041:45 | StoreValue | r2041_2 | +| ir.cpp:2042:5:2042:7 | Address | &:r2042_3 | +| ir.cpp:2042:13:2042:32 | StoreValue | r2042_2 | +| ir.cpp:2043:1:2043:1 | Address | &:r2043_2 | +| ir.cpp:2043:1:2043:1 | Address | &:r2043_2 | +| ir.cpp:2043:1:2043:1 | Arg(this) | this:r2043_2 | +| ir.cpp:2043:1:2043:1 | CallTarget | func:r2043_3 | +| ir.cpp:2043:1:2043:1 | ChiPartial | partial:m2043_5 | +| ir.cpp:2043:1:2043:1 | ChiPartial | partial:m2043_8 | +| ir.cpp:2043:1:2043:1 | ChiTotal | total:m2040_6 | +| ir.cpp:2043:1:2043:1 | ChiTotal | total:m2040_8 | +| ir.cpp:2043:1:2043:1 | SideEffect | m2040_8 | +| ir.cpp:2043:1:2043:1 | SideEffect | ~m2040_6 | +| ir.cpp:2045:6:2045:19 | ChiPartial | partial:m2045_3 | +| ir.cpp:2045:6:2045:19 | ChiTotal | total:m2045_2 | +| ir.cpp:2045:6:2045:19 | SideEffect | ~m2049_9 | +| ir.cpp:2045:26:2045:26 | Address | &:r2045_5 | +| ir.cpp:2045:33:2045:33 | Address | &:r2045_7 | +| ir.cpp:2045:40:2045:40 | Address | &:r2045_9 | +| ir.cpp:2045:47:2045:47 | Address | &:r2045_11 | +| ir.cpp:2046:5:2046:5 | Address | &:r2046_7 | +| ir.cpp:2046:9:2046:9 | Address | &:r2046_1 | +| ir.cpp:2046:9:2046:9 | Condition | r2046_2 | +| ir.cpp:2046:9:2046:9 | Load | m2045_6 | +| ir.cpp:2046:9:2046:17 | Address | &:r2046_5 | +| ir.cpp:2046:9:2046:17 | Address | &:r2046_11 | +| ir.cpp:2046:9:2046:17 | Address | &:r2046_15 | +| ir.cpp:2046:9:2046:17 | Load | m2046_4 | +| ir.cpp:2046:9:2046:17 | Phi | from 2:m2046_12 | +| ir.cpp:2046:9:2046:17 | Phi | from 3:m2046_16 | +| ir.cpp:2046:9:2046:17 | StoreValue | r2046_6 | +| ir.cpp:2046:13:2046:13 | Address | &:r2046_9 | +| ir.cpp:2046:13:2046:13 | Load | m2045_8 | +| ir.cpp:2046:13:2046:13 | StoreValue | r2046_10 | +| ir.cpp:2046:17:2046:17 | Address | &:r2046_13 | +| ir.cpp:2046:17:2046:17 | Load | m2045_10 | +| ir.cpp:2046:17:2046:17 | StoreValue | r2046_14 | +| ir.cpp:2047:5:2047:5 | Address | &:r2047_7 | +| ir.cpp:2047:9:2047:9 | Address | &:r2047_1 | +| ir.cpp:2047:9:2047:9 | Condition | r2047_2 | +| ir.cpp:2047:9:2047:9 | Load | m2045_6 | +| ir.cpp:2047:9:2047:17 | Address | &:r2047_5 | +| ir.cpp:2047:9:2047:17 | Address | &:r2047_11 | +| ir.cpp:2047:9:2047:17 | Address | &:r2047_14 | +| ir.cpp:2047:9:2047:17 | Load | m2047_4 | +| ir.cpp:2047:9:2047:17 | Phi | from 5:m2047_12 | +| ir.cpp:2047:9:2047:17 | Phi | from 6:m2047_15 | +| ir.cpp:2047:9:2047:17 | StoreValue | r2047_6 | +| ir.cpp:2047:13:2047:13 | Address | &:r2047_9 | +| ir.cpp:2047:13:2047:13 | Load | m2045_8 | +| ir.cpp:2047:13:2047:13 | StoreValue | r2047_10 | +| ir.cpp:2047:17:2047:17 | StoreValue | r2047_13 | +| ir.cpp:2048:5:2048:5 | Address | &:r2048_7 | +| ir.cpp:2048:9:2048:9 | Address | &:r2048_1 | +| ir.cpp:2048:9:2048:9 | Condition | r2048_2 | +| ir.cpp:2048:9:2048:9 | Load | m2045_6 | +| ir.cpp:2048:9:2048:17 | Address | &:r2048_5 | +| ir.cpp:2048:9:2048:17 | Address | &:r2048_10 | +| ir.cpp:2048:9:2048:17 | Address | &:r2048_13 | +| ir.cpp:2048:9:2048:17 | Load | m2048_4 | +| ir.cpp:2048:9:2048:17 | Phi | from 8:m2048_11 | +| ir.cpp:2048:9:2048:17 | Phi | from 9:m2048_14 | +| ir.cpp:2048:9:2048:17 | StoreValue | r2048_6 | +| ir.cpp:2048:13:2048:13 | StoreValue | r2048_9 | +| ir.cpp:2048:17:2048:17 | StoreValue | r2048_12 | +| ir.cpp:2049:5:2049:19 | ChiPartial | partial:m2049_8 | +| ir.cpp:2049:5:2049:19 | ChiTotal | total:m2045_4 | +| ir.cpp:2049:6:2049:6 | Address | &:r2049_2 | +| ir.cpp:2049:6:2049:6 | Condition | r2049_3 | +| ir.cpp:2049:6:2049:6 | Load | m2045_6 | +| ir.cpp:2049:6:2049:14 | Address | &:r2049_6 | +| ir.cpp:2049:6:2049:14 | Address | &:r2049_7 | +| ir.cpp:2049:6:2049:14 | Address | &:r2049_11 | +| ir.cpp:2049:6:2049:14 | Address | &:r2049_14 | +| ir.cpp:2049:6:2049:14 | Load | m2049_5 | +| ir.cpp:2049:6:2049:14 | Phi | from 11:m2049_12 | +| ir.cpp:2049:6:2049:14 | Phi | from 12:m2049_15 | +| ir.cpp:2049:10:2049:10 | StoreValue | r2049_10 | +| ir.cpp:2049:14:2049:14 | StoreValue | r2049_13 | +| ir.cpp:2049:19:2049:19 | StoreValue | r2049_1 | +| ir.cpp:2055:6:2055:22 | ChiPartial | partial:m2055_3 | +| ir.cpp:2055:6:2055:22 | ChiTotal | total:m2055_2 | +| ir.cpp:2055:6:2055:22 | SideEffect | m2055_3 | +| ir.cpp:2055:29:2055:29 | Address | &:r2055_5 | +| ir.cpp:2055:46:2055:46 | Address | &:r2055_7 | +| ir.cpp:2055:63:2055:63 | Address | &:r2055_9 | +| ir.cpp:2055:80:2055:80 | Address | &:r2055_11 | +| ir.cpp:2056:5:2056:5 | Address | &:r2056_7 | +| ir.cpp:2056:9:2056:9 | Address | &:r2056_1 | +| ir.cpp:2056:9:2056:9 | Condition | r2056_2 | +| ir.cpp:2056:9:2056:9 | Load | m2055_6 | +| ir.cpp:2056:9:2056:17 | Address | &:r2056_5 | +| ir.cpp:2056:9:2056:17 | Address | &:r2056_11 | +| ir.cpp:2056:9:2056:17 | Address | &:r2056_15 | +| ir.cpp:2056:9:2056:17 | Load | m2056_4 | +| ir.cpp:2056:9:2056:17 | Phi | from 2:m2056_12 | +| ir.cpp:2056:9:2056:17 | Phi | from 3:m2056_16 | +| ir.cpp:2056:9:2056:17 | StoreValue | r2056_6 | +| ir.cpp:2056:13:2056:13 | Address | &:r2056_9 | +| ir.cpp:2056:13:2056:13 | Load | m2055_8 | +| ir.cpp:2056:13:2056:13 | StoreValue | r2056_10 | +| ir.cpp:2056:17:2056:17 | Address | &:r2056_13 | +| ir.cpp:2056:17:2056:17 | Load | m2055_10 | +| ir.cpp:2056:17:2056:17 | StoreValue | r2056_14 | +| ir.cpp:2057:5:2057:5 | Address | &:r2057_10 | +| ir.cpp:2057:9:2057:9 | Address | &:r2057_2 | +| ir.cpp:2057:9:2057:9 | Address | &:r2057_6 | +| ir.cpp:2057:9:2057:9 | Address | &:r2057_17 | +| ir.cpp:2057:9:2057:9 | Address | &:r2057_23 | +| ir.cpp:2057:9:2057:9 | Condition | r2057_3 | +| ir.cpp:2057:9:2057:9 | Load | m2055_6 | +| ir.cpp:2057:9:2057:9 | Load | m2057_5 | +| ir.cpp:2057:9:2057:9 | Phi | from 5:m2057_18 | +| ir.cpp:2057:9:2057:9 | Phi | from 6:m2057_24 | +| ir.cpp:2057:9:2057:9 | StoreValue | r2057_7 | +| ir.cpp:2057:9:2057:31 | Address | &:r2057_1 | +| ir.cpp:2057:9:2057:31 | Address | &:r2057_1 | +| ir.cpp:2057:9:2057:31 | Load | m2057_8 | +| ir.cpp:2057:9:2057:31 | StoreValue | r2057_9 | +| ir.cpp:2057:13:2057:13 | Address | &:r2057_12 | +| ir.cpp:2057:13:2057:13 | Address | &:r2057_12 | +| ir.cpp:2057:13:2057:13 | Address | &:r2057_13 | +| ir.cpp:2057:13:2057:13 | Load | m2055_8 | +| ir.cpp:2057:13:2057:13 | Load | m2057_15 | +| ir.cpp:2057:13:2057:13 | StoreValue | r2057_14 | +| ir.cpp:2057:13:2057:13 | StoreValue | r2057_16 | +| ir.cpp:2057:17:2057:31 | Address | &:r2057_19 | +| ir.cpp:2057:17:2057:31 | Address | &:r2057_19 | +| ir.cpp:2057:17:2057:31 | Load | m2057_21 | +| ir.cpp:2057:17:2057:31 | StoreValue | r2057_20 | +| ir.cpp:2057:17:2057:31 | StoreValue | r2057_22 | +| ir.cpp:2058:5:2058:5 | Address | &:r2058_10 | +| ir.cpp:2058:9:2058:9 | Address | &:r2058_2 | +| ir.cpp:2058:9:2058:9 | Address | &:r2058_6 | +| ir.cpp:2058:9:2058:9 | Address | &:r2058_16 | +| ir.cpp:2058:9:2058:9 | Address | &:r2058_22 | +| ir.cpp:2058:9:2058:9 | Condition | r2058_3 | +| ir.cpp:2058:9:2058:9 | Load | m2055_6 | +| ir.cpp:2058:9:2058:9 | Load | m2058_5 | +| ir.cpp:2058:9:2058:9 | Phi | from 8:m2058_17 | +| ir.cpp:2058:9:2058:9 | Phi | from 9:m2058_23 | +| ir.cpp:2058:9:2058:9 | StoreValue | r2058_7 | +| ir.cpp:2058:9:2058:45 | Address | &:r2058_1 | +| ir.cpp:2058:9:2058:45 | Address | &:r2058_1 | +| ir.cpp:2058:9:2058:45 | Load | m2058_8 | +| ir.cpp:2058:9:2058:45 | StoreValue | r2058_9 | +| ir.cpp:2058:13:2058:27 | Address | &:r2058_12 | +| ir.cpp:2058:13:2058:27 | Address | &:r2058_12 | +| ir.cpp:2058:13:2058:27 | Load | m2058_14 | +| ir.cpp:2058:13:2058:27 | StoreValue | r2058_13 | +| ir.cpp:2058:13:2058:27 | StoreValue | r2058_15 | +| ir.cpp:2058:31:2058:45 | Address | &:r2058_18 | +| ir.cpp:2058:31:2058:45 | Address | &:r2058_18 | +| ir.cpp:2058:31:2058:45 | Load | m2058_20 | +| ir.cpp:2058:31:2058:45 | StoreValue | r2058_19 | +| ir.cpp:2058:31:2058:45 | StoreValue | r2058_21 | +| ir.cpp:2059:6:2059:6 | Address | &:r2059_11 | +| ir.cpp:2059:6:2059:6 | Unary | r2059_11 | +| ir.cpp:2059:6:2059:18 | Address | &:r2059_13 | +| ir.cpp:2059:10:2059:10 | Address | &:r2059_5 | +| ir.cpp:2059:10:2059:10 | Condition | r2059_6 | +| ir.cpp:2059:10:2059:10 | Load | m2055_6 | +| ir.cpp:2059:10:2059:18 | Address | &:r2059_9 | +| ir.cpp:2059:10:2059:18 | Address | &:r2059_17 | +| ir.cpp:2059:10:2059:18 | Address | &:r2059_21 | +| ir.cpp:2059:10:2059:18 | Load | m2059_8 | +| ir.cpp:2059:10:2059:18 | Phi | from 11:m2059_18 | +| ir.cpp:2059:10:2059:18 | Phi | from 12:m2059_22 | +| ir.cpp:2059:10:2059:18 | StoreValue | r2059_10 | +| ir.cpp:2059:14:2059:14 | Address | &:r2059_15 | +| ir.cpp:2059:14:2059:14 | Load | m2055_8 | +| ir.cpp:2059:14:2059:14 | StoreValue | r2059_16 | +| ir.cpp:2059:18:2059:18 | Address | &:r2059_19 | +| ir.cpp:2059:18:2059:18 | Load | m2055_10 | +| ir.cpp:2059:18:2059:18 | StoreValue | r2059_20 | +| ir.cpp:2059:23:2059:37 | Address | &:r2059_1 | +| ir.cpp:2059:23:2059:37 | Address | &:r2059_1 | +| ir.cpp:2059:23:2059:37 | Load | m2059_3 | +| ir.cpp:2059:23:2059:37 | StoreValue | r2059_2 | +| ir.cpp:2059:23:2059:37 | StoreValue | r2059_4 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | +| ir.cpp:2062:8:2062:8 | Address | &:r2062_10 | +| ir.cpp:2062:8:2062:8 | ChiPartial | partial:m2062_3 | +| ir.cpp:2062:8:2062:8 | ChiPartial | partial:m2062_3 | +| ir.cpp:2062:8:2062:8 | ChiPartial | partial:m2062_3 | +| ir.cpp:2062:8:2062:8 | ChiTotal | total:m2062_2 | +| ir.cpp:2062:8:2062:8 | ChiTotal | total:m2062_2 | +| ir.cpp:2062:8:2062:8 | ChiTotal | total:m2062_2 | +| ir.cpp:2062:8:2062:8 | Load | m0_10 | +| ir.cpp:2062:8:2062:8 | Load | m2062_6 | +| ir.cpp:2062:8:2062:8 | Load | m2062_6 | +| ir.cpp:2062:8:2062:8 | Load | m2062_6 | +| ir.cpp:2062:8:2062:8 | SideEffect | m2062_3 | +| ir.cpp:2062:8:2062:8 | SideEffect | m2062_3 | +| ir.cpp:2062:8:2062:8 | SideEffect | m2062_3 | +| ir.cpp:2062:8:2062:8 | SideEffect | m2062_8 | +| ir.cpp:2062:8:2062:8 | SideEffect | m2062_8 | +| ir.cpp:2062:8:2062:8 | SideEffect | m2062_8 | +| ir.cpp:2063:13:2063:29 | Address | &:r2063_5 | +| ir.cpp:2063:13:2063:29 | Address | &:r2063_5 | +| ir.cpp:2063:13:2063:29 | Address | &:r2063_7 | +| ir.cpp:2063:13:2063:29 | Address | &:r2063_7 | +| ir.cpp:2063:13:2063:29 | ChiPartial | partial:m2063_3 | +| ir.cpp:2063:13:2063:29 | ChiTotal | total:m2063_2 | +| ir.cpp:2063:13:2063:29 | Load | m2063_6 | +| ir.cpp:2063:13:2063:29 | SideEffect | m2063_3 | +| ir.cpp:2063:13:2063:29 | SideEffect | m2063_8 | +| ir.cpp:2066:6:2066:25 | ChiPartial | partial:m2066_3 | +| ir.cpp:2066:6:2066:25 | ChiTotal | total:m2066_2 | +| ir.cpp:2066:6:2066:25 | SideEffect | ~m2070_32 | +| ir.cpp:2066:32:2066:32 | Address | &:r2066_5 | +| ir.cpp:2066:52:2066:52 | Address | &:r2066_7 | +| ir.cpp:2066:72:2066:72 | Address | &:r2066_9 | +| ir.cpp:2066:92:2066:92 | Address | &:r2066_11 | +| ir.cpp:2067:5:2067:5 | Address | &:r2067_1 | +| ir.cpp:2067:5:2067:5 | Address | &:r2067_1 | +| ir.cpp:2067:5:2067:5 | Arg(this) | this:r2067_1 | +| ir.cpp:2067:5:2067:5 | ChiPartial | partial:m2067_16 | +| ir.cpp:2067:5:2067:5 | ChiTotal | total:m2066_12 | +| ir.cpp:2067:5:2067:5 | SideEffect | m2066_12 | +| ir.cpp:2067:7:2067:7 | CallTarget | func:r2067_2 | +| ir.cpp:2067:7:2067:7 | ChiPartial | partial:m2067_12 | +| ir.cpp:2067:7:2067:7 | ChiTotal | total:m2066_4 | +| ir.cpp:2067:7:2067:7 | SideEffect | ~m2066_4 | +| ir.cpp:2067:7:2067:7 | Unary | r2067_11 | +| ir.cpp:2067:9:2067:9 | Address | &:r2067_3 | +| ir.cpp:2067:9:2067:9 | Condition | r2067_4 | +| ir.cpp:2067:9:2067:9 | Load | m2066_6 | +| ir.cpp:2067:9:2067:17 | Address | &:r2067_7 | +| ir.cpp:2067:9:2067:17 | Address | &:r2067_10 | +| ir.cpp:2067:9:2067:17 | Address | &:r2067_20 | +| ir.cpp:2067:9:2067:17 | Address | &:r2067_23 | +| ir.cpp:2067:9:2067:17 | Arg(0) | 0:r2067_10 | +| ir.cpp:2067:9:2067:17 | Load | m2067_6 | +| ir.cpp:2067:9:2067:17 | Phi | from 2:m2067_21 | +| ir.cpp:2067:9:2067:17 | Phi | from 3:m2067_24 | +| ir.cpp:2067:9:2067:17 | SideEffect | ~m2067_13 | +| ir.cpp:2067:9:2067:17 | Unary | r2067_8 | +| ir.cpp:2067:9:2067:17 | Unary | r2067_9 | +| ir.cpp:2067:13:2067:13 | StoreValue | r2067_19 | +| ir.cpp:2067:17:2067:17 | StoreValue | r2067_22 | +| ir.cpp:2068:5:2068:5 | Address | &:r2068_1 | +| ir.cpp:2068:5:2068:5 | Address | &:r2068_1 | +| ir.cpp:2068:5:2068:5 | Arg(this) | this:r2068_1 | +| ir.cpp:2068:5:2068:5 | ChiPartial | partial:m2068_19 | +| ir.cpp:2068:5:2068:5 | ChiTotal | total:m2067_17 | +| ir.cpp:2068:5:2068:5 | SideEffect | m2067_17 | +| ir.cpp:2068:7:2068:7 | CallTarget | func:r2068_2 | +| ir.cpp:2068:7:2068:7 | ChiPartial | partial:m2068_15 | +| ir.cpp:2068:7:2068:7 | ChiTotal | total:m2068_7 | +| ir.cpp:2068:7:2068:7 | SideEffect | ~m2068_7 | +| ir.cpp:2068:7:2068:7 | Unary | r2068_14 | +| ir.cpp:2068:9:2068:9 | Address | &:r2068_4 | +| ir.cpp:2068:9:2068:9 | Address | &:r2068_9 | +| ir.cpp:2068:9:2068:9 | Address | &:r2068_35 | +| ir.cpp:2068:9:2068:9 | Address | &:r2068_46 | +| ir.cpp:2068:9:2068:9 | Condition | r2068_5 | +| ir.cpp:2068:9:2068:9 | Load | m2066_6 | +| ir.cpp:2068:9:2068:9 | Load | m2068_8 | +| ir.cpp:2068:9:2068:9 | Phi | from 5:m2068_36 | +| ir.cpp:2068:9:2068:9 | Phi | from 5:~m2068_30 | +| ir.cpp:2068:9:2068:9 | Phi | from 6:m2068_47 | +| ir.cpp:2068:9:2068:9 | Phi | from 6:~m2068_42 | +| ir.cpp:2068:9:2068:9 | StoreValue | r2068_10 | +| ir.cpp:2068:9:2068:34 | Address | &:r2068_3 | +| ir.cpp:2068:9:2068:34 | Address | &:r2068_13 | +| ir.cpp:2068:9:2068:34 | Arg(0) | 0:r2068_13 | +| ir.cpp:2068:9:2068:34 | SideEffect | ~m2068_11 | +| ir.cpp:2068:9:2068:34 | Unary | r2068_3 | +| ir.cpp:2068:9:2068:34 | Unary | r2068_12 | +| ir.cpp:2068:13:2068:13 | Address | &:r2068_22 | +| ir.cpp:2068:13:2068:13 | Address | &:r2068_22 | +| ir.cpp:2068:13:2068:13 | Address | &:r2068_22 | +| ir.cpp:2068:13:2068:13 | Address | &:r2068_27 | +| ir.cpp:2068:13:2068:13 | Arg(0) | 0:r2068_27 | +| ir.cpp:2068:13:2068:13 | Arg(this) | this:r2068_22 | +| ir.cpp:2068:13:2068:13 | CallTarget | func:r2068_24 | +| ir.cpp:2068:13:2068:13 | ChiPartial | partial:m2068_29 | +| ir.cpp:2068:13:2068:13 | ChiPartial | partial:m2068_32 | +| ir.cpp:2068:13:2068:13 | ChiTotal | total:m2067_13 | +| ir.cpp:2068:13:2068:13 | ChiTotal | total:m2068_23 | +| ir.cpp:2068:13:2068:13 | Load | m2068_33 | +| ir.cpp:2068:13:2068:13 | SideEffect | ~m2066_8 | +| ir.cpp:2068:13:2068:13 | SideEffect | ~m2067_13 | +| ir.cpp:2068:13:2068:13 | StoreValue | r2068_34 | +| ir.cpp:2068:13:2068:13 | Unary | r2068_25 | +| ir.cpp:2068:13:2068:13 | Unary | r2068_26 | +| ir.cpp:2068:17:2068:34 | Address | &:r2068_37 | +| ir.cpp:2068:17:2068:34 | Address | &:r2068_37 | +| ir.cpp:2068:17:2068:34 | Address | &:r2068_37 | +| ir.cpp:2068:17:2068:34 | Arg(this) | this:r2068_37 | +| ir.cpp:2068:17:2068:34 | CallTarget | func:r2068_39 | +| ir.cpp:2068:17:2068:34 | ChiPartial | partial:m2068_41 | +| ir.cpp:2068:17:2068:34 | ChiPartial | partial:m2068_43 | +| ir.cpp:2068:17:2068:34 | ChiTotal | total:m2067_13 | +| ir.cpp:2068:17:2068:34 | ChiTotal | total:m2068_38 | +| ir.cpp:2068:17:2068:34 | Load | m2068_44 | +| ir.cpp:2068:17:2068:34 | SideEffect | ~m2067_13 | +| ir.cpp:2068:17:2068:34 | StoreValue | r2068_45 | +| ir.cpp:2069:5:2069:5 | Address | &:r2069_1 | +| ir.cpp:2069:5:2069:5 | Address | &:r2069_1 | +| ir.cpp:2069:5:2069:5 | Arg(this) | this:r2069_1 | +| ir.cpp:2069:5:2069:5 | ChiPartial | partial:m2069_19 | +| ir.cpp:2069:5:2069:5 | ChiTotal | total:m2068_20 | +| ir.cpp:2069:5:2069:5 | SideEffect | m2068_20 | +| ir.cpp:2069:7:2069:7 | CallTarget | func:r2069_2 | +| ir.cpp:2069:7:2069:7 | ChiPartial | partial:m2069_15 | +| ir.cpp:2069:7:2069:7 | ChiTotal | total:m2069_7 | +| ir.cpp:2069:7:2069:7 | SideEffect | ~m2069_7 | +| ir.cpp:2069:7:2069:7 | Unary | r2069_14 | +| ir.cpp:2069:9:2069:9 | Address | &:r2069_4 | +| ir.cpp:2069:9:2069:9 | Address | &:r2069_9 | +| ir.cpp:2069:9:2069:9 | Address | &:r2069_31 | +| ir.cpp:2069:9:2069:9 | Address | &:r2069_42 | +| ir.cpp:2069:9:2069:9 | Condition | r2069_5 | +| ir.cpp:2069:9:2069:9 | Load | m2066_6 | +| ir.cpp:2069:9:2069:9 | Load | m2069_8 | +| ir.cpp:2069:9:2069:9 | Phi | from 8:m2069_32 | +| ir.cpp:2069:9:2069:9 | Phi | from 8:~m2069_27 | +| ir.cpp:2069:9:2069:9 | Phi | from 9:m2069_43 | +| ir.cpp:2069:9:2069:9 | Phi | from 9:~m2069_38 | +| ir.cpp:2069:9:2069:9 | StoreValue | r2069_10 | +| ir.cpp:2069:9:2069:51 | Address | &:r2069_3 | +| ir.cpp:2069:9:2069:51 | Address | &:r2069_13 | +| ir.cpp:2069:9:2069:51 | Arg(0) | 0:r2069_13 | +| ir.cpp:2069:9:2069:51 | SideEffect | ~m2069_11 | +| ir.cpp:2069:9:2069:51 | Unary | r2069_3 | +| ir.cpp:2069:9:2069:51 | Unary | r2069_12 | +| ir.cpp:2069:13:2069:30 | Address | &:r2069_22 | +| ir.cpp:2069:13:2069:30 | Address | &:r2069_22 | +| ir.cpp:2069:13:2069:30 | Address | &:r2069_22 | +| ir.cpp:2069:13:2069:30 | Arg(this) | this:r2069_22 | +| ir.cpp:2069:13:2069:30 | CallTarget | func:r2069_24 | +| ir.cpp:2069:13:2069:30 | ChiPartial | partial:m2069_26 | +| ir.cpp:2069:13:2069:30 | ChiPartial | partial:m2069_28 | +| ir.cpp:2069:13:2069:30 | ChiTotal | total:m2068_16 | +| ir.cpp:2069:13:2069:30 | ChiTotal | total:m2069_23 | +| ir.cpp:2069:13:2069:30 | Load | m2069_29 | +| ir.cpp:2069:13:2069:30 | SideEffect | ~m2068_16 | +| ir.cpp:2069:13:2069:30 | StoreValue | r2069_30 | +| ir.cpp:2069:34:2069:51 | Address | &:r2069_33 | +| ir.cpp:2069:34:2069:51 | Address | &:r2069_33 | +| ir.cpp:2069:34:2069:51 | Address | &:r2069_33 | +| ir.cpp:2069:34:2069:51 | Arg(this) | this:r2069_33 | +| ir.cpp:2069:34:2069:51 | CallTarget | func:r2069_35 | +| ir.cpp:2069:34:2069:51 | ChiPartial | partial:m2069_37 | +| ir.cpp:2069:34:2069:51 | ChiPartial | partial:m2069_39 | +| ir.cpp:2069:34:2069:51 | ChiTotal | total:m2068_16 | +| ir.cpp:2069:34:2069:51 | ChiTotal | total:m2069_34 | +| ir.cpp:2069:34:2069:51 | Load | m2069_40 | +| ir.cpp:2069:34:2069:51 | SideEffect | ~m2068_16 | +| ir.cpp:2069:34:2069:51 | StoreValue | r2069_41 | +| ir.cpp:2070:5:2070:19 | ChiPartial | partial:m2070_35 | +| ir.cpp:2070:5:2070:19 | ChiTotal | total:m2070_17 | +| ir.cpp:2070:5:2070:19 | SideEffect | m2070_17 | +| ir.cpp:2070:6:2070:6 | Address | &:r2070_1 | +| ir.cpp:2070:6:2070:6 | Address | &:r2070_1 | +| ir.cpp:2070:6:2070:6 | Arg(this) | this:r2070_1 | +| ir.cpp:2070:6:2070:6 | ChiPartial | partial:m2070_16 | +| ir.cpp:2070:6:2070:6 | ChiTotal | total:m2069_20 | +| ir.cpp:2070:6:2070:6 | SideEffect | m2069_20 | +| ir.cpp:2070:8:2070:8 | CallTarget | func:r2070_2 | +| ir.cpp:2070:8:2070:8 | ChiPartial | partial:m2070_12 | +| ir.cpp:2070:8:2070:8 | ChiTotal | total:m2069_16 | +| ir.cpp:2070:8:2070:8 | SideEffect | ~m2069_16 | +| ir.cpp:2070:8:2070:8 | Unary | r2070_11 | +| ir.cpp:2070:8:2070:19 | Address | &:r2070_18 | +| ir.cpp:2070:8:2070:19 | Address | &:r2070_18 | +| ir.cpp:2070:8:2070:19 | Arg(this) | this:r2070_18 | +| ir.cpp:2070:10:2070:10 | Address | &:r2070_3 | +| ir.cpp:2070:10:2070:10 | Condition | r2070_4 | +| ir.cpp:2070:10:2070:10 | Load | m2066_6 | +| ir.cpp:2070:10:2070:18 | Address | &:r2070_7 | +| ir.cpp:2070:10:2070:18 | Address | &:r2070_10 | +| ir.cpp:2070:10:2070:18 | Address | &:r2070_39 | +| ir.cpp:2070:10:2070:18 | Address | &:r2070_42 | +| ir.cpp:2070:10:2070:18 | Arg(0) | 0:r2070_10 | +| ir.cpp:2070:10:2070:18 | Load | m2070_6 | +| ir.cpp:2070:10:2070:18 | Phi | from 11:m2070_40 | +| ir.cpp:2070:10:2070:18 | Phi | from 12:m2070_43 | +| ir.cpp:2070:10:2070:18 | SideEffect | ~m2070_13 | +| ir.cpp:2070:10:2070:18 | Unary | r2070_8 | +| ir.cpp:2070:10:2070:18 | Unary | r2070_9 | +| ir.cpp:2070:14:2070:14 | StoreValue | r2070_38 | +| ir.cpp:2070:18:2070:18 | StoreValue | r2070_41 | +| ir.cpp:2070:21:2070:21 | CallTarget | func:r2070_19 | +| ir.cpp:2070:21:2070:21 | ChiPartial | partial:m2070_31 | +| ir.cpp:2070:21:2070:21 | ChiTotal | total:m2070_25 | +| ir.cpp:2070:21:2070:21 | SideEffect | ~m2070_25 | +| ir.cpp:2070:21:2070:21 | Unary | r2070_30 | +| ir.cpp:2070:23:2070:40 | Address | &:r2070_20 | +| ir.cpp:2070:23:2070:40 | Address | &:r2070_20 | +| ir.cpp:2070:23:2070:40 | Address | &:r2070_29 | +| ir.cpp:2070:23:2070:40 | Arg(0) | 0:r2070_29 | +| ir.cpp:2070:23:2070:40 | Arg(this) | this:r2070_20 | +| ir.cpp:2070:23:2070:40 | CallTarget | func:r2070_22 | +| ir.cpp:2070:23:2070:40 | ChiPartial | partial:m2070_24 | +| ir.cpp:2070:23:2070:40 | ChiPartial | partial:m2070_26 | +| ir.cpp:2070:23:2070:40 | ChiTotal | total:m2070_13 | +| ir.cpp:2070:23:2070:40 | ChiTotal | total:m2070_21 | +| ir.cpp:2070:23:2070:40 | SideEffect | ~m2070_13 | +| ir.cpp:2070:23:2070:40 | SideEffect | ~m2070_27 | +| ir.cpp:2070:23:2070:40 | Unary | r2070_20 | +| ir.cpp:2070:23:2070:40 | Unary | r2070_28 | +| ir.cpp:2075:14:2075:22 | Address | &:r2075_7 | +| ir.cpp:2075:14:2075:22 | ChiPartial | partial:m2075_3 | +| ir.cpp:2075:14:2075:22 | ChiTotal | total:m2075_2 | +| ir.cpp:2075:14:2075:22 | Load | m2080_2 | +| ir.cpp:2075:14:2075:22 | SideEffect | ~m2077_6 | +| ir.cpp:2075:37:2075:37 | Address | &:r2075_5 | +| ir.cpp:2076:16:2076:16 | Address | &:r2076_1 | +| ir.cpp:2077:3:2077:3 | Address | &:r2077_10 | +| ir.cpp:2077:7:2077:7 | Address | &:r2077_1 | +| ir.cpp:2077:7:2077:7 | Left | r2077_2 | +| ir.cpp:2077:7:2077:7 | Load | m2075_6 | +| ir.cpp:2077:7:2077:13 | Condition | r2077_4 | +| ir.cpp:2077:7:2079:28 | Address | &:r2077_8 | +| ir.cpp:2077:7:2079:28 | Address | &:r2077_12 | +| ir.cpp:2077:7:2079:28 | Address | &:r2077_14 | +| ir.cpp:2077:7:2079:28 | Load | m2077_7 | +| ir.cpp:2077:7:2079:28 | Phi | from 2:m2077_13 | +| ir.cpp:2077:7:2079:28 | Phi | from 2:~m2078_6 | +| ir.cpp:2077:7:2079:28 | Phi | from 3:m2077_15 | +| ir.cpp:2077:7:2079:28 | Phi | from 3:~m2079_6 | +| ir.cpp:2077:7:2079:28 | StoreValue | r2077_9 | +| ir.cpp:2077:11:2077:13 | Right | r2077_3 | +| ir.cpp:2078:6:2078:20 | CallTarget | func:r2078_1 | +| ir.cpp:2078:6:2078:20 | ChiPartial | partial:m2078_5 | +| ir.cpp:2078:6:2078:20 | ChiTotal | total:m2075_4 | +| ir.cpp:2078:6:2078:20 | SideEffect | ~m2075_4 | +| ir.cpp:2078:6:2078:26 | StoreValue | r2078_9 | +| ir.cpp:2078:22:2078:22 | Address | &:r2078_2 | +| ir.cpp:2078:22:2078:22 | Arg(0) | 0:r2078_3 | +| ir.cpp:2078:22:2078:22 | Load | m2075_6 | +| ir.cpp:2078:26:2078:26 | Address | &:r2078_7 | +| ir.cpp:2078:26:2078:26 | Load | m2075_6 | +| ir.cpp:2078:26:2078:26 | Unary | r2078_8 | +| ir.cpp:2079:5:2079:28 | StoreValue | r2079_9 | +| ir.cpp:2079:6:2079:20 | CallTarget | func:r2079_1 | +| ir.cpp:2079:6:2079:20 | ChiPartial | partial:m2079_5 | +| ir.cpp:2079:6:2079:20 | ChiTotal | total:m2075_4 | +| ir.cpp:2079:6:2079:20 | SideEffect | ~m2075_4 | +| ir.cpp:2079:6:2079:27 | Unary | r2079_8 | +| ir.cpp:2079:22:2079:22 | Address | &:r2079_2 | +| ir.cpp:2079:22:2079:22 | Arg(0) | 0:r2079_3 | +| ir.cpp:2079:22:2079:22 | Load | m2075_6 | +| ir.cpp:2079:26:2079:27 | Unary | r2079_7 | +| ir.cpp:2080:1:2080:1 | Address | &:r2080_1 | +| ir.cpp:2082:6:2082:17 | ChiPartial | partial:m2082_3 | +| ir.cpp:2082:6:2082:17 | ChiTotal | total:m2082_2 | +| ir.cpp:2082:6:2082:17 | SideEffect | ~m2085_6 | +| ir.cpp:2083:8:2083:8 | Address | &:r2083_1 | +| ir.cpp:2083:12:2083:18 | Address | &:r2083_4 | +| ir.cpp:2083:12:2083:18 | Arg(0) | 0:r2083_3 | +| ir.cpp:2083:12:2083:18 | CallTarget | func:r2083_2 | +| ir.cpp:2083:12:2083:18 | ChiPartial | partial:m2083_5 | +| ir.cpp:2083:12:2083:18 | ChiTotal | total:m2082_4 | +| ir.cpp:2083:12:2083:18 | SideEffect | ~m2082_4 | +| ir.cpp:2083:12:2083:18 | StoreValue | r2083_8 | +| ir.cpp:2083:12:2083:18 | Unary | r2083_4 | +| ir.cpp:2084:3:2084:4 | Address | &:r2084_4 | +| ir.cpp:2084:3:2084:8 | ChiPartial | partial:m2084_5 | +| ir.cpp:2084:3:2084:8 | ChiTotal | total:m2083_7 | +| ir.cpp:2084:4:2084:4 | Address | &:r2084_2 | +| ir.cpp:2084:4:2084:4 | Load | m2083_9 | +| ir.cpp:2084:4:2084:4 | Unary | r2084_3 | +| ir.cpp:2084:8:2084:8 | StoreValue | r2084_1 | +| ir.cpp:2085:3:2085:10 | CallTarget | func:r2085_1 | +| ir.cpp:2085:3:2085:10 | ChiPartial | partial:m2085_5 | +| ir.cpp:2085:3:2085:10 | ChiTotal | total:m2083_6 | +| ir.cpp:2085:3:2085:10 | SideEffect | ~m2083_6 | +| ir.cpp:2085:10:2085:10 | Address | &:r2085_2 | +| ir.cpp:2085:10:2085:10 | Arg(0) | 0:r2085_3 | +| ir.cpp:2085:10:2085:10 | Load | m2083_9 | +| ir.cpp:2088:7:2088:7 | Address | &:r2088_5 | +| ir.cpp:2088:7:2088:7 | Address | &:r2088_5 | +| ir.cpp:2088:7:2088:7 | Address | &:r2088_7 | +| ir.cpp:2088:7:2088:7 | Address | &:r2088_7 | +| ir.cpp:2088:7:2088:7 | ChiPartial | partial:m2088_3 | +| ir.cpp:2088:7:2088:7 | ChiTotal | total:m2088_2 | +| ir.cpp:2088:7:2088:7 | Load | m2088_6 | +| ir.cpp:2088:7:2088:7 | SideEffect | m2088_3 | +| ir.cpp:2088:7:2088:7 | SideEffect | m2088_8 | +| ir.cpp:2090:10:2090:24 | ChiPartial | partial:m2090_3 | +| ir.cpp:2090:10:2090:24 | ChiTotal | total:m2090_2 | +| ir.cpp:2090:10:2090:24 | SideEffect | m2090_3 | +| ir.cpp:2090:32:2090:32 | Address | &:r2090_5 | +| ir.cpp:2090:32:2090:32 | Address | &:r2090_5 | +| ir.cpp:2090:32:2090:32 | Address | &:r2090_7 | +| ir.cpp:2090:32:2090:32 | Address | &:r2090_7 | +| ir.cpp:2090:32:2090:32 | Load | m2090_6 | +| ir.cpp:2090:32:2090:32 | SideEffect | m2090_8 | +| ir.cpp:2092:13:2092:18 | Address | &:r2092_5 | +| ir.cpp:2092:13:2092:18 | Address | &:r2092_5 | +| ir.cpp:2092:13:2092:18 | Address | &:r2092_7 | +| ir.cpp:2092:13:2092:18 | Address | &:r2092_7 | +| ir.cpp:2092:13:2092:18 | ChiPartial | partial:m2092_3 | +| ir.cpp:2092:13:2092:18 | ChiTotal | total:m2092_2 | +| ir.cpp:2092:13:2092:18 | Load | m2092_6 | +| ir.cpp:2092:13:2092:18 | SideEffect | m2092_3 | +| ir.cpp:2092:13:2092:18 | SideEffect | m2092_8 | +| ir.cpp:2095:7:2095:7 | Address | &:r2095_5 | +| ir.cpp:2095:7:2095:7 | Address | &:r2095_5 | +| ir.cpp:2095:7:2095:7 | Address | &:r2095_7 | +| ir.cpp:2095:7:2095:7 | Address | &:r2095_7 | +| ir.cpp:2095:7:2095:7 | Address | &:r2095_9 | +| ir.cpp:2095:7:2095:7 | Arg(this) | this:r2095_9 | +| ir.cpp:2095:7:2095:7 | CallTarget | func:r2095_10 | +| ir.cpp:2095:7:2095:7 | ChiPartial | partial:m2095_3 | +| ir.cpp:2095:7:2095:7 | ChiPartial | partial:m2095_12 | +| ir.cpp:2095:7:2095:7 | ChiPartial | partial:m2095_14 | +| ir.cpp:2095:7:2095:7 | ChiTotal | total:m2095_2 | +| ir.cpp:2095:7:2095:7 | ChiTotal | total:m2095_4 | +| ir.cpp:2095:7:2095:7 | ChiTotal | total:m2095_8 | +| ir.cpp:2095:7:2095:7 | Load | m2095_6 | +| ir.cpp:2095:7:2095:7 | SideEffect | m2095_15 | +| ir.cpp:2095:7:2095:7 | SideEffect | ~m2095_4 | +| ir.cpp:2095:7:2095:7 | SideEffect | ~m2095_13 | +| ir.cpp:2095:7:2095:7 | Unary | m2095_6 | +| ir.cpp:2098:5:2098:13 | Address | &:r2098_5 | +| ir.cpp:2098:5:2098:13 | Address | &:r2098_5 | +| ir.cpp:2098:5:2098:13 | Address | &:r2098_7 | +| ir.cpp:2098:5:2098:13 | Address | &:r2098_7 | +| ir.cpp:2098:5:2098:13 | ChiPartial | partial:m2098_3 | +| ir.cpp:2098:5:2098:13 | ChiTotal | total:m2098_2 | +| ir.cpp:2098:5:2098:13 | Load | m2098_6 | +| ir.cpp:2098:5:2098:13 | SideEffect | m2098_8 | +| ir.cpp:2098:5:2098:13 | SideEffect | ~m2098_14 | +| ir.cpp:2098:5:2098:13 | Unary | m2098_6 | +| ir.cpp:2098:18:2098:18 | Arg(this) | this:r2098_10 | +| ir.cpp:2098:18:2098:18 | CallTarget | func:r2098_11 | +| ir.cpp:2098:18:2098:18 | ChiPartial | partial:m2098_13 | +| ir.cpp:2098:18:2098:18 | ChiTotal | total:m2098_4 | +| ir.cpp:2098:18:2098:18 | SideEffect | ~m2098_4 | +| ir.cpp:2100:10:2100:24 | ChiPartial | partial:m2100_3 | +| ir.cpp:2100:10:2100:24 | ChiTotal | total:m2100_2 | +| ir.cpp:2100:10:2100:24 | SideEffect | m2100_3 | +| ir.cpp:2100:32:2100:32 | Address | &:r2100_5 | +| ir.cpp:2100:32:2100:32 | Address | &:r2100_5 | +| ir.cpp:2100:32:2100:32 | Address | &:r2100_7 | +| ir.cpp:2100:32:2100:32 | Address | &:r2100_7 | +| ir.cpp:2100:32:2100:32 | Load | m2100_6 | +| ir.cpp:2100:32:2100:32 | SideEffect | m2100_8 | +| ir.cpp:2105:5:2105:18 | Address | &:r2105_5 | +| ir.cpp:2105:5:2105:18 | ChiPartial | partial:m2105_3 | +| ir.cpp:2105:5:2105:18 | ChiTotal | total:m2105_2 | +| ir.cpp:2105:5:2105:18 | Load | m2115_2 | +| ir.cpp:2105:5:2105:18 | SideEffect | ~m2114_6 | +| ir.cpp:2107:12:2107:13 | Address | &:r2107_1 | +| ir.cpp:2107:17:2107:27 | Address | &:r2107_4 | +| ir.cpp:2107:17:2107:27 | Address | &:r2107_8 | +| ir.cpp:2107:17:2107:27 | Arg(0) | 0:r2107_3 | +| ir.cpp:2107:17:2107:27 | Arg(this) | this:r2107_8 | +| ir.cpp:2107:17:2107:27 | CallTarget | func:r2107_2 | +| ir.cpp:2107:17:2107:27 | CallTarget | func:r2107_9 | +| ir.cpp:2107:17:2107:27 | ChiPartial | partial:m2107_5 | +| ir.cpp:2107:17:2107:27 | ChiPartial | partial:m2107_11 | +| ir.cpp:2107:17:2107:27 | ChiPartial | partial:m2107_13 | +| ir.cpp:2107:17:2107:27 | ChiTotal | total:m2105_4 | +| ir.cpp:2107:17:2107:27 | ChiTotal | total:m2107_6 | +| ir.cpp:2107:17:2107:27 | ChiTotal | total:m2107_7 | +| ir.cpp:2107:17:2107:27 | SideEffect | ~m2105_4 | +| ir.cpp:2107:17:2107:27 | SideEffect | ~m2107_6 | +| ir.cpp:2107:17:2107:27 | StoreValue | r2107_8 | +| ir.cpp:2107:17:2107:27 | Unary | r2107_4 | +| ir.cpp:2108:5:2108:13 | CallTarget | func:r2108_1 | +| ir.cpp:2108:5:2108:13 | ChiPartial | partial:m2108_5 | +| ir.cpp:2108:5:2108:13 | ChiTotal | total:m2107_12 | +| ir.cpp:2108:5:2108:13 | SideEffect | ~m2107_12 | +| ir.cpp:2108:12:2108:13 | Address | &:r2108_2 | +| ir.cpp:2108:12:2108:13 | Arg(0) | 0:r2108_3 | +| ir.cpp:2108:12:2108:13 | Load | m2107_15 | +| ir.cpp:2110:12:2110:13 | Address | &:r2110_1 | +| ir.cpp:2110:17:2110:30 | Address | &:r2110_4 | +| ir.cpp:2110:17:2110:30 | Address | &:r2110_8 | +| ir.cpp:2110:17:2110:30 | Arg(0) | 0:r2110_3 | +| ir.cpp:2110:17:2110:30 | Arg(this) | this:r2110_8 | +| ir.cpp:2110:17:2110:30 | CallTarget | func:r2110_2 | +| ir.cpp:2110:17:2110:30 | CallTarget | func:r2110_9 | +| ir.cpp:2110:17:2110:30 | ChiPartial | partial:m2110_5 | +| ir.cpp:2110:17:2110:30 | ChiPartial | partial:m2110_11 | +| ir.cpp:2110:17:2110:30 | ChiPartial | partial:m2110_13 | +| ir.cpp:2110:17:2110:30 | ChiTotal | total:m2108_6 | +| ir.cpp:2110:17:2110:30 | ChiTotal | total:m2110_6 | +| ir.cpp:2110:17:2110:30 | ChiTotal | total:m2110_7 | +| ir.cpp:2110:17:2110:30 | SideEffect | ~m2108_6 | +| ir.cpp:2110:17:2110:30 | SideEffect | ~m2110_6 | +| ir.cpp:2110:17:2110:30 | StoreValue | r2110_15 | +| ir.cpp:2110:17:2110:30 | Unary | r2110_4 | +| ir.cpp:2110:17:2110:30 | Unary | r2110_8 | +| ir.cpp:2111:5:2111:13 | CallTarget | func:r2111_1 | +| ir.cpp:2111:5:2111:13 | ChiPartial | partial:m2111_5 | +| ir.cpp:2111:5:2111:13 | ChiTotal | total:m2110_12 | +| ir.cpp:2111:5:2111:13 | SideEffect | ~m2110_12 | +| ir.cpp:2111:12:2111:13 | Address | &:r2111_2 | +| ir.cpp:2111:12:2111:13 | Arg(0) | 0:r2111_3 | +| ir.cpp:2111:12:2111:13 | Load | m2110_16 | +| ir.cpp:2113:15:2113:15 | Address | &:r2113_1 | +| ir.cpp:2113:19:2113:32 | Address | &:r2113_4 | +| ir.cpp:2113:19:2113:32 | Address | &:r2113_8 | +| ir.cpp:2113:19:2113:32 | Arg(0) | 0:r2113_3 | +| ir.cpp:2113:19:2113:32 | Arg(this) | this:r2113_8 | +| ir.cpp:2113:19:2113:32 | CallTarget | func:r2113_2 | +| ir.cpp:2113:19:2113:32 | CallTarget | func:r2113_9 | +| ir.cpp:2113:19:2113:32 | ChiPartial | partial:m2113_5 | +| ir.cpp:2113:19:2113:32 | ChiPartial | partial:m2113_11 | +| ir.cpp:2113:19:2113:32 | ChiPartial | partial:m2113_13 | +| ir.cpp:2113:19:2113:32 | ChiTotal | total:m2111_6 | +| ir.cpp:2113:19:2113:32 | ChiTotal | total:m2113_6 | +| ir.cpp:2113:19:2113:32 | ChiTotal | total:m2113_7 | +| ir.cpp:2113:19:2113:32 | SideEffect | ~m2111_6 | +| ir.cpp:2113:19:2113:32 | SideEffect | ~m2113_6 | +| ir.cpp:2113:19:2113:32 | StoreValue | r2113_8 | +| ir.cpp:2113:19:2113:32 | Unary | r2113_4 | +| ir.cpp:2114:5:2114:12 | CallTarget | func:r2114_1 | +| ir.cpp:2114:5:2114:12 | ChiPartial | partial:m2114_5 | +| ir.cpp:2114:5:2114:12 | ChiTotal | total:m2113_12 | +| ir.cpp:2114:5:2114:12 | SideEffect | ~m2113_12 | +| ir.cpp:2114:12:2114:12 | Address | &:r2114_2 | +| ir.cpp:2114:12:2114:12 | Arg(0) | 0:r2114_3 | +| ir.cpp:2114:12:2114:12 | Load | m2113_15 | +| ir.cpp:2115:1:2115:1 | Address | &:r2115_1 | +| ir.cpp:2119:6:2119:26 | ChiPartial | partial:m2119_3 | +| ir.cpp:2119:6:2119:26 | ChiTotal | total:m2119_2 | +| ir.cpp:2119:6:2119:26 | SideEffect | ~m2121_5 | +| ir.cpp:2120:13:2120:13 | Address | &:r2120_1 | +| ir.cpp:2120:16:2120:19 | StoreValue | r2120_2 | +| ir.cpp:2121:3:2121:27 | CallTarget | func:r2121_1 | +| ir.cpp:2121:3:2121:27 | ChiPartial | partial:m2121_4 | +| ir.cpp:2121:3:2121:27 | ChiTotal | total:m2119_4 | +| ir.cpp:2121:3:2121:27 | SideEffect | ~m2119_4 | +| ir.cpp:2121:29:2121:29 | Arg(0) | 0:r2121_2 | +| ir.cpp:2126:5:2126:11 | Address | &:r2126_6 | +| ir.cpp:2126:5:2126:11 | ChiPartial | partial:m2126_3 | +| ir.cpp:2126:5:2126:11 | ChiTotal | total:m2126_2 | +| ir.cpp:2126:5:2126:11 | Load | m2131_4 | +| ir.cpp:2126:5:2126:11 | SideEffect | ~m2130_4 | +| ir.cpp:2127:9:2127:9 | Address | &:r2127_1 | +| ir.cpp:2127:13:2127:15 | CallTarget | func:r2127_2 | +| ir.cpp:2127:13:2127:15 | ChiPartial | partial:m2127_6 | +| ir.cpp:2127:13:2127:15 | ChiTotal | total:m2126_4 | +| ir.cpp:2127:13:2127:15 | SideEffect | ~m2126_4 | +| ir.cpp:2127:13:2127:15 | StoreValue | r2127_5 | +| ir.cpp:2127:17:2127:17 | Arg(0) | 0:r2127_3 | +| ir.cpp:2127:19:2127:19 | Arg(1) | 1:r2127_4 | +| ir.cpp:2128:9:2128:9 | Address | &:r2128_1 | +| ir.cpp:2128:9:2128:9 | Left | r2128_2 | +| ir.cpp:2128:9:2128:9 | Load | m2127_8 | +| ir.cpp:2128:9:2128:14 | Condition | r2128_4 | +| ir.cpp:2128:14:2128:14 | Right | r2128_3 | +| ir.cpp:2129:9:2129:12 | CallTarget | func:r2129_1 | +| ir.cpp:2129:9:2129:12 | ChiPartial | partial:m2129_4 | +| ir.cpp:2129:9:2129:12 | ChiTotal | total:m2127_7 | +| ir.cpp:2129:9:2129:12 | SideEffect | ~m2127_7 | +| ir.cpp:2129:14:2129:14 | Arg(0) | 0:r2129_2 | +| ir.cpp:2130:5:2130:12 | CallTarget | func:r2130_1 | +| ir.cpp:2130:5:2130:12 | ChiPartial | partial:m2130_3 | +| ir.cpp:2130:5:2130:12 | ChiTotal | total:m2127_7 | +| ir.cpp:2130:5:2130:12 | SideEffect | ~m2127_7 | +| ir.cpp:2131:5:2131:13 | Address | &:r2131_1 | +| ir.cpp:2131:12:2131:12 | Address | &:r2131_2 | +| ir.cpp:2131:12:2131:12 | Load | m2127_8 | +| ir.cpp:2131:12:2131:12 | StoreValue | r2131_3 | +| ir.cpp:2134:6:2134:17 | ChiPartial | partial:m2134_3 | +| ir.cpp:2134:6:2134:17 | ChiTotal | total:m2134_2 | +| ir.cpp:2135:5:2135:12 | CallTarget | func:r2135_1 | +| ir.cpp:2135:5:2135:12 | ChiPartial | partial:m2135_3 | +| ir.cpp:2135:5:2135:12 | ChiTotal | total:m2134_4 | +| ir.cpp:2135:5:2135:12 | SideEffect | ~m2134_4 | +| ir.cpp:2136:5:2136:8 | CallTarget | func:r2136_1 | +| ir.cpp:2136:5:2136:8 | ChiPartial | partial:m2136_4 | +| ir.cpp:2136:5:2136:8 | ChiTotal | total:m2135_4 | +| ir.cpp:2136:5:2136:8 | SideEffect | ~m2135_4 | +| ir.cpp:2136:10:2136:10 | Arg(0) | 0:r2136_2 | +| ir.cpp:2139:5:2139:16 | Address | &:r2139_6 | +| ir.cpp:2139:5:2139:16 | ChiPartial | partial:m2139_3 | +| ir.cpp:2139:5:2139:16 | ChiTotal | total:m2139_2 | +| ir.cpp:2139:5:2139:16 | Load | m2144_4 | +| ir.cpp:2139:5:2139:16 | SideEffect | ~m2143_4 | +| ir.cpp:2140:9:2140:9 | Address | &:r2140_1 | +| ir.cpp:2140:13:2140:15 | CallTarget | func:r2140_2 | +| ir.cpp:2140:13:2140:15 | ChiPartial | partial:m2140_6 | +| ir.cpp:2140:13:2140:15 | ChiTotal | total:m2139_4 | +| ir.cpp:2140:13:2140:15 | SideEffect | ~m2139_4 | +| ir.cpp:2140:13:2140:15 | StoreValue | r2140_5 | +| ir.cpp:2140:17:2140:17 | Arg(0) | 0:r2140_3 | +| ir.cpp:2140:19:2140:19 | Arg(1) | 1:r2140_4 | +| ir.cpp:2141:9:2141:9 | Address | &:r2141_1 | +| ir.cpp:2141:9:2141:9 | Left | r2141_2 | +| ir.cpp:2141:9:2141:9 | Load | m2140_8 | +| ir.cpp:2141:9:2141:14 | Condition | r2141_4 | +| ir.cpp:2141:14:2141:14 | Right | r2141_3 | +| ir.cpp:2142:9:2142:20 | CallTarget | func:r2142_1 | +| ir.cpp:2143:5:2143:12 | CallTarget | func:r2143_1 | +| ir.cpp:2143:5:2143:12 | ChiPartial | partial:m2143_3 | +| ir.cpp:2143:5:2143:12 | ChiTotal | total:m2140_7 | +| ir.cpp:2143:5:2143:12 | SideEffect | ~m2140_7 | +| ir.cpp:2144:5:2144:13 | Address | &:r2144_1 | +| ir.cpp:2144:12:2144:12 | Address | &:r2144_2 | +| ir.cpp:2144:12:2144:12 | Load | m2140_8 | +| ir.cpp:2144:12:2144:12 | StoreValue | r2144_3 | +| ir.cpp:2147:6:2147:24 | ChiPartial | partial:m2147_3 | +| ir.cpp:2147:6:2147:24 | ChiTotal | total:m2147_2 | +| ir.cpp:2147:6:2147:24 | SideEffect | ~m2153_8 | +| ir.cpp:2147:33:2147:33 | Address | &:r2147_5 | +| ir.cpp:2148:3:2148:12 | Address | &:r2148_6 | +| ir.cpp:2148:3:2148:12 | Arg(0) | 0:r2148_5 | +| ir.cpp:2148:3:2148:12 | CallTarget | func:r2148_1 | +| ir.cpp:2148:3:2148:12 | ChiPartial | partial:m2148_7 | +| ir.cpp:2148:3:2148:12 | ChiTotal | total:m2147_4 | +| ir.cpp:2148:3:2148:12 | Right | r2148_4 | +| ir.cpp:2148:3:2148:12 | SideEffect | ~m2147_4 | +| ir.cpp:2148:3:2148:12 | Unary | r2148_6 | +| ir.cpp:2148:11:2148:11 | Address | &:r2148_2 | +| ir.cpp:2148:11:2148:11 | Left | r2148_3 | +| ir.cpp:2148:11:2148:11 | Load | m2147_6 | +| ir.cpp:2149:3:2149:18 | Address | &:r2149_7 | +| ir.cpp:2149:3:2149:18 | Arg(0) | 0:r2149_5 | +| ir.cpp:2149:3:2149:18 | CallTarget | func:r2149_1 | +| ir.cpp:2149:3:2149:18 | ChiPartial | partial:m2149_8 | +| ir.cpp:2149:3:2149:18 | ChiTotal | total:m2148_8 | +| ir.cpp:2149:3:2149:18 | Right | r2149_4 | +| ir.cpp:2149:3:2149:18 | SideEffect | ~m2148_8 | +| ir.cpp:2149:3:2149:18 | Unary | r2149_7 | +| ir.cpp:2149:7:2149:10 | Arg(1) | 1:r2149_6 | +| ir.cpp:2149:17:2149:17 | Address | &:r2149_2 | +| ir.cpp:2149:17:2149:17 | Left | r2149_3 | +| ir.cpp:2149:17:2149:17 | Load | m2147_6 | +| ir.cpp:2150:3:2150:15 | Address | &:r2150_6 | +| ir.cpp:2150:3:2150:15 | Arg(0) | 0:r2150_5 | +| ir.cpp:2150:3:2150:15 | CallTarget | func:r2150_1 | +| ir.cpp:2150:3:2150:15 | ChiPartial | partial:m2150_7 | +| ir.cpp:2150:3:2150:15 | ChiTotal | total:m2149_9 | +| ir.cpp:2150:3:2150:15 | Right | r2150_4 | +| ir.cpp:2150:3:2150:15 | SideEffect | ~m2149_9 | +| ir.cpp:2150:3:2150:15 | Unary | r2150_6 | +| ir.cpp:2150:14:2150:14 | Address | &:r2150_2 | +| ir.cpp:2150:14:2150:14 | Left | r2150_3 | +| ir.cpp:2150:14:2150:14 | Load | m2147_6 | +| ir.cpp:2151:3:2151:20 | Address | &:r2151_7 | +| ir.cpp:2151:3:2151:20 | Arg(0) | 0:r2151_5 | +| ir.cpp:2151:3:2151:20 | CallTarget | func:r2151_1 | +| ir.cpp:2151:3:2151:20 | ChiPartial | partial:m2151_8 | +| ir.cpp:2151:3:2151:20 | ChiTotal | total:m2150_8 | +| ir.cpp:2151:3:2151:20 | Right | r2151_4 | +| ir.cpp:2151:3:2151:20 | SideEffect | ~m2150_8 | +| ir.cpp:2151:3:2151:20 | Unary | r2151_7 | +| ir.cpp:2151:19:2151:19 | Address | &:r2151_2 | +| ir.cpp:2151:19:2151:19 | Left | r2151_3 | +| ir.cpp:2151:19:2151:19 | Load | m2147_6 | +| ir.cpp:2151:21:2151:21 | Arg(1) | 1:r2151_6 | +| ir.cpp:2152:3:2152:36 | Address | &:r2152_6 | +| ir.cpp:2152:3:2152:36 | Arg(0) | 0:r2152_5 | +| ir.cpp:2152:3:2152:36 | CallTarget | func:r2152_1 | +| ir.cpp:2152:3:2152:36 | ChiPartial | partial:m2152_7 | +| ir.cpp:2152:3:2152:36 | ChiTotal | total:m2151_9 | +| ir.cpp:2152:3:2152:36 | Right | r2152_4 | +| ir.cpp:2152:3:2152:36 | SideEffect | ~m2151_9 | +| ir.cpp:2152:3:2152:36 | Unary | r2152_6 | +| ir.cpp:2152:35:2152:35 | Address | &:r2152_2 | +| ir.cpp:2152:35:2152:35 | Left | r2152_3 | +| ir.cpp:2152:35:2152:35 | Load | m2147_6 | +| ir.cpp:2153:3:2153:24 | Address | &:r2153_6 | +| ir.cpp:2153:3:2153:24 | Arg(0) | 0:r2153_5 | +| ir.cpp:2153:3:2153:24 | CallTarget | func:r2153_1 | +| ir.cpp:2153:3:2153:24 | ChiPartial | partial:m2153_7 | +| ir.cpp:2153:3:2153:24 | ChiTotal | total:m2152_8 | +| ir.cpp:2153:3:2153:24 | Right | r2153_4 | +| ir.cpp:2153:3:2153:24 | SideEffect | ~m2152_8 | +| ir.cpp:2153:3:2153:24 | Unary | r2153_6 | +| ir.cpp:2153:11:2153:11 | Address | &:r2153_2 | +| ir.cpp:2153:11:2153:11 | Left | r2153_3 | +| ir.cpp:2153:11:2153:11 | Load | m2147_6 | +| ir.cpp:2158:7:2158:17 | Address | &:r2158_10 | +| ir.cpp:2158:7:2158:17 | ChiPartial | partial:m2158_3 | +| ir.cpp:2158:7:2158:17 | ChiTotal | total:m2158_2 | +| ir.cpp:2158:7:2158:17 | Load | m2161_4 | +| ir.cpp:2158:7:2158:17 | SideEffect | m2158_3 | +| ir.cpp:2158:25:2158:25 | Address | &:r2158_5 | +| ir.cpp:2158:25:2158:25 | Address | &:r2158_5 | +| ir.cpp:2158:25:2158:25 | Address | &:r2158_7 | +| ir.cpp:2158:25:2158:25 | Address | &:r2158_7 | +| ir.cpp:2158:25:2158:25 | Load | m2158_6 | +| ir.cpp:2158:25:2158:25 | SideEffect | m2158_8 | +| ir.cpp:2159:9:2159:11 | Address | &:r2159_1 | +| ir.cpp:2160:10:2160:10 | Address | &:r2160_1 | +| ir.cpp:2160:14:2160:19 | CallTarget | func:r2160_2 | +| ir.cpp:2160:14:2160:19 | StoreValue | r2160_8 | +| ir.cpp:2160:21:2160:21 | Address | &:r2160_3 | +| ir.cpp:2160:21:2160:21 | Address | &:r2160_5 | +| ir.cpp:2160:21:2160:21 | Arg(0) | 0:r2160_5 | +| ir.cpp:2160:21:2160:21 | Load | m2158_6 | +| ir.cpp:2160:21:2160:21 | SideEffect | ~m2158_8 | +| ir.cpp:2160:21:2160:21 | Unary | r2160_4 | +| ir.cpp:2160:24:2160:27 | Address | &:r2160_7 | +| ir.cpp:2160:24:2160:27 | Arg(1) | 1:r2160_7 | +| ir.cpp:2160:24:2160:27 | ChiPartial | partial:m2160_10 | +| ir.cpp:2160:24:2160:27 | ChiTotal | total:m2159_2 | +| ir.cpp:2160:25:2160:27 | Unary | r2160_6 | +| ir.cpp:2161:3:2161:13 | Address | &:r2161_1 | +| ir.cpp:2161:10:2161:12 | Address | &:r2161_2 | +| ir.cpp:2161:10:2161:12 | Load | m2160_11 | +| ir.cpp:2161:10:2161:12 | StoreValue | r2161_3 | +| ir.cpp:2168:6:2168:39 | ChiPartial | partial:m2168_3 | +| ir.cpp:2168:6:2168:39 | ChiTotal | total:m2168_2 | +| ir.cpp:2168:6:2168:39 | SideEffect | ~m2169_8 | +| ir.cpp:2169:6:2169:42 | Address | &:r2169_1 | +| ir.cpp:2169:6:2169:42 | Condition | r2169_12 | +| ir.cpp:2169:22:2169:22 | Address | &:r2169_4 | +| ir.cpp:2169:22:2169:22 | Address | &:r2169_4 | +| ir.cpp:2169:22:2169:22 | Arg(this) | this:r2169_4 | +| ir.cpp:2169:22:2169:22 | CallTarget | func:r2169_5 | +| ir.cpp:2169:22:2169:22 | ChiPartial | partial:m2169_7 | +| ir.cpp:2169:22:2169:22 | ChiPartial | partial:m2169_10 | +| ir.cpp:2169:22:2169:22 | ChiTotal | total:m2168_4 | +| ir.cpp:2169:22:2169:22 | ChiTotal | total:m2169_3 | +| ir.cpp:2169:22:2169:22 | SideEffect | m2169_3 | +| ir.cpp:2169:22:2169:22 | SideEffect | ~m2168_4 | +| ir.cpp:2169:22:2169:22 | Unary | r2169_6 | +| ir.cpp:2169:25:2169:42 | StoreValue | r2169_2 | +| ir.cpp:2172:7:2172:7 | Address | &:r2172_5 | +| ir.cpp:2172:7:2172:7 | Address | &:r2172_5 | +| ir.cpp:2172:7:2172:7 | Address | &:r2172_7 | +| ir.cpp:2172:7:2172:7 | Address | &:r2172_7 | +| ir.cpp:2172:7:2172:7 | Address | &:r2172_9 | +| ir.cpp:2172:7:2172:7 | Address | &:r2172_10 | +| ir.cpp:2172:7:2172:7 | Address | &:r2172_13 | +| ir.cpp:2172:7:2172:7 | ChiPartial | partial:m2172_3 | +| ir.cpp:2172:7:2172:7 | ChiPartial | partial:m2172_15 | +| ir.cpp:2172:7:2172:7 | ChiTotal | total:m2172_2 | +| ir.cpp:2172:7:2172:7 | ChiTotal | total:m2172_8 | +| ir.cpp:2172:7:2172:7 | Load | m0_2 | +| ir.cpp:2172:7:2172:7 | Load | m2172_6 | +| ir.cpp:2172:7:2172:7 | Load | ~m0_4 | +| ir.cpp:2172:7:2172:7 | SideEffect | m2172_3 | +| ir.cpp:2172:7:2172:7 | SideEffect | m2172_16 | +| ir.cpp:2172:7:2172:7 | StoreValue | r2172_14 | +| ir.cpp:2172:7:2172:7 | Unary | m2172_6 | +| ir.cpp:2172:7:2172:7 | Unary | r2172_11 | +| ir.cpp:2172:7:2172:7 | Unary | r2172_12 | +| ir.cpp:2175:5:2175:23 | Address | &:r2175_5 | +| ir.cpp:2175:5:2175:23 | Address | &:r2175_5 | +| ir.cpp:2175:5:2175:23 | Address | &:r2175_7 | +| ir.cpp:2175:5:2175:23 | Address | &:r2175_7 | +| ir.cpp:2175:5:2175:23 | ChiPartial | partial:m2175_3 | +| ir.cpp:2175:5:2175:23 | ChiTotal | total:m2175_2 | +| ir.cpp:2175:5:2175:23 | Load | m2175_6 | +| ir.cpp:2175:5:2175:23 | SideEffect | m2175_20 | +| ir.cpp:2175:5:2175:23 | SideEffect | ~m2175_13 | +| ir.cpp:2175:29:2175:29 | Address | &:r2175_16 | +| ir.cpp:2175:29:2175:29 | Address | &:r2175_18 | +| ir.cpp:2175:29:2175:29 | Load | m2175_6 | +| ir.cpp:2175:29:2175:29 | Unary | r2175_17 | +| ir.cpp:2175:29:2175:40 | ChiPartial | partial:m2175_19 | +| ir.cpp:2175:29:2175:40 | ChiTotal | total:m2175_8 | +| ir.cpp:2175:33:2175:40 | Address | &:r2175_11 | +| ir.cpp:2175:33:2175:40 | Arg(0) | 0:r2175_10 | +| ir.cpp:2175:33:2175:40 | CallTarget | func:r2175_9 | +| ir.cpp:2175:33:2175:40 | ChiPartial | partial:m2175_12 | +| ir.cpp:2175:33:2175:40 | ChiTotal | total:m2175_4 | +| ir.cpp:2175:33:2175:40 | SideEffect | ~m2175_4 | +| ir.cpp:2175:33:2175:40 | StoreValue | r2175_15 | +| ir.cpp:2175:33:2175:40 | Unary | r2175_11 | +| ir.cpp:2176:5:2176:24 | Address | &:r2176_5 | +| ir.cpp:2176:5:2176:24 | Address | &:r2176_5 | +| ir.cpp:2176:5:2176:24 | Address | &:r2176_7 | +| ir.cpp:2176:5:2176:24 | Address | &:r2176_7 | +| ir.cpp:2176:5:2176:24 | ChiPartial | partial:m2176_3 | +| ir.cpp:2176:5:2176:24 | ChiTotal | total:m2176_2 | +| ir.cpp:2176:5:2176:24 | Load | m2176_6 | +| ir.cpp:2176:5:2176:24 | SideEffect | m2176_8 | +| ir.cpp:2176:5:2176:24 | SideEffect | ~m2176_16 | +| ir.cpp:2176:30:2176:37 | CallTarget | func:r2176_9 | +| ir.cpp:2176:30:2176:37 | ChiPartial | partial:m2176_15 | +| ir.cpp:2176:30:2176:37 | ChiTotal | total:m2176_4 | +| ir.cpp:2176:30:2176:37 | SideEffect | ~m2176_4 | +| ir.cpp:2176:37:2176:37 | Address | &:r2176_10 | +| ir.cpp:2176:37:2176:37 | Address | &:r2176_12 | +| ir.cpp:2176:37:2176:37 | Arg(0) | 0:r2176_13 | +| ir.cpp:2176:37:2176:37 | Load | m2176_6 | +| ir.cpp:2176:37:2176:37 | Load | ~m2176_8 | +| ir.cpp:2176:37:2176:37 | Unary | r2176_11 | +| ir.cpp:2178:10:2178:14 | Address | &:r2178_5 | +| ir.cpp:2178:10:2178:14 | Address | &:r2178_5 | +| ir.cpp:2178:10:2178:14 | Address | &:r2178_7 | +| ir.cpp:2178:10:2178:14 | Address | &:r2178_7 | +| ir.cpp:2178:10:2178:14 | ChiPartial | partial:m2178_3 | +| ir.cpp:2178:10:2178:14 | ChiTotal | total:m2178_2 | +| ir.cpp:2178:10:2178:14 | Load | m2178_6 | +| ir.cpp:2178:10:2178:14 | SideEffect | m2178_8 | +| ir.cpp:2178:10:2178:14 | SideEffect | ~m2178_19 | +| ir.cpp:2178:21:2178:21 | Address | &:r2178_9 | +| ir.cpp:2178:26:2178:27 | Address | &:r2178_17 | +| ir.cpp:2178:26:2178:31 | ChiPartial | partial:m2178_18 | +| ir.cpp:2178:26:2178:31 | ChiTotal | total:m2178_4 | +| ir.cpp:2178:27:2178:27 | Address | &:r2178_13 | +| ir.cpp:2178:27:2178:27 | Address | &:r2178_15 | +| ir.cpp:2178:27:2178:27 | Load | m2178_6 | +| ir.cpp:2178:27:2178:27 | Load | ~m2178_8 | +| ir.cpp:2178:27:2178:27 | Unary | r2178_14 | +| ir.cpp:2178:27:2178:27 | Unary | r2178_16 | +| ir.cpp:2178:31:2178:31 | Address | &:r2178_11 | +| ir.cpp:2178:31:2178:31 | Load | m2178_10 | +| ir.cpp:2178:31:2178:31 | StoreValue | r2178_12 | +| ir.cpp:2179:10:2179:14 | Address | &:r2179_5 | +| ir.cpp:2179:10:2179:14 | Address | &:r2179_5 | +| ir.cpp:2179:10:2179:14 | Address | &:r2179_7 | +| ir.cpp:2179:10:2179:14 | Address | &:r2179_7 | +| ir.cpp:2179:10:2179:14 | Address | &:r2179_17 | +| ir.cpp:2179:10:2179:14 | ChiPartial | partial:m2179_3 | +| ir.cpp:2179:10:2179:14 | ChiTotal | total:m2179_2 | +| ir.cpp:2179:10:2179:14 | Load | m2179_6 | +| ir.cpp:2179:10:2179:14 | Load | m2179_15 | +| ir.cpp:2179:10:2179:14 | SideEffect | m2179_3 | +| ir.cpp:2179:10:2179:14 | SideEffect | m2179_8 | +| ir.cpp:2179:20:2179:29 | Address | &:r2179_9 | +| ir.cpp:2179:27:2179:28 | Load | ~m2179_4 | +| ir.cpp:2179:27:2179:28 | StoreValue | r2179_14 | +| ir.cpp:2179:28:2179:28 | Address | &:r2179_10 | +| ir.cpp:2179:28:2179:28 | Address | &:r2179_12 | +| ir.cpp:2179:28:2179:28 | Address | &:r2179_13 | +| ir.cpp:2179:28:2179:28 | Load | m2179_6 | +| ir.cpp:2179:28:2179:28 | Load | ~m2179_8 | +| ir.cpp:2179:28:2179:28 | Unary | r2179_11 | +| ir.cpp:2182:16:2182:50 | Address | &:r2182_3 | +| ir.cpp:2182:16:2182:50 | SideEffect | ~m2182_6 | +| ir.cpp:2182:54:2182:57 | ChiPartial | partial:m2182_5 | +| ir.cpp:2182:54:2182:57 | ChiTotal | total:m2182_2 | +| ir.cpp:2182:54:2182:57 | StoreValue | r2182_4 | +| ir.cpp:2184:6:2184:35 | ChiPartial | partial:m2184_3 | +| ir.cpp:2184:6:2184:35 | ChiTotal | total:m2184_2 | +| ir.cpp:2184:6:2184:35 | Phi | from 13:~m2219_5 | +| ir.cpp:2184:6:2184:35 | Phi | from 19:~m2219_13 | +| ir.cpp:2184:6:2184:35 | Phi | from 23:~m2219_22 | +| ir.cpp:2184:6:2184:35 | SideEffect | ~m2184_9 | +| ir.cpp:2184:42:2184:42 | Address | &:r2184_5 | +| ir.cpp:2184:50:2184:50 | Address | &:r2184_7 | +| ir.cpp:2185:29:2185:29 | Address | &:r2185_1 | +| ir.cpp:2185:29:2185:29 | Address | &:r2185_1 | +| ir.cpp:2185:29:2185:29 | Arg(this) | this:r2185_1 | +| ir.cpp:2185:29:2185:29 | CallTarget | func:r2185_3 | +| ir.cpp:2185:29:2185:29 | ChiPartial | partial:m2185_5 | +| ir.cpp:2185:29:2185:29 | ChiPartial | partial:m2185_7 | +| ir.cpp:2185:29:2185:29 | ChiTotal | total:m2184_4 | +| ir.cpp:2185:29:2185:29 | ChiTotal | total:m2185_2 | +| ir.cpp:2185:29:2185:29 | SideEffect | ~m2184_4 | +| ir.cpp:2185:32:2185:32 | Address | &:r2185_9 | +| ir.cpp:2185:32:2185:32 | Condition | r2185_10 | +| ir.cpp:2185:32:2185:32 | Load | m2184_6 | +| ir.cpp:2186:9:2186:9 | Address | &:r2186_1 | +| ir.cpp:2186:9:2186:9 | Address | &:r2186_1 | +| ir.cpp:2186:9:2186:9 | Arg(this) | this:r2186_1 | +| ir.cpp:2186:9:2186:9 | ChiPartial | partial:m2186_8 | +| ir.cpp:2186:9:2186:9 | ChiTotal | total:m2185_8 | +| ir.cpp:2186:9:2186:9 | SideEffect | m2185_8 | +| ir.cpp:2186:11:2186:15 | CallTarget | func:r2186_2 | +| ir.cpp:2186:11:2186:15 | ChiPartial | partial:m2186_5 | +| ir.cpp:2186:11:2186:15 | ChiTotal | total:m2185_6 | +| ir.cpp:2186:11:2186:15 | SideEffect | ~m2185_6 | +| ir.cpp:2186:17:2186:19 | Arg(0) | 0:r2186_3 | +| ir.cpp:2186:21:2186:21 | Address | &:r2186_10 | +| ir.cpp:2186:21:2186:21 | Address | &:r2186_10 | +| ir.cpp:2186:21:2186:21 | Arg(this) | this:r2186_10 | +| ir.cpp:2186:21:2186:21 | CallTarget | func:r2186_11 | +| ir.cpp:2186:21:2186:21 | ChiPartial | partial:m2186_13 | +| ir.cpp:2186:21:2186:21 | ChiPartial | partial:m2186_16 | +| ir.cpp:2186:21:2186:21 | ChiTotal | total:m2186_6 | +| ir.cpp:2186:21:2186:21 | ChiTotal | total:m2186_9 | +| ir.cpp:2186:21:2186:21 | SideEffect | m2186_9 | +| ir.cpp:2186:21:2186:21 | SideEffect | ~m2186_6 | +| ir.cpp:2188:39:2188:39 | Address | &:r2188_2 | +| ir.cpp:2188:39:2188:39 | Address | &:r2188_2 | +| ir.cpp:2188:39:2188:39 | Arg(this) | this:r2188_2 | +| ir.cpp:2188:39:2188:39 | CallTarget | func:r2188_4 | +| ir.cpp:2188:39:2188:39 | ChiPartial | partial:m2188_6 | +| ir.cpp:2188:39:2188:39 | ChiPartial | partial:m2188_8 | +| ir.cpp:2188:39:2188:39 | ChiTotal | total:m2188_1 | +| ir.cpp:2188:39:2188:39 | ChiTotal | total:m2188_3 | +| ir.cpp:2188:39:2188:39 | Phi | from 0:~m2185_6 | +| ir.cpp:2188:39:2188:39 | Phi | from 2:~m2186_14 | +| ir.cpp:2188:39:2188:39 | SideEffect | ~m2188_1 | +| ir.cpp:2188:42:2188:76 | Condition | r2188_10 | +| ir.cpp:2189:9:2189:9 | Address | &:r2189_1 | +| ir.cpp:2189:9:2189:9 | Address | &:r2189_1 | +| ir.cpp:2189:9:2189:9 | Arg(this) | this:r2189_1 | +| ir.cpp:2189:9:2189:9 | ChiPartial | partial:m2189_8 | +| ir.cpp:2189:9:2189:9 | ChiTotal | total:m2188_9 | +| ir.cpp:2189:9:2189:9 | SideEffect | m2188_9 | +| ir.cpp:2189:11:2189:15 | CallTarget | func:r2189_2 | +| ir.cpp:2189:11:2189:15 | ChiPartial | partial:m2189_5 | +| ir.cpp:2189:11:2189:15 | ChiTotal | total:m2188_7 | +| ir.cpp:2189:11:2189:15 | SideEffect | ~m2188_7 | +| ir.cpp:2189:17:2189:19 | Arg(0) | 0:r2189_3 | +| ir.cpp:2191:32:2191:32 | Address | &:r2191_1 | +| ir.cpp:2191:32:2191:32 | Address | &:r2191_1 | +| ir.cpp:2191:32:2191:32 | Arg(this) | this:r2191_1 | +| ir.cpp:2191:32:2191:32 | CallTarget | func:r2191_3 | +| ir.cpp:2191:32:2191:32 | ChiPartial | partial:m2191_5 | +| ir.cpp:2191:32:2191:32 | ChiPartial | partial:m2191_7 | +| ir.cpp:2191:32:2191:32 | ChiTotal | total:m2189_6 | +| ir.cpp:2191:32:2191:32 | ChiTotal | total:m2191_2 | +| ir.cpp:2191:32:2191:32 | SideEffect | ~m2189_6 | +| ir.cpp:2191:35:2191:35 | Address | &:r2191_9 | +| ir.cpp:2191:35:2191:35 | Condition | r2191_11 | +| ir.cpp:2191:35:2191:35 | Load | m2184_8 | +| ir.cpp:2191:35:2191:35 | Unary | r2191_10 | +| ir.cpp:2193:11:2193:11 | Address | &:r2193_1 | +| ir.cpp:2193:11:2193:11 | Address | &:r2193_1 | +| ir.cpp:2193:11:2193:11 | Arg(this) | this:r2193_1 | +| ir.cpp:2193:11:2193:11 | ChiPartial | partial:m2193_8 | +| ir.cpp:2193:11:2193:11 | ChiTotal | total:m2191_8 | +| ir.cpp:2193:11:2193:11 | SideEffect | m2191_8 | +| ir.cpp:2193:13:2193:17 | CallTarget | func:r2193_2 | +| ir.cpp:2193:13:2193:17 | ChiPartial | partial:m2193_5 | +| ir.cpp:2193:13:2193:17 | ChiTotal | total:m2191_6 | +| ir.cpp:2193:13:2193:17 | SideEffect | ~m2191_6 | +| ir.cpp:2193:19:2193:21 | Arg(0) | 0:r2193_3 | +| ir.cpp:2196:11:2196:11 | Address | &:r2196_1 | +| ir.cpp:2196:11:2196:11 | Address | &:r2196_1 | +| ir.cpp:2196:11:2196:11 | Arg(this) | this:r2196_1 | +| ir.cpp:2196:11:2196:11 | ChiPartial | partial:m2196_8 | +| ir.cpp:2196:11:2196:11 | ChiTotal | total:m2191_8 | +| ir.cpp:2196:11:2196:11 | SideEffect | m2191_8 | +| ir.cpp:2196:13:2196:17 | CallTarget | func:r2196_2 | +| ir.cpp:2196:13:2196:17 | ChiPartial | partial:m2196_5 | +| ir.cpp:2196:13:2196:17 | ChiTotal | total:m2191_6 | +| ir.cpp:2196:13:2196:17 | SideEffect | ~m2191_6 | +| ir.cpp:2196:19:2196:21 | Arg(0) | 0:r2196_3 | +| ir.cpp:2198:5:2198:5 | Phi | from 5:~m2193_6 | +| ir.cpp:2198:5:2198:5 | Phi | from 6:~m2196_6 | +| ir.cpp:2200:25:2200:25 | Address | &:r2200_1 | +| ir.cpp:2200:25:2200:25 | Address | &:r2200_1 | +| ir.cpp:2200:25:2200:25 | Arg(this) | this:r2200_1 | +| ir.cpp:2200:25:2200:25 | CallTarget | func:r2200_3 | +| ir.cpp:2200:25:2200:25 | ChiPartial | partial:m2200_5 | +| ir.cpp:2200:25:2200:25 | ChiPartial | partial:m2200_7 | +| ir.cpp:2200:25:2200:25 | ChiTotal | total:m2198_1 | +| ir.cpp:2200:25:2200:25 | ChiTotal | total:m2200_2 | +| ir.cpp:2200:25:2200:25 | SideEffect | ~m2198_1 | +| ir.cpp:2201:5:2201:5 | Address | &:r2201_14 | +| ir.cpp:2201:5:2201:5 | Address | &:r2201_18 | +| ir.cpp:2201:5:2201:5 | Address | &:r2201_24 | +| ir.cpp:2201:42:2201:43 | Address | &:r2201_1 | +| ir.cpp:2201:42:2201:43 | Address | &:r2201_1 | +| ir.cpp:2201:42:2201:43 | Arg(this) | this:r2201_1 | +| ir.cpp:2201:45:2201:45 | Address | &:r2201_4 | +| ir.cpp:2201:45:2201:45 | Address | &:r2201_4 | +| ir.cpp:2201:45:2201:45 | Address | &:r2201_5 | +| ir.cpp:2201:45:2201:45 | Arg(0) | 0:r2201_8 | +| ir.cpp:2201:45:2201:45 | Load | m2200_8 | +| ir.cpp:2201:45:2201:45 | Load | m2201_7 | +| ir.cpp:2201:45:2201:45 | StoreValue | r2201_6 | +| ir.cpp:2201:45:2201:46 | CallTarget | func:r2201_3 | +| ir.cpp:2201:45:2201:46 | ChiPartial | partial:m2201_10 | +| ir.cpp:2201:45:2201:46 | ChiPartial | partial:m2201_12 | +| ir.cpp:2201:45:2201:46 | ChiTotal | total:m2200_6 | +| ir.cpp:2201:45:2201:46 | ChiTotal | total:m2201_2 | +| ir.cpp:2201:45:2201:46 | SideEffect | ~m2200_6 | +| ir.cpp:2201:69:2201:69 | Address | &:r2201_45 | +| ir.cpp:2201:69:2201:69 | Address | &:r2201_53 | +| ir.cpp:2201:69:2201:69 | Address | &:r2201_53 | +| ir.cpp:2201:69:2201:69 | Arg(this) | this:r2201_53 | +| ir.cpp:2201:69:2201:69 | CallTarget | func:r2201_54 | +| ir.cpp:2201:69:2201:69 | ChiPartial | partial:m2201_56 | +| ir.cpp:2201:69:2201:69 | ChiPartial | partial:m2201_59 | +| ir.cpp:2201:69:2201:69 | ChiTotal | total:m2202_6 | +| ir.cpp:2201:69:2201:69 | ChiTotal | total:m2202_9 | +| ir.cpp:2201:69:2201:69 | SideEffect | m2202_9 | +| ir.cpp:2201:69:2201:69 | SideEffect | ~m2202_6 | +| ir.cpp:2201:73:2201:73 | Address | &:r2201_19 | +| ir.cpp:2201:73:2201:73 | Address | &:r2201_25 | +| ir.cpp:2201:73:2201:73 | Address | &:r2201_48 | +| ir.cpp:2201:73:2201:73 | Address | &:r2201_61 | +| ir.cpp:2201:73:2201:73 | Address | &:r2201_61 | +| ir.cpp:2201:73:2201:73 | Arg(this) | this:r0_2 | +| ir.cpp:2201:73:2201:73 | Arg(this) | this:r0_5 | +| ir.cpp:2201:73:2201:73 | Arg(this) | this:r0_7 | +| ir.cpp:2201:73:2201:73 | Arg(this) | this:r0_8 | +| ir.cpp:2201:73:2201:73 | Arg(this) | this:r0_15 | +| ir.cpp:2201:73:2201:73 | Arg(this) | this:r2201_61 | +| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_21 | +| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_27 | +| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_33 | +| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_34 | +| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_47 | +| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_62 | +| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_37 | +| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_39 | +| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_42 | +| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_49 | +| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_64 | +| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_67 | +| ir.cpp:2201:73:2201:73 | ChiTotal | total:m0_9 | +| ir.cpp:2201:73:2201:73 | ChiTotal | total:m2201_30 | +| ir.cpp:2201:73:2201:73 | ChiTotal | total:m2201_31 | +| ir.cpp:2201:73:2201:73 | ChiTotal | total:m2201_38 | +| ir.cpp:2201:73:2201:73 | ChiTotal | total:m2201_43 | +| ir.cpp:2201:73:2201:73 | ChiTotal | total:m2201_57 | +| ir.cpp:2201:73:2201:73 | Condition | r2201_41 | +| ir.cpp:2201:73:2201:73 | Load | m2201_17 | +| ir.cpp:2201:73:2201:73 | Load | m2201_17 | +| ir.cpp:2201:73:2201:73 | Phi | from 7:m2201_23 | +| ir.cpp:2201:73:2201:73 | Phi | from 7:~m2201_11 | +| ir.cpp:2201:73:2201:73 | Phi | from 9:m2201_68 | +| ir.cpp:2201:73:2201:73 | Phi | from 9:~m2201_65 | +| ir.cpp:2201:73:2201:73 | SideEffect | m2201_30 | +| ir.cpp:2201:73:2201:73 | SideEffect | ~m2201_31 | +| ir.cpp:2201:73:2201:73 | SideEffect | ~m2201_38 | +| ir.cpp:2201:73:2201:73 | SideEffect | ~m2201_43 | +| ir.cpp:2201:73:2201:73 | SideEffect | ~m2201_57 | +| ir.cpp:2201:73:2201:73 | StoreValue | r2201_22 | +| ir.cpp:2201:73:2201:73 | StoreValue | r2201_28 | +| ir.cpp:2201:73:2201:73 | Unary | r2201_20 | +| ir.cpp:2201:73:2201:73 | Unary | r2201_26 | +| ir.cpp:2201:73:2201:73 | Unary | r2201_32 | +| ir.cpp:2201:73:2201:73 | Unary | r2201_35 | +| ir.cpp:2201:73:2201:73 | Unary | r2201_46 | +| ir.cpp:2201:73:2201:73 | Unary | r2201_63 | +| ir.cpp:2201:73:2201:74 | StoreValue | r2201_16 | +| ir.cpp:2201:73:2201:74 | Unary | r2201_15 | +| ir.cpp:2201:73:2201:75 | Load | ~m2201_50 | +| ir.cpp:2201:73:2201:75 | StoreValue | r2201_51 | +| ir.cpp:2202:7:2202:7 | Address | &:r2202_1 | +| ir.cpp:2202:7:2202:7 | Address | &:r2202_1 | +| ir.cpp:2202:7:2202:7 | Arg(this) | this:r2202_1 | +| ir.cpp:2202:7:2202:7 | ChiPartial | partial:m2202_8 | +| ir.cpp:2202:7:2202:7 | ChiTotal | total:m2201_52 | +| ir.cpp:2202:7:2202:7 | SideEffect | m2201_52 | +| ir.cpp:2202:9:2202:13 | CallTarget | func:r2202_2 | +| ir.cpp:2202:9:2202:13 | ChiPartial | partial:m2202_5 | +| ir.cpp:2202:9:2202:13 | ChiTotal | total:m2201_50 | +| ir.cpp:2202:9:2202:13 | SideEffect | ~m2201_50 | +| ir.cpp:2202:15:2202:17 | Arg(0) | 0:r2202_3 | +| ir.cpp:2204:5:2204:5 | Address | &:r2204_14 | +| ir.cpp:2204:5:2204:5 | Address | &:r2204_18 | +| ir.cpp:2204:5:2204:5 | Address | &:r2204_24 | +| ir.cpp:2204:42:2204:43 | Address | &:r2204_1 | +| ir.cpp:2204:42:2204:43 | Address | &:r2204_1 | +| ir.cpp:2204:42:2204:43 | Address | &:r2204_61 | +| ir.cpp:2204:42:2204:43 | Address | &:r2204_61 | +| ir.cpp:2204:42:2204:43 | Arg(this) | this:r2204_1 | +| ir.cpp:2204:42:2204:43 | Arg(this) | this:r2204_61 | +| ir.cpp:2204:42:2204:43 | CallTarget | func:r2204_62 | +| ir.cpp:2204:42:2204:43 | ChiPartial | partial:m2204_64 | +| ir.cpp:2204:42:2204:43 | ChiPartial | partial:m2204_67 | +| ir.cpp:2204:42:2204:43 | ChiTotal | total:m2204_13 | +| ir.cpp:2204:42:2204:43 | ChiTotal | total:m2204_57 | +| ir.cpp:2204:42:2204:43 | SideEffect | m2204_13 | +| ir.cpp:2204:42:2204:43 | SideEffect | ~m2204_57 | +| ir.cpp:2204:45:2204:45 | Address | &:r2204_4 | +| ir.cpp:2204:45:2204:45 | Address | &:r2204_4 | +| ir.cpp:2204:45:2204:45 | Address | &:r2204_5 | +| ir.cpp:2204:45:2204:45 | Arg(0) | 0:r2204_8 | +| ir.cpp:2204:45:2204:45 | Load | m2200_8 | +| ir.cpp:2204:45:2204:45 | Load | m2204_7 | +| ir.cpp:2204:45:2204:45 | StoreValue | r2204_6 | +| ir.cpp:2204:45:2204:46 | CallTarget | func:r2204_3 | +| ir.cpp:2204:45:2204:46 | ChiPartial | partial:m2204_10 | +| ir.cpp:2204:45:2204:46 | ChiPartial | partial:m2204_12 | +| ir.cpp:2204:45:2204:46 | ChiTotal | total:m2201_43 | +| ir.cpp:2204:45:2204:46 | ChiTotal | total:m2204_2 | +| ir.cpp:2204:45:2204:46 | SideEffect | ~m2201_43 | +| ir.cpp:2204:69:2204:69 | Address | &:r2204_45 | +| ir.cpp:2204:69:2204:69 | Address | &:r2204_53 | +| ir.cpp:2204:69:2204:69 | Address | &:r2204_53 | +| ir.cpp:2204:69:2204:69 | Address | &:r2204_69 | +| ir.cpp:2204:69:2204:69 | Address | &:r2204_69 | +| ir.cpp:2204:69:2204:69 | Arg(this) | this:r2204_53 | +| ir.cpp:2204:69:2204:69 | Arg(this) | this:r2204_69 | +| ir.cpp:2204:69:2204:69 | CallTarget | func:r2204_54 | +| ir.cpp:2204:69:2204:69 | CallTarget | func:r2204_70 | +| ir.cpp:2204:69:2204:69 | ChiPartial | partial:m2204_56 | +| ir.cpp:2204:69:2204:69 | ChiPartial | partial:m2204_59 | +| ir.cpp:2204:69:2204:69 | ChiPartial | partial:m2204_72 | +| ir.cpp:2204:69:2204:69 | ChiPartial | partial:m2204_75 | +| ir.cpp:2204:69:2204:69 | ChiTotal | total:m2206_5 | +| ir.cpp:2204:69:2204:69 | ChiTotal | total:m2206_5 | +| ir.cpp:2204:69:2204:69 | ChiTotal | total:m2206_8 | +| ir.cpp:2204:69:2204:69 | ChiTotal | total:m2206_8 | +| ir.cpp:2204:69:2204:69 | SideEffect | m2206_8 | +| ir.cpp:2204:69:2204:69 | SideEffect | m2206_8 | +| ir.cpp:2204:69:2204:69 | SideEffect | ~m2206_5 | +| ir.cpp:2204:69:2204:69 | SideEffect | ~m2206_5 | +| ir.cpp:2204:73:2204:73 | Address | &:r2204_19 | +| ir.cpp:2204:73:2204:73 | Address | &:r2204_25 | +| ir.cpp:2204:73:2204:73 | Address | &:r2204_48 | +| ir.cpp:2204:73:2204:73 | Address | &:r2204_77 | +| ir.cpp:2204:73:2204:73 | Address | &:r2204_77 | +| ir.cpp:2204:73:2204:73 | Arg(this) | this:r0_18 | +| ir.cpp:2204:73:2204:73 | Arg(this) | this:r0_21 | +| ir.cpp:2204:73:2204:73 | Arg(this) | this:r0_23 | +| ir.cpp:2204:73:2204:73 | Arg(this) | this:r0_24 | +| ir.cpp:2204:73:2204:73 | Arg(this) | this:r0_31 | +| ir.cpp:2204:73:2204:73 | Arg(this) | this:r2204_77 | +| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_21 | +| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_27 | +| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_33 | +| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_34 | +| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_47 | +| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_78 | +| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_37 | +| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_39 | +| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_42 | +| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_49 | +| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_80 | +| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_83 | +| ir.cpp:2204:73:2204:73 | ChiTotal | total:m0_25 | +| ir.cpp:2204:73:2204:73 | ChiTotal | total:m2204_30 | +| ir.cpp:2204:73:2204:73 | ChiTotal | total:m2204_31 | +| ir.cpp:2204:73:2204:73 | ChiTotal | total:m2204_38 | +| ir.cpp:2204:73:2204:73 | ChiTotal | total:m2204_43 | +| ir.cpp:2204:73:2204:73 | ChiTotal | total:m2204_73 | +| ir.cpp:2204:73:2204:73 | Condition | r2204_41 | +| ir.cpp:2204:73:2204:73 | Load | m2204_17 | +| ir.cpp:2204:73:2204:73 | Load | m2204_17 | +| ir.cpp:2204:73:2204:73 | Phi | from 10:m2204_23 | +| ir.cpp:2204:73:2204:73 | Phi | from 10:~m2204_11 | +| ir.cpp:2204:73:2204:73 | Phi | from 14:m2204_84 | +| ir.cpp:2204:73:2204:73 | Phi | from 14:~m2204_81 | +| ir.cpp:2204:73:2204:73 | SideEffect | m2204_30 | +| ir.cpp:2204:73:2204:73 | SideEffect | ~m2204_31 | +| ir.cpp:2204:73:2204:73 | SideEffect | ~m2204_38 | +| ir.cpp:2204:73:2204:73 | SideEffect | ~m2204_43 | +| ir.cpp:2204:73:2204:73 | SideEffect | ~m2204_73 | +| ir.cpp:2204:73:2204:73 | StoreValue | r2204_22 | +| ir.cpp:2204:73:2204:73 | StoreValue | r2204_28 | +| ir.cpp:2204:73:2204:73 | Unary | r2204_20 | +| ir.cpp:2204:73:2204:73 | Unary | r2204_26 | +| ir.cpp:2204:73:2204:73 | Unary | r2204_32 | +| ir.cpp:2204:73:2204:73 | Unary | r2204_35 | +| ir.cpp:2204:73:2204:73 | Unary | r2204_46 | +| ir.cpp:2204:73:2204:73 | Unary | r2204_79 | +| ir.cpp:2204:73:2204:74 | StoreValue | r2204_16 | +| ir.cpp:2204:73:2204:74 | Unary | r2204_15 | +| ir.cpp:2204:73:2204:75 | Load | ~m2204_50 | +| ir.cpp:2204:73:2204:75 | StoreValue | r2204_51 | +| ir.cpp:2205:7:2205:7 | Address | &:r2205_1 | +| ir.cpp:2205:7:2205:7 | Address | &:r2205_1 | +| ir.cpp:2205:7:2205:7 | Arg(this) | this:r2205_1 | +| ir.cpp:2205:7:2205:7 | ChiPartial | partial:m2205_8 | +| ir.cpp:2205:7:2205:7 | ChiTotal | total:m2204_52 | +| ir.cpp:2205:7:2205:7 | SideEffect | m2204_52 | +| ir.cpp:2205:9:2205:13 | CallTarget | func:r2205_2 | +| ir.cpp:2205:9:2205:13 | ChiPartial | partial:m2205_5 | +| ir.cpp:2205:9:2205:13 | ChiTotal | total:m2204_50 | +| ir.cpp:2205:9:2205:13 | SideEffect | ~m2204_50 | +| ir.cpp:2205:15:2205:17 | Arg(0) | 0:r2205_3 | +| ir.cpp:2206:11:2206:11 | Address | &:r2206_1 | +| ir.cpp:2206:11:2206:11 | Address | &:r2206_1 | +| ir.cpp:2206:11:2206:11 | Arg(this) | this:r2206_1 | +| ir.cpp:2206:11:2206:11 | ChiPartial | partial:m2206_7 | +| ir.cpp:2206:11:2206:11 | ChiTotal | total:m2205_9 | +| ir.cpp:2206:11:2206:11 | SideEffect | m2205_9 | +| ir.cpp:2206:11:2206:19 | Left | r2206_9 | +| ir.cpp:2206:11:2206:26 | Condition | r2206_11 | +| ir.cpp:2206:13:2206:17 | CallTarget | func:r2206_2 | +| ir.cpp:2206:13:2206:17 | ChiPartial | partial:m2206_4 | +| ir.cpp:2206:13:2206:17 | ChiTotal | total:m2205_6 | +| ir.cpp:2206:13:2206:17 | SideEffect | ~m2205_6 | +| ir.cpp:2206:13:2206:17 | Unary | r2206_3 | +| ir.cpp:2206:24:2206:26 | Right | r2206_10 | +| ir.cpp:2210:5:2210:5 | Address | &:r2210_10 | +| ir.cpp:2210:5:2210:5 | Address | &:r2210_14 | +| ir.cpp:2210:5:2210:5 | Address | &:r2210_20 | +| ir.cpp:2210:26:2210:27 | Address | &:r2210_1 | +| ir.cpp:2210:26:2210:27 | Address | &:r2210_1 | +| ir.cpp:2210:26:2210:27 | Address | &:r2210_58 | +| ir.cpp:2210:26:2210:27 | Address | &:r2210_58 | +| ir.cpp:2210:26:2210:27 | Arg(this) | this:r2210_1 | +| ir.cpp:2210:26:2210:27 | Arg(this) | this:r2210_58 | +| ir.cpp:2210:26:2210:27 | CallTarget | func:r2210_59 | +| ir.cpp:2210:26:2210:27 | ChiPartial | partial:m2210_61 | +| ir.cpp:2210:26:2210:27 | ChiPartial | partial:m2210_64 | +| ir.cpp:2210:26:2210:27 | ChiTotal | total:m2210_9 | +| ir.cpp:2210:26:2210:27 | ChiTotal | total:m2210_55 | +| ir.cpp:2210:26:2210:27 | SideEffect | m2210_9 | +| ir.cpp:2210:26:2210:27 | SideEffect | ~m2210_55 | +| ir.cpp:2210:29:2210:29 | Arg(0) | 0:r2210_4 | +| ir.cpp:2210:29:2210:30 | CallTarget | func:r2210_3 | +| ir.cpp:2210:29:2210:30 | ChiPartial | partial:m2210_6 | +| ir.cpp:2210:29:2210:30 | ChiPartial | partial:m2210_8 | +| ir.cpp:2210:29:2210:30 | ChiTotal | total:m2204_43 | +| ir.cpp:2210:29:2210:30 | ChiTotal | total:m2210_2 | +| ir.cpp:2210:29:2210:30 | SideEffect | ~m2204_43 | +| ir.cpp:2210:37:2210:37 | Address | &:r2210_50 | +| ir.cpp:2210:41:2210:41 | Address | &:r2210_15 | +| ir.cpp:2210:41:2210:41 | Address | &:r2210_21 | +| ir.cpp:2210:41:2210:41 | Address | &:r2210_41 | +| ir.cpp:2210:41:2210:41 | Address | &:r2210_41 | +| ir.cpp:2210:41:2210:41 | Address | &:r2210_53 | +| ir.cpp:2210:41:2210:41 | Arg(this) | this:r0_34 | +| ir.cpp:2210:41:2210:41 | Arg(this) | this:r0_37 | +| ir.cpp:2210:41:2210:41 | Arg(this) | this:r0_39 | +| ir.cpp:2210:41:2210:41 | Arg(this) | this:r0_40 | +| ir.cpp:2210:41:2210:41 | Arg(this) | this:r0_47 | +| ir.cpp:2210:41:2210:41 | Arg(this) | this:r2210_41 | +| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_17 | +| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_23 | +| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_29 | +| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_30 | +| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_42 | +| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_52 | +| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_33 | +| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_35 | +| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_38 | +| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_44 | +| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_47 | +| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_54 | +| ir.cpp:2210:41:2210:41 | ChiTotal | total:m0_41 | +| ir.cpp:2210:41:2210:41 | ChiTotal | total:m2210_26 | +| ir.cpp:2210:41:2210:41 | ChiTotal | total:m2210_27 | +| ir.cpp:2210:41:2210:41 | ChiTotal | total:m2210_34 | +| ir.cpp:2210:41:2210:41 | ChiTotal | total:m2210_39 | +| ir.cpp:2210:41:2210:41 | ChiTotal | total:m2210_55 | +| ir.cpp:2210:41:2210:41 | Condition | r2210_37 | +| ir.cpp:2210:41:2210:41 | Load | m2210_13 | +| ir.cpp:2210:41:2210:41 | Load | m2210_13 | +| ir.cpp:2210:41:2210:41 | Phi | from 15:m2210_19 | +| ir.cpp:2210:41:2210:41 | Phi | from 15:~m2210_7 | +| ir.cpp:2210:41:2210:41 | Phi | from 17:m2210_48 | +| ir.cpp:2210:41:2210:41 | Phi | from 17:~m2210_45 | +| ir.cpp:2210:41:2210:41 | SideEffect | m2210_26 | +| ir.cpp:2210:41:2210:41 | SideEffect | ~m2210_27 | +| ir.cpp:2210:41:2210:41 | SideEffect | ~m2210_34 | +| ir.cpp:2210:41:2210:41 | SideEffect | ~m2210_39 | +| ir.cpp:2210:41:2210:41 | SideEffect | ~m2210_55 | +| ir.cpp:2210:41:2210:41 | StoreValue | r2210_18 | +| ir.cpp:2210:41:2210:41 | StoreValue | r2210_24 | +| ir.cpp:2210:41:2210:41 | Unary | r2210_16 | +| ir.cpp:2210:41:2210:41 | Unary | r2210_22 | +| ir.cpp:2210:41:2210:41 | Unary | r2210_28 | +| ir.cpp:2210:41:2210:41 | Unary | r2210_31 | +| ir.cpp:2210:41:2210:41 | Unary | r2210_43 | +| ir.cpp:2210:41:2210:41 | Unary | r2210_51 | +| ir.cpp:2210:41:2210:42 | StoreValue | r2210_12 | +| ir.cpp:2210:41:2210:42 | Unary | r2210_11 | +| ir.cpp:2210:41:2210:43 | Load | ~m2210_55 | +| ir.cpp:2210:41:2210:43 | StoreValue | r2210_56 | +| ir.cpp:2211:11:2211:11 | Address | &:r2211_1 | +| ir.cpp:2211:11:2211:11 | Left | r2211_2 | +| ir.cpp:2211:11:2211:11 | Load | m2210_57 | +| ir.cpp:2211:11:2211:16 | Condition | r2211_4 | +| ir.cpp:2211:16:2211:16 | Right | r2211_3 | +| ir.cpp:2215:5:2215:5 | Address | &:r2215_14 | +| ir.cpp:2215:5:2215:5 | Address | &:r2215_18 | +| ir.cpp:2215:5:2215:5 | Address | &:r2215_24 | +| ir.cpp:2215:42:2215:43 | Address | &:r2215_1 | +| ir.cpp:2215:42:2215:43 | Address | &:r2215_1 | +| ir.cpp:2215:42:2215:43 | Arg(this) | this:r2215_1 | +| ir.cpp:2215:45:2215:45 | Address | &:r2215_4 | +| ir.cpp:2215:45:2215:45 | Address | &:r2215_4 | +| ir.cpp:2215:45:2215:45 | Address | &:r2215_5 | +| ir.cpp:2215:45:2215:45 | Arg(0) | 0:r2215_8 | +| ir.cpp:2215:45:2215:45 | Load | m2200_8 | +| ir.cpp:2215:45:2215:45 | Load | m2215_7 | +| ir.cpp:2215:45:2215:45 | StoreValue | r2215_6 | +| ir.cpp:2215:45:2215:46 | CallTarget | func:r2215_3 | +| ir.cpp:2215:45:2215:46 | ChiPartial | partial:m2215_10 | +| ir.cpp:2215:45:2215:46 | ChiPartial | partial:m2215_12 | +| ir.cpp:2215:45:2215:46 | ChiTotal | total:m2210_39 | +| ir.cpp:2215:45:2215:46 | ChiTotal | total:m2215_2 | +| ir.cpp:2215:45:2215:46 | SideEffect | ~m2210_39 | +| ir.cpp:2215:69:2215:69 | Address | &:r2215_45 | +| ir.cpp:2215:69:2215:69 | Address | &:r2215_53 | +| ir.cpp:2215:69:2215:69 | Address | &:r2215_53 | +| ir.cpp:2215:69:2215:69 | Arg(this) | this:r2215_53 | +| ir.cpp:2215:69:2215:69 | CallTarget | func:r2215_54 | +| ir.cpp:2215:69:2215:69 | ChiPartial | partial:m2215_56 | +| ir.cpp:2215:69:2215:69 | ChiPartial | partial:m2215_59 | +| ir.cpp:2215:69:2215:69 | ChiTotal | total:m2215_52 | +| ir.cpp:2215:69:2215:69 | ChiTotal | total:m2218_13 | +| ir.cpp:2215:69:2215:69 | SideEffect | m2215_52 | +| ir.cpp:2215:69:2215:69 | SideEffect | ~m2218_13 | +| ir.cpp:2215:73:2215:73 | Address | &:r2215_19 | +| ir.cpp:2215:73:2215:73 | Address | &:r2215_25 | +| ir.cpp:2215:73:2215:73 | Address | &:r2215_48 | +| ir.cpp:2215:73:2215:73 | Address | &:r2215_61 | +| ir.cpp:2215:73:2215:73 | Address | &:r2215_61 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_50 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_53 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_55 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_56 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_63 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r2215_61 | +| ir.cpp:2215:73:2215:73 | CallTarget | func:r2215_21 | +| ir.cpp:2215:73:2215:73 | CallTarget | func:r2215_27 | +| ir.cpp:2215:73:2215:73 | CallTarget | func:r2215_33 | +| ir.cpp:2215:73:2215:73 | CallTarget | func:r2215_34 | +| ir.cpp:2215:73:2215:73 | CallTarget | func:r2215_47 | +| ir.cpp:2215:73:2215:73 | CallTarget | func:r2215_62 | +| ir.cpp:2215:73:2215:73 | ChiPartial | partial:m2215_37 | +| ir.cpp:2215:73:2215:73 | ChiPartial | partial:m2215_39 | +| ir.cpp:2215:73:2215:73 | ChiPartial | partial:m2215_42 | +| ir.cpp:2215:73:2215:73 | ChiPartial | partial:m2215_49 | +| ir.cpp:2215:73:2215:73 | ChiPartial | partial:m2215_64 | +| ir.cpp:2215:73:2215:73 | ChiPartial | partial:m2215_67 | +| ir.cpp:2215:73:2215:73 | ChiTotal | total:m0_57 | +| ir.cpp:2215:73:2215:73 | ChiTotal | total:m2215_30 | +| ir.cpp:2215:73:2215:73 | ChiTotal | total:m2215_31 | +| ir.cpp:2215:73:2215:73 | ChiTotal | total:m2215_38 | +| ir.cpp:2215:73:2215:73 | ChiTotal | total:m2215_43 | +| ir.cpp:2215:73:2215:73 | ChiTotal | total:m2215_57 | +| ir.cpp:2215:73:2215:73 | Condition | r2215_41 | +| ir.cpp:2215:73:2215:73 | Load | m2215_17 | +| ir.cpp:2215:73:2215:73 | Load | m2215_17 | +| ir.cpp:2215:73:2215:73 | Phi | from 20:m2215_23 | +| ir.cpp:2215:73:2215:73 | Phi | from 20:~m2215_11 | +| ir.cpp:2215:73:2215:73 | Phi | from 22:m2215_68 | +| ir.cpp:2215:73:2215:73 | Phi | from 22:~m2215_65 | +| ir.cpp:2215:73:2215:73 | SideEffect | m2215_30 | +| ir.cpp:2215:73:2215:73 | SideEffect | ~m2215_31 | +| ir.cpp:2215:73:2215:73 | SideEffect | ~m2215_38 | +| ir.cpp:2215:73:2215:73 | SideEffect | ~m2215_43 | +| ir.cpp:2215:73:2215:73 | SideEffect | ~m2215_57 | +| ir.cpp:2215:73:2215:73 | StoreValue | r2215_22 | +| ir.cpp:2215:73:2215:73 | StoreValue | r2215_28 | +| ir.cpp:2215:73:2215:73 | Unary | r2215_20 | +| ir.cpp:2215:73:2215:73 | Unary | r2215_26 | +| ir.cpp:2215:73:2215:73 | Unary | r2215_32 | +| ir.cpp:2215:73:2215:73 | Unary | r2215_35 | +| ir.cpp:2215:73:2215:73 | Unary | r2215_46 | +| ir.cpp:2215:73:2215:73 | Unary | r2215_63 | +| ir.cpp:2215:73:2215:74 | StoreValue | r2215_16 | +| ir.cpp:2215:73:2215:74 | Unary | r2215_15 | +| ir.cpp:2215:73:2215:75 | Load | ~m2215_50 | +| ir.cpp:2215:73:2215:75 | StoreValue | r2215_51 | +| ir.cpp:2216:27:2216:28 | Address | &:r2216_1 | +| ir.cpp:2216:27:2216:28 | Address | &:r2216_1 | +| ir.cpp:2216:27:2216:28 | Arg(this) | this:r2216_1 | +| ir.cpp:2216:27:2216:28 | CallTarget | func:r2216_3 | +| ir.cpp:2216:27:2216:28 | ChiPartial | partial:m2216_5 | +| ir.cpp:2216:27:2216:28 | ChiPartial | partial:m2216_7 | +| ir.cpp:2216:27:2216:28 | ChiTotal | total:m2215_50 | +| ir.cpp:2216:27:2216:28 | ChiTotal | total:m2216_2 | +| ir.cpp:2216:27:2216:28 | SideEffect | ~m2215_50 | +| ir.cpp:2217:27:2217:28 | Address | &:r2217_1 | +| ir.cpp:2217:27:2217:28 | Address | &:r2217_1 | +| ir.cpp:2217:27:2217:28 | Arg(this) | this:r2217_1 | +| ir.cpp:2217:27:2217:28 | CallTarget | func:r2217_3 | +| ir.cpp:2217:27:2217:28 | ChiPartial | partial:m2217_5 | +| ir.cpp:2217:27:2217:28 | ChiPartial | partial:m2217_7 | +| ir.cpp:2217:27:2217:28 | ChiTotal | total:m2216_6 | +| ir.cpp:2217:27:2217:28 | ChiTotal | total:m2217_2 | +| ir.cpp:2217:27:2217:28 | SideEffect | ~m2216_6 | +| ir.cpp:2218:5:2218:5 | Address | &:r2218_1 | +| ir.cpp:2218:5:2218:5 | Address | &:r2218_1 | +| ir.cpp:2218:5:2218:5 | Address | &:r2218_9 | +| ir.cpp:2218:5:2218:5 | Address | &:r2218_9 | +| ir.cpp:2218:5:2218:5 | Arg(this) | this:r2218_1 | +| ir.cpp:2218:5:2218:5 | Arg(this) | this:r2218_9 | +| ir.cpp:2218:5:2218:5 | CallTarget | func:r2218_2 | +| ir.cpp:2218:5:2218:5 | CallTarget | func:r2218_10 | +| ir.cpp:2218:5:2218:5 | ChiPartial | partial:m2218_4 | +| ir.cpp:2218:5:2218:5 | ChiPartial | partial:m2218_7 | +| ir.cpp:2218:5:2218:5 | ChiPartial | partial:m2218_12 | +| ir.cpp:2218:5:2218:5 | ChiPartial | partial:m2218_15 | +| ir.cpp:2218:5:2218:5 | ChiTotal | total:m2216_8 | +| ir.cpp:2218:5:2218:5 | ChiTotal | total:m2217_6 | +| ir.cpp:2218:5:2218:5 | ChiTotal | total:m2217_8 | +| ir.cpp:2218:5:2218:5 | ChiTotal | total:m2218_5 | +| ir.cpp:2218:5:2218:5 | SideEffect | m2216_8 | +| ir.cpp:2218:5:2218:5 | SideEffect | m2217_8 | +| ir.cpp:2218:5:2218:5 | SideEffect | ~m2217_6 | +| ir.cpp:2218:5:2218:5 | SideEffect | ~m2218_5 | +| ir.cpp:2219:1:2219:1 | Address | &:r2219_1 | +| ir.cpp:2219:1:2219:1 | Address | &:r2219_1 | +| ir.cpp:2219:1:2219:1 | Address | &:r2219_9 | +| ir.cpp:2219:1:2219:1 | Address | &:r2219_9 | +| ir.cpp:2219:1:2219:1 | Address | &:r2219_18 | +| ir.cpp:2219:1:2219:1 | Address | &:r2219_18 | +| ir.cpp:2219:1:2219:1 | Arg(this) | this:r2219_1 | +| ir.cpp:2219:1:2219:1 | Arg(this) | this:r2219_9 | +| ir.cpp:2219:1:2219:1 | Arg(this) | this:r2219_18 | +| ir.cpp:2219:1:2219:1 | CallTarget | func:r2219_2 | +| ir.cpp:2219:1:2219:1 | CallTarget | func:r2219_10 | +| ir.cpp:2219:1:2219:1 | CallTarget | func:r2219_19 | +| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_4 | +| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_7 | +| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_12 | +| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_15 | +| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_21 | +| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_24 | +| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2200_8 | +| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2200_8 | +| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2200_8 | +| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2204_65 | +| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2210_62 | +| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2215_43 | +| ir.cpp:2219:1:2219:1 | SideEffect | m2200_8 | +| ir.cpp:2219:1:2219:1 | SideEffect | m2200_8 | +| ir.cpp:2219:1:2219:1 | SideEffect | m2200_8 | +| ir.cpp:2219:1:2219:1 | SideEffect | ~m2204_65 | +| ir.cpp:2219:1:2219:1 | SideEffect | ~m2210_62 | +| ir.cpp:2219:1:2219:1 | SideEffect | ~m2215_43 | +| ir.cpp:2221:6:2221:38 | ChiPartial | partial:m2221_3 | +| ir.cpp:2221:6:2221:38 | ChiTotal | total:m2221_2 | +| ir.cpp:2221:6:2221:38 | SideEffect | ~m2224_7 | +| ir.cpp:2222:25:2222:25 | Address | &:r2222_1 | +| ir.cpp:2222:25:2222:25 | Address | &:r2222_1 | +| ir.cpp:2222:25:2222:25 | Arg(this) | this:r2222_1 | +| ir.cpp:2222:25:2222:25 | CallTarget | func:r2222_3 | +| ir.cpp:2222:25:2222:25 | ChiPartial | partial:m2222_5 | +| ir.cpp:2222:25:2222:25 | ChiPartial | partial:m2222_7 | +| ir.cpp:2222:25:2222:25 | ChiTotal | total:m2221_4 | +| ir.cpp:2222:25:2222:25 | ChiTotal | total:m2222_2 | +| ir.cpp:2222:25:2222:25 | SideEffect | ~m2221_4 | +| ir.cpp:2223:32:2223:32 | Address | &:r2223_1 | +| ir.cpp:2223:32:2223:32 | Address | &:r2223_1 | +| ir.cpp:2223:32:2223:32 | Address | &:r2223_4 | +| ir.cpp:2223:32:2223:32 | Arg(this) | this:r2223_4 | +| ir.cpp:2223:32:2223:32 | ChiPartial | partial:m2223_6 | +| ir.cpp:2223:32:2223:32 | ChiTotal | total:m0_6 | +| ir.cpp:2223:32:2223:32 | Condition | r2223_2 | +| ir.cpp:2223:32:2223:32 | Load | ~m2222_6 | +| ir.cpp:2223:32:2223:32 | StoreValue | r2223_5 | +| ir.cpp:2224:1:2224:1 | Address | &:r2224_3 | +| ir.cpp:2224:1:2224:1 | Address | &:r2224_3 | +| ir.cpp:2224:1:2224:1 | Arg(this) | this:r2224_3 | +| ir.cpp:2224:1:2224:1 | CallTarget | func:r2224_4 | +| ir.cpp:2224:1:2224:1 | ChiPartial | partial:m2224_6 | +| ir.cpp:2224:1:2224:1 | ChiPartial | partial:m2224_9 | +| ir.cpp:2224:1:2224:1 | ChiTotal | total:m2222_8 | +| ir.cpp:2224:1:2224:1 | ChiTotal | total:m2224_1 | +| ir.cpp:2224:1:2224:1 | Phi | from 0:~m2222_6 | +| ir.cpp:2224:1:2224:1 | Phi | from 1:~m2223_7 | +| ir.cpp:2224:1:2224:1 | SideEffect | m2222_8 | +| ir.cpp:2224:1:2224:1 | SideEffect | ~m2224_1 | +| ir.cpp:2226:6:2226:38 | ChiPartial | partial:m2226_3 | +| ir.cpp:2226:6:2226:38 | ChiTotal | total:m2226_2 | +| ir.cpp:2226:6:2226:38 | SideEffect | ~m2229_6 | +| ir.cpp:2227:32:2227:32 | Address | &:r2227_1 | +| ir.cpp:2227:32:2227:32 | Address | &:r2227_1 | +| ir.cpp:2227:32:2227:32 | Address | &:r2227_4 | +| ir.cpp:2227:32:2227:32 | Arg(this) | this:r2227_4 | +| ir.cpp:2227:32:2227:32 | ChiPartial | partial:m2227_6 | +| ir.cpp:2227:32:2227:32 | ChiTotal | total:m0_6 | +| ir.cpp:2227:32:2227:32 | Condition | r2227_2 | +| ir.cpp:2227:32:2227:32 | Load | ~m2226_3 | +| ir.cpp:2227:32:2227:32 | StoreValue | r2227_5 | +| ir.cpp:2228:25:2228:25 | Address | &:r2228_2 | +| ir.cpp:2228:25:2228:25 | Address | &:r2228_2 | +| ir.cpp:2228:25:2228:25 | Arg(this) | this:r2228_2 | +| ir.cpp:2228:25:2228:25 | CallTarget | func:r2228_4 | +| ir.cpp:2228:25:2228:25 | ChiPartial | partial:m2228_6 | +| ir.cpp:2228:25:2228:25 | ChiPartial | partial:m2228_8 | +| ir.cpp:2228:25:2228:25 | ChiTotal | total:m2228_1 | +| ir.cpp:2228:25:2228:25 | ChiTotal | total:m2228_3 | +| ir.cpp:2228:25:2228:25 | Phi | from 0:~m2226_4 | +| ir.cpp:2228:25:2228:25 | Phi | from 1:~m2227_7 | +| ir.cpp:2228:25:2228:25 | SideEffect | ~m2228_1 | +| ir.cpp:2229:1:2229:1 | Address | &:r2229_2 | +| ir.cpp:2229:1:2229:1 | Address | &:r2229_2 | +| ir.cpp:2229:1:2229:1 | Arg(this) | this:r2229_2 | +| ir.cpp:2229:1:2229:1 | CallTarget | func:r2229_3 | +| ir.cpp:2229:1:2229:1 | ChiPartial | partial:m2229_5 | +| ir.cpp:2229:1:2229:1 | ChiPartial | partial:m2229_8 | +| ir.cpp:2229:1:2229:1 | ChiTotal | total:m2228_7 | +| ir.cpp:2229:1:2229:1 | ChiTotal | total:m2228_9 | +| ir.cpp:2229:1:2229:1 | SideEffect | m2228_9 | +| ir.cpp:2229:1:2229:1 | SideEffect | ~m2228_7 | +| ir.cpp:2231:6:2231:38 | ChiPartial | partial:m2231_3 | +| ir.cpp:2231:6:2231:38 | ChiTotal | total:m2231_2 | +| ir.cpp:2231:6:2231:38 | SideEffect | ~m2235_15 | +| ir.cpp:2232:25:2232:25 | Address | &:r2232_1 | +| ir.cpp:2232:25:2232:25 | Address | &:r2232_1 | +| ir.cpp:2232:25:2232:25 | Arg(this) | this:r2232_1 | +| ir.cpp:2232:25:2232:25 | CallTarget | func:r2232_3 | +| ir.cpp:2232:25:2232:25 | ChiPartial | partial:m2232_5 | +| ir.cpp:2232:25:2232:25 | ChiPartial | partial:m2232_7 | +| ir.cpp:2232:25:2232:25 | ChiTotal | total:m2231_4 | +| ir.cpp:2232:25:2232:25 | ChiTotal | total:m2232_2 | +| ir.cpp:2232:25:2232:25 | SideEffect | ~m2231_4 | +| ir.cpp:2233:25:2233:25 | Address | &:r2233_1 | +| ir.cpp:2233:25:2233:25 | Address | &:r2233_1 | +| ir.cpp:2233:25:2233:25 | Arg(this) | this:r2233_1 | +| ir.cpp:2233:25:2233:25 | CallTarget | func:r2233_3 | +| ir.cpp:2233:25:2233:25 | ChiPartial | partial:m2233_5 | +| ir.cpp:2233:25:2233:25 | ChiPartial | partial:m2233_7 | +| ir.cpp:2233:25:2233:25 | ChiTotal | total:m2232_6 | +| ir.cpp:2233:25:2233:25 | ChiTotal | total:m2233_2 | +| ir.cpp:2233:25:2233:25 | SideEffect | ~m2232_6 | +| ir.cpp:2234:32:2234:32 | Address | &:r2234_1 | +| ir.cpp:2234:32:2234:32 | Address | &:r2234_1 | +| ir.cpp:2234:32:2234:32 | Address | &:r2234_4 | +| ir.cpp:2234:32:2234:32 | Arg(this) | this:r2234_4 | +| ir.cpp:2234:32:2234:32 | ChiPartial | partial:m2234_6 | +| ir.cpp:2234:32:2234:32 | ChiTotal | total:m0_6 | +| ir.cpp:2234:32:2234:32 | Condition | r2234_2 | +| ir.cpp:2234:32:2234:32 | Load | ~m2233_6 | +| ir.cpp:2234:32:2234:32 | StoreValue | r2234_5 | +| ir.cpp:2235:1:2235:1 | Address | &:r2235_3 | +| ir.cpp:2235:1:2235:1 | Address | &:r2235_3 | +| ir.cpp:2235:1:2235:1 | Address | &:r2235_11 | +| ir.cpp:2235:1:2235:1 | Address | &:r2235_11 | +| ir.cpp:2235:1:2235:1 | Arg(this) | this:r2235_3 | +| ir.cpp:2235:1:2235:1 | Arg(this) | this:r2235_11 | +| ir.cpp:2235:1:2235:1 | CallTarget | func:r2235_4 | +| ir.cpp:2235:1:2235:1 | CallTarget | func:r2235_12 | +| ir.cpp:2235:1:2235:1 | ChiPartial | partial:m2235_6 | +| ir.cpp:2235:1:2235:1 | ChiPartial | partial:m2235_9 | +| ir.cpp:2235:1:2235:1 | ChiPartial | partial:m2235_14 | +| ir.cpp:2235:1:2235:1 | ChiPartial | partial:m2235_17 | +| ir.cpp:2235:1:2235:1 | ChiTotal | total:m2232_8 | +| ir.cpp:2235:1:2235:1 | ChiTotal | total:m2233_8 | +| ir.cpp:2235:1:2235:1 | ChiTotal | total:m2235_1 | +| ir.cpp:2235:1:2235:1 | ChiTotal | total:m2235_7 | +| ir.cpp:2235:1:2235:1 | Phi | from 0:~m2233_6 | +| ir.cpp:2235:1:2235:1 | Phi | from 1:~m2234_7 | +| ir.cpp:2235:1:2235:1 | SideEffect | m2232_8 | +| ir.cpp:2235:1:2235:1 | SideEffect | m2233_8 | +| ir.cpp:2235:1:2235:1 | SideEffect | ~m2235_1 | +| ir.cpp:2235:1:2235:1 | SideEffect | ~m2235_7 | +| ir.cpp:2237:28:2237:55 | Address | &:r2237_3 | +| ir.cpp:2237:28:2237:55 | Arg(this) | this:r2237_3 | +| ir.cpp:2237:28:2237:55 | CallTarget | func:r2237_4 | +| ir.cpp:2237:28:2237:55 | ChiPartial | partial:m2237_6 | +| ir.cpp:2237:28:2237:55 | ChiPartial | partial:m2237_8 | +| ir.cpp:2237:28:2237:55 | ChiTotal | total:m2237_2 | +| ir.cpp:2237:28:2237:55 | ChiTotal | total:m2237_7 | +| ir.cpp:2237:28:2237:55 | SideEffect | ~m2237_2 | +| ir.cpp:2237:28:2237:55 | SideEffect | ~m2237_9 | +| ir.cpp:2241:8:2241:8 | Address | &:r2241_16 | +| ir.cpp:2241:8:2241:8 | Address | &:r2241_16 | +| ir.cpp:2241:8:2241:8 | ChiPartial | partial:m2241_3 | +| ir.cpp:2241:8:2241:8 | ChiPartial | partial:m2241_3 | +| ir.cpp:2241:8:2241:8 | ChiTotal | total:m2241_2 | +| ir.cpp:2241:8:2241:8 | ChiTotal | total:m2241_2 | +| ir.cpp:2241:8:2241:8 | Load | m2241_14 | +| ir.cpp:2241:8:2241:8 | Load | m2241_14 | +| ir.cpp:2241:8:2241:8 | SideEffect | m2241_3 | +| ir.cpp:2241:8:2241:8 | SideEffect | m2241_3 | +| ir.cpp:2241:15:2241:15 | Address | &:r2241_5 | +| ir.cpp:2241:15:2241:15 | Address | &:r2241_5 | +| ir.cpp:2241:15:2241:15 | Address | &:r2241_5 | +| ir.cpp:2241:15:2241:15 | Address | &:r2241_5 | +| ir.cpp:2241:15:2241:15 | Address | &:r2241_7 | +| ir.cpp:2241:15:2241:15 | Address | &:r2241_7 | +| ir.cpp:2241:15:2241:15 | Address | &:r2241_7 | +| ir.cpp:2241:15:2241:15 | Address | &:r2241_7 | +| ir.cpp:2241:15:2241:15 | Load | m2241_6 | +| ir.cpp:2241:15:2241:15 | Load | m2241_6 | +| ir.cpp:2241:15:2241:15 | SideEffect | m2241_8 | +| ir.cpp:2241:15:2241:15 | SideEffect | m2241_8 | +| ir.cpp:2241:20:2241:28 | Address | &:r2241_9 | +| ir.cpp:2241:20:2241:28 | Address | &:r2241_9 | +| ir.cpp:2241:27:2241:27 | Address | &:r2241_10 | +| ir.cpp:2241:27:2241:27 | Address | &:r2241_10 | +| ir.cpp:2241:27:2241:27 | Load | m2241_6 | +| ir.cpp:2241:27:2241:27 | Load | m2241_6 | +| ir.cpp:2241:27:2241:27 | StoreValue | r2241_13 | +| ir.cpp:2241:27:2241:27 | StoreValue | r2241_13 | +| ir.cpp:2241:27:2241:27 | Unary | r2241_11 | +| ir.cpp:2241:27:2241:27 | Unary | r2241_11 | +| ir.cpp:2241:27:2241:27 | Unary | r2241_12 | +| ir.cpp:2241:27:2241:27 | Unary | r2241_12 | +| ir.cpp:2244:10:2244:10 | ChiPartial | partial:m2244_3 | +| ir.cpp:2244:10:2244:10 | ChiPartial | partial:m2244_3 | +| ir.cpp:2244:10:2244:10 | ChiTotal | total:m2244_2 | +| ir.cpp:2244:10:2244:10 | ChiTotal | total:m2244_2 | +| ir.cpp:2244:10:2244:10 | SideEffect | ~m2245_8 | +| ir.cpp:2244:10:2244:10 | SideEffect | ~m2245_16 | +| ir.cpp:2244:29:2244:29 | Address | &:r2244_5 | +| ir.cpp:2244:29:2244:29 | Address | &:r2244_5 | +| ir.cpp:2244:29:2244:29 | Address | &:r2244_5 | +| ir.cpp:2244:29:2244:29 | Address | &:r2244_5 | +| ir.cpp:2244:29:2244:29 | Address | &:r2244_7 | +| ir.cpp:2244:29:2244:29 | Address | &:r2244_7 | +| ir.cpp:2244:29:2244:29 | Address | &:r2244_7 | +| ir.cpp:2244:29:2244:29 | Address | &:r2244_7 | +| ir.cpp:2244:29:2244:29 | Load | m2244_6 | +| ir.cpp:2244:29:2244:29 | Load | m2244_6 | +| ir.cpp:2244:29:2244:29 | SideEffect | m2245_11 | +| ir.cpp:2244:29:2244:29 | SideEffect | m2245_19 | +| ir.cpp:2245:9:2245:11 | CallTarget | func:r2245_1 | +| ir.cpp:2245:9:2245:11 | CallTarget | func:r2245_1 | +| ir.cpp:2245:9:2245:11 | ChiPartial | partial:m2245_7 | +| ir.cpp:2245:9:2245:11 | ChiPartial | partial:m2245_7 | +| ir.cpp:2245:9:2245:11 | ChiTotal | total:m2244_4 | +| ir.cpp:2245:9:2245:11 | ChiTotal | total:m2244_4 | +| ir.cpp:2245:9:2245:11 | SideEffect | ~m2244_4 | +| ir.cpp:2245:9:2245:11 | SideEffect | ~m2244_4 | +| ir.cpp:2245:9:2245:11 | Unary | r2245_6 | +| ir.cpp:2245:9:2245:11 | Unary | r2245_6 | +| ir.cpp:2245:12:2245:15 | Address | &:r2245_12 | +| ir.cpp:2245:12:2245:15 | Address | &:r2245_12 | +| ir.cpp:2245:12:2245:15 | ChiPartial | partial:m2245_18 | +| ir.cpp:2245:12:2245:15 | ChiTotal | total:m2245_11 | +| ir.cpp:2245:12:2245:15 | SideEffect | ~m2245_11 | +| ir.cpp:2245:13:2245:13 | Address | &:r2245_2 | +| ir.cpp:2245:13:2245:13 | Address | &:r2245_2 | +| ir.cpp:2245:13:2245:13 | Address | &:r2245_5 | +| ir.cpp:2245:13:2245:13 | Address | &:r2245_5 | +| ir.cpp:2245:13:2245:13 | Address | &:r2245_5 | +| ir.cpp:2245:13:2245:13 | Address | &:r2245_5 | +| ir.cpp:2245:13:2245:13 | Arg(0) | 0:r2245_5 | +| ir.cpp:2245:13:2245:13 | Arg(0) | 0:r2245_5 | +| ir.cpp:2245:13:2245:13 | ChiPartial | partial:m2245_10 | +| ir.cpp:2245:13:2245:13 | ChiPartial | partial:m2245_10 | +| ir.cpp:2245:13:2245:13 | ChiTotal | total:m2244_8 | +| ir.cpp:2245:13:2245:13 | ChiTotal | total:m2244_8 | +| ir.cpp:2245:13:2245:13 | Load | m2244_6 | +| ir.cpp:2245:13:2245:13 | Load | m2244_6 | +| ir.cpp:2245:13:2245:13 | SideEffect | ~m2244_8 | +| ir.cpp:2245:13:2245:13 | SideEffect | ~m2244_8 | +| ir.cpp:2245:13:2245:13 | Unary | r2245_3 | +| ir.cpp:2245:13:2245:13 | Unary | r2245_3 | +| ir.cpp:2245:13:2245:13 | Unary | r2245_4 | +| ir.cpp:2245:13:2245:13 | Unary | r2245_4 | +| ir.cpp:2245:16:2245:17 | CallTarget | func:r2245_13 | +| ir.cpp:2245:16:2245:17 | ChiPartial | partial:m2245_15 | +| ir.cpp:2245:16:2245:17 | ChiTotal | total:m2245_8 | +| ir.cpp:2245:16:2245:17 | SideEffect | ~m2245_8 | +| ir.cpp:2248:10:2248:36 | ChiPartial | partial:m2248_3 | +| ir.cpp:2248:10:2248:36 | ChiTotal | total:m2248_2 | +| ir.cpp:2248:10:2248:36 | SideEffect | ~m2251_6 | +| ir.cpp:2249:29:2249:29 | Address | &:r2249_1 | +| ir.cpp:2249:29:2249:29 | Address | &:r2249_1 | +| ir.cpp:2249:29:2249:29 | Arg(this) | this:r2249_1 | +| ir.cpp:2249:29:2249:29 | CallTarget | func:r2249_3 | +| ir.cpp:2249:29:2249:29 | ChiPartial | partial:m2249_5 | +| ir.cpp:2249:29:2249:29 | ChiPartial | partial:m2249_7 | +| ir.cpp:2249:29:2249:29 | ChiTotal | total:m2248_4 | +| ir.cpp:2249:29:2249:29 | ChiTotal | total:m2249_2 | +| ir.cpp:2249:29:2249:29 | SideEffect | ~m2248_4 | +| ir.cpp:2250:9:2250:23 | CallTarget | func:r2250_1 | +| ir.cpp:2250:9:2250:23 | ChiPartial | partial:m2250_5 | +| ir.cpp:2250:9:2250:23 | ChiTotal | total:m2249_6 | +| ir.cpp:2250:9:2250:23 | SideEffect | ~m2249_6 | +| ir.cpp:2250:25:2250:25 | Address | &:r2250_3 | +| ir.cpp:2250:25:2250:25 | Address | &:r2250_3 | +| ir.cpp:2250:25:2250:25 | Arg(0) | 0:r2250_3 | +| ir.cpp:2250:25:2250:25 | ChiPartial | partial:m2250_8 | +| ir.cpp:2250:25:2250:25 | ChiTotal | total:m2249_8 | +| ir.cpp:2250:25:2250:25 | SideEffect | ~m2249_8 | +| ir.cpp:2250:25:2250:25 | Unary | r2250_2 | +| ir.cpp:2251:5:2251:5 | Address | &:r2251_2 | +| ir.cpp:2251:5:2251:5 | Address | &:r2251_2 | +| ir.cpp:2251:5:2251:5 | Arg(this) | this:r2251_2 | +| ir.cpp:2251:5:2251:5 | CallTarget | func:r2251_3 | +| ir.cpp:2251:5:2251:5 | ChiPartial | partial:m2251_5 | +| ir.cpp:2251:5:2251:5 | ChiPartial | partial:m2251_8 | +| ir.cpp:2251:5:2251:5 | ChiTotal | total:m2250_6 | +| ir.cpp:2251:5:2251:5 | ChiTotal | total:m2250_9 | +| ir.cpp:2251:5:2251:5 | SideEffect | m2250_9 | +| ir.cpp:2251:5:2251:5 | SideEffect | ~m2250_6 | +| ir.cpp:2253:10:2253:32 | ChiPartial | partial:m2253_3 | +| ir.cpp:2253:10:2253:32 | ChiTotal | total:m2253_2 | +| ir.cpp:2253:10:2253:32 | SideEffect | ~m2255_6 | +| ir.cpp:2254:13:2254:13 | Address | &:r2254_1 | +| ir.cpp:2255:9:2255:23 | CallTarget | func:r2255_1 | +| ir.cpp:2255:9:2255:23 | ChiPartial | partial:m2255_5 | +| ir.cpp:2255:9:2255:23 | ChiTotal | total:m2253_4 | +| ir.cpp:2255:9:2255:23 | SideEffect | ~m2253_4 | +| ir.cpp:2255:25:2255:25 | Address | &:r2255_3 | +| ir.cpp:2255:25:2255:25 | Address | &:r2255_3 | +| ir.cpp:2255:25:2255:25 | Arg(0) | 0:r2255_3 | +| ir.cpp:2255:25:2255:25 | ChiPartial | partial:m2255_8 | +| ir.cpp:2255:25:2255:25 | ChiTotal | total:m2254_2 | +| ir.cpp:2255:25:2255:25 | SideEffect | ~m2254_2 | +| ir.cpp:2255:25:2255:25 | Unary | r2255_2 | +| ir.cpp:2259:6:2259:24 | ChiPartial | partial:m2259_3 | +| ir.cpp:2259:6:2259:24 | ChiTotal | total:m2259_2 | +| ir.cpp:2259:6:2259:24 | Phi | from 2:~m2259_10 | +| ir.cpp:2259:6:2259:24 | Phi | from 6:~m2268_8 | +| ir.cpp:2259:6:2259:24 | Phi | from 9:~m2261_6 | +| ir.cpp:2259:6:2259:24 | Phi | from 10:~m2275_1 | +| ir.cpp:2259:6:2259:24 | SideEffect | ~m2259_7 | +| ir.cpp:2259:31:2259:31 | Address | &:r2259_5 | +| ir.cpp:2261:12:2261:12 | Address | &:r2261_1 | +| ir.cpp:2261:12:2261:12 | Address | &:r2261_1 | +| ir.cpp:2261:12:2261:12 | Arg(this) | this:r2261_1 | +| ir.cpp:2261:12:2261:12 | CallTarget | func:r2261_3 | +| ir.cpp:2261:12:2261:12 | ChiPartial | partial:m2261_5 | +| ir.cpp:2261:12:2261:12 | ChiPartial | partial:m2261_7 | +| ir.cpp:2261:12:2261:12 | ChiTotal | total:m2259_4 | +| ir.cpp:2261:12:2261:12 | ChiTotal | total:m2261_2 | +| ir.cpp:2261:12:2261:12 | SideEffect | ~m2259_4 | +| ir.cpp:2262:9:2262:9 | Address | &:r2262_1 | +| ir.cpp:2262:9:2262:9 | Condition | r2262_2 | +| ir.cpp:2262:9:2262:9 | Load | m2259_6 | +| ir.cpp:2263:7:2263:28 | Address | &:r2263_1 | +| ir.cpp:2263:7:2263:28 | Address | &:r2263_1 | +| ir.cpp:2263:7:2263:28 | Load | m2263_4 | +| ir.cpp:2263:13:2263:28 | StoreValue | r2263_3 | +| ir.cpp:2263:13:2263:28 | Unary | r2263_2 | +| ir.cpp:2265:12:2265:13 | Address | &:r2265_1 | +| ir.cpp:2265:12:2265:13 | Address | &:r2265_1 | +| ir.cpp:2265:12:2265:13 | Arg(this) | this:r2265_1 | +| ir.cpp:2265:12:2265:13 | CallTarget | func:r2265_3 | +| ir.cpp:2265:12:2265:13 | ChiPartial | partial:m2265_5 | +| ir.cpp:2265:12:2265:13 | ChiPartial | partial:m2265_7 | +| ir.cpp:2265:12:2265:13 | ChiTotal | total:m2261_6 | +| ir.cpp:2265:12:2265:13 | ChiTotal | total:m2265_2 | +| ir.cpp:2265:12:2265:13 | SideEffect | ~m2261_6 | +| ir.cpp:2266:3:2266:3 | Address | &:r2266_1 | +| ir.cpp:2266:3:2266:3 | Address | &:r2266_1 | +| ir.cpp:2266:3:2266:3 | Address | &:r2266_9 | +| ir.cpp:2266:3:2266:3 | Address | &:r2266_9 | +| ir.cpp:2266:3:2266:3 | Arg(this) | this:r2266_1 | +| ir.cpp:2266:3:2266:3 | Arg(this) | this:r2266_9 | +| ir.cpp:2266:3:2266:3 | CallTarget | func:r2266_2 | +| ir.cpp:2266:3:2266:3 | CallTarget | func:r2266_10 | +| ir.cpp:2266:3:2266:3 | ChiPartial | partial:m2266_4 | +| ir.cpp:2266:3:2266:3 | ChiPartial | partial:m2266_7 | +| ir.cpp:2266:3:2266:3 | ChiPartial | partial:m2266_12 | +| ir.cpp:2266:3:2266:3 | ChiPartial | partial:m2266_15 | +| ir.cpp:2266:3:2266:3 | ChiTotal | total:m2261_8 | +| ir.cpp:2266:3:2266:3 | ChiTotal | total:m2265_6 | +| ir.cpp:2266:3:2266:3 | ChiTotal | total:m2265_8 | +| ir.cpp:2266:3:2266:3 | ChiTotal | total:m2266_5 | +| ir.cpp:2266:3:2266:3 | SideEffect | m2261_8 | +| ir.cpp:2266:3:2266:3 | SideEffect | m2265_8 | +| ir.cpp:2266:3:2266:3 | SideEffect | ~m2265_6 | +| ir.cpp:2266:3:2266:3 | SideEffect | ~m2266_5 | +| ir.cpp:2267:22:2267:22 | Address | &:r2267_2 | +| ir.cpp:2267:22:2267:22 | Address | &:r2267_2 | +| ir.cpp:2267:22:2267:22 | Address | &:r2267_4 | +| ir.cpp:2267:22:2267:22 | Load | m2267_3 | +| ir.cpp:2268:5:2268:19 | Address | &:r2268_1 | +| ir.cpp:2268:5:2268:19 | Address | &:r2268_1 | +| ir.cpp:2268:5:2268:19 | Address | &:r2268_1 | +| ir.cpp:2268:5:2268:19 | Arg(this) | this:r2268_1 | +| ir.cpp:2268:5:2268:19 | CallTarget | func:r2268_3 | +| ir.cpp:2268:5:2268:19 | ChiPartial | partial:m2268_7 | +| ir.cpp:2268:5:2268:19 | ChiPartial | partial:m2268_10 | +| ir.cpp:2268:5:2268:19 | ChiTotal | total:m2261_6 | +| ir.cpp:2268:5:2268:19 | ChiTotal | total:m2268_2 | +| ir.cpp:2268:5:2268:19 | Load | m2268_11 | +| ir.cpp:2268:5:2268:19 | SideEffect | ~m2261_6 | +| ir.cpp:2268:18:2268:18 | Address | &:r2268_4 | +| ir.cpp:2268:18:2268:18 | Address | &:r2268_5 | +| ir.cpp:2268:18:2268:18 | Arg(0) | 0:r2268_5 | +| ir.cpp:2268:18:2268:18 | Load | m2267_3 | +| ir.cpp:2268:18:2268:18 | SideEffect | ~m2267_5 | +| ir.cpp:2270:24:2270:24 | Address | &:r2270_2 | +| ir.cpp:2270:24:2270:24 | Address | &:r2270_2 | +| ir.cpp:2270:24:2270:24 | Address | &:r2270_4 | +| ir.cpp:2270:24:2270:24 | Load | m2270_3 | +| ir.cpp:2275:1:2275:1 | Phi | from 4:~m2266_13 | +| ir.cpp:2275:1:2275:1 | Phi | from 8:~m2261_6 | +| ir.cpp:2277:6:2277:18 | ChiPartial | partial:m2277_3 | +| ir.cpp:2277:6:2277:18 | ChiTotal | total:m2277_2 | +| ir.cpp:2277:6:2277:18 | SideEffect | ~m2285_14 | +| ir.cpp:2277:25:2277:25 | Address | &:r2277_5 | +| ir.cpp:2278:12:2278:13 | Address | &:r2278_1 | +| ir.cpp:2278:12:2278:13 | Address | &:r2278_1 | +| ir.cpp:2278:12:2278:13 | Arg(this) | this:r2278_1 | +| ir.cpp:2278:12:2278:13 | CallTarget | func:r2278_3 | +| ir.cpp:2278:12:2278:13 | ChiPartial | partial:m2278_5 | +| ir.cpp:2278:12:2278:13 | ChiPartial | partial:m2278_7 | +| ir.cpp:2278:12:2278:13 | ChiTotal | total:m2277_4 | +| ir.cpp:2278:12:2278:13 | ChiTotal | total:m2278_2 | +| ir.cpp:2278:12:2278:13 | SideEffect | ~m2277_4 | +| ir.cpp:2279:8:2279:8 | Address | &:r2279_1 | +| ir.cpp:2279:8:2279:8 | Condition | r2279_2 | +| ir.cpp:2279:8:2279:8 | Load | m2277_6 | +| ir.cpp:2280:16:2280:17 | Address | &:r2280_1 | +| ir.cpp:2280:16:2280:17 | Address | &:r2280_1 | +| ir.cpp:2280:16:2280:17 | Arg(this) | this:r2280_1 | +| ir.cpp:2280:16:2280:17 | CallTarget | func:r2280_3 | +| ir.cpp:2280:16:2280:17 | ChiPartial | partial:m2280_5 | +| ir.cpp:2280:16:2280:17 | ChiPartial | partial:m2280_7 | +| ir.cpp:2280:16:2280:17 | ChiTotal | total:m2278_6 | +| ir.cpp:2280:16:2280:17 | ChiTotal | total:m2280_2 | +| ir.cpp:2280:16:2280:17 | SideEffect | ~m2278_6 | +| ir.cpp:2281:5:2281:5 | Address | &:r2281_1 | +| ir.cpp:2281:5:2281:5 | Address | &:r2281_1 | +| ir.cpp:2281:5:2281:5 | Arg(this) | this:r2281_1 | +| ir.cpp:2281:5:2281:5 | CallTarget | func:r2281_2 | +| ir.cpp:2281:5:2281:5 | ChiPartial | partial:m2281_4 | +| ir.cpp:2281:5:2281:5 | ChiPartial | partial:m2281_7 | +| ir.cpp:2281:5:2281:5 | ChiTotal | total:m2280_6 | +| ir.cpp:2281:5:2281:5 | ChiTotal | total:m2280_8 | +| ir.cpp:2281:5:2281:5 | SideEffect | m2280_8 | +| ir.cpp:2281:5:2281:5 | SideEffect | ~m2280_6 | +| ir.cpp:2282:16:2282:17 | Address | &:r2282_1 | +| ir.cpp:2282:16:2282:17 | Address | &:r2282_1 | +| ir.cpp:2282:16:2282:17 | Arg(this) | this:r2282_1 | +| ir.cpp:2282:16:2282:17 | CallTarget | func:r2282_3 | +| ir.cpp:2282:16:2282:17 | ChiPartial | partial:m2282_5 | +| ir.cpp:2282:16:2282:17 | ChiPartial | partial:m2282_7 | +| ir.cpp:2282:16:2282:17 | ChiTotal | total:m2278_6 | +| ir.cpp:2282:16:2282:17 | ChiTotal | total:m2282_2 | +| ir.cpp:2282:16:2282:17 | SideEffect | ~m2278_6 | +| ir.cpp:2283:5:2283:5 | Address | &:r2283_1 | +| ir.cpp:2283:5:2283:5 | Address | &:r2283_1 | +| ir.cpp:2283:5:2283:5 | Arg(this) | this:r2283_1 | +| ir.cpp:2283:5:2283:5 | CallTarget | func:r2283_2 | +| ir.cpp:2283:5:2283:5 | ChiPartial | partial:m2283_4 | +| ir.cpp:2283:5:2283:5 | ChiPartial | partial:m2283_7 | +| ir.cpp:2283:5:2283:5 | ChiTotal | total:m2282_6 | +| ir.cpp:2283:5:2283:5 | ChiTotal | total:m2282_8 | +| ir.cpp:2283:5:2283:5 | SideEffect | m2282_8 | +| ir.cpp:2283:5:2283:5 | SideEffect | ~m2282_6 | +| ir.cpp:2284:12:2284:13 | Address | &:r2284_2 | +| ir.cpp:2284:12:2284:13 | Address | &:r2284_2 | +| ir.cpp:2284:12:2284:13 | Arg(this) | this:r2284_2 | +| ir.cpp:2284:12:2284:13 | CallTarget | func:r2284_4 | +| ir.cpp:2284:12:2284:13 | ChiPartial | partial:m2284_6 | +| ir.cpp:2284:12:2284:13 | ChiPartial | partial:m2284_8 | +| ir.cpp:2284:12:2284:13 | ChiTotal | total:m2284_1 | +| ir.cpp:2284:12:2284:13 | ChiTotal | total:m2284_3 | +| ir.cpp:2284:12:2284:13 | Phi | from 1:~m2281_5 | +| ir.cpp:2284:12:2284:13 | Phi | from 2:~m2283_5 | +| ir.cpp:2284:12:2284:13 | SideEffect | ~m2284_1 | +| ir.cpp:2285:1:2285:1 | Address | &:r2285_2 | +| ir.cpp:2285:1:2285:1 | Address | &:r2285_2 | +| ir.cpp:2285:1:2285:1 | Address | &:r2285_10 | +| ir.cpp:2285:1:2285:1 | Address | &:r2285_10 | +| ir.cpp:2285:1:2285:1 | Arg(this) | this:r2285_2 | +| ir.cpp:2285:1:2285:1 | Arg(this) | this:r2285_10 | +| ir.cpp:2285:1:2285:1 | CallTarget | func:r2285_3 | +| ir.cpp:2285:1:2285:1 | CallTarget | func:r2285_11 | +| ir.cpp:2285:1:2285:1 | ChiPartial | partial:m2285_5 | +| ir.cpp:2285:1:2285:1 | ChiPartial | partial:m2285_8 | +| ir.cpp:2285:1:2285:1 | ChiPartial | partial:m2285_13 | +| ir.cpp:2285:1:2285:1 | ChiPartial | partial:m2285_16 | +| ir.cpp:2285:1:2285:1 | ChiTotal | total:m2278_8 | +| ir.cpp:2285:1:2285:1 | ChiTotal | total:m2284_7 | +| ir.cpp:2285:1:2285:1 | ChiTotal | total:m2284_9 | +| ir.cpp:2285:1:2285:1 | ChiTotal | total:m2285_6 | +| ir.cpp:2285:1:2285:1 | SideEffect | m2278_8 | +| ir.cpp:2285:1:2285:1 | SideEffect | m2284_9 | +| ir.cpp:2285:1:2285:1 | SideEffect | ~m2284_7 | +| ir.cpp:2285:1:2285:1 | SideEffect | ~m2285_6 | +| ir.cpp:2287:6:2287:19 | ChiPartial | partial:m2287_3 | +| ir.cpp:2287:6:2287:19 | ChiTotal | total:m2287_2 | +| ir.cpp:2287:6:2287:19 | SideEffect | ~m2297_54 | +| ir.cpp:2288:10:2288:10 | Address | &:r2288_1 | +| ir.cpp:2288:13:2288:16 | StoreValue | r2288_2 | +| ir.cpp:2289:16:2289:16 | Address | &:r2289_1 | +| ir.cpp:2289:16:2289:16 | Address | &:r2289_1 | +| ir.cpp:2289:16:2289:16 | Address | &:r2289_31 | +| ir.cpp:2289:16:2289:16 | Address | &:r2289_31 | +| ir.cpp:2289:16:2289:16 | Arg(this) | this:r2289_1 | +| ir.cpp:2289:16:2289:16 | Arg(this) | this:r2289_31 | +| ir.cpp:2289:16:2289:16 | CallTarget | func:r2289_32 | +| ir.cpp:2289:16:2289:16 | ChiPartial | partial:m2289_34 | +| ir.cpp:2289:16:2289:16 | ChiPartial | partial:m2289_37 | +| ir.cpp:2289:16:2289:16 | ChiTotal | total:m2289_12 | +| ir.cpp:2289:16:2289:16 | ChiTotal | total:m2289_13 | +| ir.cpp:2289:16:2289:16 | SideEffect | m2289_12 | +| ir.cpp:2289:16:2289:16 | SideEffect | ~m2289_13 | +| ir.cpp:2289:18:2289:24 | Address | &:r2289_5 | +| ir.cpp:2289:18:2289:24 | Arg(0) | 0:r2289_5 | +| ir.cpp:2289:18:2289:24 | SideEffect | ~m2287_3 | +| ir.cpp:2289:18:2289:24 | Unary | r2289_4 | +| ir.cpp:2289:18:2289:25 | CallTarget | func:r2289_3 | +| ir.cpp:2289:18:2289:25 | ChiPartial | partial:m2289_7 | +| ir.cpp:2289:18:2289:25 | ChiPartial | partial:m2289_10 | +| ir.cpp:2289:18:2289:25 | ChiTotal | total:m2287_4 | +| ir.cpp:2289:18:2289:25 | ChiTotal | total:m2289_2 | +| ir.cpp:2289:18:2289:25 | SideEffect | ~m2287_4 | +| ir.cpp:2289:28:2289:28 | Address | &:r2289_15 | +| ir.cpp:2289:28:2289:28 | Left | r2289_17 | +| ir.cpp:2289:28:2289:28 | Load | m2289_14 | +| ir.cpp:2289:28:2289:28 | Phi | from 0:m2288_3 | +| ir.cpp:2289:28:2289:28 | Phi | from 0:m2289_11 | +| ir.cpp:2289:28:2289:28 | Phi | from 0:~m2289_8 | +| ir.cpp:2289:28:2289:28 | Phi | from 2:m2289_28 | +| ir.cpp:2289:28:2289:28 | Phi | from 2:m2289_30 | +| ir.cpp:2289:28:2289:28 | Phi | from 2:~m2289_25 | +| ir.cpp:2289:28:2289:28 | Unary | r2289_16 | +| ir.cpp:2289:28:2289:33 | Condition | r2289_19 | +| ir.cpp:2289:33:2289:33 | Right | r2289_18 | +| ir.cpp:2289:36:2289:36 | Address | &:r2289_29 | +| ir.cpp:2289:40:2289:40 | Address | &:r2289_21 | +| ir.cpp:2289:40:2289:40 | Address | &:r2289_21 | +| ir.cpp:2289:40:2289:40 | Arg(this) | this:r2289_21 | +| ir.cpp:2289:40:2289:40 | ChiPartial | partial:m2289_27 | +| ir.cpp:2289:40:2289:40 | ChiTotal | total:m2289_12 | +| ir.cpp:2289:40:2289:40 | SideEffect | m2289_12 | +| ir.cpp:2289:42:2289:49 | CallTarget | func:r2289_22 | +| ir.cpp:2289:42:2289:49 | ChiPartial | partial:m2289_24 | +| ir.cpp:2289:42:2289:49 | ChiTotal | total:m2291_5 | +| ir.cpp:2289:42:2289:49 | SideEffect | ~m2291_5 | +| ir.cpp:2289:42:2289:49 | StoreValue | r2289_23 | +| ir.cpp:2290:16:2290:17 | Address | &:r2290_1 | +| ir.cpp:2290:16:2290:17 | Address | &:r2290_1 | +| ir.cpp:2290:16:2290:17 | Arg(this) | this:r2290_1 | +| ir.cpp:2290:16:2290:17 | CallTarget | func:r2290_3 | +| ir.cpp:2290:16:2290:17 | ChiPartial | partial:m2290_5 | +| ir.cpp:2290:16:2290:17 | ChiPartial | partial:m2290_7 | +| ir.cpp:2290:16:2290:17 | ChiTotal | total:m2289_13 | +| ir.cpp:2290:16:2290:17 | ChiTotal | total:m2290_2 | +| ir.cpp:2290:16:2290:17 | SideEffect | ~m2289_13 | +| ir.cpp:2291:5:2291:5 | Address | &:r2291_1 | +| ir.cpp:2291:5:2291:5 | Address | &:r2291_1 | +| ir.cpp:2291:5:2291:5 | Arg(this) | this:r2291_1 | +| ir.cpp:2291:5:2291:5 | CallTarget | func:r2291_2 | +| ir.cpp:2291:5:2291:5 | ChiPartial | partial:m2291_4 | +| ir.cpp:2291:5:2291:5 | ChiPartial | partial:m2291_7 | +| ir.cpp:2291:5:2291:5 | ChiTotal | total:m2290_6 | +| ir.cpp:2291:5:2291:5 | ChiTotal | total:m2290_8 | +| ir.cpp:2291:5:2291:5 | SideEffect | m2290_8 | +| ir.cpp:2291:5:2291:5 | SideEffect | ~m2290_6 | +| ir.cpp:2293:5:2293:5 | Address | &:r2293_1 | +| ir.cpp:2293:5:2293:5 | Address | &:r2293_24 | +| ir.cpp:2293:5:2293:5 | Address | &:r2293_30 | +| ir.cpp:2293:16:2293:16 | Address | &:r2293_51 | +| ir.cpp:2293:16:2293:16 | Address | &:r2293_51 | +| ir.cpp:2293:16:2293:16 | Address | &:r2293_68 | +| ir.cpp:2293:16:2293:16 | Address | &:r2293_68 | +| ir.cpp:2293:16:2293:16 | Arg(this) | this:r2293_51 | +| ir.cpp:2293:16:2293:16 | Arg(this) | this:r2293_68 | +| ir.cpp:2293:16:2293:16 | CallTarget | func:r2293_53 | +| ir.cpp:2293:16:2293:16 | CallTarget | func:r2293_69 | +| ir.cpp:2293:16:2293:16 | ChiPartial | partial:m2293_63 | +| ir.cpp:2293:16:2293:16 | ChiPartial | partial:m2293_66 | +| ir.cpp:2293:16:2293:16 | ChiPartial | partial:m2293_71 | +| ir.cpp:2293:16:2293:16 | ChiPartial | partial:m2293_74 | +| ir.cpp:2293:16:2293:16 | ChiTotal | total:m2293_52 | +| ir.cpp:2293:16:2293:16 | ChiTotal | total:m2293_58 | +| ir.cpp:2293:16:2293:16 | ChiTotal | total:m2293_67 | +| ir.cpp:2293:16:2293:16 | ChiTotal | total:m2295_5 | +| ir.cpp:2293:16:2293:16 | SideEffect | m2293_67 | +| ir.cpp:2293:16:2293:16 | SideEffect | ~m2293_58 | +| ir.cpp:2293:16:2293:16 | SideEffect | ~m2295_5 | +| ir.cpp:2293:20:2293:20 | Address | &:r2293_25 | +| ir.cpp:2293:20:2293:20 | Address | &:r2293_31 | +| ir.cpp:2293:20:2293:20 | Address | &:r2293_76 | +| ir.cpp:2293:20:2293:20 | Address | &:r2293_76 | +| ir.cpp:2293:20:2293:20 | Arg(this) | this:r0_2 | +| ir.cpp:2293:20:2293:20 | Arg(this) | this:r0_5 | +| ir.cpp:2293:20:2293:20 | Arg(this) | this:r0_7 | +| ir.cpp:2293:20:2293:20 | Arg(this) | this:r0_8 | +| ir.cpp:2293:20:2293:20 | Arg(this) | this:r0_15 | +| ir.cpp:2293:20:2293:20 | Arg(this) | this:r2293_76 | +| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_27 | +| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_33 | +| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_39 | +| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_40 | +| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_55 | +| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_77 | +| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_43 | +| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_45 | +| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_48 | +| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_57 | +| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_79 | +| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_82 | +| ir.cpp:2293:20:2293:20 | ChiTotal | total:m0_9 | +| ir.cpp:2293:20:2293:20 | ChiTotal | total:m2293_36 | +| ir.cpp:2293:20:2293:20 | ChiTotal | total:m2293_37 | +| ir.cpp:2293:20:2293:20 | ChiTotal | total:m2293_44 | +| ir.cpp:2293:20:2293:20 | ChiTotal | total:m2293_49 | +| ir.cpp:2293:20:2293:20 | ChiTotal | total:m2293_72 | +| ir.cpp:2293:20:2293:20 | Condition | r2293_47 | +| ir.cpp:2293:20:2293:20 | Load | m2293_23 | +| ir.cpp:2293:20:2293:20 | Load | m2293_23 | +| ir.cpp:2293:20:2293:20 | Phi | from 3:m2293_29 | +| ir.cpp:2293:20:2293:20 | Phi | from 3:~m2293_19 | +| ir.cpp:2293:20:2293:20 | Phi | from 5:m2293_83 | +| ir.cpp:2293:20:2293:20 | Phi | from 5:~m2293_80 | +| ir.cpp:2293:20:2293:20 | SideEffect | m2293_36 | +| ir.cpp:2293:20:2293:20 | SideEffect | ~m2293_37 | +| ir.cpp:2293:20:2293:20 | SideEffect | ~m2293_44 | +| ir.cpp:2293:20:2293:20 | SideEffect | ~m2293_49 | +| ir.cpp:2293:20:2293:20 | SideEffect | ~m2293_72 | +| ir.cpp:2293:20:2293:20 | StoreValue | r2293_28 | +| ir.cpp:2293:20:2293:20 | StoreValue | r2293_34 | +| ir.cpp:2293:20:2293:20 | Unary | r2293_26 | +| ir.cpp:2293:20:2293:20 | Unary | r2293_32 | +| ir.cpp:2293:20:2293:20 | Unary | r2293_38 | +| ir.cpp:2293:20:2293:20 | Unary | r2293_41 | +| ir.cpp:2293:20:2293:20 | Unary | r2293_54 | +| ir.cpp:2293:20:2293:20 | Unary | r2293_56 | +| ir.cpp:2293:20:2293:20 | Unary | r2293_78 | +| ir.cpp:2293:20:2293:55 | Address | &:r2293_2 | +| ir.cpp:2293:20:2293:55 | Address | &:r2293_2 | +| ir.cpp:2293:20:2293:55 | Arg(this) | this:r2293_2 | +| ir.cpp:2293:20:2293:55 | CallTarget | func:r2293_4 | +| ir.cpp:2293:20:2293:55 | ChiPartial | partial:m2293_18 | +| ir.cpp:2293:20:2293:55 | ChiPartial | partial:m2293_20 | +| ir.cpp:2293:20:2293:55 | ChiTotal | total:m2293_3 | +| ir.cpp:2293:20:2293:55 | ChiTotal | total:m2293_12 | +| ir.cpp:2293:20:2293:55 | SideEffect | ~m2293_12 | +| ir.cpp:2293:20:2293:55 | StoreValue | r2293_22 | +| ir.cpp:2293:20:2293:55 | Unary | r2293_2 | +| ir.cpp:2293:20:2293:56 | Address | &:r2293_61 | +| ir.cpp:2293:20:2293:56 | Arg(0) | 0:r2293_61 | +| ir.cpp:2293:20:2293:56 | SideEffect | ~m2293_64 | +| ir.cpp:2293:20:2293:56 | Unary | r2293_59 | +| ir.cpp:2293:20:2293:56 | Unary | r2293_60 | +| ir.cpp:2293:40:2293:54 | Address | &:r2293_5 | +| ir.cpp:2293:40:2293:54 | Address | &:r2293_5 | +| ir.cpp:2293:40:2293:54 | Address | &:r2293_5 | +| ir.cpp:2293:40:2293:54 | Arg(0) | 0:r2293_16 | +| ir.cpp:2293:40:2293:54 | Arg(this) | this:r2293_5 | +| ir.cpp:2293:40:2293:54 | CallTarget | func:r2293_7 | +| ir.cpp:2293:40:2293:54 | ChiPartial | partial:m2293_11 | +| ir.cpp:2293:40:2293:54 | ChiPartial | partial:m2293_14 | +| ir.cpp:2293:40:2293:54 | ChiTotal | total:m2289_35 | +| ir.cpp:2293:40:2293:54 | ChiTotal | total:m2293_6 | +| ir.cpp:2293:40:2293:54 | Load | m2293_15 | +| ir.cpp:2293:40:2293:54 | SideEffect | ~m2289_35 | +| ir.cpp:2293:47:2293:53 | Address | &:r2293_9 | +| ir.cpp:2293:47:2293:53 | Arg(0) | 0:r2293_9 | +| ir.cpp:2293:47:2293:53 | SideEffect | ~m2287_3 | +| ir.cpp:2293:47:2293:53 | Unary | r2293_8 | +| ir.cpp:2294:16:2294:17 | Address | &:r2294_1 | +| ir.cpp:2294:16:2294:17 | Address | &:r2294_1 | +| ir.cpp:2294:16:2294:17 | Arg(this) | this:r2294_1 | +| ir.cpp:2294:16:2294:17 | CallTarget | func:r2294_3 | +| ir.cpp:2294:16:2294:17 | ChiPartial | partial:m2294_5 | +| ir.cpp:2294:16:2294:17 | ChiPartial | partial:m2294_7 | +| ir.cpp:2294:16:2294:17 | ChiTotal | total:m2293_64 | +| ir.cpp:2294:16:2294:17 | ChiTotal | total:m2294_2 | +| ir.cpp:2294:16:2294:17 | SideEffect | ~m2293_64 | +| ir.cpp:2295:5:2295:5 | Address | &:r2295_1 | +| ir.cpp:2295:5:2295:5 | Address | &:r2295_1 | +| ir.cpp:2295:5:2295:5 | Arg(this) | this:r2295_1 | +| ir.cpp:2295:5:2295:5 | CallTarget | func:r2295_2 | +| ir.cpp:2295:5:2295:5 | ChiPartial | partial:m2295_4 | +| ir.cpp:2295:5:2295:5 | ChiPartial | partial:m2295_7 | +| ir.cpp:2295:5:2295:5 | ChiTotal | total:m2294_6 | +| ir.cpp:2295:5:2295:5 | ChiTotal | total:m2294_8 | +| ir.cpp:2295:5:2295:5 | SideEffect | m2294_8 | +| ir.cpp:2295:5:2295:5 | SideEffect | ~m2294_6 | +| ir.cpp:2297:16:2297:16 | Address | &:r2297_1 | +| ir.cpp:2297:16:2297:16 | Address | &:r2297_1 | +| ir.cpp:2297:16:2297:16 | Address | &:r2297_50 | +| ir.cpp:2297:16:2297:16 | Address | &:r2297_50 | +| ir.cpp:2297:16:2297:16 | Arg(this) | this:r2297_1 | +| ir.cpp:2297:16:2297:16 | Arg(this) | this:r2297_50 | +| ir.cpp:2297:16:2297:16 | CallTarget | func:r2297_51 | +| ir.cpp:2297:16:2297:16 | ChiPartial | partial:m2297_53 | +| ir.cpp:2297:16:2297:16 | ChiPartial | partial:m2297_56 | +| ir.cpp:2297:16:2297:16 | ChiTotal | total:m2297_23 | +| ir.cpp:2297:16:2297:16 | ChiTotal | total:m2297_46 | +| ir.cpp:2297:16:2297:16 | SideEffect | m2297_23 | +| ir.cpp:2297:16:2297:16 | SideEffect | ~m2297_46 | +| ir.cpp:2297:18:2297:24 | Address | &:r2297_5 | +| ir.cpp:2297:18:2297:24 | Arg(0) | 0:r2297_5 | +| ir.cpp:2297:18:2297:24 | SideEffect | ~m2287_3 | +| ir.cpp:2297:18:2297:24 | Unary | r2297_4 | +| ir.cpp:2297:18:2297:25 | CallTarget | func:r2297_3 | +| ir.cpp:2297:18:2297:25 | ChiPartial | partial:m2297_7 | +| ir.cpp:2297:18:2297:25 | ChiPartial | partial:m2297_10 | +| ir.cpp:2297:18:2297:25 | ChiTotal | total:m2293_49 | +| ir.cpp:2297:18:2297:25 | ChiTotal | total:m2297_2 | +| ir.cpp:2297:18:2297:25 | SideEffect | ~m2293_49 | +| ir.cpp:2297:28:2297:29 | Address | &:r2297_12 | +| ir.cpp:2297:28:2297:29 | Address | &:r2297_12 | +| ir.cpp:2297:28:2297:29 | Address | &:r2297_42 | +| ir.cpp:2297:28:2297:29 | Address | &:r2297_42 | +| ir.cpp:2297:28:2297:29 | Arg(this) | this:r2297_12 | +| ir.cpp:2297:28:2297:29 | Arg(this) | this:r2297_42 | +| ir.cpp:2297:28:2297:29 | CallTarget | func:r2297_43 | +| ir.cpp:2297:28:2297:29 | ChiPartial | partial:m2297_45 | +| ir.cpp:2297:28:2297:29 | ChiPartial | partial:m2297_48 | +| ir.cpp:2297:28:2297:29 | ChiTotal | total:m2297_22 | +| ir.cpp:2297:28:2297:29 | ChiTotal | total:m2297_24 | +| ir.cpp:2297:28:2297:29 | SideEffect | m2297_22 | +| ir.cpp:2297:28:2297:29 | SideEffect | ~m2297_24 | +| ir.cpp:2297:31:2297:37 | Address | &:r2297_16 | +| ir.cpp:2297:31:2297:37 | Arg(0) | 0:r2297_16 | +| ir.cpp:2297:31:2297:37 | SideEffect | ~m2287_3 | +| ir.cpp:2297:31:2297:37 | Unary | r2297_15 | +| ir.cpp:2297:31:2297:38 | CallTarget | func:r2297_14 | +| ir.cpp:2297:31:2297:38 | ChiPartial | partial:m2297_18 | +| ir.cpp:2297:31:2297:38 | ChiPartial | partial:m2297_21 | +| ir.cpp:2297:31:2297:38 | ChiTotal | total:m2297_8 | +| ir.cpp:2297:31:2297:38 | ChiTotal | total:m2297_13 | +| ir.cpp:2297:31:2297:38 | SideEffect | ~m2297_8 | +| ir.cpp:2297:41:2297:41 | Address | &:r2297_26 | +| ir.cpp:2297:41:2297:41 | Left | r2297_28 | +| ir.cpp:2297:41:2297:41 | Load | m2297_25 | +| ir.cpp:2297:41:2297:41 | Phi | from 6:m2289_14 | +| ir.cpp:2297:41:2297:41 | Phi | from 6:m2297_11 | +| ir.cpp:2297:41:2297:41 | Phi | from 6:~m2297_19 | +| ir.cpp:2297:41:2297:41 | Phi | from 8:m2297_39 | +| ir.cpp:2297:41:2297:41 | Phi | from 8:m2297_41 | +| ir.cpp:2297:41:2297:41 | Phi | from 8:~m2297_36 | +| ir.cpp:2297:41:2297:41 | Unary | r2297_27 | +| ir.cpp:2297:41:2297:46 | Condition | r2297_30 | +| ir.cpp:2297:46:2297:46 | Right | r2297_29 | +| ir.cpp:2297:49:2297:49 | Address | &:r2297_40 | +| ir.cpp:2297:53:2297:53 | Address | &:r2297_32 | +| ir.cpp:2297:53:2297:53 | Address | &:r2297_32 | +| ir.cpp:2297:53:2297:53 | Arg(this) | this:r2297_32 | +| ir.cpp:2297:53:2297:53 | ChiPartial | partial:m2297_38 | +| ir.cpp:2297:53:2297:53 | ChiTotal | total:m2297_23 | +| ir.cpp:2297:53:2297:53 | SideEffect | m2297_23 | +| ir.cpp:2297:55:2297:62 | CallTarget | func:r2297_33 | +| ir.cpp:2297:55:2297:62 | ChiPartial | partial:m2297_35 | +| ir.cpp:2297:55:2297:62 | ChiTotal | total:m2297_24 | +| ir.cpp:2297:55:2297:62 | SideEffect | ~m2297_24 | +| ir.cpp:2297:55:2297:62 | StoreValue | r2297_34 | +| ir.cpp:2298:9:2298:9 | Address | &:r2298_2 | +| ir.cpp:2298:13:2298:13 | StoreValue | r2298_1 | +| ir.cpp:2302:6:2302:19 | ChiPartial | partial:m2302_3 | +| ir.cpp:2302:6:2302:19 | ChiTotal | total:m2302_2 | +| ir.cpp:2302:6:2302:19 | SideEffect | ~m2307_5 | +| ir.cpp:2302:26:2302:26 | Address | &:r2302_5 | +| ir.cpp:2303:15:2303:15 | Address | &:r2303_1 | +| ir.cpp:2303:15:2303:15 | Address | &:r2303_1 | +| ir.cpp:2303:15:2303:15 | Arg(this) | this:r2303_1 | +| ir.cpp:2303:18:2303:33 | CallTarget | func:r2303_3 | +| ir.cpp:2303:18:2303:33 | ChiPartial | partial:m2303_7 | +| ir.cpp:2303:18:2303:33 | ChiPartial | partial:m2303_10 | +| ir.cpp:2303:18:2303:33 | ChiTotal | total:m2302_4 | +| ir.cpp:2303:18:2303:33 | ChiTotal | total:m2303_2 | +| ir.cpp:2303:18:2303:33 | SideEffect | ~m2302_4 | +| ir.cpp:2303:26:2303:32 | Address | &:r2303_5 | +| ir.cpp:2303:26:2303:32 | Arg(0) | 0:r2303_5 | +| ir.cpp:2303:26:2303:32 | SideEffect | ~m2302_3 | +| ir.cpp:2303:26:2303:32 | Unary | r2303_4 | +| ir.cpp:2303:36:2303:36 | Address | &:r2303_12 | +| ir.cpp:2303:36:2303:36 | Condition | r2303_13 | +| ir.cpp:2303:36:2303:36 | Load | m2302_6 | +| ir.cpp:2304:13:2304:13 | Address | &:r2304_1 | +| ir.cpp:2304:16:2304:17 | StoreValue | r2304_2 | +| ir.cpp:2306:13:2306:13 | Address | &:r2306_1 | +| ir.cpp:2306:16:2306:17 | StoreValue | r2306_2 | +| ir.cpp:2307:5:2307:5 | Address | &:r2307_1 | +| ir.cpp:2307:5:2307:5 | Address | &:r2307_1 | +| ir.cpp:2307:5:2307:5 | Arg(this) | this:r2307_1 | +| ir.cpp:2307:5:2307:5 | CallTarget | func:r2307_2 | +| ir.cpp:2307:5:2307:5 | ChiPartial | partial:m2307_4 | +| ir.cpp:2307:5:2307:5 | ChiPartial | partial:m2307_7 | +| ir.cpp:2307:5:2307:5 | ChiTotal | total:m2303_8 | +| ir.cpp:2307:5:2307:5 | ChiTotal | total:m2303_11 | +| ir.cpp:2307:5:2307:5 | SideEffect | m2303_11 | +| ir.cpp:2307:5:2307:5 | SideEffect | ~m2303_8 | +| ir.cpp:2317:6:2317:19 | ChiPartial | partial:m2317_3 | +| ir.cpp:2317:6:2317:19 | ChiTotal | total:m2317_2 | +| ir.cpp:2317:6:2317:19 | SideEffect | ~m2322_14 | +| ir.cpp:2317:26:2317:26 | Address | &:r2317_5 | +| ir.cpp:2318:8:2318:23 | Address | &:r2318_1 | +| ir.cpp:2318:8:2318:23 | Address | &:r2318_1 | +| ir.cpp:2318:8:2318:23 | Arg(this) | this:r2318_1 | +| ir.cpp:2318:8:2318:23 | Condition | r2318_19 | +| ir.cpp:2318:13:2318:13 | Address | &:r2318_11 | +| ir.cpp:2318:13:2318:13 | Address | &:r2318_11 | +| ir.cpp:2318:13:2318:13 | Arg(this) | this:r2318_11 | +| ir.cpp:2318:13:2318:13 | CallTarget | func:r2318_12 | +| ir.cpp:2318:13:2318:13 | ChiPartial | partial:m2318_14 | +| ir.cpp:2318:13:2318:13 | ChiPartial | partial:m2318_17 | +| ir.cpp:2318:13:2318:13 | ChiTotal | total:m2318_8 | +| ir.cpp:2318:13:2318:13 | ChiTotal | total:m2318_10 | +| ir.cpp:2318:13:2318:13 | SideEffect | m2318_10 | +| ir.cpp:2318:13:2318:13 | SideEffect | ~m2318_8 | +| ir.cpp:2318:13:2318:13 | Unary | r2318_13 | +| ir.cpp:2318:16:2318:23 | CallTarget | func:r2318_3 | +| ir.cpp:2318:16:2318:23 | ChiPartial | partial:m2318_7 | +| ir.cpp:2318:16:2318:23 | ChiPartial | partial:m2318_9 | +| ir.cpp:2318:16:2318:23 | ChiTotal | total:m2317_4 | +| ir.cpp:2318:16:2318:23 | ChiTotal | total:m2318_2 | +| ir.cpp:2318:16:2318:23 | SideEffect | ~m2317_4 | +| ir.cpp:2318:22:2318:22 | Address | &:r2318_4 | +| ir.cpp:2318:22:2318:22 | Arg(0) | 0:r2318_5 | +| ir.cpp:2318:22:2318:22 | Load | m2317_6 | +| ir.cpp:2319:16:2319:17 | Address | &:r2319_1 | +| ir.cpp:2319:16:2319:17 | Address | &:r2319_1 | +| ir.cpp:2319:16:2319:17 | Arg(this) | this:r2319_1 | +| ir.cpp:2319:16:2319:17 | CallTarget | func:r2319_3 | +| ir.cpp:2319:16:2319:17 | ChiPartial | partial:m2319_5 | +| ir.cpp:2319:16:2319:17 | ChiPartial | partial:m2319_7 | +| ir.cpp:2319:16:2319:17 | ChiTotal | total:m2318_15 | +| ir.cpp:2319:16:2319:17 | ChiTotal | total:m2319_2 | +| ir.cpp:2319:16:2319:17 | SideEffect | ~m2318_15 | +| ir.cpp:2320:5:2320:5 | Address | &:r2320_1 | +| ir.cpp:2320:5:2320:5 | Address | &:r2320_1 | +| ir.cpp:2320:5:2320:5 | Arg(this) | this:r2320_1 | +| ir.cpp:2320:5:2320:5 | CallTarget | func:r2320_2 | +| ir.cpp:2320:5:2320:5 | ChiPartial | partial:m2320_4 | +| ir.cpp:2320:5:2320:5 | ChiPartial | partial:m2320_7 | +| ir.cpp:2320:5:2320:5 | ChiTotal | total:m2319_6 | +| ir.cpp:2320:5:2320:5 | ChiTotal | total:m2319_8 | +| ir.cpp:2320:5:2320:5 | SideEffect | m2319_8 | +| ir.cpp:2320:5:2320:5 | SideEffect | ~m2319_6 | +| ir.cpp:2321:16:2321:17 | Address | &:r2321_1 | +| ir.cpp:2321:16:2321:17 | Address | &:r2321_1 | +| ir.cpp:2321:16:2321:17 | Arg(this) | this:r2321_1 | +| ir.cpp:2321:16:2321:17 | CallTarget | func:r2321_3 | +| ir.cpp:2321:16:2321:17 | ChiPartial | partial:m2321_5 | +| ir.cpp:2321:16:2321:17 | ChiPartial | partial:m2321_7 | +| ir.cpp:2321:16:2321:17 | ChiTotal | total:m2318_15 | +| ir.cpp:2321:16:2321:17 | ChiTotal | total:m2321_2 | +| ir.cpp:2321:16:2321:17 | SideEffect | ~m2318_15 | +| ir.cpp:2322:5:2322:5 | Address | &:r2322_1 | +| ir.cpp:2322:5:2322:5 | Address | &:r2322_1 | +| ir.cpp:2322:5:2322:5 | Address | &:r2322_10 | +| ir.cpp:2322:5:2322:5 | Address | &:r2322_10 | +| ir.cpp:2322:5:2322:5 | Arg(this) | this:r2322_1 | +| ir.cpp:2322:5:2322:5 | Arg(this) | this:r2322_10 | +| ir.cpp:2322:5:2322:5 | CallTarget | func:r2322_2 | +| ir.cpp:2322:5:2322:5 | CallTarget | func:r2322_11 | +| ir.cpp:2322:5:2322:5 | ChiPartial | partial:m2322_4 | +| ir.cpp:2322:5:2322:5 | ChiPartial | partial:m2322_7 | +| ir.cpp:2322:5:2322:5 | ChiPartial | partial:m2322_13 | +| ir.cpp:2322:5:2322:5 | ChiPartial | partial:m2322_16 | +| ir.cpp:2322:5:2322:5 | ChiTotal | total:m2318_18 | +| ir.cpp:2322:5:2322:5 | ChiTotal | total:m2321_6 | +| ir.cpp:2322:5:2322:5 | ChiTotal | total:m2321_8 | +| ir.cpp:2322:5:2322:5 | ChiTotal | total:m2322_9 | +| ir.cpp:2322:5:2322:5 | Phi | from 1:~m2320_5 | +| ir.cpp:2322:5:2322:5 | Phi | from 2:~m2322_5 | +| ir.cpp:2322:5:2322:5 | SideEffect | m2318_18 | +| ir.cpp:2322:5:2322:5 | SideEffect | m2321_8 | +| ir.cpp:2322:5:2322:5 | SideEffect | ~m2321_6 | +| ir.cpp:2322:5:2322:5 | SideEffect | ~m2322_9 | +| ir.cpp:2325:6:2325:25 | ChiPartial | partial:m2325_3 | +| ir.cpp:2325:6:2325:25 | ChiTotal | total:m2325_2 | +| ir.cpp:2325:6:2325:25 | SideEffect | ~m2336_13 | +| ir.cpp:2325:32:2325:32 | Address | &:r2325_5 | +| ir.cpp:2327:16:2327:16 | Address | &:r2327_1 | +| ir.cpp:2327:16:2327:16 | Address | &:r2327_1 | +| ir.cpp:2327:16:2327:16 | Arg(this) | this:r2327_1 | +| ir.cpp:2327:16:2327:16 | CallTarget | func:r2327_3 | +| ir.cpp:2327:16:2327:16 | ChiPartial | partial:m2327_5 | +| ir.cpp:2327:16:2327:16 | ChiPartial | partial:m2327_7 | +| ir.cpp:2327:16:2327:16 | ChiTotal | total:m2325_4 | +| ir.cpp:2327:16:2327:16 | ChiTotal | total:m2327_2 | +| ir.cpp:2327:16:2327:16 | SideEffect | ~m2325_4 | +| ir.cpp:2328:15:2328:15 | Address | &:r2328_2 | +| ir.cpp:2328:15:2328:15 | Condition | r2328_3 | +| ir.cpp:2328:15:2328:15 | Load | m2328_1 | +| ir.cpp:2328:15:2328:15 | Phi | from 0:m2325_6 | +| ir.cpp:2328:15:2328:15 | Phi | from 2:m2329_3 | +| ir.cpp:2329:13:2329:13 | Address | &:r2329_2 | +| ir.cpp:2329:17:2329:21 | StoreValue | r2329_1 | +| ir.cpp:2331:5:2331:5 | Address | &:r2331_1 | +| ir.cpp:2331:5:2331:5 | Address | &:r2331_1 | +| ir.cpp:2331:5:2331:5 | Arg(this) | this:r2331_1 | +| ir.cpp:2331:5:2331:5 | CallTarget | func:r2331_2 | +| ir.cpp:2331:5:2331:5 | ChiPartial | partial:m2331_4 | +| ir.cpp:2331:5:2331:5 | ChiPartial | partial:m2331_7 | +| ir.cpp:2331:5:2331:5 | ChiTotal | total:m2327_6 | +| ir.cpp:2331:5:2331:5 | ChiTotal | total:m2327_8 | +| ir.cpp:2331:5:2331:5 | SideEffect | m2327_8 | +| ir.cpp:2331:5:2331:5 | SideEffect | ~m2327_6 | +| ir.cpp:2334:16:2334:31 | Address | &:r2334_3 | +| ir.cpp:2334:16:2334:31 | Address | &:r2334_3 | +| ir.cpp:2334:16:2334:31 | Arg(this) | this:r2334_3 | +| ir.cpp:2334:16:2334:31 | Condition | r2334_21 | +| ir.cpp:2334:16:2334:31 | Phi | from 3:m2328_1 | +| ir.cpp:2334:16:2334:31 | Phi | from 3:~m2331_5 | +| ir.cpp:2334:16:2334:31 | Phi | from 5:m2335_3 | +| ir.cpp:2334:16:2334:31 | Phi | from 5:~m2336_5 | +| ir.cpp:2334:21:2334:21 | Address | &:r2334_13 | +| ir.cpp:2334:21:2334:21 | Address | &:r2334_13 | +| ir.cpp:2334:21:2334:21 | Arg(this) | this:r2334_13 | +| ir.cpp:2334:21:2334:21 | CallTarget | func:r2334_14 | +| ir.cpp:2334:21:2334:21 | ChiPartial | partial:m2334_16 | +| ir.cpp:2334:21:2334:21 | ChiPartial | partial:m2334_19 | +| ir.cpp:2334:21:2334:21 | ChiTotal | total:m2334_10 | +| ir.cpp:2334:21:2334:21 | ChiTotal | total:m2334_12 | +| ir.cpp:2334:21:2334:21 | SideEffect | m2334_12 | +| ir.cpp:2334:21:2334:21 | SideEffect | ~m2334_10 | +| ir.cpp:2334:21:2334:21 | Unary | r2334_15 | +| ir.cpp:2334:24:2334:31 | CallTarget | func:r2334_5 | +| ir.cpp:2334:24:2334:31 | ChiPartial | partial:m2334_9 | +| ir.cpp:2334:24:2334:31 | ChiPartial | partial:m2334_11 | +| ir.cpp:2334:24:2334:31 | ChiTotal | total:m2334_1 | +| ir.cpp:2334:24:2334:31 | ChiTotal | total:m2334_4 | +| ir.cpp:2334:24:2334:31 | SideEffect | ~m2334_1 | +| ir.cpp:2334:30:2334:30 | Address | &:r2334_6 | +| ir.cpp:2334:30:2334:30 | Arg(0) | 0:r2334_7 | +| ir.cpp:2334:30:2334:30 | Load | m2334_2 | +| ir.cpp:2335:13:2335:13 | Address | &:r2335_2 | +| ir.cpp:2335:17:2335:21 | StoreValue | r2335_1 | +| ir.cpp:2336:9:2336:9 | Address | &:r2336_1 | +| ir.cpp:2336:9:2336:9 | Address | &:r2336_1 | +| ir.cpp:2336:9:2336:9 | Address | &:r2336_9 | +| ir.cpp:2336:9:2336:9 | Address | &:r2336_9 | +| ir.cpp:2336:9:2336:9 | Arg(this) | this:r2336_1 | +| ir.cpp:2336:9:2336:9 | Arg(this) | this:r2336_9 | +| ir.cpp:2336:9:2336:9 | CallTarget | func:r2336_2 | +| ir.cpp:2336:9:2336:9 | CallTarget | func:r2336_10 | +| ir.cpp:2336:9:2336:9 | ChiPartial | partial:m2336_4 | +| ir.cpp:2336:9:2336:9 | ChiPartial | partial:m2336_7 | +| ir.cpp:2336:9:2336:9 | ChiPartial | partial:m2336_12 | +| ir.cpp:2336:9:2336:9 | ChiPartial | partial:m2336_15 | +| ir.cpp:2336:9:2336:9 | ChiTotal | total:m2334_17 | +| ir.cpp:2336:9:2336:9 | ChiTotal | total:m2334_17 | +| ir.cpp:2336:9:2336:9 | ChiTotal | total:m2334_20 | +| ir.cpp:2336:9:2336:9 | ChiTotal | total:m2334_20 | +| ir.cpp:2336:9:2336:9 | SideEffect | m2334_20 | +| ir.cpp:2336:9:2336:9 | SideEffect | m2334_20 | +| ir.cpp:2336:9:2336:9 | SideEffect | ~m2334_17 | +| ir.cpp:2336:9:2336:9 | SideEffect | ~m2334_17 | +| ir.cpp:2340:6:2340:13 | ChiPartial | partial:m2340_3 | +| ir.cpp:2340:6:2340:13 | ChiTotal | total:m2340_2 | +| ir.cpp:2340:6:2340:13 | SideEffect | m2340_3 | +| ir.cpp:2342:6:2342:24 | ChiPartial | partial:m2342_3 | +| ir.cpp:2342:6:2342:24 | ChiTotal | total:m2342_2 | +| ir.cpp:2342:6:2342:24 | Phi | from 2:~m2351_5 | +| ir.cpp:2342:6:2342:24 | Phi | from 4:~m2351_13 | +| ir.cpp:2342:6:2342:24 | Phi | from 5:~m2351_22 | +| ir.cpp:2342:6:2342:24 | SideEffect | ~m2342_7 | +| ir.cpp:2342:31:2342:31 | Address | &:r2342_5 | +| ir.cpp:2343:12:2343:12 | Address | &:r2343_1 | +| ir.cpp:2343:12:2343:12 | Address | &:r2343_1 | +| ir.cpp:2343:12:2343:12 | Arg(this) | this:r2343_1 | +| ir.cpp:2343:12:2343:12 | CallTarget | func:r2343_3 | +| ir.cpp:2343:12:2343:12 | ChiPartial | partial:m2343_5 | +| ir.cpp:2343:12:2343:12 | ChiPartial | partial:m2343_7 | +| ir.cpp:2343:12:2343:12 | ChiTotal | total:m2342_4 | +| ir.cpp:2343:12:2343:12 | ChiTotal | total:m2343_2 | +| ir.cpp:2343:12:2343:12 | SideEffect | ~m2342_4 | +| ir.cpp:2344:8:2344:8 | Address | &:r2344_1 | +| ir.cpp:2344:8:2344:8 | Condition | r2344_2 | +| ir.cpp:2344:8:2344:8 | Load | m2342_6 | +| ir.cpp:2347:8:2347:8 | Address | &:r2347_1 | +| ir.cpp:2347:8:2347:8 | Condition | r2347_2 | +| ir.cpp:2347:8:2347:8 | Load | m2342_6 | +| ir.cpp:2348:16:2348:23 | CallTarget | func:r2348_1 | +| ir.cpp:2348:16:2348:23 | ChiPartial | partial:m2348_3 | +| ir.cpp:2348:16:2348:23 | ChiTotal | total:m2343_6 | +| ir.cpp:2348:16:2348:23 | SideEffect | ~m2343_6 | +| ir.cpp:2351:1:2351:1 | Address | &:r2351_1 | +| ir.cpp:2351:1:2351:1 | Address | &:r2351_1 | +| ir.cpp:2351:1:2351:1 | Address | &:r2351_9 | +| ir.cpp:2351:1:2351:1 | Address | &:r2351_9 | +| ir.cpp:2351:1:2351:1 | Address | &:r2351_18 | +| ir.cpp:2351:1:2351:1 | Address | &:r2351_18 | +| ir.cpp:2351:1:2351:1 | Arg(this) | this:r2351_1 | +| ir.cpp:2351:1:2351:1 | Arg(this) | this:r2351_9 | +| ir.cpp:2351:1:2351:1 | Arg(this) | this:r2351_18 | +| ir.cpp:2351:1:2351:1 | CallTarget | func:r2351_2 | +| ir.cpp:2351:1:2351:1 | CallTarget | func:r2351_10 | +| ir.cpp:2351:1:2351:1 | CallTarget | func:r2351_19 | +| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_4 | +| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_7 | +| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_12 | +| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_15 | +| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_21 | +| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_24 | +| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2343_6 | +| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2343_6 | +| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2343_8 | +| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2343_8 | +| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2343_8 | +| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2348_4 | +| ir.cpp:2351:1:2351:1 | SideEffect | m2343_8 | +| ir.cpp:2351:1:2351:1 | SideEffect | m2343_8 | +| ir.cpp:2351:1:2351:1 | SideEffect | m2343_8 | +| ir.cpp:2351:1:2351:1 | SideEffect | ~m2343_6 | +| ir.cpp:2351:1:2351:1 | SideEffect | ~m2343_6 | +| ir.cpp:2351:1:2351:1 | SideEffect | ~m2348_4 | +| ir.cpp:2353:5:2353:24 | Address | &:r2353_9 | +| ir.cpp:2353:5:2353:24 | ChiPartial | partial:m2353_3 | +| ir.cpp:2353:5:2353:24 | ChiTotal | total:m2353_2 | +| ir.cpp:2353:5:2353:24 | Load | m2353_8 | +| ir.cpp:2353:5:2353:24 | Phi | from 2:m2356_3 | +| ir.cpp:2353:5:2353:24 | Phi | from 2:~m2359_5 | +| ir.cpp:2353:5:2353:24 | Phi | from 3:m2358_3 | +| ir.cpp:2353:5:2353:24 | Phi | from 3:~m2359_13 | +| ir.cpp:2353:5:2353:24 | SideEffect | ~m2353_7 | +| ir.cpp:2353:31:2353:31 | Address | &:r2353_5 | +| ir.cpp:2354:12:2354:12 | Address | &:r2354_1 | +| ir.cpp:2354:12:2354:12 | Address | &:r2354_1 | +| ir.cpp:2354:12:2354:12 | Arg(this) | this:r2354_1 | +| ir.cpp:2354:12:2354:12 | CallTarget | func:r2354_3 | +| ir.cpp:2354:12:2354:12 | ChiPartial | partial:m2354_5 | +| ir.cpp:2354:12:2354:12 | ChiPartial | partial:m2354_7 | +| ir.cpp:2354:12:2354:12 | ChiTotal | total:m2353_4 | +| ir.cpp:2354:12:2354:12 | ChiTotal | total:m2354_2 | +| ir.cpp:2354:12:2354:12 | SideEffect | ~m2353_4 | +| ir.cpp:2355:8:2355:8 | Address | &:r2355_1 | +| ir.cpp:2355:8:2355:8 | Condition | r2355_2 | +| ir.cpp:2355:8:2355:8 | Load | m2353_6 | +| ir.cpp:2356:9:2356:17 | Address | &:r2356_1 | +| ir.cpp:2356:16:2356:16 | StoreValue | r2356_2 | +| ir.cpp:2358:5:2358:13 | Address | &:r2358_1 | +| ir.cpp:2358:12:2358:12 | StoreValue | r2358_2 | +| ir.cpp:2359:1:2359:1 | Address | &:r2359_1 | +| ir.cpp:2359:1:2359:1 | Address | &:r2359_1 | +| ir.cpp:2359:1:2359:1 | Address | &:r2359_9 | +| ir.cpp:2359:1:2359:1 | Address | &:r2359_9 | +| ir.cpp:2359:1:2359:1 | Arg(this) | this:r2359_1 | +| ir.cpp:2359:1:2359:1 | Arg(this) | this:r2359_9 | +| ir.cpp:2359:1:2359:1 | CallTarget | func:r2359_2 | +| ir.cpp:2359:1:2359:1 | CallTarget | func:r2359_10 | +| ir.cpp:2359:1:2359:1 | ChiPartial | partial:m2359_4 | +| ir.cpp:2359:1:2359:1 | ChiPartial | partial:m2359_7 | +| ir.cpp:2359:1:2359:1 | ChiPartial | partial:m2359_12 | +| ir.cpp:2359:1:2359:1 | ChiPartial | partial:m2359_15 | +| ir.cpp:2359:1:2359:1 | ChiTotal | total:m2354_6 | +| ir.cpp:2359:1:2359:1 | ChiTotal | total:m2354_6 | +| ir.cpp:2359:1:2359:1 | ChiTotal | total:m2354_8 | +| ir.cpp:2359:1:2359:1 | ChiTotal | total:m2354_8 | +| ir.cpp:2359:1:2359:1 | SideEffect | m2354_8 | +| ir.cpp:2359:1:2359:1 | SideEffect | m2354_8 | +| ir.cpp:2359:1:2359:1 | SideEffect | ~m2354_6 | +| ir.cpp:2359:1:2359:1 | SideEffect | ~m2354_6 | +| ir.cpp:2361:6:2361:26 | ChiPartial | partial:m2361_3 | +| ir.cpp:2361:6:2361:26 | ChiTotal | total:m2361_2 | +| ir.cpp:2361:6:2361:26 | SideEffect | ~m2364_5 | +| ir.cpp:2362:12:2362:12 | Address | &:r2362_1 | +| ir.cpp:2362:12:2362:12 | Address | &:r2362_1 | +| ir.cpp:2362:12:2362:12 | Arg(this) | this:r2362_1 | +| ir.cpp:2362:12:2362:12 | CallTarget | func:r2362_3 | +| ir.cpp:2362:12:2362:12 | ChiPartial | partial:m2362_5 | +| ir.cpp:2362:12:2362:12 | ChiPartial | partial:m2362_7 | +| ir.cpp:2362:12:2362:12 | ChiTotal | total:m2361_4 | +| ir.cpp:2362:12:2362:12 | ChiTotal | total:m2362_2 | +| ir.cpp:2362:12:2362:12 | SideEffect | ~m2361_4 | +| ir.cpp:2363:12:2363:19 | CallTarget | func:r2363_1 | +| ir.cpp:2363:12:2363:19 | ChiPartial | partial:m2363_3 | +| ir.cpp:2363:12:2363:19 | ChiTotal | total:m2362_6 | +| ir.cpp:2363:12:2363:19 | SideEffect | ~m2362_6 | +| ir.cpp:2364:1:2364:1 | Address | &:r2364_1 | +| ir.cpp:2364:1:2364:1 | Address | &:r2364_1 | +| ir.cpp:2364:1:2364:1 | Arg(this) | this:r2364_1 | +| ir.cpp:2364:1:2364:1 | CallTarget | func:r2364_2 | +| ir.cpp:2364:1:2364:1 | ChiPartial | partial:m2364_4 | +| ir.cpp:2364:1:2364:1 | ChiPartial | partial:m2364_7 | +| ir.cpp:2364:1:2364:1 | ChiTotal | total:m2362_8 | +| ir.cpp:2364:1:2364:1 | ChiTotal | total:m2363_4 | +| ir.cpp:2364:1:2364:1 | SideEffect | m2362_8 | +| ir.cpp:2364:1:2364:1 | SideEffect | ~m2363_4 | +| ir.cpp:2374:32:2374:47 | Address | &:r2374_5 | +| ir.cpp:2374:32:2374:47 | ChiPartial | partial:m2374_3 | +| ir.cpp:2374:32:2374:47 | ChiTotal | total:m2374_2 | +| ir.cpp:2374:32:2374:47 | Load | m2376_3 | +| ir.cpp:2374:32:2374:47 | SideEffect | m2374_3 | +| ir.cpp:2376:9:2376:44 | Address | &:r2376_1 | +| ir.cpp:2376:16:2376:43 | StoreValue | r2376_2 | | perf-regression.cpp:6:3:6:5 | Address | &:r6_5 | | perf-regression.cpp:6:3:6:5 | Address | &:r6_5 | | perf-regression.cpp:6:3:6:5 | Address | &:r6_7 | diff --git a/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected b/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected index aefdbf9d134..356390f9b4f 100644 --- a/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected @@ -20,7 +20,7 @@ multipleIRTypes lostReachability backEdgeCountMismatch useNotDominatedByDefinition -| ir.cpp:1488:8:1488:8 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1488:8:1488:8 | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() | +| ir.cpp:1535:8:1535:8 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1535:8:1535:8 | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() | | try_except.c:13:13:13:13 | Left | Operand 'Left' is not dominated by its definition in function '$@'. | try_except.c:6:6:6:6 | void f() | void f() | | try_except.c:13:13:13:13 | Left | Operand 'Left' is not dominated by its definition in function '$@'. | try_except.c:6:6:6:6 | void f() | void f() | | try_except.c:39:15:39:15 | Left | Operand 'Left' is not dominated by its definition in function '$@'. | try_except.c:32:6:32:6 | void h(int) | void h(int) | diff --git a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected index 671a9f6a0d3..0c42f3d2af6 100644 --- a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected @@ -6825,3717 +6825,3731 @@ ir.cpp: # 1054| v1054_41(void) = AliasedUse : ~m? # 1054| v1054_42(void) = ExitFunction : -# 1079| void RangeBasedFor(vector const&) -# 1079| Block 0 -# 1079| v1079_1(void) = EnterFunction : -# 1079| mu1079_2(unknown) = AliasedDefinition : -# 1079| mu1079_3(unknown) = InitializeNonLocal : -# 1079| r1079_4(glval &>) = VariableAddress[v] : -# 1079| mu1079_5(vector &) = InitializeParameter[v] : &:r1079_4 -# 1079| r1079_6(vector &) = Load[v] : &:r1079_4, ~m? -# 1079| mu1079_7(unknown) = InitializeIndirection[v] : &:r1079_6 -# 1080| r1080_1(glval &>) = VariableAddress[(__range)] : -# 1080| r1080_2(glval &>) = VariableAddress[v] : -# 1080| r1080_3(vector &) = Load[v] : &:r1080_2, ~m? -# 1080| r1080_4(glval>) = CopyValue : r1080_3 -# 1080| r1080_5(vector &) = CopyValue : r1080_4 -# 1080| mu1080_6(vector &) = Store[(__range)] : &:r1080_1, r1080_5 -# 1080| r1080_7(glval) = VariableAddress[(__begin)] : -# 1080| r1080_8(glval &>) = VariableAddress[(__range)] : -# 1080| r1080_9(vector &) = Load[(__range)] : &:r1080_8, ~m? -#-----| r0_1(glval>) = CopyValue : r1080_9 -# 1080| r1080_10(glval) = FunctionAddress[begin] : -# 1080| r1080_11(iterator) = Call[begin] : func:r1080_10, this:r0_1 -# 1080| mu1080_12(unknown) = ^CallSideEffect : ~m? -#-----| v0_2(void) = ^IndirectReadSideEffect[-1] : &:r0_1, ~m? -# 1080| mu1080_13(iterator) = Store[(__begin)] : &:r1080_7, r1080_11 -# 1080| r1080_14(glval) = VariableAddress[(__end)] : -# 1080| r1080_15(glval &>) = VariableAddress[(__range)] : -# 1080| r1080_16(vector &) = Load[(__range)] : &:r1080_15, ~m? -#-----| r0_3(glval>) = CopyValue : r1080_16 -# 1080| r1080_17(glval) = FunctionAddress[end] : -# 1080| r1080_18(iterator) = Call[end] : func:r1080_17, this:r0_3 -# 1080| mu1080_19(unknown) = ^CallSideEffect : ~m? -#-----| v0_4(void) = ^IndirectReadSideEffect[-1] : &:r0_3, ~m? -# 1080| mu1080_20(iterator) = Store[(__end)] : &:r1080_14, r1080_18 +# 1126| void RangeBasedFor(std::vector const&) +# 1126| Block 0 +# 1126| v1126_1(void) = EnterFunction : +# 1126| mu1126_2(unknown) = AliasedDefinition : +# 1126| mu1126_3(unknown) = InitializeNonLocal : +# 1126| r1126_4(glval &>) = VariableAddress[v] : +# 1126| mu1126_5(vector &) = InitializeParameter[v] : &:r1126_4 +# 1126| r1126_6(vector &) = Load[v] : &:r1126_4, ~m? +# 1126| mu1126_7(unknown) = InitializeIndirection[v] : &:r1126_6 +# 1127| r1127_1(glval &>) = VariableAddress[(__range)] : +# 1127| r1127_2(glval &>) = VariableAddress[v] : +# 1127| r1127_3(vector &) = Load[v] : &:r1127_2, ~m? +# 1127| r1127_4(glval>) = CopyValue : r1127_3 +# 1127| r1127_5(vector &) = CopyValue : r1127_4 +# 1127| mu1127_6(vector &) = Store[(__range)] : &:r1127_1, r1127_5 +# 1127| r1127_7(glval>) = VariableAddress[(__begin)] : +# 1127| r1127_8(glval &>) = VariableAddress[(__range)] : +# 1127| r1127_9(vector &) = Load[(__range)] : &:r1127_8, ~m? +#-----| r0_1(glval>) = CopyValue : r1127_9 +# 1127| r1127_10(glval) = FunctionAddress[begin] : +# 1127| r1127_11(iterator) = Call[begin] : func:r1127_10, this:r0_1 +#-----| v0_2(void) = ^IndirectReadSideEffect[-1] : &:r0_1, ~m? +# 1127| mu1127_12(iterator) = Store[(__begin)] : &:r1127_7, r1127_11 +# 1127| r1127_13(glval>) = VariableAddress[(__end)] : +# 1127| r1127_14(glval &>) = VariableAddress[(__range)] : +# 1127| r1127_15(vector &) = Load[(__range)] : &:r1127_14, ~m? +#-----| r0_3(glval>) = CopyValue : r1127_15 +# 1127| r1127_16(glval) = FunctionAddress[end] : +# 1127| r1127_17(iterator) = Call[end] : func:r1127_16, this:r0_3 +#-----| v0_4(void) = ^IndirectReadSideEffect[-1] : &:r0_3, ~m? +# 1127| mu1127_18(iterator) = Store[(__end)] : &:r1127_13, r1127_17 #-----| Goto -> Block 1 -# 1080| Block 1 -# 1080| r1080_21(glval) = VariableAddress[(__begin)] : -#-----| r0_5(glval) = Convert : r1080_21 -# 1080| r1080_22(glval) = FunctionAddress[operator!=] : -# 1080| r1080_23(glval) = VariableAddress[(__end)] : -# 1080| r1080_24(iterator) = Load[(__end)] : &:r1080_23, ~m? -# 1080| r1080_25(bool) = Call[operator!=] : func:r1080_22, this:r0_5, 0:r1080_24 -# 1080| mu1080_26(unknown) = ^CallSideEffect : ~m? -#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? -# 1080| v1080_27(void) = ConditionalBranch : r1080_25 +# 1127| Block 1 +# 1127| r1127_19(glval>) = VariableAddress[(__begin)] : +#-----| r0_5(glval>) = Convert : r1127_19 +# 1127| r1127_20(glval) = FunctionAddress[operator!=] : +#-----| r0_6(glval>) = VariableAddress[#temp0:0] : +#-----| mu0_7(iterator) = Uninitialized[#temp0:0] : &:r0_6 +# 1127| r1127_21(glval) = FunctionAddress[iterator] : +# 1127| r1127_22(glval>) = VariableAddress[(__end)] : +#-----| r0_8(glval>) = Convert : r1127_22 +#-----| r0_9(iterator &) = CopyValue : r0_8 +# 1127| v1127_23(void) = Call[iterator] : func:r1127_21, this:r0_6, 0:r0_9 +# 1127| mu1127_24(unknown) = ^CallSideEffect : ~m? +#-----| v0_10(void) = ^BufferReadSideEffect[0] : &:r0_9, ~m? +# 1127| mu1127_25(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_6 +#-----| r0_11(iterator) = Load[#temp0:0] : &:r0_6, ~m? +# 1127| r1127_26(bool) = Call[operator!=] : func:r1127_20, this:r0_5, 0:r0_11 +# 1127| mu1127_27(unknown) = ^CallSideEffect : ~m? +#-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? +# 1127| v1127_28(void) = ConditionalBranch : r1127_26 #-----| False -> Block 5 #-----| True -> Block 2 -# 1080| Block 2 -# 1080| r1080_28(glval) = VariableAddress[e] : -# 1080| r1080_29(glval) = VariableAddress[(__begin)] : -#-----| r0_7(glval) = Convert : r1080_29 -# 1080| r1080_30(glval) = FunctionAddress[operator*] : -# 1080| r1080_31(int &) = Call[operator*] : func:r1080_30, this:r0_7 -# 1080| mu1080_32(unknown) = ^CallSideEffect : ~m? -#-----| v0_8(void) = ^IndirectReadSideEffect[-1] : &:r0_7, ~m? -# 1080| r1080_33(int) = Load[?] : &:r1080_31, ~m? -# 1080| mu1080_34(int) = Store[e] : &:r1080_28, r1080_33 -# 1081| r1081_1(glval) = VariableAddress[e] : -# 1081| r1081_2(int) = Load[e] : &:r1081_1, ~m? -# 1081| r1081_3(int) = Constant[0] : -# 1081| r1081_4(bool) = CompareGT : r1081_2, r1081_3 -# 1081| v1081_5(void) = ConditionalBranch : r1081_4 +# 1127| Block 2 +# 1127| r1127_29(glval) = VariableAddress[e] : +# 1127| r1127_30(glval>) = VariableAddress[(__begin)] : +#-----| r0_13(glval>) = Convert : r1127_30 +# 1127| r1127_31(glval) = FunctionAddress[operator*] : +# 1127| r1127_32(int &) = Call[operator*] : func:r1127_31, this:r0_13 +# 1127| mu1127_33(unknown) = ^CallSideEffect : ~m? +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_13, ~m? +# 1127| r1127_34(int) = Load[?] : &:r1127_32, ~m? +# 1127| mu1127_35(int) = Store[e] : &:r1127_29, r1127_34 +# 1128| r1128_1(glval) = VariableAddress[e] : +# 1128| r1128_2(int) = Load[e] : &:r1128_1, ~m? +# 1128| r1128_3(int) = Constant[0] : +# 1128| r1128_4(bool) = CompareGT : r1128_2, r1128_3 +# 1128| v1128_5(void) = ConditionalBranch : r1128_4 #-----| False -> Block 4 #-----| True -> Block 3 -# 1082| Block 3 -# 1082| v1082_1(void) = NoOp : +# 1129| Block 3 +# 1129| v1129_1(void) = NoOp : #-----| Goto -> Block 4 -# 1080| Block 4 -# 1080| v1080_35(void) = NoOp : -# 1080| r1080_36(glval) = VariableAddress[(__begin)] : -# 1080| r1080_37(glval) = FunctionAddress[operator++] : -# 1080| r1080_38(iterator &) = Call[operator++] : func:r1080_37, this:r1080_36 -# 1080| mu1080_39(unknown) = ^CallSideEffect : ~m? -# 1080| v1080_40(void) = ^IndirectReadSideEffect[-1] : &:r1080_36, ~m? -# 1080| mu1080_41(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1080_36 -# 1080| r1080_42(glval) = CopyValue : r1080_38 +# 1127| Block 4 +# 1127| v1127_36(void) = NoOp : +# 1127| r1127_37(glval>) = VariableAddress[(__begin)] : +# 1127| r1127_38(glval) = FunctionAddress[operator++] : +# 1127| r1127_39(iterator &) = Call[operator++] : func:r1127_38, this:r1127_37 +# 1127| mu1127_40(unknown) = ^CallSideEffect : ~m? +# 1127| v1127_41(void) = ^IndirectReadSideEffect[-1] : &:r1127_37, ~m? +# 1127| mu1127_42(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1127_37 +# 1127| r1127_43(glval>) = CopyValue : r1127_39 #-----| Goto (back edge) -> Block 1 -# 1086| Block 5 -# 1086| r1086_1(glval &>) = VariableAddress[(__range)] : -# 1086| r1086_2(glval &>) = VariableAddress[v] : -# 1086| r1086_3(vector &) = Load[v] : &:r1086_2, ~m? -# 1086| r1086_4(glval>) = CopyValue : r1086_3 -# 1086| r1086_5(vector &) = CopyValue : r1086_4 -# 1086| mu1086_6(vector &) = Store[(__range)] : &:r1086_1, r1086_5 -# 1086| r1086_7(glval) = VariableAddress[(__begin)] : -# 1086| r1086_8(glval &>) = VariableAddress[(__range)] : -# 1086| r1086_9(vector &) = Load[(__range)] : &:r1086_8, ~m? -#-----| r0_9(glval>) = CopyValue : r1086_9 -# 1086| r1086_10(glval) = FunctionAddress[begin] : -# 1086| r1086_11(iterator) = Call[begin] : func:r1086_10, this:r0_9 -# 1086| mu1086_12(unknown) = ^CallSideEffect : ~m? -#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_9, ~m? -# 1086| mu1086_13(iterator) = Store[(__begin)] : &:r1086_7, r1086_11 -# 1086| r1086_14(glval) = VariableAddress[(__end)] : -# 1086| r1086_15(glval &>) = VariableAddress[(__range)] : -# 1086| r1086_16(vector &) = Load[(__range)] : &:r1086_15, ~m? -#-----| r0_11(glval>) = CopyValue : r1086_16 -# 1086| r1086_17(glval) = FunctionAddress[end] : -# 1086| r1086_18(iterator) = Call[end] : func:r1086_17, this:r0_11 -# 1086| mu1086_19(unknown) = ^CallSideEffect : ~m? -#-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_11, ~m? -# 1086| mu1086_20(iterator) = Store[(__end)] : &:r1086_14, r1086_18 +# 1133| Block 5 +# 1133| r1133_1(glval &>) = VariableAddress[(__range)] : +# 1133| r1133_2(glval &>) = VariableAddress[v] : +# 1133| r1133_3(vector &) = Load[v] : &:r1133_2, ~m? +# 1133| r1133_4(glval>) = CopyValue : r1133_3 +# 1133| r1133_5(vector &) = CopyValue : r1133_4 +# 1133| mu1133_6(vector &) = Store[(__range)] : &:r1133_1, r1133_5 +# 1133| r1133_7(glval>) = VariableAddress[(__begin)] : +# 1133| r1133_8(glval &>) = VariableAddress[(__range)] : +# 1133| r1133_9(vector &) = Load[(__range)] : &:r1133_8, ~m? +#-----| r0_15(glval>) = CopyValue : r1133_9 +# 1133| r1133_10(glval) = FunctionAddress[begin] : +# 1133| r1133_11(iterator) = Call[begin] : func:r1133_10, this:r0_15 +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, ~m? +# 1133| mu1133_12(iterator) = Store[(__begin)] : &:r1133_7, r1133_11 +# 1133| r1133_13(glval>) = VariableAddress[(__end)] : +# 1133| r1133_14(glval &>) = VariableAddress[(__range)] : +# 1133| r1133_15(vector &) = Load[(__range)] : &:r1133_14, ~m? +#-----| r0_17(glval>) = CopyValue : r1133_15 +# 1133| r1133_16(glval) = FunctionAddress[end] : +# 1133| r1133_17(iterator) = Call[end] : func:r1133_16, this:r0_17 +#-----| v0_18(void) = ^IndirectReadSideEffect[-1] : &:r0_17, ~m? +# 1133| mu1133_18(iterator) = Store[(__end)] : &:r1133_13, r1133_17 #-----| Goto -> Block 6 -# 1086| Block 6 -# 1086| r1086_21(glval) = VariableAddress[(__begin)] : -#-----| r0_13(glval) = Convert : r1086_21 -# 1086| r1086_22(glval) = FunctionAddress[operator!=] : -# 1086| r1086_23(glval) = VariableAddress[(__end)] : -# 1086| r1086_24(iterator) = Load[(__end)] : &:r1086_23, ~m? -# 1086| r1086_25(bool) = Call[operator!=] : func:r1086_22, this:r0_13, 0:r1086_24 -# 1086| mu1086_26(unknown) = ^CallSideEffect : ~m? -#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_13, ~m? -# 1086| v1086_27(void) = ConditionalBranch : r1086_25 +# 1133| Block 6 +# 1133| r1133_19(glval>) = VariableAddress[(__begin)] : +#-----| r0_19(glval>) = Convert : r1133_19 +# 1133| r1133_20(glval) = FunctionAddress[operator!=] : +#-----| r0_20(glval>) = VariableAddress[#temp0:0] : +#-----| mu0_21(iterator) = Uninitialized[#temp0:0] : &:r0_20 +# 1133| r1133_21(glval) = FunctionAddress[iterator] : +# 1133| r1133_22(glval>) = VariableAddress[(__end)] : +#-----| r0_22(glval>) = Convert : r1133_22 +#-----| r0_23(iterator &) = CopyValue : r0_22 +# 1133| v1133_23(void) = Call[iterator] : func:r1133_21, this:r0_20, 0:r0_23 +# 1133| mu1133_24(unknown) = ^CallSideEffect : ~m? +#-----| v0_24(void) = ^BufferReadSideEffect[0] : &:r0_23, ~m? +# 1133| mu1133_25(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_20 +#-----| r0_25(iterator) = Load[#temp0:0] : &:r0_20, ~m? +# 1133| r1133_26(bool) = Call[operator!=] : func:r1133_20, this:r0_19, 0:r0_25 +# 1133| mu1133_27(unknown) = ^CallSideEffect : ~m? +#-----| v0_26(void) = ^IndirectReadSideEffect[-1] : &:r0_19, ~m? +# 1133| v1133_28(void) = ConditionalBranch : r1133_26 #-----| False -> Block 10 #-----| True -> Block 8 -# 1086| Block 7 -# 1086| r1086_28(glval) = VariableAddress[(__begin)] : -# 1086| r1086_29(glval) = FunctionAddress[operator++] : -# 1086| r1086_30(iterator &) = Call[operator++] : func:r1086_29, this:r1086_28 -# 1086| mu1086_31(unknown) = ^CallSideEffect : ~m? -# 1086| v1086_32(void) = ^IndirectReadSideEffect[-1] : &:r1086_28, ~m? -# 1086| mu1086_33(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1086_28 -# 1086| r1086_34(glval) = CopyValue : r1086_30 +# 1133| Block 7 +# 1133| r1133_29(glval>) = VariableAddress[(__begin)] : +# 1133| r1133_30(glval) = FunctionAddress[operator++] : +# 1133| r1133_31(iterator &) = Call[operator++] : func:r1133_30, this:r1133_29 +# 1133| mu1133_32(unknown) = ^CallSideEffect : ~m? +# 1133| v1133_33(void) = ^IndirectReadSideEffect[-1] : &:r1133_29, ~m? +# 1133| mu1133_34(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1133_29 +# 1133| r1133_35(glval>) = CopyValue : r1133_31 #-----| Goto (back edge) -> Block 6 -# 1086| Block 8 -# 1086| r1086_35(glval) = VariableAddress[e] : -# 1086| r1086_36(glval) = VariableAddress[(__begin)] : -#-----| r0_15(glval) = Convert : r1086_36 -# 1086| r1086_37(glval) = FunctionAddress[operator*] : -# 1086| r1086_38(int &) = Call[operator*] : func:r1086_37, this:r0_15 -# 1086| mu1086_39(unknown) = ^CallSideEffect : ~m? -#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, ~m? -# 1086| r1086_40(glval) = CopyValue : r1086_38 -# 1086| r1086_41(glval) = Convert : r1086_40 -# 1086| r1086_42(int &) = CopyValue : r1086_41 -# 1086| mu1086_43(int &) = Store[e] : &:r1086_35, r1086_42 -# 1087| r1087_1(glval) = VariableAddress[e] : -# 1087| r1087_2(int &) = Load[e] : &:r1087_1, ~m? -# 1087| r1087_3(int) = Load[?] : &:r1087_2, ~m? -# 1087| r1087_4(int) = Constant[5] : -# 1087| r1087_5(bool) = CompareLT : r1087_3, r1087_4 -# 1087| v1087_6(void) = ConditionalBranch : r1087_5 +# 1133| Block 8 +# 1133| r1133_36(glval) = VariableAddress[e] : +# 1133| r1133_37(glval>) = VariableAddress[(__begin)] : +#-----| r0_27(glval>) = Convert : r1133_37 +# 1133| r1133_38(glval) = FunctionAddress[operator*] : +# 1133| r1133_39(int &) = Call[operator*] : func:r1133_38, this:r0_27 +# 1133| mu1133_40(unknown) = ^CallSideEffect : ~m? +#-----| v0_28(void) = ^IndirectReadSideEffect[-1] : &:r0_27, ~m? +# 1133| r1133_41(glval) = CopyValue : r1133_39 +# 1133| r1133_42(glval) = Convert : r1133_41 +# 1133| r1133_43(int &) = CopyValue : r1133_42 +# 1133| mu1133_44(int &) = Store[e] : &:r1133_36, r1133_43 +# 1134| r1134_1(glval) = VariableAddress[e] : +# 1134| r1134_2(int &) = Load[e] : &:r1134_1, ~m? +# 1134| r1134_3(int) = Load[?] : &:r1134_2, ~m? +# 1134| r1134_4(int) = Constant[5] : +# 1134| r1134_5(bool) = CompareLT : r1134_3, r1134_4 +# 1134| v1134_6(void) = ConditionalBranch : r1134_5 #-----| False -> Block 7 #-----| True -> Block 9 -# 1088| Block 9 -# 1088| v1088_1(void) = NoOp : +# 1135| Block 9 +# 1135| v1135_1(void) = NoOp : #-----| Goto -> Block 10 -# 1090| Block 10 -# 1090| v1090_1(void) = NoOp : -# 1091| v1091_1(void) = NoOp : -# 1079| v1079_8(void) = ReturnIndirection[v] : &:r1079_6, ~m? -# 1079| v1079_9(void) = ReturnVoid : -# 1079| v1079_10(void) = AliasedUse : ~m? -# 1079| v1079_11(void) = ExitFunction : +# 1137| Block 10 +# 1137| v1137_1(void) = NoOp : +# 1138| v1138_1(void) = NoOp : +# 1126| v1126_8(void) = ReturnIndirection[v] : &:r1126_6, ~m? +# 1126| v1126_9(void) = ReturnVoid : +# 1126| v1126_10(void) = AliasedUse : ~m? +# 1126| v1126_11(void) = ExitFunction : -# 1110| int AsmStmt(int) -# 1110| Block 0 -# 1110| v1110_1(void) = EnterFunction : -# 1110| mu1110_2(unknown) = AliasedDefinition : -# 1110| mu1110_3(unknown) = InitializeNonLocal : -# 1110| r1110_4(glval) = VariableAddress[x] : -# 1110| mu1110_5(int) = InitializeParameter[x] : &:r1110_4 -# 1111| mu1111_1(unknown) = InlineAsm : ~m? -# 1112| r1112_1(glval) = VariableAddress[#return] : -# 1112| r1112_2(glval) = VariableAddress[x] : -# 1112| r1112_3(int) = Load[x] : &:r1112_2, ~m? -# 1112| mu1112_4(int) = Store[#return] : &:r1112_1, r1112_3 -# 1110| r1110_6(glval) = VariableAddress[#return] : -# 1110| v1110_7(void) = ReturnValue : &:r1110_6, ~m? -# 1110| v1110_8(void) = AliasedUse : ~m? -# 1110| v1110_9(void) = ExitFunction : +# 1157| int AsmStmt(int) +# 1157| Block 0 +# 1157| v1157_1(void) = EnterFunction : +# 1157| mu1157_2(unknown) = AliasedDefinition : +# 1157| mu1157_3(unknown) = InitializeNonLocal : +# 1157| r1157_4(glval) = VariableAddress[x] : +# 1157| mu1157_5(int) = InitializeParameter[x] : &:r1157_4 +# 1158| mu1158_1(unknown) = InlineAsm : ~m? +# 1159| r1159_1(glval) = VariableAddress[#return] : +# 1159| r1159_2(glval) = VariableAddress[x] : +# 1159| r1159_3(int) = Load[x] : &:r1159_2, ~m? +# 1159| mu1159_4(int) = Store[#return] : &:r1159_1, r1159_3 +# 1157| r1157_6(glval) = VariableAddress[#return] : +# 1157| v1157_7(void) = ReturnValue : &:r1157_6, ~m? +# 1157| v1157_8(void) = AliasedUse : ~m? +# 1157| v1157_9(void) = ExitFunction : -# 1115| void AsmStmtWithOutputs(unsigned int&, unsigned int, unsigned int&, unsigned int) -# 1115| Block 0 -# 1115| v1115_1(void) = EnterFunction : -# 1115| mu1115_2(unknown) = AliasedDefinition : -# 1115| mu1115_3(unknown) = InitializeNonLocal : -# 1115| r1115_4(glval) = VariableAddress[a] : -# 1115| mu1115_5(unsigned int &) = InitializeParameter[a] : &:r1115_4 -# 1115| r1115_6(unsigned int &) = Load[a] : &:r1115_4, ~m? -# 1115| mu1115_7(unknown) = InitializeIndirection[a] : &:r1115_6 -# 1115| r1115_8(glval) = VariableAddress[b] : -# 1115| mu1115_9(unsigned int) = InitializeParameter[b] : &:r1115_8 -# 1115| r1115_10(glval) = VariableAddress[c] : -# 1115| mu1115_11(unsigned int &) = InitializeParameter[c] : &:r1115_10 -# 1115| r1115_12(unsigned int &) = Load[c] : &:r1115_10, ~m? -# 1115| mu1115_13(unknown) = InitializeIndirection[c] : &:r1115_12 -# 1115| r1115_14(glval) = VariableAddress[d] : -# 1115| mu1115_15(unsigned int) = InitializeParameter[d] : &:r1115_14 -# 1120| r1120_1(glval) = VariableAddress[a] : -# 1120| r1120_2(unsigned int &) = Load[a] : &:r1120_1, ~m? -# 1120| r1120_3(glval) = CopyValue : r1120_2 -# 1120| r1120_4(glval) = VariableAddress[b] : -# 1120| r1120_5(glval) = VariableAddress[c] : -# 1120| r1120_6(unsigned int &) = Load[c] : &:r1120_5, ~m? -# 1120| r1120_7(unsigned int) = Load[?] : &:r1120_6, ~m? -# 1120| r1120_8(glval) = VariableAddress[d] : -# 1120| r1120_9(unsigned int) = Load[d] : &:r1120_8, ~m? -# 1117| mu1117_1(unknown) = InlineAsm : ~m?, 0:r1120_3, 1:r1120_4, 2:r1120_7, 3:r1120_9 -# 1122| v1122_1(void) = NoOp : -# 1115| v1115_16(void) = ReturnIndirection[a] : &:r1115_6, ~m? -# 1115| v1115_17(void) = ReturnIndirection[c] : &:r1115_12, ~m? -# 1115| v1115_18(void) = ReturnVoid : -# 1115| v1115_19(void) = AliasedUse : ~m? -# 1115| v1115_20(void) = ExitFunction : +# 1162| void AsmStmtWithOutputs(unsigned int&, unsigned int, unsigned int&, unsigned int) +# 1162| Block 0 +# 1162| v1162_1(void) = EnterFunction : +# 1162| mu1162_2(unknown) = AliasedDefinition : +# 1162| mu1162_3(unknown) = InitializeNonLocal : +# 1162| r1162_4(glval) = VariableAddress[a] : +# 1162| mu1162_5(unsigned int &) = InitializeParameter[a] : &:r1162_4 +# 1162| r1162_6(unsigned int &) = Load[a] : &:r1162_4, ~m? +# 1162| mu1162_7(unknown) = InitializeIndirection[a] : &:r1162_6 +# 1162| r1162_8(glval) = VariableAddress[b] : +# 1162| mu1162_9(unsigned int) = InitializeParameter[b] : &:r1162_8 +# 1162| r1162_10(glval) = VariableAddress[c] : +# 1162| mu1162_11(unsigned int &) = InitializeParameter[c] : &:r1162_10 +# 1162| r1162_12(unsigned int &) = Load[c] : &:r1162_10, ~m? +# 1162| mu1162_13(unknown) = InitializeIndirection[c] : &:r1162_12 +# 1162| r1162_14(glval) = VariableAddress[d] : +# 1162| mu1162_15(unsigned int) = InitializeParameter[d] : &:r1162_14 +# 1167| r1167_1(glval) = VariableAddress[a] : +# 1167| r1167_2(unsigned int &) = Load[a] : &:r1167_1, ~m? +# 1167| r1167_3(glval) = CopyValue : r1167_2 +# 1167| r1167_4(glval) = VariableAddress[b] : +# 1167| r1167_5(glval) = VariableAddress[c] : +# 1167| r1167_6(unsigned int &) = Load[c] : &:r1167_5, ~m? +# 1167| r1167_7(unsigned int) = Load[?] : &:r1167_6, ~m? +# 1167| r1167_8(glval) = VariableAddress[d] : +# 1167| r1167_9(unsigned int) = Load[d] : &:r1167_8, ~m? +# 1164| mu1164_1(unknown) = InlineAsm : ~m?, 0:r1167_3, 1:r1167_4, 2:r1167_7, 3:r1167_9 +# 1169| v1169_1(void) = NoOp : +# 1162| v1162_16(void) = ReturnIndirection[a] : &:r1162_6, ~m? +# 1162| v1162_17(void) = ReturnIndirection[c] : &:r1162_12, ~m? +# 1162| v1162_18(void) = ReturnVoid : +# 1162| v1162_19(void) = AliasedUse : ~m? +# 1162| v1162_20(void) = ExitFunction : -# 1124| void ExternDeclarations() -# 1124| Block 0 -# 1124| v1124_1(void) = EnterFunction : -# 1124| mu1124_2(unknown) = AliasedDefinition : -# 1124| mu1124_3(unknown) = InitializeNonLocal : -# 1127| r1127_1(glval) = VariableAddress[x] : -# 1127| mu1127_2(int) = Uninitialized[x] : &:r1127_1 -# 1128| r1128_1(glval) = VariableAddress[y] : -# 1128| mu1128_2(int) = Uninitialized[y] : &:r1128_1 -# 1129| r1129_1(glval) = VariableAddress[h] : -# 1129| mu1129_2(int) = Uninitialized[h] : &:r1129_1 -# 1131| v1131_1(void) = NoOp : -# 1124| v1124_4(void) = ReturnVoid : -# 1124| v1124_5(void) = AliasedUse : ~m? -# 1124| v1124_6(void) = ExitFunction : +# 1171| void ExternDeclarations() +# 1171| Block 0 +# 1171| v1171_1(void) = EnterFunction : +# 1171| mu1171_2(unknown) = AliasedDefinition : +# 1171| mu1171_3(unknown) = InitializeNonLocal : +# 1174| r1174_1(glval) = VariableAddress[x] : +# 1174| mu1174_2(int) = Uninitialized[x] : &:r1174_1 +# 1175| r1175_1(glval) = VariableAddress[y] : +# 1175| mu1175_2(int) = Uninitialized[y] : &:r1175_1 +# 1176| r1176_1(glval) = VariableAddress[h] : +# 1176| mu1176_2(int) = Uninitialized[h] : &:r1176_1 +# 1178| v1178_1(void) = NoOp : +# 1171| v1171_4(void) = ReturnVoid : +# 1171| v1171_5(void) = AliasedUse : ~m? +# 1171| v1171_6(void) = ExitFunction : -# 1139| void ExternDeclarationsInMacro() -# 1139| Block 0 -# 1139| v1139_1(void) = EnterFunction : -# 1139| mu1139_2(unknown) = AliasedDefinition : -# 1139| mu1139_3(unknown) = InitializeNonLocal : -# 1141| r1141_1(glval) = VariableAddress[i] : -# 1141| r1141_2(int) = Constant[0] : -# 1141| mu1141_3(int) = Store[i] : &:r1141_1, r1141_2 +# 1186| void ExternDeclarationsInMacro() +# 1186| Block 0 +# 1186| v1186_1(void) = EnterFunction : +# 1186| mu1186_2(unknown) = AliasedDefinition : +# 1186| mu1186_3(unknown) = InitializeNonLocal : +# 1188| r1188_1(glval) = VariableAddress[i] : +# 1188| r1188_2(int) = Constant[0] : +# 1188| mu1188_3(int) = Store[i] : &:r1188_1, r1188_2 #-----| Goto -> Block 1 -# 1141| Block 1 -# 1141| r1141_4(glval) = VariableAddress[i] : -# 1141| r1141_5(int) = Load[i] : &:r1141_4, ~m? -# 1141| r1141_6(int) = Constant[10] : -# 1141| r1141_7(bool) = CompareLT : r1141_5, r1141_6 -# 1141| v1141_8(void) = ConditionalBranch : r1141_7 +# 1188| Block 1 +# 1188| r1188_4(glval) = VariableAddress[i] : +# 1188| r1188_5(int) = Load[i] : &:r1188_4, ~m? +# 1188| r1188_6(int) = Constant[10] : +# 1188| r1188_7(bool) = CompareLT : r1188_5, r1188_6 +# 1188| v1188_8(void) = ConditionalBranch : r1188_7 #-----| False -> Block 3 #-----| True -> Block 2 -# 1141| Block 2 -# 1141| r1141_9(glval) = VariableAddress[i] : -# 1141| r1141_10(int) = Load[i] : &:r1141_9, ~m? -# 1141| r1141_11(int) = Constant[1] : -# 1141| r1141_12(int) = Add : r1141_10, r1141_11 -# 1141| mu1141_13(int) = Store[i] : &:r1141_9, r1141_12 +# 1188| Block 2 +# 1188| r1188_9(glval) = VariableAddress[i] : +# 1188| r1188_10(int) = Load[i] : &:r1188_9, ~m? +# 1188| r1188_11(int) = Constant[1] : +# 1188| r1188_12(int) = Add : r1188_10, r1188_11 +# 1188| mu1188_13(int) = Store[i] : &:r1188_9, r1188_12 #-----| Goto (back edge) -> Block 1 -# 1141| Block 3 -# 1141| v1141_14(void) = NoOp : -# 1142| v1142_1(void) = NoOp : -# 1139| v1139_4(void) = ReturnVoid : -# 1139| v1139_5(void) = AliasedUse : ~m? -# 1139| v1139_6(void) = ExitFunction : +# 1188| Block 3 +# 1188| v1188_14(void) = NoOp : +# 1189| v1189_1(void) = NoOp : +# 1186| v1186_4(void) = ReturnVoid : +# 1186| v1186_5(void) = AliasedUse : ~m? +# 1186| v1186_6(void) = ExitFunction : -# 1144| void TryCatchNoCatchAny(bool) -# 1144| Block 0 -# 1144| v1144_1(void) = EnterFunction : -# 1144| mu1144_2(unknown) = AliasedDefinition : -# 1144| mu1144_3(unknown) = InitializeNonLocal : -# 1144| r1144_4(glval) = VariableAddress[b] : -# 1144| mu1144_5(bool) = InitializeParameter[b] : &:r1144_4 -# 1146| r1146_1(glval) = VariableAddress[x] : -# 1146| r1146_2(int) = Constant[5] : -# 1146| mu1146_3(int) = Store[x] : &:r1146_1, r1146_2 -# 1147| r1147_1(glval) = VariableAddress[b] : -# 1147| r1147_2(bool) = Load[b] : &:r1147_1, ~m? -# 1147| v1147_3(void) = ConditionalBranch : r1147_2 +# 1191| void TryCatchNoCatchAny(bool) +# 1191| Block 0 +# 1191| v1191_1(void) = EnterFunction : +# 1191| mu1191_2(unknown) = AliasedDefinition : +# 1191| mu1191_3(unknown) = InitializeNonLocal : +# 1191| r1191_4(glval) = VariableAddress[b] : +# 1191| mu1191_5(bool) = InitializeParameter[b] : &:r1191_4 +# 1193| r1193_1(glval) = VariableAddress[x] : +# 1193| r1193_2(int) = Constant[5] : +# 1193| mu1193_3(int) = Store[x] : &:r1193_1, r1193_2 +# 1194| r1194_1(glval) = VariableAddress[b] : +# 1194| r1194_2(bool) = Load[b] : &:r1194_1, ~m? +# 1194| v1194_3(void) = ConditionalBranch : r1194_2 #-----| False -> Block 4 #-----| True -> Block 3 -# 1144| Block 1 -# 1144| v1144_6(void) = AliasedUse : ~m? -# 1144| v1144_7(void) = ExitFunction : +# 1191| Block 1 +# 1191| v1191_6(void) = AliasedUse : ~m? +# 1191| v1191_7(void) = ExitFunction : -# 1144| Block 2 -# 1144| v1144_8(void) = Unwind : +# 1191| Block 2 +# 1191| v1191_8(void) = Unwind : #-----| Goto -> Block 1 -# 1148| Block 3 -# 1148| r1148_1(glval) = VariableAddress[#throw1148:7] : -# 1148| r1148_2(glval) = StringConstant["string literal"] : -# 1148| r1148_3(char *) = Convert : r1148_2 -# 1148| mu1148_4(char *) = Store[#throw1148:7] : &:r1148_1, r1148_3 -# 1148| v1148_5(void) = ThrowValue : &:r1148_1, ~m? +# 1195| Block 3 +# 1195| r1195_1(glval) = VariableAddress[#throw1195:7] : +# 1195| r1195_2(glval) = StringConstant["string literal"] : +# 1195| r1195_3(char *) = Convert : r1195_2 +# 1195| mu1195_4(char *) = Store[#throw1195:7] : &:r1195_1, r1195_3 +# 1195| v1195_5(void) = ThrowValue : &:r1195_1, ~m? #-----| Exception -> Block 9 -# 1150| Block 4 -# 1150| r1150_1(glval) = VariableAddress[x] : -# 1150| r1150_2(int) = Load[x] : &:r1150_1, ~m? -# 1150| r1150_3(int) = Constant[2] : -# 1150| r1150_4(bool) = CompareLT : r1150_2, r1150_3 -# 1150| v1150_5(void) = ConditionalBranch : r1150_4 +# 1197| Block 4 +# 1197| r1197_1(glval) = VariableAddress[x] : +# 1197| r1197_2(int) = Load[x] : &:r1197_1, ~m? +# 1197| r1197_3(int) = Constant[2] : +# 1197| r1197_4(bool) = CompareLT : r1197_2, r1197_3 +# 1197| v1197_5(void) = ConditionalBranch : r1197_4 #-----| False -> Block 8 #-----| True -> Block 5 -# 1151| Block 5 -# 1151| r1151_1(glval) = VariableAddress[b] : -# 1151| r1151_2(bool) = Load[b] : &:r1151_1, ~m? -# 1151| v1151_3(void) = ConditionalBranch : r1151_2 +# 1198| Block 5 +# 1198| r1198_1(glval) = VariableAddress[b] : +# 1198| r1198_2(bool) = Load[b] : &:r1198_1, ~m? +# 1198| v1198_3(void) = ConditionalBranch : r1198_2 #-----| False -> Block 7 #-----| True -> Block 6 -# 1151| Block 6 -# 1151| r1151_4(int) = Constant[7] : -# 1151| r1151_5(glval) = VariableAddress[#temp1151:11] : -# 1151| mu1151_6(int) = Store[#temp1151:11] : &:r1151_5, r1151_4 -# 1151| r1151_7(glval) = VariableAddress[#temp1151:11] : -# 1151| r1151_8(int) = Load[#temp1151:11] : &:r1151_7, ~m? -# 1151| r1151_9(glval) = VariableAddress[x] : -# 1151| mu1151_10(int) = Store[x] : &:r1151_9, r1151_8 +# 1198| Block 6 +# 1198| r1198_4(int) = Constant[7] : +# 1198| r1198_5(glval) = VariableAddress[#temp1198:11] : +# 1198| mu1198_6(int) = Store[#temp1198:11] : &:r1198_5, r1198_4 +# 1198| r1198_7(glval) = VariableAddress[#temp1198:11] : +# 1198| r1198_8(int) = Load[#temp1198:11] : &:r1198_7, ~m? +# 1198| r1198_9(glval) = VariableAddress[x] : +# 1198| mu1198_10(int) = Store[x] : &:r1198_9, r1198_8 #-----| Goto -> Block 8 -# 1151| Block 7 -# 1151| r1151_11(glval) = VariableAddress[#throw1151:19] : -# 1151| mu1151_12(String) = Uninitialized[#throw1151:19] : &:r1151_11 -# 1151| r1151_13(glval) = FunctionAddress[String] : -# 1151| r1151_14(glval) = StringConstant["String object"] : -# 1151| r1151_15(char *) = Convert : r1151_14 -# 1151| v1151_16(void) = Call[String] : func:r1151_13, this:r1151_11, 0:r1151_15 -# 1151| mu1151_17(unknown) = ^CallSideEffect : ~m? -# 1151| v1151_18(void) = ^BufferReadSideEffect[0] : &:r1151_15, ~m? -# 1151| mu1151_19(String) = ^IndirectMayWriteSideEffect[-1] : &:r1151_11 -# 1151| v1151_20(void) = ThrowValue : &:r1151_11, ~m? +# 1198| Block 7 +# 1198| r1198_11(glval) = VariableAddress[#throw1198:19] : +# 1198| mu1198_12(String) = Uninitialized[#throw1198:19] : &:r1198_11 +# 1198| r1198_13(glval) = FunctionAddress[String] : +# 1198| r1198_14(glval) = StringConstant["String object"] : +# 1198| r1198_15(char *) = Convert : r1198_14 +# 1198| v1198_16(void) = Call[String] : func:r1198_13, this:r1198_11, 0:r1198_15 +# 1198| mu1198_17(unknown) = ^CallSideEffect : ~m? +# 1198| v1198_18(void) = ^BufferReadSideEffect[0] : &:r1198_15, ~m? +# 1198| mu1198_19(String) = ^IndirectMayWriteSideEffect[-1] : &:r1198_11 +# 1198| v1198_20(void) = ThrowValue : &:r1198_11, ~m? #-----| Exception -> Block 9 -# 1153| Block 8 -# 1153| r1153_1(int) = Constant[7] : -# 1153| r1153_2(glval) = VariableAddress[x] : -# 1153| mu1153_3(int) = Store[x] : &:r1153_2, r1153_1 +# 1200| Block 8 +# 1200| r1200_1(int) = Constant[7] : +# 1200| r1200_2(glval) = VariableAddress[x] : +# 1200| mu1200_3(int) = Store[x] : &:r1200_2, r1200_1 #-----| Goto -> Block 13 -# 1155| Block 9 -# 1155| v1155_1(void) = CatchByType[const char *] : +# 1202| Block 9 +# 1202| v1202_1(void) = CatchByType[const char *] : #-----| Exception -> Block 11 #-----| Goto -> Block 10 -# 1155| Block 10 -# 1155| r1155_2(glval) = VariableAddress[s] : -# 1155| mu1155_3(char *) = InitializeParameter[s] : &:r1155_2 -# 1155| r1155_4(char *) = Load[s] : &:r1155_2, ~m? -# 1155| mu1155_5(unknown) = InitializeIndirection[s] : &:r1155_4 -# 1156| r1156_1(glval) = VariableAddress[#throw1156:5] : -# 1156| mu1156_2(String) = Uninitialized[#throw1156:5] : &:r1156_1 -# 1156| r1156_3(glval) = FunctionAddress[String] : -# 1156| r1156_4(glval) = VariableAddress[s] : -# 1156| r1156_5(char *) = Load[s] : &:r1156_4, ~m? -# 1156| v1156_6(void) = Call[String] : func:r1156_3, this:r1156_1, 0:r1156_5 -# 1156| mu1156_7(unknown) = ^CallSideEffect : ~m? -# 1156| v1156_8(void) = ^BufferReadSideEffect[0] : &:r1156_5, ~m? -# 1156| mu1156_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r1156_1 -# 1156| v1156_10(void) = ThrowValue : &:r1156_1, ~m? +# 1202| Block 10 +# 1202| r1202_2(glval) = VariableAddress[s] : +# 1202| mu1202_3(char *) = InitializeParameter[s] : &:r1202_2 +# 1202| r1202_4(char *) = Load[s] : &:r1202_2, ~m? +# 1202| mu1202_5(unknown) = InitializeIndirection[s] : &:r1202_4 +# 1203| r1203_1(glval) = VariableAddress[#throw1203:5] : +# 1203| mu1203_2(String) = Uninitialized[#throw1203:5] : &:r1203_1 +# 1203| r1203_3(glval) = FunctionAddress[String] : +# 1203| r1203_4(glval) = VariableAddress[s] : +# 1203| r1203_5(char *) = Load[s] : &:r1203_4, ~m? +# 1203| v1203_6(void) = Call[String] : func:r1203_3, this:r1203_1, 0:r1203_5 +# 1203| mu1203_7(unknown) = ^CallSideEffect : ~m? +# 1203| v1203_8(void) = ^BufferReadSideEffect[0] : &:r1203_5, ~m? +# 1203| mu1203_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r1203_1 +# 1203| v1203_10(void) = ThrowValue : &:r1203_1, ~m? #-----| Exception -> Block 2 -# 1158| Block 11 -# 1158| v1158_1(void) = CatchByType[const String &] : +# 1205| Block 11 +# 1205| v1205_1(void) = CatchByType[const String &] : #-----| Exception -> Block 2 #-----| Goto -> Block 12 -# 1158| Block 12 -# 1158| r1158_2(glval) = VariableAddress[e] : -# 1158| mu1158_3(String &) = InitializeParameter[e] : &:r1158_2 -# 1158| r1158_4(String &) = Load[e] : &:r1158_2, ~m? -# 1158| mu1158_5(unknown) = InitializeIndirection[e] : &:r1158_4 -# 1158| v1158_6(void) = NoOp : +# 1205| Block 12 +# 1205| r1205_2(glval) = VariableAddress[e] : +# 1205| mu1205_3(String &) = InitializeParameter[e] : &:r1205_2 +# 1205| r1205_4(String &) = Load[e] : &:r1205_2, ~m? +# 1205| mu1205_5(unknown) = InitializeIndirection[e] : &:r1205_4 +# 1205| v1205_6(void) = NoOp : #-----| Goto -> Block 13 -# 1160| Block 13 -# 1160| v1160_1(void) = NoOp : -# 1144| v1144_9(void) = ReturnVoid : +# 1207| Block 13 +# 1207| v1207_1(void) = NoOp : +# 1191| v1191_9(void) = ReturnVoid : #-----| Goto -> Block 1 -# 1164| void VectorTypes(int) -# 1164| Block 0 -# 1164| v1164_1(void) = EnterFunction : -# 1164| mu1164_2(unknown) = AliasedDefinition : -# 1164| mu1164_3(unknown) = InitializeNonLocal : -# 1164| r1164_4(glval) = VariableAddress[i] : -# 1164| mu1164_5(int) = InitializeParameter[i] : &:r1164_4 -# 1165| r1165_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1165| mu1165_2(__attribute((vector_size(16UL))) int) = Uninitialized[vi4] : &:r1165_1 -# 1165| r1165_3(int) = Constant[0] : -# 1165| r1165_4(glval) = PointerAdd[4] : r1165_1, r1165_3 -# 1165| r1165_5(int) = Constant[0] : -# 1165| mu1165_6(int) = Store[?] : &:r1165_4, r1165_5 -# 1165| r1165_7(int) = Constant[1] : -# 1165| r1165_8(glval) = PointerAdd[4] : r1165_1, r1165_7 -# 1165| r1165_9(int) = Constant[1] : -# 1165| mu1165_10(int) = Store[?] : &:r1165_8, r1165_9 -# 1165| r1165_11(int) = Constant[2] : -# 1165| r1165_12(glval) = PointerAdd[4] : r1165_1, r1165_11 -# 1165| r1165_13(int) = Constant[2] : -# 1165| mu1165_14(int) = Store[?] : &:r1165_12, r1165_13 -# 1165| r1165_15(int) = Constant[3] : -# 1165| r1165_16(glval) = PointerAdd[4] : r1165_1, r1165_15 -# 1165| r1165_17(int) = Constant[3] : -# 1165| mu1165_18(int) = Store[?] : &:r1165_16, r1165_17 -# 1166| r1166_1(glval) = VariableAddress[x] : -# 1166| r1166_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1166| r1166_3(glval) = VariableAddress[i] : -# 1166| r1166_4(int) = Load[i] : &:r1166_3, ~m? -# 1166| r1166_5(glval) = PointerAdd[4] : r1166_2, r1166_4 -# 1166| r1166_6(int) = Load[?] : &:r1166_5, ~m? -# 1166| mu1166_7(int) = Store[x] : &:r1166_1, r1166_6 -# 1167| r1167_1(glval) = VariableAddress[x] : -# 1167| r1167_2(int) = Load[x] : &:r1167_1, ~m? -# 1167| r1167_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1167| r1167_4(glval) = VariableAddress[i] : -# 1167| r1167_5(int) = Load[i] : &:r1167_4, ~m? -# 1167| r1167_6(glval) = PointerAdd[4] : r1167_3, r1167_5 -# 1167| mu1167_7(int) = Store[?] : &:r1167_6, r1167_2 -# 1168| r1168_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : -# 1168| r1168_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1168| r1168_3(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1168_2, ~m? -# 1168| r1168_4(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1168| r1168_5(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1168_4, ~m? -# 1168| r1168_6(int) = Constant[3] : -# 1168| r1168_7(int) = Constant[2] : -# 1168| r1168_8(int) = Constant[1] : -# 1168| r1168_9(int) = Constant[0] : -# 1168| r1168_10(__attribute((vector_size(16))) int) = BuiltIn[__builtin_shufflevector] : 0:r1168_3, 1:r1168_5, 2:r1168_6, 3:r1168_7, 4:r1168_8, 5:r1168_9 -# 1168| mu1168_11(__attribute((vector_size(16UL))) int) = Store[vi4_shuffle] : &:r1168_1, r1168_10 -# 1169| r1169_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1169| r1169_2(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1169_1, ~m? -# 1169| r1169_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : -# 1169| r1169_4(__attribute((vector_size(16UL))) int) = Load[vi4_shuffle] : &:r1169_3, ~m? -# 1169| r1169_5(__attribute((vector_size(16UL))) int) = Add : r1169_2, r1169_4 -# 1169| r1169_6(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1169| mu1169_7(__attribute((vector_size(16UL))) int) = Store[vi4] : &:r1169_6, r1169_5 -# 1170| v1170_1(void) = NoOp : -# 1164| v1164_6(void) = ReturnVoid : -# 1164| v1164_7(void) = AliasedUse : ~m? -# 1164| v1164_8(void) = ExitFunction : +# 1211| void VectorTypes(int) +# 1211| Block 0 +# 1211| v1211_1(void) = EnterFunction : +# 1211| mu1211_2(unknown) = AliasedDefinition : +# 1211| mu1211_3(unknown) = InitializeNonLocal : +# 1211| r1211_4(glval) = VariableAddress[i] : +# 1211| mu1211_5(int) = InitializeParameter[i] : &:r1211_4 +# 1212| r1212_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1212| mu1212_2(__attribute((vector_size(16UL))) int) = Uninitialized[vi4] : &:r1212_1 +# 1212| r1212_3(int) = Constant[0] : +# 1212| r1212_4(glval) = PointerAdd[4] : r1212_1, r1212_3 +# 1212| r1212_5(int) = Constant[0] : +# 1212| mu1212_6(int) = Store[?] : &:r1212_4, r1212_5 +# 1212| r1212_7(int) = Constant[1] : +# 1212| r1212_8(glval) = PointerAdd[4] : r1212_1, r1212_7 +# 1212| r1212_9(int) = Constant[1] : +# 1212| mu1212_10(int) = Store[?] : &:r1212_8, r1212_9 +# 1212| r1212_11(int) = Constant[2] : +# 1212| r1212_12(glval) = PointerAdd[4] : r1212_1, r1212_11 +# 1212| r1212_13(int) = Constant[2] : +# 1212| mu1212_14(int) = Store[?] : &:r1212_12, r1212_13 +# 1212| r1212_15(int) = Constant[3] : +# 1212| r1212_16(glval) = PointerAdd[4] : r1212_1, r1212_15 +# 1212| r1212_17(int) = Constant[3] : +# 1212| mu1212_18(int) = Store[?] : &:r1212_16, r1212_17 +# 1213| r1213_1(glval) = VariableAddress[x] : +# 1213| r1213_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1213| r1213_3(glval) = VariableAddress[i] : +# 1213| r1213_4(int) = Load[i] : &:r1213_3, ~m? +# 1213| r1213_5(glval) = PointerAdd[4] : r1213_2, r1213_4 +# 1213| r1213_6(int) = Load[?] : &:r1213_5, ~m? +# 1213| mu1213_7(int) = Store[x] : &:r1213_1, r1213_6 +# 1214| r1214_1(glval) = VariableAddress[x] : +# 1214| r1214_2(int) = Load[x] : &:r1214_1, ~m? +# 1214| r1214_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1214| r1214_4(glval) = VariableAddress[i] : +# 1214| r1214_5(int) = Load[i] : &:r1214_4, ~m? +# 1214| r1214_6(glval) = PointerAdd[4] : r1214_3, r1214_5 +# 1214| mu1214_7(int) = Store[?] : &:r1214_6, r1214_2 +# 1215| r1215_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : +# 1215| r1215_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1215| r1215_3(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1215_2, ~m? +# 1215| r1215_4(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1215| r1215_5(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1215_4, ~m? +# 1215| r1215_6(int) = Constant[3] : +# 1215| r1215_7(int) = Constant[2] : +# 1215| r1215_8(int) = Constant[1] : +# 1215| r1215_9(int) = Constant[0] : +# 1215| r1215_10(__attribute((vector_size(16))) int) = BuiltIn[__builtin_shufflevector] : 0:r1215_3, 1:r1215_5, 2:r1215_6, 3:r1215_7, 4:r1215_8, 5:r1215_9 +# 1215| mu1215_11(__attribute((vector_size(16UL))) int) = Store[vi4_shuffle] : &:r1215_1, r1215_10 +# 1216| r1216_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1216| r1216_2(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1216_1, ~m? +# 1216| r1216_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : +# 1216| r1216_4(__attribute((vector_size(16UL))) int) = Load[vi4_shuffle] : &:r1216_3, ~m? +# 1216| r1216_5(__attribute((vector_size(16UL))) int) = Add : r1216_2, r1216_4 +# 1216| r1216_6(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : +# 1216| mu1216_7(__attribute((vector_size(16UL))) int) = Store[vi4] : &:r1216_6, r1216_5 +# 1217| v1217_1(void) = NoOp : +# 1211| v1211_6(void) = ReturnVoid : +# 1211| v1211_7(void) = AliasedUse : ~m? +# 1211| v1211_8(void) = ExitFunction : -# 1174| int ModeledCallTarget(int) -# 1174| Block 0 -# 1174| v1174_1(void) = EnterFunction : -# 1174| mu1174_2(unknown) = AliasedDefinition : -# 1174| mu1174_3(unknown) = InitializeNonLocal : -# 1174| r1174_4(glval) = VariableAddress[x] : -# 1174| mu1174_5(int) = InitializeParameter[x] : &:r1174_4 -# 1175| r1175_1(glval) = VariableAddress[y] : -# 1175| mu1175_2(int) = Uninitialized[y] : &:r1175_1 -# 1176| r1176_1(glval) = FunctionAddress[memcpy] : -# 1176| r1176_2(glval) = VariableAddress[y] : -# 1176| r1176_3(int *) = CopyValue : r1176_2 -# 1176| r1176_4(void *) = Convert : r1176_3 -# 1176| r1176_5(glval) = VariableAddress[x] : -# 1176| r1176_6(int *) = CopyValue : r1176_5 -# 1176| r1176_7(void *) = Convert : r1176_6 -# 1176| r1176_8(int) = Constant[4] : -# 1176| r1176_9(void *) = Call[memcpy] : func:r1176_1, 0:r1176_4, 1:r1176_7, 2:r1176_8 -# 1176| v1176_10(void) = ^SizedBufferReadSideEffect[1] : &:r1176_7, r1176_8, ~m? -# 1176| mu1176_11(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r1176_4, r1176_8 -# 1177| r1177_1(glval) = VariableAddress[#return] : -# 1177| r1177_2(glval) = VariableAddress[y] : -# 1177| r1177_3(int) = Load[y] : &:r1177_2, ~m? -# 1177| mu1177_4(int) = Store[#return] : &:r1177_1, r1177_3 -# 1174| r1174_6(glval) = VariableAddress[#return] : -# 1174| v1174_7(void) = ReturnValue : &:r1174_6, ~m? -# 1174| v1174_8(void) = AliasedUse : ~m? -# 1174| v1174_9(void) = ExitFunction : +# 1221| int ModeledCallTarget(int) +# 1221| Block 0 +# 1221| v1221_1(void) = EnterFunction : +# 1221| mu1221_2(unknown) = AliasedDefinition : +# 1221| mu1221_3(unknown) = InitializeNonLocal : +# 1221| r1221_4(glval) = VariableAddress[x] : +# 1221| mu1221_5(int) = InitializeParameter[x] : &:r1221_4 +# 1222| r1222_1(glval) = VariableAddress[y] : +# 1222| mu1222_2(int) = Uninitialized[y] : &:r1222_1 +# 1223| r1223_1(glval) = FunctionAddress[memcpy] : +# 1223| r1223_2(glval) = VariableAddress[y] : +# 1223| r1223_3(int *) = CopyValue : r1223_2 +# 1223| r1223_4(void *) = Convert : r1223_3 +# 1223| r1223_5(glval) = VariableAddress[x] : +# 1223| r1223_6(int *) = CopyValue : r1223_5 +# 1223| r1223_7(void *) = Convert : r1223_6 +# 1223| r1223_8(int) = Constant[4] : +# 1223| r1223_9(void *) = Call[memcpy] : func:r1223_1, 0:r1223_4, 1:r1223_7, 2:r1223_8 +# 1223| v1223_10(void) = ^SizedBufferReadSideEffect[1] : &:r1223_7, r1223_8, ~m? +# 1223| mu1223_11(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r1223_4, r1223_8 +# 1224| r1224_1(glval) = VariableAddress[#return] : +# 1224| r1224_2(glval) = VariableAddress[y] : +# 1224| r1224_3(int) = Load[y] : &:r1224_2, ~m? +# 1224| mu1224_4(int) = Store[#return] : &:r1224_1, r1224_3 +# 1221| r1221_6(glval) = VariableAddress[#return] : +# 1221| v1221_7(void) = ReturnValue : &:r1221_6, ~m? +# 1221| v1221_8(void) = AliasedUse : ~m? +# 1221| v1221_9(void) = ExitFunction : -# 1180| String ReturnObjectImpl() -# 1180| Block 0 -# 1180| v1180_1(void) = EnterFunction : -# 1180| mu1180_2(unknown) = AliasedDefinition : -# 1180| mu1180_3(unknown) = InitializeNonLocal : -# 1181| r1181_1(glval) = VariableAddress[#return] : -# 1181| mu1181_2(String) = Uninitialized[#return] : &:r1181_1 -# 1181| r1181_3(glval) = FunctionAddress[String] : -# 1181| r1181_4(glval) = StringConstant["foo"] : -# 1181| r1181_5(char *) = Convert : r1181_4 -# 1181| v1181_6(void) = Call[String] : func:r1181_3, this:r1181_1, 0:r1181_5 -# 1181| mu1181_7(unknown) = ^CallSideEffect : ~m? -# 1181| v1181_8(void) = ^BufferReadSideEffect[0] : &:r1181_5, ~m? -# 1181| mu1181_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r1181_1 -# 1180| r1180_4(glval) = VariableAddress[#return] : -# 1180| v1180_5(void) = ReturnValue : &:r1180_4, ~m? -# 1180| v1180_6(void) = AliasedUse : ~m? -# 1180| v1180_7(void) = ExitFunction : +# 1227| String ReturnObjectImpl() +# 1227| Block 0 +# 1227| v1227_1(void) = EnterFunction : +# 1227| mu1227_2(unknown) = AliasedDefinition : +# 1227| mu1227_3(unknown) = InitializeNonLocal : +# 1228| r1228_1(glval) = VariableAddress[#return] : +# 1228| mu1228_2(String) = Uninitialized[#return] : &:r1228_1 +# 1228| r1228_3(glval) = FunctionAddress[String] : +# 1228| r1228_4(glval) = StringConstant["foo"] : +# 1228| r1228_5(char *) = Convert : r1228_4 +# 1228| v1228_6(void) = Call[String] : func:r1228_3, this:r1228_1, 0:r1228_5 +# 1228| mu1228_7(unknown) = ^CallSideEffect : ~m? +# 1228| v1228_8(void) = ^BufferReadSideEffect[0] : &:r1228_5, ~m? +# 1228| mu1228_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r1228_1 +# 1227| r1227_4(glval) = VariableAddress[#return] : +# 1227| v1227_5(void) = ReturnValue : &:r1227_4, ~m? +# 1227| v1227_6(void) = AliasedUse : ~m? +# 1227| v1227_7(void) = ExitFunction : -# 1184| void switch1Case(int) -# 1184| Block 0 -# 1184| v1184_1(void) = EnterFunction : -# 1184| mu1184_2(unknown) = AliasedDefinition : -# 1184| mu1184_3(unknown) = InitializeNonLocal : -# 1184| r1184_4(glval) = VariableAddress[x] : -# 1184| mu1184_5(int) = InitializeParameter[x] : &:r1184_4 -# 1185| r1185_1(glval) = VariableAddress[y] : -# 1185| r1185_2(int) = Constant[0] : -# 1185| mu1185_3(int) = Store[y] : &:r1185_1, r1185_2 -# 1186| r1186_1(glval) = VariableAddress[x] : -# 1186| r1186_2(int) = Load[x] : &:r1186_1, ~m? -# 1186| v1186_3(void) = Switch : r1186_2 +# 1231| void switch1Case(int) +# 1231| Block 0 +# 1231| v1231_1(void) = EnterFunction : +# 1231| mu1231_2(unknown) = AliasedDefinition : +# 1231| mu1231_3(unknown) = InitializeNonLocal : +# 1231| r1231_4(glval) = VariableAddress[x] : +# 1231| mu1231_5(int) = InitializeParameter[x] : &:r1231_4 +# 1232| r1232_1(glval) = VariableAddress[y] : +# 1232| r1232_2(int) = Constant[0] : +# 1232| mu1232_3(int) = Store[y] : &:r1232_1, r1232_2 +# 1233| r1233_1(glval) = VariableAddress[x] : +# 1233| r1233_2(int) = Load[x] : &:r1233_1, ~m? +# 1233| v1233_3(void) = Switch : r1233_2 #-----| Case[1] -> Block 1 #-----| Default -> Block 2 -# 1187| Block 1 -# 1187| v1187_1(void) = NoOp : -# 1188| r1188_1(int) = Constant[2] : -# 1188| r1188_2(glval) = VariableAddress[y] : -# 1188| mu1188_3(int) = Store[y] : &:r1188_2, r1188_1 +# 1234| Block 1 +# 1234| v1234_1(void) = NoOp : +# 1235| r1235_1(int) = Constant[2] : +# 1235| r1235_2(glval) = VariableAddress[y] : +# 1235| mu1235_3(int) = Store[y] : &:r1235_2, r1235_1 #-----| Goto -> Block 2 -# 1190| Block 2 -# 1190| r1190_1(glval) = VariableAddress[z] : -# 1190| r1190_2(glval) = VariableAddress[y] : -# 1190| r1190_3(int) = Load[y] : &:r1190_2, ~m? -# 1190| mu1190_4(int) = Store[z] : &:r1190_1, r1190_3 -# 1191| v1191_1(void) = NoOp : -# 1184| v1184_6(void) = ReturnVoid : -# 1184| v1184_7(void) = AliasedUse : ~m? -# 1184| v1184_8(void) = ExitFunction : +# 1237| Block 2 +# 1237| r1237_1(glval) = VariableAddress[z] : +# 1237| r1237_2(glval) = VariableAddress[y] : +# 1237| r1237_3(int) = Load[y] : &:r1237_2, ~m? +# 1237| mu1237_4(int) = Store[z] : &:r1237_1, r1237_3 +# 1238| v1238_1(void) = NoOp : +# 1231| v1231_6(void) = ReturnVoid : +# 1231| v1231_7(void) = AliasedUse : ~m? +# 1231| v1231_8(void) = ExitFunction : -# 1193| void switch2Case_fallthrough(int) -# 1193| Block 0 -# 1193| v1193_1(void) = EnterFunction : -# 1193| mu1193_2(unknown) = AliasedDefinition : -# 1193| mu1193_3(unknown) = InitializeNonLocal : -# 1193| r1193_4(glval) = VariableAddress[x] : -# 1193| mu1193_5(int) = InitializeParameter[x] : &:r1193_4 -# 1194| r1194_1(glval) = VariableAddress[y] : -# 1194| r1194_2(int) = Constant[0] : -# 1194| mu1194_3(int) = Store[y] : &:r1194_1, r1194_2 -# 1195| r1195_1(glval) = VariableAddress[x] : -# 1195| r1195_2(int) = Load[x] : &:r1195_1, ~m? -# 1195| v1195_3(void) = Switch : r1195_2 +# 1240| void switch2Case_fallthrough(int) +# 1240| Block 0 +# 1240| v1240_1(void) = EnterFunction : +# 1240| mu1240_2(unknown) = AliasedDefinition : +# 1240| mu1240_3(unknown) = InitializeNonLocal : +# 1240| r1240_4(glval) = VariableAddress[x] : +# 1240| mu1240_5(int) = InitializeParameter[x] : &:r1240_4 +# 1241| r1241_1(glval) = VariableAddress[y] : +# 1241| r1241_2(int) = Constant[0] : +# 1241| mu1241_3(int) = Store[y] : &:r1241_1, r1241_2 +# 1242| r1242_1(glval) = VariableAddress[x] : +# 1242| r1242_2(int) = Load[x] : &:r1242_1, ~m? +# 1242| v1242_3(void) = Switch : r1242_2 #-----| Case[1] -> Block 1 #-----| Case[2] -> Block 2 #-----| Default -> Block 3 -# 1196| Block 1 -# 1196| v1196_1(void) = NoOp : -# 1197| r1197_1(int) = Constant[2] : -# 1197| r1197_2(glval) = VariableAddress[y] : -# 1197| mu1197_3(int) = Store[y] : &:r1197_2, r1197_1 -#-----| Goto -> Block 2 - -# 1198| Block 2 -# 1198| v1198_1(void) = NoOp : -# 1199| r1199_1(int) = Constant[3] : -# 1199| r1199_2(glval) = VariableAddress[y] : -# 1199| mu1199_3(int) = Store[y] : &:r1199_2, r1199_1 -#-----| Goto -> Block 3 - -# 1201| Block 3 -# 1201| r1201_1(glval) = VariableAddress[z] : -# 1201| r1201_2(glval) = VariableAddress[y] : -# 1201| r1201_3(int) = Load[y] : &:r1201_2, ~m? -# 1201| mu1201_4(int) = Store[z] : &:r1201_1, r1201_3 -# 1202| v1202_1(void) = NoOp : -# 1193| v1193_6(void) = ReturnVoid : -# 1193| v1193_7(void) = AliasedUse : ~m? -# 1193| v1193_8(void) = ExitFunction : - -# 1204| void switch2Case(int) -# 1204| Block 0 -# 1204| v1204_1(void) = EnterFunction : -# 1204| mu1204_2(unknown) = AliasedDefinition : -# 1204| mu1204_3(unknown) = InitializeNonLocal : -# 1204| r1204_4(glval) = VariableAddress[x] : -# 1204| mu1204_5(int) = InitializeParameter[x] : &:r1204_4 -# 1205| r1205_1(glval) = VariableAddress[y] : -# 1205| r1205_2(int) = Constant[0] : -# 1205| mu1205_3(int) = Store[y] : &:r1205_1, r1205_2 -# 1206| r1206_1(glval) = VariableAddress[x] : -# 1206| r1206_2(int) = Load[x] : &:r1206_1, ~m? -# 1206| v1206_3(void) = Switch : r1206_2 -#-----| Case[1] -> Block 1 -#-----| Case[2] -> Block 2 -#-----| Default -> Block 3 - -# 1207| Block 1 -# 1207| v1207_1(void) = NoOp : -# 1208| r1208_1(int) = Constant[2] : -# 1208| r1208_2(glval) = VariableAddress[y] : -# 1208| mu1208_3(int) = Store[y] : &:r1208_2, r1208_1 -# 1209| v1209_1(void) = NoOp : -#-----| Goto -> Block 3 - -# 1210| Block 2 -# 1210| v1210_1(void) = NoOp : -# 1211| r1211_1(int) = Constant[3] : -# 1211| r1211_2(glval) = VariableAddress[y] : -# 1211| mu1211_3(int) = Store[y] : &:r1211_2, r1211_1 -#-----| Goto -> Block 3 - -# 1212| Block 3 -# 1212| v1212_1(void) = NoOp : -# 1213| r1213_1(glval) = VariableAddress[z] : -# 1213| r1213_2(glval) = VariableAddress[y] : -# 1213| r1213_3(int) = Load[y] : &:r1213_2, ~m? -# 1213| mu1213_4(int) = Store[z] : &:r1213_1, r1213_3 -# 1214| v1214_1(void) = NoOp : -# 1204| v1204_6(void) = ReturnVoid : -# 1204| v1204_7(void) = AliasedUse : ~m? -# 1204| v1204_8(void) = ExitFunction : - -# 1216| void switch2Case_default(int) -# 1216| Block 0 -# 1216| v1216_1(void) = EnterFunction : -# 1216| mu1216_2(unknown) = AliasedDefinition : -# 1216| mu1216_3(unknown) = InitializeNonLocal : -# 1216| r1216_4(glval) = VariableAddress[x] : -# 1216| mu1216_5(int) = InitializeParameter[x] : &:r1216_4 -# 1217| r1217_1(glval) = VariableAddress[y] : -# 1217| r1217_2(int) = Constant[0] : -# 1217| mu1217_3(int) = Store[y] : &:r1217_1, r1217_2 -# 1218| r1218_1(glval) = VariableAddress[x] : -# 1218| r1218_2(int) = Load[x] : &:r1218_1, ~m? -# 1218| v1218_3(void) = Switch : r1218_2 -#-----| Case[1] -> Block 1 -#-----| Case[2] -> Block 2 -#-----| Default -> Block 3 - -# 1219| Block 1 -# 1219| v1219_1(void) = NoOp : -# 1220| r1220_1(int) = Constant[2] : -# 1220| r1220_2(glval) = VariableAddress[y] : -# 1220| mu1220_3(int) = Store[y] : &:r1220_2, r1220_1 -# 1221| v1221_1(void) = NoOp : -#-----| Goto -> Block 4 - -# 1223| Block 2 -# 1223| v1223_1(void) = NoOp : -# 1224| r1224_1(int) = Constant[3] : -# 1224| r1224_2(glval) = VariableAddress[y] : -# 1224| mu1224_3(int) = Store[y] : &:r1224_2, r1224_1 -# 1225| v1225_1(void) = NoOp : -#-----| Goto -> Block 4 - -# 1227| Block 3 -# 1227| v1227_1(void) = NoOp : -# 1228| r1228_1(int) = Constant[4] : -# 1228| r1228_2(glval) = VariableAddress[y] : -# 1228| mu1228_3(int) = Store[y] : &:r1228_2, r1228_1 -#-----| Goto -> Block 4 - -# 1229| Block 4 -# 1229| v1229_1(void) = NoOp : -# 1230| r1230_1(glval) = VariableAddress[z] : -# 1230| r1230_2(glval) = VariableAddress[y] : -# 1230| r1230_3(int) = Load[y] : &:r1230_2, ~m? -# 1230| mu1230_4(int) = Store[z] : &:r1230_1, r1230_3 -# 1231| v1231_1(void) = NoOp : -# 1216| v1216_6(void) = ReturnVoid : -# 1216| v1216_7(void) = AliasedUse : ~m? -# 1216| v1216_8(void) = ExitFunction : - -# 1233| int staticLocalInit(int) -# 1233| Block 0 -# 1233| v1233_1(void) = EnterFunction : -# 1233| mu1233_2(unknown) = AliasedDefinition : -# 1233| mu1233_3(unknown) = InitializeNonLocal : -# 1233| r1233_4(glval) = VariableAddress[x] : -# 1233| mu1233_5(int) = InitializeParameter[x] : &:r1233_4 -# 1236| r1236_1(glval) = VariableAddress[c#init] : -# 1236| r1236_2(bool) = Load[c#init] : &:r1236_1, ~m? -# 1236| v1236_3(void) = ConditionalBranch : r1236_2 -#-----| False -> Block 1 -#-----| True -> Block 2 - -# 1236| Block 1 -# 1236| r1236_4(glval) = VariableAddress[c] : -# 1236| r1236_5(glval) = VariableAddress[x] : -# 1236| r1236_6(int) = Load[x] : &:r1236_5, ~m? -# 1236| mu1236_7(int) = Store[c] : &:r1236_4, r1236_6 -# 1236| r1236_8(bool) = Constant[1] : -# 1236| mu1236_9(bool) = Store[c#init] : &:r1236_1, r1236_8 -#-----| Goto -> Block 2 - -# 1239| Block 2 -# 1239| r1239_1(glval) = VariableAddress[#return] : -# 1239| r1239_2(glval) = VariableAddress[a] : -# 1239| r1239_3(int) = Load[a] : &:r1239_2, ~m? -# 1239| r1239_4(glval) = VariableAddress[b] : -# 1239| r1239_5(int) = Load[b] : &:r1239_4, ~m? -# 1239| r1239_6(int) = Add : r1239_3, r1239_5 -# 1239| r1239_7(glval) = VariableAddress[c] : -# 1239| r1239_8(int) = Load[c] : &:r1239_7, ~m? -# 1239| r1239_9(int) = Add : r1239_6, r1239_8 -# 1239| r1239_10(glval) = VariableAddress[d] : -# 1239| r1239_11(int) = Load[d] : &:r1239_10, ~m? -# 1239| r1239_12(int) = Add : r1239_9, r1239_11 -# 1239| mu1239_13(int) = Store[#return] : &:r1239_1, r1239_12 -# 1233| r1233_6(glval) = VariableAddress[#return] : -# 1233| v1233_7(void) = ReturnValue : &:r1233_6, ~m? -# 1233| v1233_8(void) = AliasedUse : ~m? -# 1233| v1233_9(void) = ExitFunction : - -# 1234| int a -# 1234| Block 0 -# 1234| v1234_1(void) = EnterFunction : -# 1234| mu1234_2(unknown) = AliasedDefinition : -# 1234| r1234_3(glval) = VariableAddress[a] : -# 1234| r1234_4(int) = Constant[0] : -# 1234| mu1234_5(int) = Store[a] : &:r1234_3, r1234_4 -# 1234| v1234_6(void) = ReturnVoid : -# 1234| v1234_7(void) = AliasedUse : ~m? -# 1234| v1234_8(void) = ExitFunction : - -# 1235| int b -# 1235| Block 0 -# 1235| v1235_1(void) = EnterFunction : -# 1235| mu1235_2(unknown) = AliasedDefinition : -# 1235| r1235_3(glval) = VariableAddress[b] : -# 1235| r1235_4(int) = Constant[4] : -# 1235| mu1235_5(int) = Store[b] : &:r1235_3, r1235_4 -# 1235| v1235_6(void) = ReturnVoid : -# 1235| v1235_7(void) = AliasedUse : ~m? -# 1235| v1235_8(void) = ExitFunction : - -# 1242| void staticLocalWithConstructor(char const*) -# 1242| Block 0 -# 1242| v1242_1(void) = EnterFunction : -# 1242| mu1242_2(unknown) = AliasedDefinition : -# 1242| mu1242_3(unknown) = InitializeNonLocal : -# 1242| r1242_4(glval) = VariableAddress[dynamic] : -# 1242| mu1242_5(char *) = InitializeParameter[dynamic] : &:r1242_4 -# 1242| r1242_6(char *) = Load[dynamic] : &:r1242_4, ~m? -# 1242| mu1242_7(unknown) = InitializeIndirection[dynamic] : &:r1242_6 -# 1243| r1243_1(glval) = VariableAddress[a#init] : -# 1243| r1243_2(bool) = Load[a#init] : &:r1243_1, ~m? -# 1243| v1243_3(void) = ConditionalBranch : r1243_2 -#-----| False -> Block 1 -#-----| True -> Block 2 - # 1243| Block 1 -# 1243| r1243_4(glval) = VariableAddress[a] : -#-----| r0_1(glval) = FunctionAddress[String] : -#-----| v0_2(void) = Call[String] : func:r0_1, this:r1243_4 -#-----| mu0_3(unknown) = ^CallSideEffect : ~m? -#-----| mu0_4(String) = ^IndirectMayWriteSideEffect[-1] : &:r1243_4 -# 1243| r1243_5(bool) = Constant[1] : -# 1243| mu1243_6(bool) = Store[a#init] : &:r1243_1, r1243_5 +# 1243| v1243_1(void) = NoOp : +# 1244| r1244_1(int) = Constant[2] : +# 1244| r1244_2(glval) = VariableAddress[y] : +# 1244| mu1244_3(int) = Store[y] : &:r1244_2, r1244_1 #-----| Goto -> Block 2 -# 1244| Block 2 -# 1244| r1244_1(glval) = VariableAddress[b#init] : -# 1244| r1244_2(bool) = Load[b#init] : &:r1244_1, ~m? -# 1244| v1244_3(void) = ConditionalBranch : r1244_2 +# 1245| Block 2 +# 1245| v1245_1(void) = NoOp : +# 1246| r1246_1(int) = Constant[3] : +# 1246| r1246_2(glval) = VariableAddress[y] : +# 1246| mu1246_3(int) = Store[y] : &:r1246_2, r1246_1 +#-----| Goto -> Block 3 + +# 1248| Block 3 +# 1248| r1248_1(glval) = VariableAddress[z] : +# 1248| r1248_2(glval) = VariableAddress[y] : +# 1248| r1248_3(int) = Load[y] : &:r1248_2, ~m? +# 1248| mu1248_4(int) = Store[z] : &:r1248_1, r1248_3 +# 1249| v1249_1(void) = NoOp : +# 1240| v1240_6(void) = ReturnVoid : +# 1240| v1240_7(void) = AliasedUse : ~m? +# 1240| v1240_8(void) = ExitFunction : + +# 1251| void switch2Case(int) +# 1251| Block 0 +# 1251| v1251_1(void) = EnterFunction : +# 1251| mu1251_2(unknown) = AliasedDefinition : +# 1251| mu1251_3(unknown) = InitializeNonLocal : +# 1251| r1251_4(glval) = VariableAddress[x] : +# 1251| mu1251_5(int) = InitializeParameter[x] : &:r1251_4 +# 1252| r1252_1(glval) = VariableAddress[y] : +# 1252| r1252_2(int) = Constant[0] : +# 1252| mu1252_3(int) = Store[y] : &:r1252_1, r1252_2 +# 1253| r1253_1(glval) = VariableAddress[x] : +# 1253| r1253_2(int) = Load[x] : &:r1253_1, ~m? +# 1253| v1253_3(void) = Switch : r1253_2 +#-----| Case[1] -> Block 1 +#-----| Case[2] -> Block 2 +#-----| Default -> Block 3 + +# 1254| Block 1 +# 1254| v1254_1(void) = NoOp : +# 1255| r1255_1(int) = Constant[2] : +# 1255| r1255_2(glval) = VariableAddress[y] : +# 1255| mu1255_3(int) = Store[y] : &:r1255_2, r1255_1 +# 1256| v1256_1(void) = NoOp : +#-----| Goto -> Block 3 + +# 1257| Block 2 +# 1257| v1257_1(void) = NoOp : +# 1258| r1258_1(int) = Constant[3] : +# 1258| r1258_2(glval) = VariableAddress[y] : +# 1258| mu1258_3(int) = Store[y] : &:r1258_2, r1258_1 +#-----| Goto -> Block 3 + +# 1259| Block 3 +# 1259| v1259_1(void) = NoOp : +# 1260| r1260_1(glval) = VariableAddress[z] : +# 1260| r1260_2(glval) = VariableAddress[y] : +# 1260| r1260_3(int) = Load[y] : &:r1260_2, ~m? +# 1260| mu1260_4(int) = Store[z] : &:r1260_1, r1260_3 +# 1261| v1261_1(void) = NoOp : +# 1251| v1251_6(void) = ReturnVoid : +# 1251| v1251_7(void) = AliasedUse : ~m? +# 1251| v1251_8(void) = ExitFunction : + +# 1263| void switch2Case_default(int) +# 1263| Block 0 +# 1263| v1263_1(void) = EnterFunction : +# 1263| mu1263_2(unknown) = AliasedDefinition : +# 1263| mu1263_3(unknown) = InitializeNonLocal : +# 1263| r1263_4(glval) = VariableAddress[x] : +# 1263| mu1263_5(int) = InitializeParameter[x] : &:r1263_4 +# 1264| r1264_1(glval) = VariableAddress[y] : +# 1264| r1264_2(int) = Constant[0] : +# 1264| mu1264_3(int) = Store[y] : &:r1264_1, r1264_2 +# 1265| r1265_1(glval) = VariableAddress[x] : +# 1265| r1265_2(int) = Load[x] : &:r1265_1, ~m? +# 1265| v1265_3(void) = Switch : r1265_2 +#-----| Case[1] -> Block 1 +#-----| Case[2] -> Block 2 +#-----| Default -> Block 3 + +# 1266| Block 1 +# 1266| v1266_1(void) = NoOp : +# 1267| r1267_1(int) = Constant[2] : +# 1267| r1267_2(glval) = VariableAddress[y] : +# 1267| mu1267_3(int) = Store[y] : &:r1267_2, r1267_1 +# 1268| v1268_1(void) = NoOp : +#-----| Goto -> Block 4 + +# 1270| Block 2 +# 1270| v1270_1(void) = NoOp : +# 1271| r1271_1(int) = Constant[3] : +# 1271| r1271_2(glval) = VariableAddress[y] : +# 1271| mu1271_3(int) = Store[y] : &:r1271_2, r1271_1 +# 1272| v1272_1(void) = NoOp : +#-----| Goto -> Block 4 + +# 1274| Block 3 +# 1274| v1274_1(void) = NoOp : +# 1275| r1275_1(int) = Constant[4] : +# 1275| r1275_2(glval) = VariableAddress[y] : +# 1275| mu1275_3(int) = Store[y] : &:r1275_2, r1275_1 +#-----| Goto -> Block 4 + +# 1276| Block 4 +# 1276| v1276_1(void) = NoOp : +# 1277| r1277_1(glval) = VariableAddress[z] : +# 1277| r1277_2(glval) = VariableAddress[y] : +# 1277| r1277_3(int) = Load[y] : &:r1277_2, ~m? +# 1277| mu1277_4(int) = Store[z] : &:r1277_1, r1277_3 +# 1278| v1278_1(void) = NoOp : +# 1263| v1263_6(void) = ReturnVoid : +# 1263| v1263_7(void) = AliasedUse : ~m? +# 1263| v1263_8(void) = ExitFunction : + +# 1280| int staticLocalInit(int) +# 1280| Block 0 +# 1280| v1280_1(void) = EnterFunction : +# 1280| mu1280_2(unknown) = AliasedDefinition : +# 1280| mu1280_3(unknown) = InitializeNonLocal : +# 1280| r1280_4(glval) = VariableAddress[x] : +# 1280| mu1280_5(int) = InitializeParameter[x] : &:r1280_4 +# 1283| r1283_1(glval) = VariableAddress[c#init] : +# 1283| r1283_2(bool) = Load[c#init] : &:r1283_1, ~m? +# 1283| v1283_3(void) = ConditionalBranch : r1283_2 +#-----| False -> Block 1 +#-----| True -> Block 2 + +# 1283| Block 1 +# 1283| r1283_4(glval) = VariableAddress[c] : +# 1283| r1283_5(glval) = VariableAddress[x] : +# 1283| r1283_6(int) = Load[x] : &:r1283_5, ~m? +# 1283| mu1283_7(int) = Store[c] : &:r1283_4, r1283_6 +# 1283| r1283_8(bool) = Constant[1] : +# 1283| mu1283_9(bool) = Store[c#init] : &:r1283_1, r1283_8 +#-----| Goto -> Block 2 + +# 1286| Block 2 +# 1286| r1286_1(glval) = VariableAddress[#return] : +# 1286| r1286_2(glval) = VariableAddress[a] : +# 1286| r1286_3(int) = Load[a] : &:r1286_2, ~m? +# 1286| r1286_4(glval) = VariableAddress[b] : +# 1286| r1286_5(int) = Load[b] : &:r1286_4, ~m? +# 1286| r1286_6(int) = Add : r1286_3, r1286_5 +# 1286| r1286_7(glval) = VariableAddress[c] : +# 1286| r1286_8(int) = Load[c] : &:r1286_7, ~m? +# 1286| r1286_9(int) = Add : r1286_6, r1286_8 +# 1286| r1286_10(glval) = VariableAddress[d] : +# 1286| r1286_11(int) = Load[d] : &:r1286_10, ~m? +# 1286| r1286_12(int) = Add : r1286_9, r1286_11 +# 1286| mu1286_13(int) = Store[#return] : &:r1286_1, r1286_12 +# 1280| r1280_6(glval) = VariableAddress[#return] : +# 1280| v1280_7(void) = ReturnValue : &:r1280_6, ~m? +# 1280| v1280_8(void) = AliasedUse : ~m? +# 1280| v1280_9(void) = ExitFunction : + +# 1281| int a +# 1281| Block 0 +# 1281| v1281_1(void) = EnterFunction : +# 1281| mu1281_2(unknown) = AliasedDefinition : +# 1281| r1281_3(glval) = VariableAddress[a] : +# 1281| r1281_4(int) = Constant[0] : +# 1281| mu1281_5(int) = Store[a] : &:r1281_3, r1281_4 +# 1281| v1281_6(void) = ReturnVoid : +# 1281| v1281_7(void) = AliasedUse : ~m? +# 1281| v1281_8(void) = ExitFunction : + +# 1282| int b +# 1282| Block 0 +# 1282| v1282_1(void) = EnterFunction : +# 1282| mu1282_2(unknown) = AliasedDefinition : +# 1282| r1282_3(glval) = VariableAddress[b] : +# 1282| r1282_4(int) = Constant[4] : +# 1282| mu1282_5(int) = Store[b] : &:r1282_3, r1282_4 +# 1282| v1282_6(void) = ReturnVoid : +# 1282| v1282_7(void) = AliasedUse : ~m? +# 1282| v1282_8(void) = ExitFunction : + +# 1289| void staticLocalWithConstructor(char const*) +# 1289| Block 0 +# 1289| v1289_1(void) = EnterFunction : +# 1289| mu1289_2(unknown) = AliasedDefinition : +# 1289| mu1289_3(unknown) = InitializeNonLocal : +# 1289| r1289_4(glval) = VariableAddress[dynamic] : +# 1289| mu1289_5(char *) = InitializeParameter[dynamic] : &:r1289_4 +# 1289| r1289_6(char *) = Load[dynamic] : &:r1289_4, ~m? +# 1289| mu1289_7(unknown) = InitializeIndirection[dynamic] : &:r1289_6 +# 1290| r1290_1(glval) = VariableAddress[a#init] : +# 1290| r1290_2(bool) = Load[a#init] : &:r1290_1, ~m? +# 1290| v1290_3(void) = ConditionalBranch : r1290_2 +#-----| False -> Block 1 +#-----| True -> Block 2 + +# 1290| Block 1 +# 1290| r1290_4(glval) = VariableAddress[a] : +#-----| r0_1(glval) = FunctionAddress[String] : +#-----| v0_2(void) = Call[String] : func:r0_1, this:r1290_4 +#-----| mu0_3(unknown) = ^CallSideEffect : ~m? +#-----| mu0_4(String) = ^IndirectMayWriteSideEffect[-1] : &:r1290_4 +# 1290| r1290_5(bool) = Constant[1] : +# 1290| mu1290_6(bool) = Store[a#init] : &:r1290_1, r1290_5 +#-----| Goto -> Block 2 + +# 1291| Block 2 +# 1291| r1291_1(glval) = VariableAddress[b#init] : +# 1291| r1291_2(bool) = Load[b#init] : &:r1291_1, ~m? +# 1291| v1291_3(void) = ConditionalBranch : r1291_2 #-----| False -> Block 3 #-----| True -> Block 4 -# 1244| Block 3 -# 1244| r1244_4(glval) = VariableAddress[b] : -# 1244| r1244_5(glval) = FunctionAddress[String] : -# 1244| r1244_6(glval) = StringConstant["static"] : -# 1244| r1244_7(char *) = Convert : r1244_6 -# 1244| v1244_8(void) = Call[String] : func:r1244_5, this:r1244_4, 0:r1244_7 -# 1244| mu1244_9(unknown) = ^CallSideEffect : ~m? -# 1244| v1244_10(void) = ^BufferReadSideEffect[0] : &:r1244_7, ~m? -# 1244| mu1244_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1244_4 -# 1244| r1244_12(bool) = Constant[1] : -# 1244| mu1244_13(bool) = Store[b#init] : &:r1244_1, r1244_12 +# 1291| Block 3 +# 1291| r1291_4(glval) = VariableAddress[b] : +# 1291| r1291_5(glval) = FunctionAddress[String] : +# 1291| r1291_6(glval) = StringConstant["static"] : +# 1291| r1291_7(char *) = Convert : r1291_6 +# 1291| v1291_8(void) = Call[String] : func:r1291_5, this:r1291_4, 0:r1291_7 +# 1291| mu1291_9(unknown) = ^CallSideEffect : ~m? +# 1291| v1291_10(void) = ^BufferReadSideEffect[0] : &:r1291_7, ~m? +# 1291| mu1291_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1291_4 +# 1291| r1291_12(bool) = Constant[1] : +# 1291| mu1291_13(bool) = Store[b#init] : &:r1291_1, r1291_12 #-----| Goto -> Block 4 -# 1245| Block 4 -# 1245| r1245_1(glval) = VariableAddress[c#init] : -# 1245| r1245_2(bool) = Load[c#init] : &:r1245_1, ~m? -# 1245| v1245_3(void) = ConditionalBranch : r1245_2 +# 1292| Block 4 +# 1292| r1292_1(glval) = VariableAddress[c#init] : +# 1292| r1292_2(bool) = Load[c#init] : &:r1292_1, ~m? +# 1292| v1292_3(void) = ConditionalBranch : r1292_2 #-----| False -> Block 5 #-----| True -> Block 6 -# 1245| Block 5 -# 1245| r1245_4(glval) = VariableAddress[c] : -# 1245| r1245_5(glval) = FunctionAddress[String] : -# 1245| r1245_6(glval) = VariableAddress[dynamic] : -# 1245| r1245_7(char *) = Load[dynamic] : &:r1245_6, ~m? -# 1245| v1245_8(void) = Call[String] : func:r1245_5, this:r1245_4, 0:r1245_7 -# 1245| mu1245_9(unknown) = ^CallSideEffect : ~m? -# 1245| v1245_10(void) = ^BufferReadSideEffect[0] : &:r1245_7, ~m? -# 1245| mu1245_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1245_4 -# 1245| r1245_12(bool) = Constant[1] : -# 1245| mu1245_13(bool) = Store[c#init] : &:r1245_1, r1245_12 +# 1292| Block 5 +# 1292| r1292_4(glval) = VariableAddress[c] : +# 1292| r1292_5(glval) = FunctionAddress[String] : +# 1292| r1292_6(glval) = VariableAddress[dynamic] : +# 1292| r1292_7(char *) = Load[dynamic] : &:r1292_6, ~m? +# 1292| v1292_8(void) = Call[String] : func:r1292_5, this:r1292_4, 0:r1292_7 +# 1292| mu1292_9(unknown) = ^CallSideEffect : ~m? +# 1292| v1292_10(void) = ^BufferReadSideEffect[0] : &:r1292_7, ~m? +# 1292| mu1292_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1292_4 +# 1292| r1292_12(bool) = Constant[1] : +# 1292| mu1292_13(bool) = Store[c#init] : &:r1292_1, r1292_12 #-----| Goto -> Block 6 -# 1246| Block 6 -# 1246| v1246_1(void) = NoOp : -# 1242| v1242_8(void) = ReturnIndirection[dynamic] : &:r1242_6, ~m? -# 1242| v1242_9(void) = ReturnVoid : -# 1242| v1242_10(void) = AliasedUse : ~m? -# 1242| v1242_11(void) = ExitFunction : +# 1293| Block 6 +# 1293| v1293_1(void) = NoOp : +# 1289| v1289_8(void) = ReturnIndirection[dynamic] : &:r1289_6, ~m? +# 1289| v1289_9(void) = ReturnVoid : +# 1289| v1289_10(void) = AliasedUse : ~m? +# 1289| v1289_11(void) = ExitFunction : -# 1253| void test_strings(char*, char*) -# 1253| Block 0 -# 1253| v1253_1(void) = EnterFunction : -# 1253| mu1253_2(unknown) = AliasedDefinition : -# 1253| mu1253_3(unknown) = InitializeNonLocal : -# 1253| r1253_4(glval) = VariableAddress[s1] : -# 1253| mu1253_5(char *) = InitializeParameter[s1] : &:r1253_4 -# 1253| r1253_6(char *) = Load[s1] : &:r1253_4, ~m? -# 1253| mu1253_7(unknown) = InitializeIndirection[s1] : &:r1253_6 -# 1253| r1253_8(glval) = VariableAddress[s2] : -# 1253| mu1253_9(char *) = InitializeParameter[s2] : &:r1253_8 -# 1253| r1253_10(char *) = Load[s2] : &:r1253_8, ~m? -# 1253| mu1253_11(unknown) = InitializeIndirection[s2] : &:r1253_10 -# 1254| r1254_1(glval) = VariableAddress[buffer] : -# 1254| mu1254_2(char[1024]) = Uninitialized[buffer] : &:r1254_1 -# 1254| r1254_3(int) = Constant[0] : -# 1254| r1254_4(glval) = PointerAdd[1] : r1254_1, r1254_3 -# 1254| r1254_5(char) = Constant[0] : -# 1254| mu1254_6(char) = Store[?] : &:r1254_4, r1254_5 -# 1254| r1254_7(int) = Constant[1] : -# 1254| r1254_8(glval) = PointerAdd[1] : r1254_1, r1254_7 -# 1254| r1254_9(unknown[1023]) = Constant[0] : -# 1254| mu1254_10(unknown[1023]) = Store[?] : &:r1254_8, r1254_9 -# 1256| r1256_1(glval) = FunctionAddress[strcpy] : -# 1256| r1256_2(glval) = VariableAddress[buffer] : -# 1256| r1256_3(char *) = Convert : r1256_2 -# 1256| r1256_4(glval) = VariableAddress[s1] : -# 1256| r1256_5(char *) = Load[s1] : &:r1256_4, ~m? -# 1256| r1256_6(char *) = Convert : r1256_5 -# 1256| r1256_7(char *) = Call[strcpy] : func:r1256_1, 0:r1256_3, 1:r1256_6 -# 1256| v1256_8(void) = ^BufferReadSideEffect[1] : &:r1256_6, ~m? -# 1256| mu1256_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1256_3 -# 1257| r1257_1(glval) = FunctionAddress[strcat] : -# 1257| r1257_2(glval) = VariableAddress[buffer] : -# 1257| r1257_3(char *) = Convert : r1257_2 -# 1257| r1257_4(glval) = VariableAddress[s2] : -# 1257| r1257_5(char *) = Load[s2] : &:r1257_4, ~m? -# 1257| r1257_6(char *) = Convert : r1257_5 -# 1257| r1257_7(char *) = Call[strcat] : func:r1257_1, 0:r1257_3, 1:r1257_6 -# 1257| v1257_8(void) = ^BufferReadSideEffect[0] : &:r1257_3, ~m? -# 1257| v1257_9(void) = ^BufferReadSideEffect[1] : &:r1257_6, ~m? -# 1257| mu1257_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1257_3 -# 1258| v1258_1(void) = NoOp : -# 1253| v1253_12(void) = ReturnIndirection[s1] : &:r1253_6, ~m? -# 1253| v1253_13(void) = ReturnIndirection[s2] : &:r1253_10, ~m? -# 1253| v1253_14(void) = ReturnVoid : -# 1253| v1253_15(void) = AliasedUse : ~m? -# 1253| v1253_16(void) = ExitFunction : +# 1300| void test_strings(char*, char*) +# 1300| Block 0 +# 1300| v1300_1(void) = EnterFunction : +# 1300| mu1300_2(unknown) = AliasedDefinition : +# 1300| mu1300_3(unknown) = InitializeNonLocal : +# 1300| r1300_4(glval) = VariableAddress[s1] : +# 1300| mu1300_5(char *) = InitializeParameter[s1] : &:r1300_4 +# 1300| r1300_6(char *) = Load[s1] : &:r1300_4, ~m? +# 1300| mu1300_7(unknown) = InitializeIndirection[s1] : &:r1300_6 +# 1300| r1300_8(glval) = VariableAddress[s2] : +# 1300| mu1300_9(char *) = InitializeParameter[s2] : &:r1300_8 +# 1300| r1300_10(char *) = Load[s2] : &:r1300_8, ~m? +# 1300| mu1300_11(unknown) = InitializeIndirection[s2] : &:r1300_10 +# 1301| r1301_1(glval) = VariableAddress[buffer] : +# 1301| mu1301_2(char[1024]) = Uninitialized[buffer] : &:r1301_1 +# 1301| r1301_3(int) = Constant[0] : +# 1301| r1301_4(glval) = PointerAdd[1] : r1301_1, r1301_3 +# 1301| r1301_5(char) = Constant[0] : +# 1301| mu1301_6(char) = Store[?] : &:r1301_4, r1301_5 +# 1301| r1301_7(int) = Constant[1] : +# 1301| r1301_8(glval) = PointerAdd[1] : r1301_1, r1301_7 +# 1301| r1301_9(unknown[1023]) = Constant[0] : +# 1301| mu1301_10(unknown[1023]) = Store[?] : &:r1301_8, r1301_9 +# 1303| r1303_1(glval) = FunctionAddress[strcpy] : +# 1303| r1303_2(glval) = VariableAddress[buffer] : +# 1303| r1303_3(char *) = Convert : r1303_2 +# 1303| r1303_4(glval) = VariableAddress[s1] : +# 1303| r1303_5(char *) = Load[s1] : &:r1303_4, ~m? +# 1303| r1303_6(char *) = Convert : r1303_5 +# 1303| r1303_7(char *) = Call[strcpy] : func:r1303_1, 0:r1303_3, 1:r1303_6 +# 1303| v1303_8(void) = ^BufferReadSideEffect[1] : &:r1303_6, ~m? +# 1303| mu1303_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1303_3 +# 1304| r1304_1(glval) = FunctionAddress[strcat] : +# 1304| r1304_2(glval) = VariableAddress[buffer] : +# 1304| r1304_3(char *) = Convert : r1304_2 +# 1304| r1304_4(glval) = VariableAddress[s2] : +# 1304| r1304_5(char *) = Load[s2] : &:r1304_4, ~m? +# 1304| r1304_6(char *) = Convert : r1304_5 +# 1304| r1304_7(char *) = Call[strcat] : func:r1304_1, 0:r1304_3, 1:r1304_6 +# 1304| v1304_8(void) = ^BufferReadSideEffect[0] : &:r1304_3, ~m? +# 1304| v1304_9(void) = ^BufferReadSideEffect[1] : &:r1304_6, ~m? +# 1304| mu1304_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1304_3 +# 1305| v1305_1(void) = NoOp : +# 1300| v1300_12(void) = ReturnIndirection[s1] : &:r1300_6, ~m? +# 1300| v1300_13(void) = ReturnIndirection[s2] : &:r1300_10, ~m? +# 1300| v1300_14(void) = ReturnVoid : +# 1300| v1300_15(void) = AliasedUse : ~m? +# 1300| v1300_16(void) = ExitFunction : -# 1263| void A::static_member(A*, int) -# 1263| Block 0 -# 1263| v1263_1(void) = EnterFunction : -# 1263| mu1263_2(unknown) = AliasedDefinition : -# 1263| mu1263_3(unknown) = InitializeNonLocal : -# 1263| r1263_4(glval) = VariableAddress[a] : -# 1263| mu1263_5(A *) = InitializeParameter[a] : &:r1263_4 -# 1263| r1263_6(A *) = Load[a] : &:r1263_4, ~m? -# 1263| mu1263_7(unknown) = InitializeIndirection[a] : &:r1263_6 -# 1263| r1263_8(glval) = VariableAddress[x] : -# 1263| mu1263_9(int) = InitializeParameter[x] : &:r1263_8 -# 1264| r1264_1(glval) = VariableAddress[x] : -# 1264| r1264_2(int) = Load[x] : &:r1264_1, ~m? -# 1264| r1264_3(glval) = VariableAddress[a] : -# 1264| r1264_4(A *) = Load[a] : &:r1264_3, ~m? -# 1264| r1264_5(glval) = FieldAddress[member] : r1264_4 -# 1264| mu1264_6(int) = Store[?] : &:r1264_5, r1264_2 -# 1265| v1265_1(void) = NoOp : -# 1263| v1263_10(void) = ReturnIndirection[a] : &:r1263_6, ~m? -# 1263| v1263_11(void) = ReturnVoid : -# 1263| v1263_12(void) = AliasedUse : ~m? -# 1263| v1263_13(void) = ExitFunction : +# 1310| void A::static_member(A*, int) +# 1310| Block 0 +# 1310| v1310_1(void) = EnterFunction : +# 1310| mu1310_2(unknown) = AliasedDefinition : +# 1310| mu1310_3(unknown) = InitializeNonLocal : +# 1310| r1310_4(glval) = VariableAddress[a] : +# 1310| mu1310_5(A *) = InitializeParameter[a] : &:r1310_4 +# 1310| r1310_6(A *) = Load[a] : &:r1310_4, ~m? +# 1310| mu1310_7(unknown) = InitializeIndirection[a] : &:r1310_6 +# 1310| r1310_8(glval) = VariableAddress[x] : +# 1310| mu1310_9(int) = InitializeParameter[x] : &:r1310_8 +# 1311| r1311_1(glval) = VariableAddress[x] : +# 1311| r1311_2(int) = Load[x] : &:r1311_1, ~m? +# 1311| r1311_3(glval) = VariableAddress[a] : +# 1311| r1311_4(A *) = Load[a] : &:r1311_3, ~m? +# 1311| r1311_5(glval) = FieldAddress[member] : r1311_4 +# 1311| mu1311_6(int) = Store[?] : &:r1311_5, r1311_2 +# 1312| v1312_1(void) = NoOp : +# 1310| v1310_10(void) = ReturnIndirection[a] : &:r1310_6, ~m? +# 1310| v1310_11(void) = ReturnVoid : +# 1310| v1310_12(void) = AliasedUse : ~m? +# 1310| v1310_13(void) = ExitFunction : -# 1272| void test_static_member_functions(int, A*) -# 1272| Block 0 -# 1272| v1272_1(void) = EnterFunction : -# 1272| mu1272_2(unknown) = AliasedDefinition : -# 1272| mu1272_3(unknown) = InitializeNonLocal : -# 1272| r1272_4(glval) = VariableAddress[int_arg] : -# 1272| mu1272_5(int) = InitializeParameter[int_arg] : &:r1272_4 -# 1272| r1272_6(glval) = VariableAddress[a_arg] : -# 1272| mu1272_7(A *) = InitializeParameter[a_arg] : &:r1272_6 -# 1272| r1272_8(A *) = Load[a_arg] : &:r1272_6, ~m? -# 1272| mu1272_9(unknown) = InitializeIndirection[a_arg] : &:r1272_8 -# 1273| r1273_1(glval) = VariableAddress[c] : -# 1273| mu1273_2(C) = Uninitialized[c] : &:r1273_1 -# 1273| r1273_3(glval) = FunctionAddress[C] : -# 1273| v1273_4(void) = Call[C] : func:r1273_3, this:r1273_1 -# 1273| mu1273_5(unknown) = ^CallSideEffect : ~m? -# 1273| mu1273_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r1273_1 -# 1274| r1274_1(glval) = VariableAddress[c] : -# 1274| r1274_2(glval) = FunctionAddress[StaticMemberFunction] : -# 1274| r1274_3(int) = Constant[10] : -# 1274| r1274_4(int) = Call[StaticMemberFunction] : func:r1274_2, 0:r1274_3 -# 1274| mu1274_5(unknown) = ^CallSideEffect : ~m? -# 1275| r1275_1(glval) = FunctionAddress[StaticMemberFunction] : -# 1275| r1275_2(int) = Constant[10] : -# 1275| r1275_3(int) = Call[StaticMemberFunction] : func:r1275_1, 0:r1275_2 -# 1275| mu1275_4(unknown) = ^CallSideEffect : ~m? -# 1277| r1277_1(glval) = VariableAddress[a] : -# 1277| mu1277_2(A) = Uninitialized[a] : &:r1277_1 -# 1278| r1278_1(glval) = VariableAddress[a] : -# 1278| r1278_2(glval) = FunctionAddress[static_member] : -# 1278| r1278_3(glval) = VariableAddress[a] : -# 1278| r1278_4(A *) = CopyValue : r1278_3 -# 1278| r1278_5(glval) = VariableAddress[int_arg] : -# 1278| r1278_6(int) = Load[int_arg] : &:r1278_5, ~m? -# 1278| v1278_7(void) = Call[static_member] : func:r1278_2, 0:r1278_4, 1:r1278_6 -# 1278| mu1278_8(unknown) = ^CallSideEffect : ~m? -# 1278| v1278_9(void) = ^BufferReadSideEffect[0] : &:r1278_4, ~m? -# 1278| mu1278_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1278_4 -# 1279| r1279_1(glval) = FunctionAddress[static_member] : -# 1279| r1279_2(glval) = VariableAddress[a] : -# 1279| r1279_3(A *) = CopyValue : r1279_2 -# 1279| r1279_4(glval) = VariableAddress[int_arg] : -# 1279| r1279_5(int) = Load[int_arg] : &:r1279_4, ~m? -# 1279| v1279_6(void) = Call[static_member] : func:r1279_1, 0:r1279_3, 1:r1279_5 -# 1279| mu1279_7(unknown) = ^CallSideEffect : ~m? -# 1279| v1279_8(void) = ^BufferReadSideEffect[0] : &:r1279_3, ~m? -# 1279| mu1279_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1279_3 -# 1281| r1281_1(glval) = VariableAddress[a] : -# 1281| r1281_2(A *) = CopyValue : r1281_1 -# 1281| r1281_3(glval) = FunctionAddress[static_member] : -# 1281| r1281_4(glval) = VariableAddress[a_arg] : -# 1281| r1281_5(A *) = Load[a_arg] : &:r1281_4, ~m? -# 1281| r1281_6(glval) = VariableAddress[int_arg] : -# 1281| r1281_7(int) = Load[int_arg] : &:r1281_6, ~m? -# 1281| r1281_8(int) = Constant[2] : -# 1281| r1281_9(int) = Add : r1281_7, r1281_8 -# 1281| v1281_10(void) = Call[static_member] : func:r1281_3, 0:r1281_5, 1:r1281_9 -# 1281| mu1281_11(unknown) = ^CallSideEffect : ~m? -# 1281| v1281_12(void) = ^BufferReadSideEffect[0] : &:r1281_5, ~m? -# 1281| mu1281_13(unknown) = ^BufferMayWriteSideEffect[0] : &:r1281_5 -# 1282| r1282_1(glval) = VariableAddress[a_arg] : -# 1282| r1282_2(A *) = Load[a_arg] : &:r1282_1, ~m? -# 1282| r1282_3(glval) = CopyValue : r1282_2 -# 1282| r1282_4(glval) = FunctionAddress[static_member] : -# 1282| r1282_5(glval) = VariableAddress[a] : -# 1282| r1282_6(A *) = CopyValue : r1282_5 -# 1282| r1282_7(int) = Constant[99] : -# 1282| v1282_8(void) = Call[static_member] : func:r1282_4, 0:r1282_6, 1:r1282_7 -# 1282| mu1282_9(unknown) = ^CallSideEffect : ~m? -# 1282| v1282_10(void) = ^BufferReadSideEffect[0] : &:r1282_6, ~m? -# 1282| mu1282_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1282_6 -# 1283| r1283_1(glval) = VariableAddress[a_arg] : -# 1283| r1283_2(A *) = Load[a_arg] : &:r1283_1, ~m? -# 1283| r1283_3(glval) = FunctionAddress[static_member] : -# 1283| r1283_4(glval) = VariableAddress[a_arg] : -# 1283| r1283_5(A *) = Load[a_arg] : &:r1283_4, ~m? -# 1283| r1283_6(int) = Constant[-1] : -# 1283| v1283_7(void) = Call[static_member] : func:r1283_3, 0:r1283_5, 1:r1283_6 -# 1283| mu1283_8(unknown) = ^CallSideEffect : ~m? -# 1283| v1283_9(void) = ^BufferReadSideEffect[0] : &:r1283_5, ~m? -# 1283| mu1283_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1283_5 -# 1285| r1285_1(glval) = VariableAddress[a] : -# 1285| r1285_2(glval) = FunctionAddress[static_member_without_def] : -# 1285| v1285_3(void) = Call[static_member_without_def] : func:r1285_2 -# 1285| mu1285_4(unknown) = ^CallSideEffect : ~m? -# 1286| r1286_1(glval) = FunctionAddress[static_member_without_def] : -# 1286| v1286_2(void) = Call[static_member_without_def] : func:r1286_1 -# 1286| mu1286_3(unknown) = ^CallSideEffect : ~m? -# 1288| r1288_1(glval) = FunctionAddress[getAnInstanceOfA] : -# 1288| r1288_2(A *) = Call[getAnInstanceOfA] : func:r1288_1 -# 1288| mu1288_3(unknown) = ^CallSideEffect : ~m? -# 1288| r1288_4(glval) = FunctionAddress[static_member_without_def] : -# 1288| v1288_5(void) = Call[static_member_without_def] : func:r1288_4 -# 1288| mu1288_6(unknown) = ^CallSideEffect : ~m? -# 1289| v1289_1(void) = NoOp : -# 1289| r1289_2(glval) = VariableAddress[c] : -# 1289| r1289_3(glval) = FunctionAddress[~C] : -# 1289| v1289_4(void) = Call[~C] : func:r1289_3, this:r1289_2 -# 1289| mu1289_5(unknown) = ^CallSideEffect : ~m? -# 1289| v1289_6(void) = ^IndirectReadSideEffect[-1] : &:r1289_2, ~m? -# 1289| mu1289_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1289_2 -# 1272| v1272_10(void) = ReturnIndirection[a_arg] : &:r1272_8, ~m? -# 1272| v1272_11(void) = ReturnVoid : -# 1272| v1272_12(void) = AliasedUse : ~m? -# 1272| v1272_13(void) = ExitFunction : +# 1319| void test_static_member_functions(int, A*) +# 1319| Block 0 +# 1319| v1319_1(void) = EnterFunction : +# 1319| mu1319_2(unknown) = AliasedDefinition : +# 1319| mu1319_3(unknown) = InitializeNonLocal : +# 1319| r1319_4(glval) = VariableAddress[int_arg] : +# 1319| mu1319_5(int) = InitializeParameter[int_arg] : &:r1319_4 +# 1319| r1319_6(glval) = VariableAddress[a_arg] : +# 1319| mu1319_7(A *) = InitializeParameter[a_arg] : &:r1319_6 +# 1319| r1319_8(A *) = Load[a_arg] : &:r1319_6, ~m? +# 1319| mu1319_9(unknown) = InitializeIndirection[a_arg] : &:r1319_8 +# 1320| r1320_1(glval) = VariableAddress[c] : +# 1320| mu1320_2(C) = Uninitialized[c] : &:r1320_1 +# 1320| r1320_3(glval) = FunctionAddress[C] : +# 1320| v1320_4(void) = Call[C] : func:r1320_3, this:r1320_1 +# 1320| mu1320_5(unknown) = ^CallSideEffect : ~m? +# 1320| mu1320_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r1320_1 +# 1321| r1321_1(glval) = VariableAddress[c] : +# 1321| r1321_2(glval) = FunctionAddress[StaticMemberFunction] : +# 1321| r1321_3(int) = Constant[10] : +# 1321| r1321_4(int) = Call[StaticMemberFunction] : func:r1321_2, 0:r1321_3 +# 1321| mu1321_5(unknown) = ^CallSideEffect : ~m? +# 1322| r1322_1(glval) = FunctionAddress[StaticMemberFunction] : +# 1322| r1322_2(int) = Constant[10] : +# 1322| r1322_3(int) = Call[StaticMemberFunction] : func:r1322_1, 0:r1322_2 +# 1322| mu1322_4(unknown) = ^CallSideEffect : ~m? +# 1324| r1324_1(glval) = VariableAddress[a] : +# 1324| mu1324_2(A) = Uninitialized[a] : &:r1324_1 +# 1325| r1325_1(glval) = VariableAddress[a] : +# 1325| r1325_2(glval) = FunctionAddress[static_member] : +# 1325| r1325_3(glval) = VariableAddress[a] : +# 1325| r1325_4(A *) = CopyValue : r1325_3 +# 1325| r1325_5(glval) = VariableAddress[int_arg] : +# 1325| r1325_6(int) = Load[int_arg] : &:r1325_5, ~m? +# 1325| v1325_7(void) = Call[static_member] : func:r1325_2, 0:r1325_4, 1:r1325_6 +# 1325| mu1325_8(unknown) = ^CallSideEffect : ~m? +# 1325| v1325_9(void) = ^BufferReadSideEffect[0] : &:r1325_4, ~m? +# 1325| mu1325_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1325_4 +# 1326| r1326_1(glval) = FunctionAddress[static_member] : +# 1326| r1326_2(glval) = VariableAddress[a] : +# 1326| r1326_3(A *) = CopyValue : r1326_2 +# 1326| r1326_4(glval) = VariableAddress[int_arg] : +# 1326| r1326_5(int) = Load[int_arg] : &:r1326_4, ~m? +# 1326| v1326_6(void) = Call[static_member] : func:r1326_1, 0:r1326_3, 1:r1326_5 +# 1326| mu1326_7(unknown) = ^CallSideEffect : ~m? +# 1326| v1326_8(void) = ^BufferReadSideEffect[0] : &:r1326_3, ~m? +# 1326| mu1326_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1326_3 +# 1328| r1328_1(glval) = VariableAddress[a] : +# 1328| r1328_2(A *) = CopyValue : r1328_1 +# 1328| r1328_3(glval) = FunctionAddress[static_member] : +# 1328| r1328_4(glval) = VariableAddress[a_arg] : +# 1328| r1328_5(A *) = Load[a_arg] : &:r1328_4, ~m? +# 1328| r1328_6(glval) = VariableAddress[int_arg] : +# 1328| r1328_7(int) = Load[int_arg] : &:r1328_6, ~m? +# 1328| r1328_8(int) = Constant[2] : +# 1328| r1328_9(int) = Add : r1328_7, r1328_8 +# 1328| v1328_10(void) = Call[static_member] : func:r1328_3, 0:r1328_5, 1:r1328_9 +# 1328| mu1328_11(unknown) = ^CallSideEffect : ~m? +# 1328| v1328_12(void) = ^BufferReadSideEffect[0] : &:r1328_5, ~m? +# 1328| mu1328_13(unknown) = ^BufferMayWriteSideEffect[0] : &:r1328_5 +# 1329| r1329_1(glval) = VariableAddress[a_arg] : +# 1329| r1329_2(A *) = Load[a_arg] : &:r1329_1, ~m? +# 1329| r1329_3(glval) = CopyValue : r1329_2 +# 1329| r1329_4(glval) = FunctionAddress[static_member] : +# 1329| r1329_5(glval) = VariableAddress[a] : +# 1329| r1329_6(A *) = CopyValue : r1329_5 +# 1329| r1329_7(int) = Constant[99] : +# 1329| v1329_8(void) = Call[static_member] : func:r1329_4, 0:r1329_6, 1:r1329_7 +# 1329| mu1329_9(unknown) = ^CallSideEffect : ~m? +# 1329| v1329_10(void) = ^BufferReadSideEffect[0] : &:r1329_6, ~m? +# 1329| mu1329_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1329_6 +# 1330| r1330_1(glval) = VariableAddress[a_arg] : +# 1330| r1330_2(A *) = Load[a_arg] : &:r1330_1, ~m? +# 1330| r1330_3(glval) = FunctionAddress[static_member] : +# 1330| r1330_4(glval) = VariableAddress[a_arg] : +# 1330| r1330_5(A *) = Load[a_arg] : &:r1330_4, ~m? +# 1330| r1330_6(int) = Constant[-1] : +# 1330| v1330_7(void) = Call[static_member] : func:r1330_3, 0:r1330_5, 1:r1330_6 +# 1330| mu1330_8(unknown) = ^CallSideEffect : ~m? +# 1330| v1330_9(void) = ^BufferReadSideEffect[0] : &:r1330_5, ~m? +# 1330| mu1330_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1330_5 +# 1332| r1332_1(glval) = VariableAddress[a] : +# 1332| r1332_2(glval) = FunctionAddress[static_member_without_def] : +# 1332| v1332_3(void) = Call[static_member_without_def] : func:r1332_2 +# 1332| mu1332_4(unknown) = ^CallSideEffect : ~m? +# 1333| r1333_1(glval) = FunctionAddress[static_member_without_def] : +# 1333| v1333_2(void) = Call[static_member_without_def] : func:r1333_1 +# 1333| mu1333_3(unknown) = ^CallSideEffect : ~m? +# 1335| r1335_1(glval) = FunctionAddress[getAnInstanceOfA] : +# 1335| r1335_2(A *) = Call[getAnInstanceOfA] : func:r1335_1 +# 1335| mu1335_3(unknown) = ^CallSideEffect : ~m? +# 1335| r1335_4(glval) = FunctionAddress[static_member_without_def] : +# 1335| v1335_5(void) = Call[static_member_without_def] : func:r1335_4 +# 1335| mu1335_6(unknown) = ^CallSideEffect : ~m? +# 1336| v1336_1(void) = NoOp : +# 1336| r1336_2(glval) = VariableAddress[c] : +# 1336| r1336_3(glval) = FunctionAddress[~C] : +# 1336| v1336_4(void) = Call[~C] : func:r1336_3, this:r1336_2 +# 1336| mu1336_5(unknown) = ^CallSideEffect : ~m? +# 1336| v1336_6(void) = ^IndirectReadSideEffect[-1] : &:r1336_2, ~m? +# 1336| mu1336_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1336_2 +# 1319| v1319_10(void) = ReturnIndirection[a_arg] : &:r1319_8, ~m? +# 1319| v1319_11(void) = ReturnVoid : +# 1319| v1319_12(void) = AliasedUse : ~m? +# 1319| v1319_13(void) = ExitFunction : -# 1291| int missingReturnValue(bool, int) -# 1291| Block 0 -# 1291| v1291_1(void) = EnterFunction : -# 1291| mu1291_2(unknown) = AliasedDefinition : -# 1291| mu1291_3(unknown) = InitializeNonLocal : -# 1291| r1291_4(glval) = VariableAddress[b] : -# 1291| mu1291_5(bool) = InitializeParameter[b] : &:r1291_4 -# 1291| r1291_6(glval) = VariableAddress[x] : -# 1291| mu1291_7(int) = InitializeParameter[x] : &:r1291_6 -# 1292| r1292_1(glval) = VariableAddress[b] : -# 1292| r1292_2(bool) = Load[b] : &:r1292_1, ~m? -# 1292| v1292_3(void) = ConditionalBranch : r1292_2 +# 1338| int missingReturnValue(bool, int) +# 1338| Block 0 +# 1338| v1338_1(void) = EnterFunction : +# 1338| mu1338_2(unknown) = AliasedDefinition : +# 1338| mu1338_3(unknown) = InitializeNonLocal : +# 1338| r1338_4(glval) = VariableAddress[b] : +# 1338| mu1338_5(bool) = InitializeParameter[b] : &:r1338_4 +# 1338| r1338_6(glval) = VariableAddress[x] : +# 1338| mu1338_7(int) = InitializeParameter[x] : &:r1338_6 +# 1339| r1339_1(glval) = VariableAddress[b] : +# 1339| r1339_2(bool) = Load[b] : &:r1339_1, ~m? +# 1339| v1339_3(void) = ConditionalBranch : r1339_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 1291| Block 1 -# 1291| r1291_8(glval) = VariableAddress[#return] : -# 1291| v1291_9(void) = ReturnValue : &:r1291_8, ~m? -# 1291| v1291_10(void) = AliasedUse : ~m? -# 1291| v1291_11(void) = ExitFunction : +# 1338| Block 1 +# 1338| r1338_8(glval) = VariableAddress[#return] : +# 1338| v1338_9(void) = ReturnValue : &:r1338_8, ~m? +# 1338| v1338_10(void) = AliasedUse : ~m? +# 1338| v1338_11(void) = ExitFunction : -# 1293| Block 2 -# 1293| r1293_1(glval) = VariableAddress[#return] : -# 1293| r1293_2(glval) = VariableAddress[x] : -# 1293| r1293_3(int) = Load[x] : &:r1293_2, ~m? -# 1293| mu1293_4(int) = Store[#return] : &:r1293_1, r1293_3 +# 1340| Block 2 +# 1340| r1340_1(glval) = VariableAddress[#return] : +# 1340| r1340_2(glval) = VariableAddress[x] : +# 1340| r1340_3(int) = Load[x] : &:r1340_2, ~m? +# 1340| mu1340_4(int) = Store[#return] : &:r1340_1, r1340_3 #-----| Goto -> Block 1 -# 1295| Block 3 -# 1295| r1295_1(glval) = VariableAddress[#return] : -# 1295| mu1295_2(int) = Uninitialized[#return] : &:r1295_1 +# 1342| Block 3 +# 1342| r1342_1(glval) = VariableAddress[#return] : +# 1342| mu1342_2(int) = Uninitialized[#return] : &:r1342_1 #-----| Goto -> Block 1 -# 1297| void returnVoid(int, int) -# 1297| Block 0 -# 1297| v1297_1(void) = EnterFunction : -# 1297| mu1297_2(unknown) = AliasedDefinition : -# 1297| mu1297_3(unknown) = InitializeNonLocal : -# 1297| r1297_4(glval) = VariableAddress[x] : -# 1297| mu1297_5(int) = InitializeParameter[x] : &:r1297_4 -# 1297| r1297_6(glval) = VariableAddress[y] : -# 1297| mu1297_7(int) = InitializeParameter[y] : &:r1297_6 -# 1298| r1298_1(glval) = FunctionAddress[IntegerOps] : -# 1298| r1298_2(glval) = VariableAddress[x] : -# 1298| r1298_3(int) = Load[x] : &:r1298_2, ~m? -# 1298| r1298_4(glval) = VariableAddress[y] : -# 1298| r1298_5(int) = Load[y] : &:r1298_4, ~m? -# 1298| v1298_6(void) = Call[IntegerOps] : func:r1298_1, 0:r1298_3, 1:r1298_5 -# 1298| mu1298_7(unknown) = ^CallSideEffect : ~m? -# 1298| v1298_8(void) = NoOp : -# 1297| v1297_8(void) = ReturnVoid : -# 1297| v1297_9(void) = AliasedUse : ~m? -# 1297| v1297_10(void) = ExitFunction : +# 1344| void returnVoid(int, int) +# 1344| Block 0 +# 1344| v1344_1(void) = EnterFunction : +# 1344| mu1344_2(unknown) = AliasedDefinition : +# 1344| mu1344_3(unknown) = InitializeNonLocal : +# 1344| r1344_4(glval) = VariableAddress[x] : +# 1344| mu1344_5(int) = InitializeParameter[x] : &:r1344_4 +# 1344| r1344_6(glval) = VariableAddress[y] : +# 1344| mu1344_7(int) = InitializeParameter[y] : &:r1344_6 +# 1345| r1345_1(glval) = FunctionAddress[IntegerOps] : +# 1345| r1345_2(glval) = VariableAddress[x] : +# 1345| r1345_3(int) = Load[x] : &:r1345_2, ~m? +# 1345| r1345_4(glval) = VariableAddress[y] : +# 1345| r1345_5(int) = Load[y] : &:r1345_4, ~m? +# 1345| v1345_6(void) = Call[IntegerOps] : func:r1345_1, 0:r1345_3, 1:r1345_5 +# 1345| mu1345_7(unknown) = ^CallSideEffect : ~m? +# 1345| v1345_8(void) = NoOp : +# 1344| v1344_8(void) = ReturnVoid : +# 1344| v1344_9(void) = AliasedUse : ~m? +# 1344| v1344_10(void) = ExitFunction : -# 1301| void gccBinaryConditional(bool, int, long) -# 1301| Block 0 -# 1301| v1301_1(void) = EnterFunction : -# 1301| mu1301_2(unknown) = AliasedDefinition : -# 1301| mu1301_3(unknown) = InitializeNonLocal : -# 1301| r1301_4(glval) = VariableAddress[b] : -# 1301| mu1301_5(bool) = InitializeParameter[b] : &:r1301_4 -# 1301| r1301_6(glval) = VariableAddress[x] : -# 1301| mu1301_7(int) = InitializeParameter[x] : &:r1301_6 -# 1301| r1301_8(glval) = VariableAddress[y] : -# 1301| mu1301_9(long) = InitializeParameter[y] : &:r1301_8 -# 1302| r1302_1(glval) = VariableAddress[z] : -# 1302| r1302_2(glval) = VariableAddress[x] : -# 1302| r1302_3(int) = Load[x] : &:r1302_2, ~m? -# 1302| mu1302_4(int) = Store[z] : &:r1302_1, r1302_3 -# 1303| r1303_1(glval) = VariableAddress[b] : -# 1303| r1303_2(bool) = Load[b] : &:r1303_1, ~m? -# 1303| v1303_3(void) = ConditionalBranch : r1303_2 +# 1348| void gccBinaryConditional(bool, int, long) +# 1348| Block 0 +# 1348| v1348_1(void) = EnterFunction : +# 1348| mu1348_2(unknown) = AliasedDefinition : +# 1348| mu1348_3(unknown) = InitializeNonLocal : +# 1348| r1348_4(glval) = VariableAddress[b] : +# 1348| mu1348_5(bool) = InitializeParameter[b] : &:r1348_4 +# 1348| r1348_6(glval) = VariableAddress[x] : +# 1348| mu1348_7(int) = InitializeParameter[x] : &:r1348_6 +# 1348| r1348_8(glval) = VariableAddress[y] : +# 1348| mu1348_9(long) = InitializeParameter[y] : &:r1348_8 +# 1349| r1349_1(glval) = VariableAddress[z] : +# 1349| r1349_2(glval) = VariableAddress[x] : +# 1349| r1349_3(int) = Load[x] : &:r1349_2, ~m? +# 1349| mu1349_4(int) = Store[z] : &:r1349_1, r1349_3 +# 1350| r1350_1(glval) = VariableAddress[b] : +# 1350| r1350_2(bool) = Load[b] : &:r1350_1, ~m? +# 1350| v1350_3(void) = ConditionalBranch : r1350_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 1303| Block 1 -# 1303| r1303_4(glval) = VariableAddress[#temp1303:9] : -# 1303| r1303_5(int) = Load[#temp1303:9] : &:r1303_4, ~m? -# 1303| r1303_6(glval) = VariableAddress[z] : -# 1303| mu1303_7(int) = Store[z] : &:r1303_6, r1303_5 -# 1304| r1304_1(glval) = VariableAddress[b] : -# 1304| r1304_2(bool) = Load[b] : &:r1304_1, ~m? -# 1304| v1304_3(void) = ConditionalBranch : r1304_2 +# 1350| Block 1 +# 1350| r1350_4(glval) = VariableAddress[#temp1350:9] : +# 1350| r1350_5(int) = Load[#temp1350:9] : &:r1350_4, ~m? +# 1350| r1350_6(glval) = VariableAddress[z] : +# 1350| mu1350_7(int) = Store[z] : &:r1350_6, r1350_5 +# 1351| r1351_1(glval) = VariableAddress[b] : +# 1351| r1351_2(bool) = Load[b] : &:r1351_1, ~m? +# 1351| v1351_3(void) = ConditionalBranch : r1351_2 #-----| False -> Block 6 #-----| True -> Block 5 -# 1303| Block 2 -# 1303| r1303_8(glval) = VariableAddress[#temp1303:9] : -# 1303| mu1303_9(int) = Store[#temp1303:9] : &:r1303_8, r1303_2 +# 1350| Block 2 +# 1350| r1350_8(glval) = VariableAddress[#temp1350:9] : +# 1350| mu1350_9(int) = Store[#temp1350:9] : &:r1350_8, r1350_2 #-----| Goto -> Block 1 -# 1303| Block 3 -# 1303| r1303_10(glval) = VariableAddress[x] : -# 1303| r1303_11(int) = Load[x] : &:r1303_10, ~m? -# 1303| r1303_12(glval) = VariableAddress[#temp1303:9] : -# 1303| mu1303_13(int) = Store[#temp1303:9] : &:r1303_12, r1303_11 +# 1350| Block 3 +# 1350| r1350_10(glval) = VariableAddress[x] : +# 1350| r1350_11(int) = Load[x] : &:r1350_10, ~m? +# 1350| r1350_12(glval) = VariableAddress[#temp1350:9] : +# 1350| mu1350_13(int) = Store[#temp1350:9] : &:r1350_12, r1350_11 #-----| Goto -> Block 1 -# 1304| Block 4 -# 1304| r1304_4(glval) = VariableAddress[#temp1304:9] : -# 1304| r1304_5(long) = Load[#temp1304:9] : &:r1304_4, ~m? -# 1304| r1304_6(int) = Convert : r1304_5 -# 1304| r1304_7(glval) = VariableAddress[z] : -# 1304| mu1304_8(int) = Store[z] : &:r1304_7, r1304_6 -# 1305| r1305_1(glval) = VariableAddress[x] : -# 1305| r1305_2(int) = Load[x] : &:r1305_1, ~m? -# 1305| r1305_3(int) = Constant[0] : -# 1305| r1305_4(bool) = CompareNE : r1305_2, r1305_3 -# 1305| v1305_5(void) = ConditionalBranch : r1305_4 +# 1351| Block 4 +# 1351| r1351_4(glval) = VariableAddress[#temp1351:9] : +# 1351| r1351_5(long) = Load[#temp1351:9] : &:r1351_4, ~m? +# 1351| r1351_6(int) = Convert : r1351_5 +# 1351| r1351_7(glval) = VariableAddress[z] : +# 1351| mu1351_8(int) = Store[z] : &:r1351_7, r1351_6 +# 1352| r1352_1(glval) = VariableAddress[x] : +# 1352| r1352_2(int) = Load[x] : &:r1352_1, ~m? +# 1352| r1352_3(int) = Constant[0] : +# 1352| r1352_4(bool) = CompareNE : r1352_2, r1352_3 +# 1352| v1352_5(void) = ConditionalBranch : r1352_4 #-----| False -> Block 9 #-----| True -> Block 8 -# 1304| Block 5 -# 1304| r1304_9(glval) = VariableAddress[#temp1304:9] : -# 1304| mu1304_10(long) = Store[#temp1304:9] : &:r1304_9, r1304_2 +# 1351| Block 5 +# 1351| r1351_9(glval) = VariableAddress[#temp1351:9] : +# 1351| mu1351_10(long) = Store[#temp1351:9] : &:r1351_9, r1351_2 #-----| Goto -> Block 4 -# 1304| Block 6 -# 1304| r1304_11(glval) = VariableAddress[y] : -# 1304| r1304_12(long) = Load[y] : &:r1304_11, ~m? -# 1304| r1304_13(glval) = VariableAddress[#temp1304:9] : -# 1304| mu1304_14(long) = Store[#temp1304:9] : &:r1304_13, r1304_12 +# 1351| Block 6 +# 1351| r1351_11(glval) = VariableAddress[y] : +# 1351| r1351_12(long) = Load[y] : &:r1351_11, ~m? +# 1351| r1351_13(glval) = VariableAddress[#temp1351:9] : +# 1351| mu1351_14(long) = Store[#temp1351:9] : &:r1351_13, r1351_12 #-----| Goto -> Block 4 -# 1305| Block 7 -# 1305| r1305_6(glval) = VariableAddress[#temp1305:9] : -# 1305| r1305_7(int) = Load[#temp1305:9] : &:r1305_6, ~m? -# 1305| r1305_8(glval) = VariableAddress[z] : -# 1305| mu1305_9(int) = Store[z] : &:r1305_8, r1305_7 -# 1306| r1306_1(glval) = VariableAddress[x] : -# 1306| r1306_2(int) = Load[x] : &:r1306_1, ~m? -# 1306| r1306_3(int) = Constant[0] : -# 1306| r1306_4(bool) = CompareNE : r1306_2, r1306_3 -# 1306| v1306_5(void) = ConditionalBranch : r1306_4 +# 1352| Block 7 +# 1352| r1352_6(glval) = VariableAddress[#temp1352:9] : +# 1352| r1352_7(int) = Load[#temp1352:9] : &:r1352_6, ~m? +# 1352| r1352_8(glval) = VariableAddress[z] : +# 1352| mu1352_9(int) = Store[z] : &:r1352_8, r1352_7 +# 1353| r1353_1(glval) = VariableAddress[x] : +# 1353| r1353_2(int) = Load[x] : &:r1353_1, ~m? +# 1353| r1353_3(int) = Constant[0] : +# 1353| r1353_4(bool) = CompareNE : r1353_2, r1353_3 +# 1353| v1353_5(void) = ConditionalBranch : r1353_4 #-----| False -> Block 12 #-----| True -> Block 11 -# 1305| Block 8 -# 1305| r1305_10(glval) = VariableAddress[#temp1305:9] : -# 1305| mu1305_11(int) = Store[#temp1305:9] : &:r1305_10, r1305_2 +# 1352| Block 8 +# 1352| r1352_10(glval) = VariableAddress[#temp1352:9] : +# 1352| mu1352_11(int) = Store[#temp1352:9] : &:r1352_10, r1352_2 #-----| Goto -> Block 7 -# 1305| Block 9 -# 1305| r1305_12(glval) = VariableAddress[x] : -# 1305| r1305_13(int) = Load[x] : &:r1305_12, ~m? -# 1305| r1305_14(glval) = VariableAddress[#temp1305:9] : -# 1305| mu1305_15(int) = Store[#temp1305:9] : &:r1305_14, r1305_13 +# 1352| Block 9 +# 1352| r1352_12(glval) = VariableAddress[x] : +# 1352| r1352_13(int) = Load[x] : &:r1352_12, ~m? +# 1352| r1352_14(glval) = VariableAddress[#temp1352:9] : +# 1352| mu1352_15(int) = Store[#temp1352:9] : &:r1352_14, r1352_13 #-----| Goto -> Block 7 -# 1306| Block 10 -# 1306| r1306_6(glval) = VariableAddress[#temp1306:9] : -# 1306| r1306_7(long) = Load[#temp1306:9] : &:r1306_6, ~m? -# 1306| r1306_8(int) = Convert : r1306_7 -# 1306| r1306_9(glval) = VariableAddress[z] : -# 1306| mu1306_10(int) = Store[z] : &:r1306_9, r1306_8 -# 1307| r1307_1(glval) = VariableAddress[y] : -# 1307| r1307_2(long) = Load[y] : &:r1307_1, ~m? -# 1307| r1307_3(long) = Constant[0] : -# 1307| r1307_4(bool) = CompareNE : r1307_2, r1307_3 -# 1307| v1307_5(void) = ConditionalBranch : r1307_4 +# 1353| Block 10 +# 1353| r1353_6(glval) = VariableAddress[#temp1353:9] : +# 1353| r1353_7(long) = Load[#temp1353:9] : &:r1353_6, ~m? +# 1353| r1353_8(int) = Convert : r1353_7 +# 1353| r1353_9(glval) = VariableAddress[z] : +# 1353| mu1353_10(int) = Store[z] : &:r1353_9, r1353_8 +# 1354| r1354_1(glval) = VariableAddress[y] : +# 1354| r1354_2(long) = Load[y] : &:r1354_1, ~m? +# 1354| r1354_3(long) = Constant[0] : +# 1354| r1354_4(bool) = CompareNE : r1354_2, r1354_3 +# 1354| v1354_5(void) = ConditionalBranch : r1354_4 #-----| False -> Block 15 #-----| True -> Block 14 -# 1306| Block 11 -# 1306| r1306_11(glval) = VariableAddress[#temp1306:9] : -# 1306| mu1306_12(long) = Store[#temp1306:9] : &:r1306_11, r1306_2 +# 1353| Block 11 +# 1353| r1353_11(glval) = VariableAddress[#temp1353:9] : +# 1353| mu1353_12(long) = Store[#temp1353:9] : &:r1353_11, r1353_2 #-----| Goto -> Block 10 -# 1306| Block 12 -# 1306| r1306_13(glval) = VariableAddress[y] : -# 1306| r1306_14(long) = Load[y] : &:r1306_13, ~m? -# 1306| r1306_15(glval) = VariableAddress[#temp1306:9] : -# 1306| mu1306_16(long) = Store[#temp1306:9] : &:r1306_15, r1306_14 +# 1353| Block 12 +# 1353| r1353_13(glval) = VariableAddress[y] : +# 1353| r1353_14(long) = Load[y] : &:r1353_13, ~m? +# 1353| r1353_15(glval) = VariableAddress[#temp1353:9] : +# 1353| mu1353_16(long) = Store[#temp1353:9] : &:r1353_15, r1353_14 #-----| Goto -> Block 10 -# 1307| Block 13 -# 1307| r1307_6(glval) = VariableAddress[#temp1307:9] : -# 1307| r1307_7(long) = Load[#temp1307:9] : &:r1307_6, ~m? -# 1307| r1307_8(int) = Convert : r1307_7 -# 1307| r1307_9(glval) = VariableAddress[z] : -# 1307| mu1307_10(int) = Store[z] : &:r1307_9, r1307_8 -# 1308| r1308_1(glval) = VariableAddress[y] : -# 1308| r1308_2(long) = Load[y] : &:r1308_1, ~m? -# 1308| r1308_3(long) = Constant[0] : -# 1308| r1308_4(bool) = CompareNE : r1308_2, r1308_3 -# 1308| v1308_5(void) = ConditionalBranch : r1308_4 +# 1354| Block 13 +# 1354| r1354_6(glval) = VariableAddress[#temp1354:9] : +# 1354| r1354_7(long) = Load[#temp1354:9] : &:r1354_6, ~m? +# 1354| r1354_8(int) = Convert : r1354_7 +# 1354| r1354_9(glval) = VariableAddress[z] : +# 1354| mu1354_10(int) = Store[z] : &:r1354_9, r1354_8 +# 1355| r1355_1(glval) = VariableAddress[y] : +# 1355| r1355_2(long) = Load[y] : &:r1355_1, ~m? +# 1355| r1355_3(long) = Constant[0] : +# 1355| r1355_4(bool) = CompareNE : r1355_2, r1355_3 +# 1355| v1355_5(void) = ConditionalBranch : r1355_4 #-----| False -> Block 18 #-----| True -> Block 17 -# 1307| Block 14 -# 1307| r1307_11(glval) = VariableAddress[#temp1307:9] : -# 1307| mu1307_12(long) = Store[#temp1307:9] : &:r1307_11, r1307_2 +# 1354| Block 14 +# 1354| r1354_11(glval) = VariableAddress[#temp1354:9] : +# 1354| mu1354_12(long) = Store[#temp1354:9] : &:r1354_11, r1354_2 #-----| Goto -> Block 13 -# 1307| Block 15 -# 1307| r1307_13(glval) = VariableAddress[x] : -# 1307| r1307_14(int) = Load[x] : &:r1307_13, ~m? -# 1307| r1307_15(long) = Convert : r1307_14 -# 1307| r1307_16(glval) = VariableAddress[#temp1307:9] : -# 1307| mu1307_17(long) = Store[#temp1307:9] : &:r1307_16, r1307_15 +# 1354| Block 15 +# 1354| r1354_13(glval) = VariableAddress[x] : +# 1354| r1354_14(int) = Load[x] : &:r1354_13, ~m? +# 1354| r1354_15(long) = Convert : r1354_14 +# 1354| r1354_16(glval) = VariableAddress[#temp1354:9] : +# 1354| mu1354_17(long) = Store[#temp1354:9] : &:r1354_16, r1354_15 #-----| Goto -> Block 13 -# 1308| Block 16 -# 1308| r1308_6(glval) = VariableAddress[#temp1308:9] : -# 1308| r1308_7(long) = Load[#temp1308:9] : &:r1308_6, ~m? -# 1308| r1308_8(int) = Convert : r1308_7 -# 1308| r1308_9(glval) = VariableAddress[z] : -# 1308| mu1308_10(int) = Store[z] : &:r1308_9, r1308_8 -# 1310| r1310_1(glval) = VariableAddress[x] : -# 1310| r1310_2(int) = Load[x] : &:r1310_1, ~m? -# 1310| r1310_3(int) = Constant[0] : -# 1310| r1310_4(bool) = CompareNE : r1310_2, r1310_3 -# 1310| v1310_5(void) = ConditionalBranch : r1310_4 +# 1355| Block 16 +# 1355| r1355_6(glval) = VariableAddress[#temp1355:9] : +# 1355| r1355_7(long) = Load[#temp1355:9] : &:r1355_6, ~m? +# 1355| r1355_8(int) = Convert : r1355_7 +# 1355| r1355_9(glval) = VariableAddress[z] : +# 1355| mu1355_10(int) = Store[z] : &:r1355_9, r1355_8 +# 1357| r1357_1(glval) = VariableAddress[x] : +# 1357| r1357_2(int) = Load[x] : &:r1357_1, ~m? +# 1357| r1357_3(int) = Constant[0] : +# 1357| r1357_4(bool) = CompareNE : r1357_2, r1357_3 +# 1357| v1357_5(void) = ConditionalBranch : r1357_4 #-----| False -> Block 25 #-----| True -> Block 24 -# 1308| Block 17 -# 1308| r1308_11(glval) = VariableAddress[#temp1308:9] : -# 1308| mu1308_12(long) = Store[#temp1308:9] : &:r1308_11, r1308_2 +# 1355| Block 17 +# 1355| r1355_11(glval) = VariableAddress[#temp1355:9] : +# 1355| mu1355_12(long) = Store[#temp1355:9] : &:r1355_11, r1355_2 #-----| Goto -> Block 16 -# 1308| Block 18 -# 1308| r1308_13(glval) = VariableAddress[y] : -# 1308| r1308_14(long) = Load[y] : &:r1308_13, ~m? -# 1308| r1308_15(glval) = VariableAddress[#temp1308:9] : -# 1308| mu1308_16(long) = Store[#temp1308:9] : &:r1308_15, r1308_14 +# 1355| Block 18 +# 1355| r1355_13(glval) = VariableAddress[y] : +# 1355| r1355_14(long) = Load[y] : &:r1355_13, ~m? +# 1355| r1355_15(glval) = VariableAddress[#temp1355:9] : +# 1355| mu1355_16(long) = Store[#temp1355:9] : &:r1355_15, r1355_14 #-----| Goto -> Block 16 -# 1310| Block 19 -# 1310| r1310_6(glval) = VariableAddress[#temp1310:9] : -# 1310| r1310_7(int) = Load[#temp1310:9] : &:r1310_6, ~m? -# 1310| r1310_8(glval) = VariableAddress[z] : -# 1310| mu1310_9(int) = Store[z] : &:r1310_8, r1310_7 -# 1311| v1311_1(void) = NoOp : -# 1301| v1301_10(void) = ReturnVoid : -# 1301| v1301_11(void) = AliasedUse : ~m? -# 1301| v1301_12(void) = ExitFunction : +# 1357| Block 19 +# 1357| r1357_6(glval) = VariableAddress[#temp1357:9] : +# 1357| r1357_7(int) = Load[#temp1357:9] : &:r1357_6, ~m? +# 1357| r1357_8(glval) = VariableAddress[z] : +# 1357| mu1357_9(int) = Store[z] : &:r1357_8, r1357_7 +# 1358| v1358_1(void) = NoOp : +# 1348| v1348_10(void) = ReturnVoid : +# 1348| v1348_11(void) = AliasedUse : ~m? +# 1348| v1348_12(void) = ExitFunction : -# 1310| Block 20 -# 1310| r1310_10(glval) = VariableAddress[#temp1310:9] : -# 1310| mu1310_11(int) = Store[#temp1310:9] : &:r1310_10, r1310_16 +# 1357| Block 20 +# 1357| r1357_10(glval) = VariableAddress[#temp1357:9] : +# 1357| mu1357_11(int) = Store[#temp1357:9] : &:r1357_10, r1357_16 #-----| Goto -> Block 19 -# 1310| Block 21 -# 1310| r1310_12(glval) = VariableAddress[#temp1310:10] : -# 1310| r1310_13(bool) = Constant[0] : -# 1310| mu1310_14(bool) = Store[#temp1310:10] : &:r1310_12, r1310_13 +# 1357| Block 21 +# 1357| r1357_12(glval) = VariableAddress[#temp1357:10] : +# 1357| r1357_13(bool) = Constant[0] : +# 1357| mu1357_14(bool) = Store[#temp1357:10] : &:r1357_12, r1357_13 #-----| Goto -> Block 22 -# 1310| Block 22 -# 1310| r1310_15(glval) = VariableAddress[#temp1310:10] : -# 1310| r1310_16(bool) = Load[#temp1310:10] : &:r1310_15, ~m? -# 1310| v1310_17(void) = ConditionalBranch : r1310_16 +# 1357| Block 22 +# 1357| r1357_15(glval) = VariableAddress[#temp1357:10] : +# 1357| r1357_16(bool) = Load[#temp1357:10] : &:r1357_15, ~m? +# 1357| v1357_17(void) = ConditionalBranch : r1357_16 #-----| False -> Block 26 #-----| True -> Block 20 -# 1310| Block 23 -# 1310| r1310_18(glval) = VariableAddress[#temp1310:10] : -# 1310| r1310_19(bool) = Constant[1] : -# 1310| mu1310_20(bool) = Store[#temp1310:10] : &:r1310_18, r1310_19 +# 1357| Block 23 +# 1357| r1357_18(glval) = VariableAddress[#temp1357:10] : +# 1357| r1357_19(bool) = Constant[1] : +# 1357| mu1357_20(bool) = Store[#temp1357:10] : &:r1357_18, r1357_19 #-----| Goto -> Block 22 -# 1310| Block 24 -# 1310| r1310_21(glval) = VariableAddress[b] : -# 1310| r1310_22(bool) = Load[b] : &:r1310_21, ~m? -# 1310| v1310_23(void) = ConditionalBranch : r1310_22 +# 1357| Block 24 +# 1357| r1357_21(glval) = VariableAddress[b] : +# 1357| r1357_22(bool) = Load[b] : &:r1357_21, ~m? +# 1357| v1357_23(void) = ConditionalBranch : r1357_22 #-----| False -> Block 25 #-----| True -> Block 23 -# 1310| Block 25 -# 1310| r1310_24(glval) = VariableAddress[y] : -# 1310| r1310_25(long) = Load[y] : &:r1310_24, ~m? -# 1310| r1310_26(long) = Constant[0] : -# 1310| r1310_27(bool) = CompareNE : r1310_25, r1310_26 -# 1310| v1310_28(void) = ConditionalBranch : r1310_27 +# 1357| Block 25 +# 1357| r1357_24(glval) = VariableAddress[y] : +# 1357| r1357_25(long) = Load[y] : &:r1357_24, ~m? +# 1357| r1357_26(long) = Constant[0] : +# 1357| r1357_27(bool) = CompareNE : r1357_25, r1357_26 +# 1357| v1357_28(void) = ConditionalBranch : r1357_27 #-----| False -> Block 21 #-----| True -> Block 23 -# 1310| Block 26 -# 1310| r1310_29(glval) = VariableAddress[x] : -# 1310| r1310_30(int) = Load[x] : &:r1310_29, ~m? -# 1310| r1310_31(glval) = VariableAddress[#temp1310:9] : -# 1310| mu1310_32(int) = Store[#temp1310:9] : &:r1310_31, r1310_30 +# 1357| Block 26 +# 1357| r1357_29(glval) = VariableAddress[x] : +# 1357| r1357_30(int) = Load[x] : &:r1357_29, ~m? +# 1357| r1357_31(glval) = VariableAddress[#temp1357:9] : +# 1357| mu1357_32(int) = Store[#temp1357:9] : &:r1357_31, r1357_30 #-----| Goto -> Block 19 -# 1316| int shortCircuitConditional(int, int) -# 1316| Block 0 -# 1316| v1316_1(void) = EnterFunction : -# 1316| mu1316_2(unknown) = AliasedDefinition : -# 1316| mu1316_3(unknown) = InitializeNonLocal : -# 1316| r1316_4(glval) = VariableAddress[x] : -# 1316| mu1316_5(int) = InitializeParameter[x] : &:r1316_4 -# 1316| r1316_6(glval) = VariableAddress[y] : -# 1316| mu1316_7(int) = InitializeParameter[y] : &:r1316_6 -# 1317| r1317_1(glval) = VariableAddress[#return] : -# 1317| r1317_2(glval) = FunctionAddress[predicateA] : -# 1317| r1317_3(bool) = Call[predicateA] : func:r1317_2 -# 1317| mu1317_4(unknown) = ^CallSideEffect : ~m? -# 1317| v1317_5(void) = ConditionalBranch : r1317_3 +# 1363| int shortCircuitConditional(int, int) +# 1363| Block 0 +# 1363| v1363_1(void) = EnterFunction : +# 1363| mu1363_2(unknown) = AliasedDefinition : +# 1363| mu1363_3(unknown) = InitializeNonLocal : +# 1363| r1363_4(glval) = VariableAddress[x] : +# 1363| mu1363_5(int) = InitializeParameter[x] : &:r1363_4 +# 1363| r1363_6(glval) = VariableAddress[y] : +# 1363| mu1363_7(int) = InitializeParameter[y] : &:r1363_6 +# 1364| r1364_1(glval) = VariableAddress[#return] : +# 1364| r1364_2(glval) = FunctionAddress[predicateA] : +# 1364| r1364_3(bool) = Call[predicateA] : func:r1364_2 +# 1364| mu1364_4(unknown) = ^CallSideEffect : ~m? +# 1364| v1364_5(void) = ConditionalBranch : r1364_3 #-----| False -> Block 4 #-----| True -> Block 2 -# 1317| Block 1 -# 1317| r1317_6(glval) = VariableAddress[#temp1317:12] : -# 1317| r1317_7(int) = Load[#temp1317:12] : &:r1317_6, ~m? -# 1317| mu1317_8(int) = Store[#return] : &:r1317_1, r1317_7 -# 1316| r1316_8(glval) = VariableAddress[#return] : -# 1316| v1316_9(void) = ReturnValue : &:r1316_8, ~m? -# 1316| v1316_10(void) = AliasedUse : ~m? -# 1316| v1316_11(void) = ExitFunction : +# 1364| Block 1 +# 1364| r1364_6(glval) = VariableAddress[#temp1364:12] : +# 1364| r1364_7(int) = Load[#temp1364:12] : &:r1364_6, ~m? +# 1364| mu1364_8(int) = Store[#return] : &:r1364_1, r1364_7 +# 1363| r1363_8(glval) = VariableAddress[#return] : +# 1363| v1363_9(void) = ReturnValue : &:r1363_8, ~m? +# 1363| v1363_10(void) = AliasedUse : ~m? +# 1363| v1363_11(void) = ExitFunction : -# 1317| Block 2 -# 1317| r1317_9(glval) = FunctionAddress[predicateB] : -# 1317| r1317_10(bool) = Call[predicateB] : func:r1317_9 -# 1317| mu1317_11(unknown) = ^CallSideEffect : ~m? -# 1317| v1317_12(void) = ConditionalBranch : r1317_10 +# 1364| Block 2 +# 1364| r1364_9(glval) = FunctionAddress[predicateB] : +# 1364| r1364_10(bool) = Call[predicateB] : func:r1364_9 +# 1364| mu1364_11(unknown) = ^CallSideEffect : ~m? +# 1364| v1364_12(void) = ConditionalBranch : r1364_10 #-----| False -> Block 4 #-----| True -> Block 3 -# 1317| Block 3 -# 1317| r1317_13(glval) = VariableAddress[x] : -# 1317| r1317_14(int) = Load[x] : &:r1317_13, ~m? -# 1317| r1317_15(glval) = VariableAddress[#temp1317:12] : -# 1317| mu1317_16(int) = Store[#temp1317:12] : &:r1317_15, r1317_14 +# 1364| Block 3 +# 1364| r1364_13(glval) = VariableAddress[x] : +# 1364| r1364_14(int) = Load[x] : &:r1364_13, ~m? +# 1364| r1364_15(glval) = VariableAddress[#temp1364:12] : +# 1364| mu1364_16(int) = Store[#temp1364:12] : &:r1364_15, r1364_14 #-----| Goto -> Block 1 -# 1317| Block 4 -# 1317| r1317_17(glval) = VariableAddress[y] : -# 1317| r1317_18(int) = Load[y] : &:r1317_17, ~m? -# 1317| r1317_19(glval) = VariableAddress[#temp1317:12] : -# 1317| mu1317_20(int) = Store[#temp1317:12] : &:r1317_19, r1317_18 +# 1364| Block 4 +# 1364| r1364_17(glval) = VariableAddress[y] : +# 1364| r1364_18(int) = Load[y] : &:r1364_17, ~m? +# 1364| r1364_19(glval) = VariableAddress[#temp1364:12] : +# 1364| mu1364_20(int) = Store[#temp1364:12] : &:r1364_19, r1364_18 #-----| Goto -> Block 1 -# 1322| void f(int*) -# 1322| Block 0 -# 1322| v1322_1(void) = EnterFunction : -# 1322| mu1322_2(unknown) = AliasedDefinition : -# 1322| mu1322_3(unknown) = InitializeNonLocal : -# 1322| r1322_4(glval) = VariableAddress[p] : -# 1322| mu1322_5(int *) = InitializeParameter[p] : &:r1322_4 -# 1322| r1322_6(int *) = Load[p] : &:r1322_4, ~m? -# 1322| mu1322_7(unknown) = InitializeIndirection[p] : &:r1322_6 -# 1324| r1324_1(glval) = FunctionAddress[operator new] : -# 1324| r1324_2(unsigned long) = Constant[4] : -# 1324| r1324_3(glval) = VariableAddress[p] : -# 1324| r1324_4(int *) = Load[p] : &:r1324_3, ~m? -# 1324| r1324_5(void *) = Convert : r1324_4 -# 1324| r1324_6(void *) = Call[operator new] : func:r1324_1, 0:r1324_2, 1:r1324_5 -# 1324| mu1324_7(unknown) = ^CallSideEffect : ~m? -# 1324| mu1324_8(unknown) = ^InitializeDynamicAllocation : &:r1324_6 -# 1324| r1324_9(int *) = Convert : r1324_6 -# 1325| v1325_1(void) = NoOp : -# 1322| v1322_8(void) = ReturnIndirection[p] : &:r1322_6, ~m? -# 1322| v1322_9(void) = ReturnVoid : -# 1322| v1322_10(void) = AliasedUse : ~m? -# 1322| v1322_11(void) = ExitFunction : +# 1369| void f(int*) +# 1369| Block 0 +# 1369| v1369_1(void) = EnterFunction : +# 1369| mu1369_2(unknown) = AliasedDefinition : +# 1369| mu1369_3(unknown) = InitializeNonLocal : +# 1369| r1369_4(glval) = VariableAddress[p] : +# 1369| mu1369_5(int *) = InitializeParameter[p] : &:r1369_4 +# 1369| r1369_6(int *) = Load[p] : &:r1369_4, ~m? +# 1369| mu1369_7(unknown) = InitializeIndirection[p] : &:r1369_6 +# 1371| r1371_1(glval) = FunctionAddress[operator new] : +# 1371| r1371_2(unsigned long) = Constant[4] : +# 1371| r1371_3(glval) = VariableAddress[p] : +# 1371| r1371_4(int *) = Load[p] : &:r1371_3, ~m? +# 1371| r1371_5(void *) = Convert : r1371_4 +# 1371| r1371_6(void *) = Call[operator new] : func:r1371_1, 0:r1371_2, 1:r1371_5 +# 1371| mu1371_7(unknown) = ^CallSideEffect : ~m? +# 1371| mu1371_8(unknown) = ^InitializeDynamicAllocation : &:r1371_6 +# 1371| r1371_9(int *) = Convert : r1371_6 +# 1372| v1372_1(void) = NoOp : +# 1369| v1369_8(void) = ReturnIndirection[p] : &:r1369_6, ~m? +# 1369| v1369_9(void) = ReturnVoid : +# 1369| v1369_10(void) = AliasedUse : ~m? +# 1369| v1369_11(void) = ExitFunction : -# 1328| Point defaultConstruct() -# 1328| Block 0 -# 1328| v1328_1(void) = EnterFunction : -# 1328| mu1328_2(unknown) = AliasedDefinition : -# 1328| mu1328_3(unknown) = InitializeNonLocal : -# 1329| r1329_1(glval) = VariableAddress[#return] : -# 1329| r1329_2(Point) = Constant[0] : -# 1329| mu1329_3(Point) = Store[#return] : &:r1329_1, r1329_2 -# 1328| r1328_4(glval) = VariableAddress[#return] : -# 1328| v1328_5(void) = ReturnValue : &:r1328_4, ~m? -# 1328| v1328_6(void) = AliasedUse : ~m? -# 1328| v1328_7(void) = ExitFunction : +# 1375| Point defaultConstruct() +# 1375| Block 0 +# 1375| v1375_1(void) = EnterFunction : +# 1375| mu1375_2(unknown) = AliasedDefinition : +# 1375| mu1375_3(unknown) = InitializeNonLocal : +# 1376| r1376_1(glval) = VariableAddress[#return] : +# 1376| r1376_2(Point) = Constant[0] : +# 1376| mu1376_3(Point) = Store[#return] : &:r1376_1, r1376_2 +# 1375| r1375_4(glval) = VariableAddress[#return] : +# 1375| v1375_5(void) = ReturnValue : &:r1375_4, ~m? +# 1375| v1375_6(void) = AliasedUse : ~m? +# 1375| v1375_7(void) = ExitFunction : -# 1328| String defaultConstruct() -# 1328| Block 0 -# 1328| v1328_1(void) = EnterFunction : -# 1328| mu1328_2(unknown) = AliasedDefinition : -# 1328| mu1328_3(unknown) = InitializeNonLocal : -# 1329| r1329_1(glval) = VariableAddress[#return] : -# 1329| mu1329_2(String) = Uninitialized[#return] : &:r1329_1 -# 1329| r1329_3(glval) = FunctionAddress[String] : -# 1329| v1329_4(void) = Call[String] : func:r1329_3, this:r1329_1 -# 1329| mu1329_5(unknown) = ^CallSideEffect : ~m? -# 1329| mu1329_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r1329_1 -# 1328| r1328_4(glval) = VariableAddress[#return] : -# 1328| v1328_5(void) = ReturnValue : &:r1328_4, ~m? -# 1328| v1328_6(void) = AliasedUse : ~m? -# 1328| v1328_7(void) = ExitFunction : +# 1375| String defaultConstruct() +# 1375| Block 0 +# 1375| v1375_1(void) = EnterFunction : +# 1375| mu1375_2(unknown) = AliasedDefinition : +# 1375| mu1375_3(unknown) = InitializeNonLocal : +# 1376| r1376_1(glval) = VariableAddress[#return] : +# 1376| mu1376_2(String) = Uninitialized[#return] : &:r1376_1 +# 1376| r1376_3(glval) = FunctionAddress[String] : +# 1376| v1376_4(void) = Call[String] : func:r1376_3, this:r1376_1 +# 1376| mu1376_5(unknown) = ^CallSideEffect : ~m? +# 1376| mu1376_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r1376_1 +# 1375| r1375_4(glval) = VariableAddress[#return] : +# 1375| v1375_5(void) = ReturnValue : &:r1375_4, ~m? +# 1375| v1375_6(void) = AliasedUse : ~m? +# 1375| v1375_7(void) = ExitFunction : -# 1328| copy_constructor defaultConstruct() -# 1328| Block 0 -# 1328| v1328_1(void) = EnterFunction : -# 1328| mu1328_2(unknown) = AliasedDefinition : -# 1328| mu1328_3(unknown) = InitializeNonLocal : -# 1329| r1329_1(glval) = VariableAddress[#return] : -# 1329| mu1329_2(copy_constructor) = Uninitialized[#return] : &:r1329_1 -# 1329| r1329_3(glval) = FunctionAddress[copy_constructor] : -# 1329| v1329_4(void) = Call[copy_constructor] : func:r1329_3, this:r1329_1 -# 1329| mu1329_5(unknown) = ^CallSideEffect : ~m? -# 1329| mu1329_6(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1329_1 -# 1328| r1328_4(glval) = VariableAddress[#return] : -# 1328| v1328_5(void) = ReturnValue : &:r1328_4, ~m? -# 1328| v1328_6(void) = AliasedUse : ~m? -# 1328| v1328_7(void) = ExitFunction : +# 1375| copy_constructor defaultConstruct() +# 1375| Block 0 +# 1375| v1375_1(void) = EnterFunction : +# 1375| mu1375_2(unknown) = AliasedDefinition : +# 1375| mu1375_3(unknown) = InitializeNonLocal : +# 1376| r1376_1(glval) = VariableAddress[#return] : +# 1376| mu1376_2(copy_constructor) = Uninitialized[#return] : &:r1376_1 +# 1376| r1376_3(glval) = FunctionAddress[copy_constructor] : +# 1376| v1376_4(void) = Call[copy_constructor] : func:r1376_3, this:r1376_1 +# 1376| mu1376_5(unknown) = ^CallSideEffect : ~m? +# 1376| mu1376_6(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1376_1 +# 1375| r1375_4(glval) = VariableAddress[#return] : +# 1375| v1375_5(void) = ReturnValue : &:r1375_4, ~m? +# 1375| v1375_6(void) = AliasedUse : ~m? +# 1375| v1375_7(void) = ExitFunction : -# 1328| destructor_only defaultConstruct() -# 1328| Block 0 -# 1328| v1328_1(void) = EnterFunction : -# 1328| mu1328_2(unknown) = AliasedDefinition : -# 1328| mu1328_3(unknown) = InitializeNonLocal : -# 1329| r1329_1(glval) = VariableAddress[#return] : -# 1329| r1329_2(destructor_only) = Constant[0] : -# 1329| mu1329_3(destructor_only) = Store[#return] : &:r1329_1, r1329_2 -# 1328| r1328_4(glval) = VariableAddress[#return] : -# 1328| v1328_5(void) = ReturnValue : &:r1328_4, ~m? -# 1328| v1328_6(void) = AliasedUse : ~m? -# 1328| v1328_7(void) = ExitFunction : +# 1375| destructor_only defaultConstruct() +# 1375| Block 0 +# 1375| v1375_1(void) = EnterFunction : +# 1375| mu1375_2(unknown) = AliasedDefinition : +# 1375| mu1375_3(unknown) = InitializeNonLocal : +# 1376| r1376_1(glval) = VariableAddress[#return] : +# 1376| r1376_2(destructor_only) = Constant[0] : +# 1376| mu1376_3(destructor_only) = Store[#return] : &:r1376_1, r1376_2 +# 1375| r1375_4(glval) = VariableAddress[#return] : +# 1375| v1375_5(void) = ReturnValue : &:r1375_4, ~m? +# 1375| v1375_6(void) = AliasedUse : ~m? +# 1375| v1375_7(void) = ExitFunction : -# 1367| void temporary_string() -# 1367| Block 0 -# 1367| v1367_1(void) = EnterFunction : -# 1367| mu1367_2(unknown) = AliasedDefinition : -# 1367| mu1367_3(unknown) = InitializeNonLocal : -# 1368| r1368_1(glval) = VariableAddress[s] : -# 1368| r1368_2(glval) = FunctionAddress[returnValue] : -# 1368| r1368_3(String) = Call[returnValue] : func:r1368_2 -# 1368| mu1368_4(unknown) = ^CallSideEffect : ~m? -# 1368| mu1368_5(String) = Store[s] : &:r1368_1, r1368_3 -# 1369| r1369_1(glval) = VariableAddress[rs] : -# 1369| r1369_2(glval) = VariableAddress[#temp1369:24] : -# 1369| r1369_3(glval) = FunctionAddress[returnValue] : -# 1369| r1369_4(String) = Call[returnValue] : func:r1369_3 -# 1369| mu1369_5(unknown) = ^CallSideEffect : ~m? -# 1369| mu1369_6(String) = Store[#temp1369:24] : &:r1369_2, r1369_4 -# 1369| r1369_7(glval) = Convert : r1369_2 -# 1369| r1369_8(String &) = CopyValue : r1369_7 -# 1369| mu1369_9(String &) = Store[rs] : &:r1369_1, r1369_8 -# 1371| r1371_1(glval) = FunctionAddress[acceptRef] : -# 1371| r1371_2(glval) = VariableAddress[s] : -# 1371| r1371_3(glval) = Convert : r1371_2 -# 1371| r1371_4(String &) = CopyValue : r1371_3 -# 1371| v1371_5(void) = Call[acceptRef] : func:r1371_1, 0:r1371_4 -# 1371| mu1371_6(unknown) = ^CallSideEffect : ~m? -# 1371| v1371_7(void) = ^BufferReadSideEffect[0] : &:r1371_4, ~m? -# 1372| r1372_1(glval) = FunctionAddress[acceptRef] : -# 1372| r1372_2(glval) = VariableAddress[#temp1372:23] : -# 1372| mu1372_3(String) = Uninitialized[#temp1372:23] : &:r1372_2 -# 1372| r1372_4(glval) = FunctionAddress[String] : -# 1372| r1372_5(glval) = StringConstant["foo"] : -# 1372| r1372_6(char *) = Convert : r1372_5 -# 1372| v1372_7(void) = Call[String] : func:r1372_4, this:r1372_2, 0:r1372_6 -# 1372| mu1372_8(unknown) = ^CallSideEffect : ~m? -# 1372| v1372_9(void) = ^BufferReadSideEffect[0] : &:r1372_6, ~m? -# 1372| mu1372_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1372_2 -# 1372| r1372_11(String &) = CopyValue : r1372_2 -# 1372| v1372_12(void) = Call[acceptRef] : func:r1372_1, 0:r1372_11 -# 1372| mu1372_13(unknown) = ^CallSideEffect : ~m? -# 1372| v1372_14(void) = ^BufferReadSideEffect[0] : &:r1372_11, ~m? -# 1373| r1373_1(glval) = FunctionAddress[acceptValue] : -# 1373| r1373_2(glval) = VariableAddress[#temp1373:17] : -# 1373| mu1373_3(String) = Uninitialized[#temp1373:17] : &:r1373_2 -# 1373| r1373_4(glval) = FunctionAddress[String] : -# 1373| r1373_5(glval) = VariableAddress[s] : -# 1373| r1373_6(glval) = Convert : r1373_5 -# 1373| r1373_7(String &) = CopyValue : r1373_6 -# 1373| v1373_8(void) = Call[String] : func:r1373_4, this:r1373_2, 0:r1373_7 -# 1373| mu1373_9(unknown) = ^CallSideEffect : ~m? -# 1373| v1373_10(void) = ^BufferReadSideEffect[0] : &:r1373_7, ~m? -# 1373| mu1373_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1373_2 -# 1373| r1373_12(String) = Load[#temp1373:17] : &:r1373_2, ~m? -# 1373| v1373_13(void) = Call[acceptValue] : func:r1373_1, 0:r1373_12 -# 1373| mu1373_14(unknown) = ^CallSideEffect : ~m? -# 1374| r1374_1(glval) = FunctionAddress[acceptValue] : -# 1374| r1374_2(glval) = VariableAddress[#temp1374:25] : -# 1374| mu1374_3(String) = Uninitialized[#temp1374:25] : &:r1374_2 -# 1374| r1374_4(glval) = FunctionAddress[String] : -# 1374| r1374_5(glval) = StringConstant["foo"] : -# 1374| r1374_6(char *) = Convert : r1374_5 -# 1374| v1374_7(void) = Call[String] : func:r1374_4, this:r1374_2, 0:r1374_6 -# 1374| mu1374_8(unknown) = ^CallSideEffect : ~m? -# 1374| v1374_9(void) = ^BufferReadSideEffect[0] : &:r1374_6, ~m? -# 1374| mu1374_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1374_2 -# 1374| r1374_11(String) = Load[#temp1374:25] : &:r1374_2, ~m? -# 1374| v1374_12(void) = Call[acceptValue] : func:r1374_1, 0:r1374_11 -# 1374| mu1374_13(unknown) = ^CallSideEffect : ~m? -# 1375| r1375_1(glval) = VariableAddress[#temp1375:5] : -# 1375| mu1375_2(String) = Uninitialized[#temp1375:5] : &:r1375_1 -# 1375| r1375_3(glval) = FunctionAddress[String] : -# 1375| v1375_4(void) = Call[String] : func:r1375_3, this:r1375_1 -# 1375| mu1375_5(unknown) = ^CallSideEffect : ~m? -# 1375| mu1375_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r1375_1 -# 1375| r1375_7(glval) = Convert : r1375_1 -# 1375| r1375_8(glval) = FunctionAddress[c_str] : -# 1375| r1375_9(char *) = Call[c_str] : func:r1375_8, this:r1375_7 -# 1375| mu1375_10(unknown) = ^CallSideEffect : ~m? -# 1375| v1375_11(void) = ^IndirectReadSideEffect[-1] : &:r1375_7, ~m? -# 1376| r1376_1(glval) = VariableAddress[#temp1376:5] : -# 1376| r1376_2(glval) = FunctionAddress[returnValue] : -# 1376| r1376_3(String) = Call[returnValue] : func:r1376_2 -# 1376| mu1376_4(unknown) = ^CallSideEffect : ~m? -# 1376| mu1376_5(String) = Store[#temp1376:5] : &:r1376_1, r1376_3 -# 1376| r1376_6(glval) = Convert : r1376_1 -# 1376| r1376_7(glval) = FunctionAddress[c_str] : -# 1376| r1376_8(char *) = Call[c_str] : func:r1376_7, this:r1376_6 -# 1376| mu1376_9(unknown) = ^CallSideEffect : ~m? -# 1376| v1376_10(void) = ^IndirectReadSideEffect[-1] : &:r1376_6, ~m? -# 1378| r1378_1(glval) = VariableAddress[#temp1378:5] : -# 1378| r1378_2(glval) = FunctionAddress[defaultConstruct] : -# 1378| r1378_3(String) = Call[defaultConstruct] : func:r1378_2 -# 1378| mu1378_4(unknown) = ^CallSideEffect : ~m? -# 1378| mu1378_5(String) = Store[#temp1378:5] : &:r1378_1, r1378_3 -# 1379| v1379_1(void) = NoOp : -# 1379| r1379_2(glval) = VariableAddress[s] : -# 1379| r1379_3(glval) = FunctionAddress[~String] : -# 1379| v1379_4(void) = Call[~String] : func:r1379_3, this:r1379_2 -# 1379| mu1379_5(unknown) = ^CallSideEffect : ~m? -# 1379| v1379_6(void) = ^IndirectReadSideEffect[-1] : &:r1379_2, ~m? -# 1379| mu1379_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r1379_2 -# 1367| v1367_4(void) = ReturnVoid : -# 1367| v1367_5(void) = AliasedUse : ~m? -# 1367| v1367_6(void) = ExitFunction : +# 1414| void temporary_string() +# 1414| Block 0 +# 1414| v1414_1(void) = EnterFunction : +# 1414| mu1414_2(unknown) = AliasedDefinition : +# 1414| mu1414_3(unknown) = InitializeNonLocal : +# 1415| r1415_1(glval) = VariableAddress[s] : +# 1415| r1415_2(glval) = FunctionAddress[returnValue] : +# 1415| r1415_3(String) = Call[returnValue] : func:r1415_2 +# 1415| mu1415_4(unknown) = ^CallSideEffect : ~m? +# 1415| mu1415_5(String) = Store[s] : &:r1415_1, r1415_3 +# 1416| r1416_1(glval) = VariableAddress[rs] : +# 1416| r1416_2(glval) = VariableAddress[#temp1416:24] : +# 1416| r1416_3(glval) = FunctionAddress[returnValue] : +# 1416| r1416_4(String) = Call[returnValue] : func:r1416_3 +# 1416| mu1416_5(unknown) = ^CallSideEffect : ~m? +# 1416| mu1416_6(String) = Store[#temp1416:24] : &:r1416_2, r1416_4 +# 1416| r1416_7(glval) = Convert : r1416_2 +# 1416| r1416_8(String &) = CopyValue : r1416_7 +# 1416| mu1416_9(String &) = Store[rs] : &:r1416_1, r1416_8 +# 1418| r1418_1(glval) = FunctionAddress[acceptRef] : +# 1418| r1418_2(glval) = VariableAddress[s] : +# 1418| r1418_3(glval) = Convert : r1418_2 +# 1418| r1418_4(String &) = CopyValue : r1418_3 +# 1418| v1418_5(void) = Call[acceptRef] : func:r1418_1, 0:r1418_4 +# 1418| mu1418_6(unknown) = ^CallSideEffect : ~m? +# 1418| v1418_7(void) = ^BufferReadSideEffect[0] : &:r1418_4, ~m? +# 1419| r1419_1(glval) = FunctionAddress[acceptRef] : +# 1419| r1419_2(glval) = VariableAddress[#temp1419:23] : +# 1419| mu1419_3(String) = Uninitialized[#temp1419:23] : &:r1419_2 +# 1419| r1419_4(glval) = FunctionAddress[String] : +# 1419| r1419_5(glval) = StringConstant["foo"] : +# 1419| r1419_6(char *) = Convert : r1419_5 +# 1419| v1419_7(void) = Call[String] : func:r1419_4, this:r1419_2, 0:r1419_6 +# 1419| mu1419_8(unknown) = ^CallSideEffect : ~m? +# 1419| v1419_9(void) = ^BufferReadSideEffect[0] : &:r1419_6, ~m? +# 1419| mu1419_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1419_2 +# 1419| r1419_11(String &) = CopyValue : r1419_2 +# 1419| v1419_12(void) = Call[acceptRef] : func:r1419_1, 0:r1419_11 +# 1419| mu1419_13(unknown) = ^CallSideEffect : ~m? +# 1419| v1419_14(void) = ^BufferReadSideEffect[0] : &:r1419_11, ~m? +# 1420| r1420_1(glval) = FunctionAddress[acceptValue] : +# 1420| r1420_2(glval) = VariableAddress[#temp1420:17] : +# 1420| mu1420_3(String) = Uninitialized[#temp1420:17] : &:r1420_2 +# 1420| r1420_4(glval) = FunctionAddress[String] : +# 1420| r1420_5(glval) = VariableAddress[s] : +# 1420| r1420_6(glval) = Convert : r1420_5 +# 1420| r1420_7(String &) = CopyValue : r1420_6 +# 1420| v1420_8(void) = Call[String] : func:r1420_4, this:r1420_2, 0:r1420_7 +# 1420| mu1420_9(unknown) = ^CallSideEffect : ~m? +# 1420| v1420_10(void) = ^BufferReadSideEffect[0] : &:r1420_7, ~m? +# 1420| mu1420_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1420_2 +# 1420| r1420_12(String) = Load[#temp1420:17] : &:r1420_2, ~m? +# 1420| v1420_13(void) = Call[acceptValue] : func:r1420_1, 0:r1420_12 +# 1420| mu1420_14(unknown) = ^CallSideEffect : ~m? +# 1421| r1421_1(glval) = FunctionAddress[acceptValue] : +# 1421| r1421_2(glval) = VariableAddress[#temp1421:25] : +# 1421| mu1421_3(String) = Uninitialized[#temp1421:25] : &:r1421_2 +# 1421| r1421_4(glval) = FunctionAddress[String] : +# 1421| r1421_5(glval) = StringConstant["foo"] : +# 1421| r1421_6(char *) = Convert : r1421_5 +# 1421| v1421_7(void) = Call[String] : func:r1421_4, this:r1421_2, 0:r1421_6 +# 1421| mu1421_8(unknown) = ^CallSideEffect : ~m? +# 1421| v1421_9(void) = ^BufferReadSideEffect[0] : &:r1421_6, ~m? +# 1421| mu1421_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1421_2 +# 1421| r1421_11(String) = Load[#temp1421:25] : &:r1421_2, ~m? +# 1421| v1421_12(void) = Call[acceptValue] : func:r1421_1, 0:r1421_11 +# 1421| mu1421_13(unknown) = ^CallSideEffect : ~m? +# 1422| r1422_1(glval) = VariableAddress[#temp1422:5] : +# 1422| mu1422_2(String) = Uninitialized[#temp1422:5] : &:r1422_1 +# 1422| r1422_3(glval) = FunctionAddress[String] : +# 1422| v1422_4(void) = Call[String] : func:r1422_3, this:r1422_1 +# 1422| mu1422_5(unknown) = ^CallSideEffect : ~m? +# 1422| mu1422_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r1422_1 +# 1422| r1422_7(glval) = Convert : r1422_1 +# 1422| r1422_8(glval) = FunctionAddress[c_str] : +# 1422| r1422_9(char *) = Call[c_str] : func:r1422_8, this:r1422_7 +# 1422| mu1422_10(unknown) = ^CallSideEffect : ~m? +# 1422| v1422_11(void) = ^IndirectReadSideEffect[-1] : &:r1422_7, ~m? +# 1423| r1423_1(glval) = VariableAddress[#temp1423:5] : +# 1423| r1423_2(glval) = FunctionAddress[returnValue] : +# 1423| r1423_3(String) = Call[returnValue] : func:r1423_2 +# 1423| mu1423_4(unknown) = ^CallSideEffect : ~m? +# 1423| mu1423_5(String) = Store[#temp1423:5] : &:r1423_1, r1423_3 +# 1423| r1423_6(glval) = Convert : r1423_1 +# 1423| r1423_7(glval) = FunctionAddress[c_str] : +# 1423| r1423_8(char *) = Call[c_str] : func:r1423_7, this:r1423_6 +# 1423| mu1423_9(unknown) = ^CallSideEffect : ~m? +# 1423| v1423_10(void) = ^IndirectReadSideEffect[-1] : &:r1423_6, ~m? +# 1425| r1425_1(glval) = VariableAddress[#temp1425:5] : +# 1425| r1425_2(glval) = FunctionAddress[defaultConstruct] : +# 1425| r1425_3(String) = Call[defaultConstruct] : func:r1425_2 +# 1425| mu1425_4(unknown) = ^CallSideEffect : ~m? +# 1425| mu1425_5(String) = Store[#temp1425:5] : &:r1425_1, r1425_3 +# 1426| v1426_1(void) = NoOp : +# 1426| r1426_2(glval) = VariableAddress[s] : +# 1426| r1426_3(glval) = FunctionAddress[~String] : +# 1426| v1426_4(void) = Call[~String] : func:r1426_3, this:r1426_2 +# 1426| mu1426_5(unknown) = ^CallSideEffect : ~m? +# 1426| v1426_6(void) = ^IndirectReadSideEffect[-1] : &:r1426_2, ~m? +# 1426| mu1426_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r1426_2 +# 1414| v1414_4(void) = ReturnVoid : +# 1414| v1414_5(void) = AliasedUse : ~m? +# 1414| v1414_6(void) = ExitFunction : -# 1381| void temporary_destructor_only() -# 1381| Block 0 -# 1381| v1381_1(void) = EnterFunction : -# 1381| mu1381_2(unknown) = AliasedDefinition : -# 1381| mu1381_3(unknown) = InitializeNonLocal : -# 1382| r1382_1(glval) = VariableAddress[d] : -# 1382| r1382_2(glval) = FunctionAddress[returnValue] : -# 1382| r1382_3(destructor_only) = Call[returnValue] : func:r1382_2 -# 1382| mu1382_4(unknown) = ^CallSideEffect : ~m? -# 1382| mu1382_5(destructor_only) = Store[d] : &:r1382_1, r1382_3 -# 1383| r1383_1(glval) = VariableAddress[rd] : -# 1383| r1383_2(glval) = VariableAddress[#temp1383:33] : -# 1383| r1383_3(glval) = FunctionAddress[returnValue] : -# 1383| r1383_4(destructor_only) = Call[returnValue] : func:r1383_3 -# 1383| mu1383_5(unknown) = ^CallSideEffect : ~m? -# 1383| mu1383_6(destructor_only) = Store[#temp1383:33] : &:r1383_2, r1383_4 -# 1383| r1383_7(glval) = Convert : r1383_2 -# 1383| r1383_8(destructor_only &) = CopyValue : r1383_7 -# 1383| mu1383_9(destructor_only &) = Store[rd] : &:r1383_1, r1383_8 -# 1384| r1384_1(glval) = VariableAddress[d2] : -# 1384| mu1384_2(destructor_only) = Uninitialized[d2] : &:r1384_1 -# 1385| r1385_1(glval) = FunctionAddress[acceptRef] : -# 1385| r1385_2(glval) = VariableAddress[d] : -# 1385| r1385_3(glval) = Convert : r1385_2 -# 1385| r1385_4(destructor_only &) = CopyValue : r1385_3 -# 1385| v1385_5(void) = Call[acceptRef] : func:r1385_1, 0:r1385_4 -# 1385| mu1385_6(unknown) = ^CallSideEffect : ~m? -# 1385| v1385_7(void) = ^BufferReadSideEffect[0] : &:r1385_4, ~m? -# 1386| r1386_1(glval) = FunctionAddress[acceptValue] : -# 1386| r1386_2(glval) = VariableAddress[#temp1386:17] : -# 1386| r1386_3(glval) = VariableAddress[d] : -# 1386| r1386_4(destructor_only) = Load[d] : &:r1386_3, ~m? -# 1386| mu1386_5(destructor_only) = Store[#temp1386:17] : &:r1386_2, r1386_4 -# 1386| r1386_6(destructor_only) = Load[#temp1386:17] : &:r1386_2, ~m? -# 1386| v1386_7(void) = Call[acceptValue] : func:r1386_1, 0:r1386_6 -# 1386| mu1386_8(unknown) = ^CallSideEffect : ~m? -# 1387| r1387_1(glval) = VariableAddress[#temp1387:5] : -# 1387| r1387_2(destructor_only) = Constant[0] : -# 1387| mu1387_3(destructor_only) = Store[#temp1387:5] : &:r1387_1, r1387_2 -# 1387| r1387_4(glval) = FunctionAddress[method] : -# 1387| v1387_5(void) = Call[method] : func:r1387_4, this:r1387_1 -# 1387| mu1387_6(unknown) = ^CallSideEffect : ~m? -# 1387| v1387_7(void) = ^IndirectReadSideEffect[-1] : &:r1387_1, ~m? -# 1387| mu1387_8(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1387_1 -# 1388| r1388_1(glval) = VariableAddress[#temp1388:5] : -# 1388| r1388_2(glval) = FunctionAddress[returnValue] : -# 1388| r1388_3(destructor_only) = Call[returnValue] : func:r1388_2 -# 1388| mu1388_4(unknown) = ^CallSideEffect : ~m? -# 1388| mu1388_5(destructor_only) = Store[#temp1388:5] : &:r1388_1, r1388_3 -# 1388| r1388_6(glval) = FunctionAddress[method] : -# 1388| v1388_7(void) = Call[method] : func:r1388_6, this:r1388_1 -# 1388| mu1388_8(unknown) = ^CallSideEffect : ~m? -# 1388| v1388_9(void) = ^IndirectReadSideEffect[-1] : &:r1388_1, ~m? -# 1388| mu1388_10(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1388_1 -# 1390| r1390_1(glval) = VariableAddress[#temp1390:5] : -# 1390| r1390_2(glval) = FunctionAddress[defaultConstruct] : -# 1390| r1390_3(destructor_only) = Call[defaultConstruct] : func:r1390_2 -# 1390| mu1390_4(unknown) = ^CallSideEffect : ~m? -# 1390| mu1390_5(destructor_only) = Store[#temp1390:5] : &:r1390_1, r1390_3 -# 1391| v1391_1(void) = NoOp : -# 1391| r1391_2(glval) = VariableAddress[d2] : -# 1391| r1391_3(glval) = FunctionAddress[~destructor_only] : -# 1391| v1391_4(void) = Call[~destructor_only] : func:r1391_3, this:r1391_2 -# 1391| mu1391_5(unknown) = ^CallSideEffect : ~m? -# 1391| v1391_6(void) = ^IndirectReadSideEffect[-1] : &:r1391_2, ~m? -# 1391| mu1391_7(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1391_2 -# 1391| r1391_8(glval) = VariableAddress[d] : -# 1391| r1391_9(glval) = FunctionAddress[~destructor_only] : -# 1391| v1391_10(void) = Call[~destructor_only] : func:r1391_9, this:r1391_8 -# 1391| mu1391_11(unknown) = ^CallSideEffect : ~m? -# 1391| v1391_12(void) = ^IndirectReadSideEffect[-1] : &:r1391_8, ~m? -# 1391| mu1391_13(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1391_8 -# 1381| v1381_4(void) = ReturnVoid : -# 1381| v1381_5(void) = AliasedUse : ~m? -# 1381| v1381_6(void) = ExitFunction : +# 1428| void temporary_destructor_only() +# 1428| Block 0 +# 1428| v1428_1(void) = EnterFunction : +# 1428| mu1428_2(unknown) = AliasedDefinition : +# 1428| mu1428_3(unknown) = InitializeNonLocal : +# 1429| r1429_1(glval) = VariableAddress[d] : +# 1429| r1429_2(glval) = FunctionAddress[returnValue] : +# 1429| r1429_3(destructor_only) = Call[returnValue] : func:r1429_2 +# 1429| mu1429_4(unknown) = ^CallSideEffect : ~m? +# 1429| mu1429_5(destructor_only) = Store[d] : &:r1429_1, r1429_3 +# 1430| r1430_1(glval) = VariableAddress[rd] : +# 1430| r1430_2(glval) = VariableAddress[#temp1430:33] : +# 1430| r1430_3(glval) = FunctionAddress[returnValue] : +# 1430| r1430_4(destructor_only) = Call[returnValue] : func:r1430_3 +# 1430| mu1430_5(unknown) = ^CallSideEffect : ~m? +# 1430| mu1430_6(destructor_only) = Store[#temp1430:33] : &:r1430_2, r1430_4 +# 1430| r1430_7(glval) = Convert : r1430_2 +# 1430| r1430_8(destructor_only &) = CopyValue : r1430_7 +# 1430| mu1430_9(destructor_only &) = Store[rd] : &:r1430_1, r1430_8 +# 1431| r1431_1(glval) = VariableAddress[d2] : +# 1431| mu1431_2(destructor_only) = Uninitialized[d2] : &:r1431_1 +# 1432| r1432_1(glval) = FunctionAddress[acceptRef] : +# 1432| r1432_2(glval) = VariableAddress[d] : +# 1432| r1432_3(glval) = Convert : r1432_2 +# 1432| r1432_4(destructor_only &) = CopyValue : r1432_3 +# 1432| v1432_5(void) = Call[acceptRef] : func:r1432_1, 0:r1432_4 +# 1432| mu1432_6(unknown) = ^CallSideEffect : ~m? +# 1432| v1432_7(void) = ^BufferReadSideEffect[0] : &:r1432_4, ~m? +# 1433| r1433_1(glval) = FunctionAddress[acceptValue] : +# 1433| r1433_2(glval) = VariableAddress[#temp1433:17] : +# 1433| r1433_3(glval) = VariableAddress[d] : +# 1433| r1433_4(destructor_only) = Load[d] : &:r1433_3, ~m? +# 1433| mu1433_5(destructor_only) = Store[#temp1433:17] : &:r1433_2, r1433_4 +# 1433| r1433_6(destructor_only) = Load[#temp1433:17] : &:r1433_2, ~m? +# 1433| v1433_7(void) = Call[acceptValue] : func:r1433_1, 0:r1433_6 +# 1433| mu1433_8(unknown) = ^CallSideEffect : ~m? +# 1434| r1434_1(glval) = VariableAddress[#temp1434:5] : +# 1434| r1434_2(destructor_only) = Constant[0] : +# 1434| mu1434_3(destructor_only) = Store[#temp1434:5] : &:r1434_1, r1434_2 +# 1434| r1434_4(glval) = FunctionAddress[method] : +# 1434| v1434_5(void) = Call[method] : func:r1434_4, this:r1434_1 +# 1434| mu1434_6(unknown) = ^CallSideEffect : ~m? +# 1434| v1434_7(void) = ^IndirectReadSideEffect[-1] : &:r1434_1, ~m? +# 1434| mu1434_8(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1434_1 +# 1435| r1435_1(glval) = VariableAddress[#temp1435:5] : +# 1435| r1435_2(glval) = FunctionAddress[returnValue] : +# 1435| r1435_3(destructor_only) = Call[returnValue] : func:r1435_2 +# 1435| mu1435_4(unknown) = ^CallSideEffect : ~m? +# 1435| mu1435_5(destructor_only) = Store[#temp1435:5] : &:r1435_1, r1435_3 +# 1435| r1435_6(glval) = FunctionAddress[method] : +# 1435| v1435_7(void) = Call[method] : func:r1435_6, this:r1435_1 +# 1435| mu1435_8(unknown) = ^CallSideEffect : ~m? +# 1435| v1435_9(void) = ^IndirectReadSideEffect[-1] : &:r1435_1, ~m? +# 1435| mu1435_10(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1435_1 +# 1437| r1437_1(glval) = VariableAddress[#temp1437:5] : +# 1437| r1437_2(glval) = FunctionAddress[defaultConstruct] : +# 1437| r1437_3(destructor_only) = Call[defaultConstruct] : func:r1437_2 +# 1437| mu1437_4(unknown) = ^CallSideEffect : ~m? +# 1437| mu1437_5(destructor_only) = Store[#temp1437:5] : &:r1437_1, r1437_3 +# 1438| v1438_1(void) = NoOp : +# 1438| r1438_2(glval) = VariableAddress[d2] : +# 1438| r1438_3(glval) = FunctionAddress[~destructor_only] : +# 1438| v1438_4(void) = Call[~destructor_only] : func:r1438_3, this:r1438_2 +# 1438| mu1438_5(unknown) = ^CallSideEffect : ~m? +# 1438| v1438_6(void) = ^IndirectReadSideEffect[-1] : &:r1438_2, ~m? +# 1438| mu1438_7(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1438_2 +# 1438| r1438_8(glval) = VariableAddress[d] : +# 1438| r1438_9(glval) = FunctionAddress[~destructor_only] : +# 1438| v1438_10(void) = Call[~destructor_only] : func:r1438_9, this:r1438_8 +# 1438| mu1438_11(unknown) = ^CallSideEffect : ~m? +# 1438| v1438_12(void) = ^IndirectReadSideEffect[-1] : &:r1438_8, ~m? +# 1438| mu1438_13(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1438_8 +# 1428| v1428_4(void) = ReturnVoid : +# 1428| v1428_5(void) = AliasedUse : ~m? +# 1428| v1428_6(void) = ExitFunction : -# 1393| void temporary_copy_constructor() -# 1393| Block 0 -# 1393| v1393_1(void) = EnterFunction : -# 1393| mu1393_2(unknown) = AliasedDefinition : -# 1393| mu1393_3(unknown) = InitializeNonLocal : -# 1394| r1394_1(glval) = VariableAddress[d] : -# 1394| r1394_2(glval) = FunctionAddress[returnValue] : -# 1394| r1394_3(copy_constructor) = Call[returnValue] : func:r1394_2 -# 1394| mu1394_4(unknown) = ^CallSideEffect : ~m? -# 1394| mu1394_5(copy_constructor) = Store[d] : &:r1394_1, r1394_3 -# 1395| r1395_1(glval) = VariableAddress[rd] : -# 1395| r1395_2(glval) = VariableAddress[#temp1395:34] : -# 1395| r1395_3(glval) = FunctionAddress[returnValue] : -# 1395| r1395_4(copy_constructor) = Call[returnValue] : func:r1395_3 -# 1395| mu1395_5(unknown) = ^CallSideEffect : ~m? -# 1395| mu1395_6(copy_constructor) = Store[#temp1395:34] : &:r1395_2, r1395_4 -# 1395| r1395_7(glval) = Convert : r1395_2 -# 1395| r1395_8(copy_constructor &) = CopyValue : r1395_7 -# 1395| mu1395_9(copy_constructor &) = Store[rd] : &:r1395_1, r1395_8 -# 1396| r1396_1(glval) = VariableAddress[d2] : -# 1396| mu1396_2(copy_constructor) = Uninitialized[d2] : &:r1396_1 -# 1396| r1396_3(glval) = FunctionAddress[copy_constructor] : -# 1396| v1396_4(void) = Call[copy_constructor] : func:r1396_3, this:r1396_1 -# 1396| mu1396_5(unknown) = ^CallSideEffect : ~m? -# 1396| mu1396_6(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1396_1 -# 1397| r1397_1(glval) = FunctionAddress[acceptRef] : -# 1397| r1397_2(glval) = VariableAddress[d] : -# 1397| r1397_3(glval) = Convert : r1397_2 -# 1397| r1397_4(copy_constructor &) = CopyValue : r1397_3 -# 1397| v1397_5(void) = Call[acceptRef] : func:r1397_1, 0:r1397_4 -# 1397| mu1397_6(unknown) = ^CallSideEffect : ~m? -# 1397| v1397_7(void) = ^BufferReadSideEffect[0] : &:r1397_4, ~m? -# 1398| r1398_1(glval) = FunctionAddress[acceptValue] : -# 1398| r1398_2(glval) = VariableAddress[#temp1398:17] : -# 1398| mu1398_3(copy_constructor) = Uninitialized[#temp1398:17] : &:r1398_2 -# 1398| r1398_4(glval) = FunctionAddress[copy_constructor] : -# 1398| r1398_5(glval) = VariableAddress[d] : -# 1398| r1398_6(glval) = Convert : r1398_5 -# 1398| r1398_7(copy_constructor &) = CopyValue : r1398_6 -# 1398| v1398_8(void) = Call[copy_constructor] : func:r1398_4, this:r1398_2, 0:r1398_7 -# 1398| mu1398_9(unknown) = ^CallSideEffect : ~m? -# 1398| v1398_10(void) = ^BufferReadSideEffect[0] : &:r1398_7, ~m? -# 1398| mu1398_11(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1398_2 -# 1398| r1398_12(copy_constructor) = Load[#temp1398:17] : &:r1398_2, ~m? -# 1398| v1398_13(void) = Call[acceptValue] : func:r1398_1, 0:r1398_12 -# 1398| mu1398_14(unknown) = ^CallSideEffect : ~m? -# 1399| r1399_1(glval) = VariableAddress[#temp1399:5] : -# 1399| mu1399_2(copy_constructor) = Uninitialized[#temp1399:5] : &:r1399_1 -# 1399| r1399_3(glval) = FunctionAddress[copy_constructor] : -# 1399| v1399_4(void) = Call[copy_constructor] : func:r1399_3, this:r1399_1 -# 1399| mu1399_5(unknown) = ^CallSideEffect : ~m? -# 1399| mu1399_6(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1399_1 -# 1399| r1399_7(glval) = FunctionAddress[method] : -# 1399| v1399_8(void) = Call[method] : func:r1399_7, this:r1399_1 -# 1399| mu1399_9(unknown) = ^CallSideEffect : ~m? -# 1399| v1399_10(void) = ^IndirectReadSideEffect[-1] : &:r1399_1, ~m? -# 1399| mu1399_11(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1399_1 -# 1400| r1400_1(glval) = VariableAddress[#temp1400:5] : -# 1400| r1400_2(glval) = FunctionAddress[returnValue] : -# 1400| r1400_3(copy_constructor) = Call[returnValue] : func:r1400_2 -# 1400| mu1400_4(unknown) = ^CallSideEffect : ~m? -# 1400| mu1400_5(copy_constructor) = Store[#temp1400:5] : &:r1400_1, r1400_3 -# 1400| r1400_6(glval) = FunctionAddress[method] : -# 1400| v1400_7(void) = Call[method] : func:r1400_6, this:r1400_1 -# 1400| mu1400_8(unknown) = ^CallSideEffect : ~m? -# 1400| v1400_9(void) = ^IndirectReadSideEffect[-1] : &:r1400_1, ~m? -# 1400| mu1400_10(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1400_1 -# 1401| r1401_1(glval) = VariableAddress[#temp1401:5] : -# 1401| r1401_2(glval) = FunctionAddress[defaultConstruct] : -# 1401| r1401_3(copy_constructor) = Call[defaultConstruct] : func:r1401_2 -# 1401| mu1401_4(unknown) = ^CallSideEffect : ~m? -# 1401| mu1401_5(copy_constructor) = Store[#temp1401:5] : &:r1401_1, r1401_3 -# 1403| r1403_1(glval) = VariableAddress[y] : -# 1403| r1403_2(glval) = VariableAddress[#temp1403:13] : -# 1403| r1403_3(glval) = FunctionAddress[returnValue] : -# 1403| r1403_4(copy_constructor) = Call[returnValue] : func:r1403_3 -# 1403| mu1403_5(unknown) = ^CallSideEffect : ~m? -# 1403| mu1403_6(copy_constructor) = Store[#temp1403:13] : &:r1403_2, r1403_4 -# 1403| r1403_7(glval) = FieldAddress[y] : r1403_2 -# 1403| r1403_8(int) = Load[?] : &:r1403_7, ~m? -# 1403| mu1403_9(int) = Store[y] : &:r1403_1, r1403_8 -# 1404| v1404_1(void) = NoOp : -# 1393| v1393_4(void) = ReturnVoid : -# 1393| v1393_5(void) = AliasedUse : ~m? -# 1393| v1393_6(void) = ExitFunction : +# 1440| void temporary_copy_constructor() +# 1440| Block 0 +# 1440| v1440_1(void) = EnterFunction : +# 1440| mu1440_2(unknown) = AliasedDefinition : +# 1440| mu1440_3(unknown) = InitializeNonLocal : +# 1441| r1441_1(glval) = VariableAddress[d] : +# 1441| r1441_2(glval) = FunctionAddress[returnValue] : +# 1441| r1441_3(copy_constructor) = Call[returnValue] : func:r1441_2 +# 1441| mu1441_4(unknown) = ^CallSideEffect : ~m? +# 1441| mu1441_5(copy_constructor) = Store[d] : &:r1441_1, r1441_3 +# 1442| r1442_1(glval) = VariableAddress[rd] : +# 1442| r1442_2(glval) = VariableAddress[#temp1442:34] : +# 1442| r1442_3(glval) = FunctionAddress[returnValue] : +# 1442| r1442_4(copy_constructor) = Call[returnValue] : func:r1442_3 +# 1442| mu1442_5(unknown) = ^CallSideEffect : ~m? +# 1442| mu1442_6(copy_constructor) = Store[#temp1442:34] : &:r1442_2, r1442_4 +# 1442| r1442_7(glval) = Convert : r1442_2 +# 1442| r1442_8(copy_constructor &) = CopyValue : r1442_7 +# 1442| mu1442_9(copy_constructor &) = Store[rd] : &:r1442_1, r1442_8 +# 1443| r1443_1(glval) = VariableAddress[d2] : +# 1443| mu1443_2(copy_constructor) = Uninitialized[d2] : &:r1443_1 +# 1443| r1443_3(glval) = FunctionAddress[copy_constructor] : +# 1443| v1443_4(void) = Call[copy_constructor] : func:r1443_3, this:r1443_1 +# 1443| mu1443_5(unknown) = ^CallSideEffect : ~m? +# 1443| mu1443_6(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1443_1 +# 1444| r1444_1(glval) = FunctionAddress[acceptRef] : +# 1444| r1444_2(glval) = VariableAddress[d] : +# 1444| r1444_3(glval) = Convert : r1444_2 +# 1444| r1444_4(copy_constructor &) = CopyValue : r1444_3 +# 1444| v1444_5(void) = Call[acceptRef] : func:r1444_1, 0:r1444_4 +# 1444| mu1444_6(unknown) = ^CallSideEffect : ~m? +# 1444| v1444_7(void) = ^BufferReadSideEffect[0] : &:r1444_4, ~m? +# 1445| r1445_1(glval) = FunctionAddress[acceptValue] : +# 1445| r1445_2(glval) = VariableAddress[#temp1445:17] : +# 1445| mu1445_3(copy_constructor) = Uninitialized[#temp1445:17] : &:r1445_2 +# 1445| r1445_4(glval) = FunctionAddress[copy_constructor] : +# 1445| r1445_5(glval) = VariableAddress[d] : +# 1445| r1445_6(glval) = Convert : r1445_5 +# 1445| r1445_7(copy_constructor &) = CopyValue : r1445_6 +# 1445| v1445_8(void) = Call[copy_constructor] : func:r1445_4, this:r1445_2, 0:r1445_7 +# 1445| mu1445_9(unknown) = ^CallSideEffect : ~m? +# 1445| v1445_10(void) = ^BufferReadSideEffect[0] : &:r1445_7, ~m? +# 1445| mu1445_11(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1445_2 +# 1445| r1445_12(copy_constructor) = Load[#temp1445:17] : &:r1445_2, ~m? +# 1445| v1445_13(void) = Call[acceptValue] : func:r1445_1, 0:r1445_12 +# 1445| mu1445_14(unknown) = ^CallSideEffect : ~m? +# 1446| r1446_1(glval) = VariableAddress[#temp1446:5] : +# 1446| mu1446_2(copy_constructor) = Uninitialized[#temp1446:5] : &:r1446_1 +# 1446| r1446_3(glval) = FunctionAddress[copy_constructor] : +# 1446| v1446_4(void) = Call[copy_constructor] : func:r1446_3, this:r1446_1 +# 1446| mu1446_5(unknown) = ^CallSideEffect : ~m? +# 1446| mu1446_6(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1446_1 +# 1446| r1446_7(glval) = FunctionAddress[method] : +# 1446| v1446_8(void) = Call[method] : func:r1446_7, this:r1446_1 +# 1446| mu1446_9(unknown) = ^CallSideEffect : ~m? +# 1446| v1446_10(void) = ^IndirectReadSideEffect[-1] : &:r1446_1, ~m? +# 1446| mu1446_11(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1446_1 +# 1447| r1447_1(glval) = VariableAddress[#temp1447:5] : +# 1447| r1447_2(glval) = FunctionAddress[returnValue] : +# 1447| r1447_3(copy_constructor) = Call[returnValue] : func:r1447_2 +# 1447| mu1447_4(unknown) = ^CallSideEffect : ~m? +# 1447| mu1447_5(copy_constructor) = Store[#temp1447:5] : &:r1447_1, r1447_3 +# 1447| r1447_6(glval) = FunctionAddress[method] : +# 1447| v1447_7(void) = Call[method] : func:r1447_6, this:r1447_1 +# 1447| mu1447_8(unknown) = ^CallSideEffect : ~m? +# 1447| v1447_9(void) = ^IndirectReadSideEffect[-1] : &:r1447_1, ~m? +# 1447| mu1447_10(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1447_1 +# 1448| r1448_1(glval) = VariableAddress[#temp1448:5] : +# 1448| r1448_2(glval) = FunctionAddress[defaultConstruct] : +# 1448| r1448_3(copy_constructor) = Call[defaultConstruct] : func:r1448_2 +# 1448| mu1448_4(unknown) = ^CallSideEffect : ~m? +# 1448| mu1448_5(copy_constructor) = Store[#temp1448:5] : &:r1448_1, r1448_3 +# 1450| r1450_1(glval) = VariableAddress[y] : +# 1450| r1450_2(glval) = VariableAddress[#temp1450:13] : +# 1450| r1450_3(glval) = FunctionAddress[returnValue] : +# 1450| r1450_4(copy_constructor) = Call[returnValue] : func:r1450_3 +# 1450| mu1450_5(unknown) = ^CallSideEffect : ~m? +# 1450| mu1450_6(copy_constructor) = Store[#temp1450:13] : &:r1450_2, r1450_4 +# 1450| r1450_7(glval) = FieldAddress[y] : r1450_2 +# 1450| r1450_8(int) = Load[?] : &:r1450_7, ~m? +# 1450| mu1450_9(int) = Store[y] : &:r1450_1, r1450_8 +# 1451| v1451_1(void) = NoOp : +# 1440| v1440_4(void) = ReturnVoid : +# 1440| v1440_5(void) = AliasedUse : ~m? +# 1440| v1440_6(void) = ExitFunction : -# 1406| void temporary_point() -# 1406| Block 0 -# 1406| v1406_1(void) = EnterFunction : -# 1406| mu1406_2(unknown) = AliasedDefinition : -# 1406| mu1406_3(unknown) = InitializeNonLocal : -# 1407| r1407_1(glval) = VariableAddress[p] : -# 1407| r1407_2(glval) = FunctionAddress[returnValue] : -# 1407| r1407_3(Point) = Call[returnValue] : func:r1407_2 -# 1407| mu1407_4(unknown) = ^CallSideEffect : ~m? -# 1407| mu1407_5(Point) = Store[p] : &:r1407_1, r1407_3 -# 1408| r1408_1(glval) = VariableAddress[rp] : -# 1408| r1408_2(glval) = VariableAddress[#temp1408:23] : -# 1408| r1408_3(glval) = FunctionAddress[returnValue] : -# 1408| r1408_4(Point) = Call[returnValue] : func:r1408_3 -# 1408| mu1408_5(unknown) = ^CallSideEffect : ~m? -# 1408| mu1408_6(Point) = Store[#temp1408:23] : &:r1408_2, r1408_4 -# 1408| r1408_7(glval) = Convert : r1408_2 -# 1408| r1408_8(Point &) = CopyValue : r1408_7 -# 1408| mu1408_9(Point &) = Store[rp] : &:r1408_1, r1408_8 -# 1410| r1410_1(glval) = FunctionAddress[acceptRef] : -# 1410| r1410_2(glval) = VariableAddress[p] : -# 1410| r1410_3(glval) = Convert : r1410_2 -# 1410| r1410_4(Point &) = CopyValue : r1410_3 -# 1410| v1410_5(void) = Call[acceptRef] : func:r1410_1, 0:r1410_4 -# 1410| mu1410_6(unknown) = ^CallSideEffect : ~m? -# 1410| v1410_7(void) = ^BufferReadSideEffect[0] : &:r1410_4, ~m? -# 1411| r1411_1(glval) = FunctionAddress[acceptValue] : -# 1411| r1411_2(glval) = VariableAddress[p] : -# 1411| r1411_3(Point) = Load[p] : &:r1411_2, ~m? -# 1411| v1411_4(void) = Call[acceptValue] : func:r1411_1, 0:r1411_3 -# 1411| mu1411_5(unknown) = ^CallSideEffect : ~m? -# 1412| r1412_1(int) = Constant[0] : -# 1413| r1413_1(glval) = VariableAddress[y] : -# 1413| r1413_2(glval) = FunctionAddress[returnValue] : -# 1413| r1413_3(Point) = Call[returnValue] : func:r1413_2 -# 1413| mu1413_4(unknown) = ^CallSideEffect : ~m? -# 1413| r1413_5(glval) = VariableAddress[#temp1413:13] : -# 1413| mu1413_6(Point) = Store[#temp1413:13] : &:r1413_5, r1413_3 -# 1413| r1413_7(glval) = FieldAddress[y] : r1413_5 -# 1413| r1413_8(int) = Load[?] : &:r1413_7, ~m? -# 1413| mu1413_9(int) = Store[y] : &:r1413_1, r1413_8 -# 1415| r1415_1(glval) = FunctionAddress[defaultConstruct] : -# 1415| r1415_2(Point) = Call[defaultConstruct] : func:r1415_1 -# 1415| mu1415_3(unknown) = ^CallSideEffect : ~m? -# 1416| v1416_1(void) = NoOp : -# 1406| v1406_4(void) = ReturnVoid : -# 1406| v1406_5(void) = AliasedUse : ~m? -# 1406| v1406_6(void) = ExitFunction : +# 1453| void temporary_point() +# 1453| Block 0 +# 1453| v1453_1(void) = EnterFunction : +# 1453| mu1453_2(unknown) = AliasedDefinition : +# 1453| mu1453_3(unknown) = InitializeNonLocal : +# 1454| r1454_1(glval) = VariableAddress[p] : +# 1454| r1454_2(glval) = FunctionAddress[returnValue] : +# 1454| r1454_3(Point) = Call[returnValue] : func:r1454_2 +# 1454| mu1454_4(unknown) = ^CallSideEffect : ~m? +# 1454| mu1454_5(Point) = Store[p] : &:r1454_1, r1454_3 +# 1455| r1455_1(glval) = VariableAddress[rp] : +# 1455| r1455_2(glval) = VariableAddress[#temp1455:23] : +# 1455| r1455_3(glval) = FunctionAddress[returnValue] : +# 1455| r1455_4(Point) = Call[returnValue] : func:r1455_3 +# 1455| mu1455_5(unknown) = ^CallSideEffect : ~m? +# 1455| mu1455_6(Point) = Store[#temp1455:23] : &:r1455_2, r1455_4 +# 1455| r1455_7(glval) = Convert : r1455_2 +# 1455| r1455_8(Point &) = CopyValue : r1455_7 +# 1455| mu1455_9(Point &) = Store[rp] : &:r1455_1, r1455_8 +# 1457| r1457_1(glval) = FunctionAddress[acceptRef] : +# 1457| r1457_2(glval) = VariableAddress[p] : +# 1457| r1457_3(glval) = Convert : r1457_2 +# 1457| r1457_4(Point &) = CopyValue : r1457_3 +# 1457| v1457_5(void) = Call[acceptRef] : func:r1457_1, 0:r1457_4 +# 1457| mu1457_6(unknown) = ^CallSideEffect : ~m? +# 1457| v1457_7(void) = ^BufferReadSideEffect[0] : &:r1457_4, ~m? +# 1458| r1458_1(glval) = FunctionAddress[acceptValue] : +# 1458| r1458_2(glval) = VariableAddress[p] : +# 1458| r1458_3(Point) = Load[p] : &:r1458_2, ~m? +# 1458| v1458_4(void) = Call[acceptValue] : func:r1458_1, 0:r1458_3 +# 1458| mu1458_5(unknown) = ^CallSideEffect : ~m? +# 1459| r1459_1(int) = Constant[0] : +# 1460| r1460_1(glval) = VariableAddress[y] : +# 1460| r1460_2(glval) = FunctionAddress[returnValue] : +# 1460| r1460_3(Point) = Call[returnValue] : func:r1460_2 +# 1460| mu1460_4(unknown) = ^CallSideEffect : ~m? +# 1460| r1460_5(glval) = VariableAddress[#temp1460:13] : +# 1460| mu1460_6(Point) = Store[#temp1460:13] : &:r1460_5, r1460_3 +# 1460| r1460_7(glval) = FieldAddress[y] : r1460_5 +# 1460| r1460_8(int) = Load[?] : &:r1460_7, ~m? +# 1460| mu1460_9(int) = Store[y] : &:r1460_1, r1460_8 +# 1462| r1462_1(glval) = FunctionAddress[defaultConstruct] : +# 1462| r1462_2(Point) = Call[defaultConstruct] : func:r1462_1 +# 1462| mu1462_3(unknown) = ^CallSideEffect : ~m? +# 1463| v1463_1(void) = NoOp : +# 1453| v1453_4(void) = ReturnVoid : +# 1453| v1453_5(void) = AliasedUse : ~m? +# 1453| v1453_6(void) = ExitFunction : -# 1423| void temporary_unusual_fields() -# 1423| Block 0 -# 1423| v1423_1(void) = EnterFunction : -# 1423| mu1423_2(unknown) = AliasedDefinition : -# 1423| mu1423_3(unknown) = InitializeNonLocal : -# 1424| r1424_1(glval) = VariableAddress[rx] : -# 1424| r1424_2(glval) = FunctionAddress[returnValue] : -# 1424| r1424_3(UnusualFields) = Call[returnValue] : func:r1424_2 -# 1424| mu1424_4(unknown) = ^CallSideEffect : ~m? -# 1424| r1424_5(glval) = VariableAddress[#temp1424:21] : -# 1424| mu1424_6(UnusualFields) = Store[#temp1424:21] : &:r1424_5, r1424_3 -# 1424| r1424_7(glval) = FieldAddress[r] : r1424_5 -# 1424| r1424_8(int &) = Load[?] : &:r1424_7, ~m? -# 1424| r1424_9(glval) = CopyValue : r1424_8 -# 1424| r1424_10(glval) = Convert : r1424_9 -# 1424| r1424_11(int &) = CopyValue : r1424_10 -# 1424| mu1424_12(int &) = Store[rx] : &:r1424_1, r1424_11 -# 1425| r1425_1(glval) = VariableAddress[x] : -# 1425| r1425_2(glval) = FunctionAddress[returnValue] : -# 1425| r1425_3(UnusualFields) = Call[returnValue] : func:r1425_2 -# 1425| mu1425_4(unknown) = ^CallSideEffect : ~m? -# 1425| r1425_5(glval) = VariableAddress[#temp1425:13] : -# 1425| mu1425_6(UnusualFields) = Store[#temp1425:13] : &:r1425_5, r1425_3 -# 1425| r1425_7(glval) = FieldAddress[r] : r1425_5 -# 1425| r1425_8(int &) = Load[?] : &:r1425_7, ~m? -# 1425| r1425_9(int) = Load[?] : &:r1425_8, ~m? -# 1425| mu1425_10(int) = Store[x] : &:r1425_1, r1425_9 -# 1427| r1427_1(glval) = VariableAddress[rf] : -# 1427| r1427_2(glval) = FunctionAddress[returnValue] : -# 1427| r1427_3(UnusualFields) = Call[returnValue] : func:r1427_2 -# 1427| mu1427_4(unknown) = ^CallSideEffect : ~m? -# 1427| r1427_5(glval) = VariableAddress[#temp1427:23] : -# 1427| mu1427_6(UnusualFields) = Store[#temp1427:23] : &:r1427_5, r1427_3 -# 1427| r1427_7(glval) = FieldAddress[a] : r1427_5 -# 1427| r1427_8(float *) = Convert : r1427_7 -# 1427| r1427_9(int) = Constant[3] : -# 1427| r1427_10(glval) = PointerAdd[4] : r1427_8, r1427_9 -# 1427| r1427_11(glval) = Convert : r1427_10 -# 1427| r1427_12(float &) = CopyValue : r1427_11 -# 1427| mu1427_13(float &) = Store[rf] : &:r1427_1, r1427_12 -# 1428| r1428_1(glval) = VariableAddress[f] : -# 1428| r1428_2(glval) = FunctionAddress[returnValue] : -# 1428| r1428_3(UnusualFields) = Call[returnValue] : func:r1428_2 -# 1428| mu1428_4(unknown) = ^CallSideEffect : ~m? -# 1428| r1428_5(glval) = VariableAddress[#temp1428:15] : -# 1428| mu1428_6(UnusualFields) = Store[#temp1428:15] : &:r1428_5, r1428_3 -# 1428| r1428_7(glval) = FieldAddress[a] : r1428_5 -# 1428| r1428_8(float *) = Convert : r1428_7 -# 1428| r1428_9(int) = Constant[5] : -# 1428| r1428_10(glval) = PointerAdd[4] : r1428_8, r1428_9 -# 1428| r1428_11(float) = Load[?] : &:r1428_10, ~m? -# 1428| mu1428_12(float) = Store[f] : &:r1428_1, r1428_11 -# 1429| v1429_1(void) = NoOp : -# 1423| v1423_4(void) = ReturnVoid : -# 1423| v1423_5(void) = AliasedUse : ~m? -# 1423| v1423_6(void) = ExitFunction : +# 1470| void temporary_unusual_fields() +# 1470| Block 0 +# 1470| v1470_1(void) = EnterFunction : +# 1470| mu1470_2(unknown) = AliasedDefinition : +# 1470| mu1470_3(unknown) = InitializeNonLocal : +# 1471| r1471_1(glval) = VariableAddress[rx] : +# 1471| r1471_2(glval) = FunctionAddress[returnValue] : +# 1471| r1471_3(UnusualFields) = Call[returnValue] : func:r1471_2 +# 1471| mu1471_4(unknown) = ^CallSideEffect : ~m? +# 1471| r1471_5(glval) = VariableAddress[#temp1471:21] : +# 1471| mu1471_6(UnusualFields) = Store[#temp1471:21] : &:r1471_5, r1471_3 +# 1471| r1471_7(glval) = FieldAddress[r] : r1471_5 +# 1471| r1471_8(int &) = Load[?] : &:r1471_7, ~m? +# 1471| r1471_9(glval) = CopyValue : r1471_8 +# 1471| r1471_10(glval) = Convert : r1471_9 +# 1471| r1471_11(int &) = CopyValue : r1471_10 +# 1471| mu1471_12(int &) = Store[rx] : &:r1471_1, r1471_11 +# 1472| r1472_1(glval) = VariableAddress[x] : +# 1472| r1472_2(glval) = FunctionAddress[returnValue] : +# 1472| r1472_3(UnusualFields) = Call[returnValue] : func:r1472_2 +# 1472| mu1472_4(unknown) = ^CallSideEffect : ~m? +# 1472| r1472_5(glval) = VariableAddress[#temp1472:13] : +# 1472| mu1472_6(UnusualFields) = Store[#temp1472:13] : &:r1472_5, r1472_3 +# 1472| r1472_7(glval) = FieldAddress[r] : r1472_5 +# 1472| r1472_8(int &) = Load[?] : &:r1472_7, ~m? +# 1472| r1472_9(int) = Load[?] : &:r1472_8, ~m? +# 1472| mu1472_10(int) = Store[x] : &:r1472_1, r1472_9 +# 1474| r1474_1(glval) = VariableAddress[rf] : +# 1474| r1474_2(glval) = FunctionAddress[returnValue] : +# 1474| r1474_3(UnusualFields) = Call[returnValue] : func:r1474_2 +# 1474| mu1474_4(unknown) = ^CallSideEffect : ~m? +# 1474| r1474_5(glval) = VariableAddress[#temp1474:23] : +# 1474| mu1474_6(UnusualFields) = Store[#temp1474:23] : &:r1474_5, r1474_3 +# 1474| r1474_7(glval) = FieldAddress[a] : r1474_5 +# 1474| r1474_8(float *) = Convert : r1474_7 +# 1474| r1474_9(int) = Constant[3] : +# 1474| r1474_10(glval) = PointerAdd[4] : r1474_8, r1474_9 +# 1474| r1474_11(glval) = Convert : r1474_10 +# 1474| r1474_12(float &) = CopyValue : r1474_11 +# 1474| mu1474_13(float &) = Store[rf] : &:r1474_1, r1474_12 +# 1475| r1475_1(glval) = VariableAddress[f] : +# 1475| r1475_2(glval) = FunctionAddress[returnValue] : +# 1475| r1475_3(UnusualFields) = Call[returnValue] : func:r1475_2 +# 1475| mu1475_4(unknown) = ^CallSideEffect : ~m? +# 1475| r1475_5(glval) = VariableAddress[#temp1475:15] : +# 1475| mu1475_6(UnusualFields) = Store[#temp1475:15] : &:r1475_5, r1475_3 +# 1475| r1475_7(glval) = FieldAddress[a] : r1475_5 +# 1475| r1475_8(float *) = Convert : r1475_7 +# 1475| r1475_9(int) = Constant[5] : +# 1475| r1475_10(glval) = PointerAdd[4] : r1475_8, r1475_9 +# 1475| r1475_11(float) = Load[?] : &:r1475_10, ~m? +# 1475| mu1475_12(float) = Store[f] : &:r1475_1, r1475_11 +# 1476| v1476_1(void) = NoOp : +# 1470| v1470_4(void) = ReturnVoid : +# 1470| v1470_5(void) = AliasedUse : ~m? +# 1470| v1470_6(void) = ExitFunction : -# 1445| void temporary_hierarchy() -# 1445| Block 0 -# 1445| v1445_1(void) = EnterFunction : -# 1445| mu1445_2(unknown) = AliasedDefinition : -# 1445| mu1445_3(unknown) = InitializeNonLocal : -# 1446| r1446_1(glval) = VariableAddress[b] : +# 1492| void temporary_hierarchy() +# 1492| Block 0 +# 1492| v1492_1(void) = EnterFunction : +# 1492| mu1492_2(unknown) = AliasedDefinition : +# 1492| mu1492_3(unknown) = InitializeNonLocal : +# 1493| r1493_1(glval) = VariableAddress[b] : #-----| r0_1(glval) = VariableAddress[#temp0:0] : -# 1446| r1446_2(glval) = FunctionAddress[returnValue] : -# 1446| r1446_3(POD_Middle) = Call[returnValue] : func:r1446_2 -# 1446| mu1446_4(unknown) = ^CallSideEffect : ~m? -# 1446| mu1446_5(POD_Middle) = Store[#temp0:0] : &:r0_1, r1446_3 +# 1493| r1493_2(glval) = FunctionAddress[returnValue] : +# 1493| r1493_3(POD_Middle) = Call[returnValue] : func:r1493_2 +# 1493| mu1493_4(unknown) = ^CallSideEffect : ~m? +# 1493| mu1493_5(POD_Middle) = Store[#temp0:0] : &:r0_1, r1493_3 #-----| r0_2(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_1 #-----| r0_3(POD_Base) = Load[?] : &:r0_2, ~m? -#-----| mu0_4(POD_Base) = Store[b] : &:r1446_1, r0_3 -# 1447| r1447_1(glval) = VariableAddress[#temp1447:9] : -# 1447| r1447_2(glval) = FunctionAddress[returnValue] : -# 1447| r1447_3(POD_Derived) = Call[returnValue] : func:r1447_2 -# 1447| mu1447_4(unknown) = ^CallSideEffect : ~m? -# 1447| mu1447_5(POD_Derived) = Store[#temp1447:9] : &:r1447_1, r1447_3 -# 1447| r1447_6(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r1447_1 -# 1447| r1447_7(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r1447_6 -# 1447| r1447_8(POD_Base) = Load[?] : &:r1447_7, ~m? -# 1447| r1447_9(glval) = VariableAddress[b] : -# 1447| mu1447_10(POD_Base) = Store[b] : &:r1447_9, r1447_8 -# 1448| r1448_1(glval) = VariableAddress[x] : +#-----| mu0_4(POD_Base) = Store[b] : &:r1493_1, r0_3 +# 1494| r1494_1(glval) = VariableAddress[#temp1494:9] : +# 1494| r1494_2(glval) = FunctionAddress[returnValue] : +# 1494| r1494_3(POD_Derived) = Call[returnValue] : func:r1494_2 +# 1494| mu1494_4(unknown) = ^CallSideEffect : ~m? +# 1494| mu1494_5(POD_Derived) = Store[#temp1494:9] : &:r1494_1, r1494_3 +# 1494| r1494_6(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r1494_1 +# 1494| r1494_7(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r1494_6 +# 1494| r1494_8(POD_Base) = Load[?] : &:r1494_7, ~m? +# 1494| r1494_9(glval) = VariableAddress[b] : +# 1494| mu1494_10(POD_Base) = Store[b] : &:r1494_9, r1494_8 +# 1495| r1495_1(glval) = VariableAddress[x] : #-----| r0_5(glval) = VariableAddress[#temp0:0] : -# 1448| r1448_2(glval) = FunctionAddress[returnValue] : -# 1448| r1448_3(POD_Derived) = Call[returnValue] : func:r1448_2 -# 1448| mu1448_4(unknown) = ^CallSideEffect : ~m? -# 1448| mu1448_5(POD_Derived) = Store[#temp0:0] : &:r0_5, r1448_3 +# 1495| r1495_2(glval) = FunctionAddress[returnValue] : +# 1495| r1495_3(POD_Derived) = Call[returnValue] : func:r1495_2 +# 1495| mu1495_4(unknown) = ^CallSideEffect : ~m? +# 1495| mu1495_5(POD_Derived) = Store[#temp0:0] : &:r0_5, r1495_3 #-----| r0_6(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r0_5 #-----| r0_7(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_6 -# 1448| r1448_6(glval) = FieldAddress[x] : r0_7 -# 1448| r1448_7(int) = Load[?] : &:r1448_6, ~m? -# 1448| mu1448_8(int) = Store[x] : &:r1448_1, r1448_7 -# 1449| r1449_1(glval) = VariableAddress[f] : +# 1495| r1495_6(glval) = FieldAddress[x] : r0_7 +# 1495| r1495_7(int) = Load[?] : &:r1495_6, ~m? +# 1495| mu1495_8(int) = Store[x] : &:r1495_1, r1495_7 +# 1496| r1496_1(glval) = VariableAddress[f] : #-----| r0_8(glval) = VariableAddress[#temp0:0] : -# 1449| r1449_2(glval) = FunctionAddress[returnValue] : -# 1449| r1449_3(POD_Derived) = Call[returnValue] : func:r1449_2 -# 1449| mu1449_4(unknown) = ^CallSideEffect : ~m? -# 1449| mu1449_5(POD_Derived) = Store[#temp0:0] : &:r0_8, r1449_3 +# 1496| r1496_2(glval) = FunctionAddress[returnValue] : +# 1496| r1496_3(POD_Derived) = Call[returnValue] : func:r1496_2 +# 1496| mu1496_4(unknown) = ^CallSideEffect : ~m? +# 1496| mu1496_5(POD_Derived) = Store[#temp0:0] : &:r0_8, r1496_3 #-----| r0_9(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r0_8 #-----| r0_10(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_9 #-----| r0_11(glval) = Convert : r0_10 -# 1449| r1449_6(glval) = FunctionAddress[f] : -# 1449| r1449_7(float) = Call[f] : func:r1449_6, this:r0_11 -# 1449| mu1449_8(unknown) = ^CallSideEffect : ~m? +# 1496| r1496_6(glval) = FunctionAddress[f] : +# 1496| r1496_7(float) = Call[f] : func:r1496_6, this:r0_11 +# 1496| mu1496_8(unknown) = ^CallSideEffect : ~m? #-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_11, ~m? -# 1449| mu1449_9(float) = Store[f] : &:r1449_1, r1449_7 -# 1450| v1450_1(void) = NoOp : -# 1445| v1445_4(void) = ReturnVoid : -# 1445| v1445_5(void) = AliasedUse : ~m? -# 1445| v1445_6(void) = ExitFunction : +# 1496| mu1496_9(float) = Store[f] : &:r1496_1, r1496_7 +# 1497| v1497_1(void) = NoOp : +# 1492| v1492_4(void) = ReturnVoid : +# 1492| v1492_5(void) = AliasedUse : ~m? +# 1492| v1492_6(void) = ExitFunction : -# 1453| void Inheritance_Test_B::~Inheritance_Test_B() -# 1453| Block 0 -# 1453| v1453_1(void) = EnterFunction : -# 1453| mu1453_2(unknown) = AliasedDefinition : -# 1453| mu1453_3(unknown) = InitializeNonLocal : -# 1453| r1453_4(glval) = VariableAddress[#this] : -# 1453| mu1453_5(glval) = InitializeParameter[#this] : &:r1453_4 -# 1453| r1453_6(glval) = Load[#this] : &:r1453_4, ~m? -# 1453| mu1453_7(Inheritance_Test_B) = InitializeIndirection[#this] : &:r1453_6 -# 1453| v1453_8(void) = NoOp : -# 1453| v1453_9(void) = ReturnIndirection[#this] : &:r1453_6, ~m? -# 1453| v1453_10(void) = ReturnVoid : -# 1453| v1453_11(void) = AliasedUse : ~m? -# 1453| v1453_12(void) = ExitFunction : +# 1500| void Inheritance_Test_B::~Inheritance_Test_B() +# 1500| Block 0 +# 1500| v1500_1(void) = EnterFunction : +# 1500| mu1500_2(unknown) = AliasedDefinition : +# 1500| mu1500_3(unknown) = InitializeNonLocal : +# 1500| r1500_4(glval) = VariableAddress[#this] : +# 1500| mu1500_5(glval) = InitializeParameter[#this] : &:r1500_4 +# 1500| r1500_6(glval) = Load[#this] : &:r1500_4, ~m? +# 1500| mu1500_7(Inheritance_Test_B) = InitializeIndirection[#this] : &:r1500_6 +# 1500| v1500_8(void) = NoOp : +# 1500| v1500_9(void) = ReturnIndirection[#this] : &:r1500_6, ~m? +# 1500| v1500_10(void) = ReturnVoid : +# 1500| v1500_11(void) = AliasedUse : ~m? +# 1500| v1500_12(void) = ExitFunction : -# 1459| void Inheritance_Test_A::Inheritance_Test_A() -# 1459| Block 0 -# 1459| v1459_1(void) = EnterFunction : -# 1459| mu1459_2(unknown) = AliasedDefinition : -# 1459| mu1459_3(unknown) = InitializeNonLocal : -# 1459| r1459_4(glval) = VariableAddress[#this] : -# 1459| mu1459_5(glval) = InitializeParameter[#this] : &:r1459_4 -# 1459| r1459_6(glval) = Load[#this] : &:r1459_4, ~m? -# 1459| mu1459_7(Inheritance_Test_A) = InitializeIndirection[#this] : &:r1459_6 -# 1459| r1459_8(glval) = FieldAddress[x] : mu1459_5 -# 1459| r1459_9(int) = Constant[42] : -# 1459| mu1459_10(int) = Store[?] : &:r1459_8, r1459_9 -# 1460| r1460_1(int) = Constant[3] : -# 1460| r1460_2(glval) = VariableAddress[#this] : -# 1460| r1460_3(Inheritance_Test_A *) = Load[#this] : &:r1460_2, ~m? -# 1460| r1460_4(glval) = FieldAddress[y] : r1460_3 -# 1460| mu1460_5(int) = Store[?] : &:r1460_4, r1460_1 -# 1461| v1461_1(void) = NoOp : -# 1459| v1459_11(void) = ReturnIndirection[#this] : &:r1459_6, ~m? -# 1459| v1459_12(void) = ReturnVoid : -# 1459| v1459_13(void) = AliasedUse : ~m? -# 1459| v1459_14(void) = ExitFunction : +# 1506| void Inheritance_Test_A::Inheritance_Test_A() +# 1506| Block 0 +# 1506| v1506_1(void) = EnterFunction : +# 1506| mu1506_2(unknown) = AliasedDefinition : +# 1506| mu1506_3(unknown) = InitializeNonLocal : +# 1506| r1506_4(glval) = VariableAddress[#this] : +# 1506| mu1506_5(glval) = InitializeParameter[#this] : &:r1506_4 +# 1506| r1506_6(glval) = Load[#this] : &:r1506_4, ~m? +# 1506| mu1506_7(Inheritance_Test_A) = InitializeIndirection[#this] : &:r1506_6 +# 1506| r1506_8(glval) = FieldAddress[x] : mu1506_5 +# 1506| r1506_9(int) = Constant[42] : +# 1506| mu1506_10(int) = Store[?] : &:r1506_8, r1506_9 +# 1507| r1507_1(int) = Constant[3] : +# 1507| r1507_2(glval) = VariableAddress[#this] : +# 1507| r1507_3(Inheritance_Test_A *) = Load[#this] : &:r1507_2, ~m? +# 1507| r1507_4(glval) = FieldAddress[y] : r1507_3 +# 1507| mu1507_5(int) = Store[?] : &:r1507_4, r1507_1 +# 1508| v1508_1(void) = NoOp : +# 1506| v1506_11(void) = ReturnIndirection[#this] : &:r1506_6, ~m? +# 1506| v1506_12(void) = ReturnVoid : +# 1506| v1506_13(void) = AliasedUse : ~m? +# 1506| v1506_14(void) = ExitFunction : -# 1464| void array_structured_binding() -# 1464| Block 0 -# 1464| v1464_1(void) = EnterFunction : -# 1464| mu1464_2(unknown) = AliasedDefinition : -# 1464| mu1464_3(unknown) = InitializeNonLocal : -# 1465| r1465_1(glval) = VariableAddress[xs] : -# 1465| mu1465_2(int[2]) = Uninitialized[xs] : &:r1465_1 -# 1465| r1465_3(int) = Constant[0] : -# 1465| r1465_4(glval) = PointerAdd[4] : r1465_1, r1465_3 -# 1465| r1465_5(int) = Constant[1] : -# 1465| mu1465_6(int) = Store[?] : &:r1465_4, r1465_5 -# 1465| r1465_7(int) = Constant[1] : -# 1465| r1465_8(glval) = PointerAdd[4] : r1465_1, r1465_7 -# 1465| r1465_9(int) = Constant[2] : -# 1465| mu1465_10(int) = Store[?] : &:r1465_8, r1465_9 -# 1468| r1468_1(glval) = VariableAddress[(unnamed local variable)] : -# 1468| r1468_2(glval) = VariableAddress[xs] : -# 1468| r1468_3(int(&)[2]) = CopyValue : r1468_2 -# 1468| mu1468_4(int(&)[2]) = Store[(unnamed local variable)] : &:r1468_1, r1468_3 -# 1468| r1468_5(glval) = VariableAddress[x0] : +# 1511| void array_structured_binding() +# 1511| Block 0 +# 1511| v1511_1(void) = EnterFunction : +# 1511| mu1511_2(unknown) = AliasedDefinition : +# 1511| mu1511_3(unknown) = InitializeNonLocal : +# 1512| r1512_1(glval) = VariableAddress[xs] : +# 1512| mu1512_2(int[2]) = Uninitialized[xs] : &:r1512_1 +# 1512| r1512_3(int) = Constant[0] : +# 1512| r1512_4(glval) = PointerAdd[4] : r1512_1, r1512_3 +# 1512| r1512_5(int) = Constant[1] : +# 1512| mu1512_6(int) = Store[?] : &:r1512_4, r1512_5 +# 1512| r1512_7(int) = Constant[1] : +# 1512| r1512_8(glval) = PointerAdd[4] : r1512_1, r1512_7 +# 1512| r1512_9(int) = Constant[2] : +# 1512| mu1512_10(int) = Store[?] : &:r1512_8, r1512_9 +# 1515| r1515_1(glval) = VariableAddress[(unnamed local variable)] : +# 1515| r1515_2(glval) = VariableAddress[xs] : +# 1515| r1515_3(int(&)[2]) = CopyValue : r1515_2 +# 1515| mu1515_4(int(&)[2]) = Store[(unnamed local variable)] : &:r1515_1, r1515_3 +# 1515| r1515_5(glval) = VariableAddress[x0] : #-----| r0_1(glval) = VariableAddress[(unnamed local variable)] : #-----| r0_2(int(&)[2]) = Load[(unnamed local variable)] : &:r0_1, ~m? #-----| r0_3(glval) = CopyValue : r0_2 #-----| r0_4(int *) = Convert : r0_3 #-----| r0_5(unsigned long) = Constant[0] : #-----| r0_6(glval) = PointerAdd[4] : r0_4, r0_5 -#-----| mu0_7(int &) = Store[x0] : &:r1468_5, r0_6 -# 1468| r1468_6(glval) = VariableAddress[x1] : +#-----| mu0_7(int &) = Store[x0] : &:r1515_5, r0_6 +# 1515| r1515_6(glval) = VariableAddress[x1] : #-----| r0_8(glval) = VariableAddress[(unnamed local variable)] : #-----| r0_9(int(&)[2]) = Load[(unnamed local variable)] : &:r0_8, ~m? #-----| r0_10(glval) = CopyValue : r0_9 #-----| r0_11(int *) = Convert : r0_10 #-----| r0_12(unsigned long) = Constant[1] : #-----| r0_13(glval) = PointerAdd[4] : r0_11, r0_12 -#-----| mu0_14(int &) = Store[x1] : &:r1468_6, r0_13 -# 1469| r1469_1(int) = Constant[3] : -# 1469| r1469_2(glval) = VariableAddress[x1] : -# 1469| r1469_3(int &) = Load[x1] : &:r1469_2, ~m? -# 1469| mu1469_4(int) = Store[?] : &:r1469_3, r1469_1 -# 1470| r1470_1(glval) = VariableAddress[rx1] : -# 1470| r1470_2(glval) = VariableAddress[x1] : -# 1470| r1470_3(int &) = Load[x1] : &:r1470_2, ~m? -# 1470| r1470_4(int &) = CopyValue : r1470_3 -# 1470| mu1470_5(int &) = Store[rx1] : &:r1470_1, r1470_4 -# 1471| r1471_1(glval) = VariableAddress[x] : -# 1471| r1471_2(glval) = VariableAddress[x1] : -# 1471| r1471_3(int &) = Load[x1] : &:r1471_2, ~m? -# 1471| r1471_4(int) = Load[?] : &:r1471_3, ~m? -# 1471| mu1471_5(int) = Store[x] : &:r1471_1, r1471_4 -# 1475| r1475_1(glval) = VariableAddress[unnamed_local_variable] : -# 1475| r1475_2(glval) = VariableAddress[xs] : -# 1475| r1475_3(int(&)[2]) = CopyValue : r1475_2 -# 1475| mu1475_4(int(&)[2]) = Store[unnamed_local_variable] : &:r1475_1, r1475_3 -# 1476| r1476_1(glval) = VariableAddress[x0] : -# 1476| r1476_2(glval) = VariableAddress[unnamed_local_variable] : -# 1476| r1476_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1476_2, ~m? -# 1476| r1476_4(glval) = CopyValue : r1476_3 -# 1476| r1476_5(int *) = Convert : r1476_4 -# 1476| r1476_6(int) = Constant[0] : -# 1476| r1476_7(glval) = PointerAdd[4] : r1476_5, r1476_6 -# 1476| r1476_8(int &) = CopyValue : r1476_7 -# 1476| mu1476_9(int &) = Store[x0] : &:r1476_1, r1476_8 -# 1477| r1477_1(glval) = VariableAddress[x1] : -# 1477| r1477_2(glval) = VariableAddress[unnamed_local_variable] : -# 1477| r1477_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1477_2, ~m? -# 1477| r1477_4(glval) = CopyValue : r1477_3 -# 1477| r1477_5(int *) = Convert : r1477_4 -# 1477| r1477_6(int) = Constant[1] : -# 1477| r1477_7(glval) = PointerAdd[4] : r1477_5, r1477_6 -# 1477| r1477_8(int &) = CopyValue : r1477_7 -# 1477| mu1477_9(int &) = Store[x1] : &:r1477_1, r1477_8 -# 1478| r1478_1(int) = Constant[3] : -# 1478| r1478_2(glval) = VariableAddress[x1] : -# 1478| r1478_3(int &) = Load[x1] : &:r1478_2, ~m? -# 1478| r1478_4(glval) = CopyValue : r1478_3 -# 1478| mu1478_5(int) = Store[?] : &:r1478_4, r1478_1 -# 1479| r1479_1(glval) = VariableAddress[rx1] : -# 1479| r1479_2(glval) = VariableAddress[x1] : -# 1479| r1479_3(int &) = Load[x1] : &:r1479_2, ~m? -# 1479| r1479_4(glval) = CopyValue : r1479_3 -# 1479| r1479_5(int &) = CopyValue : r1479_4 -# 1479| mu1479_6(int &) = Store[rx1] : &:r1479_1, r1479_5 -# 1480| r1480_1(glval) = VariableAddress[x] : -# 1480| r1480_2(glval) = VariableAddress[x1] : -# 1480| r1480_3(int &) = Load[x1] : &:r1480_2, ~m? -# 1480| r1480_4(int) = Load[?] : &:r1480_3, ~m? -# 1480| mu1480_5(int) = Store[x] : &:r1480_1, r1480_4 -# 1482| v1482_1(void) = NoOp : -# 1464| v1464_4(void) = ReturnVoid : -# 1464| v1464_5(void) = AliasedUse : ~m? -# 1464| v1464_6(void) = ExitFunction : +#-----| mu0_14(int &) = Store[x1] : &:r1515_6, r0_13 +# 1516| r1516_1(int) = Constant[3] : +# 1516| r1516_2(glval) = VariableAddress[x1] : +# 1516| r1516_3(int &) = Load[x1] : &:r1516_2, ~m? +# 1516| mu1516_4(int) = Store[?] : &:r1516_3, r1516_1 +# 1517| r1517_1(glval) = VariableAddress[rx1] : +# 1517| r1517_2(glval) = VariableAddress[x1] : +# 1517| r1517_3(int &) = Load[x1] : &:r1517_2, ~m? +# 1517| r1517_4(int &) = CopyValue : r1517_3 +# 1517| mu1517_5(int &) = Store[rx1] : &:r1517_1, r1517_4 +# 1518| r1518_1(glval) = VariableAddress[x] : +# 1518| r1518_2(glval) = VariableAddress[x1] : +# 1518| r1518_3(int &) = Load[x1] : &:r1518_2, ~m? +# 1518| r1518_4(int) = Load[?] : &:r1518_3, ~m? +# 1518| mu1518_5(int) = Store[x] : &:r1518_1, r1518_4 +# 1522| r1522_1(glval) = VariableAddress[unnamed_local_variable] : +# 1522| r1522_2(glval) = VariableAddress[xs] : +# 1522| r1522_3(int(&)[2]) = CopyValue : r1522_2 +# 1522| mu1522_4(int(&)[2]) = Store[unnamed_local_variable] : &:r1522_1, r1522_3 +# 1523| r1523_1(glval) = VariableAddress[x0] : +# 1523| r1523_2(glval) = VariableAddress[unnamed_local_variable] : +# 1523| r1523_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1523_2, ~m? +# 1523| r1523_4(glval) = CopyValue : r1523_3 +# 1523| r1523_5(int *) = Convert : r1523_4 +# 1523| r1523_6(int) = Constant[0] : +# 1523| r1523_7(glval) = PointerAdd[4] : r1523_5, r1523_6 +# 1523| r1523_8(int &) = CopyValue : r1523_7 +# 1523| mu1523_9(int &) = Store[x0] : &:r1523_1, r1523_8 +# 1524| r1524_1(glval) = VariableAddress[x1] : +# 1524| r1524_2(glval) = VariableAddress[unnamed_local_variable] : +# 1524| r1524_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1524_2, ~m? +# 1524| r1524_4(glval) = CopyValue : r1524_3 +# 1524| r1524_5(int *) = Convert : r1524_4 +# 1524| r1524_6(int) = Constant[1] : +# 1524| r1524_7(glval) = PointerAdd[4] : r1524_5, r1524_6 +# 1524| r1524_8(int &) = CopyValue : r1524_7 +# 1524| mu1524_9(int &) = Store[x1] : &:r1524_1, r1524_8 +# 1525| r1525_1(int) = Constant[3] : +# 1525| r1525_2(glval) = VariableAddress[x1] : +# 1525| r1525_3(int &) = Load[x1] : &:r1525_2, ~m? +# 1525| r1525_4(glval) = CopyValue : r1525_3 +# 1525| mu1525_5(int) = Store[?] : &:r1525_4, r1525_1 +# 1526| r1526_1(glval) = VariableAddress[rx1] : +# 1526| r1526_2(glval) = VariableAddress[x1] : +# 1526| r1526_3(int &) = Load[x1] : &:r1526_2, ~m? +# 1526| r1526_4(glval) = CopyValue : r1526_3 +# 1526| r1526_5(int &) = CopyValue : r1526_4 +# 1526| mu1526_6(int &) = Store[rx1] : &:r1526_1, r1526_5 +# 1527| r1527_1(glval) = VariableAddress[x] : +# 1527| r1527_2(glval) = VariableAddress[x1] : +# 1527| r1527_3(int &) = Load[x1] : &:r1527_2, ~m? +# 1527| r1527_4(int) = Load[?] : &:r1527_3, ~m? +# 1527| mu1527_5(int) = Store[x] : &:r1527_1, r1527_4 +# 1529| v1529_1(void) = NoOp : +# 1511| v1511_4(void) = ReturnVoid : +# 1511| v1511_5(void) = AliasedUse : ~m? +# 1511| v1511_6(void) = ExitFunction : -# 1484| void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct() -# 1484| Block 0 -# 1484| v1484_1(void) = EnterFunction : -# 1484| mu1484_2(unknown) = AliasedDefinition : -# 1484| mu1484_3(unknown) = InitializeNonLocal : -# 1484| r1484_4(glval) = VariableAddress[#this] : -# 1484| mu1484_5(glval) = InitializeParameter[#this] : &:r1484_4 -# 1484| r1484_6(glval) = Load[#this] : &:r1484_4, ~m? -# 1484| mu1484_7(StructuredBindingDataMemberMemberStruct) = InitializeIndirection[#this] : &:r1484_6 -# 1484| v1484_8(void) = NoOp : -# 1484| v1484_9(void) = ReturnIndirection[#this] : &:r1484_6, ~m? -# 1484| v1484_10(void) = ReturnVoid : -# 1484| v1484_11(void) = AliasedUse : ~m? -# 1484| v1484_12(void) = ExitFunction : +# 1531| void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct() +# 1531| Block 0 +# 1531| v1531_1(void) = EnterFunction : +# 1531| mu1531_2(unknown) = AliasedDefinition : +# 1531| mu1531_3(unknown) = InitializeNonLocal : +# 1531| r1531_4(glval) = VariableAddress[#this] : +# 1531| mu1531_5(glval) = InitializeParameter[#this] : &:r1531_4 +# 1531| r1531_6(glval) = Load[#this] : &:r1531_4, ~m? +# 1531| mu1531_7(StructuredBindingDataMemberMemberStruct) = InitializeIndirection[#this] : &:r1531_6 +# 1531| v1531_8(void) = NoOp : +# 1531| v1531_9(void) = ReturnIndirection[#this] : &:r1531_6, ~m? +# 1531| v1531_10(void) = ReturnVoid : +# 1531| v1531_11(void) = AliasedUse : ~m? +# 1531| v1531_12(void) = ExitFunction : -# 1488| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() -# 1488| Block 0 -# 1488| v1488_1(void) = EnterFunction : -# 1488| mu1488_2(unknown) = AliasedDefinition : -# 1488| mu1488_3(unknown) = InitializeNonLocal : -# 1488| r1488_4(glval) = VariableAddress[#this] : -# 1488| mu1488_5(glval) = InitializeParameter[#this] : &:r1488_4 -# 1488| r1488_6(glval) = Load[#this] : &:r1488_4, ~m? -# 1488| mu1488_7(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1488_6 +# 1535| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() +# 1535| Block 0 +# 1535| v1535_1(void) = EnterFunction : +# 1535| mu1535_2(unknown) = AliasedDefinition : +# 1535| mu1535_3(unknown) = InitializeNonLocal : +# 1535| r1535_4(glval) = VariableAddress[#this] : +# 1535| mu1535_5(glval) = InitializeParameter[#this] : &:r1535_4 +# 1535| r1535_6(glval) = Load[#this] : &:r1535_4, ~m? +# 1535| mu1535_7(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1535_6 #-----| Goto -> Block 2 -# 1488| Block 1 -# 1488| r1488_8(glval) = FieldAddress[m] : mu1488_5 -# 1488| r1488_9(glval) = FunctionAddress[StructuredBindingDataMemberMemberStruct] : -# 1488| v1488_10(void) = Call[StructuredBindingDataMemberMemberStruct] : func:r1488_9, this:r1488_8 -# 1488| mu1488_11(unknown) = ^CallSideEffect : ~m? -# 1488| mu1488_12(StructuredBindingDataMemberMemberStruct) = ^IndirectMayWriteSideEffect[-1] : &:r1488_8 +# 1535| Block 1 +# 1535| r1535_8(glval) = FieldAddress[m] : mu1535_5 +# 1535| r1535_9(glval) = FunctionAddress[StructuredBindingDataMemberMemberStruct] : +# 1535| v1535_10(void) = Call[StructuredBindingDataMemberMemberStruct] : func:r1535_9, this:r1535_8 +# 1535| mu1535_11(unknown) = ^CallSideEffect : ~m? +# 1535| mu1535_12(StructuredBindingDataMemberMemberStruct) = ^IndirectMayWriteSideEffect[-1] : &:r1535_8 #-----| Goto -> Block 2 -# 1488| Block 2 -# 1488| v1488_13(void) = NoOp : -# 1488| v1488_14(void) = ReturnIndirection[#this] : &:r1488_6, ~m? -# 1488| v1488_15(void) = ReturnVoid : -# 1488| v1488_16(void) = AliasedUse : ~m? -# 1488| v1488_17(void) = ExitFunction : +# 1535| Block 2 +# 1535| v1535_13(void) = NoOp : +# 1535| v1535_14(void) = ReturnIndirection[#this] : &:r1535_6, ~m? +# 1535| v1535_15(void) = ReturnVoid : +# 1535| v1535_16(void) = AliasedUse : ~m? +# 1535| v1535_17(void) = ExitFunction : -# 1488| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&) -# 1488| Block 0 -# 1488| v1488_1(void) = EnterFunction : -# 1488| mu1488_2(unknown) = AliasedDefinition : -# 1488| mu1488_3(unknown) = InitializeNonLocal : -# 1488| r1488_4(glval) = VariableAddress[#this] : -# 1488| mu1488_5(glval) = InitializeParameter[#this] : &:r1488_4 -# 1488| r1488_6(glval) = Load[#this] : &:r1488_4, ~m? -# 1488| mu1488_7(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1488_6 +# 1535| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&) +# 1535| Block 0 +# 1535| v1535_1(void) = EnterFunction : +# 1535| mu1535_2(unknown) = AliasedDefinition : +# 1535| mu1535_3(unknown) = InitializeNonLocal : +# 1535| r1535_4(glval) = VariableAddress[#this] : +# 1535| mu1535_5(glval) = InitializeParameter[#this] : &:r1535_4 +# 1535| r1535_6(glval) = Load[#this] : &:r1535_4, ~m? +# 1535| mu1535_7(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1535_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(StructuredBindingDataMemberStruct &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r0_1, ~m? #-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1488| r1488_8(glval) = FieldAddress[i] : mu1488_5 -# 1488| r1488_9(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_10(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_9, ~m? -# 1488| r1488_11(glval) = CopyValue : r1488_10 -# 1488| r1488_12(glval) = FieldAddress[i] : r1488_11 -# 1488| r1488_13(int) = Load[?] : &:r1488_12, ~m? -# 1488| mu1488_14(int) = Store[?] : &:r1488_8, r1488_13 -# 1488| r1488_15(glval) = FieldAddress[d] : mu1488_5 -# 1488| r1488_16(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_17(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_16, ~m? -# 1488| r1488_18(glval) = CopyValue : r1488_17 -# 1488| r1488_19(glval) = FieldAddress[d] : r1488_18 -# 1488| r1488_20(double) = Load[?] : &:r1488_19, ~m? -# 1488| mu1488_21(double) = Store[?] : &:r1488_15, r1488_20 -# 1488| r1488_22(glval) = FieldAddress[b] : mu1488_5 -# 1488| r1488_23(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_24(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_23, ~m? -# 1488| r1488_25(glval) = CopyValue : r1488_24 -# 1488| r1488_26(glval) = FieldAddress[b] : r1488_25 -# 1488| r1488_27(unsigned int) = Load[?] : &:r1488_26, ~m? -# 1488| mu1488_28(unsigned int) = Store[?] : &:r1488_22, r1488_27 -# 1488| r1488_29(glval) = FieldAddress[r] : mu1488_5 -# 1488| r1488_30(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_31(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_30, ~m? -# 1488| r1488_32(glval) = CopyValue : r1488_31 -# 1488| r1488_33(glval) = FieldAddress[r] : r1488_32 -# 1488| r1488_34(int &) = Load[?] : &:r1488_33, ~m? -# 1488| mu1488_35(int &) = Store[?] : &:r1488_29, r1488_34 -# 1488| r1488_36(glval) = FieldAddress[p] : mu1488_5 -# 1488| r1488_37(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_38(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_37, ~m? -# 1488| r1488_39(glval) = CopyValue : r1488_38 -# 1488| r1488_40(glval) = FieldAddress[p] : r1488_39 -# 1488| r1488_41(int *) = Load[?] : &:r1488_40, ~m? -# 1488| mu1488_42(int *) = Store[?] : &:r1488_36, r1488_41 -# 1488| r1488_43(glval) = FieldAddress[xs] : mu1488_5 -# 1488| r1488_44(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_45(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_44, ~m? -# 1488| r1488_46(glval) = CopyValue : r1488_45 -# 1488| r1488_47(glval) = FieldAddress[xs] : r1488_46 -# 1488| r1488_48(int[2]) = Load[?] : &:r1488_47, ~m? -# 1488| mu1488_49(int[2]) = Store[?] : &:r1488_43, r1488_48 -# 1488| r1488_50(glval) = FieldAddress[r_alt] : mu1488_5 -# 1488| r1488_51(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_52(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_51, ~m? -# 1488| r1488_53(glval) = CopyValue : r1488_52 -# 1488| r1488_54(glval) = FieldAddress[r_alt] : r1488_53 -# 1488| r1488_55(int &) = Load[?] : &:r1488_54, ~m? -# 1488| mu1488_56(int &) = Store[?] : &:r1488_50, r1488_55 -# 1488| r1488_57(glval) = FieldAddress[m] : mu1488_5 -# 1488| r1488_58(glval) = VariableAddress[(unnamed parameter 0)] : -# 1488| r1488_59(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1488_58, ~m? -# 1488| r1488_60(glval) = CopyValue : r1488_59 -# 1488| r1488_61(glval) = FieldAddress[m] : r1488_60 -# 1488| r1488_62(StructuredBindingDataMemberMemberStruct) = Load[?] : &:r1488_61, ~m? -# 1488| mu1488_63(StructuredBindingDataMemberMemberStruct) = Store[?] : &:r1488_57, r1488_62 -# 1488| v1488_64(void) = NoOp : -# 1488| v1488_65(void) = ReturnIndirection[#this] : &:r1488_6, ~m? +# 1535| r1535_8(glval) = FieldAddress[i] : mu1535_5 +# 1535| r1535_9(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_10(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_9, ~m? +# 1535| r1535_11(glval) = CopyValue : r1535_10 +# 1535| r1535_12(glval) = FieldAddress[i] : r1535_11 +# 1535| r1535_13(int) = Load[?] : &:r1535_12, ~m? +# 1535| mu1535_14(int) = Store[?] : &:r1535_8, r1535_13 +# 1535| r1535_15(glval) = FieldAddress[d] : mu1535_5 +# 1535| r1535_16(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_17(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_16, ~m? +# 1535| r1535_18(glval) = CopyValue : r1535_17 +# 1535| r1535_19(glval) = FieldAddress[d] : r1535_18 +# 1535| r1535_20(double) = Load[?] : &:r1535_19, ~m? +# 1535| mu1535_21(double) = Store[?] : &:r1535_15, r1535_20 +# 1535| r1535_22(glval) = FieldAddress[b] : mu1535_5 +# 1535| r1535_23(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_24(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_23, ~m? +# 1535| r1535_25(glval) = CopyValue : r1535_24 +# 1535| r1535_26(glval) = FieldAddress[b] : r1535_25 +# 1535| r1535_27(unsigned int) = Load[?] : &:r1535_26, ~m? +# 1535| mu1535_28(unsigned int) = Store[?] : &:r1535_22, r1535_27 +# 1535| r1535_29(glval) = FieldAddress[r] : mu1535_5 +# 1535| r1535_30(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_31(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_30, ~m? +# 1535| r1535_32(glval) = CopyValue : r1535_31 +# 1535| r1535_33(glval) = FieldAddress[r] : r1535_32 +# 1535| r1535_34(int &) = Load[?] : &:r1535_33, ~m? +# 1535| mu1535_35(int &) = Store[?] : &:r1535_29, r1535_34 +# 1535| r1535_36(glval) = FieldAddress[p] : mu1535_5 +# 1535| r1535_37(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_38(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_37, ~m? +# 1535| r1535_39(glval) = CopyValue : r1535_38 +# 1535| r1535_40(glval) = FieldAddress[p] : r1535_39 +# 1535| r1535_41(int *) = Load[?] : &:r1535_40, ~m? +# 1535| mu1535_42(int *) = Store[?] : &:r1535_36, r1535_41 +# 1535| r1535_43(glval) = FieldAddress[xs] : mu1535_5 +# 1535| r1535_44(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_45(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_44, ~m? +# 1535| r1535_46(glval) = CopyValue : r1535_45 +# 1535| r1535_47(glval) = FieldAddress[xs] : r1535_46 +# 1535| r1535_48(int[2]) = Load[?] : &:r1535_47, ~m? +# 1535| mu1535_49(int[2]) = Store[?] : &:r1535_43, r1535_48 +# 1535| r1535_50(glval) = FieldAddress[r_alt] : mu1535_5 +# 1535| r1535_51(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_52(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_51, ~m? +# 1535| r1535_53(glval) = CopyValue : r1535_52 +# 1535| r1535_54(glval) = FieldAddress[r_alt] : r1535_53 +# 1535| r1535_55(int &) = Load[?] : &:r1535_54, ~m? +# 1535| mu1535_56(int &) = Store[?] : &:r1535_50, r1535_55 +# 1535| r1535_57(glval) = FieldAddress[m] : mu1535_5 +# 1535| r1535_58(glval) = VariableAddress[(unnamed parameter 0)] : +# 1535| r1535_59(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1535_58, ~m? +# 1535| r1535_60(glval) = CopyValue : r1535_59 +# 1535| r1535_61(glval) = FieldAddress[m] : r1535_60 +# 1535| r1535_62(StructuredBindingDataMemberMemberStruct) = Load[?] : &:r1535_61, ~m? +# 1535| mu1535_63(StructuredBindingDataMemberMemberStruct) = Store[?] : &:r1535_57, r1535_62 +# 1535| v1535_64(void) = NoOp : +# 1535| v1535_65(void) = ReturnIndirection[#this] : &:r1535_6, ~m? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1488| v1488_66(void) = ReturnVoid : -# 1488| v1488_67(void) = AliasedUse : ~m? -# 1488| v1488_68(void) = ExitFunction : +# 1535| v1535_66(void) = ReturnVoid : +# 1535| v1535_67(void) = AliasedUse : ~m? +# 1535| v1535_68(void) = ExitFunction : -# 1501| void data_member_structured_binding() -# 1501| Block 0 -# 1501| v1501_1(void) = EnterFunction : -# 1501| mu1501_2(unknown) = AliasedDefinition : -# 1501| mu1501_3(unknown) = InitializeNonLocal : -# 1502| r1502_1(glval) = VariableAddress[s] : -# 1502| mu1502_2(StructuredBindingDataMemberStruct) = Uninitialized[s] : &:r1502_1 -# 1502| r1502_3(glval) = FunctionAddress[StructuredBindingDataMemberStruct] : -# 1502| v1502_4(void) = Call[StructuredBindingDataMemberStruct] : func:r1502_3, this:r1502_1 -# 1502| mu1502_5(unknown) = ^CallSideEffect : ~m? -# 1502| mu1502_6(StructuredBindingDataMemberStruct) = ^IndirectMayWriteSideEffect[-1] : &:r1502_1 -# 1505| r1505_1(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_2(glval) = VariableAddress[s] : -# 1505| r1505_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1505_2, ~m? -# 1505| mu1505_4(StructuredBindingDataMemberStruct) = Store[(unnamed local variable)] : &:r1505_1, r1505_3 -# 1505| r1505_5(glval) = VariableAddress[i] : -# 1505| r1505_6(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_7(glval) = FieldAddress[i] : r1505_6 -# 1505| mu1505_8(int &) = Store[i] : &:r1505_5, r1505_7 -# 1505| r1505_9(glval) = VariableAddress[d] : -# 1505| r1505_10(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_11(glval) = FieldAddress[d] : r1505_10 -# 1505| mu1505_12(double &) = Store[d] : &:r1505_9, r1505_11 -# 1505| r1505_13(glval) = VariableAddress[b] : -# 1505| r1505_14(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_15(glval) = FieldAddress[b] : r1505_14 -# 1505| mu1505_16(unsigned int &) = Store[b] : &:r1505_13, r1505_15 -# 1505| r1505_17(glval) = VariableAddress[r] : -# 1505| r1505_18(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_19(glval) = FieldAddress[r] : r1505_18 -# 1505| r1505_20(int &) = Load[?] : &:r1505_19, ~m? -# 1505| r1505_21(glval) = CopyValue : r1505_20 -# 1505| mu1505_22(int &) = Store[r] : &:r1505_17, r1505_21 -# 1505| r1505_23(glval) = VariableAddress[p] : -# 1505| r1505_24(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_25(glval) = FieldAddress[p] : r1505_24 -# 1505| mu1505_26(int *&) = Store[p] : &:r1505_23, r1505_25 -# 1505| r1505_27(glval) = VariableAddress[xs] : -# 1505| r1505_28(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_29(glval) = FieldAddress[xs] : r1505_28 -# 1505| mu1505_30(int(&)[2]) = Store[xs] : &:r1505_27, r1505_29 -# 1505| r1505_31(glval) = VariableAddress[r_alt] : -# 1505| r1505_32(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_33(glval) = FieldAddress[r_alt] : r1505_32 -# 1505| r1505_34(int &) = Load[?] : &:r1505_33, ~m? -# 1505| r1505_35(glval) = CopyValue : r1505_34 -# 1505| mu1505_36(int &) = Store[r_alt] : &:r1505_31, r1505_35 -# 1505| r1505_37(glval) = VariableAddress[m] : -# 1505| r1505_38(glval) = VariableAddress[(unnamed local variable)] : -# 1505| r1505_39(glval) = FieldAddress[m] : r1505_38 -# 1505| mu1505_40(StructuredBindingDataMemberMemberStruct &) = Store[m] : &:r1505_37, r1505_39 -# 1506| r1506_1(double) = Constant[4.0] : -# 1506| r1506_2(glval) = VariableAddress[d] : -# 1506| r1506_3(double &) = Load[d] : &:r1506_2, ~m? -# 1506| mu1506_4(double) = Store[?] : &:r1506_3, r1506_1 -# 1507| r1507_1(glval) = VariableAddress[rd] : -# 1507| r1507_2(glval) = VariableAddress[d] : -# 1507| r1507_3(double &) = Load[d] : &:r1507_2, ~m? -# 1507| r1507_4(double &) = CopyValue : r1507_3 -# 1507| mu1507_5(double &) = Store[rd] : &:r1507_1, r1507_4 -# 1508| r1508_1(glval) = VariableAddress[v] : -# 1508| r1508_2(glval) = VariableAddress[i] : -# 1508| r1508_3(int &) = Load[i] : &:r1508_2, ~m? -# 1508| r1508_4(int) = Load[?] : &:r1508_3, ~m? -# 1508| mu1508_5(int) = Store[v] : &:r1508_1, r1508_4 -# 1509| r1509_1(int) = Constant[5] : -# 1509| r1509_2(glval) = VariableAddress[r] : -# 1509| r1509_3(int &) = Load[r] : &:r1509_2, ~m? -# 1509| mu1509_4(int) = Store[?] : &:r1509_3, r1509_1 -# 1510| r1510_1(int) = Constant[6] : -# 1510| r1510_2(glval) = VariableAddress[p] : -# 1510| r1510_3(int *&) = Load[p] : &:r1510_2, ~m? -# 1510| r1510_4(int *) = Load[?] : &:r1510_3, ~m? -# 1510| r1510_5(glval) = CopyValue : r1510_4 -# 1510| mu1510_6(int) = Store[?] : &:r1510_5, r1510_1 -# 1511| r1511_1(glval) = VariableAddress[rr] : -# 1511| r1511_2(glval) = VariableAddress[r] : -# 1511| r1511_3(int &) = Load[r] : &:r1511_2, ~m? -# 1511| r1511_4(int &) = CopyValue : r1511_3 -# 1511| mu1511_5(int &) = Store[rr] : &:r1511_1, r1511_4 -# 1512| r1512_1(glval) = VariableAddress[pr] : -# 1512| r1512_2(glval) = VariableAddress[r] : -# 1512| r1512_3(int &) = Load[r] : &:r1512_2, ~m? -# 1512| r1512_4(int *) = CopyValue : r1512_3 -# 1512| mu1512_5(int *) = Store[pr] : &:r1512_1, r1512_4 -# 1513| r1513_1(glval) = VariableAddress[w] : -# 1513| r1513_2(glval) = VariableAddress[r] : -# 1513| r1513_3(int &) = Load[r] : &:r1513_2, ~m? -# 1513| r1513_4(int) = Load[?] : &:r1513_3, ~m? -# 1513| mu1513_5(int) = Store[w] : &:r1513_1, r1513_4 -# 1517| r1517_1(glval) = VariableAddress[unnamed_local_variable] : -# 1517| r1517_2(glval) = VariableAddress[s] : -# 1517| r1517_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1517_2, ~m? -# 1517| mu1517_4(StructuredBindingDataMemberStruct) = Store[unnamed_local_variable] : &:r1517_1, r1517_3 -# 1518| r1518_1(glval) = VariableAddress[i] : -# 1518| r1518_2(glval) = VariableAddress[unnamed_local_variable] : -# 1518| r1518_3(glval) = FieldAddress[i] : r1518_2 -# 1518| r1518_4(int &) = CopyValue : r1518_3 -# 1518| mu1518_5(int &) = Store[i] : &:r1518_1, r1518_4 -# 1519| r1519_1(glval) = VariableAddress[d] : -# 1519| r1519_2(glval) = VariableAddress[unnamed_local_variable] : -# 1519| r1519_3(glval) = FieldAddress[d] : r1519_2 -# 1519| r1519_4(double &) = CopyValue : r1519_3 -# 1519| mu1519_5(double &) = Store[d] : &:r1519_1, r1519_4 -# 1521| r1521_1(glval) = VariableAddress[r] : -# 1521| r1521_2(glval) = VariableAddress[unnamed_local_variable] : -# 1521| r1521_3(glval) = FieldAddress[r] : r1521_2 -# 1521| r1521_4(int &) = Load[?] : &:r1521_3, ~m? -# 1521| r1521_5(glval) = CopyValue : r1521_4 -# 1521| r1521_6(int &) = CopyValue : r1521_5 -# 1521| mu1521_7(int &) = Store[r] : &:r1521_1, r1521_6 -# 1522| r1522_1(glval) = VariableAddress[p] : -# 1522| r1522_2(glval) = VariableAddress[unnamed_local_variable] : -# 1522| r1522_3(glval) = FieldAddress[p] : r1522_2 -# 1522| r1522_4(int *&) = CopyValue : r1522_3 -# 1522| mu1522_5(int *&) = Store[p] : &:r1522_1, r1522_4 -# 1523| r1523_1(double) = Constant[4.0] : -# 1523| r1523_2(glval) = VariableAddress[d] : -# 1523| r1523_3(double &) = Load[d] : &:r1523_2, ~m? -# 1523| r1523_4(glval) = CopyValue : r1523_3 -# 1523| mu1523_5(double) = Store[?] : &:r1523_4, r1523_1 -# 1524| r1524_1(glval) = VariableAddress[rd] : -# 1524| r1524_2(glval) = VariableAddress[d] : -# 1524| r1524_3(double &) = Load[d] : &:r1524_2, ~m? -# 1524| r1524_4(glval) = CopyValue : r1524_3 -# 1524| r1524_5(double &) = CopyValue : r1524_4 -# 1524| mu1524_6(double &) = Store[rd] : &:r1524_1, r1524_5 -# 1525| r1525_1(glval) = VariableAddress[v] : -# 1525| r1525_2(glval) = VariableAddress[i] : -# 1525| r1525_3(int &) = Load[i] : &:r1525_2, ~m? -# 1525| r1525_4(int) = Load[?] : &:r1525_3, ~m? -# 1525| mu1525_5(int) = Store[v] : &:r1525_1, r1525_4 -# 1526| r1526_1(int) = Constant[5] : -# 1526| r1526_2(glval) = VariableAddress[r] : -# 1526| r1526_3(int &) = Load[r] : &:r1526_2, ~m? -# 1526| r1526_4(glval) = CopyValue : r1526_3 -# 1526| mu1526_5(int) = Store[?] : &:r1526_4, r1526_1 -# 1527| r1527_1(int) = Constant[6] : -# 1527| r1527_2(glval) = VariableAddress[p] : -# 1527| r1527_3(int *&) = Load[p] : &:r1527_2, ~m? -# 1527| r1527_4(int *) = Load[?] : &:r1527_3, ~m? -# 1527| r1527_5(glval) = CopyValue : r1527_4 -# 1527| mu1527_6(int) = Store[?] : &:r1527_5, r1527_1 -# 1528| r1528_1(glval) = VariableAddress[rr] : -# 1528| r1528_2(glval) = VariableAddress[r] : -# 1528| r1528_3(int &) = Load[r] : &:r1528_2, ~m? -# 1528| r1528_4(glval) = CopyValue : r1528_3 -# 1528| r1528_5(int &) = CopyValue : r1528_4 -# 1528| mu1528_6(int &) = Store[rr] : &:r1528_1, r1528_5 -# 1529| r1529_1(glval) = VariableAddress[pr] : -# 1529| r1529_2(glval) = VariableAddress[r] : -# 1529| r1529_3(int &) = Load[r] : &:r1529_2, ~m? -# 1529| r1529_4(glval) = CopyValue : r1529_3 -# 1529| r1529_5(int *) = CopyValue : r1529_4 -# 1529| mu1529_6(int *) = Store[pr] : &:r1529_1, r1529_5 -# 1530| r1530_1(glval) = VariableAddress[w] : -# 1530| r1530_2(glval) = VariableAddress[r] : -# 1530| r1530_3(int &) = Load[r] : &:r1530_2, ~m? -# 1530| r1530_4(int) = Load[?] : &:r1530_3, ~m? -# 1530| mu1530_5(int) = Store[w] : &:r1530_1, r1530_4 -# 1532| v1532_1(void) = NoOp : -# 1501| v1501_4(void) = ReturnVoid : -# 1501| v1501_5(void) = AliasedUse : ~m? -# 1501| v1501_6(void) = ExitFunction : +# 1548| void data_member_structured_binding() +# 1548| Block 0 +# 1548| v1548_1(void) = EnterFunction : +# 1548| mu1548_2(unknown) = AliasedDefinition : +# 1548| mu1548_3(unknown) = InitializeNonLocal : +# 1549| r1549_1(glval) = VariableAddress[s] : +# 1549| mu1549_2(StructuredBindingDataMemberStruct) = Uninitialized[s] : &:r1549_1 +# 1549| r1549_3(glval) = FunctionAddress[StructuredBindingDataMemberStruct] : +# 1549| v1549_4(void) = Call[StructuredBindingDataMemberStruct] : func:r1549_3, this:r1549_1 +# 1549| mu1549_5(unknown) = ^CallSideEffect : ~m? +# 1549| mu1549_6(StructuredBindingDataMemberStruct) = ^IndirectMayWriteSideEffect[-1] : &:r1549_1 +# 1552| r1552_1(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_2(glval) = VariableAddress[s] : +# 1552| r1552_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1552_2, ~m? +# 1552| mu1552_4(StructuredBindingDataMemberStruct) = Store[(unnamed local variable)] : &:r1552_1, r1552_3 +# 1552| r1552_5(glval) = VariableAddress[i] : +# 1552| r1552_6(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_7(glval) = FieldAddress[i] : r1552_6 +# 1552| mu1552_8(int &) = Store[i] : &:r1552_5, r1552_7 +# 1552| r1552_9(glval) = VariableAddress[d] : +# 1552| r1552_10(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_11(glval) = FieldAddress[d] : r1552_10 +# 1552| mu1552_12(double &) = Store[d] : &:r1552_9, r1552_11 +# 1552| r1552_13(glval) = VariableAddress[b] : +# 1552| r1552_14(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_15(glval) = FieldAddress[b] : r1552_14 +# 1552| mu1552_16(unsigned int &) = Store[b] : &:r1552_13, r1552_15 +# 1552| r1552_17(glval) = VariableAddress[r] : +# 1552| r1552_18(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_19(glval) = FieldAddress[r] : r1552_18 +# 1552| r1552_20(int &) = Load[?] : &:r1552_19, ~m? +# 1552| r1552_21(glval) = CopyValue : r1552_20 +# 1552| mu1552_22(int &) = Store[r] : &:r1552_17, r1552_21 +# 1552| r1552_23(glval) = VariableAddress[p] : +# 1552| r1552_24(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_25(glval) = FieldAddress[p] : r1552_24 +# 1552| mu1552_26(int *&) = Store[p] : &:r1552_23, r1552_25 +# 1552| r1552_27(glval) = VariableAddress[xs] : +# 1552| r1552_28(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_29(glval) = FieldAddress[xs] : r1552_28 +# 1552| mu1552_30(int(&)[2]) = Store[xs] : &:r1552_27, r1552_29 +# 1552| r1552_31(glval) = VariableAddress[r_alt] : +# 1552| r1552_32(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_33(glval) = FieldAddress[r_alt] : r1552_32 +# 1552| r1552_34(int &) = Load[?] : &:r1552_33, ~m? +# 1552| r1552_35(glval) = CopyValue : r1552_34 +# 1552| mu1552_36(int &) = Store[r_alt] : &:r1552_31, r1552_35 +# 1552| r1552_37(glval) = VariableAddress[m] : +# 1552| r1552_38(glval) = VariableAddress[(unnamed local variable)] : +# 1552| r1552_39(glval) = FieldAddress[m] : r1552_38 +# 1552| mu1552_40(StructuredBindingDataMemberMemberStruct &) = Store[m] : &:r1552_37, r1552_39 +# 1553| r1553_1(double) = Constant[4.0] : +# 1553| r1553_2(glval) = VariableAddress[d] : +# 1553| r1553_3(double &) = Load[d] : &:r1553_2, ~m? +# 1553| mu1553_4(double) = Store[?] : &:r1553_3, r1553_1 +# 1554| r1554_1(glval) = VariableAddress[rd] : +# 1554| r1554_2(glval) = VariableAddress[d] : +# 1554| r1554_3(double &) = Load[d] : &:r1554_2, ~m? +# 1554| r1554_4(double &) = CopyValue : r1554_3 +# 1554| mu1554_5(double &) = Store[rd] : &:r1554_1, r1554_4 +# 1555| r1555_1(glval) = VariableAddress[v] : +# 1555| r1555_2(glval) = VariableAddress[i] : +# 1555| r1555_3(int &) = Load[i] : &:r1555_2, ~m? +# 1555| r1555_4(int) = Load[?] : &:r1555_3, ~m? +# 1555| mu1555_5(int) = Store[v] : &:r1555_1, r1555_4 +# 1556| r1556_1(int) = Constant[5] : +# 1556| r1556_2(glval) = VariableAddress[r] : +# 1556| r1556_3(int &) = Load[r] : &:r1556_2, ~m? +# 1556| mu1556_4(int) = Store[?] : &:r1556_3, r1556_1 +# 1557| r1557_1(int) = Constant[6] : +# 1557| r1557_2(glval) = VariableAddress[p] : +# 1557| r1557_3(int *&) = Load[p] : &:r1557_2, ~m? +# 1557| r1557_4(int *) = Load[?] : &:r1557_3, ~m? +# 1557| r1557_5(glval) = CopyValue : r1557_4 +# 1557| mu1557_6(int) = Store[?] : &:r1557_5, r1557_1 +# 1558| r1558_1(glval) = VariableAddress[rr] : +# 1558| r1558_2(glval) = VariableAddress[r] : +# 1558| r1558_3(int &) = Load[r] : &:r1558_2, ~m? +# 1558| r1558_4(int &) = CopyValue : r1558_3 +# 1558| mu1558_5(int &) = Store[rr] : &:r1558_1, r1558_4 +# 1559| r1559_1(glval) = VariableAddress[pr] : +# 1559| r1559_2(glval) = VariableAddress[r] : +# 1559| r1559_3(int &) = Load[r] : &:r1559_2, ~m? +# 1559| r1559_4(int *) = CopyValue : r1559_3 +# 1559| mu1559_5(int *) = Store[pr] : &:r1559_1, r1559_4 +# 1560| r1560_1(glval) = VariableAddress[w] : +# 1560| r1560_2(glval) = VariableAddress[r] : +# 1560| r1560_3(int &) = Load[r] : &:r1560_2, ~m? +# 1560| r1560_4(int) = Load[?] : &:r1560_3, ~m? +# 1560| mu1560_5(int) = Store[w] : &:r1560_1, r1560_4 +# 1564| r1564_1(glval) = VariableAddress[unnamed_local_variable] : +# 1564| r1564_2(glval) = VariableAddress[s] : +# 1564| r1564_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1564_2, ~m? +# 1564| mu1564_4(StructuredBindingDataMemberStruct) = Store[unnamed_local_variable] : &:r1564_1, r1564_3 +# 1565| r1565_1(glval) = VariableAddress[i] : +# 1565| r1565_2(glval) = VariableAddress[unnamed_local_variable] : +# 1565| r1565_3(glval) = FieldAddress[i] : r1565_2 +# 1565| r1565_4(int &) = CopyValue : r1565_3 +# 1565| mu1565_5(int &) = Store[i] : &:r1565_1, r1565_4 +# 1566| r1566_1(glval) = VariableAddress[d] : +# 1566| r1566_2(glval) = VariableAddress[unnamed_local_variable] : +# 1566| r1566_3(glval) = FieldAddress[d] : r1566_2 +# 1566| r1566_4(double &) = CopyValue : r1566_3 +# 1566| mu1566_5(double &) = Store[d] : &:r1566_1, r1566_4 +# 1568| r1568_1(glval) = VariableAddress[r] : +# 1568| r1568_2(glval) = VariableAddress[unnamed_local_variable] : +# 1568| r1568_3(glval) = FieldAddress[r] : r1568_2 +# 1568| r1568_4(int &) = Load[?] : &:r1568_3, ~m? +# 1568| r1568_5(glval) = CopyValue : r1568_4 +# 1568| r1568_6(int &) = CopyValue : r1568_5 +# 1568| mu1568_7(int &) = Store[r] : &:r1568_1, r1568_6 +# 1569| r1569_1(glval) = VariableAddress[p] : +# 1569| r1569_2(glval) = VariableAddress[unnamed_local_variable] : +# 1569| r1569_3(glval) = FieldAddress[p] : r1569_2 +# 1569| r1569_4(int *&) = CopyValue : r1569_3 +# 1569| mu1569_5(int *&) = Store[p] : &:r1569_1, r1569_4 +# 1570| r1570_1(double) = Constant[4.0] : +# 1570| r1570_2(glval) = VariableAddress[d] : +# 1570| r1570_3(double &) = Load[d] : &:r1570_2, ~m? +# 1570| r1570_4(glval) = CopyValue : r1570_3 +# 1570| mu1570_5(double) = Store[?] : &:r1570_4, r1570_1 +# 1571| r1571_1(glval) = VariableAddress[rd] : +# 1571| r1571_2(glval) = VariableAddress[d] : +# 1571| r1571_3(double &) = Load[d] : &:r1571_2, ~m? +# 1571| r1571_4(glval) = CopyValue : r1571_3 +# 1571| r1571_5(double &) = CopyValue : r1571_4 +# 1571| mu1571_6(double &) = Store[rd] : &:r1571_1, r1571_5 +# 1572| r1572_1(glval) = VariableAddress[v] : +# 1572| r1572_2(glval) = VariableAddress[i] : +# 1572| r1572_3(int &) = Load[i] : &:r1572_2, ~m? +# 1572| r1572_4(int) = Load[?] : &:r1572_3, ~m? +# 1572| mu1572_5(int) = Store[v] : &:r1572_1, r1572_4 +# 1573| r1573_1(int) = Constant[5] : +# 1573| r1573_2(glval) = VariableAddress[r] : +# 1573| r1573_3(int &) = Load[r] : &:r1573_2, ~m? +# 1573| r1573_4(glval) = CopyValue : r1573_3 +# 1573| mu1573_5(int) = Store[?] : &:r1573_4, r1573_1 +# 1574| r1574_1(int) = Constant[6] : +# 1574| r1574_2(glval) = VariableAddress[p] : +# 1574| r1574_3(int *&) = Load[p] : &:r1574_2, ~m? +# 1574| r1574_4(int *) = Load[?] : &:r1574_3, ~m? +# 1574| r1574_5(glval) = CopyValue : r1574_4 +# 1574| mu1574_6(int) = Store[?] : &:r1574_5, r1574_1 +# 1575| r1575_1(glval) = VariableAddress[rr] : +# 1575| r1575_2(glval) = VariableAddress[r] : +# 1575| r1575_3(int &) = Load[r] : &:r1575_2, ~m? +# 1575| r1575_4(glval) = CopyValue : r1575_3 +# 1575| r1575_5(int &) = CopyValue : r1575_4 +# 1575| mu1575_6(int &) = Store[rr] : &:r1575_1, r1575_5 +# 1576| r1576_1(glval) = VariableAddress[pr] : +# 1576| r1576_2(glval) = VariableAddress[r] : +# 1576| r1576_3(int &) = Load[r] : &:r1576_2, ~m? +# 1576| r1576_4(glval) = CopyValue : r1576_3 +# 1576| r1576_5(int *) = CopyValue : r1576_4 +# 1576| mu1576_6(int *) = Store[pr] : &:r1576_1, r1576_5 +# 1577| r1577_1(glval) = VariableAddress[w] : +# 1577| r1577_2(glval) = VariableAddress[r] : +# 1577| r1577_3(int &) = Load[r] : &:r1577_2, ~m? +# 1577| r1577_4(int) = Load[?] : &:r1577_3, ~m? +# 1577| mu1577_5(int) = Store[w] : &:r1577_1, r1577_4 +# 1579| v1579_1(void) = NoOp : +# 1548| v1548_4(void) = ReturnVoid : +# 1548| v1548_5(void) = AliasedUse : ~m? +# 1548| v1548_6(void) = ExitFunction : -# 1541| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet() -# 1541| Block 0 -# 1541| v1541_1(void) = EnterFunction : -# 1541| mu1541_2(unknown) = AliasedDefinition : -# 1541| mu1541_3(unknown) = InitializeNonLocal : -# 1541| r1541_4(glval) = VariableAddress[#this] : -# 1541| mu1541_5(glval) = InitializeParameter[#this] : &:r1541_4 -# 1541| r1541_6(glval) = Load[#this] : &:r1541_4, ~m? -# 1541| mu1541_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1541_6 -# 1541| v1541_8(void) = NoOp : -# 1541| v1541_9(void) = ReturnIndirection[#this] : &:r1541_6, ~m? -# 1541| v1541_10(void) = ReturnVoid : -# 1541| v1541_11(void) = AliasedUse : ~m? -# 1541| v1541_12(void) = ExitFunction : +# 1588| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet() +# 1588| Block 0 +# 1588| v1588_1(void) = EnterFunction : +# 1588| mu1588_2(unknown) = AliasedDefinition : +# 1588| mu1588_3(unknown) = InitializeNonLocal : +# 1588| r1588_4(glval) = VariableAddress[#this] : +# 1588| mu1588_5(glval) = InitializeParameter[#this] : &:r1588_4 +# 1588| r1588_6(glval) = Load[#this] : &:r1588_4, ~m? +# 1588| mu1588_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1588_6 +# 1588| v1588_8(void) = NoOp : +# 1588| v1588_9(void) = ReturnIndirection[#this] : &:r1588_6, ~m? +# 1588| v1588_10(void) = ReturnVoid : +# 1588| v1588_11(void) = AliasedUse : ~m? +# 1588| v1588_12(void) = ExitFunction : -# 1541| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet const&) -# 1541| Block 0 -# 1541| v1541_1(void) = EnterFunction : -# 1541| mu1541_2(unknown) = AliasedDefinition : -# 1541| mu1541_3(unknown) = InitializeNonLocal : -# 1541| r1541_4(glval) = VariableAddress[#this] : -# 1541| mu1541_5(glval) = InitializeParameter[#this] : &:r1541_4 -# 1541| r1541_6(glval) = Load[#this] : &:r1541_4, ~m? -# 1541| mu1541_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1541_6 +# 1588| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet const&) +# 1588| Block 0 +# 1588| v1588_1(void) = EnterFunction : +# 1588| mu1588_2(unknown) = AliasedDefinition : +# 1588| mu1588_3(unknown) = InitializeNonLocal : +# 1588| r1588_4(glval) = VariableAddress[#this] : +# 1588| mu1588_5(glval) = InitializeParameter[#this] : &:r1588_4 +# 1588| r1588_6(glval) = Load[#this] : &:r1588_4, ~m? +# 1588| mu1588_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1588_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(StructuredBindingTupleRefGet &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r0_1, ~m? #-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1541| r1541_8(glval) = FieldAddress[i] : mu1541_5 -# 1541| r1541_9(glval) = VariableAddress[(unnamed parameter 0)] : -# 1541| r1541_10(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1541_9, ~m? -# 1541| r1541_11(glval) = CopyValue : r1541_10 -# 1541| r1541_12(glval) = FieldAddress[i] : r1541_11 -# 1541| r1541_13(int) = Load[?] : &:r1541_12, ~m? -# 1541| mu1541_14(int) = Store[?] : &:r1541_8, r1541_13 -# 1541| r1541_15(glval) = FieldAddress[d] : mu1541_5 -# 1541| r1541_16(glval) = VariableAddress[(unnamed parameter 0)] : -# 1541| r1541_17(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1541_16, ~m? -# 1541| r1541_18(glval) = CopyValue : r1541_17 -# 1541| r1541_19(glval) = FieldAddress[d] : r1541_18 -# 1541| r1541_20(double) = Load[?] : &:r1541_19, ~m? -# 1541| mu1541_21(double) = Store[?] : &:r1541_15, r1541_20 -# 1541| r1541_22(glval) = FieldAddress[r] : mu1541_5 -# 1541| r1541_23(glval) = VariableAddress[(unnamed parameter 0)] : -# 1541| r1541_24(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1541_23, ~m? -# 1541| r1541_25(glval) = CopyValue : r1541_24 -# 1541| r1541_26(glval) = FieldAddress[r] : r1541_25 -# 1541| r1541_27(int &) = Load[?] : &:r1541_26, ~m? -# 1541| mu1541_28(int &) = Store[?] : &:r1541_22, r1541_27 -# 1541| v1541_29(void) = NoOp : -# 1541| v1541_30(void) = ReturnIndirection[#this] : &:r1541_6, ~m? +# 1588| r1588_8(glval) = FieldAddress[i] : mu1588_5 +# 1588| r1588_9(glval) = VariableAddress[(unnamed parameter 0)] : +# 1588| r1588_10(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_9, ~m? +# 1588| r1588_11(glval) = CopyValue : r1588_10 +# 1588| r1588_12(glval) = FieldAddress[i] : r1588_11 +# 1588| r1588_13(int) = Load[?] : &:r1588_12, ~m? +# 1588| mu1588_14(int) = Store[?] : &:r1588_8, r1588_13 +# 1588| r1588_15(glval) = FieldAddress[d] : mu1588_5 +# 1588| r1588_16(glval) = VariableAddress[(unnamed parameter 0)] : +# 1588| r1588_17(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_16, ~m? +# 1588| r1588_18(glval) = CopyValue : r1588_17 +# 1588| r1588_19(glval) = FieldAddress[d] : r1588_18 +# 1588| r1588_20(double) = Load[?] : &:r1588_19, ~m? +# 1588| mu1588_21(double) = Store[?] : &:r1588_15, r1588_20 +# 1588| r1588_22(glval) = FieldAddress[r] : mu1588_5 +# 1588| r1588_23(glval) = VariableAddress[(unnamed parameter 0)] : +# 1588| r1588_24(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1588_23, ~m? +# 1588| r1588_25(glval) = CopyValue : r1588_24 +# 1588| r1588_26(glval) = FieldAddress[r] : r1588_25 +# 1588| r1588_27(int &) = Load[?] : &:r1588_26, ~m? +# 1588| mu1588_28(int &) = Store[?] : &:r1588_22, r1588_27 +# 1588| v1588_29(void) = NoOp : +# 1588| v1588_30(void) = ReturnIndirection[#this] : &:r1588_6, ~m? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1541| v1541_31(void) = ReturnVoid : -# 1541| v1541_32(void) = AliasedUse : ~m? -# 1541| v1541_33(void) = ExitFunction : +# 1588| v1588_31(void) = ReturnVoid : +# 1588| v1588_32(void) = AliasedUse : ~m? +# 1588| v1588_33(void) = ExitFunction : -# 1569| std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1569| Block 0 -# 1569| v1569_1(void) = EnterFunction : -# 1569| mu1569_2(unknown) = AliasedDefinition : -# 1569| mu1569_3(unknown) = InitializeNonLocal : -# 1569| r1569_4(glval) = VariableAddress[#this] : -# 1569| mu1569_5(glval) = InitializeParameter[#this] : &:r1569_4 -# 1569| r1569_6(glval) = Load[#this] : &:r1569_4, ~m? -# 1569| mu1569_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1569_6 -# 1570| r1570_1(glval) = VariableAddress[#return] : -# 1570| r1570_2(glval) = VariableAddress[#this] : -# 1570| r1570_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1570_2, ~m? -# 1570| r1570_4(glval) = FieldAddress[i] : r1570_3 -#-----| r0_1(int &) = CopyValue : r1570_4 -#-----| mu0_2(int &) = Store[#return] : &:r1570_1, r0_1 -# 1569| v1569_8(void) = ReturnIndirection[#this] : &:r1569_6, ~m? -# 1569| r1569_9(glval) = VariableAddress[#return] : -# 1569| v1569_10(void) = ReturnValue : &:r1569_9, ~m? -# 1569| v1569_11(void) = AliasedUse : ~m? -# 1569| v1569_12(void) = ExitFunction : +# 1616| std::tuple_element::type& StructuredBindingTupleRefGet::get() +# 1616| Block 0 +# 1616| v1616_1(void) = EnterFunction : +# 1616| mu1616_2(unknown) = AliasedDefinition : +# 1616| mu1616_3(unknown) = InitializeNonLocal : +# 1616| r1616_4(glval) = VariableAddress[#this] : +# 1616| mu1616_5(glval) = InitializeParameter[#this] : &:r1616_4 +# 1616| r1616_6(glval) = Load[#this] : &:r1616_4, ~m? +# 1616| mu1616_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1616_6 +# 1617| r1617_1(glval) = VariableAddress[#return] : +# 1617| r1617_2(glval) = VariableAddress[#this] : +# 1617| r1617_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1617_2, ~m? +# 1617| r1617_4(glval) = FieldAddress[i] : r1617_3 +#-----| r0_1(int &) = CopyValue : r1617_4 +#-----| mu0_2(int &) = Store[#return] : &:r1617_1, r0_1 +# 1616| v1616_8(void) = ReturnIndirection[#this] : &:r1616_6, ~m? +# 1616| r1616_9(glval) = VariableAddress[#return] : +# 1616| v1616_10(void) = ReturnValue : &:r1616_9, ~m? +# 1616| v1616_11(void) = AliasedUse : ~m? +# 1616| v1616_12(void) = ExitFunction : -# 1573| std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1573| Block 0 -# 1573| v1573_1(void) = EnterFunction : -# 1573| mu1573_2(unknown) = AliasedDefinition : -# 1573| mu1573_3(unknown) = InitializeNonLocal : -# 1573| r1573_4(glval) = VariableAddress[#this] : -# 1573| mu1573_5(glval) = InitializeParameter[#this] : &:r1573_4 -# 1573| r1573_6(glval) = Load[#this] : &:r1573_4, ~m? -# 1573| mu1573_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1573_6 -# 1574| r1574_1(glval) = VariableAddress[#return] : -# 1574| r1574_2(glval) = VariableAddress[#this] : -# 1574| r1574_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1574_2, ~m? -# 1574| r1574_4(glval) = FieldAddress[d] : r1574_3 -#-----| r0_1(double &) = CopyValue : r1574_4 -#-----| mu0_2(double &) = Store[#return] : &:r1574_1, r0_1 -# 1573| v1573_8(void) = ReturnIndirection[#this] : &:r1573_6, ~m? -# 1573| r1573_9(glval) = VariableAddress[#return] : -# 1573| v1573_10(void) = ReturnValue : &:r1573_9, ~m? -# 1573| v1573_11(void) = AliasedUse : ~m? -# 1573| v1573_12(void) = ExitFunction : +# 1620| std::tuple_element::type& StructuredBindingTupleRefGet::get() +# 1620| Block 0 +# 1620| v1620_1(void) = EnterFunction : +# 1620| mu1620_2(unknown) = AliasedDefinition : +# 1620| mu1620_3(unknown) = InitializeNonLocal : +# 1620| r1620_4(glval) = VariableAddress[#this] : +# 1620| mu1620_5(glval) = InitializeParameter[#this] : &:r1620_4 +# 1620| r1620_6(glval) = Load[#this] : &:r1620_4, ~m? +# 1620| mu1620_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1620_6 +# 1621| r1621_1(glval) = VariableAddress[#return] : +# 1621| r1621_2(glval) = VariableAddress[#this] : +# 1621| r1621_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1621_2, ~m? +# 1621| r1621_4(glval) = FieldAddress[d] : r1621_3 +#-----| r0_1(double &) = CopyValue : r1621_4 +#-----| mu0_2(double &) = Store[#return] : &:r1621_1, r0_1 +# 1620| v1620_8(void) = ReturnIndirection[#this] : &:r1620_6, ~m? +# 1620| r1620_9(glval) = VariableAddress[#return] : +# 1620| v1620_10(void) = ReturnValue : &:r1620_9, ~m? +# 1620| v1620_11(void) = AliasedUse : ~m? +# 1620| v1620_12(void) = ExitFunction : -# 1577| std::tuple_element::type StructuredBindingTupleRefGet::get() -# 1577| Block 0 -# 1577| v1577_1(void) = EnterFunction : -# 1577| mu1577_2(unknown) = AliasedDefinition : -# 1577| mu1577_3(unknown) = InitializeNonLocal : -# 1577| r1577_4(glval) = VariableAddress[#this] : -# 1577| mu1577_5(glval) = InitializeParameter[#this] : &:r1577_4 -# 1577| r1577_6(glval) = Load[#this] : &:r1577_4, ~m? -# 1577| mu1577_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1577_6 -# 1578| r1578_1(glval) = VariableAddress[#return] : -# 1578| r1578_2(glval) = VariableAddress[#this] : -# 1578| r1578_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1578_2, ~m? -# 1578| r1578_4(glval) = FieldAddress[r] : r1578_3 -# 1578| r1578_5(int &) = Load[?] : &:r1578_4, ~m? -# 1578| r1578_6(glval) = CopyValue : r1578_5 -# 1578| r1578_7(int &) = CopyValue : r1578_6 -# 1578| mu1578_8(int &) = Store[#return] : &:r1578_1, r1578_7 -# 1577| v1577_8(void) = ReturnIndirection[#this] : &:r1577_6, ~m? -# 1577| r1577_9(glval) = VariableAddress[#return] : -# 1577| v1577_10(void) = ReturnValue : &:r1577_9, ~m? -# 1577| v1577_11(void) = AliasedUse : ~m? -# 1577| v1577_12(void) = ExitFunction : +# 1624| std::tuple_element::type StructuredBindingTupleRefGet::get() +# 1624| Block 0 +# 1624| v1624_1(void) = EnterFunction : +# 1624| mu1624_2(unknown) = AliasedDefinition : +# 1624| mu1624_3(unknown) = InitializeNonLocal : +# 1624| r1624_4(glval) = VariableAddress[#this] : +# 1624| mu1624_5(glval) = InitializeParameter[#this] : &:r1624_4 +# 1624| r1624_6(glval) = Load[#this] : &:r1624_4, ~m? +# 1624| mu1624_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1624_6 +# 1625| r1625_1(glval) = VariableAddress[#return] : +# 1625| r1625_2(glval) = VariableAddress[#this] : +# 1625| r1625_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1625_2, ~m? +# 1625| r1625_4(glval) = FieldAddress[r] : r1625_3 +# 1625| r1625_5(int &) = Load[?] : &:r1625_4, ~m? +# 1625| r1625_6(glval) = CopyValue : r1625_5 +# 1625| r1625_7(int &) = CopyValue : r1625_6 +# 1625| mu1625_8(int &) = Store[#return] : &:r1625_1, r1625_7 +# 1624| v1624_8(void) = ReturnIndirection[#this] : &:r1624_6, ~m? +# 1624| r1624_9(glval) = VariableAddress[#return] : +# 1624| v1624_10(void) = ReturnValue : &:r1624_9, ~m? +# 1624| v1624_11(void) = AliasedUse : ~m? +# 1624| v1624_12(void) = ExitFunction : -# 1581| void tuple_structured_binding_ref_get() -# 1581| Block 0 -# 1581| v1581_1(void) = EnterFunction : -# 1581| mu1581_2(unknown) = AliasedDefinition : -# 1581| mu1581_3(unknown) = InitializeNonLocal : -# 1582| r1582_1(glval) = VariableAddress[t] : -# 1582| mu1582_2(StructuredBindingTupleRefGet) = Uninitialized[t] : &:r1582_1 -# 1582| r1582_3(glval) = FunctionAddress[StructuredBindingTupleRefGet] : -# 1582| v1582_4(void) = Call[StructuredBindingTupleRefGet] : func:r1582_3, this:r1582_1 -# 1582| mu1582_5(unknown) = ^CallSideEffect : ~m? -# 1582| mu1582_6(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1582_1 -# 1585| r1585_1(glval) = VariableAddress[(unnamed local variable)] : -# 1585| r1585_2(glval) = VariableAddress[t] : -# 1585| r1585_3(StructuredBindingTupleRefGet) = Load[t] : &:r1585_2, ~m? -# 1585| mu1585_4(StructuredBindingTupleRefGet) = Store[(unnamed local variable)] : &:r1585_1, r1585_3 -# 1585| r1585_5(glval) = VariableAddress[i] : -# 1585| r1585_6(glval) = VariableAddress[(unnamed local variable)] : -# 1585| r1585_7(glval) = FunctionAddress[get] : -# 1585| r1585_8(int &) = Call[get] : func:r1585_7, this:r1585_6 -# 1585| mu1585_9(unknown) = ^CallSideEffect : ~m? -# 1585| v1585_10(void) = ^IndirectReadSideEffect[-1] : &:r1585_6, ~m? -# 1585| mu1585_11(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1585_6 -# 1585| r1585_12(glval) = CopyValue : r1585_8 -# 1585| r1585_13(int &) = CopyValue : r1585_12 -# 1585| mu1585_14(int &) = Store[i] : &:r1585_5, r1585_13 -# 1585| r1585_15(glval) = VariableAddress[d] : -# 1585| r1585_16(glval) = VariableAddress[(unnamed local variable)] : -# 1585| r1585_17(glval) = FunctionAddress[get] : -# 1585| r1585_18(double &) = Call[get] : func:r1585_17, this:r1585_16 -# 1585| mu1585_19(unknown) = ^CallSideEffect : ~m? -# 1585| v1585_20(void) = ^IndirectReadSideEffect[-1] : &:r1585_16, ~m? -# 1585| mu1585_21(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1585_16 -# 1585| r1585_22(glval) = CopyValue : r1585_18 -# 1585| r1585_23(double &) = CopyValue : r1585_22 -# 1585| mu1585_24(double &) = Store[d] : &:r1585_15, r1585_23 -# 1585| r1585_25(glval) = VariableAddress[r] : -# 1585| r1585_26(glval) = VariableAddress[(unnamed local variable)] : -# 1585| r1585_27(glval) = FunctionAddress[get] : -# 1585| r1585_28(int &) = Call[get] : func:r1585_27, this:r1585_26 -# 1585| mu1585_29(unknown) = ^CallSideEffect : ~m? -# 1585| v1585_30(void) = ^IndirectReadSideEffect[-1] : &:r1585_26, ~m? -# 1585| mu1585_31(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1585_26 -# 1585| r1585_32(glval) = CopyValue : r1585_28 -# 1585| r1585_33(int &) = CopyValue : r1585_32 -# 1585| mu1585_34(int &) = Store[r] : &:r1585_25, r1585_33 -# 1586| r1586_1(double) = Constant[4.0] : -# 1586| r1586_2(glval) = VariableAddress[d] : -# 1586| r1586_3(double &) = Load[d] : &:r1586_2, ~m? -# 1586| r1586_4(glval) = CopyValue : r1586_3 -# 1586| mu1586_5(double) = Store[?] : &:r1586_4, r1586_1 -# 1587| r1587_1(glval) = VariableAddress[rd] : -# 1587| r1587_2(glval) = VariableAddress[d] : -# 1587| r1587_3(double &) = Load[d] : &:r1587_2, ~m? -# 1587| r1587_4(glval) = CopyValue : r1587_3 -# 1587| r1587_5(double &) = CopyValue : r1587_4 -# 1587| mu1587_6(double &) = Store[rd] : &:r1587_1, r1587_5 -# 1588| r1588_1(glval) = VariableAddress[v] : -# 1588| r1588_2(glval) = VariableAddress[i] : -# 1588| r1588_3(int &) = Load[i] : &:r1588_2, ~m? -# 1588| r1588_4(int) = Load[?] : &:r1588_3, ~m? -# 1588| mu1588_5(int) = Store[v] : &:r1588_1, r1588_4 -# 1589| r1589_1(int) = Constant[5] : -# 1589| r1589_2(glval) = VariableAddress[r] : -# 1589| r1589_3(int &) = Load[r] : &:r1589_2, ~m? -# 1589| r1589_4(glval) = CopyValue : r1589_3 -# 1589| mu1589_5(int) = Store[?] : &:r1589_4, r1589_1 -# 1590| r1590_1(glval) = VariableAddress[rr] : -# 1590| r1590_2(glval) = VariableAddress[r] : -# 1590| r1590_3(int &) = Load[r] : &:r1590_2, ~m? -# 1590| r1590_4(glval) = CopyValue : r1590_3 -# 1590| r1590_5(int &) = CopyValue : r1590_4 -# 1590| mu1590_6(int &) = Store[rr] : &:r1590_1, r1590_5 -# 1591| r1591_1(glval) = VariableAddress[w] : -# 1591| r1591_2(glval) = VariableAddress[r] : -# 1591| r1591_3(int &) = Load[r] : &:r1591_2, ~m? -# 1591| r1591_4(int) = Load[?] : &:r1591_3, ~m? -# 1591| mu1591_5(int) = Store[w] : &:r1591_1, r1591_4 -# 1595| r1595_1(glval) = VariableAddress[unnamed_local_variable] : -# 1595| r1595_2(glval) = VariableAddress[t] : -# 1595| r1595_3(StructuredBindingTupleRefGet) = Load[t] : &:r1595_2, ~m? -# 1595| mu1595_4(StructuredBindingTupleRefGet) = Store[unnamed_local_variable] : &:r1595_1, r1595_3 -# 1596| r1596_1(glval) = VariableAddress[i] : -# 1596| r1596_2(glval) = VariableAddress[unnamed_local_variable] : -# 1596| r1596_3(glval) = FunctionAddress[get] : -# 1596| r1596_4(int &) = Call[get] : func:r1596_3, this:r1596_2 -# 1596| mu1596_5(unknown) = ^CallSideEffect : ~m? -# 1596| v1596_6(void) = ^IndirectReadSideEffect[-1] : &:r1596_2, ~m? -# 1596| mu1596_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1596_2 -# 1596| r1596_8(glval) = CopyValue : r1596_4 -# 1596| r1596_9(int &) = CopyValue : r1596_8 -# 1596| mu1596_10(int &) = Store[i] : &:r1596_1, r1596_9 -# 1597| r1597_1(glval) = VariableAddress[d] : -# 1597| r1597_2(glval) = VariableAddress[unnamed_local_variable] : -# 1597| r1597_3(glval) = FunctionAddress[get] : -# 1597| r1597_4(double &) = Call[get] : func:r1597_3, this:r1597_2 -# 1597| mu1597_5(unknown) = ^CallSideEffect : ~m? -# 1597| v1597_6(void) = ^IndirectReadSideEffect[-1] : &:r1597_2, ~m? -# 1597| mu1597_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1597_2 -# 1597| r1597_8(glval) = CopyValue : r1597_4 -# 1597| r1597_9(double &) = CopyValue : r1597_8 -# 1597| mu1597_10(double &) = Store[d] : &:r1597_1, r1597_9 -# 1598| r1598_1(glval) = VariableAddress[r] : -# 1598| r1598_2(glval) = VariableAddress[unnamed_local_variable] : -# 1598| r1598_3(glval) = FunctionAddress[get] : -# 1598| r1598_4(int &) = Call[get] : func:r1598_3, this:r1598_2 -# 1598| mu1598_5(unknown) = ^CallSideEffect : ~m? -# 1598| v1598_6(void) = ^IndirectReadSideEffect[-1] : &:r1598_2, ~m? -# 1598| mu1598_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1598_2 -# 1598| r1598_8(glval) = CopyValue : r1598_4 -# 1598| r1598_9(int &) = CopyValue : r1598_8 -# 1598| mu1598_10(int &) = Store[r] : &:r1598_1, r1598_9 -# 1599| r1599_1(double) = Constant[4.0] : -# 1599| r1599_2(glval) = VariableAddress[d] : -# 1599| r1599_3(double &) = Load[d] : &:r1599_2, ~m? -# 1599| r1599_4(glval) = CopyValue : r1599_3 -# 1599| mu1599_5(double) = Store[?] : &:r1599_4, r1599_1 -# 1600| r1600_1(glval) = VariableAddress[rd] : -# 1600| r1600_2(glval) = VariableAddress[d] : -# 1600| r1600_3(double &) = Load[d] : &:r1600_2, ~m? -# 1600| r1600_4(glval) = CopyValue : r1600_3 -# 1600| r1600_5(double &) = CopyValue : r1600_4 -# 1600| mu1600_6(double &) = Store[rd] : &:r1600_1, r1600_5 -# 1601| r1601_1(glval) = VariableAddress[v] : -# 1601| r1601_2(glval) = VariableAddress[i] : -# 1601| r1601_3(int &) = Load[i] : &:r1601_2, ~m? -# 1601| r1601_4(int) = Load[?] : &:r1601_3, ~m? -# 1601| mu1601_5(int) = Store[v] : &:r1601_1, r1601_4 -# 1602| r1602_1(int) = Constant[5] : -# 1602| r1602_2(glval) = VariableAddress[r] : -# 1602| r1602_3(int &) = Load[r] : &:r1602_2, ~m? -# 1602| r1602_4(glval) = CopyValue : r1602_3 -# 1602| mu1602_5(int) = Store[?] : &:r1602_4, r1602_1 -# 1603| r1603_1(glval) = VariableAddress[rr] : -# 1603| r1603_2(glval) = VariableAddress[r] : -# 1603| r1603_3(int &) = Load[r] : &:r1603_2, ~m? -# 1603| r1603_4(glval) = CopyValue : r1603_3 -# 1603| r1603_5(int &) = CopyValue : r1603_4 -# 1603| mu1603_6(int &) = Store[rr] : &:r1603_1, r1603_5 -# 1604| r1604_1(glval) = VariableAddress[w] : -# 1604| r1604_2(glval) = VariableAddress[r] : -# 1604| r1604_3(int &) = Load[r] : &:r1604_2, ~m? -# 1604| r1604_4(int) = Load[?] : &:r1604_3, ~m? -# 1604| mu1604_5(int) = Store[w] : &:r1604_1, r1604_4 -# 1606| v1606_1(void) = NoOp : -# 1581| v1581_4(void) = ReturnVoid : -# 1581| v1581_5(void) = AliasedUse : ~m? -# 1581| v1581_6(void) = ExitFunction : +# 1628| void tuple_structured_binding_ref_get() +# 1628| Block 0 +# 1628| v1628_1(void) = EnterFunction : +# 1628| mu1628_2(unknown) = AliasedDefinition : +# 1628| mu1628_3(unknown) = InitializeNonLocal : +# 1629| r1629_1(glval) = VariableAddress[t] : +# 1629| mu1629_2(StructuredBindingTupleRefGet) = Uninitialized[t] : &:r1629_1 +# 1629| r1629_3(glval) = FunctionAddress[StructuredBindingTupleRefGet] : +# 1629| v1629_4(void) = Call[StructuredBindingTupleRefGet] : func:r1629_3, this:r1629_1 +# 1629| mu1629_5(unknown) = ^CallSideEffect : ~m? +# 1629| mu1629_6(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1629_1 +# 1632| r1632_1(glval) = VariableAddress[(unnamed local variable)] : +# 1632| r1632_2(glval) = VariableAddress[t] : +# 1632| r1632_3(StructuredBindingTupleRefGet) = Load[t] : &:r1632_2, ~m? +# 1632| mu1632_4(StructuredBindingTupleRefGet) = Store[(unnamed local variable)] : &:r1632_1, r1632_3 +# 1632| r1632_5(glval) = VariableAddress[i] : +# 1632| r1632_6(glval) = VariableAddress[(unnamed local variable)] : +# 1632| r1632_7(glval) = FunctionAddress[get] : +# 1632| r1632_8(int &) = Call[get] : func:r1632_7, this:r1632_6 +# 1632| mu1632_9(unknown) = ^CallSideEffect : ~m? +# 1632| v1632_10(void) = ^IndirectReadSideEffect[-1] : &:r1632_6, ~m? +# 1632| mu1632_11(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1632_6 +# 1632| r1632_12(glval) = CopyValue : r1632_8 +# 1632| r1632_13(int &) = CopyValue : r1632_12 +# 1632| mu1632_14(int &) = Store[i] : &:r1632_5, r1632_13 +# 1632| r1632_15(glval) = VariableAddress[d] : +# 1632| r1632_16(glval) = VariableAddress[(unnamed local variable)] : +# 1632| r1632_17(glval) = FunctionAddress[get] : +# 1632| r1632_18(double &) = Call[get] : func:r1632_17, this:r1632_16 +# 1632| mu1632_19(unknown) = ^CallSideEffect : ~m? +# 1632| v1632_20(void) = ^IndirectReadSideEffect[-1] : &:r1632_16, ~m? +# 1632| mu1632_21(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1632_16 +# 1632| r1632_22(glval) = CopyValue : r1632_18 +# 1632| r1632_23(double &) = CopyValue : r1632_22 +# 1632| mu1632_24(double &) = Store[d] : &:r1632_15, r1632_23 +# 1632| r1632_25(glval) = VariableAddress[r] : +# 1632| r1632_26(glval) = VariableAddress[(unnamed local variable)] : +# 1632| r1632_27(glval) = FunctionAddress[get] : +# 1632| r1632_28(int &) = Call[get] : func:r1632_27, this:r1632_26 +# 1632| mu1632_29(unknown) = ^CallSideEffect : ~m? +# 1632| v1632_30(void) = ^IndirectReadSideEffect[-1] : &:r1632_26, ~m? +# 1632| mu1632_31(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1632_26 +# 1632| r1632_32(glval) = CopyValue : r1632_28 +# 1632| r1632_33(int &) = CopyValue : r1632_32 +# 1632| mu1632_34(int &) = Store[r] : &:r1632_25, r1632_33 +# 1633| r1633_1(double) = Constant[4.0] : +# 1633| r1633_2(glval) = VariableAddress[d] : +# 1633| r1633_3(double &) = Load[d] : &:r1633_2, ~m? +# 1633| r1633_4(glval) = CopyValue : r1633_3 +# 1633| mu1633_5(double) = Store[?] : &:r1633_4, r1633_1 +# 1634| r1634_1(glval) = VariableAddress[rd] : +# 1634| r1634_2(glval) = VariableAddress[d] : +# 1634| r1634_3(double &) = Load[d] : &:r1634_2, ~m? +# 1634| r1634_4(glval) = CopyValue : r1634_3 +# 1634| r1634_5(double &) = CopyValue : r1634_4 +# 1634| mu1634_6(double &) = Store[rd] : &:r1634_1, r1634_5 +# 1635| r1635_1(glval) = VariableAddress[v] : +# 1635| r1635_2(glval) = VariableAddress[i] : +# 1635| r1635_3(int &) = Load[i] : &:r1635_2, ~m? +# 1635| r1635_4(int) = Load[?] : &:r1635_3, ~m? +# 1635| mu1635_5(int) = Store[v] : &:r1635_1, r1635_4 +# 1636| r1636_1(int) = Constant[5] : +# 1636| r1636_2(glval) = VariableAddress[r] : +# 1636| r1636_3(int &) = Load[r] : &:r1636_2, ~m? +# 1636| r1636_4(glval) = CopyValue : r1636_3 +# 1636| mu1636_5(int) = Store[?] : &:r1636_4, r1636_1 +# 1637| r1637_1(glval) = VariableAddress[rr] : +# 1637| r1637_2(glval) = VariableAddress[r] : +# 1637| r1637_3(int &) = Load[r] : &:r1637_2, ~m? +# 1637| r1637_4(glval) = CopyValue : r1637_3 +# 1637| r1637_5(int &) = CopyValue : r1637_4 +# 1637| mu1637_6(int &) = Store[rr] : &:r1637_1, r1637_5 +# 1638| r1638_1(glval) = VariableAddress[w] : +# 1638| r1638_2(glval) = VariableAddress[r] : +# 1638| r1638_3(int &) = Load[r] : &:r1638_2, ~m? +# 1638| r1638_4(int) = Load[?] : &:r1638_3, ~m? +# 1638| mu1638_5(int) = Store[w] : &:r1638_1, r1638_4 +# 1642| r1642_1(glval) = VariableAddress[unnamed_local_variable] : +# 1642| r1642_2(glval) = VariableAddress[t] : +# 1642| r1642_3(StructuredBindingTupleRefGet) = Load[t] : &:r1642_2, ~m? +# 1642| mu1642_4(StructuredBindingTupleRefGet) = Store[unnamed_local_variable] : &:r1642_1, r1642_3 +# 1643| r1643_1(glval) = VariableAddress[i] : +# 1643| r1643_2(glval) = VariableAddress[unnamed_local_variable] : +# 1643| r1643_3(glval) = FunctionAddress[get] : +# 1643| r1643_4(int &) = Call[get] : func:r1643_3, this:r1643_2 +# 1643| mu1643_5(unknown) = ^CallSideEffect : ~m? +# 1643| v1643_6(void) = ^IndirectReadSideEffect[-1] : &:r1643_2, ~m? +# 1643| mu1643_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1643_2 +# 1643| r1643_8(glval) = CopyValue : r1643_4 +# 1643| r1643_9(int &) = CopyValue : r1643_8 +# 1643| mu1643_10(int &) = Store[i] : &:r1643_1, r1643_9 +# 1644| r1644_1(glval) = VariableAddress[d] : +# 1644| r1644_2(glval) = VariableAddress[unnamed_local_variable] : +# 1644| r1644_3(glval) = FunctionAddress[get] : +# 1644| r1644_4(double &) = Call[get] : func:r1644_3, this:r1644_2 +# 1644| mu1644_5(unknown) = ^CallSideEffect : ~m? +# 1644| v1644_6(void) = ^IndirectReadSideEffect[-1] : &:r1644_2, ~m? +# 1644| mu1644_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1644_2 +# 1644| r1644_8(glval) = CopyValue : r1644_4 +# 1644| r1644_9(double &) = CopyValue : r1644_8 +# 1644| mu1644_10(double &) = Store[d] : &:r1644_1, r1644_9 +# 1645| r1645_1(glval) = VariableAddress[r] : +# 1645| r1645_2(glval) = VariableAddress[unnamed_local_variable] : +# 1645| r1645_3(glval) = FunctionAddress[get] : +# 1645| r1645_4(int &) = Call[get] : func:r1645_3, this:r1645_2 +# 1645| mu1645_5(unknown) = ^CallSideEffect : ~m? +# 1645| v1645_6(void) = ^IndirectReadSideEffect[-1] : &:r1645_2, ~m? +# 1645| mu1645_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1645_2 +# 1645| r1645_8(glval) = CopyValue : r1645_4 +# 1645| r1645_9(int &) = CopyValue : r1645_8 +# 1645| mu1645_10(int &) = Store[r] : &:r1645_1, r1645_9 +# 1646| r1646_1(double) = Constant[4.0] : +# 1646| r1646_2(glval) = VariableAddress[d] : +# 1646| r1646_3(double &) = Load[d] : &:r1646_2, ~m? +# 1646| r1646_4(glval) = CopyValue : r1646_3 +# 1646| mu1646_5(double) = Store[?] : &:r1646_4, r1646_1 +# 1647| r1647_1(glval) = VariableAddress[rd] : +# 1647| r1647_2(glval) = VariableAddress[d] : +# 1647| r1647_3(double &) = Load[d] : &:r1647_2, ~m? +# 1647| r1647_4(glval) = CopyValue : r1647_3 +# 1647| r1647_5(double &) = CopyValue : r1647_4 +# 1647| mu1647_6(double &) = Store[rd] : &:r1647_1, r1647_5 +# 1648| r1648_1(glval) = VariableAddress[v] : +# 1648| r1648_2(glval) = VariableAddress[i] : +# 1648| r1648_3(int &) = Load[i] : &:r1648_2, ~m? +# 1648| r1648_4(int) = Load[?] : &:r1648_3, ~m? +# 1648| mu1648_5(int) = Store[v] : &:r1648_1, r1648_4 +# 1649| r1649_1(int) = Constant[5] : +# 1649| r1649_2(glval) = VariableAddress[r] : +# 1649| r1649_3(int &) = Load[r] : &:r1649_2, ~m? +# 1649| r1649_4(glval) = CopyValue : r1649_3 +# 1649| mu1649_5(int) = Store[?] : &:r1649_4, r1649_1 +# 1650| r1650_1(glval) = VariableAddress[rr] : +# 1650| r1650_2(glval) = VariableAddress[r] : +# 1650| r1650_3(int &) = Load[r] : &:r1650_2, ~m? +# 1650| r1650_4(glval) = CopyValue : r1650_3 +# 1650| r1650_5(int &) = CopyValue : r1650_4 +# 1650| mu1650_6(int &) = Store[rr] : &:r1650_1, r1650_5 +# 1651| r1651_1(glval) = VariableAddress[w] : +# 1651| r1651_2(glval) = VariableAddress[r] : +# 1651| r1651_3(int &) = Load[r] : &:r1651_2, ~m? +# 1651| r1651_4(int) = Load[?] : &:r1651_3, ~m? +# 1651| mu1651_5(int) = Store[w] : &:r1651_1, r1651_4 +# 1653| v1653_1(void) = NoOp : +# 1628| v1628_4(void) = ReturnVoid : +# 1628| v1628_5(void) = AliasedUse : ~m? +# 1628| v1628_6(void) = ExitFunction : -# 1608| void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet() -# 1608| Block 0 -# 1608| v1608_1(void) = EnterFunction : -# 1608| mu1608_2(unknown) = AliasedDefinition : -# 1608| mu1608_3(unknown) = InitializeNonLocal : -# 1608| r1608_4(glval) = VariableAddress[#this] : -# 1608| mu1608_5(glval) = InitializeParameter[#this] : &:r1608_4 -# 1608| r1608_6(glval) = Load[#this] : &:r1608_4, ~m? -# 1608| mu1608_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1608_6 -# 1608| v1608_8(void) = NoOp : -# 1608| v1608_9(void) = ReturnIndirection[#this] : &:r1608_6, ~m? -# 1608| v1608_10(void) = ReturnVoid : -# 1608| v1608_11(void) = AliasedUse : ~m? -# 1608| v1608_12(void) = ExitFunction : +# 1655| void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet() +# 1655| Block 0 +# 1655| v1655_1(void) = EnterFunction : +# 1655| mu1655_2(unknown) = AliasedDefinition : +# 1655| mu1655_3(unknown) = InitializeNonLocal : +# 1655| r1655_4(glval) = VariableAddress[#this] : +# 1655| mu1655_5(glval) = InitializeParameter[#this] : &:r1655_4 +# 1655| r1655_6(glval) = Load[#this] : &:r1655_4, ~m? +# 1655| mu1655_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1655_6 +# 1655| v1655_8(void) = NoOp : +# 1655| v1655_9(void) = ReturnIndirection[#this] : &:r1655_6, ~m? +# 1655| v1655_10(void) = ReturnVoid : +# 1655| v1655_11(void) = AliasedUse : ~m? +# 1655| v1655_12(void) = ExitFunction : -# 1635| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1635| Block 0 -# 1635| v1635_1(void) = EnterFunction : -# 1635| mu1635_2(unknown) = AliasedDefinition : -# 1635| mu1635_3(unknown) = InitializeNonLocal : -# 1635| r1635_4(glval) = VariableAddress[#this] : -# 1635| mu1635_5(glval) = InitializeParameter[#this] : &:r1635_4 -# 1635| r1635_6(glval) = Load[#this] : &:r1635_4, ~m? -# 1635| mu1635_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1635_6 -# 1636| r1636_1(glval) = VariableAddress[#return] : -# 1636| r1636_2(glval) = VariableAddress[#this] : -# 1636| r1636_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1636_2, ~m? -# 1636| r1636_4(glval) = FieldAddress[i] : r1636_3 -# 1636| r1636_5(int) = Load[?] : &:r1636_4, ~m? -# 1636| mu1636_6(int) = Store[#return] : &:r1636_1, r1636_5 -# 1635| v1635_8(void) = ReturnIndirection[#this] : &:r1635_6, ~m? -# 1635| r1635_9(glval) = VariableAddress[#return] : -# 1635| v1635_10(void) = ReturnValue : &:r1635_9, ~m? -# 1635| v1635_11(void) = AliasedUse : ~m? -# 1635| v1635_12(void) = ExitFunction : +# 1682| std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1682| Block 0 +# 1682| v1682_1(void) = EnterFunction : +# 1682| mu1682_2(unknown) = AliasedDefinition : +# 1682| mu1682_3(unknown) = InitializeNonLocal : +# 1682| r1682_4(glval) = VariableAddress[#this] : +# 1682| mu1682_5(glval) = InitializeParameter[#this] : &:r1682_4 +# 1682| r1682_6(glval) = Load[#this] : &:r1682_4, ~m? +# 1682| mu1682_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1682_6 +# 1683| r1683_1(glval) = VariableAddress[#return] : +# 1683| r1683_2(glval) = VariableAddress[#this] : +# 1683| r1683_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1683_2, ~m? +# 1683| r1683_4(glval) = FieldAddress[i] : r1683_3 +# 1683| r1683_5(int) = Load[?] : &:r1683_4, ~m? +# 1683| mu1683_6(int) = Store[#return] : &:r1683_1, r1683_5 +# 1682| v1682_8(void) = ReturnIndirection[#this] : &:r1682_6, ~m? +# 1682| r1682_9(glval) = VariableAddress[#return] : +# 1682| v1682_10(void) = ReturnValue : &:r1682_9, ~m? +# 1682| v1682_11(void) = AliasedUse : ~m? +# 1682| v1682_12(void) = ExitFunction : -# 1639| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1639| Block 0 -# 1639| v1639_1(void) = EnterFunction : -# 1639| mu1639_2(unknown) = AliasedDefinition : -# 1639| mu1639_3(unknown) = InitializeNonLocal : -# 1639| r1639_4(glval) = VariableAddress[#this] : -# 1639| mu1639_5(glval) = InitializeParameter[#this] : &:r1639_4 -# 1639| r1639_6(glval) = Load[#this] : &:r1639_4, ~m? -# 1639| mu1639_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1639_6 -# 1640| r1640_1(glval) = VariableAddress[#return] : -# 1640| r1640_2(glval) = VariableAddress[#this] : -# 1640| r1640_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1640_2, ~m? -# 1640| r1640_4(glval) = FieldAddress[r] : r1640_3 -# 1640| r1640_5(int &) = Load[?] : &:r1640_4, ~m? -# 1640| r1640_6(glval) = CopyValue : r1640_5 -# 1640| r1640_7(int &) = CopyValue : r1640_6 -# 1640| mu1640_8(int &) = Store[#return] : &:r1640_1, r1640_7 -# 1639| v1639_8(void) = ReturnIndirection[#this] : &:r1639_6, ~m? -# 1639| r1639_9(glval) = VariableAddress[#return] : -# 1639| v1639_10(void) = ReturnValue : &:r1639_9, ~m? -# 1639| v1639_11(void) = AliasedUse : ~m? -# 1639| v1639_12(void) = ExitFunction : +# 1686| std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1686| Block 0 +# 1686| v1686_1(void) = EnterFunction : +# 1686| mu1686_2(unknown) = AliasedDefinition : +# 1686| mu1686_3(unknown) = InitializeNonLocal : +# 1686| r1686_4(glval) = VariableAddress[#this] : +# 1686| mu1686_5(glval) = InitializeParameter[#this] : &:r1686_4 +# 1686| r1686_6(glval) = Load[#this] : &:r1686_4, ~m? +# 1686| mu1686_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1686_6 +# 1687| r1687_1(glval) = VariableAddress[#return] : +# 1687| r1687_2(glval) = VariableAddress[#this] : +# 1687| r1687_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1687_2, ~m? +# 1687| r1687_4(glval) = FieldAddress[r] : r1687_3 +# 1687| r1687_5(int &) = Load[?] : &:r1687_4, ~m? +# 1687| r1687_6(glval) = CopyValue : r1687_5 +# 1687| r1687_7(int &) = CopyValue : r1687_6 +# 1687| mu1687_8(int &) = Store[#return] : &:r1687_1, r1687_7 +# 1686| v1686_8(void) = ReturnIndirection[#this] : &:r1686_6, ~m? +# 1686| r1686_9(glval) = VariableAddress[#return] : +# 1686| v1686_10(void) = ReturnValue : &:r1686_9, ~m? +# 1686| v1686_11(void) = AliasedUse : ~m? +# 1686| v1686_12(void) = ExitFunction : -# 1643| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1643| Block 0 -# 1643| v1643_1(void) = EnterFunction : -# 1643| mu1643_2(unknown) = AliasedDefinition : -# 1643| mu1643_3(unknown) = InitializeNonLocal : -# 1643| r1643_4(glval) = VariableAddress[#this] : -# 1643| mu1643_5(glval) = InitializeParameter[#this] : &:r1643_4 -# 1643| r1643_6(glval) = Load[#this] : &:r1643_4, ~m? -# 1643| mu1643_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1643_6 -# 1644| r1644_1(glval) = VariableAddress[#return] : -# 1644| r1644_2(glval) = VariableAddress[#temp1644:12] : -# 1644| r1644_3(int) = Constant[5] : -# 1644| mu1644_4(int) = Store[#temp1644:12] : &:r1644_2, r1644_3 -# 1644| r1644_5(int &) = CopyValue : r1644_2 -# 1644| mu1644_6(int &&) = Store[#return] : &:r1644_1, r1644_5 -# 1643| v1643_8(void) = ReturnIndirection[#this] : &:r1643_6, ~m? -# 1643| r1643_9(glval) = VariableAddress[#return] : -# 1643| v1643_10(void) = ReturnValue : &:r1643_9, ~m? -# 1643| v1643_11(void) = AliasedUse : ~m? -# 1643| v1643_12(void) = ExitFunction : +# 1690| std::tuple_element::type StructuredBindingTupleNoRefGet::get() +# 1690| Block 0 +# 1690| v1690_1(void) = EnterFunction : +# 1690| mu1690_2(unknown) = AliasedDefinition : +# 1690| mu1690_3(unknown) = InitializeNonLocal : +# 1690| r1690_4(glval) = VariableAddress[#this] : +# 1690| mu1690_5(glval) = InitializeParameter[#this] : &:r1690_4 +# 1690| r1690_6(glval) = Load[#this] : &:r1690_4, ~m? +# 1690| mu1690_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1690_6 +# 1691| r1691_1(glval) = VariableAddress[#return] : +# 1691| r1691_2(glval) = VariableAddress[#temp1691:12] : +# 1691| r1691_3(int) = Constant[5] : +# 1691| mu1691_4(int) = Store[#temp1691:12] : &:r1691_2, r1691_3 +# 1691| r1691_5(int &) = CopyValue : r1691_2 +# 1691| mu1691_6(int &&) = Store[#return] : &:r1691_1, r1691_5 +# 1690| v1690_8(void) = ReturnIndirection[#this] : &:r1690_6, ~m? +# 1690| r1690_9(glval) = VariableAddress[#return] : +# 1690| v1690_10(void) = ReturnValue : &:r1690_9, ~m? +# 1690| v1690_11(void) = AliasedUse : ~m? +# 1690| v1690_12(void) = ExitFunction : -# 1647| void tuple_structured_binding_no_ref_get() -# 1647| Block 0 -# 1647| v1647_1(void) = EnterFunction : -# 1647| mu1647_2(unknown) = AliasedDefinition : -# 1647| mu1647_3(unknown) = InitializeNonLocal : -# 1648| r1648_1(glval) = VariableAddress[t] : -# 1648| mu1648_2(StructuredBindingTupleNoRefGet) = Uninitialized[t] : &:r1648_1 -# 1648| r1648_3(glval) = FunctionAddress[StructuredBindingTupleNoRefGet] : -# 1648| v1648_4(void) = Call[StructuredBindingTupleNoRefGet] : func:r1648_3, this:r1648_1 -# 1648| mu1648_5(unknown) = ^CallSideEffect : ~m? -# 1648| mu1648_6(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1648_1 -# 1651| r1651_1(glval) = VariableAddress[(unnamed local variable)] : -# 1651| r1651_2(glval) = VariableAddress[t] : -# 1651| r1651_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1651_2 -# 1651| mu1651_4(StructuredBindingTupleNoRefGet &) = Store[(unnamed local variable)] : &:r1651_1, r1651_3 -# 1651| r1651_5(glval) = VariableAddress[i] : -# 1651| r1651_6(glval) = VariableAddress[#temp1651:16] : -# 1651| r1651_7(glval) = VariableAddress[(unnamed local variable)] : -# 1651| r1651_8(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1651_7, ~m? -# 1651| r1651_9(glval) = CopyValue : r1651_8 -# 1651| r1651_10(glval) = FunctionAddress[get] : -# 1651| r1651_11(int) = Call[get] : func:r1651_10, this:r1651_9 -# 1651| mu1651_12(unknown) = ^CallSideEffect : ~m? -# 1651| v1651_13(void) = ^IndirectReadSideEffect[-1] : &:r1651_9, ~m? -# 1651| mu1651_14(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1651_9 -# 1651| mu1651_15(int) = Store[#temp1651:16] : &:r1651_6, r1651_11 -# 1651| r1651_16(int &) = CopyValue : r1651_6 -# 1651| mu1651_17(int &&) = Store[i] : &:r1651_5, r1651_16 -# 1651| r1651_18(glval) = VariableAddress[r] : -# 1651| r1651_19(glval) = VariableAddress[(unnamed local variable)] : -# 1651| r1651_20(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1651_19, ~m? -# 1651| r1651_21(glval) = CopyValue : r1651_20 -# 1651| r1651_22(glval) = FunctionAddress[get] : -# 1651| r1651_23(int &) = Call[get] : func:r1651_22, this:r1651_21 -# 1651| mu1651_24(unknown) = ^CallSideEffect : ~m? -# 1651| v1651_25(void) = ^IndirectReadSideEffect[-1] : &:r1651_21, ~m? -# 1651| mu1651_26(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1651_21 -# 1651| r1651_27(glval) = CopyValue : r1651_23 -# 1651| r1651_28(int &) = CopyValue : r1651_27 -# 1651| mu1651_29(int &) = Store[r] : &:r1651_18, r1651_28 -# 1651| r1651_30(glval) = VariableAddress[rv] : -# 1651| r1651_31(glval) = VariableAddress[(unnamed local variable)] : -# 1651| r1651_32(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1651_31, ~m? -# 1651| r1651_33(glval) = CopyValue : r1651_32 -# 1651| r1651_34(glval) = FunctionAddress[get] : -# 1651| r1651_35(int &&) = Call[get] : func:r1651_34, this:r1651_33 -# 1651| mu1651_36(unknown) = ^CallSideEffect : ~m? -# 1651| v1651_37(void) = ^IndirectReadSideEffect[-1] : &:r1651_33, ~m? -# 1651| mu1651_38(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1651_33 -# 1651| r1651_39(glval) = CopyValue : r1651_35 -# 1651| r1651_40(int &) = CopyValue : r1651_39 -# 1651| mu1651_41(int &&) = Store[rv] : &:r1651_30, r1651_40 -# 1652| r1652_1(int) = Constant[4] : -# 1652| r1652_2(glval) = VariableAddress[i] : -# 1652| r1652_3(int &&) = Load[i] : &:r1652_2, ~m? -# 1652| r1652_4(glval) = CopyValue : r1652_3 -# 1652| mu1652_5(int) = Store[?] : &:r1652_4, r1652_1 -# 1653| r1653_1(glval) = VariableAddress[ri] : -# 1653| r1653_2(glval) = VariableAddress[i] : -# 1653| r1653_3(int &&) = Load[i] : &:r1653_2, ~m? -# 1653| r1653_4(glval) = CopyValue : r1653_3 -# 1653| r1653_5(int &) = CopyValue : r1653_4 -# 1653| mu1653_6(int &) = Store[ri] : &:r1653_1, r1653_5 -# 1654| r1654_1(glval) = VariableAddress[v] : -# 1654| r1654_2(glval) = VariableAddress[i] : -# 1654| r1654_3(int &&) = Load[i] : &:r1654_2, ~m? -# 1654| r1654_4(int) = Load[?] : &:r1654_3, ~m? -# 1654| mu1654_5(int) = Store[v] : &:r1654_1, r1654_4 -# 1655| r1655_1(int) = Constant[5] : -# 1655| r1655_2(glval) = VariableAddress[r] : -# 1655| r1655_3(int &) = Load[r] : &:r1655_2, ~m? -# 1655| r1655_4(glval) = CopyValue : r1655_3 -# 1655| mu1655_5(int) = Store[?] : &:r1655_4, r1655_1 -# 1656| r1656_1(glval) = VariableAddress[rr] : -# 1656| r1656_2(glval) = VariableAddress[r] : -# 1656| r1656_3(int &) = Load[r] : &:r1656_2, ~m? -# 1656| r1656_4(glval) = CopyValue : r1656_3 -# 1656| r1656_5(int &) = CopyValue : r1656_4 -# 1656| mu1656_6(int &) = Store[rr] : &:r1656_1, r1656_5 -# 1657| r1657_1(glval) = VariableAddress[w] : -# 1657| r1657_2(glval) = VariableAddress[r] : -# 1657| r1657_3(int &) = Load[r] : &:r1657_2, ~m? -# 1657| r1657_4(int) = Load[?] : &:r1657_3, ~m? -# 1657| mu1657_5(int) = Store[w] : &:r1657_1, r1657_4 -# 1661| r1661_1(glval) = VariableAddress[unnamed_local_variable] : -# 1661| r1661_2(glval) = VariableAddress[t] : -# 1661| r1661_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1661_2 -# 1661| mu1661_4(StructuredBindingTupleNoRefGet &) = Store[unnamed_local_variable] : &:r1661_1, r1661_3 -# 1662| r1662_1(glval) = VariableAddress[i] : -# 1662| r1662_2(glval) = VariableAddress[#temp1662:20] : -# 1662| r1662_3(glval) = VariableAddress[unnamed_local_variable] : -# 1662| r1662_4(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1662_3, ~m? -# 1662| r1662_5(glval) = CopyValue : r1662_4 -# 1662| r1662_6(glval) = FunctionAddress[get] : -# 1662| r1662_7(int) = Call[get] : func:r1662_6, this:r1662_5 -# 1662| mu1662_8(unknown) = ^CallSideEffect : ~m? -# 1662| v1662_9(void) = ^IndirectReadSideEffect[-1] : &:r1662_5, ~m? -# 1662| mu1662_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1662_5 -# 1662| mu1662_11(int) = Store[#temp1662:20] : &:r1662_2, r1662_7 -# 1662| r1662_12(int &) = CopyValue : r1662_2 -# 1662| mu1662_13(int &&) = Store[i] : &:r1662_1, r1662_12 -# 1663| r1663_1(glval) = VariableAddress[r] : -# 1663| r1663_2(glval) = VariableAddress[unnamed_local_variable] : -# 1663| r1663_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1663_2, ~m? -# 1663| r1663_4(glval) = CopyValue : r1663_3 -# 1663| r1663_5(glval) = FunctionAddress[get] : -# 1663| r1663_6(int &) = Call[get] : func:r1663_5, this:r1663_4 -# 1663| mu1663_7(unknown) = ^CallSideEffect : ~m? -# 1663| v1663_8(void) = ^IndirectReadSideEffect[-1] : &:r1663_4, ~m? -# 1663| mu1663_9(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1663_4 -# 1663| r1663_10(glval) = CopyValue : r1663_6 -# 1663| r1663_11(int &) = CopyValue : r1663_10 -# 1663| mu1663_12(int &) = Store[r] : &:r1663_1, r1663_11 -# 1664| r1664_1(glval) = VariableAddress[rv] : -# 1664| r1664_2(glval) = VariableAddress[unnamed_local_variable] : -# 1664| r1664_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1664_2, ~m? -# 1664| r1664_4(glval) = CopyValue : r1664_3 -# 1664| r1664_5(glval) = FunctionAddress[get] : -# 1664| r1664_6(int &&) = Call[get] : func:r1664_5, this:r1664_4 -# 1664| mu1664_7(unknown) = ^CallSideEffect : ~m? -# 1664| v1664_8(void) = ^IndirectReadSideEffect[-1] : &:r1664_4, ~m? -# 1664| mu1664_9(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1664_4 -# 1664| r1664_10(glval) = CopyValue : r1664_6 -# 1664| r1664_11(int &) = CopyValue : r1664_10 -# 1664| mu1664_12(int &&) = Store[rv] : &:r1664_1, r1664_11 -# 1665| r1665_1(int) = Constant[4] : -# 1665| r1665_2(glval) = VariableAddress[i] : -# 1665| r1665_3(int &&) = Load[i] : &:r1665_2, ~m? -# 1665| r1665_4(glval) = CopyValue : r1665_3 -# 1665| mu1665_5(int) = Store[?] : &:r1665_4, r1665_1 -# 1666| r1666_1(glval) = VariableAddress[ri] : -# 1666| r1666_2(glval) = VariableAddress[i] : -# 1666| r1666_3(int &&) = Load[i] : &:r1666_2, ~m? -# 1666| r1666_4(glval) = CopyValue : r1666_3 -# 1666| r1666_5(int &) = CopyValue : r1666_4 -# 1666| mu1666_6(int &) = Store[ri] : &:r1666_1, r1666_5 -# 1667| r1667_1(glval) = VariableAddress[v] : -# 1667| r1667_2(glval) = VariableAddress[i] : -# 1667| r1667_3(int &&) = Load[i] : &:r1667_2, ~m? -# 1667| r1667_4(int) = Load[?] : &:r1667_3, ~m? -# 1667| mu1667_5(int) = Store[v] : &:r1667_1, r1667_4 -# 1668| r1668_1(int) = Constant[5] : -# 1668| r1668_2(glval) = VariableAddress[r] : -# 1668| r1668_3(int &) = Load[r] : &:r1668_2, ~m? -# 1668| r1668_4(glval) = CopyValue : r1668_3 -# 1668| mu1668_5(int) = Store[?] : &:r1668_4, r1668_1 -# 1669| r1669_1(glval) = VariableAddress[rr] : -# 1669| r1669_2(glval) = VariableAddress[r] : -# 1669| r1669_3(int &) = Load[r] : &:r1669_2, ~m? -# 1669| r1669_4(glval) = CopyValue : r1669_3 -# 1669| r1669_5(int &) = CopyValue : r1669_4 -# 1669| mu1669_6(int &) = Store[rr] : &:r1669_1, r1669_5 -# 1670| r1670_1(glval) = VariableAddress[w] : -# 1670| r1670_2(glval) = VariableAddress[r] : -# 1670| r1670_3(int &) = Load[r] : &:r1670_2, ~m? -# 1670| r1670_4(int) = Load[?] : &:r1670_3, ~m? -# 1670| mu1670_5(int) = Store[w] : &:r1670_1, r1670_4 -# 1672| v1672_1(void) = NoOp : -# 1647| v1647_4(void) = ReturnVoid : -# 1647| v1647_5(void) = AliasedUse : ~m? -# 1647| v1647_6(void) = ExitFunction : +# 1694| void tuple_structured_binding_no_ref_get() +# 1694| Block 0 +# 1694| v1694_1(void) = EnterFunction : +# 1694| mu1694_2(unknown) = AliasedDefinition : +# 1694| mu1694_3(unknown) = InitializeNonLocal : +# 1695| r1695_1(glval) = VariableAddress[t] : +# 1695| mu1695_2(StructuredBindingTupleNoRefGet) = Uninitialized[t] : &:r1695_1 +# 1695| r1695_3(glval) = FunctionAddress[StructuredBindingTupleNoRefGet] : +# 1695| v1695_4(void) = Call[StructuredBindingTupleNoRefGet] : func:r1695_3, this:r1695_1 +# 1695| mu1695_5(unknown) = ^CallSideEffect : ~m? +# 1695| mu1695_6(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1695_1 +# 1698| r1698_1(glval) = VariableAddress[(unnamed local variable)] : +# 1698| r1698_2(glval) = VariableAddress[t] : +# 1698| r1698_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1698_2 +# 1698| mu1698_4(StructuredBindingTupleNoRefGet &) = Store[(unnamed local variable)] : &:r1698_1, r1698_3 +# 1698| r1698_5(glval) = VariableAddress[i] : +# 1698| r1698_6(glval) = VariableAddress[#temp1698:16] : +# 1698| r1698_7(glval) = VariableAddress[(unnamed local variable)] : +# 1698| r1698_8(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1698_7, ~m? +# 1698| r1698_9(glval) = CopyValue : r1698_8 +# 1698| r1698_10(glval) = FunctionAddress[get] : +# 1698| r1698_11(int) = Call[get] : func:r1698_10, this:r1698_9 +# 1698| mu1698_12(unknown) = ^CallSideEffect : ~m? +# 1698| v1698_13(void) = ^IndirectReadSideEffect[-1] : &:r1698_9, ~m? +# 1698| mu1698_14(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1698_9 +# 1698| mu1698_15(int) = Store[#temp1698:16] : &:r1698_6, r1698_11 +# 1698| r1698_16(int &) = CopyValue : r1698_6 +# 1698| mu1698_17(int &&) = Store[i] : &:r1698_5, r1698_16 +# 1698| r1698_18(glval) = VariableAddress[r] : +# 1698| r1698_19(glval) = VariableAddress[(unnamed local variable)] : +# 1698| r1698_20(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1698_19, ~m? +# 1698| r1698_21(glval) = CopyValue : r1698_20 +# 1698| r1698_22(glval) = FunctionAddress[get] : +# 1698| r1698_23(int &) = Call[get] : func:r1698_22, this:r1698_21 +# 1698| mu1698_24(unknown) = ^CallSideEffect : ~m? +# 1698| v1698_25(void) = ^IndirectReadSideEffect[-1] : &:r1698_21, ~m? +# 1698| mu1698_26(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1698_21 +# 1698| r1698_27(glval) = CopyValue : r1698_23 +# 1698| r1698_28(int &) = CopyValue : r1698_27 +# 1698| mu1698_29(int &) = Store[r] : &:r1698_18, r1698_28 +# 1698| r1698_30(glval) = VariableAddress[rv] : +# 1698| r1698_31(glval) = VariableAddress[(unnamed local variable)] : +# 1698| r1698_32(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1698_31, ~m? +# 1698| r1698_33(glval) = CopyValue : r1698_32 +# 1698| r1698_34(glval) = FunctionAddress[get] : +# 1698| r1698_35(int &&) = Call[get] : func:r1698_34, this:r1698_33 +# 1698| mu1698_36(unknown) = ^CallSideEffect : ~m? +# 1698| v1698_37(void) = ^IndirectReadSideEffect[-1] : &:r1698_33, ~m? +# 1698| mu1698_38(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1698_33 +# 1698| r1698_39(glval) = CopyValue : r1698_35 +# 1698| r1698_40(int &) = CopyValue : r1698_39 +# 1698| mu1698_41(int &&) = Store[rv] : &:r1698_30, r1698_40 +# 1699| r1699_1(int) = Constant[4] : +# 1699| r1699_2(glval) = VariableAddress[i] : +# 1699| r1699_3(int &&) = Load[i] : &:r1699_2, ~m? +# 1699| r1699_4(glval) = CopyValue : r1699_3 +# 1699| mu1699_5(int) = Store[?] : &:r1699_4, r1699_1 +# 1700| r1700_1(glval) = VariableAddress[ri] : +# 1700| r1700_2(glval) = VariableAddress[i] : +# 1700| r1700_3(int &&) = Load[i] : &:r1700_2, ~m? +# 1700| r1700_4(glval) = CopyValue : r1700_3 +# 1700| r1700_5(int &) = CopyValue : r1700_4 +# 1700| mu1700_6(int &) = Store[ri] : &:r1700_1, r1700_5 +# 1701| r1701_1(glval) = VariableAddress[v] : +# 1701| r1701_2(glval) = VariableAddress[i] : +# 1701| r1701_3(int &&) = Load[i] : &:r1701_2, ~m? +# 1701| r1701_4(int) = Load[?] : &:r1701_3, ~m? +# 1701| mu1701_5(int) = Store[v] : &:r1701_1, r1701_4 +# 1702| r1702_1(int) = Constant[5] : +# 1702| r1702_2(glval) = VariableAddress[r] : +# 1702| r1702_3(int &) = Load[r] : &:r1702_2, ~m? +# 1702| r1702_4(glval) = CopyValue : r1702_3 +# 1702| mu1702_5(int) = Store[?] : &:r1702_4, r1702_1 +# 1703| r1703_1(glval) = VariableAddress[rr] : +# 1703| r1703_2(glval) = VariableAddress[r] : +# 1703| r1703_3(int &) = Load[r] : &:r1703_2, ~m? +# 1703| r1703_4(glval) = CopyValue : r1703_3 +# 1703| r1703_5(int &) = CopyValue : r1703_4 +# 1703| mu1703_6(int &) = Store[rr] : &:r1703_1, r1703_5 +# 1704| r1704_1(glval) = VariableAddress[w] : +# 1704| r1704_2(glval) = VariableAddress[r] : +# 1704| r1704_3(int &) = Load[r] : &:r1704_2, ~m? +# 1704| r1704_4(int) = Load[?] : &:r1704_3, ~m? +# 1704| mu1704_5(int) = Store[w] : &:r1704_1, r1704_4 +# 1708| r1708_1(glval) = VariableAddress[unnamed_local_variable] : +# 1708| r1708_2(glval) = VariableAddress[t] : +# 1708| r1708_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1708_2 +# 1708| mu1708_4(StructuredBindingTupleNoRefGet &) = Store[unnamed_local_variable] : &:r1708_1, r1708_3 +# 1709| r1709_1(glval) = VariableAddress[i] : +# 1709| r1709_2(glval) = VariableAddress[#temp1709:20] : +# 1709| r1709_3(glval) = VariableAddress[unnamed_local_variable] : +# 1709| r1709_4(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1709_3, ~m? +# 1709| r1709_5(glval) = CopyValue : r1709_4 +# 1709| r1709_6(glval) = FunctionAddress[get] : +# 1709| r1709_7(int) = Call[get] : func:r1709_6, this:r1709_5 +# 1709| mu1709_8(unknown) = ^CallSideEffect : ~m? +# 1709| v1709_9(void) = ^IndirectReadSideEffect[-1] : &:r1709_5, ~m? +# 1709| mu1709_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1709_5 +# 1709| mu1709_11(int) = Store[#temp1709:20] : &:r1709_2, r1709_7 +# 1709| r1709_12(int &) = CopyValue : r1709_2 +# 1709| mu1709_13(int &&) = Store[i] : &:r1709_1, r1709_12 +# 1710| r1710_1(glval) = VariableAddress[r] : +# 1710| r1710_2(glval) = VariableAddress[unnamed_local_variable] : +# 1710| r1710_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1710_2, ~m? +# 1710| r1710_4(glval) = CopyValue : r1710_3 +# 1710| r1710_5(glval) = FunctionAddress[get] : +# 1710| r1710_6(int &) = Call[get] : func:r1710_5, this:r1710_4 +# 1710| mu1710_7(unknown) = ^CallSideEffect : ~m? +# 1710| v1710_8(void) = ^IndirectReadSideEffect[-1] : &:r1710_4, ~m? +# 1710| mu1710_9(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1710_4 +# 1710| r1710_10(glval) = CopyValue : r1710_6 +# 1710| r1710_11(int &) = CopyValue : r1710_10 +# 1710| mu1710_12(int &) = Store[r] : &:r1710_1, r1710_11 +# 1711| r1711_1(glval) = VariableAddress[rv] : +# 1711| r1711_2(glval) = VariableAddress[unnamed_local_variable] : +# 1711| r1711_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1711_2, ~m? +# 1711| r1711_4(glval) = CopyValue : r1711_3 +# 1711| r1711_5(glval) = FunctionAddress[get] : +# 1711| r1711_6(int &&) = Call[get] : func:r1711_5, this:r1711_4 +# 1711| mu1711_7(unknown) = ^CallSideEffect : ~m? +# 1711| v1711_8(void) = ^IndirectReadSideEffect[-1] : &:r1711_4, ~m? +# 1711| mu1711_9(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1711_4 +# 1711| r1711_10(glval) = CopyValue : r1711_6 +# 1711| r1711_11(int &) = CopyValue : r1711_10 +# 1711| mu1711_12(int &&) = Store[rv] : &:r1711_1, r1711_11 +# 1712| r1712_1(int) = Constant[4] : +# 1712| r1712_2(glval) = VariableAddress[i] : +# 1712| r1712_3(int &&) = Load[i] : &:r1712_2, ~m? +# 1712| r1712_4(glval) = CopyValue : r1712_3 +# 1712| mu1712_5(int) = Store[?] : &:r1712_4, r1712_1 +# 1713| r1713_1(glval) = VariableAddress[ri] : +# 1713| r1713_2(glval) = VariableAddress[i] : +# 1713| r1713_3(int &&) = Load[i] : &:r1713_2, ~m? +# 1713| r1713_4(glval) = CopyValue : r1713_3 +# 1713| r1713_5(int &) = CopyValue : r1713_4 +# 1713| mu1713_6(int &) = Store[ri] : &:r1713_1, r1713_5 +# 1714| r1714_1(glval) = VariableAddress[v] : +# 1714| r1714_2(glval) = VariableAddress[i] : +# 1714| r1714_3(int &&) = Load[i] : &:r1714_2, ~m? +# 1714| r1714_4(int) = Load[?] : &:r1714_3, ~m? +# 1714| mu1714_5(int) = Store[v] : &:r1714_1, r1714_4 +# 1715| r1715_1(int) = Constant[5] : +# 1715| r1715_2(glval) = VariableAddress[r] : +# 1715| r1715_3(int &) = Load[r] : &:r1715_2, ~m? +# 1715| r1715_4(glval) = CopyValue : r1715_3 +# 1715| mu1715_5(int) = Store[?] : &:r1715_4, r1715_1 +# 1716| r1716_1(glval) = VariableAddress[rr] : +# 1716| r1716_2(glval) = VariableAddress[r] : +# 1716| r1716_3(int &) = Load[r] : &:r1716_2, ~m? +# 1716| r1716_4(glval) = CopyValue : r1716_3 +# 1716| r1716_5(int &) = CopyValue : r1716_4 +# 1716| mu1716_6(int &) = Store[rr] : &:r1716_1, r1716_5 +# 1717| r1717_1(glval) = VariableAddress[w] : +# 1717| r1717_2(glval) = VariableAddress[r] : +# 1717| r1717_3(int &) = Load[r] : &:r1717_2, ~m? +# 1717| r1717_4(int) = Load[?] : &:r1717_3, ~m? +# 1717| mu1717_5(int) = Store[w] : &:r1717_1, r1717_4 +# 1719| v1719_1(void) = NoOp : +# 1694| v1694_4(void) = ReturnVoid : +# 1694| v1694_5(void) = AliasedUse : ~m? +# 1694| v1694_6(void) = ExitFunction : -# 1674| void array_structured_binding_non_ref_init() -# 1674| Block 0 -# 1674| v1674_1(void) = EnterFunction : -# 1674| mu1674_2(unknown) = AliasedDefinition : -# 1674| mu1674_3(unknown) = InitializeNonLocal : -# 1675| r1675_1(glval) = VariableAddress[xs] : -# 1675| mu1675_2(int[2]) = Uninitialized[xs] : &:r1675_1 -# 1675| r1675_3(int) = Constant[0] : -# 1675| r1675_4(glval) = PointerAdd[4] : r1675_1, r1675_3 -# 1675| r1675_5(int) = Constant[1] : -# 1675| mu1675_6(int) = Store[?] : &:r1675_4, r1675_5 -# 1675| r1675_7(int) = Constant[1] : -# 1675| r1675_8(glval) = PointerAdd[4] : r1675_1, r1675_7 -# 1675| r1675_9(int) = Constant[2] : -# 1675| mu1675_10(int) = Store[?] : &:r1675_8, r1675_9 -# 1676| r1676_1(glval) = VariableAddress[(unnamed local variable)] : -# 1676| r1676_2(glval) = VariableAddress[xs] : -# 1676| r1676_3(int[2]) = Load[xs] : &:r1676_2, ~m? -# 1676| mu1676_4(int[2]) = Store[(unnamed local variable)] : &:r1676_1, r1676_3 -# 1676| r1676_5(glval) = VariableAddress[x0] : +# 1721| void array_structured_binding_non_ref_init() +# 1721| Block 0 +# 1721| v1721_1(void) = EnterFunction : +# 1721| mu1721_2(unknown) = AliasedDefinition : +# 1721| mu1721_3(unknown) = InitializeNonLocal : +# 1722| r1722_1(glval) = VariableAddress[xs] : +# 1722| mu1722_2(int[2]) = Uninitialized[xs] : &:r1722_1 +# 1722| r1722_3(int) = Constant[0] : +# 1722| r1722_4(glval) = PointerAdd[4] : r1722_1, r1722_3 +# 1722| r1722_5(int) = Constant[1] : +# 1722| mu1722_6(int) = Store[?] : &:r1722_4, r1722_5 +# 1722| r1722_7(int) = Constant[1] : +# 1722| r1722_8(glval) = PointerAdd[4] : r1722_1, r1722_7 +# 1722| r1722_9(int) = Constant[2] : +# 1722| mu1722_10(int) = Store[?] : &:r1722_8, r1722_9 +# 1723| r1723_1(glval) = VariableAddress[(unnamed local variable)] : +# 1723| r1723_2(glval) = VariableAddress[xs] : +# 1723| r1723_3(int[2]) = Load[xs] : &:r1723_2, ~m? +# 1723| mu1723_4(int[2]) = Store[(unnamed local variable)] : &:r1723_1, r1723_3 +# 1723| r1723_5(glval) = VariableAddress[x0] : #-----| r0_1(glval) = VariableAddress[(unnamed local variable)] : #-----| r0_2(int *) = Convert : r0_1 #-----| r0_3(unsigned long) = Constant[0] : #-----| r0_4(glval) = PointerAdd[4] : r0_2, r0_3 -#-----| mu0_5(int &) = Store[x0] : &:r1676_5, r0_4 -# 1676| r1676_6(glval) = VariableAddress[x1] : +#-----| mu0_5(int &) = Store[x0] : &:r1723_5, r0_4 +# 1723| r1723_6(glval) = VariableAddress[x1] : #-----| r0_6(glval) = VariableAddress[(unnamed local variable)] : #-----| r0_7(int *) = Convert : r0_6 #-----| r0_8(unsigned long) = Constant[1] : #-----| r0_9(glval) = PointerAdd[4] : r0_7, r0_8 -#-----| mu0_10(int &) = Store[x1] : &:r1676_6, r0_9 -# 1677| v1677_1(void) = NoOp : -# 1674| v1674_4(void) = ReturnVoid : -# 1674| v1674_5(void) = AliasedUse : ~m? -# 1674| v1674_6(void) = ExitFunction : +#-----| mu0_10(int &) = Store[x1] : &:r1723_6, r0_9 +# 1724| v1724_1(void) = NoOp : +# 1721| v1721_4(void) = ReturnVoid : +# 1721| v1721_5(void) = AliasedUse : ~m? +# 1721| v1721_6(void) = ExitFunction : -# 1682| void CapturedLambdaMyObj::CapturedLambdaMyObj() -# 1682| Block 0 -# 1682| v1682_1(void) = EnterFunction : -# 1682| mu1682_2(unknown) = AliasedDefinition : -# 1682| mu1682_3(unknown) = InitializeNonLocal : -# 1682| r1682_4(glval) = VariableAddress[#this] : -# 1682| mu1682_5(glval) = InitializeParameter[#this] : &:r1682_4 -# 1682| r1682_6(glval) = Load[#this] : &:r1682_4, ~m? -# 1682| mu1682_7(CapturedLambdaMyObj) = InitializeIndirection[#this] : &:r1682_6 -# 1682| v1682_8(void) = NoOp : -# 1682| v1682_9(void) = ReturnIndirection[#this] : &:r1682_6, ~m? -# 1682| v1682_10(void) = ReturnVoid : -# 1682| v1682_11(void) = AliasedUse : ~m? -# 1682| v1682_12(void) = ExitFunction : +# 1729| void CapturedLambdaMyObj::CapturedLambdaMyObj() +# 1729| Block 0 +# 1729| v1729_1(void) = EnterFunction : +# 1729| mu1729_2(unknown) = AliasedDefinition : +# 1729| mu1729_3(unknown) = InitializeNonLocal : +# 1729| r1729_4(glval) = VariableAddress[#this] : +# 1729| mu1729_5(glval) = InitializeParameter[#this] : &:r1729_4 +# 1729| r1729_6(glval) = Load[#this] : &:r1729_4, ~m? +# 1729| mu1729_7(CapturedLambdaMyObj) = InitializeIndirection[#this] : &:r1729_6 +# 1729| v1729_8(void) = NoOp : +# 1729| v1729_9(void) = ReturnIndirection[#this] : &:r1729_6, ~m? +# 1729| v1729_10(void) = ReturnVoid : +# 1729| v1729_11(void) = AliasedUse : ~m? +# 1729| v1729_12(void) = ExitFunction : -# 1685| void captured_lambda(int, int&, int&&) -# 1685| Block 0 -# 1685| v1685_1(void) = EnterFunction : -# 1685| mu1685_2(unknown) = AliasedDefinition : -# 1685| mu1685_3(unknown) = InitializeNonLocal : -# 1685| r1685_4(glval) = VariableAddress[x] : -# 1685| mu1685_5(int) = InitializeParameter[x] : &:r1685_4 -# 1685| r1685_6(glval) = VariableAddress[y] : -# 1685| mu1685_7(int &) = InitializeParameter[y] : &:r1685_6 -# 1685| r1685_8(int &) = Load[y] : &:r1685_6, ~m? -# 1685| mu1685_9(unknown) = InitializeIndirection[y] : &:r1685_8 -# 1685| r1685_10(glval) = VariableAddress[z] : -# 1685| mu1685_11(int &&) = InitializeParameter[z] : &:r1685_10 -# 1685| r1685_12(int &&) = Load[z] : &:r1685_10, ~m? -# 1685| mu1685_13(unknown) = InitializeIndirection[z] : &:r1685_12 -# 1687| r1687_1(glval) = VariableAddress[obj1] : -# 1687| r1687_2(glval) = VariableAddress[#temp1687:24] : -# 1687| mu1687_3(CapturedLambdaMyObj) = Uninitialized[#temp1687:24] : &:r1687_2 -# 1687| r1687_4(glval) = FunctionAddress[CapturedLambdaMyObj] : -# 1687| v1687_5(void) = Call[CapturedLambdaMyObj] : func:r1687_4, this:r1687_2 -# 1687| mu1687_6(unknown) = ^CallSideEffect : ~m? -# 1687| mu1687_7(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1687_2 -# 1687| r1687_8(glval) = Convert : r1687_2 -# 1687| r1687_9(CapturedLambdaMyObj &) = CopyValue : r1687_8 -# 1687| mu1687_10(CapturedLambdaMyObj &) = Store[obj1] : &:r1687_1, r1687_9 -# 1688| r1688_1(glval) = VariableAddress[obj2] : -# 1688| mu1688_2(CapturedLambdaMyObj) = Uninitialized[obj2] : &:r1688_1 -# 1688| r1688_3(glval) = FunctionAddress[CapturedLambdaMyObj] : -# 1688| v1688_4(void) = Call[CapturedLambdaMyObj] : func:r1688_3, this:r1688_1 -# 1688| mu1688_5(unknown) = ^CallSideEffect : ~m? -# 1688| mu1688_6(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1688_1 -# 1690| r1690_1(glval) = VariableAddress[lambda_outer] : -# 1690| r1690_2(glval) = VariableAddress[#temp1690:24] : -# 1690| mu1690_3(decltype([...](...){...})) = Uninitialized[#temp1690:24] : &:r1690_2 -# 1690| r1690_4(glval) = FieldAddress[obj1] : r1690_2 -# 1690| r1690_5(glval) = VariableAddress[obj1] : -# 1690| r1690_6(CapturedLambdaMyObj &) = Load[obj1] : &:r1690_5, ~m? -#-----| r0_1(CapturedLambdaMyObj) = Load[?] : &:r1690_6, ~m? -#-----| mu0_2(CapturedLambdaMyObj) = Store[?] : &:r1690_4, r0_1 -# 1690| r1690_7(glval) = FieldAddress[obj2] : r1690_2 -# 1690| r1690_8(glval) = VariableAddress[obj2] : -# 1690| r1690_9(CapturedLambdaMyObj) = Load[obj2] : &:r1690_8, ~m? -# 1690| mu1690_10(CapturedLambdaMyObj) = Store[?] : &:r1690_7, r1690_9 -# 1690| r1690_11(glval) = FieldAddress[x] : r1690_2 -# 1690| r1690_12(glval) = VariableAddress[x] : -# 1690| r1690_13(int) = Load[x] : &:r1690_12, ~m? -# 1690| mu1690_14(int) = Store[?] : &:r1690_11, r1690_13 -# 1690| r1690_15(glval) = FieldAddress[y] : r1690_2 -# 1690| r1690_16(glval) = VariableAddress[y] : -# 1690| r1690_17(int &) = Load[y] : &:r1690_16, ~m? -# 1692| r1692_1(int) = Load[?] : &:r1690_17, ~m? -# 1692| mu1692_2(int) = Store[?] : &:r1690_15, r1692_1 -# 1690| r1690_18(glval) = FieldAddress[z] : r1690_2 -# 1690| r1690_19(glval) = VariableAddress[z] : -# 1690| r1690_20(int &&) = Load[z] : &:r1690_19, ~m? -# 1692| r1692_3(int) = Load[?] : &:r1690_20, ~m? -# 1692| mu1692_4(int) = Store[?] : &:r1690_18, r1692_3 -# 1690| r1690_21(decltype([...](...){...})) = Load[#temp1690:24] : &:r1690_2, ~m? -# 1690| mu1690_22(decltype([...](...){...})) = Store[lambda_outer] : &:r1690_1, r1690_21 -# 1693| v1693_1(void) = NoOp : -# 1685| v1685_14(void) = ReturnIndirection[y] : &:r1685_8, ~m? -# 1685| v1685_15(void) = ReturnIndirection[z] : &:r1685_12, ~m? -# 1685| v1685_16(void) = ReturnVoid : -# 1685| v1685_17(void) = AliasedUse : ~m? -# 1685| v1685_18(void) = ExitFunction : +# 1732| void captured_lambda(int, int&, int&&) +# 1732| Block 0 +# 1732| v1732_1(void) = EnterFunction : +# 1732| mu1732_2(unknown) = AliasedDefinition : +# 1732| mu1732_3(unknown) = InitializeNonLocal : +# 1732| r1732_4(glval) = VariableAddress[x] : +# 1732| mu1732_5(int) = InitializeParameter[x] : &:r1732_4 +# 1732| r1732_6(glval) = VariableAddress[y] : +# 1732| mu1732_7(int &) = InitializeParameter[y] : &:r1732_6 +# 1732| r1732_8(int &) = Load[y] : &:r1732_6, ~m? +# 1732| mu1732_9(unknown) = InitializeIndirection[y] : &:r1732_8 +# 1732| r1732_10(glval) = VariableAddress[z] : +# 1732| mu1732_11(int &&) = InitializeParameter[z] : &:r1732_10 +# 1732| r1732_12(int &&) = Load[z] : &:r1732_10, ~m? +# 1732| mu1732_13(unknown) = InitializeIndirection[z] : &:r1732_12 +# 1734| r1734_1(glval) = VariableAddress[obj1] : +# 1734| r1734_2(glval) = VariableAddress[#temp1734:24] : +# 1734| mu1734_3(CapturedLambdaMyObj) = Uninitialized[#temp1734:24] : &:r1734_2 +# 1734| r1734_4(glval) = FunctionAddress[CapturedLambdaMyObj] : +# 1734| v1734_5(void) = Call[CapturedLambdaMyObj] : func:r1734_4, this:r1734_2 +# 1734| mu1734_6(unknown) = ^CallSideEffect : ~m? +# 1734| mu1734_7(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1734_2 +# 1734| r1734_8(glval) = Convert : r1734_2 +# 1734| r1734_9(CapturedLambdaMyObj &) = CopyValue : r1734_8 +# 1734| mu1734_10(CapturedLambdaMyObj &) = Store[obj1] : &:r1734_1, r1734_9 +# 1735| r1735_1(glval) = VariableAddress[obj2] : +# 1735| mu1735_2(CapturedLambdaMyObj) = Uninitialized[obj2] : &:r1735_1 +# 1735| r1735_3(glval) = FunctionAddress[CapturedLambdaMyObj] : +# 1735| v1735_4(void) = Call[CapturedLambdaMyObj] : func:r1735_3, this:r1735_1 +# 1735| mu1735_5(unknown) = ^CallSideEffect : ~m? +# 1735| mu1735_6(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1735_1 +# 1737| r1737_1(glval) = VariableAddress[lambda_outer] : +# 1737| r1737_2(glval) = VariableAddress[#temp1737:24] : +# 1737| mu1737_3(decltype([...](...){...})) = Uninitialized[#temp1737:24] : &:r1737_2 +# 1737| r1737_4(glval) = FieldAddress[obj1] : r1737_2 +# 1737| r1737_5(glval) = VariableAddress[obj1] : +# 1737| r1737_6(CapturedLambdaMyObj &) = Load[obj1] : &:r1737_5, ~m? +#-----| r0_1(CapturedLambdaMyObj) = Load[?] : &:r1737_6, ~m? +#-----| mu0_2(CapturedLambdaMyObj) = Store[?] : &:r1737_4, r0_1 +# 1737| r1737_7(glval) = FieldAddress[obj2] : r1737_2 +# 1737| r1737_8(glval) = VariableAddress[obj2] : +# 1737| r1737_9(CapturedLambdaMyObj) = Load[obj2] : &:r1737_8, ~m? +# 1737| mu1737_10(CapturedLambdaMyObj) = Store[?] : &:r1737_7, r1737_9 +# 1737| r1737_11(glval) = FieldAddress[x] : r1737_2 +# 1737| r1737_12(glval) = VariableAddress[x] : +# 1737| r1737_13(int) = Load[x] : &:r1737_12, ~m? +# 1737| mu1737_14(int) = Store[?] : &:r1737_11, r1737_13 +# 1737| r1737_15(glval) = FieldAddress[y] : r1737_2 +# 1737| r1737_16(glval) = VariableAddress[y] : +# 1737| r1737_17(int &) = Load[y] : &:r1737_16, ~m? +# 1739| r1739_1(int) = Load[?] : &:r1737_17, ~m? +# 1739| mu1739_2(int) = Store[?] : &:r1737_15, r1739_1 +# 1737| r1737_18(glval) = FieldAddress[z] : r1737_2 +# 1737| r1737_19(glval) = VariableAddress[z] : +# 1737| r1737_20(int &&) = Load[z] : &:r1737_19, ~m? +# 1739| r1739_3(int) = Load[?] : &:r1737_20, ~m? +# 1739| mu1739_4(int) = Store[?] : &:r1737_18, r1739_3 +# 1737| r1737_21(decltype([...](...){...})) = Load[#temp1737:24] : &:r1737_2, ~m? +# 1737| mu1737_22(decltype([...](...){...})) = Store[lambda_outer] : &:r1737_1, r1737_21 +# 1740| v1740_1(void) = NoOp : +# 1732| v1732_14(void) = ReturnIndirection[y] : &:r1732_8, ~m? +# 1732| v1732_15(void) = ReturnIndirection[z] : &:r1732_12, ~m? +# 1732| v1732_16(void) = ReturnVoid : +# 1732| v1732_17(void) = AliasedUse : ~m? +# 1732| v1732_18(void) = ExitFunction : -# 1690| void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const -# 1690| Block 0 -# 1690| v1690_1(void) = EnterFunction : -# 1690| mu1690_2(unknown) = AliasedDefinition : -# 1690| mu1690_3(unknown) = InitializeNonLocal : -# 1690| r1690_4(glval) = VariableAddress[#this] : -# 1690| mu1690_5(glval) = InitializeParameter[#this] : &:r1690_4 -# 1690| r1690_6(glval) = Load[#this] : &:r1690_4, ~m? -# 1690| mu1690_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1690_6 -# 1691| r1691_1(glval) = VariableAddress[lambda_inner] : -# 1691| r1691_2(glval) = VariableAddress[#temp1691:28] : -# 1691| mu1691_3(decltype([...](...){...})) = Uninitialized[#temp1691:28] : &:r1691_2 -# 1691| r1691_4(glval) = FieldAddress[obj1] : r1691_2 -# 1691| r1691_5(glval) = VariableAddress[#this] : -# 1691| r1691_6(lambda [] type at line 1691, col. 29 *) = Load[#this] : &:r1691_5, ~m? -# 1691| r1691_7(glval) = FieldAddress[obj1] : r1691_6 -# 1691| r1691_8(CapturedLambdaMyObj) = Load[?] : &:r1691_7, ~m? -# 1691| mu1691_9(CapturedLambdaMyObj) = Store[?] : &:r1691_4, r1691_8 -# 1691| r1691_10(glval) = FieldAddress[obj2] : r1691_2 -# 1691| r1691_11(glval) = VariableAddress[#this] : -# 1691| r1691_12(lambda [] type at line 1691, col. 29 *) = Load[#this] : &:r1691_11, ~m? -# 1691| r1691_13(glval) = FieldAddress[obj2] : r1691_12 -# 1691| r1691_14(CapturedLambdaMyObj) = Load[?] : &:r1691_13, ~m? -# 1691| mu1691_15(CapturedLambdaMyObj) = Store[?] : &:r1691_10, r1691_14 -# 1691| r1691_16(glval) = FieldAddress[x] : r1691_2 -# 1691| r1691_17(glval) = VariableAddress[#this] : -# 1691| r1691_18(lambda [] type at line 1690, col. 25 *) = Load[#this] : &:r1691_17, ~m? -# 1691| r1691_19(glval) = FieldAddress[x] : r1691_18 -# 1691| r1691_20(int) = Load[?] : &:r1691_19, ~m? -# 1691| mu1691_21(int) = Store[?] : &:r1691_16, r1691_20 -# 1691| r1691_22(glval) = FieldAddress[y] : r1691_2 -# 1691| r1691_23(glval) = VariableAddress[#this] : -# 1691| r1691_24(lambda [] type at line 1690, col. 25 *) = Load[#this] : &:r1691_23, ~m? -# 1691| r1691_25(glval) = FieldAddress[y] : r1691_24 -# 1691| r1691_26(int) = Load[?] : &:r1691_25, ~m? -# 1691| mu1691_27(int) = Store[?] : &:r1691_22, r1691_26 -# 1691| r1691_28(glval) = FieldAddress[z] : r1691_2 -# 1691| r1691_29(glval) = VariableAddress[#this] : -# 1691| r1691_30(lambda [] type at line 1690, col. 25 *) = Load[#this] : &:r1691_29, ~m? -# 1691| r1691_31(glval) = FieldAddress[z] : r1691_30 -# 1691| r1691_32(int) = Load[?] : &:r1691_31, ~m? -# 1691| mu1691_33(int) = Store[?] : &:r1691_28, r1691_32 -# 1691| r1691_34(decltype([...](...){...})) = Load[#temp1691:28] : &:r1691_2, ~m? -# 1691| mu1691_35(decltype([...](...){...})) = Store[lambda_inner] : &:r1691_1, r1691_34 -# 1692| v1692_1(void) = NoOp : -# 1690| v1690_8(void) = ReturnIndirection[#this] : &:r1690_6, ~m? -# 1690| v1690_9(void) = ReturnVoid : -# 1690| v1690_10(void) = AliasedUse : ~m? -# 1690| v1690_11(void) = ExitFunction : +# 1737| void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const +# 1737| Block 0 +# 1737| v1737_1(void) = EnterFunction : +# 1737| mu1737_2(unknown) = AliasedDefinition : +# 1737| mu1737_3(unknown) = InitializeNonLocal : +# 1737| r1737_4(glval) = VariableAddress[#this] : +# 1737| mu1737_5(glval) = InitializeParameter[#this] : &:r1737_4 +# 1737| r1737_6(glval) = Load[#this] : &:r1737_4, ~m? +# 1737| mu1737_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1737_6 +# 1738| r1738_1(glval) = VariableAddress[lambda_inner] : +# 1738| r1738_2(glval) = VariableAddress[#temp1738:28] : +# 1738| mu1738_3(decltype([...](...){...})) = Uninitialized[#temp1738:28] : &:r1738_2 +# 1738| r1738_4(glval) = FieldAddress[obj1] : r1738_2 +# 1738| r1738_5(glval) = VariableAddress[#this] : +# 1738| r1738_6(lambda [] type at line 1738, col. 29 *) = Load[#this] : &:r1738_5, ~m? +# 1738| r1738_7(glval) = FieldAddress[obj1] : r1738_6 +# 1738| r1738_8(CapturedLambdaMyObj) = Load[?] : &:r1738_7, ~m? +# 1738| mu1738_9(CapturedLambdaMyObj) = Store[?] : &:r1738_4, r1738_8 +# 1738| r1738_10(glval) = FieldAddress[obj2] : r1738_2 +# 1738| r1738_11(glval) = VariableAddress[#this] : +# 1738| r1738_12(lambda [] type at line 1738, col. 29 *) = Load[#this] : &:r1738_11, ~m? +# 1738| r1738_13(glval) = FieldAddress[obj2] : r1738_12 +# 1738| r1738_14(CapturedLambdaMyObj) = Load[?] : &:r1738_13, ~m? +# 1738| mu1738_15(CapturedLambdaMyObj) = Store[?] : &:r1738_10, r1738_14 +# 1738| r1738_16(glval) = FieldAddress[x] : r1738_2 +# 1738| r1738_17(glval) = VariableAddress[#this] : +# 1738| r1738_18(lambda [] type at line 1737, col. 25 *) = Load[#this] : &:r1738_17, ~m? +# 1738| r1738_19(glval) = FieldAddress[x] : r1738_18 +# 1738| r1738_20(int) = Load[?] : &:r1738_19, ~m? +# 1738| mu1738_21(int) = Store[?] : &:r1738_16, r1738_20 +# 1738| r1738_22(glval) = FieldAddress[y] : r1738_2 +# 1738| r1738_23(glval) = VariableAddress[#this] : +# 1738| r1738_24(lambda [] type at line 1737, col. 25 *) = Load[#this] : &:r1738_23, ~m? +# 1738| r1738_25(glval) = FieldAddress[y] : r1738_24 +# 1738| r1738_26(int) = Load[?] : &:r1738_25, ~m? +# 1738| mu1738_27(int) = Store[?] : &:r1738_22, r1738_26 +# 1738| r1738_28(glval) = FieldAddress[z] : r1738_2 +# 1738| r1738_29(glval) = VariableAddress[#this] : +# 1738| r1738_30(lambda [] type at line 1737, col. 25 *) = Load[#this] : &:r1738_29, ~m? +# 1738| r1738_31(glval) = FieldAddress[z] : r1738_30 +# 1738| r1738_32(int) = Load[?] : &:r1738_31, ~m? +# 1738| mu1738_33(int) = Store[?] : &:r1738_28, r1738_32 +# 1738| r1738_34(decltype([...](...){...})) = Load[#temp1738:28] : &:r1738_2, ~m? +# 1738| mu1738_35(decltype([...](...){...})) = Store[lambda_inner] : &:r1738_1, r1738_34 +# 1739| v1739_1(void) = NoOp : +# 1737| v1737_8(void) = ReturnIndirection[#this] : &:r1737_6, ~m? +# 1737| v1737_9(void) = ReturnVoid : +# 1737| v1737_10(void) = AliasedUse : ~m? +# 1737| v1737_11(void) = ExitFunction : -# 1691| void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1690, col. 25)::operator()() const)::(lambda [] type at line 1691, col. 29)::operator()() const -# 1691| Block 0 -# 1691| v1691_1(void) = EnterFunction : -# 1691| mu1691_2(unknown) = AliasedDefinition : -# 1691| mu1691_3(unknown) = InitializeNonLocal : -# 1691| r1691_4(glval) = VariableAddress[#this] : -# 1691| mu1691_5(glval) = InitializeParameter[#this] : &:r1691_4 -# 1691| r1691_6(glval) = Load[#this] : &:r1691_4, ~m? -# 1691| mu1691_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1691_6 -# 1691| v1691_8(void) = NoOp : -# 1691| v1691_9(void) = NoOp : -# 1691| v1691_10(void) = ReturnIndirection[#this] : &:r1691_6, ~m? -# 1691| v1691_11(void) = ReturnVoid : -# 1691| v1691_12(void) = AliasedUse : ~m? -# 1691| v1691_13(void) = ExitFunction : - -# 1695| int goto_on_same_line() -# 1695| Block 0 -# 1695| v1695_1(void) = EnterFunction : -# 1695| mu1695_2(unknown) = AliasedDefinition : -# 1695| mu1695_3(unknown) = InitializeNonLocal : -# 1696| r1696_1(glval) = VariableAddress[x] : -# 1696| r1696_2(int) = Constant[42] : -# 1696| mu1696_3(int) = Store[x] : &:r1696_1, r1696_2 -# 1697| v1697_1(void) = NoOp : -# 1697| v1697_2(void) = NoOp : -# 1698| r1698_1(glval) = VariableAddress[#return] : -# 1698| r1698_2(glval) = VariableAddress[x] : -# 1698| r1698_3(int) = Load[x] : &:r1698_2, ~m? -# 1698| mu1698_4(int) = Store[#return] : &:r1698_1, r1698_3 -# 1695| r1695_4(glval) = VariableAddress[#return] : -# 1695| v1695_5(void) = ReturnValue : &:r1695_4, ~m? -# 1695| v1695_6(void) = AliasedUse : ~m? -# 1695| v1695_7(void) = ExitFunction : - -# 1703| void TrivialLambdaClass::m() const -# 1703| Block 0 -# 1703| v1703_1(void) = EnterFunction : -# 1703| mu1703_2(unknown) = AliasedDefinition : -# 1703| mu1703_3(unknown) = InitializeNonLocal : -# 1703| r1703_4(glval) = VariableAddress[#this] : -# 1703| mu1703_5(glval) = InitializeParameter[#this] : &:r1703_4 -# 1703| r1703_6(glval) = Load[#this] : &:r1703_4, ~m? -# 1703| mu1703_7(TrivialLambdaClass) = InitializeIndirection[#this] : &:r1703_6 -# 1704| r1704_1(glval) = VariableAddress[l_m_outer] : -# 1704| r1704_2(glval) = VariableAddress[#temp1704:25] : -# 1704| mu1704_3(decltype([...](...){...})) = Uninitialized[#temp1704:25] : &:r1704_2 -# 1704| r1704_4(glval) = FieldAddress[(captured this)] : r1704_2 -# 1704| r1704_5(glval) = VariableAddress[#this] : -# 1704| r1704_6(TrivialLambdaClass *) = Load[#this] : &:r1704_5, ~m? -# 1704| r1704_7(TrivialLambdaClass) = Load[?] : &:r1704_6, ~m? -# 1704| mu1704_8(TrivialLambdaClass) = Store[?] : &:r1704_4, r1704_7 -# 1704| r1704_9(decltype([...](...){...})) = Load[#temp1704:25] : &:r1704_2, ~m? -# 1704| mu1704_10(decltype([...](...){...})) = Store[l_m_outer] : &:r1704_1, r1704_9 -# 1711| v1711_1(void) = NoOp : -# 1703| v1703_8(void) = ReturnIndirection[#this] : &:r1703_6, ~m? -# 1703| v1703_9(void) = ReturnVoid : -# 1703| v1703_10(void) = AliasedUse : ~m? -# 1703| v1703_11(void) = ExitFunction : - -# 1704| void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const -# 1704| Block 0 -# 1704| v1704_1(void) = EnterFunction : -# 1704| mu1704_2(unknown) = AliasedDefinition : -# 1704| mu1704_3(unknown) = InitializeNonLocal : -# 1704| r1704_4(glval) = VariableAddress[#this] : -# 1704| mu1704_5(glval) = InitializeParameter[#this] : &:r1704_4 -# 1704| r1704_6(glval) = Load[#this] : &:r1704_4, ~m? -# 1704| mu1704_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1704_6 -# 1705| r1705_1(glval) = VariableAddress[#this] : -# 1705| r1705_2(lambda [] type at line 1704, col. 26 *) = Load[#this] : &:r1705_1, ~m? -# 1705| r1705_3(glval) = FieldAddress[(captured this)] : r1705_2 -# 1705| r1705_4(TrivialLambdaClass *) = CopyValue : r1705_3 -# 1705| r1705_5(glval) = FunctionAddress[m] : -# 1705| v1705_6(void) = Call[m] : func:r1705_5, this:r1705_4 -# 1705| mu1705_7(unknown) = ^CallSideEffect : ~m? -# 1705| v1705_8(void) = ^IndirectReadSideEffect[-1] : &:r1705_4, ~m? -# 1707| r1707_1(glval) = VariableAddress[l_m_inner] : -# 1707| r1707_2(glval) = VariableAddress[#temp1707:29] : -# 1707| mu1707_3(decltype([...](...){...})) = Uninitialized[#temp1707:29] : &:r1707_2 -# 1707| r1707_4(glval) = FieldAddress[(captured this)] : r1707_2 -# 1707| r1707_5(glval) = VariableAddress[#this] : -# 1707| r1707_6(lambda [] type at line 1707, col. 30 *) = Load[#this] : &:r1707_5, ~m? -# 1707| r1707_7(glval) = FieldAddress[(captured this)] : r1707_6 -# 1707| r1707_8(TrivialLambdaClass) = Load[?] : &:r1707_7, ~m? -# 1707| mu1707_9(TrivialLambdaClass) = Store[?] : &:r1707_4, r1707_8 -# 1707| r1707_10(decltype([...](...){...})) = Load[#temp1707:29] : &:r1707_2, ~m? -# 1707| mu1707_11(decltype([...](...){...})) = Store[l_m_inner] : &:r1707_1, r1707_10 -# 1710| v1710_1(void) = NoOp : -# 1704| v1704_8(void) = ReturnIndirection[#this] : &:r1704_6, ~m? -# 1704| v1704_9(void) = ReturnVoid : -# 1704| v1704_10(void) = AliasedUse : ~m? -# 1704| v1704_11(void) = ExitFunction : - -# 1707| void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1704, col. 26)::operator()() const)::(lambda [] type at line 1707, col. 30)::operator()() const -# 1707| Block 0 -# 1707| v1707_1(void) = EnterFunction : -# 1707| mu1707_2(unknown) = AliasedDefinition : -# 1707| mu1707_3(unknown) = InitializeNonLocal : -# 1707| r1707_4(glval) = VariableAddress[#this] : -# 1707| mu1707_5(glval) = InitializeParameter[#this] : &:r1707_4 -# 1707| r1707_6(glval) = Load[#this] : &:r1707_4, ~m? -# 1707| mu1707_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1707_6 -# 1708| r1708_1(glval) = VariableAddress[#this] : -# 1708| r1708_2(lambda [] type at line 1707, col. 30 *) = Load[#this] : &:r1708_1, ~m? -# 1708| r1708_3(glval) = FieldAddress[(captured this)] : r1708_2 -# 1708| r1708_4(TrivialLambdaClass *) = CopyValue : r1708_3 -# 1708| r1708_5(glval) = FunctionAddress[m] : -# 1708| v1708_6(void) = Call[m] : func:r1708_5, this:r1708_4 -# 1708| mu1708_7(unknown) = ^CallSideEffect : ~m? -# 1708| v1708_8(void) = ^IndirectReadSideEffect[-1] : &:r1708_4, ~m? -# 1709| v1709_1(void) = NoOp : -# 1707| v1707_8(void) = ReturnIndirection[#this] : &:r1707_6, ~m? -# 1707| v1707_9(void) = ReturnVoid : -# 1707| v1707_10(void) = AliasedUse : ~m? -# 1707| v1707_11(void) = ExitFunction : - -# 1714| void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&) -# 1714| Block 0 -# 1714| v1714_1(void) = EnterFunction : -# 1714| mu1714_2(unknown) = AliasedDefinition : -# 1714| mu1714_3(unknown) = InitializeNonLocal : -# 1714| r1714_4(glval) = VariableAddress[p1] : -# 1714| mu1714_5(TrivialLambdaClass) = InitializeParameter[p1] : &:r1714_4 -# 1714| r1714_6(glval) = VariableAddress[p2] : -# 1714| mu1714_7(TrivialLambdaClass &) = InitializeParameter[p2] : &:r1714_6 -# 1714| r1714_8(TrivialLambdaClass &) = Load[p2] : &:r1714_6, ~m? -# 1714| mu1714_9(unknown) = InitializeIndirection[p2] : &:r1714_8 -# 1714| r1714_10(glval) = VariableAddress[p3] : -# 1714| mu1714_11(TrivialLambdaClass &&) = InitializeParameter[p3] : &:r1714_10 -# 1714| r1714_12(TrivialLambdaClass &&) = Load[p3] : &:r1714_10, ~m? -# 1714| mu1714_13(unknown) = InitializeIndirection[p3] : &:r1714_12 -# 1715| r1715_1(glval) = VariableAddress[l1] : -# 1715| mu1715_2(TrivialLambdaClass) = Uninitialized[l1] : &:r1715_1 -# 1716| r1716_1(glval) = VariableAddress[l2] : -# 1716| r1716_2(glval) = VariableAddress[#temp1716:36] : -# 1716| r1716_3(TrivialLambdaClass) = Constant[0] : -# 1716| mu1716_4(TrivialLambdaClass) = Store[#temp1716:36] : &:r1716_2, r1716_3 -# 1716| r1716_5(glval) = Convert : r1716_2 -# 1716| r1716_6(TrivialLambdaClass &) = CopyValue : r1716_5 -# 1716| mu1716_7(TrivialLambdaClass &) = Store[l2] : &:r1716_1, r1716_6 -# 1718| r1718_1(glval) = VariableAddress[l_outer1] : -# 1718| r1718_2(glval) = VariableAddress[#temp1718:20] : -# 1718| mu1718_3(decltype([...](...){...})) = Uninitialized[#temp1718:20] : &:r1718_2 -# 1718| r1718_4(glval) = FieldAddress[p1] : r1718_2 -# 1718| r1718_5(glval) = VariableAddress[p1] : -# 1718| r1718_6(TrivialLambdaClass) = Load[p1] : &:r1718_5, ~m? -# 1718| mu1718_7(TrivialLambdaClass) = Store[?] : &:r1718_4, r1718_6 -# 1718| r1718_8(glval) = FieldAddress[p2] : r1718_2 -# 1718| r1718_9(glval) = VariableAddress[p2] : -# 1718| r1718_10(TrivialLambdaClass &) = Load[p2] : &:r1718_9, ~m? -#-----| r0_1(TrivialLambdaClass) = Load[?] : &:r1718_10, ~m? -#-----| mu0_2(TrivialLambdaClass) = Store[?] : &:r1718_8, r0_1 -# 1718| r1718_11(glval) = FieldAddress[p3] : r1718_2 -# 1718| r1718_12(glval) = VariableAddress[p3] : -# 1718| r1718_13(TrivialLambdaClass &&) = Load[p3] : &:r1718_12, ~m? -#-----| r0_3(TrivialLambdaClass) = Load[?] : &:r1718_13, ~m? -#-----| mu0_4(TrivialLambdaClass) = Store[?] : &:r1718_11, r0_3 -# 1718| r1718_14(glval) = FieldAddress[l1] : r1718_2 -# 1718| r1718_15(glval) = VariableAddress[l1] : -# 1718| r1718_16(TrivialLambdaClass) = Load[l1] : &:r1718_15, ~m? -# 1718| mu1718_17(TrivialLambdaClass) = Store[?] : &:r1718_14, r1718_16 -# 1718| r1718_18(glval) = FieldAddress[l2] : r1718_2 -# 1718| r1718_19(glval) = VariableAddress[l2] : -# 1718| r1718_20(TrivialLambdaClass &) = Load[l2] : &:r1718_19, ~m? -#-----| r0_5(TrivialLambdaClass) = Load[?] : &:r1718_20, ~m? -#-----| mu0_6(TrivialLambdaClass) = Store[?] : &:r1718_18, r0_5 -# 1718| r1718_21(decltype([...](...){...})) = Load[#temp1718:20] : &:r1718_2, ~m? -# 1718| mu1718_22(decltype([...](...){...})) = Store[l_outer1] : &:r1718_1, r1718_21 -# 1721| v1721_1(void) = NoOp : -# 1714| v1714_14(void) = ReturnIndirection[p2] : &:r1714_8, ~m? -# 1714| v1714_15(void) = ReturnIndirection[p3] : &:r1714_12, ~m? -# 1714| v1714_16(void) = ReturnVoid : -# 1714| v1714_17(void) = AliasedUse : ~m? -# 1714| v1714_18(void) = ExitFunction : - -# 1718| void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const -# 1718| Block 0 -# 1718| v1718_1(void) = EnterFunction : -# 1718| mu1718_2(unknown) = AliasedDefinition : -# 1718| mu1718_3(unknown) = InitializeNonLocal : -# 1718| r1718_4(glval) = VariableAddress[#this] : -# 1718| mu1718_5(glval) = InitializeParameter[#this] : &:r1718_4 -# 1718| r1718_6(glval) = Load[#this] : &:r1718_4, ~m? -# 1718| mu1718_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1718_6 -# 1719| r1719_1(glval) = VariableAddress[l_inner1] : -# 1719| r1719_2(glval) = VariableAddress[#temp1719:24] : -# 1719| mu1719_3(decltype([...](...){...})) = Uninitialized[#temp1719:24] : &:r1719_2 -# 1719| r1719_4(glval) = FieldAddress[p1] : r1719_2 -# 1719| r1719_5(glval) = VariableAddress[#this] : -# 1719| r1719_6(lambda [] type at line 1719, col. 25 *) = Load[#this] : &:r1719_5, ~m? -# 1719| r1719_7(glval) = FieldAddress[p1] : r1719_6 -# 1719| r1719_8(TrivialLambdaClass) = Load[?] : &:r1719_7, ~m? -# 1719| mu1719_9(TrivialLambdaClass) = Store[?] : &:r1719_4, r1719_8 -# 1719| r1719_10(decltype([...](...){...})) = Load[#temp1719:24] : &:r1719_2, ~m? -# 1719| mu1719_11(decltype([...](...){...})) = Store[l_inner1] : &:r1719_1, r1719_10 -# 1720| v1720_1(void) = NoOp : -# 1718| v1718_8(void) = ReturnIndirection[#this] : &:r1718_6, ~m? -# 1718| v1718_9(void) = ReturnVoid : -# 1718| v1718_10(void) = AliasedUse : ~m? -# 1718| v1718_11(void) = ExitFunction : - -# 1719| void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1718, col. 21)::operator()() const)::(lambda [] type at line 1719, col. 25)::operator()() const -# 1719| Block 0 -# 1719| v1719_1(void) = EnterFunction : -# 1719| mu1719_2(unknown) = AliasedDefinition : -# 1719| mu1719_3(unknown) = InitializeNonLocal : -# 1719| r1719_4(glval) = VariableAddress[#this] : -# 1719| mu1719_5(glval) = InitializeParameter[#this] : &:r1719_4 -# 1719| r1719_6(glval) = Load[#this] : &:r1719_4, ~m? -# 1719| mu1719_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1719_6 -# 1719| v1719_8(void) = NoOp : -# 1719| v1719_9(void) = ReturnIndirection[#this] : &:r1719_6, ~m? -# 1719| v1719_10(void) = ReturnVoid : -# 1719| v1719_11(void) = AliasedUse : ~m? -# 1719| v1719_12(void) = ExitFunction : - -# 1726| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass() -# 1726| Block 0 -# 1726| v1726_1(void) = EnterFunction : -# 1726| mu1726_2(unknown) = AliasedDefinition : -# 1726| mu1726_3(unknown) = InitializeNonLocal : -# 1726| r1726_4(glval) = VariableAddress[#this] : -# 1726| mu1726_5(glval) = InitializeParameter[#this] : &:r1726_4 -# 1726| r1726_6(glval) = Load[#this] : &:r1726_4, ~m? -# 1726| mu1726_7(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1726_6 -# 1726| v1726_8(void) = NoOp : -# 1726| v1726_9(void) = ReturnIndirection[#this] : &:r1726_6, ~m? -# 1726| v1726_10(void) = ReturnVoid : -# 1726| v1726_11(void) = AliasedUse : ~m? -# 1726| v1726_12(void) = ExitFunction : - -# 1727| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass(CopyConstructorWithImplicitArgumentClass const&) -# 1727| Block 0 -# 1727| v1727_1(void) = EnterFunction : -# 1727| mu1727_2(unknown) = AliasedDefinition : -# 1727| mu1727_3(unknown) = InitializeNonLocal : -# 1727| r1727_4(glval) = VariableAddress[#this] : -# 1727| mu1727_5(glval) = InitializeParameter[#this] : &:r1727_4 -# 1727| r1727_6(glval) = Load[#this] : &:r1727_4, ~m? -# 1727| mu1727_7(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1727_6 -# 1727| r1727_8(glval) = VariableAddress[c] : -# 1727| mu1727_9(CopyConstructorWithImplicitArgumentClass &) = InitializeParameter[c] : &:r1727_8 -# 1727| r1727_10(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1727_8, ~m? -# 1727| mu1727_11(unknown) = InitializeIndirection[c] : &:r1727_10 -# 1728| r1728_1(glval) = VariableAddress[c] : -# 1728| r1728_2(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1728_1, ~m? -# 1728| r1728_3(glval) = CopyValue : r1728_2 -# 1728| r1728_4(glval) = FieldAddress[x] : r1728_3 -# 1728| r1728_5(int) = Load[?] : &:r1728_4, ~m? -# 1728| r1728_6(glval) = VariableAddress[#this] : -# 1728| r1728_7(CopyConstructorWithImplicitArgumentClass *) = Load[#this] : &:r1728_6, ~m? -# 1728| r1728_8(glval) = FieldAddress[x] : r1728_7 -# 1728| mu1728_9(int) = Store[?] : &:r1728_8, r1728_5 -# 1729| v1729_1(void) = NoOp : -# 1727| v1727_12(void) = ReturnIndirection[#this] : &:r1727_6, ~m? -# 1727| v1727_13(void) = ReturnIndirection[c] : &:r1727_10, ~m? -# 1727| v1727_14(void) = ReturnVoid : -# 1727| v1727_15(void) = AliasedUse : ~m? -# 1727| v1727_16(void) = ExitFunction : - -# 1735| void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass() -# 1735| Block 0 -# 1735| v1735_1(void) = EnterFunction : -# 1735| mu1735_2(unknown) = AliasedDefinition : -# 1735| mu1735_3(unknown) = InitializeNonLocal : -# 1735| r1735_4(glval) = VariableAddress[#this] : -# 1735| mu1735_5(glval) = InitializeParameter[#this] : &:r1735_4 -# 1735| r1735_6(glval) = Load[#this] : &:r1735_4, ~m? -# 1735| mu1735_7(CopyConstructorWithBitwiseCopyClass) = InitializeIndirection[#this] : &:r1735_6 -# 1735| v1735_8(void) = NoOp : -# 1735| v1735_9(void) = ReturnIndirection[#this] : &:r1735_6, ~m? -# 1735| v1735_10(void) = ReturnVoid : -# 1735| v1735_11(void) = AliasedUse : ~m? -# 1735| v1735_12(void) = ExitFunction : - -# 1738| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&) +# 1738| void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1737, col. 25)::operator()() const)::(lambda [] type at line 1738, col. 29)::operator()() const # 1738| Block 0 -# 1738| v1738_1(void) = EnterFunction : -# 1738| mu1738_2(unknown) = AliasedDefinition : -# 1738| mu1738_3(unknown) = InitializeNonLocal : -# 1738| r1738_4(glval) = VariableAddress[#this] : -# 1738| mu1738_5(glval) = InitializeParameter[#this] : &:r1738_4 -# 1738| r1738_6(glval) = Load[#this] : &:r1738_4, ~m? -# 1738| mu1738_7(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1738_6 +# 1738| v1738_1(void) = EnterFunction : +# 1738| mu1738_2(unknown) = AliasedDefinition : +# 1738| mu1738_3(unknown) = InitializeNonLocal : +# 1738| r1738_4(glval) = VariableAddress[#this] : +# 1738| mu1738_5(glval) = InitializeParameter[#this] : &:r1738_4 +# 1738| r1738_6(glval) = Load[#this] : &:r1738_4, ~m? +# 1738| mu1738_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1738_6 +# 1738| v1738_8(void) = NoOp : +# 1738| v1738_9(void) = NoOp : +# 1738| v1738_10(void) = ReturnIndirection[#this] : &:r1738_6, ~m? +# 1738| v1738_11(void) = ReturnVoid : +# 1738| v1738_12(void) = AliasedUse : ~m? +# 1738| v1738_13(void) = ExitFunction : + +# 1742| int goto_on_same_line() +# 1742| Block 0 +# 1742| v1742_1(void) = EnterFunction : +# 1742| mu1742_2(unknown) = AliasedDefinition : +# 1742| mu1742_3(unknown) = InitializeNonLocal : +# 1743| r1743_1(glval) = VariableAddress[x] : +# 1743| r1743_2(int) = Constant[42] : +# 1743| mu1743_3(int) = Store[x] : &:r1743_1, r1743_2 +# 1744| v1744_1(void) = NoOp : +# 1744| v1744_2(void) = NoOp : +# 1745| r1745_1(glval) = VariableAddress[#return] : +# 1745| r1745_2(glval) = VariableAddress[x] : +# 1745| r1745_3(int) = Load[x] : &:r1745_2, ~m? +# 1745| mu1745_4(int) = Store[#return] : &:r1745_1, r1745_3 +# 1742| r1742_4(glval) = VariableAddress[#return] : +# 1742| v1742_5(void) = ReturnValue : &:r1742_4, ~m? +# 1742| v1742_6(void) = AliasedUse : ~m? +# 1742| v1742_7(void) = ExitFunction : + +# 1750| void TrivialLambdaClass::m() const +# 1750| Block 0 +# 1750| v1750_1(void) = EnterFunction : +# 1750| mu1750_2(unknown) = AliasedDefinition : +# 1750| mu1750_3(unknown) = InitializeNonLocal : +# 1750| r1750_4(glval) = VariableAddress[#this] : +# 1750| mu1750_5(glval) = InitializeParameter[#this] : &:r1750_4 +# 1750| r1750_6(glval) = Load[#this] : &:r1750_4, ~m? +# 1750| mu1750_7(TrivialLambdaClass) = InitializeIndirection[#this] : &:r1750_6 +# 1751| r1751_1(glval) = VariableAddress[l_m_outer] : +# 1751| r1751_2(glval) = VariableAddress[#temp1751:25] : +# 1751| mu1751_3(decltype([...](...){...})) = Uninitialized[#temp1751:25] : &:r1751_2 +# 1751| r1751_4(glval) = FieldAddress[(captured this)] : r1751_2 +# 1751| r1751_5(glval) = VariableAddress[#this] : +# 1751| r1751_6(TrivialLambdaClass *) = Load[#this] : &:r1751_5, ~m? +# 1751| r1751_7(TrivialLambdaClass) = Load[?] : &:r1751_6, ~m? +# 1751| mu1751_8(TrivialLambdaClass) = Store[?] : &:r1751_4, r1751_7 +# 1751| r1751_9(decltype([...](...){...})) = Load[#temp1751:25] : &:r1751_2, ~m? +# 1751| mu1751_10(decltype([...](...){...})) = Store[l_m_outer] : &:r1751_1, r1751_9 +# 1758| v1758_1(void) = NoOp : +# 1750| v1750_8(void) = ReturnIndirection[#this] : &:r1750_6, ~m? +# 1750| v1750_9(void) = ReturnVoid : +# 1750| v1750_10(void) = AliasedUse : ~m? +# 1750| v1750_11(void) = ExitFunction : + +# 1751| void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const +# 1751| Block 0 +# 1751| v1751_1(void) = EnterFunction : +# 1751| mu1751_2(unknown) = AliasedDefinition : +# 1751| mu1751_3(unknown) = InitializeNonLocal : +# 1751| r1751_4(glval) = VariableAddress[#this] : +# 1751| mu1751_5(glval) = InitializeParameter[#this] : &:r1751_4 +# 1751| r1751_6(glval) = Load[#this] : &:r1751_4, ~m? +# 1751| mu1751_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1751_6 +# 1752| r1752_1(glval) = VariableAddress[#this] : +# 1752| r1752_2(lambda [] type at line 1751, col. 26 *) = Load[#this] : &:r1752_1, ~m? +# 1752| r1752_3(glval) = FieldAddress[(captured this)] : r1752_2 +# 1752| r1752_4(TrivialLambdaClass *) = CopyValue : r1752_3 +# 1752| r1752_5(glval) = FunctionAddress[m] : +# 1752| v1752_6(void) = Call[m] : func:r1752_5, this:r1752_4 +# 1752| mu1752_7(unknown) = ^CallSideEffect : ~m? +# 1752| v1752_8(void) = ^IndirectReadSideEffect[-1] : &:r1752_4, ~m? +# 1754| r1754_1(glval) = VariableAddress[l_m_inner] : +# 1754| r1754_2(glval) = VariableAddress[#temp1754:29] : +# 1754| mu1754_3(decltype([...](...){...})) = Uninitialized[#temp1754:29] : &:r1754_2 +# 1754| r1754_4(glval) = FieldAddress[(captured this)] : r1754_2 +# 1754| r1754_5(glval) = VariableAddress[#this] : +# 1754| r1754_6(lambda [] type at line 1754, col. 30 *) = Load[#this] : &:r1754_5, ~m? +# 1754| r1754_7(glval) = FieldAddress[(captured this)] : r1754_6 +# 1754| r1754_8(TrivialLambdaClass) = Load[?] : &:r1754_7, ~m? +# 1754| mu1754_9(TrivialLambdaClass) = Store[?] : &:r1754_4, r1754_8 +# 1754| r1754_10(decltype([...](...){...})) = Load[#temp1754:29] : &:r1754_2, ~m? +# 1754| mu1754_11(decltype([...](...){...})) = Store[l_m_inner] : &:r1754_1, r1754_10 +# 1757| v1757_1(void) = NoOp : +# 1751| v1751_8(void) = ReturnIndirection[#this] : &:r1751_6, ~m? +# 1751| v1751_9(void) = ReturnVoid : +# 1751| v1751_10(void) = AliasedUse : ~m? +# 1751| v1751_11(void) = ExitFunction : + +# 1754| void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1751, col. 26)::operator()() const)::(lambda [] type at line 1754, col. 30)::operator()() const +# 1754| Block 0 +# 1754| v1754_1(void) = EnterFunction : +# 1754| mu1754_2(unknown) = AliasedDefinition : +# 1754| mu1754_3(unknown) = InitializeNonLocal : +# 1754| r1754_4(glval) = VariableAddress[#this] : +# 1754| mu1754_5(glval) = InitializeParameter[#this] : &:r1754_4 +# 1754| r1754_6(glval) = Load[#this] : &:r1754_4, ~m? +# 1754| mu1754_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1754_6 +# 1755| r1755_1(glval) = VariableAddress[#this] : +# 1755| r1755_2(lambda [] type at line 1754, col. 30 *) = Load[#this] : &:r1755_1, ~m? +# 1755| r1755_3(glval) = FieldAddress[(captured this)] : r1755_2 +# 1755| r1755_4(TrivialLambdaClass *) = CopyValue : r1755_3 +# 1755| r1755_5(glval) = FunctionAddress[m] : +# 1755| v1755_6(void) = Call[m] : func:r1755_5, this:r1755_4 +# 1755| mu1755_7(unknown) = ^CallSideEffect : ~m? +# 1755| v1755_8(void) = ^IndirectReadSideEffect[-1] : &:r1755_4, ~m? +# 1756| v1756_1(void) = NoOp : +# 1754| v1754_8(void) = ReturnIndirection[#this] : &:r1754_6, ~m? +# 1754| v1754_9(void) = ReturnVoid : +# 1754| v1754_10(void) = AliasedUse : ~m? +# 1754| v1754_11(void) = ExitFunction : + +# 1761| void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&) +# 1761| Block 0 +# 1761| v1761_1(void) = EnterFunction : +# 1761| mu1761_2(unknown) = AliasedDefinition : +# 1761| mu1761_3(unknown) = InitializeNonLocal : +# 1761| r1761_4(glval) = VariableAddress[p1] : +# 1761| mu1761_5(TrivialLambdaClass) = InitializeParameter[p1] : &:r1761_4 +# 1761| r1761_6(glval) = VariableAddress[p2] : +# 1761| mu1761_7(TrivialLambdaClass &) = InitializeParameter[p2] : &:r1761_6 +# 1761| r1761_8(TrivialLambdaClass &) = Load[p2] : &:r1761_6, ~m? +# 1761| mu1761_9(unknown) = InitializeIndirection[p2] : &:r1761_8 +# 1761| r1761_10(glval) = VariableAddress[p3] : +# 1761| mu1761_11(TrivialLambdaClass &&) = InitializeParameter[p3] : &:r1761_10 +# 1761| r1761_12(TrivialLambdaClass &&) = Load[p3] : &:r1761_10, ~m? +# 1761| mu1761_13(unknown) = InitializeIndirection[p3] : &:r1761_12 +# 1762| r1762_1(glval) = VariableAddress[l1] : +# 1762| mu1762_2(TrivialLambdaClass) = Uninitialized[l1] : &:r1762_1 +# 1763| r1763_1(glval) = VariableAddress[l2] : +# 1763| r1763_2(glval) = VariableAddress[#temp1763:36] : +# 1763| r1763_3(TrivialLambdaClass) = Constant[0] : +# 1763| mu1763_4(TrivialLambdaClass) = Store[#temp1763:36] : &:r1763_2, r1763_3 +# 1763| r1763_5(glval) = Convert : r1763_2 +# 1763| r1763_6(TrivialLambdaClass &) = CopyValue : r1763_5 +# 1763| mu1763_7(TrivialLambdaClass &) = Store[l2] : &:r1763_1, r1763_6 +# 1765| r1765_1(glval) = VariableAddress[l_outer1] : +# 1765| r1765_2(glval) = VariableAddress[#temp1765:20] : +# 1765| mu1765_3(decltype([...](...){...})) = Uninitialized[#temp1765:20] : &:r1765_2 +# 1765| r1765_4(glval) = FieldAddress[p1] : r1765_2 +# 1765| r1765_5(glval) = VariableAddress[p1] : +# 1765| r1765_6(TrivialLambdaClass) = Load[p1] : &:r1765_5, ~m? +# 1765| mu1765_7(TrivialLambdaClass) = Store[?] : &:r1765_4, r1765_6 +# 1765| r1765_8(glval) = FieldAddress[p2] : r1765_2 +# 1765| r1765_9(glval) = VariableAddress[p2] : +# 1765| r1765_10(TrivialLambdaClass &) = Load[p2] : &:r1765_9, ~m? +#-----| r0_1(TrivialLambdaClass) = Load[?] : &:r1765_10, ~m? +#-----| mu0_2(TrivialLambdaClass) = Store[?] : &:r1765_8, r0_1 +# 1765| r1765_11(glval) = FieldAddress[p3] : r1765_2 +# 1765| r1765_12(glval) = VariableAddress[p3] : +# 1765| r1765_13(TrivialLambdaClass &&) = Load[p3] : &:r1765_12, ~m? +#-----| r0_3(TrivialLambdaClass) = Load[?] : &:r1765_13, ~m? +#-----| mu0_4(TrivialLambdaClass) = Store[?] : &:r1765_11, r0_3 +# 1765| r1765_14(glval) = FieldAddress[l1] : r1765_2 +# 1765| r1765_15(glval) = VariableAddress[l1] : +# 1765| r1765_16(TrivialLambdaClass) = Load[l1] : &:r1765_15, ~m? +# 1765| mu1765_17(TrivialLambdaClass) = Store[?] : &:r1765_14, r1765_16 +# 1765| r1765_18(glval) = FieldAddress[l2] : r1765_2 +# 1765| r1765_19(glval) = VariableAddress[l2] : +# 1765| r1765_20(TrivialLambdaClass &) = Load[l2] : &:r1765_19, ~m? +#-----| r0_5(TrivialLambdaClass) = Load[?] : &:r1765_20, ~m? +#-----| mu0_6(TrivialLambdaClass) = Store[?] : &:r1765_18, r0_5 +# 1765| r1765_21(decltype([...](...){...})) = Load[#temp1765:20] : &:r1765_2, ~m? +# 1765| mu1765_22(decltype([...](...){...})) = Store[l_outer1] : &:r1765_1, r1765_21 +# 1768| v1768_1(void) = NoOp : +# 1761| v1761_14(void) = ReturnIndirection[p2] : &:r1761_8, ~m? +# 1761| v1761_15(void) = ReturnIndirection[p3] : &:r1761_12, ~m? +# 1761| v1761_16(void) = ReturnVoid : +# 1761| v1761_17(void) = AliasedUse : ~m? +# 1761| v1761_18(void) = ExitFunction : + +# 1765| void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const +# 1765| Block 0 +# 1765| v1765_1(void) = EnterFunction : +# 1765| mu1765_2(unknown) = AliasedDefinition : +# 1765| mu1765_3(unknown) = InitializeNonLocal : +# 1765| r1765_4(glval) = VariableAddress[#this] : +# 1765| mu1765_5(glval) = InitializeParameter[#this] : &:r1765_4 +# 1765| r1765_6(glval) = Load[#this] : &:r1765_4, ~m? +# 1765| mu1765_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1765_6 +# 1766| r1766_1(glval) = VariableAddress[l_inner1] : +# 1766| r1766_2(glval) = VariableAddress[#temp1766:24] : +# 1766| mu1766_3(decltype([...](...){...})) = Uninitialized[#temp1766:24] : &:r1766_2 +# 1766| r1766_4(glval) = FieldAddress[p1] : r1766_2 +# 1766| r1766_5(glval) = VariableAddress[#this] : +# 1766| r1766_6(lambda [] type at line 1766, col. 25 *) = Load[#this] : &:r1766_5, ~m? +# 1766| r1766_7(glval) = FieldAddress[p1] : r1766_6 +# 1766| r1766_8(TrivialLambdaClass) = Load[?] : &:r1766_7, ~m? +# 1766| mu1766_9(TrivialLambdaClass) = Store[?] : &:r1766_4, r1766_8 +# 1766| r1766_10(decltype([...](...){...})) = Load[#temp1766:24] : &:r1766_2, ~m? +# 1766| mu1766_11(decltype([...](...){...})) = Store[l_inner1] : &:r1766_1, r1766_10 +# 1767| v1767_1(void) = NoOp : +# 1765| v1765_8(void) = ReturnIndirection[#this] : &:r1765_6, ~m? +# 1765| v1765_9(void) = ReturnVoid : +# 1765| v1765_10(void) = AliasedUse : ~m? +# 1765| v1765_11(void) = ExitFunction : + +# 1766| void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1765, col. 21)::operator()() const)::(lambda [] type at line 1766, col. 25)::operator()() const +# 1766| Block 0 +# 1766| v1766_1(void) = EnterFunction : +# 1766| mu1766_2(unknown) = AliasedDefinition : +# 1766| mu1766_3(unknown) = InitializeNonLocal : +# 1766| r1766_4(glval) = VariableAddress[#this] : +# 1766| mu1766_5(glval) = InitializeParameter[#this] : &:r1766_4 +# 1766| r1766_6(glval) = Load[#this] : &:r1766_4, ~m? +# 1766| mu1766_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1766_6 +# 1766| v1766_8(void) = NoOp : +# 1766| v1766_9(void) = ReturnIndirection[#this] : &:r1766_6, ~m? +# 1766| v1766_10(void) = ReturnVoid : +# 1766| v1766_11(void) = AliasedUse : ~m? +# 1766| v1766_12(void) = ExitFunction : + +# 1773| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass() +# 1773| Block 0 +# 1773| v1773_1(void) = EnterFunction : +# 1773| mu1773_2(unknown) = AliasedDefinition : +# 1773| mu1773_3(unknown) = InitializeNonLocal : +# 1773| r1773_4(glval) = VariableAddress[#this] : +# 1773| mu1773_5(glval) = InitializeParameter[#this] : &:r1773_4 +# 1773| r1773_6(glval) = Load[#this] : &:r1773_4, ~m? +# 1773| mu1773_7(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1773_6 +# 1773| v1773_8(void) = NoOp : +# 1773| v1773_9(void) = ReturnIndirection[#this] : &:r1773_6, ~m? +# 1773| v1773_10(void) = ReturnVoid : +# 1773| v1773_11(void) = AliasedUse : ~m? +# 1773| v1773_12(void) = ExitFunction : + +# 1774| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass(CopyConstructorWithImplicitArgumentClass const&) +# 1774| Block 0 +# 1774| v1774_1(void) = EnterFunction : +# 1774| mu1774_2(unknown) = AliasedDefinition : +# 1774| mu1774_3(unknown) = InitializeNonLocal : +# 1774| r1774_4(glval) = VariableAddress[#this] : +# 1774| mu1774_5(glval) = InitializeParameter[#this] : &:r1774_4 +# 1774| r1774_6(glval) = Load[#this] : &:r1774_4, ~m? +# 1774| mu1774_7(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1774_6 +# 1774| r1774_8(glval) = VariableAddress[c] : +# 1774| mu1774_9(CopyConstructorWithImplicitArgumentClass &) = InitializeParameter[c] : &:r1774_8 +# 1774| r1774_10(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1774_8, ~m? +# 1774| mu1774_11(unknown) = InitializeIndirection[c] : &:r1774_10 +# 1775| r1775_1(glval) = VariableAddress[c] : +# 1775| r1775_2(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1775_1, ~m? +# 1775| r1775_3(glval) = CopyValue : r1775_2 +# 1775| r1775_4(glval) = FieldAddress[x] : r1775_3 +# 1775| r1775_5(int) = Load[?] : &:r1775_4, ~m? +# 1775| r1775_6(glval) = VariableAddress[#this] : +# 1775| r1775_7(CopyConstructorWithImplicitArgumentClass *) = Load[#this] : &:r1775_6, ~m? +# 1775| r1775_8(glval) = FieldAddress[x] : r1775_7 +# 1775| mu1775_9(int) = Store[?] : &:r1775_8, r1775_5 +# 1776| v1776_1(void) = NoOp : +# 1774| v1774_12(void) = ReturnIndirection[#this] : &:r1774_6, ~m? +# 1774| v1774_13(void) = ReturnIndirection[c] : &:r1774_10, ~m? +# 1774| v1774_14(void) = ReturnVoid : +# 1774| v1774_15(void) = AliasedUse : ~m? +# 1774| v1774_16(void) = ExitFunction : + +# 1782| void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass() +# 1782| Block 0 +# 1782| v1782_1(void) = EnterFunction : +# 1782| mu1782_2(unknown) = AliasedDefinition : +# 1782| mu1782_3(unknown) = InitializeNonLocal : +# 1782| r1782_4(glval) = VariableAddress[#this] : +# 1782| mu1782_5(glval) = InitializeParameter[#this] : &:r1782_4 +# 1782| r1782_6(glval) = Load[#this] : &:r1782_4, ~m? +# 1782| mu1782_7(CopyConstructorWithBitwiseCopyClass) = InitializeIndirection[#this] : &:r1782_6 +# 1782| v1782_8(void) = NoOp : +# 1782| v1782_9(void) = ReturnIndirection[#this] : &:r1782_6, ~m? +# 1782| v1782_10(void) = ReturnVoid : +# 1782| v1782_11(void) = AliasedUse : ~m? +# 1782| v1782_12(void) = ExitFunction : + +# 1785| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&) +# 1785| Block 0 +# 1785| v1785_1(void) = EnterFunction : +# 1785| mu1785_2(unknown) = AliasedDefinition : +# 1785| mu1785_3(unknown) = InitializeNonLocal : +# 1785| r1785_4(glval) = VariableAddress[#this] : +# 1785| mu1785_5(glval) = InitializeParameter[#this] : &:r1785_4 +# 1785| r1785_6(glval) = Load[#this] : &:r1785_4, ~m? +# 1785| mu1785_7(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1785_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r0_1, ~m? #-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1738| r1738_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1738_5 -# 1738| r1738_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1738| r1738_10(glval) = VariableAddress[(unnamed parameter 0)] : -# 1738| r1738_11(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r1738_10, ~m? -# 1738| r1738_12(glval) = CopyValue : r1738_11 -# 1738| r1738_13(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1738_12 -# 1738| r1738_14(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1738_13 -# 1738| v1738_15(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1738_9, this:r1738_8, 0:r1738_14 -# 1738| mu1738_16(unknown) = ^CallSideEffect : ~m? -# 1738| v1738_17(void) = ^BufferReadSideEffect[0] : &:r1738_14, ~m? -# 1738| mu1738_18(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1738_8 -# 1738| v1738_19(void) = NoOp : -# 1738| v1738_20(void) = ReturnIndirection[#this] : &:r1738_6, ~m? +# 1785| r1785_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1785_5 +# 1785| r1785_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : +# 1785| r1785_10(glval) = VariableAddress[(unnamed parameter 0)] : +# 1785| r1785_11(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r1785_10, ~m? +# 1785| r1785_12(glval) = CopyValue : r1785_11 +# 1785| r1785_13(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1785_12 +# 1785| r1785_14(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1785_13 +# 1785| v1785_15(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1785_9, this:r1785_8, 0:r1785_14 +# 1785| mu1785_16(unknown) = ^CallSideEffect : ~m? +# 1785| v1785_17(void) = ^BufferReadSideEffect[0] : &:r1785_14, ~m? +# 1785| mu1785_18(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1785_8 +# 1785| v1785_19(void) = NoOp : +# 1785| v1785_20(void) = ReturnIndirection[#this] : &:r1785_6, ~m? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1738| v1738_21(void) = ReturnVoid : -# 1738| v1738_22(void) = AliasedUse : ~m? -# 1738| v1738_23(void) = ExitFunction : +# 1785| v1785_21(void) = ReturnVoid : +# 1785| v1785_22(void) = AliasedUse : ~m? +# 1785| v1785_23(void) = ExitFunction : -# 1742| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass() -# 1742| Block 0 -# 1742| v1742_1(void) = EnterFunction : -# 1742| mu1742_2(unknown) = AliasedDefinition : -# 1742| mu1742_3(unknown) = InitializeNonLocal : -# 1742| r1742_4(glval) = VariableAddress[#this] : -# 1742| mu1742_5(glval) = InitializeParameter[#this] : &:r1742_4 -# 1742| r1742_6(glval) = Load[#this] : &:r1742_4, ~m? -# 1742| mu1742_7(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1742_6 -# 1742| r1742_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1742_5 -# 1742| r1742_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1742| v1742_10(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1742_9, this:r1742_8 -# 1742| mu1742_11(unknown) = ^CallSideEffect : ~m? -# 1742| mu1742_12(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1742_8 -# 1742| r1742_13(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithBitwiseCopyClass] : mu1742_5 -# 1742| r1742_14(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : -# 1742| v1742_15(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1742_14, this:r1742_13 -# 1742| mu1742_16(unknown) = ^CallSideEffect : ~m? -# 1742| mu1742_17(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1742_13 -# 1742| v1742_18(void) = NoOp : -# 1742| v1742_19(void) = ReturnIndirection[#this] : &:r1742_6, ~m? -# 1742| v1742_20(void) = ReturnVoid : -# 1742| v1742_21(void) = AliasedUse : ~m? -# 1742| v1742_22(void) = ExitFunction : +# 1789| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass() +# 1789| Block 0 +# 1789| v1789_1(void) = EnterFunction : +# 1789| mu1789_2(unknown) = AliasedDefinition : +# 1789| mu1789_3(unknown) = InitializeNonLocal : +# 1789| r1789_4(glval) = VariableAddress[#this] : +# 1789| mu1789_5(glval) = InitializeParameter[#this] : &:r1789_4 +# 1789| r1789_6(glval) = Load[#this] : &:r1789_4, ~m? +# 1789| mu1789_7(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1789_6 +# 1789| r1789_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1789_5 +# 1789| r1789_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : +# 1789| v1789_10(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1789_9, this:r1789_8 +# 1789| mu1789_11(unknown) = ^CallSideEffect : ~m? +# 1789| mu1789_12(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1789_8 +# 1789| r1789_13(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithBitwiseCopyClass] : mu1789_5 +# 1789| r1789_14(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : +# 1789| v1789_15(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1789_14, this:r1789_13 +# 1789| mu1789_16(unknown) = ^CallSideEffect : ~m? +# 1789| mu1789_17(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1789_13 +# 1789| v1789_18(void) = NoOp : +# 1789| v1789_19(void) = ReturnIndirection[#this] : &:r1789_6, ~m? +# 1789| v1789_20(void) = ReturnVoid : +# 1789| v1789_21(void) = AliasedUse : ~m? +# 1789| v1789_22(void) = ExitFunction : -# 1745| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&) -# 1745| Block 0 -# 1745| v1745_1(void) = EnterFunction : -# 1745| mu1745_2(unknown) = AliasedDefinition : -# 1745| mu1745_3(unknown) = InitializeNonLocal : -# 1745| r1745_4(glval) = VariableAddress[#this] : -# 1745| mu1745_5(glval) = InitializeParameter[#this] : &:r1745_4 -# 1745| r1745_6(glval) = Load[#this] : &:r1745_4, ~m? -# 1745| mu1745_7(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1745_6 +# 1792| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&) +# 1792| Block 0 +# 1792| v1792_1(void) = EnterFunction : +# 1792| mu1792_2(unknown) = AliasedDefinition : +# 1792| mu1792_3(unknown) = InitializeNonLocal : +# 1792| r1792_4(glval) = VariableAddress[#this] : +# 1792| mu1792_5(glval) = InitializeParameter[#this] : &:r1792_4 +# 1792| r1792_6(glval) = Load[#this] : &:r1792_4, ~m? +# 1792| mu1792_7(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1792_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(CopyConstructorTestVirtualClass &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r0_1, ~m? #-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1745| r1745_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1745_5 -# 1745| r1745_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1745| r1745_10(glval) = VariableAddress[(unnamed parameter 0)] : -# 1745| r1745_11(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r1745_10, ~m? -# 1745| r1745_12(glval) = CopyValue : r1745_11 -# 1745| r1745_13(glval) = ConvertToVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1745_12 -# 1745| r1745_14(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1745_13 -# 1745| v1745_15(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1745_9, this:r1745_8, 0:r1745_14 -# 1745| mu1745_16(unknown) = ^CallSideEffect : ~m? -# 1745| v1745_17(void) = ^BufferReadSideEffect[0] : &:r1745_14, ~m? -# 1745| mu1745_18(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1745_8 -# 1745| v1745_19(void) = NoOp : -# 1745| v1745_20(void) = ReturnIndirection[#this] : &:r1745_6, ~m? +# 1792| r1792_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1792_5 +# 1792| r1792_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : +# 1792| r1792_10(glval) = VariableAddress[(unnamed parameter 0)] : +# 1792| r1792_11(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r1792_10, ~m? +# 1792| r1792_12(glval) = CopyValue : r1792_11 +# 1792| r1792_13(glval) = ConvertToVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1792_12 +# 1792| r1792_14(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1792_13 +# 1792| v1792_15(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1792_9, this:r1792_8, 0:r1792_14 +# 1792| mu1792_16(unknown) = ^CallSideEffect : ~m? +# 1792| v1792_17(void) = ^BufferReadSideEffect[0] : &:r1792_14, ~m? +# 1792| mu1792_18(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1792_8 +# 1792| v1792_19(void) = NoOp : +# 1792| v1792_20(void) = ReturnIndirection[#this] : &:r1792_6, ~m? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1745| v1745_21(void) = ReturnVoid : -# 1745| v1745_22(void) = AliasedUse : ~m? -# 1745| v1745_23(void) = ExitFunction : +# 1792| v1792_21(void) = ReturnVoid : +# 1792| v1792_22(void) = AliasedUse : ~m? +# 1792| v1792_23(void) = ExitFunction : -# 1749| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass() -# 1749| Block 0 -# 1749| v1749_1(void) = EnterFunction : -# 1749| mu1749_2(unknown) = AliasedDefinition : -# 1749| mu1749_3(unknown) = InitializeNonLocal : -# 1749| r1749_4(glval) = VariableAddress[#this] : -# 1749| mu1749_5(glval) = InitializeParameter[#this] : &:r1749_4 -# 1749| r1749_6(glval) = Load[#this] : &:r1749_4, ~m? -# 1749| mu1749_7(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1749_6 -# 1749| r1749_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1749_5 -# 1749| r1749_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1749| v1749_10(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1749_9, this:r1749_8 -# 1749| mu1749_11(unknown) = ^CallSideEffect : ~m? -# 1749| mu1749_12(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1749_8 -# 1749| r1749_13(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithBitwiseCopyClass] : mu1749_5 -# 1749| r1749_14(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : -# 1749| v1749_15(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1749_14, this:r1749_13 -# 1749| mu1749_16(unknown) = ^CallSideEffect : ~m? -# 1749| mu1749_17(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1749_13 -# 1749| v1749_18(void) = NoOp : -# 1749| v1749_19(void) = ReturnIndirection[#this] : &:r1749_6, ~m? -# 1749| v1749_20(void) = ReturnVoid : -# 1749| v1749_21(void) = AliasedUse : ~m? -# 1749| v1749_22(void) = ExitFunction : +# 1796| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass() +# 1796| Block 0 +# 1796| v1796_1(void) = EnterFunction : +# 1796| mu1796_2(unknown) = AliasedDefinition : +# 1796| mu1796_3(unknown) = InitializeNonLocal : +# 1796| r1796_4(glval) = VariableAddress[#this] : +# 1796| mu1796_5(glval) = InitializeParameter[#this] : &:r1796_4 +# 1796| r1796_6(glval) = Load[#this] : &:r1796_4, ~m? +# 1796| mu1796_7(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1796_6 +# 1796| r1796_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1796_5 +# 1796| r1796_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : +# 1796| v1796_10(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1796_9, this:r1796_8 +# 1796| mu1796_11(unknown) = ^CallSideEffect : ~m? +# 1796| mu1796_12(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1796_8 +# 1796| r1796_13(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithBitwiseCopyClass] : mu1796_5 +# 1796| r1796_14(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : +# 1796| v1796_15(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1796_14, this:r1796_13 +# 1796| mu1796_16(unknown) = ^CallSideEffect : ~m? +# 1796| mu1796_17(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1796_13 +# 1796| v1796_18(void) = NoOp : +# 1796| v1796_19(void) = ReturnIndirection[#this] : &:r1796_6, ~m? +# 1796| v1796_20(void) = ReturnVoid : +# 1796| v1796_21(void) = AliasedUse : ~m? +# 1796| v1796_22(void) = ExitFunction : -# 1752| int implicit_copy_constructor_test(CopyConstructorTestNonVirtualClass const&, CopyConstructorTestVirtualClass const&) -# 1752| Block 0 -# 1752| v1752_1(void) = EnterFunction : -# 1752| mu1752_2(unknown) = AliasedDefinition : -# 1752| mu1752_3(unknown) = InitializeNonLocal : -# 1753| r1753_1(glval) = VariableAddress[x] : -# 1753| mu1753_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[x] : &:r1753_1 -# 1753| r1753_3(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1753_1, ~m? -# 1753| mu1753_4(unknown) = InitializeIndirection[x] : &:r1753_3 -# 1754| r1754_1(glval) = VariableAddress[y] : -# 1754| mu1754_2(CopyConstructorTestVirtualClass &) = InitializeParameter[y] : &:r1754_1 -# 1754| r1754_3(CopyConstructorTestVirtualClass &) = Load[y] : &:r1754_1, ~m? -# 1754| mu1754_4(unknown) = InitializeIndirection[y] : &:r1754_3 -# 1755| r1755_1(glval) = VariableAddress[cx] : -# 1755| mu1755_2(CopyConstructorTestNonVirtualClass) = Uninitialized[cx] : &:r1755_1 -# 1755| r1755_3(glval) = FunctionAddress[CopyConstructorTestNonVirtualClass] : -# 1755| r1755_4(glval) = VariableAddress[x] : -# 1755| r1755_5(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1755_4, ~m? -# 1755| r1755_6(glval) = CopyValue : r1755_5 -# 1755| r1755_7(CopyConstructorTestNonVirtualClass &) = CopyValue : r1755_6 -# 1755| v1755_8(void) = Call[CopyConstructorTestNonVirtualClass] : func:r1755_3, this:r1755_1, 0:r1755_7 -# 1755| mu1755_9(unknown) = ^CallSideEffect : ~m? -# 1755| v1755_10(void) = ^BufferReadSideEffect[0] : &:r1755_7, ~m? -# 1755| mu1755_11(CopyConstructorTestNonVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1755_1 -# 1756| r1756_1(glval) = VariableAddress[cy] : -# 1756| mu1756_2(CopyConstructorTestVirtualClass) = Uninitialized[cy] : &:r1756_1 -# 1756| r1756_3(glval) = FunctionAddress[CopyConstructorTestVirtualClass] : -# 1756| r1756_4(glval) = VariableAddress[y] : -# 1756| r1756_5(CopyConstructorTestVirtualClass &) = Load[y] : &:r1756_4, ~m? -# 1756| r1756_6(glval) = CopyValue : r1756_5 -# 1756| r1756_7(CopyConstructorTestVirtualClass &) = CopyValue : r1756_6 -# 1756| v1756_8(void) = Call[CopyConstructorTestVirtualClass] : func:r1756_3, this:r1756_1, 0:r1756_7 -# 1756| mu1756_9(unknown) = ^CallSideEffect : ~m? -# 1756| v1756_10(void) = ^BufferReadSideEffect[0] : &:r1756_7, ~m? -# 1756| mu1756_11(CopyConstructorTestVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1756_1 -# 1757| r1757_1(glval) = VariableAddress[#return] : -# 1757| mu1757_2(int) = Uninitialized[#return] : &:r1757_1 -# 1753| v1753_5(void) = ReturnIndirection[x] : &:r1753_3, ~m? -# 1754| v1754_5(void) = ReturnIndirection[y] : &:r1754_3, ~m? -# 1752| r1752_4(glval) = VariableAddress[#return] : -# 1752| v1752_5(void) = ReturnValue : &:r1752_4, ~m? -# 1752| v1752_6(void) = AliasedUse : ~m? -# 1752| v1752_7(void) = ExitFunction : +# 1799| int implicit_copy_constructor_test(CopyConstructorTestNonVirtualClass const&, CopyConstructorTestVirtualClass const&) +# 1799| Block 0 +# 1799| v1799_1(void) = EnterFunction : +# 1799| mu1799_2(unknown) = AliasedDefinition : +# 1799| mu1799_3(unknown) = InitializeNonLocal : +# 1800| r1800_1(glval) = VariableAddress[x] : +# 1800| mu1800_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[x] : &:r1800_1 +# 1800| r1800_3(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1800_1, ~m? +# 1800| mu1800_4(unknown) = InitializeIndirection[x] : &:r1800_3 +# 1801| r1801_1(glval) = VariableAddress[y] : +# 1801| mu1801_2(CopyConstructorTestVirtualClass &) = InitializeParameter[y] : &:r1801_1 +# 1801| r1801_3(CopyConstructorTestVirtualClass &) = Load[y] : &:r1801_1, ~m? +# 1801| mu1801_4(unknown) = InitializeIndirection[y] : &:r1801_3 +# 1802| r1802_1(glval) = VariableAddress[cx] : +# 1802| mu1802_2(CopyConstructorTestNonVirtualClass) = Uninitialized[cx] : &:r1802_1 +# 1802| r1802_3(glval) = FunctionAddress[CopyConstructorTestNonVirtualClass] : +# 1802| r1802_4(glval) = VariableAddress[x] : +# 1802| r1802_5(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1802_4, ~m? +# 1802| r1802_6(glval) = CopyValue : r1802_5 +# 1802| r1802_7(CopyConstructorTestNonVirtualClass &) = CopyValue : r1802_6 +# 1802| v1802_8(void) = Call[CopyConstructorTestNonVirtualClass] : func:r1802_3, this:r1802_1, 0:r1802_7 +# 1802| mu1802_9(unknown) = ^CallSideEffect : ~m? +# 1802| v1802_10(void) = ^BufferReadSideEffect[0] : &:r1802_7, ~m? +# 1802| mu1802_11(CopyConstructorTestNonVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1802_1 +# 1803| r1803_1(glval) = VariableAddress[cy] : +# 1803| mu1803_2(CopyConstructorTestVirtualClass) = Uninitialized[cy] : &:r1803_1 +# 1803| r1803_3(glval) = FunctionAddress[CopyConstructorTestVirtualClass] : +# 1803| r1803_4(glval) = VariableAddress[y] : +# 1803| r1803_5(CopyConstructorTestVirtualClass &) = Load[y] : &:r1803_4, ~m? +# 1803| r1803_6(glval) = CopyValue : r1803_5 +# 1803| r1803_7(CopyConstructorTestVirtualClass &) = CopyValue : r1803_6 +# 1803| v1803_8(void) = Call[CopyConstructorTestVirtualClass] : func:r1803_3, this:r1803_1, 0:r1803_7 +# 1803| mu1803_9(unknown) = ^CallSideEffect : ~m? +# 1803| v1803_10(void) = ^BufferReadSideEffect[0] : &:r1803_7, ~m? +# 1803| mu1803_11(CopyConstructorTestVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1803_1 +# 1804| r1804_1(glval) = VariableAddress[#return] : +# 1804| mu1804_2(int) = Uninitialized[#return] : &:r1804_1 +# 1800| v1800_5(void) = ReturnIndirection[x] : &:r1800_3, ~m? +# 1801| v1801_5(void) = ReturnIndirection[y] : &:r1801_3, ~m? +# 1799| r1799_4(glval) = VariableAddress[#return] : +# 1799| v1799_5(void) = ReturnValue : &:r1799_4, ~m? +# 1799| v1799_6(void) = AliasedUse : ~m? +# 1799| v1799_7(void) = ExitFunction : -# 1759| void if_initialization(int) -# 1759| Block 0 -# 1759| v1759_1(void) = EnterFunction : -# 1759| mu1759_2(unknown) = AliasedDefinition : -# 1759| mu1759_3(unknown) = InitializeNonLocal : -# 1759| r1759_4(glval) = VariableAddress[x] : -# 1759| mu1759_5(int) = InitializeParameter[x] : &:r1759_4 -# 1760| r1760_1(glval) = VariableAddress[y] : -# 1760| r1760_2(glval) = VariableAddress[x] : -# 1760| r1760_3(int) = Load[x] : &:r1760_2, ~m? -# 1760| mu1760_4(int) = Store[y] : &:r1760_1, r1760_3 -# 1760| r1760_5(glval) = VariableAddress[x] : -# 1760| r1760_6(int) = Load[x] : &:r1760_5, ~m? -# 1760| r1760_7(int) = Constant[1] : -# 1760| r1760_8(int) = Add : r1760_6, r1760_7 -# 1760| r1760_9(int) = Constant[0] : -# 1760| r1760_10(bool) = CompareNE : r1760_8, r1760_9 -# 1760| v1760_11(void) = ConditionalBranch : r1760_10 +# 1806| void if_initialization(int) +# 1806| Block 0 +# 1806| v1806_1(void) = EnterFunction : +# 1806| mu1806_2(unknown) = AliasedDefinition : +# 1806| mu1806_3(unknown) = InitializeNonLocal : +# 1806| r1806_4(glval) = VariableAddress[x] : +# 1806| mu1806_5(int) = InitializeParameter[x] : &:r1806_4 +# 1807| r1807_1(glval) = VariableAddress[y] : +# 1807| r1807_2(glval) = VariableAddress[x] : +# 1807| r1807_3(int) = Load[x] : &:r1807_2, ~m? +# 1807| mu1807_4(int) = Store[y] : &:r1807_1, r1807_3 +# 1807| r1807_5(glval) = VariableAddress[x] : +# 1807| r1807_6(int) = Load[x] : &:r1807_5, ~m? +# 1807| r1807_7(int) = Constant[1] : +# 1807| r1807_8(int) = Add : r1807_6, r1807_7 +# 1807| r1807_9(int) = Constant[0] : +# 1807| r1807_10(bool) = CompareNE : r1807_8, r1807_9 +# 1807| v1807_11(void) = ConditionalBranch : r1807_10 #-----| False -> Block 2 #-----| True -> Block 1 -# 1761| Block 1 -# 1761| r1761_1(glval) = VariableAddress[x] : -# 1761| r1761_2(int) = Load[x] : &:r1761_1, ~m? -# 1761| r1761_3(glval) = VariableAddress[y] : -# 1761| r1761_4(int) = Load[y] : &:r1761_3, ~m? -# 1761| r1761_5(int) = Add : r1761_2, r1761_4 -# 1761| r1761_6(glval) = VariableAddress[x] : -# 1761| mu1761_7(int) = Store[x] : &:r1761_6, r1761_5 +# 1808| Block 1 +# 1808| r1808_1(glval) = VariableAddress[x] : +# 1808| r1808_2(int) = Load[x] : &:r1808_1, ~m? +# 1808| r1808_3(glval) = VariableAddress[y] : +# 1808| r1808_4(int) = Load[y] : &:r1808_3, ~m? +# 1808| r1808_5(int) = Add : r1808_2, r1808_4 +# 1808| r1808_6(glval) = VariableAddress[x] : +# 1808| mu1808_7(int) = Store[x] : &:r1808_6, r1808_5 #-----| Goto -> Block 2 -# 1764| Block 2 -# 1764| r1764_1(glval) = VariableAddress[w] : -# 1764| mu1764_2(int) = Uninitialized[w] : &:r1764_1 -# 1765| r1765_1(glval) = VariableAddress[x] : -# 1765| r1765_2(int) = Load[x] : &:r1765_1, ~m? -# 1765| r1765_3(glval) = VariableAddress[w] : -# 1765| mu1765_4(int) = Store[w] : &:r1765_3, r1765_2 -# 1765| r1765_5(glval) = VariableAddress[x] : -# 1765| r1765_6(int) = Load[x] : &:r1765_5, ~m? -# 1765| r1765_7(int) = Constant[1] : -# 1765| r1765_8(int) = Add : r1765_6, r1765_7 -# 1765| r1765_9(int) = Constant[0] : -# 1765| r1765_10(bool) = CompareNE : r1765_8, r1765_9 -# 1765| v1765_11(void) = ConditionalBranch : r1765_10 +# 1811| Block 2 +# 1811| r1811_1(glval) = VariableAddress[w] : +# 1811| mu1811_2(int) = Uninitialized[w] : &:r1811_1 +# 1812| r1812_1(glval) = VariableAddress[x] : +# 1812| r1812_2(int) = Load[x] : &:r1812_1, ~m? +# 1812| r1812_3(glval) = VariableAddress[w] : +# 1812| mu1812_4(int) = Store[w] : &:r1812_3, r1812_2 +# 1812| r1812_5(glval) = VariableAddress[x] : +# 1812| r1812_6(int) = Load[x] : &:r1812_5, ~m? +# 1812| r1812_7(int) = Constant[1] : +# 1812| r1812_8(int) = Add : r1812_6, r1812_7 +# 1812| r1812_9(int) = Constant[0] : +# 1812| r1812_10(bool) = CompareNE : r1812_8, r1812_9 +# 1812| v1812_11(void) = ConditionalBranch : r1812_10 #-----| False -> Block 4 #-----| True -> Block 3 -# 1766| Block 3 -# 1766| r1766_1(glval) = VariableAddress[x] : -# 1766| r1766_2(int) = Load[x] : &:r1766_1, ~m? -# 1766| r1766_3(glval) = VariableAddress[w] : -# 1766| r1766_4(int) = Load[w] : &:r1766_3, ~m? -# 1766| r1766_5(int) = Add : r1766_2, r1766_4 -# 1766| r1766_6(glval) = VariableAddress[x] : -# 1766| mu1766_7(int) = Store[x] : &:r1766_6, r1766_5 +# 1813| Block 3 +# 1813| r1813_1(glval) = VariableAddress[x] : +# 1813| r1813_2(int) = Load[x] : &:r1813_1, ~m? +# 1813| r1813_3(glval) = VariableAddress[w] : +# 1813| r1813_4(int) = Load[w] : &:r1813_3, ~m? +# 1813| r1813_5(int) = Add : r1813_2, r1813_4 +# 1813| r1813_6(glval) = VariableAddress[x] : +# 1813| mu1813_7(int) = Store[x] : &:r1813_6, r1813_5 #-----| Goto -> Block 4 -# 1769| Block 4 -# 1769| r1769_1(glval) = VariableAddress[x] : -# 1769| r1769_2(int) = Load[x] : &:r1769_1, ~m? -# 1769| r1769_3(glval) = VariableAddress[w] : -# 1769| mu1769_4(int) = Store[w] : &:r1769_3, r1769_2 -# 1769| r1769_5(glval) = VariableAddress[w2] : -# 1769| r1769_6(glval) = VariableAddress[w] : -# 1769| r1769_7(int) = Load[w] : &:r1769_6, ~m? -# 1769| mu1769_8(int) = Store[w2] : &:r1769_5, r1769_7 -# 1769| r1769_9(glval) = VariableAddress[w2] : -# 1769| r1769_10(int) = Load[w2] : &:r1769_9, ~m? -# 1769| r1769_11(int) = Constant[0] : -# 1769| r1769_12(bool) = CompareNE : r1769_10, r1769_11 -# 1769| r1769_13(bool) = CopyValue : r1769_12 -# 1769| v1769_14(void) = ConditionalBranch : r1769_13 +# 1816| Block 4 +# 1816| r1816_1(glval) = VariableAddress[x] : +# 1816| r1816_2(int) = Load[x] : &:r1816_1, ~m? +# 1816| r1816_3(glval) = VariableAddress[w] : +# 1816| mu1816_4(int) = Store[w] : &:r1816_3, r1816_2 +# 1816| r1816_5(glval) = VariableAddress[w2] : +# 1816| r1816_6(glval) = VariableAddress[w] : +# 1816| r1816_7(int) = Load[w] : &:r1816_6, ~m? +# 1816| mu1816_8(int) = Store[w2] : &:r1816_5, r1816_7 +# 1816| r1816_9(glval) = VariableAddress[w2] : +# 1816| r1816_10(int) = Load[w2] : &:r1816_9, ~m? +# 1816| r1816_11(int) = Constant[0] : +# 1816| r1816_12(bool) = CompareNE : r1816_10, r1816_11 +# 1816| r1816_13(bool) = CopyValue : r1816_12 +# 1816| v1816_14(void) = ConditionalBranch : r1816_13 #-----| False -> Block 6 #-----| True -> Block 5 -# 1770| Block 5 -# 1770| r1770_1(glval) = VariableAddress[x] : -# 1770| r1770_2(int) = Load[x] : &:r1770_1, ~m? -# 1770| r1770_3(glval) = VariableAddress[w] : -# 1770| r1770_4(int) = Load[w] : &:r1770_3, ~m? -# 1770| r1770_5(int) = Add : r1770_2, r1770_4 -# 1770| r1770_6(glval) = VariableAddress[x] : -# 1770| mu1770_7(int) = Store[x] : &:r1770_6, r1770_5 +# 1817| Block 5 +# 1817| r1817_1(glval) = VariableAddress[x] : +# 1817| r1817_2(int) = Load[x] : &:r1817_1, ~m? +# 1817| r1817_3(glval) = VariableAddress[w] : +# 1817| r1817_4(int) = Load[w] : &:r1817_3, ~m? +# 1817| r1817_5(int) = Add : r1817_2, r1817_4 +# 1817| r1817_6(glval) = VariableAddress[x] : +# 1817| mu1817_7(int) = Store[x] : &:r1817_6, r1817_5 #-----| Goto -> Block 6 -# 1773| Block 6 -# 1773| r1773_1(glval) = VariableAddress[v] : -# 1773| r1773_2(glval) = VariableAddress[x] : -# 1773| r1773_3(int) = Load[x] : &:r1773_2, ~m? -# 1773| mu1773_4(int) = Store[v] : &:r1773_1, r1773_3 -# 1773| r1773_5(glval) = VariableAddress[v2] : -# 1773| r1773_6(glval) = VariableAddress[v] : -# 1773| r1773_7(int) = Load[v] : &:r1773_6, ~m? -# 1773| mu1773_8(int) = Store[v2] : &:r1773_5, r1773_7 -# 1773| r1773_9(glval) = VariableAddress[v2] : -# 1773| r1773_10(int) = Load[v2] : &:r1773_9, ~m? -# 1773| r1773_11(int) = Constant[0] : -# 1773| r1773_12(bool) = CompareNE : r1773_10, r1773_11 -# 1773| r1773_13(bool) = CopyValue : r1773_12 -# 1773| v1773_14(void) = ConditionalBranch : r1773_13 +# 1820| Block 6 +# 1820| r1820_1(glval) = VariableAddress[v] : +# 1820| r1820_2(glval) = VariableAddress[x] : +# 1820| r1820_3(int) = Load[x] : &:r1820_2, ~m? +# 1820| mu1820_4(int) = Store[v] : &:r1820_1, r1820_3 +# 1820| r1820_5(glval) = VariableAddress[v2] : +# 1820| r1820_6(glval) = VariableAddress[v] : +# 1820| r1820_7(int) = Load[v] : &:r1820_6, ~m? +# 1820| mu1820_8(int) = Store[v2] : &:r1820_5, r1820_7 +# 1820| r1820_9(glval) = VariableAddress[v2] : +# 1820| r1820_10(int) = Load[v2] : &:r1820_9, ~m? +# 1820| r1820_11(int) = Constant[0] : +# 1820| r1820_12(bool) = CompareNE : r1820_10, r1820_11 +# 1820| r1820_13(bool) = CopyValue : r1820_12 +# 1820| v1820_14(void) = ConditionalBranch : r1820_13 #-----| False -> Block 8 #-----| True -> Block 7 -# 1774| Block 7 -# 1774| r1774_1(glval) = VariableAddress[x] : -# 1774| r1774_2(int) = Load[x] : &:r1774_1, ~m? -# 1774| r1774_3(glval) = VariableAddress[v] : -# 1774| r1774_4(int) = Load[v] : &:r1774_3, ~m? -# 1774| r1774_5(int) = Add : r1774_2, r1774_4 -# 1774| r1774_6(glval) = VariableAddress[x] : -# 1774| mu1774_7(int) = Store[x] : &:r1774_6, r1774_5 +# 1821| Block 7 +# 1821| r1821_1(glval) = VariableAddress[x] : +# 1821| r1821_2(int) = Load[x] : &:r1821_1, ~m? +# 1821| r1821_3(glval) = VariableAddress[v] : +# 1821| r1821_4(int) = Load[v] : &:r1821_3, ~m? +# 1821| r1821_5(int) = Add : r1821_2, r1821_4 +# 1821| r1821_6(glval) = VariableAddress[x] : +# 1821| mu1821_7(int) = Store[x] : &:r1821_6, r1821_5 #-----| Goto -> Block 8 -# 1777| Block 8 -# 1777| r1777_1(glval) = VariableAddress[z] : -# 1777| r1777_2(glval) = VariableAddress[x] : -# 1777| r1777_3(int) = Load[x] : &:r1777_2, ~m? -# 1777| mu1777_4(int) = Store[z] : &:r1777_1, r1777_3 -# 1778| r1778_1(glval) = VariableAddress[z] : -# 1778| r1778_2(int) = Load[z] : &:r1778_1, ~m? -# 1778| r1778_3(int) = Constant[0] : -# 1778| r1778_4(bool) = CompareNE : r1778_2, r1778_3 -# 1778| v1778_5(void) = ConditionalBranch : r1778_4 +# 1824| Block 8 +# 1824| r1824_1(glval) = VariableAddress[z] : +# 1824| r1824_2(glval) = VariableAddress[x] : +# 1824| r1824_3(int) = Load[x] : &:r1824_2, ~m? +# 1824| mu1824_4(int) = Store[z] : &:r1824_1, r1824_3 +# 1825| r1825_1(glval) = VariableAddress[z] : +# 1825| r1825_2(int) = Load[z] : &:r1825_1, ~m? +# 1825| r1825_3(int) = Constant[0] : +# 1825| r1825_4(bool) = CompareNE : r1825_2, r1825_3 +# 1825| v1825_5(void) = ConditionalBranch : r1825_4 #-----| False -> Block 10 #-----| True -> Block 9 -# 1779| Block 9 -# 1779| r1779_1(glval) = VariableAddress[x] : -# 1779| r1779_2(int) = Load[x] : &:r1779_1, ~m? -# 1779| r1779_3(glval) = VariableAddress[z] : -# 1779| r1779_4(int) = Load[z] : &:r1779_3, ~m? -# 1779| r1779_5(int) = Add : r1779_2, r1779_4 -# 1779| r1779_6(glval) = VariableAddress[x] : -# 1779| mu1779_7(int) = Store[x] : &:r1779_6, r1779_5 +# 1826| Block 9 +# 1826| r1826_1(glval) = VariableAddress[x] : +# 1826| r1826_2(int) = Load[x] : &:r1826_1, ~m? +# 1826| r1826_3(glval) = VariableAddress[z] : +# 1826| r1826_4(int) = Load[z] : &:r1826_3, ~m? +# 1826| r1826_5(int) = Add : r1826_2, r1826_4 +# 1826| r1826_6(glval) = VariableAddress[x] : +# 1826| mu1826_7(int) = Store[x] : &:r1826_6, r1826_5 #-----| Goto -> Block 10 -# 1782| Block 10 -# 1782| r1782_1(glval) = VariableAddress[z2] : -# 1782| r1782_2(glval) = VariableAddress[z] : -# 1782| r1782_3(int) = Load[z] : &:r1782_2, ~m? -# 1782| mu1782_4(int) = Store[z2] : &:r1782_1, r1782_3 -# 1782| r1782_5(glval) = VariableAddress[z2] : -# 1782| r1782_6(int) = Load[z2] : &:r1782_5, ~m? -# 1782| r1782_7(int) = Constant[0] : -# 1782| r1782_8(bool) = CompareNE : r1782_6, r1782_7 -# 1782| r1782_9(bool) = CopyValue : r1782_8 -# 1782| v1782_10(void) = ConditionalBranch : r1782_9 +# 1829| Block 10 +# 1829| r1829_1(glval) = VariableAddress[z2] : +# 1829| r1829_2(glval) = VariableAddress[z] : +# 1829| r1829_3(int) = Load[z] : &:r1829_2, ~m? +# 1829| mu1829_4(int) = Store[z2] : &:r1829_1, r1829_3 +# 1829| r1829_5(glval) = VariableAddress[z2] : +# 1829| r1829_6(int) = Load[z2] : &:r1829_5, ~m? +# 1829| r1829_7(int) = Constant[0] : +# 1829| r1829_8(bool) = CompareNE : r1829_6, r1829_7 +# 1829| r1829_9(bool) = CopyValue : r1829_8 +# 1829| v1829_10(void) = ConditionalBranch : r1829_9 #-----| False -> Block 12 #-----| True -> Block 11 -# 1783| Block 11 -# 1783| r1783_1(glval) = VariableAddress[z2] : -# 1783| r1783_2(int) = Load[z2] : &:r1783_1, ~m? -# 1783| r1783_3(glval) = VariableAddress[x] : -# 1783| r1783_4(int) = Load[x] : &:r1783_3, ~m? -# 1783| r1783_5(int) = Add : r1783_4, r1783_2 -# 1783| mu1783_6(int) = Store[x] : &:r1783_3, r1783_5 +# 1830| Block 11 +# 1830| r1830_1(glval) = VariableAddress[z2] : +# 1830| r1830_2(int) = Load[z2] : &:r1830_1, ~m? +# 1830| r1830_3(glval) = VariableAddress[x] : +# 1830| r1830_4(int) = Load[x] : &:r1830_3, ~m? +# 1830| r1830_5(int) = Add : r1830_4, r1830_2 +# 1830| mu1830_6(int) = Store[x] : &:r1830_3, r1830_5 #-----| Goto -> Block 12 -# 1785| Block 12 -# 1785| v1785_1(void) = NoOp : -# 1759| v1759_6(void) = ReturnVoid : -# 1759| v1759_7(void) = AliasedUse : ~m? -# 1759| v1759_8(void) = ExitFunction : +# 1832| Block 12 +# 1832| v1832_1(void) = NoOp : +# 1806| v1806_6(void) = ReturnVoid : +# 1806| v1806_7(void) = AliasedUse : ~m? +# 1806| v1806_8(void) = ExitFunction : -# 1787| void switch_initialization(int) -# 1787| Block 0 -# 1787| v1787_1(void) = EnterFunction : -# 1787| mu1787_2(unknown) = AliasedDefinition : -# 1787| mu1787_3(unknown) = InitializeNonLocal : -# 1787| r1787_4(glval) = VariableAddress[x] : -# 1787| mu1787_5(int) = InitializeParameter[x] : &:r1787_4 -# 1788| r1788_1(glval) = VariableAddress[y] : -# 1788| r1788_2(glval) = VariableAddress[x] : -# 1788| r1788_3(int) = Load[x] : &:r1788_2, ~m? -# 1788| mu1788_4(int) = Store[y] : &:r1788_1, r1788_3 -# 1788| r1788_5(glval) = VariableAddress[x] : -# 1788| r1788_6(int) = Load[x] : &:r1788_5, ~m? -# 1788| r1788_7(int) = Constant[1] : -# 1788| r1788_8(int) = Add : r1788_6, r1788_7 -# 1788| v1788_9(void) = Switch : r1788_8 +# 1834| void switch_initialization(int) +# 1834| Block 0 +# 1834| v1834_1(void) = EnterFunction : +# 1834| mu1834_2(unknown) = AliasedDefinition : +# 1834| mu1834_3(unknown) = InitializeNonLocal : +# 1834| r1834_4(glval) = VariableAddress[x] : +# 1834| mu1834_5(int) = InitializeParameter[x] : &:r1834_4 +# 1835| r1835_1(glval) = VariableAddress[y] : +# 1835| r1835_2(glval) = VariableAddress[x] : +# 1835| r1835_3(int) = Load[x] : &:r1835_2, ~m? +# 1835| mu1835_4(int) = Store[y] : &:r1835_1, r1835_3 +# 1835| r1835_5(glval) = VariableAddress[x] : +# 1835| r1835_6(int) = Load[x] : &:r1835_5, ~m? +# 1835| r1835_7(int) = Constant[1] : +# 1835| r1835_8(int) = Add : r1835_6, r1835_7 +# 1835| v1835_9(void) = Switch : r1835_8 #-----| Default -> Block 1 -# 1789| Block 1 -# 1789| v1789_1(void) = NoOp : -# 1790| r1790_1(glval) = VariableAddress[x] : -# 1790| r1790_2(int) = Load[x] : &:r1790_1, ~m? -# 1790| r1790_3(glval) = VariableAddress[y] : -# 1790| r1790_4(int) = Load[y] : &:r1790_3, ~m? -# 1790| r1790_5(int) = Add : r1790_2, r1790_4 -# 1790| r1790_6(glval) = VariableAddress[x] : -# 1790| mu1790_7(int) = Store[x] : &:r1790_6, r1790_5 -# 1793| r1793_1(glval) = VariableAddress[w] : -# 1793| mu1793_2(int) = Uninitialized[w] : &:r1793_1 -# 1794| r1794_1(glval) = VariableAddress[x] : -# 1794| r1794_2(int) = Load[x] : &:r1794_1, ~m? -# 1794| r1794_3(glval) = VariableAddress[w] : -# 1794| mu1794_4(int) = Store[w] : &:r1794_3, r1794_2 -# 1794| r1794_5(glval) = VariableAddress[x] : -# 1794| r1794_6(int) = Load[x] : &:r1794_5, ~m? -# 1794| r1794_7(int) = Constant[1] : -# 1794| r1794_8(int) = Add : r1794_6, r1794_7 -# 1794| v1794_9(void) = Switch : r1794_8 +# 1836| Block 1 +# 1836| v1836_1(void) = NoOp : +# 1837| r1837_1(glval) = VariableAddress[x] : +# 1837| r1837_2(int) = Load[x] : &:r1837_1, ~m? +# 1837| r1837_3(glval) = VariableAddress[y] : +# 1837| r1837_4(int) = Load[y] : &:r1837_3, ~m? +# 1837| r1837_5(int) = Add : r1837_2, r1837_4 +# 1837| r1837_6(glval) = VariableAddress[x] : +# 1837| mu1837_7(int) = Store[x] : &:r1837_6, r1837_5 +# 1840| r1840_1(glval) = VariableAddress[w] : +# 1840| mu1840_2(int) = Uninitialized[w] : &:r1840_1 +# 1841| r1841_1(glval) = VariableAddress[x] : +# 1841| r1841_2(int) = Load[x] : &:r1841_1, ~m? +# 1841| r1841_3(glval) = VariableAddress[w] : +# 1841| mu1841_4(int) = Store[w] : &:r1841_3, r1841_2 +# 1841| r1841_5(glval) = VariableAddress[x] : +# 1841| r1841_6(int) = Load[x] : &:r1841_5, ~m? +# 1841| r1841_7(int) = Constant[1] : +# 1841| r1841_8(int) = Add : r1841_6, r1841_7 +# 1841| v1841_9(void) = Switch : r1841_8 #-----| Default -> Block 2 -# 1795| Block 2 -# 1795| v1795_1(void) = NoOp : -# 1796| r1796_1(glval) = VariableAddress[x] : -# 1796| r1796_2(int) = Load[x] : &:r1796_1, ~m? -# 1796| r1796_3(glval) = VariableAddress[w] : -# 1796| r1796_4(int) = Load[w] : &:r1796_3, ~m? -# 1796| r1796_5(int) = Add : r1796_2, r1796_4 -# 1796| r1796_6(glval) = VariableAddress[x] : -# 1796| mu1796_7(int) = Store[x] : &:r1796_6, r1796_5 -# 1799| r1799_1(glval) = VariableAddress[x] : -# 1799| r1799_2(int) = Load[x] : &:r1799_1, ~m? -# 1799| r1799_3(glval) = VariableAddress[w] : -# 1799| mu1799_4(int) = Store[w] : &:r1799_3, r1799_2 -# 1799| r1799_5(glval) = VariableAddress[w2] : -# 1799| r1799_6(glval) = VariableAddress[w] : -# 1799| r1799_7(int) = Load[w] : &:r1799_6, ~m? -# 1799| mu1799_8(int) = Store[w2] : &:r1799_5, r1799_7 -# 1799| r1799_9(glval) = VariableAddress[w2] : -# 1799| r1799_10(int) = Load[w2] : &:r1799_9, ~m? -# 1799| r1799_11(int) = CopyValue : r1799_10 -# 1799| v1799_12(void) = Switch : r1799_11 +# 1842| Block 2 +# 1842| v1842_1(void) = NoOp : +# 1843| r1843_1(glval) = VariableAddress[x] : +# 1843| r1843_2(int) = Load[x] : &:r1843_1, ~m? +# 1843| r1843_3(glval) = VariableAddress[w] : +# 1843| r1843_4(int) = Load[w] : &:r1843_3, ~m? +# 1843| r1843_5(int) = Add : r1843_2, r1843_4 +# 1843| r1843_6(glval) = VariableAddress[x] : +# 1843| mu1843_7(int) = Store[x] : &:r1843_6, r1843_5 +# 1846| r1846_1(glval) = VariableAddress[x] : +# 1846| r1846_2(int) = Load[x] : &:r1846_1, ~m? +# 1846| r1846_3(glval) = VariableAddress[w] : +# 1846| mu1846_4(int) = Store[w] : &:r1846_3, r1846_2 +# 1846| r1846_5(glval) = VariableAddress[w2] : +# 1846| r1846_6(glval) = VariableAddress[w] : +# 1846| r1846_7(int) = Load[w] : &:r1846_6, ~m? +# 1846| mu1846_8(int) = Store[w2] : &:r1846_5, r1846_7 +# 1846| r1846_9(glval) = VariableAddress[w2] : +# 1846| r1846_10(int) = Load[w2] : &:r1846_9, ~m? +# 1846| r1846_11(int) = CopyValue : r1846_10 +# 1846| v1846_12(void) = Switch : r1846_11 #-----| Default -> Block 3 -# 1800| Block 3 -# 1800| v1800_1(void) = NoOp : -# 1801| r1801_1(glval) = VariableAddress[x] : -# 1801| r1801_2(int) = Load[x] : &:r1801_1, ~m? -# 1801| r1801_3(glval) = VariableAddress[w] : -# 1801| r1801_4(int) = Load[w] : &:r1801_3, ~m? -# 1801| r1801_5(int) = Add : r1801_2, r1801_4 -# 1801| r1801_6(glval) = VariableAddress[x] : -# 1801| mu1801_7(int) = Store[x] : &:r1801_6, r1801_5 -# 1804| r1804_1(glval) = VariableAddress[v] : -# 1804| r1804_2(glval) = VariableAddress[x] : -# 1804| r1804_3(int) = Load[x] : &:r1804_2, ~m? -# 1804| mu1804_4(int) = Store[v] : &:r1804_1, r1804_3 -# 1804| r1804_5(glval) = VariableAddress[v2] : -# 1804| r1804_6(glval) = VariableAddress[v] : -# 1804| r1804_7(int) = Load[v] : &:r1804_6, ~m? -# 1804| mu1804_8(int) = Store[v2] : &:r1804_5, r1804_7 -# 1804| r1804_9(glval) = VariableAddress[v2] : -# 1804| r1804_10(int) = Load[v2] : &:r1804_9, ~m? -# 1804| r1804_11(int) = CopyValue : r1804_10 -# 1804| v1804_12(void) = Switch : r1804_11 +# 1847| Block 3 +# 1847| v1847_1(void) = NoOp : +# 1848| r1848_1(glval) = VariableAddress[x] : +# 1848| r1848_2(int) = Load[x] : &:r1848_1, ~m? +# 1848| r1848_3(glval) = VariableAddress[w] : +# 1848| r1848_4(int) = Load[w] : &:r1848_3, ~m? +# 1848| r1848_5(int) = Add : r1848_2, r1848_4 +# 1848| r1848_6(glval) = VariableAddress[x] : +# 1848| mu1848_7(int) = Store[x] : &:r1848_6, r1848_5 +# 1851| r1851_1(glval) = VariableAddress[v] : +# 1851| r1851_2(glval) = VariableAddress[x] : +# 1851| r1851_3(int) = Load[x] : &:r1851_2, ~m? +# 1851| mu1851_4(int) = Store[v] : &:r1851_1, r1851_3 +# 1851| r1851_5(glval) = VariableAddress[v2] : +# 1851| r1851_6(glval) = VariableAddress[v] : +# 1851| r1851_7(int) = Load[v] : &:r1851_6, ~m? +# 1851| mu1851_8(int) = Store[v2] : &:r1851_5, r1851_7 +# 1851| r1851_9(glval) = VariableAddress[v2] : +# 1851| r1851_10(int) = Load[v2] : &:r1851_9, ~m? +# 1851| r1851_11(int) = CopyValue : r1851_10 +# 1851| v1851_12(void) = Switch : r1851_11 #-----| Default -> Block 4 -# 1805| Block 4 -# 1805| v1805_1(void) = NoOp : -# 1806| r1806_1(glval) = VariableAddress[x] : -# 1806| r1806_2(int) = Load[x] : &:r1806_1, ~m? -# 1806| r1806_3(glval) = VariableAddress[v] : -# 1806| r1806_4(int) = Load[v] : &:r1806_3, ~m? -# 1806| r1806_5(int) = Add : r1806_2, r1806_4 -# 1806| r1806_6(glval) = VariableAddress[x] : -# 1806| mu1806_7(int) = Store[x] : &:r1806_6, r1806_5 -# 1809| r1809_1(glval) = VariableAddress[z] : -# 1809| r1809_2(glval) = VariableAddress[x] : -# 1809| r1809_3(int) = Load[x] : &:r1809_2, ~m? -# 1809| mu1809_4(int) = Store[z] : &:r1809_1, r1809_3 -# 1810| r1810_1(glval) = VariableAddress[z] : -# 1810| r1810_2(int) = Load[z] : &:r1810_1, ~m? -# 1810| v1810_3(void) = Switch : r1810_2 +# 1852| Block 4 +# 1852| v1852_1(void) = NoOp : +# 1853| r1853_1(glval) = VariableAddress[x] : +# 1853| r1853_2(int) = Load[x] : &:r1853_1, ~m? +# 1853| r1853_3(glval) = VariableAddress[v] : +# 1853| r1853_4(int) = Load[v] : &:r1853_3, ~m? +# 1853| r1853_5(int) = Add : r1853_2, r1853_4 +# 1853| r1853_6(glval) = VariableAddress[x] : +# 1853| mu1853_7(int) = Store[x] : &:r1853_6, r1853_5 +# 1856| r1856_1(glval) = VariableAddress[z] : +# 1856| r1856_2(glval) = VariableAddress[x] : +# 1856| r1856_3(int) = Load[x] : &:r1856_2, ~m? +# 1856| mu1856_4(int) = Store[z] : &:r1856_1, r1856_3 +# 1857| r1857_1(glval) = VariableAddress[z] : +# 1857| r1857_2(int) = Load[z] : &:r1857_1, ~m? +# 1857| v1857_3(void) = Switch : r1857_2 #-----| Default -> Block 5 -# 1811| Block 5 -# 1811| v1811_1(void) = NoOp : -# 1812| r1812_1(glval) = VariableAddress[x] : -# 1812| r1812_2(int) = Load[x] : &:r1812_1, ~m? -# 1812| r1812_3(glval) = VariableAddress[z] : -# 1812| r1812_4(int) = Load[z] : &:r1812_3, ~m? -# 1812| r1812_5(int) = Add : r1812_2, r1812_4 -# 1812| r1812_6(glval) = VariableAddress[x] : -# 1812| mu1812_7(int) = Store[x] : &:r1812_6, r1812_5 -# 1815| r1815_1(glval) = VariableAddress[z2] : -# 1815| r1815_2(glval) = VariableAddress[z] : -# 1815| r1815_3(int) = Load[z] : &:r1815_2, ~m? -# 1815| mu1815_4(int) = Store[z2] : &:r1815_1, r1815_3 -# 1815| r1815_5(glval) = VariableAddress[z2] : -# 1815| r1815_6(int) = Load[z2] : &:r1815_5, ~m? -# 1815| r1815_7(int) = CopyValue : r1815_6 -# 1815| v1815_8(void) = Switch : r1815_7 +# 1858| Block 5 +# 1858| v1858_1(void) = NoOp : +# 1859| r1859_1(glval) = VariableAddress[x] : +# 1859| r1859_2(int) = Load[x] : &:r1859_1, ~m? +# 1859| r1859_3(glval) = VariableAddress[z] : +# 1859| r1859_4(int) = Load[z] : &:r1859_3, ~m? +# 1859| r1859_5(int) = Add : r1859_2, r1859_4 +# 1859| r1859_6(glval) = VariableAddress[x] : +# 1859| mu1859_7(int) = Store[x] : &:r1859_6, r1859_5 +# 1862| r1862_1(glval) = VariableAddress[z2] : +# 1862| r1862_2(glval) = VariableAddress[z] : +# 1862| r1862_3(int) = Load[z] : &:r1862_2, ~m? +# 1862| mu1862_4(int) = Store[z2] : &:r1862_1, r1862_3 +# 1862| r1862_5(glval) = VariableAddress[z2] : +# 1862| r1862_6(int) = Load[z2] : &:r1862_5, ~m? +# 1862| r1862_7(int) = CopyValue : r1862_6 +# 1862| v1862_8(void) = Switch : r1862_7 #-----| Default -> Block 6 -# 1816| Block 6 -# 1816| v1816_1(void) = NoOp : -# 1817| r1817_1(glval) = VariableAddress[z2] : -# 1817| r1817_2(int) = Load[z2] : &:r1817_1, ~m? -# 1817| r1817_3(glval) = VariableAddress[x] : -# 1817| r1817_4(int) = Load[x] : &:r1817_3, ~m? -# 1817| r1817_5(int) = Add : r1817_4, r1817_2 -# 1817| mu1817_6(int) = Store[x] : &:r1817_3, r1817_5 -# 1819| v1819_1(void) = NoOp : -# 1787| v1787_6(void) = ReturnVoid : -# 1787| v1787_7(void) = AliasedUse : ~m? -# 1787| v1787_8(void) = ExitFunction : +# 1863| Block 6 +# 1863| v1863_1(void) = NoOp : +# 1864| r1864_1(glval) = VariableAddress[z2] : +# 1864| r1864_2(int) = Load[z2] : &:r1864_1, ~m? +# 1864| r1864_3(glval) = VariableAddress[x] : +# 1864| r1864_4(int) = Load[x] : &:r1864_3, ~m? +# 1864| r1864_5(int) = Add : r1864_4, r1864_2 +# 1864| mu1864_6(int) = Store[x] : &:r1864_3, r1864_5 +# 1866| v1866_1(void) = NoOp : +# 1834| v1834_6(void) = ReturnVoid : +# 1834| v1834_7(void) = AliasedUse : ~m? +# 1834| v1834_8(void) = ExitFunction : -# 1823| int global_2 -# 1823| Block 0 -# 1823| v1823_1(void) = EnterFunction : -# 1823| mu1823_2(unknown) = AliasedDefinition : -# 1823| r1823_3(glval) = VariableAddress[global_2] : -# 1823| r1823_4(int) = Constant[1] : -# 1823| mu1823_5(int) = Store[global_2] : &:r1823_3, r1823_4 -# 1823| v1823_6(void) = ReturnVoid : -# 1823| v1823_7(void) = AliasedUse : ~m? -# 1823| v1823_8(void) = ExitFunction : +# 1870| int global_2 +# 1870| Block 0 +# 1870| v1870_1(void) = EnterFunction : +# 1870| mu1870_2(unknown) = AliasedDefinition : +# 1870| r1870_3(glval) = VariableAddress[global_2] : +# 1870| r1870_4(int) = Constant[1] : +# 1870| mu1870_5(int) = Store[global_2] : &:r1870_3, r1870_4 +# 1870| v1870_6(void) = ReturnVoid : +# 1870| v1870_7(void) = AliasedUse : ~m? +# 1870| v1870_8(void) = ExitFunction : -# 1827| constructor_only global_4 -# 1827| Block 0 -# 1827| v1827_1(void) = EnterFunction : -# 1827| mu1827_2(unknown) = AliasedDefinition : -# 1827| r1827_3(glval) = VariableAddress[global_4] : -# 1827| r1827_4(glval) = FunctionAddress[constructor_only] : -# 1827| r1827_5(int) = Constant[1] : -# 1827| v1827_6(void) = Call[constructor_only] : func:r1827_4, this:r1827_3, 0:r1827_5 -# 1827| mu1827_7(unknown) = ^CallSideEffect : ~m? -# 1827| mu1827_8(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1827_3 -# 1827| v1827_9(void) = ReturnVoid : -# 1827| v1827_10(void) = AliasedUse : ~m? -# 1827| v1827_11(void) = ExitFunction : +# 1874| constructor_only global_4 +# 1874| Block 0 +# 1874| v1874_1(void) = EnterFunction : +# 1874| mu1874_2(unknown) = AliasedDefinition : +# 1874| r1874_3(glval) = VariableAddress[global_4] : +# 1874| r1874_4(glval) = FunctionAddress[constructor_only] : +# 1874| r1874_5(int) = Constant[1] : +# 1874| v1874_6(void) = Call[constructor_only] : func:r1874_4, this:r1874_3, 0:r1874_5 +# 1874| mu1874_7(unknown) = ^CallSideEffect : ~m? +# 1874| mu1874_8(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1874_3 +# 1874| v1874_9(void) = ReturnVoid : +# 1874| v1874_10(void) = AliasedUse : ~m? +# 1874| v1874_11(void) = ExitFunction : -# 1829| constructor_only global_5 -# 1829| Block 0 -# 1829| v1829_1(void) = EnterFunction : -# 1829| mu1829_2(unknown) = AliasedDefinition : -# 1829| r1829_3(glval) = VariableAddress[global_5] : -# 1829| r1829_4(glval) = FunctionAddress[constructor_only] : -# 1829| r1829_5(int) = Constant[2] : -# 1829| v1829_6(void) = Call[constructor_only] : func:r1829_4, this:r1829_3, 0:r1829_5 -# 1829| mu1829_7(unknown) = ^CallSideEffect : ~m? -# 1829| mu1829_8(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1829_3 -# 1829| v1829_9(void) = ReturnVoid : -# 1829| v1829_10(void) = AliasedUse : ~m? -# 1829| v1829_11(void) = ExitFunction : +# 1876| constructor_only global_5 +# 1876| Block 0 +# 1876| v1876_1(void) = EnterFunction : +# 1876| mu1876_2(unknown) = AliasedDefinition : +# 1876| r1876_3(glval) = VariableAddress[global_5] : +# 1876| r1876_4(glval) = FunctionAddress[constructor_only] : +# 1876| r1876_5(int) = Constant[2] : +# 1876| v1876_6(void) = Call[constructor_only] : func:r1876_4, this:r1876_3, 0:r1876_5 +# 1876| mu1876_7(unknown) = ^CallSideEffect : ~m? +# 1876| mu1876_8(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1876_3 +# 1876| v1876_9(void) = ReturnVoid : +# 1876| v1876_10(void) = AliasedUse : ~m? +# 1876| v1876_11(void) = ExitFunction : -# 1831| char* global_string -# 1831| Block 0 -# 1831| v1831_1(void) = EnterFunction : -# 1831| mu1831_2(unknown) = AliasedDefinition : -# 1831| r1831_3(glval) = VariableAddress[global_string] : -# 1831| r1831_4(glval) = StringConstant["global string"] : -# 1831| r1831_5(char *) = Convert : r1831_4 -# 1831| r1831_6(char *) = Convert : r1831_5 -# 1831| mu1831_7(char *) = Store[global_string] : &:r1831_3, r1831_6 -# 1831| v1831_8(void) = ReturnVoid : -# 1831| v1831_9(void) = AliasedUse : ~m? -# 1831| v1831_10(void) = ExitFunction : +# 1878| char* global_string +# 1878| Block 0 +# 1878| v1878_1(void) = EnterFunction : +# 1878| mu1878_2(unknown) = AliasedDefinition : +# 1878| r1878_3(glval) = VariableAddress[global_string] : +# 1878| r1878_4(glval) = StringConstant["global string"] : +# 1878| r1878_5(char *) = Convert : r1878_4 +# 1878| r1878_6(char *) = Convert : r1878_5 +# 1878| mu1878_7(char *) = Store[global_string] : &:r1878_3, r1878_6 +# 1878| v1878_8(void) = ReturnVoid : +# 1878| v1878_9(void) = AliasedUse : ~m? +# 1878| v1878_10(void) = ExitFunction : -# 1833| int global_6 -# 1833| Block 0 -# 1833| v1833_1(void) = EnterFunction : -# 1833| mu1833_2(unknown) = AliasedDefinition : -# 1833| r1833_3(glval) = VariableAddress[global_6] : -# 1833| r1833_4(glval) = VariableAddress[global_2] : -# 1833| r1833_5(int) = Load[global_2] : &:r1833_4, ~m? -# 1833| mu1833_6(int) = Store[global_6] : &:r1833_3, r1833_5 -# 1833| v1833_7(void) = ReturnVoid : -# 1833| v1833_8(void) = AliasedUse : ~m? -# 1833| v1833_9(void) = ExitFunction : +# 1880| int global_6 +# 1880| Block 0 +# 1880| v1880_1(void) = EnterFunction : +# 1880| mu1880_2(unknown) = AliasedDefinition : +# 1880| r1880_3(glval) = VariableAddress[global_6] : +# 1880| r1880_4(glval) = VariableAddress[global_2] : +# 1880| r1880_5(int) = Load[global_2] : &:r1880_4, ~m? +# 1880| mu1880_6(int) = Store[global_6] : &:r1880_3, r1880_5 +# 1880| v1880_7(void) = ReturnVoid : +# 1880| v1880_8(void) = AliasedUse : ~m? +# 1880| v1880_9(void) = ExitFunction : -# 1836| block_assignment::A& block_assignment::A::operator=(block_assignment::A&&) -# 1836| Block 0 -# 1836| v1836_1(void) = EnterFunction : -# 1836| mu1836_2(unknown) = AliasedDefinition : -# 1836| mu1836_3(unknown) = InitializeNonLocal : -# 1836| r1836_4(glval) = VariableAddress[#this] : -# 1836| mu1836_5(glval) = InitializeParameter[#this] : &:r1836_4 -# 1836| r1836_6(glval) = Load[#this] : &:r1836_4, ~m? -# 1836| mu1836_7(A) = InitializeIndirection[#this] : &:r1836_6 +# 1883| block_assignment::A& block_assignment::A::operator=(block_assignment::A&&) +# 1883| Block 0 +# 1883| v1883_1(void) = EnterFunction : +# 1883| mu1883_2(unknown) = AliasedDefinition : +# 1883| mu1883_3(unknown) = InitializeNonLocal : +# 1883| r1883_4(glval) = VariableAddress[#this] : +# 1883| mu1883_5(glval) = InitializeParameter[#this] : &:r1883_4 +# 1883| r1883_6(glval) = Load[#this] : &:r1883_4, ~m? +# 1883| mu1883_7(A) = InitializeIndirection[#this] : &:r1883_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(A &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(A &&) = Load[(unnamed parameter 0)] : &:r0_1, ~m? @@ -10555,896 +10569,896 @@ ir.cpp: #-----| r0_17(glval) = CopyValue : r0_16 #-----| r0_18(A &) = CopyValue : r0_17 #-----| mu0_19(A &) = Store[#return] : &:r0_14, r0_18 -# 1836| v1836_8(void) = ReturnIndirection[#this] : &:r1836_6, ~m? +# 1883| v1883_8(void) = ReturnIndirection[#this] : &:r1883_6, ~m? #-----| v0_20(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1836| r1836_9(glval) = VariableAddress[#return] : -# 1836| v1836_10(void) = ReturnValue : &:r1836_9, ~m? -# 1836| v1836_11(void) = AliasedUse : ~m? -# 1836| v1836_12(void) = ExitFunction : +# 1883| r1883_9(glval) = VariableAddress[#return] : +# 1883| v1883_10(void) = ReturnValue : &:r1883_9, ~m? +# 1883| v1883_11(void) = AliasedUse : ~m? +# 1883| v1883_12(void) = ExitFunction : -# 1841| block_assignment::B& block_assignment::B::operator=(block_assignment::B&&) -# 1841| Block 0 -# 1841| v1841_1(void) = EnterFunction : -# 1841| mu1841_2(unknown) = AliasedDefinition : -# 1841| mu1841_3(unknown) = InitializeNonLocal : -# 1841| r1841_4(glval) = VariableAddress[#this] : -# 1841| mu1841_5(glval) = InitializeParameter[#this] : &:r1841_4 -# 1841| r1841_6(glval) = Load[#this] : &:r1841_4, ~m? -# 1841| mu1841_7(B) = InitializeIndirection[#this] : &:r1841_6 +# 1888| block_assignment::B& block_assignment::B::operator=(block_assignment::B&&) +# 1888| Block 0 +# 1888| v1888_1(void) = EnterFunction : +# 1888| mu1888_2(unknown) = AliasedDefinition : +# 1888| mu1888_3(unknown) = InitializeNonLocal : +# 1888| r1888_4(glval) = VariableAddress[#this] : +# 1888| mu1888_5(glval) = InitializeParameter[#this] : &:r1888_4 +# 1888| r1888_6(glval) = Load[#this] : &:r1888_4, ~m? +# 1888| mu1888_7(B) = InitializeIndirection[#this] : &:r1888_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(B &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(B &&) = Load[(unnamed parameter 0)] : &:r0_1, ~m? #-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 1841| r1841_8(glval) = VariableAddress[#this] : -# 1841| r1841_9(B *) = Load[#this] : &:r1841_8, ~m? -#-----| r0_5(A *) = ConvertToNonVirtualBase[B : A] : r1841_9 -# 1841| r1841_10(glval) = FunctionAddress[operator=] : -# 1841| r1841_11(glval) = VariableAddress[(unnamed parameter 0)] : -# 1841| r1841_12(B &&) = Load[(unnamed parameter 0)] : &:r1841_11, ~m? -#-----| r0_6(glval) = CopyValue : r1841_12 -# 1841| r1841_13(B *) = CopyValue : r0_6 -#-----| r0_7(A *) = ConvertToNonVirtualBase[B : A] : r1841_13 -# 1841| r1841_14(glval) = CopyValue : r0_7 -#-----| r0_8(A &) = CopyValue : r1841_14 -# 1841| r1841_15(A &) = Call[operator=] : func:r1841_10, this:r0_5, 0:r0_8 -# 1841| mu1841_16(unknown) = ^CallSideEffect : ~m? +# 1888| r1888_8(glval) = VariableAddress[#this] : +# 1888| r1888_9(B *) = Load[#this] : &:r1888_8, ~m? +#-----| r0_5(A *) = ConvertToNonVirtualBase[B : A] : r1888_9 +# 1888| r1888_10(glval) = FunctionAddress[operator=] : +# 1888| r1888_11(glval) = VariableAddress[(unnamed parameter 0)] : +# 1888| r1888_12(B &&) = Load[(unnamed parameter 0)] : &:r1888_11, ~m? +#-----| r0_6(glval) = CopyValue : r1888_12 +# 1888| r1888_13(B *) = CopyValue : r0_6 +#-----| r0_7(A *) = ConvertToNonVirtualBase[B : A] : r1888_13 +# 1888| r1888_14(glval) = CopyValue : r0_7 +#-----| r0_8(A &) = CopyValue : r1888_14 +# 1888| r1888_15(A &) = Call[operator=] : func:r1888_10, this:r0_5, 0:r0_8 +# 1888| mu1888_16(unknown) = ^CallSideEffect : ~m? #-----| v0_9(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? #-----| v0_10(void) = ^BufferReadSideEffect[0] : &:r0_8, ~m? #-----| mu0_11(A) = ^IndirectMayWriteSideEffect[-1] : &:r0_5 #-----| mu0_12(unknown) = ^BufferMayWriteSideEffect[0] : &:r0_8 -#-----| r0_13(glval) = CopyValue : r1841_15 +#-----| r0_13(glval) = CopyValue : r1888_15 #-----| r0_14(glval) = VariableAddress[#return] : #-----| r0_15(glval) = VariableAddress[#this] : #-----| r0_16(B *) = Load[#this] : &:r0_15, ~m? #-----| r0_17(glval) = CopyValue : r0_16 #-----| r0_18(B &) = CopyValue : r0_17 #-----| mu0_19(B &) = Store[#return] : &:r0_14, r0_18 -# 1841| v1841_17(void) = ReturnIndirection[#this] : &:r1841_6, ~m? +# 1888| v1888_17(void) = ReturnIndirection[#this] : &:r1888_6, ~m? #-----| v0_20(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1841| r1841_18(glval) = VariableAddress[#return] : -# 1841| v1841_19(void) = ReturnValue : &:r1841_18, ~m? -# 1841| v1841_20(void) = AliasedUse : ~m? -# 1841| v1841_21(void) = ExitFunction : +# 1888| r1888_18(glval) = VariableAddress[#return] : +# 1888| v1888_19(void) = ReturnValue : &:r1888_18, ~m? +# 1888| v1888_20(void) = AliasedUse : ~m? +# 1888| v1888_21(void) = ExitFunction : -# 1845| void block_assignment::foo() -# 1845| Block 0 -# 1845| v1845_1(void) = EnterFunction : -# 1845| mu1845_2(unknown) = AliasedDefinition : -# 1845| mu1845_3(unknown) = InitializeNonLocal : -# 1846| r1846_1(glval) = VariableAddress[v] : -# 1846| mu1846_2(B) = Uninitialized[v] : &:r1846_1 -# 1846| r1846_3(glval) = FunctionAddress[B] : -# 1846| r1846_4(A *) = Constant[0] : -# 1846| v1846_5(void) = Call[B] : func:r1846_3, this:r1846_1, 0:r1846_4 -# 1846| mu1846_6(unknown) = ^CallSideEffect : ~m? -# 1846| v1846_7(void) = ^BufferReadSideEffect[0] : &:r1846_4, ~m? -# 1846| mu1846_8(B) = ^IndirectMayWriteSideEffect[-1] : &:r1846_1 -# 1846| mu1846_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1846_4 -# 1847| r1847_1(glval) = VariableAddress[v] : -# 1847| r1847_2(glval) = FunctionAddress[operator=] : -# 1847| r1847_3(glval) = VariableAddress[#temp1847:13] : -# 1847| mu1847_4(B) = Uninitialized[#temp1847:13] : &:r1847_3 -# 1847| r1847_5(glval) = FunctionAddress[B] : -# 1847| r1847_6(A *) = Constant[0] : -# 1847| v1847_7(void) = Call[B] : func:r1847_5, this:r1847_3, 0:r1847_6 -# 1847| mu1847_8(unknown) = ^CallSideEffect : ~m? -# 1847| v1847_9(void) = ^BufferReadSideEffect[0] : &:r1847_6, ~m? -# 1847| mu1847_10(B) = ^IndirectMayWriteSideEffect[-1] : &:r1847_3 -# 1847| mu1847_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1847_6 -# 1847| r1847_12(B &) = CopyValue : r1847_3 -# 1847| r1847_13(B &) = Call[operator=] : func:r1847_2, this:r1847_1, 0:r1847_12 -# 1847| mu1847_14(unknown) = ^CallSideEffect : ~m? -# 1847| v1847_15(void) = ^IndirectReadSideEffect[-1] : &:r1847_1, ~m? -# 1847| v1847_16(void) = ^BufferReadSideEffect[0] : &:r1847_12, ~m? -# 1847| mu1847_17(B) = ^IndirectMayWriteSideEffect[-1] : &:r1847_1 -# 1847| mu1847_18(unknown) = ^BufferMayWriteSideEffect[0] : &:r1847_12 -# 1847| r1847_19(glval) = CopyValue : r1847_13 -# 1848| v1848_1(void) = NoOp : -# 1845| v1845_4(void) = ReturnVoid : -# 1845| v1845_5(void) = AliasedUse : ~m? -# 1845| v1845_6(void) = ExitFunction : +# 1892| void block_assignment::foo() +# 1892| Block 0 +# 1892| v1892_1(void) = EnterFunction : +# 1892| mu1892_2(unknown) = AliasedDefinition : +# 1892| mu1892_3(unknown) = InitializeNonLocal : +# 1893| r1893_1(glval) = VariableAddress[v] : +# 1893| mu1893_2(B) = Uninitialized[v] : &:r1893_1 +# 1893| r1893_3(glval) = FunctionAddress[B] : +# 1893| r1893_4(A *) = Constant[0] : +# 1893| v1893_5(void) = Call[B] : func:r1893_3, this:r1893_1, 0:r1893_4 +# 1893| mu1893_6(unknown) = ^CallSideEffect : ~m? +# 1893| v1893_7(void) = ^BufferReadSideEffect[0] : &:r1893_4, ~m? +# 1893| mu1893_8(B) = ^IndirectMayWriteSideEffect[-1] : &:r1893_1 +# 1893| mu1893_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1893_4 +# 1894| r1894_1(glval) = VariableAddress[v] : +# 1894| r1894_2(glval) = FunctionAddress[operator=] : +# 1894| r1894_3(glval) = VariableAddress[#temp1894:13] : +# 1894| mu1894_4(B) = Uninitialized[#temp1894:13] : &:r1894_3 +# 1894| r1894_5(glval) = FunctionAddress[B] : +# 1894| r1894_6(A *) = Constant[0] : +# 1894| v1894_7(void) = Call[B] : func:r1894_5, this:r1894_3, 0:r1894_6 +# 1894| mu1894_8(unknown) = ^CallSideEffect : ~m? +# 1894| v1894_9(void) = ^BufferReadSideEffect[0] : &:r1894_6, ~m? +# 1894| mu1894_10(B) = ^IndirectMayWriteSideEffect[-1] : &:r1894_3 +# 1894| mu1894_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1894_6 +# 1894| r1894_12(B &) = CopyValue : r1894_3 +# 1894| r1894_13(B &) = Call[operator=] : func:r1894_2, this:r1894_1, 0:r1894_12 +# 1894| mu1894_14(unknown) = ^CallSideEffect : ~m? +# 1894| v1894_15(void) = ^IndirectReadSideEffect[-1] : &:r1894_1, ~m? +# 1894| v1894_16(void) = ^BufferReadSideEffect[0] : &:r1894_12, ~m? +# 1894| mu1894_17(B) = ^IndirectMayWriteSideEffect[-1] : &:r1894_1 +# 1894| mu1894_18(unknown) = ^BufferMayWriteSideEffect[0] : &:r1894_12 +# 1894| r1894_19(glval) = CopyValue : r1894_13 +# 1895| v1895_1(void) = NoOp : +# 1892| v1892_4(void) = ReturnVoid : +# 1892| v1892_5(void) = AliasedUse : ~m? +# 1892| v1892_6(void) = ExitFunction : -# 1851| void magicvars() -# 1851| Block 0 -# 1851| v1851_1(void) = EnterFunction : -# 1851| mu1851_2(unknown) = AliasedDefinition : -# 1851| mu1851_3(unknown) = InitializeNonLocal : -# 1852| r1852_1(glval) = VariableAddress[pf] : -# 1852| r1852_2(glval) = VariableAddress[__PRETTY_FUNCTION__] : -# 1852| r1852_3(char *) = Convert : r1852_2 -# 1852| mu1852_4(char *) = Store[pf] : &:r1852_1, r1852_3 -# 1853| r1853_1(glval) = VariableAddress[strfunc] : -# 1853| r1853_2(glval) = VariableAddress[__func__] : -# 1853| r1853_3(char *) = Convert : r1853_2 -# 1853| mu1853_4(char *) = Store[strfunc] : &:r1853_1, r1853_3 -# 1854| v1854_1(void) = NoOp : -# 1851| v1851_4(void) = ReturnVoid : -# 1851| v1851_5(void) = AliasedUse : ~m? -# 1851| v1851_6(void) = ExitFunction : +# 1898| void magicvars() +# 1898| Block 0 +# 1898| v1898_1(void) = EnterFunction : +# 1898| mu1898_2(unknown) = AliasedDefinition : +# 1898| mu1898_3(unknown) = InitializeNonLocal : +# 1899| r1899_1(glval) = VariableAddress[pf] : +# 1899| r1899_2(glval) = VariableAddress[__PRETTY_FUNCTION__] : +# 1899| r1899_3(char *) = Convert : r1899_2 +# 1899| mu1899_4(char *) = Store[pf] : &:r1899_1, r1899_3 +# 1900| r1900_1(glval) = VariableAddress[strfunc] : +# 1900| r1900_2(glval) = VariableAddress[__func__] : +# 1900| r1900_3(char *) = Convert : r1900_2 +# 1900| mu1900_4(char *) = Store[strfunc] : &:r1900_1, r1900_3 +# 1901| v1901_1(void) = NoOp : +# 1898| v1898_4(void) = ReturnVoid : +# 1898| v1898_5(void) = AliasedUse : ~m? +# 1898| v1898_6(void) = ExitFunction : -# 1864| void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) -# 1864| Block 0 -# 1864| v1864_1(void) = EnterFunction : -# 1864| mu1864_2(unknown) = AliasedDefinition : -# 1864| mu1864_3(unknown) = InitializeNonLocal : -# 1864| r1864_4(glval) = VariableAddress[#this] : -# 1864| mu1864_5(glval>) = InitializeParameter[#this] : &:r1864_4 -# 1864| r1864_6(glval>) = Load[#this] : &:r1864_4, ~m? -# 1864| mu1864_7(Bar1) = InitializeIndirection[#this] : &:r1864_6 -# 1864| r1864_8(glval) = VariableAddress[p] : -# 1864| mu1864_9(S *) = InitializeParameter[p] : &:r1864_8 -# 1864| r1864_10(S *) = Load[p] : &:r1864_8, ~m? -# 1864| mu1864_11(unknown) = InitializeIndirection[p] : &:r1864_10 -# 1866| r1866_1(glval) = VariableAddress[#return] : -# 1866| r1866_2(glval) = VariableAddress[p] : -# 1866| r1866_3(S *) = Load[p] : &:r1866_2, ~m? -# 1866| r1866_4(void *) = Convert : r1866_3 -# 1866| mu1866_5(void *) = Store[#return] : &:r1866_1, r1866_4 -# 1864| v1864_12(void) = ReturnIndirection[#this] : &:r1864_6, ~m? -# 1864| v1864_13(void) = ReturnIndirection[p] : &:r1864_10, ~m? -# 1864| r1864_14(glval) = VariableAddress[#return] : -# 1864| v1864_15(void) = ReturnValue : &:r1864_14, ~m? -# 1864| v1864_16(void) = AliasedUse : ~m? -# 1864| v1864_17(void) = ExitFunction : +# 1911| void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) +# 1911| Block 0 +# 1911| v1911_1(void) = EnterFunction : +# 1911| mu1911_2(unknown) = AliasedDefinition : +# 1911| mu1911_3(unknown) = InitializeNonLocal : +# 1911| r1911_4(glval) = VariableAddress[#this] : +# 1911| mu1911_5(glval>) = InitializeParameter[#this] : &:r1911_4 +# 1911| r1911_6(glval>) = Load[#this] : &:r1911_4, ~m? +# 1911| mu1911_7(Bar1) = InitializeIndirection[#this] : &:r1911_6 +# 1911| r1911_8(glval) = VariableAddress[p] : +# 1911| mu1911_9(S *) = InitializeParameter[p] : &:r1911_8 +# 1911| r1911_10(S *) = Load[p] : &:r1911_8, ~m? +# 1911| mu1911_11(unknown) = InitializeIndirection[p] : &:r1911_10 +# 1913| r1913_1(glval) = VariableAddress[#return] : +# 1913| r1913_2(glval) = VariableAddress[p] : +# 1913| r1913_3(S *) = Load[p] : &:r1913_2, ~m? +# 1913| r1913_4(void *) = Convert : r1913_3 +# 1913| mu1913_5(void *) = Store[#return] : &:r1913_1, r1913_4 +# 1911| v1911_12(void) = ReturnIndirection[#this] : &:r1911_6, ~m? +# 1911| v1911_13(void) = ReturnIndirection[p] : &:r1911_10, ~m? +# 1911| r1911_14(glval) = VariableAddress[#return] : +# 1911| v1911_15(void) = ReturnValue : &:r1911_14, ~m? +# 1911| v1911_16(void) = AliasedUse : ~m? +# 1911| v1911_17(void) = ExitFunction : -# 1870| void missing_declaration_entries::test1() -# 1870| Block 0 -# 1870| v1870_1(void) = EnterFunction : -# 1870| mu1870_2(unknown) = AliasedDefinition : -# 1870| mu1870_3(unknown) = InitializeNonLocal : -# 1871| r1871_1(glval>) = VariableAddress[b] : -# 1871| mu1871_2(Bar1) = Uninitialized[b] : &:r1871_1 -# 1872| r1872_1(glval>) = VariableAddress[b] : -# 1872| r1872_2(glval) = FunctionAddress[missing_type_decl_entry] : -# 1872| r1872_3(S *) = Constant[0] : -# 1872| r1872_4(void *) = Call[missing_type_decl_entry] : func:r1872_2, this:r1872_1, 0:r1872_3 -# 1872| mu1872_5(unknown) = ^CallSideEffect : ~m? -# 1872| v1872_6(void) = ^IndirectReadSideEffect[-1] : &:r1872_1, ~m? -# 1872| v1872_7(void) = ^BufferReadSideEffect[0] : &:r1872_3, ~m? -# 1872| mu1872_8(Bar1) = ^IndirectMayWriteSideEffect[-1] : &:r1872_1 -# 1872| mu1872_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1872_3 -# 1873| v1873_1(void) = NoOp : -# 1870| v1870_4(void) = ReturnVoid : -# 1870| v1870_5(void) = AliasedUse : ~m? -# 1870| v1870_6(void) = ExitFunction : +# 1917| void missing_declaration_entries::test1() +# 1917| Block 0 +# 1917| v1917_1(void) = EnterFunction : +# 1917| mu1917_2(unknown) = AliasedDefinition : +# 1917| mu1917_3(unknown) = InitializeNonLocal : +# 1918| r1918_1(glval>) = VariableAddress[b] : +# 1918| mu1918_2(Bar1) = Uninitialized[b] : &:r1918_1 +# 1919| r1919_1(glval>) = VariableAddress[b] : +# 1919| r1919_2(glval) = FunctionAddress[missing_type_decl_entry] : +# 1919| r1919_3(S *) = Constant[0] : +# 1919| r1919_4(void *) = Call[missing_type_decl_entry] : func:r1919_2, this:r1919_1, 0:r1919_3 +# 1919| mu1919_5(unknown) = ^CallSideEffect : ~m? +# 1919| v1919_6(void) = ^IndirectReadSideEffect[-1] : &:r1919_1, ~m? +# 1919| v1919_7(void) = ^BufferReadSideEffect[0] : &:r1919_3, ~m? +# 1919| mu1919_8(Bar1) = ^IndirectMayWriteSideEffect[-1] : &:r1919_1 +# 1919| mu1919_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1919_3 +# 1920| v1920_1(void) = NoOp : +# 1917| v1917_4(void) = ReturnVoid : +# 1917| v1917_5(void) = AliasedUse : ~m? +# 1917| v1917_6(void) = ExitFunction : -# 1877| int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() -# 1877| Block 0 -# 1877| v1877_1(void) = EnterFunction : -# 1877| mu1877_2(unknown) = AliasedDefinition : -# 1877| mu1877_3(unknown) = InitializeNonLocal : -# 1877| r1877_4(glval) = VariableAddress[#this] : -# 1877| mu1877_5(glval>) = InitializeParameter[#this] : &:r1877_4 -# 1877| r1877_6(glval>) = Load[#this] : &:r1877_4, ~m? -# 1877| mu1877_7(Bar2) = InitializeIndirection[#this] : &:r1877_6 -# 1878| r1878_1(glval) = VariableAddress[x] : -# 1878| mu1878_2(int[10]) = Uninitialized[x] : &:r1878_1 -# 1878| r1878_3(glval) = VariableAddress[y] : -# 1878| mu1878_4(int[10]) = Uninitialized[y] : &:r1878_3 -# 1879| r1879_1(int) = Constant[10] : -# 1879| r1879_2(glval) = VariableAddress[x] : -# 1879| r1879_3(int *) = Convert : r1879_2 -# 1879| r1879_4(glval) = CopyValue : r1879_3 -# 1879| mu1879_5(int) = Store[?] : &:r1879_4, r1879_1 -# 1880| r1880_1(int) = Constant[10] : -# 1880| r1880_2(glval) = VariableAddress[y] : -# 1880| r1880_3(int *) = Convert : r1880_2 -# 1880| r1880_4(glval) = CopyValue : r1880_3 -# 1880| mu1880_5(int) = Store[?] : &:r1880_4, r1880_1 -# 1881| r1881_1(glval) = VariableAddress[#return] : -# 1881| r1881_2(glval) = VariableAddress[x] : -# 1881| r1881_3(int *) = Convert : r1881_2 -# 1881| r1881_4(int) = Load[?] : &:r1881_3, ~m? -# 1881| r1881_5(glval) = VariableAddress[y] : -# 1881| r1881_6(int *) = Convert : r1881_5 -# 1881| r1881_7(int) = Load[?] : &:r1881_6, ~m? -# 1881| r1881_8(int) = Add : r1881_4, r1881_7 -# 1881| mu1881_9(int) = Store[#return] : &:r1881_1, r1881_8 -# 1877| v1877_8(void) = ReturnIndirection[#this] : &:r1877_6, ~m? -# 1877| r1877_9(glval) = VariableAddress[#return] : -# 1877| v1877_10(void) = ReturnValue : &:r1877_9, ~m? -# 1877| v1877_11(void) = AliasedUse : ~m? -# 1877| v1877_12(void) = ExitFunction : +# 1924| int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() +# 1924| Block 0 +# 1924| v1924_1(void) = EnterFunction : +# 1924| mu1924_2(unknown) = AliasedDefinition : +# 1924| mu1924_3(unknown) = InitializeNonLocal : +# 1924| r1924_4(glval) = VariableAddress[#this] : +# 1924| mu1924_5(glval>) = InitializeParameter[#this] : &:r1924_4 +# 1924| r1924_6(glval>) = Load[#this] : &:r1924_4, ~m? +# 1924| mu1924_7(Bar2) = InitializeIndirection[#this] : &:r1924_6 +# 1925| r1925_1(glval) = VariableAddress[x] : +# 1925| mu1925_2(int[10]) = Uninitialized[x] : &:r1925_1 +# 1925| r1925_3(glval) = VariableAddress[y] : +# 1925| mu1925_4(int[10]) = Uninitialized[y] : &:r1925_3 +# 1926| r1926_1(int) = Constant[10] : +# 1926| r1926_2(glval) = VariableAddress[x] : +# 1926| r1926_3(int *) = Convert : r1926_2 +# 1926| r1926_4(glval) = CopyValue : r1926_3 +# 1926| mu1926_5(int) = Store[?] : &:r1926_4, r1926_1 +# 1927| r1927_1(int) = Constant[10] : +# 1927| r1927_2(glval) = VariableAddress[y] : +# 1927| r1927_3(int *) = Convert : r1927_2 +# 1927| r1927_4(glval) = CopyValue : r1927_3 +# 1927| mu1927_5(int) = Store[?] : &:r1927_4, r1927_1 +# 1928| r1928_1(glval) = VariableAddress[#return] : +# 1928| r1928_2(glval) = VariableAddress[x] : +# 1928| r1928_3(int *) = Convert : r1928_2 +# 1928| r1928_4(int) = Load[?] : &:r1928_3, ~m? +# 1928| r1928_5(glval) = VariableAddress[y] : +# 1928| r1928_6(int *) = Convert : r1928_5 +# 1928| r1928_7(int) = Load[?] : &:r1928_6, ~m? +# 1928| r1928_8(int) = Add : r1928_4, r1928_7 +# 1928| mu1928_9(int) = Store[#return] : &:r1928_1, r1928_8 +# 1924| v1924_8(void) = ReturnIndirection[#this] : &:r1924_6, ~m? +# 1924| r1924_9(glval) = VariableAddress[#return] : +# 1924| v1924_10(void) = ReturnValue : &:r1924_9, ~m? +# 1924| v1924_11(void) = AliasedUse : ~m? +# 1924| v1924_12(void) = ExitFunction : -# 1885| void missing_declaration_entries::test2() -# 1885| Block 0 -# 1885| v1885_1(void) = EnterFunction : -# 1885| mu1885_2(unknown) = AliasedDefinition : -# 1885| mu1885_3(unknown) = InitializeNonLocal : -# 1886| r1886_1(glval>) = VariableAddress[b] : -# 1886| mu1886_2(Bar2) = Uninitialized[b] : &:r1886_1 -# 1887| r1887_1(glval>) = VariableAddress[b] : -# 1887| r1887_2(glval) = FunctionAddress[two_missing_variable_declaration_entries] : -# 1887| r1887_3(int) = Call[two_missing_variable_declaration_entries] : func:r1887_2, this:r1887_1 -# 1887| mu1887_4(unknown) = ^CallSideEffect : ~m? -# 1887| v1887_5(void) = ^IndirectReadSideEffect[-1] : &:r1887_1, ~m? -# 1887| mu1887_6(Bar2) = ^IndirectMayWriteSideEffect[-1] : &:r1887_1 -# 1888| v1888_1(void) = NoOp : -# 1885| v1885_4(void) = ReturnVoid : -# 1885| v1885_5(void) = AliasedUse : ~m? -# 1885| v1885_6(void) = ExitFunction : +# 1932| void missing_declaration_entries::test2() +# 1932| Block 0 +# 1932| v1932_1(void) = EnterFunction : +# 1932| mu1932_2(unknown) = AliasedDefinition : +# 1932| mu1932_3(unknown) = InitializeNonLocal : +# 1933| r1933_1(glval>) = VariableAddress[b] : +# 1933| mu1933_2(Bar2) = Uninitialized[b] : &:r1933_1 +# 1934| r1934_1(glval>) = VariableAddress[b] : +# 1934| r1934_2(glval) = FunctionAddress[two_missing_variable_declaration_entries] : +# 1934| r1934_3(int) = Call[two_missing_variable_declaration_entries] : func:r1934_2, this:r1934_1 +# 1934| mu1934_4(unknown) = ^CallSideEffect : ~m? +# 1934| v1934_5(void) = ^IndirectReadSideEffect[-1] : &:r1934_1, ~m? +# 1934| mu1934_6(Bar2) = ^IndirectMayWriteSideEffect[-1] : &:r1934_1 +# 1935| v1935_1(void) = NoOp : +# 1932| v1932_4(void) = ReturnVoid : +# 1932| v1932_5(void) = AliasedUse : ~m? +# 1932| v1932_6(void) = ExitFunction : -# 1891| char global_template -# 1891| Block 0 -# 1891| v1891_1(void) = EnterFunction : -# 1891| mu1891_2(unknown) = AliasedDefinition : -# 1891| r1891_3(glval) = VariableAddress[global_template] : -# 1891| r1891_4(char) = Constant[42] : -# 1891| mu1891_5(char) = Store[global_template] : &:r1891_3, r1891_4 -# 1891| v1891_6(void) = ReturnVoid : -# 1891| v1891_7(void) = AliasedUse : ~m? -# 1891| v1891_8(void) = ExitFunction : +# 1938| char global_template +# 1938| Block 0 +# 1938| v1938_1(void) = EnterFunction : +# 1938| mu1938_2(unknown) = AliasedDefinition : +# 1938| r1938_3(glval) = VariableAddress[global_template] : +# 1938| r1938_4(char) = Constant[42] : +# 1938| mu1938_5(char) = Store[global_template] : &:r1938_3, r1938_4 +# 1938| v1938_6(void) = ReturnVoid : +# 1938| v1938_7(void) = AliasedUse : ~m? +# 1938| v1938_8(void) = ExitFunction : -# 1891| int global_template -# 1891| Block 0 -# 1891| v1891_1(void) = EnterFunction : -# 1891| mu1891_2(unknown) = AliasedDefinition : -# 1891| r1891_3(glval) = VariableAddress[global_template] : -# 1891| r1891_4(int) = Constant[42] : -# 1891| mu1891_5(int) = Store[global_template] : &:r1891_3, r1891_4 -# 1891| v1891_6(void) = ReturnVoid : -# 1891| v1891_7(void) = AliasedUse : ~m? -# 1891| v1891_8(void) = ExitFunction : +# 1938| int global_template +# 1938| Block 0 +# 1938| v1938_1(void) = EnterFunction : +# 1938| mu1938_2(unknown) = AliasedDefinition : +# 1938| r1938_3(glval) = VariableAddress[global_template] : +# 1938| r1938_4(int) = Constant[42] : +# 1938| mu1938_5(int) = Store[global_template] : &:r1938_3, r1938_4 +# 1938| v1938_6(void) = ReturnVoid : +# 1938| v1938_7(void) = AliasedUse : ~m? +# 1938| v1938_8(void) = ExitFunction : -# 1893| int test_global_template_int() -# 1893| Block 0 -# 1893| v1893_1(void) = EnterFunction : -# 1893| mu1893_2(unknown) = AliasedDefinition : -# 1893| mu1893_3(unknown) = InitializeNonLocal : -# 1894| r1894_1(glval) = VariableAddress[local_int] : -# 1894| r1894_2(glval) = VariableAddress[global_template] : -# 1894| r1894_3(int) = Load[global_template] : &:r1894_2, ~m? -# 1894| mu1894_4(int) = Store[local_int] : &:r1894_1, r1894_3 -# 1895| r1895_1(glval) = VariableAddress[local_char] : -# 1895| r1895_2(glval) = VariableAddress[global_template] : -# 1895| r1895_3(char) = Load[global_template] : &:r1895_2, ~m? -# 1895| mu1895_4(char) = Store[local_char] : &:r1895_1, r1895_3 -# 1896| r1896_1(glval) = VariableAddress[#return] : -# 1896| r1896_2(glval) = VariableAddress[local_int] : -# 1896| r1896_3(int) = Load[local_int] : &:r1896_2, ~m? -# 1896| r1896_4(glval) = VariableAddress[local_char] : -# 1896| r1896_5(char) = Load[local_char] : &:r1896_4, ~m? -# 1896| r1896_6(int) = Convert : r1896_5 -# 1896| r1896_7(int) = Add : r1896_3, r1896_6 -# 1896| mu1896_8(int) = Store[#return] : &:r1896_1, r1896_7 -# 1893| r1893_4(glval) = VariableAddress[#return] : -# 1893| v1893_5(void) = ReturnValue : &:r1893_4, ~m? -# 1893| v1893_6(void) = AliasedUse : ~m? -# 1893| v1893_7(void) = ExitFunction : +# 1940| int test_global_template_int() +# 1940| Block 0 +# 1940| v1940_1(void) = EnterFunction : +# 1940| mu1940_2(unknown) = AliasedDefinition : +# 1940| mu1940_3(unknown) = InitializeNonLocal : +# 1941| r1941_1(glval) = VariableAddress[local_int] : +# 1941| r1941_2(glval) = VariableAddress[global_template] : +# 1941| r1941_3(int) = Load[global_template] : &:r1941_2, ~m? +# 1941| mu1941_4(int) = Store[local_int] : &:r1941_1, r1941_3 +# 1942| r1942_1(glval) = VariableAddress[local_char] : +# 1942| r1942_2(glval) = VariableAddress[global_template] : +# 1942| r1942_3(char) = Load[global_template] : &:r1942_2, ~m? +# 1942| mu1942_4(char) = Store[local_char] : &:r1942_1, r1942_3 +# 1943| r1943_1(glval) = VariableAddress[#return] : +# 1943| r1943_2(glval) = VariableAddress[local_int] : +# 1943| r1943_3(int) = Load[local_int] : &:r1943_2, ~m? +# 1943| r1943_4(glval) = VariableAddress[local_char] : +# 1943| r1943_5(char) = Load[local_char] : &:r1943_4, ~m? +# 1943| r1943_6(int) = Convert : r1943_5 +# 1943| r1943_7(int) = Add : r1943_3, r1943_6 +# 1943| mu1943_8(int) = Store[#return] : &:r1943_1, r1943_7 +# 1940| r1940_4(glval) = VariableAddress[#return] : +# 1940| v1940_5(void) = ReturnValue : &:r1940_4, ~m? +# 1940| v1940_6(void) = AliasedUse : ~m? +# 1940| v1940_7(void) = ExitFunction : -# 1901| int noreturnTest(int) -# 1901| Block 0 -# 1901| v1901_1(void) = EnterFunction : -# 1901| mu1901_2(unknown) = AliasedDefinition : -# 1901| mu1901_3(unknown) = InitializeNonLocal : -# 1901| r1901_4(glval) = VariableAddress[x] : -# 1901| mu1901_5(int) = InitializeParameter[x] : &:r1901_4 -# 1902| r1902_1(glval) = VariableAddress[x] : -# 1902| r1902_2(int) = Load[x] : &:r1902_1, ~m? -# 1902| r1902_3(int) = Constant[10] : -# 1902| r1902_4(bool) = CompareLT : r1902_2, r1902_3 -# 1902| v1902_5(void) = ConditionalBranch : r1902_4 +# 1948| int noreturnTest(int) +# 1948| Block 0 +# 1948| v1948_1(void) = EnterFunction : +# 1948| mu1948_2(unknown) = AliasedDefinition : +# 1948| mu1948_3(unknown) = InitializeNonLocal : +# 1948| r1948_4(glval) = VariableAddress[x] : +# 1948| mu1948_5(int) = InitializeParameter[x] : &:r1948_4 +# 1949| r1949_1(glval) = VariableAddress[x] : +# 1949| r1949_2(int) = Load[x] : &:r1949_1, ~m? +# 1949| r1949_3(int) = Constant[10] : +# 1949| r1949_4(bool) = CompareLT : r1949_2, r1949_3 +# 1949| v1949_5(void) = ConditionalBranch : r1949_4 #-----| False -> Block 3 #-----| True -> Block 2 -# 1901| Block 1 -# 1901| r1901_6(glval) = VariableAddress[#return] : -# 1901| v1901_7(void) = ReturnValue : &:r1901_6, ~m? -# 1901| v1901_8(void) = AliasedUse : ~m? -# 1901| v1901_9(void) = ExitFunction : +# 1948| Block 1 +# 1948| r1948_6(glval) = VariableAddress[#return] : +# 1948| v1948_7(void) = ReturnValue : &:r1948_6, ~m? +# 1948| v1948_8(void) = AliasedUse : ~m? +# 1948| v1948_9(void) = ExitFunction : -# 1903| Block 2 -# 1903| r1903_1(glval) = VariableAddress[#return] : -# 1903| r1903_2(glval) = VariableAddress[x] : -# 1903| r1903_3(int) = Load[x] : &:r1903_2, ~m? -# 1903| mu1903_4(int) = Store[#return] : &:r1903_1, r1903_3 +# 1950| Block 2 +# 1950| r1950_1(glval) = VariableAddress[#return] : +# 1950| r1950_2(glval) = VariableAddress[x] : +# 1950| r1950_3(int) = Load[x] : &:r1950_2, ~m? +# 1950| mu1950_4(int) = Store[#return] : &:r1950_1, r1950_3 #-----| Goto -> Block 1 -# 1905| Block 3 -# 1905| r1905_1(glval) = FunctionAddress[noreturnFunc] : -# 1905| v1905_2(void) = Call[noreturnFunc] : func:r1905_1 -# 1905| mu1905_3(unknown) = ^CallSideEffect : ~m? -# 1901| v1901_10(void) = Unreached : +# 1952| Block 3 +# 1952| r1952_1(glval) = FunctionAddress[noreturnFunc] : +# 1952| v1952_2(void) = Call[noreturnFunc] : func:r1952_1 +# 1952| mu1952_3(unknown) = ^CallSideEffect : ~m? +# 1948| v1948_10(void) = Unreached : -# 1907| Block 4 -# 1907| r1907_1(glval) = VariableAddress[#return] : -# 1907| mu1907_2(int) = Uninitialized[#return] : &:r1907_1 +# 1954| Block 4 +# 1954| r1954_1(glval) = VariableAddress[#return] : +# 1954| mu1954_2(int) = Uninitialized[#return] : &:r1954_1 #-----| Goto -> Block 1 -# 1909| int noreturnTest2(int) -# 1909| Block 0 -# 1909| v1909_1(void) = EnterFunction : -# 1909| mu1909_2(unknown) = AliasedDefinition : -# 1909| mu1909_3(unknown) = InitializeNonLocal : -# 1909| r1909_4(glval) = VariableAddress[x] : -# 1909| mu1909_5(int) = InitializeParameter[x] : &:r1909_4 -# 1910| r1910_1(glval) = VariableAddress[x] : -# 1910| r1910_2(int) = Load[x] : &:r1910_1, ~m? -# 1910| r1910_3(int) = Constant[10] : -# 1910| r1910_4(bool) = CompareLT : r1910_2, r1910_3 -# 1910| v1910_5(void) = ConditionalBranch : r1910_4 +# 1956| int noreturnTest2(int) +# 1956| Block 0 +# 1956| v1956_1(void) = EnterFunction : +# 1956| mu1956_2(unknown) = AliasedDefinition : +# 1956| mu1956_3(unknown) = InitializeNonLocal : +# 1956| r1956_4(glval) = VariableAddress[x] : +# 1956| mu1956_5(int) = InitializeParameter[x] : &:r1956_4 +# 1957| r1957_1(glval) = VariableAddress[x] : +# 1957| r1957_2(int) = Load[x] : &:r1957_1, ~m? +# 1957| r1957_3(int) = Constant[10] : +# 1957| r1957_4(bool) = CompareLT : r1957_2, r1957_3 +# 1957| v1957_5(void) = ConditionalBranch : r1957_4 #-----| False -> Block 2 #-----| True -> Block 1 -# 1911| Block 1 -# 1911| r1911_1(glval) = FunctionAddress[noreturnFunc] : -# 1911| v1911_2(void) = Call[noreturnFunc] : func:r1911_1 -# 1911| mu1911_3(unknown) = ^CallSideEffect : ~m? -# 1909| v1909_6(void) = Unreached : +# 1958| Block 1 +# 1958| r1958_1(glval) = FunctionAddress[noreturnFunc] : +# 1958| v1958_2(void) = Call[noreturnFunc] : func:r1958_1 +# 1958| mu1958_3(unknown) = ^CallSideEffect : ~m? +# 1956| v1956_6(void) = Unreached : -# 1913| Block 2 -# 1913| r1913_1(glval) = VariableAddress[#return] : -# 1913| r1913_2(glval) = VariableAddress[x] : -# 1913| r1913_3(int) = Load[x] : &:r1913_2, ~m? -# 1913| mu1913_4(int) = Store[#return] : &:r1913_1, r1913_3 -# 1909| r1909_7(glval) = VariableAddress[#return] : -# 1909| v1909_8(void) = ReturnValue : &:r1909_7, ~m? -# 1909| v1909_9(void) = AliasedUse : ~m? -# 1909| v1909_10(void) = ExitFunction : +# 1960| Block 2 +# 1960| r1960_1(glval) = VariableAddress[#return] : +# 1960| r1960_2(glval) = VariableAddress[x] : +# 1960| r1960_3(int) = Load[x] : &:r1960_2, ~m? +# 1960| mu1960_4(int) = Store[#return] : &:r1960_1, r1960_3 +# 1956| r1956_7(glval) = VariableAddress[#return] : +# 1956| v1956_8(void) = ReturnValue : &:r1956_7, ~m? +# 1956| v1956_9(void) = AliasedUse : ~m? +# 1956| v1956_10(void) = ExitFunction : -# 1916| int static_function(int) -# 1916| Block 0 -# 1916| v1916_1(void) = EnterFunction : -# 1916| mu1916_2(unknown) = AliasedDefinition : -# 1916| mu1916_3(unknown) = InitializeNonLocal : -# 1916| r1916_4(glval) = VariableAddress[x] : -# 1916| mu1916_5(int) = InitializeParameter[x] : &:r1916_4 -# 1917| r1917_1(glval) = VariableAddress[#return] : -# 1917| r1917_2(glval) = VariableAddress[x] : -# 1917| r1917_3(int) = Load[x] : &:r1917_2, ~m? -# 1917| mu1917_4(int) = Store[#return] : &:r1917_1, r1917_3 -# 1916| r1916_6(glval) = VariableAddress[#return] : -# 1916| v1916_7(void) = ReturnValue : &:r1916_6, ~m? -# 1916| v1916_8(void) = AliasedUse : ~m? -# 1916| v1916_9(void) = ExitFunction : +# 1963| int static_function(int) +# 1963| Block 0 +# 1963| v1963_1(void) = EnterFunction : +# 1963| mu1963_2(unknown) = AliasedDefinition : +# 1963| mu1963_3(unknown) = InitializeNonLocal : +# 1963| r1963_4(glval) = VariableAddress[x] : +# 1963| mu1963_5(int) = InitializeParameter[x] : &:r1963_4 +# 1964| r1964_1(glval) = VariableAddress[#return] : +# 1964| r1964_2(glval) = VariableAddress[x] : +# 1964| r1964_3(int) = Load[x] : &:r1964_2, ~m? +# 1964| mu1964_4(int) = Store[#return] : &:r1964_1, r1964_3 +# 1963| r1963_6(glval) = VariableAddress[#return] : +# 1963| v1963_7(void) = ReturnValue : &:r1963_6, ~m? +# 1963| v1963_8(void) = AliasedUse : ~m? +# 1963| v1963_9(void) = ExitFunction : -# 1920| void test_static_functions_with_assignments() -# 1920| Block 0 -# 1920| v1920_1(void) = EnterFunction : -# 1920| mu1920_2(unknown) = AliasedDefinition : -# 1920| mu1920_3(unknown) = InitializeNonLocal : -# 1921| r1921_1(glval) = VariableAddress[c] : -# 1921| mu1921_2(C) = Uninitialized[c] : &:r1921_1 -# 1921| r1921_3(glval) = FunctionAddress[C] : -# 1921| v1921_4(void) = Call[C] : func:r1921_3, this:r1921_1 -# 1921| mu1921_5(unknown) = ^CallSideEffect : ~m? -# 1921| mu1921_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r1921_1 -# 1922| r1922_1(glval) = VariableAddress[x] : -# 1922| mu1922_2(int) = Uninitialized[x] : &:r1922_1 -# 1923| r1923_1(glval) = VariableAddress[c] : -# 1923| r1923_2(glval) = FunctionAddress[StaticMemberFunction] : -# 1923| r1923_3(int) = Constant[10] : -# 1923| r1923_4(int) = Call[StaticMemberFunction] : func:r1923_2, 0:r1923_3 -# 1923| mu1923_5(unknown) = ^CallSideEffect : ~m? -# 1923| r1923_6(glval) = VariableAddress[x] : -# 1923| mu1923_7(int) = Store[x] : &:r1923_6, r1923_4 -# 1924| r1924_1(glval) = VariableAddress[y] : -# 1924| mu1924_2(int) = Uninitialized[y] : &:r1924_1 -# 1925| r1925_1(glval) = FunctionAddress[StaticMemberFunction] : -# 1925| r1925_2(int) = Constant[10] : -# 1925| r1925_3(int) = Call[StaticMemberFunction] : func:r1925_1, 0:r1925_2 -# 1925| mu1925_4(unknown) = ^CallSideEffect : ~m? -# 1925| r1925_5(glval) = VariableAddress[y] : -# 1925| mu1925_6(int) = Store[y] : &:r1925_5, r1925_3 -# 1926| r1926_1(glval) = VariableAddress[z] : -# 1926| mu1926_2(int) = Uninitialized[z] : &:r1926_1 -# 1927| r1927_1(glval) = FunctionAddress[static_function] : -# 1927| r1927_2(int) = Constant[10] : -# 1927| r1927_3(int) = Call[static_function] : func:r1927_1, 0:r1927_2 -# 1927| mu1927_4(unknown) = ^CallSideEffect : ~m? -# 1927| r1927_5(glval) = VariableAddress[z] : -# 1927| mu1927_6(int) = Store[z] : &:r1927_5, r1927_3 -# 1928| v1928_1(void) = NoOp : -# 1928| r1928_2(glval) = VariableAddress[c] : -# 1928| r1928_3(glval) = FunctionAddress[~C] : -# 1928| v1928_4(void) = Call[~C] : func:r1928_3, this:r1928_2 -# 1928| mu1928_5(unknown) = ^CallSideEffect : ~m? -# 1928| v1928_6(void) = ^IndirectReadSideEffect[-1] : &:r1928_2, ~m? -# 1928| mu1928_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1928_2 -# 1920| v1920_4(void) = ReturnVoid : -# 1920| v1920_5(void) = AliasedUse : ~m? -# 1920| v1920_6(void) = ExitFunction : +# 1967| void test_static_functions_with_assignments() +# 1967| Block 0 +# 1967| v1967_1(void) = EnterFunction : +# 1967| mu1967_2(unknown) = AliasedDefinition : +# 1967| mu1967_3(unknown) = InitializeNonLocal : +# 1968| r1968_1(glval) = VariableAddress[c] : +# 1968| mu1968_2(C) = Uninitialized[c] : &:r1968_1 +# 1968| r1968_3(glval) = FunctionAddress[C] : +# 1968| v1968_4(void) = Call[C] : func:r1968_3, this:r1968_1 +# 1968| mu1968_5(unknown) = ^CallSideEffect : ~m? +# 1968| mu1968_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r1968_1 +# 1969| r1969_1(glval) = VariableAddress[x] : +# 1969| mu1969_2(int) = Uninitialized[x] : &:r1969_1 +# 1970| r1970_1(glval) = VariableAddress[c] : +# 1970| r1970_2(glval) = FunctionAddress[StaticMemberFunction] : +# 1970| r1970_3(int) = Constant[10] : +# 1970| r1970_4(int) = Call[StaticMemberFunction] : func:r1970_2, 0:r1970_3 +# 1970| mu1970_5(unknown) = ^CallSideEffect : ~m? +# 1970| r1970_6(glval) = VariableAddress[x] : +# 1970| mu1970_7(int) = Store[x] : &:r1970_6, r1970_4 +# 1971| r1971_1(glval) = VariableAddress[y] : +# 1971| mu1971_2(int) = Uninitialized[y] : &:r1971_1 +# 1972| r1972_1(glval) = FunctionAddress[StaticMemberFunction] : +# 1972| r1972_2(int) = Constant[10] : +# 1972| r1972_3(int) = Call[StaticMemberFunction] : func:r1972_1, 0:r1972_2 +# 1972| mu1972_4(unknown) = ^CallSideEffect : ~m? +# 1972| r1972_5(glval) = VariableAddress[y] : +# 1972| mu1972_6(int) = Store[y] : &:r1972_5, r1972_3 +# 1973| r1973_1(glval) = VariableAddress[z] : +# 1973| mu1973_2(int) = Uninitialized[z] : &:r1973_1 +# 1974| r1974_1(glval) = FunctionAddress[static_function] : +# 1974| r1974_2(int) = Constant[10] : +# 1974| r1974_3(int) = Call[static_function] : func:r1974_1, 0:r1974_2 +# 1974| mu1974_4(unknown) = ^CallSideEffect : ~m? +# 1974| r1974_5(glval) = VariableAddress[z] : +# 1974| mu1974_6(int) = Store[z] : &:r1974_5, r1974_3 +# 1975| v1975_1(void) = NoOp : +# 1975| r1975_2(glval) = VariableAddress[c] : +# 1975| r1975_3(glval) = FunctionAddress[~C] : +# 1975| v1975_4(void) = Call[~C] : func:r1975_3, this:r1975_2 +# 1975| mu1975_5(unknown) = ^CallSideEffect : ~m? +# 1975| v1975_6(void) = ^IndirectReadSideEffect[-1] : &:r1975_2, ~m? +# 1975| mu1975_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1975_2 +# 1967| v1967_4(void) = ReturnVoid : +# 1967| v1967_5(void) = AliasedUse : ~m? +# 1967| v1967_6(void) = ExitFunction : -# 1930| void test_double_assign() -# 1930| Block 0 -# 1930| v1930_1(void) = EnterFunction : -# 1930| mu1930_2(unknown) = AliasedDefinition : -# 1930| mu1930_3(unknown) = InitializeNonLocal : -# 1931| r1931_1(glval) = VariableAddress[i] : -# 1931| mu1931_2(int) = Uninitialized[i] : &:r1931_1 -# 1931| r1931_3(glval) = VariableAddress[j] : -# 1931| mu1931_4(int) = Uninitialized[j] : &:r1931_3 -# 1932| r1932_1(int) = Constant[40] : -# 1932| r1932_2(glval) = VariableAddress[j] : -# 1932| mu1932_3(int) = Store[j] : &:r1932_2, r1932_1 -# 1932| r1932_4(int) = Load[j] : &:r1932_2, ~m? -# 1932| r1932_5(glval) = VariableAddress[i] : -# 1932| mu1932_6(int) = Store[i] : &:r1932_5, r1932_4 -# 1933| v1933_1(void) = NoOp : -# 1930| v1930_4(void) = ReturnVoid : -# 1930| v1930_5(void) = AliasedUse : ~m? -# 1930| v1930_6(void) = ExitFunction : +# 1977| void test_double_assign() +# 1977| Block 0 +# 1977| v1977_1(void) = EnterFunction : +# 1977| mu1977_2(unknown) = AliasedDefinition : +# 1977| mu1977_3(unknown) = InitializeNonLocal : +# 1978| r1978_1(glval) = VariableAddress[i] : +# 1978| mu1978_2(int) = Uninitialized[i] : &:r1978_1 +# 1978| r1978_3(glval) = VariableAddress[j] : +# 1978| mu1978_4(int) = Uninitialized[j] : &:r1978_3 +# 1979| r1979_1(int) = Constant[40] : +# 1979| r1979_2(glval) = VariableAddress[j] : +# 1979| mu1979_3(int) = Store[j] : &:r1979_2, r1979_1 +# 1979| r1979_4(int) = Load[j] : &:r1979_2, ~m? +# 1979| r1979_5(glval) = VariableAddress[i] : +# 1979| mu1979_6(int) = Store[i] : &:r1979_5, r1979_4 +# 1980| v1980_1(void) = NoOp : +# 1977| v1977_4(void) = ReturnVoid : +# 1977| v1977_5(void) = AliasedUse : ~m? +# 1977| v1977_6(void) = ExitFunction : -# 1935| void test_assign_with_assign_operation() -# 1935| Block 0 -# 1935| v1935_1(void) = EnterFunction : -# 1935| mu1935_2(unknown) = AliasedDefinition : -# 1935| mu1935_3(unknown) = InitializeNonLocal : -# 1936| r1936_1(glval) = VariableAddress[i] : -# 1936| mu1936_2(int) = Uninitialized[i] : &:r1936_1 -# 1936| r1936_3(glval) = VariableAddress[j] : -# 1936| r1936_4(int) = Constant[0] : -# 1936| mu1936_5(int) = Store[j] : &:r1936_3, r1936_4 -# 1937| r1937_1(int) = Constant[40] : -# 1937| r1937_2(glval) = VariableAddress[j] : -# 1937| r1937_3(int) = Load[j] : &:r1937_2, ~m? -# 1937| r1937_4(int) = Add : r1937_3, r1937_1 -# 1937| mu1937_5(int) = Store[j] : &:r1937_2, r1937_4 -# 1937| r1937_6(int) = Load[j] : &:r1937_2, ~m? -# 1937| r1937_7(glval) = VariableAddress[i] : -# 1937| mu1937_8(int) = Store[i] : &:r1937_7, r1937_6 -# 1938| v1938_1(void) = NoOp : -# 1935| v1935_4(void) = ReturnVoid : -# 1935| v1935_5(void) = AliasedUse : ~m? -# 1935| v1935_6(void) = ExitFunction : +# 1982| void test_assign_with_assign_operation() +# 1982| Block 0 +# 1982| v1982_1(void) = EnterFunction : +# 1982| mu1982_2(unknown) = AliasedDefinition : +# 1982| mu1982_3(unknown) = InitializeNonLocal : +# 1983| r1983_1(glval) = VariableAddress[i] : +# 1983| mu1983_2(int) = Uninitialized[i] : &:r1983_1 +# 1983| r1983_3(glval) = VariableAddress[j] : +# 1983| r1983_4(int) = Constant[0] : +# 1983| mu1983_5(int) = Store[j] : &:r1983_3, r1983_4 +# 1984| r1984_1(int) = Constant[40] : +# 1984| r1984_2(glval) = VariableAddress[j] : +# 1984| r1984_3(int) = Load[j] : &:r1984_2, ~m? +# 1984| r1984_4(int) = Add : r1984_3, r1984_1 +# 1984| mu1984_5(int) = Store[j] : &:r1984_2, r1984_4 +# 1984| r1984_6(int) = Load[j] : &:r1984_2, ~m? +# 1984| r1984_7(glval) = VariableAddress[i] : +# 1984| mu1984_8(int) = Store[i] : &:r1984_7, r1984_6 +# 1985| v1985_1(void) = NoOp : +# 1982| v1982_4(void) = ReturnVoid : +# 1982| v1982_5(void) = AliasedUse : ~m? +# 1982| v1982_6(void) = ExitFunction : -# 1944| D& D::ReferenceStaticMemberFunction() -# 1944| Block 0 -# 1944| v1944_1(void) = EnterFunction : -# 1944| mu1944_2(unknown) = AliasedDefinition : -# 1944| mu1944_3(unknown) = InitializeNonLocal : -# 1945| r1945_1(glval) = VariableAddress[#return] : -# 1945| r1945_2(glval) = VariableAddress[x] : -# 1945| r1945_3(D &) = CopyValue : r1945_2 -# 1945| mu1945_4(D &) = Store[#return] : &:r1945_1, r1945_3 -# 1944| r1944_4(glval) = VariableAddress[#return] : -# 1944| v1944_5(void) = ReturnValue : &:r1944_4, ~m? -# 1944| v1944_6(void) = AliasedUse : ~m? -# 1944| v1944_7(void) = ExitFunction : +# 1991| D& D::ReferenceStaticMemberFunction() +# 1991| Block 0 +# 1991| v1991_1(void) = EnterFunction : +# 1991| mu1991_2(unknown) = AliasedDefinition : +# 1991| mu1991_3(unknown) = InitializeNonLocal : +# 1992| r1992_1(glval) = VariableAddress[#return] : +# 1992| r1992_2(glval) = VariableAddress[x] : +# 1992| r1992_3(D &) = CopyValue : r1992_2 +# 1992| mu1992_4(D &) = Store[#return] : &:r1992_1, r1992_3 +# 1991| r1991_4(glval) = VariableAddress[#return] : +# 1991| v1991_5(void) = ReturnValue : &:r1991_4, ~m? +# 1991| v1991_6(void) = AliasedUse : ~m? +# 1991| v1991_7(void) = ExitFunction : -# 1947| D D::ObjectStaticMemberFunction() -# 1947| Block 0 -# 1947| v1947_1(void) = EnterFunction : -# 1947| mu1947_2(unknown) = AliasedDefinition : -# 1947| mu1947_3(unknown) = InitializeNonLocal : -# 1948| r1948_1(glval) = VariableAddress[#return] : -# 1948| r1948_2(glval) = VariableAddress[x] : -# 1948| r1948_3(D) = Load[x] : &:r1948_2, ~m? -# 1948| mu1948_4(D) = Store[#return] : &:r1948_1, r1948_3 -# 1947| r1947_4(glval) = VariableAddress[#return] : -# 1947| v1947_5(void) = ReturnValue : &:r1947_4, ~m? -# 1947| v1947_6(void) = AliasedUse : ~m? -# 1947| v1947_7(void) = ExitFunction : +# 1994| D D::ObjectStaticMemberFunction() +# 1994| Block 0 +# 1994| v1994_1(void) = EnterFunction : +# 1994| mu1994_2(unknown) = AliasedDefinition : +# 1994| mu1994_3(unknown) = InitializeNonLocal : +# 1995| r1995_1(glval) = VariableAddress[#return] : +# 1995| r1995_2(glval) = VariableAddress[x] : +# 1995| r1995_3(D) = Load[x] : &:r1995_2, ~m? +# 1995| mu1995_4(D) = Store[#return] : &:r1995_1, r1995_3 +# 1994| r1994_4(glval) = VariableAddress[#return] : +# 1994| v1994_5(void) = ReturnValue : &:r1994_4, ~m? +# 1994| v1994_6(void) = AliasedUse : ~m? +# 1994| v1994_7(void) = ExitFunction : -# 1952| void test_static_member_functions_with_reference_return() -# 1952| Block 0 -# 1952| v1952_1(void) = EnterFunction : -# 1952| mu1952_2(unknown) = AliasedDefinition : -# 1952| mu1952_3(unknown) = InitializeNonLocal : -# 1953| r1953_1(glval) = VariableAddress[d] : -# 1953| mu1953_2(D) = Uninitialized[d] : &:r1953_1 -# 1955| r1955_1(glval) = VariableAddress[d] : -# 1955| r1955_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1955| r1955_3(D &) = Call[ReferenceStaticMemberFunction] : func:r1955_2 -# 1955| mu1955_4(unknown) = ^CallSideEffect : ~m? -# 1955| r1955_5(glval) = CopyValue : r1955_3 -# 1956| r1956_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1956| r1956_2(D &) = Call[ReferenceStaticMemberFunction] : func:r1956_1 -# 1956| mu1956_3(unknown) = ^CallSideEffect : ~m? -# 1956| r1956_4(glval) = CopyValue : r1956_2 -# 1957| r1957_1(glval) = VariableAddress[d] : -# 1957| r1957_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1957| r1957_3(D) = Call[ObjectStaticMemberFunction] : func:r1957_2 -# 1957| mu1957_4(unknown) = ^CallSideEffect : ~m? -# 1958| r1958_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1958| r1958_2(D) = Call[ObjectStaticMemberFunction] : func:r1958_1 -# 1958| mu1958_3(unknown) = ^CallSideEffect : ~m? -# 1960| r1960_1(glval) = VariableAddress[x] : -# 1960| mu1960_2(D) = Uninitialized[x] : &:r1960_1 -# 1961| r1961_1(glval) = VariableAddress[d] : -# 1961| r1961_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1961| r1961_3(D &) = Call[ReferenceStaticMemberFunction] : func:r1961_2 -# 1961| mu1961_4(unknown) = ^CallSideEffect : ~m? -# 1961| r1961_5(D) = Load[?] : &:r1961_3, ~m? -# 1961| r1961_6(glval) = VariableAddress[x] : -# 1961| mu1961_7(D) = Store[x] : &:r1961_6, r1961_5 -# 1962| r1962_1(glval) = VariableAddress[y] : -# 1962| mu1962_2(D) = Uninitialized[y] : &:r1962_1 -# 1963| r1963_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1963| r1963_2(D &) = Call[ReferenceStaticMemberFunction] : func:r1963_1 -# 1963| mu1963_3(unknown) = ^CallSideEffect : ~m? -# 1963| r1963_4(D) = Load[?] : &:r1963_2, ~m? -# 1963| r1963_5(glval) = VariableAddress[y] : -# 1963| mu1963_6(D) = Store[y] : &:r1963_5, r1963_4 -# 1964| r1964_1(glval) = VariableAddress[j] : -# 1964| mu1964_2(D) = Uninitialized[j] : &:r1964_1 -# 1965| r1965_1(glval) = VariableAddress[d] : -# 1965| r1965_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1965| r1965_3(D) = Call[ObjectStaticMemberFunction] : func:r1965_2 -# 1965| mu1965_4(unknown) = ^CallSideEffect : ~m? -# 1965| r1965_5(glval) = VariableAddress[j] : -# 1965| mu1965_6(D) = Store[j] : &:r1965_5, r1965_3 -# 1966| r1966_1(glval) = VariableAddress[k] : -# 1966| mu1966_2(D) = Uninitialized[k] : &:r1966_1 -# 1967| r1967_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1967| r1967_2(D) = Call[ObjectStaticMemberFunction] : func:r1967_1 -# 1967| mu1967_3(unknown) = ^CallSideEffect : ~m? -# 1967| r1967_4(glval) = VariableAddress[k] : -# 1967| mu1967_5(D) = Store[k] : &:r1967_4, r1967_2 -# 1968| v1968_1(void) = NoOp : -# 1952| v1952_4(void) = ReturnVoid : -# 1952| v1952_5(void) = AliasedUse : ~m? -# 1952| v1952_6(void) = ExitFunction : +# 1999| void test_static_member_functions_with_reference_return() +# 1999| Block 0 +# 1999| v1999_1(void) = EnterFunction : +# 1999| mu1999_2(unknown) = AliasedDefinition : +# 1999| mu1999_3(unknown) = InitializeNonLocal : +# 2000| r2000_1(glval) = VariableAddress[d] : +# 2000| mu2000_2(D) = Uninitialized[d] : &:r2000_1 +# 2002| r2002_1(glval) = VariableAddress[d] : +# 2002| r2002_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2002| r2002_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2002_2 +# 2002| mu2002_4(unknown) = ^CallSideEffect : ~m? +# 2002| r2002_5(glval) = CopyValue : r2002_3 +# 2003| r2003_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2003| r2003_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2003_1 +# 2003| mu2003_3(unknown) = ^CallSideEffect : ~m? +# 2003| r2003_4(glval) = CopyValue : r2003_2 +# 2004| r2004_1(glval) = VariableAddress[d] : +# 2004| r2004_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2004| r2004_3(D) = Call[ObjectStaticMemberFunction] : func:r2004_2 +# 2004| mu2004_4(unknown) = ^CallSideEffect : ~m? +# 2005| r2005_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2005| r2005_2(D) = Call[ObjectStaticMemberFunction] : func:r2005_1 +# 2005| mu2005_3(unknown) = ^CallSideEffect : ~m? +# 2007| r2007_1(glval) = VariableAddress[x] : +# 2007| mu2007_2(D) = Uninitialized[x] : &:r2007_1 +# 2008| r2008_1(glval) = VariableAddress[d] : +# 2008| r2008_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2008| r2008_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2008_2 +# 2008| mu2008_4(unknown) = ^CallSideEffect : ~m? +# 2008| r2008_5(D) = Load[?] : &:r2008_3, ~m? +# 2008| r2008_6(glval) = VariableAddress[x] : +# 2008| mu2008_7(D) = Store[x] : &:r2008_6, r2008_5 +# 2009| r2009_1(glval) = VariableAddress[y] : +# 2009| mu2009_2(D) = Uninitialized[y] : &:r2009_1 +# 2010| r2010_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2010| r2010_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2010_1 +# 2010| mu2010_3(unknown) = ^CallSideEffect : ~m? +# 2010| r2010_4(D) = Load[?] : &:r2010_2, ~m? +# 2010| r2010_5(glval) = VariableAddress[y] : +# 2010| mu2010_6(D) = Store[y] : &:r2010_5, r2010_4 +# 2011| r2011_1(glval) = VariableAddress[j] : +# 2011| mu2011_2(D) = Uninitialized[j] : &:r2011_1 +# 2012| r2012_1(glval) = VariableAddress[d] : +# 2012| r2012_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2012| r2012_3(D) = Call[ObjectStaticMemberFunction] : func:r2012_2 +# 2012| mu2012_4(unknown) = ^CallSideEffect : ~m? +# 2012| r2012_5(glval) = VariableAddress[j] : +# 2012| mu2012_6(D) = Store[j] : &:r2012_5, r2012_3 +# 2013| r2013_1(glval) = VariableAddress[k] : +# 2013| mu2013_2(D) = Uninitialized[k] : &:r2013_1 +# 2014| r2014_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2014| r2014_2(D) = Call[ObjectStaticMemberFunction] : func:r2014_1 +# 2014| mu2014_3(unknown) = ^CallSideEffect : ~m? +# 2014| r2014_4(glval) = VariableAddress[k] : +# 2014| mu2014_5(D) = Store[k] : &:r2014_4, r2014_2 +# 2015| v2015_1(void) = NoOp : +# 1999| v1999_4(void) = ReturnVoid : +# 1999| v1999_5(void) = AliasedUse : ~m? +# 1999| v1999_6(void) = ExitFunction : -# 1970| void test_volatile() -# 1970| Block 0 -# 1970| v1970_1(void) = EnterFunction : -# 1970| mu1970_2(unknown) = AliasedDefinition : -# 1970| mu1970_3(unknown) = InitializeNonLocal : -# 1971| r1971_1(glval) = VariableAddress[x] : -# 1971| mu1971_2(int) = Uninitialized[x] : &:r1971_1 -# 1972| r1972_1(glval) = VariableAddress[x] : -# 1972| r1972_2(int) = Load[x] : &:r1972_1, ~m? -# 1973| v1973_1(void) = NoOp : -# 1970| v1970_4(void) = ReturnVoid : -# 1970| v1970_5(void) = AliasedUse : ~m? -# 1970| v1970_6(void) = ExitFunction : +# 2017| void test_volatile() +# 2017| Block 0 +# 2017| v2017_1(void) = EnterFunction : +# 2017| mu2017_2(unknown) = AliasedDefinition : +# 2017| mu2017_3(unknown) = InitializeNonLocal : +# 2018| r2018_1(glval) = VariableAddress[x] : +# 2018| mu2018_2(int) = Uninitialized[x] : &:r2018_1 +# 2019| r2019_1(glval) = VariableAddress[x] : +# 2019| r2019_2(int) = Load[x] : &:r2019_1, ~m? +# 2020| v2020_1(void) = NoOp : +# 2017| v2017_4(void) = ReturnVoid : +# 2017| v2017_5(void) = AliasedUse : ~m? +# 2017| v2017_6(void) = ExitFunction : -# 1981| void value_category_test() -# 1981| Block 0 -# 1981| v1981_1(void) = EnterFunction : -# 1981| mu1981_2(unknown) = AliasedDefinition : -# 1981| mu1981_3(unknown) = InitializeNonLocal : -# 1982| r1982_1(glval) = VariableAddress[c] : -# 1982| mu1982_2(ValCat) = Uninitialized[c] : &:r1982_1 +# 2028| void value_category_test() +# 2028| Block 0 +# 2028| v2028_1(void) = EnterFunction : +# 2028| mu2028_2(unknown) = AliasedDefinition : +# 2028| mu2028_3(unknown) = InitializeNonLocal : +# 2029| r2029_1(glval) = VariableAddress[c] : +# 2029| mu2029_2(ValCat) = Uninitialized[c] : &:r2029_1 #-----| r0_1(glval) = VariableAddress[#temp0:0] : #-----| mu0_2(ValCat) = Uninitialized[#temp0:0] : &:r0_1 #-----| r0_3(ValCat) = Load[#temp0:0] : &:r0_1, ~m? -# 1984| r1984_1(glval) = VariableAddress[c] : -# 1984| r1984_2(glval) = FunctionAddress[lvalue] : -# 1984| r1984_3(ValCat &) = Call[lvalue] : func:r1984_2 -# 1984| mu1984_4(unknown) = ^CallSideEffect : ~m? -# 1984| r1984_5(glval) = CopyValue : r1984_3 -# 1984| mu1984_6(ValCat) = Store[?] : &:r1984_5, r0_3 +# 2031| r2031_1(glval) = VariableAddress[c] : +# 2031| r2031_2(glval) = FunctionAddress[lvalue] : +# 2031| r2031_3(ValCat &) = Call[lvalue] : func:r2031_2 +# 2031| mu2031_4(unknown) = ^CallSideEffect : ~m? +# 2031| r2031_5(glval) = CopyValue : r2031_3 +# 2031| mu2031_6(ValCat) = Store[?] : &:r2031_5, r0_3 #-----| r0_4(glval) = VariableAddress[#temp0:0] : #-----| mu0_5(ValCat) = Uninitialized[#temp0:0] : &:r0_4 #-----| r0_6(ValCat) = Load[#temp0:0] : &:r0_4, ~m? -# 1985| r1985_1(glval) = VariableAddress[c] : -# 1985| r1985_2(glval) = FunctionAddress[xvalue] : -# 1985| r1985_3(ValCat &&) = Call[xvalue] : func:r1985_2 -# 1985| mu1985_4(unknown) = ^CallSideEffect : ~m? -# 1985| r1985_5(glval) = CopyValue : r1985_3 -# 1985| mu1985_6(ValCat) = Store[?] : &:r1985_5, r0_6 +# 2032| r2032_1(glval) = VariableAddress[c] : +# 2032| r2032_2(glval) = FunctionAddress[xvalue] : +# 2032| r2032_3(ValCat &&) = Call[xvalue] : func:r2032_2 +# 2032| mu2032_4(unknown) = ^CallSideEffect : ~m? +# 2032| r2032_5(glval) = CopyValue : r2032_3 +# 2032| mu2032_6(ValCat) = Store[?] : &:r2032_5, r0_6 #-----| r0_7(glval) = VariableAddress[#temp0:0] : #-----| mu0_8(ValCat) = Uninitialized[#temp0:0] : &:r0_7 #-----| r0_9(ValCat) = Load[#temp0:0] : &:r0_7, ~m? -# 1986| r1986_1(glval) = VariableAddress[#temp1986:5] : -# 1986| r1986_2(glval) = VariableAddress[c] : -# 1986| r1986_3(glval) = FunctionAddress[prvalue] : -# 1986| r1986_4(ValCat) = Call[prvalue] : func:r1986_3 -# 1986| mu1986_5(unknown) = ^CallSideEffect : ~m? -# 1986| mu1986_6(ValCat) = Store[#temp1986:5] : &:r1986_1, r1986_4 -# 1986| mu1986_7(ValCat) = Store[#temp1986:5] : &:r1986_1, r0_9 +# 2033| r2033_1(glval) = VariableAddress[#temp2033:5] : +# 2033| r2033_2(glval) = VariableAddress[c] : +# 2033| r2033_3(glval) = FunctionAddress[prvalue] : +# 2033| r2033_4(ValCat) = Call[prvalue] : func:r2033_3 +# 2033| mu2033_5(unknown) = ^CallSideEffect : ~m? +# 2033| mu2033_6(ValCat) = Store[#temp2033:5] : &:r2033_1, r2033_4 +# 2033| mu2033_7(ValCat) = Store[#temp2033:5] : &:r2033_1, r0_9 #-----| r0_10(glval) = VariableAddress[#temp0:0] : #-----| mu0_11(ValCat) = Uninitialized[#temp0:0] : &:r0_10 #-----| r0_12(ValCat) = Load[#temp0:0] : &:r0_10, ~m? -# 1987| r1987_1(glval) = FunctionAddress[lvalue] : -# 1987| r1987_2(ValCat &) = Call[lvalue] : func:r1987_1 -# 1987| mu1987_3(unknown) = ^CallSideEffect : ~m? -# 1987| r1987_4(glval) = CopyValue : r1987_2 -# 1987| mu1987_5(ValCat) = Store[?] : &:r1987_4, r0_12 +# 2034| r2034_1(glval) = FunctionAddress[lvalue] : +# 2034| r2034_2(ValCat &) = Call[lvalue] : func:r2034_1 +# 2034| mu2034_3(unknown) = ^CallSideEffect : ~m? +# 2034| r2034_4(glval) = CopyValue : r2034_2 +# 2034| mu2034_5(ValCat) = Store[?] : &:r2034_4, r0_12 #-----| r0_13(glval) = VariableAddress[#temp0:0] : #-----| mu0_14(ValCat) = Uninitialized[#temp0:0] : &:r0_13 #-----| r0_15(ValCat) = Load[#temp0:0] : &:r0_13, ~m? -# 1988| r1988_1(glval) = FunctionAddress[xvalue] : -# 1988| r1988_2(ValCat &&) = Call[xvalue] : func:r1988_1 -# 1988| mu1988_3(unknown) = ^CallSideEffect : ~m? -# 1988| r1988_4(glval) = CopyValue : r1988_2 -# 1988| mu1988_5(ValCat) = Store[?] : &:r1988_4, r0_15 +# 2035| r2035_1(glval) = FunctionAddress[xvalue] : +# 2035| r2035_2(ValCat &&) = Call[xvalue] : func:r2035_1 +# 2035| mu2035_3(unknown) = ^CallSideEffect : ~m? +# 2035| r2035_4(glval) = CopyValue : r2035_2 +# 2035| mu2035_5(ValCat) = Store[?] : &:r2035_4, r0_15 #-----| r0_16(glval) = VariableAddress[#temp0:0] : #-----| mu0_17(ValCat) = Uninitialized[#temp0:0] : &:r0_16 #-----| r0_18(ValCat) = Load[#temp0:0] : &:r0_16, ~m? -# 1989| r1989_1(glval) = VariableAddress[#temp1989:5] : -# 1989| r1989_2(glval) = FunctionAddress[prvalue] : -# 1989| r1989_3(ValCat) = Call[prvalue] : func:r1989_2 -# 1989| mu1989_4(unknown) = ^CallSideEffect : ~m? -# 1989| mu1989_5(ValCat) = Store[#temp1989:5] : &:r1989_1, r1989_3 -# 1989| mu1989_6(ValCat) = Store[#temp1989:5] : &:r1989_1, r0_18 -# 1990| v1990_1(void) = NoOp : -# 1981| v1981_4(void) = ReturnVoid : -# 1981| v1981_5(void) = AliasedUse : ~m? -# 1981| v1981_6(void) = ExitFunction : +# 2036| r2036_1(glval) = VariableAddress[#temp2036:5] : +# 2036| r2036_2(glval) = FunctionAddress[prvalue] : +# 2036| r2036_3(ValCat) = Call[prvalue] : func:r2036_2 +# 2036| mu2036_4(unknown) = ^CallSideEffect : ~m? +# 2036| mu2036_5(ValCat) = Store[#temp2036:5] : &:r2036_1, r2036_3 +# 2036| mu2036_6(ValCat) = Store[#temp2036:5] : &:r2036_1, r0_18 +# 2037| v2037_1(void) = NoOp : +# 2028| v2028_4(void) = ReturnVoid : +# 2028| v2028_5(void) = AliasedUse : ~m? +# 2028| v2028_6(void) = ExitFunction : -# 1992| void SetStaticFuncPtr() -# 1992| Block 0 -# 1992| v1992_1(void) = EnterFunction : -# 1992| mu1992_2(unknown) = AliasedDefinition : -# 1992| mu1992_3(unknown) = InitializeNonLocal : -# 1993| r1993_1(glval) = VariableAddress[c] : -# 1993| mu1993_2(C) = Uninitialized[c] : &:r1993_1 -# 1993| r1993_3(glval) = FunctionAddress[C] : -# 1993| v1993_4(void) = Call[C] : func:r1993_3, this:r1993_1 -# 1993| mu1993_5(unknown) = ^CallSideEffect : ~m? -# 1993| mu1993_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r1993_1 -# 1994| r1994_1(glval<..(*)(..)>) = VariableAddress[pfn] : -# 1994| r1994_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : -# 1994| mu1994_3(..(*)(..)) = Store[pfn] : &:r1994_1, r1994_2 -# 1995| r1995_1(glval) = VariableAddress[c] : -# 1995| r1995_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : -# 1995| r1995_3(glval<..(*)(..)>) = VariableAddress[pfn] : -# 1995| mu1995_4(..(*)(..)) = Store[pfn] : &:r1995_3, r1995_2 -# 1996| v1996_1(void) = NoOp : -# 1996| r1996_2(glval) = VariableAddress[c] : -# 1996| r1996_3(glval) = FunctionAddress[~C] : -# 1996| v1996_4(void) = Call[~C] : func:r1996_3, this:r1996_2 -# 1996| mu1996_5(unknown) = ^CallSideEffect : ~m? -# 1996| v1996_6(void) = ^IndirectReadSideEffect[-1] : &:r1996_2, ~m? -# 1996| mu1996_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1996_2 -# 1992| v1992_4(void) = ReturnVoid : -# 1992| v1992_5(void) = AliasedUse : ~m? -# 1992| v1992_6(void) = ExitFunction : +# 2039| void SetStaticFuncPtr() +# 2039| Block 0 +# 2039| v2039_1(void) = EnterFunction : +# 2039| mu2039_2(unknown) = AliasedDefinition : +# 2039| mu2039_3(unknown) = InitializeNonLocal : +# 2040| r2040_1(glval) = VariableAddress[c] : +# 2040| mu2040_2(C) = Uninitialized[c] : &:r2040_1 +# 2040| r2040_3(glval) = FunctionAddress[C] : +# 2040| v2040_4(void) = Call[C] : func:r2040_3, this:r2040_1 +# 2040| mu2040_5(unknown) = ^CallSideEffect : ~m? +# 2040| mu2040_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r2040_1 +# 2041| r2041_1(glval<..(*)(..)>) = VariableAddress[pfn] : +# 2041| r2041_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : +# 2041| mu2041_3(..(*)(..)) = Store[pfn] : &:r2041_1, r2041_2 +# 2042| r2042_1(glval) = VariableAddress[c] : +# 2042| r2042_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : +# 2042| r2042_3(glval<..(*)(..)>) = VariableAddress[pfn] : +# 2042| mu2042_4(..(*)(..)) = Store[pfn] : &:r2042_3, r2042_2 +# 2043| v2043_1(void) = NoOp : +# 2043| r2043_2(glval) = VariableAddress[c] : +# 2043| r2043_3(glval) = FunctionAddress[~C] : +# 2043| v2043_4(void) = Call[~C] : func:r2043_3, this:r2043_2 +# 2043| mu2043_5(unknown) = ^CallSideEffect : ~m? +# 2043| v2043_6(void) = ^IndirectReadSideEffect[-1] : &:r2043_2, ~m? +# 2043| mu2043_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r2043_2 +# 2039| v2039_4(void) = ReturnVoid : +# 2039| v2039_5(void) = AliasedUse : ~m? +# 2039| v2039_6(void) = ExitFunction : -# 1998| void TernaryTestInt(bool, int, int, int) -# 1998| Block 0 -# 1998| v1998_1(void) = EnterFunction : -# 1998| mu1998_2(unknown) = AliasedDefinition : -# 1998| mu1998_3(unknown) = InitializeNonLocal : -# 1998| r1998_4(glval) = VariableAddress[a] : -# 1998| mu1998_5(bool) = InitializeParameter[a] : &:r1998_4 -# 1998| r1998_6(glval) = VariableAddress[x] : -# 1998| mu1998_7(int) = InitializeParameter[x] : &:r1998_6 -# 1998| r1998_8(glval) = VariableAddress[y] : -# 1998| mu1998_9(int) = InitializeParameter[y] : &:r1998_8 -# 1998| r1998_10(glval) = VariableAddress[z] : -# 1998| mu1998_11(int) = InitializeParameter[z] : &:r1998_10 -# 1999| r1999_1(glval) = VariableAddress[a] : -# 1999| r1999_2(bool) = Load[a] : &:r1999_1, ~m? -# 1999| v1999_3(void) = ConditionalBranch : r1999_2 +# 2045| void TernaryTestInt(bool, int, int, int) +# 2045| Block 0 +# 2045| v2045_1(void) = EnterFunction : +# 2045| mu2045_2(unknown) = AliasedDefinition : +# 2045| mu2045_3(unknown) = InitializeNonLocal : +# 2045| r2045_4(glval) = VariableAddress[a] : +# 2045| mu2045_5(bool) = InitializeParameter[a] : &:r2045_4 +# 2045| r2045_6(glval) = VariableAddress[x] : +# 2045| mu2045_7(int) = InitializeParameter[x] : &:r2045_6 +# 2045| r2045_8(glval) = VariableAddress[y] : +# 2045| mu2045_9(int) = InitializeParameter[y] : &:r2045_8 +# 2045| r2045_10(glval) = VariableAddress[z] : +# 2045| mu2045_11(int) = InitializeParameter[z] : &:r2045_10 +# 2046| r2046_1(glval) = VariableAddress[a] : +# 2046| r2046_2(bool) = Load[a] : &:r2046_1, ~m? +# 2046| v2046_3(void) = ConditionalBranch : r2046_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 1999| Block 1 -# 1999| r1999_4(glval) = VariableAddress[#temp1999:9] : -# 1999| r1999_5(int) = Load[#temp1999:9] : &:r1999_4, ~m? -# 1999| r1999_6(glval) = VariableAddress[z] : -# 1999| mu1999_7(int) = Store[z] : &:r1999_6, r1999_5 -# 2000| r2000_1(glval) = VariableAddress[a] : -# 2000| r2000_2(bool) = Load[a] : &:r2000_1, ~m? -# 2000| v2000_3(void) = ConditionalBranch : r2000_2 +# 2046| Block 1 +# 2046| r2046_4(glval) = VariableAddress[#temp2046:9] : +# 2046| r2046_5(int) = Load[#temp2046:9] : &:r2046_4, ~m? +# 2046| r2046_6(glval) = VariableAddress[z] : +# 2046| mu2046_7(int) = Store[z] : &:r2046_6, r2046_5 +# 2047| r2047_1(glval) = VariableAddress[a] : +# 2047| r2047_2(bool) = Load[a] : &:r2047_1, ~m? +# 2047| v2047_3(void) = ConditionalBranch : r2047_2 #-----| False -> Block 6 #-----| True -> Block 5 -# 1999| Block 2 -# 1999| r1999_8(glval) = VariableAddress[x] : -# 1999| r1999_9(int) = Load[x] : &:r1999_8, ~m? -# 1999| r1999_10(glval) = VariableAddress[#temp1999:9] : -# 1999| mu1999_11(int) = Store[#temp1999:9] : &:r1999_10, r1999_9 +# 2046| Block 2 +# 2046| r2046_8(glval) = VariableAddress[x] : +# 2046| r2046_9(int) = Load[x] : &:r2046_8, ~m? +# 2046| r2046_10(glval) = VariableAddress[#temp2046:9] : +# 2046| mu2046_11(int) = Store[#temp2046:9] : &:r2046_10, r2046_9 #-----| Goto -> Block 1 -# 1999| Block 3 -# 1999| r1999_12(glval) = VariableAddress[y] : -# 1999| r1999_13(int) = Load[y] : &:r1999_12, ~m? -# 1999| r1999_14(glval) = VariableAddress[#temp1999:9] : -# 1999| mu1999_15(int) = Store[#temp1999:9] : &:r1999_14, r1999_13 +# 2046| Block 3 +# 2046| r2046_12(glval) = VariableAddress[y] : +# 2046| r2046_13(int) = Load[y] : &:r2046_12, ~m? +# 2046| r2046_14(glval) = VariableAddress[#temp2046:9] : +# 2046| mu2046_15(int) = Store[#temp2046:9] : &:r2046_14, r2046_13 #-----| Goto -> Block 1 -# 2000| Block 4 -# 2000| r2000_4(glval) = VariableAddress[#temp2000:9] : -# 2000| r2000_5(int) = Load[#temp2000:9] : &:r2000_4, ~m? -# 2000| r2000_6(glval) = VariableAddress[z] : -# 2000| mu2000_7(int) = Store[z] : &:r2000_6, r2000_5 -# 2001| r2001_1(glval) = VariableAddress[a] : -# 2001| r2001_2(bool) = Load[a] : &:r2001_1, ~m? -# 2001| v2001_3(void) = ConditionalBranch : r2001_2 +# 2047| Block 4 +# 2047| r2047_4(glval) = VariableAddress[#temp2047:9] : +# 2047| r2047_5(int) = Load[#temp2047:9] : &:r2047_4, ~m? +# 2047| r2047_6(glval) = VariableAddress[z] : +# 2047| mu2047_7(int) = Store[z] : &:r2047_6, r2047_5 +# 2048| r2048_1(glval) = VariableAddress[a] : +# 2048| r2048_2(bool) = Load[a] : &:r2048_1, ~m? +# 2048| v2048_3(void) = ConditionalBranch : r2048_2 #-----| False -> Block 9 #-----| True -> Block 8 -# 2000| Block 5 -# 2000| r2000_8(glval) = VariableAddress[x] : -# 2000| r2000_9(int) = Load[x] : &:r2000_8, ~m? -# 2000| r2000_10(glval) = VariableAddress[#temp2000:9] : -# 2000| mu2000_11(int) = Store[#temp2000:9] : &:r2000_10, r2000_9 +# 2047| Block 5 +# 2047| r2047_8(glval) = VariableAddress[x] : +# 2047| r2047_9(int) = Load[x] : &:r2047_8, ~m? +# 2047| r2047_10(glval) = VariableAddress[#temp2047:9] : +# 2047| mu2047_11(int) = Store[#temp2047:9] : &:r2047_10, r2047_9 #-----| Goto -> Block 4 -# 2000| Block 6 -# 2000| r2000_12(int) = Constant[5] : -# 2000| r2000_13(glval) = VariableAddress[#temp2000:9] : -# 2000| mu2000_14(int) = Store[#temp2000:9] : &:r2000_13, r2000_12 +# 2047| Block 6 +# 2047| r2047_12(int) = Constant[5] : +# 2047| r2047_13(glval) = VariableAddress[#temp2047:9] : +# 2047| mu2047_14(int) = Store[#temp2047:9] : &:r2047_13, r2047_12 #-----| Goto -> Block 4 -# 2001| Block 7 -# 2001| r2001_4(glval) = VariableAddress[#temp2001:9] : -# 2001| r2001_5(int) = Load[#temp2001:9] : &:r2001_4, ~m? -# 2001| r2001_6(glval) = VariableAddress[z] : -# 2001| mu2001_7(int) = Store[z] : &:r2001_6, r2001_5 -# 2002| r2002_1(int) = Constant[7] : -# 2002| r2002_2(glval) = VariableAddress[a] : -# 2002| r2002_3(bool) = Load[a] : &:r2002_2, ~m? -# 2002| v2002_4(void) = ConditionalBranch : r2002_3 +# 2048| Block 7 +# 2048| r2048_4(glval) = VariableAddress[#temp2048:9] : +# 2048| r2048_5(int) = Load[#temp2048:9] : &:r2048_4, ~m? +# 2048| r2048_6(glval) = VariableAddress[z] : +# 2048| mu2048_7(int) = Store[z] : &:r2048_6, r2048_5 +# 2049| r2049_1(int) = Constant[7] : +# 2049| r2049_2(glval) = VariableAddress[a] : +# 2049| r2049_3(bool) = Load[a] : &:r2049_2, ~m? +# 2049| v2049_4(void) = ConditionalBranch : r2049_3 #-----| False -> Block 12 #-----| True -> Block 11 -# 2001| Block 8 -# 2001| r2001_8(int) = Constant[3] : -# 2001| r2001_9(glval) = VariableAddress[#temp2001:9] : -# 2001| mu2001_10(int) = Store[#temp2001:9] : &:r2001_9, r2001_8 +# 2048| Block 8 +# 2048| r2048_8(int) = Constant[3] : +# 2048| r2048_9(glval) = VariableAddress[#temp2048:9] : +# 2048| mu2048_10(int) = Store[#temp2048:9] : &:r2048_9, r2048_8 #-----| Goto -> Block 7 -# 2001| Block 9 -# 2001| r2001_11(int) = Constant[5] : -# 2001| r2001_12(glval) = VariableAddress[#temp2001:9] : -# 2001| mu2001_13(int) = Store[#temp2001:9] : &:r2001_12, r2001_11 +# 2048| Block 9 +# 2048| r2048_11(int) = Constant[5] : +# 2048| r2048_12(glval) = VariableAddress[#temp2048:9] : +# 2048| mu2048_13(int) = Store[#temp2048:9] : &:r2048_12, r2048_11 #-----| Goto -> Block 7 -# 2002| Block 10 -# 2002| r2002_5(glval) = VariableAddress[#temp2002:6] : -# 2002| r2002_6(glval) = Load[#temp2002:6] : &:r2002_5, ~m? -# 2002| mu2002_7(int) = Store[?] : &:r2002_6, r2002_1 -# 2003| v2003_1(void) = NoOp : -# 1998| v1998_12(void) = ReturnVoid : -# 1998| v1998_13(void) = AliasedUse : ~m? -# 1998| v1998_14(void) = ExitFunction : +# 2049| Block 10 +# 2049| r2049_5(glval) = VariableAddress[#temp2049:6] : +# 2049| r2049_6(glval) = Load[#temp2049:6] : &:r2049_5, ~m? +# 2049| mu2049_7(int) = Store[?] : &:r2049_6, r2049_1 +# 2050| v2050_1(void) = NoOp : +# 2045| v2045_12(void) = ReturnVoid : +# 2045| v2045_13(void) = AliasedUse : ~m? +# 2045| v2045_14(void) = ExitFunction : -# 2002| Block 11 -# 2002| r2002_8(glval) = VariableAddress[x] : -# 2002| r2002_9(glval) = VariableAddress[#temp2002:6] : -# 2002| mu2002_10(glval) = Store[#temp2002:6] : &:r2002_9, r2002_8 +# 2049| Block 11 +# 2049| r2049_8(glval) = VariableAddress[x] : +# 2049| r2049_9(glval) = VariableAddress[#temp2049:6] : +# 2049| mu2049_10(glval) = Store[#temp2049:6] : &:r2049_9, r2049_8 #-----| Goto -> Block 10 -# 2002| Block 12 -# 2002| r2002_11(glval) = VariableAddress[y] : -# 2002| r2002_12(glval) = VariableAddress[#temp2002:6] : -# 2002| mu2002_13(glval) = Store[#temp2002:6] : &:r2002_12, r2002_11 +# 2049| Block 12 +# 2049| r2049_11(glval) = VariableAddress[y] : +# 2049| r2049_12(glval) = VariableAddress[#temp2049:6] : +# 2049| mu2049_13(glval) = Store[#temp2049:6] : &:r2049_12, r2049_11 #-----| Goto -> Block 10 -# 2008| void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) -# 2008| Block 0 -# 2008| v2008_1(void) = EnterFunction : -# 2008| mu2008_2(unknown) = AliasedDefinition : -# 2008| mu2008_3(unknown) = InitializeNonLocal : -# 2008| r2008_4(glval) = VariableAddress[a] : -# 2008| mu2008_5(bool) = InitializeParameter[a] : &:r2008_4 -# 2008| r2008_6(glval) = VariableAddress[x] : -# 2008| mu2008_7(TernaryPodObj) = InitializeParameter[x] : &:r2008_6 -# 2008| r2008_8(glval) = VariableAddress[y] : -# 2008| mu2008_9(TernaryPodObj) = InitializeParameter[y] : &:r2008_8 -# 2008| r2008_10(glval) = VariableAddress[z] : -# 2008| mu2008_11(TernaryPodObj) = InitializeParameter[z] : &:r2008_10 -# 2009| r2009_1(glval) = VariableAddress[a] : -# 2009| r2009_2(bool) = Load[a] : &:r2009_1, ~m? -# 2009| v2009_3(void) = ConditionalBranch : r2009_2 +# 2055| void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) +# 2055| Block 0 +# 2055| v2055_1(void) = EnterFunction : +# 2055| mu2055_2(unknown) = AliasedDefinition : +# 2055| mu2055_3(unknown) = InitializeNonLocal : +# 2055| r2055_4(glval) = VariableAddress[a] : +# 2055| mu2055_5(bool) = InitializeParameter[a] : &:r2055_4 +# 2055| r2055_6(glval) = VariableAddress[x] : +# 2055| mu2055_7(TernaryPodObj) = InitializeParameter[x] : &:r2055_6 +# 2055| r2055_8(glval) = VariableAddress[y] : +# 2055| mu2055_9(TernaryPodObj) = InitializeParameter[y] : &:r2055_8 +# 2055| r2055_10(glval) = VariableAddress[z] : +# 2055| mu2055_11(TernaryPodObj) = InitializeParameter[z] : &:r2055_10 +# 2056| r2056_1(glval) = VariableAddress[a] : +# 2056| r2056_2(bool) = Load[a] : &:r2056_1, ~m? +# 2056| v2056_3(void) = ConditionalBranch : r2056_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2009| Block 1 -# 2009| r2009_4(glval) = VariableAddress[#temp2009:9] : -# 2009| r2009_5(TernaryPodObj) = Load[#temp2009:9] : &:r2009_4, ~m? -# 2009| r2009_6(glval) = VariableAddress[z] : -# 2009| mu2009_7(TernaryPodObj) = Store[z] : &:r2009_6, r2009_5 -# 2010| r2010_1(glval) = VariableAddress[#temp2010:9] : -# 2010| r2010_2(glval) = VariableAddress[a] : -# 2010| r2010_3(bool) = Load[a] : &:r2010_2, ~m? -# 2010| v2010_4(void) = ConditionalBranch : r2010_3 +# 2056| Block 1 +# 2056| r2056_4(glval) = VariableAddress[#temp2056:9] : +# 2056| r2056_5(TernaryPodObj) = Load[#temp2056:9] : &:r2056_4, ~m? +# 2056| r2056_6(glval) = VariableAddress[z] : +# 2056| mu2056_7(TernaryPodObj) = Store[z] : &:r2056_6, r2056_5 +# 2057| r2057_1(glval) = VariableAddress[#temp2057:9] : +# 2057| r2057_2(glval) = VariableAddress[a] : +# 2057| r2057_3(bool) = Load[a] : &:r2057_2, ~m? +# 2057| v2057_4(void) = ConditionalBranch : r2057_3 #-----| False -> Block 6 #-----| True -> Block 5 -# 2009| Block 2 -# 2009| r2009_8(glval) = VariableAddress[x] : -# 2009| r2009_9(TernaryPodObj) = Load[x] : &:r2009_8, ~m? -# 2009| r2009_10(glval) = VariableAddress[#temp2009:9] : -# 2009| mu2009_11(TernaryPodObj) = Store[#temp2009:9] : &:r2009_10, r2009_9 +# 2056| Block 2 +# 2056| r2056_8(glval) = VariableAddress[x] : +# 2056| r2056_9(TernaryPodObj) = Load[x] : &:r2056_8, ~m? +# 2056| r2056_10(glval) = VariableAddress[#temp2056:9] : +# 2056| mu2056_11(TernaryPodObj) = Store[#temp2056:9] : &:r2056_10, r2056_9 #-----| Goto -> Block 1 -# 2009| Block 3 -# 2009| r2009_12(glval) = VariableAddress[y] : -# 2009| r2009_13(TernaryPodObj) = Load[y] : &:r2009_12, ~m? -# 2009| r2009_14(glval) = VariableAddress[#temp2009:9] : -# 2009| mu2009_15(TernaryPodObj) = Store[#temp2009:9] : &:r2009_14, r2009_13 +# 2056| Block 3 +# 2056| r2056_12(glval) = VariableAddress[y] : +# 2056| r2056_13(TernaryPodObj) = Load[y] : &:r2056_12, ~m? +# 2056| r2056_14(glval) = VariableAddress[#temp2056:9] : +# 2056| mu2056_15(TernaryPodObj) = Store[#temp2056:9] : &:r2056_14, r2056_13 #-----| Goto -> Block 1 -# 2010| Block 4 -# 2010| r2010_5(glval) = VariableAddress[#temp2010:9] : -# 2010| r2010_6(TernaryPodObj) = Load[#temp2010:9] : &:r2010_5, ~m? -# 2010| mu2010_7(TernaryPodObj) = Store[#temp2010:9] : &:r2010_1, r2010_6 -# 2010| r2010_8(TernaryPodObj) = Load[#temp2010:9] : &:r2010_1, ~m? -# 2010| r2010_9(glval) = VariableAddress[z] : -# 2010| mu2010_10(TernaryPodObj) = Store[z] : &:r2010_9, r2010_8 -# 2011| r2011_1(glval) = VariableAddress[#temp2011:9] : -# 2011| r2011_2(glval) = VariableAddress[a] : -# 2011| r2011_3(bool) = Load[a] : &:r2011_2, ~m? -# 2011| v2011_4(void) = ConditionalBranch : r2011_3 +# 2057| Block 4 +# 2057| r2057_5(glval) = VariableAddress[#temp2057:9] : +# 2057| r2057_6(TernaryPodObj) = Load[#temp2057:9] : &:r2057_5, ~m? +# 2057| mu2057_7(TernaryPodObj) = Store[#temp2057:9] : &:r2057_1, r2057_6 +# 2057| r2057_8(TernaryPodObj) = Load[#temp2057:9] : &:r2057_1, ~m? +# 2057| r2057_9(glval) = VariableAddress[z] : +# 2057| mu2057_10(TernaryPodObj) = Store[z] : &:r2057_9, r2057_8 +# 2058| r2058_1(glval) = VariableAddress[#temp2058:9] : +# 2058| r2058_2(glval) = VariableAddress[a] : +# 2058| r2058_3(bool) = Load[a] : &:r2058_2, ~m? +# 2058| v2058_4(void) = ConditionalBranch : r2058_3 #-----| False -> Block 9 #-----| True -> Block 8 -# 2010| Block 5 -# 2010| r2010_11(glval) = VariableAddress[#temp2010:13] : -# 2010| r2010_12(glval) = VariableAddress[x] : -# 2010| r2010_13(TernaryPodObj) = Load[x] : &:r2010_12, ~m? -# 2010| mu2010_14(TernaryPodObj) = Store[#temp2010:13] : &:r2010_11, r2010_13 -# 2010| r2010_15(TernaryPodObj) = Load[#temp2010:13] : &:r2010_11, ~m? -# 2010| r2010_16(glval) = VariableAddress[#temp2010:9] : -# 2010| mu2010_17(TernaryPodObj) = Store[#temp2010:9] : &:r2010_16, r2010_15 +# 2057| Block 5 +# 2057| r2057_11(glval) = VariableAddress[#temp2057:13] : +# 2057| r2057_12(glval) = VariableAddress[x] : +# 2057| r2057_13(TernaryPodObj) = Load[x] : &:r2057_12, ~m? +# 2057| mu2057_14(TernaryPodObj) = Store[#temp2057:13] : &:r2057_11, r2057_13 +# 2057| r2057_15(TernaryPodObj) = Load[#temp2057:13] : &:r2057_11, ~m? +# 2057| r2057_16(glval) = VariableAddress[#temp2057:9] : +# 2057| mu2057_17(TernaryPodObj) = Store[#temp2057:9] : &:r2057_16, r2057_15 #-----| Goto -> Block 4 -# 2010| Block 6 -# 2010| r2010_18(glval) = VariableAddress[#temp2010:17] : -# 2010| r2010_19(TernaryPodObj) = Constant[0] : -# 2010| mu2010_20(TernaryPodObj) = Store[#temp2010:17] : &:r2010_18, r2010_19 -# 2010| r2010_21(TernaryPodObj) = Load[#temp2010:17] : &:r2010_18, ~m? -# 2010| r2010_22(glval) = VariableAddress[#temp2010:9] : -# 2010| mu2010_23(TernaryPodObj) = Store[#temp2010:9] : &:r2010_22, r2010_21 +# 2057| Block 6 +# 2057| r2057_18(glval) = VariableAddress[#temp2057:17] : +# 2057| r2057_19(TernaryPodObj) = Constant[0] : +# 2057| mu2057_20(TernaryPodObj) = Store[#temp2057:17] : &:r2057_18, r2057_19 +# 2057| r2057_21(TernaryPodObj) = Load[#temp2057:17] : &:r2057_18, ~m? +# 2057| r2057_22(glval) = VariableAddress[#temp2057:9] : +# 2057| mu2057_23(TernaryPodObj) = Store[#temp2057:9] : &:r2057_22, r2057_21 #-----| Goto -> Block 4 -# 2011| Block 7 -# 2011| r2011_5(glval) = VariableAddress[#temp2011:9] : -# 2011| r2011_6(TernaryPodObj) = Load[#temp2011:9] : &:r2011_5, ~m? -# 2011| mu2011_7(TernaryPodObj) = Store[#temp2011:9] : &:r2011_1, r2011_6 -# 2011| r2011_8(TernaryPodObj) = Load[#temp2011:9] : &:r2011_1, ~m? -# 2011| r2011_9(glval) = VariableAddress[z] : -# 2011| mu2011_10(TernaryPodObj) = Store[z] : &:r2011_9, r2011_8 -# 2012| r2012_1(glval) = VariableAddress[#temp2012:23] : -# 2012| r2012_2(TernaryPodObj) = Constant[0] : -# 2012| mu2012_3(TernaryPodObj) = Store[#temp2012:23] : &:r2012_1, r2012_2 -# 2012| r2012_4(TernaryPodObj) = Load[#temp2012:23] : &:r2012_1, ~m? -# 2012| r2012_5(glval) = VariableAddress[a] : -# 2012| r2012_6(bool) = Load[a] : &:r2012_5, ~m? -# 2012| v2012_7(void) = ConditionalBranch : r2012_6 +# 2058| Block 7 +# 2058| r2058_5(glval) = VariableAddress[#temp2058:9] : +# 2058| r2058_6(TernaryPodObj) = Load[#temp2058:9] : &:r2058_5, ~m? +# 2058| mu2058_7(TernaryPodObj) = Store[#temp2058:9] : &:r2058_1, r2058_6 +# 2058| r2058_8(TernaryPodObj) = Load[#temp2058:9] : &:r2058_1, ~m? +# 2058| r2058_9(glval) = VariableAddress[z] : +# 2058| mu2058_10(TernaryPodObj) = Store[z] : &:r2058_9, r2058_8 +# 2059| r2059_1(glval) = VariableAddress[#temp2059:23] : +# 2059| r2059_2(TernaryPodObj) = Constant[0] : +# 2059| mu2059_3(TernaryPodObj) = Store[#temp2059:23] : &:r2059_1, r2059_2 +# 2059| r2059_4(TernaryPodObj) = Load[#temp2059:23] : &:r2059_1, ~m? +# 2059| r2059_5(glval) = VariableAddress[a] : +# 2059| r2059_6(bool) = Load[a] : &:r2059_5, ~m? +# 2059| v2059_7(void) = ConditionalBranch : r2059_6 #-----| False -> Block 12 #-----| True -> Block 11 -# 2011| Block 8 -# 2011| r2011_11(glval) = VariableAddress[#temp2011:13] : -# 2011| r2011_12(TernaryPodObj) = Constant[0] : -# 2011| mu2011_13(TernaryPodObj) = Store[#temp2011:13] : &:r2011_11, r2011_12 -# 2011| r2011_14(TernaryPodObj) = Load[#temp2011:13] : &:r2011_11, ~m? -# 2011| r2011_15(glval) = VariableAddress[#temp2011:9] : -# 2011| mu2011_16(TernaryPodObj) = Store[#temp2011:9] : &:r2011_15, r2011_14 +# 2058| Block 8 +# 2058| r2058_11(glval) = VariableAddress[#temp2058:13] : +# 2058| r2058_12(TernaryPodObj) = Constant[0] : +# 2058| mu2058_13(TernaryPodObj) = Store[#temp2058:13] : &:r2058_11, r2058_12 +# 2058| r2058_14(TernaryPodObj) = Load[#temp2058:13] : &:r2058_11, ~m? +# 2058| r2058_15(glval) = VariableAddress[#temp2058:9] : +# 2058| mu2058_16(TernaryPodObj) = Store[#temp2058:9] : &:r2058_15, r2058_14 #-----| Goto -> Block 7 -# 2011| Block 9 -# 2011| r2011_17(glval) = VariableAddress[#temp2011:31] : -# 2011| r2011_18(TernaryPodObj) = Constant[0] : -# 2011| mu2011_19(TernaryPodObj) = Store[#temp2011:31] : &:r2011_17, r2011_18 -# 2011| r2011_20(TernaryPodObj) = Load[#temp2011:31] : &:r2011_17, ~m? -# 2011| r2011_21(glval) = VariableAddress[#temp2011:9] : -# 2011| mu2011_22(TernaryPodObj) = Store[#temp2011:9] : &:r2011_21, r2011_20 +# 2058| Block 9 +# 2058| r2058_17(glval) = VariableAddress[#temp2058:31] : +# 2058| r2058_18(TernaryPodObj) = Constant[0] : +# 2058| mu2058_19(TernaryPodObj) = Store[#temp2058:31] : &:r2058_17, r2058_18 +# 2058| r2058_20(TernaryPodObj) = Load[#temp2058:31] : &:r2058_17, ~m? +# 2058| r2058_21(glval) = VariableAddress[#temp2058:9] : +# 2058| mu2058_22(TernaryPodObj) = Store[#temp2058:9] : &:r2058_21, r2058_20 #-----| Goto -> Block 7 -# 2012| Block 10 -# 2012| r2012_8(glval) = VariableAddress[#temp2012:10] : -# 2012| r2012_9(TernaryPodObj) = Load[#temp2012:10] : &:r2012_8, ~m? -# 2012| r2012_10(glval) = VariableAddress[z] : -# 2012| mu2012_11(TernaryPodObj) = Store[z] : &:r2012_10, r2012_9 -# 2012| r2012_12(glval) = CopyValue : r2012_10 -# 2012| mu2012_13(TernaryPodObj) = Store[?] : &:r2012_12, r2012_4 -# 2013| v2013_1(void) = NoOp : -# 2008| v2008_12(void) = ReturnVoid : -# 2008| v2008_13(void) = AliasedUse : ~m? -# 2008| v2008_14(void) = ExitFunction : +# 2059| Block 10 +# 2059| r2059_8(glval) = VariableAddress[#temp2059:10] : +# 2059| r2059_9(TernaryPodObj) = Load[#temp2059:10] : &:r2059_8, ~m? +# 2059| r2059_10(glval) = VariableAddress[z] : +# 2059| mu2059_11(TernaryPodObj) = Store[z] : &:r2059_10, r2059_9 +# 2059| r2059_12(glval) = CopyValue : r2059_10 +# 2059| mu2059_13(TernaryPodObj) = Store[?] : &:r2059_12, r2059_4 +# 2060| v2060_1(void) = NoOp : +# 2055| v2055_12(void) = ReturnVoid : +# 2055| v2055_13(void) = AliasedUse : ~m? +# 2055| v2055_14(void) = ExitFunction : -# 2012| Block 11 -# 2012| r2012_14(glval) = VariableAddress[x] : -# 2012| r2012_15(TernaryPodObj) = Load[x] : &:r2012_14, ~m? -# 2012| r2012_16(glval) = VariableAddress[#temp2012:10] : -# 2012| mu2012_17(TernaryPodObj) = Store[#temp2012:10] : &:r2012_16, r2012_15 +# 2059| Block 11 +# 2059| r2059_14(glval) = VariableAddress[x] : +# 2059| r2059_15(TernaryPodObj) = Load[x] : &:r2059_14, ~m? +# 2059| r2059_16(glval) = VariableAddress[#temp2059:10] : +# 2059| mu2059_17(TernaryPodObj) = Store[#temp2059:10] : &:r2059_16, r2059_15 #-----| Goto -> Block 10 -# 2012| Block 12 -# 2012| r2012_18(glval) = VariableAddress[y] : -# 2012| r2012_19(TernaryPodObj) = Load[y] : &:r2012_18, ~m? -# 2012| r2012_20(glval) = VariableAddress[#temp2012:10] : -# 2012| mu2012_21(TernaryPodObj) = Store[#temp2012:10] : &:r2012_20, r2012_19 +# 2059| Block 12 +# 2059| r2059_18(glval) = VariableAddress[y] : +# 2059| r2059_19(TernaryPodObj) = Load[y] : &:r2059_18, ~m? +# 2059| r2059_20(glval) = VariableAddress[#temp2059:10] : +# 2059| mu2059_21(TernaryPodObj) = Store[#temp2059:10] : &:r2059_20, r2059_19 #-----| Goto -> Block 10 -# 2015| TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) -# 2015| Block 0 -# 2015| v2015_1(void) = EnterFunction : -# 2015| mu2015_2(unknown) = AliasedDefinition : -# 2015| mu2015_3(unknown) = InitializeNonLocal : -# 2015| r2015_4(glval) = VariableAddress[#this] : -# 2015| mu2015_5(glval) = InitializeParameter[#this] : &:r2015_4 -# 2015| r2015_6(glval) = Load[#this] : &:r2015_4, ~m? -# 2015| mu2015_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2015_6 +# 2062| TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) +# 2062| Block 0 +# 2062| v2062_1(void) = EnterFunction : +# 2062| mu2062_2(unknown) = AliasedDefinition : +# 2062| mu2062_3(unknown) = InitializeNonLocal : +# 2062| r2062_4(glval) = VariableAddress[#this] : +# 2062| mu2062_5(glval) = InitializeParameter[#this] : &:r2062_4 +# 2062| r2062_6(glval) = Load[#this] : &:r2062_4, ~m? +# 2062| mu2062_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(TernaryNonPodObj &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(TernaryNonPodObj &) = Load[(unnamed parameter 0)] : &:r0_1, ~m? @@ -11455,2478 +11469,2513 @@ ir.cpp: #-----| r0_8(glval) = CopyValue : r0_7 #-----| r0_9(TernaryNonPodObj &) = CopyValue : r0_8 #-----| mu0_10(TernaryNonPodObj &) = Store[#return] : &:r0_5, r0_9 -# 2015| v2015_8(void) = ReturnIndirection[#this] : &:r2015_6, ~m? +# 2062| v2062_8(void) = ReturnIndirection[#this] : &:r2062_6, ~m? #-----| v0_11(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 2015| r2015_9(glval) = VariableAddress[#return] : -# 2015| v2015_10(void) = ReturnValue : &:r2015_9, ~m? -# 2015| v2015_11(void) = AliasedUse : ~m? -# 2015| v2015_12(void) = ExitFunction : +# 2062| r2062_9(glval) = VariableAddress[#return] : +# 2062| v2062_10(void) = ReturnValue : &:r2062_9, ~m? +# 2062| v2062_11(void) = AliasedUse : ~m? +# 2062| v2062_12(void) = ExitFunction : -# 2015| void TernaryNonPodObj::TernaryNonPodObj() -# 2015| Block 0 -# 2015| v2015_1(void) = EnterFunction : -# 2015| mu2015_2(unknown) = AliasedDefinition : -# 2015| mu2015_3(unknown) = InitializeNonLocal : -# 2015| r2015_4(glval) = VariableAddress[#this] : -# 2015| mu2015_5(glval) = InitializeParameter[#this] : &:r2015_4 -# 2015| r2015_6(glval) = Load[#this] : &:r2015_4, ~m? -# 2015| mu2015_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2015_6 -# 2015| v2015_8(void) = NoOp : -# 2015| v2015_9(void) = ReturnIndirection[#this] : &:r2015_6, ~m? -# 2015| v2015_10(void) = ReturnVoid : -# 2015| v2015_11(void) = AliasedUse : ~m? -# 2015| v2015_12(void) = ExitFunction : +# 2062| void TernaryNonPodObj::TernaryNonPodObj() +# 2062| Block 0 +# 2062| v2062_1(void) = EnterFunction : +# 2062| mu2062_2(unknown) = AliasedDefinition : +# 2062| mu2062_3(unknown) = InitializeNonLocal : +# 2062| r2062_4(glval) = VariableAddress[#this] : +# 2062| mu2062_5(glval) = InitializeParameter[#this] : &:r2062_4 +# 2062| r2062_6(glval) = Load[#this] : &:r2062_4, ~m? +# 2062| mu2062_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_6 +# 2062| v2062_8(void) = NoOp : +# 2062| v2062_9(void) = ReturnIndirection[#this] : &:r2062_6, ~m? +# 2062| v2062_10(void) = ReturnVoid : +# 2062| v2062_11(void) = AliasedUse : ~m? +# 2062| v2062_12(void) = ExitFunction : -# 2015| void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) -# 2015| Block 0 -# 2015| v2015_1(void) = EnterFunction : -# 2015| mu2015_2(unknown) = AliasedDefinition : -# 2015| mu2015_3(unknown) = InitializeNonLocal : -# 2015| r2015_4(glval) = VariableAddress[#this] : -# 2015| mu2015_5(glval) = InitializeParameter[#this] : &:r2015_4 -# 2015| r2015_6(glval) = Load[#this] : &:r2015_4, ~m? -# 2015| mu2015_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2015_6 +# 2062| void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) +# 2062| Block 0 +# 2062| v2062_1(void) = EnterFunction : +# 2062| mu2062_2(unknown) = AliasedDefinition : +# 2062| mu2062_3(unknown) = InitializeNonLocal : +# 2062| r2062_4(glval) = VariableAddress[#this] : +# 2062| mu2062_5(glval) = InitializeParameter[#this] : &:r2062_4 +# 2062| r2062_6(glval) = Load[#this] : &:r2062_4, ~m? +# 2062| mu2062_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(TernaryNonPodObj &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(TernaryNonPodObj &) = Load[(unnamed parameter 0)] : &:r0_1, ~m? #-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 2015| v2015_8(void) = NoOp : -# 2015| v2015_9(void) = ReturnIndirection[#this] : &:r2015_6, ~m? +# 2062| v2062_8(void) = NoOp : +# 2062| v2062_9(void) = ReturnIndirection[#this] : &:r2062_6, ~m? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 2015| v2015_10(void) = ReturnVoid : -# 2015| v2015_11(void) = AliasedUse : ~m? -# 2015| v2015_12(void) = ExitFunction : +# 2062| v2062_10(void) = ReturnVoid : +# 2062| v2062_11(void) = AliasedUse : ~m? +# 2062| v2062_12(void) = ExitFunction : -# 2016| void TernaryNonPodObj::~TernaryNonPodObj() -# 2016| Block 0 -# 2016| v2016_1(void) = EnterFunction : -# 2016| mu2016_2(unknown) = AliasedDefinition : -# 2016| mu2016_3(unknown) = InitializeNonLocal : -# 2016| r2016_4(glval) = VariableAddress[#this] : -# 2016| mu2016_5(glval) = InitializeParameter[#this] : &:r2016_4 -# 2016| r2016_6(glval) = Load[#this] : &:r2016_4, ~m? -# 2016| mu2016_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2016_6 -# 2016| v2016_8(void) = NoOp : -# 2016| v2016_9(void) = ReturnIndirection[#this] : &:r2016_6, ~m? -# 2016| v2016_10(void) = ReturnVoid : -# 2016| v2016_11(void) = AliasedUse : ~m? -# 2016| v2016_12(void) = ExitFunction : +# 2063| void TernaryNonPodObj::~TernaryNonPodObj() +# 2063| Block 0 +# 2063| v2063_1(void) = EnterFunction : +# 2063| mu2063_2(unknown) = AliasedDefinition : +# 2063| mu2063_3(unknown) = InitializeNonLocal : +# 2063| r2063_4(glval) = VariableAddress[#this] : +# 2063| mu2063_5(glval) = InitializeParameter[#this] : &:r2063_4 +# 2063| r2063_6(glval) = Load[#this] : &:r2063_4, ~m? +# 2063| mu2063_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2063_6 +# 2063| v2063_8(void) = NoOp : +# 2063| v2063_9(void) = ReturnIndirection[#this] : &:r2063_6, ~m? +# 2063| v2063_10(void) = ReturnVoid : +# 2063| v2063_11(void) = AliasedUse : ~m? +# 2063| v2063_12(void) = ExitFunction : -# 2019| void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) -# 2019| Block 0 -# 2019| v2019_1(void) = EnterFunction : -# 2019| mu2019_2(unknown) = AliasedDefinition : -# 2019| mu2019_3(unknown) = InitializeNonLocal : -# 2019| r2019_4(glval) = VariableAddress[a] : -# 2019| mu2019_5(bool) = InitializeParameter[a] : &:r2019_4 -# 2019| r2019_6(glval) = VariableAddress[x] : -# 2019| mu2019_7(TernaryNonPodObj) = InitializeParameter[x] : &:r2019_6 -# 2019| r2019_8(glval) = VariableAddress[y] : -# 2019| mu2019_9(TernaryNonPodObj) = InitializeParameter[y] : &:r2019_8 -# 2019| r2019_10(glval) = VariableAddress[z] : -# 2019| mu2019_11(TernaryNonPodObj) = InitializeParameter[z] : &:r2019_10 -# 2020| r2020_1(glval) = VariableAddress[z] : -# 2020| r2020_2(glval) = FunctionAddress[operator=] : -# 2020| r2020_3(glval) = VariableAddress[a] : -# 2020| r2020_4(bool) = Load[a] : &:r2020_3, ~m? -# 2020| v2020_5(void) = ConditionalBranch : r2020_4 +# 2066| void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) +# 2066| Block 0 +# 2066| v2066_1(void) = EnterFunction : +# 2066| mu2066_2(unknown) = AliasedDefinition : +# 2066| mu2066_3(unknown) = InitializeNonLocal : +# 2066| r2066_4(glval) = VariableAddress[a] : +# 2066| mu2066_5(bool) = InitializeParameter[a] : &:r2066_4 +# 2066| r2066_6(glval) = VariableAddress[x] : +# 2066| mu2066_7(TernaryNonPodObj) = InitializeParameter[x] : &:r2066_6 +# 2066| r2066_8(glval) = VariableAddress[y] : +# 2066| mu2066_9(TernaryNonPodObj) = InitializeParameter[y] : &:r2066_8 +# 2066| r2066_10(glval) = VariableAddress[z] : +# 2066| mu2066_11(TernaryNonPodObj) = InitializeParameter[z] : &:r2066_10 +# 2067| r2067_1(glval) = VariableAddress[z] : +# 2067| r2067_2(glval) = FunctionAddress[operator=] : +# 2067| r2067_3(glval) = VariableAddress[a] : +# 2067| r2067_4(bool) = Load[a] : &:r2067_3, ~m? +# 2067| v2067_5(void) = ConditionalBranch : r2067_4 #-----| False -> Block 3 #-----| True -> Block 2 -# 2020| Block 1 -# 2020| r2020_6(glval) = VariableAddress[#temp2020:9] : -# 2020| r2020_7(glval) = Load[#temp2020:9] : &:r2020_6, ~m? -# 2020| r2020_8(glval) = Convert : r2020_7 -# 2020| r2020_9(TernaryNonPodObj &) = CopyValue : r2020_8 -# 2020| r2020_10(TernaryNonPodObj &) = Call[operator=] : func:r2020_2, this:r2020_1, 0:r2020_9 -# 2020| mu2020_11(unknown) = ^CallSideEffect : ~m? -# 2020| v2020_12(void) = ^IndirectReadSideEffect[-1] : &:r2020_1, ~m? -# 2020| v2020_13(void) = ^BufferReadSideEffect[0] : &:r2020_9, ~m? -# 2020| mu2020_14(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2020_1 -# 2020| r2020_15(glval) = CopyValue : r2020_10 -# 2021| r2021_1(glval) = VariableAddress[z] : -# 2021| r2021_2(glval) = FunctionAddress[operator=] : -# 2021| r2021_3(glval) = VariableAddress[#temp2021:9] : -# 2021| r2021_4(glval) = VariableAddress[a] : -# 2021| r2021_5(bool) = Load[a] : &:r2021_4, ~m? -# 2021| v2021_6(void) = ConditionalBranch : r2021_5 +# 2067| Block 1 +# 2067| r2067_6(glval) = VariableAddress[#temp2067:9] : +# 2067| r2067_7(glval) = Load[#temp2067:9] : &:r2067_6, ~m? +# 2067| r2067_8(glval) = Convert : r2067_7 +# 2067| r2067_9(TernaryNonPodObj &) = CopyValue : r2067_8 +# 2067| r2067_10(TernaryNonPodObj &) = Call[operator=] : func:r2067_2, this:r2067_1, 0:r2067_9 +# 2067| mu2067_11(unknown) = ^CallSideEffect : ~m? +# 2067| v2067_12(void) = ^IndirectReadSideEffect[-1] : &:r2067_1, ~m? +# 2067| v2067_13(void) = ^BufferReadSideEffect[0] : &:r2067_9, ~m? +# 2067| mu2067_14(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2067_1 +# 2067| r2067_15(glval) = CopyValue : r2067_10 +# 2068| r2068_1(glval) = VariableAddress[z] : +# 2068| r2068_2(glval) = FunctionAddress[operator=] : +# 2068| r2068_3(glval) = VariableAddress[#temp2068:9] : +# 2068| r2068_4(glval) = VariableAddress[a] : +# 2068| r2068_5(bool) = Load[a] : &:r2068_4, ~m? +# 2068| v2068_6(void) = ConditionalBranch : r2068_5 #-----| False -> Block 6 #-----| True -> Block 5 -# 2020| Block 2 -# 2020| r2020_16(glval) = VariableAddress[x] : -# 2020| r2020_17(glval) = VariableAddress[#temp2020:9] : -# 2020| mu2020_18(glval) = Store[#temp2020:9] : &:r2020_17, r2020_16 +# 2067| Block 2 +# 2067| r2067_16(glval) = VariableAddress[x] : +# 2067| r2067_17(glval) = VariableAddress[#temp2067:9] : +# 2067| mu2067_18(glval) = Store[#temp2067:9] : &:r2067_17, r2067_16 #-----| Goto -> Block 1 -# 2020| Block 3 -# 2020| r2020_19(glval) = VariableAddress[y] : -# 2020| r2020_20(glval) = VariableAddress[#temp2020:9] : -# 2020| mu2020_21(glval) = Store[#temp2020:9] : &:r2020_20, r2020_19 +# 2067| Block 3 +# 2067| r2067_19(glval) = VariableAddress[y] : +# 2067| r2067_20(glval) = VariableAddress[#temp2067:9] : +# 2067| mu2067_21(glval) = Store[#temp2067:9] : &:r2067_20, r2067_19 #-----| Goto -> Block 1 -# 2021| Block 4 -# 2021| r2021_7(glval) = VariableAddress[#temp2021:9] : -# 2021| r2021_8(TernaryNonPodObj) = Load[#temp2021:9] : &:r2021_7, ~m? -# 2021| mu2021_9(TernaryNonPodObj) = Store[#temp2021:9] : &:r2021_3, r2021_8 -# 2021| r2021_10(glval) = Convert : r2021_3 -# 2021| r2021_11(TernaryNonPodObj &) = CopyValue : r2021_10 -# 2021| r2021_12(TernaryNonPodObj &) = Call[operator=] : func:r2021_2, this:r2021_1, 0:r2021_11 -# 2021| mu2021_13(unknown) = ^CallSideEffect : ~m? -# 2021| v2021_14(void) = ^IndirectReadSideEffect[-1] : &:r2021_1, ~m? -# 2021| v2021_15(void) = ^BufferReadSideEffect[0] : &:r2021_11, ~m? -# 2021| mu2021_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_1 -# 2021| r2021_17(glval) = CopyValue : r2021_12 -# 2022| r2022_1(glval) = VariableAddress[z] : -# 2022| r2022_2(glval) = FunctionAddress[operator=] : -# 2022| r2022_3(glval) = VariableAddress[#temp2022:9] : -# 2022| r2022_4(glval) = VariableAddress[a] : -# 2022| r2022_5(bool) = Load[a] : &:r2022_4, ~m? -# 2022| v2022_6(void) = ConditionalBranch : r2022_5 +# 2068| Block 4 +# 2068| r2068_7(glval) = VariableAddress[#temp2068:9] : +# 2068| r2068_8(TernaryNonPodObj) = Load[#temp2068:9] : &:r2068_7, ~m? +# 2068| mu2068_9(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_3, r2068_8 +# 2068| r2068_10(glval) = Convert : r2068_3 +# 2068| r2068_11(TernaryNonPodObj &) = CopyValue : r2068_10 +# 2068| r2068_12(TernaryNonPodObj &) = Call[operator=] : func:r2068_2, this:r2068_1, 0:r2068_11 +# 2068| mu2068_13(unknown) = ^CallSideEffect : ~m? +# 2068| v2068_14(void) = ^IndirectReadSideEffect[-1] : &:r2068_1, ~m? +# 2068| v2068_15(void) = ^BufferReadSideEffect[0] : &:r2068_11, ~m? +# 2068| mu2068_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_1 +# 2068| r2068_17(glval) = CopyValue : r2068_12 +# 2069| r2069_1(glval) = VariableAddress[z] : +# 2069| r2069_2(glval) = FunctionAddress[operator=] : +# 2069| r2069_3(glval) = VariableAddress[#temp2069:9] : +# 2069| r2069_4(glval) = VariableAddress[a] : +# 2069| r2069_5(bool) = Load[a] : &:r2069_4, ~m? +# 2069| v2069_6(void) = ConditionalBranch : r2069_5 #-----| False -> Block 9 #-----| True -> Block 8 -# 2021| Block 5 -# 2021| r2021_18(glval) = VariableAddress[#temp2021:13] : -# 2021| mu2021_19(TernaryNonPodObj) = Uninitialized[#temp2021:13] : &:r2021_18 -# 2021| r2021_20(glval) = FunctionAddress[TernaryNonPodObj] : -# 2021| r2021_21(glval) = VariableAddress[x] : -# 2021| r2021_22(glval) = Convert : r2021_21 -# 2021| r2021_23(TernaryNonPodObj &) = CopyValue : r2021_22 -# 2021| v2021_24(void) = Call[TernaryNonPodObj] : func:r2021_20, this:r2021_18, 0:r2021_23 -# 2021| mu2021_25(unknown) = ^CallSideEffect : ~m? -# 2021| v2021_26(void) = ^BufferReadSideEffect[0] : &:r2021_23, ~m? -# 2021| mu2021_27(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_18 -# 2021| r2021_28(TernaryNonPodObj) = Load[#temp2021:13] : &:r2021_18, ~m? -# 2021| r2021_29(glval) = VariableAddress[#temp2021:9] : -# 2021| mu2021_30(TernaryNonPodObj) = Store[#temp2021:9] : &:r2021_29, r2021_28 +# 2068| Block 5 +# 2068| r2068_18(glval) = VariableAddress[#temp2068:13] : +# 2068| mu2068_19(TernaryNonPodObj) = Uninitialized[#temp2068:13] : &:r2068_18 +# 2068| r2068_20(glval) = FunctionAddress[TernaryNonPodObj] : +# 2068| r2068_21(glval) = VariableAddress[x] : +# 2068| r2068_22(glval) = Convert : r2068_21 +# 2068| r2068_23(TernaryNonPodObj &) = CopyValue : r2068_22 +# 2068| v2068_24(void) = Call[TernaryNonPodObj] : func:r2068_20, this:r2068_18, 0:r2068_23 +# 2068| mu2068_25(unknown) = ^CallSideEffect : ~m? +# 2068| v2068_26(void) = ^BufferReadSideEffect[0] : &:r2068_23, ~m? +# 2068| mu2068_27(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_18 +# 2068| r2068_28(TernaryNonPodObj) = Load[#temp2068:13] : &:r2068_18, ~m? +# 2068| r2068_29(glval) = VariableAddress[#temp2068:9] : +# 2068| mu2068_30(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_29, r2068_28 #-----| Goto -> Block 4 -# 2021| Block 6 -# 2021| r2021_31(glval) = VariableAddress[#temp2021:17] : -# 2021| mu2021_32(TernaryNonPodObj) = Uninitialized[#temp2021:17] : &:r2021_31 -# 2021| r2021_33(glval) = FunctionAddress[TernaryNonPodObj] : -# 2021| v2021_34(void) = Call[TernaryNonPodObj] : func:r2021_33, this:r2021_31 -# 2021| mu2021_35(unknown) = ^CallSideEffect : ~m? -# 2021| mu2021_36(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_31 -# 2021| r2021_37(TernaryNonPodObj) = Load[#temp2021:17] : &:r2021_31, ~m? -# 2021| r2021_38(glval) = VariableAddress[#temp2021:9] : -# 2021| mu2021_39(TernaryNonPodObj) = Store[#temp2021:9] : &:r2021_38, r2021_37 +# 2068| Block 6 +# 2068| r2068_31(glval) = VariableAddress[#temp2068:17] : +# 2068| mu2068_32(TernaryNonPodObj) = Uninitialized[#temp2068:17] : &:r2068_31 +# 2068| r2068_33(glval) = FunctionAddress[TernaryNonPodObj] : +# 2068| v2068_34(void) = Call[TernaryNonPodObj] : func:r2068_33, this:r2068_31 +# 2068| mu2068_35(unknown) = ^CallSideEffect : ~m? +# 2068| mu2068_36(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_31 +# 2068| r2068_37(TernaryNonPodObj) = Load[#temp2068:17] : &:r2068_31, ~m? +# 2068| r2068_38(glval) = VariableAddress[#temp2068:9] : +# 2068| mu2068_39(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_38, r2068_37 #-----| Goto -> Block 4 -# 2022| Block 7 -# 2022| r2022_7(glval) = VariableAddress[#temp2022:9] : -# 2022| r2022_8(TernaryNonPodObj) = Load[#temp2022:9] : &:r2022_7, ~m? -# 2022| mu2022_9(TernaryNonPodObj) = Store[#temp2022:9] : &:r2022_3, r2022_8 -# 2022| r2022_10(glval) = Convert : r2022_3 -# 2022| r2022_11(TernaryNonPodObj &) = CopyValue : r2022_10 -# 2022| r2022_12(TernaryNonPodObj &) = Call[operator=] : func:r2022_2, this:r2022_1, 0:r2022_11 -# 2022| mu2022_13(unknown) = ^CallSideEffect : ~m? -# 2022| v2022_14(void) = ^IndirectReadSideEffect[-1] : &:r2022_1, ~m? -# 2022| v2022_15(void) = ^BufferReadSideEffect[0] : &:r2022_11, ~m? -# 2022| mu2022_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2022_1 -# 2022| r2022_17(glval) = CopyValue : r2022_12 -# 2023| r2023_1(glval) = VariableAddress[z] : -# 2023| r2023_2(glval) = FunctionAddress[operator=] : -# 2023| r2023_3(glval) = VariableAddress[a] : -# 2023| r2023_4(bool) = Load[a] : &:r2023_3, ~m? -# 2023| v2023_5(void) = ConditionalBranch : r2023_4 +# 2069| Block 7 +# 2069| r2069_7(glval) = VariableAddress[#temp2069:9] : +# 2069| r2069_8(TernaryNonPodObj) = Load[#temp2069:9] : &:r2069_7, ~m? +# 2069| mu2069_9(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_3, r2069_8 +# 2069| r2069_10(glval) = Convert : r2069_3 +# 2069| r2069_11(TernaryNonPodObj &) = CopyValue : r2069_10 +# 2069| r2069_12(TernaryNonPodObj &) = Call[operator=] : func:r2069_2, this:r2069_1, 0:r2069_11 +# 2069| mu2069_13(unknown) = ^CallSideEffect : ~m? +# 2069| v2069_14(void) = ^IndirectReadSideEffect[-1] : &:r2069_1, ~m? +# 2069| v2069_15(void) = ^BufferReadSideEffect[0] : &:r2069_11, ~m? +# 2069| mu2069_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_1 +# 2069| r2069_17(glval) = CopyValue : r2069_12 +# 2070| r2070_1(glval) = VariableAddress[z] : +# 2070| r2070_2(glval) = FunctionAddress[operator=] : +# 2070| r2070_3(glval) = VariableAddress[a] : +# 2070| r2070_4(bool) = Load[a] : &:r2070_3, ~m? +# 2070| v2070_5(void) = ConditionalBranch : r2070_4 #-----| False -> Block 12 #-----| True -> Block 11 -# 2022| Block 8 -# 2022| r2022_18(glval) = VariableAddress[#temp2022:13] : -# 2022| mu2022_19(TernaryNonPodObj) = Uninitialized[#temp2022:13] : &:r2022_18 -# 2022| r2022_20(glval) = FunctionAddress[TernaryNonPodObj] : -# 2022| v2022_21(void) = Call[TernaryNonPodObj] : func:r2022_20, this:r2022_18 -# 2022| mu2022_22(unknown) = ^CallSideEffect : ~m? -# 2022| mu2022_23(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2022_18 -# 2022| r2022_24(TernaryNonPodObj) = Load[#temp2022:13] : &:r2022_18, ~m? -# 2022| r2022_25(glval) = VariableAddress[#temp2022:9] : -# 2022| mu2022_26(TernaryNonPodObj) = Store[#temp2022:9] : &:r2022_25, r2022_24 +# 2069| Block 8 +# 2069| r2069_18(glval) = VariableAddress[#temp2069:13] : +# 2069| mu2069_19(TernaryNonPodObj) = Uninitialized[#temp2069:13] : &:r2069_18 +# 2069| r2069_20(glval) = FunctionAddress[TernaryNonPodObj] : +# 2069| v2069_21(void) = Call[TernaryNonPodObj] : func:r2069_20, this:r2069_18 +# 2069| mu2069_22(unknown) = ^CallSideEffect : ~m? +# 2069| mu2069_23(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_18 +# 2069| r2069_24(TernaryNonPodObj) = Load[#temp2069:13] : &:r2069_18, ~m? +# 2069| r2069_25(glval) = VariableAddress[#temp2069:9] : +# 2069| mu2069_26(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_25, r2069_24 #-----| Goto -> Block 7 -# 2022| Block 9 -# 2022| r2022_27(glval) = VariableAddress[#temp2022:34] : -# 2022| mu2022_28(TernaryNonPodObj) = Uninitialized[#temp2022:34] : &:r2022_27 -# 2022| r2022_29(glval) = FunctionAddress[TernaryNonPodObj] : -# 2022| v2022_30(void) = Call[TernaryNonPodObj] : func:r2022_29, this:r2022_27 -# 2022| mu2022_31(unknown) = ^CallSideEffect : ~m? -# 2022| mu2022_32(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2022_27 -# 2022| r2022_33(TernaryNonPodObj) = Load[#temp2022:34] : &:r2022_27, ~m? -# 2022| r2022_34(glval) = VariableAddress[#temp2022:9] : -# 2022| mu2022_35(TernaryNonPodObj) = Store[#temp2022:9] : &:r2022_34, r2022_33 +# 2069| Block 9 +# 2069| r2069_27(glval) = VariableAddress[#temp2069:34] : +# 2069| mu2069_28(TernaryNonPodObj) = Uninitialized[#temp2069:34] : &:r2069_27 +# 2069| r2069_29(glval) = FunctionAddress[TernaryNonPodObj] : +# 2069| v2069_30(void) = Call[TernaryNonPodObj] : func:r2069_29, this:r2069_27 +# 2069| mu2069_31(unknown) = ^CallSideEffect : ~m? +# 2069| mu2069_32(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_27 +# 2069| r2069_33(TernaryNonPodObj) = Load[#temp2069:34] : &:r2069_27, ~m? +# 2069| r2069_34(glval) = VariableAddress[#temp2069:9] : +# 2069| mu2069_35(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_34, r2069_33 #-----| Goto -> Block 7 -# 2023| Block 10 -# 2023| r2023_6(glval) = VariableAddress[#temp2023:10] : -# 2023| r2023_7(glval) = Load[#temp2023:10] : &:r2023_6, ~m? -# 2023| r2023_8(glval) = Convert : r2023_7 -# 2023| r2023_9(TernaryNonPodObj &) = CopyValue : r2023_8 -# 2023| r2023_10(TernaryNonPodObj &) = Call[operator=] : func:r2023_2, this:r2023_1, 0:r2023_9 -# 2023| mu2023_11(unknown) = ^CallSideEffect : ~m? -# 2023| v2023_12(void) = ^IndirectReadSideEffect[-1] : &:r2023_1, ~m? -# 2023| v2023_13(void) = ^BufferReadSideEffect[0] : &:r2023_9, ~m? -# 2023| mu2023_14(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2023_1 -# 2023| r2023_15(glval) = CopyValue : r2023_10 -# 2023| r2023_16(glval) = FunctionAddress[operator=] : -# 2023| r2023_17(glval) = VariableAddress[#temp2023:23] : -# 2023| mu2023_18(TernaryNonPodObj) = Uninitialized[#temp2023:23] : &:r2023_17 -# 2023| r2023_19(glval) = FunctionAddress[TernaryNonPodObj] : -# 2023| v2023_20(void) = Call[TernaryNonPodObj] : func:r2023_19, this:r2023_17 -# 2023| mu2023_21(unknown) = ^CallSideEffect : ~m? -# 2023| mu2023_22(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2023_17 -# 2023| r2023_23(glval) = Convert : r2023_17 -# 2023| r2023_24(TernaryNonPodObj &) = CopyValue : r2023_23 -# 2023| r2023_25(TernaryNonPodObj &) = Call[operator=] : func:r2023_16, this:r2023_15, 0:r2023_24 -# 2023| mu2023_26(unknown) = ^CallSideEffect : ~m? -# 2023| v2023_27(void) = ^IndirectReadSideEffect[-1] : &:r2023_15, ~m? -# 2023| v2023_28(void) = ^BufferReadSideEffect[0] : &:r2023_24, ~m? -# 2023| mu2023_29(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2023_15 -# 2023| r2023_30(glval) = CopyValue : r2023_25 -# 2024| v2024_1(void) = NoOp : -# 2019| v2019_12(void) = ReturnVoid : -# 2019| v2019_13(void) = AliasedUse : ~m? -# 2019| v2019_14(void) = ExitFunction : +# 2070| Block 10 +# 2070| r2070_6(glval) = VariableAddress[#temp2070:10] : +# 2070| r2070_7(glval) = Load[#temp2070:10] : &:r2070_6, ~m? +# 2070| r2070_8(glval) = Convert : r2070_7 +# 2070| r2070_9(TernaryNonPodObj &) = CopyValue : r2070_8 +# 2070| r2070_10(TernaryNonPodObj &) = Call[operator=] : func:r2070_2, this:r2070_1, 0:r2070_9 +# 2070| mu2070_11(unknown) = ^CallSideEffect : ~m? +# 2070| v2070_12(void) = ^IndirectReadSideEffect[-1] : &:r2070_1, ~m? +# 2070| v2070_13(void) = ^BufferReadSideEffect[0] : &:r2070_9, ~m? +# 2070| mu2070_14(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_1 +# 2070| r2070_15(glval) = CopyValue : r2070_10 +# 2070| r2070_16(glval) = FunctionAddress[operator=] : +# 2070| r2070_17(glval) = VariableAddress[#temp2070:23] : +# 2070| mu2070_18(TernaryNonPodObj) = Uninitialized[#temp2070:23] : &:r2070_17 +# 2070| r2070_19(glval) = FunctionAddress[TernaryNonPodObj] : +# 2070| v2070_20(void) = Call[TernaryNonPodObj] : func:r2070_19, this:r2070_17 +# 2070| mu2070_21(unknown) = ^CallSideEffect : ~m? +# 2070| mu2070_22(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_17 +# 2070| r2070_23(glval) = Convert : r2070_17 +# 2070| r2070_24(TernaryNonPodObj &) = CopyValue : r2070_23 +# 2070| r2070_25(TernaryNonPodObj &) = Call[operator=] : func:r2070_16, this:r2070_15, 0:r2070_24 +# 2070| mu2070_26(unknown) = ^CallSideEffect : ~m? +# 2070| v2070_27(void) = ^IndirectReadSideEffect[-1] : &:r2070_15, ~m? +# 2070| v2070_28(void) = ^BufferReadSideEffect[0] : &:r2070_24, ~m? +# 2070| mu2070_29(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_15 +# 2070| r2070_30(glval) = CopyValue : r2070_25 +# 2071| v2071_1(void) = NoOp : +# 2066| v2066_12(void) = ReturnVoid : +# 2066| v2066_13(void) = AliasedUse : ~m? +# 2066| v2066_14(void) = ExitFunction : -# 2023| Block 11 -# 2023| r2023_31(glval) = VariableAddress[x] : -# 2023| r2023_32(glval) = VariableAddress[#temp2023:10] : -# 2023| mu2023_33(glval) = Store[#temp2023:10] : &:r2023_32, r2023_31 +# 2070| Block 11 +# 2070| r2070_31(glval) = VariableAddress[x] : +# 2070| r2070_32(glval) = VariableAddress[#temp2070:10] : +# 2070| mu2070_33(glval) = Store[#temp2070:10] : &:r2070_32, r2070_31 #-----| Goto -> Block 10 -# 2023| Block 12 -# 2023| r2023_34(glval) = VariableAddress[y] : -# 2023| r2023_35(glval) = VariableAddress[#temp2023:10] : -# 2023| mu2023_36(glval) = Store[#temp2023:10] : &:r2023_35, r2023_34 +# 2070| Block 12 +# 2070| r2070_34(glval) = VariableAddress[y] : +# 2070| r2070_35(glval) = VariableAddress[#temp2070:10] : +# 2070| mu2070_36(glval) = Store[#temp2070:10] : &:r2070_35, r2070_34 #-----| Goto -> Block 10 -# 2028| unsigned int CommaTest(unsigned int) -# 2028| Block 0 -# 2028| v2028_1(void) = EnterFunction : -# 2028| mu2028_2(unknown) = AliasedDefinition : -# 2028| mu2028_3(unknown) = InitializeNonLocal : -# 2028| r2028_4(glval) = VariableAddress[x] : -# 2028| mu2028_5(unsigned int) = InitializeParameter[x] : &:r2028_4 -# 2029| r2029_1(glval) = VariableAddress[y] : -# 2029| mu2029_2(unsigned int) = Uninitialized[y] : &:r2029_1 -# 2030| r2030_1(glval) = VariableAddress[x] : -# 2030| r2030_2(unsigned int) = Load[x] : &:r2030_1, ~m? -# 2030| r2030_3(unsigned int) = Constant[100] : -# 2030| r2030_4(bool) = CompareLT : r2030_2, r2030_3 -# 2030| v2030_5(void) = ConditionalBranch : r2030_4 +# 2075| unsigned int CommaTest(unsigned int) +# 2075| Block 0 +# 2075| v2075_1(void) = EnterFunction : +# 2075| mu2075_2(unknown) = AliasedDefinition : +# 2075| mu2075_3(unknown) = InitializeNonLocal : +# 2075| r2075_4(glval) = VariableAddress[x] : +# 2075| mu2075_5(unsigned int) = InitializeParameter[x] : &:r2075_4 +# 2076| r2076_1(glval) = VariableAddress[y] : +# 2076| mu2076_2(unsigned int) = Uninitialized[y] : &:r2076_1 +# 2077| r2077_1(glval) = VariableAddress[x] : +# 2077| r2077_2(unsigned int) = Load[x] : &:r2077_1, ~m? +# 2077| r2077_3(unsigned int) = Constant[100] : +# 2077| r2077_4(bool) = CompareLT : r2077_2, r2077_3 +# 2077| v2077_5(void) = ConditionalBranch : r2077_4 #-----| False -> Block 3 #-----| True -> Block 2 -# 2030| Block 1 -# 2030| r2030_6(glval) = VariableAddress[#temp2030:7] : -# 2030| r2030_7(unsigned int) = Load[#temp2030:7] : &:r2030_6, ~m? -# 2030| r2030_8(glval) = VariableAddress[y] : -# 2030| mu2030_9(unsigned int) = Store[y] : &:r2030_8, r2030_7 -# 2033| r2033_1(glval) = VariableAddress[#return] : -# 2033| mu2033_2(unsigned int) = Uninitialized[#return] : &:r2033_1 -# 2028| r2028_6(glval) = VariableAddress[#return] : -# 2028| v2028_7(void) = ReturnValue : &:r2028_6, ~m? -# 2028| v2028_8(void) = AliasedUse : ~m? -# 2028| v2028_9(void) = ExitFunction : +# 2077| Block 1 +# 2077| r2077_6(glval) = VariableAddress[#temp2077:7] : +# 2077| r2077_7(unsigned int) = Load[#temp2077:7] : &:r2077_6, ~m? +# 2077| r2077_8(glval) = VariableAddress[y] : +# 2077| mu2077_9(unsigned int) = Store[y] : &:r2077_8, r2077_7 +# 2080| r2080_1(glval) = VariableAddress[#return] : +# 2080| mu2080_2(unsigned int) = Uninitialized[#return] : &:r2080_1 +# 2075| r2075_6(glval) = VariableAddress[#return] : +# 2075| v2075_7(void) = ReturnValue : &:r2075_6, ~m? +# 2075| v2075_8(void) = AliasedUse : ~m? +# 2075| v2075_9(void) = ExitFunction : -# 2031| Block 2 -# 2031| r2031_1(glval) = FunctionAddress[CommaTestHelper] : -# 2031| r2031_2(glval) = VariableAddress[x] : -# 2031| r2031_3(unsigned int) = Load[x] : &:r2031_2, ~m? -# 2031| v2031_4(void) = Call[CommaTestHelper] : func:r2031_1, 0:r2031_3 -# 2031| mu2031_5(unknown) = ^CallSideEffect : ~m? -# 2031| r2031_6(glval) = VariableAddress[x] : -# 2031| r2031_7(unsigned int) = Load[x] : &:r2031_6, ~m? -# 2031| r2031_8(unsigned int) = CopyValue : r2031_7 -# 2030| r2030_10(glval) = VariableAddress[#temp2030:7] : -# 2030| mu2030_11(unsigned int) = Store[#temp2030:7] : &:r2030_10, r2031_8 +# 2078| Block 2 +# 2078| r2078_1(glval) = FunctionAddress[CommaTestHelper] : +# 2078| r2078_2(glval) = VariableAddress[x] : +# 2078| r2078_3(unsigned int) = Load[x] : &:r2078_2, ~m? +# 2078| v2078_4(void) = Call[CommaTestHelper] : func:r2078_1, 0:r2078_3 +# 2078| mu2078_5(unknown) = ^CallSideEffect : ~m? +# 2078| r2078_6(glval) = VariableAddress[x] : +# 2078| r2078_7(unsigned int) = Load[x] : &:r2078_6, ~m? +# 2078| r2078_8(unsigned int) = CopyValue : r2078_7 +# 2077| r2077_10(glval) = VariableAddress[#temp2077:7] : +# 2077| mu2077_11(unsigned int) = Store[#temp2077:7] : &:r2077_10, r2078_8 #-----| Goto -> Block 1 -# 2032| Block 3 -# 2032| r2032_1(glval) = FunctionAddress[CommaTestHelper] : -# 2032| r2032_2(glval) = VariableAddress[x] : -# 2032| r2032_3(unsigned int) = Load[x] : &:r2032_2, ~m? -# 2032| v2032_4(void) = Call[CommaTestHelper] : func:r2032_1, 0:r2032_3 -# 2032| mu2032_5(unknown) = ^CallSideEffect : ~m? -# 2032| r2032_6(int) = Constant[10] : -# 2032| r2032_7(int) = CopyValue : r2032_6 -# 2032| r2032_8(unsigned int) = Convert : r2032_7 -# 2030| r2030_12(glval) = VariableAddress[#temp2030:7] : -# 2030| mu2030_13(unsigned int) = Store[#temp2030:7] : &:r2030_12, r2032_8 +# 2079| Block 3 +# 2079| r2079_1(glval) = FunctionAddress[CommaTestHelper] : +# 2079| r2079_2(glval) = VariableAddress[x] : +# 2079| r2079_3(unsigned int) = Load[x] : &:r2079_2, ~m? +# 2079| v2079_4(void) = Call[CommaTestHelper] : func:r2079_1, 0:r2079_3 +# 2079| mu2079_5(unknown) = ^CallSideEffect : ~m? +# 2079| r2079_6(int) = Constant[10] : +# 2079| r2079_7(int) = CopyValue : r2079_6 +# 2079| r2079_8(unsigned int) = Convert : r2079_7 +# 2077| r2077_12(glval) = VariableAddress[#temp2077:7] : +# 2077| mu2077_13(unsigned int) = Store[#temp2077:7] : &:r2077_12, r2079_8 #-----| Goto -> Block 1 -# 2035| void NewDeleteMem() -# 2035| Block 0 -# 2035| v2035_1(void) = EnterFunction : -# 2035| mu2035_2(unknown) = AliasedDefinition : -# 2035| mu2035_3(unknown) = InitializeNonLocal : -# 2036| r2036_1(glval) = VariableAddress[x] : -# 2036| r2036_2(glval) = FunctionAddress[operator new] : -# 2036| r2036_3(unsigned long) = Constant[4] : -# 2036| r2036_4(void *) = Call[operator new] : func:r2036_2, 0:r2036_3 -# 2036| mu2036_5(unknown) = ^CallSideEffect : ~m? -# 2036| mu2036_6(unknown) = ^InitializeDynamicAllocation : &:r2036_4 -# 2036| r2036_7(int *) = Convert : r2036_4 -# 2036| mu2036_8(int *) = Store[x] : &:r2036_1, r2036_7 -# 2037| r2037_1(int) = Constant[6] : -# 2037| r2037_2(glval) = VariableAddress[x] : -# 2037| r2037_3(int *) = Load[x] : &:r2037_2, ~m? -# 2037| r2037_4(glval) = CopyValue : r2037_3 -# 2037| mu2037_5(int) = Store[?] : &:r2037_4, r2037_1 -# 2038| r2038_1(glval) = FunctionAddress[operator delete] : -# 2038| r2038_2(glval) = VariableAddress[x] : -# 2038| r2038_3(int *) = Load[x] : &:r2038_2, ~m? -# 2038| v2038_4(void) = Call[operator delete] : func:r2038_1, 0:r2038_3 -# 2038| mu2038_5(unknown) = ^CallSideEffect : ~m? -# 2039| v2039_1(void) = NoOp : -# 2035| v2035_4(void) = ReturnVoid : -# 2035| v2035_5(void) = AliasedUse : ~m? -# 2035| v2035_6(void) = ExitFunction : +# 2082| void NewDeleteMem() +# 2082| Block 0 +# 2082| v2082_1(void) = EnterFunction : +# 2082| mu2082_2(unknown) = AliasedDefinition : +# 2082| mu2082_3(unknown) = InitializeNonLocal : +# 2083| r2083_1(glval) = VariableAddress[x] : +# 2083| r2083_2(glval) = FunctionAddress[operator new] : +# 2083| r2083_3(unsigned long) = Constant[4] : +# 2083| r2083_4(void *) = Call[operator new] : func:r2083_2, 0:r2083_3 +# 2083| mu2083_5(unknown) = ^CallSideEffect : ~m? +# 2083| mu2083_6(unknown) = ^InitializeDynamicAllocation : &:r2083_4 +# 2083| r2083_7(int *) = Convert : r2083_4 +# 2083| mu2083_8(int *) = Store[x] : &:r2083_1, r2083_7 +# 2084| r2084_1(int) = Constant[6] : +# 2084| r2084_2(glval) = VariableAddress[x] : +# 2084| r2084_3(int *) = Load[x] : &:r2084_2, ~m? +# 2084| r2084_4(glval) = CopyValue : r2084_3 +# 2084| mu2084_5(int) = Store[?] : &:r2084_4, r2084_1 +# 2085| r2085_1(glval) = FunctionAddress[operator delete] : +# 2085| r2085_2(glval) = VariableAddress[x] : +# 2085| r2085_3(int *) = Load[x] : &:r2085_2, ~m? +# 2085| v2085_4(void) = Call[operator delete] : func:r2085_1, 0:r2085_3 +# 2085| mu2085_5(unknown) = ^CallSideEffect : ~m? +# 2086| v2086_1(void) = NoOp : +# 2082| v2082_4(void) = ReturnVoid : +# 2082| v2082_5(void) = AliasedUse : ~m? +# 2082| v2082_6(void) = ExitFunction : -# 2041| void Base2::Base2() -# 2041| Block 0 -# 2041| v2041_1(void) = EnterFunction : -# 2041| mu2041_2(unknown) = AliasedDefinition : -# 2041| mu2041_3(unknown) = InitializeNonLocal : -# 2041| r2041_4(glval) = VariableAddress[#this] : -# 2041| mu2041_5(glval) = InitializeParameter[#this] : &:r2041_4 -# 2041| r2041_6(glval) = Load[#this] : &:r2041_4, ~m? -# 2041| mu2041_7(Base2) = InitializeIndirection[#this] : &:r2041_6 -# 2041| v2041_8(void) = NoOp : -# 2041| v2041_9(void) = ReturnIndirection[#this] : &:r2041_6, ~m? -# 2041| v2041_10(void) = ReturnVoid : -# 2041| v2041_11(void) = AliasedUse : ~m? -# 2041| v2041_12(void) = ExitFunction : +# 2088| void Base2::Base2() +# 2088| Block 0 +# 2088| v2088_1(void) = EnterFunction : +# 2088| mu2088_2(unknown) = AliasedDefinition : +# 2088| mu2088_3(unknown) = InitializeNonLocal : +# 2088| r2088_4(glval) = VariableAddress[#this] : +# 2088| mu2088_5(glval) = InitializeParameter[#this] : &:r2088_4 +# 2088| r2088_6(glval) = Load[#this] : &:r2088_4, ~m? +# 2088| mu2088_7(Base2) = InitializeIndirection[#this] : &:r2088_6 +# 2088| v2088_8(void) = NoOp : +# 2088| v2088_9(void) = ReturnIndirection[#this] : &:r2088_6, ~m? +# 2088| v2088_10(void) = ReturnVoid : +# 2088| v2088_11(void) = AliasedUse : ~m? +# 2088| v2088_12(void) = ExitFunction : -# 2043| void Base2::operator delete(void*) -# 2043| Block 0 -# 2043| v2043_1(void) = EnterFunction : -# 2043| mu2043_2(unknown) = AliasedDefinition : -# 2043| mu2043_3(unknown) = InitializeNonLocal : -# 2043| r2043_4(glval) = VariableAddress[p] : -# 2043| mu2043_5(void *) = InitializeParameter[p] : &:r2043_4 -# 2043| r2043_6(void *) = Load[p] : &:r2043_4, ~m? -# 2043| mu2043_7(unknown) = InitializeIndirection[p] : &:r2043_6 -# 2044| v2044_1(void) = NoOp : -# 2043| v2043_8(void) = ReturnIndirection[p] : &:r2043_6, ~m? -# 2043| v2043_9(void) = ReturnVoid : -# 2043| v2043_10(void) = AliasedUse : ~m? -# 2043| v2043_11(void) = ExitFunction : +# 2090| void Base2::operator delete(void*) +# 2090| Block 0 +# 2090| v2090_1(void) = EnterFunction : +# 2090| mu2090_2(unknown) = AliasedDefinition : +# 2090| mu2090_3(unknown) = InitializeNonLocal : +# 2090| r2090_4(glval) = VariableAddress[p] : +# 2090| mu2090_5(void *) = InitializeParameter[p] : &:r2090_4 +# 2090| r2090_6(void *) = Load[p] : &:r2090_4, ~m? +# 2090| mu2090_7(unknown) = InitializeIndirection[p] : &:r2090_6 +# 2091| v2091_1(void) = NoOp : +# 2090| v2090_8(void) = ReturnIndirection[p] : &:r2090_6, ~m? +# 2090| v2090_9(void) = ReturnVoid : +# 2090| v2090_10(void) = AliasedUse : ~m? +# 2090| v2090_11(void) = ExitFunction : -# 2045| void Base2::~Base2() -# 2045| Block 0 -# 2045| v2045_1(void) = EnterFunction : -# 2045| mu2045_2(unknown) = AliasedDefinition : -# 2045| mu2045_3(unknown) = InitializeNonLocal : -# 2045| r2045_4(glval) = VariableAddress[#this] : -# 2045| mu2045_5(glval) = InitializeParameter[#this] : &:r2045_4 -# 2045| r2045_6(glval) = Load[#this] : &:r2045_4, ~m? -# 2045| mu2045_7(Base2) = InitializeIndirection[#this] : &:r2045_6 -# 2045| v2045_8(void) = NoOp : -# 2045| v2045_9(void) = ReturnIndirection[#this] : &:r2045_6, ~m? -# 2045| v2045_10(void) = ReturnVoid : -# 2045| v2045_11(void) = AliasedUse : ~m? -# 2045| v2045_12(void) = ExitFunction : - -# 2048| void Derived2::Derived2() -# 2048| Block 0 -# 2048| v2048_1(void) = EnterFunction : -# 2048| mu2048_2(unknown) = AliasedDefinition : -# 2048| mu2048_3(unknown) = InitializeNonLocal : -# 2048| r2048_4(glval) = VariableAddress[#this] : -# 2048| mu2048_5(glval) = InitializeParameter[#this] : &:r2048_4 -# 2048| r2048_6(glval) = Load[#this] : &:r2048_4, ~m? -# 2048| mu2048_7(Derived2) = InitializeIndirection[#this] : &:r2048_6 -# 2048| r2048_8(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : mu2048_5 -# 2048| r2048_9(glval) = FunctionAddress[Base2] : -# 2048| v2048_10(void) = Call[Base2] : func:r2048_9, this:r2048_8 -# 2048| mu2048_11(unknown) = ^CallSideEffect : ~m? -# 2048| mu2048_12(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2048_8 -# 2048| v2048_13(void) = NoOp : -# 2048| v2048_14(void) = ReturnIndirection[#this] : &:r2048_6, ~m? -# 2048| v2048_15(void) = ReturnVoid : -# 2048| v2048_16(void) = AliasedUse : ~m? -# 2048| v2048_17(void) = ExitFunction : - -# 2051| void Derived2::~Derived2() -# 2051| Block 0 -# 2051| v2051_1(void) = EnterFunction : -# 2051| mu2051_2(unknown) = AliasedDefinition : -# 2051| mu2051_3(unknown) = InitializeNonLocal : -# 2051| r2051_4(glval) = VariableAddress[#this] : -# 2051| mu2051_5(glval) = InitializeParameter[#this] : &:r2051_4 -# 2051| r2051_6(glval) = Load[#this] : &:r2051_4, ~m? -# 2051| mu2051_7(Derived2) = InitializeIndirection[#this] : &:r2051_6 -# 2051| v2051_8(void) = NoOp : -# 2051| r2051_9(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : mu2051_5 -# 2051| r2051_10(glval) = FunctionAddress[~Base2] : -# 2051| v2051_11(void) = Call[~Base2] : func:r2051_10, this:r2051_9 -# 2051| mu2051_12(unknown) = ^CallSideEffect : ~m? -# 2051| v2051_13(void) = ReturnIndirection[#this] : &:r2051_6, ~m? -# 2051| v2051_14(void) = ReturnVoid : -# 2051| v2051_15(void) = AliasedUse : ~m? -# 2051| v2051_16(void) = ExitFunction : - -# 2053| void Derived2::operator delete(void*) -# 2053| Block 0 -# 2053| v2053_1(void) = EnterFunction : -# 2053| mu2053_2(unknown) = AliasedDefinition : -# 2053| mu2053_3(unknown) = InitializeNonLocal : -# 2053| r2053_4(glval) = VariableAddress[p] : -# 2053| mu2053_5(void *) = InitializeParameter[p] : &:r2053_4 -# 2053| r2053_6(void *) = Load[p] : &:r2053_4, ~m? -# 2053| mu2053_7(unknown) = InitializeIndirection[p] : &:r2053_6 -# 2054| v2054_1(void) = NoOp : -# 2053| v2053_8(void) = ReturnIndirection[p] : &:r2053_6, ~m? -# 2053| v2053_9(void) = ReturnVoid : -# 2053| v2053_10(void) = AliasedUse : ~m? -# 2053| v2053_11(void) = ExitFunction : - -# 2058| int virtual_delete() -# 2058| Block 0 -# 2058| v2058_1(void) = EnterFunction : -# 2058| mu2058_2(unknown) = AliasedDefinition : -# 2058| mu2058_3(unknown) = InitializeNonLocal : -# 2060| r2060_1(glval) = VariableAddress[b1] : -# 2060| r2060_2(glval) = FunctionAddress[operator new] : -# 2060| r2060_3(unsigned long) = Constant[8] : -# 2060| r2060_4(void *) = Call[operator new] : func:r2060_2, 0:r2060_3 -# 2060| mu2060_5(unknown) = ^CallSideEffect : ~m? -# 2060| mu2060_6(unknown) = ^InitializeDynamicAllocation : &:r2060_4 -# 2060| r2060_7(Base2 *) = Convert : r2060_4 -# 2060| r2060_8(glval) = FunctionAddress[Base2] : -# 2060| v2060_9(void) = Call[Base2] : func:r2060_8, this:r2060_7 -# 2060| mu2060_10(unknown) = ^CallSideEffect : ~m? -# 2060| mu2060_11(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2060_7 -# 2060| mu2060_12(Base2 *) = Store[b1] : &:r2060_1, r2060_7 -# 2061| r2061_1(glval) = VirtualDeleteFunctionAddress : -# 2061| r2061_2(glval) = VariableAddress[b1] : -# 2061| r2061_3(Base2 *) = Load[b1] : &:r2061_2, ~m? -# 2061| v2061_4(void) = Call[?] : func:r2061_1, 0:r2061_3 -# 2061| mu2061_5(unknown) = ^CallSideEffect : ~m? -# 2063| r2063_1(glval) = VariableAddress[b2] : -# 2063| r2063_2(glval) = FunctionAddress[operator new] : -# 2063| r2063_3(unsigned long) = Constant[16] : -# 2063| r2063_4(void *) = Call[operator new] : func:r2063_2, 0:r2063_3 -# 2063| mu2063_5(unknown) = ^CallSideEffect : ~m? -# 2063| mu2063_6(unknown) = ^InitializeDynamicAllocation : &:r2063_4 -# 2063| r2063_7(Derived2 *) = Convert : r2063_4 -# 2063| r2063_8(glval) = FunctionAddress[Derived2] : -# 2063| v2063_9(void) = Call[Derived2] : func:r2063_8, this:r2063_7 -# 2063| mu2063_10(unknown) = ^CallSideEffect : ~m? -# 2063| mu2063_11(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2063_7 -# 2063| r2063_12(Base2 *) = ConvertToNonVirtualBase[Derived2 : Base2] : r2063_7 -# 2063| mu2063_13(Base2 *) = Store[b2] : &:r2063_1, r2063_12 -# 2064| r2064_1(glval) = VirtualDeleteFunctionAddress : -# 2064| r2064_2(glval) = VariableAddress[b2] : -# 2064| r2064_3(Base2 *) = Load[b2] : &:r2064_2, ~m? -# 2064| v2064_4(void) = Call[?] : func:r2064_1, 0:r2064_3 -# 2064| mu2064_5(unknown) = ^CallSideEffect : ~m? -# 2066| r2066_1(glval) = VariableAddress[d] : -# 2066| r2066_2(glval) = FunctionAddress[operator new] : -# 2066| r2066_3(unsigned long) = Constant[16] : -# 2066| r2066_4(void *) = Call[operator new] : func:r2066_2, 0:r2066_3 -# 2066| mu2066_5(unknown) = ^CallSideEffect : ~m? -# 2066| mu2066_6(unknown) = ^InitializeDynamicAllocation : &:r2066_4 -# 2066| r2066_7(Derived2 *) = Convert : r2066_4 -# 2066| r2066_8(glval) = FunctionAddress[Derived2] : -# 2066| v2066_9(void) = Call[Derived2] : func:r2066_8, this:r2066_7 -# 2066| mu2066_10(unknown) = ^CallSideEffect : ~m? -# 2066| mu2066_11(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2066_7 -# 2066| mu2066_12(Derived2 *) = Store[d] : &:r2066_1, r2066_7 -# 2067| r2067_1(glval) = VirtualDeleteFunctionAddress : -# 2067| r2067_2(glval) = VariableAddress[d] : -# 2067| r2067_3(Derived2 *) = Load[d] : &:r2067_2, ~m? -# 2067| v2067_4(void) = Call[?] : func:r2067_1, 0:r2067_3 -# 2067| mu2067_5(unknown) = ^CallSideEffect : ~m? -# 2068| r2068_1(glval) = VariableAddress[#return] : -# 2068| mu2068_2(int) = Uninitialized[#return] : &:r2068_1 -# 2058| r2058_4(glval) = VariableAddress[#return] : -# 2058| v2058_5(void) = ReturnValue : &:r2058_4, ~m? -# 2058| v2058_6(void) = AliasedUse : ~m? -# 2058| v2058_7(void) = ExitFunction : - -# 2072| void test_constant_folding() -# 2072| Block 0 -# 2072| v2072_1(void) = EnterFunction : -# 2072| mu2072_2(unknown) = AliasedDefinition : -# 2072| mu2072_3(unknown) = InitializeNonLocal : -# 2073| r2073_1(glval) = VariableAddress[x] : -# 2073| r2073_2(int) = Constant[116] : -# 2073| mu2073_3(int) = Store[x] : &:r2073_1, r2073_2 -# 2074| r2074_1(glval) = FunctionAddress[test_constant_folding_use] : -# 2074| r2074_2(int) = Constant[116] : -# 2074| v2074_3(void) = Call[test_constant_folding_use] : func:r2074_1, 0:r2074_2 -# 2074| mu2074_4(unknown) = ^CallSideEffect : ~m? -# 2075| v2075_1(void) = NoOp : -# 2072| v2072_4(void) = ReturnVoid : -# 2072| v2072_5(void) = AliasedUse : ~m? -# 2072| v2072_6(void) = ExitFunction : - -# 2079| int NonExit() -# 2079| Block 0 -# 2079| v2079_1(void) = EnterFunction : -# 2079| mu2079_2(unknown) = AliasedDefinition : -# 2079| mu2079_3(unknown) = InitializeNonLocal : -# 2080| r2080_1(glval) = VariableAddress[x] : -# 2080| r2080_2(glval) = FunctionAddress[Add] : -# 2080| r2080_3(int) = Constant[3] : -# 2080| r2080_4(int) = Constant[4] : -# 2080| r2080_5(int) = Call[Add] : func:r2080_2, 0:r2080_3, 1:r2080_4 -# 2080| mu2080_6(unknown) = ^CallSideEffect : ~m? -# 2080| mu2080_7(int) = Store[x] : &:r2080_1, r2080_5 -# 2081| r2081_1(glval) = VariableAddress[x] : -# 2081| r2081_2(int) = Load[x] : &:r2081_1, ~m? -# 2081| r2081_3(int) = Constant[7] : -# 2081| r2081_4(bool) = CompareEQ : r2081_2, r2081_3 -# 2081| v2081_5(void) = ConditionalBranch : r2081_4 -#-----| False -> Block 2 -#-----| True -> Block 1 - -# 2082| Block 1 -# 2082| r2082_1(glval) = FunctionAddress[exit] : -# 2082| r2082_2(int) = Constant[3] : -# 2082| v2082_3(void) = Call[exit] : func:r2082_1, 0:r2082_2 -# 2082| mu2082_4(unknown) = ^CallSideEffect : ~m? -# 2079| v2079_4(void) = Unreached : - -# 2083| Block 2 -# 2083| r2083_1(glval) = FunctionAddress[VoidFunc] : -# 2083| v2083_2(void) = Call[VoidFunc] : func:r2083_1 -# 2083| mu2083_3(unknown) = ^CallSideEffect : ~m? -# 2084| r2084_1(glval) = VariableAddress[#return] : -# 2084| r2084_2(glval) = VariableAddress[x] : -# 2084| r2084_3(int) = Load[x] : &:r2084_2, ~m? -# 2084| mu2084_4(int) = Store[#return] : &:r2084_1, r2084_3 -# 2079| r2079_5(glval) = VariableAddress[#return] : -# 2079| v2079_6(void) = ReturnValue : &:r2079_5, ~m? -# 2079| v2079_7(void) = AliasedUse : ~m? -# 2079| v2079_8(void) = ExitFunction : - -# 2087| void CallsNonExit() -# 2087| Block 0 -# 2087| v2087_1(void) = EnterFunction : -# 2087| mu2087_2(unknown) = AliasedDefinition : -# 2087| mu2087_3(unknown) = InitializeNonLocal : -# 2088| r2088_1(glval) = FunctionAddress[VoidFunc] : -# 2088| v2088_2(void) = Call[VoidFunc] : func:r2088_1 -# 2088| mu2088_3(unknown) = ^CallSideEffect : ~m? -# 2089| r2089_1(glval) = FunctionAddress[exit] : -# 2089| r2089_2(int) = Constant[3] : -# 2089| v2089_3(void) = Call[exit] : func:r2089_1, 0:r2089_2 -# 2089| mu2089_4(unknown) = ^CallSideEffect : ~m? -# 2087| v2087_4(void) = Unreached : - -# 2090| Block 1 -# 2090| v2090_1(void) = NoOp : -# 2087| v2087_5(void) = ReturnVoid : -# 2087| v2087_6(void) = AliasedUse : ~m? -# 2087| v2087_7(void) = ExitFunction : - -# 2092| int TransNonExit() +# 2092| void Base2::~Base2() # 2092| Block 0 -# 2092| v2092_1(void) = EnterFunction : -# 2092| mu2092_2(unknown) = AliasedDefinition : -# 2092| mu2092_3(unknown) = InitializeNonLocal : -# 2093| r2093_1(glval) = VariableAddress[x] : -# 2093| r2093_2(glval) = FunctionAddress[Add] : -# 2093| r2093_3(int) = Constant[3] : -# 2093| r2093_4(int) = Constant[4] : -# 2093| r2093_5(int) = Call[Add] : func:r2093_2, 0:r2093_3, 1:r2093_4 -# 2093| mu2093_6(unknown) = ^CallSideEffect : ~m? -# 2093| mu2093_7(int) = Store[x] : &:r2093_1, r2093_5 -# 2094| r2094_1(glval) = VariableAddress[x] : -# 2094| r2094_2(int) = Load[x] : &:r2094_1, ~m? -# 2094| r2094_3(int) = Constant[7] : -# 2094| r2094_4(bool) = CompareEQ : r2094_2, r2094_3 -# 2094| v2094_5(void) = ConditionalBranch : r2094_4 -#-----| False -> Block 2 -#-----| True -> Block 1 +# 2092| v2092_1(void) = EnterFunction : +# 2092| mu2092_2(unknown) = AliasedDefinition : +# 2092| mu2092_3(unknown) = InitializeNonLocal : +# 2092| r2092_4(glval) = VariableAddress[#this] : +# 2092| mu2092_5(glval) = InitializeParameter[#this] : &:r2092_4 +# 2092| r2092_6(glval) = Load[#this] : &:r2092_4, ~m? +# 2092| mu2092_7(Base2) = InitializeIndirection[#this] : &:r2092_6 +# 2092| v2092_8(void) = NoOp : +# 2092| v2092_9(void) = ReturnIndirection[#this] : &:r2092_6, ~m? +# 2092| v2092_10(void) = ReturnVoid : +# 2092| v2092_11(void) = AliasedUse : ~m? +# 2092| v2092_12(void) = ExitFunction : -# 2095| Block 1 -# 2095| r2095_1(glval) = FunctionAddress[CallsNonExit] : -# 2095| v2095_2(void) = Call[CallsNonExit] : func:r2095_1 -# 2095| mu2095_3(unknown) = ^CallSideEffect : ~m? -#-----| Goto -> Block 2 +# 2095| void Derived2::Derived2() +# 2095| Block 0 +# 2095| v2095_1(void) = EnterFunction : +# 2095| mu2095_2(unknown) = AliasedDefinition : +# 2095| mu2095_3(unknown) = InitializeNonLocal : +# 2095| r2095_4(glval) = VariableAddress[#this] : +# 2095| mu2095_5(glval) = InitializeParameter[#this] : &:r2095_4 +# 2095| r2095_6(glval) = Load[#this] : &:r2095_4, ~m? +# 2095| mu2095_7(Derived2) = InitializeIndirection[#this] : &:r2095_6 +# 2095| r2095_8(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : mu2095_5 +# 2095| r2095_9(glval) = FunctionAddress[Base2] : +# 2095| v2095_10(void) = Call[Base2] : func:r2095_9, this:r2095_8 +# 2095| mu2095_11(unknown) = ^CallSideEffect : ~m? +# 2095| mu2095_12(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2095_8 +# 2095| v2095_13(void) = NoOp : +# 2095| v2095_14(void) = ReturnIndirection[#this] : &:r2095_6, ~m? +# 2095| v2095_15(void) = ReturnVoid : +# 2095| v2095_16(void) = AliasedUse : ~m? +# 2095| v2095_17(void) = ExitFunction : -# 2096| Block 2 -# 2096| r2096_1(glval) = FunctionAddress[VoidFunc] : -# 2096| v2096_2(void) = Call[VoidFunc] : func:r2096_1 -# 2096| mu2096_3(unknown) = ^CallSideEffect : ~m? -# 2097| r2097_1(glval) = VariableAddress[#return] : -# 2097| r2097_2(glval) = VariableAddress[x] : -# 2097| r2097_3(int) = Load[x] : &:r2097_2, ~m? -# 2097| mu2097_4(int) = Store[#return] : &:r2097_1, r2097_3 -# 2092| r2092_4(glval) = VariableAddress[#return] : -# 2092| v2092_5(void) = ReturnValue : &:r2092_4, ~m? -# 2092| v2092_6(void) = AliasedUse : ~m? -# 2092| v2092_7(void) = ExitFunction : +# 2098| void Derived2::~Derived2() +# 2098| Block 0 +# 2098| v2098_1(void) = EnterFunction : +# 2098| mu2098_2(unknown) = AliasedDefinition : +# 2098| mu2098_3(unknown) = InitializeNonLocal : +# 2098| r2098_4(glval) = VariableAddress[#this] : +# 2098| mu2098_5(glval) = InitializeParameter[#this] : &:r2098_4 +# 2098| r2098_6(glval) = Load[#this] : &:r2098_4, ~m? +# 2098| mu2098_7(Derived2) = InitializeIndirection[#this] : &:r2098_6 +# 2098| v2098_8(void) = NoOp : +# 2098| r2098_9(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : mu2098_5 +# 2098| r2098_10(glval) = FunctionAddress[~Base2] : +# 2098| v2098_11(void) = Call[~Base2] : func:r2098_10, this:r2098_9 +# 2098| mu2098_12(unknown) = ^CallSideEffect : ~m? +# 2098| v2098_13(void) = ReturnIndirection[#this] : &:r2098_6, ~m? +# 2098| v2098_14(void) = ReturnVoid : +# 2098| v2098_15(void) = AliasedUse : ~m? +# 2098| v2098_16(void) = ExitFunction : -# 2100| void newArrayCorrectType(size_t) +# 2100| void Derived2::operator delete(void*) # 2100| Block 0 -# 2100| v2100_1(void) = EnterFunction : -# 2100| mu2100_2(unknown) = AliasedDefinition : -# 2100| mu2100_3(unknown) = InitializeNonLocal : -# 2100| r2100_4(glval) = VariableAddress[n] : -# 2100| mu2100_5(unsigned long) = InitializeParameter[n] : &:r2100_4 -# 2101| r2101_1(glval) = FunctionAddress[operator new[]] : -# 2101| r2101_2(glval) = VariableAddress[n] : -# 2101| r2101_3(unsigned long) = Load[n] : &:r2101_2, ~m? -# 2101| r2101_4(unsigned long) = Constant[4] : -# 2101| r2101_5(unsigned long) = Mul : r2101_3, r2101_4 -# 2101| r2101_6(void *) = Call[operator new[]] : func:r2101_1, 0:r2101_5 -# 2101| mu2101_7(unknown) = ^CallSideEffect : ~m? -# 2101| mu2101_8(unknown) = ^InitializeDynamicAllocation : &:r2101_6 -# 2101| r2101_9(int *) = Convert : r2101_6 -# 2102| r2102_1(glval) = FunctionAddress[operator new[]] : -# 2102| r2102_2(glval) = VariableAddress[n] : -# 2102| r2102_3(unsigned long) = Load[n] : &:r2102_2, ~m? -# 2102| r2102_4(unsigned long) = Constant[4] : -# 2102| r2102_5(unsigned long) = Mul : r2102_3, r2102_4 -# 2102| r2102_6(float) = Constant[1.0] : -# 2102| r2102_7(void *) = Call[operator new[]] : func:r2102_1, 0:r2102_5, 1:r2102_6 -# 2102| mu2102_8(unknown) = ^CallSideEffect : ~m? -# 2102| mu2102_9(unknown) = ^InitializeDynamicAllocation : &:r2102_7 -# 2102| r2102_10(int *) = Convert : r2102_7 -# 2103| r2103_1(glval) = FunctionAddress[operator new[]] : -# 2103| r2103_2(glval) = VariableAddress[n] : -# 2103| r2103_3(unsigned long) = Load[n] : &:r2103_2, ~m? -# 2103| r2103_4(unsigned long) = Constant[8] : -# 2103| r2103_5(unsigned long) = Mul : r2103_3, r2103_4 -# 2103| r2103_6(void *) = Call[operator new[]] : func:r2103_1, 0:r2103_5 -# 2103| mu2103_7(unknown) = ^CallSideEffect : ~m? -# 2103| mu2103_8(unknown) = ^InitializeDynamicAllocation : &:r2103_6 -# 2103| r2103_9(String *) = Convert : r2103_6 -# 2104| r2104_1(glval) = FunctionAddress[operator new[]] : -# 2104| r2104_2(glval) = VariableAddress[n] : -# 2104| r2104_3(unsigned long) = Load[n] : &:r2104_2, ~m? -# 2104| r2104_4(unsigned long) = Constant[256] : -# 2104| r2104_5(unsigned long) = Mul : r2104_3, r2104_4 -# 2104| r2104_6(align_val_t) = Constant[128] : -# 2104| r2104_7(void *) = Call[operator new[]] : func:r2104_1, 0:r2104_5, 1:r2104_6 -# 2104| mu2104_8(unknown) = ^CallSideEffect : ~m? -# 2104| mu2104_9(unknown) = ^InitializeDynamicAllocation : &:r2104_7 -# 2104| r2104_10(Overaligned *) = Convert : r2104_7 -# 2105| r2105_1(glval) = FunctionAddress[operator new[]] : -# 2105| r2105_2(glval) = VariableAddress[n] : -# 2105| r2105_3(unsigned long) = Load[n] : &:r2105_2, ~m? -# 2105| r2105_4(unsigned long) = Constant[1] : -# 2105| r2105_5(unsigned long) = Mul : r2105_3, r2105_4 -# 2105| r2105_6(void *) = Call[operator new[]] : func:r2105_1, 0:r2105_5 -# 2105| mu2105_7(unknown) = ^CallSideEffect : ~m? -# 2105| mu2105_8(unknown) = ^InitializeDynamicAllocation : &:r2105_6 -# 2105| r2105_9(DefaultCtorWithDefaultParam *) = Convert : r2105_6 -# 2106| r2106_1(glval) = FunctionAddress[operator new[]] : -# 2106| r2106_2(glval) = VariableAddress[n] : -# 2106| r2106_3(unsigned long) = Load[n] : &:r2106_2, ~m? -# 2106| r2106_4(unsigned long) = Constant[4] : -# 2106| r2106_5(unsigned long) = Mul : r2106_3, r2106_4 -# 2106| r2106_6(void *) = Call[operator new[]] : func:r2106_1, 0:r2106_5 -# 2106| mu2106_7(unknown) = ^CallSideEffect : ~m? -# 2106| mu2106_8(unknown) = ^InitializeDynamicAllocation : &:r2106_6 -# 2106| r2106_9(int *) = Convert : r2106_6 -# 2107| v2107_1(void) = NoOp : -# 2100| v2100_6(void) = ReturnVoid : -# 2100| v2100_7(void) = AliasedUse : ~m? -# 2100| v2100_8(void) = ExitFunction : +# 2100| v2100_1(void) = EnterFunction : +# 2100| mu2100_2(unknown) = AliasedDefinition : +# 2100| mu2100_3(unknown) = InitializeNonLocal : +# 2100| r2100_4(glval) = VariableAddress[p] : +# 2100| mu2100_5(void *) = InitializeParameter[p] : &:r2100_4 +# 2100| r2100_6(void *) = Load[p] : &:r2100_4, ~m? +# 2100| mu2100_7(unknown) = InitializeIndirection[p] : &:r2100_6 +# 2101| v2101_1(void) = NoOp : +# 2100| v2100_8(void) = ReturnIndirection[p] : &:r2100_6, ~m? +# 2100| v2100_9(void) = ReturnVoid : +# 2100| v2100_10(void) = AliasedUse : ~m? +# 2100| v2100_11(void) = ExitFunction : -# 2111| char* test_strtod(char*) -# 2111| Block 0 -# 2111| v2111_1(void) = EnterFunction : -# 2111| mu2111_2(unknown) = AliasedDefinition : -# 2111| mu2111_3(unknown) = InitializeNonLocal : -# 2111| r2111_4(glval) = VariableAddress[s] : -# 2111| mu2111_5(char *) = InitializeParameter[s] : &:r2111_4 -# 2111| r2111_6(char *) = Load[s] : &:r2111_4, ~m? -# 2111| mu2111_7(unknown) = InitializeIndirection[s] : &:r2111_6 -# 2112| r2112_1(glval) = VariableAddress[end] : -# 2112| mu2112_2(char *) = Uninitialized[end] : &:r2112_1 -# 2113| r2113_1(glval) = VariableAddress[d] : -# 2113| r2113_2(glval) = FunctionAddress[strtod] : -# 2113| r2113_3(glval) = VariableAddress[s] : -# 2113| r2113_4(char *) = Load[s] : &:r2113_3, ~m? -# 2113| r2113_5(char *) = Convert : r2113_4 -# 2113| r2113_6(glval) = VariableAddress[end] : -# 2113| r2113_7(char **) = CopyValue : r2113_6 -# 2113| r2113_8(double) = Call[strtod] : func:r2113_2, 0:r2113_5, 1:r2113_7 -# 2113| v2113_9(void) = ^BufferReadSideEffect[0] : &:r2113_5, ~m? -# 2113| mu2113_10(char *) = ^IndirectMayWriteSideEffect[1] : &:r2113_7 -# 2113| mu2113_11(double) = Store[d] : &:r2113_1, r2113_8 -# 2114| r2114_1(glval) = VariableAddress[#return] : -# 2114| r2114_2(glval) = VariableAddress[end] : -# 2114| r2114_3(char *) = Load[end] : &:r2114_2, ~m? -# 2114| mu2114_4(char *) = Store[#return] : &:r2114_1, r2114_3 -# 2111| v2111_8(void) = ReturnIndirection[s] : &:r2111_6, ~m? -# 2111| r2111_9(glval) = VariableAddress[#return] : -# 2111| v2111_10(void) = ReturnValue : &:r2111_9, ~m? -# 2111| v2111_11(void) = AliasedUse : ~m? -# 2111| v2111_12(void) = ExitFunction : +# 2105| int virtual_delete() +# 2105| Block 0 +# 2105| v2105_1(void) = EnterFunction : +# 2105| mu2105_2(unknown) = AliasedDefinition : +# 2105| mu2105_3(unknown) = InitializeNonLocal : +# 2107| r2107_1(glval) = VariableAddress[b1] : +# 2107| r2107_2(glval) = FunctionAddress[operator new] : +# 2107| r2107_3(unsigned long) = Constant[8] : +# 2107| r2107_4(void *) = Call[operator new] : func:r2107_2, 0:r2107_3 +# 2107| mu2107_5(unknown) = ^CallSideEffect : ~m? +# 2107| mu2107_6(unknown) = ^InitializeDynamicAllocation : &:r2107_4 +# 2107| r2107_7(Base2 *) = Convert : r2107_4 +# 2107| r2107_8(glval) = FunctionAddress[Base2] : +# 2107| v2107_9(void) = Call[Base2] : func:r2107_8, this:r2107_7 +# 2107| mu2107_10(unknown) = ^CallSideEffect : ~m? +# 2107| mu2107_11(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2107_7 +# 2107| mu2107_12(Base2 *) = Store[b1] : &:r2107_1, r2107_7 +# 2108| r2108_1(glval) = VirtualDeleteFunctionAddress : +# 2108| r2108_2(glval) = VariableAddress[b1] : +# 2108| r2108_3(Base2 *) = Load[b1] : &:r2108_2, ~m? +# 2108| v2108_4(void) = Call[?] : func:r2108_1, 0:r2108_3 +# 2108| mu2108_5(unknown) = ^CallSideEffect : ~m? +# 2110| r2110_1(glval) = VariableAddress[b2] : +# 2110| r2110_2(glval) = FunctionAddress[operator new] : +# 2110| r2110_3(unsigned long) = Constant[16] : +# 2110| r2110_4(void *) = Call[operator new] : func:r2110_2, 0:r2110_3 +# 2110| mu2110_5(unknown) = ^CallSideEffect : ~m? +# 2110| mu2110_6(unknown) = ^InitializeDynamicAllocation : &:r2110_4 +# 2110| r2110_7(Derived2 *) = Convert : r2110_4 +# 2110| r2110_8(glval) = FunctionAddress[Derived2] : +# 2110| v2110_9(void) = Call[Derived2] : func:r2110_8, this:r2110_7 +# 2110| mu2110_10(unknown) = ^CallSideEffect : ~m? +# 2110| mu2110_11(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2110_7 +# 2110| r2110_12(Base2 *) = ConvertToNonVirtualBase[Derived2 : Base2] : r2110_7 +# 2110| mu2110_13(Base2 *) = Store[b2] : &:r2110_1, r2110_12 +# 2111| r2111_1(glval) = VirtualDeleteFunctionAddress : +# 2111| r2111_2(glval) = VariableAddress[b2] : +# 2111| r2111_3(Base2 *) = Load[b2] : &:r2111_2, ~m? +# 2111| v2111_4(void) = Call[?] : func:r2111_1, 0:r2111_3 +# 2111| mu2111_5(unknown) = ^CallSideEffect : ~m? +# 2113| r2113_1(glval) = VariableAddress[d] : +# 2113| r2113_2(glval) = FunctionAddress[operator new] : +# 2113| r2113_3(unsigned long) = Constant[16] : +# 2113| r2113_4(void *) = Call[operator new] : func:r2113_2, 0:r2113_3 +# 2113| mu2113_5(unknown) = ^CallSideEffect : ~m? +# 2113| mu2113_6(unknown) = ^InitializeDynamicAllocation : &:r2113_4 +# 2113| r2113_7(Derived2 *) = Convert : r2113_4 +# 2113| r2113_8(glval) = FunctionAddress[Derived2] : +# 2113| v2113_9(void) = Call[Derived2] : func:r2113_8, this:r2113_7 +# 2113| mu2113_10(unknown) = ^CallSideEffect : ~m? +# 2113| mu2113_11(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2113_7 +# 2113| mu2113_12(Derived2 *) = Store[d] : &:r2113_1, r2113_7 +# 2114| r2114_1(glval) = VirtualDeleteFunctionAddress : +# 2114| r2114_2(glval) = VariableAddress[d] : +# 2114| r2114_3(Derived2 *) = Load[d] : &:r2114_2, ~m? +# 2114| v2114_4(void) = Call[?] : func:r2114_1, 0:r2114_3 +# 2114| mu2114_5(unknown) = ^CallSideEffect : ~m? +# 2115| r2115_1(glval) = VariableAddress[#return] : +# 2115| mu2115_2(int) = Uninitialized[#return] : &:r2115_1 +# 2105| r2105_4(glval) = VariableAddress[#return] : +# 2105| v2105_5(void) = ReturnValue : &:r2105_4, ~m? +# 2105| v2105_6(void) = AliasedUse : ~m? +# 2105| v2105_7(void) = ExitFunction : -# 2121| void call_as_child_of_ConditionDeclExpr() -# 2121| Block 0 -# 2121| v2121_1(void) = EnterFunction : -# 2121| mu2121_2(unknown) = AliasedDefinition : -# 2121| mu2121_3(unknown) = InitializeNonLocal : -# 2122| r2122_1(glval) = VariableAddress[b] : -# 2122| r2122_2(HasOperatorBool) = Constant[0] : -# 2122| mu2122_3(HasOperatorBool) = Store[b] : &:r2122_1, r2122_2 -# 2122| r2122_4(glval) = VariableAddress[b] : -# 2122| r2122_5(glval) = FunctionAddress[operator bool] : -# 2122| r2122_6(bool) = Call[operator bool] : func:r2122_5, this:r2122_4 -# 2122| mu2122_7(unknown) = ^CallSideEffect : ~m? -# 2122| v2122_8(void) = ^IndirectReadSideEffect[-1] : &:r2122_4, ~m? -# 2122| mu2122_9(HasOperatorBool) = ^IndirectMayWriteSideEffect[-1] : &:r2122_4 -# 2122| r2122_10(bool) = CopyValue : r2122_6 -# 2122| v2122_11(void) = ConditionalBranch : r2122_10 +# 2119| void test_constant_folding() +# 2119| Block 0 +# 2119| v2119_1(void) = EnterFunction : +# 2119| mu2119_2(unknown) = AliasedDefinition : +# 2119| mu2119_3(unknown) = InitializeNonLocal : +# 2120| r2120_1(glval) = VariableAddress[x] : +# 2120| r2120_2(int) = Constant[116] : +# 2120| mu2120_3(int) = Store[x] : &:r2120_1, r2120_2 +# 2121| r2121_1(glval) = FunctionAddress[test_constant_folding_use] : +# 2121| r2121_2(int) = Constant[116] : +# 2121| v2121_3(void) = Call[test_constant_folding_use] : func:r2121_1, 0:r2121_2 +# 2121| mu2121_4(unknown) = ^CallSideEffect : ~m? +# 2122| v2122_1(void) = NoOp : +# 2119| v2119_4(void) = ReturnVoid : +# 2119| v2119_5(void) = AliasedUse : ~m? +# 2119| v2119_6(void) = ExitFunction : + +# 2126| int NonExit() +# 2126| Block 0 +# 2126| v2126_1(void) = EnterFunction : +# 2126| mu2126_2(unknown) = AliasedDefinition : +# 2126| mu2126_3(unknown) = InitializeNonLocal : +# 2127| r2127_1(glval) = VariableAddress[x] : +# 2127| r2127_2(glval) = FunctionAddress[Add] : +# 2127| r2127_3(int) = Constant[3] : +# 2127| r2127_4(int) = Constant[4] : +# 2127| r2127_5(int) = Call[Add] : func:r2127_2, 0:r2127_3, 1:r2127_4 +# 2127| mu2127_6(unknown) = ^CallSideEffect : ~m? +# 2127| mu2127_7(int) = Store[x] : &:r2127_1, r2127_5 +# 2128| r2128_1(glval) = VariableAddress[x] : +# 2128| r2128_2(int) = Load[x] : &:r2128_1, ~m? +# 2128| r2128_3(int) = Constant[7] : +# 2128| r2128_4(bool) = CompareEQ : r2128_2, r2128_3 +# 2128| v2128_5(void) = ConditionalBranch : r2128_4 #-----| False -> Block 2 #-----| True -> Block 1 -# 2122| Block 1 -# 2122| v2122_12(void) = NoOp : +# 2129| Block 1 +# 2129| r2129_1(glval) = FunctionAddress[exit] : +# 2129| r2129_2(int) = Constant[3] : +# 2129| v2129_3(void) = Call[exit] : func:r2129_1, 0:r2129_2 +# 2129| mu2129_4(unknown) = ^CallSideEffect : ~m? +# 2126| v2126_4(void) = Unreached : + +# 2130| Block 2 +# 2130| r2130_1(glval) = FunctionAddress[VoidFunc] : +# 2130| v2130_2(void) = Call[VoidFunc] : func:r2130_1 +# 2130| mu2130_3(unknown) = ^CallSideEffect : ~m? +# 2131| r2131_1(glval) = VariableAddress[#return] : +# 2131| r2131_2(glval) = VariableAddress[x] : +# 2131| r2131_3(int) = Load[x] : &:r2131_2, ~m? +# 2131| mu2131_4(int) = Store[#return] : &:r2131_1, r2131_3 +# 2126| r2126_5(glval) = VariableAddress[#return] : +# 2126| v2126_6(void) = ReturnValue : &:r2126_5, ~m? +# 2126| v2126_7(void) = AliasedUse : ~m? +# 2126| v2126_8(void) = ExitFunction : + +# 2134| void CallsNonExit() +# 2134| Block 0 +# 2134| v2134_1(void) = EnterFunction : +# 2134| mu2134_2(unknown) = AliasedDefinition : +# 2134| mu2134_3(unknown) = InitializeNonLocal : +# 2135| r2135_1(glval) = FunctionAddress[VoidFunc] : +# 2135| v2135_2(void) = Call[VoidFunc] : func:r2135_1 +# 2135| mu2135_3(unknown) = ^CallSideEffect : ~m? +# 2136| r2136_1(glval) = FunctionAddress[exit] : +# 2136| r2136_2(int) = Constant[3] : +# 2136| v2136_3(void) = Call[exit] : func:r2136_1, 0:r2136_2 +# 2136| mu2136_4(unknown) = ^CallSideEffect : ~m? +# 2134| v2134_4(void) = Unreached : + +# 2137| Block 1 +# 2137| v2137_1(void) = NoOp : +# 2134| v2134_5(void) = ReturnVoid : +# 2134| v2134_6(void) = AliasedUse : ~m? +# 2134| v2134_7(void) = ExitFunction : + +# 2139| int TransNonExit() +# 2139| Block 0 +# 2139| v2139_1(void) = EnterFunction : +# 2139| mu2139_2(unknown) = AliasedDefinition : +# 2139| mu2139_3(unknown) = InitializeNonLocal : +# 2140| r2140_1(glval) = VariableAddress[x] : +# 2140| r2140_2(glval) = FunctionAddress[Add] : +# 2140| r2140_3(int) = Constant[3] : +# 2140| r2140_4(int) = Constant[4] : +# 2140| r2140_5(int) = Call[Add] : func:r2140_2, 0:r2140_3, 1:r2140_4 +# 2140| mu2140_6(unknown) = ^CallSideEffect : ~m? +# 2140| mu2140_7(int) = Store[x] : &:r2140_1, r2140_5 +# 2141| r2141_1(glval) = VariableAddress[x] : +# 2141| r2141_2(int) = Load[x] : &:r2141_1, ~m? +# 2141| r2141_3(int) = Constant[7] : +# 2141| r2141_4(bool) = CompareEQ : r2141_2, r2141_3 +# 2141| v2141_5(void) = ConditionalBranch : r2141_4 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 2142| Block 1 +# 2142| r2142_1(glval) = FunctionAddress[CallsNonExit] : +# 2142| v2142_2(void) = Call[CallsNonExit] : func:r2142_1 +# 2142| mu2142_3(unknown) = ^CallSideEffect : ~m? #-----| Goto -> Block 2 -# 2123| Block 2 -# 2123| v2123_1(void) = NoOp : -# 2121| v2121_4(void) = ReturnVoid : -# 2121| v2121_5(void) = AliasedUse : ~m? -# 2121| v2121_6(void) = ExitFunction : +# 2143| Block 2 +# 2143| r2143_1(glval) = FunctionAddress[VoidFunc] : +# 2143| v2143_2(void) = Call[VoidFunc] : func:r2143_1 +# 2143| mu2143_3(unknown) = ^CallSideEffect : ~m? +# 2144| r2144_1(glval) = VariableAddress[#return] : +# 2144| r2144_2(glval) = VariableAddress[x] : +# 2144| r2144_3(int) = Load[x] : &:r2144_2, ~m? +# 2144| mu2144_4(int) = Store[#return] : &:r2144_1, r2144_3 +# 2139| r2139_4(glval) = VariableAddress[#return] : +# 2139| v2139_5(void) = ReturnValue : &:r2139_4, ~m? +# 2139| v2139_6(void) = AliasedUse : ~m? +# 2139| v2139_7(void) = ExitFunction : -# 2125| void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) -# 2125| Block 0 -# 2125| v2125_1(void) = EnterFunction : -# 2125| mu2125_2(unknown) = AliasedDefinition : -# 2125| mu2125_3(unknown) = InitializeNonLocal : -# 2125| r2125_4(glval) = VariableAddress[#this] : -# 2125| mu2125_5(glval) = InitializeParameter[#this] : &:r2125_4 -# 2125| r2125_6(glval) = Load[#this] : &:r2125_4, ~m? -# 2125| mu2125_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2125_6 +# 2147| void newArrayCorrectType(size_t) +# 2147| Block 0 +# 2147| v2147_1(void) = EnterFunction : +# 2147| mu2147_2(unknown) = AliasedDefinition : +# 2147| mu2147_3(unknown) = InitializeNonLocal : +# 2147| r2147_4(glval) = VariableAddress[n] : +# 2147| mu2147_5(unsigned long) = InitializeParameter[n] : &:r2147_4 +# 2148| r2148_1(glval) = FunctionAddress[operator new[]] : +# 2148| r2148_2(glval) = VariableAddress[n] : +# 2148| r2148_3(unsigned long) = Load[n] : &:r2148_2, ~m? +# 2148| r2148_4(unsigned long) = Constant[4] : +# 2148| r2148_5(unsigned long) = Mul : r2148_3, r2148_4 +# 2148| r2148_6(void *) = Call[operator new[]] : func:r2148_1, 0:r2148_5 +# 2148| mu2148_7(unknown) = ^CallSideEffect : ~m? +# 2148| mu2148_8(unknown) = ^InitializeDynamicAllocation : &:r2148_6 +# 2148| r2148_9(int *) = Convert : r2148_6 +# 2149| r2149_1(glval) = FunctionAddress[operator new[]] : +# 2149| r2149_2(glval) = VariableAddress[n] : +# 2149| r2149_3(unsigned long) = Load[n] : &:r2149_2, ~m? +# 2149| r2149_4(unsigned long) = Constant[4] : +# 2149| r2149_5(unsigned long) = Mul : r2149_3, r2149_4 +# 2149| r2149_6(float) = Constant[1.0] : +# 2149| r2149_7(void *) = Call[operator new[]] : func:r2149_1, 0:r2149_5, 1:r2149_6 +# 2149| mu2149_8(unknown) = ^CallSideEffect : ~m? +# 2149| mu2149_9(unknown) = ^InitializeDynamicAllocation : &:r2149_7 +# 2149| r2149_10(int *) = Convert : r2149_7 +# 2150| r2150_1(glval) = FunctionAddress[operator new[]] : +# 2150| r2150_2(glval) = VariableAddress[n] : +# 2150| r2150_3(unsigned long) = Load[n] : &:r2150_2, ~m? +# 2150| r2150_4(unsigned long) = Constant[8] : +# 2150| r2150_5(unsigned long) = Mul : r2150_3, r2150_4 +# 2150| r2150_6(void *) = Call[operator new[]] : func:r2150_1, 0:r2150_5 +# 2150| mu2150_7(unknown) = ^CallSideEffect : ~m? +# 2150| mu2150_8(unknown) = ^InitializeDynamicAllocation : &:r2150_6 +# 2150| r2150_9(String *) = Convert : r2150_6 +# 2151| r2151_1(glval) = FunctionAddress[operator new[]] : +# 2151| r2151_2(glval) = VariableAddress[n] : +# 2151| r2151_3(unsigned long) = Load[n] : &:r2151_2, ~m? +# 2151| r2151_4(unsigned long) = Constant[256] : +# 2151| r2151_5(unsigned long) = Mul : r2151_3, r2151_4 +# 2151| r2151_6(align_val_t) = Constant[128] : +# 2151| r2151_7(void *) = Call[operator new[]] : func:r2151_1, 0:r2151_5, 1:r2151_6 +# 2151| mu2151_8(unknown) = ^CallSideEffect : ~m? +# 2151| mu2151_9(unknown) = ^InitializeDynamicAllocation : &:r2151_7 +# 2151| r2151_10(Overaligned *) = Convert : r2151_7 +# 2152| r2152_1(glval) = FunctionAddress[operator new[]] : +# 2152| r2152_2(glval) = VariableAddress[n] : +# 2152| r2152_3(unsigned long) = Load[n] : &:r2152_2, ~m? +# 2152| r2152_4(unsigned long) = Constant[1] : +# 2152| r2152_5(unsigned long) = Mul : r2152_3, r2152_4 +# 2152| r2152_6(void *) = Call[operator new[]] : func:r2152_1, 0:r2152_5 +# 2152| mu2152_7(unknown) = ^CallSideEffect : ~m? +# 2152| mu2152_8(unknown) = ^InitializeDynamicAllocation : &:r2152_6 +# 2152| r2152_9(DefaultCtorWithDefaultParam *) = Convert : r2152_6 +# 2153| r2153_1(glval) = FunctionAddress[operator new[]] : +# 2153| r2153_2(glval) = VariableAddress[n] : +# 2153| r2153_3(unsigned long) = Load[n] : &:r2153_2, ~m? +# 2153| r2153_4(unsigned long) = Constant[4] : +# 2153| r2153_5(unsigned long) = Mul : r2153_3, r2153_4 +# 2153| r2153_6(void *) = Call[operator new[]] : func:r2153_1, 0:r2153_5 +# 2153| mu2153_7(unknown) = ^CallSideEffect : ~m? +# 2153| mu2153_8(unknown) = ^InitializeDynamicAllocation : &:r2153_6 +# 2153| r2153_9(int *) = Convert : r2153_6 +# 2154| v2154_1(void) = NoOp : +# 2147| v2147_6(void) = ReturnVoid : +# 2147| v2147_7(void) = AliasedUse : ~m? +# 2147| v2147_8(void) = ExitFunction : + +# 2158| char* test_strtod(char*) +# 2158| Block 0 +# 2158| v2158_1(void) = EnterFunction : +# 2158| mu2158_2(unknown) = AliasedDefinition : +# 2158| mu2158_3(unknown) = InitializeNonLocal : +# 2158| r2158_4(glval) = VariableAddress[s] : +# 2158| mu2158_5(char *) = InitializeParameter[s] : &:r2158_4 +# 2158| r2158_6(char *) = Load[s] : &:r2158_4, ~m? +# 2158| mu2158_7(unknown) = InitializeIndirection[s] : &:r2158_6 +# 2159| r2159_1(glval) = VariableAddress[end] : +# 2159| mu2159_2(char *) = Uninitialized[end] : &:r2159_1 +# 2160| r2160_1(glval) = VariableAddress[d] : +# 2160| r2160_2(glval) = FunctionAddress[strtod] : +# 2160| r2160_3(glval) = VariableAddress[s] : +# 2160| r2160_4(char *) = Load[s] : &:r2160_3, ~m? +# 2160| r2160_5(char *) = Convert : r2160_4 +# 2160| r2160_6(glval) = VariableAddress[end] : +# 2160| r2160_7(char **) = CopyValue : r2160_6 +# 2160| r2160_8(double) = Call[strtod] : func:r2160_2, 0:r2160_5, 1:r2160_7 +# 2160| v2160_9(void) = ^BufferReadSideEffect[0] : &:r2160_5, ~m? +# 2160| mu2160_10(char *) = ^IndirectMayWriteSideEffect[1] : &:r2160_7 +# 2160| mu2160_11(double) = Store[d] : &:r2160_1, r2160_8 +# 2161| r2161_1(glval) = VariableAddress[#return] : +# 2161| r2161_2(glval) = VariableAddress[end] : +# 2161| r2161_3(char *) = Load[end] : &:r2161_2, ~m? +# 2161| mu2161_4(char *) = Store[#return] : &:r2161_1, r2161_3 +# 2158| v2158_8(void) = ReturnIndirection[s] : &:r2158_6, ~m? +# 2158| r2158_9(glval) = VariableAddress[#return] : +# 2158| v2158_10(void) = ReturnValue : &:r2158_9, ~m? +# 2158| v2158_11(void) = AliasedUse : ~m? +# 2158| v2158_12(void) = ExitFunction : + +# 2168| void call_as_child_of_ConditionDeclExpr() +# 2168| Block 0 +# 2168| v2168_1(void) = EnterFunction : +# 2168| mu2168_2(unknown) = AliasedDefinition : +# 2168| mu2168_3(unknown) = InitializeNonLocal : +# 2169| r2169_1(glval) = VariableAddress[b] : +# 2169| r2169_2(HasOperatorBool) = Constant[0] : +# 2169| mu2169_3(HasOperatorBool) = Store[b] : &:r2169_1, r2169_2 +# 2169| r2169_4(glval) = VariableAddress[b] : +# 2169| r2169_5(glval) = FunctionAddress[operator bool] : +# 2169| r2169_6(bool) = Call[operator bool] : func:r2169_5, this:r2169_4 +# 2169| mu2169_7(unknown) = ^CallSideEffect : ~m? +# 2169| v2169_8(void) = ^IndirectReadSideEffect[-1] : &:r2169_4, ~m? +# 2169| mu2169_9(HasOperatorBool) = ^IndirectMayWriteSideEffect[-1] : &:r2169_4 +# 2169| r2169_10(bool) = CopyValue : r2169_6 +# 2169| v2169_11(void) = ConditionalBranch : r2169_10 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 2169| Block 1 +# 2169| v2169_12(void) = NoOp : +#-----| Goto -> Block 2 + +# 2170| Block 2 +# 2170| v2170_1(void) = NoOp : +# 2168| v2168_4(void) = ReturnVoid : +# 2168| v2168_5(void) = AliasedUse : ~m? +# 2168| v2168_6(void) = ExitFunction : + +# 2172| void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) +# 2172| Block 0 +# 2172| v2172_1(void) = EnterFunction : +# 2172| mu2172_2(unknown) = AliasedDefinition : +# 2172| mu2172_3(unknown) = InitializeNonLocal : +# 2172| r2172_4(glval) = VariableAddress[#this] : +# 2172| mu2172_5(glval) = InitializeParameter[#this] : &:r2172_4 +# 2172| r2172_6(glval) = Load[#this] : &:r2172_4, ~m? +# 2172| mu2172_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2172_6 #-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : #-----| mu0_2(ClassWithDestructor &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 #-----| r0_3(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r0_1, ~m? #-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 -# 2125| r2125_8(glval) = FieldAddress[x] : mu2125_5 -# 2125| r2125_9(glval) = VariableAddress[(unnamed parameter 0)] : -# 2125| r2125_10(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r2125_9, ~m? -# 2125| r2125_11(glval) = CopyValue : r2125_10 -# 2125| r2125_12(glval) = FieldAddress[x] : r2125_11 -# 2125| r2125_13(char *) = Load[?] : &:r2125_12, ~m? -# 2125| mu2125_14(char *) = Store[?] : &:r2125_8, r2125_13 -# 2125| v2125_15(void) = NoOp : -# 2125| v2125_16(void) = ReturnIndirection[#this] : &:r2125_6, ~m? +# 2172| r2172_8(glval) = FieldAddress[x] : mu2172_5 +# 2172| r2172_9(glval) = VariableAddress[(unnamed parameter 0)] : +# 2172| r2172_10(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r2172_9, ~m? +# 2172| r2172_11(glval) = CopyValue : r2172_10 +# 2172| r2172_12(glval) = FieldAddress[x] : r2172_11 +# 2172| r2172_13(char *) = Load[?] : &:r2172_12, ~m? +# 2172| mu2172_14(char *) = Store[?] : &:r2172_8, r2172_13 +# 2172| v2172_15(void) = NoOp : +# 2172| v2172_16(void) = ReturnIndirection[#this] : &:r2172_6, ~m? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 2125| v2125_17(void) = ReturnVoid : -# 2125| v2125_18(void) = AliasedUse : ~m? -# 2125| v2125_19(void) = ExitFunction : +# 2172| v2172_17(void) = ReturnVoid : +# 2172| v2172_18(void) = AliasedUse : ~m? +# 2172| v2172_19(void) = ExitFunction : -# 2128| void ClassWithDestructor::ClassWithDestructor() -# 2128| Block 0 -# 2128| v2128_1(void) = EnterFunction : -# 2128| mu2128_2(unknown) = AliasedDefinition : -# 2128| mu2128_3(unknown) = InitializeNonLocal : -# 2128| r2128_4(glval) = VariableAddress[#this] : -# 2128| mu2128_5(glval) = InitializeParameter[#this] : &:r2128_4 -# 2128| r2128_6(glval) = Load[#this] : &:r2128_4, ~m? -# 2128| mu2128_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2128_6 -# 2128| r2128_8(glval) = FunctionAddress[operator new] : -# 2128| r2128_9(unsigned long) = Constant[1] : -# 2128| r2128_10(void *) = Call[operator new] : func:r2128_8, 0:r2128_9 -# 2128| mu2128_11(unknown) = ^CallSideEffect : ~m? -# 2128| mu2128_12(unknown) = ^InitializeDynamicAllocation : &:r2128_10 -# 2128| r2128_13(char *) = Convert : r2128_10 -# 2128| r2128_14(glval) = VariableAddress[#this] : -# 2128| r2128_15(ClassWithDestructor *) = Load[#this] : &:r2128_14, ~m? -# 2128| r2128_16(glval) = FieldAddress[x] : r2128_15 -# 2128| mu2128_17(char *) = Store[?] : &:r2128_16, r2128_13 -# 2128| v2128_18(void) = NoOp : -# 2128| v2128_19(void) = ReturnIndirection[#this] : &:r2128_6, ~m? -# 2128| v2128_20(void) = ReturnVoid : -# 2128| v2128_21(void) = AliasedUse : ~m? -# 2128| v2128_22(void) = ExitFunction : +# 2175| void ClassWithDestructor::ClassWithDestructor() +# 2175| Block 0 +# 2175| v2175_1(void) = EnterFunction : +# 2175| mu2175_2(unknown) = AliasedDefinition : +# 2175| mu2175_3(unknown) = InitializeNonLocal : +# 2175| r2175_4(glval) = VariableAddress[#this] : +# 2175| mu2175_5(glval) = InitializeParameter[#this] : &:r2175_4 +# 2175| r2175_6(glval) = Load[#this] : &:r2175_4, ~m? +# 2175| mu2175_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2175_6 +# 2175| r2175_8(glval) = FunctionAddress[operator new] : +# 2175| r2175_9(unsigned long) = Constant[1] : +# 2175| r2175_10(void *) = Call[operator new] : func:r2175_8, 0:r2175_9 +# 2175| mu2175_11(unknown) = ^CallSideEffect : ~m? +# 2175| mu2175_12(unknown) = ^InitializeDynamicAllocation : &:r2175_10 +# 2175| r2175_13(char *) = Convert : r2175_10 +# 2175| r2175_14(glval) = VariableAddress[#this] : +# 2175| r2175_15(ClassWithDestructor *) = Load[#this] : &:r2175_14, ~m? +# 2175| r2175_16(glval) = FieldAddress[x] : r2175_15 +# 2175| mu2175_17(char *) = Store[?] : &:r2175_16, r2175_13 +# 2175| v2175_18(void) = NoOp : +# 2175| v2175_19(void) = ReturnIndirection[#this] : &:r2175_6, ~m? +# 2175| v2175_20(void) = ReturnVoid : +# 2175| v2175_21(void) = AliasedUse : ~m? +# 2175| v2175_22(void) = ExitFunction : -# 2129| void ClassWithDestructor::~ClassWithDestructor() -# 2129| Block 0 -# 2129| v2129_1(void) = EnterFunction : -# 2129| mu2129_2(unknown) = AliasedDefinition : -# 2129| mu2129_3(unknown) = InitializeNonLocal : -# 2129| r2129_4(glval) = VariableAddress[#this] : -# 2129| mu2129_5(glval) = InitializeParameter[#this] : &:r2129_4 -# 2129| r2129_6(glval) = Load[#this] : &:r2129_4, ~m? -# 2129| mu2129_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2129_6 -# 2129| r2129_8(glval) = FunctionAddress[operator delete] : -# 2129| r2129_9(glval) = VariableAddress[#this] : -# 2129| r2129_10(ClassWithDestructor *) = Load[#this] : &:r2129_9, ~m? -# 2129| r2129_11(glval) = FieldAddress[x] : r2129_10 -# 2129| r2129_12(char *) = Load[?] : &:r2129_11, ~m? -# 2129| v2129_13(void) = Call[operator delete] : func:r2129_8, 0:r2129_12 -# 2129| mu2129_14(unknown) = ^CallSideEffect : ~m? -# 2129| v2129_15(void) = NoOp : -# 2129| v2129_16(void) = ReturnIndirection[#this] : &:r2129_6, ~m? -# 2129| v2129_17(void) = ReturnVoid : -# 2129| v2129_18(void) = AliasedUse : ~m? -# 2129| v2129_19(void) = ExitFunction : +# 2176| void ClassWithDestructor::~ClassWithDestructor() +# 2176| Block 0 +# 2176| v2176_1(void) = EnterFunction : +# 2176| mu2176_2(unknown) = AliasedDefinition : +# 2176| mu2176_3(unknown) = InitializeNonLocal : +# 2176| r2176_4(glval) = VariableAddress[#this] : +# 2176| mu2176_5(glval) = InitializeParameter[#this] : &:r2176_4 +# 2176| r2176_6(glval) = Load[#this] : &:r2176_4, ~m? +# 2176| mu2176_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2176_6 +# 2176| r2176_8(glval) = FunctionAddress[operator delete] : +# 2176| r2176_9(glval) = VariableAddress[#this] : +# 2176| r2176_10(ClassWithDestructor *) = Load[#this] : &:r2176_9, ~m? +# 2176| r2176_11(glval) = FieldAddress[x] : r2176_10 +# 2176| r2176_12(char *) = Load[?] : &:r2176_11, ~m? +# 2176| v2176_13(void) = Call[operator delete] : func:r2176_8, 0:r2176_12 +# 2176| mu2176_14(unknown) = ^CallSideEffect : ~m? +# 2176| v2176_15(void) = NoOp : +# 2176| v2176_16(void) = ReturnIndirection[#this] : &:r2176_6, ~m? +# 2176| v2176_17(void) = ReturnVoid : +# 2176| v2176_18(void) = AliasedUse : ~m? +# 2176| v2176_19(void) = ExitFunction : -# 2131| void ClassWithDestructor::set_x(char) -# 2131| Block 0 -# 2131| v2131_1(void) = EnterFunction : -# 2131| mu2131_2(unknown) = AliasedDefinition : -# 2131| mu2131_3(unknown) = InitializeNonLocal : -# 2131| r2131_4(glval) = VariableAddress[#this] : -# 2131| mu2131_5(glval) = InitializeParameter[#this] : &:r2131_4 -# 2131| r2131_6(glval) = Load[#this] : &:r2131_4, ~m? -# 2131| mu2131_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2131_6 -# 2131| r2131_8(glval) = VariableAddress[y] : -# 2131| mu2131_9(char) = InitializeParameter[y] : &:r2131_8 -# 2131| r2131_10(glval) = VariableAddress[y] : -# 2131| r2131_11(char) = Load[y] : &:r2131_10, ~m? -# 2131| r2131_12(glval) = VariableAddress[#this] : -# 2131| r2131_13(ClassWithDestructor *) = Load[#this] : &:r2131_12, ~m? -# 2131| r2131_14(glval) = FieldAddress[x] : r2131_13 -# 2131| r2131_15(char *) = Load[?] : &:r2131_14, ~m? -# 2131| r2131_16(glval) = CopyValue : r2131_15 -# 2131| mu2131_17(char) = Store[?] : &:r2131_16, r2131_11 -# 2131| v2131_18(void) = NoOp : -# 2131| v2131_19(void) = ReturnIndirection[#this] : &:r2131_6, ~m? -# 2131| v2131_20(void) = ReturnVoid : -# 2131| v2131_21(void) = AliasedUse : ~m? -# 2131| v2131_22(void) = ExitFunction : +# 2178| void ClassWithDestructor::set_x(char) +# 2178| Block 0 +# 2178| v2178_1(void) = EnterFunction : +# 2178| mu2178_2(unknown) = AliasedDefinition : +# 2178| mu2178_3(unknown) = InitializeNonLocal : +# 2178| r2178_4(glval) = VariableAddress[#this] : +# 2178| mu2178_5(glval) = InitializeParameter[#this] : &:r2178_4 +# 2178| r2178_6(glval) = Load[#this] : &:r2178_4, ~m? +# 2178| mu2178_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2178_6 +# 2178| r2178_8(glval) = VariableAddress[y] : +# 2178| mu2178_9(char) = InitializeParameter[y] : &:r2178_8 +# 2178| r2178_10(glval) = VariableAddress[y] : +# 2178| r2178_11(char) = Load[y] : &:r2178_10, ~m? +# 2178| r2178_12(glval) = VariableAddress[#this] : +# 2178| r2178_13(ClassWithDestructor *) = Load[#this] : &:r2178_12, ~m? +# 2178| r2178_14(glval) = FieldAddress[x] : r2178_13 +# 2178| r2178_15(char *) = Load[?] : &:r2178_14, ~m? +# 2178| r2178_16(glval) = CopyValue : r2178_15 +# 2178| mu2178_17(char) = Store[?] : &:r2178_16, r2178_11 +# 2178| v2178_18(void) = NoOp : +# 2178| v2178_19(void) = ReturnIndirection[#this] : &:r2178_6, ~m? +# 2178| v2178_20(void) = ReturnVoid : +# 2178| v2178_21(void) = AliasedUse : ~m? +# 2178| v2178_22(void) = ExitFunction : -# 2132| char ClassWithDestructor::get_x() -# 2132| Block 0 -# 2132| v2132_1(void) = EnterFunction : -# 2132| mu2132_2(unknown) = AliasedDefinition : -# 2132| mu2132_3(unknown) = InitializeNonLocal : -# 2132| r2132_4(glval) = VariableAddress[#this] : -# 2132| mu2132_5(glval) = InitializeParameter[#this] : &:r2132_4 -# 2132| r2132_6(glval) = Load[#this] : &:r2132_4, ~m? -# 2132| mu2132_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2132_6 -# 2132| r2132_8(glval) = VariableAddress[#return] : -# 2132| r2132_9(glval) = VariableAddress[#this] : -# 2132| r2132_10(ClassWithDestructor *) = Load[#this] : &:r2132_9, ~m? -# 2132| r2132_11(glval) = FieldAddress[x] : r2132_10 -# 2132| r2132_12(char *) = Load[?] : &:r2132_11, ~m? -# 2132| r2132_13(char) = Load[?] : &:r2132_12, ~m? -# 2132| mu2132_14(char) = Store[#return] : &:r2132_8, r2132_13 -# 2132| v2132_15(void) = ReturnIndirection[#this] : &:r2132_6, ~m? -# 2132| r2132_16(glval) = VariableAddress[#return] : -# 2132| v2132_17(void) = ReturnValue : &:r2132_16, ~m? -# 2132| v2132_18(void) = AliasedUse : ~m? -# 2132| v2132_19(void) = ExitFunction : - -# 2135| bool initialization_with_destructor_bool -# 2135| Block 0 -# 2135| v2135_1(void) = EnterFunction : -# 2135| mu2135_2(unknown) = AliasedDefinition : -# 2135| r2135_3(glval) = VariableAddress[initialization_with_destructor_bool] : -# 2135| r2135_4(bool) = Constant[1] : -# 2135| mu2135_5(bool) = Store[initialization_with_destructor_bool] : &:r2135_3, r2135_4 -# 2135| v2135_6(void) = ReturnVoid : -# 2135| v2135_7(void) = AliasedUse : ~m? -# 2135| v2135_8(void) = ExitFunction : - -# 2137| void initialization_with_destructor(bool, char) -# 2137| Block 0 -# 2137| v2137_1(void) = EnterFunction : -# 2137| mu2137_2(unknown) = AliasedDefinition : -# 2137| mu2137_3(unknown) = InitializeNonLocal : -# 2137| r2137_4(glval) = VariableAddress[b] : -# 2137| mu2137_5(bool) = InitializeParameter[b] : &:r2137_4 -# 2137| r2137_6(glval) = VariableAddress[c] : -# 2137| mu2137_7(char) = InitializeParameter[c] : &:r2137_6 -# 2138| r2138_1(glval) = VariableAddress[x] : -# 2138| mu2138_2(ClassWithDestructor) = Uninitialized[x] : &:r2138_1 -# 2138| r2138_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2138| v2138_4(void) = Call[ClassWithDestructor] : func:r2138_3, this:r2138_1 -# 2138| mu2138_5(unknown) = ^CallSideEffect : ~m? -# 2138| mu2138_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2138_1 -# 2138| r2138_7(glval) = VariableAddress[b] : -# 2138| r2138_8(bool) = Load[b] : &:r2138_7, ~m? -# 2138| v2138_9(void) = ConditionalBranch : r2138_8 -#-----| False -> Block 3 -#-----| True -> Block 2 - -# 2137| Block 1 -# 2137| v2137_8(void) = ReturnVoid : -# 2137| v2137_9(void) = AliasedUse : ~m? -# 2137| v2137_10(void) = ExitFunction : - -# 2139| Block 2 -# 2139| r2139_1(glval) = VariableAddress[x] : -# 2139| r2139_2(glval) = FunctionAddress[set_x] : -# 2139| r2139_3(char) = Constant[97] : -# 2139| v2139_4(void) = Call[set_x] : func:r2139_2, this:r2139_1, 0:r2139_3 -# 2139| mu2139_5(unknown) = ^CallSideEffect : ~m? -# 2139| v2139_6(void) = ^IndirectReadSideEffect[-1] : &:r2139_1, ~m? -# 2139| mu2139_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2139_1 -# 2139| r2139_8(glval) = VariableAddress[x] : -# 2139| r2139_9(glval) = FunctionAddress[~ClassWithDestructor] : -# 2139| v2139_10(void) = Call[~ClassWithDestructor] : func:r2139_9, this:r2139_8 -# 2139| mu2139_11(unknown) = ^CallSideEffect : ~m? -# 2139| v2139_12(void) = ^IndirectReadSideEffect[-1] : &:r2139_8, ~m? -# 2139| mu2139_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2139_8 -#-----| Goto -> Block 3 - -# 2141| Block 3 -# 2141| r2141_1(glval) = VariableAddress[x] : -# 2141| mu2141_2(ClassWithDestructor) = Uninitialized[x] : &:r2141_1 -# 2141| r2141_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2141| v2141_4(void) = Call[ClassWithDestructor] : func:r2141_3, this:r2141_1 -# 2141| mu2141_5(unknown) = ^CallSideEffect : ~m? -# 2141| mu2141_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2141_1 -# 2141| r2141_7(bool) = Constant[1] : -# 2141| v2141_8(void) = ConditionalBranch : r2141_7 -#-----| False -> Block 6 -#-----| True -> Block 4 - -# 2142| Block 4 -# 2142| r2142_1(glval) = VariableAddress[x] : -# 2142| r2142_2(glval) = FunctionAddress[set_x] : -# 2142| r2142_3(char) = Constant[97] : -# 2142| v2142_4(void) = Call[set_x] : func:r2142_2, this:r2142_1, 0:r2142_3 -# 2142| mu2142_5(unknown) = ^CallSideEffect : ~m? -# 2142| v2142_6(void) = ^IndirectReadSideEffect[-1] : &:r2142_1, ~m? -# 2142| mu2142_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2142_1 -#-----| Goto -> Block 6 - -# 2142| Block 5 -# 2142| r2142_8(glval) = VariableAddress[x] : -# 2142| r2142_9(glval) = FunctionAddress[~ClassWithDestructor] : -# 2142| v2142_10(void) = Call[~ClassWithDestructor] : func:r2142_9, this:r2142_8 -# 2142| mu2142_11(unknown) = ^CallSideEffect : ~m? -# 2142| v2142_12(void) = ^IndirectReadSideEffect[-1] : &:r2142_8, ~m? -# 2142| mu2142_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2142_8 -#-----| Goto -> Block 6 - -# 2144| Block 6 -# 2144| r2144_1(glval) = VariableAddress[x] : -# 2144| mu2144_2(ClassWithDestructor) = Uninitialized[x] : &:r2144_1 -# 2144| r2144_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2144| v2144_4(void) = Call[ClassWithDestructor] : func:r2144_3, this:r2144_1 -# 2144| mu2144_5(unknown) = ^CallSideEffect : ~m? -# 2144| mu2144_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2144_1 -# 2144| r2144_7(glval) = VariableAddress[c] : -# 2144| r2144_8(char) = Load[c] : &:r2144_7, ~m? -# 2144| r2144_9(int) = Convert : r2144_8 -# 2144| v2144_10(void) = Switch : r2144_9 -#-----| Case[97] -> Block 7 -#-----| Default -> Block 8 - -# 2145| Block 7 -# 2145| v2145_1(void) = NoOp : -# 2146| r2146_1(glval) = VariableAddress[x] : -# 2146| r2146_2(glval) = FunctionAddress[set_x] : -# 2146| r2146_3(char) = Constant[97] : -# 2146| v2146_4(void) = Call[set_x] : func:r2146_2, this:r2146_1, 0:r2146_3 -# 2146| mu2146_5(unknown) = ^CallSideEffect : ~m? -# 2146| v2146_6(void) = ^IndirectReadSideEffect[-1] : &:r2146_1, ~m? -# 2146| mu2146_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2146_1 -# 2147| v2147_1(void) = NoOp : -#-----| Goto -> Block 10 - -# 2148| Block 8 -# 2148| v2148_1(void) = NoOp : -# 2149| r2149_1(glval) = VariableAddress[x] : -# 2149| r2149_2(glval) = FunctionAddress[set_x] : -# 2149| r2149_3(char) = Constant[98] : -# 2149| v2149_4(void) = Call[set_x] : func:r2149_2, this:r2149_1, 0:r2149_3 -# 2149| mu2149_5(unknown) = ^CallSideEffect : ~m? -# 2149| v2149_6(void) = ^IndirectReadSideEffect[-1] : &:r2149_1, ~m? -# 2149| mu2149_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2149_1 -# 2150| v2150_1(void) = NoOp : -#-----| Goto -> Block 10 - -# 2151| Block 9 -# 2151| r2151_1(glval) = VariableAddress[x] : -# 2151| r2151_2(glval) = FunctionAddress[~ClassWithDestructor] : -# 2151| v2151_3(void) = Call[~ClassWithDestructor] : func:r2151_2, this:r2151_1 -# 2151| mu2151_4(unknown) = ^CallSideEffect : ~m? -# 2151| v2151_5(void) = ^IndirectReadSideEffect[-1] : &:r2151_1, ~m? -# 2151| mu2151_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2151_1 -#-----| Goto -> Block 10 - -# 2151| Block 10 -# 2151| v2151_7(void) = NoOp : -# 2153| r2153_1(glval) = VariableAddress[x] : -# 2153| mu2153_2(ClassWithDestructor) = Uninitialized[x] : &:r2153_1 -# 2153| r2153_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2153| v2153_4(void) = Call[ClassWithDestructor] : func:r2153_3, this:r2153_1 -# 2153| mu2153_5(unknown) = ^CallSideEffect : ~m? -# 2153| mu2153_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2153_1 -# 2154| r2154_1(glval>) = VariableAddress[ys] : -# 2154| mu2154_2(vector) = Uninitialized[ys] : &:r2154_1 -# 2154| r2154_3(glval) = FunctionAddress[vector] : -# 2154| r2154_4(glval) = VariableAddress[#temp2154:40] : -# 2154| r2154_5(glval) = VariableAddress[x] : -# 2154| r2154_6(ClassWithDestructor) = Load[x] : &:r2154_5, ~m? -# 2154| mu2154_7(ClassWithDestructor) = Store[#temp2154:40] : &:r2154_4, r2154_6 -# 2154| r2154_8(ClassWithDestructor) = Load[#temp2154:40] : &:r2154_4, ~m? -# 2154| v2154_9(void) = Call[vector] : func:r2154_3, this:r2154_1, 0:r2154_8 -# 2154| mu2154_10(unknown) = ^CallSideEffect : ~m? -# 2154| mu2154_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2154_1 -# 2154| r2154_12(glval &>) = VariableAddress[(__range)] : -# 2154| r2154_13(glval>) = VariableAddress[ys] : -# 2154| r2154_14(vector &) = CopyValue : r2154_13 -# 2154| mu2154_15(vector &) = Store[(__range)] : &:r2154_12, r2154_14 -# 2154| r2154_16(glval) = VariableAddress[(__begin)] : -# 2154| r2154_17(glval &>) = VariableAddress[(__range)] : -# 2154| r2154_18(vector &) = Load[(__range)] : &:r2154_17, ~m? -#-----| r0_1(glval>) = CopyValue : r2154_18 -#-----| r0_2(glval>) = Convert : r0_1 -# 2154| r2154_19(glval) = FunctionAddress[begin] : -# 2154| r2154_20(iterator) = Call[begin] : func:r2154_19, this:r0_2 -# 2154| mu2154_21(unknown) = ^CallSideEffect : ~m? -#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, ~m? -# 2154| mu2154_22(iterator) = Store[(__begin)] : &:r2154_16, r2154_20 -# 2154| r2154_23(glval) = VariableAddress[(__end)] : -# 2154| r2154_24(glval &>) = VariableAddress[(__range)] : -# 2154| r2154_25(vector &) = Load[(__range)] : &:r2154_24, ~m? -#-----| r0_4(glval>) = CopyValue : r2154_25 -#-----| r0_5(glval>) = Convert : r0_4 -# 2154| r2154_26(glval) = FunctionAddress[end] : -# 2154| r2154_27(iterator) = Call[end] : func:r2154_26, this:r0_5 -# 2154| mu2154_28(unknown) = ^CallSideEffect : ~m? -#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? -# 2154| mu2154_29(iterator) = Store[(__end)] : &:r2154_23, r2154_27 -#-----| Goto -> Block 11 - -# 2154| Block 11 -# 2154| r2154_30(glval) = VariableAddress[(__begin)] : -#-----| r0_7(glval) = Convert : r2154_30 -# 2154| r2154_31(glval) = FunctionAddress[operator!=] : -# 2154| r2154_32(glval) = VariableAddress[(__end)] : -# 2154| r2154_33(iterator) = Load[(__end)] : &:r2154_32, ~m? -# 2154| r2154_34(bool) = Call[operator!=] : func:r2154_31, this:r0_7, 0:r2154_33 -# 2154| mu2154_35(unknown) = ^CallSideEffect : ~m? -#-----| v0_8(void) = ^IndirectReadSideEffect[-1] : &:r0_7, ~m? -# 2154| v2154_36(void) = ConditionalBranch : r2154_34 -#-----| False -> Block 14 -#-----| True -> Block 12 - -# 2154| Block 12 -# 2154| r2154_37(glval) = VariableAddress[y] : -# 2154| r2154_38(glval) = VariableAddress[(__begin)] : -#-----| r0_9(glval) = Convert : r2154_38 -# 2154| r2154_39(glval) = FunctionAddress[operator*] : -# 2154| r2154_40(ClassWithDestructor &) = Call[operator*] : func:r2154_39, this:r0_9 -# 2154| mu2154_41(unknown) = ^CallSideEffect : ~m? -#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_9, ~m? -# 2154| r2154_42(ClassWithDestructor) = Load[?] : &:r2154_40, ~m? -# 2154| mu2154_43(ClassWithDestructor) = Store[y] : &:r2154_37, r2154_42 -# 2155| r2155_1(glval) = VariableAddress[y] : -# 2155| r2155_2(glval) = FunctionAddress[set_x] : -# 2155| r2155_3(char) = Constant[97] : -# 2155| v2155_4(void) = Call[set_x] : func:r2155_2, this:r2155_1, 0:r2155_3 -# 2155| mu2155_5(unknown) = ^CallSideEffect : ~m? -# 2155| v2155_6(void) = ^IndirectReadSideEffect[-1] : &:r2155_1, ~m? -# 2155| mu2155_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2155_1 -# 2154| r2154_44(glval) = VariableAddress[y] : -# 2154| r2154_45(glval) = FunctionAddress[~ClassWithDestructor] : -# 2154| v2154_46(void) = Call[~ClassWithDestructor] : func:r2154_45, this:r2154_44 -# 2154| mu2154_47(unknown) = ^CallSideEffect : ~m? -# 2154| v2154_48(void) = ^IndirectReadSideEffect[-1] : &:r2154_44, ~m? -# 2154| mu2154_49(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2154_44 -# 2154| r2154_50(glval) = VariableAddress[(__begin)] : -# 2154| r2154_51(glval) = FunctionAddress[operator++] : -# 2154| r2154_52(iterator &) = Call[operator++] : func:r2154_51, this:r2154_50 -# 2154| mu2154_53(unknown) = ^CallSideEffect : ~m? -# 2154| v2154_54(void) = ^IndirectReadSideEffect[-1] : &:r2154_50, ~m? -# 2154| mu2154_55(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2154_50 -# 2154| r2154_56(glval) = CopyValue : r2154_52 -#-----| Goto (back edge) -> Block 11 - -# 2154| Block 13 -# 2154| r2154_57(glval>) = VariableAddress[ys] : -# 2154| r2154_58(glval) = FunctionAddress[~vector] : -# 2154| v2154_59(void) = Call[~vector] : func:r2154_58, this:r2154_57 -# 2154| mu2154_60(unknown) = ^CallSideEffect : ~m? -# 2154| v2154_61(void) = ^IndirectReadSideEffect[-1] : &:r2154_57, ~m? -# 2154| mu2154_62(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2154_57 -#-----| Goto -> Block 14 - -# 2157| Block 14 -# 2157| r2157_1(glval>) = VariableAddress[ys] : -# 2157| mu2157_2(vector) = Uninitialized[ys] : &:r2157_1 -# 2157| r2157_3(glval) = FunctionAddress[vector] : -# 2157| r2157_4(glval) = VariableAddress[#temp2157:40] : -# 2157| r2157_5(glval) = VariableAddress[x] : -# 2157| r2157_6(ClassWithDestructor) = Load[x] : &:r2157_5, ~m? -# 2157| mu2157_7(ClassWithDestructor) = Store[#temp2157:40] : &:r2157_4, r2157_6 -# 2157| r2157_8(ClassWithDestructor) = Load[#temp2157:40] : &:r2157_4, ~m? -# 2157| v2157_9(void) = Call[vector] : func:r2157_3, this:r2157_1, 0:r2157_8 -# 2157| mu2157_10(unknown) = ^CallSideEffect : ~m? -# 2157| mu2157_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2157_1 -# 2157| r2157_12(glval &>) = VariableAddress[(__range)] : -# 2157| r2157_13(glval>) = VariableAddress[ys] : -# 2157| r2157_14(vector &) = CopyValue : r2157_13 -# 2157| mu2157_15(vector &) = Store[(__range)] : &:r2157_12, r2157_14 -# 2157| r2157_16(glval) = VariableAddress[(__begin)] : -# 2157| r2157_17(glval &>) = VariableAddress[(__range)] : -# 2157| r2157_18(vector &) = Load[(__range)] : &:r2157_17, ~m? -#-----| r0_11(glval>) = CopyValue : r2157_18 -#-----| r0_12(glval>) = Convert : r0_11 -# 2157| r2157_19(glval) = FunctionAddress[begin] : -# 2157| r2157_20(iterator) = Call[begin] : func:r2157_19, this:r0_12 -# 2157| mu2157_21(unknown) = ^CallSideEffect : ~m? -#-----| v0_13(void) = ^IndirectReadSideEffect[-1] : &:r0_12, ~m? -# 2157| mu2157_22(iterator) = Store[(__begin)] : &:r2157_16, r2157_20 -# 2157| r2157_23(glval) = VariableAddress[(__end)] : -# 2157| r2157_24(glval &>) = VariableAddress[(__range)] : -# 2157| r2157_25(vector &) = Load[(__range)] : &:r2157_24, ~m? -#-----| r0_14(glval>) = CopyValue : r2157_25 -#-----| r0_15(glval>) = Convert : r0_14 -# 2157| r2157_26(glval) = FunctionAddress[end] : -# 2157| r2157_27(iterator) = Call[end] : func:r2157_26, this:r0_15 -# 2157| mu2157_28(unknown) = ^CallSideEffect : ~m? -#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, ~m? -# 2157| mu2157_29(iterator) = Store[(__end)] : &:r2157_23, r2157_27 -#-----| Goto -> Block 15 - -# 2157| Block 15 -# 2157| r2157_30(glval) = VariableAddress[(__begin)] : -#-----| r0_17(glval) = Convert : r2157_30 -# 2157| r2157_31(glval) = FunctionAddress[operator!=] : -# 2157| r2157_32(glval) = VariableAddress[(__end)] : -# 2157| r2157_33(iterator) = Load[(__end)] : &:r2157_32, ~m? -# 2157| r2157_34(bool) = Call[operator!=] : func:r2157_31, this:r0_17, 0:r2157_33 -# 2157| mu2157_35(unknown) = ^CallSideEffect : ~m? -#-----| v0_18(void) = ^IndirectReadSideEffect[-1] : &:r0_17, ~m? -# 2157| v2157_36(void) = ConditionalBranch : r2157_34 -#-----| False -> Block 20 -#-----| True -> Block 16 - -# 2157| Block 16 -# 2157| r2157_37(glval) = VariableAddress[y] : -# 2157| r2157_38(glval) = VariableAddress[(__begin)] : -#-----| r0_19(glval) = Convert : r2157_38 -# 2157| r2157_39(glval) = FunctionAddress[operator*] : -# 2157| r2157_40(ClassWithDestructor &) = Call[operator*] : func:r2157_39, this:r0_19 -# 2157| mu2157_41(unknown) = ^CallSideEffect : ~m? -#-----| v0_20(void) = ^IndirectReadSideEffect[-1] : &:r0_19, ~m? -# 2157| r2157_42(ClassWithDestructor) = Load[?] : &:r2157_40, ~m? -# 2157| mu2157_43(ClassWithDestructor) = Store[y] : &:r2157_37, r2157_42 -# 2158| r2158_1(glval) = VariableAddress[y] : -# 2158| r2158_2(glval) = FunctionAddress[set_x] : -# 2158| r2158_3(char) = Constant[97] : -# 2158| v2158_4(void) = Call[set_x] : func:r2158_2, this:r2158_1, 0:r2158_3 -# 2158| mu2158_5(unknown) = ^CallSideEffect : ~m? -# 2158| v2158_6(void) = ^IndirectReadSideEffect[-1] : &:r2158_1, ~m? -# 2158| mu2158_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2158_1 -# 2159| r2159_1(glval) = VariableAddress[y] : -# 2159| r2159_2(glval) = FunctionAddress[get_x] : -# 2159| r2159_3(char) = Call[get_x] : func:r2159_2, this:r2159_1 -# 2159| mu2159_4(unknown) = ^CallSideEffect : ~m? -# 2159| v2159_5(void) = ^IndirectReadSideEffect[-1] : &:r2159_1, ~m? -# 2159| mu2159_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2159_1 -# 2159| r2159_7(int) = Convert : r2159_3 -# 2159| r2159_8(int) = Constant[98] : -# 2159| r2159_9(bool) = CompareEQ : r2159_7, r2159_8 -# 2159| v2159_10(void) = ConditionalBranch : r2159_9 -#-----| False -> Block 18 -#-----| True -> Block 17 - -# 2160| Block 17 -# 2160| v2160_1(void) = NoOp : -# 2157| r2157_44(glval) = VariableAddress[y] : -# 2157| r2157_45(glval) = FunctionAddress[~ClassWithDestructor] : -# 2157| v2157_46(void) = Call[~ClassWithDestructor] : func:r2157_45, this:r2157_44 -# 2157| mu2157_47(unknown) = ^CallSideEffect : ~m? -# 2157| v2157_48(void) = ^IndirectReadSideEffect[-1] : &:r2157_44, ~m? -# 2157| mu2157_49(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2157_44 -# 2157| r2157_50(glval>) = VariableAddress[ys] : -# 2157| r2157_51(glval) = FunctionAddress[~vector] : -# 2157| v2157_52(void) = Call[~vector] : func:r2157_51, this:r2157_50 -# 2157| mu2157_53(unknown) = ^CallSideEffect : ~m? -# 2157| v2157_54(void) = ^IndirectReadSideEffect[-1] : &:r2157_50, ~m? -# 2157| mu2157_55(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2157_50 -# 2172| r2172_1(glval) = VariableAddress[x] : -# 2172| r2172_2(glval) = FunctionAddress[~ClassWithDestructor] : -# 2172| v2172_3(void) = Call[~ClassWithDestructor] : func:r2172_2, this:r2172_1 -# 2172| mu2172_4(unknown) = ^CallSideEffect : ~m? -# 2172| v2172_5(void) = ^IndirectReadSideEffect[-1] : &:r2172_1, ~m? -# 2172| mu2172_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2172_1 -#-----| Goto -> Block 1 - -# 2157| Block 18 -# 2157| r2157_56(glval) = VariableAddress[y] : -# 2157| r2157_57(glval) = FunctionAddress[~ClassWithDestructor] : -# 2157| v2157_58(void) = Call[~ClassWithDestructor] : func:r2157_57, this:r2157_56 -# 2157| mu2157_59(unknown) = ^CallSideEffect : ~m? -# 2157| v2157_60(void) = ^IndirectReadSideEffect[-1] : &:r2157_56, ~m? -# 2157| mu2157_61(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2157_56 -# 2157| r2157_62(glval) = VariableAddress[(__begin)] : -# 2157| r2157_63(glval) = FunctionAddress[operator++] : -# 2157| r2157_64(iterator &) = Call[operator++] : func:r2157_63, this:r2157_62 -# 2157| mu2157_65(unknown) = ^CallSideEffect : ~m? -# 2157| v2157_66(void) = ^IndirectReadSideEffect[-1] : &:r2157_62, ~m? -# 2157| mu2157_67(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2157_62 -# 2157| r2157_68(glval) = CopyValue : r2157_64 -#-----| Goto (back edge) -> Block 15 - -# 2157| Block 19 -# 2157| r2157_69(glval>) = VariableAddress[ys] : -# 2157| r2157_70(glval) = FunctionAddress[~vector] : -# 2157| v2157_71(void) = Call[~vector] : func:r2157_70, this:r2157_69 -# 2157| mu2157_72(unknown) = ^CallSideEffect : ~m? -# 2157| v2157_73(void) = ^IndirectReadSideEffect[-1] : &:r2157_69, ~m? -# 2157| mu2157_74(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2157_69 -#-----| Goto -> Block 20 - -# 2163| Block 20 -# 2163| r2163_1(glval>) = VariableAddress[ys] : -# 2163| mu2163_2(vector) = Uninitialized[ys] : &:r2163_1 -# 2163| r2163_3(glval) = FunctionAddress[vector] : -# 2163| r2163_4(int) = Constant[1] : -# 2163| v2163_5(void) = Call[vector] : func:r2163_3, this:r2163_1, 0:r2163_4 -# 2163| mu2163_6(unknown) = ^CallSideEffect : ~m? -# 2163| mu2163_7(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2163_1 -# 2163| r2163_8(glval &>) = VariableAddress[(__range)] : -# 2163| r2163_9(glval>) = VariableAddress[ys] : -# 2163| r2163_10(vector &) = CopyValue : r2163_9 -# 2163| mu2163_11(vector &) = Store[(__range)] : &:r2163_8, r2163_10 -# 2163| r2163_12(glval) = VariableAddress[(__begin)] : -# 2163| r2163_13(glval &>) = VariableAddress[(__range)] : -# 2163| r2163_14(vector &) = Load[(__range)] : &:r2163_13, ~m? -#-----| r0_21(glval>) = CopyValue : r2163_14 -#-----| r0_22(glval>) = Convert : r0_21 -# 2163| r2163_15(glval) = FunctionAddress[begin] : -# 2163| r2163_16(iterator) = Call[begin] : func:r2163_15, this:r0_22 -# 2163| mu2163_17(unknown) = ^CallSideEffect : ~m? -#-----| v0_23(void) = ^IndirectReadSideEffect[-1] : &:r0_22, ~m? -# 2163| mu2163_18(iterator) = Store[(__begin)] : &:r2163_12, r2163_16 -# 2163| r2163_19(glval) = VariableAddress[(__end)] : -# 2163| r2163_20(glval &>) = VariableAddress[(__range)] : -# 2163| r2163_21(vector &) = Load[(__range)] : &:r2163_20, ~m? -#-----| r0_24(glval>) = CopyValue : r2163_21 -#-----| r0_25(glval>) = Convert : r0_24 -# 2163| r2163_22(glval) = FunctionAddress[end] : -# 2163| r2163_23(iterator) = Call[end] : func:r2163_22, this:r0_25 -# 2163| mu2163_24(unknown) = ^CallSideEffect : ~m? -#-----| v0_26(void) = ^IndirectReadSideEffect[-1] : &:r0_25, ~m? -# 2163| mu2163_25(iterator) = Store[(__end)] : &:r2163_19, r2163_23 -#-----| Goto -> Block 21 - -# 2163| Block 21 -# 2163| r2163_26(glval) = VariableAddress[(__begin)] : -#-----| r0_27(glval) = Convert : r2163_26 -# 2163| r2163_27(glval) = FunctionAddress[operator!=] : -# 2163| r2163_28(glval) = VariableAddress[(__end)] : -# 2163| r2163_29(iterator) = Load[(__end)] : &:r2163_28, ~m? -# 2163| r2163_30(bool) = Call[operator!=] : func:r2163_27, this:r0_27, 0:r2163_29 -# 2163| mu2163_31(unknown) = ^CallSideEffect : ~m? -#-----| v0_28(void) = ^IndirectReadSideEffect[-1] : &:r0_27, ~m? -# 2163| v2163_32(void) = ConditionalBranch : r2163_30 -#-----| False -> Block 26 -#-----| True -> Block 23 - -# 2163| Block 22 -# 2163| r2163_33(glval) = VariableAddress[(__begin)] : -# 2163| r2163_34(glval) = FunctionAddress[operator++] : -# 2163| r2163_35(iterator &) = Call[operator++] : func:r2163_34, this:r2163_33 -# 2163| mu2163_36(unknown) = ^CallSideEffect : ~m? -# 2163| v2163_37(void) = ^IndirectReadSideEffect[-1] : &:r2163_33, ~m? -# 2163| mu2163_38(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2163_33 -# 2163| r2163_39(glval) = CopyValue : r2163_35 -#-----| Goto (back edge) -> Block 21 - -# 2163| Block 23 -# 2163| r2163_40(glval) = VariableAddress[y] : -# 2163| r2163_41(glval) = VariableAddress[(__begin)] : -#-----| r0_29(glval) = Convert : r2163_41 -# 2163| r2163_42(glval) = FunctionAddress[operator*] : -# 2163| r2163_43(int &) = Call[operator*] : func:r2163_42, this:r0_29 -# 2163| mu2163_44(unknown) = ^CallSideEffect : ~m? -#-----| v0_30(void) = ^IndirectReadSideEffect[-1] : &:r0_29, ~m? -# 2163| r2163_45(int) = Load[?] : &:r2163_43, ~m? -# 2163| mu2163_46(int) = Store[y] : &:r2163_40, r2163_45 -# 2164| r2164_1(glval) = VariableAddress[y] : -# 2164| r2164_2(int) = Load[y] : &:r2164_1, ~m? -# 2164| r2164_3(int) = Constant[1] : -# 2164| r2164_4(bool) = CompareEQ : r2164_2, r2164_3 -# 2164| v2164_5(void) = ConditionalBranch : r2164_4 -#-----| False -> Block 22 -#-----| True -> Block 24 - -# 2165| Block 24 -# 2165| v2165_1(void) = NoOp : -# 2163| r2163_47(glval>) = VariableAddress[ys] : -# 2163| r2163_48(glval) = FunctionAddress[~vector] : -# 2163| v2163_49(void) = Call[~vector] : func:r2163_48, this:r2163_47 -# 2163| mu2163_50(unknown) = ^CallSideEffect : ~m? -# 2163| v2163_51(void) = ^IndirectReadSideEffect[-1] : &:r2163_47, ~m? -# 2163| mu2163_52(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2163_47 -# 2172| r2172_7(glval) = VariableAddress[x] : -# 2172| r2172_8(glval) = FunctionAddress[~ClassWithDestructor] : -# 2172| v2172_9(void) = Call[~ClassWithDestructor] : func:r2172_8, this:r2172_7 -# 2172| mu2172_10(unknown) = ^CallSideEffect : ~m? -# 2172| v2172_11(void) = ^IndirectReadSideEffect[-1] : &:r2172_7, ~m? -# 2172| mu2172_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2172_7 -#-----| Goto -> Block 1 - -# 2163| Block 25 -# 2163| r2163_53(glval>) = VariableAddress[ys] : -# 2163| r2163_54(glval) = FunctionAddress[~vector] : -# 2163| v2163_55(void) = Call[~vector] : func:r2163_54, this:r2163_53 -# 2163| mu2163_56(unknown) = ^CallSideEffect : ~m? -# 2163| v2163_57(void) = ^IndirectReadSideEffect[-1] : &:r2163_53, ~m? -# 2163| mu2163_58(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2163_53 -#-----| Goto -> Block 26 - -# 2168| Block 26 -# 2168| r2168_1(glval>) = VariableAddress[ys] : -# 2168| mu2168_2(vector) = Uninitialized[ys] : &:r2168_1 -# 2168| r2168_3(glval) = FunctionAddress[vector] : -# 2168| r2168_4(glval) = VariableAddress[#temp2168:40] : -# 2168| r2168_5(glval) = VariableAddress[x] : -# 2168| r2168_6(ClassWithDestructor) = Load[x] : &:r2168_5, ~m? -# 2168| mu2168_7(ClassWithDestructor) = Store[#temp2168:40] : &:r2168_4, r2168_6 -# 2168| r2168_8(ClassWithDestructor) = Load[#temp2168:40] : &:r2168_4, ~m? -# 2168| v2168_9(void) = Call[vector] : func:r2168_3, this:r2168_1, 0:r2168_8 -# 2168| mu2168_10(unknown) = ^CallSideEffect : ~m? -# 2168| mu2168_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2168_1 -# 2168| r2168_12(glval &>) = VariableAddress[(__range)] : -# 2168| r2168_13(glval>) = VariableAddress[ys] : -# 2168| r2168_14(vector &) = CopyValue : r2168_13 -# 2168| mu2168_15(vector &) = Store[(__range)] : &:r2168_12, r2168_14 -# 2168| r2168_16(glval) = VariableAddress[(__begin)] : -# 2168| r2168_17(glval &>) = VariableAddress[(__range)] : -# 2168| r2168_18(vector &) = Load[(__range)] : &:r2168_17, ~m? -#-----| r0_31(glval>) = CopyValue : r2168_18 -#-----| r0_32(glval>) = Convert : r0_31 -# 2168| r2168_19(glval) = FunctionAddress[begin] : -# 2168| r2168_20(iterator) = Call[begin] : func:r2168_19, this:r0_32 -# 2168| mu2168_21(unknown) = ^CallSideEffect : ~m? -#-----| v0_33(void) = ^IndirectReadSideEffect[-1] : &:r0_32, ~m? -# 2168| mu2168_22(iterator) = Store[(__begin)] : &:r2168_16, r2168_20 -# 2168| r2168_23(glval) = VariableAddress[(__end)] : -# 2168| r2168_24(glval &>) = VariableAddress[(__range)] : -# 2168| r2168_25(vector &) = Load[(__range)] : &:r2168_24, ~m? -#-----| r0_34(glval>) = CopyValue : r2168_25 -#-----| r0_35(glval>) = Convert : r0_34 -# 2168| r2168_26(glval) = FunctionAddress[end] : -# 2168| r2168_27(iterator) = Call[end] : func:r2168_26, this:r0_35 -# 2168| mu2168_28(unknown) = ^CallSideEffect : ~m? -#-----| v0_36(void) = ^IndirectReadSideEffect[-1] : &:r0_35, ~m? -# 2168| mu2168_29(iterator) = Store[(__end)] : &:r2168_23, r2168_27 -#-----| Goto -> Block 27 - -# 2168| Block 27 -# 2168| r2168_30(glval) = VariableAddress[(__begin)] : -#-----| r0_37(glval) = Convert : r2168_30 -# 2168| r2168_31(glval) = FunctionAddress[operator!=] : -# 2168| r2168_32(glval) = VariableAddress[(__end)] : -# 2168| r2168_33(iterator) = Load[(__end)] : &:r2168_32, ~m? -# 2168| r2168_34(bool) = Call[operator!=] : func:r2168_31, this:r0_37, 0:r2168_33 -# 2168| mu2168_35(unknown) = ^CallSideEffect : ~m? -#-----| v0_38(void) = ^IndirectReadSideEffect[-1] : &:r0_37, ~m? -# 2168| v2168_36(void) = ConditionalBranch : r2168_34 -#-----| False -> Block 30 -#-----| True -> Block 28 - -# 2168| Block 28 -# 2168| r2168_37(glval) = VariableAddress[y] : -# 2168| r2168_38(glval) = VariableAddress[(__begin)] : -#-----| r0_39(glval) = Convert : r2168_38 -# 2168| r2168_39(glval) = FunctionAddress[operator*] : -# 2168| r2168_40(ClassWithDestructor &) = Call[operator*] : func:r2168_39, this:r0_39 -# 2168| mu2168_41(unknown) = ^CallSideEffect : ~m? -#-----| v0_40(void) = ^IndirectReadSideEffect[-1] : &:r0_39, ~m? -# 2168| r2168_42(ClassWithDestructor) = Load[?] : &:r2168_40, ~m? -# 2168| mu2168_43(ClassWithDestructor) = Store[y] : &:r2168_37, r2168_42 -# 2169| r2169_1(glval) = VariableAddress[z1] : -# 2169| mu2169_2(ClassWithDestructor) = Uninitialized[z1] : &:r2169_1 -# 2169| r2169_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2169| v2169_4(void) = Call[ClassWithDestructor] : func:r2169_3, this:r2169_1 -# 2169| mu2169_5(unknown) = ^CallSideEffect : ~m? -# 2169| mu2169_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2169_1 -# 2170| r2170_1(glval) = VariableAddress[z2] : -# 2170| mu2170_2(ClassWithDestructor) = Uninitialized[z2] : &:r2170_1 -# 2170| r2170_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2170| v2170_4(void) = Call[ClassWithDestructor] : func:r2170_3, this:r2170_1 -# 2170| mu2170_5(unknown) = ^CallSideEffect : ~m? -# 2170| mu2170_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2170_1 -# 2171| r2171_1(glval) = VariableAddress[z2] : -# 2171| r2171_2(glval) = FunctionAddress[~ClassWithDestructor] : -# 2171| v2171_3(void) = Call[~ClassWithDestructor] : func:r2171_2, this:r2171_1 -# 2171| mu2171_4(unknown) = ^CallSideEffect : ~m? -# 2171| v2171_5(void) = ^IndirectReadSideEffect[-1] : &:r2171_1, ~m? -# 2171| mu2171_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2171_1 -# 2171| r2171_7(glval) = VariableAddress[z1] : -# 2171| r2171_8(glval) = FunctionAddress[~ClassWithDestructor] : -# 2171| v2171_9(void) = Call[~ClassWithDestructor] : func:r2171_8, this:r2171_7 -# 2171| mu2171_10(unknown) = ^CallSideEffect : ~m? -# 2171| v2171_11(void) = ^IndirectReadSideEffect[-1] : &:r2171_7, ~m? -# 2171| mu2171_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2171_7 -# 2168| r2168_44(glval) = VariableAddress[y] : -# 2168| r2168_45(glval) = FunctionAddress[~ClassWithDestructor] : -# 2168| v2168_46(void) = Call[~ClassWithDestructor] : func:r2168_45, this:r2168_44 -# 2168| mu2168_47(unknown) = ^CallSideEffect : ~m? -# 2168| v2168_48(void) = ^IndirectReadSideEffect[-1] : &:r2168_44, ~m? -# 2168| mu2168_49(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2168_44 -# 2168| r2168_50(glval) = VariableAddress[(__begin)] : -# 2168| r2168_51(glval) = FunctionAddress[operator++] : -# 2168| r2168_52(iterator &) = Call[operator++] : func:r2168_51, this:r2168_50 -# 2168| mu2168_53(unknown) = ^CallSideEffect : ~m? -# 2168| v2168_54(void) = ^IndirectReadSideEffect[-1] : &:r2168_50, ~m? -# 2168| mu2168_55(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2168_50 -# 2168| r2168_56(glval) = CopyValue : r2168_52 -#-----| Goto (back edge) -> Block 27 - -# 2168| Block 29 -# 2168| r2168_57(glval>) = VariableAddress[ys] : -# 2168| r2168_58(glval) = FunctionAddress[~vector] : -# 2168| v2168_59(void) = Call[~vector] : func:r2168_58, this:r2168_57 -# 2168| mu2168_60(unknown) = ^CallSideEffect : ~m? -# 2168| v2168_61(void) = ^IndirectReadSideEffect[-1] : &:r2168_57, ~m? -# 2168| mu2168_62(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2168_57 -#-----| Goto -> Block 30 - -# 2172| Block 30 -# 2172| v2172_13(void) = NoOp : -# 2172| r2172_14(glval) = VariableAddress[x] : -# 2172| r2172_15(glval) = FunctionAddress[~ClassWithDestructor] : -# 2172| v2172_16(void) = Call[~ClassWithDestructor] : func:r2172_15, this:r2172_14 -# 2172| mu2172_17(unknown) = ^CallSideEffect : ~m? -# 2172| v2172_18(void) = ^IndirectReadSideEffect[-1] : &:r2172_14, ~m? -# 2172| mu2172_19(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2172_14 -#-----| Goto -> Block 1 - -# 2174| void static_variable_with_destructor_1() -# 2174| Block 0 -# 2174| v2174_1(void) = EnterFunction : -# 2174| mu2174_2(unknown) = AliasedDefinition : -# 2174| mu2174_3(unknown) = InitializeNonLocal : -# 2175| r2175_1(glval) = VariableAddress[a] : -# 2175| mu2175_2(ClassWithDestructor) = Uninitialized[a] : &:r2175_1 -# 2175| r2175_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2175| v2175_4(void) = Call[ClassWithDestructor] : func:r2175_3, this:r2175_1 -# 2175| mu2175_5(unknown) = ^CallSideEffect : ~m? -# 2175| mu2175_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2175_1 -# 2176| r2176_1(glval) = VariableAddress[b#init] : -# 2176| r2176_2(bool) = Load[b#init] : &:r2176_1, ~m? -# 2176| v2176_3(void) = ConditionalBranch : r2176_2 -#-----| False -> Block 1 -#-----| True -> Block 2 - -# 2176| Block 1 -# 2176| r2176_4(glval) = VariableAddress[b] : -#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2176_4 -#-----| mu0_3(unknown) = ^CallSideEffect : ~m? -#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2176_4 -# 2176| r2176_5(bool) = Constant[1] : -# 2176| mu2176_6(bool) = Store[b#init] : &:r2176_1, r2176_5 -#-----| Goto -> Block 2 - -# 2177| Block 2 -# 2177| v2177_1(void) = NoOp : -# 2177| r2177_2(glval) = VariableAddress[a] : -# 2177| r2177_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2177| v2177_4(void) = Call[~ClassWithDestructor] : func:r2177_3, this:r2177_2 -# 2177| mu2177_5(unknown) = ^CallSideEffect : ~m? -# 2177| v2177_6(void) = ^IndirectReadSideEffect[-1] : &:r2177_2, ~m? -# 2177| mu2177_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2177_2 -# 2174| v2174_4(void) = ReturnVoid : -# 2174| v2174_5(void) = AliasedUse : ~m? -# 2174| v2174_6(void) = ExitFunction : - -# 2179| void static_variable_with_destructor_2() +# 2179| char ClassWithDestructor::get_x() # 2179| Block 0 -# 2179| v2179_1(void) = EnterFunction : -# 2179| mu2179_2(unknown) = AliasedDefinition : -# 2179| mu2179_3(unknown) = InitializeNonLocal : -# 2180| r2180_1(glval) = VariableAddress[a#init] : -# 2180| r2180_2(bool) = Load[a#init] : &:r2180_1, ~m? -# 2180| v2180_3(void) = ConditionalBranch : r2180_2 -#-----| False -> Block 1 -#-----| True -> Block 2 +# 2179| v2179_1(void) = EnterFunction : +# 2179| mu2179_2(unknown) = AliasedDefinition : +# 2179| mu2179_3(unknown) = InitializeNonLocal : +# 2179| r2179_4(glval) = VariableAddress[#this] : +# 2179| mu2179_5(glval) = InitializeParameter[#this] : &:r2179_4 +# 2179| r2179_6(glval) = Load[#this] : &:r2179_4, ~m? +# 2179| mu2179_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2179_6 +# 2179| r2179_8(glval) = VariableAddress[#return] : +# 2179| r2179_9(glval) = VariableAddress[#this] : +# 2179| r2179_10(ClassWithDestructor *) = Load[#this] : &:r2179_9, ~m? +# 2179| r2179_11(glval) = FieldAddress[x] : r2179_10 +# 2179| r2179_12(char *) = Load[?] : &:r2179_11, ~m? +# 2179| r2179_13(char) = Load[?] : &:r2179_12, ~m? +# 2179| mu2179_14(char) = Store[#return] : &:r2179_8, r2179_13 +# 2179| v2179_15(void) = ReturnIndirection[#this] : &:r2179_6, ~m? +# 2179| r2179_16(glval) = VariableAddress[#return] : +# 2179| v2179_17(void) = ReturnValue : &:r2179_16, ~m? +# 2179| v2179_18(void) = AliasedUse : ~m? +# 2179| v2179_19(void) = ExitFunction : -# 2180| Block 1 -# 2180| r2180_4(glval) = VariableAddress[a] : -#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2180_4 -#-----| mu0_3(unknown) = ^CallSideEffect : ~m? -#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2180_4 -# 2180| r2180_5(bool) = Constant[1] : -# 2180| mu2180_6(bool) = Store[a#init] : &:r2180_1, r2180_5 -#-----| Goto -> Block 2 +# 2182| bool initialization_with_destructor_bool +# 2182| Block 0 +# 2182| v2182_1(void) = EnterFunction : +# 2182| mu2182_2(unknown) = AliasedDefinition : +# 2182| r2182_3(glval) = VariableAddress[initialization_with_destructor_bool] : +# 2182| r2182_4(bool) = Constant[1] : +# 2182| mu2182_5(bool) = Store[initialization_with_destructor_bool] : &:r2182_3, r2182_4 +# 2182| v2182_6(void) = ReturnVoid : +# 2182| v2182_7(void) = AliasedUse : ~m? +# 2182| v2182_8(void) = ExitFunction : -# 2181| Block 2 -# 2181| r2181_1(glval) = VariableAddress[b] : -# 2181| mu2181_2(ClassWithDestructor) = Uninitialized[b] : &:r2181_1 -# 2181| r2181_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2181| v2181_4(void) = Call[ClassWithDestructor] : func:r2181_3, this:r2181_1 -# 2181| mu2181_5(unknown) = ^CallSideEffect : ~m? -# 2181| mu2181_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2181_1 -# 2182| v2182_1(void) = NoOp : -# 2182| r2182_2(glval) = VariableAddress[b] : -# 2182| r2182_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2182| v2182_4(void) = Call[~ClassWithDestructor] : func:r2182_3, this:r2182_2 -# 2182| mu2182_5(unknown) = ^CallSideEffect : ~m? -# 2182| v2182_6(void) = ^IndirectReadSideEffect[-1] : &:r2182_2, ~m? -# 2182| mu2182_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2182_2 -# 2179| v2179_4(void) = ReturnVoid : -# 2179| v2179_5(void) = AliasedUse : ~m? -# 2179| v2179_6(void) = ExitFunction : - -# 2184| void static_variable_with_destructor_3() +# 2184| void initialization_with_destructor(bool, char) # 2184| Block 0 # 2184| v2184_1(void) = EnterFunction : # 2184| mu2184_2(unknown) = AliasedDefinition : # 2184| mu2184_3(unknown) = InitializeNonLocal : -# 2185| r2185_1(glval) = VariableAddress[a] : -# 2185| mu2185_2(ClassWithDestructor) = Uninitialized[a] : &:r2185_1 +# 2184| r2184_4(glval) = VariableAddress[b] : +# 2184| mu2184_5(bool) = InitializeParameter[b] : &:r2184_4 +# 2184| r2184_6(glval) = VariableAddress[c] : +# 2184| mu2184_7(char) = InitializeParameter[c] : &:r2184_6 +# 2185| r2185_1(glval) = VariableAddress[x] : +# 2185| mu2185_2(ClassWithDestructor) = Uninitialized[x] : &:r2185_1 # 2185| r2185_3(glval) = FunctionAddress[ClassWithDestructor] : # 2185| v2185_4(void) = Call[ClassWithDestructor] : func:r2185_3, this:r2185_1 # 2185| mu2185_5(unknown) = ^CallSideEffect : ~m? # 2185| mu2185_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2185_1 -# 2186| r2186_1(glval) = VariableAddress[b] : -# 2186| mu2186_2(ClassWithDestructor) = Uninitialized[b] : &:r2186_1 -# 2186| r2186_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2186| v2186_4(void) = Call[ClassWithDestructor] : func:r2186_3, this:r2186_1 -# 2186| mu2186_5(unknown) = ^CallSideEffect : ~m? -# 2186| mu2186_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2186_1 -# 2187| r2187_1(glval) = VariableAddress[c#init] : -# 2187| r2187_2(bool) = Load[c#init] : &:r2187_1, ~m? -# 2187| v2187_3(void) = ConditionalBranch : r2187_2 -#-----| False -> Block 1 -#-----| True -> Block 2 - -# 2187| Block 1 -# 2187| r2187_4(glval) = VariableAddress[c] : -#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2187_4 -#-----| mu0_3(unknown) = ^CallSideEffect : ~m? -#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2187_4 -# 2187| r2187_5(bool) = Constant[1] : -# 2187| mu2187_6(bool) = Store[c#init] : &:r2187_1, r2187_5 -#-----| Goto -> Block 2 - -# 2188| Block 2 -# 2188| v2188_1(void) = NoOp : -# 2188| r2188_2(glval) = VariableAddress[b] : -# 2188| r2188_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2188| v2188_4(void) = Call[~ClassWithDestructor] : func:r2188_3, this:r2188_2 -# 2188| mu2188_5(unknown) = ^CallSideEffect : ~m? -# 2188| v2188_6(void) = ^IndirectReadSideEffect[-1] : &:r2188_2, ~m? -# 2188| mu2188_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2188_2 -# 2188| r2188_8(glval) = VariableAddress[a] : -# 2188| r2188_9(glval) = FunctionAddress[~ClassWithDestructor] : -# 2188| v2188_10(void) = Call[~ClassWithDestructor] : func:r2188_9, this:r2188_8 -# 2188| mu2188_11(unknown) = ^CallSideEffect : ~m? -# 2188| v2188_12(void) = ^IndirectReadSideEffect[-1] : &:r2188_8, ~m? -# 2188| mu2188_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2188_8 -# 2184| v2184_4(void) = ReturnVoid : -# 2184| v2184_5(void) = AliasedUse : ~m? -# 2184| v2184_6(void) = ExitFunction : - -# 2190| ClassWithDestructor global_class_with_destructor -# 2190| Block 0 -# 2190| v2190_1(void) = EnterFunction : -# 2190| mu2190_2(unknown) = AliasedDefinition : -# 2190| r2190_3(glval) = VariableAddress[global_class_with_destructor] : -# 2190| r2190_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2190| v2190_5(void) = Call[ClassWithDestructor] : func:r2190_4, this:r2190_3 -# 2190| mu2190_6(unknown) = ^CallSideEffect : ~m? -# 2190| mu2190_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2190_3 -# 2190| v2190_8(void) = ReturnVoid : -# 2190| v2190_9(void) = AliasedUse : ~m? -# 2190| v2190_10(void) = ExitFunction : - -# 2194| ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) -# 2194| Block 0 -# 2194| v2194_1(void) = EnterFunction : -# 2194| mu2194_2(unknown) = AliasedDefinition : -# 2194| mu2194_3(unknown) = InitializeNonLocal : -# 2194| r2194_4(glval) = VariableAddress[t] : -# 2194| mu2194_5(ClassWithDestructor &) = InitializeParameter[t] : &:r2194_4 -# 2194| r2194_6(ClassWithDestructor &) = Load[t] : &:r2194_4, ~m? -# 2194| mu2194_7(unknown) = InitializeIndirection[t] : &:r2194_6 -# 2194| r2194_8(glval) = VariableAddress[#return] : -# 2194| r2194_9(glval) = VariableAddress[t] : -# 2194| r2194_10(ClassWithDestructor &) = Load[t] : &:r2194_9, ~m? -# 2194| r2194_11(glval) = CopyValue : r2194_10 -# 2194| r2194_12(ClassWithDestructor &) = CopyValue : r2194_11 -# 2194| mu2194_13(ClassWithDestructor &) = Store[#return] : &:r2194_8, r2194_12 -# 2194| v2194_14(void) = ReturnIndirection[t] : &:r2194_6, ~m? -# 2194| r2194_15(glval) = VariableAddress[#return] : -# 2194| v2194_16(void) = ReturnValue : &:r2194_15, ~m? -# 2194| v2194_17(void) = AliasedUse : ~m? -# 2194| v2194_18(void) = ExitFunction : - -# 2194| int& vacuous_destructor_call::get(int&) -# 2194| Block 0 -# 2194| v2194_1(void) = EnterFunction : -# 2194| mu2194_2(unknown) = AliasedDefinition : -# 2194| mu2194_3(unknown) = InitializeNonLocal : -# 2194| r2194_4(glval) = VariableAddress[t] : -# 2194| mu2194_5(int &) = InitializeParameter[t] : &:r2194_4 -# 2194| r2194_6(int &) = Load[t] : &:r2194_4, ~m? -# 2194| mu2194_7(unknown) = InitializeIndirection[t] : &:r2194_6 -# 2194| r2194_8(glval) = VariableAddress[#return] : -# 2194| r2194_9(glval) = VariableAddress[t] : -# 2194| r2194_10(int &) = Load[t] : &:r2194_9, ~m? -# 2194| r2194_11(glval) = CopyValue : r2194_10 -# 2194| r2194_12(int &) = CopyValue : r2194_11 -# 2194| mu2194_13(int &) = Store[#return] : &:r2194_8, r2194_12 -# 2194| v2194_14(void) = ReturnIndirection[t] : &:r2194_6, ~m? -# 2194| r2194_15(glval) = VariableAddress[#return] : -# 2194| v2194_16(void) = ReturnValue : &:r2194_15, ~m? -# 2194| v2194_17(void) = AliasedUse : ~m? -# 2194| v2194_18(void) = ExitFunction : - -# 2197| void vacuous_destructor_call::call_destructor(ClassWithDestructor&) -# 2197| Block 0 -# 2197| v2197_1(void) = EnterFunction : -# 2197| mu2197_2(unknown) = AliasedDefinition : -# 2197| mu2197_3(unknown) = InitializeNonLocal : -# 2197| r2197_4(glval) = VariableAddress[t] : -# 2197| mu2197_5(ClassWithDestructor &) = InitializeParameter[t] : &:r2197_4 -# 2197| r2197_6(ClassWithDestructor &) = Load[t] : &:r2197_4, ~m? -# 2197| mu2197_7(unknown) = InitializeIndirection[t] : &:r2197_6 -# 2198| r2198_1(glval) = FunctionAddress[get] : -# 2198| r2198_2(glval) = VariableAddress[t] : -# 2198| r2198_3(ClassWithDestructor &) = Load[t] : &:r2198_2, ~m? -# 2198| r2198_4(glval) = CopyValue : r2198_3 -# 2198| r2198_5(ClassWithDestructor &) = CopyValue : r2198_4 -# 2198| r2198_6(ClassWithDestructor &) = Call[get] : func:r2198_1, 0:r2198_5 -# 2198| mu2198_7(unknown) = ^CallSideEffect : ~m? -# 2198| v2198_8(void) = ^BufferReadSideEffect[0] : &:r2198_5, ~m? -# 2198| mu2198_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r2198_5 -# 2198| r2198_10(glval) = CopyValue : r2198_6 -# 2198| r2198_11(glval) = FunctionAddress[~ClassWithDestructor] : -# 2198| v2198_12(void) = Call[~ClassWithDestructor] : func:r2198_11 -# 2198| mu2198_13(unknown) = ^CallSideEffect : ~m? -# 2198| v2198_14(void) = ^IndirectReadSideEffect[-1] : &:r2198_10, ~m? -# 2198| mu2198_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2198_10 -# 2199| v2199_1(void) = NoOp : -# 2197| v2197_8(void) = ReturnIndirection[t] : &:r2197_6, ~m? -# 2197| v2197_9(void) = ReturnVoid : -# 2197| v2197_10(void) = AliasedUse : ~m? -# 2197| v2197_11(void) = ExitFunction : - -# 2197| void vacuous_destructor_call::call_destructor(int&) -# 2197| Block 0 -# 2197| v2197_1(void) = EnterFunction : -# 2197| mu2197_2(unknown) = AliasedDefinition : -# 2197| mu2197_3(unknown) = InitializeNonLocal : -# 2197| r2197_4(glval) = VariableAddress[t] : -# 2197| mu2197_5(int &) = InitializeParameter[t] : &:r2197_4 -# 2197| r2197_6(int &) = Load[t] : &:r2197_4, ~m? -# 2197| mu2197_7(unknown) = InitializeIndirection[t] : &:r2197_6 -# 2198| r2198_1(glval) = FunctionAddress[get] : -# 2198| r2198_2(glval) = VariableAddress[t] : -# 2198| r2198_3(int &) = Load[t] : &:r2198_2, ~m? -# 2198| r2198_4(glval) = CopyValue : r2198_3 -# 2198| r2198_5(int &) = CopyValue : r2198_4 -# 2198| r2198_6(int &) = Call[get] : func:r2198_1, 0:r2198_5 -# 2198| mu2198_7(unknown) = ^CallSideEffect : ~m? -# 2198| v2198_8(void) = ^BufferReadSideEffect[0] : &:r2198_5, ~m? -# 2198| mu2198_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r2198_5 -# 2198| r2198_10(glval) = CopyValue : r2198_6 -# 2199| v2199_1(void) = NoOp : -# 2197| v2197_8(void) = ReturnIndirection[t] : &:r2197_6, ~m? -# 2197| v2197_9(void) = ReturnVoid : -# 2197| v2197_10(void) = AliasedUse : ~m? -# 2197| v2197_11(void) = ExitFunction : - -# 2201| void vacuous_destructor_call::non_vacuous_destructor_call() -# 2201| Block 0 -# 2201| v2201_1(void) = EnterFunction : -# 2201| mu2201_2(unknown) = AliasedDefinition : -# 2201| mu2201_3(unknown) = InitializeNonLocal : -# 2202| r2202_1(glval) = VariableAddress[c] : -# 2202| mu2202_2(ClassWithDestructor) = Uninitialized[c] : &:r2202_1 -# 2202| r2202_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2202| v2202_4(void) = Call[ClassWithDestructor] : func:r2202_3, this:r2202_1 -# 2202| mu2202_5(unknown) = ^CallSideEffect : ~m? -# 2202| mu2202_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2202_1 -# 2203| r2203_1(glval) = FunctionAddress[call_destructor] : -# 2203| r2203_2(glval) = VariableAddress[c] : -# 2203| r2203_3(ClassWithDestructor &) = CopyValue : r2203_2 -# 2203| v2203_4(void) = Call[call_destructor] : func:r2203_1, 0:r2203_3 -# 2203| mu2203_5(unknown) = ^CallSideEffect : ~m? -# 2203| v2203_6(void) = ^BufferReadSideEffect[0] : &:r2203_3, ~m? -# 2203| mu2203_7(unknown) = ^BufferMayWriteSideEffect[0] : &:r2203_3 -# 2204| v2204_1(void) = NoOp : -# 2204| r2204_2(glval) = VariableAddress[c] : -# 2204| r2204_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2204| v2204_4(void) = Call[~ClassWithDestructor] : func:r2204_3, this:r2204_2 -# 2204| mu2204_5(unknown) = ^CallSideEffect : ~m? -# 2204| v2204_6(void) = ^IndirectReadSideEffect[-1] : &:r2204_2, ~m? -# 2204| mu2204_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2204_2 -# 2201| v2201_4(void) = ReturnVoid : -# 2201| v2201_5(void) = AliasedUse : ~m? -# 2201| v2201_6(void) = ExitFunction : - -# 2206| void vacuous_destructor_call::vacuous_destructor_call() -# 2206| Block 0 -# 2206| v2206_1(void) = EnterFunction : -# 2206| mu2206_2(unknown) = AliasedDefinition : -# 2206| mu2206_3(unknown) = InitializeNonLocal : -# 2207| r2207_1(glval) = VariableAddress[i] : -# 2207| mu2207_2(int) = Uninitialized[i] : &:r2207_1 -# 2208| r2208_1(glval) = FunctionAddress[call_destructor] : -# 2208| r2208_2(glval) = VariableAddress[i] : -# 2208| r2208_3(int &) = CopyValue : r2208_2 -# 2208| v2208_4(void) = Call[call_destructor] : func:r2208_1, 0:r2208_3 -# 2208| mu2208_5(unknown) = ^CallSideEffect : ~m? -# 2208| v2208_6(void) = ^BufferReadSideEffect[0] : &:r2208_3, ~m? -# 2208| mu2208_7(unknown) = ^BufferMayWriteSideEffect[0] : &:r2208_3 -# 2209| v2209_1(void) = NoOp : -# 2206| v2206_4(void) = ReturnVoid : -# 2206| v2206_5(void) = AliasedUse : ~m? -# 2206| v2206_6(void) = ExitFunction : - -# 2212| void TryCatchDestructors(bool) -# 2212| Block 0 -# 2212| v2212_1(void) = EnterFunction : -# 2212| mu2212_2(unknown) = AliasedDefinition : -# 2212| mu2212_3(unknown) = InitializeNonLocal : -# 2212| r2212_4(glval) = VariableAddress[b] : -# 2212| mu2212_5(bool) = InitializeParameter[b] : &:r2212_4 -# 2214| r2214_1(glval) = VariableAddress[s] : -# 2214| mu2214_2(String) = Uninitialized[s] : &:r2214_1 -# 2214| r2214_3(glval) = FunctionAddress[String] : -# 2214| v2214_4(void) = Call[String] : func:r2214_3, this:r2214_1 -# 2214| mu2214_5(unknown) = ^CallSideEffect : ~m? -# 2214| mu2214_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2214_1 -# 2215| r2215_1(glval) = VariableAddress[b] : -# 2215| r2215_2(bool) = Load[b] : &:r2215_1, ~m? -# 2215| v2215_3(void) = ConditionalBranch : r2215_2 -#-----| False -> Block 4 -#-----| True -> Block 3 - -# 2212| Block 1 -# 2212| v2212_6(void) = AliasedUse : ~m? -# 2212| v2212_7(void) = ExitFunction : - -# 2212| Block 2 -# 2212| v2212_8(void) = Unwind : -#-----| Goto -> Block 1 - -# 2216| Block 3 -# 2216| r2216_1(glval) = VariableAddress[#throw2216:7] : -# 2216| r2216_2(glval) = StringConstant["string literal"] : -# 2216| r2216_3(char *) = Convert : r2216_2 -# 2216| mu2216_4(char *) = Store[#throw2216:7] : &:r2216_1, r2216_3 -# 2216| v2216_5(void) = ThrowValue : &:r2216_1, ~m? -#-----| Exception -> Block 5 - -# 2218| Block 4 -# 2218| r2218_1(glval) = VariableAddress[s2] : -# 2218| mu2218_2(String) = Uninitialized[s2] : &:r2218_1 -# 2218| r2218_3(glval) = FunctionAddress[String] : -# 2218| v2218_4(void) = Call[String] : func:r2218_3, this:r2218_1 -# 2218| mu2218_5(unknown) = ^CallSideEffect : ~m? -# 2218| mu2218_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2218_1 -# 2219| r2219_1(glval) = VariableAddress[s2] : -# 2219| r2219_2(glval) = FunctionAddress[~String] : -# 2219| v2219_3(void) = Call[~String] : func:r2219_2, this:r2219_1 -# 2219| mu2219_4(unknown) = ^CallSideEffect : ~m? -# 2219| v2219_5(void) = ^IndirectReadSideEffect[-1] : &:r2219_1, ~m? -# 2219| mu2219_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2219_1 -# 2219| r2219_7(glval) = VariableAddress[s] : -# 2219| r2219_8(glval) = FunctionAddress[~String] : -# 2219| v2219_9(void) = Call[~String] : func:r2219_8, this:r2219_7 -# 2219| mu2219_10(unknown) = ^CallSideEffect : ~m? -# 2219| v2219_11(void) = ^IndirectReadSideEffect[-1] : &:r2219_7, ~m? -# 2219| mu2219_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2219_7 -#-----| Goto -> Block 10 - -# 2220| Block 5 -# 2220| v2220_1(void) = CatchByType[const char *] : -#-----| Exception -> Block 7 -#-----| Goto -> Block 6 - -# 2220| Block 6 -# 2220| r2220_2(glval) = VariableAddress[s] : -# 2220| mu2220_3(char *) = InitializeParameter[s] : &:r2220_2 -# 2220| r2220_4(char *) = Load[s] : &:r2220_2, ~m? -# 2220| mu2220_5(unknown) = InitializeIndirection[s] : &:r2220_4 -# 2221| r2221_1(glval) = VariableAddress[#throw2221:5] : -# 2221| mu2221_2(String) = Uninitialized[#throw2221:5] : &:r2221_1 -# 2221| r2221_3(glval) = FunctionAddress[String] : -# 2221| r2221_4(glval) = VariableAddress[s] : -# 2221| r2221_5(char *) = Load[s] : &:r2221_4, ~m? -# 2221| v2221_6(void) = Call[String] : func:r2221_3, this:r2221_1, 0:r2221_5 -# 2221| mu2221_7(unknown) = ^CallSideEffect : ~m? -# 2221| v2221_8(void) = ^BufferReadSideEffect[0] : &:r2221_5, ~m? -# 2221| mu2221_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2221_1 -# 2221| v2221_10(void) = ThrowValue : &:r2221_1, ~m? -#-----| Exception -> Block 2 - -# 2223| Block 7 -# 2223| v2223_1(void) = CatchByType[const String &] : -#-----| Exception -> Block 9 -#-----| Goto -> Block 8 - -# 2223| Block 8 -# 2223| r2223_2(glval) = VariableAddress[e] : -# 2223| mu2223_3(String &) = InitializeParameter[e] : &:r2223_2 -# 2223| r2223_4(String &) = Load[e] : &:r2223_2, ~m? -# 2223| mu2223_5(unknown) = InitializeIndirection[e] : &:r2223_4 -# 2223| v2223_6(void) = NoOp : -#-----| Goto -> Block 10 - -# 2225| Block 9 -# 2225| v2225_1(void) = CatchAny : -# 2226| v2226_1(void) = ReThrow : -#-----| Exception -> Block 2 - -# 2228| Block 10 -# 2228| v2228_1(void) = NoOp : -# 2212| v2212_9(void) = ReturnVoid : -#-----| Goto -> Block 1 - -# 2230| void IfDestructors(bool) -# 2230| Block 0 -# 2230| v2230_1(void) = EnterFunction : -# 2230| mu2230_2(unknown) = AliasedDefinition : -# 2230| mu2230_3(unknown) = InitializeNonLocal : -# 2230| r2230_4(glval) = VariableAddress[b] : -# 2230| mu2230_5(bool) = InitializeParameter[b] : &:r2230_4 -# 2231| r2231_1(glval) = VariableAddress[s1] : -# 2231| mu2231_2(String) = Uninitialized[s1] : &:r2231_1 -# 2231| r2231_3(glval) = FunctionAddress[String] : -# 2231| v2231_4(void) = Call[String] : func:r2231_3, this:r2231_1 -# 2231| mu2231_5(unknown) = ^CallSideEffect : ~m? -# 2231| mu2231_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2231_1 -# 2232| r2232_1(glval) = VariableAddress[b] : -# 2232| r2232_2(bool) = Load[b] : &:r2232_1, ~m? -# 2232| v2232_3(void) = ConditionalBranch : r2232_2 -#-----| False -> Block 2 -#-----| True -> Block 1 - -# 2233| Block 1 -# 2233| r2233_1(glval) = VariableAddress[s2] : -# 2233| mu2233_2(String) = Uninitialized[s2] : &:r2233_1 -# 2233| r2233_3(glval) = FunctionAddress[String] : -# 2233| v2233_4(void) = Call[String] : func:r2233_3, this:r2233_1 -# 2233| mu2233_5(unknown) = ^CallSideEffect : ~m? -# 2233| mu2233_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2233_1 -# 2234| r2234_1(glval) = VariableAddress[s2] : -# 2234| r2234_2(glval) = FunctionAddress[~String] : -# 2234| v2234_3(void) = Call[~String] : func:r2234_2, this:r2234_1 -# 2234| mu2234_4(unknown) = ^CallSideEffect : ~m? -# 2234| v2234_5(void) = ^IndirectReadSideEffect[-1] : &:r2234_1, ~m? -# 2234| mu2234_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2234_1 -#-----| Goto -> Block 3 - -# 2235| Block 2 -# 2235| r2235_1(glval) = VariableAddress[s3] : -# 2235| mu2235_2(String) = Uninitialized[s3] : &:r2235_1 -# 2235| r2235_3(glval) = FunctionAddress[String] : -# 2235| v2235_4(void) = Call[String] : func:r2235_3, this:r2235_1 -# 2235| mu2235_5(unknown) = ^CallSideEffect : ~m? -# 2235| mu2235_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2235_1 -# 2236| r2236_1(glval) = VariableAddress[s3] : -# 2236| r2236_2(glval) = FunctionAddress[~String] : -# 2236| v2236_3(void) = Call[~String] : func:r2236_2, this:r2236_1 -# 2236| mu2236_4(unknown) = ^CallSideEffect : ~m? -# 2236| v2236_5(void) = ^IndirectReadSideEffect[-1] : &:r2236_1, ~m? -# 2236| mu2236_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2236_1 -#-----| Goto -> Block 3 - -# 2237| Block 3 -# 2237| r2237_1(glval) = VariableAddress[s4] : -# 2237| mu2237_2(String) = Uninitialized[s4] : &:r2237_1 -# 2237| r2237_3(glval) = FunctionAddress[String] : -# 2237| v2237_4(void) = Call[String] : func:r2237_3, this:r2237_1 -# 2237| mu2237_5(unknown) = ^CallSideEffect : ~m? -# 2237| mu2237_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2237_1 -# 2238| v2238_1(void) = NoOp : -# 2238| r2238_2(glval) = VariableAddress[s4] : -# 2238| r2238_3(glval) = FunctionAddress[~String] : -# 2238| v2238_4(void) = Call[~String] : func:r2238_3, this:r2238_2 -# 2238| mu2238_5(unknown) = ^CallSideEffect : ~m? -# 2238| v2238_6(void) = ^IndirectReadSideEffect[-1] : &:r2238_2, ~m? -# 2238| mu2238_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2238_2 -# 2238| r2238_8(glval) = VariableAddress[s1] : -# 2238| r2238_9(glval) = FunctionAddress[~String] : -# 2238| v2238_10(void) = Call[~String] : func:r2238_9, this:r2238_8 -# 2238| mu2238_11(unknown) = ^CallSideEffect : ~m? -# 2238| v2238_12(void) = ^IndirectReadSideEffect[-1] : &:r2238_8, ~m? -# 2238| mu2238_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r2238_8 -# 2230| v2230_6(void) = ReturnVoid : -# 2230| v2230_7(void) = AliasedUse : ~m? -# 2230| v2230_8(void) = ExitFunction : - -# 2240| void ForDestructors() -# 2240| Block 0 -# 2240| v2240_1(void) = EnterFunction : -# 2240| mu2240_2(unknown) = AliasedDefinition : -# 2240| mu2240_3(unknown) = InitializeNonLocal : -# 2241| r2241_1(glval) = VariableAddress[c] : -# 2241| r2241_2(char) = Constant[97] : -# 2241| mu2241_3(char) = Store[c] : &:r2241_1, r2241_2 -# 2242| r2242_1(glval) = VariableAddress[s] : -# 2242| mu2242_2(String) = Uninitialized[s] : &:r2242_1 -# 2242| r2242_3(glval) = FunctionAddress[String] : -# 2242| r2242_4(glval) = StringConstant["hello"] : -# 2242| r2242_5(char *) = Convert : r2242_4 -# 2242| v2242_6(void) = Call[String] : func:r2242_3, this:r2242_1, 0:r2242_5 -# 2242| mu2242_7(unknown) = ^CallSideEffect : ~m? -# 2242| v2242_8(void) = ^BufferReadSideEffect[0] : &:r2242_5, ~m? -# 2242| mu2242_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2242_1 -#-----| Goto -> Block 1 - -# 2242| Block 1 -# 2242| r2242_10(glval) = VariableAddress[c] : -# 2242| r2242_11(char) = Load[c] : &:r2242_10, ~m? -# 2242| r2242_12(int) = Convert : r2242_11 -# 2242| r2242_13(int) = Constant[0] : -# 2242| r2242_14(bool) = CompareNE : r2242_12, r2242_13 -# 2242| v2242_15(void) = ConditionalBranch : r2242_14 +# 2185| r2185_7(glval) = VariableAddress[b] : +# 2185| r2185_8(bool) = Load[b] : &:r2185_7, ~m? +# 2185| v2185_9(void) = ConditionalBranch : r2185_8 #-----| False -> Block 3 #-----| True -> Block 2 -# 2243| Block 2 -# 2243| r2243_1(glval) = VariableAddress[s2] : -# 2243| mu2243_2(String) = Uninitialized[s2] : &:r2243_1 -# 2243| r2243_3(glval) = FunctionAddress[String] : -# 2243| v2243_4(void) = Call[String] : func:r2243_3, this:r2243_1 -# 2243| mu2243_5(unknown) = ^CallSideEffect : ~m? -# 2243| mu2243_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2243_1 -# 2244| r2244_1(glval) = VariableAddress[s2] : -# 2244| r2244_2(glval) = FunctionAddress[~String] : -# 2244| v2244_3(void) = Call[~String] : func:r2244_2, this:r2244_1 -# 2244| mu2244_4(unknown) = ^CallSideEffect : ~m? -# 2244| v2244_5(void) = ^IndirectReadSideEffect[-1] : &:r2244_1, ~m? -# 2244| mu2244_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2244_1 -# 2242| r2242_16(glval) = VariableAddress[s] : -# 2242| r2242_17(glval) = FunctionAddress[pop_back] : -# 2242| r2242_18(char) = Call[pop_back] : func:r2242_17, this:r2242_16 -# 2242| mu2242_19(unknown) = ^CallSideEffect : ~m? -# 2242| v2242_20(void) = ^IndirectReadSideEffect[-1] : &:r2242_16, ~m? -# 2242| mu2242_21(String) = ^IndirectMayWriteSideEffect[-1] : &:r2242_16 -# 2242| r2242_22(glval) = VariableAddress[c] : -# 2242| mu2242_23(char) = Store[c] : &:r2242_22, r2242_18 -#-----| Goto (back edge) -> Block 1 +# 2184| Block 1 +# 2184| v2184_8(void) = ReturnVoid : +# 2184| v2184_9(void) = AliasedUse : ~m? +# 2184| v2184_10(void) = ExitFunction : -# 2242| Block 3 -# 2242| r2242_24(glval) = VariableAddress[s] : -# 2242| r2242_25(glval) = FunctionAddress[~String] : -# 2242| v2242_26(void) = Call[~String] : func:r2242_25, this:r2242_24 -# 2242| mu2242_27(unknown) = ^CallSideEffect : ~m? -# 2242| v2242_28(void) = ^IndirectReadSideEffect[-1] : &:r2242_24, ~m? -# 2242| mu2242_29(String) = ^IndirectMayWriteSideEffect[-1] : &:r2242_24 -# 2246| r2246_1(glval &&>) = VariableAddress[(__range)] : -# 2246| r2246_2(glval>) = VariableAddress[#temp2246:20] : -# 2246| mu2246_3(vector) = Uninitialized[#temp2246:20] : &:r2246_2 -# 2246| r2246_4(glval) = FunctionAddress[vector] : -# 2246| r2246_5(glval) = VariableAddress[#temp2246:35] : -# 2246| mu2246_6(String) = Uninitialized[#temp2246:35] : &:r2246_5 -# 2246| r2246_7(glval) = FunctionAddress[String] : -# 2246| r2246_8(glval) = StringConstant["hello"] : -# 2246| r2246_9(char *) = Convert : r2246_8 -# 2246| v2246_10(void) = Call[String] : func:r2246_7, this:r2246_5, 0:r2246_9 -# 2246| mu2246_11(unknown) = ^CallSideEffect : ~m? -# 2246| v2246_12(void) = ^BufferReadSideEffect[0] : &:r2246_9, ~m? -# 2246| mu2246_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r2246_5 -# 2246| r2246_14(String) = Load[#temp2246:35] : &:r2246_5, ~m? -# 2246| v2246_15(void) = Call[vector] : func:r2246_4, this:r2246_2, 0:r2246_14 -# 2246| mu2246_16(unknown) = ^CallSideEffect : ~m? -# 2246| mu2246_17(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2246_2 -# 2246| r2246_18(vector &) = CopyValue : r2246_2 -# 2246| mu2246_19(vector &&) = Store[(__range)] : &:r2246_1, r2246_18 -# 2246| r2246_20(glval) = VariableAddress[(__begin)] : -# 2246| r2246_21(glval &&>) = VariableAddress[(__range)] : -# 2246| r2246_22(vector &&) = Load[(__range)] : &:r2246_21, ~m? -#-----| r0_1(glval>) = CopyValue : r2246_22 -#-----| r0_2(glval>) = Convert : r0_1 -# 2246| r2246_23(glval) = FunctionAddress[begin] : -# 2246| r2246_24(iterator) = Call[begin] : func:r2246_23, this:r0_2 -# 2246| mu2246_25(unknown) = ^CallSideEffect : ~m? -#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, ~m? -# 2246| mu2246_26(iterator) = Store[(__begin)] : &:r2246_20, r2246_24 -# 2246| r2246_27(glval) = VariableAddress[(__end)] : -# 2246| r2246_28(glval &&>) = VariableAddress[(__range)] : -# 2246| r2246_29(vector &&) = Load[(__range)] : &:r2246_28, ~m? -#-----| r0_4(glval>) = CopyValue : r2246_29 -#-----| r0_5(glval>) = Convert : r0_4 -# 2246| r2246_30(glval) = FunctionAddress[end] : -# 2246| r2246_31(iterator) = Call[end] : func:r2246_30, this:r0_5 -# 2246| mu2246_32(unknown) = ^CallSideEffect : ~m? -#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? -# 2246| mu2246_33(iterator) = Store[(__end)] : &:r2246_27, r2246_31 -#-----| Goto -> Block 4 - -# 2246| Block 4 -# 2246| r2246_34(glval) = VariableAddress[(__begin)] : -#-----| r0_7(glval) = Convert : r2246_34 -# 2246| r2246_35(glval) = FunctionAddress[operator!=] : -# 2246| r2246_36(glval) = VariableAddress[(__end)] : -# 2246| r2246_37(iterator) = Load[(__end)] : &:r2246_36, ~m? -# 2246| r2246_38(bool) = Call[operator!=] : func:r2246_35, this:r0_7, 0:r2246_37 -# 2246| mu2246_39(unknown) = ^CallSideEffect : ~m? -#-----| v0_8(void) = ^IndirectReadSideEffect[-1] : &:r0_7, ~m? -# 2246| v2246_40(void) = ConditionalBranch : r2246_38 -#-----| False -> Block 6 -#-----| True -> Block 5 - -# 2246| Block 5 -# 2246| r2246_41(glval) = VariableAddress[s] : -# 2246| mu2246_42(String) = Uninitialized[s] : &:r2246_41 -# 2246| r2246_43(glval) = FunctionAddress[String] : -# 2246| r2246_44(glval) = VariableAddress[(__begin)] : -#-----| r0_9(glval) = Convert : r2246_44 -# 2246| r2246_45(glval) = FunctionAddress[operator*] : -# 2246| r2246_46(String &) = Call[operator*] : func:r2246_45, this:r0_9 -# 2246| mu2246_47(unknown) = ^CallSideEffect : ~m? -#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_9, ~m? -# 2246| r2246_48(glval) = CopyValue : r2246_46 -# 2246| r2246_49(glval) = Convert : r2246_48 -# 2246| r2246_50(String &) = CopyValue : r2246_49 -# 2246| v2246_51(void) = Call[String] : func:r2246_43, this:r2246_41, 0:r2246_50 -# 2246| mu2246_52(unknown) = ^CallSideEffect : ~m? -# 2246| v2246_53(void) = ^BufferReadSideEffect[0] : &:r2246_50, ~m? -# 2246| mu2246_54(String) = ^IndirectMayWriteSideEffect[-1] : &:r2246_41 -# 2247| r2247_1(glval) = VariableAddress[s2] : -# 2247| mu2247_2(String) = Uninitialized[s2] : &:r2247_1 -# 2247| r2247_3(glval) = FunctionAddress[String] : -# 2247| v2247_4(void) = Call[String] : func:r2247_3, this:r2247_1 -# 2247| mu2247_5(unknown) = ^CallSideEffect : ~m? -# 2247| mu2247_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2247_1 -# 2248| r2248_1(glval) = VariableAddress[s2] : -# 2248| r2248_2(glval) = FunctionAddress[~String] : -# 2248| v2248_3(void) = Call[~String] : func:r2248_2, this:r2248_1 -# 2248| mu2248_4(unknown) = ^CallSideEffect : ~m? -# 2248| v2248_5(void) = ^IndirectReadSideEffect[-1] : &:r2248_1, ~m? -# 2248| mu2248_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2248_1 -# 2246| r2246_55(glval) = VariableAddress[s] : -# 2246| r2246_56(glval) = FunctionAddress[~String] : -# 2246| v2246_57(void) = Call[~String] : func:r2246_56, this:r2246_55 -# 2246| mu2246_58(unknown) = ^CallSideEffect : ~m? -# 2246| v2246_59(void) = ^IndirectReadSideEffect[-1] : &:r2246_55, ~m? -# 2246| mu2246_60(String) = ^IndirectMayWriteSideEffect[-1] : &:r2246_55 -# 2246| r2246_61(glval) = VariableAddress[(__begin)] : -# 2246| r2246_62(glval) = FunctionAddress[operator++] : -# 2246| r2246_63(iterator &) = Call[operator++] : func:r2246_62, this:r2246_61 -# 2246| mu2246_64(unknown) = ^CallSideEffect : ~m? -# 2246| v2246_65(void) = ^IndirectReadSideEffect[-1] : &:r2246_61, ~m? -# 2246| mu2246_66(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2246_61 -# 2246| r2246_67(glval) = CopyValue : r2246_63 -#-----| Goto (back edge) -> Block 4 - -# 2250| Block 6 -# 2250| r2250_1(glval) = VariableAddress[s] : -# 2250| mu2250_2(String) = Uninitialized[s] : &:r2250_1 -# 2250| r2250_3(glval) = FunctionAddress[String] : -# 2250| r2250_4(glval) = StringConstant["hello"] : -# 2250| r2250_5(char *) = Convert : r2250_4 -# 2250| v2250_6(void) = Call[String] : func:r2250_3, this:r2250_1, 0:r2250_5 -# 2250| mu2250_7(unknown) = ^CallSideEffect : ~m? -# 2250| v2250_8(void) = ^BufferReadSideEffect[0] : &:r2250_5, ~m? -# 2250| mu2250_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_1 -# 2250| r2250_10(glval) = VariableAddress[s2] : -# 2250| mu2250_11(String) = Uninitialized[s2] : &:r2250_10 -# 2250| r2250_12(glval) = FunctionAddress[String] : -# 2250| r2250_13(glval) = StringConstant["world"] : -# 2250| r2250_14(char *) = Convert : r2250_13 -# 2250| v2250_15(void) = Call[String] : func:r2250_12, this:r2250_10, 0:r2250_14 -# 2250| mu2250_16(unknown) = ^CallSideEffect : ~m? -# 2250| v2250_17(void) = ^BufferReadSideEffect[0] : &:r2250_14, ~m? -# 2250| mu2250_18(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_10 -#-----| Goto -> Block 7 - -# 2250| Block 7 -# 2250| r2250_19(glval) = VariableAddress[c] : -# 2250| r2250_20(char) = Load[c] : &:r2250_19, ~m? -# 2250| r2250_21(int) = Convert : r2250_20 -# 2250| r2250_22(int) = Constant[0] : -# 2250| r2250_23(bool) = CompareNE : r2250_21, r2250_22 -# 2250| v2250_24(void) = ConditionalBranch : r2250_23 -#-----| False -> Block 9 -#-----| True -> Block 8 - -# 2251| Block 8 -# 2251| r2251_1(char) = Constant[0] : -# 2251| r2251_2(glval) = VariableAddress[c] : -# 2251| mu2251_3(char) = Store[c] : &:r2251_2, r2251_1 -# 2250| r2250_25(glval) = VariableAddress[s] : -# 2250| r2250_26(glval) = FunctionAddress[pop_back] : -# 2250| r2250_27(char) = Call[pop_back] : func:r2250_26, this:r2250_25 -# 2250| mu2250_28(unknown) = ^CallSideEffect : ~m? -# 2250| v2250_29(void) = ^IndirectReadSideEffect[-1] : &:r2250_25, ~m? -# 2250| mu2250_30(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_25 -# 2250| r2250_31(glval) = VariableAddress[c] : -# 2250| mu2250_32(char) = Store[c] : &:r2250_31, r2250_27 -#-----| Goto (back edge) -> Block 7 - -# 2250| Block 9 -# 2250| r2250_33(glval) = VariableAddress[s2] : -# 2250| r2250_34(glval) = FunctionAddress[~String] : -# 2250| v2250_35(void) = Call[~String] : func:r2250_34, this:r2250_33 -# 2250| mu2250_36(unknown) = ^CallSideEffect : ~m? -# 2250| v2250_37(void) = ^IndirectReadSideEffect[-1] : &:r2250_33, ~m? -# 2250| mu2250_38(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_33 -# 2250| r2250_39(glval) = VariableAddress[s] : -# 2250| r2250_40(glval) = FunctionAddress[~String] : -# 2250| v2250_41(void) = Call[~String] : func:r2250_40, this:r2250_39 -# 2250| mu2250_42(unknown) = ^CallSideEffect : ~m? -# 2250| v2250_43(void) = ^IndirectReadSideEffect[-1] : &:r2250_39, ~m? -# 2250| mu2250_44(String) = ^IndirectMayWriteSideEffect[-1] : &:r2250_39 -# 2253| v2253_1(void) = NoOp : -# 2240| v2240_4(void) = ReturnVoid : -# 2240| v2240_5(void) = AliasedUse : ~m? -# 2240| v2240_6(void) = ExitFunction : - -# 2255| void IfDestructors2(bool) -# 2255| Block 0 -# 2255| v2255_1(void) = EnterFunction : -# 2255| mu2255_2(unknown) = AliasedDefinition : -# 2255| mu2255_3(unknown) = InitializeNonLocal : -# 2255| r2255_4(glval) = VariableAddress[b] : -# 2255| mu2255_5(bool) = InitializeParameter[b] : &:r2255_4 -# 2256| r2256_1(glval) = VariableAddress[s] : -# 2256| mu2256_2(String) = Uninitialized[s] : &:r2256_1 -# 2256| r2256_3(glval) = FunctionAddress[String] : -# 2256| r2256_4(glval) = StringConstant["hello"] : -# 2256| r2256_5(char *) = Convert : r2256_4 -# 2256| v2256_6(void) = Call[String] : func:r2256_3, this:r2256_1, 0:r2256_5 -# 2256| mu2256_7(unknown) = ^CallSideEffect : ~m? -# 2256| v2256_8(void) = ^BufferReadSideEffect[0] : &:r2256_5, ~m? -# 2256| mu2256_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2256_1 -# 2256| r2256_10(glval) = VariableAddress[b] : -# 2256| r2256_11(bool) = Load[b] : &:r2256_10, ~m? -# 2256| v2256_12(void) = ConditionalBranch : r2256_11 -#-----| False -> Block 2 -#-----| True -> Block 1 - -# 2257| Block 1 -# 2257| r2257_1(glval) = VariableAddress[x] : -# 2257| r2257_2(int) = Constant[0] : -# 2257| mu2257_3(int) = Store[x] : &:r2257_1, r2257_2 +# 2186| Block 2 +# 2186| r2186_1(glval) = VariableAddress[x] : +# 2186| r2186_2(glval) = FunctionAddress[set_x] : +# 2186| r2186_3(char) = Constant[97] : +# 2186| v2186_4(void) = Call[set_x] : func:r2186_2, this:r2186_1, 0:r2186_3 +# 2186| mu2186_5(unknown) = ^CallSideEffect : ~m? +# 2186| v2186_6(void) = ^IndirectReadSideEffect[-1] : &:r2186_1, ~m? +# 2186| mu2186_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2186_1 +# 2186| r2186_8(glval) = VariableAddress[x] : +# 2186| r2186_9(glval) = FunctionAddress[~ClassWithDestructor] : +# 2186| v2186_10(void) = Call[~ClassWithDestructor] : func:r2186_9, this:r2186_8 +# 2186| mu2186_11(unknown) = ^CallSideEffect : ~m? +# 2186| v2186_12(void) = ^IndirectReadSideEffect[-1] : &:r2186_8, ~m? +# 2186| mu2186_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2186_8 #-----| Goto -> Block 3 +# 2188| Block 3 +# 2188| r2188_1(glval) = VariableAddress[x] : +# 2188| mu2188_2(ClassWithDestructor) = Uninitialized[x] : &:r2188_1 +# 2188| r2188_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2188| v2188_4(void) = Call[ClassWithDestructor] : func:r2188_3, this:r2188_1 +# 2188| mu2188_5(unknown) = ^CallSideEffect : ~m? +# 2188| mu2188_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2188_1 +# 2188| r2188_7(bool) = Constant[1] : +# 2188| v2188_8(void) = ConditionalBranch : r2188_7 +#-----| False -> Block 6 +#-----| True -> Block 4 + +# 2189| Block 4 +# 2189| r2189_1(glval) = VariableAddress[x] : +# 2189| r2189_2(glval) = FunctionAddress[set_x] : +# 2189| r2189_3(char) = Constant[97] : +# 2189| v2189_4(void) = Call[set_x] : func:r2189_2, this:r2189_1, 0:r2189_3 +# 2189| mu2189_5(unknown) = ^CallSideEffect : ~m? +# 2189| v2189_6(void) = ^IndirectReadSideEffect[-1] : &:r2189_1, ~m? +# 2189| mu2189_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2189_1 +#-----| Goto -> Block 6 + +# 2189| Block 5 +# 2189| r2189_8(glval) = VariableAddress[x] : +# 2189| r2189_9(glval) = FunctionAddress[~ClassWithDestructor] : +# 2189| v2189_10(void) = Call[~ClassWithDestructor] : func:r2189_9, this:r2189_8 +# 2189| mu2189_11(unknown) = ^CallSideEffect : ~m? +# 2189| v2189_12(void) = ^IndirectReadSideEffect[-1] : &:r2189_8, ~m? +# 2189| mu2189_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2189_8 +#-----| Goto -> Block 6 + +# 2191| Block 6 +# 2191| r2191_1(glval) = VariableAddress[x] : +# 2191| mu2191_2(ClassWithDestructor) = Uninitialized[x] : &:r2191_1 +# 2191| r2191_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2191| v2191_4(void) = Call[ClassWithDestructor] : func:r2191_3, this:r2191_1 +# 2191| mu2191_5(unknown) = ^CallSideEffect : ~m? +# 2191| mu2191_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2191_1 +# 2191| r2191_7(glval) = VariableAddress[c] : +# 2191| r2191_8(char) = Load[c] : &:r2191_7, ~m? +# 2191| r2191_9(int) = Convert : r2191_8 +# 2191| v2191_10(void) = Switch : r2191_9 +#-----| Case[97] -> Block 7 +#-----| Default -> Block 8 + +# 2192| Block 7 +# 2192| v2192_1(void) = NoOp : +# 2193| r2193_1(glval) = VariableAddress[x] : +# 2193| r2193_2(glval) = FunctionAddress[set_x] : +# 2193| r2193_3(char) = Constant[97] : +# 2193| v2193_4(void) = Call[set_x] : func:r2193_2, this:r2193_1, 0:r2193_3 +# 2193| mu2193_5(unknown) = ^CallSideEffect : ~m? +# 2193| v2193_6(void) = ^IndirectReadSideEffect[-1] : &:r2193_1, ~m? +# 2193| mu2193_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2193_1 +# 2194| v2194_1(void) = NoOp : +#-----| Goto -> Block 10 + +# 2195| Block 8 +# 2195| v2195_1(void) = NoOp : +# 2196| r2196_1(glval) = VariableAddress[x] : +# 2196| r2196_2(glval) = FunctionAddress[set_x] : +# 2196| r2196_3(char) = Constant[98] : +# 2196| v2196_4(void) = Call[set_x] : func:r2196_2, this:r2196_1, 0:r2196_3 +# 2196| mu2196_5(unknown) = ^CallSideEffect : ~m? +# 2196| v2196_6(void) = ^IndirectReadSideEffect[-1] : &:r2196_1, ~m? +# 2196| mu2196_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2196_1 +# 2197| v2197_1(void) = NoOp : +#-----| Goto -> Block 10 + +# 2198| Block 9 +# 2198| r2198_1(glval) = VariableAddress[x] : +# 2198| r2198_2(glval) = FunctionAddress[~ClassWithDestructor] : +# 2198| v2198_3(void) = Call[~ClassWithDestructor] : func:r2198_2, this:r2198_1 +# 2198| mu2198_4(unknown) = ^CallSideEffect : ~m? +# 2198| v2198_5(void) = ^IndirectReadSideEffect[-1] : &:r2198_1, ~m? +# 2198| mu2198_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2198_1 +#-----| Goto -> Block 10 + +# 2198| Block 10 +# 2198| v2198_7(void) = NoOp : +# 2200| r2200_1(glval) = VariableAddress[x] : +# 2200| mu2200_2(ClassWithDestructor) = Uninitialized[x] : &:r2200_1 +# 2200| r2200_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2200| v2200_4(void) = Call[ClassWithDestructor] : func:r2200_3, this:r2200_1 +# 2200| mu2200_5(unknown) = ^CallSideEffect : ~m? +# 2200| mu2200_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2200_1 +# 2201| r2201_1(glval>) = VariableAddress[ys] : +# 2201| mu2201_2(vector) = Uninitialized[ys] : &:r2201_1 +# 2201| r2201_3(glval) = FunctionAddress[vector] : +# 2201| r2201_4(glval) = VariableAddress[#temp2201:45] : +# 2201| r2201_5(glval) = VariableAddress[x] : +# 2201| r2201_6(ClassWithDestructor) = Load[x] : &:r2201_5, ~m? +# 2201| mu2201_7(ClassWithDestructor) = Store[#temp2201:45] : &:r2201_4, r2201_6 +# 2201| r2201_8(ClassWithDestructor) = Load[#temp2201:45] : &:r2201_4, ~m? +# 2201| v2201_9(void) = Call[vector] : func:r2201_3, this:r2201_1, 0:r2201_8 +# 2201| mu2201_10(unknown) = ^CallSideEffect : ~m? +# 2201| mu2201_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2201_1 +# 2201| r2201_12(glval &>) = VariableAddress[(__range)] : +# 2201| r2201_13(glval>) = VariableAddress[ys] : +# 2201| r2201_14(vector &) = CopyValue : r2201_13 +# 2201| mu2201_15(vector &) = Store[(__range)] : &:r2201_12, r2201_14 +# 2201| r2201_16(glval>) = VariableAddress[(__begin)] : +# 2201| r2201_17(glval &>) = VariableAddress[(__range)] : +# 2201| r2201_18(vector &) = Load[(__range)] : &:r2201_17, ~m? +#-----| r0_1(glval>) = CopyValue : r2201_18 +#-----| r0_2(glval>) = Convert : r0_1 +# 2201| r2201_19(glval) = FunctionAddress[begin] : +# 2201| r2201_20(iterator) = Call[begin] : func:r2201_19, this:r0_2 +#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, ~m? +# 2201| mu2201_21(iterator) = Store[(__begin)] : &:r2201_16, r2201_20 +# 2201| r2201_22(glval>) = VariableAddress[(__end)] : +# 2201| r2201_23(glval &>) = VariableAddress[(__range)] : +# 2201| r2201_24(vector &) = Load[(__range)] : &:r2201_23, ~m? +#-----| r0_4(glval>) = CopyValue : r2201_24 +#-----| r0_5(glval>) = Convert : r0_4 +# 2201| r2201_25(glval) = FunctionAddress[end] : +# 2201| r2201_26(iterator) = Call[end] : func:r2201_25, this:r0_5 +#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? +# 2201| mu2201_27(iterator) = Store[(__end)] : &:r2201_22, r2201_26 +#-----| Goto -> Block 11 + +# 2201| Block 11 +# 2201| r2201_28(glval>) = VariableAddress[(__begin)] : +#-----| r0_7(glval>) = Convert : r2201_28 +# 2201| r2201_29(glval) = FunctionAddress[operator!=] : +#-----| r0_8(glval>) = VariableAddress[#temp0:0] : +#-----| mu0_9(iterator) = Uninitialized[#temp0:0] : &:r0_8 +# 2201| r2201_30(glval) = FunctionAddress[iterator] : +# 2201| r2201_31(glval>) = VariableAddress[(__end)] : +#-----| r0_10(glval>) = Convert : r2201_31 +#-----| r0_11(iterator &) = CopyValue : r0_10 +# 2201| v2201_32(void) = Call[iterator] : func:r2201_30, this:r0_8, 0:r0_11 +# 2201| mu2201_33(unknown) = ^CallSideEffect : ~m? +#-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m? +# 2201| mu2201_34(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 +#-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, ~m? +# 2201| r2201_35(bool) = Call[operator!=] : func:r2201_29, this:r0_7, 0:r0_13 +# 2201| mu2201_36(unknown) = ^CallSideEffect : ~m? +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, ~m? +# 2201| v2201_37(void) = ConditionalBranch : r2201_35 +#-----| False -> Block 14 +#-----| True -> Block 12 + +# 2201| Block 12 +# 2201| r2201_38(glval) = VariableAddress[y] : +# 2201| r2201_39(glval>) = VariableAddress[(__begin)] : +#-----| r0_15(glval>) = Convert : r2201_39 +# 2201| r2201_40(glval) = FunctionAddress[operator*] : +# 2201| r2201_41(ClassWithDestructor &) = Call[operator*] : func:r2201_40, this:r0_15 +# 2201| mu2201_42(unknown) = ^CallSideEffect : ~m? +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, ~m? +# 2201| r2201_43(ClassWithDestructor) = Load[?] : &:r2201_41, ~m? +# 2201| mu2201_44(ClassWithDestructor) = Store[y] : &:r2201_38, r2201_43 +# 2202| r2202_1(glval) = VariableAddress[y] : +# 2202| r2202_2(glval) = FunctionAddress[set_x] : +# 2202| r2202_3(char) = Constant[97] : +# 2202| v2202_4(void) = Call[set_x] : func:r2202_2, this:r2202_1, 0:r2202_3 +# 2202| mu2202_5(unknown) = ^CallSideEffect : ~m? +# 2202| v2202_6(void) = ^IndirectReadSideEffect[-1] : &:r2202_1, ~m? +# 2202| mu2202_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2202_1 +# 2201| r2201_45(glval) = VariableAddress[y] : +# 2201| r2201_46(glval) = FunctionAddress[~ClassWithDestructor] : +# 2201| v2201_47(void) = Call[~ClassWithDestructor] : func:r2201_46, this:r2201_45 +# 2201| mu2201_48(unknown) = ^CallSideEffect : ~m? +# 2201| v2201_49(void) = ^IndirectReadSideEffect[-1] : &:r2201_45, ~m? +# 2201| mu2201_50(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2201_45 +# 2201| r2201_51(glval>) = VariableAddress[(__begin)] : +# 2201| r2201_52(glval) = FunctionAddress[operator++] : +# 2201| r2201_53(iterator &) = Call[operator++] : func:r2201_52, this:r2201_51 +# 2201| mu2201_54(unknown) = ^CallSideEffect : ~m? +# 2201| v2201_55(void) = ^IndirectReadSideEffect[-1] : &:r2201_51, ~m? +# 2201| mu2201_56(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2201_51 +# 2201| r2201_57(glval>) = CopyValue : r2201_53 +#-----| Goto (back edge) -> Block 11 + +# 2201| Block 13 +# 2201| r2201_58(glval>) = VariableAddress[ys] : +# 2201| r2201_59(glval) = FunctionAddress[~vector] : +# 2201| v2201_60(void) = Call[~vector] : func:r2201_59, this:r2201_58 +# 2201| mu2201_61(unknown) = ^CallSideEffect : ~m? +# 2201| v2201_62(void) = ^IndirectReadSideEffect[-1] : &:r2201_58, ~m? +# 2201| mu2201_63(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2201_58 +#-----| Goto -> Block 14 + +# 2204| Block 14 +# 2204| r2204_1(glval>) = VariableAddress[ys] : +# 2204| mu2204_2(vector) = Uninitialized[ys] : &:r2204_1 +# 2204| r2204_3(glval) = FunctionAddress[vector] : +# 2204| r2204_4(glval) = VariableAddress[#temp2204:45] : +# 2204| r2204_5(glval) = VariableAddress[x] : +# 2204| r2204_6(ClassWithDestructor) = Load[x] : &:r2204_5, ~m? +# 2204| mu2204_7(ClassWithDestructor) = Store[#temp2204:45] : &:r2204_4, r2204_6 +# 2204| r2204_8(ClassWithDestructor) = Load[#temp2204:45] : &:r2204_4, ~m? +# 2204| v2204_9(void) = Call[vector] : func:r2204_3, this:r2204_1, 0:r2204_8 +# 2204| mu2204_10(unknown) = ^CallSideEffect : ~m? +# 2204| mu2204_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2204_1 +# 2204| r2204_12(glval &>) = VariableAddress[(__range)] : +# 2204| r2204_13(glval>) = VariableAddress[ys] : +# 2204| r2204_14(vector &) = CopyValue : r2204_13 +# 2204| mu2204_15(vector &) = Store[(__range)] : &:r2204_12, r2204_14 +# 2204| r2204_16(glval>) = VariableAddress[(__begin)] : +# 2204| r2204_17(glval &>) = VariableAddress[(__range)] : +# 2204| r2204_18(vector &) = Load[(__range)] : &:r2204_17, ~m? +#-----| r0_17(glval>) = CopyValue : r2204_18 +#-----| r0_18(glval>) = Convert : r0_17 +# 2204| r2204_19(glval) = FunctionAddress[begin] : +# 2204| r2204_20(iterator) = Call[begin] : func:r2204_19, this:r0_18 +#-----| v0_19(void) = ^IndirectReadSideEffect[-1] : &:r0_18, ~m? +# 2204| mu2204_21(iterator) = Store[(__begin)] : &:r2204_16, r2204_20 +# 2204| r2204_22(glval>) = VariableAddress[(__end)] : +# 2204| r2204_23(glval &>) = VariableAddress[(__range)] : +# 2204| r2204_24(vector &) = Load[(__range)] : &:r2204_23, ~m? +#-----| r0_20(glval>) = CopyValue : r2204_24 +#-----| r0_21(glval>) = Convert : r0_20 +# 2204| r2204_25(glval) = FunctionAddress[end] : +# 2204| r2204_26(iterator) = Call[end] : func:r2204_25, this:r0_21 +#-----| v0_22(void) = ^IndirectReadSideEffect[-1] : &:r0_21, ~m? +# 2204| mu2204_27(iterator) = Store[(__end)] : &:r2204_22, r2204_26 +#-----| Goto -> Block 15 + +# 2204| Block 15 +# 2204| r2204_28(glval>) = VariableAddress[(__begin)] : +#-----| r0_23(glval>) = Convert : r2204_28 +# 2204| r2204_29(glval) = FunctionAddress[operator!=] : +#-----| r0_24(glval>) = VariableAddress[#temp0:0] : +#-----| mu0_25(iterator) = Uninitialized[#temp0:0] : &:r0_24 +# 2204| r2204_30(glval) = FunctionAddress[iterator] : +# 2204| r2204_31(glval>) = VariableAddress[(__end)] : +#-----| r0_26(glval>) = Convert : r2204_31 +#-----| r0_27(iterator &) = CopyValue : r0_26 +# 2204| v2204_32(void) = Call[iterator] : func:r2204_30, this:r0_24, 0:r0_27 +# 2204| mu2204_33(unknown) = ^CallSideEffect : ~m? +#-----| v0_28(void) = ^BufferReadSideEffect[0] : &:r0_27, ~m? +# 2204| mu2204_34(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_24 +#-----| r0_29(iterator) = Load[#temp0:0] : &:r0_24, ~m? +# 2204| r2204_35(bool) = Call[operator!=] : func:r2204_29, this:r0_23, 0:r0_29 +# 2204| mu2204_36(unknown) = ^CallSideEffect : ~m? +#-----| v0_30(void) = ^IndirectReadSideEffect[-1] : &:r0_23, ~m? +# 2204| v2204_37(void) = ConditionalBranch : r2204_35 +#-----| False -> Block 20 +#-----| True -> Block 16 + +# 2204| Block 16 +# 2204| r2204_38(glval) = VariableAddress[y] : +# 2204| r2204_39(glval>) = VariableAddress[(__begin)] : +#-----| r0_31(glval>) = Convert : r2204_39 +# 2204| r2204_40(glval) = FunctionAddress[operator*] : +# 2204| r2204_41(ClassWithDestructor &) = Call[operator*] : func:r2204_40, this:r0_31 +# 2204| mu2204_42(unknown) = ^CallSideEffect : ~m? +#-----| v0_32(void) = ^IndirectReadSideEffect[-1] : &:r0_31, ~m? +# 2204| r2204_43(ClassWithDestructor) = Load[?] : &:r2204_41, ~m? +# 2204| mu2204_44(ClassWithDestructor) = Store[y] : &:r2204_38, r2204_43 +# 2205| r2205_1(glval) = VariableAddress[y] : +# 2205| r2205_2(glval) = FunctionAddress[set_x] : +# 2205| r2205_3(char) = Constant[97] : +# 2205| v2205_4(void) = Call[set_x] : func:r2205_2, this:r2205_1, 0:r2205_3 +# 2205| mu2205_5(unknown) = ^CallSideEffect : ~m? +# 2205| v2205_6(void) = ^IndirectReadSideEffect[-1] : &:r2205_1, ~m? +# 2205| mu2205_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2205_1 +# 2206| r2206_1(glval) = VariableAddress[y] : +# 2206| r2206_2(glval) = FunctionAddress[get_x] : +# 2206| r2206_3(char) = Call[get_x] : func:r2206_2, this:r2206_1 +# 2206| mu2206_4(unknown) = ^CallSideEffect : ~m? +# 2206| v2206_5(void) = ^IndirectReadSideEffect[-1] : &:r2206_1, ~m? +# 2206| mu2206_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2206_1 +# 2206| r2206_7(int) = Convert : r2206_3 +# 2206| r2206_8(int) = Constant[98] : +# 2206| r2206_9(bool) = CompareEQ : r2206_7, r2206_8 +# 2206| v2206_10(void) = ConditionalBranch : r2206_9 +#-----| False -> Block 18 +#-----| True -> Block 17 + +# 2207| Block 17 +# 2207| v2207_1(void) = NoOp : +# 2204| r2204_45(glval) = VariableAddress[y] : +# 2204| r2204_46(glval) = FunctionAddress[~ClassWithDestructor] : +# 2204| v2204_47(void) = Call[~ClassWithDestructor] : func:r2204_46, this:r2204_45 +# 2204| mu2204_48(unknown) = ^CallSideEffect : ~m? +# 2204| v2204_49(void) = ^IndirectReadSideEffect[-1] : &:r2204_45, ~m? +# 2204| mu2204_50(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2204_45 +# 2204| r2204_51(glval>) = VariableAddress[ys] : +# 2204| r2204_52(glval) = FunctionAddress[~vector] : +# 2204| v2204_53(void) = Call[~vector] : func:r2204_52, this:r2204_51 +# 2204| mu2204_54(unknown) = ^CallSideEffect : ~m? +# 2204| v2204_55(void) = ^IndirectReadSideEffect[-1] : &:r2204_51, ~m? +# 2204| mu2204_56(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2204_51 +# 2219| r2219_1(glval) = VariableAddress[x] : +# 2219| r2219_2(glval) = FunctionAddress[~ClassWithDestructor] : +# 2219| v2219_3(void) = Call[~ClassWithDestructor] : func:r2219_2, this:r2219_1 +# 2219| mu2219_4(unknown) = ^CallSideEffect : ~m? +# 2219| v2219_5(void) = ^IndirectReadSideEffect[-1] : &:r2219_1, ~m? +# 2219| mu2219_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_1 +#-----| Goto -> Block 1 + +# 2204| Block 18 +# 2204| r2204_57(glval) = VariableAddress[y] : +# 2204| r2204_58(glval) = FunctionAddress[~ClassWithDestructor] : +# 2204| v2204_59(void) = Call[~ClassWithDestructor] : func:r2204_58, this:r2204_57 +# 2204| mu2204_60(unknown) = ^CallSideEffect : ~m? +# 2204| v2204_61(void) = ^IndirectReadSideEffect[-1] : &:r2204_57, ~m? +# 2204| mu2204_62(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2204_57 +# 2204| r2204_63(glval>) = VariableAddress[(__begin)] : +# 2204| r2204_64(glval) = FunctionAddress[operator++] : +# 2204| r2204_65(iterator &) = Call[operator++] : func:r2204_64, this:r2204_63 +# 2204| mu2204_66(unknown) = ^CallSideEffect : ~m? +# 2204| v2204_67(void) = ^IndirectReadSideEffect[-1] : &:r2204_63, ~m? +# 2204| mu2204_68(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2204_63 +# 2204| r2204_69(glval>) = CopyValue : r2204_65 +#-----| Goto (back edge) -> Block 15 + +# 2204| Block 19 +# 2204| r2204_70(glval>) = VariableAddress[ys] : +# 2204| r2204_71(glval) = FunctionAddress[~vector] : +# 2204| v2204_72(void) = Call[~vector] : func:r2204_71, this:r2204_70 +# 2204| mu2204_73(unknown) = ^CallSideEffect : ~m? +# 2204| v2204_74(void) = ^IndirectReadSideEffect[-1] : &:r2204_70, ~m? +# 2204| mu2204_75(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2204_70 +#-----| Goto -> Block 20 + +# 2210| Block 20 +# 2210| r2210_1(glval>) = VariableAddress[ys] : +# 2210| mu2210_2(vector) = Uninitialized[ys] : &:r2210_1 +# 2210| r2210_3(glval) = FunctionAddress[vector] : +# 2210| r2210_4(int) = Constant[1] : +# 2210| v2210_5(void) = Call[vector] : func:r2210_3, this:r2210_1, 0:r2210_4 +# 2210| mu2210_6(unknown) = ^CallSideEffect : ~m? +# 2210| mu2210_7(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2210_1 +# 2210| r2210_8(glval &>) = VariableAddress[(__range)] : +# 2210| r2210_9(glval>) = VariableAddress[ys] : +# 2210| r2210_10(vector &) = CopyValue : r2210_9 +# 2210| mu2210_11(vector &) = Store[(__range)] : &:r2210_8, r2210_10 +# 2210| r2210_12(glval>) = VariableAddress[(__begin)] : +# 2210| r2210_13(glval &>) = VariableAddress[(__range)] : +# 2210| r2210_14(vector &) = Load[(__range)] : &:r2210_13, ~m? +#-----| r0_33(glval>) = CopyValue : r2210_14 +#-----| r0_34(glval>) = Convert : r0_33 +# 2210| r2210_15(glval) = FunctionAddress[begin] : +# 2210| r2210_16(iterator) = Call[begin] : func:r2210_15, this:r0_34 +#-----| v0_35(void) = ^IndirectReadSideEffect[-1] : &:r0_34, ~m? +# 2210| mu2210_17(iterator) = Store[(__begin)] : &:r2210_12, r2210_16 +# 2210| r2210_18(glval>) = VariableAddress[(__end)] : +# 2210| r2210_19(glval &>) = VariableAddress[(__range)] : +# 2210| r2210_20(vector &) = Load[(__range)] : &:r2210_19, ~m? +#-----| r0_36(glval>) = CopyValue : r2210_20 +#-----| r0_37(glval>) = Convert : r0_36 +# 2210| r2210_21(glval) = FunctionAddress[end] : +# 2210| r2210_22(iterator) = Call[end] : func:r2210_21, this:r0_37 +#-----| v0_38(void) = ^IndirectReadSideEffect[-1] : &:r0_37, ~m? +# 2210| mu2210_23(iterator) = Store[(__end)] : &:r2210_18, r2210_22 +#-----| Goto -> Block 21 + +# 2210| Block 21 +# 2210| r2210_24(glval>) = VariableAddress[(__begin)] : +#-----| r0_39(glval>) = Convert : r2210_24 +# 2210| r2210_25(glval) = FunctionAddress[operator!=] : +#-----| r0_40(glval>) = VariableAddress[#temp0:0] : +#-----| mu0_41(iterator) = Uninitialized[#temp0:0] : &:r0_40 +# 2210| r2210_26(glval) = FunctionAddress[iterator] : +# 2210| r2210_27(glval>) = VariableAddress[(__end)] : +#-----| r0_42(glval>) = Convert : r2210_27 +#-----| r0_43(iterator &) = CopyValue : r0_42 +# 2210| v2210_28(void) = Call[iterator] : func:r2210_26, this:r0_40, 0:r0_43 +# 2210| mu2210_29(unknown) = ^CallSideEffect : ~m? +#-----| v0_44(void) = ^BufferReadSideEffect[0] : &:r0_43, ~m? +# 2210| mu2210_30(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_40 +#-----| r0_45(iterator) = Load[#temp0:0] : &:r0_40, ~m? +# 2210| r2210_31(bool) = Call[operator!=] : func:r2210_25, this:r0_39, 0:r0_45 +# 2210| mu2210_32(unknown) = ^CallSideEffect : ~m? +#-----| v0_46(void) = ^IndirectReadSideEffect[-1] : &:r0_39, ~m? +# 2210| v2210_33(void) = ConditionalBranch : r2210_31 +#-----| False -> Block 26 +#-----| True -> Block 23 + +# 2210| Block 22 +# 2210| r2210_34(glval>) = VariableAddress[(__begin)] : +# 2210| r2210_35(glval) = FunctionAddress[operator++] : +# 2210| r2210_36(iterator &) = Call[operator++] : func:r2210_35, this:r2210_34 +# 2210| mu2210_37(unknown) = ^CallSideEffect : ~m? +# 2210| v2210_38(void) = ^IndirectReadSideEffect[-1] : &:r2210_34, ~m? +# 2210| mu2210_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2210_34 +# 2210| r2210_40(glval>) = CopyValue : r2210_36 +#-----| Goto (back edge) -> Block 21 + +# 2210| Block 23 +# 2210| r2210_41(glval) = VariableAddress[y] : +# 2210| r2210_42(glval>) = VariableAddress[(__begin)] : +#-----| r0_47(glval>) = Convert : r2210_42 +# 2210| r2210_43(glval) = FunctionAddress[operator*] : +# 2210| r2210_44(int &) = Call[operator*] : func:r2210_43, this:r0_47 +# 2210| mu2210_45(unknown) = ^CallSideEffect : ~m? +#-----| v0_48(void) = ^IndirectReadSideEffect[-1] : &:r0_47, ~m? +# 2210| r2210_46(int) = Load[?] : &:r2210_44, ~m? +# 2210| mu2210_47(int) = Store[y] : &:r2210_41, r2210_46 +# 2211| r2211_1(glval) = VariableAddress[y] : +# 2211| r2211_2(int) = Load[y] : &:r2211_1, ~m? +# 2211| r2211_3(int) = Constant[1] : +# 2211| r2211_4(bool) = CompareEQ : r2211_2, r2211_3 +# 2211| v2211_5(void) = ConditionalBranch : r2211_4 +#-----| False -> Block 22 +#-----| True -> Block 24 + +# 2212| Block 24 +# 2212| v2212_1(void) = NoOp : +# 2210| r2210_48(glval>) = VariableAddress[ys] : +# 2210| r2210_49(glval) = FunctionAddress[~vector] : +# 2210| v2210_50(void) = Call[~vector] : func:r2210_49, this:r2210_48 +# 2210| mu2210_51(unknown) = ^CallSideEffect : ~m? +# 2210| v2210_52(void) = ^IndirectReadSideEffect[-1] : &:r2210_48, ~m? +# 2210| mu2210_53(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2210_48 +# 2219| r2219_7(glval) = VariableAddress[x] : +# 2219| r2219_8(glval) = FunctionAddress[~ClassWithDestructor] : +# 2219| v2219_9(void) = Call[~ClassWithDestructor] : func:r2219_8, this:r2219_7 +# 2219| mu2219_10(unknown) = ^CallSideEffect : ~m? +# 2219| v2219_11(void) = ^IndirectReadSideEffect[-1] : &:r2219_7, ~m? +# 2219| mu2219_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_7 +#-----| Goto -> Block 1 + +# 2210| Block 25 +# 2210| r2210_54(glval>) = VariableAddress[ys] : +# 2210| r2210_55(glval) = FunctionAddress[~vector] : +# 2210| v2210_56(void) = Call[~vector] : func:r2210_55, this:r2210_54 +# 2210| mu2210_57(unknown) = ^CallSideEffect : ~m? +# 2210| v2210_58(void) = ^IndirectReadSideEffect[-1] : &:r2210_54, ~m? +# 2210| mu2210_59(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2210_54 +#-----| Goto -> Block 26 + +# 2215| Block 26 +# 2215| r2215_1(glval>) = VariableAddress[ys] : +# 2215| mu2215_2(vector) = Uninitialized[ys] : &:r2215_1 +# 2215| r2215_3(glval) = FunctionAddress[vector] : +# 2215| r2215_4(glval) = VariableAddress[#temp2215:45] : +# 2215| r2215_5(glval) = VariableAddress[x] : +# 2215| r2215_6(ClassWithDestructor) = Load[x] : &:r2215_5, ~m? +# 2215| mu2215_7(ClassWithDestructor) = Store[#temp2215:45] : &:r2215_4, r2215_6 +# 2215| r2215_8(ClassWithDestructor) = Load[#temp2215:45] : &:r2215_4, ~m? +# 2215| v2215_9(void) = Call[vector] : func:r2215_3, this:r2215_1, 0:r2215_8 +# 2215| mu2215_10(unknown) = ^CallSideEffect : ~m? +# 2215| mu2215_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2215_1 +# 2215| r2215_12(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_13(glval>) = VariableAddress[ys] : +# 2215| r2215_14(vector &) = CopyValue : r2215_13 +# 2215| mu2215_15(vector &) = Store[(__range)] : &:r2215_12, r2215_14 +# 2215| r2215_16(glval>) = VariableAddress[(__begin)] : +# 2215| r2215_17(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_18(vector &) = Load[(__range)] : &:r2215_17, ~m? +#-----| r0_49(glval>) = CopyValue : r2215_18 +#-----| r0_50(glval>) = Convert : r0_49 +# 2215| r2215_19(glval) = FunctionAddress[begin] : +# 2215| r2215_20(iterator) = Call[begin] : func:r2215_19, this:r0_50 +#-----| v0_51(void) = ^IndirectReadSideEffect[-1] : &:r0_50, ~m? +# 2215| mu2215_21(iterator) = Store[(__begin)] : &:r2215_16, r2215_20 +# 2215| r2215_22(glval>) = VariableAddress[(__end)] : +# 2215| r2215_23(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_24(vector &) = Load[(__range)] : &:r2215_23, ~m? +#-----| r0_52(glval>) = CopyValue : r2215_24 +#-----| r0_53(glval>) = Convert : r0_52 +# 2215| r2215_25(glval) = FunctionAddress[end] : +# 2215| r2215_26(iterator) = Call[end] : func:r2215_25, this:r0_53 +#-----| v0_54(void) = ^IndirectReadSideEffect[-1] : &:r0_53, ~m? +# 2215| mu2215_27(iterator) = Store[(__end)] : &:r2215_22, r2215_26 +#-----| Goto -> Block 27 + +# 2215| Block 27 +# 2215| r2215_28(glval>) = VariableAddress[(__begin)] : +#-----| r0_55(glval>) = Convert : r2215_28 +# 2215| r2215_29(glval) = FunctionAddress[operator!=] : +#-----| r0_56(glval>) = VariableAddress[#temp0:0] : +#-----| mu0_57(iterator) = Uninitialized[#temp0:0] : &:r0_56 +# 2215| r2215_30(glval) = FunctionAddress[iterator] : +# 2215| r2215_31(glval>) = VariableAddress[(__end)] : +#-----| r0_58(glval>) = Convert : r2215_31 +#-----| r0_59(iterator &) = CopyValue : r0_58 +# 2215| v2215_32(void) = Call[iterator] : func:r2215_30, this:r0_56, 0:r0_59 +# 2215| mu2215_33(unknown) = ^CallSideEffect : ~m? +#-----| v0_60(void) = ^BufferReadSideEffect[0] : &:r0_59, ~m? +# 2215| mu2215_34(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_56 +#-----| r0_61(iterator) = Load[#temp0:0] : &:r0_56, ~m? +# 2215| r2215_35(bool) = Call[operator!=] : func:r2215_29, this:r0_55, 0:r0_61 +# 2215| mu2215_36(unknown) = ^CallSideEffect : ~m? +#-----| v0_62(void) = ^IndirectReadSideEffect[-1] : &:r0_55, ~m? +# 2215| v2215_37(void) = ConditionalBranch : r2215_35 +#-----| False -> Block 30 +#-----| True -> Block 28 + +# 2215| Block 28 +# 2215| r2215_38(glval) = VariableAddress[y] : +# 2215| r2215_39(glval>) = VariableAddress[(__begin)] : +#-----| r0_63(glval>) = Convert : r2215_39 +# 2215| r2215_40(glval) = FunctionAddress[operator*] : +# 2215| r2215_41(ClassWithDestructor &) = Call[operator*] : func:r2215_40, this:r0_63 +# 2215| mu2215_42(unknown) = ^CallSideEffect : ~m? +#-----| v0_64(void) = ^IndirectReadSideEffect[-1] : &:r0_63, ~m? +# 2215| r2215_43(ClassWithDestructor) = Load[?] : &:r2215_41, ~m? +# 2215| mu2215_44(ClassWithDestructor) = Store[y] : &:r2215_38, r2215_43 +# 2216| r2216_1(glval) = VariableAddress[z1] : +# 2216| mu2216_2(ClassWithDestructor) = Uninitialized[z1] : &:r2216_1 +# 2216| r2216_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2216| v2216_4(void) = Call[ClassWithDestructor] : func:r2216_3, this:r2216_1 +# 2216| mu2216_5(unknown) = ^CallSideEffect : ~m? +# 2216| mu2216_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2216_1 +# 2217| r2217_1(glval) = VariableAddress[z2] : +# 2217| mu2217_2(ClassWithDestructor) = Uninitialized[z2] : &:r2217_1 +# 2217| r2217_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2217| v2217_4(void) = Call[ClassWithDestructor] : func:r2217_3, this:r2217_1 +# 2217| mu2217_5(unknown) = ^CallSideEffect : ~m? +# 2217| mu2217_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2217_1 +# 2218| r2218_1(glval) = VariableAddress[z2] : +# 2218| r2218_2(glval) = FunctionAddress[~ClassWithDestructor] : +# 2218| v2218_3(void) = Call[~ClassWithDestructor] : func:r2218_2, this:r2218_1 +# 2218| mu2218_4(unknown) = ^CallSideEffect : ~m? +# 2218| v2218_5(void) = ^IndirectReadSideEffect[-1] : &:r2218_1, ~m? +# 2218| mu2218_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_1 +# 2218| r2218_7(glval) = VariableAddress[z1] : +# 2218| r2218_8(glval) = FunctionAddress[~ClassWithDestructor] : +# 2218| v2218_9(void) = Call[~ClassWithDestructor] : func:r2218_8, this:r2218_7 +# 2218| mu2218_10(unknown) = ^CallSideEffect : ~m? +# 2218| v2218_11(void) = ^IndirectReadSideEffect[-1] : &:r2218_7, ~m? +# 2218| mu2218_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_7 +# 2215| r2215_45(glval) = VariableAddress[y] : +# 2215| r2215_46(glval) = FunctionAddress[~ClassWithDestructor] : +# 2215| v2215_47(void) = Call[~ClassWithDestructor] : func:r2215_46, this:r2215_45 +# 2215| mu2215_48(unknown) = ^CallSideEffect : ~m? +# 2215| v2215_49(void) = ^IndirectReadSideEffect[-1] : &:r2215_45, ~m? +# 2215| mu2215_50(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2215_45 +# 2215| r2215_51(glval>) = VariableAddress[(__begin)] : +# 2215| r2215_52(glval) = FunctionAddress[operator++] : +# 2215| r2215_53(iterator &) = Call[operator++] : func:r2215_52, this:r2215_51 +# 2215| mu2215_54(unknown) = ^CallSideEffect : ~m? +# 2215| v2215_55(void) = ^IndirectReadSideEffect[-1] : &:r2215_51, ~m? +# 2215| mu2215_56(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2215_51 +# 2215| r2215_57(glval>) = CopyValue : r2215_53 +#-----| Goto (back edge) -> Block 27 + +# 2215| Block 29 +# 2215| r2215_58(glval>) = VariableAddress[ys] : +# 2215| r2215_59(glval) = FunctionAddress[~vector] : +# 2215| v2215_60(void) = Call[~vector] : func:r2215_59, this:r2215_58 +# 2215| mu2215_61(unknown) = ^CallSideEffect : ~m? +# 2215| v2215_62(void) = ^IndirectReadSideEffect[-1] : &:r2215_58, ~m? +# 2215| mu2215_63(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2215_58 +#-----| Goto -> Block 30 + +# 2219| Block 30 +# 2219| v2219_13(void) = NoOp : +# 2219| r2219_14(glval) = VariableAddress[x] : +# 2219| r2219_15(glval) = FunctionAddress[~ClassWithDestructor] : +# 2219| v2219_16(void) = Call[~ClassWithDestructor] : func:r2219_15, this:r2219_14 +# 2219| mu2219_17(unknown) = ^CallSideEffect : ~m? +# 2219| v2219_18(void) = ^IndirectReadSideEffect[-1] : &:r2219_14, ~m? +# 2219| mu2219_19(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_14 +#-----| Goto -> Block 1 + +# 2221| void static_variable_with_destructor_1() +# 2221| Block 0 +# 2221| v2221_1(void) = EnterFunction : +# 2221| mu2221_2(unknown) = AliasedDefinition : +# 2221| mu2221_3(unknown) = InitializeNonLocal : +# 2222| r2222_1(glval) = VariableAddress[a] : +# 2222| mu2222_2(ClassWithDestructor) = Uninitialized[a] : &:r2222_1 +# 2222| r2222_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2222| v2222_4(void) = Call[ClassWithDestructor] : func:r2222_3, this:r2222_1 +# 2222| mu2222_5(unknown) = ^CallSideEffect : ~m? +# 2222| mu2222_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2222_1 +# 2223| r2223_1(glval) = VariableAddress[b#init] : +# 2223| r2223_2(bool) = Load[b#init] : &:r2223_1, ~m? +# 2223| v2223_3(void) = ConditionalBranch : r2223_2 +#-----| False -> Block 1 +#-----| True -> Block 2 + +# 2223| Block 1 +# 2223| r2223_4(glval) = VariableAddress[b] : +#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2223_4 +#-----| mu0_3(unknown) = ^CallSideEffect : ~m? +#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2223_4 +# 2223| r2223_5(bool) = Constant[1] : +# 2223| mu2223_6(bool) = Store[b#init] : &:r2223_1, r2223_5 +#-----| Goto -> Block 2 + +# 2224| Block 2 +# 2224| v2224_1(void) = NoOp : +# 2224| r2224_2(glval) = VariableAddress[a] : +# 2224| r2224_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2224| v2224_4(void) = Call[~ClassWithDestructor] : func:r2224_3, this:r2224_2 +# 2224| mu2224_5(unknown) = ^CallSideEffect : ~m? +# 2224| v2224_6(void) = ^IndirectReadSideEffect[-1] : &:r2224_2, ~m? +# 2224| mu2224_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2224_2 +# 2221| v2221_4(void) = ReturnVoid : +# 2221| v2221_5(void) = AliasedUse : ~m? +# 2221| v2221_6(void) = ExitFunction : + +# 2226| void static_variable_with_destructor_2() +# 2226| Block 0 +# 2226| v2226_1(void) = EnterFunction : +# 2226| mu2226_2(unknown) = AliasedDefinition : +# 2226| mu2226_3(unknown) = InitializeNonLocal : +# 2227| r2227_1(glval) = VariableAddress[a#init] : +# 2227| r2227_2(bool) = Load[a#init] : &:r2227_1, ~m? +# 2227| v2227_3(void) = ConditionalBranch : r2227_2 +#-----| False -> Block 1 +#-----| True -> Block 2 + +# 2227| Block 1 +# 2227| r2227_4(glval) = VariableAddress[a] : +#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2227_4 +#-----| mu0_3(unknown) = ^CallSideEffect : ~m? +#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2227_4 +# 2227| r2227_5(bool) = Constant[1] : +# 2227| mu2227_6(bool) = Store[a#init] : &:r2227_1, r2227_5 +#-----| Goto -> Block 2 + +# 2228| Block 2 +# 2228| r2228_1(glval) = VariableAddress[b] : +# 2228| mu2228_2(ClassWithDestructor) = Uninitialized[b] : &:r2228_1 +# 2228| r2228_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2228| v2228_4(void) = Call[ClassWithDestructor] : func:r2228_3, this:r2228_1 +# 2228| mu2228_5(unknown) = ^CallSideEffect : ~m? +# 2228| mu2228_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2228_1 +# 2229| v2229_1(void) = NoOp : +# 2229| r2229_2(glval) = VariableAddress[b] : +# 2229| r2229_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2229| v2229_4(void) = Call[~ClassWithDestructor] : func:r2229_3, this:r2229_2 +# 2229| mu2229_5(unknown) = ^CallSideEffect : ~m? +# 2229| v2229_6(void) = ^IndirectReadSideEffect[-1] : &:r2229_2, ~m? +# 2229| mu2229_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2229_2 +# 2226| v2226_4(void) = ReturnVoid : +# 2226| v2226_5(void) = AliasedUse : ~m? +# 2226| v2226_6(void) = ExitFunction : + +# 2231| void static_variable_with_destructor_3() +# 2231| Block 0 +# 2231| v2231_1(void) = EnterFunction : +# 2231| mu2231_2(unknown) = AliasedDefinition : +# 2231| mu2231_3(unknown) = InitializeNonLocal : +# 2232| r2232_1(glval) = VariableAddress[a] : +# 2232| mu2232_2(ClassWithDestructor) = Uninitialized[a] : &:r2232_1 +# 2232| r2232_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2232| v2232_4(void) = Call[ClassWithDestructor] : func:r2232_3, this:r2232_1 +# 2232| mu2232_5(unknown) = ^CallSideEffect : ~m? +# 2232| mu2232_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2232_1 +# 2233| r2233_1(glval) = VariableAddress[b] : +# 2233| mu2233_2(ClassWithDestructor) = Uninitialized[b] : &:r2233_1 +# 2233| r2233_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2233| v2233_4(void) = Call[ClassWithDestructor] : func:r2233_3, this:r2233_1 +# 2233| mu2233_5(unknown) = ^CallSideEffect : ~m? +# 2233| mu2233_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2233_1 +# 2234| r2234_1(glval) = VariableAddress[c#init] : +# 2234| r2234_2(bool) = Load[c#init] : &:r2234_1, ~m? +# 2234| v2234_3(void) = ConditionalBranch : r2234_2 +#-----| False -> Block 1 +#-----| True -> Block 2 + +# 2234| Block 1 +# 2234| r2234_4(glval) = VariableAddress[c] : +#-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2234_4 +#-----| mu0_3(unknown) = ^CallSideEffect : ~m? +#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2234_4 +# 2234| r2234_5(bool) = Constant[1] : +# 2234| mu2234_6(bool) = Store[c#init] : &:r2234_1, r2234_5 +#-----| Goto -> Block 2 + +# 2235| Block 2 +# 2235| v2235_1(void) = NoOp : +# 2235| r2235_2(glval) = VariableAddress[b] : +# 2235| r2235_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2235| v2235_4(void) = Call[~ClassWithDestructor] : func:r2235_3, this:r2235_2 +# 2235| mu2235_5(unknown) = ^CallSideEffect : ~m? +# 2235| v2235_6(void) = ^IndirectReadSideEffect[-1] : &:r2235_2, ~m? +# 2235| mu2235_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2235_2 +# 2235| r2235_8(glval) = VariableAddress[a] : +# 2235| r2235_9(glval) = FunctionAddress[~ClassWithDestructor] : +# 2235| v2235_10(void) = Call[~ClassWithDestructor] : func:r2235_9, this:r2235_8 +# 2235| mu2235_11(unknown) = ^CallSideEffect : ~m? +# 2235| v2235_12(void) = ^IndirectReadSideEffect[-1] : &:r2235_8, ~m? +# 2235| mu2235_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2235_8 +# 2231| v2231_4(void) = ReturnVoid : +# 2231| v2231_5(void) = AliasedUse : ~m? +# 2231| v2231_6(void) = ExitFunction : + +# 2237| ClassWithDestructor global_class_with_destructor +# 2237| Block 0 +# 2237| v2237_1(void) = EnterFunction : +# 2237| mu2237_2(unknown) = AliasedDefinition : +# 2237| r2237_3(glval) = VariableAddress[global_class_with_destructor] : +# 2237| r2237_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2237| v2237_5(void) = Call[ClassWithDestructor] : func:r2237_4, this:r2237_3 +# 2237| mu2237_6(unknown) = ^CallSideEffect : ~m? +# 2237| mu2237_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2237_3 +# 2237| v2237_8(void) = ReturnVoid : +# 2237| v2237_9(void) = AliasedUse : ~m? +# 2237| v2237_10(void) = ExitFunction : + +# 2241| ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) +# 2241| Block 0 +# 2241| v2241_1(void) = EnterFunction : +# 2241| mu2241_2(unknown) = AliasedDefinition : +# 2241| mu2241_3(unknown) = InitializeNonLocal : +# 2241| r2241_4(glval) = VariableAddress[t] : +# 2241| mu2241_5(ClassWithDestructor &) = InitializeParameter[t] : &:r2241_4 +# 2241| r2241_6(ClassWithDestructor &) = Load[t] : &:r2241_4, ~m? +# 2241| mu2241_7(unknown) = InitializeIndirection[t] : &:r2241_6 +# 2241| r2241_8(glval) = VariableAddress[#return] : +# 2241| r2241_9(glval) = VariableAddress[t] : +# 2241| r2241_10(ClassWithDestructor &) = Load[t] : &:r2241_9, ~m? +# 2241| r2241_11(glval) = CopyValue : r2241_10 +# 2241| r2241_12(ClassWithDestructor &) = CopyValue : r2241_11 +# 2241| mu2241_13(ClassWithDestructor &) = Store[#return] : &:r2241_8, r2241_12 +# 2241| v2241_14(void) = ReturnIndirection[t] : &:r2241_6, ~m? +# 2241| r2241_15(glval) = VariableAddress[#return] : +# 2241| v2241_16(void) = ReturnValue : &:r2241_15, ~m? +# 2241| v2241_17(void) = AliasedUse : ~m? +# 2241| v2241_18(void) = ExitFunction : + +# 2241| int& vacuous_destructor_call::get(int&) +# 2241| Block 0 +# 2241| v2241_1(void) = EnterFunction : +# 2241| mu2241_2(unknown) = AliasedDefinition : +# 2241| mu2241_3(unknown) = InitializeNonLocal : +# 2241| r2241_4(glval) = VariableAddress[t] : +# 2241| mu2241_5(int &) = InitializeParameter[t] : &:r2241_4 +# 2241| r2241_6(int &) = Load[t] : &:r2241_4, ~m? +# 2241| mu2241_7(unknown) = InitializeIndirection[t] : &:r2241_6 +# 2241| r2241_8(glval) = VariableAddress[#return] : +# 2241| r2241_9(glval) = VariableAddress[t] : +# 2241| r2241_10(int &) = Load[t] : &:r2241_9, ~m? +# 2241| r2241_11(glval) = CopyValue : r2241_10 +# 2241| r2241_12(int &) = CopyValue : r2241_11 +# 2241| mu2241_13(int &) = Store[#return] : &:r2241_8, r2241_12 +# 2241| v2241_14(void) = ReturnIndirection[t] : &:r2241_6, ~m? +# 2241| r2241_15(glval) = VariableAddress[#return] : +# 2241| v2241_16(void) = ReturnValue : &:r2241_15, ~m? +# 2241| v2241_17(void) = AliasedUse : ~m? +# 2241| v2241_18(void) = ExitFunction : + +# 2244| void vacuous_destructor_call::call_destructor(ClassWithDestructor&) +# 2244| Block 0 +# 2244| v2244_1(void) = EnterFunction : +# 2244| mu2244_2(unknown) = AliasedDefinition : +# 2244| mu2244_3(unknown) = InitializeNonLocal : +# 2244| r2244_4(glval) = VariableAddress[t] : +# 2244| mu2244_5(ClassWithDestructor &) = InitializeParameter[t] : &:r2244_4 +# 2244| r2244_6(ClassWithDestructor &) = Load[t] : &:r2244_4, ~m? +# 2244| mu2244_7(unknown) = InitializeIndirection[t] : &:r2244_6 +# 2245| r2245_1(glval) = FunctionAddress[get] : +# 2245| r2245_2(glval) = VariableAddress[t] : +# 2245| r2245_3(ClassWithDestructor &) = Load[t] : &:r2245_2, ~m? +# 2245| r2245_4(glval) = CopyValue : r2245_3 +# 2245| r2245_5(ClassWithDestructor &) = CopyValue : r2245_4 +# 2245| r2245_6(ClassWithDestructor &) = Call[get] : func:r2245_1, 0:r2245_5 +# 2245| mu2245_7(unknown) = ^CallSideEffect : ~m? +# 2245| v2245_8(void) = ^BufferReadSideEffect[0] : &:r2245_5, ~m? +# 2245| mu2245_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r2245_5 +# 2245| r2245_10(glval) = CopyValue : r2245_6 +# 2245| r2245_11(glval) = FunctionAddress[~ClassWithDestructor] : +# 2245| v2245_12(void) = Call[~ClassWithDestructor] : func:r2245_11 +# 2245| mu2245_13(unknown) = ^CallSideEffect : ~m? +# 2245| v2245_14(void) = ^IndirectReadSideEffect[-1] : &:r2245_10, ~m? +# 2245| mu2245_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2245_10 +# 2246| v2246_1(void) = NoOp : +# 2244| v2244_8(void) = ReturnIndirection[t] : &:r2244_6, ~m? +# 2244| v2244_9(void) = ReturnVoid : +# 2244| v2244_10(void) = AliasedUse : ~m? +# 2244| v2244_11(void) = ExitFunction : + +# 2244| void vacuous_destructor_call::call_destructor(int&) +# 2244| Block 0 +# 2244| v2244_1(void) = EnterFunction : +# 2244| mu2244_2(unknown) = AliasedDefinition : +# 2244| mu2244_3(unknown) = InitializeNonLocal : +# 2244| r2244_4(glval) = VariableAddress[t] : +# 2244| mu2244_5(int &) = InitializeParameter[t] : &:r2244_4 +# 2244| r2244_6(int &) = Load[t] : &:r2244_4, ~m? +# 2244| mu2244_7(unknown) = InitializeIndirection[t] : &:r2244_6 +# 2245| r2245_1(glval) = FunctionAddress[get] : +# 2245| r2245_2(glval) = VariableAddress[t] : +# 2245| r2245_3(int &) = Load[t] : &:r2245_2, ~m? +# 2245| r2245_4(glval) = CopyValue : r2245_3 +# 2245| r2245_5(int &) = CopyValue : r2245_4 +# 2245| r2245_6(int &) = Call[get] : func:r2245_1, 0:r2245_5 +# 2245| mu2245_7(unknown) = ^CallSideEffect : ~m? +# 2245| v2245_8(void) = ^BufferReadSideEffect[0] : &:r2245_5, ~m? +# 2245| mu2245_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r2245_5 +# 2245| r2245_10(glval) = CopyValue : r2245_6 +# 2246| v2246_1(void) = NoOp : +# 2244| v2244_8(void) = ReturnIndirection[t] : &:r2244_6, ~m? +# 2244| v2244_9(void) = ReturnVoid : +# 2244| v2244_10(void) = AliasedUse : ~m? +# 2244| v2244_11(void) = ExitFunction : + +# 2248| void vacuous_destructor_call::non_vacuous_destructor_call() +# 2248| Block 0 +# 2248| v2248_1(void) = EnterFunction : +# 2248| mu2248_2(unknown) = AliasedDefinition : +# 2248| mu2248_3(unknown) = InitializeNonLocal : +# 2249| r2249_1(glval) = VariableAddress[c] : +# 2249| mu2249_2(ClassWithDestructor) = Uninitialized[c] : &:r2249_1 +# 2249| r2249_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2249| v2249_4(void) = Call[ClassWithDestructor] : func:r2249_3, this:r2249_1 +# 2249| mu2249_5(unknown) = ^CallSideEffect : ~m? +# 2249| mu2249_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2249_1 +# 2250| r2250_1(glval) = FunctionAddress[call_destructor] : +# 2250| r2250_2(glval) = VariableAddress[c] : +# 2250| r2250_3(ClassWithDestructor &) = CopyValue : r2250_2 +# 2250| v2250_4(void) = Call[call_destructor] : func:r2250_1, 0:r2250_3 +# 2250| mu2250_5(unknown) = ^CallSideEffect : ~m? +# 2250| v2250_6(void) = ^BufferReadSideEffect[0] : &:r2250_3, ~m? +# 2250| mu2250_7(unknown) = ^BufferMayWriteSideEffect[0] : &:r2250_3 +# 2251| v2251_1(void) = NoOp : +# 2251| r2251_2(glval) = VariableAddress[c] : +# 2251| r2251_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2251| v2251_4(void) = Call[~ClassWithDestructor] : func:r2251_3, this:r2251_2 +# 2251| mu2251_5(unknown) = ^CallSideEffect : ~m? +# 2251| v2251_6(void) = ^IndirectReadSideEffect[-1] : &:r2251_2, ~m? +# 2251| mu2251_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2251_2 +# 2248| v2248_4(void) = ReturnVoid : +# 2248| v2248_5(void) = AliasedUse : ~m? +# 2248| v2248_6(void) = ExitFunction : + +# 2253| void vacuous_destructor_call::vacuous_destructor_call() +# 2253| Block 0 +# 2253| v2253_1(void) = EnterFunction : +# 2253| mu2253_2(unknown) = AliasedDefinition : +# 2253| mu2253_3(unknown) = InitializeNonLocal : +# 2254| r2254_1(glval) = VariableAddress[i] : +# 2254| mu2254_2(int) = Uninitialized[i] : &:r2254_1 +# 2255| r2255_1(glval) = FunctionAddress[call_destructor] : +# 2255| r2255_2(glval) = VariableAddress[i] : +# 2255| r2255_3(int &) = CopyValue : r2255_2 +# 2255| v2255_4(void) = Call[call_destructor] : func:r2255_1, 0:r2255_3 +# 2255| mu2255_5(unknown) = ^CallSideEffect : ~m? +# 2255| v2255_6(void) = ^BufferReadSideEffect[0] : &:r2255_3, ~m? +# 2255| mu2255_7(unknown) = ^BufferMayWriteSideEffect[0] : &:r2255_3 +# 2256| v2256_1(void) = NoOp : +# 2253| v2253_4(void) = ReturnVoid : +# 2253| v2253_5(void) = AliasedUse : ~m? +# 2253| v2253_6(void) = ExitFunction : + +# 2259| void TryCatchDestructors(bool) +# 2259| Block 0 +# 2259| v2259_1(void) = EnterFunction : +# 2259| mu2259_2(unknown) = AliasedDefinition : +# 2259| mu2259_3(unknown) = InitializeNonLocal : +# 2259| r2259_4(glval) = VariableAddress[b] : +# 2259| mu2259_5(bool) = InitializeParameter[b] : &:r2259_4 +# 2261| r2261_1(glval) = VariableAddress[s] : +# 2261| mu2261_2(String) = Uninitialized[s] : &:r2261_1 +# 2261| r2261_3(glval) = FunctionAddress[String] : +# 2261| v2261_4(void) = Call[String] : func:r2261_3, this:r2261_1 +# 2261| mu2261_5(unknown) = ^CallSideEffect : ~m? +# 2261| mu2261_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2261_1 +# 2262| r2262_1(glval) = VariableAddress[b] : +# 2262| r2262_2(bool) = Load[b] : &:r2262_1, ~m? +# 2262| v2262_3(void) = ConditionalBranch : r2262_2 +#-----| False -> Block 4 +#-----| True -> Block 3 + +# 2259| Block 1 +# 2259| v2259_6(void) = AliasedUse : ~m? +# 2259| v2259_7(void) = ExitFunction : + # 2259| Block 2 -# 2259| r2259_1(glval) = VariableAddress[y] : -# 2259| r2259_2(int) = Constant[0] : -# 2259| mu2259_3(int) = Store[y] : &:r2259_1, r2259_2 -#-----| Goto -> Block 3 +# 2259| v2259_8(void) = Unwind : +#-----| Goto -> Block 1 -# 2260| Block 3 -# 2260| r2260_1(glval) = VariableAddress[s] : -# 2260| r2260_2(glval) = FunctionAddress[~String] : -# 2260| v2260_3(void) = Call[~String] : func:r2260_2, this:r2260_1 -# 2260| mu2260_4(unknown) = ^CallSideEffect : ~m? -# 2260| v2260_5(void) = ^IndirectReadSideEffect[-1] : &:r2260_1, ~m? -# 2260| mu2260_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2260_1 -# 2261| v2261_1(void) = NoOp : -# 2255| v2255_6(void) = ReturnVoid : -# 2255| v2255_7(void) = AliasedUse : ~m? -# 2255| v2255_8(void) = ExitFunction : +# 2263| Block 3 +# 2263| r2263_1(glval) = VariableAddress[#throw2263:7] : +# 2263| r2263_2(glval) = StringConstant["string literal"] : +# 2263| r2263_3(char *) = Convert : r2263_2 +# 2263| mu2263_4(char *) = Store[#throw2263:7] : &:r2263_1, r2263_3 +# 2263| v2263_5(void) = ThrowValue : &:r2263_1, ~m? +#-----| Exception -> Block 5 -# 2270| void IfDestructors3(bool) -# 2270| Block 0 -# 2270| v2270_1(void) = EnterFunction : -# 2270| mu2270_2(unknown) = AliasedDefinition : -# 2270| mu2270_3(unknown) = InitializeNonLocal : -# 2270| r2270_4(glval) = VariableAddress[b] : -# 2270| mu2270_5(bool) = InitializeParameter[b] : &:r2270_4 -# 2271| r2271_1(glval) = VariableAddress[B] : -# 2271| mu2271_2(Bool) = Uninitialized[B] : &:r2271_1 -# 2271| r2271_3(glval) = FunctionAddress[Bool] : -# 2271| r2271_4(glval) = VariableAddress[b] : -# 2271| r2271_5(bool) = Load[b] : &:r2271_4, ~m? -# 2271| v2271_6(void) = Call[Bool] : func:r2271_3, this:r2271_1, 0:r2271_5 -# 2271| mu2271_7(unknown) = ^CallSideEffect : ~m? -# 2271| mu2271_8(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2271_1 -# 2271| r2271_9(glval) = VariableAddress[B] : -# 2271| r2271_10(glval) = FunctionAddress[operator bool] : -# 2271| r2271_11(bool) = Call[operator bool] : func:r2271_10, this:r2271_9 -# 2271| mu2271_12(unknown) = ^CallSideEffect : ~m? -# 2271| v2271_13(void) = ^IndirectReadSideEffect[-1] : &:r2271_9, ~m? -# 2271| mu2271_14(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2271_9 -# 2271| r2271_15(bool) = CopyValue : r2271_11 -# 2271| v2271_16(void) = ConditionalBranch : r2271_15 +# 2265| Block 4 +# 2265| r2265_1(glval) = VariableAddress[s2] : +# 2265| mu2265_2(String) = Uninitialized[s2] : &:r2265_1 +# 2265| r2265_3(glval) = FunctionAddress[String] : +# 2265| v2265_4(void) = Call[String] : func:r2265_3, this:r2265_1 +# 2265| mu2265_5(unknown) = ^CallSideEffect : ~m? +# 2265| mu2265_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2265_1 +# 2266| r2266_1(glval) = VariableAddress[s2] : +# 2266| r2266_2(glval) = FunctionAddress[~String] : +# 2266| v2266_3(void) = Call[~String] : func:r2266_2, this:r2266_1 +# 2266| mu2266_4(unknown) = ^CallSideEffect : ~m? +# 2266| v2266_5(void) = ^IndirectReadSideEffect[-1] : &:r2266_1, ~m? +# 2266| mu2266_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2266_1 +# 2266| r2266_7(glval) = VariableAddress[s] : +# 2266| r2266_8(glval) = FunctionAddress[~String] : +# 2266| v2266_9(void) = Call[~String] : func:r2266_8, this:r2266_7 +# 2266| mu2266_10(unknown) = ^CallSideEffect : ~m? +# 2266| v2266_11(void) = ^IndirectReadSideEffect[-1] : &:r2266_7, ~m? +# 2266| mu2266_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2266_7 +#-----| Goto -> Block 10 + +# 2267| Block 5 +# 2267| v2267_1(void) = CatchByType[const char *] : +#-----| Exception -> Block 7 +#-----| Goto -> Block 6 + +# 2267| Block 6 +# 2267| r2267_2(glval) = VariableAddress[s] : +# 2267| mu2267_3(char *) = InitializeParameter[s] : &:r2267_2 +# 2267| r2267_4(char *) = Load[s] : &:r2267_2, ~m? +# 2267| mu2267_5(unknown) = InitializeIndirection[s] : &:r2267_4 +# 2268| r2268_1(glval) = VariableAddress[#throw2268:5] : +# 2268| mu2268_2(String) = Uninitialized[#throw2268:5] : &:r2268_1 +# 2268| r2268_3(glval) = FunctionAddress[String] : +# 2268| r2268_4(glval) = VariableAddress[s] : +# 2268| r2268_5(char *) = Load[s] : &:r2268_4, ~m? +# 2268| v2268_6(void) = Call[String] : func:r2268_3, this:r2268_1, 0:r2268_5 +# 2268| mu2268_7(unknown) = ^CallSideEffect : ~m? +# 2268| v2268_8(void) = ^BufferReadSideEffect[0] : &:r2268_5, ~m? +# 2268| mu2268_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2268_1 +# 2268| v2268_10(void) = ThrowValue : &:r2268_1, ~m? +#-----| Exception -> Block 2 + +# 2270| Block 7 +# 2270| v2270_1(void) = CatchByType[const String &] : +#-----| Exception -> Block 9 +#-----| Goto -> Block 8 + +# 2270| Block 8 +# 2270| r2270_2(glval) = VariableAddress[e] : +# 2270| mu2270_3(String &) = InitializeParameter[e] : &:r2270_2 +# 2270| r2270_4(String &) = Load[e] : &:r2270_2, ~m? +# 2270| mu2270_5(unknown) = InitializeIndirection[e] : &:r2270_4 +# 2270| v2270_6(void) = NoOp : +#-----| Goto -> Block 10 + +# 2272| Block 9 +# 2272| v2272_1(void) = CatchAny : +# 2273| v2273_1(void) = ReThrow : +#-----| Exception -> Block 2 + +# 2275| Block 10 +# 2275| v2275_1(void) = NoOp : +# 2259| v2259_9(void) = ReturnVoid : +#-----| Goto -> Block 1 + +# 2277| void IfDestructors(bool) +# 2277| Block 0 +# 2277| v2277_1(void) = EnterFunction : +# 2277| mu2277_2(unknown) = AliasedDefinition : +# 2277| mu2277_3(unknown) = InitializeNonLocal : +# 2277| r2277_4(glval) = VariableAddress[b] : +# 2277| mu2277_5(bool) = InitializeParameter[b] : &:r2277_4 +# 2278| r2278_1(glval) = VariableAddress[s1] : +# 2278| mu2278_2(String) = Uninitialized[s1] : &:r2278_1 +# 2278| r2278_3(glval) = FunctionAddress[String] : +# 2278| v2278_4(void) = Call[String] : func:r2278_3, this:r2278_1 +# 2278| mu2278_5(unknown) = ^CallSideEffect : ~m? +# 2278| mu2278_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2278_1 +# 2279| r2279_1(glval) = VariableAddress[b] : +# 2279| r2279_2(bool) = Load[b] : &:r2279_1, ~m? +# 2279| v2279_3(void) = ConditionalBranch : r2279_2 #-----| False -> Block 2 #-----| True -> Block 1 -# 2272| Block 1 -# 2272| r2272_1(glval) = VariableAddress[s1] : -# 2272| mu2272_2(String) = Uninitialized[s1] : &:r2272_1 -# 2272| r2272_3(glval) = FunctionAddress[String] : -# 2272| v2272_4(void) = Call[String] : func:r2272_3, this:r2272_1 -# 2272| mu2272_5(unknown) = ^CallSideEffect : ~m? -# 2272| mu2272_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2272_1 -# 2273| r2273_1(glval) = VariableAddress[s1] : -# 2273| r2273_2(glval) = FunctionAddress[~String] : -# 2273| v2273_3(void) = Call[~String] : func:r2273_2, this:r2273_1 -# 2273| mu2273_4(unknown) = ^CallSideEffect : ~m? -# 2273| v2273_5(void) = ^IndirectReadSideEffect[-1] : &:r2273_1, ~m? -# 2273| mu2273_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2273_1 -#-----| Goto -> Block 3 - -# 2274| Block 2 -# 2274| r2274_1(glval) = VariableAddress[s2] : -# 2274| mu2274_2(String) = Uninitialized[s2] : &:r2274_1 -# 2274| r2274_3(glval) = FunctionAddress[String] : -# 2274| v2274_4(void) = Call[String] : func:r2274_3, this:r2274_1 -# 2274| mu2274_5(unknown) = ^CallSideEffect : ~m? -# 2274| mu2274_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2274_1 -# 2275| r2275_1(glval) = VariableAddress[s2] : -# 2275| r2275_2(glval) = FunctionAddress[~String] : -# 2275| v2275_3(void) = Call[~String] : func:r2275_2, this:r2275_1 -# 2275| mu2275_4(unknown) = ^CallSideEffect : ~m? -# 2275| v2275_5(void) = ^IndirectReadSideEffect[-1] : &:r2275_1, ~m? -# 2275| mu2275_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2275_1 -#-----| Goto -> Block 3 - -# 2275| Block 3 -# 2275| r2275_7(glval) = VariableAddress[B] : -# 2275| r2275_8(glval) = FunctionAddress[~Bool] : -# 2275| v2275_9(void) = Call[~Bool] : func:r2275_8, this:r2275_7 -# 2275| mu2275_10(unknown) = ^CallSideEffect : ~m? -# 2275| v2275_11(void) = ^IndirectReadSideEffect[-1] : &:r2275_7, ~m? -# 2275| mu2275_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2275_7 -# 2276| v2276_1(void) = NoOp : -# 2270| v2270_6(void) = ReturnVoid : -# 2270| v2270_7(void) = AliasedUse : ~m? -# 2270| v2270_8(void) = ExitFunction : - -# 2278| void WhileLoopDestructors(bool) -# 2278| Block 0 -# 2278| v2278_1(void) = EnterFunction : -# 2278| mu2278_2(unknown) = AliasedDefinition : -# 2278| mu2278_3(unknown) = InitializeNonLocal : -# 2278| r2278_4(glval) = VariableAddress[b] : -# 2278| mu2278_5(bool) = InitializeParameter[b] : &:r2278_4 -# 2280| r2280_1(glval) = VariableAddress[s] : -# 2280| mu2280_2(String) = Uninitialized[s] : &:r2280_1 +# 2280| Block 1 +# 2280| r2280_1(glval) = VariableAddress[s2] : +# 2280| mu2280_2(String) = Uninitialized[s2] : &:r2280_1 # 2280| r2280_3(glval) = FunctionAddress[String] : # 2280| v2280_4(void) = Call[String] : func:r2280_3, this:r2280_1 # 2280| mu2280_5(unknown) = ^CallSideEffect : ~m? # 2280| mu2280_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_1 +# 2281| r2281_1(glval) = VariableAddress[s2] : +# 2281| r2281_2(glval) = FunctionAddress[~String] : +# 2281| v2281_3(void) = Call[~String] : func:r2281_2, this:r2281_1 +# 2281| mu2281_4(unknown) = ^CallSideEffect : ~m? +# 2281| v2281_5(void) = ^IndirectReadSideEffect[-1] : &:r2281_1, ~m? +# 2281| mu2281_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2281_1 +#-----| Goto -> Block 3 + +# 2282| Block 2 +# 2282| r2282_1(glval) = VariableAddress[s3] : +# 2282| mu2282_2(String) = Uninitialized[s3] : &:r2282_1 +# 2282| r2282_3(glval) = FunctionAddress[String] : +# 2282| v2282_4(void) = Call[String] : func:r2282_3, this:r2282_1 +# 2282| mu2282_5(unknown) = ^CallSideEffect : ~m? +# 2282| mu2282_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2282_1 +# 2283| r2283_1(glval) = VariableAddress[s3] : +# 2283| r2283_2(glval) = FunctionAddress[~String] : +# 2283| v2283_3(void) = Call[~String] : func:r2283_2, this:r2283_1 +# 2283| mu2283_4(unknown) = ^CallSideEffect : ~m? +# 2283| v2283_5(void) = ^IndirectReadSideEffect[-1] : &:r2283_1, ~m? +# 2283| mu2283_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2283_1 +#-----| Goto -> Block 3 + +# 2284| Block 3 +# 2284| r2284_1(glval) = VariableAddress[s4] : +# 2284| mu2284_2(String) = Uninitialized[s4] : &:r2284_1 +# 2284| r2284_3(glval) = FunctionAddress[String] : +# 2284| v2284_4(void) = Call[String] : func:r2284_3, this:r2284_1 +# 2284| mu2284_5(unknown) = ^CallSideEffect : ~m? +# 2284| mu2284_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2284_1 +# 2285| v2285_1(void) = NoOp : +# 2285| r2285_2(glval) = VariableAddress[s4] : +# 2285| r2285_3(glval) = FunctionAddress[~String] : +# 2285| v2285_4(void) = Call[~String] : func:r2285_3, this:r2285_2 +# 2285| mu2285_5(unknown) = ^CallSideEffect : ~m? +# 2285| v2285_6(void) = ^IndirectReadSideEffect[-1] : &:r2285_2, ~m? +# 2285| mu2285_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2285_2 +# 2285| r2285_8(glval) = VariableAddress[s1] : +# 2285| r2285_9(glval) = FunctionAddress[~String] : +# 2285| v2285_10(void) = Call[~String] : func:r2285_9, this:r2285_8 +# 2285| mu2285_11(unknown) = ^CallSideEffect : ~m? +# 2285| v2285_12(void) = ^IndirectReadSideEffect[-1] : &:r2285_8, ~m? +# 2285| mu2285_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r2285_8 +# 2277| v2277_6(void) = ReturnVoid : +# 2277| v2277_7(void) = AliasedUse : ~m? +# 2277| v2277_8(void) = ExitFunction : + +# 2287| void ForDestructors() +# 2287| Block 0 +# 2287| v2287_1(void) = EnterFunction : +# 2287| mu2287_2(unknown) = AliasedDefinition : +# 2287| mu2287_3(unknown) = InitializeNonLocal : +# 2288| r2288_1(glval) = VariableAddress[c] : +# 2288| r2288_2(char) = Constant[97] : +# 2288| mu2288_3(char) = Store[c] : &:r2288_1, r2288_2 +# 2289| r2289_1(glval) = VariableAddress[s] : +# 2289| mu2289_2(String) = Uninitialized[s] : &:r2289_1 +# 2289| r2289_3(glval) = FunctionAddress[String] : +# 2289| r2289_4(glval) = StringConstant["hello"] : +# 2289| r2289_5(char *) = Convert : r2289_4 +# 2289| v2289_6(void) = Call[String] : func:r2289_3, this:r2289_1, 0:r2289_5 +# 2289| mu2289_7(unknown) = ^CallSideEffect : ~m? +# 2289| v2289_8(void) = ^BufferReadSideEffect[0] : &:r2289_5, ~m? +# 2289| mu2289_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_1 #-----| Goto -> Block 1 -# 2281| Block 1 -# 2281| r2281_1(glval) = VariableAddress[b] : -# 2281| r2281_2(bool) = Load[b] : &:r2281_1, ~m? -# 2281| v2281_3(void) = ConditionalBranch : r2281_2 +# 2289| Block 1 +# 2289| r2289_10(glval) = VariableAddress[c] : +# 2289| r2289_11(char) = Load[c] : &:r2289_10, ~m? +# 2289| r2289_12(int) = Convert : r2289_11 +# 2289| r2289_13(int) = Constant[0] : +# 2289| r2289_14(bool) = CompareNE : r2289_12, r2289_13 +# 2289| v2289_15(void) = ConditionalBranch : r2289_14 #-----| False -> Block 3 #-----| True -> Block 2 -# 2282| Block 2 -# 2282| r2282_1(bool) = Constant[0] : -# 2282| r2282_2(glval) = VariableAddress[b] : -# 2282| mu2282_3(bool) = Store[b] : &:r2282_2, r2282_1 +# 2290| Block 2 +# 2290| r2290_1(glval) = VariableAddress[s2] : +# 2290| mu2290_2(String) = Uninitialized[s2] : &:r2290_1 +# 2290| r2290_3(glval) = FunctionAddress[String] : +# 2290| v2290_4(void) = Call[String] : func:r2290_3, this:r2290_1 +# 2290| mu2290_5(unknown) = ^CallSideEffect : ~m? +# 2290| mu2290_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2290_1 +# 2291| r2291_1(glval) = VariableAddress[s2] : +# 2291| r2291_2(glval) = FunctionAddress[~String] : +# 2291| v2291_3(void) = Call[~String] : func:r2291_2, this:r2291_1 +# 2291| mu2291_4(unknown) = ^CallSideEffect : ~m? +# 2291| v2291_5(void) = ^IndirectReadSideEffect[-1] : &:r2291_1, ~m? +# 2291| mu2291_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2291_1 +# 2289| r2289_16(glval) = VariableAddress[s] : +# 2289| r2289_17(glval) = FunctionAddress[pop_back] : +# 2289| r2289_18(char) = Call[pop_back] : func:r2289_17, this:r2289_16 +# 2289| mu2289_19(unknown) = ^CallSideEffect : ~m? +# 2289| v2289_20(void) = ^IndirectReadSideEffect[-1] : &:r2289_16, ~m? +# 2289| mu2289_21(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_16 +# 2289| r2289_22(glval) = VariableAddress[c] : +# 2289| mu2289_23(char) = Store[c] : &:r2289_22, r2289_18 #-----| Goto (back edge) -> Block 1 -# 2284| Block 3 -# 2284| r2284_1(glval) = VariableAddress[s] : -# 2284| r2284_2(glval) = FunctionAddress[~String] : -# 2284| v2284_3(void) = Call[~String] : func:r2284_2, this:r2284_1 -# 2284| mu2284_4(unknown) = ^CallSideEffect : ~m? -# 2284| v2284_5(void) = ^IndirectReadSideEffect[-1] : &:r2284_1, ~m? -# 2284| mu2284_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2284_1 +# 2289| Block 3 +# 2289| r2289_24(glval) = VariableAddress[s] : +# 2289| r2289_25(glval) = FunctionAddress[~String] : +# 2289| v2289_26(void) = Call[~String] : func:r2289_25, this:r2289_24 +# 2289| mu2289_27(unknown) = ^CallSideEffect : ~m? +# 2289| v2289_28(void) = ^IndirectReadSideEffect[-1] : &:r2289_24, ~m? +# 2289| mu2289_29(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_24 +# 2293| r2293_1(glval &&>) = VariableAddress[(__range)] : +# 2293| r2293_2(glval>) = VariableAddress[#temp2293:20] : +# 2293| mu2293_3(vector) = Uninitialized[#temp2293:20] : &:r2293_2 +# 2293| r2293_4(glval) = FunctionAddress[vector] : +# 2293| r2293_5(glval) = VariableAddress[#temp2293:40] : +# 2293| mu2293_6(String) = Uninitialized[#temp2293:40] : &:r2293_5 +# 2293| r2293_7(glval) = FunctionAddress[String] : +# 2293| r2293_8(glval) = StringConstant["hello"] : +# 2293| r2293_9(char *) = Convert : r2293_8 +# 2293| v2293_10(void) = Call[String] : func:r2293_7, this:r2293_5, 0:r2293_9 +# 2293| mu2293_11(unknown) = ^CallSideEffect : ~m? +# 2293| v2293_12(void) = ^BufferReadSideEffect[0] : &:r2293_9, ~m? +# 2293| mu2293_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_5 +# 2293| r2293_14(String) = Load[#temp2293:40] : &:r2293_5, ~m? +# 2293| v2293_15(void) = Call[vector] : func:r2293_4, this:r2293_2, 0:r2293_14 +# 2293| mu2293_16(unknown) = ^CallSideEffect : ~m? +# 2293| mu2293_17(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2293_2 +# 2293| r2293_18(vector &) = CopyValue : r2293_2 +# 2293| mu2293_19(vector &&) = Store[(__range)] : &:r2293_1, r2293_18 +# 2293| r2293_20(glval>) = VariableAddress[(__begin)] : +# 2293| r2293_21(glval &&>) = VariableAddress[(__range)] : +# 2293| r2293_22(vector &&) = Load[(__range)] : &:r2293_21, ~m? +#-----| r0_1(glval>) = CopyValue : r2293_22 +#-----| r0_2(glval>) = Convert : r0_1 +# 2293| r2293_23(glval) = FunctionAddress[begin] : +# 2293| r2293_24(iterator) = Call[begin] : func:r2293_23, this:r0_2 +#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, ~m? +# 2293| mu2293_25(iterator) = Store[(__begin)] : &:r2293_20, r2293_24 +# 2293| r2293_26(glval>) = VariableAddress[(__end)] : +# 2293| r2293_27(glval &&>) = VariableAddress[(__range)] : +# 2293| r2293_28(vector &&) = Load[(__range)] : &:r2293_27, ~m? +#-----| r0_4(glval>) = CopyValue : r2293_28 +#-----| r0_5(glval>) = Convert : r0_4 +# 2293| r2293_29(glval) = FunctionAddress[end] : +# 2293| r2293_30(iterator) = Call[end] : func:r2293_29, this:r0_5 +#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? +# 2293| mu2293_31(iterator) = Store[(__end)] : &:r2293_26, r2293_30 #-----| Goto -> Block 4 -# 2287| Block 4 -# 2287| r2287_1(glval) = VariableAddress[B] : -# 2287| mu2287_2(Bool) = Uninitialized[B] : &:r2287_1 -# 2287| r2287_3(glval) = FunctionAddress[Bool] : -# 2287| r2287_4(glval) = VariableAddress[b] : -# 2287| r2287_5(bool) = Load[b] : &:r2287_4, ~m? -# 2287| v2287_6(void) = Call[Bool] : func:r2287_3, this:r2287_1, 0:r2287_5 -# 2287| mu2287_7(unknown) = ^CallSideEffect : ~m? -# 2287| mu2287_8(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2287_1 -# 2287| r2287_9(glval) = VariableAddress[B] : -# 2287| r2287_10(glval) = FunctionAddress[operator bool] : -# 2287| r2287_11(bool) = Call[operator bool] : func:r2287_10, this:r2287_9 -# 2287| mu2287_12(unknown) = ^CallSideEffect : ~m? -# 2287| v2287_13(void) = ^IndirectReadSideEffect[-1] : &:r2287_9, ~m? -# 2287| mu2287_14(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2287_9 -# 2287| r2287_15(bool) = CopyValue : r2287_11 -# 2287| v2287_16(void) = ConditionalBranch : r2287_15 +# 2293| Block 4 +# 2293| r2293_32(glval>) = VariableAddress[(__begin)] : +#-----| r0_7(glval>) = Convert : r2293_32 +# 2293| r2293_33(glval) = FunctionAddress[operator!=] : +#-----| r0_8(glval>) = VariableAddress[#temp0:0] : +#-----| mu0_9(iterator) = Uninitialized[#temp0:0] : &:r0_8 +# 2293| r2293_34(glval) = FunctionAddress[iterator] : +# 2293| r2293_35(glval>) = VariableAddress[(__end)] : +#-----| r0_10(glval>) = Convert : r2293_35 +#-----| r0_11(iterator &) = CopyValue : r0_10 +# 2293| v2293_36(void) = Call[iterator] : func:r2293_34, this:r0_8, 0:r0_11 +# 2293| mu2293_37(unknown) = ^CallSideEffect : ~m? +#-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m? +# 2293| mu2293_38(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 +#-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, ~m? +# 2293| r2293_39(bool) = Call[operator!=] : func:r2293_33, this:r0_7, 0:r0_13 +# 2293| mu2293_40(unknown) = ^CallSideEffect : ~m? +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, ~m? +# 2293| v2293_41(void) = ConditionalBranch : r2293_39 #-----| False -> Block 6 #-----| True -> Block 5 -# 2288| Block 5 -# 2288| r2288_1(bool) = Constant[0] : -# 2288| r2288_2(glval) = VariableAddress[b] : -# 2288| mu2288_3(bool) = Store[b] : &:r2288_2, r2288_1 -# 2289| r2289_1(glval) = VariableAddress[B] : -# 2289| r2289_2(glval) = FunctionAddress[~Bool] : -# 2289| v2289_3(void) = Call[~Bool] : func:r2289_2, this:r2289_1 -# 2289| mu2289_4(unknown) = ^CallSideEffect : ~m? -# 2289| v2289_5(void) = ^IndirectReadSideEffect[-1] : &:r2289_1, ~m? -# 2289| mu2289_6(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2289_1 +# 2293| Block 5 +# 2293| r2293_42(glval) = VariableAddress[s] : +# 2293| mu2293_43(String) = Uninitialized[s] : &:r2293_42 +# 2293| r2293_44(glval) = FunctionAddress[String] : +# 2293| r2293_45(glval>) = VariableAddress[(__begin)] : +#-----| r0_15(glval>) = Convert : r2293_45 +# 2293| r2293_46(glval) = FunctionAddress[operator*] : +# 2293| r2293_47(String &) = Call[operator*] : func:r2293_46, this:r0_15 +# 2293| mu2293_48(unknown) = ^CallSideEffect : ~m? +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, ~m? +# 2293| r2293_49(glval) = CopyValue : r2293_47 +# 2293| r2293_50(glval) = Convert : r2293_49 +# 2293| r2293_51(String &) = CopyValue : r2293_50 +# 2293| v2293_52(void) = Call[String] : func:r2293_44, this:r2293_42, 0:r2293_51 +# 2293| mu2293_53(unknown) = ^CallSideEffect : ~m? +# 2293| v2293_54(void) = ^BufferReadSideEffect[0] : &:r2293_51, ~m? +# 2293| mu2293_55(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_42 +# 2294| r2294_1(glval) = VariableAddress[s2] : +# 2294| mu2294_2(String) = Uninitialized[s2] : &:r2294_1 +# 2294| r2294_3(glval) = FunctionAddress[String] : +# 2294| v2294_4(void) = Call[String] : func:r2294_3, this:r2294_1 +# 2294| mu2294_5(unknown) = ^CallSideEffect : ~m? +# 2294| mu2294_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2294_1 +# 2295| r2295_1(glval) = VariableAddress[s2] : +# 2295| r2295_2(glval) = FunctionAddress[~String] : +# 2295| v2295_3(void) = Call[~String] : func:r2295_2, this:r2295_1 +# 2295| mu2295_4(unknown) = ^CallSideEffect : ~m? +# 2295| v2295_5(void) = ^IndirectReadSideEffect[-1] : &:r2295_1, ~m? +# 2295| mu2295_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2295_1 +# 2293| r2293_56(glval) = VariableAddress[s] : +# 2293| r2293_57(glval) = FunctionAddress[~String] : +# 2293| v2293_58(void) = Call[~String] : func:r2293_57, this:r2293_56 +# 2293| mu2293_59(unknown) = ^CallSideEffect : ~m? +# 2293| v2293_60(void) = ^IndirectReadSideEffect[-1] : &:r2293_56, ~m? +# 2293| mu2293_61(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_56 +# 2293| r2293_62(glval>) = VariableAddress[(__begin)] : +# 2293| r2293_63(glval) = FunctionAddress[operator++] : +# 2293| r2293_64(iterator &) = Call[operator++] : func:r2293_63, this:r2293_62 +# 2293| mu2293_65(unknown) = ^CallSideEffect : ~m? +# 2293| v2293_66(void) = ^IndirectReadSideEffect[-1] : &:r2293_62, ~m? +# 2293| mu2293_67(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2293_62 +# 2293| r2293_68(glval>) = CopyValue : r2293_64 #-----| Goto (back edge) -> Block 4 -# 2289| Block 6 -# 2289| r2289_7(glval) = VariableAddress[B] : -# 2289| r2289_8(glval) = FunctionAddress[~Bool] : -# 2289| v2289_9(void) = Call[~Bool] : func:r2289_8, this:r2289_7 -# 2289| mu2289_10(unknown) = ^CallSideEffect : ~m? -# 2289| v2289_11(void) = ^IndirectReadSideEffect[-1] : &:r2289_7, ~m? -# 2289| mu2289_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2289_7 -# 2291| v2291_1(void) = NoOp : -# 2278| v2278_6(void) = ReturnVoid : -# 2278| v2278_7(void) = AliasedUse : ~m? -# 2278| v2278_8(void) = ExitFunction : +# 2297| Block 6 +# 2297| r2297_1(glval) = VariableAddress[s] : +# 2297| mu2297_2(String) = Uninitialized[s] : &:r2297_1 +# 2297| r2297_3(glval) = FunctionAddress[String] : +# 2297| r2297_4(glval) = StringConstant["hello"] : +# 2297| r2297_5(char *) = Convert : r2297_4 +# 2297| v2297_6(void) = Call[String] : func:r2297_3, this:r2297_1, 0:r2297_5 +# 2297| mu2297_7(unknown) = ^CallSideEffect : ~m? +# 2297| v2297_8(void) = ^BufferReadSideEffect[0] : &:r2297_5, ~m? +# 2297| mu2297_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_1 +# 2297| r2297_10(glval) = VariableAddress[s2] : +# 2297| mu2297_11(String) = Uninitialized[s2] : &:r2297_10 +# 2297| r2297_12(glval) = FunctionAddress[String] : +# 2297| r2297_13(glval) = StringConstant["world"] : +# 2297| r2297_14(char *) = Convert : r2297_13 +# 2297| v2297_15(void) = Call[String] : func:r2297_12, this:r2297_10, 0:r2297_14 +# 2297| mu2297_16(unknown) = ^CallSideEffect : ~m? +# 2297| v2297_17(void) = ^BufferReadSideEffect[0] : &:r2297_14, ~m? +# 2297| mu2297_18(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_10 +#-----| Goto -> Block 7 -# 2293| void VoidFunc() -# 2293| Block 0 -# 2293| v2293_1(void) = EnterFunction : -# 2293| mu2293_2(unknown) = AliasedDefinition : -# 2293| mu2293_3(unknown) = InitializeNonLocal : -# 2293| v2293_4(void) = NoOp : -# 2293| v2293_5(void) = ReturnVoid : -# 2293| v2293_6(void) = AliasedUse : ~m? -# 2293| v2293_7(void) = ExitFunction : +# 2297| Block 7 +# 2297| r2297_19(glval) = VariableAddress[c] : +# 2297| r2297_20(char) = Load[c] : &:r2297_19, ~m? +# 2297| r2297_21(int) = Convert : r2297_20 +# 2297| r2297_22(int) = Constant[0] : +# 2297| r2297_23(bool) = CompareNE : r2297_21, r2297_22 +# 2297| v2297_24(void) = ConditionalBranch : r2297_23 +#-----| False -> Block 9 +#-----| True -> Block 8 -# 2295| void IfReturnDestructors(bool) -# 2295| Block 0 -# 2295| v2295_1(void) = EnterFunction : -# 2295| mu2295_2(unknown) = AliasedDefinition : -# 2295| mu2295_3(unknown) = InitializeNonLocal : -# 2295| r2295_4(glval) = VariableAddress[b] : -# 2295| mu2295_5(bool) = InitializeParameter[b] : &:r2295_4 -# 2296| r2296_1(glval) = VariableAddress[s] : -# 2296| mu2296_2(String) = Uninitialized[s] : &:r2296_1 -# 2296| r2296_3(glval) = FunctionAddress[String] : -# 2296| v2296_4(void) = Call[String] : func:r2296_3, this:r2296_1 -# 2296| mu2296_5(unknown) = ^CallSideEffect : ~m? -# 2296| mu2296_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2296_1 -# 2297| r2297_1(glval) = VariableAddress[b] : -# 2297| r2297_2(bool) = Load[b] : &:r2297_1, ~m? -# 2297| v2297_3(void) = ConditionalBranch : r2297_2 +# 2298| Block 8 +# 2298| r2298_1(char) = Constant[0] : +# 2298| r2298_2(glval) = VariableAddress[c] : +# 2298| mu2298_3(char) = Store[c] : &:r2298_2, r2298_1 +# 2297| r2297_25(glval) = VariableAddress[s] : +# 2297| r2297_26(glval) = FunctionAddress[pop_back] : +# 2297| r2297_27(char) = Call[pop_back] : func:r2297_26, this:r2297_25 +# 2297| mu2297_28(unknown) = ^CallSideEffect : ~m? +# 2297| v2297_29(void) = ^IndirectReadSideEffect[-1] : &:r2297_25, ~m? +# 2297| mu2297_30(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_25 +# 2297| r2297_31(glval) = VariableAddress[c] : +# 2297| mu2297_32(char) = Store[c] : &:r2297_31, r2297_27 +#-----| Goto (back edge) -> Block 7 + +# 2297| Block 9 +# 2297| r2297_33(glval) = VariableAddress[s2] : +# 2297| r2297_34(glval) = FunctionAddress[~String] : +# 2297| v2297_35(void) = Call[~String] : func:r2297_34, this:r2297_33 +# 2297| mu2297_36(unknown) = ^CallSideEffect : ~m? +# 2297| v2297_37(void) = ^IndirectReadSideEffect[-1] : &:r2297_33, ~m? +# 2297| mu2297_38(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_33 +# 2297| r2297_39(glval) = VariableAddress[s] : +# 2297| r2297_40(glval) = FunctionAddress[~String] : +# 2297| v2297_41(void) = Call[~String] : func:r2297_40, this:r2297_39 +# 2297| mu2297_42(unknown) = ^CallSideEffect : ~m? +# 2297| v2297_43(void) = ^IndirectReadSideEffect[-1] : &:r2297_39, ~m? +# 2297| mu2297_44(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_39 +# 2300| v2300_1(void) = NoOp : +# 2287| v2287_4(void) = ReturnVoid : +# 2287| v2287_5(void) = AliasedUse : ~m? +# 2287| v2287_6(void) = ExitFunction : + +# 2302| void IfDestructors2(bool) +# 2302| Block 0 +# 2302| v2302_1(void) = EnterFunction : +# 2302| mu2302_2(unknown) = AliasedDefinition : +# 2302| mu2302_3(unknown) = InitializeNonLocal : +# 2302| r2302_4(glval) = VariableAddress[b] : +# 2302| mu2302_5(bool) = InitializeParameter[b] : &:r2302_4 +# 2303| r2303_1(glval) = VariableAddress[s] : +# 2303| mu2303_2(String) = Uninitialized[s] : &:r2303_1 +# 2303| r2303_3(glval) = FunctionAddress[String] : +# 2303| r2303_4(glval) = StringConstant["hello"] : +# 2303| r2303_5(char *) = Convert : r2303_4 +# 2303| v2303_6(void) = Call[String] : func:r2303_3, this:r2303_1, 0:r2303_5 +# 2303| mu2303_7(unknown) = ^CallSideEffect : ~m? +# 2303| v2303_8(void) = ^BufferReadSideEffect[0] : &:r2303_5, ~m? +# 2303| mu2303_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2303_1 +# 2303| r2303_10(glval) = VariableAddress[b] : +# 2303| r2303_11(bool) = Load[b] : &:r2303_10, ~m? +# 2303| v2303_12(void) = ConditionalBranch : r2303_11 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 2304| Block 1 +# 2304| r2304_1(glval) = VariableAddress[x] : +# 2304| r2304_2(int) = Constant[0] : +# 2304| mu2304_3(int) = Store[x] : &:r2304_1, r2304_2 +#-----| Goto -> Block 3 + +# 2306| Block 2 +# 2306| r2306_1(glval) = VariableAddress[y] : +# 2306| r2306_2(int) = Constant[0] : +# 2306| mu2306_3(int) = Store[y] : &:r2306_1, r2306_2 +#-----| Goto -> Block 3 + +# 2307| Block 3 +# 2307| r2307_1(glval) = VariableAddress[s] : +# 2307| r2307_2(glval) = FunctionAddress[~String] : +# 2307| v2307_3(void) = Call[~String] : func:r2307_2, this:r2307_1 +# 2307| mu2307_4(unknown) = ^CallSideEffect : ~m? +# 2307| v2307_5(void) = ^IndirectReadSideEffect[-1] : &:r2307_1, ~m? +# 2307| mu2307_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_1 +# 2308| v2308_1(void) = NoOp : +# 2302| v2302_6(void) = ReturnVoid : +# 2302| v2302_7(void) = AliasedUse : ~m? +# 2302| v2302_8(void) = ExitFunction : + +# 2317| void IfDestructors3(bool) +# 2317| Block 0 +# 2317| v2317_1(void) = EnterFunction : +# 2317| mu2317_2(unknown) = AliasedDefinition : +# 2317| mu2317_3(unknown) = InitializeNonLocal : +# 2317| r2317_4(glval) = VariableAddress[b] : +# 2317| mu2317_5(bool) = InitializeParameter[b] : &:r2317_4 +# 2318| r2318_1(glval) = VariableAddress[B] : +# 2318| mu2318_2(Bool) = Uninitialized[B] : &:r2318_1 +# 2318| r2318_3(glval) = FunctionAddress[Bool] : +# 2318| r2318_4(glval) = VariableAddress[b] : +# 2318| r2318_5(bool) = Load[b] : &:r2318_4, ~m? +# 2318| v2318_6(void) = Call[Bool] : func:r2318_3, this:r2318_1, 0:r2318_5 +# 2318| mu2318_7(unknown) = ^CallSideEffect : ~m? +# 2318| mu2318_8(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2318_1 +# 2318| r2318_9(glval) = VariableAddress[B] : +# 2318| r2318_10(glval) = FunctionAddress[operator bool] : +# 2318| r2318_11(bool) = Call[operator bool] : func:r2318_10, this:r2318_9 +# 2318| mu2318_12(unknown) = ^CallSideEffect : ~m? +# 2318| v2318_13(void) = ^IndirectReadSideEffect[-1] : &:r2318_9, ~m? +# 2318| mu2318_14(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2318_9 +# 2318| r2318_15(bool) = CopyValue : r2318_11 +# 2318| v2318_16(void) = ConditionalBranch : r2318_15 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 2319| Block 1 +# 2319| r2319_1(glval) = VariableAddress[s1] : +# 2319| mu2319_2(String) = Uninitialized[s1] : &:r2319_1 +# 2319| r2319_3(glval) = FunctionAddress[String] : +# 2319| v2319_4(void) = Call[String] : func:r2319_3, this:r2319_1 +# 2319| mu2319_5(unknown) = ^CallSideEffect : ~m? +# 2319| mu2319_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2319_1 +# 2320| r2320_1(glval) = VariableAddress[s1] : +# 2320| r2320_2(glval) = FunctionAddress[~String] : +# 2320| v2320_3(void) = Call[~String] : func:r2320_2, this:r2320_1 +# 2320| mu2320_4(unknown) = ^CallSideEffect : ~m? +# 2320| v2320_5(void) = ^IndirectReadSideEffect[-1] : &:r2320_1, ~m? +# 2320| mu2320_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2320_1 +#-----| Goto -> Block 3 + +# 2321| Block 2 +# 2321| r2321_1(glval) = VariableAddress[s2] : +# 2321| mu2321_2(String) = Uninitialized[s2] : &:r2321_1 +# 2321| r2321_3(glval) = FunctionAddress[String] : +# 2321| v2321_4(void) = Call[String] : func:r2321_3, this:r2321_1 +# 2321| mu2321_5(unknown) = ^CallSideEffect : ~m? +# 2321| mu2321_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2321_1 +# 2322| r2322_1(glval) = VariableAddress[s2] : +# 2322| r2322_2(glval) = FunctionAddress[~String] : +# 2322| v2322_3(void) = Call[~String] : func:r2322_2, this:r2322_1 +# 2322| mu2322_4(unknown) = ^CallSideEffect : ~m? +# 2322| v2322_5(void) = ^IndirectReadSideEffect[-1] : &:r2322_1, ~m? +# 2322| mu2322_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2322_1 +#-----| Goto -> Block 3 + +# 2322| Block 3 +# 2322| r2322_7(glval) = VariableAddress[B] : +# 2322| r2322_8(glval) = FunctionAddress[~Bool] : +# 2322| v2322_9(void) = Call[~Bool] : func:r2322_8, this:r2322_7 +# 2322| mu2322_10(unknown) = ^CallSideEffect : ~m? +# 2322| v2322_11(void) = ^IndirectReadSideEffect[-1] : &:r2322_7, ~m? +# 2322| mu2322_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2322_7 +# 2323| v2323_1(void) = NoOp : +# 2317| v2317_6(void) = ReturnVoid : +# 2317| v2317_7(void) = AliasedUse : ~m? +# 2317| v2317_8(void) = ExitFunction : + +# 2325| void WhileLoopDestructors(bool) +# 2325| Block 0 +# 2325| v2325_1(void) = EnterFunction : +# 2325| mu2325_2(unknown) = AliasedDefinition : +# 2325| mu2325_3(unknown) = InitializeNonLocal : +# 2325| r2325_4(glval) = VariableAddress[b] : +# 2325| mu2325_5(bool) = InitializeParameter[b] : &:r2325_4 +# 2327| r2327_1(glval) = VariableAddress[s] : +# 2327| mu2327_2(String) = Uninitialized[s] : &:r2327_1 +# 2327| r2327_3(glval) = FunctionAddress[String] : +# 2327| v2327_4(void) = Call[String] : func:r2327_3, this:r2327_1 +# 2327| mu2327_5(unknown) = ^CallSideEffect : ~m? +# 2327| mu2327_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2327_1 +#-----| Goto -> Block 1 + +# 2328| Block 1 +# 2328| r2328_1(glval) = VariableAddress[b] : +# 2328| r2328_2(bool) = Load[b] : &:r2328_1, ~m? +# 2328| v2328_3(void) = ConditionalBranch : r2328_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2295| Block 1 -# 2295| v2295_6(void) = ReturnVoid : -# 2295| v2295_7(void) = AliasedUse : ~m? -# 2295| v2295_8(void) = ExitFunction : +# 2329| Block 2 +# 2329| r2329_1(bool) = Constant[0] : +# 2329| r2329_2(glval) = VariableAddress[b] : +# 2329| mu2329_3(bool) = Store[b] : &:r2329_2, r2329_1 +#-----| Goto (back edge) -> Block 1 -# 2298| Block 2 -# 2298| v2298_1(void) = NoOp : -# 2304| r2304_1(glval) = VariableAddress[s] : -# 2304| r2304_2(glval) = FunctionAddress[~String] : -# 2304| v2304_3(void) = Call[~String] : func:r2304_2, this:r2304_1 -# 2304| mu2304_4(unknown) = ^CallSideEffect : ~m? -# 2304| v2304_5(void) = ^IndirectReadSideEffect[-1] : &:r2304_1, ~m? -# 2304| mu2304_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2304_1 +# 2331| Block 3 +# 2331| r2331_1(glval) = VariableAddress[s] : +# 2331| r2331_2(glval) = FunctionAddress[~String] : +# 2331| v2331_3(void) = Call[~String] : func:r2331_2, this:r2331_1 +# 2331| mu2331_4(unknown) = ^CallSideEffect : ~m? +# 2331| v2331_5(void) = ^IndirectReadSideEffect[-1] : &:r2331_1, ~m? +# 2331| mu2331_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2331_1 +#-----| Goto -> Block 4 + +# 2334| Block 4 +# 2334| r2334_1(glval) = VariableAddress[B] : +# 2334| mu2334_2(Bool) = Uninitialized[B] : &:r2334_1 +# 2334| r2334_3(glval) = FunctionAddress[Bool] : +# 2334| r2334_4(glval) = VariableAddress[b] : +# 2334| r2334_5(bool) = Load[b] : &:r2334_4, ~m? +# 2334| v2334_6(void) = Call[Bool] : func:r2334_3, this:r2334_1, 0:r2334_5 +# 2334| mu2334_7(unknown) = ^CallSideEffect : ~m? +# 2334| mu2334_8(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2334_1 +# 2334| r2334_9(glval) = VariableAddress[B] : +# 2334| r2334_10(glval) = FunctionAddress[operator bool] : +# 2334| r2334_11(bool) = Call[operator bool] : func:r2334_10, this:r2334_9 +# 2334| mu2334_12(unknown) = ^CallSideEffect : ~m? +# 2334| v2334_13(void) = ^IndirectReadSideEffect[-1] : &:r2334_9, ~m? +# 2334| mu2334_14(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2334_9 +# 2334| r2334_15(bool) = CopyValue : r2334_11 +# 2334| v2334_16(void) = ConditionalBranch : r2334_15 +#-----| False -> Block 6 +#-----| True -> Block 5 + +# 2335| Block 5 +# 2335| r2335_1(bool) = Constant[0] : +# 2335| r2335_2(glval) = VariableAddress[b] : +# 2335| mu2335_3(bool) = Store[b] : &:r2335_2, r2335_1 +# 2336| r2336_1(glval) = VariableAddress[B] : +# 2336| r2336_2(glval) = FunctionAddress[~Bool] : +# 2336| v2336_3(void) = Call[~Bool] : func:r2336_2, this:r2336_1 +# 2336| mu2336_4(unknown) = ^CallSideEffect : ~m? +# 2336| v2336_5(void) = ^IndirectReadSideEffect[-1] : &:r2336_1, ~m? +# 2336| mu2336_6(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2336_1 +#-----| Goto (back edge) -> Block 4 + +# 2336| Block 6 +# 2336| r2336_7(glval) = VariableAddress[B] : +# 2336| r2336_8(glval) = FunctionAddress[~Bool] : +# 2336| v2336_9(void) = Call[~Bool] : func:r2336_8, this:r2336_7 +# 2336| mu2336_10(unknown) = ^CallSideEffect : ~m? +# 2336| v2336_11(void) = ^IndirectReadSideEffect[-1] : &:r2336_7, ~m? +# 2336| mu2336_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2336_7 +# 2338| v2338_1(void) = NoOp : +# 2325| v2325_6(void) = ReturnVoid : +# 2325| v2325_7(void) = AliasedUse : ~m? +# 2325| v2325_8(void) = ExitFunction : + +# 2340| void VoidFunc() +# 2340| Block 0 +# 2340| v2340_1(void) = EnterFunction : +# 2340| mu2340_2(unknown) = AliasedDefinition : +# 2340| mu2340_3(unknown) = InitializeNonLocal : +# 2340| v2340_4(void) = NoOp : +# 2340| v2340_5(void) = ReturnVoid : +# 2340| v2340_6(void) = AliasedUse : ~m? +# 2340| v2340_7(void) = ExitFunction : + +# 2342| void IfReturnDestructors(bool) +# 2342| Block 0 +# 2342| v2342_1(void) = EnterFunction : +# 2342| mu2342_2(unknown) = AliasedDefinition : +# 2342| mu2342_3(unknown) = InitializeNonLocal : +# 2342| r2342_4(glval) = VariableAddress[b] : +# 2342| mu2342_5(bool) = InitializeParameter[b] : &:r2342_4 +# 2343| r2343_1(glval) = VariableAddress[s] : +# 2343| mu2343_2(String) = Uninitialized[s] : &:r2343_1 +# 2343| r2343_3(glval) = FunctionAddress[String] : +# 2343| v2343_4(void) = Call[String] : func:r2343_3, this:r2343_1 +# 2343| mu2343_5(unknown) = ^CallSideEffect : ~m? +# 2343| mu2343_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2343_1 +# 2344| r2344_1(glval) = VariableAddress[b] : +# 2344| r2344_2(bool) = Load[b] : &:r2344_1, ~m? +# 2344| v2344_3(void) = ConditionalBranch : r2344_2 +#-----| False -> Block 3 +#-----| True -> Block 2 + +# 2342| Block 1 +# 2342| v2342_6(void) = ReturnVoid : +# 2342| v2342_7(void) = AliasedUse : ~m? +# 2342| v2342_8(void) = ExitFunction : + +# 2345| Block 2 +# 2345| v2345_1(void) = NoOp : +# 2351| r2351_1(glval) = VariableAddress[s] : +# 2351| r2351_2(glval) = FunctionAddress[~String] : +# 2351| v2351_3(void) = Call[~String] : func:r2351_2, this:r2351_1 +# 2351| mu2351_4(unknown) = ^CallSideEffect : ~m? +# 2351| v2351_5(void) = ^IndirectReadSideEffect[-1] : &:r2351_1, ~m? +# 2351| mu2351_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_1 #-----| Goto -> Block 1 -# 2300| Block 3 -# 2300| r2300_1(glval) = VariableAddress[b] : -# 2300| r2300_2(bool) = Load[b] : &:r2300_1, ~m? -# 2300| v2300_3(void) = ConditionalBranch : r2300_2 +# 2347| Block 3 +# 2347| r2347_1(glval) = VariableAddress[b] : +# 2347| r2347_2(bool) = Load[b] : &:r2347_1, ~m? +# 2347| v2347_3(void) = ConditionalBranch : r2347_2 #-----| False -> Block 5 #-----| True -> Block 4 -# 2301| Block 4 -# 2301| r2301_1(glval) = FunctionAddress[VoidFunc] : -# 2301| v2301_2(void) = Call[VoidFunc] : func:r2301_1 -# 2301| mu2301_3(unknown) = ^CallSideEffect : ~m? -# 2301| v2301_4(void) = NoOp : -# 2304| r2304_7(glval) = VariableAddress[s] : -# 2304| r2304_8(glval) = FunctionAddress[~String] : -# 2304| v2304_9(void) = Call[~String] : func:r2304_8, this:r2304_7 -# 2304| mu2304_10(unknown) = ^CallSideEffect : ~m? -# 2304| v2304_11(void) = ^IndirectReadSideEffect[-1] : &:r2304_7, ~m? -# 2304| mu2304_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2304_7 +# 2348| Block 4 +# 2348| r2348_1(glval) = FunctionAddress[VoidFunc] : +# 2348| v2348_2(void) = Call[VoidFunc] : func:r2348_1 +# 2348| mu2348_3(unknown) = ^CallSideEffect : ~m? +# 2348| v2348_4(void) = NoOp : +# 2351| r2351_7(glval) = VariableAddress[s] : +# 2351| r2351_8(glval) = FunctionAddress[~String] : +# 2351| v2351_9(void) = Call[~String] : func:r2351_8, this:r2351_7 +# 2351| mu2351_10(unknown) = ^CallSideEffect : ~m? +# 2351| v2351_11(void) = ^IndirectReadSideEffect[-1] : &:r2351_7, ~m? +# 2351| mu2351_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_7 #-----| Goto -> Block 1 -# 2303| Block 5 -# 2303| r2303_1(glval) = VariableAddress[s] : -# 2304| v2304_13(void) = NoOp : -# 2304| r2304_14(glval) = VariableAddress[s] : -# 2304| r2304_15(glval) = FunctionAddress[~String] : -# 2304| v2304_16(void) = Call[~String] : func:r2304_15, this:r2304_14 -# 2304| mu2304_17(unknown) = ^CallSideEffect : ~m? -# 2304| v2304_18(void) = ^IndirectReadSideEffect[-1] : &:r2304_14, ~m? -# 2304| mu2304_19(String) = ^IndirectMayWriteSideEffect[-1] : &:r2304_14 +# 2350| Block 5 +# 2350| r2350_1(glval) = VariableAddress[s] : +# 2351| v2351_13(void) = NoOp : +# 2351| r2351_14(glval) = VariableAddress[s] : +# 2351| r2351_15(glval) = FunctionAddress[~String] : +# 2351| v2351_16(void) = Call[~String] : func:r2351_15, this:r2351_14 +# 2351| mu2351_17(unknown) = ^CallSideEffect : ~m? +# 2351| v2351_18(void) = ^IndirectReadSideEffect[-1] : &:r2351_14, ~m? +# 2351| mu2351_19(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_14 #-----| Goto -> Block 1 -# 2306| int IfReturnDestructors3(bool) -# 2306| Block 0 -# 2306| v2306_1(void) = EnterFunction : -# 2306| mu2306_2(unknown) = AliasedDefinition : -# 2306| mu2306_3(unknown) = InitializeNonLocal : -# 2306| r2306_4(glval) = VariableAddress[b] : -# 2306| mu2306_5(bool) = InitializeParameter[b] : &:r2306_4 -# 2307| r2307_1(glval) = VariableAddress[s] : -# 2307| mu2307_2(String) = Uninitialized[s] : &:r2307_1 -# 2307| r2307_3(glval) = FunctionAddress[String] : -# 2307| v2307_4(void) = Call[String] : func:r2307_3, this:r2307_1 -# 2307| mu2307_5(unknown) = ^CallSideEffect : ~m? -# 2307| mu2307_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_1 -# 2308| r2308_1(glval) = VariableAddress[b] : -# 2308| r2308_2(bool) = Load[b] : &:r2308_1, ~m? -# 2308| v2308_3(void) = ConditionalBranch : r2308_2 +# 2353| int IfReturnDestructors3(bool) +# 2353| Block 0 +# 2353| v2353_1(void) = EnterFunction : +# 2353| mu2353_2(unknown) = AliasedDefinition : +# 2353| mu2353_3(unknown) = InitializeNonLocal : +# 2353| r2353_4(glval) = VariableAddress[b] : +# 2353| mu2353_5(bool) = InitializeParameter[b] : &:r2353_4 +# 2354| r2354_1(glval) = VariableAddress[s] : +# 2354| mu2354_2(String) = Uninitialized[s] : &:r2354_1 +# 2354| r2354_3(glval) = FunctionAddress[String] : +# 2354| v2354_4(void) = Call[String] : func:r2354_3, this:r2354_1 +# 2354| mu2354_5(unknown) = ^CallSideEffect : ~m? +# 2354| mu2354_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2354_1 +# 2355| r2355_1(glval) = VariableAddress[b] : +# 2355| r2355_2(bool) = Load[b] : &:r2355_1, ~m? +# 2355| v2355_3(void) = ConditionalBranch : r2355_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2306| Block 1 -# 2306| r2306_6(glval) = VariableAddress[#return] : -# 2306| v2306_7(void) = ReturnValue : &:r2306_6, ~m? -# 2306| v2306_8(void) = AliasedUse : ~m? -# 2306| v2306_9(void) = ExitFunction : +# 2353| Block 1 +# 2353| r2353_6(glval) = VariableAddress[#return] : +# 2353| v2353_7(void) = ReturnValue : &:r2353_6, ~m? +# 2353| v2353_8(void) = AliasedUse : ~m? +# 2353| v2353_9(void) = ExitFunction : -# 2309| Block 2 -# 2309| r2309_1(glval) = VariableAddress[#return] : -# 2309| r2309_2(int) = Constant[1] : -# 2309| mu2309_3(int) = Store[#return] : &:r2309_1, r2309_2 -# 2312| r2312_1(glval) = VariableAddress[s] : -# 2312| r2312_2(glval) = FunctionAddress[~String] : -# 2312| v2312_3(void) = Call[~String] : func:r2312_2, this:r2312_1 -# 2312| mu2312_4(unknown) = ^CallSideEffect : ~m? -# 2312| v2312_5(void) = ^IndirectReadSideEffect[-1] : &:r2312_1, ~m? -# 2312| mu2312_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2312_1 +# 2356| Block 2 +# 2356| r2356_1(glval) = VariableAddress[#return] : +# 2356| r2356_2(int) = Constant[1] : +# 2356| mu2356_3(int) = Store[#return] : &:r2356_1, r2356_2 +# 2359| r2359_1(glval) = VariableAddress[s] : +# 2359| r2359_2(glval) = FunctionAddress[~String] : +# 2359| v2359_3(void) = Call[~String] : func:r2359_2, this:r2359_1 +# 2359| mu2359_4(unknown) = ^CallSideEffect : ~m? +# 2359| v2359_5(void) = ^IndirectReadSideEffect[-1] : &:r2359_1, ~m? +# 2359| mu2359_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2359_1 #-----| Goto -> Block 1 -# 2311| Block 3 -# 2311| r2311_1(glval) = VariableAddress[#return] : -# 2311| r2311_2(int) = Constant[0] : -# 2311| mu2311_3(int) = Store[#return] : &:r2311_1, r2311_2 -# 2312| r2312_7(glval) = VariableAddress[s] : -# 2312| r2312_8(glval) = FunctionAddress[~String] : -# 2312| v2312_9(void) = Call[~String] : func:r2312_8, this:r2312_7 -# 2312| mu2312_10(unknown) = ^CallSideEffect : ~m? -# 2312| v2312_11(void) = ^IndirectReadSideEffect[-1] : &:r2312_7, ~m? -# 2312| mu2312_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2312_7 +# 2358| Block 3 +# 2358| r2358_1(glval) = VariableAddress[#return] : +# 2358| r2358_2(int) = Constant[0] : +# 2358| mu2358_3(int) = Store[#return] : &:r2358_1, r2358_2 +# 2359| r2359_7(glval) = VariableAddress[s] : +# 2359| r2359_8(glval) = FunctionAddress[~String] : +# 2359| v2359_9(void) = Call[~String] : func:r2359_8, this:r2359_7 +# 2359| mu2359_10(unknown) = ^CallSideEffect : ~m? +# 2359| v2359_11(void) = ^IndirectReadSideEffect[-1] : &:r2359_7, ~m? +# 2359| mu2359_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2359_7 #-----| Goto -> Block 1 -# 2314| void VoidReturnDestructors() -# 2314| Block 0 -# 2314| v2314_1(void) = EnterFunction : -# 2314| mu2314_2(unknown) = AliasedDefinition : -# 2314| mu2314_3(unknown) = InitializeNonLocal : -# 2315| r2315_1(glval) = VariableAddress[s] : -# 2315| mu2315_2(String) = Uninitialized[s] : &:r2315_1 -# 2315| r2315_3(glval) = FunctionAddress[String] : -# 2315| v2315_4(void) = Call[String] : func:r2315_3, this:r2315_1 -# 2315| mu2315_5(unknown) = ^CallSideEffect : ~m? -# 2315| mu2315_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2315_1 -# 2316| r2316_1(glval) = FunctionAddress[VoidFunc] : -# 2316| v2316_2(void) = Call[VoidFunc] : func:r2316_1 -# 2316| mu2316_3(unknown) = ^CallSideEffect : ~m? -# 2316| v2316_4(void) = NoOp : -# 2317| r2317_1(glval) = VariableAddress[s] : -# 2317| r2317_2(glval) = FunctionAddress[~String] : -# 2317| v2317_3(void) = Call[~String] : func:r2317_2, this:r2317_1 -# 2317| mu2317_4(unknown) = ^CallSideEffect : ~m? -# 2317| v2317_5(void) = ^IndirectReadSideEffect[-1] : &:r2317_1, ~m? -# 2317| mu2317_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2317_1 -# 2314| v2314_4(void) = ReturnVoid : -# 2314| v2314_5(void) = AliasedUse : ~m? -# 2314| v2314_6(void) = ExitFunction : +# 2361| void VoidReturnDestructors() +# 2361| Block 0 +# 2361| v2361_1(void) = EnterFunction : +# 2361| mu2361_2(unknown) = AliasedDefinition : +# 2361| mu2361_3(unknown) = InitializeNonLocal : +# 2362| r2362_1(glval) = VariableAddress[s] : +# 2362| mu2362_2(String) = Uninitialized[s] : &:r2362_1 +# 2362| r2362_3(glval) = FunctionAddress[String] : +# 2362| v2362_4(void) = Call[String] : func:r2362_3, this:r2362_1 +# 2362| mu2362_5(unknown) = ^CallSideEffect : ~m? +# 2362| mu2362_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2362_1 +# 2363| r2363_1(glval) = FunctionAddress[VoidFunc] : +# 2363| v2363_2(void) = Call[VoidFunc] : func:r2363_1 +# 2363| mu2363_3(unknown) = ^CallSideEffect : ~m? +# 2363| v2363_4(void) = NoOp : +# 2364| r2364_1(glval) = VariableAddress[s] : +# 2364| r2364_2(glval) = FunctionAddress[~String] : +# 2364| v2364_3(void) = Call[~String] : func:r2364_2, this:r2364_1 +# 2364| mu2364_4(unknown) = ^CallSideEffect : ~m? +# 2364| v2364_5(void) = ^IndirectReadSideEffect[-1] : &:r2364_1, ~m? +# 2364| mu2364_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2364_1 +# 2361| v2361_4(void) = ReturnVoid : +# 2361| v2361_5(void) = AliasedUse : ~m? +# 2361| v2361_6(void) = ExitFunction : -# 2327| return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() -# 2327| Block 0 -# 2327| v2327_1(void) = EnterFunction : -# 2327| mu2327_2(unknown) = AliasedDefinition : -# 2327| mu2327_3(unknown) = InitializeNonLocal : -# 2329| r2329_1(glval<..:: *>) = VariableAddress[#return] : -# 2329| r2329_2(..()(..)) = FunctionAddress[VoidToInt] : -# 2329| mu2329_3(..:: *) = Store[#return] : &:r2329_1, r2329_2 -# 2327| r2327_4(glval<..:: *>) = VariableAddress[#return] : -# 2327| v2327_5(void) = ReturnValue : &:r2327_4, ~m? -# 2327| v2327_6(void) = AliasedUse : ~m? -# 2327| v2327_7(void) = ExitFunction : +# 2374| return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() +# 2374| Block 0 +# 2374| v2374_1(void) = EnterFunction : +# 2374| mu2374_2(unknown) = AliasedDefinition : +# 2374| mu2374_3(unknown) = InitializeNonLocal : +# 2376| r2376_1(glval<..:: *>) = VariableAddress[#return] : +# 2376| r2376_2(..()(..)) = FunctionAddress[VoidToInt] : +# 2376| mu2376_3(..:: *) = Store[#return] : &:r2376_1, r2376_2 +# 2374| r2374_4(glval<..:: *>) = VariableAddress[#return] : +# 2374| v2374_5(void) = ReturnValue : &:r2374_4, ~m? +# 2374| v2374_6(void) = AliasedUse : ~m? +# 2374| v2374_7(void) = ExitFunction : perf-regression.cpp: # 6| void Big::Big() diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll index 7ad656e11d3..6261d41f404 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll @@ -40,6 +40,10 @@ abstract class EnvironmentVariableSource extends LocalFlowSource { override string getSourceType() { result = "environment variable" } } +private class ExternalEnvironmentVariableSource extends EnvironmentVariableSource { + ExternalEnvironmentVariableSource() { sourceNode(this, "environment") } +} + /** * A dataflow source that represents the access of a command line argument. */ @@ -49,6 +53,10 @@ abstract class CommandLineArgumentSource extends LocalFlowSource { override string getSourceType() { result = "command line argument" } } +private class ExternalCommandLineArgumentSource extends CommandLineArgumentSource { + ExternalCommandLineArgumentSource() { sourceNode(this, "command-line") } +} + /** * A data flow source that represents the parameters of the `Main` method of a program. */ diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Stored.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Stored.qll index 2d2ecd0bccb..5516da547e6 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Stored.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Stored.qll @@ -73,6 +73,10 @@ deprecated class ORMMappedProperty extends DataFlow::Node { } } +private class ExternalDatabaseInputSource extends DatabaseInputSource { + ExternalDatabaseInputSource() { sourceNode(this, "database") } +} + /** A file stream source is considered a stored flow source. */ class FileStreamStoredFlowSource extends StoredFlowSource { FileStreamStoredFlowSource() { sourceNode(this, "file") } diff --git a/csharp/ql/test/library-tests/dataflow/global/DataFlowPath.expected b/csharp/ql/test/library-tests/dataflow/global/DataFlowPath.expected index c994ff441b4..7ebc9193829 100644 --- a/csharp/ql/test/library-tests/dataflow/global/DataFlowPath.expected +++ b/csharp/ql/test/library-tests/dataflow/global/DataFlowPath.expected @@ -1,27 +1,17 @@ edges -| Capture.cs:7:20:7:26 | tainted : String | Capture.cs:9:9:13:9 | CaptureIn1(...) : CaptureIn1 [captured tainted] : String | provenance | | | Capture.cs:7:20:7:26 | tainted : String | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | provenance | | -| Capture.cs:7:20:7:26 | tainted : String | Capture.cs:16:9:24:9 | CaptureIn2(...) : CaptureIn2 [captured tainted] : String | provenance | | | Capture.cs:7:20:7:26 | tainted : String | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | provenance | | -| Capture.cs:7:20:7:26 | tainted : String | Capture.cs:27:43:32:9 | (...) => ... : (...) => ... [captured tainted] : String | provenance | | | Capture.cs:7:20:7:26 | tainted : String | Capture.cs:33:30:33:39 | access to local variable captureIn3 : Func [captured tainted] : String | provenance | | | Capture.cs:7:20:7:26 | tainted : String | Capture.cs:61:36:61:42 | access to parameter tainted : String | provenance | | -| Capture.cs:9:9:13:9 | CaptureIn1(...) : CaptureIn1 [captured tainted] : String | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | provenance | | | Capture.cs:11:17:11:22 | access to local variable sink27 : String | Capture.cs:12:19:12:24 | access to local variable sink27 | provenance | | | Capture.cs:11:26:11:32 | access to parameter tainted : String | Capture.cs:11:17:11:22 | access to local variable sink27 : String | provenance | | | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | Capture.cs:11:26:11:32 | access to parameter tainted : String | provenance | | -| Capture.cs:16:9:24:9 | CaptureIn2(...) : CaptureIn2 [captured tainted] : String | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | provenance | | -| Capture.cs:18:13:22:13 | M(...) : M [captured tainted] : String | Capture.cs:23:13:23:13 | access to local function M : M [captured tainted] : String | provenance | | | Capture.cs:20:21:20:26 | access to local variable sink28 : String | Capture.cs:21:23:21:28 | access to local variable sink28 | provenance | | | Capture.cs:20:30:20:36 | access to parameter tainted : String | Capture.cs:20:21:20:26 | access to local variable sink28 : String | provenance | | | Capture.cs:23:13:23:13 | access to local function M : M [captured tainted] : String | Capture.cs:20:30:20:36 | access to parameter tainted : String | provenance | | -| Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | Capture.cs:18:13:22:13 | M(...) : M [captured tainted] : String | provenance | | | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | Capture.cs:23:13:23:13 | access to local function M : M [captured tainted] : String | provenance | | -| Capture.cs:27:30:27:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | Capture.cs:33:30:33:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | provenance | | -| Capture.cs:27:43:32:9 | (...) => ... : (...) => ... [captured tainted] : String | Capture.cs:27:30:27:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | provenance | | | Capture.cs:29:17:29:22 | access to local variable sink29 : String | Capture.cs:30:19:30:24 | access to local variable sink29 | provenance | | | Capture.cs:29:26:29:32 | access to parameter tainted : String | Capture.cs:29:17:29:22 | access to local variable sink29 : String | provenance | | -| Capture.cs:33:30:33:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | Capture.cs:29:26:29:32 | access to parameter tainted : String | provenance | | | Capture.cs:33:30:33:39 | access to local variable captureIn3 : Func [captured tainted] : String | Capture.cs:29:26:29:32 | access to parameter tainted : String | provenance | | | Capture.cs:50:50:50:55 | sink39 : String | Capture.cs:52:23:59:13 | (...) => ... : (...) => ... [captured sink39] : String | provenance | | | Capture.cs:52:23:59:13 | (...) => ... : (...) => ... [captured sink39] : String | Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | provenance | | @@ -37,28 +27,18 @@ edges | Capture.cs:114:23:117:13 | [post] (...) => ... : (...) => ... [captured sink40] : String | Capture.cs:123:9:123:33 | [post] access to local function CaptureOutMultipleLambdas : CaptureOutMultipleLambdas [captured sink40] : String | provenance | | | Capture.cs:116:26:116:39 | "taint source" : String | Capture.cs:352:9:352:9 | [post] access to parameter a : (...) => ... [captured sink40] : String | provenance | | | Capture.cs:123:9:123:33 | [post] access to local function CaptureOutMultipleLambdas : CaptureOutMultipleLambdas [captured sink40] : String | Capture.cs:124:15:124:20 | access to local variable sink40 | provenance | | -| Capture.cs:127:25:127:31 | tainted : String | Capture.cs:130:9:133:9 | CaptureThrough1(...) : CaptureThrough1 [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | provenance | | -| Capture.cs:127:25:127:31 | tainted : String | Capture.cs:138:9:145:9 | CaptureThrough2(...) : CaptureThrough2 [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | provenance | | -| Capture.cs:127:25:127:31 | tainted : String | Capture.cs:150:48:154:9 | (...) => ... : (...) => ... [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:155:30:155:44 | access to local variable captureThrough3 : Func [captured tainted] : String | provenance | | -| Capture.cs:127:25:127:31 | tainted : String | Capture.cs:158:9:161:9 | CaptureThrough4(...) : CaptureThrough4 [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:170:25:170:31 | access to parameter tainted : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:196:25:196:31 | access to parameter tainted : String | provenance | | -| Capture.cs:130:9:133:9 | CaptureThrough1(...) : CaptureThrough1 [captured tainted] : String | Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | provenance | | | Capture.cs:134:9:134:23 | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | Capture.cs:135:15:135:20 | access to local variable sink33 | provenance | | | Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | Capture.cs:134:9:134:23 | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | provenance | | -| Capture.cs:138:9:145:9 | CaptureThrough2(...) : CaptureThrough2 [captured tainted] : String | Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | provenance | | | Capture.cs:146:9:146:23 | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | Capture.cs:147:15:147:20 | access to local variable sink34 | provenance | | | Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | Capture.cs:146:9:146:23 | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | provenance | | -| Capture.cs:150:30:150:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | Capture.cs:155:30:155:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | provenance | | -| Capture.cs:150:48:154:9 | (...) => ... : (...) => ... [captured tainted] : String | Capture.cs:150:30:150:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | provenance | | | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | Capture.cs:156:15:156:20 | access to local variable sink35 | provenance | | -| Capture.cs:155:30:155:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | provenance | | | Capture.cs:155:30:155:44 | access to local variable captureThrough3 : Func [captured tainted] : String | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | provenance | | -| Capture.cs:158:9:161:9 | CaptureThrough4(...) : CaptureThrough4 [captured tainted] : String | Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | provenance | | | Capture.cs:162:13:162:18 | access to local variable sink36 : String | Capture.cs:163:15:163:20 | access to local variable sink36 | provenance | | | Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | Capture.cs:162:22:162:38 | call to local function CaptureThrough4 : String | provenance | | | Capture.cs:162:22:162:38 | call to local function CaptureThrough4 : String | Capture.cs:162:13:162:18 | access to local variable sink36 : String | provenance | | @@ -66,19 +46,13 @@ edges | Capture.cs:170:9:170:23 | [post] access to local function CaptureThrough5 : CaptureThrough5 [captured sink37] : String | Capture.cs:171:15:171:20 | access to local variable sink37 | provenance | | | Capture.cs:170:25:170:31 | access to parameter tainted : String | Capture.cs:166:37:166:37 | p : String | provenance | | | Capture.cs:170:25:170:31 | access to parameter tainted : String | Capture.cs:170:9:170:23 | [post] access to local function CaptureThrough5 : CaptureThrough5 [captured sink37] : String | provenance | | -| Capture.cs:190:26:190:26 | s : String | Capture.cs:192:13:192:28 | M(...) : M [captured s] : String | provenance | | | Capture.cs:190:26:190:26 | s : String | Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | provenance | | -| Capture.cs:192:13:192:28 | M(...) : M [captured s] : String | Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | provenance | | | Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | Capture.cs:193:20:193:22 | call to local function M : String | provenance | | | Capture.cs:196:13:196:18 | access to local variable sink38 : String | Capture.cs:197:15:197:20 | access to local variable sink38 | provenance | | | Capture.cs:196:22:196:32 | call to local function Id : String | Capture.cs:196:13:196:18 | access to local variable sink38 : String | provenance | | | Capture.cs:196:25:196:31 | access to parameter tainted : String | Capture.cs:190:26:190:26 | s : String | provenance | | | Capture.cs:196:25:196:31 | access to parameter tainted : String | Capture.cs:196:22:196:32 | call to local function Id : String | provenance | | -| Capture.cs:202:20:202:20 | s : String | Capture.cs:204:20:207:9 | (...) => ... : (...) => ... [captured s] : String | provenance | | | Capture.cs:202:20:202:20 | s : String | Capture.cs:208:9:208:9 | access to local variable a : Action [captured s] : String | provenance | | -| Capture.cs:204:16:204:16 | access to local variable a : (...) => ... [captured s] : String | Capture.cs:208:9:208:9 | access to local variable a : (...) => ... [captured s] : String | provenance | | -| Capture.cs:204:20:207:9 | (...) => ... : (...) => ... [captured s] : String | Capture.cs:204:16:204:16 | access to local variable a : (...) => ... [captured s] : String | provenance | | -| Capture.cs:208:9:208:9 | access to local variable a : (...) => ... [captured s] : String | Capture.cs:206:19:206:19 | access to parameter s | provenance | | | Capture.cs:208:9:208:9 | access to local variable a : Action [captured s] : String | Capture.cs:206:19:206:19 | access to parameter s | provenance | | | Capture.cs:211:21:211:34 | "taint source" : String | Capture.cs:202:20:202:20 | s : String | provenance | | | Capture.cs:213:22:213:22 | s : String | Capture.cs:215:16:218:9 | (...) => ... : (...) => ... [captured s] : String | provenance | | @@ -93,17 +67,13 @@ edges | Capture.cs:229:20:233:9 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:231:19:231:19 | access to local variable x | provenance | | | Capture.cs:229:20:233:9 | [post] (...) => ... : (...) => ... [captured x] : String | Capture.cs:234:15:234:15 | access to local variable x | provenance | | | Capture.cs:232:17:232:30 | "taint source" : String | Capture.cs:229:20:233:9 | [post] (...) => ... : (...) => ... [captured x] : String | provenance | | -| Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:244:20:248:9 | (...) => ... : (...) => ... [captured c, field Field] : String | provenance | | | Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:249:9:249:9 | access to local variable a : Action [captured c, field Field] : String | provenance | | | Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:251:15:251:15 | access to local variable c : Capture [field Field] : String | provenance | | | Capture.cs:242:19:242:32 | "taint source" : String | Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | provenance | | -| Capture.cs:244:16:244:16 | access to local variable a : (...) => ... [captured c, field Field] : String | Capture.cs:249:9:249:9 | access to local variable a : (...) => ... [captured c, field Field] : String | provenance | | -| Capture.cs:244:20:248:9 | (...) => ... : (...) => ... [captured c, field Field] : String | Capture.cs:244:16:244:16 | access to local variable a : (...) => ... [captured c, field Field] : String | provenance | | | Capture.cs:246:19:246:19 | access to local variable c : Capture [field Field] : String | Capture.cs:246:19:246:25 | access to field Field | provenance | | | Capture.cs:247:13:247:13 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:249:9:249:9 | [post] access to local variable a : (...) => ... [captured c, field Field] : String | provenance | | | Capture.cs:247:23:247:36 | "taint source" : String | Capture.cs:247:13:247:13 | [post] access to local variable c : Capture [field Field] : String | provenance | | | Capture.cs:249:9:249:9 | [post] access to local variable a : (...) => ... [captured c, field Field] : String | Capture.cs:251:15:251:15 | access to local variable c : Capture [field Field] : String | provenance | | -| Capture.cs:249:9:249:9 | access to local variable a : (...) => ... [captured c, field Field] : String | Capture.cs:246:19:246:19 | access to local variable c : Capture [field Field] : String | provenance | | | Capture.cs:249:9:249:9 | access to local variable a : Action [captured c, field Field] : String | Capture.cs:246:19:246:19 | access to local variable c : Capture [field Field] : String | provenance | | | Capture.cs:251:15:251:15 | access to local variable c : Capture [field Field] : String | Capture.cs:251:15:251:21 | access to field Field | provenance | | | Capture.cs:264:13:264:13 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:266:9:266:9 | [post] access to local variable a : (...) => ... [captured c, field Field] : String | provenance | | @@ -112,52 +82,30 @@ edges | Capture.cs:268:15:268:15 | access to local variable c : Capture [field Field] : String | Capture.cs:268:15:268:21 | access to field Field | provenance | | | Capture.cs:273:19:273:19 | x : String | Capture.cs:273:30:273:30 | access to parameter x | provenance | | | Capture.cs:273:34:273:47 | "taint source" : String | Capture.cs:355:45:355:45 | x : String | provenance | | -| Capture.cs:278:17:278:30 | "taint source" : String | Capture.cs:280:25:288:9 | (...) => ... : (...) => ... [captured x] : String | provenance | | | Capture.cs:278:17:278:30 | "taint source" : String | Capture.cs:290:9:290:14 | access to local variable middle : Action [captured x] : String | provenance | | | Capture.cs:278:17:278:30 | "taint source" : String | Capture.cs:292:15:292:15 | access to local variable x | provenance | | -| Capture.cs:280:16:280:21 | access to local variable middle : (...) => ... [captured x] : String | Capture.cs:290:9:290:14 | access to local variable middle : (...) => ... [captured x] : String | provenance | | -| Capture.cs:280:25:288:9 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:280:16:280:21 | access to local variable middle : (...) => ... [captured x] : String | provenance | | -| Capture.cs:282:20:282:24 | access to local variable inner : (...) => ... [captured x] : String | Capture.cs:287:13:287:17 | access to local variable inner : (...) => ... [captured x] : String | provenance | | -| Capture.cs:282:28:286:13 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:282:20:282:24 | access to local variable inner : (...) => ... [captured x] : String | provenance | | | Capture.cs:285:21:285:34 | "taint source" : String | Capture.cs:287:13:287:17 | [post] access to local variable inner : (...) => ... [captured x] : String | provenance | | | Capture.cs:287:13:287:17 | [post] access to local variable inner : (...) => ... [captured x] : String | Capture.cs:290:9:290:14 | [post] access to local variable middle : (...) => ... [captured x] : String | provenance | | -| Capture.cs:287:13:287:17 | access to local variable inner : (...) => ... [captured x] : String | Capture.cs:284:23:284:23 | access to local variable x | provenance | | | Capture.cs:287:13:287:17 | access to local variable inner : Action [captured x] : String | Capture.cs:284:23:284:23 | access to local variable x | provenance | | | Capture.cs:290:9:290:14 | [post] access to local variable middle : (...) => ... [captured x] : String | Capture.cs:292:15:292:15 | access to local variable x | provenance | | -| Capture.cs:290:9:290:14 | access to local variable middle : (...) => ... [captured x] : String | Capture.cs:282:28:286:13 | (...) => ... : (...) => ... [captured x] : String | provenance | | -| Capture.cs:290:9:290:14 | access to local variable middle : (...) => ... [captured x] : String | Capture.cs:287:13:287:17 | access to local variable inner : Action [captured x] : String | provenance | | -| Capture.cs:290:9:290:14 | access to local variable middle : Action [captured x] : String | Capture.cs:282:28:286:13 | (...) => ... : (...) => ... [captured x] : String | provenance | | | Capture.cs:290:9:290:14 | access to local variable middle : Action [captured x] : String | Capture.cs:287:13:287:17 | access to local variable inner : Action [captured x] : String | provenance | | -| Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | Capture.cs:299:20:303:9 | (...) => ... : (...) => ... [captured this in M10, field Field] : String | provenance | | | Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | Capture.cs:304:9:304:9 | access to local variable a : Action [captured this in M10, field Field] : String | provenance | | | Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | Capture.cs:306:15:306:18 | this access : Capture [field Field] : String | provenance | | | Capture.cs:297:22:297:35 | "taint source" : String | Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | provenance | | -| Capture.cs:299:16:299:16 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | Capture.cs:304:9:304:9 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | provenance | | -| Capture.cs:299:20:303:9 | (...) => ... : (...) => ... [captured this in M10, field Field] : String | Capture.cs:299:16:299:16 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | provenance | | | Capture.cs:301:19:301:22 | this access : Capture [field Field] : String | Capture.cs:301:19:301:28 | access to field Field | provenance | | | Capture.cs:302:13:302:16 | [post] this access : Capture [field Field] : String | Capture.cs:304:9:304:9 | [post] access to local variable a : (...) => ... [captured this in M10, field Field] : String | provenance | | | Capture.cs:302:26:302:39 | "taint source" : String | Capture.cs:302:13:302:16 | [post] this access : Capture [field Field] : String | provenance | | | Capture.cs:304:9:304:9 | [post] access to local variable a : (...) => ... [captured this in M10, field Field] : String | Capture.cs:306:15:306:18 | this access : Capture [field Field] : String | provenance | | -| Capture.cs:304:9:304:9 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | Capture.cs:301:19:301:22 | this access : Capture [field Field] : String | provenance | | | Capture.cs:304:9:304:9 | access to local variable a : Action [captured this in M10, field Field] : String | Capture.cs:301:19:301:22 | this access : Capture [field Field] : String | provenance | | | Capture.cs:306:15:306:18 | this access : Capture [field Field] : String | Capture.cs:306:15:306:24 | access to field Field | provenance | | | Capture.cs:311:17:311:30 | "taint source" : String | Capture.cs:312:15:312:15 | access to local variable x | provenance | | | Capture.cs:318:17:318:30 | "taint source" : String | Capture.cs:319:19:319:19 | access to local variable x | provenance | | -| Capture.cs:328:17:328:30 | "taint source" : String | Capture.cs:330:9:330:49 | CapturedLocalFunction(...) : CapturedLocalFunction [captured x] : String | provenance | | -| Capture.cs:328:17:328:30 | "taint source" : String | Capture.cs:332:9:332:65 | CapturingLocalFunction(...) : CapturingLocalFunction [captured x] : String | provenance | | | Capture.cs:328:17:328:30 | "taint source" : String | Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | provenance | | -| Capture.cs:330:9:330:49 | CapturedLocalFunction(...) : CapturedLocalFunction [captured x] : String | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | provenance | | -| Capture.cs:332:9:332:65 | CapturingLocalFunction(...) : CapturingLocalFunction [captured x] : String | Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | provenance | | -| Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | Capture.cs:330:47:330:47 | access to local variable x | provenance | | | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | Capture.cs:330:47:330:47 | access to local variable x | provenance | | | Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | provenance | | | Capture.cs:339:17:339:30 | "taint source" : String | Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | provenance | | -| Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:343:34:343:55 | (...) => ... : (...) => ... [captured capturedLambda, captured x] : String | provenance | | | Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | provenance | | -| Capture.cs:343:16:343:30 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | Capture.cs:345:9:345:23 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | provenance | | -| Capture.cs:343:34:343:55 | (...) => ... : (...) => ... [captured capturedLambda, captured x] : String | Capture.cs:343:16:343:30 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | provenance | | | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | Capture.cs:341:45:341:45 | access to local variable x | provenance | | -| Capture.cs:345:9:345:23 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | provenance | | | Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | provenance | | | Capture.cs:350:34:350:34 | a : (...) => ... [captured s] : String | Capture.cs:352:9:352:9 | access to parameter a : (...) => ... [captured s] : String | provenance | | | Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | Capture.cs:352:9:352:9 | access to parameter a : (...) => ... [captured sink39] : String | provenance | | @@ -519,24 +467,18 @@ edges | Splitting.cs:48:36:48:49 | "taint source" : String | Splitting.cs:48:13:48:13 | access to local variable s : String | provenance | | nodes | Capture.cs:7:20:7:26 | tainted : String | semmle.label | tainted : String | -| Capture.cs:9:9:13:9 | CaptureIn1(...) : CaptureIn1 [captured tainted] : String | semmle.label | CaptureIn1(...) : CaptureIn1 [captured tainted] : String | | Capture.cs:11:17:11:22 | access to local variable sink27 : String | semmle.label | access to local variable sink27 : String | | Capture.cs:11:26:11:32 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:12:19:12:24 | access to local variable sink27 | semmle.label | access to local variable sink27 | | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | semmle.label | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | -| Capture.cs:16:9:24:9 | CaptureIn2(...) : CaptureIn2 [captured tainted] : String | semmle.label | CaptureIn2(...) : CaptureIn2 [captured tainted] : String | -| Capture.cs:18:13:22:13 | M(...) : M [captured tainted] : String | semmle.label | M(...) : M [captured tainted] : String | | Capture.cs:20:21:20:26 | access to local variable sink28 : String | semmle.label | access to local variable sink28 : String | | Capture.cs:20:30:20:36 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:21:23:21:28 | access to local variable sink28 | semmle.label | access to local variable sink28 | | Capture.cs:23:13:23:13 | access to local function M : M [captured tainted] : String | semmle.label | access to local function M : M [captured tainted] : String | | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | semmle.label | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | -| Capture.cs:27:30:27:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | semmle.label | access to local variable captureIn3 : (...) => ... [captured tainted] : String | -| Capture.cs:27:43:32:9 | (...) => ... : (...) => ... [captured tainted] : String | semmle.label | (...) => ... : (...) => ... [captured tainted] : String | | Capture.cs:29:17:29:22 | access to local variable sink29 : String | semmle.label | access to local variable sink29 : String | | Capture.cs:29:26:29:32 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:30:19:30:24 | access to local variable sink29 | semmle.label | access to local variable sink29 | -| Capture.cs:33:30:33:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | semmle.label | access to local variable captureIn3 : (...) => ... [captured tainted] : String | | Capture.cs:33:30:33:39 | access to local variable captureIn3 : Func [captured tainted] : String | semmle.label | access to local variable captureIn3 : Func [captured tainted] : String | | Capture.cs:50:50:50:55 | sink39 : String | semmle.label | sink39 : String | | Capture.cs:52:23:59:13 | (...) => ... : (...) => ... [captured sink39] : String | semmle.label | (...) => ... : (...) => ... [captured sink39] : String | @@ -558,21 +500,15 @@ nodes | Capture.cs:123:9:123:33 | [post] access to local function CaptureOutMultipleLambdas : CaptureOutMultipleLambdas [captured sink40] : String | semmle.label | [post] access to local function CaptureOutMultipleLambdas : CaptureOutMultipleLambdas [captured sink40] : String | | Capture.cs:124:15:124:20 | access to local variable sink40 | semmle.label | access to local variable sink40 | | Capture.cs:127:25:127:31 | tainted : String | semmle.label | tainted : String | -| Capture.cs:130:9:133:9 | CaptureThrough1(...) : CaptureThrough1 [captured tainted] : String | semmle.label | CaptureThrough1(...) : CaptureThrough1 [captured tainted] : String | | Capture.cs:134:9:134:23 | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | semmle.label | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | | Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | semmle.label | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | | Capture.cs:135:15:135:20 | access to local variable sink33 | semmle.label | access to local variable sink33 | -| Capture.cs:138:9:145:9 | CaptureThrough2(...) : CaptureThrough2 [captured tainted] : String | semmle.label | CaptureThrough2(...) : CaptureThrough2 [captured tainted] : String | | Capture.cs:146:9:146:23 | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | semmle.label | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | | Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | semmle.label | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | | Capture.cs:147:15:147:20 | access to local variable sink34 | semmle.label | access to local variable sink34 | -| Capture.cs:150:30:150:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | semmle.label | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | -| Capture.cs:150:48:154:9 | (...) => ... : (...) => ... [captured tainted] : String | semmle.label | (...) => ... : (...) => ... [captured tainted] : String | | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | semmle.label | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | -| Capture.cs:155:30:155:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | semmle.label | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | | Capture.cs:155:30:155:44 | access to local variable captureThrough3 : Func [captured tainted] : String | semmle.label | access to local variable captureThrough3 : Func [captured tainted] : String | | Capture.cs:156:15:156:20 | access to local variable sink35 | semmle.label | access to local variable sink35 | -| Capture.cs:158:9:161:9 | CaptureThrough4(...) : CaptureThrough4 [captured tainted] : String | semmle.label | CaptureThrough4(...) : CaptureThrough4 [captured tainted] : String | | Capture.cs:162:13:162:18 | access to local variable sink36 : String | semmle.label | access to local variable sink36 : String | | Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | semmle.label | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | | Capture.cs:162:22:162:38 | call to local function CaptureThrough4 : String | semmle.label | call to local function CaptureThrough4 : String | @@ -583,7 +519,6 @@ nodes | Capture.cs:170:25:170:31 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:171:15:171:20 | access to local variable sink37 | semmle.label | access to local variable sink37 | | Capture.cs:190:26:190:26 | s : String | semmle.label | s : String | -| Capture.cs:192:13:192:28 | M(...) : M [captured s] : String | semmle.label | M(...) : M [captured s] : String | | Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | semmle.label | access to local function M : M [captured s] : String | | Capture.cs:193:20:193:22 | call to local function M : String | semmle.label | call to local function M : String | | Capture.cs:196:13:196:18 | access to local variable sink38 : String | semmle.label | access to local variable sink38 : String | @@ -591,10 +526,7 @@ nodes | Capture.cs:196:25:196:31 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:197:15:197:20 | access to local variable sink38 | semmle.label | access to local variable sink38 | | Capture.cs:202:20:202:20 | s : String | semmle.label | s : String | -| Capture.cs:204:16:204:16 | access to local variable a : (...) => ... [captured s] : String | semmle.label | access to local variable a : (...) => ... [captured s] : String | -| Capture.cs:204:20:207:9 | (...) => ... : (...) => ... [captured s] : String | semmle.label | (...) => ... : (...) => ... [captured s] : String | | Capture.cs:206:19:206:19 | access to parameter s | semmle.label | access to parameter s | -| Capture.cs:208:9:208:9 | access to local variable a : (...) => ... [captured s] : String | semmle.label | access to local variable a : (...) => ... [captured s] : String | | Capture.cs:208:9:208:9 | access to local variable a : Action [captured s] : String | semmle.label | access to local variable a : Action [captured s] : String | | Capture.cs:211:21:211:34 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:213:22:213:22 | s : String | semmle.label | s : String | @@ -612,14 +544,11 @@ nodes | Capture.cs:234:15:234:15 | access to local variable x | semmle.label | access to local variable x | | Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | semmle.label | [post] access to local variable c : Capture [field Field] : String | | Capture.cs:242:19:242:32 | "taint source" : String | semmle.label | "taint source" : String | -| Capture.cs:244:16:244:16 | access to local variable a : (...) => ... [captured c, field Field] : String | semmle.label | access to local variable a : (...) => ... [captured c, field Field] : String | -| Capture.cs:244:20:248:9 | (...) => ... : (...) => ... [captured c, field Field] : String | semmle.label | (...) => ... : (...) => ... [captured c, field Field] : String | | Capture.cs:246:19:246:19 | access to local variable c : Capture [field Field] : String | semmle.label | access to local variable c : Capture [field Field] : String | | Capture.cs:246:19:246:25 | access to field Field | semmle.label | access to field Field | | Capture.cs:247:13:247:13 | [post] access to local variable c : Capture [field Field] : String | semmle.label | [post] access to local variable c : Capture [field Field] : String | | Capture.cs:247:23:247:36 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:249:9:249:9 | [post] access to local variable a : (...) => ... [captured c, field Field] : String | semmle.label | [post] access to local variable a : (...) => ... [captured c, field Field] : String | -| Capture.cs:249:9:249:9 | access to local variable a : (...) => ... [captured c, field Field] : String | semmle.label | access to local variable a : (...) => ... [captured c, field Field] : String | | Capture.cs:249:9:249:9 | access to local variable a : Action [captured c, field Field] : String | semmle.label | access to local variable a : Action [captured c, field Field] : String | | Capture.cs:251:15:251:15 | access to local variable c : Capture [field Field] : String | semmle.label | access to local variable c : Capture [field Field] : String | | Capture.cs:251:15:251:21 | access to field Field | semmle.label | access to field Field | @@ -632,29 +561,20 @@ nodes | Capture.cs:273:30:273:30 | access to parameter x | semmle.label | access to parameter x | | Capture.cs:273:34:273:47 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:278:17:278:30 | "taint source" : String | semmle.label | "taint source" : String | -| Capture.cs:280:16:280:21 | access to local variable middle : (...) => ... [captured x] : String | semmle.label | access to local variable middle : (...) => ... [captured x] : String | -| Capture.cs:280:25:288:9 | (...) => ... : (...) => ... [captured x] : String | semmle.label | (...) => ... : (...) => ... [captured x] : String | -| Capture.cs:282:20:282:24 | access to local variable inner : (...) => ... [captured x] : String | semmle.label | access to local variable inner : (...) => ... [captured x] : String | -| Capture.cs:282:28:286:13 | (...) => ... : (...) => ... [captured x] : String | semmle.label | (...) => ... : (...) => ... [captured x] : String | | Capture.cs:284:23:284:23 | access to local variable x | semmle.label | access to local variable x | | Capture.cs:285:21:285:34 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:287:13:287:17 | [post] access to local variable inner : (...) => ... [captured x] : String | semmle.label | [post] access to local variable inner : (...) => ... [captured x] : String | -| Capture.cs:287:13:287:17 | access to local variable inner : (...) => ... [captured x] : String | semmle.label | access to local variable inner : (...) => ... [captured x] : String | | Capture.cs:287:13:287:17 | access to local variable inner : Action [captured x] : String | semmle.label | access to local variable inner : Action [captured x] : String | | Capture.cs:290:9:290:14 | [post] access to local variable middle : (...) => ... [captured x] : String | semmle.label | [post] access to local variable middle : (...) => ... [captured x] : String | -| Capture.cs:290:9:290:14 | access to local variable middle : (...) => ... [captured x] : String | semmle.label | access to local variable middle : (...) => ... [captured x] : String | | Capture.cs:290:9:290:14 | access to local variable middle : Action [captured x] : String | semmle.label | access to local variable middle : Action [captured x] : String | | Capture.cs:292:15:292:15 | access to local variable x | semmle.label | access to local variable x | | Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | semmle.label | [post] this access : Capture [field Field] : String | | Capture.cs:297:22:297:35 | "taint source" : String | semmle.label | "taint source" : String | -| Capture.cs:299:16:299:16 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | semmle.label | access to local variable a : (...) => ... [captured this in M10, field Field] : String | -| Capture.cs:299:20:303:9 | (...) => ... : (...) => ... [captured this in M10, field Field] : String | semmle.label | (...) => ... : (...) => ... [captured this in M10, field Field] : String | | Capture.cs:301:19:301:22 | this access : Capture [field Field] : String | semmle.label | this access : Capture [field Field] : String | | Capture.cs:301:19:301:28 | access to field Field | semmle.label | access to field Field | | Capture.cs:302:13:302:16 | [post] this access : Capture [field Field] : String | semmle.label | [post] this access : Capture [field Field] : String | | Capture.cs:302:26:302:39 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:304:9:304:9 | [post] access to local variable a : (...) => ... [captured this in M10, field Field] : String | semmle.label | [post] access to local variable a : (...) => ... [captured this in M10, field Field] : String | -| Capture.cs:304:9:304:9 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | semmle.label | access to local variable a : (...) => ... [captured this in M10, field Field] : String | | Capture.cs:304:9:304:9 | access to local variable a : Action [captured this in M10, field Field] : String | semmle.label | access to local variable a : Action [captured this in M10, field Field] : String | | Capture.cs:306:15:306:18 | this access : Capture [field Field] : String | semmle.label | this access : Capture [field Field] : String | | Capture.cs:306:15:306:24 | access to field Field | semmle.label | access to field Field | @@ -663,19 +583,13 @@ nodes | Capture.cs:318:17:318:30 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:319:19:319:19 | access to local variable x | semmle.label | access to local variable x | | Capture.cs:328:17:328:30 | "taint source" : String | semmle.label | "taint source" : String | -| Capture.cs:330:9:330:49 | CapturedLocalFunction(...) : CapturedLocalFunction [captured x] : String | semmle.label | CapturedLocalFunction(...) : CapturedLocalFunction [captured x] : String | | Capture.cs:330:47:330:47 | access to local variable x | semmle.label | access to local variable x | -| Capture.cs:332:9:332:65 | CapturingLocalFunction(...) : CapturingLocalFunction [captured x] : String | semmle.label | CapturingLocalFunction(...) : CapturingLocalFunction [captured x] : String | -| Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | semmle.label | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | semmle.label | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | | Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | semmle.label | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | | Capture.cs:339:17:339:30 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | semmle.label | (...) => ... : (...) => ... [captured x] : String | | Capture.cs:341:45:341:45 | access to local variable x | semmle.label | access to local variable x | -| Capture.cs:343:16:343:30 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | semmle.label | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | -| Capture.cs:343:34:343:55 | (...) => ... : (...) => ... [captured capturedLambda, captured x] : String | semmle.label | (...) => ... : (...) => ... [captured capturedLambda, captured x] : String | | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | semmle.label | access to local variable capturedLambda : (...) => ... [captured x] : String | -| Capture.cs:345:9:345:23 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | semmle.label | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | | Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | semmle.label | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | | Capture.cs:350:34:350:34 | a : (...) => ... [captured s] : String | semmle.label | a : (...) => ... [captured s] : String | | Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | semmle.label | a : (...) => ... [captured sink39] : String | diff --git a/csharp/ql/test/library-tests/dataflow/global/TaintTrackingPath.expected b/csharp/ql/test/library-tests/dataflow/global/TaintTrackingPath.expected index 2bd30574649..a5ceb692695 100644 --- a/csharp/ql/test/library-tests/dataflow/global/TaintTrackingPath.expected +++ b/csharp/ql/test/library-tests/dataflow/global/TaintTrackingPath.expected @@ -1,27 +1,17 @@ edges -| Capture.cs:7:20:7:26 | tainted : String | Capture.cs:9:9:13:9 | CaptureIn1(...) : CaptureIn1 [captured tainted] : String | provenance | | | Capture.cs:7:20:7:26 | tainted : String | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | provenance | | -| Capture.cs:7:20:7:26 | tainted : String | Capture.cs:16:9:24:9 | CaptureIn2(...) : CaptureIn2 [captured tainted] : String | provenance | | | Capture.cs:7:20:7:26 | tainted : String | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | provenance | | -| Capture.cs:7:20:7:26 | tainted : String | Capture.cs:27:43:32:9 | (...) => ... : (...) => ... [captured tainted] : String | provenance | | | Capture.cs:7:20:7:26 | tainted : String | Capture.cs:33:30:33:39 | access to local variable captureIn3 : Func [captured tainted] : String | provenance | | | Capture.cs:7:20:7:26 | tainted : String | Capture.cs:61:36:61:42 | access to parameter tainted : String | provenance | | -| Capture.cs:9:9:13:9 | CaptureIn1(...) : CaptureIn1 [captured tainted] : String | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | provenance | | | Capture.cs:11:17:11:22 | access to local variable sink27 : String | Capture.cs:12:19:12:24 | access to local variable sink27 | provenance | | | Capture.cs:11:26:11:32 | access to parameter tainted : String | Capture.cs:11:17:11:22 | access to local variable sink27 : String | provenance | | | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | Capture.cs:11:26:11:32 | access to parameter tainted : String | provenance | | -| Capture.cs:16:9:24:9 | CaptureIn2(...) : CaptureIn2 [captured tainted] : String | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | provenance | | -| Capture.cs:18:13:22:13 | M(...) : M [captured tainted] : String | Capture.cs:23:13:23:13 | access to local function M : M [captured tainted] : String | provenance | | | Capture.cs:20:21:20:26 | access to local variable sink28 : String | Capture.cs:21:23:21:28 | access to local variable sink28 | provenance | | | Capture.cs:20:30:20:36 | access to parameter tainted : String | Capture.cs:20:21:20:26 | access to local variable sink28 : String | provenance | | | Capture.cs:23:13:23:13 | access to local function M : M [captured tainted] : String | Capture.cs:20:30:20:36 | access to parameter tainted : String | provenance | | -| Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | Capture.cs:18:13:22:13 | M(...) : M [captured tainted] : String | provenance | | | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | Capture.cs:23:13:23:13 | access to local function M : M [captured tainted] : String | provenance | | -| Capture.cs:27:30:27:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | Capture.cs:33:30:33:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | provenance | | -| Capture.cs:27:43:32:9 | (...) => ... : (...) => ... [captured tainted] : String | Capture.cs:27:30:27:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | provenance | | | Capture.cs:29:17:29:22 | access to local variable sink29 : String | Capture.cs:30:19:30:24 | access to local variable sink29 | provenance | | | Capture.cs:29:26:29:32 | access to parameter tainted : String | Capture.cs:29:17:29:22 | access to local variable sink29 : String | provenance | | -| Capture.cs:33:30:33:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | Capture.cs:29:26:29:32 | access to parameter tainted : String | provenance | | | Capture.cs:33:30:33:39 | access to local variable captureIn3 : Func [captured tainted] : String | Capture.cs:29:26:29:32 | access to parameter tainted : String | provenance | | | Capture.cs:50:50:50:55 | sink39 : String | Capture.cs:52:23:59:13 | (...) => ... : (...) => ... [captured sink39] : String | provenance | | | Capture.cs:52:23:59:13 | (...) => ... : (...) => ... [captured sink39] : String | Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | provenance | | @@ -37,28 +27,18 @@ edges | Capture.cs:114:23:117:13 | [post] (...) => ... : (...) => ... [captured sink40] : String | Capture.cs:123:9:123:33 | [post] access to local function CaptureOutMultipleLambdas : CaptureOutMultipleLambdas [captured sink40] : String | provenance | | | Capture.cs:116:26:116:39 | "taint source" : String | Capture.cs:352:9:352:9 | [post] access to parameter a : (...) => ... [captured sink40] : String | provenance | | | Capture.cs:123:9:123:33 | [post] access to local function CaptureOutMultipleLambdas : CaptureOutMultipleLambdas [captured sink40] : String | Capture.cs:124:15:124:20 | access to local variable sink40 | provenance | | -| Capture.cs:127:25:127:31 | tainted : String | Capture.cs:130:9:133:9 | CaptureThrough1(...) : CaptureThrough1 [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | provenance | | -| Capture.cs:127:25:127:31 | tainted : String | Capture.cs:138:9:145:9 | CaptureThrough2(...) : CaptureThrough2 [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | provenance | | -| Capture.cs:127:25:127:31 | tainted : String | Capture.cs:150:48:154:9 | (...) => ... : (...) => ... [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:155:30:155:44 | access to local variable captureThrough3 : Func [captured tainted] : String | provenance | | -| Capture.cs:127:25:127:31 | tainted : String | Capture.cs:158:9:161:9 | CaptureThrough4(...) : CaptureThrough4 [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:170:25:170:31 | access to parameter tainted : String | provenance | | | Capture.cs:127:25:127:31 | tainted : String | Capture.cs:196:25:196:31 | access to parameter tainted : String | provenance | | -| Capture.cs:130:9:133:9 | CaptureThrough1(...) : CaptureThrough1 [captured tainted] : String | Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | provenance | | | Capture.cs:134:9:134:23 | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | Capture.cs:135:15:135:20 | access to local variable sink33 | provenance | | | Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | Capture.cs:134:9:134:23 | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | provenance | | -| Capture.cs:138:9:145:9 | CaptureThrough2(...) : CaptureThrough2 [captured tainted] : String | Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | provenance | | | Capture.cs:146:9:146:23 | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | Capture.cs:147:15:147:20 | access to local variable sink34 | provenance | | | Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | Capture.cs:146:9:146:23 | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | provenance | | -| Capture.cs:150:30:150:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | Capture.cs:155:30:155:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | provenance | | -| Capture.cs:150:48:154:9 | (...) => ... : (...) => ... [captured tainted] : String | Capture.cs:150:30:150:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | provenance | | | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | Capture.cs:156:15:156:20 | access to local variable sink35 | provenance | | -| Capture.cs:155:30:155:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | provenance | | | Capture.cs:155:30:155:44 | access to local variable captureThrough3 : Func [captured tainted] : String | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | provenance | | -| Capture.cs:158:9:161:9 | CaptureThrough4(...) : CaptureThrough4 [captured tainted] : String | Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | provenance | | | Capture.cs:162:13:162:18 | access to local variable sink36 : String | Capture.cs:163:15:163:20 | access to local variable sink36 | provenance | | | Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | Capture.cs:162:22:162:38 | call to local function CaptureThrough4 : String | provenance | | | Capture.cs:162:22:162:38 | call to local function CaptureThrough4 : String | Capture.cs:162:13:162:18 | access to local variable sink36 : String | provenance | | @@ -66,19 +46,13 @@ edges | Capture.cs:170:9:170:23 | [post] access to local function CaptureThrough5 : CaptureThrough5 [captured sink37] : String | Capture.cs:171:15:171:20 | access to local variable sink37 | provenance | | | Capture.cs:170:25:170:31 | access to parameter tainted : String | Capture.cs:166:37:166:37 | p : String | provenance | | | Capture.cs:170:25:170:31 | access to parameter tainted : String | Capture.cs:170:9:170:23 | [post] access to local function CaptureThrough5 : CaptureThrough5 [captured sink37] : String | provenance | | -| Capture.cs:190:26:190:26 | s : String | Capture.cs:192:13:192:28 | M(...) : M [captured s] : String | provenance | | | Capture.cs:190:26:190:26 | s : String | Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | provenance | | -| Capture.cs:192:13:192:28 | M(...) : M [captured s] : String | Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | provenance | | | Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | Capture.cs:193:20:193:22 | call to local function M : String | provenance | | | Capture.cs:196:13:196:18 | access to local variable sink38 : String | Capture.cs:197:15:197:20 | access to local variable sink38 | provenance | | | Capture.cs:196:22:196:32 | call to local function Id : String | Capture.cs:196:13:196:18 | access to local variable sink38 : String | provenance | | | Capture.cs:196:25:196:31 | access to parameter tainted : String | Capture.cs:190:26:190:26 | s : String | provenance | | | Capture.cs:196:25:196:31 | access to parameter tainted : String | Capture.cs:196:22:196:32 | call to local function Id : String | provenance | | -| Capture.cs:202:20:202:20 | s : String | Capture.cs:204:20:207:9 | (...) => ... : (...) => ... [captured s] : String | provenance | | | Capture.cs:202:20:202:20 | s : String | Capture.cs:208:9:208:9 | access to local variable a : Action [captured s] : String | provenance | | -| Capture.cs:204:16:204:16 | access to local variable a : (...) => ... [captured s] : String | Capture.cs:208:9:208:9 | access to local variable a : (...) => ... [captured s] : String | provenance | | -| Capture.cs:204:20:207:9 | (...) => ... : (...) => ... [captured s] : String | Capture.cs:204:16:204:16 | access to local variable a : (...) => ... [captured s] : String | provenance | | -| Capture.cs:208:9:208:9 | access to local variable a : (...) => ... [captured s] : String | Capture.cs:206:19:206:19 | access to parameter s | provenance | | | Capture.cs:208:9:208:9 | access to local variable a : Action [captured s] : String | Capture.cs:206:19:206:19 | access to parameter s | provenance | | | Capture.cs:211:21:211:34 | "taint source" : String | Capture.cs:202:20:202:20 | s : String | provenance | | | Capture.cs:213:22:213:22 | s : String | Capture.cs:215:16:218:9 | (...) => ... : (...) => ... [captured s] : String | provenance | | @@ -93,17 +67,13 @@ edges | Capture.cs:229:20:233:9 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:231:19:231:19 | access to local variable x | provenance | | | Capture.cs:229:20:233:9 | [post] (...) => ... : (...) => ... [captured x] : String | Capture.cs:234:15:234:15 | access to local variable x | provenance | | | Capture.cs:232:17:232:30 | "taint source" : String | Capture.cs:229:20:233:9 | [post] (...) => ... : (...) => ... [captured x] : String | provenance | | -| Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:244:20:248:9 | (...) => ... : (...) => ... [captured c, field Field] : String | provenance | | | Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:249:9:249:9 | access to local variable a : Action [captured c, field Field] : String | provenance | | | Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:251:15:251:15 | access to local variable c : Capture [field Field] : String | provenance | | | Capture.cs:242:19:242:32 | "taint source" : String | Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | provenance | | -| Capture.cs:244:16:244:16 | access to local variable a : (...) => ... [captured c, field Field] : String | Capture.cs:249:9:249:9 | access to local variable a : (...) => ... [captured c, field Field] : String | provenance | | -| Capture.cs:244:20:248:9 | (...) => ... : (...) => ... [captured c, field Field] : String | Capture.cs:244:16:244:16 | access to local variable a : (...) => ... [captured c, field Field] : String | provenance | | | Capture.cs:246:19:246:19 | access to local variable c : Capture [field Field] : String | Capture.cs:246:19:246:25 | access to field Field | provenance | | | Capture.cs:247:13:247:13 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:249:9:249:9 | [post] access to local variable a : (...) => ... [captured c, field Field] : String | provenance | | | Capture.cs:247:23:247:36 | "taint source" : String | Capture.cs:247:13:247:13 | [post] access to local variable c : Capture [field Field] : String | provenance | | | Capture.cs:249:9:249:9 | [post] access to local variable a : (...) => ... [captured c, field Field] : String | Capture.cs:251:15:251:15 | access to local variable c : Capture [field Field] : String | provenance | | -| Capture.cs:249:9:249:9 | access to local variable a : (...) => ... [captured c, field Field] : String | Capture.cs:246:19:246:19 | access to local variable c : Capture [field Field] : String | provenance | | | Capture.cs:249:9:249:9 | access to local variable a : Action [captured c, field Field] : String | Capture.cs:246:19:246:19 | access to local variable c : Capture [field Field] : String | provenance | | | Capture.cs:251:15:251:15 | access to local variable c : Capture [field Field] : String | Capture.cs:251:15:251:21 | access to field Field | provenance | | | Capture.cs:264:13:264:13 | [post] access to local variable c : Capture [field Field] : String | Capture.cs:266:9:266:9 | [post] access to local variable a : (...) => ... [captured c, field Field] : String | provenance | | @@ -112,52 +82,30 @@ edges | Capture.cs:268:15:268:15 | access to local variable c : Capture [field Field] : String | Capture.cs:268:15:268:21 | access to field Field | provenance | | | Capture.cs:273:19:273:19 | x : String | Capture.cs:273:30:273:30 | access to parameter x | provenance | | | Capture.cs:273:34:273:47 | "taint source" : String | Capture.cs:355:45:355:45 | x : String | provenance | | -| Capture.cs:278:17:278:30 | "taint source" : String | Capture.cs:280:25:288:9 | (...) => ... : (...) => ... [captured x] : String | provenance | | | Capture.cs:278:17:278:30 | "taint source" : String | Capture.cs:290:9:290:14 | access to local variable middle : Action [captured x] : String | provenance | | | Capture.cs:278:17:278:30 | "taint source" : String | Capture.cs:292:15:292:15 | access to local variable x | provenance | | -| Capture.cs:280:16:280:21 | access to local variable middle : (...) => ... [captured x] : String | Capture.cs:290:9:290:14 | access to local variable middle : (...) => ... [captured x] : String | provenance | | -| Capture.cs:280:25:288:9 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:280:16:280:21 | access to local variable middle : (...) => ... [captured x] : String | provenance | | -| Capture.cs:282:20:282:24 | access to local variable inner : (...) => ... [captured x] : String | Capture.cs:287:13:287:17 | access to local variable inner : (...) => ... [captured x] : String | provenance | | -| Capture.cs:282:28:286:13 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:282:20:282:24 | access to local variable inner : (...) => ... [captured x] : String | provenance | | | Capture.cs:285:21:285:34 | "taint source" : String | Capture.cs:287:13:287:17 | [post] access to local variable inner : (...) => ... [captured x] : String | provenance | | | Capture.cs:287:13:287:17 | [post] access to local variable inner : (...) => ... [captured x] : String | Capture.cs:290:9:290:14 | [post] access to local variable middle : (...) => ... [captured x] : String | provenance | | -| Capture.cs:287:13:287:17 | access to local variable inner : (...) => ... [captured x] : String | Capture.cs:284:23:284:23 | access to local variable x | provenance | | | Capture.cs:287:13:287:17 | access to local variable inner : Action [captured x] : String | Capture.cs:284:23:284:23 | access to local variable x | provenance | | | Capture.cs:290:9:290:14 | [post] access to local variable middle : (...) => ... [captured x] : String | Capture.cs:292:15:292:15 | access to local variable x | provenance | | -| Capture.cs:290:9:290:14 | access to local variable middle : (...) => ... [captured x] : String | Capture.cs:282:28:286:13 | (...) => ... : (...) => ... [captured x] : String | provenance | | -| Capture.cs:290:9:290:14 | access to local variable middle : (...) => ... [captured x] : String | Capture.cs:287:13:287:17 | access to local variable inner : Action [captured x] : String | provenance | | -| Capture.cs:290:9:290:14 | access to local variable middle : Action [captured x] : String | Capture.cs:282:28:286:13 | (...) => ... : (...) => ... [captured x] : String | provenance | | | Capture.cs:290:9:290:14 | access to local variable middle : Action [captured x] : String | Capture.cs:287:13:287:17 | access to local variable inner : Action [captured x] : String | provenance | | -| Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | Capture.cs:299:20:303:9 | (...) => ... : (...) => ... [captured this in M10, field Field] : String | provenance | | | Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | Capture.cs:304:9:304:9 | access to local variable a : Action [captured this in M10, field Field] : String | provenance | | | Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | Capture.cs:306:15:306:18 | this access : Capture [field Field] : String | provenance | | | Capture.cs:297:22:297:35 | "taint source" : String | Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | provenance | | -| Capture.cs:299:16:299:16 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | Capture.cs:304:9:304:9 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | provenance | | -| Capture.cs:299:20:303:9 | (...) => ... : (...) => ... [captured this in M10, field Field] : String | Capture.cs:299:16:299:16 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | provenance | | | Capture.cs:301:19:301:22 | this access : Capture [field Field] : String | Capture.cs:301:19:301:28 | access to field Field | provenance | | | Capture.cs:302:13:302:16 | [post] this access : Capture [field Field] : String | Capture.cs:304:9:304:9 | [post] access to local variable a : (...) => ... [captured this in M10, field Field] : String | provenance | | | Capture.cs:302:26:302:39 | "taint source" : String | Capture.cs:302:13:302:16 | [post] this access : Capture [field Field] : String | provenance | | | Capture.cs:304:9:304:9 | [post] access to local variable a : (...) => ... [captured this in M10, field Field] : String | Capture.cs:306:15:306:18 | this access : Capture [field Field] : String | provenance | | -| Capture.cs:304:9:304:9 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | Capture.cs:301:19:301:22 | this access : Capture [field Field] : String | provenance | | | Capture.cs:304:9:304:9 | access to local variable a : Action [captured this in M10, field Field] : String | Capture.cs:301:19:301:22 | this access : Capture [field Field] : String | provenance | | | Capture.cs:306:15:306:18 | this access : Capture [field Field] : String | Capture.cs:306:15:306:24 | access to field Field | provenance | | | Capture.cs:311:17:311:30 | "taint source" : String | Capture.cs:312:15:312:15 | access to local variable x | provenance | | | Capture.cs:318:17:318:30 | "taint source" : String | Capture.cs:319:19:319:19 | access to local variable x | provenance | | -| Capture.cs:328:17:328:30 | "taint source" : String | Capture.cs:330:9:330:49 | CapturedLocalFunction(...) : CapturedLocalFunction [captured x] : String | provenance | | -| Capture.cs:328:17:328:30 | "taint source" : String | Capture.cs:332:9:332:65 | CapturingLocalFunction(...) : CapturingLocalFunction [captured x] : String | provenance | | | Capture.cs:328:17:328:30 | "taint source" : String | Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | provenance | | -| Capture.cs:330:9:330:49 | CapturedLocalFunction(...) : CapturedLocalFunction [captured x] : String | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | provenance | | -| Capture.cs:332:9:332:65 | CapturingLocalFunction(...) : CapturingLocalFunction [captured x] : String | Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | provenance | | -| Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | Capture.cs:330:47:330:47 | access to local variable x | provenance | | | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | Capture.cs:330:47:330:47 | access to local variable x | provenance | | | Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | provenance | | | Capture.cs:339:17:339:30 | "taint source" : String | Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | provenance | | -| Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:343:34:343:55 | (...) => ... : (...) => ... [captured capturedLambda, captured x] : String | provenance | | | Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | provenance | | -| Capture.cs:343:16:343:30 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | Capture.cs:345:9:345:23 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | provenance | | -| Capture.cs:343:34:343:55 | (...) => ... : (...) => ... [captured capturedLambda, captured x] : String | Capture.cs:343:16:343:30 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | provenance | | | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | Capture.cs:341:45:341:45 | access to local variable x | provenance | | -| Capture.cs:345:9:345:23 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | provenance | | | Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | provenance | | | Capture.cs:350:34:350:34 | a : (...) => ... [captured s] : String | Capture.cs:352:9:352:9 | access to parameter a : (...) => ... [captured s] : String | provenance | | | Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | Capture.cs:352:9:352:9 | access to parameter a : (...) => ... [captured sink39] : String | provenance | | @@ -569,24 +517,18 @@ edges | Splitting.cs:48:36:48:49 | "taint source" : String | Splitting.cs:48:13:48:13 | access to local variable s : String | provenance | | nodes | Capture.cs:7:20:7:26 | tainted : String | semmle.label | tainted : String | -| Capture.cs:9:9:13:9 | CaptureIn1(...) : CaptureIn1 [captured tainted] : String | semmle.label | CaptureIn1(...) : CaptureIn1 [captured tainted] : String | | Capture.cs:11:17:11:22 | access to local variable sink27 : String | semmle.label | access to local variable sink27 : String | | Capture.cs:11:26:11:32 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:12:19:12:24 | access to local variable sink27 | semmle.label | access to local variable sink27 | | Capture.cs:14:9:14:18 | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | semmle.label | access to local function CaptureIn1 : CaptureIn1 [captured tainted] : String | -| Capture.cs:16:9:24:9 | CaptureIn2(...) : CaptureIn2 [captured tainted] : String | semmle.label | CaptureIn2(...) : CaptureIn2 [captured tainted] : String | -| Capture.cs:18:13:22:13 | M(...) : M [captured tainted] : String | semmle.label | M(...) : M [captured tainted] : String | | Capture.cs:20:21:20:26 | access to local variable sink28 : String | semmle.label | access to local variable sink28 : String | | Capture.cs:20:30:20:36 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:21:23:21:28 | access to local variable sink28 | semmle.label | access to local variable sink28 | | Capture.cs:23:13:23:13 | access to local function M : M [captured tainted] : String | semmle.label | access to local function M : M [captured tainted] : String | | Capture.cs:25:9:25:18 | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | semmle.label | access to local function CaptureIn2 : CaptureIn2 [captured tainted] : String | -| Capture.cs:27:30:27:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | semmle.label | access to local variable captureIn3 : (...) => ... [captured tainted] : String | -| Capture.cs:27:43:32:9 | (...) => ... : (...) => ... [captured tainted] : String | semmle.label | (...) => ... : (...) => ... [captured tainted] : String | | Capture.cs:29:17:29:22 | access to local variable sink29 : String | semmle.label | access to local variable sink29 : String | | Capture.cs:29:26:29:32 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:30:19:30:24 | access to local variable sink29 | semmle.label | access to local variable sink29 | -| Capture.cs:33:30:33:39 | access to local variable captureIn3 : (...) => ... [captured tainted] : String | semmle.label | access to local variable captureIn3 : (...) => ... [captured tainted] : String | | Capture.cs:33:30:33:39 | access to local variable captureIn3 : Func [captured tainted] : String | semmle.label | access to local variable captureIn3 : Func [captured tainted] : String | | Capture.cs:50:50:50:55 | sink39 : String | semmle.label | sink39 : String | | Capture.cs:52:23:59:13 | (...) => ... : (...) => ... [captured sink39] : String | semmle.label | (...) => ... : (...) => ... [captured sink39] : String | @@ -608,21 +550,15 @@ nodes | Capture.cs:123:9:123:33 | [post] access to local function CaptureOutMultipleLambdas : CaptureOutMultipleLambdas [captured sink40] : String | semmle.label | [post] access to local function CaptureOutMultipleLambdas : CaptureOutMultipleLambdas [captured sink40] : String | | Capture.cs:124:15:124:20 | access to local variable sink40 | semmle.label | access to local variable sink40 | | Capture.cs:127:25:127:31 | tainted : String | semmle.label | tainted : String | -| Capture.cs:130:9:133:9 | CaptureThrough1(...) : CaptureThrough1 [captured tainted] : String | semmle.label | CaptureThrough1(...) : CaptureThrough1 [captured tainted] : String | | Capture.cs:134:9:134:23 | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | semmle.label | [post] access to local function CaptureThrough1 : CaptureThrough1 [captured sink33] : String | | Capture.cs:134:9:134:23 | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | semmle.label | access to local function CaptureThrough1 : CaptureThrough1 [captured tainted] : String | | Capture.cs:135:15:135:20 | access to local variable sink33 | semmle.label | access to local variable sink33 | -| Capture.cs:138:9:145:9 | CaptureThrough2(...) : CaptureThrough2 [captured tainted] : String | semmle.label | CaptureThrough2(...) : CaptureThrough2 [captured tainted] : String | | Capture.cs:146:9:146:23 | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | semmle.label | [post] access to local function CaptureThrough2 : CaptureThrough2 [captured sink34] : String | | Capture.cs:146:9:146:23 | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | semmle.label | access to local function CaptureThrough2 : CaptureThrough2 [captured tainted] : String | | Capture.cs:147:15:147:20 | access to local variable sink34 | semmle.label | access to local variable sink34 | -| Capture.cs:150:30:150:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | semmle.label | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | -| Capture.cs:150:48:154:9 | (...) => ... : (...) => ... [captured tainted] : String | semmle.label | (...) => ... : (...) => ... [captured tainted] : String | | Capture.cs:155:30:155:44 | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | semmle.label | [post] access to local variable captureThrough3 : (...) => ... [captured sink35] : String | -| Capture.cs:155:30:155:44 | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | semmle.label | access to local variable captureThrough3 : (...) => ... [captured tainted] : String | | Capture.cs:155:30:155:44 | access to local variable captureThrough3 : Func [captured tainted] : String | semmle.label | access to local variable captureThrough3 : Func [captured tainted] : String | | Capture.cs:156:15:156:20 | access to local variable sink35 | semmle.label | access to local variable sink35 | -| Capture.cs:158:9:161:9 | CaptureThrough4(...) : CaptureThrough4 [captured tainted] : String | semmle.label | CaptureThrough4(...) : CaptureThrough4 [captured tainted] : String | | Capture.cs:162:13:162:18 | access to local variable sink36 : String | semmle.label | access to local variable sink36 : String | | Capture.cs:162:22:162:36 | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | semmle.label | access to local function CaptureThrough4 : CaptureThrough4 [captured tainted] : String | | Capture.cs:162:22:162:38 | call to local function CaptureThrough4 : String | semmle.label | call to local function CaptureThrough4 : String | @@ -633,7 +569,6 @@ nodes | Capture.cs:170:25:170:31 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:171:15:171:20 | access to local variable sink37 | semmle.label | access to local variable sink37 | | Capture.cs:190:26:190:26 | s : String | semmle.label | s : String | -| Capture.cs:192:13:192:28 | M(...) : M [captured s] : String | semmle.label | M(...) : M [captured s] : String | | Capture.cs:193:20:193:20 | access to local function M : M [captured s] : String | semmle.label | access to local function M : M [captured s] : String | | Capture.cs:193:20:193:22 | call to local function M : String | semmle.label | call to local function M : String | | Capture.cs:196:13:196:18 | access to local variable sink38 : String | semmle.label | access to local variable sink38 : String | @@ -641,10 +576,7 @@ nodes | Capture.cs:196:25:196:31 | access to parameter tainted : String | semmle.label | access to parameter tainted : String | | Capture.cs:197:15:197:20 | access to local variable sink38 | semmle.label | access to local variable sink38 | | Capture.cs:202:20:202:20 | s : String | semmle.label | s : String | -| Capture.cs:204:16:204:16 | access to local variable a : (...) => ... [captured s] : String | semmle.label | access to local variable a : (...) => ... [captured s] : String | -| Capture.cs:204:20:207:9 | (...) => ... : (...) => ... [captured s] : String | semmle.label | (...) => ... : (...) => ... [captured s] : String | | Capture.cs:206:19:206:19 | access to parameter s | semmle.label | access to parameter s | -| Capture.cs:208:9:208:9 | access to local variable a : (...) => ... [captured s] : String | semmle.label | access to local variable a : (...) => ... [captured s] : String | | Capture.cs:208:9:208:9 | access to local variable a : Action [captured s] : String | semmle.label | access to local variable a : Action [captured s] : String | | Capture.cs:211:21:211:34 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:213:22:213:22 | s : String | semmle.label | s : String | @@ -662,14 +594,11 @@ nodes | Capture.cs:234:15:234:15 | access to local variable x | semmle.label | access to local variable x | | Capture.cs:242:9:242:9 | [post] access to local variable c : Capture [field Field] : String | semmle.label | [post] access to local variable c : Capture [field Field] : String | | Capture.cs:242:19:242:32 | "taint source" : String | semmle.label | "taint source" : String | -| Capture.cs:244:16:244:16 | access to local variable a : (...) => ... [captured c, field Field] : String | semmle.label | access to local variable a : (...) => ... [captured c, field Field] : String | -| Capture.cs:244:20:248:9 | (...) => ... : (...) => ... [captured c, field Field] : String | semmle.label | (...) => ... : (...) => ... [captured c, field Field] : String | | Capture.cs:246:19:246:19 | access to local variable c : Capture [field Field] : String | semmle.label | access to local variable c : Capture [field Field] : String | | Capture.cs:246:19:246:25 | access to field Field | semmle.label | access to field Field | | Capture.cs:247:13:247:13 | [post] access to local variable c : Capture [field Field] : String | semmle.label | [post] access to local variable c : Capture [field Field] : String | | Capture.cs:247:23:247:36 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:249:9:249:9 | [post] access to local variable a : (...) => ... [captured c, field Field] : String | semmle.label | [post] access to local variable a : (...) => ... [captured c, field Field] : String | -| Capture.cs:249:9:249:9 | access to local variable a : (...) => ... [captured c, field Field] : String | semmle.label | access to local variable a : (...) => ... [captured c, field Field] : String | | Capture.cs:249:9:249:9 | access to local variable a : Action [captured c, field Field] : String | semmle.label | access to local variable a : Action [captured c, field Field] : String | | Capture.cs:251:15:251:15 | access to local variable c : Capture [field Field] : String | semmle.label | access to local variable c : Capture [field Field] : String | | Capture.cs:251:15:251:21 | access to field Field | semmle.label | access to field Field | @@ -682,29 +611,20 @@ nodes | Capture.cs:273:30:273:30 | access to parameter x | semmle.label | access to parameter x | | Capture.cs:273:34:273:47 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:278:17:278:30 | "taint source" : String | semmle.label | "taint source" : String | -| Capture.cs:280:16:280:21 | access to local variable middle : (...) => ... [captured x] : String | semmle.label | access to local variable middle : (...) => ... [captured x] : String | -| Capture.cs:280:25:288:9 | (...) => ... : (...) => ... [captured x] : String | semmle.label | (...) => ... : (...) => ... [captured x] : String | -| Capture.cs:282:20:282:24 | access to local variable inner : (...) => ... [captured x] : String | semmle.label | access to local variable inner : (...) => ... [captured x] : String | -| Capture.cs:282:28:286:13 | (...) => ... : (...) => ... [captured x] : String | semmle.label | (...) => ... : (...) => ... [captured x] : String | | Capture.cs:284:23:284:23 | access to local variable x | semmle.label | access to local variable x | | Capture.cs:285:21:285:34 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:287:13:287:17 | [post] access to local variable inner : (...) => ... [captured x] : String | semmle.label | [post] access to local variable inner : (...) => ... [captured x] : String | -| Capture.cs:287:13:287:17 | access to local variable inner : (...) => ... [captured x] : String | semmle.label | access to local variable inner : (...) => ... [captured x] : String | | Capture.cs:287:13:287:17 | access to local variable inner : Action [captured x] : String | semmle.label | access to local variable inner : Action [captured x] : String | | Capture.cs:290:9:290:14 | [post] access to local variable middle : (...) => ... [captured x] : String | semmle.label | [post] access to local variable middle : (...) => ... [captured x] : String | -| Capture.cs:290:9:290:14 | access to local variable middle : (...) => ... [captured x] : String | semmle.label | access to local variable middle : (...) => ... [captured x] : String | | Capture.cs:290:9:290:14 | access to local variable middle : Action [captured x] : String | semmle.label | access to local variable middle : Action [captured x] : String | | Capture.cs:292:15:292:15 | access to local variable x | semmle.label | access to local variable x | | Capture.cs:297:9:297:12 | [post] this access : Capture [field Field] : String | semmle.label | [post] this access : Capture [field Field] : String | | Capture.cs:297:22:297:35 | "taint source" : String | semmle.label | "taint source" : String | -| Capture.cs:299:16:299:16 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | semmle.label | access to local variable a : (...) => ... [captured this in M10, field Field] : String | -| Capture.cs:299:20:303:9 | (...) => ... : (...) => ... [captured this in M10, field Field] : String | semmle.label | (...) => ... : (...) => ... [captured this in M10, field Field] : String | | Capture.cs:301:19:301:22 | this access : Capture [field Field] : String | semmle.label | this access : Capture [field Field] : String | | Capture.cs:301:19:301:28 | access to field Field | semmle.label | access to field Field | | Capture.cs:302:13:302:16 | [post] this access : Capture [field Field] : String | semmle.label | [post] this access : Capture [field Field] : String | | Capture.cs:302:26:302:39 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:304:9:304:9 | [post] access to local variable a : (...) => ... [captured this in M10, field Field] : String | semmle.label | [post] access to local variable a : (...) => ... [captured this in M10, field Field] : String | -| Capture.cs:304:9:304:9 | access to local variable a : (...) => ... [captured this in M10, field Field] : String | semmle.label | access to local variable a : (...) => ... [captured this in M10, field Field] : String | | Capture.cs:304:9:304:9 | access to local variable a : Action [captured this in M10, field Field] : String | semmle.label | access to local variable a : Action [captured this in M10, field Field] : String | | Capture.cs:306:15:306:18 | this access : Capture [field Field] : String | semmle.label | this access : Capture [field Field] : String | | Capture.cs:306:15:306:24 | access to field Field | semmle.label | access to field Field | @@ -713,19 +633,13 @@ nodes | Capture.cs:318:17:318:30 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:319:19:319:19 | access to local variable x | semmle.label | access to local variable x | | Capture.cs:328:17:328:30 | "taint source" : String | semmle.label | "taint source" : String | -| Capture.cs:330:9:330:49 | CapturedLocalFunction(...) : CapturedLocalFunction [captured x] : String | semmle.label | CapturedLocalFunction(...) : CapturedLocalFunction [captured x] : String | | Capture.cs:330:47:330:47 | access to local variable x | semmle.label | access to local variable x | -| Capture.cs:332:9:332:65 | CapturingLocalFunction(...) : CapturingLocalFunction [captured x] : String | semmle.label | CapturingLocalFunction(...) : CapturingLocalFunction [captured x] : String | -| Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | semmle.label | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | | Capture.cs:332:42:332:62 | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | semmle.label | access to local function CapturedLocalFunction : CapturedLocalFunction [captured x] : String | | Capture.cs:334:9:334:30 | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | semmle.label | access to local function CapturingLocalFunction : CapturingLocalFunction [captured x] : String | | Capture.cs:339:17:339:30 | "taint source" : String | semmle.label | "taint source" : String | | Capture.cs:341:33:341:46 | (...) => ... : (...) => ... [captured x] : String | semmle.label | (...) => ... : (...) => ... [captured x] : String | | Capture.cs:341:45:341:45 | access to local variable x | semmle.label | access to local variable x | -| Capture.cs:343:16:343:30 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | semmle.label | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | -| Capture.cs:343:34:343:55 | (...) => ... : (...) => ... [captured capturedLambda, captured x] : String | semmle.label | (...) => ... : (...) => ... [captured capturedLambda, captured x] : String | | Capture.cs:343:40:343:53 | access to local variable capturedLambda : (...) => ... [captured x] : String | semmle.label | access to local variable capturedLambda : (...) => ... [captured x] : String | -| Capture.cs:345:9:345:23 | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | semmle.label | access to local variable capturingLambda : (...) => ... [captured capturedLambda, captured x] : String | | Capture.cs:345:9:345:23 | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | semmle.label | access to local variable capturingLambda : Action [captured capturedLambda, captured x] : String | | Capture.cs:350:34:350:34 | a : (...) => ... [captured s] : String | semmle.label | a : (...) => ... [captured s] : String | | Capture.cs:350:34:350:34 | a : (...) => ... [captured sink39] : String | semmle.label | a : (...) => ... [captured sink39] : String | diff --git a/go/ql/src/Security/CWE-020/IncompleteHostnameRegexp.qhelp b/go/ql/src/Security/CWE-020/IncompleteHostnameRegexp.qhelp index cf4655dbae5..21368fca81b 100644 --- a/go/ql/src/Security/CWE-020/IncompleteHostnameRegexp.qhelp +++ b/go/ql/src/Security/CWE-020/IncompleteHostnameRegexp.qhelp @@ -41,6 +41,10 @@ domain such as wwwXexample.com. Address this vulnerability by escaping . appropriately:

+

+You may also want to consider using raw string literals to avoid having to escape backslashes: +

+ diff --git a/go/ql/src/Security/CWE-020/IncompleteHostnameRegexpGood2.go b/go/ql/src/Security/CWE-020/IncompleteHostnameRegexpGood2.go new file mode 100644 index 00000000000..7c5df3f6742 --- /dev/null +++ b/go/ql/src/Security/CWE-020/IncompleteHostnameRegexpGood2.go @@ -0,0 +1,16 @@ +package main + +import ( + "errors" + "net/http" + "regexp" +) + +func checkRedirectGood(req *http.Request, via []*http.Request) error { + // GOOD: the host of `req.URL` must be `example.com`, `www.example.com` or `beta.example.com` + re := `^((www|beta)\.)?example\.com/` + if matched, _ := regexp.MatchString(re, req.URL.Host); matched { + return nil + } + return errors.New("Invalid redirect") +} diff --git a/python/ql/test/experimental/dataflow/variable-capture/by_value.py b/python/ql/test/experimental/dataflow/variable-capture/by_value.py index fa7546b8f2b..01b2ed83a46 100644 --- a/python/ql/test/experimental/dataflow/variable-capture/by_value.py +++ b/python/ql/test/experimental/dataflow/variable-capture/by_value.py @@ -34,7 +34,7 @@ def by_value1(): a = SOURCE def inner(a_val=a): SINK(a_val) #$ captured - SINK_F(a) #$ SPURIOUS: captured + SINK_F(a) a = NONSOURCE inner() diff --git a/ruby/ql/test/library-tests/dataflow/global/Flow.expected b/ruby/ql/test/library-tests/dataflow/global/Flow.expected index 7ae00a80dce..94589e1aafb 100644 --- a/ruby/ql/test/library-tests/dataflow/global/Flow.expected +++ b/ruby/ql/test/library-tests/dataflow/global/Flow.expected @@ -1,10 +1,7 @@ testFailures edges | blocks.rb:14:12:14:20 | call to source | blocks.rb:8:10:8:14 | yield ... | provenance | | -| captured_variables.rb:9:24:9:24 | x | captured_variables.rb:10:10:10:23 | -> { ... } [captured x] | provenance | | | captured_variables.rb:9:24:9:24 | x | captured_variables.rb:11:5:11:6 | fn [captured x] | provenance | | -| captured_variables.rb:10:5:10:6 | fn [captured x] | captured_variables.rb:11:5:11:6 | fn [captured x] | provenance | | -| captured_variables.rb:10:10:10:23 | -> { ... } [captured x] | captured_variables.rb:10:5:10:6 | fn [captured x] | provenance | | | captured_variables.rb:11:5:11:6 | fn [captured x] | captured_variables.rb:10:20:10:20 | x | provenance | | | captured_variables.rb:13:20:13:29 | call to taint | captured_variables.rb:9:24:9:24 | x | provenance | | | captured_variables.rb:15:28:15:28 | x | captured_variables.rb:16:5:18:5 | -> { ... } [captured x] | provenance | | @@ -16,18 +13,12 @@ edges | captured_variables.rb:27:25:27:57 | call to capture_escape_return2 [captured x] | captured_variables.rb:24:14:24:14 | x | provenance | | | captured_variables.rb:27:48:27:57 | call to taint | captured_variables.rb:22:28:22:28 | x | provenance | | | captured_variables.rb:27:48:27:57 | call to taint | captured_variables.rb:27:25:27:57 | call to capture_escape_return2 [captured x] | provenance | | -| captured_variables.rb:29:33:29:33 | x | captured_variables.rb:30:10:32:5 | -> { ... } [captured x] | provenance | | | captured_variables.rb:29:33:29:33 | x | captured_variables.rb:33:29:33:30 | fn [captured x] | provenance | | -| captured_variables.rb:30:5:30:6 | fn [captured x] | captured_variables.rb:33:29:33:30 | fn [captured x] | provenance | | -| captured_variables.rb:30:10:32:5 | -> { ... } [captured x] | captured_variables.rb:30:5:30:6 | fn [captured x] | provenance | | | captured_variables.rb:33:29:33:30 | fn [captured x] | captured_variables.rb:31:14:31:14 | x | provenance | | | captured_variables.rb:35:29:35:38 | call to taint | captured_variables.rb:29:33:29:33 | x | provenance | | | captured_variables.rb:37:13:37:14 | fn [captured x] | captured_variables.rb:38:5:38:6 | fn [captured x] | provenance | | | captured_variables.rb:38:5:38:6 | fn [captured x] | captured_variables.rb:42:14:42:14 | x | provenance | | -| captured_variables.rb:40:31:40:31 | x | captured_variables.rb:41:10:43:5 | -> { ... } [captured x] | provenance | | | captured_variables.rb:40:31:40:31 | x | captured_variables.rb:44:13:44:14 | fn [captured x] | provenance | | -| captured_variables.rb:41:5:41:6 | fn [captured x] | captured_variables.rb:44:13:44:14 | fn [captured x] | provenance | | -| captured_variables.rb:41:10:43:5 | -> { ... } [captured x] | captured_variables.rb:41:5:41:6 | fn [captured x] | provenance | | | captured_variables.rb:44:13:44:14 | fn [captured x] | captured_variables.rb:37:13:37:14 | fn [captured x] | provenance | | | captured_variables.rb:46:27:46:36 | call to taint | captured_variables.rb:40:31:40:31 | x | provenance | | | captured_variables.rb:48:5:48:12 | call to taint | captured_variables.rb:49:16:52:3 | do ... end [captured x] | provenance | | @@ -65,11 +56,8 @@ edges | captured_variables.rb:83:6:83:8 | foo [@field] | captured_variables.rb:60:5:62:7 | self in get_field [@field] | provenance | | | captured_variables.rb:83:6:83:8 | foo [@field] | captured_variables.rb:83:6:83:18 | call to get_field | provenance | | | captured_variables.rb:83:6:83:8 | foo [@field] | instance_variables.rb:13:5:15:7 | self in get_field [@field] | provenance | | -| captured_variables.rb:85:5:85:12 | call to taint | captured_variables.rb:86:6:89:1 | -> { ... } [captured y] | provenance | | | captured_variables.rb:85:5:85:12 | call to taint | captured_variables.rb:90:1:90:2 | fn [captured y] | provenance | | | captured_variables.rb:85:5:85:12 | call to taint | captured_variables.rb:91:6:91:6 | y | provenance | | -| captured_variables.rb:86:1:86:2 | fn [captured y] | captured_variables.rb:90:1:90:2 | fn [captured y] | provenance | | -| captured_variables.rb:86:6:89:1 | -> { ... } [captured y] | captured_variables.rb:86:1:86:2 | fn [captured y] | provenance | | | captured_variables.rb:88:9:88:16 | call to taint | captured_variables.rb:90:1:90:2 | [post] fn [captured y] | provenance | | | captured_variables.rb:90:1:90:2 | [post] fn [captured y] | captured_variables.rb:91:6:91:6 | y | provenance | | | captured_variables.rb:90:1:90:2 | fn [captured y] | captured_variables.rb:87:10:87:10 | y | provenance | | @@ -81,18 +69,12 @@ edges | captured_variables.rb:101:11:101:11 | x | captured_variables.rb:104:31:104:31 | x | provenance | | | captured_variables.rb:104:17:104:24 | call to taint | captured_variables.rb:100:21:100:21 | x | provenance | | | captured_variables.rb:104:31:104:31 | x | captured_variables.rb:105:10:105:10 | x | provenance | | -| captured_variables.rb:109:9:109:17 | call to taint | captured_variables.rb:110:14:116:5 | -> { ... } [captured x] | provenance | | | captured_variables.rb:109:9:109:17 | call to taint | captured_variables.rb:117:5:117:10 | middle [captured x] | provenance | | | captured_variables.rb:109:9:109:17 | call to taint | captured_variables.rb:118:10:118:10 | x | provenance | | -| captured_variables.rb:110:5:110:10 | middle [captured x] | captured_variables.rb:117:5:117:10 | middle [captured x] | provenance | | -| captured_variables.rb:110:14:116:5 | -> { ... } [captured x] | captured_variables.rb:110:5:110:10 | middle [captured x] | provenance | | -| captured_variables.rb:111:9:111:13 | inner [captured x] | captured_variables.rb:115:9:115:13 | inner [captured x] | provenance | | -| captured_variables.rb:111:17:114:9 | -> { ... } [captured x] | captured_variables.rb:111:9:111:13 | inner [captured x] | provenance | | | captured_variables.rb:113:17:113:25 | call to taint | captured_variables.rb:115:9:115:13 | [post] inner [captured x] | provenance | | | captured_variables.rb:115:9:115:13 | [post] inner [captured x] | captured_variables.rb:117:5:117:10 | [post] middle [captured x] | provenance | | | captured_variables.rb:115:9:115:13 | inner [captured x] | captured_variables.rb:112:18:112:18 | x | provenance | | | captured_variables.rb:117:5:117:10 | [post] middle [captured x] | captured_variables.rb:118:10:118:10 | x | provenance | | -| captured_variables.rb:117:5:117:10 | middle [captured x] | captured_variables.rb:111:17:114:9 | -> { ... } [captured x] | provenance | | | captured_variables.rb:117:5:117:10 | middle [captured x] | captured_variables.rb:115:9:115:13 | inner [captured x] | provenance | | | captured_variables.rb:147:5:147:6 | [post] self [@x] | captured_variables.rb:153:14:155:7 | do ... end [captured self, @x] | provenance | | | captured_variables.rb:147:10:147:18 | call to taint | captured_variables.rb:147:5:147:6 | [post] self [@x] | provenance | | @@ -116,10 +98,7 @@ edges | captured_variables.rb:194:1:194:1 | c [@x] | captured_variables.rb:185:5:189:7 | self in baz [@x] | provenance | | | captured_variables.rb:197:9:197:17 | call to taint | captured_variables.rb:199:10:199:10 | x | provenance | | | captured_variables.rb:206:13:206:21 | call to taint | captured_variables.rb:208:14:208:14 | x | provenance | | -| captured_variables.rb:219:9:219:17 | call to taint | captured_variables.rb:222:11:224:5 | -> { ... } [captured x] | provenance | | | captured_variables.rb:219:9:219:17 | call to taint | captured_variables.rb:226:5:226:7 | fn1 [captured x] | provenance | | -| captured_variables.rb:222:5:222:7 | fn1 [captured x] | captured_variables.rb:226:5:226:7 | fn1 [captured x] | provenance | | -| captured_variables.rb:222:11:224:5 | -> { ... } [captured x] | captured_variables.rb:222:5:222:7 | fn1 [captured x] | provenance | | | captured_variables.rb:226:5:226:7 | [post] fn1 [captured y] | captured_variables.rb:227:10:227:10 | y | provenance | | | captured_variables.rb:226:5:226:7 | fn1 [captured x] | captured_variables.rb:226:5:226:7 | [post] fn1 [captured y] | provenance | | | instance_variables.rb:10:19:10:19 | x | instance_variables.rb:11:18:11:18 | x | provenance | | @@ -264,8 +243,6 @@ nodes | blocks.rb:8:10:8:14 | yield ... | semmle.label | yield ... | | blocks.rb:14:12:14:20 | call to source | semmle.label | call to source | | captured_variables.rb:9:24:9:24 | x | semmle.label | x | -| captured_variables.rb:10:5:10:6 | fn [captured x] | semmle.label | fn [captured x] | -| captured_variables.rb:10:10:10:23 | -> { ... } [captured x] | semmle.label | -> { ... } [captured x] | | captured_variables.rb:10:20:10:20 | x | semmle.label | x | | captured_variables.rb:11:5:11:6 | fn [captured x] | semmle.label | fn [captured x] | | captured_variables.rb:13:20:13:29 | call to taint | semmle.label | call to taint | @@ -281,16 +258,12 @@ nodes | captured_variables.rb:27:25:27:57 | call to capture_escape_return2 [captured x] | semmle.label | call to capture_escape_return2 [captured x] | | captured_variables.rb:27:48:27:57 | call to taint | semmle.label | call to taint | | captured_variables.rb:29:33:29:33 | x | semmle.label | x | -| captured_variables.rb:30:5:30:6 | fn [captured x] | semmle.label | fn [captured x] | -| captured_variables.rb:30:10:32:5 | -> { ... } [captured x] | semmle.label | -> { ... } [captured x] | | captured_variables.rb:31:14:31:14 | x | semmle.label | x | | captured_variables.rb:33:29:33:30 | fn [captured x] | semmle.label | fn [captured x] | | captured_variables.rb:35:29:35:38 | call to taint | semmle.label | call to taint | | captured_variables.rb:37:13:37:14 | fn [captured x] | semmle.label | fn [captured x] | | captured_variables.rb:38:5:38:6 | fn [captured x] | semmle.label | fn [captured x] | | captured_variables.rb:40:31:40:31 | x | semmle.label | x | -| captured_variables.rb:41:5:41:6 | fn [captured x] | semmle.label | fn [captured x] | -| captured_variables.rb:41:10:43:5 | -> { ... } [captured x] | semmle.label | -> { ... } [captured x] | | captured_variables.rb:42:14:42:14 | x | semmle.label | x | | captured_variables.rb:44:13:44:14 | fn [captured x] | semmle.label | fn [captured x] | | captured_variables.rb:46:27:46:36 | call to taint | semmle.label | call to taint | @@ -323,8 +296,6 @@ nodes | captured_variables.rb:83:6:83:8 | foo [@field] | semmle.label | foo [@field] | | captured_variables.rb:83:6:83:18 | call to get_field | semmle.label | call to get_field | | captured_variables.rb:85:5:85:12 | call to taint | semmle.label | call to taint | -| captured_variables.rb:86:1:86:2 | fn [captured y] | semmle.label | fn [captured y] | -| captured_variables.rb:86:6:89:1 | -> { ... } [captured y] | semmle.label | -> { ... } [captured y] | | captured_variables.rb:87:10:87:10 | y | semmle.label | y | | captured_variables.rb:88:9:88:16 | call to taint | semmle.label | call to taint | | captured_variables.rb:90:1:90:2 | [post] fn [captured y] | semmle.label | [post] fn [captured y] | @@ -341,10 +312,6 @@ nodes | captured_variables.rb:104:31:104:31 | x | semmle.label | x | | captured_variables.rb:105:10:105:10 | x | semmle.label | x | | captured_variables.rb:109:9:109:17 | call to taint | semmle.label | call to taint | -| captured_variables.rb:110:5:110:10 | middle [captured x] | semmle.label | middle [captured x] | -| captured_variables.rb:110:14:116:5 | -> { ... } [captured x] | semmle.label | -> { ... } [captured x] | -| captured_variables.rb:111:9:111:13 | inner [captured x] | semmle.label | inner [captured x] | -| captured_variables.rb:111:17:114:9 | -> { ... } [captured x] | semmle.label | -> { ... } [captured x] | | captured_variables.rb:112:18:112:18 | x | semmle.label | x | | captured_variables.rb:113:17:113:25 | call to taint | semmle.label | call to taint | | captured_variables.rb:115:9:115:13 | [post] inner [captured x] | semmle.label | [post] inner [captured x] | @@ -380,8 +347,6 @@ nodes | captured_variables.rb:206:13:206:21 | call to taint | semmle.label | call to taint | | captured_variables.rb:208:14:208:14 | x | semmle.label | x | | captured_variables.rb:219:9:219:17 | call to taint | semmle.label | call to taint | -| captured_variables.rb:222:5:222:7 | fn1 [captured x] | semmle.label | fn1 [captured x] | -| captured_variables.rb:222:11:224:5 | -> { ... } [captured x] | semmle.label | -> { ... } [captured x] | | captured_variables.rb:226:5:226:7 | [post] fn1 [captured y] | semmle.label | [post] fn1 [captured y] | | captured_variables.rb:226:5:226:7 | fn1 [captured x] | semmle.label | fn1 [captured x] | | captured_variables.rb:227:10:227:10 | y | semmle.label | y | diff --git a/ruby/ql/test/library-tests/dataflow/global/captured_variables.rb b/ruby/ql/test/library-tests/dataflow/global/captured_variables.rb index 79d1fc83b76..8c7c5049b2d 100644 --- a/ruby/ql/test/library-tests/dataflow/global/captured_variables.rb +++ b/ruby/ql/test/library-tests/dataflow/global/captured_variables.rb @@ -228,3 +228,17 @@ def multi_capture end multi_capture + +def m1 + x = taint(19) + + fn1 = -> { + sink x + } + + x = nil + + fn1.call() +end + +m1 \ No newline at end of file diff --git a/shared/dataflow/codeql/dataflow/VariableCapture.qll b/shared/dataflow/codeql/dataflow/VariableCapture.qll index e90bf481442..9fd385d4458 100644 --- a/shared/dataflow/codeql/dataflow/VariableCapture.qll +++ b/shared/dataflow/codeql/dataflow/VariableCapture.qll @@ -601,16 +601,22 @@ module Flow Input> implements OutputSig * observed in a similarly synthesized post-update node for this read of `v`. */ private predicate synthRead( - CapturedVariable v, BasicBlock bb, int i, boolean topScope, Expr closure + CapturedVariable v, BasicBlock bb, int i, boolean topScope, Expr closure, boolean alias ) { exists(ClosureExpr ce | closureCaptures(ce, v) | - ce.hasCfgNode(bb, i) and ce = closure + ce.hasCfgNode(bb, i) and ce = closure and alias = false or - localOrNestedClosureAccess(ce, closure, bb, i) + localOrNestedClosureAccess(ce, closure, bb, i) and alias = true ) and if v.getCallable() != bb.getEnclosingCallable() then topScope = false else topScope = true } + private predicate synthRead( + CapturedVariable v, BasicBlock bb, int i, boolean topScope, Expr closure + ) { + synthRead(v, bb, i, topScope, closure, _) + } + /** * Holds if there is an access of a captured variable inside a closure in the * `i`th node of `bb`, such that we need to synthesize a `this.` qualifier. @@ -919,16 +925,22 @@ module Flow Input> implements OutputSig ) } - predicate storeStep(ClosureNode node1, CapturedVariable v, ClosureNode node2) { - // store v in the closure or in the malloc in case of a relevant constructor call + private predicate storeStepClosure( + ClosureNode node1, CapturedVariable v, ClosureNode node2, boolean alias + ) { exists(BasicBlock bb, int i, Expr closure | - synthRead(v, bb, i, _, closure) and + synthRead(v, bb, i, _, closure, alias) and node1 = TSynthRead(v, bb, i, false) | node2 = TExprNode(closure, false) or node2 = TMallocNode(closure) and hasConstructorCapture(closure, v) ) + } + + predicate storeStep(ClosureNode node1, CapturedVariable v, ClosureNode node2) { + // store v in the closure or in the malloc in case of a relevant constructor call + storeStepClosure(node1, v, node2, _) or // write to v inside the closure body exists(BasicBlock bb, int i, VariableWrite vw | @@ -964,6 +976,62 @@ module Flow Input> implements OutputSig } predicate clearsContent(ClosureNode node, CapturedVariable v) { + /* + * Stores into closure aliases block flow from previous stores, both to + * avoid overlapping data flow paths, but also to avoid false positive + * flow. + * + * Example 1 (overlapping paths): + * + * ```rb + * def m + * x = taint + * + * fn = -> { # (1) + * sink x + * } + * + * fn.call # (2) + * ``` + * + * If we don't clear `x` at `fn` (2), we will have two overlapping paths: + * + * ``` + * taint -> fn (2) [captured x] + * taint -> fn (1) [captured x] -> fn (2) [captured x] + * ``` + * + * where the step `fn (1) [captured x] -> fn [captured x]` arises from normal + * use-use flow for `fn`. Clearing `x` at `fn` (2) removes the second path above. + * + * Example 2 (false positive flow): + * + * ```rb + * def m + * x = taint + * + * fn = -> { # (1) + * sink x + * } + * + * x = nil # (2) + * + * fn.call # (3) + * end + * ``` + * + * If we don't clear `x` at `fn` (3), we will have the following false positive + * flow path: + * + * ``` + * taint -> fn (1) [captured x] -> fn (3) [captured x] + * ``` + * + * since normal use-use flow for `fn` does not take the overwrite at (2) into account. + */ + + storeStepClosure(_, v, node, true) + or exists(BasicBlock bb, int i | captureWrite(v, bb, i, false, _) and node = TSynthThisQualifier(bb, i, false)